PT09IHJlbGVhc2UgMS4xMC40ID09PQoKMjAxNy0wMi0yMyAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY29heGlvbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAxLjEwLjQKCjIwMTctMDItMTcgMTY6MDk6NTMgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogQ2hhaW4gdXAgdG8gYmFzZXNyYyBxdWVyeSBpbnN0ZWFkIG9mIG92ZXJyaWRlIHBhZCBxdWVyeSBmdW5jdGlvbgoJICBPdmVycmlkaW5nIHRoZSBwYWQgcXVlcnkgZnVuY3Rpb24gY29tcGxldGVseSBvdmVycmlkZXMgYWxsIHRoZSBkZWZhdWx0CgkgIHF1ZXJ5IGhhbmRsaW5nIGltcGxlbWVudGVkIGluIGJhc2VzcmMsIGluY2x1ZGluZyBjYXBzIGV0Yy4gVGhlIGNvcnJlY3QKCSAgdGhpbmcgdG8gZG8gaXMganVzdCBvdmVycmlkZSB0aGUgYmFzZXNyYyBxdWVyeSB2ZnVuYyBhbmQgdGhlbiBjaGFpbiB1cAoJICBmb3IgdGhlIHF1ZXJpZXMgd2UgZG9uJ3QgaGFuZGxlLgoKMjAxNy0wMi0yMiAwNDozNToyNiAtMDUwMCAgRmFiaWVuIERlc3Nlbm5lIDxmYWJpZW4uZGVzc2VubmVAc3QuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGNvbnNpZGVyIGJ1ZmZlciBzaXplIHdoZW4gY29weWluZyB0byB3bCBzaG0gcG9vbAoJICBXaGVuIHRoZSBzaW5rIHJlY2VpdmVzIGEgYnVmZmVyIHRoYXQgaXMgbmVpdGhlciBhIHdsX3NobSBvbmUgbm9yIGEKCSAgZG1hYnVmIG9uZSwgdGhpcyBidWZmZXIgaXMgY29waWVkIHRvIGFuIGludGVybmFsIHdsX3NobSBidWZmZXIgYmVmb3JlCgkgIGJlaW5nIHNlbnQgdG8gdGhlIGRpc3BsYXkuCgkgIEluIHRoYXQgY2FzZSwgdGhlIGFjdHVhbCBzaXplIG9mIHRoZSByZWNlaXZlZCBidWZmZXIgKHdoaWNoIG1heSBkaWZmZXIKCSAgZnJvbSB0aGUgb25lIG5lZ290aWF0ZWQgaW4gdGhlIGNhcHMpIG11c3QgYmUgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzg0MQoKMjAxNy0wMi0xNyAyMToyNToyMSArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBGaXggR0hhc2hUYWJsZSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg4MjgKCjIwMTctMDItMTggMjA6MTg6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3YmFzZXBhcnNlOiBEcm9wIGluY29tcGxldGUgZnJhbWVzIGF0IEVPUwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzY2NgoJICBUaGlzIHdvdWxkIGlkZWFsbHkgYmUgc29sdmVkIGluIGJhc2VwYXJzZSBidXQgdGhhdCByZXF1aXJlcyBmdXJ0aGVyCgkgIHRob3VnaHQgYXQgdGhpcyBwb2ludCwgYW5kIGluIHRoZSBtZWFudGltZSBpdCB3b3VsZCBiZSBnb29kIHRvIGhhdmUKCSAgcmF3YmFzZXBhcnNlIG5vdCBhc3NlcnQgb24gdGhpcyBidXQgaGFuZGxlIGl0IGdyYWNlZnVsbHkgaW5zdGVhZC4KCjIwMTctMDItMTQgMTM6MDQ6MDEgKzAxMDAgIE5pY2sgS2FsbGVuIDxuaWNra2FsbGVuQG1lLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIEJ1aWxkcyBmb3IgTWFjT1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQzNAoKMjAxNy0wMi0xMCAxMTozMjoyMyArMDEwMCAgTmljayBLYWxsZW4gPG5pY2trYWxsZW5AbWUuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zZ2xtZW1vcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogZnJlZSB2aWRlb3RleHR1cmVjYWNoZSB0ZXh0dXJlIGluIGdsIHRocmVhZAoJICBUaGUgY2FjaGVkIHRleHR1cmUgd2FzIHRyZWF0ZWQgYXMgdXNlcl9kYXRhIHBhc3NlZCB0byBHc3RHTEJhc2VNZW1vcnkKCSAgYW5kIGZyZWVkIHdpdGggYSBHRGVzdHJveU5vdGlmeSBmdW5jdGlvbi4gSG93ZXZlciwgdGhpcyBkYXRhIG11c3QKCSAgYmUgdHJlYXRlZCBzcGVjaWFsbHk6IGl0IG11c3QgYmUgZGVzdHJveWVkIGluIHRoZSBHTCB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzg0MzQKCjIwMTctMDItMTAgMTA6Mjk6NDkgLTAzMDAgIEp1YW4gUGFibG8gVWdhcnRlIDxqdWFucGFibG91Z2FydGVAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJICBHc3RHTFNpbmtCaW46IGZpeGVkIHNpbmsgcHJvcGVydHkgbGVhawoJICBObyBuZWVkIHRvIGtlZXAgYW4gZXh0cmEgcmVmZXJlbmNlIHRvIHNpbmsgc2luY2UgYW4gaW5kaXJlY3Qgb25lIGlzIGFkZGVkIGJ5IGdzdF9iaW5fYWRkKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODQ1MgoKMjAxNy0wMi0wOCAwMDo0NTozMiArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93OiBhdHRhY2ggdGhlIEdNYWluY29udGV4dCBpbiB3aW5kb3cgc3RydWN0IHRvIEdTb3VyY2UgZm9yIFgxMSB3aW5kb3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3ODI5NwoKMjAxNy0wMi0wNyAxOTo0Mjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IFNldCB0aW1lc3RhbXBzIG9uIGhlYWRlciBidWZmZXJzIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NzcyCgoyMDE3LTAyLTA3IDE5OjQ0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogRW5jb2RlciBvdXRwdXQgaXMgZ2VuZXJhbGx5IG5vdCBwcm9wZXJseSBwYXJzZWQKCSAgRG9uJ3QgY2xhaW0gaXQgaXMgYW5kIGxldCBoMjY0cGFyc2UgYW5kIG90aGVyIHBhcnNlcnMgZG8gdGhlaXIgam9iLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0NzcyCgoyMDE3LTAyLTA3IDE5OjQyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogRW5jb2RlZCBIMjY0IGlzIGdlbmVyYWxseSBub3QgQVUgYWxpZ25lZAoJICBDbGFpbWluZyB0aGF0IGl0IGlzLCBjYW4gY2F1c2UgaDI2NHBhcnNlIHRvIHNraXAgc29tZSBwYXJzaW5nIHN0ZXBzIGFuZAoJICB0aGUgb3V0cHV0IHN0YXlzIHVuYWxpZ25lZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDc3MgoKMjAxNy0wMi0wMSAxNjowNToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJICB2a3dpbmRvdzogZml4IGJ1aWxkIGVycm9yIG9uIGkzODYKCSAgVnVsa2FuIGhhbmRsZXMgYXJlIGVpdGhlciBwb2ludGVycyAoNjQtYml0KSBvciA2NC1iaXQgaW50ZWdlcgoJICBoYW5kbGVzICgzMi1iaXQpLiBDYXN0IHRoZSB0eXBlIGluIGZhaWx1cmUgY2FzZXMuCgkgIHZrd2luZG93LmM6MjI5OjU2MTogZXJyb3I6IHJldHVybiBtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCBbLVdlcnJvcj1pbnQtY29udmVyc2lvbl0KCSAgdmt3aW5kb3cuYzoyMzE6MTk0OiBlcnJvcjogcmV0dXJuIG1ha2VzIGludGVnZXIgZnJvbSBwb2ludGVyIHdpdGhvdXQgYSBjYXN0IFstV2Vycm9yPWludC1jb252ZXJzaW9uXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3OTc5CgoyMDE3LTAyLTAxIDE0OjM3OjI5ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogQWRkIGV4dHJhIGxlbmd0aCBjaGVja3MgdG8gVFMgc2Nhbm5pbmcuCgkgIEFkZCBzb21lIG1pc3Npbmcgc2l6ZSBjaGVja3MgdG8gdGhlIHRpbWVzdGFtcCBzY2FubmluZwoJICBmYXN0IHBhdGguCgoyMDE3LTAyLTAxIDE0OjQ0OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogQWRkIHN0cmVhbS1mb3JtYXQgdG8gdGhlIEguMjY0IGNhcHMuCgkgIEguMjY0IGluIE1QRUctUFMgaXMgYWx3YXlzIGJ5dGUtc3RyZWFtCgoyMDE3LTAyLTAxIDE0OjI1OjMyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIHBzZGVtdXg6IFJld3JpdGUgUFNNIHBhcnNpbmcgdXNpbmcgR3N0Qnl0ZVJlYWRlcgoJICBBdm9pZCBwb3NzaWJsZSBidWZmZXIgb3ZlcmZsb3dzIGFuZCBpZ25vcmUgaW52YWxpZCBQU00gcGFja2V0cyBiZXR0ZXIKCSAgYnkgdXNpbmcgR3N0Qnl0ZVJlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3Nzk1NwoKMjAxNy0wMS0wMSAxNDowNjoyOCArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEhhbmRsZSBTRUVLIGV2ZW50IG9ubHkgb25jZQoJICBzZW5kX2V2ZW50KCkgb2YgcGFyZW50IGNsYXNzIChpLmUuLCBHc3RCaW5DbGFzcykgaXRlcmF0ZXMgc3JjcGFkcwoJICB0byBzZW5kIFNFRUsgZXZlbnQuIEFuZCBwZXJmb3JtaW5nIGl0IHBlciBzcmNwYWQgaXMgaW5lZmZpY2llbnQuCgkgIFNvLCBsZXQncyBkcm9wIGR1cGxpY2F0ZWQgU0VFSyBldmVudCBieSBjaGVja2luZyBzZXFudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NjYxMgoKPT09IHJlbGVhc2UgMS4xMC4zID09PQoKMjAxNy0wMS0zMCAxNjoyNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMTAuMwoKMjAxNy0wMS0zMCAxNTo0Nzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE3LTAxLTMwIDEzOjM0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZnIucG86CgkqIHBvL2t5LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNy0wMS0zMCAxMToxNzo1MyArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCBtaW5ndyBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc3OTMwCgoyMDE3LTAxLTI2IDE1OjM1OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvZ2xjb250ZXh0aGVscGVyLmM6CgkgIGFwcGxlbWVkaWE6IEZhaWwgY2xlYW5seSBpbnN0ZWFkIG9mIGNyYXNoaW5nIGlmIG9idGFpbmluZyBhIEdMIGRpc3BsYXkgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc3NDIKCjIwMTctMDEtMjAgMTQ6MzQ6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBsZWFrIHBhZCBuYW1lIGFuZCB0ZW1wbGF0ZSBmb3IgT3B1cwoJICBJdCdzIHNldCBhZ2FpbiAodGhlIHNhbWUgd2F5KSBmdXJ0aGVyIGJlbG93LCBvdmVyd3JpdGluZyB0aGUgcHJldmlvdXNseQoJICBhbGxvY2F0ZWQgbWVtb3J5IHdpdGhvdXQgZnJlZWluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzUzMwoKMjAxNy0wMS0yMCAwNzo1MTowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFNldCBzdHJlYW0gdGFncyB0byBOVUxMIGFmdGVyIHVucmVmZmluZwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgdHJ5IHRvIHVucmVmIHRoZW0gYSBzZWNvbmQgdGltZSBhIGxpdHRsZSBiaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc1MDMKCjIwMTctMDEtMjQgMjM6MTA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZXQgY2Fwcy90YWdzIGluIHRoZSBHc3RTdHJlYW0gb2JqZWN0IGJlZm9yZSBwdXNoaW5nIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgT3RoZXJ3aXNlIGRvd25zdHJlYW0gd2lsbCBnZXQgYSBtb3JlIG9yIGxlc3MgZW1wdHkgR3N0U3RyZWFtIGFsdGhvdWdoIHdlCgkgIGFscmVhZHkga25vdyBhIGxvdCBhYm91dCBpdCBhdCB0aGlzIHBvaW50LgoKMjAxNy0wMS0yMyAxNToxMDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1iYXNlLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSAgcGtnLWNvbmZpZzogRGlyZWN0bHkgbGluayB0aGUgbGlicmFyeSB3aXRoIC1sIGluc3RlYWQgb2YgdGhlIC5sYSBmaWxlCgkgIFdoaWNoIG1pZ2h0IG5vdCBleGlzdCwgbGlrZSBvbiBtb3N0IG1vZGVybiBMaW51eCBkaXN0cmlidXRpb25zLgoKMjAxNy0wMS0xOCAxMTowNToyMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogSGFuZGxlIHZvYiBkaXNwbGF5IHJlY3Qgc3RhcnRpbmcgb24gYW4gb2RkIGxpbmUKCSAgRFZEcyBhbHdheXMgaGF2ZSBzdWJwaWN0dXJlcyB0aGF0IHN0YXJ0IG9uIGFuIGV2ZW4gWQoJICBjb29yZGluYXRlLCBidXQgZ3N0c3B1IGRvZXMgbW9yZSBnZW5lcmljIHZvYnN1YnMgdGhlc2UKCSAgZGF5cywgc28gaGFuZGxlIG9uZXMgdGhhdCBzdGFydCBvbiBhbiBvZGQgdmVydGljYWwgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Nzc0MDAKCjIwMTctMDEtMTEgMTA6Mzc6MzQgLTAzMDAgIEp1YW4gUGFibG8gVWdhcnRlIDx1Z2FydGVAZW5kbGVzc20uY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGRlZmluZSBHTCBjb25zdGFudHMgaWYgbmVlZGVkIGluc3RlYWQgb2YgdXNpbmcgI2lmZGVmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzcxNDQKCjIwMTctMDEtMTEgMTA6MzI6MjMgLTAzMDAgIEp1YW4gUGFibG8gVWdhcnRlIDx1Z2FydGVAZW5kbGVzc20uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbC9leGFtcGxlcy9ndGs6IGZpeGVkIGNvbXBpbGF0aW9uIG9uIHN5c3RlbXMgd2l0aG91dCBHTF9HRU9NRVRSWV9TSEFERVIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NzE0MwoKMjAxNi0xMS0xOCAwMTowNjo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkgIGdsOiByZW1vdmUgdW5uZWVkZWQgZ3N0X2dsX2J1ZmZlcl9hbGxvYyBmcm9tIGhlYWRlciBmaWxlCgkgIFRoZXJlJ3Mgbm8gaW1wbGVtZW50YXRpb24gYW55bW9yZSEKCjIwMTctMDEtMTAgMDE6MDA6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQvZWdsOiBkb24ndCBvdmVyd3JpdGUgc2V0IEdFcnJvcgoJICBEb2luZyBzbyBpcyBhbiBlcnJvciBhbmQgd2lsbCBjYXVzZSBhIGdsaWIgd2FybmluZyB0byBiZSBwcmludGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NzIyCgoyMDE3LTAxLTA1IDE1OjAwOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTaWxlbnRseSBza2lwIENPTE9SX0Zvcm1hdEFuZHJvaWRPcGFxdWUgd2hlbiBjb252ZXJ0aW5nIHRvIGNhcHMKCSAgVGhpcyBpcyBzcGVjaWFsIGFuZCBoYW5kbGVkIGluIHRoZSBkZWNvZGVyIHdoZW4gZG9pbmcgcmVuZGVyaW5nIHRvIGEKCSAgc3VyZmFjZS4gUHJpbnRpbmcgYSB3YXJuaW5nIGZvciB0aGlzIGlzIGp1c3QgdW5uZWNlc3Nhcnkgbm9pc2UKCjIwMTctMDEtMDIgMTk6NTU6MzQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZpeCB3cm9uZyBhcmd1bWVudCBvcmRlciB0byBmb3JjZS1rZXktdW5pdCBldmVudAoJICBDSUQgMTM3MzQyMQoKMjAxNi0xMi0yOSAxODo1Njo0MyArMDAwMCAgVXJzdWxhIE1hcGxlaHVyc3QgPHVyc3VsYUBrYW5nYXRyb25peC5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFuZHJvaWRtZWRpYTogc29tZSBmaWxlcyBhcmUgbWlzc2luZyBpbiB0aGUgcmVsZWFzZSB0YXJiYWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY1OTEKCjIwMTYtMTItMjQgMDg6NDI6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2lzb2ZmLmM6CgkgIGRhc2g6IERlZmluZSBkZWJ1ZyBjYXRlZ29yeSB1c2VkIGluIHRoZSBpc29mZiBjb2RlIGZvciB0aGUgdGVzdCB0b28gbm93CgoyMDE2LTEyLTI0IDE0OjMxOjEyICswOTAwICBTZXVuZ2hhIFlhbmcgPHNoLnlhbmdAbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkgIGRhc2g6IEluY2x1ZGUgZGVidWcgb2YgZ3N0aXNvZmYgb24gZGFzaGRlbXV4IGNhdGVnb3J5CgkgIE1vdmUgZGVidWcgY2F0ZWdvcnkgb2YgZ3N0aXNvZmYgZnJvbSBkZWZhdWx0IHRvIGRhc2hkZW11eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2NDYxCgoyMDE3LTAxLTA1IDIwOjM0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL21lc29uLmJ1aWxkOgoJKiBzeXMvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBidWlsZCBkZWNrbGluayBwbHVnaW4KCjIwMTYtMTItMzEgMjA6NTc6NTQgKzAxMDAgIEZhYnJpY2UgQmVsbGV0IDxmYWJyaWNlQGJlbGxldC5pbmZvPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBmaXggYSByZWNvbmZpZ3VyZSBldmVudCBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzY3MjYKCjIwMTYtMTItMTkgMTE6NDA6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LXV0aWwuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBFeHRyYWN0IElEMyB0YWdzLCBzdHJpcCB0aGVtIGZyb20gdGhlIG91dHB1dCBhbmQgcHJvdmlkZSB0aGVtIGFzIHRhZ3MKCSAgVGhleSBvZnRlbiBkb24ndCBvbmx5IGNvbnRhaW4gdGhlIFBDUiBpbmZvcm1hdGlvbiBidXQgYWxzbyBvdGhlcgoJICBtZXRhZGF0YSwgbGlrZSB0aXRsZS4gR2l2ZSB0aGlzIGluZm9ybWF0aW9uIHRvIHRoZSBwaXBlbGluZS4KCSAgQWxzbyBzdHJpcCB0aGUgdGFncyBmcm9tIHRoZSBzdHJlYW0gYXMgd2UgYSkgYWxyZWFkeSBwYXJzZWQgdGhlbSBub3cgYW5kCgkgIGIpIGRlY29kZXJzIGRvbid0IGxpa2UgdGhlc2UgdGFncyB0byBoYXBwZW4gaW4gdGhlIG1pZGRsZSBvZiB0aGUgc3RyZWFtCgkgIChpLmUuIHRoZSBzdGFydCBvZiBlYWNoIGZyYWdtZW50KSBhbmQgdGFnZGVtdXggb25seSBjYW4gc3RyaXAgdGhlbSBvZmYKCSAgdGhlIGJlZ2lubmluZyBhbmQgZW5kLgoKMjAxNi0xMi0xOCAxOToxODoyMyArMDAwMCAgR3JhaGFtIExlZ2dldHQgPG1pbmZyaW5Ac2hhcnAuZm0+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2RlbXV4OiBEb24ndCBsZWFrIGEgdGFnbGlzdCBpZiBhIHRhZ2xpc3QgaGFzIGFscmVhZHkgYmVlbiBjcmVhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzYyNDQKCjIwMTYtMTItMTYgMTM6MjU6NTggKzAyMDAgIERhbmllbCBTaGFoYWYgPGRhbmllbHNoQGFwYWNoZS5vcmc+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJICBtaXJyb3I6IEZpeCBkb2N1bWVudGF0aW9uIGZvciB0aGUgbWlycm9yIG1vZGUKCSAgVXNpbmcgdGhlIHdyb25nIGVudW0gdGhlcmUgY2F1c2VzIGl0IHRvIGJlIHJhbmRvbWx5IG1peGVkIHdpdGggdGhlIGRvY3MKCSAgb2YgdGhlIG90aGVyIGVudW1zLgoJICBodHRwczovL2J1Z3MuZGViaWFuLm9yZy84NDgyOTcKCjIwMTYtMTItMTUgMTQ6MDU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBTZXQgImlzLWFkdHMiIHRvIDEgZm9yIEFEVFMgQUFDCgkgIE90aGVyd2lzZSBpdCBmYWlscyB0byBkZWNvZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxMDEKCjIwMTYtMTItMTQgMTU6MzU6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUmVtb3ZlIHVubG9jaygpIGlmIHNldF9pbmZvKCkgZmFpbHMKCSAgVGhlcmUgaXMgbm90IG11dGV4IGxvY2tlZCBoZXJlIHRoYXQgbmVlZHMgdG8gYmUgdW5sb2NrZWQuCgoyMDE2LTEyLTE1IDAwOjU5OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW5kb3c6IHJlbW92ZSB1c2Ugb2YgbWFpbl9jb250ZXh0X3B1c2gvcG9wX3RocmVhZF9kZWZhdWx0KCkKCSAgTm8tb25lJ3MgdXNpbmcvZGVwZW5kaW5nIG9uIGl0IChpdCB3b3VsZCBoYXZlIGNyaXRpY2FsbGVkIGFuZCBub3Qgd29ya2VkKQoJICBhbmQgaXQncyBjYXVzaW5nIG1vcmUgcHJvYmxlbXMgdGhhbiBpdCdzIHNvbHZpbmcuICBTdG9yZSB0aGUgR01haW5Db250ZXh0CgkgIGluIHRoZSBwdWJsaWMgc3RydWN0IGluc3RlYWQgZm9yIHN1YmNsYXNzZXMgdG8gb3B0aW9uYWxseSB1c2UgaW5zdGVhZCBvZgoJICByZWx5aW5nIG9uIHRoZSBwdXNoL3BvcCBzdGF0ZSB0byBiZSBjb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1OTcwCgoyMDE2LTEyLTA3IDE2OjUxOjI3ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIGdsL2VmZmVjdHM6IHVzZSBub24tUEJPIEdMTWVtb3J5IGZvciBpbnRlcm5hbCB0ZXh0dXJlcwoJICBtaWRkbGUgdGV4dHVyZXMgaW4gZ2xlZmZlY3RzIGRvIG5vdCBuZWVkIHRvIHVzZSBHc3RHTE1lbW9yeVBCTyBhcyB0aGV5CgkgIGFyZW4ndCB0cmFuc2ZlcmluZyBkYXRhIHRvL2Zyb20gdGhlIEdQVS4gVGhpcyB3aWxsIGNvc3QgdG9vIG11Y2ggRE1BCgkgIG1lbW9yeSBhbmQgY2F1c2UgcGVyZm9ybWFuY2UgaXNzdWUuIENoYW5nZSB0aGUgYWxsb2NhdG9yIHRvIHVzZSBub24tUEJPCgkgIEdzdEdMTWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc2MDcyCgoyMDE2LTEyLTA2IDE1OjQwOjM4IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBkZWxpdmVyeSBzeXN0ZW0gdG8gbWlzc2luZyBtb2R1bGF0aW9uIGNoZWNrIG1lc3NhZ2UKCSAgQSB0dW5pbmcgb3BlcmF0aW9uIGNhbiBzcGF3biBtdWx0aXBsZSBjaGVja3MuIEJlaW5nCgkgIGFibGUgdG8gZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHRoZW0gbWFrZXMgZGVidWdnaW5nCgkgIGVhc2llci4KCjIwMTYtMTItMDggMTI6MDc6MzEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHVuY29uZGl0aW9uYWwgdXNlIG9mIEZFQyAyLzUKCSAgSXQgaXMgbm90IGRlZmluZWQgZm9yIDwgdjUgbWlub3IgNwoKMjAxNi0xMi0xMiAxNTowOTozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQXZvaWQgdXNpbmcgdW5zZXQgR0Vycm9yCgkgIGdzdF91cmlfaGFuZGxlcl9zZXRfdXJpKCkgZG9lc24ndCBndWFyYW50ZWUgdGhlIEdFcnJvciB3aWxsIGJlIHNldAoJICBpZiBpdCByZXR1cm5zIEZBTFNFLgoKMjAxNi0xMi0wNyAxMDoyNjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogRml4IGNvbXBpbGF0aW9uIHdpdGggY2hyb21hcHJpbnQgMS40CgkgIEl0IHRha2VzIGNvbnN0IGludDE2X3QgKiBhcyBhcmd1bWVudCBub3csIHdoaWxlIGJlZm9yZSBpdCB3YXMgdm9pZCAqLiBUbwoJICBtYWtlIHRoaXMgd29yayB3aXRoIGJvdGggdmVyc2lvbnMgd2l0aG91dCAjaWZkZWYsIHdlIG9taXQgdGhlIGNvbnN0LgoKMjAxNi0xMi0wNiAwNzo1ODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogU2FuaXR5LWNoZWNrIHJlY3RhbmdsZSBzaXplcyBhIGJpdCBtb3JlIHRob3JvdWdoCgkgIFRoZSB4L3kgY29vcmRpbmF0ZXMgY291bGQgYWxyZWFkeSBiZSBiaWdnZXIgdGhhbiB0aGUgY29uZmlndXJlZAoJICB3aWR0aC9oZWlnaHQsIGFuZCBhZGRpbmcgdGhlIHJlY3RhbmdsZSB3aWR0aC9oZWlnaHQgY291bGQgY2F1c2UgYW4KCSAgb3ZlcmZsb3cuCgoyMDE2LTEyLTA1IDE1OjU2OjM2IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1bmNvbmRpdGlvbmFsIHVzZSBvZiBTWVNfRFZCQ19BTk5FWF9DCgkgIEl0IGlzIG5vdCBkZWZpbmVkIGZvciA8IHY1IG1pbm9yIDYKCjIwMTYtMTItMDUgMTU6NTM6MTAgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IHZhbHVlIGZvciBEVkItQyBhbm5leCBCIGZpZWxkIGluIGFkYXB0ZXIgc3RydWN0dXJlCgoyMDE2LTEyLTA1IDE4OjE3OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3dmlkZW9wYXJzZTogZml4IHR5cG9zIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDE2LTExLTI4IDE1OjU3OjMzIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJICBkdGxzOiBTZXQgb3BlbnNzbCdzIHRocmVhZGlkIHRoZSAxLjAueCB3YXkKCSAgRm9yIHByZS0xLjEueCBvcGVuc3NsLCBhIGNhbGxiYWNrIHRvIHNldCB0aGUgdGhyZWFkIGlkIG5lZWRzIHRvIGJlCgkgIHByb3ZpZGVkIHRvIG9wZW5zc2wuIEluIDAuOS54IHRoZSB0aHJlYWQgaWQgd2FzIGFuIHVuc2lnbmVkIGxvbmcuIEluCgkgIDEuMC54IGl0IHdhcyBleHBhbmRlZCB0byBiZSBhYmxlIHRvIGhvbGQgYSB2b2lkKi4gSGVyZSB3ZSBjaGFuZ2UgdG8gdXNlCgkgIHRoZSAxLjAueCBBUEkgc28gdGhhdCB0aGUgdGhyZWFkIGlkIGNhbiBhbHdheXMgaG9sZCBhIEdUaHJlYWQqLCBldmVuIG9uCgkgIHBsYXRmb3JtcyBsaWtlIG1zdmMgeDY0IHdoZXJlIHVuc2lnbmVkIGxvbmcgaXMgb25seSAzMiBiaXRzLgoJICBBbGwgb2YgdGhpcyBpcyBzdGlsbCAjaWZkZWYnZCBvdXQgb2YgZXhpc3RlbmNlIHdoZW4gYnVpbGRpbmcgd2l0aAoJICBvcGVuc3NsIDEuMS54IG9yIGxhdGVyIHdoaWNoIGNoYW5nZWQgdGhlIHRocmVhZCBBUEkgYWdhaW4sIGFuZCBkb2VzIG5vdAoJICBuZWVkIGEgdGhyZWFkIGlkIGNhbGxiYWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MjkyCgoyMDE2LTExLTMwIDEwOjQwOjQyICswNTMwICBHYXJpbWEgR2F1ciA8Z2FyaW1hLmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSAgZ3N0OiBGaXggY2FwcyBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwNzIKCj09PSByZWxlYXNlIDEuMTAuMiA9PT0KCjIwMTYtMTEtMjkgMTY6MjE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMTAuMgoKMjAxNi0xMS0yOSAxNTo1MjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTExLTI5IDE0OjEwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vaHIucG86CgkqIHBvL2t5LnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMTEtMjggMjA6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRml4IG9mZi1ieS1vbmUgaW4gUE1UIHBhcnNpbmcKCjIwMTYtMTEtMjggMTk6NTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRG9uJ3QgYXNzZXJ0IGlmIHRoZSBnaXZlbiBzZWN0aW9uIGxlbmd0aCBpcyBsb25nZXIgdGhhbiB0aGUgUE1UIGFjdHVhbGx5IGlzCgkgIEluc3RlYWQgZXJyb3Igb3V0IGNsZWFubHkgYW5kIGp1c3QgYXNzZXJ0IHRoYXQgd2UgZGlkbid0IHJlYWQgbW9yZSB0aGFuCgkgIHRoZSBhdmFpbGFibGUgZGF0YS4KCjIwMTYtMTEtMjggMTc6MTc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogQ29ycmVjdGx5IHNldCB0b3AtZmllbGQtZmlyc3QvYm90dG9tLWZpZWxkLWZpcnN0CgkgIEZpcnN0IG9mIGFsbCwgYWxsIHRoZSBIRCBhbmQgVUhEIG1vZGVzIHNob3VsZCBiZSB0b3AtZmllbGQtZmlyc3QsIGFzCgkgIGFsc28gcmV0dXJuZWQgYnkgdGhlIERlY2tsaW5rIG1vZGUgaXRlcmF0b3IgQVBJLgoJICBUaGVuIHdlIHNob3VsZCBpbmNsdWRlIHRoZSBjYXBzIGZpZWxkICJmaWVsZC1vcmRlciIgaW4gdGhlIGNhcHMgb2YgdGhlCgkgIHNvdXJjZSAobm90IHRoZSBzaW5rIGR1ZSB0byBuZWdvdGlhdGlvbiBwcm9ibGVtcyB3aXRoIG9wdGlvbmFsIGZpZWxkcykuCgkgIEFuZCBmaW5hbGx5IHdlIHNob3VsZCBzZXQgdGhlIFRGRiBmbGFnIG9uIGludGVybGFjZWQgYnVmZmVycyB0aGF0IGFyZQoJICB0b3AtZmllbGQtZmlyc3QuCgoyMDE2LTExLTI4IDEwOjI3OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgd2UgYWN0aXZhdGVkIGEgcHJvZ3JhbSB3aXRob3V0IHBhZHMKCSAgT3RoZXJ3aXNlIGRlY29kZWJpbiBhbmQgYXBwbGljYXRpb25zIGFyZSBnb2luZyB0byB3YWl0IGZvcmV2ZXIgZm9yIHBhZHMKCSAgdG8gYXBwZWFyLCB3aGljaCBpcyBuZXZlciBnb2luZyB0byBoYXBwZW4uCgkgIEhhcHBlbnMgb24gdGhpcyBzdHJlYW0sIHdoaWNoIHByb2JhYmx5IGp1c3QgbmVlZCBzdXBwb3J0IGZvciBpdCBhZGRlZDoKCSAgaHR0cHM6Ly9zYW1wbGVzLm1wbGF5ZXJocS5odS8zRC9BVkNfY29kZWNfaW5fbTJ0c19ub3RfcmVjb2duaXplZC9BVkNfY29kZWNfbm90X3JlY29nbml6ZWRfcmlnaHRfdmlkZW9fc2FtcGxlLm0ydHMKCjIwMTYtMTEtMjggMTA6NDk6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogTWFyayB1cmlfam9pbigpIGZ1bmN0aW9uIGFzIHN0YXRpYwoJICBXZSBkb24ndCByZWFsbHkgd2FudCB0byBleHBvcnQgdGhpcywgZXNwZWNpYWxseSBub3Qgd2l0aG91dCBhbnkKCSAgbmFtZXNwYWNpbmcuIFRoaXMgY2FuIGNhdXNlIHByb2JsZW1zIGZvciBzdGF0aWMgYnVpbGRzLgoKMjAxNi0xMS0yOCAxNDoyMjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtb3ZlIGdfbWFpbl9jb250ZXh0X3B1c2gvcG9wX3RocmVhZF9kZWZhdWx0KCkgdG8gcnVuKCkKCSAgQ2FsbGluZyBnX21haW5fY29udGV4dF9wdXNoX3RocmVhZCBhbmQgdGhlbiBnX21haW5fY29udGV4dF9pbnZva2UoKQoJICAodXNlZCBieSBnc3RfZ2xfd2luZG93X3NlbmRfbWVzc2FnZV9hc3luYygpKSBpbiB0aGUgc2FtZSB0aHJlYWQgd2lsbAoJICBjYXVzZSB0aGUgaW52b2tlZCBmdW5jdGlvbiB0byBydW4gaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBiZWluZyBkZWxheWVkLgoJICBUaGlzIGhhZCBpbXBsaWNhdGlvbnMgZm9yIHRoZSBjcmVhdGlvbiBvZiB0aGUgT3BlbkdMIGNvbnRleHQgbm90IHdhaXRpbmcKCSAgdW50aWwgdGhlIG1haW4gbG9vcCBoYWQgY29tcGxldGVseSBzdGFydGVkIHVwIGFuZCBhcyBhIHJlc3VsdCB3b3VsZAoJICBzb21ldGltZXMgZGVhZGxvY2sgaW4gc2hvcnQgY3JlYXRlL2Rlc3Ryb3kgc2NlbmFyaW9zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTcxCgoyMDE2LTExLTI4IDE0OjE5OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogZml4IHJhY2UgYmV0d2VlbiBjcmVhdGlvbi9zaHV0ZG93bgoJICA2MjZiY2NjZmY5NmY2MjRmNTljNTIxMmIzZTIxZTQ3MjI0MDE3MWZkIHJlbW92ZWQgc29tZSBsb2NrcyB0aGF0CgkgIGFsbG93ZWQgdGhlIG1haW4gbG9vcCBxdWl0IHRvIG9jY3VyIGJlZm9yZSB0aGUgY29udGV4dCB3YXMgZnVsbHkKCSAgY3JlYXRlZC4KCSAgMjc3NmNlZjI1ZDJhOTg2NjhiNzMyNzJhZWNmZTc3ZTY4NGU2NjI3ZSBhdHRlbXB0ZWQgdG8gcmVhZGQgdGhlbSBidXQKCSAgbWlzc2VkIHRoZSBzY29wIG9mIHRoZSBxdWl0KCkgY2FsbC4KCSAgQWxzbyByZW1vdmUgdGhlIHVzZSBvZiBnX3RocmVhZF9qb2luKCkgYXMgdGhhdCdzIG5vdCBzYWZlIHRvIHVzZSB3aGVuCgkgIGl0J3MgcG9zc2libGUgdG8gbG9zZSB0aGUgbGFzdCByZWZlcmVuY2UgZnJvbSB0aGUgR0wgdGhyZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc1MTcxCgoyMDE2LTExLTI3IDEyOjQwOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5jOgoJICByYXdiYXNlcGFyc2U6IEZpeCBvdXRwdXQgYnVmZmVyIHNpemUgdHJpbW1pbmcKCSAgRm9yIGZyYW1lLT5idWZmZXIsIGJhc2VwYXJzZSBpcyBkb2luZyB0aGF0IGF1dG9tYXRpY2FsbHkgZm9yIHVzLiBGb3IKCSAgZnJhbWUtPm91dHB1dF9idWZmZXIgaXQgZG9lc24ndCBhbmQgYXNzdW1lcyB0aGF0IHRoZSBzdWJjbGFzcyBpcyBhbHJlYWR5CgkgIGRvaW5nIHRoYXQuIENvbnNpc3RlbmN5IQoKMjAxNi0xMS0yNyAxMjoyMDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBGaXggc3RyaXBwaW5nIG9mIHNwYWNlIGF0IHRoZSBiZWdpbm5pbmcvZW5kIG9mIGR1cmF0aW9ucwoJICBUaGUgd2F5IGhvdyBzdHJjaHIoKSB3YXMgY2FsbGVkIGhlcmUsIGl0IGNvdWxkIGVhc2lseSByZWFkIGFmdGVyIHRoZSBlbmQKCSAgb2YgdGhlIHN0cmluZy4gVXNlIGdfYXNjaWlfaXNzcGFjZSgpIGluc3RlYWQuCgkgIERldGVjdGVkIGJ5IGFzYW4gaW4gdGhlIHVuaXQgdGVzdC4KCjIwMTYtMTEtMjcgMTE6NDQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YmFzZXBhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IFByb3Blcmx5IGFsaWduIHJhdyBhdWRpby92aWRlbyBvdXRwdXQgYnVmZmVycwoJICBUaGF0IGlzLCBhbGlnbmVkIHRvIHRoZSBiYXNpYyB0eXBlIGZvciBhdWRpbyBhbmQgdG8gMzIgYnl0ZXMgZm9yIHZpZGVvLgoJICBGaXhlcyBjcmFzaGVzIGlmIHRoZSByYXcgYnVmZmVycyBhcmUgcGFzc2VkIHRvIFNJTUQgcHJvY2Vzc2luZyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0MjgKCjIwMTYtMTEtMjYgMTI6Mjg6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBQb3N0IGFuIGVycm9yIG1lc3NhZ2UgaWYgd2UgZ290IEVPUyBiZWZvcmUgaGF2aW5nIGFueSBzb3VyY2UgcGFkcwoJICBPdGhlcndpc2UsIHNlbmRpbmcgYW4gRU9TIGV2ZW50IGhhcyBubyBlZmZlY3QgYW5kIHRoZSBhcHBsaWNhdGlvbiB3YWl0cwoJICBmb3JldmVyIGZvciBzb21ldGhpbmcgdG8gaGFwcGVuLgoKMjAxNi0xMS0yNiAxMjoxNjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IGluZGVudGF0aW9uCgoyMDE2LTExLTI2IDEyOjE2OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggYXNzZXJ0aW9uIHdoZW4gZW5jb3VudGVyaW5nIGFuIGludmFsaWQgTkFMVQoJICBFcnJvciBvdXQgcHJvcGVybHkgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTEzMAoKMjAxNi0xMS0yNiAxMjoxNTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IGFzc2VydGlvbiB3aGVuIGVuY291bnRlcmluZyBhbiBpbnZhbGlkIE5BTFUKCSAgRXJyb3Igb3V0IHByb3Blcmx5IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUxMzAKCjIwMTYtMTEtMjYgMTA6NDQ6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogQWRkIG1vcmUgc2VjdGlvbiBzaXplIGNoZWNrcwoJICBUaGUgc21hbGxlc3Qgc2VjdGlvbiBldmVyIG5lZWRzIHRvIGJlIGF0IGxlYXN0IDMgYnl0ZXMgKGkuZS4ganVzdCB0aGUgc2hvcnQKCSAgaGVhZGVyKS4KCSAgTm9uLXNob3J0IGhlYWRlcnMgbmVlZCB0byBiZSBhdCBsZWFzdCAxMSBieXRlcyBsb25nICgzIGZvciB0aGUgbWluaW11bSBoZWFkZXIsCgkgIDUgZm9yIHRoZSBub24tc2hvcnQgaGVhZGVyLCBhbmQgNCBmb3IgdGhlIENSQykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzUwNDgKCjIwMTYtMTEtMjYgMTA6MjM6MDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3Rzc2VjdGlvbjogRml4IFBBVCBwYXJzaW5nCgkgIFVzZSB0aGUgZXN0aW1hdGVkIG51bWJlciBvZiBwcm9ncmFtcyBmb3IgcGFyc2luZy4gQXZvaWRzIG92ZXItcmVhZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTEyMAoKMjAxNi0xMS0yNiAwOToyNjozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEhhbmRsZSBHU1RfU0VFS19UWVBFX05PTkUgc2VlawoJICBXaGVuIG9uZSBpcyBvbmx5IHVwZGF0aW5nIHRoZSAic3RvcCIgcG9zaXRpb24gKGkuZS4gbm9uLWZsdXNoaW5nIHNlZWssCgkgIHdpdGggR1NUX1NFRUtfVFlQRV9OT05FIG9uIHRoZSAic3RhcnQiIChvciBzdG9wIGluIHJldmVyc2UpIHBvc2l0aW9uKSwKCSAgd2Ugb25seSBuZWVkIHRvIHN0b3JlIHRob3NlIHZhbHVlcyBpbnN0ZWFkIG9mIG1vdmluZyB0aGUgY3VycmVudCBwb3NpdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NTEyNwoKMjAxNi0xMS0yNSAxNjo0Njo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZkZW11eDogRml4IHVwIGFub3RoZXIgc2l6ZSBjaGVjayBhbmQgcHJldmVudCBhbGxvY2F0aW5nIHRvbyBtdWNoIG1lbW9yeQoKMjAxNi0xMS0yNSAxNTo1OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZmRlbXV4OiBIYW5kbGUgemVyby1zaXplZCBLTFYgaXRlbXMgYmV0dGVyIGFuZCBkb24ndCBhc3NlcnQgb24gdGhlbQoKMjAxNi0xMS0yNSAxNTo1Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCB2YXJpb3VzIGxvZ2ljIGVycm9ycyBpbiBlcnJvciBoYW5kbGluZyBvZiBmb290ZXIgcGFydGl0aW9uIHBhcnNpbmcKCjIwMTYtMTEtMjUgMTU6NTM6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBEb24ndCB0cnkgcGFyc2luZyBlbXB0eSBtZXRhZGF0YSBpdGVtcwoKMjAxNi0xMS0yNSAwMTowNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEFkZCBtaXNzaW5nIE5VTEwgY2hlY2sKCjIwMTYtMTEtMjQgMTk6NDU6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL214Zi5jOgoJICBteGY6IFJlbW92ZSBteGZkbXMxLltjaF0gZnJvbSB0aGUgYnVpbGQgZm9yIG5vdwoJICBJdCdzIGNvbXBsZXRlbHkgdW51c2VkIGN1cnJlbnRseSBidXQgbWlnaHQgYmUgdXNlZCBpbiB0aGUgZnV0dXJlLgoKMjAxNi0xMS0yNCAyMzozNjoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGZkZW11eDogQWRkIHZhcmlvdXMgbWlzc2luZyBib3VuZHMgY2hlY2tzLCBOVUxMIGNoZWNrcyBhbmQgaW50ZWdlciBvdmVyZmxvdyBwcm90ZWN0aW9uIGZvciBlcnJvciBjYXNlcwoKMjAxNi0xMS0yNCAxNDo0ODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRnJlZSB0aW1lY29kZXMgd2hlbiBkb25lIHdpdGggYSBmcmFtZQoKMjAxNi0xMS0yNCAxNDo0MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuYzoKCSAgdGltZWNvZGVzdGFtcGVyOiBSZW1vdmUgYWxsIGV4aXN0aW5nIHRpbWVjb2RlIG1ldGFzIGlmIHJlcXVlc3RlZCB0byBvdmVycmlkZSBleGlzdGluZwoKMjAxNi0xMS0xOSAxNjoxMjowNiArMDkwMCAgU2V1bmdoYSBZYW5nIDxzaC55YW5nQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggbGVhayBpbiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fZnJlZQoJICBGcmVlIHBhcnNlZCBtb29mIGFuZCBzeW5jIHNhbXBsZXMgd2l0aCBfc3RyZWFtX2ZyZWUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDcwMgoKMjAxNi0xMS0yNCAxMToxMjoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBEb24ndCBmcmVlIGVtcHR5IHN0cmVhbXMKCSAgQWxzbyBhdm9pZHMgYSB1c2VsZXNzIGFzc2VydGlvbgoKMjAxNi0xMS0yNCAxMToxMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGFkZCBleGlzdGluZyB2YWx1ZXMgdG8gZ3JvdXAKCSAgSWYgdGhlIGxhc3QgdmFsdWUgaXMgYWxyZWFkeSBpZGVudGljYWwsIHRoZXJlIGlzIG5vIG5lZWQgaW4gYWRkaW5nIGl0CgkgIHlldC1hbm90aGVyLXRpbWUKCjIwMTYtMTEtMTcgMTU6NDE6MDAgKzAwMDAgIERhdmlkIEV2YW5zIDxiYmNyZGRhdmVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIGdzdHJlYW1lci12aWRlbyB0byBwa2ctY29uZmlnIHBhdGgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDYyNAoKMjAxNi0xMS0yMyAxMDo1MToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRW5zdXJlIGNvZGVjX2RhdGEgaGFzIHRoZSByZXF1aXJlZCBzaXplIHdoZW4gcmVhZGluZyBudW1iZXIgb2YgU1BTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ4OTYKCjIwMTYtMTEtMjMgMTA6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEVuc3VyZSBjb2RlY19kYXRhIGhhcyB0aGUgcmVxdWlyZWQgc2l6ZSB3aGVuIHJlYWRpbmcgbnVtYmVyIG9mIE5BTCBhcnJheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDg5NgoKMjAxNi0xMS0yMiAxMjo1ODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlc2V0IHZhbHVlcyBiZWZvcmUgcGFyc2luZyBlYWNoIHNlY3Rpb24KCjIwMTYtMTEtMjIgMTI6NDI6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBNYWtlIHN1cmUgaW4gYWxsIGNhc2VzIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSBsZWZ0IGZvciByZWFkaW5nIGEgc2VjdGlvbiBzdGFydAoJICBJbiBzb21lIGNhc2VzIHdlIGVuZGVkIHVwIHBhcnNpbmcgc2VjdGlvbnMgd2l0aG91dC4KCjIwMTYtMTEtMjMgMTc6MDQ6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbC9jb250ZXh0Z2x4OiBlcnJvciBvdXQgb24gbW9yZSBpbnZhbGlkIGRpc3BsYXkvd2luZG93IGNvbWJpbmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Nzc0ODUxCgoyMDE2LTExLTIwIDEyOjQwOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggbGliIGFuZCBjZmxhZ3Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCSAgcG5tOiBhZGQgbWlzc3NpbmcgY29udGludWF0aW9uIHNsYXNoIGF0IGVuZCBvZiBsaW5lCgkgIHZwOHBhcnNlcjogbm8gbmVlZCB0byBsaW5rIGNvZGVjcGFyc2VycyB0d2ljZQoJICBkYXNoX2RlbXV4LCBtc3NkZW11eCwgaGxzZGVtdXg6IGZpeCBsaWIvZmxhZ3Mgb3JkZXJpbmcgLSBsb2NhbAoJICBsaWJzIGFuZCBmbGFncyBtdXN0IGNvbWUgZmlyc3QsIHRoZW4gYmFzZSBiZWZvcmUgY29yZSBiZWZvcmUgcmVzdAoKMjAxNi0xMS0yMCAxNDo1Mzo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogdXBkYXRlIHZlcnNpb24KCj09PSByZWxlYXNlIDEuMTAuMSA9PT0KCjIwMTYtMTEtMTcgMTU6NTM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvZnhiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhc2hkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RndGsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZ0Yy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZXRzaW0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmV4ci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZ2wueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmpwZWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1c3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG9udmlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aHN0cmVhbWluZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGVsZXRleHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXZjaDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZnJhbWVfYXVkaW9sZXZlbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuMTAuMQoKMjAxNi0xMS0xNyAxNTowNTowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTExLTE3IDE0OjQ2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9pZC5wbzoKCSogcG8va3kucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTExLTE3IDE0OjIxOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhcHBsZW1lZGlhOiBlcnJvciBvdXQgaWYgdGhlIHVyaSBwcm9wZXJ0eSBpcyBub3Qgc2V0CgkgIEZpeGVzOgoJICBUZXJtaW5hdGluZyBhcHAgZHVlIHRvIHVuY2F1Z2h0IGV4Y2VwdGlvbiAnTlNJbnZhbGlkQXJndW1lbnRFeGNlcHRpb24nLCByZWFzb246ICcqKiogK1tOU1N0cmluZyBzdHJpbmdXaXRoVVRGOFN0cmluZzpdOiBOVUxMIGNTdHJpbmcKCSAgaW4gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoKMjAxNi0xMS0xNiAyMDo0MTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogU2FuaXR5LWNoZWNrIHdpZHRoL2hlaWdodCBiZWZvcmUgdXNpbmcgaXQKCSAgV2Ugd2lsbCBhbGxvY2F0ZSBhIHNjcmVlbiBhcmVhIG9mIHdpZHRoKmhlaWdodCpicHAgYnl0ZXMsIGhvd2V2ZXIgdGhpcwoJICBjYWxjdWxhdGlvbiBjYW4gZWFzaWx5IG92ZXJmbG93IGlmIHRvbyBoaWdoIHdpZHRoIG9yIGhlaWdodCBhcmUgZ2l2ZW4KCSAgaW5zaWRlIHRoZSBzdHJlYW0uIE5vbmV0aGVsZXNzIHdlIHdvdWxkIGp1c3QgYXNzdW1lIHRoYXQgZW5vdWdoIG1lbW9yeQoJICB3YXMgYWxsb2NhdGVkLCB0cnkgdG8gZmlsbCBpdCBhbmQgb3ZlcndyaXRlIGFzIG11Y2ggbWVtb3J5IGFzIHdhbnRlZC4KCSAgQWxzbyBhbGxvY2F0ZSB0aGUgc2NyZWVuIGFyZWEgZmlsbGVkIHdpdGggemVyb2VzIHRvIGVuc3VyZSB0aGF0IHdlIHN0YXJ0CgkgIHdpdGggZnVsbC1ibGFjayBhbmQgbm90IGFueSByYW5kb20gKG9yIG5vdCBzbyByYW5kb20pIGRhdGEuCgkgIGh0dHBzOi8vc2NhcnliZWFzdHNlY3VyaXR5LmJsb2dzcG90LmdyLzIwMTYvMTEvMGRheS1wb2Mtcmlza3ktZGVzaWduLWRlY2lzaW9ucy1pbi5odG1sCgkgIElkZWFsbHkgd2Ugc2hvdWxkIGp1c3QgcmVtb3ZlIHRoaXMgcGx1Z2luIGluIGZhdm91ciBvZiB0aGUgb25lIGluCgkgIGdzdC1saWJhdiwgd2hpY2ggZ2VuZXJhbGx5IHNlZW1zIHRvIGJlIG9mIGJldHRlciBjb2RlIHF1YWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ1MzMKCjIwMTYtMTEtMTUgMTg6MTA6MjQgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogdXNlIGdfdGhyZWFkX3VucmVmKCkgdG8gcmVsZWFzZSBuYXZpZ2F0aW9uIHRocmVhZAoJICB1c2UgZ190aHJlYWRfdW5yZWYoKSB0byByZWxlYXNlIG5hdmlnYXRpb24gdGhyZWFkIHRvIGF2b2lkIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQ0NjIKCjIwMTYtMTEtMTQgMTE6MzI6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSAgZHRsc2NlcnRpZmljYXRlOiBGaXggZXJyb3IgY2hlY2tpbmcgaW4gUlNBX2dlbmVyYXRlX2tleV9leCgpIHVzYWdlCgkgIFdhcyBicm9rZW4gZHVyaW5nIHRoZSBwb3J0IGZvciBPcGVuU1NMIDEuMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDMyOAoKMjAxNi0xMS0xMiAxMDozODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZSB3aGVuIGNoZWNraW5nIGlmIHRoZXJlIGlzIGEgbmV4dCBmcmFnbWVudAoJICBUaGFua3MgdG8gQWxla3NhbmRyIDx0dW1hbGVrc2FuZHJAeWFuZGV4LnVhPiBmb3IgcmVwb3J0aW5nIGFuZAoJICBzdWdnZXN0aW5nIHRoZSBmaXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQyODcKCjIwMTYtMTEtMDcgMTI6MzA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IEFsbG93IHJlZ2lzdGVyaW5nIGNvZGVjcywgY2FtZXJhIG9yIHNlbnNvcnMgaWYgYW55IG9mIHRoZSBvdGhlcnMgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzQwNDgKCjIwMTYtMTEtMDcgMTI6MjQ6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLXNlbnNvci5jOgoJICBhaHM6IERvbid0IGFzc2VydCBvbiBkZWluaXQgaWYgaW5pdGlhbGl6YXRpb24gZmFpbGVkIGJlZm9yZQoJICBJbml0aWFsaXphdGlvbiBmYWlsdXJlIGlzIGhhbmRsZWQgY29ycmVjdGx5IGJ5IGp1c3Qgbm90IHJlZ2lzdGVyaW5nIHRoZQoJICBhaHNzcmMgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3NDA0OAoKMjAxNi0xMS0wMiAxNjoxMjo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBbHNvIHN0b3Agc2NoZWR1bGVkIHBsYXliYWNrIHdoZW4gZ3N0X2VsZW1lbnRfbG9zdF9zdGF0ZSgpIGlzIGNhbGxlZAoJICBVbmZvcnR1bmF0ZWx5IHRoaXMgZG9lcyBub3QgZ28gdGhyb3VnaCB0aGUgbm9ybWFsIHN0YXRlIGNoYW5nZQoJICBtYWNoaW5lcnksIHNvIHdlIGRvbid0IGdldCBub3RpZmllZCBhYm91dCB0aGlzIGluIGNoYW5nZV9zdGF0ZSgpLgoJICBIb3dldmVyIHdlIG5lZWQgdG8gc3RvcCBzY2hlZHVsZWQgcGxheWJhY2ssIHNvIHRoYXQgb25jZSBQTEFZSU5HIGlzCgkgIHJlYWNoZWQgYWdhaW4gd2UgY2FuIHN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayB3aXRoIHRoZSBjb3JyZWN0IHRpbWUuCgkgIFdpdGhvdXQgdGhpcywgZmx1c2hpbmcgc2Vla3MgaW4gUExBWUlORyB3aWxsIG5vdCB3b3JrIGNvcnJlY3RseToKCSAgZGVja2xpbmt2aWRlb3Npbmsgd2lsbCB3YWl0IGJlZm9yZSBzaG93aW5nIHRoZSBuZXcgZnJhbWVzIGZvciB0aGUgYW1vdW50CgkgIG9mIHRpbWUgdGhlIHBpcGVsaW5lIHdhcyBpbiBQTEFZSU5HIGJlZm9yZS4KCjIwMTYtMTEtMDIgMTQ6MDQ6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsczogRml4IGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggb3BlbnNzbCAxLjEgb3IgbmV3ZXIKCSAgLSBEVExTdjFfbWV0aG9kKCkgaXMgZGVwcmVjYXRlZCwgYW5kIHNpbmNlIDEuMC4yIHJlcGxhY2VkIGJ5CgkgIERUTFNfbWV0aG9kKCkuCgkgIC0gQ1JZUFRPX3NldF9sb2NraW5nX2NhbGxiYWNrKCkgYW5kIENSWVBUT19zZXRfaWRfY2FsbGJhY2soKSBhcmUKCSAgbm8tb3BzIChlbXB0eSBtYWNyb3MpIHNpbmNlIDEuMSBhbmQgYXJlIG5vdCBzdXBwb3NlZCB0byBiZSB1c2VkCgkgIGFueW1vcmUuCgkgIGdzdGR0bHNhZ2VudC5jOiBJbiBmdW5jdGlvbiDigJhnc3RfZHRsc19hZ2VudF9pbml04oCZOgoJICBnc3RkdGxzYWdlbnQuYzoxNzM6MzogZXJyb3I6IOKAmERUTFN2MV9tZXRob2TigJkgaXMgZGVwcmVjYXRlZCBbLVdlcnJvcj1kZXByZWNhdGVkLWRlY2xhcmF0aW9uc10KCSAgcHJpdi0+c3NsX2NvbnRleHQgPSBTU0xfQ1RYX25ldyAoRFRMU3YxX21ldGhvZCAoKSk7CgkgIF5+fn4KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC91c3IvaW5jbHVkZS9vcGVuc3NsL2N0Lmg6MTM6MCwKCSAgZnJvbSAvdXNyL2luY2x1ZGUvb3BlbnNzbC9zc2wuaDo2MSwKCSAgZnJvbSBnc3RkdGxzYWdlbnQuYzo0MDoKCSAgL3Vzci9pbmNsdWRlL29wZW5zc2wvc3NsLmg6MTYxNDoxOiBub3RlOiBkZWNsYXJlZCBoZXJlCgkgIERFUFJFQ0FURURJTl8xXzFfMChfX293dXIgY29uc3QgU1NMX01FVEhPRCAqRFRMU3YxX21ldGhvZCh2b2lkKSkgLyogRFRMU3YxLjAgKi8KCSAgXgoJICBBdCB0b3AgbGV2ZWw6CgkgIGdzdGR0bHNhZ2VudC5jOjEwMzoxOiBlcnJvcjog4oCYc3NsX3RocmVhZF9pZF9mdW5jdGlvbuKAmSBkZWZpbmVkIGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtZnVuY3Rpb25dCgkgIHNzbF90aHJlYWRfaWRfZnVuY3Rpb24gKHZvaWQpCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+fn4KCSAgZ3N0ZHRsc2FnZW50LmM6NzM6MTogZXJyb3I6IOKAmHNzbF9sb2NraW5nX2Z1bmN0aW9u4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1mdW5jdGlvbl0KCSAgc3NsX2xvY2tpbmdfZnVuY3Rpb24gKGdpbnQgbW9kZSwgZ2ludCBsb2NrX251bSwgY29uc3QgZ2NoYXIgKiBmaWxlLCBnaW50IGxpbmUpCgkgIF5+fn5+fn5+fn5+fn5+fn5+fn5+CgoyMDE2LTEwLTIxIDE0OjAxOjExICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogSWdub3JlIGNoYW5uZWwtbWFzayB3aGVuIGNoZWNraW5nIHNldF9jYXBzIGNvbXBhdGliaWxpdHkKCSAgY2hhbm5lbC1tYXNrIGRvZXNuJ3QgbWF0dGVyIGluIGRlY2tsaW5rYXVkaW9zcmMsIGFuZCBkaWZmZXJlbmNlcyBpbiBpdAoJICBjYW4gY2F1c2UgY2FwcyBuZWdvdGlhdGlvbnMgdG8gZmFpbCB3aXRob3V0IGEgcmVhbCByZWFzb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMzMTMKCjIwMTYtMDEtMDggMjE6NDE6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgYmF5ZXI6IGZpeCBzdHJpZGUgaW5jb25zaXN0ZW5jaWVzIGZvciBvZGQgd2lkdGhzCgkgIENvbnNpc3RlbnRseSB1c2UgR1NUX1JPVU5EX1VQXzQod2lkdGgpIGFzIHN0cmlkZSBmb3IKCSAgYmF5ZXIgYnVmZmVycy4gQmF5ZXIgZGF0YSB3aWxsIHVzdWFsbHkgY29tZSBpbiB3aWR0aHMKCSAgdGhhdCBhcmUgbXVsdGlwbGVzIG9mIDQgYW55d2F5LCBzbyBob3BlZnVsbHkgdGhpcwoJICBzaG91bGQgbm90IGhhdmUgYW55IGFkdmVyc2UgaW1wYWN0IG9uIGFueW9uZSBpbgoJICBwcmFjdGljZS4KCSAgQmVmb3JlLCBiYXllcjJyZ2IgcmVxdWlyZWQgaW5wdXQgYnVmZmVycyB0byBhcmUgc2l6ZWQKCSAgYWNjb3JkaW5nbHksIGJ1dCB0aGVuIGRpZG4ndCBhY3R1YWxseSByb3VuZCB1cCB3aGVuCgkgIGNhbGN1bGF0aW5nIHJvdyBvZmZzZXRzLiByZ2IyYmF5ZXIgZGlkbid0IHVzZSBhIHJvdW5kZWQKCSAgc3RyaWRlIG5vciBidWZmZXIgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAxNAoKMjAxNi0xMS0wMyAxODoxOTo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IEZpeCBpbnZlcnRlZCBwcmVjb25kaXRpb24KCSAgQSBHRXJyb3IgYXJndW1lbnQgbXVzdCBlaXRoZXIgYmUgbnVsbCBvciBwb2ludCB0byBhIE5VTEwgR0Vycm9yLgoJICBodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvZ2xpYi9zdGFibGUvZ2xpYi1FcnJvci1SZXBvcnRpbmcuaHRtbAoKMjAxNi0xMS0wMyAxNjoxNDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL2dpOiBzb21lIGFubm90YXRpb24gdXBkYXRlcyBmb3IgY2FsbGVkIGZ1bmN0aW9ucwoJICBXaXRoIHNjb3BlLCBjbG9zdXJlLCBkZXN0cm95IGFubm90YXRpb25zCgoyMDE2LTExLTAzIDE2OjEyOjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsL2dpOiBhbHNvIGluY2x1ZGUgR3N0VmlkZW8KCSAgUmVtb3ZlcyBhbGwgdGhlIHVua25vd24gdHlwZSBHc3RWaWRlbyogd2FybmluZ3Mgd2hpbGUgYnVpbGRpbmcgdGhlIEdJUgoJICBmaWxlLgoKMjAxNi0xMS0wMyAxMjowMzoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbC9kb2NzOiBtYXNzaXZlIHVwZGF0ZQoJICAtIGFkZCBTaW5jZTogbWFya2VycyB3aGVyZSBuZWNlc3NhcnkuCgkgIC0gZG9jdW1lbnQgc3RydWN0cwoJICAtIGFkZCBkb2N1bWVudGF0aW9uIGhlYWRlcnMgZm9yIGVhY2ggbW9kdWxlIChzaG9ydF9kZXNjcmlwdGlvbiwKCSAgc2VlX2Fsc28sIGV0YykKCSAgLSByZWR1Y2UgdGhlIG51bWJlciBvZiB3YXJuaW5ncyBndGstZG9jIG91dHB1dHMKCSAgLSBmaXggc3BlbGxpbmcgbWlzdGFrZXMKCjIwMTYtMTEtMDIgMjE6MjE6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmM6CgkgIGdsL2RvY3M6IGRvY3VtZW50IG5ldyBBUEkgYWRkZWQgaW4gMS4xMAoJICBHc3RHTFJlbmRlcmJ1ZmZlcgoJICBHc3RHTEZyYW1lYnVmZmVyCgkgIEdzdEdMUXVlcnkKCSAgR3N0RUdMSW1hZ2UKCSAgR3N0R0xNZW1vcnlFR0wKCjIwMTYtMTEtMDEgMTY6MTM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSAgZ2wvZG9jczogdXBkYXRlIGxpc3RzIG9mIGluY2x1ZGVkIHN5bWJvbHMKCSAgaW4gdGhlIHNlY3Rpb25zIGFuZCB0eXBlcyBmaWxlcy4KCSAgQWxzbyByZW1vdmUgc29tZSB1bm5lZWRlZCB0eXBlcyBmcm9tIHRoZSBkb2N1bWVudGF0aW9uIGFzIHRoZXkgYXJlbid0CgkgIGV4cG9zZWQgYXMgcHVibGljIEFQSQoKMjAxNi0xMS0wMSAxNzozMDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHNsLmM6CgkgIGdsc2w6IGZpeCAjdmVyc2lvbiAxNTAgbm90IHdvcmtpbmcgd2l0aCBwcm9maWxlcwoJICBUaGUgc3BlYyBhbGxvd3MgdGhlIGNvcmUvY29tcGF0aWJpbGl0eSBwcm9maWxlcyB0byBiZSB1c2VkCgkgIHdpdGggI3ZlcnNpb24gMTUwLgoJICBBbHNvIHRpZ2h0ZW4gdXAgdGhlIHRlc3RzIHRvIGNoZWNrIGZvciBkZWZhdWx0IHByb2ZpbGVzIGJlaW5nIGNob3NlbgoJICBjb3JyZWN0bHkuCgoyMDE2LTExLTAxIDE5OjQzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKPT09IHJlbGVhc2UgMS4xMC4wID09PQoKMjAxNi0xMS0wMSAxNzo1ODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0Z3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnJ0Y2RzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15YWRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEwLjAKCjIwMTYtMTEtMDEgMTc6NTE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNi0xMS0wMSAxNzo0MjozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2t5LnBvOgoJKiBwby9zdi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMTAtMzEgMTk6MjY6MzEgKzA2MDAgIEFydGVtIE1hcnR5bm92aWNoIDxhcnRlbS5tYXJ0eW5vdmljaEBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IENvcnJlY3RseSBjYXN0IG1peGVyIHRvIHVpbnRwdHIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzcyMAoKMjAxNi0xMC0yOCAxMDowNToyMCArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCB0cnkgdG8gYWNjZXNzIG5vbi1leGlzdGFudCBpZnJhbWUgdmFyaWFudAoJICBJZiB0aGUgcGxheWxpc3QgZG9lcyBub3QgY29udGFpbiBhbnkgaWZyYW1lIHZhcmlhbnRzIHRoZW4KCSAgZGVtdXgtPm1hc3Rlci0+aWZyYW1lX3ZhcmlhbnRzIGlzIE5VTEwuIElmIHRoZSBwcmV2aW91cyB2YXJpYW50IGlzIGFuCgkgIGlmcmFtZSB2YXJpYW50IHRoZW4gdGhlcmUgaXMgYXQgbGVhc3Qgb25lIGlmcmFtZSB2YXJpYW50IGFuZAoJICBkZW11eC0+bWFzdGVyLT5pZnJhbWVfdmFyaWFudHMtPmRhdGEgY2FuIGJlIHNhZmVseSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczNjM1CgoyMDE2LTEwLTIzIDEyOjAyOjAwICswMzAwICBzZXplcm8gPHNlemVyb0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgdGltaWRpdHk6IGFkZCBzdXBwb3J0IGZvciBsaWJ0aW1pZGl0eS0wLjIueAoJICBtaWRfaXN0cmVhbV9vcGVuX21lbSgpIGRvZXNuJ3QgYWNjZXB0IGFuIGF1dG9mcmVlIGFyZ3VtZW50IGFzIG9mCgkgIGxpYnRpbWlkaXR5ID49IDAuMi4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI1MDMKCjIwMTYtMTAtMjYgMTQ6NTE6MDEgKzAyMDAgIERhaWtpIFVlbm8gPGR1ZW5vQHJlZGhhdC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogcG9ydCB0byBPcGVuU1NMIDEuMS4wCgkgIENoYW5nZXMgYXJlOgoJICAtIFVzZSB0aGUgd3JhcHBlciBmdW5jdGlvbnMgdG8gYWNjZXNzIG9wYXF1ZSBkYXRhIHR5cGVzLiAgVG8gcHJlc2VydmUKCSAgYmFja3dhcmQgY29tcGF0aWJpbGl0eSwgZGVmaW5lIGZhbGxiYWNrIGRlZmluaXRpb25zCgkgIC0gUmVtb3ZlIHRoZSB1c2Ugb2YgaWRpb20gInBxdWV1ZV9zaXplKHNzbC0+ZDEtPnNlbnRfbWVzc2FnZXMpIiwgc2luY2UKCSAgdGhlcmUgaXMgbm8gcmVwbGFjZW1lbnQKCSAgLSBVc2UgUlNBX2dlbmVyYXRlX2tleV9leCBpbnN0ZWFkIG9mIHRoZSBkZXByZWNhdGVkIFJTQV9nZW5lcmF0ZV9rZXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzU0MAoKMjAxNi0xMC0yOSAxMTozMToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHBhc3MgZmxvdyByZXR1cm5zIHVwc3RyZWFtCgkgIHJhd3ZpZGVvcGFyc2Ugd291bGRuJ3QgZXJyb3Igb3V0IG9uIG5vdC1uZWdvdGlhdGVkLAoJICBidXQgd291bGQganVzdCBrZWVwIG9uIGdvaW5nLCBiZWNhdXNlIGl0IGRpZG4ndCBwYXNzCgkgIHRoZSBmbG93IHJldHVybiB2YWx1ZSBiYWNrIHRvIHRoZSBwYXJlbnQgY2xhc3MgYW5kCgkgIHRodXMgdXBzdHJlYW0sIHNvIHRoZSBzb3VyY2Ugd291bGRudCcgc3RvcCBzdHJlYW1pbmcuCgoyMDE2LTEwLTI4IDA3OjE3OjU2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEFsc28gbmVlZCB0byBkZWZpbmUgR1NUX0VYUE9SVFMgZm9yIEF1dG90b29scwoJICBUaGUgY2hhbmdlIHRvIHVzZSBHU1RfRVhQT1JUIGZvciBzeW1ib2xzIHVuZGVyIFdpbmRvd3MgcmVxdWlyZXMKCSAgR1NUX0VYUE9SVFMgZm9yIGludGVybmFsIHVzZSwgYW5kIHRoYXQgaXMgYWxzbyBuZWVkZWQgdW5kZXIgQXV0b3Rvb2xzLgoJICBUaGUgc2FtZSB0aGluZyBpcyBkb25lIGZvciBnc3RyZWFtZXItMS4wLmRsbCBpbiAtY29yZS4KCjIwMTYtMTAtMjggMDY6MjM6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJICBnc3RnbDogUmUtZW5hYmxlIFdJTkFQSSBvbiBfTVNDX1ZFUgoJICBUaGUgY2FsbGluZyBjb252ZW50aW9uIG1heSBiZSBkZXByZWNhdGVkLCBidXQgd2Ugc3RpbGwgbmVlZCBpdCBmb3IKCSAgT3BlbkdMLiBUaGUgYnVpbGQgaXNzdWUgd2FzIGNhdXNlZCBieSBhbiBpbmNvcnJlY3Qgc3ludGF4IGJlaW5nIHVzZWQgZm9yCgkgIHRoZSBXSU5BUEkgKF9fc3RkY2FsbCkgcHJvdG90eXBlIGluIGZ1bmN0aW9uIHBvaW50ZXJzIHdoaWNoIHdhcyBhY2NlcHRlZAoJICBieSBHQ0MgYnV0IGlzIHJlamVjdGVkIGJ5IE1TVkMuCgoyMDE2LTEwLTI3IDIzOjA5OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICBKdXN0IHJlbW92ZSB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmCgkgIEl0IHdhcyBhbHdheXMgd3Jvbmcgc2luY2UgdGhlIHN5bWJvbHMgYmVpbmcgZXhwb3J0ZWQgaW4gZ3N0Z2wtMS4wLmRsbAoJICBhcmUgcGxhdGZvcm0tc3BlY2lmaWMsIGFuZCB0aGUgY2hlY2sgd2UgZG8gaW4gZGlzdCBjaGVja3MgaXQgb24gYWxsCgkgIHBsYXRmb3JtcyAod2hpY2ggdXN1YWxseSBtZWFucyBMaW51eCkgYW5kIHRoZSBsaXN0IGlzIGluc3RlYWQKCSAgTGludXgtc3BlY2lmaWMgcmlnaHQgbm93LgoJICBFdmVuIGlmIHdlIGZpeCB0aGF0LCBpdCBjYW4gc3RpbGwgbmV2ZXIgYmUgcmlnaHQgYmVjYXVzZSBpdCBkZXBlbmRzIG9uCgkgIHlvdXIgY29uZmlndXJhdGlvbiBldmVuIG9uIGEgc3BlY2lmaWMgcGxhdGZvcm0uIEZvciBpbnN0YW5jZSwgd2hlbiB3ZQoJICBzdGFydCBidWlsZGluZyBFR0wgc3VwcG9ydCBvbiBXaW5kb3dzIHVzaW5nIEFOR0xFLCB0aGUgc3ltYm9sIGxpc3Qgd2lsbAoJICBjaGFuZ2UgZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhhdCBpcyBlbmFibGVkIG9yIG5vdC4KCSAgV2UgYWxzbyBkb24ndCBuZWVkIHRoaXMgYW55bW9yZSBzaW5jZSB3ZSB1c2UgR1NUX0VYUE9SVCBmb3IgYWxsCgkgIGZ1bmN0aW9ucyBleHBvcnRlZCBvbiBXaW5kb3dzIG5vdy4KCjIwMTYtMTAtMjcgMDk6MjU6MjAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHBsdWdpbnM6IFVzZSBleHBsaWNpdCB0eXBlIGNvbnZlcnNpb24gZnJvbSBlbnVtcwoJICBNU1ZDIHdhcm5zIGFib3V0IHRoaXMgYmVjYXVzZSBpdCdzIGEgQysrIGNvbXBpbGVyLCBhbmQgdGhpcyBhY3R1YWxseQoJICByZXN1bHRzIGluIHVzZWZ1bCB0aGluZ3Mgc3VjaCBhcyB0aGUgaW5jb3JyZWN0ICdnYm9vbGVhbicgcmV0dXJuIHZhbHVlCgkgIGZvciBmdW5jdGlvbnMgdGhhdCByZXR1cm4gR3N0Rmxvd1JldHVybiwgc28gbGV0J3MgZG8gZXhwbGljaXQKCSAgY29udmVyc2lvbnMgdG8gcmVkdWNlIHRoZSBub2lzZSBhbmQgaW5jcmVhc2UgaXRzIGVmZmljYWN5LgoKMjAxNi0xMC0yNyAwOToxMToyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBFeHBsaWNpdGx5IGRlZmluZSBmbG9hdCBjb25zdGFudHMgYXMgZmxvYXQKCSAgV2l0aCBNU1ZDLCB0aGlzIGdpdmVzIHRoZSBmb2xsb3dpbmcgd2FybmluZzoKCSAgd2FybmluZyBDNDMwNTogJ2Z1bmN0aW9uJzogdHJ1bmNhdGlvbiBmcm9tICdkb3VibGUnIHRvICdnZmxvYXQnCgkgIEFwcGFyZW50bHksIE1TVkMgZG9lcyBub3QgZmlndXJlIG91dCB3aGF0IHR5cGUgdG8gdXNlIGZvciBjb25zdGFudHMKCSAgYmFzZWQgb24gdGhlIGFzc2lnbm1lbnQuIFRoaXMgd2FybmluZyBpcyB2ZXJ5IHNwYW1teSwgc28gbGV0J3MgdHJ5IHRvCgkgIGZpeCBpdC4KCjIwMTYtMTAtMjcgMDk6MDg6NDEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIEZpeCBpbmNvcnJlY3QgcmV0dXJuIHR5cGUgaW4gc2V2ZXJhbCBmdW5jdGlvbnMKCSAgQWxsIHRoZXNlIHNob3VsZCByZXR1cm4gR3N0Rmxvd1JldHVybiwgbm90IGdib29sZWFuCgoyMDE2LTEwLTI3IDA5OjA2OjMzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IERvbid0IHdhcm4gYWJvdXQgQzQxNDYgd2l0aCBNU1ZDCgkgIFRoZSBlcnJvciBpczoKCSAgdW5hcnkgbWludXMgb3BlcmF0b3IgYXBwbGllZCB0byB1bnNpZ25lZCB0eXBlLCByZXN1bHQgc3RpbGwgdW5zaWduZWQKCSAgVGhpcyBpcyBhIGNvbW1vbmx5LWRvbmUgb3BlcmF0aW9uIGluIGdzdHJlYW1lciBhbmQgaXQncyBkb25lIG9uIHB1cnBvc2UuCgkgIEl0J3MganVzdCBub2lzZS4KCjIwMTYtMTAtMjcgMDg6MTc6NTggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udHJvbGJpbmRpbmdwcm94eS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnc3RnbDogQWRkIEdTVF9FWFBPUlQgdG8gYWxsIHN5bWJvbHMgdXNlZCBvbiBXaW5kb3dzCgkgIFRoaXMgaXMgYSByZXF1aXJlbWVudCBmb3IgdGhvc2Ugc3ltYm9scyB0byBiZSBleHBvcnRlZCBpbiBnc3RnbC0xLjAuZGxsCgkgIHdoZW4gYnVpbGRpbmcgd2l0aCB0aGUgTVNWQyBjb21waWxlcgoKMjAxNi0xMC0yNyAwNzoyOTozNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbjogQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIFdHTCBvbiBXaW5kb3dzCgkgIEN1cnJlbnRseSBvbmx5IHRlc3RlZCB3aXRoIE1TVkMuCgoyMDE2LTEwLTI3IDA5OjEwOjAzICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGV4dC9nbDogRG9uJ3QgZGVmaW5lIGJvb2xlYW4gb24gV2luZG93cyB3aXRoIE1TVkMKCSAgVGhlIGhlYWRlcnMgd2UgaW5jbHVkZSBhbHJlYWR5IGRlZmluZSBib29sZWFuIG9uIFdpbmRvd3Mgd2l0aCBNU1ZDLCBhbmQKCSAgaXQgbGVhZHMgdG8gYSB0eXBlZGVmIHJlZGVmaW5pdGlvbiBlcnJvciB3aXRoIGpwZWdsaWIuaCB3aGljaCB0cmllcyB0bwoJICByZWRlZmluZSBpdCBpbiBqbW9yZWNmZy5oCgoyMDE2LTEwLTI3IDA3OjMwOjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ3N0Z2w6IFBvcnRpbmcgZml4ZXMgZm9yIE1TVkMgd2l0aCBNZXNvbgoJICBHTC9nbC5oIG5lZWRzIHdpbmRvd3MuaCBvbiBNU1ZDCgkgIFdJTkFQSSBzaG91bGQgbm90IGJlIHVzZWQgd2l0aCBNU1ZDLiBJdCBhbHNvIGNhdXNlcyBhIGJ1aWxkIGVycm9yLgoKMjAxNi0xMC0yMyAyMjoxMzozMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBjb2xsYXBzZSBub3RlcyBvbiBjaGFubmVsX25hbWUgZW5jb2RpbmcgY29uZmxpY3QKCjIwMTYtMTAtMjMgMjI6MDA6MzAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcmVuYW1lIFpBUCBwYXJzZXIgZm9yIGNsYXJpdHkKCSAgVGhpcyBmdW5jdGlvbiBvbmx5IGRvZXMgWkFQIHBhcnNpbmcuIEFkZGl0aW9uYWxseSwgcmVtb3ZlIHJlZHVuZGFudAoJICBjb21tZW50IHdoaWxlIGF0IGl0LgoKMjAxNi0xMC0yMyAyMTozNzo0NiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogZml4IGd0ay1kb2Mgc3ludGF4IGZvciB3cm9uZ2x5IGZvcm1hdHRlZCBjb21tZW50cwoKMjAxNi0xMC0yMSAwMDozNzowMyAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBleHQvaGxzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogaGxzOiBPbmx5IGJ1aWxkIHdoZW4gYW55IGNyeXB0b19kZXAgaXMgZm91bmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzExNAoKMjAxNi0xMC0yMSAwMDozOTozMiAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBkaXJlY3Rzb3VuZDogQWRkIG9sZTMyIGxpYnJhcnkgZGVwZW5kZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTE3IDA5OjM1OjQxIC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB3aW5zY3JlZW5jYXAgZGVwZW5kcyBvbiBnc3R2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzczMTE0CgoyMDE2LTEwLTIxIDAwOjM1OjA5IC0wNzAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogUmVtb3ZlIGdzdHJlYW1lci1jaGVjay0xLjAgZGVwZW5kZW5jeQoJICBJdCB3aWxsIGxhdGVyIGJlIGFkZGVkIHVuZGVyIHRlc3RzL2NoZWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzMxMTQKCjIwMTYtMTAtMjEgMTM6MTA6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGRvbid0IGdsRmluaXNoKCkgZXZlcnl0aW1lIGEgc3luYyBwb2ludCBpcyBzZXQKCSAgQXQgbWluaW11bSwgd2Ugb25seSBuZWVkIHRvIGdsRmx1c2goKSBpZiB3ZSBhcmUgaW4gYSBzaGFyZWQgR0wgY29udGV4dAoJICBlbnZpcm9ubWVudC4gIE1vdmUgdGhlIGdsRmluaXNoKCkgdG8gd2hlbiB0aGUgYWN0dWFsIHdhaXQgaXMgcmVxdWVzdGVkCgkgIHdoaWNoIG1heSBiZSBuZXZlci4gIEltcHJvdmVzIHRoZSB0aHJvdWdocHV0IG9uIG9sZGVyIEdMIHN5c3RlbXMgd2l0aG91dAoJICBHTDMvR0xFUzMgYW5kL29yIGZlbmNlIHN5bmMgb2JqZWN0cy4KCjIwMTYtMDctMTYgMTU6Mjk6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IGRvIG5vdCB1c2UgaW52YWxpZCBzdHJlYW0gZHVyYXRpb24KCSAgSWYgaXQgaXMgaXMgdW5rbm93biwgY29uc2lkZXIgaXQgaW5maW5pdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODQ2MAoKMjAxNi0wNy0xNiAxNToxNToyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogcHJvcGVybHkgaW5oZXJpdCBzZWdtZW50bGlzdCBmcm9tIHBlcmlvZAoJICBSZXByZXNlbnRhdGlvbiBjYW4gaW5oZXJpdCBTZWdtZW50TGlzdCBmcm9tIFBlcmlvZCBpZiBub25lIGlzIGF2YWlsYWJsZQoJICBmcm9tIHRoZSBBZGFwdGF0aW9uU2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg0NjAKCjIwMTYtMTAtMTkgMTY6MTE6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZXh0L2dsL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9tZXNvbi5idWlsZDoKCSogbWVzb25fb3B0aW9ucy50eHQ6CgkgIG1lc29uOiBnbDogYWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIHdpdGggZGlzcG1hbnggb24gdGhlIHJwaQoKMjAxNi0xMC0xOCAyMjoyOToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmM6CgkgIGdsL2VnbGltYWdlOiBGaXggcGFzc2luZyB0aGUgZGVzdHJveSBmdW5jdGlvbiB0byBnc3RfZWdsX2ltYWdlX25ld193cmFwcGVkCgkgIFRoZSBmdW5jdGlvbiBwb2ludGVyIGFuZCB0aGUgdXNlciBkYXRhIGFyZ3VtZW50cyB3ZXJlIHN3YXBwZWQgaW4gYm90aAoJICB1c2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MzgyCgoyMDE2LTEwLTE4IDEzOjAxOjA0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2VnbWVudGNsaXAvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBBZGQgbWlzc2luZyBnc3R2aWRlbyBkZXAgdG8gc2VnbWVudGNsaXAKCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uL3N1YnByb2plY3RzL2dzdC1wbHVnaW5zLWJhc2UvZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvLmg6Mjc6MCwKCSAgZnJvbSAuLi9zdWJwcm9qZWN0cy9nc3QtcGx1Z2lucy1iYWQvZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoyNToKCSAgLi4vc3VicHJvamVjdHMvZ3N0LXBsdWdpbnMtYmFzZS9nc3QtbGlicy9nc3QvdmlkZW8vdmlkZW8tZm9ybWF0Lmg6Mjc6Mzk6IGZhdGFsIGVycm9yOiBnc3QvdmlkZW8vdmlkZW8tZW51bXR5cGVzLmg6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGdzdC92aWRlby92aWRlby1lbnVtdHlwZXMuaD4KCSAgXgoJICBjb21waWxhdGlvbiB0ZXJtaW5hdGVkLgoJICBodHRwczovL2NpLmdzdHJlYW1lci5uZXQvam9iL0dTdHJlYW1lci1tYXN0ZXItbWVzb24vMjY5L2NvbnNvbGUKCjIwMTYtMTAtMTEgMTc6MDY6MjMgKzA1MzAgIE11bmV6IDxtdW5lemJuLmRldkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSAgSW1wbGVtZW50ZWQgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3dpbmRvd19oYW5kbGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjA4CgoyMDE2LTEwLTE4IDE0OjExOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBnbDogZml4IGRldGVjdGlvbiBvZiBnbHggd2l0aG91dCBnbAoJICBXZSBuZWVkIHRvIGNoZWNrIGZvciBsaWJHTCBpZiB3ZSBtYXkgdXNlIGRlc2t0b3AgT3BlbkdMICpvciogR0xYLgoKMjAxNi0xMC0xOCAxNDoxMDozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbjogZ2w6IGZpeCBpbmNvcnJlY3QgZXJyb3Igc3RyaW5nCgkgIFVzZSB0aGUgd2luc3lzIHZhcmlhYmxlIGZvciBhbiBpbmNvcnJlY3Qgd2luc3lzIHByb3ZpZGVkCgoyMDE2LTEwLTE2IDEyOjQwOjIyICswMjAwICBTZXJnZXkgQm9yb3Zrb3YgPHNlcmdleS5ib3JvdmtvdkB3aXJlbG9hZC5uZXQ+CgoJKiBleHQvcXQvcXR3aW5kb3cuY2M6CgkgIHF0OiBGaXggZmFpbGluZyBidWlsZCBvbiBSUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MzAyNgoKMjAxNi0xMC0xMSAxNjo1ODo0OCArMDUzMCAgTXVuZXogPG11bmV6Ym4uZGV2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IGVnbF9zaG93IHNob3VsZCByZXNpemUgdGhlIHdpbmRvdyBvbmx5IGlmIHRoZXJlIGlzIG5vIHJlbmRlciByZWN0YW5nbGUgc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI2OTkKCjIwMTYtMTAtMTEgMTY6NTU6MTcgKzA1MzAgIE11bmV6IDxtdW5lemJuLmRldkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBGaXggc2V0X3JlbmRlcl9yZWN0YW5nbGUgdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyNjk4CgoyMDE2LTAzLTE4IDE0OjA5OjM3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggYnVmZmVyIHNpemUgbWlzbWF0Y2ggaW4gTTJUUyBtb2RlCgkgIEluIE0yVFMgbW9kZSwgd2UgbmVlZCBhbiBleHRyYSA0IGJ5dGVzIGluIHRoZSBidWZmZXIsIHNvIG5lZWQKCSAgdG8gZW5zdXJlIHRoZSBidWZmZXIgY2FuIGNvbnRhaW4gdGhlc2UuIFRoZSBhbGxvY2F0aW9uIHNpdGUKCSAgZG9lcyBub3Qga25vdyB0aGUgbW9kZSwgc28gdGhpcyBpcyBkb25lIGluIGFsbCBjYXNlcy4KCjIwMTYtMTAtMTUgMjI6MTk6MDIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogRG9uJ3Qgc2V0IGNfc3RkIHRvIGdudTk5CgkgIFVzZSB0aGUgZGVmYXVsdCBmb3IgZWFjaCBjb21waWxlciBvbiBldmVyeSBwbGF0Zm9ybSBpbnN0ZWFkLiBUaGlzCgkgIGltcHJvdmVzIG91ciBjb21wYXRpYmlsaXR5IHdpdGggY29tcGlsZXJzIHRoYXQgZG9uJ3QgaGF2ZSBnbnU5OSBhcwoJICBhIGNfc3RkLgoKMjAxNi0xMC0xNCAxNDo0MTo0MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggJ2RlbGl2ZXJ5IHN5c3RlbSctcmVsYXRlZCBtZXNzYWdlcwoJICAqIFJlcGhyYXNlIHR1bmUgZXJyb3IgdG8gYmUgZGVsc3lzLW5ldXRyYWwKCSAgKiBSZWZlciB0byB0aGUgYWN0dWFsIGNoZWNrIGluIHRoZSAnbWlzc2luZyBzYW5pdHkgY2hlY2snIHdhcm5pbmdzCgkgICogVXNlICJEZWxpdmVyeSBzeXN0ZW0iIGluc3RlYWQgb2YgJ2RlbHN5cycuIFRoZQoJICBsYXR0ZXIgaXMgT0sgYXMgYSBzaG9ydGhhbmQgaW4gdGhlIGNvZGUgYnV0IG5vdAoJICBldmVuIGEgcmVhbCB3b3JkCgoyMDE2LTEwLTExIDE4OjQ4OjA2ICswMjAwICBKb2FuIFBhdSBCZWx0cmFuIDxqb2FucGF1LmJlbHRyYW5Ac29jaWIuY2F0PgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBmaXggX3RyYW5zZm9ybV9jYXBzIG1ldGhvZCB0byBwcmVzZXJ2ZSBmaWVsZHMgaW4gZ2l2ZW4gY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzE3CgoyMDE2LTA5LTI5IDEyOjQ5OjM5IC0wNDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogUHJvcGVybHkgY29uZmlndXJlIGludGVybmFsIHBvb2wKCSAgVGhlcmUgd2FzIGEgc21hbGwgb21pc3Npb24gaW4gdGhlIGNvZGUuIEl0IHN0aWxsIHdvcmtlZCwgYnV0IHRoZSBwb29sCgkgIGNvbmZpZ3VyYXRpb24gbWF5IG5vdCBoYXZlIGJlZW4gb3B0aW1pbWFsLgoKMjAxNi0xMC0xMiAxODoyMDoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiBzeW5jIHRvIGxhdGVzdCByZXZpc2lvbgoJICBGaXhlcyBhY2NpZGVudGFsIGNvbW1vbiBjaGFuZ2Ugd2hlbiBjb21taXQgcGF0Y2guCgoyMDE2LTEwLTExIDExOjExOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEltcGxlbWVudCBlZmZpY2llbnQgcHJvZ3JhbSB1cGRhdGVzCgkgIElmIHRoZSBwYXJlbnQgYmluIGNhbiBoYW5kbGUgaXQsIG9ubHkgYWRkL3JlbW92ZSB0aGUgbmV3L2dvbmUgc3RyZWFtCgkgIGluc3RlYWQgb2YgcmUtYWRkaW5nL3JlLW1vdmluZyBldmVyeXRoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI3NDIKCjIwMTYtMTAtMTIgMTQ6MzU6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRW5zdXJlIHdlIGFsd2F5cyBnZXQgYW4gdXBzdHJlYW0gc3RyZWFtLWlkCgkgIFRoaXMgd2FzIGEgcmVncmVzc2lvbi4KCSAgV2Ugb25seSBoYXZlIGEgdXBzdHJlYW0taWQgdmlhIFNUUkVBTV9TVEFSVCBpZiB3ZSB3ZXJlIGluIHB1c2gtbW9kZS4KCSAgSW4gcHVsbC1tb2RlIHdlIG5lZWQgdG8gY3JlYXRlIG9uZS4KCSAgTm90ZTogSXQgd291bGQgYmUgZ29vZCB0byBldmVudHVhbGx5IGhhdmUgdGhhdCBtZXRob2QgKGNvcGllZCBmcm9tCgkgIGdzdF9wYWRfZ2V0X3N0cmVhbV9pZF9pbnRlcm5hbCgpKSBwdWJsaWMgaW4gdGhlIGZ1dHVyZQoKMjAxNi0xMC0xMSAxNjo0NzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggaXNzdWVzIHdpdGggR1NUX0RJU0FCTEVfR1NUX0RFQlVHCgkgIFNvbWUgdmFyaWFibGVzIHdlcmUgaGlkZGVuIG9yIHVudXNlZAoKMjAxNS0wNy0yOSAxNTo1MjowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gdXNpbmcgR3N0U3RyZWFtL0dzdFN0cmVhbUNvbGxlY3Rpb24KCSAgRm9yIGVhY2ggTXBlZ1RTQmFzZVN0cmVhbSwgd2UgaGF2ZSBhIEdzdFN0cmVhbSBvYmplY3Qgd2hpY2gKCSAgc3ViY2xhc3NlcyBjYW4gZXh0ZW5kIHdpdGggaW5mb3JtYXRpb24uCgkgIEZvciBlYWNoIHByb2dyYW0gYSBHc3RTdHJlYW1Db2xsZWN0aW9uIGlzIGNyZWF0ZWQgd2l0aCBhbGwKCSAgR3N0U3RyZWFtIGZyb20gZWFjaCBzdHJlYW0uCgoyMDE2LTEwLTExIDEwOjUwOjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVtb3ZlIGR1cGxpY2F0ZWQgY29kZQoJICBKdXN0IGhhdmUgb25lIGZ1bmN0aW9uIHRvIGNoZWNrIGZvciBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcwoKMjAxNi0xMC0xMCAxNzowMDozOSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBidWZmZXIgc2l6ZSBwcmludCBmb3JtYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjcwNgoKMjAxNi0xMC0xMCAxNjo1Mjo1OCArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBjb21tb246CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGZpeCBobHMgZGVtdXggc3RyZWFtIHR5cGUgaW5oZXJpdGFuY2UKCSAgR3N0SExTRGVtdXhTdHJlYW0gaW5oZXJpdHMgR3N0QWRhcHRpdmVEZW11eFN0cmVhbSwgbm90CgkgIEdzdEFkYXB0aXZlRGVtdXguIEZpeGVzIG1lbW9yeSBjb3JydXB0aW9uIGlzc3Vlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjcwNAoKMjAxNi0xMC0wOSAwNjo0MjozMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiBwYXJzZSBndWFyZCBpbnRlcnZhbCBhcyBhIGZyYWN0aW9uCgkgIEZpeGVzIHdyb25nIGRlZmF1bHQgZmFpbG92ZXIgd2hlbiBwYXJzaW5nIGxpYmR2YnY1IGZvcm1hdHRlZAoJICBjaGFubmVsIGNvbmZpZ3VyYXRpb24gZmlsZXMuCgoyMDE2LTEwLTA5IDAzOjIzOjE5IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGFkZCBwcm90b3R5cGVzIGFuZCByZW9yZ2FuaXplIGZvciBjbGFyaXR5CgoyMDE2LTEwLTA4IDA3OjE4OjE1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgVXBkYXRlIG15IGVtYWlsIGFkZHJlc3MKCjIwMTYtMTAtMDggMDU6MzM6MzQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvY2FtLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbmluZm8uaDoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgIGR2YjogZHJvcCB0cmFpbGluZyB3aGl0ZXNwYWNlIGFuZCBjJnAgbGVmdG92ZXJzCgoyMDE2LTEwLTA4IDA1OjIwOjQ3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHBhcnNlIERWQi1UIGhpZXJhcmNoeSBmcm9tIHY1IGNvbmZpZyBmaWxlCgkgIEF2b2lkcyByZWx5aW5nIG9uIHRoZSBIL1cgZGVmYXVsdCB3aGVuIHRoZSBpbmZvcm1hdGlvbgoJICBjYW4gYmUgZXh0cmFjdGVkIGZyb20gdGhlIGNvbmZpZ3VyYXRpb24gZmlsZS4KCjIwMTYtMTAtMDggMDQ6NTU6MjAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcGFyc2UgRFZCLVQgbHAgYW5kIGhwIGNvZGUgcmF0ZXMKCjIwMTYtMTAtMDggMTQ6MDg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHM6IEFsc28gY2xlYXIgcGFja2V0aXplciBvbiBUSU1FIERJU0NPTlQKCSAgV2hlbiBkZWFsaW5nIHdpdGggVElNRS1iYXNlZCBpbnB1dCwgdGhlIGluY29taW5nIHN0cmVhbSBjb3VsZCBoYXZlCgkgIHBvdGVudGlhbGx5IGNoYW5nZWQgY29tcGxldGVseS4KCSAgSW4gb3JkZXIgdG8gY2hlY2sgd2hldGhlciBpdCBkaWQgb3Igbm90LCB3ZSBuZWVkIHRvIHJlLWNoZWNrIGFsbCBzZWN0aW9ucwoJICAoUEFULCBQTVQuLi4pLiBJZiBpdCBkaWRuJ3QsIHdlIHdpbGwga2VlcCB1c2luZyB0aGUgZXhpc3Rpbmcgc3RyZWFtcy9wYWQsCgkgIGFuZCBpZiBpdCBkaWQgd2Ugd2lsbCBhY3QgYXMgaWYgdGhlcmUgd2FzIGEgcHJvZ3JhbSBzd2l0Y2guCgkgIEZpeGVzIEhMUyBzdHJlYW1pbmcgd2l0aCBkZWNvZGViaW4zL3BsYXliaW4zCgoyMDE2LTEwLTAyIDA5OjM0OjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IENhbGN1bGF0ZSB2YWx1ZXMgYmVmb3JlIHF1ZXVlMgoJICBJbiBvcmRlciB0byBjYWxjdWxhdGUgdGhlICphY3R1YWwqIGJpdHJhdGUgZm9yIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQKCSAgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3VudCB0aGUgdGltZSBzaW5jZSB3ZSByZXF1ZXN0ZWQgdGhlIGZyYWdtZW50LgoJICBXaXRob3V0IHRoaXMsIHRoZSBiaXRyYXRlIGNhbGN1bGF0aW9ucyAocHJldmlvdXNseSByZXBvcnRlZCBieSBxdWV1ZTIpCgkgIHdvdWxkIGJlIGJpYXNlZCBzaW5jZSB0aGV5IHdvdWxkbid0IHRha2UgaW50byBhY2NvdW50IHRoZSByZXF1ZXN0IGxhdGVuY3kKCSAgKHRoYXQgaXMgdGhlIHRpbWUgYmV0d2VlbiB0aGUgbW9tZW50IHdlIHJlcXVlc3QgYSBzcGVjaWZpYyBVUkkgYW5kIHRoZQoJICBtb21lbnQgd2UgcmVjZWl2ZSB0aGUgZmlyc3QgYnl0ZSBvZiB0aGF0IHJlcXVlc3QpLgoJICBTdWNoIGV4YW1wbGVzIHdlcmUgaXQgd291bGQgYmUgYmlhc2VkIHdvdWxkIGJlIGhpZ2gtYmFuZHdpdGggYnV0IGhpZ2gtbGF0ZW5jeQoJICBuZXR3b3Jrcy4gSWYgeW91IGRvd25sb2FkIDVNQiBpbiA1MDBtcywgYnV0IGl0IHRha2VzIDIwMG1zIHRvIGdldCB0aGUgZmlyc3QKCSAgYnl0ZSwgcXVldWUyIHdvdWxkIHJlcG9ydCA4ME1iaXQvcyAoNU1iIGluIDUwMG1zKSAsIGJ1dCB0YWtpbmcgdGhlIHJlcXVlc3QKCSAgaW50byBhY2NvdW50IGl0IGlzIG9ubHkgNTdNYml0L3MgKDVNYiBpbiA3MDBtcykuCgkgIFdoaWxlIHRoaXMgd291bGQgbm90IGNhdXNlIHRvbyBtdWNoIGlzc3VlcyBpZiB0aGUgYWJvdmUgZnJhZ21lbnQgcmVwcmVzZW50ZWQKCSAgYSBtdWNoIGxvbmdlciBkdXJhdGlvbiAoNXMgb2YgY29udGVudCksIGl0IHdvdWxkIGNhdXNlIGlzc3VlcyB3aXRoIHNob3J0CgkgIG9uZXMgKHNheSAxcywgb3Igd2hlbiBkb2luZyBrZXlmcmFtZS1vbmx5IHJlcXVlc3RzIHdoaWNoIGFyZSBldmVuIHNob3J0ZXIpCgkgIHdoZXJlIHRoZSBjb2RlIHdvdWxkIGV4cGVjdCB0byBiZSBhYmxlIHRvIGRvd25sb2FkIHVwIHRvIDgwTWJpdC9zIC4uLiB3aGVyZWFzCgkgIGlmIHdlIHRha2UgdGhlIHJlcXVlc3QgdGltZSBpbnRvIGFjY291bnQgaXQncyBtdWNoIGxvd2VyIChhbmQgd2Ugd291bGQKCSAgdGhlcmVmb3JlIGVuZCB1cCBkb2luZyBsYXRlIHJlcXVlc3RzKS4KCSAgQWxzbyBjYWxjdWxhdGUgdGhlIHJlcXVlc3QgbGF0ZW5jeSBmb3IgZGVidWdnaW5nIHB1cnBvc2VzIGFuZCBmdXJ0aGVyCgkgIHVzYWdlIChpdCBjb3VsZCBhbGxvdyB1cyB0byBmaWd1cmUgb3V0IHRoZSBtYXhpbXVtIHJlcXVlc3QgcmF0ZSBmb3IKCSAgZXhhbXBsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjMzMAoKMjAxNi0xMC0wNiAxNTo1NDowMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jcHA6CgkgIG9wZW5jdjogRml4IG1lbW9yeSBsZWFrIGJ5IGdzdF9jYXBzX3RvX3N0cmluZwoJICBnc3RfY2Fwc190b19zdHJpbmcgZnVuY3Rpb24gcmV0dXJuZWQgYWxsb2NhdGVkIG1lbW9yeS4KCSAgU28sIEl0IHNob3VsZCBiZSBmcmVlZCB1c2luZyBnX2ZyZWUgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzI0OTkKCjIwMTYtMTAtMDUgMTg6MzI6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogZG9uJ3QgdXNlIGdfdGhyZWFkX2pvaW4oKSB0byBqb2luIHRoZSBuYXZpZ2F0aW9uIHRocmVhZAoJICBVc2luZyBnX3RocmVhZF9qb2luKCkgaW4gX2ZpbmFsaXplKCkgaGFuZGxlcnMgbWF5IHJlc3VsdCBpbiBhIGRlYWRsb2NrCgkgIGpvaW5pbmcgdGhlIGN1cnJlbnQgdGhyZWFkIHdoZW4gdGhlIGxhc3QgcmVmZXJlbmNlIGlzIGhlbGQgYnkgYSBzaWduYWwKCSAgaGFuZGxlci4KCSAgZS5nLjoKCSAgZXJyb3IgJ1Jlc291cmNlIGRlYWRsb2NrIGF2b2lkZWQnIGR1cmluZyAncHRocmVhZF9qb2luIChwdC0+c3lzdGVtX3RocmVhZCwgTlVMTCknCgkgIFRoZSBiYWNrdHJhY2UgbG9va3MgbGlrZSB0aGlzOgoJICBbLi4uXQoJICBnX3RocmVhZF9qb2luICgpCgkgIGdzdF9nbF93aW5kb3dfZmluYWxpemUgKCkKCSAgZ3N0X2dsX3dpbmRvd194MTFfZmluYWxpemUgKCkKCSAgZ19vYmplY3RfdW5yZWYgKCkKCSAgZ192YWx1ZV91bnNldCAoKQoJICBnX3NpZ25hbF9lbWl0X3ZhbGlzdCAoKQoJICBnX3NpZ25hbF9lbWl0ICgpCgkgIGdzdF9nbF93aW5kb3dfc2VuZF9tb3VzZV9ldmVudCAoKQoJICBnc3RfZ2xfd2luZG93X21vdXNlX2V2ZW50X2NiICgpCgkgIGdfbWFpbl9kaXNwYXRjaCAoKQoJICBbLi5dCgkgIGdfbWFpbl9sb29wX3J1biAoKQoJICBnc3RfZ2xfd2luZG93X25hdmlnYXRpb25fdGhyZWFkICgpCgkgIGdfdGhyZWFkX3Byb3h5ICgpCgkgIHN0YXJ0X3RocmVhZCAoKQoJICBjbG9uZSAoKQoKMjAxNi0xMC0wNSAxODoyODo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IGZpeCBsZWFrIG9mIHVwbG9hZCBsaWJyYXJ5IG9iamVjdAoJICBXaGVuIG9ubHkgbGlua2luZyB0aGUgZWxlbWVudCwgdGhlIHVwbG9hZCBvYmplY3Qgd2lsbCBiZSBjcmVhdGVkIGZyb20KCSAgX3RyYW5zZm9ybV9jYXBzKCkgYnV0IHdpbGwgbmV2ZXIgYmUgdW5yZWZmZWQgYXMgdGhlIG9ubHkgY2FzZSBpcyBpbiBfc3RvcCgpLgoJICBBZGQgYW4gdW5yZWYgaWYgbm9uLU5VTEwgdG8gYSBuZXcgZmluYWxpemUgaGFuZGxlciBmb3IgdGhpcyBjYXNlLgoKMjAxNi0xMC0wNSAxMjoxMToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSAgdmtkaXNwbGF5OiBob2xkIGEgd2Vha3JlZiBvbiB0aGUgbGlzdCBvZiB3aW5kb3dzCgkgIEl0J3MgcG9zc2libGUgdGhhdCB0aGUgd2luZG93IG1heSBoYXZlIGJlZW4gZGVzdHJveWVkIHdoZW4gYSB3aW5zeXMKCSAgZXZlbnQgY29tZXMgaW4gZm9yIGl0LgoJICBGaXhlcyBhbiBhc3NlcnRpb24gaW4gbWFrZSAtQyB0ZXN0cy9jaGVjayBnZW5lcmljL3N0YXRlcy5jaGVjawoKMjAxNi0xMC0wNSAxMTozNzowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogb25seSB1bnJlZiB0aGUgZ3N0Y29udGV4dCBxdWVyeSBpZiBub24tTlVMTAoJICBGaXhlcyBhbiBhc3NlcnRpb24gaW4gbWFrZSAtQyB0ZXN0cy9jaGVjayBnZW5lcmljL3N0YXRlcy5jaGVjawoKMjAxNi0wOS0yOSAxMTo0NTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzL2dsOiBtYWtlIHN1cmUgYWxsIEdMIGNvbW1hbmRzIGFyZSBleGVjdXRlZCBvbiB0aGUgR0wgdGhyZWFkCgkgIGUuZy4gdGhlIGZpbmFsIGdsR2V0RXJyb3IoKSBtdXN0IGFsc28gYmUgY29tcGxldGVkIG9uIHRoZSBHTCB0aHJlYWQKCjIwMTYtMDktMjggMTg6MDQ6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkgIGdsL3dpbjMyOiByZW1vdmUgZWdsIGltcGxlbWVudGF0aW9uCgkgIEl0IGhhc24ndCBiZWVuIHVzZWQgaW4gYWdlcyBhbmQgaXMgZGVhZCBjb2RlLgoKMjAxNi0wOS0xMyAyMjowNzowNSArMDkwMCAgV29uY2h1bCBMZWUgPHdvbmNodWwubGVlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBjb25kaXRpb25zIHRvIGlkZW50aWZ5IEFUU0MgRUFDMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNTI4CgoyMDE2LTA5LTI2IDE1OjIzOjUyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IG1ha2UgcGFyc2luZyBlcnJvcnMgZGVsc3lzLW5ldXRyYWwKCSAgRFZCIGlzIGEgZ3JvdXAgb2YgZGVsaXZlcnkgc3RhbmRhcmRzIGJ1dCB3ZSBzdXBwb3J0CgkgIHNldmVyYWwgb3RoZXJzLiBXaGlsZSBhdCB0aGlzLCBtYWtlIG1lc3NhZ2UgZm9ybWF0aW5nCgkgIG1vcmUgY29uZ3J1ZW50LgoKMjAxNi0wOS0zMCAxMTozNTo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBob29rcy9wcmUtY29tbWl0Lmhvb2s6CgkqIG1lc29uLmJ1aWxkOgoJICBtZXNvbjogU2V0dXAgcHJlLWNvbW1pdCBob29rcyB3aGVuIGNvbmZpZ3VyaW5nCgoyMDE2LTA5LTMwIDExOjQxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiB1cGRhdGUgdmVyc2lvbgoKMjAxNi0wOS0zMCAxMzo0MjowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogUmVtb3ZlIFJldHVybiBkb2N1bWVudGF0aW9uIGZvciBmdW5jdGlvbiByZXR1cm5pbmcgdm9pZAoKPT09IHJlbGVhc2UgMS45LjkwID09PQoKMjAxNi0wOS0zMCAxMzowMjo1NSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGNkc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjkwCgoyMDE2LTA5LTMwIDEyOjE5OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDktMzAgMTE6NDQ6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9reS5wbzoKCSogcG8vc3YucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE2LTA5LTI5IDIxOjQyOjI0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBY3R1YWxseSB1c2UgYnVmZmVyIHBvb2wgY29uZmlnIGFmdGVyIHNldHRpbmcgaXQgdXAKCSAgQ0lEOiAxMzczNDIwCgoyMDE2LTA5LTI5IDEzOjM2OjExICswMzAwICBTZXJnZXkgTWFtb25vdiA8c2FtYW1vbm92QGdtYWlsLmNvbT4KCgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkgIGZpeCBmb3IgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTg3MQoKMjAxNi0wOS0yOSAyMTo0NTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYTJkcHNpbms6IERyb3Agc29tZSBkZWFkLWNvZGUKCSAgTGVmdCBvdmVyIGZyb20gdGhlIGxhc3QgY2xlYW51cC4KCSAgQ0lEOiAxMzczNDE4CgoyMDE2LTA5LTI5IDE0OjMyOjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkgIGZka2FhY2VuYzogZml4IGFjY2Vzc2luZyBmcmVlZCBtZW1vcnkKCSAgVGhlIGJ1ZmZlciBkYXRhIGlzIG5vdCBhbHdheXMgY29waWVkIGluIF9GaWxsLCBhbmQgd2lsbCBiZQoJICByZWFkIGluIF9EZWNvZGVGcmFtZS4gV2UgdW5tYXAgYXQgdGhlIGVuZCBvZiB0aGUgZnVuY3Rpb24sCgkgIHdoZXRoZXIgd2UgZ2V0IHRoZXJlIHZpYSBmYWlsdXJlIG9yIGVhcmx5IG91dCwgYW5kIGtlZXAgYQoJICByZWYgdG8gdGhlIGJ1ZmZlciB0byBlbnN1cmUgd2UgY2FuIHVzZSBpdCB0byB1bm1hcCB0aGUKCSAgbWVtb3J5IGV2ZW4gYWZ0ZXIgX2ZpbmlzaF9mcmFtZSBpcyBjYWxsZWQsIGFzIGl0IHVucmVmcwoJICB0aGUgYnVmZmVyLgoJICBOb3RlIHRoYXQgdGhlcmUgaXMgYW4gYWNjZXNzIGJleW9uZCB0aGUgYWxsb2NhdGVkIGJ1ZmZlciwKCSAgd2hpY2ggaXMgb25seSBhcHBhcmVudCB3aGVuIHBsYXlpbmcgZnJvbSBzb3VwaHR0cHNyYyAoaWUsCgkgIG5vdCBmcm9tIGZpbGVzcmMpLiBUaGlzIGFwcGVhcnMgdG8gYmUgYSBidWcgaW4gdGhlIGJpdAoJICByZWFkaW5nIGNvZGUgaW4gbGliZmRrYWFjIEFGQUlDVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE4NgoKMjAxNi0wOS0yOSAxNDozMTozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5oOgoJICBmZGthYWNkZWM6IGF2b2lkIG1lbW9yeSBjb3JydXB0aW9uIG9uIGRlY29kaW5nIGVycm9yCgkgIFRoZSBidWZmZXIgc2l6ZSBpcyBleHBlY3RlZCB0byBiZSBpbiBtdWx0aXBsZXMgb2YgdGhlIHNhbXBsZSBzaXplLAoJICBub3QgaW4gYnl0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIxODYKCjIwMTYtMDktMjkgMTQ6Mjk6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNkZWMuYzoKCSAgZmRrYWFjZW5jOiBmaXggYnVmZmVyIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MjE4NgoKMjAxNi0wOS0yOCAwOTo0NDo1OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJICBmZGthYWNlbmM6IHNldCBmcmFtZWQ9dHJ1ZSBvbiBzcmMgY2FwcwoJICBUaGlzIGZpeGVzIG11eGluZyBpbiBNUEVHIFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMTA4CgoyMDE2LTA1LTA1IDE1OjUzOjU3ICswOTAwICBHd2FuZyBZb29uIEh3YW5nIDx5b29uQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSAgZ2wvZGlzcG1hbng6IEltcGxlbWVudHMgc2V0X3JlbmRlcl9yZWN0YW5nbGUgdG8gYWRqdXN0IHRoZSBwb3NpdGlvbiBvZiB3aW5kb3cKCSAgV2UgY2Fubm90IHNldCB0aGUgeCwgeSBjb29yZGluYXRlIG9mIHRoZSB2aWRlbyBmcmFtZSBhdCB0aGUgZGlzcG1hbnggYXQKCSAgdGhpcyBwb2ludC4gV2UgbmVlZCB0byB0ZWFjaCBkaXNwbWFueCBiYWNrZW5kIHRvIHVuZGVyc3RhbmQgYWJvdXQKCSAgc2V0X3JlbmRlcl9yZWN0YW5nbGUgQVBJIHRvIGRyYXcgYSB2aWRlbyB3aXRoIG90aGVyIFVJLgoJICBUaGlzIHBhdGNoIGtlZXBzIHRoZSBjdXJyZW50IGJlaGF2aW9yIHdoaWNoIHBsYWNlcyB2aWRlbyBmcmFtZSBhdCB0aGUKCSAgY2VudGVyIG9mIHRoZSBkaXNwbGF5IGlmIHRoZXJlIGlzIG5vIHNldF9yZW5kZXJfcmVjdGFuZ2xlIGNhbGwgdG8gdGhlCgkgIGRpc3BtYW54IHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjAxOAoKMjAxNi0wOS0yOCAxNToyMDoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsOiBhZGQgbmVjZXNzYXJ5IHBhZGRpbmcgYnl0ZXMgdG8gYWxsIHB1YmxpYyBzdHJ1Y3RzCgoyMDE2LTA5LTI3IDE2OjE3OjAwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZW5jLmM6CgkgIGZka2FhY2VuYzogc2V0IHRyYW5zbXV4IG9uIHRoZSBmZGthYWMgbGliCgkgIE5vdCBkb2luZyBzbyB3aWxsIGZhaWwgdG8gZGVjb2RlIGluIGEgc2ltcGxlIGZka2FhY2VuYyAhIGZka2FhY2RlYwoJICBwaXBlbGluZSwgdGhvdWdoIHdvdWxkIHdvcmsgaWYgdGhpcyBnb2VzIHRocm91Z2ggYSBmaWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMDY3CgoyMDE2LTA5LTI3IDE2OjE1OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkgIGZka2FhY2RlYzogZG8gbm90IGVycm9yIG91dCBvZiBvdXQgb2Ygc3luYyByZXR1cm4KCSAgVGhlIGRvY3Mgc2F5IHdlIHNob3VsZCBjb250aW51ZSBmZWVkaW5nIGluIGRhdGEgYW5kIGRlY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzIwNjcKCjIwMTYtMDktMjcgMDk6MDg6NTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuYzoKCSAgZmRrYWFjOiBmaXggZXJyb3Igd2l0aCBBT1RfTVAyX0FBQ19MQyByZW1vdmVkIGZyb20gbGliZmRrYWFjIEFQSQoJICBBT1RfTVAyX0FBQ19MQyBpcyBhICJwc2V1ZG8gQU9UIiB3aGljaCBnb3QgcmVtb3ZlZCBhZnRlciAwLjEuNCwKCSAgYW5kIG1hcHMgdG8gQU9UX0FBQ19MQy4KCSAgUmVtb3ZlIG1wZWd2ZXJzaW9uIDIgZnJvbSB0aCBjYXBzIHRvIG1hdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcyMDY3CgoyMDE2LTA5LTI2IDE2OjMwOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2JsdWV6L21lc29uLmJ1aWxkOgoJICBtZXNvbjogYmx1ZXo6IGZpeCBidWlsZAoKMjAxNi0wOS0yNiAxNjozODowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc2NvdmVyeS5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSU1vZGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElTdHJlYW1pbmcuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSVR5cGVzLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElWZXJzaW9uLmg6CgkgIGRlY2tsaW5rOiBVcGRhdGUgdG8gU0RLIDEwLjgKCSAgT1NYIGFuZCBMaW51eCBvbmx5LCBXaW5kb3dzIG5lZWRzIHNvbWVvbmUgb24gV2luZG93cyB0byBjb252ZXJ0IHRoZSAuaWRsCgkgIGZpbGVzIHRvIEMgc291cmNlIGNvZGUuCgoyMDE2LTA5LTI2IDExOjQxOjQyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2RlYy5jOgoJICBmZGthYWM6IGZpeCBtaXh1cCBzZXR0aW5nIGludGVybGVhdmVkIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNDU1CgoyMDE2LTA5LTI2IDEzOjI2OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBPbmx5IHJlcG9ydCB0aGUgaW5pdGlhbCBkdXJhdGlvbiBpZiB0aGUgcXVlcnkgd2FzIHN1Y2Nlc3NmdWwKCjIwMTYtMDktMjYgMTE6MTU6MjUgKzA5MDAgIEt5dW5neW9uZyBLaW0gPGt5dW5neW9uZy5raW1AbGdlLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHBhcnNpbmcgb2YgbXVsdGlwbGUgTkFMcyBpbiB0aGUgaHZjQyBib3gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTk3MAoKMjAxNi0wOS0yNSAxNzozODoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IGRpc3QgbmV3IGhlYWRlciBmaWxlCgkgIEZpeGVzIGRpc3RjaGVjay4KCjIwMTYtMDktMjQgMjI6Mzk6MzggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYTJkcHNpbms6IERvbid0IHRyeSB0byBzZXQgZGV2aWNlIGNhcHMgb24gYXZkdHBzaW5rCgkgIFdlIGNhbid0IGFjdHVhbGx5IGNvbmZpZ3VyZSB0aGUgdHJhbnNwb3J0LCBzbyB3ZSBzaG91bGQgb25seSBiZSB3b3JraW5nCgkgIHdpdGggd2hhdGV2ZXIgd2UgZ2V0LgoKMjAxNi0wOS0yMyAxNjozMTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBhdmR0cHNpbms6IENoYWluIGV2ZW50IGhhbmRsaW5nIHVwIHRvIGJhc2VzaW5rCgoyMDE2LTA5LTIzIDE2OjA0OjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBDbGVhbiB1cCBhbmQgbWFrZSBhMmRwc2luayBmdW5jdGlvbmFsIGFnYWluCgkgIFdhcyBjcmFzaGluZywgYW5kIGhhZCBhIGxvdCBvZiBjcnVmdCAobGlrZSBhIGNhcHNmaWx0ZXIgYW5kIGEgZmFrZXNpbmspCgkgIHRoYXQgd2FzIG5vIGxvbmdlciByZXF1aXJlZC4KCjIwMTYtMDktMTUgMTc6NDk6MTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZyY3B1dGlsLmM6CgkqIHN5cy9ibHVlei9nc3RhdnJjcHV0aWwuaDoKCSogc3lzL2JsdWV6L29yZy5ibHVlei54bWw6CgkgIGF2ZHRwc3JjOiBBZGQgc3VwcG9ydCBmb3IgQVZSQ1AgbWV0YWRhdGEKCSAgTWV0YWRhdGEgZnJvbSBBVlJDUCBpcyBlbWl0dGVkIGFzIHRhZ3MsIGFuZCB0aGUgZHVyYXRpb24gZnJvbSBBVlJDUCBpcwoJICB1c2VkIGluIHF1ZXJpZXMgYnkgYXZkdHBzcmMuCgoyMDE2LTA5LTI0IDEwOjQ5OjEwIC0wNDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBQcm9wZXJseSBvZmZzZXQgYW5kIHNoaWZ0IGZvciBhbGwgZm9ybWF0cyB3aGVuIGNvbnZlcnRpbmcKCSAgQW5kIHdoaWxlIGF0IGl0LCBhbHNvIGNsZWFuIHVwIHNvbWUgY29kZS4KCjIwMTYtMDktMjQgMTA6MDU6MTYgLTA0MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAganBlZzIwMDBwYXJzZTogRG9uJ3QgcGFzcyBOVUxMIHN0cmluZ3MgdG8gdGhlIGNvbG9yc3BhY2UgLyBzYW1wbGluZyBwYXJzaW5nIGZ1bmN0aW9ucwoJICBUaGV5IGFzc2VydCBvbiBOVUxMLgoKMjAxNi0wOS0yMyAxNTo0OToyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IERvbid0IGxlYWsgR1ZhbHVlcyBpbiBnZXRjYXBzCgoyMDE2LTA5LTIyIDE4OjU1OjIzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogVXBkYXRlIG91ciB3aW5kb3cgc2l6ZSBvbiBjb25maWd1cmUgZXZlbnQKCSAgVGhpcyBpcyBzcGVjaWZpYyB0byB3aGVuIHRoZSB3YXlsYW5kc2luayBpcyBub3QgYmVpbmcgZW1iZWRkZWQuIEluCgkgIHRoaXMgcGF0Y2ggd2UgcGFzcyB0aGUgcmVuZGVyIGxvY2sgdG8gdGhlIHdpbmRvdyBzbyBpdCBjYW4gc2FmZWx5CgkgIGNhbGwgZ3N0X3dsX3dpbmRvd19zZXRfcmVuZGVyX3JlY3RhbmdsZSgpIHdpdGggdGhlIG5ldyBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMzQzCgoyMDE2LTA5LTIyIDE4OjUzOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogUmVtb3ZlIGF0b21pYyBvcGVyYXRpb24KCSAgV2UgYWxyZWFkeSB0YWtlIHRoZSByZW5kZXIgbG9jayBmcm9tIHRoZSB3bHF1ZXVlIHRocmVhZCBpbiBzb21lIG90aGVyCgkgIHBsYWNlIHdoaWNoIGluZGljYXRlcyB0aGF0IHRoZXJlIGlzIG5vIHVzZSBvZiB0aGlzIGF0b21pYyBpbnN0ZWFkIG9mCgkgIGEgcHJvcGVyIGxvY2tpbmcgbWVjaGFuaXNtLgoKMjAxNi0wOS0yMiAxNTozNzo0MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IERvIG5vdCBwcmUtY29uZmlndXJlIHByb3Bvc2VkIHBvb2wKCSAgVXBzdHJlYW0gbXVzdCBjb25maWd1cmUgdGhlIHBvb2wgYmVmb3JlIHVzaW5nIGl0LiBQcmUtY29uZmlndXJpbmcKCSAgdGhlIHByb3Bvc2VkIHBvb2wgY291bGQgaGlkZSBidWdzIGluIHVwc3RyZWFtIGVsZW1lbnRzLgoKMjAxNi0wOS0yMiAxNTozNTo0NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IFByb3Blcmx5IGRyYXcgYmxhY2sgYm9yZGVyIGluIGFic2VuY2Ugb2Ygdmlld3BvcnRlcgoJICBXaGVuIHdlIGRvbid0IGhhdmUgYSB2aWV3cG9ydGVyIChzY2FsaW5nIHN1cHBvcnQpLCB3ZSBjYW4ndCB1c2UgdGhlCgkgIDF4MSBzY2FsZXVwIGltYWdlIHRyaWNrLiBJbnN0ZWFkLCB3ZSBuZWVkIHRvIGFsbG9jYXRlIGEgYnVmZmVyIHdpdGgKCSAgdGhlIHNhbWUgc2l6ZSBhcyB0aGUgYXJlYSB0aGF0IG5lZWQgdG8gaGF2ZSBibGFjayBiYWNrZ3JvdW5kLgoKMjAxNi0wOS0yMiAxMDo1NTowMyArMDIwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgIGR4OXNjcmVlbmNhcHNyYzogdGhyb3cgZXJyb3IgZm9yIGludmFsaWQgc2NyZWVuIGluZGV4CgkgIEN1cnJlbnRseSBkeDlzY3JlZW5jYXBzcmMgcHJpbnRzIGEgdmVyYm9zZSB3YXJuaW5nIGluIGNhc2UgdGhlIHNjcmVlbgoJICBpbmRleCBpcyBvdXQgb2YgcmFuZ2UgZm9yIHRoZSBjdXJyZW50IG51bWJlciBvZiBkZXRlY3RlZCBtb25pdG9ycy4gVGhpcwoJICB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQuCgkgIEhvd2V2ZXIgdGhlcmUgaXMgbm8gaW5pdGlhbCBpbmRpY2F0aW9uIChiZXNpZGUgdGhlIGNvbnNvbGUgcHJpbnQpIGlmIGl0CgkgIHdvcmtlZCBvciBub3QuIFRoaXMgbWF5IHJlc3VsdCBpbiBjYXB0dXJpbmcgYW4gdW53YW50ZWQgc2NyZWVuIGFzIGl0CgkgIHdvdWxkIGNhcHR1cmUgdGhlIGxhc3Qgc2V0IGluZGV4IHRoYXQgd2FzIG5vdCByZWplY3RlZC4KCSAgVGhpcyBwYXRjaCBzZXRzIHRoZSBpbmRleCByZWdhcmRsZXNzLiBJbnN0ZWFkLCB0aGUgZWxlbWVudCB0aHJvd3MgYW4KCSAgZXJyb3Igd2hlbiBpdCB0cmllcyB0byBydW4gb3IgZ2V0dGluZyBjYXBzIGZvciBhbiBpbnZhbGlkIGluZGV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxODE3CgoyMDE2LTA5LTIyIDE4OjE5OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogYWxzbyBmcmVlIHRoZSBHV2Vha1JlZiB3aGVuIHJlbW92aW5nIGRlYWQgY29udGV4dHMKCSAgT3RoZXJ3aXNlIHdlIGxlYWsgR1dlYWtSZWYncy4KCSAgRm91bmQgd2l0aCBtYWtlIC1DIHRlc3RzL2NoZWNrIGxpYnMvZ3N0Z2xjb250ZXh0LnZhbGdyaW5kCgoyMDE2LTA5LTIxIDE1OjUxOjUyIC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kL01ha2VmaWxlLmFtOiBhZGQgbWlzc2luZyBsaWJzCgkgIGxpYmdzdHdheWxhbmQgaXMgbWlzc2luZyBhIGRlcGVuZGVuY3kgb24gJChHU1RfUExVR0lOU19CQVNFX0xJQlMpLCBzbyBhZGQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE3OTQKCjIwMTYtMDktMjEgMTU6MDc6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kc2luazogRGVzdHJveSB2aWV3cG9ydGVyIHdoZW4gZG9uZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDc5CgoyMDE2LTA5LTIxIDExOjMzOjE4IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIG1pc3NpbmcgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpCgkgIFRoZSBsaW5rZXIgZmxhZ3MgZm9yIHNldmVyYWwgcGx1Z2lucyAoZGFzaGRlbXV4LCBtc3NkZW11eCwgaGxzZGVtdXgpIGFyZSBtaXNzaW5nCgkgICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSwgc28gYWRkIHRoZW0gc28gdGhleSBjYW4gZmluZCAtbGdzdHRhZyBhbmQgLWxnc3RhcHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzE3ODAKCjIwMTYtMDktMTkgMTI6MTE6NTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBQb3J0IHRvIHZtZXRhIGFuZCBHc3RWaWRlb0ZyYW1lCgkgIFRoaXMgYWRkIHN1cHBvcnQgZm9yIG5vbi1zdGFuZGFyZCBzdHJpZGVzIHRvIGJlIHVzZWQuIE5vdGUgdGhhdAoJICBzb21lIGV4dHJhIHdvcmsgaXMgbmVlZGVkIGZvciBtdWx0aS1wbGFuZSBmb3JtYXQgd2hpY2ggbWF5IGhhdmUKCSAgYSBkaWZmZXJlbnQgR3N0TWVtb3J5IG9iamVjdCBwZXIgcGxhbmUuIFRoaXMgaXMgbm90IGN1cnJlbnRseSBhCgkgIHByb2JsZW0gc2luY2UgU0hNIGludGVyZmFjZSBpcyBsaW1pdGVkIHRvIDEgbWVtb3J5LgoKMjAxNi0wOS0xOSAxMjowODoyMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IERvbid0IHByb3Bvc2UgbXVsdGlwbGUgdGltZSB0aGUgc2FtZSBidWZmZXIgcG9vbAoJICBUaGUgYnVmZmVyIHBvb2wgQVBJIGRvZXMgbm90IGFsbG93IG11bHRpcGxlIG9mIG93bmVyLiBUaGlzIG90aGVyd2lzZQoJICBsZWFkIHRvIGVycm9yIHdoZW4gcmVuZWdvdGlhdGlvbiB0YWtlIHBsYWNlLiBBc28gY29uc2lkZXIgdGhlCgkgIGFsbG9jYXRpb24gcXVlcnkgIm5lZWRfcG9vbCIgYm9vbGVhbi4KCjIwMTYtMDktMTkgMTI6MDY6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBQcm9tb3RlIGRlYnVnIHRyYWNlIGludG8gZXJyb3IgdHJhY2UKCSAgT3RoZXJ3aXNlIHRob3NlIGVycm9yIG1heSBnbyB1bnNlZW4gbWFraW5nIGRlYnVnZ2luZyBtdWNoCgkgIGhhcmRlci4KCjIwMTYtMDktMTkgMTI6MDQ6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBGYWN0b3Itb3V0IHRoZSBwb29sIGNyZWF0aW9uCgoyMDE2LTA5LTE2IDE1OjQxOjExIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5zaW5rOiBJbXBsZW1lbnQgX3Nob3dfZnJhbWUoKQoJICBUaGlzIGZpeGVzIHRoZSBwcm9wZXJ0eSBzaG93LXByZXJvbGwtZnJhbWUgZXhwb3NlIGJ5IHRoZSBWaWRlb1NpbmsgYmFzZQoJICBjbGFzcyBhbmQgcmVtb3ZlcyByZWR1bmRhbnQgY29kZS4KCjIwMTYtMDktMjEgMTU6MDk6MjYgKzAyMDAgIEpvYWtpbSBKb2hhbnNzb24gPGpvYWtpbWpAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogVXBkYXRlIHVuaXQgdGVzdHMgYWZ0ZXIgY2hhbmdpbmcgZGVmYXVsdCB2YWx1ZSBvZiBELWJpdAoJICBUaGUgRCBiaXQgc2hhbGwgYWx3YXlzIGJlIHNldCB0byB0cnVlIGZvciB0aGUgZmlyc3QgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjIxCgoyMDE2LTA5LTIxIDA5OjMxOjIzIC0wNDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBQcmludCB0aGUgRGVja2xpbmsgQVBJIGVycm9yIHJldHVybiB2YWx1ZXMgaW4gZGVidWcgb3V0cHV0IGluIGFsbCBwbGFjZXMKCjIwMTYtMDktMjAgMTg6Mjg6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZDogZml4IGRpc3RjaGVjayBzb21lIG1vcmUKCjIwMTYtMDktMTMgMTE6MTg6MjcgKzAyMDAgIEpvYWtpbSBKb2hhbnNzb24gPGpvYWtpbWpAYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IENoYW5nZSBkZWZhdWx0IHZhbHVlIG9mIEQtYml0CgkgIFRoZSBkZWZhdWx0IHZhbHVlIG9mIEQtYml0IGlzIGNoYW5nZWQgdG8gVFJVRSBzbyBkaXNjb250aW51aXR5CgkgIGlzIHNldCBmb3IgaW5pdGlhbCByZXF1ZXN0IGFuZCBzZWVrIHJlcXVlc3QgYXMgd2VsbC4KCSAgT25seSBzZXQgdGhlIGVfYml0IGZsYWcgZm9yIHRoZSBDVVNUT01fRE9XTlNUUkVBTSBldmVudCBpZgoJICBhIGNhY2hlZCBidWZmZXIgZXhpc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjIxCgoyMDE2LTA5LTE5IDEwOjE4OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCSAgY29uZGl0aW9uYWwgIlVTRV9WVUxLQU4iIHdhcyBuZXZlciBkZWZpbmVkCgoyMDE2LTA5LTE5IDE2OjU0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuYzoKCSAgZ2xjb2xvcmJhbGFuY2U6IHJlY29uZmlndXJlIG9uIHBhc3N0aHJvdWdoIGNoYW5nZXMKCSAgRml4ZXMgYW4gYXNzZXJ0aW9uIHdoZW4gbW92aW5nIGZyb20gcGFzc3Rocm91Z2ggdG8gbm9uLXBhc3N0aHJvdWdoCgkgIFdpdGhvdXQgYW4gZXhwbGljaXQgcmVjb25maWd1cmUsIGdsZml0ZXIgd29uJ3QgaGF2ZSBjcmVhdGVkIHRoZSBHTAoJICByZXNvdXJjZXMgc3VjaCBhcyB0aGUgRkJPLCBHTCBidWZmZXJwb29sLCBldGMgYW5kIGJhc2V0cmFuc2Zvcm0gd2lsbAoJICBhbGxvY2F0ZSBzeXNtZW0gYnVmZmVycyBpbnN0ZWFkLgoKMjAxNi0wOS0xNiAxMzo0Mzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogUmVtb3ZlIHNvbWUgbGVmdG92ZXJzIGZyb20gZXh0ZXJuYWwgR3N0UGxheWVyCgoyMDE2LTA5LTE3IDE0OjEyOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGZpeCBkaXN0Y2hlY2sgd2hlbiB3YXlsYW5kLXNjYW5uZXIgaXMgbm90IGluc3RhbGxlZAoKMjAxNi0wOS0xNSAxNDoxMDowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBNYWtlIHdsX3ZpZXdwb3J0ZXIgb3B0aW9uYWwKCSAgVGhpcyBtYWtlcyB0aGUgdmlld3BvcnRlciBpbnRlcmZhY2Ugb3B0aW9uYWwuIFRoZSBlbmQgcmVzdWx0IGlzCgkgIG9idmlvdXNseSBmYXIgZnJvbSBvcHRpbWFsLCB0aG91Z2ggaXQgZ3JlYXRseSBoZWxwcyB0ZXN0aW5nIG9uIG9sZGVyCgkgIGNvbXBvc3RpdG9ycyBvciBnbm9tZS13YXlsYW5kLiBXZSBjYW4gbWFrZSBpdCBzdHJpY3RseSBuZWVkZWQgbGF0ZXIgd2hlbgoJICB0aGlzIG5ldyBpbnRlcmZhY2UgZ2V0IHdpZGVseSBhZG9wdGVkLgoKMjAxNi0wNi0xNCAxNjozNDozNSAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9zY2FsZXIueG1sOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmQ6IFVwZGF0ZSBmcm9tIHNjYWxlciB0byB2aWV3cG9ydGVyIHByb3RvY29sCgkgIFNpZ25lZC1vZmYtYnk6IFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NjcxCgoyMDE2LTA5LTE1IDE0OjU4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgcGxheWVyOiBGaXggdW5pdCB0ZXN0IGZvciBtaW5vciBBUEkgY2hhbmdlCgoyMDE2LTA5LTE1IDEzOjE1OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSAgcGxheWVyOiBSZW1vdmUgYm9vbGVhbiByZXR1cm4gZnJvbSBzZXRfc3VidGl0bGVfdXJpKCkKCSAgSXQgY2FuJ3QgZmFpbCBzeW5jaHJvbm91c2x5IGFuZCBpcyBpbmNvbnNpc3RlbnQgd2l0aCBzZXRfdXJpKCkuCgoyMDE2LTA5LTE0IDE4OjA3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBEb24ndCBjaGFuZ2Ugc3RhdGUgdG8gUExBWUlORyBpbW1lZGlhdGVseSBpZiBhIHNlZWsgaXMgcGVuZGluZwoJICBXZSBmaXJzdCBoYXZlIHRvIGZpbmlzaCB0aGUgc2VlayAoaW4gUEFVU0VEKSBhbmQgbW92ZSB0byBQTEFZSU5HIG9uY2UKCSAgdGhlIHNlZWsgaXMgYWN0dWFsbHkgZmluaXNoZWQgKHVubGVzcyBhIG5ldyBvbmUgaXMgcGVuZGluZyB0aGVuKS4KCjIwMTYtMDktMTQgMTE6MzA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGVwZW5kIG9uIGdzdHJlYW1lciAxLjkuMi4xCgoyMDE2LTA5LTA4IDExOjU3OjUyICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBtYXAgd2l0aCBSRUFEV1JJVEUgZm9yIG92ZXJsYXkgYmxlbmQKCSAgSnVzdCBhcyBpbiBiYXNldGV4dG92ZXJsYXkgWzFdLCB0aGUgZnJhbWUgdG8gYmxlbmQgd2l0aCB0aGUgc3VidGl0bGVzIG92ZXJsYXkKCSAgc2hvdWxkIGJlIG1hcHBlZCB3aXRoIGZsYWdzIEdTVF9NQVBfUkVBRFdSSVRFLCBiZWNhdXNlCgkgIGdzdF92aWRlb19vdmVybGF5X2NvbXBvc2l0aW9uX2JsZW5kKCkgZG9lcyBib3RoIG9wZXJhdGlvbnMuCgkgIDEuIGh0dHBzOi8vY2dpdC5mcmVlZGVza3RvcC5vcmcvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhc2UvY29tbWl0Lz9pZD0xMzk2ZjgwNAoJICBTaWduZWQtb2ZmLWJ5OiBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTM4MgoKMjAxNi0wOS0xMyAyMDowODoxOSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGttc3Npbms6IHVwZGF0ZSBsaWJkcm0gZGVwZW5kZW5jeSB0byAyLjQuNTUKCSAgVGhlIGxhdGVzdCBsaWJkcm0gZmVhdHVyZSBzdXBwb3J0ZWQgYnkga21zc2luayBpcyB0aGUgdW5pdmVyc2FsIHBsYW5lLCB3aGljaAoJICB3YXMgYWRkZWQgaW4gMi40LjU1LiBMZXQncyB1cGRhdGUgdGhlIGRlcGVuZGVuY3kgdG8gdGhhdCB2ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTQ2CgoyMDE2LTA5LTExIDAwOjA2OjUyICswMDAwICBHcmFoYW0gTGVnZ2V0dCA8bWluZnJpbkBzaGFycC5mbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzZGVtdXg6IGhhbmRsZSBhIE5VTEwgbmFtZSBpbiBEVkIgc2hvcnQgZXZlbnQgZGVzY3JpcHRvcgoJICBSZXNvbHZlcyB0aGUgd2FybmluZzoKCSAgR1N0cmVhbWVyLVdBUk5JTkcgKio6IFRyeWluZyB0byBzZXQgTlVMTCBzdHJpbmcgb24gZmllbGQgJ3RpdGxlJyBvbiB0YWdsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMTk4CgoyMDE2LTA5LTEyIDE4OjM4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbHNvIG5ldmVyIGhhdmUgdGhlIFNJTksgZmxhZyBzZXQgb24gYWRhcHRpdmVkZW11eAoKMjAxNi0wOS0xMiAxMjoxOTo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIFJldmVydCAiZGVja2xpbmt2aWRlb3Npbms6IFNjYWxlIGRvd24gc2NoZWR1bGVkIGZyYW1lIHRpbWVzIHRvIG1pbGxpc2Vjb25kcyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzYjdlMGQ3ZGUzMmYwNzI4MjU5ZDYwMWRhYTEzYjllZWVjM2RkM2NlLgoJICBJdCB3YXMgYSBidWcgaW4gdGhlIGRyaXZlciBhbmQgaXMgc3VwcG9zZWQgdG8gYmUgZml4ZWQgd2l0aCAxMC44IGFuZCBuZXdlci4KCjIwMTYtMDktMTAgMTY6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggdHlwbyBpbiBuZXcgQVBJCgkgIEZpeGVzIHN1cHJlc3NlZCAtPiBzdXBwcmVzc2VkIHR5cG8gaW4gcHJldmlvdXMgY29tbWl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA2MjcKCjIwMTYtMDktMDUgMTA6MzE6NDAgKzA5MDAgIFdvbmNodWwgTGVlIDx3b25jaHVsLmxlZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmV2ZW50IHRvIHByb3BhZ2F0ZSBzb3VyY2UgZmxhZyB0byBpdHNlbGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDYyNwoKMjAxNi0wOS0xMCAyMDo1MToyNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIxOGQ4MjAgdG8gZjk4MGZkOQoKMjAxNi0wOS0xMCAwOTo1NDowOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDJjMzE2OTAgdG8gYjE4ZDgyMAoKMjAxNi0wOS0wOSAyMzoyNDowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJICBtZXNvbi9nbDogdXNlIHNlcGFyYXRlIGRlcHMgZm9yIGdsIGFuZCBnbHgKCSAgZS5nLiBwYXNzaW5nIHdpdGhfZ2xfYXBpPWdsZXMyIHdvdWxkIHN0aWxsIGJ1aWxkIHRoZSBnbHggY29kZSBidXQgbm90IGJlCgkgIGxpbmtpbmcgYWdhaW5zdCB0aGUgbGliR0wgbGlicmFyeSB3aGljaCBpcyB3aGVyZSB0aGUgZ2xYKiBmdW5jdGlvbnMgYXJlCgkgIGxvY2F0ZWQgYW5kIHdvdWxkIHJlc3VsdCBpbiBhIGxpbmtlciBlcnJvci4KCSAgU29sdmVkIGJ5IGNoZWNraW5nIGZvciB0aGUgbGliR0wgbGlicmFyeSBpZiBlaXRoZXIgb3BlbmdsIG9yIGdseCBtYXkgYmUKCSAgbmVlZGVkIGFuZCB0aGVuIGRpc2FibGluZyB0aGUgY29ycmVzcG9uZGluZyBkZXBzIGFzIHJlcXVlc3RlZC4KCjIwMTYtMDktMDkgMTY6NTU6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tZXNvbi5idWlsZDoKCSogZXh0L3Z1bGthbi9tZXNvbi5idWlsZDoKCSogZXh0L3Z1bGthbi92a2NvbmZpZy5oLm1lc29uOgoJICBtZXNvbjogYWRkIGJ1aWxkIGZpbGVzIGZvciB2dWxrYW4KCjIwMTYtMDktMDkgMTY6MzY6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvbWVzb24uYnVpbGQ6CgkqIGV4dC9tZXNvbi5idWlsZDoKCSAgbWVzb246IGFkZCBidWlsZCBmaWxlcyBmb3IgdGhlIGd0ayBwbHVnaW4KCjIwMTYtMDktMDkgMTE6MDg6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb25maWcuaC5tZXNvbjoKCSogZ3N0LWxpYnMvZ3N0L2dsL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBhZGQgc29tZSBzdGFydGluZyBidWlsZCBmaWxlcyBmb3IgR0wKCSAgQ3VycmVudGx5IG9ubHkgd29ya3Mgb24gbGludXggd2l0aCBlZ2wvZ2x4ICsgd2F5bGFuZC94MTEgYnV0IHRoZSBnZW5lcmFsCgkgIHByaW5jaXBhbHMgaGF2ZSBiZWVuIGxheWVkIG91dCBmb3IgYWRkaW5nIHRoZSBvdGhlciBHTCBwbGF0Zm9ybXMvd2luc3lzJy4KCjIwMTYtMDktMDggMTE6MjM6NTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBTY2FsZSB1cCB0byB0aGUgc2NyZWVuIGRpbWVuc2lvbgoJICBJbiBtb3N0IGRpc3BsYXkgc2luaywgdGhlIGxvZ2ljIGlzIHRvIHVzZSBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIG9mIHRoZSBnaXZlbiB3aW5kb3cuIEluIHRoaXMgY2FzZSwgdGhlIHdpbmRvdyBpcyB0aGUgc2NyZWVuLAoJICBoZW5jZSBpdCdzIGxvZ2ljYWwgdG8gc2NhbGUgdXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc0MjIKCjIwMTYtMDktMDggMTE6MjE6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBGaXggc2VsZWN0aW9uIG9mIHNvdXJjZSByZWdpb24KCSAgVGhlIHNvdXJjZSByZWdpb24gd2FzIHNjYWxlZCBmb3IgZGlzcGxheSBiZWZvcmUgYmVpbmcgcGFzc2VkCgkgIHRvIGRybU1vZGVTZXRQbGFuZSwgd2hpY2ggcmVzdWx0ZWQgaW4gYSBwb3J0aW9uIG9mIHRoZSB2aWRlbwoJICBiZWluZyBjcm9wcGVkLiBXaGlsZSB3aGVuIGNyb3AgbWV0YSB3YXMgcHJlc2VudCwgdGhlIHJlY3RhbmdsZQoJICB3YXMgbm90IGNlbnRlcmVkIHNpbmNlIHdlIHdoZXJlIHVzaW5nIHVuc2NhbGVkIHdpZHRoL2hlaWdodC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQyMgoKMjAxNi0wOS0wOCAwODo0MDo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJICBnc3RwbGF5ZXI6IHJlbW92ZSBsZWZ0b3ZlciB1cGRhdGVfaW50ZXJ2YWwgYXBpCgkgIG9sZDogZ3N0X3BsYXllcl9zZXRfcG9zaXRpb25fdXBkYXRlX2ludGVydmFsCgkgIG5ldzogZ3N0X3BsYXllcl9jb25maWdfc2V0X3Bvc2l0aW9uX3VwZGF0ZV9pbnRlcnZhbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MTQ0CgoyMDE2LTA5LTAxIDE5OjQ2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkgIHZrdXBsb2FkOiBhZGQgdmlkZW8veC1yYXcgdG8gdGhlIFZ1bGthbkJ1ZmZlciB1cGxvYWRlcgoJICBBbGxvd3MgdXBzdHJlYW0gZWxlbWVudHMgdGhhdCB1c2Ugb3VyIG1lbW9yeSB0byBwYXNzdGhyb3VnaCB3aXRob3V0IGNvcHlpbmcuCgoyMDE2LTA5LTAxIDE5OjQzOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSAgdmt1dGlsczogc2V0IHRoZSBsYXN0IGVsZW1lbnQgb2YgdGhlIGxheWVyIGFycmF5IHRvIE5VTEwKCSAgZ19zdHJ2KiBmdW5jdGlvbnMgcmVxdWlyZSB0aGlzIHRvIG5vdCByZWFkIG9mZiB0aGUgZW5kIG9mIHRoZSBhcnJheS4KCjIwMTYtMDktMDcgMjA6MTE6NTUgKzAxMDAgIEFsaXN0YWlyIEJ1eHRvbiA8YS5qLmJ1eHRvbkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJICBnbC9leGFtcGxlczogUmVhbGx5IHJlbW92ZSByZWZlcmVuY2VzIHRvICQoR1NUX1BMVUdJTlNfR0xfKikuCgkgIFRoZXNlIHNlZW0gdG8gaGF2ZSBiZWVuIG1pc3NlZCBpbiB0aGUgcHJldmlvdXMgY29tbWl0IHRvIHRoaXMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MTAyMwoKMjAxNi0wOS0wNyAyMDowNzoyNiArMDEwMCAgQWxpc3RhaXIgQnV4dG9uIDxhLmouYnV4dG9uQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IFJlbW92ZSBkdXBsaWNhdGUgR0xfQ0ZMQUdTIGluIE1ha2VmaWxlLmFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcxMDIxCgoyMDE2LTA4LTA1IDE4OjE3OjMyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkgIGttc3Npbms6IG92ZXJyaWRlIHN0cmlkZSBpZiBkZWZpbmVkIGluIGRyaXZlcgoJICBTb21lIGttcyBkcml2ZXJzIGRlbWFuZHMgc3BlY2lmaWMgcGl0Y2hlcyBvdmVyIHRoZSBvbmVzIGNhbGN1bGF0ZWQgYnkKCSAgR3N0VmlkZW9JbmZvLiBGb3IgZXhhbXBsZSwgaW50ZWwgZHJpdmVyIGRlbWFuZHMgc3RyaWRlcyByb3VuZCB1cCA2NC4KCSAgVGhpcyBwYXRjaCBxdWVyaWVzIHRoZSBkcml2ZXIgZm9yIHRoZSBwcmVmZXJlZCBwaXRjaCBhbmQgb3ZlcndyaXRlcyBpdAoJICBpbiB0aGUgcG9vbCdzIEdzdFZpZGVvSW5mbyBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg0NDYKCjIwMTYtMDktMDYgMTY6MDU6NTMgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2UgdGhlIGV2ZW50X2Z1bGwgZnVuY3Rpb24gZm9yIEdzdEFnZ3JlZ2F0b3JQYWRzCgkgIEFsbG93aW5nIHVzIHRvIHRlbGwgR3N0UGFkIHdoeSB3ZSBhcmUgZmFpbGluZyBhbiBldmVudCwgd2hpY2ggbWlnaHQKCSAgYmUgYmVjYXVzZSB3ZSBhcmUgJ2ZsdXNoaW5nJyBldmVuIGlmIHRoZSBzaW5rcGFkIGlzIG5vdCBpbiBmbHVzaCBzdGF0ZQoJICBhdCB0aGF0IHBvaW50LgoKMjAxNi0wOS0wNiAxMzoxMzozOSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHFtbGdsc2luazogY2hlY2sgcXRfY29udGV4dF8gZmlyc3QgaW4gR3N0UVNHVGV4dHVyZTo6YmluZCgpCgkgIFdoZW4gc3RhcnQgcW1sZ2xzaW5rIGFwcCwgaXQgd2lsbCBzZXQgTlVMTCBidWZmZXIgdG8gR3N0UVNHVGV4dHVyZQoJICBpbiB3aGljaCBjYXNlIHRoYXQgcXRfY29udGV4dF8gd2lsbCBiZSBhIHJhbmRvbSB2YWx1ZSBhbmQgY2F1c2UKCSAgZ3N0X2dsX2NvbnRleHRfYWN0aXZhdGUoKSBmYWlsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwOTI1CgoyMDE2LTA5LTA2IDIwOjAwOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkL3Z1bGthbjogZml4IHdpbnN5cyBkZXRlY3Rpb24gYmFzZWQgb24gdGhlIHByZXZpb3VzbHkgc2V0IHZhcmlhYmxlcwoJICBUaGUgWDExL1dheWxhbmQgd2luc3lzIGNoZWNrcyB3ZXJlbid0IGJlaW5nIHVzZWQgdG8gZW5hYmxlIHRoZSB2dWxrYW4gZWxlbWVudC4KCSAgVXNlIHRoZW0uCgoyMDE2LTA5LTA2IDExOjAyOjA2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBwcmV2ZW50IGRlYWRsb2NrIGluIGNyZWF0ZV9zZXNzaW9uCgkgIFRlbXBvcmFyaWx5IHJlbGVhc2UgdGhlIG9iamVjdCBsb2NrIHdoaWNoIGlzIG5lZWRlZCB0byBwb3N0IGVycm9yCgkgIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzA5MzMKCjIwMTYtMDktMDUgMjI6MzA6MDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogbWVzb24uYnVpbGQ6CgkgIG1lc29uOiBGaXggYnVpbGRpbmcgd2l0aCBtZXNvbiAwLjM0IHdoZW4gdXNpbmcgc3VicHJvamVjdHMKCSAgV2hlbiB1c2luZyBzdWJwcm9qZWN0IG1lc29uLnNvdXJjZV9yb290KCkgcmV0dXJucyB0aGUgcm9vdAoJICBkaXJlY3Rvcnkgb2YgdGhlIHRvcGxldmVsIHByb2plY3Qgd2hpY2ggYnJlYWsgYnVpbGQuCgkgIFVwc3RyZWFtIG1lc29uIGJ1ZzogaHR0cHM6Ly9naXRodWIuY29tL21lc29uYnVpbGQvbWVzb24vaXNzdWVzLzcyMgoKMjAxNi0wOS0wNSAxMjoyMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBvc2cuc2Ftc3VuZy5jb20+CgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IEJ1bXAgdmVyc2lvbiB0byAxLjkuMgoKMjAxNi0wOS0wNSAxNDo0NDoyNCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBjcmVhdGUgdGhlIEdzdEdMVXBsb2FkIG9iamVjdCBpbiA6OnRyYW5zZm9ybV9jYXBzCgkgIFByZXZpb3VzbHkgaXQgd2FzIGNyZWF0ZWQgaW4gdGhlIGluaXQgZnVuY3Rpb24gYW5kIGRlc3Ryb3llZCBpbiA6OnN0b3AsIHdoaWNoCgkgIGxlYWQgdG8gc2VnZmF1bHRzIHdoZW4gcmV1c2luZyB0aGUgZWxlbWVudC4KCSAgTm93IHRoZSB1cGxvYWQgb2JqZWN0IGlzIGNyZWF0ZWQgaW4gOjp0cmFuc2Zvcm1fY2FwcyBpZiBpdCBpcyBOVUxMLCB3aGljaCBpcyB0aGUKCSAgZWFybGllc3Qgd2UgbmVlZCBpdC4gVGhlIG90aGVyIHZmdW5jcyBhbHJlYWR5IGJhaWwgb3V0IGlmIHRoZSB1cGxvYWQgb2JqZWN0IGlzCgkgIE5VTEwsIHdoaWNoIG1lYW5zIHRoYXQgbmVnb3RpYXRpb24gd2Fzbid0IGRvbmUuCgoyMDE2LTA4LTI5IDExOjQwOjU0ICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bC5sZWVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTdXBwb3J0IEFUU0MgRUFDMwoJICBFQUMzIGJpdCBzdHJlYW1zIHNoYWxsIGJlIGlkZW50aWZpZWQgd2l0aCBhIHN0cmVhbV90eXBlIHZhbHVlIG9mIDB4ODcgd2hlbgoJICB0cmFuc21pdHRlZCBhcyBQRVMgc3RyZWFtcyBjb25mb3JtaW5nIHRvIEFUU0MtcHVibGlzaGVkIHN0YW5kYXJkcy4gSXQgaXMgc3BlY2lmaWVkCgkgIGluIEFUU0MgU3RhbmRhcmQgQS81Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDUyOAoKMjAxNi0wOS0wMSAxNDoyNTo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeC11cCBsYXN0IGNvbW1pdCB0aGF0IHdhcyBub3QgbWVhbnQgdG8gYmUgcHVzaGVkIHlldAoKMjAxNi0wOS0wMSAxNDoxODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDktMDEgMTQ6MTc6NDggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBSZXF1aXJlIGEgY2xvY2sgd2hlbiBnb2luZyBmcm9tIFBBVVNFRF9UT19QTEFZSU5HIGFuZCBkb24ndCBjcmFzaCBpZiB0aGVyZSBpcyBub25lCgkgIEFsc28gd2hlbiBnb2luZyBmcm9tIFBMQVlJTkdfVE9fUEFVU0VELCB0aGUgY2xvY2sgbWlnaHQndmUgYmVlbiB1bnNldCBpbiB0aGUKCSAgbWVhbnRpbWUsIGUuZy4gYmVjYXVzZSB0aGUgZWxlbWVudCB3YXMgcmVtb3ZlZCBmcm9tIGl0cyBzdXJyb3VuZGluZyBiaW4uCgoyMDE2LTA5LTAxIDEyOjI4OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMiA9PT0KCjIwMTYtMDktMDEgMTI6Mjc6NTkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9meGJhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmx1ZXoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnMyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb21wb3NpdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGFzaGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdWlkc3ludGhtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGd0ay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdnRjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5ldHNpbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuZXhyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5nbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuanBlZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwb252aWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3Roc3RyZWFtaW5nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNydHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJydGNkc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS45LjIKCjIwMTYtMDktMDEgMTE6MjQ6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDgtMzAgMTY6MjE6MjUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogQ29uZGl0aW9uYWxseSBjb21waWxlIHF0a2l0dmlkZW9zcmMKCSAgVGhlIEFQSSB3YXMgZGVwcmVjYXRlZCBpbiAxMC45IGFuZCBhcHBhcmVudGx5IGRvZXMgbm90IGV4aXN0IGluIHRoZSBTREsgZm9yCgkgIG1hY09TIFNpZXJyYSBhbnltb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwNTg3CgoyMDE2LTA4LTMxIDA0OjI2OjQzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkgIGdsOiBSZW1vdmUgZXh0cmEgZHVwbGljYXRlIHR5cGVkZWYgb2YgR3N0R0xGcmFtZWJ1ZmZlcgoJICBJdCdzIHRyaWdnZXJpbmcgYSB3YXJuaW5nIGJ1aWxkaW5nIGdpdCBtYXN0ZXIgb24gT1NYCgoyMDE2LTA4LTI5IDE2OjU3OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzL2dsdXBsb2FkOiBzdXBwb3J0IG9wZW5nbDMgcHJvcGVybHkgaW5zdGVhZCBvZiBzcGV3aW5nIEdMIGVycm9ycwoKMjAxNi0wOC0yOSAxNjo1Mjo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjoKCSAgZ2wvcGtnY29uZmlnOiBhZGQgdGhlIGxpYiBpbmNsdWRlIGRpciB0byB0aGUgbGlzdCBvZiBpbmNsdWRlcwoJICA3MTRkOGFhIGluIGNvcmUgcmVtb3ZlZCB0aGlzIGluY2x1ZGUgZGlyIGZyb20gaXQncyBwa2djb25maWcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDUyMwoKMjAxNi0wOC0yOSAxNTo0MzoxMCArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IHRlc3RzIGFuZCBjaGVjayBmb3IgdGhlIG5ldyBSRUNPTkZJR1VSRSBiZWhhdmlvdXIKCSAgVGhlIHRlc3RzIHdlcmUgYnJva2VuIHNpbmNlIDkxZmVhMzAsIHdoaWNoIGNoYW5nZWQgZ2x1cGxvYWQgdG8gcmV0dXJuCgkgIEdTVF9HTF9VUExPQURfUkVDT05GSUdVUkUgaWYgdGhlIHRleHR1cmUgdGFyZ2V0IGluIHRoZSBpbnB1dCBidWZmZXJzIGRvZXNuJ3QKCSAgbWF0Y2ggdGhlIHRleHR1cmUtdGFyZ2V0IGNvbmZpZ3VyZWQgaW4gdGhlIG91dHB1dCBjYXBzLgoJICBUaGlzIGNvbW1pdCBmaXhlcyB0aGF0IGFuZCBhZGRzIG1vcmUgY2hlY2tzIGZvciB0aGUgbmV3IGJlaGF2aW91ci4KCjIwMTYtMDgtMTkgMTE6MTI6MTAgLTA3MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIFVzZSB0aGUgbmV3IEFQSSB0byBwb3N0IGZsb3cgRVJST1IgbWVzc2FnZXMgb24gdGhlIGJ1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTU4CgoyMDE2LTA4LTI2IDIwOjEyOjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaDogRml4IGJ1aWxkIG9mIHVuaXQgdGVzdAoKMjAxNi0wOC0yNSAyMDo1MDoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEFkZCBwcm9wZXJ0aWVzIHRvIHNlbGVjdCBtYXhpbXVtIGFsbG93ZWQgd2lkdGgvaGVpZ2h0IGFuZCBmcmFtZXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDQwOAoKMjAxNi0wOC0yNiAxNjowNDoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUyBYCgkgIFdoaWxlIGdpbnQ2NCBhbmQgaW50NjRfdCBhcmUgYWx3YXlzIHRoZSBzYW1lLCBjbGFuZyBkb2VzIG5vdCBhZ3JlZSB3aXRoIHRoYXQuCgkgIC9BcHBsaWNhdGlvbnMvWGNvZGUuYXBwL0NvbnRlbnRzL0RldmVsb3Blci91c3IvYmluL21ha2UgLUMgZGVja2xpbmsKCSAgQ1hYICAgICAgbGliZ3N0ZGVja2xpbmtfbGEtZ3N0ZGVja2xpbmthdWRpb3NpbmsubG8KCSAgZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOjY3NTo3OTogZXJyb3I6IGNhbm5vdCBpbml0aWFsaXplIGEgcGFyYW1ldGVyIG9mIHR5cGUgJ2ludDY0X3QgKicgKGFrYSAnbG9uZyBsb25nIConKSB3aXRoIGFuIHJ2YWx1ZSBvZiB0eXBlICdnaW50NjQgKicgKGFrYSAnbG9uZyAqJykKCSAgcmV0ID0gYnVmLT5vdXRwdXQtPmF0dHJpYnV0ZXMtPkdldEludCAoQk1ERGVja0xpbmtNYXhpbXVtQXVkaW9DaGFubmVscywgJm1heF9jaGFubmVscyk7CgkgIF5+fn5+fn5+fn5+fn4KCSAgLi9saW51eC9EZWNrTGlua0FQSS5oOjY5Mjo4Nzogbm90ZTogcGFzc2luZyBhcmd1bWVudCB0byBwYXJhbWV0ZXIgJ3ZhbHVlJyBoZXJlCgkgIHZpcnR1YWwgSFJFU1VMVCBHZXRJbnQgKC8qIGluICovIEJNRERlY2tMaW5rQXR0cmlidXRlSUQgY2ZnSUQsIC8qIG91dCAqLyBpbnQ2NF90ICp2YWx1ZSkgPSAwOwoJICBeCgoyMDE2LTA4LTI2IDIyOjUxOjQ4ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb21lbW9yeS5jOgoJICBhcHBsZW1lZGlhOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNi0wOC0yNiAxNTo0ODozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBTY2FsZSBkb3duIHNjaGVkdWxlZCBmcmFtZSB0aW1lcyB0byBtaWxsaXNlY29uZHMKCSAgU2NhbGUgZG93biB0byBtaWxsaXNlY29uZHMsIG90aGVyd2lzZSBhdCBsZWFzdCBzb21lIGhhcmR3YXJlIGhhcyBwcm9ibGVtcwoJICBzY2hlZHVsaW5nIHRoZSBmcmFtZXMgKG9yIHNjaGVkdWxlcyB0aGVtIHRvbyBzbG93KSBhbmQgd2UgcnVuIG91dCBvZiBhdmFpbGFibGUKCSAgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMjgyCgoyMDE2LTA4LTI2IDE0OjA4OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgOCBhbmQgMTYgY2hhbm5lbHMKCjIwMTYtMDgtMjYgMTc6Mzc6NTQgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2dsbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBjaGFuZ2VzIHRvIG1ha2UgR0wgbWVtb3J5IG1hcHBhYmxlIG9uIENQVSBvbiBpT1MKCSAgVGhpcyBjb21taXQgaW50cm9kdWNlcyBJT1NHTE1lbW9yeSB3aGljaCBpcyBhIEdMTWVtb3J5IHRoYXQgZmFsbHMgYmFjayB0bwoJICBHc3RBcHBsZUNvcmVWaWRlb01lbW9yeSBmb3IgQ1BVIGFjY2Vzcy4gVGhpcyBpcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiB1bnRpbAoJICBJT1N1cmZhY2UgZ2V0cyBleHBvc2VkIGFzIGEgcHVibGljIGZyYW1ld29yayBvbiBpT1MgYW5kIHNvIHdlIGNhbiB1c2UKCSAgSU9TdXJmYWNlTWVtb3J5IG9uIGJvdGggTWFjT1MgYW5kIGlPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTIxMAoKMjAxNi0wOC0yMiAxNzoxODoyNyArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgZ3N0Z2x1cGxvYWQ6IG1ha2UgdGhlIEdMTWVtb3J5VXBsb2FkIG1ldGhvZCBvdXRwdXQgdGhlIGNvcnJlY3QgdGV4dHVyZS10YXJnZXQKCSAgTm93IHdoZW4gdXNlZCB3aXRoIHZpZGVvL3gtcmF3IGFzIGlucHV0LCB0aGUgR0xNZW1vcnlVcGxvYWQgbWV0aG9kIGNoZWNrcyBmb3IKCSAgLT50ZXhfdGFyZ2V0IGluIGlucHV0IEdMTWVtb3J5KGVzKSBhbmQgc2V0cyB0aGUgb3V0cHV0IHRleHR1cmUtdGFyZ2V0CgkgIGFjY29yZGluZ2x5LgoJICBGaXhlcyB2aWRlbyBjb3JydXB0aW9uIHdpdGggYSBwaXBlbGluZSBsaWtlIGF2ZnZpZGVvc3JjICEgdmlkZW8veC1yYXcgIQoJICBnbGltYWdlc2luayB3aGVyZSBvbiBtYWNvcyBhdmZ2aWRlb3NyYyBwdXNoZXMgUkVDVEFOR0xFIHRleHR1cmVzIGJ1dCBnbHVwbG9hZAoJICB3YXMgY29uZmlndXJpbmcgdGV4dHVyZS10YXJnZXQ9MkQgYXMgb3V0cHV0LgoKMjAxNi0wOC0yNCAwOTo0MTowOCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHNfZW51bS5weToKCSogZ3N0L21wZWd0c2RlbXV4L21lc29uLmJ1aWxkOgoJKiBtZXNvbi5idWlsZDoKCSAgbWVzb246IE1ha2UgbXBlZ3RzIGxpYiBidWlsZCB3aGVuIHVzaW5nIHN1YnByb2plY3RzCgkgIFRoZSBoZWFkZXJzIHBhc3NlZCBhcyBwYXJhbWV0dGVyIGFyZSByZWxhdGl2ZSB0byB0aGUgYnVpbGQgZGlyCgkgIGJhc2ljYWxseSAiLi4vc3VicHJvamVjdC9nc3QtcGx1Z2lucy1iYWQvZ3N0LWxpYnMvZ3N0L21wZWd0cy9YWFguaCIKCSAgYnV0IHRoYXQgZG9lcyBub3QgbWF0Y2ggd2hhdCBpcyBuZWVkZWQgYXQgYnVpbGQgdGltZSB3aGVuIGJ1aWxkaW5nIGFzCgkgIHN1YnByb2plY3QsIGFsc28gd2UgYWx3YXlzIGFkZCBjdXJyZW50IGRpciBhcyBpbmNsdWRlX2RpciBzbyB3ZSBhcmUKCSAgc2FmZSBpbmNsdWRpbmcgZGlyZWN0bHkuCgkgIEFuZCBsaW5rIG1wZWd0c2RlbXV4IGFnYWluc3QgdGhlICdtYXRoJyBsaWJyYXJ5IGFzIGl0IGlzIG5lZWRlZC4KCjIwMTYtMDgtMjYgMDM6NDY6MzkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgZG9jczogRXhwb3NlIHRoZSBvcGVuZ2wgcGx1Z2luIGFuZCBlbGVtZW50IGRvY3MKCjIwMTYtMDgtMjYgMDI6MjA6MTEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEhhbmRsZSBpZiB1cGRhdGVfY2FwcygpIHJldHVybnMgRU1QVFkKCSAgRG9uJ3QgYXNzdW1lIHRoZSByZXR1cm5lZCBjYXBzIGZyb20gdXBkYXRlX2NhcHMoKSBpcwoJICBub24tZW1wdHkuCgoyMDE2LTA4LTI2IDAyOjA3OjI3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IFVwZGF0ZSBnbHZpZGVvbWl4ZXIgZG9jCgoyMDE2LTA4LTI2IDAyOjA2OjAwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogQWRkL3VwZGF0ZSBkb2NzIGZvciBnbHZpZXdjb252ZXJ0LCBnbHN0ZXJlb21peAoJICBBZGQgc29tZSBleGFtcGxlIHBpcGVsaW5lcyBmb3IgZ2xzdGVyZW9taXgsIGFuZCBmaXggdXAKCSAgdGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciBnbHZpZXdjb252ZXJ0CgoyMDE2LTA4LTI2IDAwOjI5OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSAgZ2xzdGVyZW9taXg6IEZpeCBjYXBzIG5lZ290aWF0aW9uCgkgIFRoZSB2aWRlb2FnZ3JlZ2F0b3IgbmVnb3RpYXRpb24gc2VxdWVuY2UgY2hhbmdlZCBzb21lIHRpbWUKCSAgYmFjayBhbmQgYnJva2UgZ2xzdGVyZW9taXguIEluc3RlYWQgb2YgZG9pbmcgbmVnbyBpbmNvcnJlY3RseQoJICBpbiB0aGUgZmluZF9iZXN0X2Zvcm1hdCgpIHZmdW5jLCBkbyBpdCBkaXJlY3RseSBpbiB0aGUKCSAgdXBkYXRlX2NhcHMoKSBtZXRob2QuCgoyMDE2LTA4LTI1IDE1OjI2OjQ5ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCB0ZXh0dXJlIHRhcmdldCBmaXhhdGlvbgoJICBEb24ndCBzZXQgdGhlIGNob3NlbiB0ZXh0dXJlLXRhcmdldCBpbnRvIHRoZSB3cm9uZyBzdHJ1Y3R1cmUuCgkgIFRoZSBpbnB1dCBjYXBzIG1heSBub3QgYmUgd3JpdGFibGUsIGFuZCBpbiBhbnkgY2FzZSAtIHRoZQoJICBpbnRlbnRpb24gd2FzIHRvIGNvbmZpZ3VyZSB0aGUgb3RoZXJjYXBzLiBBbHNvLCByZW1vdmUgYW4KCSAgZXh0cmEgdW5yZWYgLSB0aGUgb3RoZXJjYXBzIHJlZiBpcyBjb25zdW1lZCBieQoJICBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlIGFscmVhZHkuCgoyMDE2LTA4LTI1IDE5OjM1OjEzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEVuYWJsZSBiaXRyYXRlIHNlbGVjdGlvbiBmb3IgdHJpY2sgbW9kZSBzdHJlYW1pbmcgYWdhaW4KCSAgQW5kIHNjYWxlIHRoZSBiaXRyYXRlIHdpdGggdGhlIGFic29sdXRlIHJhdGUgKGlmIGl0J3MgYmlnZ2VyIHRoYW4gMS4wKSB0byBnZXQKCSAgdG8gdGhlIHJlYWwgYml0cmF0ZSBkdWUgdG8gZmFzdGVyIHBsYXliYWNrLgoJICBUaGlzIGFsbG93ZWQgaW4gbXkgdGVzdHMgdG8gcGxheSBhIHN0cmVhbSB3aXRoIDEweCBzcGVlZCB3aXRob3V0IGJ1ZmZlcmluZyBhcwoJICB0aGUgbG93ZXN0IGJpdHJhdGUgaXMgY2hvc2VuLCBpbnN0ZWFkIG9mIHN0YXlpbmcvc2VsZWN0aW5nIHRoZSBoaWdoZXN0IGJpdHJhdGUKCSAgYW5kIHRoZW4gYnVmZmVyaW5nIGFsbCB0aGUgdGltZS4KCSAgSXQgd2FzIHByZXZpb3VzbHkgZGlzYWJsZWQgZm9yIG5vdCB2ZXJ5IHdlbGwgc3BlY2lmaWVkIHJlYXNvbnMsIHdoaWNoIHNlZW0gdG8KCSAgYmUgbm90IHZhbGlkIGFueW1vcmUgbm93YWRheXMuCgoyMDE2LTA4LTI1IDE2OjMzOjE3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGFkZCBtaXNzaW5nIGRhc2hfaXNvZmYgZmlsZQoKMjAxNi0wOC0yNSAxMjo0NTozMyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggZ3N0LXVuaW5zdGFsbGVkIGJ1aWxkIGluIG9zeAoJICBGaXhlcyBjbGFuZzogZXJyb3I6IGFyZ3VtZW50IHVudXNlZCBkdXJpbmcgY29tcGlsYXRpb246ICctcHRocmVhZCcKCSAgd2hlbiBidWlsZGluZyB0aGUgdGVzdCBwcm9ncmFtcy4KCjIwMTYtMDgtMjUgMTQ6MzU6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1bmNvbmRpdGlvbmFsbHkgY2hlY2sgZm9yIHZpZGVvLCBhdWRpbyBhbmQgcGJ1dGlscyBtb2R1bGVzCgkgIENoZWNrIGZvciBtb2R1bGVzIGluIGNvbmZpZ3VyZSBhbmQgdXNlIEdTVF8qX0xJQlMgdmFycyB0byBsaW5rIHdpdGgKCSAgdGhlIGxpYnJhcmllcyBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdGhlbS4KCjIwMTYtMDctMjYgMTk6NTU6MTMgKzAyMDAgIFhhYmllciBSb2RyaWd1ZXogQ2FsdmFyIDxjYWx2YXJpc0BpZ2FsaWEuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5oOgoJICBnbHZpZGVvZmxpcDogaW1wbGVtZW50IEdzdFZpZGVvRGlyZWN0aW9uIGludGVyZmFjZQoJICBJdCBpbXBsZW1lbnRzIG5vdyB0aGlzIGludGVyZmFjZSB3aXRoIGl0cyB2aWRlby1kaXJlY3Rpb24KCSAgcHJvcGVydHkuIFZhbHVlcyBhcmUgY2hhbmdlZCB0byBHc3RWaWRlb09yaWVudGF0aW9uTWV0aG9kIGJ1dCB0aGV5IGhhdmUKCSAgdGhlIHNhbWUgdmFsdWUgdGhhbiB0aGUgb3JpZ2luYWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4Njg3CgoyMDE2LTA4LTI0IDE5OjQzOjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Zka2FhYy9nc3RmZGthYWNlbmMuYzoKCSAgZmRrYWFjZW5jOiBJbXBsZW1lbnQgc29tZSBhdXRvbWF0aWMgYml0cmF0ZSBzZWxlY3Rpb24KCSAgQmFzZWQgb24gc2FtcGxlIHJhdGUgYW5kIGNoYW5uZWwgY291bnQsIHNlZQoJICBodHRwOi8vd2lraS5oeWRyb2dlbmF1ZC5pby9pbmRleC5waHA/dGl0bGU9RnJhdW5ob2Zlcl9GREtfQUFDI1JlY29tbWVuZGVkX1NhbXBsaW5nX1JhdGVfYW5kX0JpdHJhdGVfQ29tYmluYXRpb25zCgoyMDE2LTA4LTI0IDE0OjE1OjA5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBPbiByZWRpcmVjdHMsIHJlbWVtYmVyIHRoZSByZWRpcmVjdCBVUkkgc2VwYXJhdGVseSBhbmQgZG9uJ3QgY29uc2lkZXIgdGhpcyBhbiBVUkkgcHJvcGVydHkgY2hhbmdlCgkgIFRoZSBhcHBsaWNhdGlvbiBkb2VzIG5vdCBrbm93IGFueXRoaW5nIGFib3V0IHRoZSByZWRpcmVjdCwgYW5kIGNoYW5naW5nIGl0cwoJICBVUkkgaW50ZXJuYWxseSB3aWxsIGNhdXNlIGNvbmZ1c2lvbi4KCSAgQWxzbyBkb24ndCByZXNldCB0aGUgc3VidGl0bGUgVVJJLgoKMjAxNi0wOC0yNCAxNDoxMDo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogRG9uJ3QgcmVwb3J0IHNwdXJpb3VzIFNUT1BQRUQgc3RhdGUgY2hhbmdlcyB3aGVuIGRvaW5nIHRyYW5zaWVudCBjaGFuZ2VzIHRoZXJlCgoyMDE2LTA4LTI0IDEzOjAxOjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBFbnN1cmUgdGhhdCByYXRlIGlzIGluaXRpYWxpemVkIHRvIDEuMAoKMjAxNi0wOC0yNCAxMDoxNjowMCArMDAwMCAgRnJlZHJpayBGb3Jud2FsbCA8ZnJlZHJpa0Bmb3Jud2FsbC5uZXQ+CgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkgIG9wZW5zbGVzOiBBZGQgb3BlbnNsZXMuaCB0byBub2luc3RfSEVBREVSUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMzI2CgoyMDE2LTA4LTIzIDE0OjM3OjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBEZS1kdXBsaWNhdGUgcmF0ZSBzZXR0aW5nIGNvZGUgYW5kIGFsd2F5cyB1c2UgdGhlIHByb3BlcnR5CgoyMDE2LTA4LTIzIDE0OjMzOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBQcm90ZWN0IHNldHRlci9nZXR0ZXIgZm9yIHRoZSBjb25maWd1cmF0aW9uIHdpdGggYSBtdXRleAoKMjAxNi0wOC0yMyAxNDozMjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkgIHBsYXllcjogTW92ZSBzdWJ0aXRsZSBVUkkgc2V0dGVyIG5leHQgdG8gdGhlIHVyaSBzZXR0ZXIKCSAgSXQncyBjb25mdXNpbmcgdG8gaGF2ZSB0aGVtIGEgY291cGxlIG9mIGh1bmRyZWQgbGluZXMgYXBhcnQuCgoyMDE2LTA4LTE3IDE5OjU5OjE3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCBNUEVHLTIgdmlkZW8gY2FwcwoJICBBZGQgc3lzdGVtc3RyZWFtPWZhbHNlIHRvIGNhcHMsIG90aGVyd2lzZSB0aGUgZGVjb2RlcgoJICBtYXkgYmUgcGlja2VkIGZvciBNUEVHLVBTIGZpbGVzLiBBbHNvIHBhcnNlZD10cnVlLAoJICBhcyB2aWRlbyB0b29sYm94IGV4cGVjdHMgZW50aXJlIGZyYW1lIGluCgkgIFZURGVjb21wcmVzc2lvblNlc3Npb25EZWNvZGVGcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDA0OQoKMjAxNi0wOC0yMyAwMjoxMzoxOSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmMucmVqOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9zZXRfc3RhdGVfa2VlcC5wYXRjaDoKCSAgYWRhcHRpdmVkZW11eDogRml4IHRoZSBwcmV2aW91cyBjb21taXQKCSAgUmVtb3ZlIGV4dHJhIGZpbGVzIHRoYXQgd2VyZSBub3QgbWVhbnQgdG8gYmUgYWRkZWQgdG8gdGhlIGNvbW1pdAoKMjAxNi0wOC0yMyAwMTo1Nzo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYy5yZWo6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L3NldF9zdGF0ZV9rZWVwLnBhdGNoOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggYnJva2VuIHVwZGF0ZXMgbG9vcCBvbiBsaXZlIHN0cmVhbXMKCSAgUHJldmVudCB0aGUgbWFuaWZlc3QgdXBkYXRlIGxvb3AgZnJvbSBsb29waW5nIGVuZGxlc3NseQoJICBhZnRlciBhIHNlZWsgZXZlbnQsIGJ5IGNsZWFyaW5nIHRoZSB2YXJpYWJsZSB0aGF0IHRlbGxzCgkgIHRoZSB0YXNrIGZ1bmN0aW9uIG5vdCB0byBpbW1lZGlhdGVseSBleGl0LgoKMjAxNi0wOC0xOCAxMDowNjoyNyArMDIwMCAgTWljaGFlbCBPbGJyaWNoIDxtLm9sYnJpY2hAcGVuZ3V0cm9uaXguZGU+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBzdHJlYW0gZXhwb3N1cmUgY29uZGl0aW9uCgkgIFRoZSBuZXcgc3RyZWFtcyBzaG91bGQgbm90IGJlIGV4cG9zZWQgdW50aWwgYWxsIHN0cmVhbXMgYXJlIGRvbmUgd2l0aCB0aGUKCSAgY3VycmVudCBmcmFnbWVudC4gVGhlIG9sZCBjb2RlIGlzIGluY29ycmVjdCBhbmQgYWN0dWFsbHkgb25seSBjaGVja2VkIHRoZQoJICBjdXJyZW50IHN0cmVhbS4gRml4IHRoaXMgYnkgcHJvcGVybHkgY2hlY2tpbmcgYWxsIHN0cmVhbXMuCgkgIEFsc28sIGlnbm9yZSB0aGUgY3VycmVudCBzdHJlYW0uIFRoZSBjb2RlIGlzIG9ubHkgcmVhY2hlZCB3aGVuIHRoZSBjdXJyZW50CgkgIHN0cmVhbSBmaW5pc2hlZCBkb3dubG9hZGluZyBhbmQgc2luY2UKCSAgMDdmNDlmMTViMTE5NmNjOWZhMGQ0NWFmOTExNDlhMzVmY2UxMjNiOSAoImFkYXB0aXZlZGVtdXg6IE9uIEVPUywgaGFuZGxlIGl0CgkgIGJlZm9yZSB3YWtpbmcgZG93bmxvYWQgbG9vcCIpIGRvd25sb2FkX2ZpbmlzaGVkIGlzIHNldCBhZnRlcgoJICBnc3RfYWRhcHRpdmVfZGVtdXhfc3RyZWFtX2FkdmFuY2VfZnJhZ21lbnRfdW5sb2NrZWQoKSBpcyBjYWxsZWQuCgkgIFdpdGhvdXQgdGhpcyBITFMgcGxheWJhY2sgd2l0aCBtdWx0aXBsZSBzdHJlYW1zIGlzIGJyb2tlbiwgYmVjYXVzZSB0aGUgbmV3CgkgIHN0cmVhbXMgYXJlIG5ldmVyIGV4cG9zZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NzAwNzUKCjIwMTYtMDgtMjEgMTY6MjE6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL21lc29uLmJ1aWxkOgoJICBtZXNvbjogcmVtb3ZlIHVudXNlZCBtcGcxMjMgYnVpbGQgZmlsZQoJICBtcGcxMjMgd2FzIG1vdmVkIHRvIHVnbHkuCgoyMDE2LTA4LTEyIDIxOjIxOjQ1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWcuaC5tZXNvbjoKCSogZXh0L2Fzc3JlbmRlci9tZXNvbi5idWlsZDoKCSogZXh0L2J6Mi9tZXNvbi5idWlsZDoKCSogZXh0L2Nocm9tYXByaW50L21lc29uLmJ1aWxkOgoJKiBleHQvY3VybC9tZXNvbi5idWlsZDoKCSogZXh0L2Rhc2gvbWVzb24uYnVpbGQ6CgkqIGV4dC9kaXJlY3RmYi9tZXNvbi5idWlsZDoKCSogZXh0L2R0bHMvbWVzb24uYnVpbGQ6CgkqIGV4dC9kdHMvbWVzb24uYnVpbGQ6CgkqIGV4dC9mYWFjL21lc29uLmJ1aWxkOgoJKiBleHQvZmFhZC9tZXNvbi5idWlsZDoKCSogZXh0L2ZsaXRlL21lc29uLmJ1aWxkOgoJKiBleHQvZmx1aWRzeW50aC9tZXNvbi5idWlsZDoKCSogZXh0L2hscy9tZXNvbi5idWlsZDoKCSogZXh0L2thdGUvbWVzb24uYnVpbGQ6CgkqIGV4dC9saWJkZTI2NS9tZXNvbi5idWlsZDoKCSogZXh0L2xpYm1tcy9tZXNvbi5idWlsZDoKCSogZXh0L21lc29uLmJ1aWxkOgoJKiBleHQvbXBnMTIzL21lc29uLmJ1aWxkOgoJKiBleHQvb3BlbmgyNjQvbWVzb24uYnVpbGQ6CgkqIGV4dC9vcGVuanBlZy9tZXNvbi5idWlsZDoKCSogZXh0L29wdXMvbWVzb24uYnVpbGQ6CgkqIGV4dC9yZXNpbmR2ZC9tZXNvbi5idWlsZDoKCSogZXh0L3JzdmcvbWVzb24uYnVpbGQ6CgkqIGV4dC9ydG1wL21lc29uLmJ1aWxkOgoJKiBleHQvc2JjL21lc29uLmJ1aWxkOgoJKiBleHQvc2Nocm9lZGluZ2VyL21lc29uLmJ1aWxkOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL21lc29uLmJ1aWxkOgoJKiBleHQvc291bmR0b3VjaC9tZXNvbi5idWlsZDoKCSogZXh0L3NwYW5kc3AvbWVzb24uYnVpbGQ6CgkqIGV4dC9zcnRwL21lc29uLmJ1aWxkOgoJKiBleHQvc3J0cC9zcnRwX21rZW51bS5weToKCSogZXh0L3ZvYWFjZW5jL21lc29uLmJ1aWxkOgoJKiBleHQvd2VicC9tZXNvbi5idWlsZDoKCSogZXh0L3gyNjUvbWVzb24uYnVpbGQ6CgkqIGV4dC96YmFyL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL21lc29uLmJ1aWxkOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbmZpZy5oLm1lc29uOgoJKiBnc3QtbGlicy9nc3QvZ2wvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL2J1aWxkX21rZW51bS5weToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHNfZW51bS5weToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9tZXNvbi5idWlsZDoKCSogZ3N0LWxpYnMvbWVzb24uYnVpbGQ6CgkqIGdzdC9hY2N1cmlwL21lc29uLmJ1aWxkOgoJKiBnc3QvYWRwY21kZWMvbWVzb24uYnVpbGQ6CgkqIGdzdC9hZHBjbWVuYy9tZXNvbi5idWlsZDoKCSogZ3N0L2FpZmYvbWVzb24uYnVpbGQ6CgkqIGdzdC9hc2ZtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb2J1ZmZlci9tZXNvbi5idWlsZDoKCSogZ3N0L2F1ZGlvZnhiYWQvbWVzb24uYnVpbGQ6CgkqIGdzdC9hdWRpb21peGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9tZXNvbi5idWlsZDoKCSogZ3N0L2F1dG9jb252ZXJ0L21lc29uLmJ1aWxkOgoJKiBnc3QvYmF5ZXIvbWVzb24uYnVpbGQ6CgkqIGdzdC9jYW1lcmFiaW4yL21lc29uLmJ1aWxkOgoJKiBnc3QvY2R4YXBhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvY29sb3JlZmZlY3RzL21lc29uLmJ1aWxkOgoJKiBnc3QvY29tcG9zaXRvci9tZXNvbi5idWlsZDoKCSogZ3N0L2RhdGF1cmlzcmMvbWVzb24uYnVpbGQ6CgkqIGdzdC9kY2NwL21lc29uLmJ1aWxkOgoJKiBnc3QvZGVidWd1dGlscy9tZXNvbi5idWlsZDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvbWVzb24uYnVpbGQ6CgkqIGdzdC9kdmRzcHUvbWVzb24uYnVpbGQ6CgkqIGdzdC9mYWNlb3ZlcmxheS9tZXNvbi5idWlsZDoKCSogZ3N0L2Zlc3RpdmFsL21lc29uLmJ1aWxkOgoJKiBnc3QvZmllbGRhbmFseXNpcy9tZXNvbi5idWlsZDoKCSogZ3N0L2ZyZWV2ZXJiL21lc29uLmJ1aWxkOgoJKiBnc3QvZnJlaTByL21lc29uLmJ1aWxkOgoJKiBnc3QvZ2FtZXMvbWVzb24uYnVpbGQ6CgkqIGdzdC9nYXVkaWVmZmVjdHMvbWVzb24uYnVpbGQ6CgkqIGdzdC9nZHAvbWVzb24uYnVpbGQ6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vbWVzb24uYnVpbGQ6CgkqIGdzdC9oZHZwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L2lkM3RhZy9tZXNvbi5idWlsZDoKCSogZ3N0L2ludGVyL21lc29uLmJ1aWxkOgoJKiBnc3QvaW50ZXJsYWNlL21lc29uLmJ1aWxkOgoJKiBnc3QvaXZmcGFyc2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9pdnRjL21lc29uLmJ1aWxkOgoJKiBnc3QvanAya2RlY2ltYXRvci9tZXNvbi5idWlsZDoKCSogZ3N0L2pwZWdmb3JtYXQvbWVzb24uYnVpbGQ6CgkqIGdzdC9saWJyZmIvbWVzb24uYnVpbGQ6CgkqIGdzdC9tZXNvbi5idWlsZDoKCSogZ3N0L21pZGkvbWVzb24uYnVpbGQ6CgkqIGdzdC9taXhtYXRyaXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9tcGVnMXN5cy9tZXNvbi5idWlsZDoKCSogZ3N0L21wZWdkZW11eC9tZXNvbi5idWlsZDoKCSogZ3N0L21wZWdwc211eC9tZXNvbi5idWlsZDoKCSogZ3N0L21wZWd0c2RlbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvbXBlZ3RzbXV4L21lc29uLmJ1aWxkOgoJKiBnc3QvbXZlL21lc29uLmJ1aWxkOgoJKiBnc3QvbXhmL21lc29uLmJ1aWxkOgoJKiBnc3QvbnV2ZGVtdXgvbWVzb24uYnVpbGQ6CgkqIGdzdC9vbnZpZi9tZXNvbi5idWlsZDoKCSogZ3N0L292ZXJsYXkvbWVzb24uYnVpbGQ6CgkqIGdzdC9wYXRjaGRldGVjdC9tZXNvbi5idWlsZDoKCSogZ3N0L3BjYXBwYXJzZS9tZXNvbi5idWlsZDoKCSogZ3N0L3BubS9tZXNvbi5idWlsZDoKCSogZ3N0L3Jhd3BhcnNlL21lc29uLmJ1aWxkOgoJKiBnc3QvcmVhbC9tZXNvbi5idWlsZDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvbWVzb24uYnVpbGQ6CgkqIGdzdC9ydGpwZWcvbWVzb24uYnVpbGQ6CgkqIGdzdC9zZGkvbWVzb24uYnVpbGQ6CgkqIGdzdC9zZHAvbWVzb24uYnVpbGQ6CgkqIGdzdC9zZWdtZW50Y2xpcC9tZXNvbi5idWlsZDoKCSogZ3N0L3NpcmVuL21lc29uLmJ1aWxkOgoJKiBnc3Qvc21vb3RoL21lc29uLmJ1aWxkOgoJKiBnc3Qvc3BlZWQvbWVzb24uYnVpbGQ6CgkqIGdzdC9zdGVyZW8vbWVzb24uYnVpbGQ6CgkqIGdzdC9zdWJlbmMvbWVzb24uYnVpbGQ6CgkqIGdzdC90dGEvbWVzb24uYnVpbGQ6CgkqIGdzdC92YmlkZWMvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2ZpbHRlcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb21lYXN1cmUvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb3BhcnNlcnMvbWVzb24uYnVpbGQ6CgkqIGdzdC92aWRlb3NpZ25hbC9tZXNvbi5idWlsZDoKCSogZ3N0L3ZtbmMvbWVzb24uYnVpbGQ6CgkqIGdzdC95NG0vbWVzb24uYnVpbGQ6CgkqIGdzdC95YWRpZi9tZXNvbi5idWlsZDoKCSogbWVzb24uYnVpbGQ6CgkqIG1lc29uX29wdGlvbnMudHh0OgoJKiBwa2djb25maWcvbWVzb24uYnVpbGQ6CgkqIHN5cy9ibHVlei9tZXNvbi5idWlsZDoKCSogc3lzL2QzZHZpZGVvc2luay9tZXNvbi5idWlsZDoKCSogc3lzL2RpcmVjdHNvdW5kL21lc29uLmJ1aWxkOgoJKiBzeXMvZHZiL21lc29uLmJ1aWxkOgoJKiBzeXMvbWVzb24uYnVpbGQ6CgkqIHN5cy93YXNhcGkvbWVzb24uYnVpbGQ6CgkqIHN5cy93aW5rcy9tZXNvbi5idWlsZDoKCSogc3lzL3dpbnNjcmVlbmNhcC9tZXNvbi5idWlsZDoKCSAgQWRkIHN1cHBvcnQgZm9yIE1lc29uIGFzIGFsdGVybmF0aXZlL3BhcmFsbGVsIGJ1aWxkIHN5c3RlbQoJICBodHRwczovL2dpdGh1Yi5jb20vbWVzb25idWlsZC9tZXNvbgoJICBXaXRoIGNvbnRyaWJ1dGlvbnMgZnJvbToKCSAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCSAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCSAgSnVzc2kgUGFra2FuZW4gPGpwYWtrYW5lQGdtYWlsLmNvbT4gKG9yaWdpbmFsIHBvcnQpCgkgIEhpZ2hsaWdodHMgb2YgdGhlIGZlYXR1cmVzIHByb3ZpZGVkIGFyZToKCSAgKiBGYXN0ZXIgYnVpbGRzIG9uIExpbnV4ICh+NDAtNTAlIGZhc3RlcikKCSAgKiBUaGUgYWJpbGl0eSB0byBidWlsZCB3aXRoIE1TVkMgb24gV2luZG93cwoJICAqIEdlbmVyYXRlIFZpc3VhbCBTdHVkaW8gcHJvamVjdCBmaWxlcwoJICAqIEdlbmVyYXRlIFhDb2RlIHByb2plY3QgZmlsZXMKCSAgKiBNdWNoIGZhc3RlciBidWlsZHMgb24gV2luZG93cyAob24tcGFyIHdpdGggTGludXgpCgkgICogU2VyaW91c2x5IGZhc3QgY29uZmlndXJlIGFuZCBidWlsZGluZyBvbiBlbWJlZGRlZAoJICAuLi4gYW5kIG1hbnkgbW9yZS4gRm9yIG1vcmUgZGV0YWlscyBzZWU6CgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDUvZ3N0cmVhbWVyLWFuZC1tZXNvbi1uZXctaG9wZS5odG1sCgkgIGh0dHA6Ly9ibG9nLm5pcmJoZWVrLmluLzIwMTYvMDcvYnVpbGRpbmctYW5kLWRldmVsb3BpbmctZ3N0cmVhbWVyLXVzaW5nLmh0bWwKCSAgQnVpbGRpbmcgd2l0aCBNZXNvbiBzaG91bGQgd29yayBvbiBib3RoIExpbnV4IGFuZCBXaW5kb3dzLCBidXQgbWF5CgkgIG5lZWQgYSBmZXcgbW9yZSB0d2Vha3Mgb24gb3RoZXIgb3BlcmF0aW5nIHN5c3RlbXMuCgoyMDE2LTA4LTE4IDE3OjQ2OjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSAgcGx1Z2luczogVXNlIHN0ZGludC5oIGluc3RlYWQgb2YgX3N0ZGludC5oCgkgIF9zdGRpbnQuaCBpcyBnZW5lcmF0ZWQgYnkgQXV0b3Rvb2xzIGFuZCB3ZSBkb24ndCByZWFsbHkgbmVlZCBpdC4gQWxsCgkgIHN1cHBvcnRlZCBwbGF0Zm9ybXMgbm93IHNoaXAgd2l0aCBzdGRpbnQuaC4gVGhlIG9ubHkgc3RpY2tsZXIgd2FzIE1TVkMsCgkgIGFuZCBzaW5jZSBWaXN1YWwgU3R1ZGlvIDIwMTUgaXQgYWxzbyBzaGlwcyBzdGRpbnQuaCBub3cuCgoyMDE2LTA4LTEyIDIxOjUxOjE3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICB3aW4zMjogVXBkYXRlIGxpYmdzdGdsLmRlZgoKMjAxNi0wMy0wMiAwMDo1Mzo0NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWsuY2hhdWhhbkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogRXhwbGljaXRseSBleHBvcnQgZnVuY3Rpb25zIG1hcmtlZCBpbmxpbmUKCSAgT24gTVNWQywgaW5saW5lIGZ1bmN0aW9ucyBhcmUgbm90IGF2YWlsYWJsZSBvdXRzaWRlIG9mIGEgZmlsZSB1bmxlc3MKCSAgZXhwbGljaXRseSBleHBvcnRlZAoKMjAxNi0wOC0xOSAxMjoyNDo1OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3ZpZGVvcGFyc2U6IGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgU21hbGwgdHlwbyBpbiB0aGUgY29tbWVudCBleHBsYWluaW5nIHRoZSBjb2RlIGZpeGVkIGJ5IHRoZSBwcmV2aW91cyBjb21taXQuCgkgIEZpeGluZyBpdC4KCjIwMTYtMDgtMTkgMTQ6MTk6MzggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJICByYXd2aWRlb3BhcnNlOiBSZXZlcnQgbGFzdCBjb21taXQgYW5kIGFjdHVhbGx5IHJlbWVtYmVyIHRoZSBwaHlzaWNhbGx5IGxhc3QgcGxhbmUKCSAgSW5zdGVhZCBvZiBqdXN0IGFsd2F5cyB0YWtpbmcgdGhlIGxhc3Qgb25lIGFzIGJlZm9yZS4KCjIwMTYtMDgtMTkgMTE6NTc6MzMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJICByYXd2aWRlb3BhcnNlOiByZW1vdmUgdW51c2VkIGFzc2lnbm1lbnQKCSAgVmFsdWUgaW4gbGFzdF9wbGFuZSB3aWxsIGJlIG92ZXJ3cml0dGVuIGJlZm9yZSB1c2VkLCByZW1vdmUgdW51c2VkCgkgIGFzaWdubWVudC4KCSAgRml4ZXMgY29tbWl0IDkxY2Y1YWM2OWY5Yzk5ZmU0MWQ2MGY0MmI0MTc0OTE1ZGQxMzVlN2IKCSAgQ0lEIDEzNzE0NjIKCjIwMTYtMDgtMTggMTg6NTU6NDEgKzAyMDAgIFBoaWxpcHBlIFJlbm9uIDxwaGlsaXBwZV9yZW5vbkB5YWhvby5mcj4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJICBkYWFsYTogZml4IHR5cG8gcmVsYXRlZCBjb21waWxhdGlvbiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMTAyCgoyMDE2LTA4LTE5IDExOjAyOjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiByZW1vdmUgYml0cm90dGVuIHBsdWdpbiB0aGF0J3Mgbm8gbG9uZ2VyIG5lZWRlZAoKMjAxNi0wOC0xOSAxOTo0NjoyNCArMTAwMCAgRmxvcmlhbiBad29jaCA8Znp3b2NoQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhY2NvdW50IGZvciByZXRpbmEgZGlzcGxheXMgd2hlbiBjYXB0dXJpbmcgc2NyZWVucwoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc3MDAzMAoKMjAxNi0wOC0xOSAxNzoxMToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogYnVtcCBncmFwaGVuZSByZXF1aXJlbWVudCB0byAxLjQKCjIwMTYtMDgtMTkgMTU6MzU6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkgIGdsdHJhbnNmb3JtYXRpb246IHJld3JpdGUgdGhlIGludmVyc2UgdHJhbnNmb3JtYXRpb24gbG9naWMKCSAgSXQgbm93IHJldHVybnMgdGhlIGNvcnJlY3QgdmFsdWVzIGZvciBib3RoIG9ydGhvZ3JhcGhpYyBhbmQgcGVyc3BlY3RpdmUKCSAgcHJvamVjdGlvbnMgYW5kIHRha2VzIGludG8gYWNjb3VudCB0aGUgYXNwZWN0IHJhdGlvIG9mIHRoZSB2aWRlbywgaGFuZGxlcwoJICB0aGUgWS1mbGlwcGluZyBpbiBHTCBhbmQgYnkgdXMgYW5kIHVzZXMgc29tZSBtb3JlIGhlbHBlcnMgZnJvbSBncmFwaGVuZS4KCjIwMTYtMDctMDEgMTY6MTg6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogbWFyc2hhbCBnc3RfZ2xfd2luZG93X3Jlc2l6ZSB0aHJvdWdoIHRoZSB3aW5kb3cgbG9vcAoJICBzYXZlcyBoYXZpbmcgZXZlcnkgY2FsbGVyIGRvIGl0IHRoZW1zZWx2ZXMuCgoyMDE2LTA2LTMwIDIzOjA2OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJICBnbC93YXlsYW5kOiB1c2UgbXVsdGktdGhyZWFkZWQgc2FmZSBldmVudCB3YXlsYW5kIEFQSQoJICBNdWx0aXBsZSB0aHJlYWRzIG1heSBiZSBhY2Nlc3NpbmcgdGhlIHdheWxhbmQgZmQgYXQgdGhlIHNhbWUgdGltZSB3aGljaAoJICByZXF1aXJlcyB0aGUgdXNlIG9mIHNwZWNpYWwgd2F5bGFuZCBBUEkgdG8gZGVhbCB3aXRoIHRvIGVuc3VyZSBub2JvZHkKCSAgd2lsbCBzdGVhbCByZWFkcyBhbmQgY2F1c2UgYSBzdGFsbCBmb3IgYW55b25lIGVsc2UuCgoyMDE2LTA3LTAxIDAwOjE1OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBnbC9leGFtcGxlcy9meHRlc3Q6IGZpeCB1cCBmb3Igd2F5bGFuZCBzdXBwb3J0CgkgIC0gUGFzcyB0aGUgd2F5bGFuZCBkaXNwbGF5IHRvIGdzdAoJICAtIFJlZHJhd2luZyBvbiByZXNpemUgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KCjIwMTYtMDgtMTcgMTY6MjE6MzQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogd2FybiBvbiBpZ25vcmVkIGtleS92YWx1ZSBwYWlycwoJICBPdGhlcndpc2UgYXQgcnVudGluZSwgdXNlcnMgZ2V0IHRoZSBtaXNsZWFkaW5nCgkgIHBhcnNpbmctT0sgbWVzc2FnZSB3aXRoIG5vIGluZm8gb24sIGZvciBleGFtcGxlLAoJICBwcm9wZXJ0aWVzIHRoYXQgZmFpbGVkIHRvIG1hcCBiZWNhdXNlIG9mIGEgdHlwby4KCjIwMTYtMDgtMTYgMTU6MzU6MzkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogaGFuZGxlIHByb2JsZW1zIHBhcnNpbmcgZHZidjUgY29uZmlnIGtleXMKCjIwMTYtMDgtMTggMTU6Mjg6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBEb24ndCBzdGFydCB0YXNrICh5ZXQvYWdhaW4pIG9uIHBhZCByZWxlYXNlIGlmIHdlJ3JlIGluIFJFQURZIG9yIE5VTEwKCSAgRml4ZXMgc3B1cmlvdXMgc2VnZmF1bHQgaW4gdW5pdCB0ZXN0LCB3aGVyZSB0aGUgdGFzayB3YXMgc3RhcnRlZCBhZ2FpbiBkdXJpbmcKCSAgc2h1dGRvd24gd2hlbiBhbGwgcGFkcyB3ZXJlIHJlbW92ZWQuLi4gYW5kIHdhcyB0aGVuIHN0aWxsIHJ1bm5pbmcgd2hpbGUgdGhlCgkgIGVsZW1lbnQgd2FzIGZpbmFsaXplZC4KCjIwMTYtMDgtMTggMTM6MjE6NTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBJbiBLRVlfVU5JVFMgdHJpY2sgbW9kZSwgZG93bmxvYWQgYWxsIEktZnJhbWVzIGFuZCBub3Qgb25seSBJRFIKCjIwMTYtMDgtMDggMTc6NTQ6NDYgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jhd2F1ZGlvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogRml4IGFuZCBleHRlbmQgdW5pdCB0ZXN0cwoJICAqIEFkZCBjYXBzIGNoYW5nZSB0ZXN0IHRvIHVuaXQgdGVzdHMKCSAgKiBDbGVhbnVwIGxlZnRvdmVyIGJ1ZmZlcnMgYWZ0ZXIgZWFjaCB1bml0IHRlc3QKCSAgKiBBZGQgbWlzc2luZyByYXd2aWRlb3BhcnNlIGVudHJ5IGluIC5naXRpZ25vcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTYzNwoKMjAxNi0wOC0xNiAwOTozMTo0MCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3ZpZGVvcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3dmlkZW9wYXJzZS5jOgoJICByYXd2aWRlb3BhcnNlOiBDb21wdXRlIHBsYW5lIG9mZnNldHMgJiBzdHJpZGVzIGlmIG5vIGN1c3RvbSBvbmVzIGFyZSBzZXQKCSAgVGhpcyBpcyB1c2VmdWwgdG8gZW5zdXJlIHRoYXQgdGhlIG9mZnNldHMgYW5kIHN0cmlkZXMgYXJlIGNvbXB1dGVkIGlmCgkgIG9ubHkgd2lkdGgsIGhlaWdodCwgZm9ybWF0IGV0Yy4gaW4gdGhlIHByb3BlcnR5IGNvbmZpZyBhcmUgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5Nzk3CgoyMDE2LTA4LTE2IDE4OjQ2OjQ5ICswMzAwICBTZXJnZWkgU2F2ZWxpZXYgPHNhdmVsaWV2LnNlcmdlaUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogRG9uJ3QgZXNjYXBlIHRoZSBVUkkgYW5vdGhlciB0aW1lIGluIGFub3RoZXIgbG9jYXRpb24gdG9vCgkgIE9uZSBsb2NhdGlvbiB3YXMgZm9yZ290dGVuIGluIGE5MTNhMGI5Njc5ZGQ1ODk0NWFkMTA1ZDI0MGRiNDU1OTVmZGFiYTYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ5MgoKMjAxNi0wOC0xNiAyMDozMzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuaDoKCSAgZ2wvZWdsOiBmaXggaW52ZXJ0ZWQgdHlwZWRlZgoJICAyYjY4NDFkIGhhZCBhbiBpbnZlcnRlZCB0eXBlZGVmIGRlZmluaW5nIGdpbnB0ciBhbmQgRUdMQXR0cmliLiAgRml4IHRoYXQuCgoyMDE2LTA4LTE2IDEwOjM3OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBGaXggY29tcGlsYXRpb24gd2l0aCB3aWxkbWlkaSAwLjQKCSAgT2xkIHZlcnNpb25zIHVzZWQgY2hhciogZm9yIHRoZSBkYXRhLCBuZXcgdmVyc2lvbnMgdXNlIGludDhfdCouIFRoZXkncmUgb2Z0ZW4KCSAgbm90IHRoZSBzYW1lIGFuZCBkaWZmZXIgaW4gc2lnbmVkbmVzcy4KCjIwMTYtMDgtMTYgMTY6NTE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuaDoKCSAgZ2wvYnVpbGQ6IGFkZCBjb25maWd1cmUgY2hlY2sgZm9yIHBvc3NpYmx5IG1pc3NpbmcgRUdMQXR0cmliCgkgIEZpeGVzIHRoZSBidWlsZCBvbiBvbGRlciBhbmRyb2lkIHRhcmdldHMuCgoyMDE2LTA3LTEzIDE3OjE1OjQ0ICswODAwICBTb25nIEJpbmcgPGJpbmcuc29uZ0BueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSAgZ2wvZWdsL2RtYWJ1ZjogV3JvbmcgYXR0cmlidXRlIGxpc3QgdHlwZSBmb3IgRUdMIDEuNQoJICBGb3IgRUdMIDEuNSBzcGVjLCB0aGUgYXR0cmlidXRlIGxpc3QgdHlwZSBzaG91bGQgYmUgRUdMQXR0cmliLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NjAyCgoyMDE2LTA4LTE1IDE2OjE0OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggcmFjZSBqb2luaW5nIHRocmVhZCBvbiBmaW5hbGl6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5OTM5CgoyMDE2LTA4LTE2IDAwOjQwOjUzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9nc3RxdGdsdXRpbGl0eS5jYzoKCSAgcXQ6IFVzZSB3Z2xTaGFyZUxpc3RzKCkgd29ya2Fyb3VuZCB1bmNvbmRpdGlvbmFsbHkuCgkgIFNvbWV0aW1lcyB3Z2xDcmVhdGVDb250ZXh0QXR0cmlic0FSQigpIGV4aXN0cywgYnV0CgkgIGlzbid0IGZ1bmN0aW9uYWwgKHNvbWUgSW50ZWwgZHJpdmVycyksIHNvIGl0J3MKCSAgZWFzaWVzdCB0byBkbyB0aGUgd29ya2Fyb3VuZCB1bmNvbmRpdGlvbmFsbHkuCgoyMDE2LTA4LTE1IDE2OjM3OjQ0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgd2lua3M6IEZpeCBSR0IgZnJhbWUgZmxpcHBpbmcgYW5kIHBvc3Rwcm9jZXNzaW5nCgkgIFVuY29tcHJlc3NlZCBSR0IgZnJhbWVzIGNhbiBiZSAodXN1YWxseSBhcmUpIGJvdHRvbS11cAoJICBsYXlvdXQgaW4gRGlyZWN0U2hvdywgYW5kIHRoZSBjb2RlIHRvIGZsaXAgdGhlbSB3YXNuJ3QKCSAgcHJvcGVybHkgcG9ydGVkIGZyb20gMC4xMC4gRml4IGl0LgoJICBGaXggcG9zdC1wcm9jZXNzaW5nIG9mIFJHQiBidWZmZXJzLiBXZSBuZWVkIGEgd3JpdGFibGUKCSAgYnVmZmVyLCBidXQgdGhlIHJlcXVlc3RzIHBvb2wgaXMgaG9sZGluZyBhbiBleHRyYSByZWYuCgkgIFRoaXMgY291bGQgdXNlIG1vcmUgZml4aW5nIHRvIHVzZSBhIGJ1ZmZlciBwb29sCgoyMDE2LTA4LTEyIDIyOjE3OjI1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBHaXZlIHRoZSBrc3ZpZGVvc3JjIFBSSU1BUlkgcmFuawoJICBJdCdzIHRoZSBwcmltYXJ5IHZpZGVvIHNvdXJjZSBvbiBXaW5kb3dzLCBzbyBnaXZlIGl0IGEKCSAgcmFuayBmb3IgYXV0b3BsdWdnaW5nIGJ5IGNhbWVyYWJpbiBhbmQgZnJpZW5kcwoKMjAxNi0wOC0xMiAyMjoxNjozMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IEZpeCBzd2FwcGVkIFJHQngvUkdCIGNhcHMgbWFwcGluZywgYW5kIGVuZGlhbm5lc3MuCgkgIFRoZSBSR0J4IGFuZCBSR0IgZm9ybWF0IG1hcHBpbmdzIHdlcmUgcmV2ZXJzZWQuCgkgIFdoYXQgV2luZG93cyBjYWxscyBSR0IgYXJlIGxhaWQgb3V0IGFzIEJHUiBpbiBvdXIgcGFybGFuY2UsIHNvCgkgIHN3aXRjaCB0aGF0IHRvbwoKMjAxNi0wOC0wOCAxMzo0MToxNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuY2M6CgkgIHF0OiBNb3ZlIGRlYnVnIHN0YXRlbWVudCB0byBhZnRlciB0aGUgY2F0ZWdvcnkgaW5pdAoJICBEb24ndCBvdXRwdXQgZGVidWcgdG8gYW4gdW5pbml0aWFsaXNlZCBkZWJ1ZyBjYXRlZ29yeS4KCjIwMTYtMDgtMTEgMTI6MTk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZGFzaGRlbXV4OiBEaXNhYmxlIHVuaXQgdGVzdCBmb3IgdGhlIHRpbWUgYmVpbmcKCSAgSXQgdXNlcyByYW5kb20gZGF0YSBzdHJlYW1zIGJ1dCBkYXNoZGVtdXggbm93YWRheXMgYWN0dWFsbHkgbG9va3MgaW50byB0aGUKCSAgc3RyZWFtcyBhbmQgZG9lc24ndCBsaWtlIHJhbmRvbW5lc3MgdmVyeSBtdWNoLiBUaGUgdGVzdHMgc2hvdWxkIHByb2JhYmx5IGp1c3QKCSAgYmVjb21lIHZhbGlkYXRlIHRlc3RzIG9uIHJlYWwgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTU1MwoKMjAxNi0wOC0xMSAxMjoxMToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZXZlcnQgIlJldmVydCAiZGFzaGRlbXV4OiBXaGVuIGRvaW5nIFNJRFggc2Vla2luZywgcmV0dXJuIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgdGltZXN0YW1wIHdpdGggMCBmcm9tIHRoZSBNUEQgc2Vla2luZyBtZXRob2QiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFlYTJjMTNmYzE2NzJhNzI2MDY3OWQ3MDZkMGEwODRhMzRiYTc1MzEuCgoyMDE2LTA4LTA0IDE0OjQ3OjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogV2hlbiBkb2luZyBjaHVua2VkIGRvd25sb2FkaW5nIG9uIFNJRFgsIGNsaXAgcmVxdWVzdHMgb24gdGhlIFNJRFggZW50cnkgYm91bmRhcmllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA4LTAyIDA4OjQ3OjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IENvbGxlY3QgYXZlcmFnZSBtb29mIGFuZCBmaXJzdCBzeW5jIHNhbXBsZSBzaXplcwoJICBBbmQgYWx3YXlzIHJlcXVlc3QgdGhvc2UgaW4gdGhlIGJlZ2lubmluZyBzbyB0aGF0IGlkZWFsbHkgd2UgZ2V0IHRoZSBtb29mIGFuZAoJICB0aGUgZmlyc3Qgc3luYyBzYW1wbGUgYWxsIHRvZ2V0aGVyIHdpdGggdGhlIGZpcnN0IEhUVFAgcmVxdWVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wOC0wMiAwODozNToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBEb3dubG9hZCBhbnkgc3luYy1zYW1wbGUgZm9sbG93aW5nIHRoZSBtb29mIGRpcmVjdGx5IGluIGtleS11bml0cyBvbmx5IG1vZGUKCSAgV2UgZG9uJ3QgaGF2ZSB0byBkbyB5ZXQgYW5vdGhlciBhZGRpdGlvbmFsIHJlcXVlc3QgYnV0IGNhbiBqdXN0IGRvd25sb2FkIHRoZQoJICBkYXRhIGRpcmVjdGx5LgoJICBBbHNvIHVuaWZ5IHRoZSBrZXktdW5pdCBvbmx5IG1vZGUgYnVmZmVyIHB1c2hpbmcgYW5kIGV4dHJhY3QgaXQgaW50byBpdHMgb3duCgkgIGZ1bmN0aW9uIG5vdyB0aGF0IGl0IGJlY2FtZSBtb3JlIGNvbXBsaWNhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTI5IDEyOjUwOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogSWYgYSBmcmFnbWVudCBjb250YWlucyBubyBzeW5jIHNhbXBsZXMsIGRpc2FibGUga2V5LXVuaXQgbW9kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTI5IDEyOjMyOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFJlbWVtYmVyIGlmIGZvciBhIHN0cmVhbSB3ZSBjb3VsZCBkbyBrZXktdW5pdHMgb25seSBtb2RlCgkgIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBldmVuIHRyeSBnb2luZyBpbnRvIHRoYXQgbW9kZSBpZiB3ZSBwcmV2aW91c2x5IHNhdwoJICB0aGF0IHRoZSBzdHJlYW0gZG9lcyBub3QgaGF2ZSB0aGUgc3VpdGFibGUgbWV0YWRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDctMjkgMTE6NTQ6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBBbHNvIGFsbG93IGtleS11bml0IG9ubHkgbW9kZSBpZiAoc29tZSkgc2FtcGxlIGZsYWdzIGFyZSBnaXZlbiBieSB0cmV4IGJ1dCB3ZSBjYW4gc3RpbGwgZmluZCBzeW5jIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTEyIDIwOjA5OjUyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXNlIGNodW5rZWQgZG93bmxvYWRpbmcgZm9yIHRoZSBtb29mIGluIEtFWV9VTklUUyBtb2RlCgkgIEFsbG93cyB1cyB0byByZXVzZSB0aGUgSFRUUCBjb25uZWN0aW9uIGFuZCByZWR1Y2UgbGF0ZW5jaWVzIGEgbG90LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA3LTEyIDEwOjIyOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEFkZCBBUEkgZm9yIGFsbG93aW5nIHN1YmNsYXNzZXMgdG8gZG93bmxvYWQgVVJMcyBpbiBjaHVua3MKCSAgVGhpcyBhbGxvd3MgdG8gZ3JhZHVhbGx5IGRvd25sb2FkIHBhcnQgb2YgYSBmcmFnbWVudCB3aGVuIHRoZSBmaW5hbCBzaXplIGlzCgkgIG5vdCBrbm93biBhbmQgb25seSBhIHBhcnQgb2YgaXQgc2hvdWxkIGJlIGRvd25sb2FkZWQuIEZvciBleGFtcGxlIHdoZW4gb25seQoJICB0aGUgbW9vZiBzaG91bGQgYmUgcGFyc2VkIGFuZC9vciBhIHNpbmdsZSBrZXlmcmFtZSBzaG91bGQgYmUgZG93bmxvYWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNi0wMSAxNDowMjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE1hcmsgZXZlcnkgZmlyc3QgYnVmZmVyIG9mIG1vb3YsIHNpZHgsIG1vb2YgYW5kIG1kYXQgYXMgRElTQ09OVCBpbiBrZXlmcmFtZS1vbmx5IG1vZGUKCSAgV2UgbmVlZCB0byBtYXJrIGV2ZXJ5IGZpcnN0IGJ1ZmZlciBvZiBhIGtleSB1bml0IGFzIGRpc2NvbnQsIGFuZCBhbHNvIGV2ZXJ5CgkgIGZpcnN0IGJ1ZmZlciBvZiBhIG1vb3YgYW5kIG1vb2YuIFRoaXMgZW5zdXJlcyB0aGF0IHF0ZGVtdXggdGFrZXMgbm90ZSBvZiBvdXIKCSAgYnVmZmVyIG9mZnNldHMgZm9yIGVhY2ggb2YgdGhvc2UgYnVmZmVycyBpbnN0ZWFkIG9mIGtlZXBpbmcgdHJhY2sgb2YgdGhlbQoJICBpdHNlbGYgZnJvbSB0aGUgZmlyc3QgYnVmZmVyLiBXZSBuZWVkIG9mZnNldHMgdG8gYmUgY29uc2lzdGVudCBiZXR3ZWVuIG1vb2YKCSAgYW5kIG1kYXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNy0yOCAxMDo1Mzo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE9ubHkgZW5hYmxlIGtleS11bml0IHRyaWNrIG1vZGUgZm9yIHZpZGVvIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNS0zMSAxNToxMjo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE9ubHkgZG8ga2V5ZnJhbWUtb25seSBwbGF5YmFjayBpZiB0aGUgY29ycmVzcG9uZGluZyBzZWVrIGZsYWcgaXMgZ2l2ZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNS0zMCAxMjowOTozNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgZG93bmxvYWRpbmcgb2Ygb25seSBzeW5jIHNhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNS0zMCAxMToxNTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBTdG9yZSBwYXJzZWQgbW9vZiBhbmQgZXh0cmFjdCBvZmZzZXRzIG9mIHN5bmMgc2FtcGxlcyBpbiBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA1LTAyIDE3OjExOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfaXNvZmYuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9pc29mZi5oOgoJICBkYXNoOiBBZGQgdGVzdCBmb3IgcGFyc2luZyBhIG1vb2YgYm94CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDUtMDIgMTY6MDM6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9pc29mZi5jOgoJICBkYXNoOiBBZGQgdW5pdCB0ZXN0IGZvciBJU09CRkYgYm94IGhlYWRlciBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDQtMDcgMjE6MzM6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuaDoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgcGFyc2luZyBvZiBtb29mIGJveAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA0LTA3IDEzOjM0OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSAgZGFzaGRlbXV4OiBNb3ZlIGNvZGUgYXJvdW5kIHRvIGtlZXAgYWxsIHNpZHggcmVsYXRlZCBmdW5jdGlvbnMgdG9nZXRoZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTEwNAoKMjAxNi0wNC0wNyAxMjo1NzoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJKiBleHQvZGFzaC9nc3Rpc29mZi5oOgoJICBkYXNoZGVtdXg6IFN0b3JlIGJveCBmb3VyY2NzIGluIHRoZSBoZWFkZXIgYXQgYSBjZW50cmFsIHBsYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDExMDQKCjIwMTYtMDMtMjggMTM6NDU6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IHBhcnNpbmcgb2YgSVNPQk1GRiBib3hlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTAzLTE2IDEzOjQ4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuaDoKCSAgZGFzaDogQWRkIGhlbHBlciBmb3IgcGFyc2luZyBib3ggaGVhZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMTA0CgoyMDE2LTA4LTEwIDIyOjUwOjEyICswMDAwICB4bGF6b20wMCA8eGxhem9tMDBAZ21haWwuY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBFbmFibGUgYXNwZWN0IHJhdGlvCgkgIHgyNjUgZW5jb2RlciBuZWVkIGFzcGVjdFJhdGlvSWRjID09IFgyNjVfRVhURU5ERURfU0FSIGlmIHdlIHdhbnQgdG8gdXNlCgkgIHNhcldpZHRoL3NhckhlaWdodAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5NzE2CgoyMDE2LTA4LTA4IDEzOjEwOjEyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IHVzZSB0aGUgY29ycmVudCBlbnVtZXJhdGlvbgoJICBGaXhlcyB0aGUgZm9sbG93aW5nIGVycm9yIHdoZW4gYnVpbGRpbmcgaW4gb3N4LgoJICBlcnJvcjogaW1wbGljaXQgY29udmVyc2lvbiBmcm9tIGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEpQRUcyMDAwQ29sb3JzcGFjZScgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEpQRUcyMDAwU2FtcGxpbmcnCgoyMDE2LTA4LTA4IDExOjI4OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBGaXggY2FsbCB0byByZWFsbG9jKCkgdG8gYWxsb2NhdGUgdGhlIGNvcnJlY3Qgc2l6ZSBvZiBpdGVtcwoKMjAxNi0wOC0wNyAyMDo1MzozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmZGthYWM6IGFjdHVhbGx5IGJ1aWxkIGFuZCBkaXN0CgoyMDE2LTA4LTA2IDIzOjMxOjIzICswMDAwICB4bGF6b20wMCA8eGxhem9tMDBAZ21haWwuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L3RpbWVjb2RlL01ha2VmaWxlLmFtOgoJICBobHMsIHRpbWVjb2RlOiBmaXggbGlua2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2OTU4NwoKMjAxNi0wOC0wNyAxMjoyMDoxNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9mZGthYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmM6CgkqIGV4dC9mZGthYWMvZ3N0ZmRrYWFjZGVjLmg6CgkqIGV4dC9mZGthYWMvcGx1Z2luLmM6CgkgIGZka2FhYzogQWRkIEZESyBBQUMgYmFzZWQgZGVjb2RlciBlbGVtZW50CgkgIE1pc3NpbmcgaXMgc3VwcG9ydCBmb3IgZXJyb3IgY29uY2VhbG1lbnQsIGV0Yy4KCjIwMTYtMDgtMDcgMTE6Mzk6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmRrYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5jOgoJKiBleHQvZmRrYWFjL2dzdGZka2FhY2VuYy5oOgoJKiBleHQvZmRrYWFjL3BsdWdpbi5jOgoJICBmZGthYWM6IEFkZCBGREsgQUFDIGJhc2VkIGVuY29kZXIgZWxlbWVudAoJICBUaGlzIGN1cnJlbnRseSBvbmx5IGhhbmRsZXMgTEMgcHJvZmlsZSBhbmQgZXhwb3NlcyBhIGJpdHJhdGUgcHJvcGVydHksIGJ1dAoJICBoYW5kbGVzIHVwIHRvIDcuMSBjaGFubmVscy4gU2VlIFRPRE8gbGlzdCBmb3IgbWlzc2luZyBmZWF0dXJlcy4KCjIwMTYtMDgtMDcgMDg6NTE6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mZGthYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mZGthYWMvcGx1Z2luLmM6CgkgIGZka2FhYzogSW5pdGlhbCBwbHVnaW4gc2tlbGV0b24KCjIwMTYtMDgtMDEgMTE6NDU6MzAgKzAyMDAgIEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBrZWVwIGVuZF9vZmZzZXQgd2hlbiBzZWVraW5nCgkgIEFmdGVyIHNlZWtpbmcgaW4gYWlmZiBmaWxlcyB0aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGRhdGEgZW5kIG9mZnNldCBpcwoJICBkaXNjYXJkZWQsIGxlYWRpbmcgdG8gYXVkaW8gYXJ0aWZhY3RzIHdpdGggbWV0YWRhdGEgY2h1bmtzIGF0IHRoZSBlbmQgb2YKCSAgYSBmaWxlLgoJICBUaGlzIHBhdGNoIHJldGFpbnMgdGhlIGVuZCBvZmZzZXQgaW5mb3JtYXRpb24gYWZ0ZXIgYSBzZWVrIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2OTM3NgoKMjAxNi0wOC0wNiAxNjoxNTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogZG9uJ3QgY3Jhc2ggaWYgdmlkZW8gZnJhbWUgY291bGQgbm90IGJlIG1hcHBlZAoJICBBcyBtaWdodCBoYXBwZW4gd2l0aCBlLmcuIHZhYXBpIGFuZCB0aGUgdGVzdCBmaWxlIGZyb20KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjIyNwoKMjAxNi0wOC0wNSAwOToxNjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZXZlcnQgImRhc2hkZW11eDogV2hlbiBkb2luZyBTSURYIHNlZWtpbmcsIHJldHVybiBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHRpbWVzdGFtcCB3aXRoIDAgZnJvbSB0aGUgTVBEIHNlZWtpbmcgbWV0aG9kIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDk0NzY1NmNmZDIyYjc1ZjkxNGQ1YWJlMGFmODIzOTY3ODdmNjc1NjQuCgkgIFRoaXMgbWFrZXMgYWxsIGRhc2ggc2Vla2luZyB0ZXN0cyBmYWlsLiBOZWVkcyBtb3JlIHRlc3RpbmcgdG8gZnVsbHkgdW5kZXJzdGFuZAoJICB3aGF0J3MgZ29pbmcgd3JvbmcuIFJldmVydCBvaydkIGJ5IFNlYmFzdGlhbgoKMjAxNi0wNS0zMSAxOToyMToxNyArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvdGltZWNvZGUvTWFrZWZpbGUuYW06CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXdhaXQuYzoKCSogZ3N0L3RpbWVjb2RlL2dzdHRpbWVjb2Rld2FpdC5oOgoJKiBnc3QvdGltZWNvZGUvcGx1Z2luLmM6CgkgIHRpbWVjb2Rld2FpdDogTmV3IGVsZW1lbnQgdG8gd2FpdCBmb3IgYSBzcGVjaWZpYyB0aW1lY29kZQoJICB0aW1lY29kZXdhaXQgcmVjZWl2ZXMgYSB0aW1lY29kZSBhcyBhbiBhcmd1bWVudCAoZWl0aGVyIGFzIHN0cmluZyBvciBhcwoJICBHc3RWaWRlb1RpbWVDb2RlIC0gb25lIGlzIGdzdC1sYXVuY2gtZnJpZW5kbHkgYW5kIHRoZSBvdGhlciBpcyBjb2RlLWZyaWVuZGx5KSwKCSAgYW5kIGl0IHdpbGwgZHJvcCBhbGwgYXVkaW8gYW5kIHZpZGVvIGJ1ZmZlcnMgdW50aWwgdGhhdCB0aW1lY29kZSBoYXMgYmVlbgoJICByZWFjaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDE5CgoyMDE2LTA1LTIwIDE4OjE3OjUyICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3RpbWVjb2RlL01ha2VmaWxlLmFtOgoJKiBnc3QvdGltZWNvZGUvZ3N0dGltZWNvZGVzdGFtcGVyLmM6CgkqIGdzdC90aW1lY29kZS9nc3R0aW1lY29kZXN0YW1wZXIuaDoKCSogZ3N0L3RpbWVjb2RlL3BsdWdpbi5jOgoJICB0aW1lY29kZXN0YW1wZXI6IE5ldyBlbGVtZW50IHRvIGF0dGFjaCBTTVBURSB0aW1lY29kZSB0byBidWZmZXJzCgkgIFRoZSB0aW1lY29kZXN0YW1wZXIgZWxlbWVudCBhdHRhY2hlcyBhIFNNUFRFIHRpbWVjb2RlIHRvIGVhY2ggdmlkZW8gYnVmZmVyLgoJICBUaGlzIHRpbWVjb2RlIGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50IHN0cmVhbSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDE5CgoyMDE2LTA1LTE1IDE3OjI1OjQ0ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvVGltZUNvZGUKCSAgVGhlIHRpbWVjb2RlIHdpbGwgYmUgZmV0Y2hlZCBmcm9tIHRoZSB2aWRlbyBidWZmZXIgYW5kIG91dHB1dHRlZCBvbiB0aGUKCSAgZGVja2xpbmsgdmlkZW8gc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQxOQoKMjAxNi0wNS0xNSAxNjowNDoxNCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9UaW1lQ29kZQoJICBUaGUgdGltZWNvZGUgd2lsbCBiZSBmZXRjaGVkIGZyb20gdGhlIGRlY2tsaW5rIHNvdXJjZSBhbmQgYXR0YWNoZWQgdG8gdGhlCgkgIHZpZGVvIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQxOQoKMjAxNi0wOC0wNCAyMzoxNDo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgbWlzc2luZyByZ2IxNiBhbmQgYmdyMTYgdmlkZW8gZm9ybWF0cyBpbiBzd2l0Y2gKCSAgRml4ZXMgYW4gYXNzZXJ0aW9uIHRoYXQgY29kZSBzaG91bGQgbm90IGJlIHJlYWNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTQ2MgoKMjAxNi0wOC0wNCAyMjoyODoxMyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogQXZvaWQgcG90ZW50aWFsIE5VTEwgcG9pbnRlciBkZXJlZmVyZW5jZS4KCSAgRml4ZXMgQ0lEIDEzNjQ3NTMKCjIwMTYtMDgtMDQgMjI6MjE6MTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogQXZvaWQgY292ZXJpdHkgd2FybmluZyBhYm91dCBhY2Nlc3Mgb2ZmIHRoZSBlbmQgb2YgYW4gYXJyYXkuCgkgIEZpeGVzIENJRCAxMzY0NzU1CgoyMDE2LTA4LTA0IDE0OjQyOjM0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogV2hlbiBkb2luZyBTSURYIHNlZWtpbmcsIHJldHVybiBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHRpbWVzdGFtcCB3aXRoIDAgZnJvbSB0aGUgTVBEIHNlZWtpbmcgbWV0aG9kCgkgIFdlIGRvbid0IG5lZWQgdG8gY2FsbCB0aGUgbGF0dGVyIGF0IGFsbCBhcyB3ZSdyZSBkZWZpbml0ZWx5IGluIHRoaXMgcGVyaW9kIGFuZAoJICB0aGUgc2VnbWVudCBpcyBzZWxlY3RlZCB2aWEgdGhlIFNJRFguCgkgIFRoaXMgaXMgZXNwZWNpYWxseSBpbXBvcnRhbnQgd2hlbiBkb2luZyBTTkFQIHNlZWtzLCBhcyBvdGhlcndpc2Ugd2Ugd291bGQKCSAgYWx3YXlzIHN0YXJ0IGZyb20gdGhlIGJlZ2lubmluZyBvZiB0aGUgcGVyaW9kICh1c3VhbGx5IDApIGFnYWluLgoKMjAxNi0wOC0wNCAxMTowODozMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IG0zdTg6IHJlbW92ZSBpbXBvc3NpYmxlIGNvbmRpdGlvbgoJICBBZnRlciB0aGUgY2hlY2sgaW4gbGluZSAxLDExMSwgIG1lZGlhLT51cmkgY2FuJ3QgYmUgTlVMTC4gU28gdGhlIHR3byBjaGVja3MKCSAgZm9yIEdTVF9ITFNfTUVESUFfVFlQRV9DTE9TRURfQ0FQVElPTlMgYXJlIHRoZSBzYW1lLCByZW1vdmluZyB0aGUgcmVkdW5kYW50CgkgIG9uZSB3aGljaCBnb2VzIHRvIGNjX3Vuc3VwcG9ydGVkLgoJICBDSUQgMTM2NDc1MgoKMjAxNi0wOC0wNCAwNDo1Mzo1MCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBvdXRwdXQgcGVuZGluZyBkYXRhIGFmdGVyIGVycm9yCgkgIElmIHRoZSBsYXN0X3JldCBzdGF0dXMgaXMgbm90IE9LLCBza2lwIG91dHB1dAoJICBvZiBhbnkgcGVuZGluZyBQQ1Igc2NhbiBidWZmZXIsIHNpbWlsYXJseSB0byBob3cKCSAgdGhlIHBlbmRpbmcgZGVjcnlwdGlvbiBidWZmZXIgaXMgaGFuZGxlZCBhYm92ZS4KCjIwMTYtMDgtMDQgMDQ6Mjk6MzggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBPbiBFT1MsIGhhbmRsZSBpdCBiZWZvcmUgd2FraW5nIGRvd25sb2FkIGxvb3AKCSAgT3RoZXJ3aXNlLCBpZiB0aGUgZG93bmxvYWQgbG9vcCB3YWtlcyB0b28gcXVpY2tseSwgaXQKCSAgbWlnaHQgbWlzcyB0aGUgbGFzdF9yZXQgdmFsdWUgdXBkYXRlIGZyb20gdGhlIHByb2Nlc3NpbmcKCSAgdGhyZWFkIGFuZCBsb29wIGFnYWluLgoKMjAxNi0wOC0wNCAwMTo1MTozNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LXV0aWwuYzoKCSAgaGxzZGVtdXg6IEluY2x1ZGUgY29uZmlnLmggYW5kIGFkZCBoZWFkZXIgaW4gdXRpbHMKCSAgSW4gZ3N0aGxzZGVtdXgtdXRpbC5jLCBpbmNsdWRlIGNvbmZpZy5oIGJlZm9yZSBhbnkKCSAgb3RoZXIgaGVhZGVycywgYW5kIGFkZCBhIGNvcHlyaWdodCAvIGxpY2Vuc2UgaGVhZGVyLgoKMjAxNi0wNy0xMyAxMTowMjoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBkcmFpbmluZyBvbiB3cm9uZyBwcm9ncmFtcwoJICBXaGVuIGRyYWluaW5nIGEgcHJvZ3JhbSwgd2UgbWlnaHQgc2VuZCBhIG5ld3NlZ21lbnQgZXZlbnQgb24gdGhlIHBhZHMKCSAgdGhhdCBhcmUgZ29pbmcgdG8gYmUgcmVtb3ZlZCAoYW5kIHRoZW4gdGhlIHBlbmRpbmcgZGF0YSkuCgkgIEluIG9yZGVyIHRvIGRvIHRoYXQsIGNhbGN1bGF0ZV9hbmRfcHVzaF9uZXdzZWdtZW50KCkgbmVlZHMgdG8ga25vdwoJICB3aGF0IGxpc3Qgb2Ygc3RyZWFtcyBpdCBzaG91bGQgdGFrZSBpbnRvIGFjY291bnQgKGluc3RlYWQgb2YgYmxpbmRseQoJICB1c2luZyB0aGUgY3VycmVudCBvbmUpLgoJICBBbGwgY2FsbGVycyB0byBjYWxjdWxhdGVfYW5kX3B1c2hfbmV3c2VnbWVudCgpIGFuZCBwdXNoX3BlbmRpbmdfZGF0YSgpCgkgIGNhbiBub3cgc3BlY2lmeSB0aGUgcHJvZ3JhbSBvbiB3aGljaCB0byBhY3QgKG9yIE5VTEwgZm9yIHRoZSBkZWZhdWx0CgkgIG9uZSkuCgoyMDE2LTA3LTEyIDE1OjU4OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IEdBUCBzeW5jaHJvbml6YXRpb24gd2l0aG91dCBhIHZhbGlkIFBDUiBQSUQKCSAgRm9yIHN0cmVhbXMgdGhhdCBkb24ndCBoYXZlIGEgdmFsaWQgUENSIFBJRCwgd2UganVzdCB1c2UgdGhlIGxhdGVzdAoJICBQVFMgZnJvbSBhbnkgZ2l2ZW4gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4MTQ4CgoyMDE2LTA1LTMxIDEzOjA5OjQzICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IGhhbmRsZSBwY3JfcGlkID09IDB4MWZmZgoJICBTdHJlYW1zIHdpdGhvdXQgUENSIG1ha2Ugc2Vuc2VzIGluIEhMUywgd2hlcmUgdGhlIHBsYXlsaXN0IHRpbWVzdGFtcHMKCSAgY2FuIGJlIHVzZWQgdG8gc2VlayBvciBjYWxjdWxhdGUgdGhlIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4MTQ4CgoyMDE1LTA1LTEwIDIwOjEwOjQ5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgYWJvcnQgcGxheWJhY2sgd2hlbiBubyBQQ1Igd2VyZSBmb3VuZCBkdXJpbmcgaW5pdGlhbCBzY2FuCgkgIFNlZWtpbmcgd2lsbCBub3QgYmUgcG9zc2libGUgaW4gdGhvc2Ugc3RyZWFtcyBidXQgYXQgbGVhc3QgdGhlIGNhbiBiZQoJICBwbGF5ZWQuIE5vdGUgc2Nhbm5pbmcgaXMgb25seSBkb25lIHdoZW4gdHNkZW11eCBpcyBjb25maWd1cmVkIGluIHB1bGwgbW9kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwODE0OAoKMjAxNS0wNS0wOSAxNTo1MjoyMiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSB3YWl0IGZvciBQQ1Igd2hlbiBQQ1IgcGlkIGlzIHNldAoJICBTdHJlYW1zIHdpdGhvdXQgUENSIG1ha2Ugc2Vuc2VzIGluIEhMUywgd2hlcmUgdGhlIHBsYXlsaXN0IHRpbWVzdGFtcHMKCSAgY2FuIGJlIHVzZWQgdG8gc2VlayBvciBjYWxjdWxhdGUgdGhlIGR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4MTQ4CgoyMDE2LTA4LTAzIDA0OjE4OjE4ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBGaXggY29tcGlsZXIgd2FybmluZyBmb3IgcG9zc2libHkgdW5pbml0IHZhcmlhYmxlCgoyMDE2LTA3LTI4IDE0OjIyOjAyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNlZWsgYWxsIHN0cmVhbXMKCjIwMTYtMDUtMjUgMTE6MjM6NTkgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2ltcGxpZnkgZ3N0X2hsc19kZW11eF9zZWVrKCkKCSAgRG9uJ3QgaW5pdGlhbGl6ZSBjdXJyZW50X3NlcXVlbmNlLiBJdCBpcyBhbHdheXMgb3ZlcndyaXR0ZW4gaW4gdGhlIHdhbGsKCSAgbG9vcC4KCjIwMTYtMDUtMjQgMTU6MjM6MTIgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgZG93bmxvYWQgdGhlIGxhc3QgZnJhZ21lbnQgd2hlbiBzZWVraW5nIGJleW9uZCB0aGUgZW5kIG9mIHRoZSB0cmFjawoJICBJdCdzIG5vdCB1c2VkIGFueXdheXMuCgoyMDE2LTA3LTEyIDIzOjA1OjU1ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXgtdXRpbC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBJRDMgdGFnIHBhcnNpbmcKCSAgUGFyc2Ugc3RhcnQgUFRTIG91dCBvZiB0aGUgSUQzIHRhZ3MgaW4KCSAgYXVkaW8gZnJhZ21lbnRzLiBJbmZvcm1hdGlvbmFsIG9ubHkgZm9yIG5vdy4KCjIwMTYtMDItMjQgMTY6NTc6MTYgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC11dGlsLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRG8gc29tZSByZWFkaW5nIGFuZCBkdW1waW5nIG9mIFBDUnMKCSAgUmVhZCBQQ1JzIG91dCBvZiB0aGUgTVBFRy1UUyBzdHJlYW0gaW4gYSBiYXNpYyB3YXkKCSAgYW5kIChmb3Igbm93KSBqdXN0IGxvZyB0aGVtCgoyMDE2LTAzLTA1IDAzOjA4OjU1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogT25seSB1c2UgdGhlIHByaW1hcnkgc3RyZWFtIGZvciBiaXRyYXRlIHNlbGVjdGlvbi4KCSAgV2hlbiBwbGF5aW5nIGFsdGVybmF0ZSByZW5kaXRpb24gYXV4aWxsaWFyeSBzdHJlYW1zLCBpZ25vcmUKCSAgdGhlbSBpbiBiaXRyYXRlIG1lYXN1cmVtZW50IChmb3Igbm93KS4KCjIwMTYtMDctMTUgMTY6MjQ6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBzZWxlY3QgdmlkZW8gYW5kIGF1ZGlvIHN0cmVhbXMgYnkgZGVmYXVsdAoJICBJZ25vcmUgc3VidGl0bGUgc3RyZWFtcyBmb3Igbm93LCBiZWNhdXNlIHRoZQoJICBkaWZmZXJlbnQgZnJhZ21lbnQgZHVyYXRpb24gY2F1c2VzIHByb2JsZW1zCgkgIHN3aXRjaGluZyBiaXRyYXRlcyB3LyBkZWNvZGViaW4yIGdyb3VwIGRyYWluaW5nLgoKMjAxNi0wMi0yNSAwMTo1ODoyNSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFB1Ymxpc2ggYWxsIG1lZGlhIGZvciBhbHRlcm5hdGUgcmVuZGl0aW9ucy4KCSAgQ3JlYXRlIGFuIG91dHB1dCBzdHJlYW0gZm9yIGVhY2ggbWVkaWEgd2hlbiBhbHRlcm5hdGUgcmVuZGl0aW9ucwoJICBhcmUgcHJlc2VudC4gVXBkYXRlIHRoZSBtYW5pZmVzdHMgZm9yIGFsbCB0aG9zZSBzdHJlYW1zLCBhbmQKCSAgbWFrZSBzdXJlIHRoYXQgdHlwZWZpbmRpbmcgaXMgc3RpbGwgZG9uZSBmb3IgZmlsZXMgc21hbGxlciB0aGFuIDJLQgoJICBzdWNoIGFzIHNtYWxsIFdlYlZUVCBmaWxlcy4KCjIwMTYtMDMtMDggMDE6MjQ6MjAgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRqdXN0IGRvd25zdHJlYW0gYnVmZmVyIG9mZnNldHMKCSAgV2hlbiBmZXRjaGluZyBhIGJ5dGUtcmVnaW9uIGZyb20gYSBzZXJ2ZXIgcmVzb3VyY2UsCgkgIGFkanVzdCB0aGUgZG93bnN0cmVhbSBidWZmZXIgb2Zmc2V0cyBzbyB0aGF0IGRvd25zdHJlYW0KCSAgZG9lc24ndCBrbm93LiBUaGlzIGlzIGJlY2F1c2UgaWQzZGVtdXggaW5zaXN0cyBvbiB0aGUKCSAgZmlyc3Qgb2Zmc2V0IGJlaW5nIDAuIExhdGVyIHdlIG1pZ2h0IHN0cmlwIElEMyBoZWFkZXJzCgkgIGVudGlyZWx5IGFuZCB0aGlzIHdpbGwgYmUgdW5uZWVkZWQuCgoyMDE2LTAzLTA5IDAzOjA3OjIyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQ2hvb3NlIHRoZSBkZWZhdWx0IHZhcmlhbnQgYW5kIHRyYWNrIGl0IHdoZW4gdXBkYXRpbmcKCSAgTW9kaWZ5IHBsYXlsaXN0IHVwZGF0aW5nIHRvIHRyYWNrIGluZm9ybWF0aW9uIGFjcm9zcyB1cGRhdGVzCgkgIGJldHRlciwgYWx0aG91Z2ggc3RpbGwgaGFja2lzaC4KCSAgV2hlbiBjb25uZWN0aW9uX3NwZWVkID09IDAsIGNob29zZSB0aGUgZGVmYXVsdCB2YXJpYW50CgkgIG5vdCB0aGUgZmlyc3Qgb25lIGluIHRoZSAobm93IHNvcnRlZCkgdmFyaWFudCBsaXN0LCBhcyB0aGF0CgkgIHdpbGwgaGF2ZSB0aGUgbG93ZXN0IGJpdHJhdGUuCgoyMDE1LTEyLTA1IDExOjEyOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogbW92ZSB2YXJpYW50IGxpc3QgaGFuZGxpbmcgb3ZlciB0byBuZXcgbWFzdGVyIHBsYXlsaXN0IGNvZGUKCSAgQWRhcHQgaGxzZGVtdXggZm9yIHRoZSBtM3U4IHBsYXlsaXN0IGNoYW5nZXMuCgoyMDE1LTExLTI3IDE5OjI2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiBSZXdvcmsgbTN1OCBwYXJzaW5nIGFuZCBzdG9yYWdlLgoJICBNYWtlIE0zVTggYW5kIEdzdE0zVThNZWRpYUZpbGUgcmVmY291bnRlZC4gVGhlIGNvbnRlbnRzCgkgIG9mIGl0IGFuZCBHc3RNM1U4TWVkaWFGaWxlIGFyZSBwcmV0dHkgbXVjaCBpbW11dGFibGUKCSAgYWxyZWFkeSwgYnV0IGlmIHdlIG1ha2UgaXQgcmVmY291bnRlZCB3ZSBjYW4ganVzdAoJICByZXR1cm4gYSByZWYgdG8gdGhlIG1lZGlhIGZpbGUgZnJvbSBfZ2V0X25leHRfZnJhZ21lbnQoKQoJICBpbnN0ZWFkIG9mIGNvcHlpbmcgb3ZlciBhbGwgZmllbGRzIG9uZS1ieS1vbmUsIGFuZCB0aGVuCgkgIGNvcHlpbmcgdGhlbSBhbGwgaW50byB0aGUgYWRhcHRpdmUgc3RyZWFtIHN0cnVjdHVyZSBmaWVsZHMgYWdhaW4uCgkgIE1vdmUgc3RhdGUgZnJvbSBjbGllbnQgaW50byBtM3U4IHN0cnVjdHVyZS4gIFRoaXMgd2lsbAoJICBiZSB1c2VmdWwgbGF0ZXIgd2hlbiB3ZSdsbCBoYXZlIG11bHRpcGxlIG1lZGlhIHBsYXlsaXN0cwoJICBiZWluZyBzdHJlYW1lZCBhdCB0aGUgc2FtZSB0aW1lLCBhcyB3aWxsIGJlIHRoZSBjYXNlIHdpdGgKCSAgYWx0ZXJuYXRpdmUgcmVuZGl0aW9ucy4KCSAgVGhpcyBoYXMgdGhlIGRvd25zaWRlIHRoYXQgd2UgbmVlZCB0byBjb3B5IG92ZXIgc29tZQoJICBzdGF0ZSB3aGVuIHdlIHN3aXRjaCBiZXR3ZWVuIHZhcmlhbnQgc3RyZWFtcy4KCSAgVGhlIEdzdE0zVThDbGllbnQgc3RydWN0dXJlIGlzIGdvbmUsIGFuZCBtYWluL2N1cnJlbnQKCSAgbGlzdHMgYXJlIG5vdCBkaXJlY3RseSBpbiBobHNkZW11eC4gaGxzZGVtdXggaGFkIGFzCgkgIG1hbnkgQ0xJRU5UX0xPQ0svVU5MT0NLIGFzIHRoZSBtM3U4IGNvZGUgYW55d2F5Li4uCgoyMDE2LTA3LTI3IDA5OjI4OjIzICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzaW5rLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvbWFpbi5xbWw6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvcGxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNpbmsvcW1sLnFyYzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9ncmFicW1sLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sc3JjL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWxzcmMvbWFpbi5xbWw6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbHNyYy9xbWwucXJjOgoJICBxbWxnbHNyYzogQWRkIHFtbGdsc3JjIHVuaXQgdGVzdCBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNjAKCjIwMTYtMDctMjcgMDg6MTY6NDcgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSogZXh0L3F0L2dzdHBsdWdpbi5jYzoKCSogZXh0L3F0L2dzdHF0Z2x1dGlsaXR5LmNjOgoJKiBleHQvcXQvZ3N0cXRnbHV0aWxpdHkuaDoKCSogZXh0L3F0L2dzdHF0c3JjLmNjOgoJKiBleHQvcXQvZ3N0cXRzcmMuaDoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0d2luZG93LmNjOgoJKiBleHQvcXQvcXR3aW5kb3cuaDoKCSAgcXQ6IGltcGxlbWVudCBxbWxnbHNyYyBmb3IgcW1sIHZpZXcgZ3JhYgoJICBbTWF0dGhldyBXYXRlcnNdOiBnc3QtaW5kZW50IHNvdXJjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE2MAoKMjAxNi0wNy0yNyAxMDo1NTowMSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IEZpeCBnbGltYWdlc2luayBjYW5ub3Qgc2hvdyBmcmFtZSB3aGVuIGNvbm5lY3QgdG8gcW1sZ2xzcmMKCSAgV2hlbiBjb25uZWN0IHRvIHFtbGdsc3JjLCB4MTEgZXZlbnQgbG9vcCB3aWxsIGJlIHJlcGxhY2UgYnkgcXQgZXZlbnQgbG9vcAoJICB3aGljaCB3aWxsIGNhdXNlIHRoZSB3aW5kb3cgY2Fubm90IHJlY2VpdmUgZXZlbnQgZnJvbSB4c2VydmVyLCBzdWNoIGFzIHJlc2l6ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MTYwCgoyMDE2LTA4LTAyIDE3OjIxOjIwICswOTAwICBIeXVuanVuIEtvIDx6em9vbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBVc2UgYnVmZmVycG9vbCB0byBhbGxvY2F0ZSBuZXcgYnVmZmVyIGluIEdMVGV4dHVyZVVwbG9hZE1ldGEKCSAgVG8gaW1wcm92ZSBwZXJmb3JtYWNlIG9mIHVwbG9hZCB3aXRoIEdMVGV4dHVyZVVwbG9hZE1ldGEsCgkgIHVzZSBidWZmZXJwb29sIGluc3RlYWQgb2YgYWxsb2NhdGluZyBuZXcgYnVmZmVyIGV2ZXJ5IHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyOTMKCjIwMTYtMDctMjcgMTQ6NDg6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogbW92ZSB1bnNldHRpbmcgcXVldWVfcmVzaXplIHRvIF9yZXNpemUoKSBpbnN0ZWFkIG9mIF9kcmF3KCkKCSAgTWFrZXMgaW5maW5pdGVseSBtb3JlIHNlbnNlIGFuZCBpbXBsZW1lbnRhdGlvbiB3ZXJlIGV4cGVjdGluZyB0aGF0IGJlaGF2aW91cgoJICBhbnl3YXkgYW5kIHdvdWxkIGVudGVyIGEgcmVzaXplLCBkcmF3LCByZXNpemUsIGRyYXcsIC4uLiBjeWNsZSBpbnN0ZWFkIG9mIG9ubHkKCSAgcmVzaXppbmcgb25jZS4KCjIwMTYtMDgtMDMgMDk6MTQ6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE5ldmVyIGV2ZXIgaG9sZCB0aGUgbWFuaWZlc3QgbG9jayB3aGlsZSBjaGFuZ2luZyB0aGUgc291cmNlIGVsZW1lbnQgc3RhdGUKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgZGVhZGxvY2sgaW4gdmFyaW91cyBzaXR1YXRpb25zIHRoYXQgdGFrZSB0aGUgbWFuaWZlc3QgbG9jawoJICBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkIG9yIHdoZW4gc2h1dHRpbmcgZG93biBvciAuLi4KCjIwMTYtMDgtMDIgMTc6MDc6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBJbiBQVVNIIG1vZGUgd2Ugd2lsbCBuZXZlciBnZXQgdGhlIElEMyB0YWdzIGFzIHRoZXkgYXJlIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUKCSAgVGhpcyBwcmV2aW91c2x5IGRpZCBub3QgZmFpbCBhcyBiZWZvcmUgd2UgZGlkbid0IGdldCBhbnkgdGFncyBhdCBhbGwgaW4gUFVTSAoJICBtb2RlLCBub3cgd2UgZ2V0IHRoZSBiaXRyYXRlcy4KCjIwMTYtMDgtMDIgMTM6NDg6NDMgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBBZGQgdGFncyBmb3IgY29udGFpbmVyIGZvcm1hdCBhbmQgYml0cmF0ZQoJICBUaGUgYml0cmF0ZSBpcyBhZGRlZCB0byBoZWxwIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgdXJpZGVjb2RlYmluKQoJICBmaWd1cmUgb3V0IGEgcHJvcGVyIG5ldHdvcmsgYnVmZmVyIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTM4OQoKMjAxNi0wMS0yMCAxNjo0MjoyNCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3QgZm9yIGdzdF9tcGRfY2xpZW50X2dldF9tYXhpbXVtX3NlZ21lbnRfZHVyYXRpb24KCSAgQWRkIGEgdGVzdCBvZiB0aGUgZ3N0X21wZF9jbGllbnRfZ2V0X21heGltdW1fc2VnbWVudF9kdXJhdGlvbigpIGZ1bmN0aW9uCgkgIHRvIGNoZWNrIHRoYXQgaXQgZmlyc3QgY2hlY2tzIHRoZSBNUERAbWF4U2VnbWVudER1cmF0aW9uIGFuZCB0aGVuIGZhbGxzCgkgIGJhY2sgdG8gY2hlY2tpbmcgYWxsIG9mIHRoZSBzZWdtZW50IGR1cmF0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1MQoKMjAxNi0wMi0yNCAxNTo1NDo1NCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBpbmNsdWRlIHNlZ21lbnQgZHVyYXRpb24gd2hlbiBjYWxjdWxhdGluZyBzZWVrIHJhbmdlCgkgIFRoZSBnc3RfZGFzaF9kZW11eF9nZXRfbGl2ZV9zZWVrX3JhbmdlICgpIGZ1bmN0aW9uIHJldHVybnMgYSBzdG9wIHZhbHVlCgkgIHRoYXQgaXMgYmV5b25kIHRoZSBhdmFpbGFibGUgcmFuZ2UuIFRoZSBmdW5jdGlvbnMKCSAgZ3N0X21wZF9jbGllbnRfY2hlY2tfdGltZV9wb3NpdGlvbigpIGFuZAoJICBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9zZWdtZW50X2F2YWlsYWJpbGl0eV9lbmRfdGltZSgpIGluCgkgIGdzdG1wZHBhcnNlci5jIGluY2x1ZGUgdGhlIHNlZ21lbnQgZHVyYXRpb24gd2hlbiBjaGVja2luZyBpZiBhIHNlZ21lbnQKCSAgaXMgYXZhaWxhYmxlLiBUaGUgZ3N0X2Rhc2hfZGVtdXhfZ2V0X2xpdmVfc2Vla19yYW5nZSgpIGZ1bmN0aW9uCgkgIGluIGdzdGRhc2hkZW11eC5jIGlnbm9yZXMgdGhlIHNlZ21lbnQgZHVyYXRpb24uCgkgIEFjY29yZGluZyB0byB0aGUgREFTSCBzcGVjaWZpY2F0aW9uLCBpZiBtYXhTZWdtZW50RHVyYXRpb24gaXMgbm90IHByZXNlbnQsCgkgIHRoZW4gdGhlIG1heGltdW0gU2VnbWVudCBkdXJhdGlvbiBpcyB0aGUgbWF4aW11bSBkdXJhdGlvbiBvZiBhbnkgU2VnbWVudAoJICBkb2N1bWVudGVkIGluIHRoZSBNUEQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTEKCjIwMTYtMDItMjQgMTU6NTI6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJldHJ5IG9uY2Ugb24gNHh4LzV4eCBpbiBjZXJ0YWluIGNvbmRpdGlvbnMKCSAgVGhpcyBoZWxwcyBjYXRjaCB0aG9zZSA0MDQgc2VydmVyIGVycm9ycyBpbiBsaXZlIHN0cmVhbXMgd2hlbgoJICBzZWVraW5nIHRvIHRoZSB2ZXJ5IGJlZ2lubmluZywgYXMgdGhlIHNlcnZlciB3aWxsIGhhbmRsZSBhCgkgIHJlcXVlc3Qgd2l0aCBzb21lIGRlbGF5LCB3aGljaCBjYW4gY2F1c2UgaXQgdG8gZHJvcCB0aGUgZnJhZ21lbnQKCSAgYmVmb3JlIHNlbmRpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM3NTEKCjIwMTYtMDItMjQgMTU6NDc6MDkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZXhwb3NlIEhUVFAgc3RhdHVzCgkgIFRvIGFsbG93IGFkYXB0aXZlZGVtdXggdG8gbWFrZSByZXRyeSBkZWNpc2lvbnMsIGl0IG5lZWRzIHRvIGtub3cgd2hhdAoJICBzb3J0IG9mIEhUVFAgZXJyb3IgaGFzIG9jY3VycmVkLiBGb3IgZXhhbXBsZSwgdGhlIHJldHJ5IGxvZ2ljIGZvciBhCgkgIDQxMCBlcnJvciBpcyBkaWZmZXJlbnQgZnJvbSBhIDUwNCBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1MQoKMjAxNi0wMy0wNyAxNzowNDozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbG93IHNlZWtpbmcgYmVmb3JlIHN0YXJ0IGluIGxpdmUgc3RyZWFtcwoJICBTb21lIGRlcml2ZWQgY2xhc3NlcyAoYXQgbGVhc3QgZGFzaGRlbXV4KSBleHBvc2UgYSBzZWVraW5nIHJhbmdlCgkgIGJhc2VkIG9uIHdhbGwgY2xvY2suIFRoaXMgbWVhbnMgdGhhdCBhIHN1YnNlcXVlbnQgc2VlayB0byB0aGUgc3RhcnQKCSAgb2YgdGhpcyByYW5nZSB3aWxsIGJlIGJlZm9yZSB0aGUgYWxsb3dlZCByYW5nZS4KCSAgVG8gc29sdmUgdGhpcywgc2Vla3Mgd2l0aG91dCB0aGUgQUNDVVJBVEUgZmxhZyBhcmUgYWxsb3dlZCB0byBzZWVrCgkgIGJlZm9yZSB0aGUgc3RhcnQgZm9yIGxpdmUgc3RyZWFtcywgaW4gd2hpY2ggY2FzZSB0aGUgc2VnbWVudCBpcwoJICBzaGlmdGVkIHRvIHN0YXJ0IGF0IHRoZSBzdGFydCBvZiB0aGUgbmV3IHNlZWsgcmFuZ2UuIElmIHRoZXJlIGlzCgkgIGFuIGVuZCBwb3NpdGlvbiwgaXMgaXMgc2hpZnRlZCB0b28sIHRvIGtlZXAgdGhlIGR1cmF0aW9uIGNvbnN0YW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNzUxCgoyMDE2LTA4LTAxIDE0OjEyOjM1ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEZpeCBob3Jpem9udGFsL3ZlcnRpY2FsIGZsaXAgbWF0cml6ZXMKCSAgVGhleSB3ZXJlIHN3YXBwZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkzNzEKCjIwMTYtMDctMjkgMTY6MzI6MjIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NDogQWRkIG1vcmUgc2NhbGFibGUgcHJvZmlsZXMgdG8gdGhlIHByb2ZpbGUgbGlzdAoJICBBZGRpbmcgU2NhbGFibGUgQ29uc3RyYWluZWQgSGlnaCAoRy4xMC4xLjIuMSkgYW5kCgkgIFNjYWxhYmxlIEhpZ2ggSW50cmEoRy4xMC4xLjMpIHByb2ZpbGVzIHRvIHRoZSBwcm9maWxlIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTMwMwoKMjAxNi0wOC0wMSAxMDozMDoyOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtc2Vuc29yLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhzc3JjLmM6CgkgIGFuZHJvaWRtZWRpYTogUnVuIGdzdC1pbmRlbnQgb3ZlciBldmVyeXRoaW5nIG9uY2UgYWdhaW4KCjIwMTYtMDgtMDEgMTA6Mjg6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IElmIHdlIGZpbmQgbXVsdGlwbGUgY29kZWNzIHdpdGggdGhlIHNhbWUgbmFtZSwganVzdCBtZXJnZSB0aGVtCgkgIE9uIHRoZSBPRHJvaWQgQzErIHRoZSBIMjY1IGFuZCBIMjY0IGhhdmUgdGhlIHNhbWUgbmFtZSBidXQgYXJlIGxpc3RlZCBhcyB0d28KCSAgZGlmZmVyZW50IGNvZGVjcy4gV2UgaGF2ZSB0byBoYW5kbGUgdGhlbSBhcyB0aGUgc2FtZSBvbmUgdGhhdCBzdXBwb3J0cyBib3RoLAoJICBhcyBvdGhlcndpc2Ugd2Ugd2lsbCByZWdpc3RlciB0aGUgc2FtZSBHVHlwZSBuYW1lIHR3aWNlIHdoaWNoIGZhaWxzIGFuZCB3ZQoJICB0aGVuIG9ubHkgaGF2ZSBIMjY1IHN1cHBvcnQgYW5kIG5vdCBIMjY0IHN1cHBvcnQuCgoyMDE2LTA4LTAxIDEwOjE1OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBVc2UgYSBHUXVldWUgZm9yIE8oMSkgYXBwZW5kIGluc3RlYWQgb2YgYSBHTGlzdAoKMjAxNi0wNy0yOSAxMjozMTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWxzbyBjYWxsIHJlc2V0KCkgaW4gUkVBRFktPlBBVVNFRAoJICBUaGlzIGFsbG93cyBzdWJjbGFzc2VzIHRvIGhhdmUgaW5pdGlhbGl6YXRpb24gY29kZSBpbiBhIHNpbmdsZSBwbGFjZS4KCjIwMTYtMDctMjkgMTA6NDk6MjYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3YXVkaW9wYXJzZS5jOgoJICByYXdhdWRpb3BhcnNlOiBVc2UgR19HSU5UNjRfTU9ESUZJRVIgZm9yIHBvcnRhYmlsaXR5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjkyOTUKCjIwMTYtMDctMjkgMTA6MDc6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkYXVkaW9wYXJzZS5jOgoJICB1bmFsaWduZWRhdWRpb3BhcnNlOiBGaXggZWxlbWVudCBmYWN0b3J5IG5hbWUgb2YgaW5uZXIgcGFyc2VyCgoyMDE2LTA3LTI5IDA4OjU0OjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBQcmludCBnZW5lcmF0ZWQgcmF3L2VuY29kZWQgY2FwcyBpbiBkZWJ1ZyBsb2dzCgoyMDE2LTA3LTI4IDExOjI3OjI5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFNraXAgYXVkaW8gc3RyZWFtcyBpZiBUUklDS01PREVfTk9fQVVESU8gaXMgZ2l2ZW4gaW4gdGhlIHNlZWsgZXZlbnQKCSAgV2UganVzdCBkb24ndCBleHBvc2UgcGFkcyBmb3IgYXVkaW8gc3RyZWFtcywgb3IgZXZlbiBkb3dubG9hZCB0aGVtLgoKMjAxNi0wNy0yOCAxMToxNjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFJlc2V0IG51bWJlciBvZiBzdWJ0aXRsZSBzdHJlYW1zIGNvdW50ZXIgb24gcmVzZXQoKSB0b28KCSAgT3RoZXJ3aXNlIHdlIHdpbGwgY29udGludWUgaW5jcmVhc2luZyBmb3JldmVyIHRoZSBudW1iZXIgb2Ygc3VidGl0bGUgc3RyZWFtcwoJICB3aGVuIHJldXNpbmcgdGhlIGVsZW1lbnQgZm9yIGFub3RoZXIgREFTSCBtYW5pZmVzdC4KCjIwMTYtMDctMjYgMTc6MDE6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgdGVzdHM6IGZpeCBzaW1wbGUtbGF1bmNoLWxpbmVzIHdoZW4ganBlZyBsaWIgaXNuJ3QgcHJlc2VudAoJICBKUEVHIGRldGVjdGlvbiBpbiBjb25maWd1cmUuYWMgZGVmaW5lcyBIQVZFX0pQRUcgdG8gMCBpZiB0aGUKCSAganBlZyBsaWIgaXNuJ3QgZm91bmQsIHJhdGhlciB0aGVuIG5vdCBkZWZpbmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2OTE5NwoKMjAxNi0wNy0yNSAxNzo1NToyNCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgZG9jczogVXBkYXRlIHJhd3BhcnNlciBkb2N1bWVudGF0aW9uCgkgIFNpZ25lZC1vZmYtYnk6IENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzAxMQoKMjAxNi0wNy0yNSAxNzo1NDowOSArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHJhd3BhcnNlOiBSZW1vdmUgb2xkIHBhcnNlciBjb2RlIGFuZCB3cmFwIG5ldyBwYXJzZXJzIGluIG9sZCBlbGVtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDExCgoyMDE2LTA3LTI1IDEzOjQ1OjQwICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdiYXNlcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd2Jhc2VwYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3dmlkZW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkYXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkdmlkZW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dW5hbGlnbmVkdmlkZW9wYXJzZS5oOgoJKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9yYXdwYXJzZS91bmFsaWduZWR2aWRlby5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcmF3YXVkaW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yYXd2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBBZGQgbmV3IHJhdyBhdWRpbyBhbmQgdmlkZW8gcGFyc2VyIGVsZW1lbnRzCgkgIFRoZSBuZXcgcmF3YXVkaW9wYXJzZSBhbmQgcmF3dmlkZW9wYXJzZSBlbGVtZW50cyBhcmUgYmFzZWQgb24gR3N0QmFzZVBhcnNlCgkgIGFuZCBjb21wbGV0ZWx5IHJlcGxhY2UgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3MDExCgoyMDE2LTA3LTI2IDE2OjAxOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiByZW1vdmUgdW51c2VkIHRvX3F1aXQgdmFyaWFibGUKCSAgSXQgd2FzIGFsd2F5cyAwIGFuZCBuZXZlciBzZXQgdG8gYW55dGhpbmcgbWVhbmluZ2Z1bC4KCjIwMTYtMDctMjYgMTU6NTc6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb24gZm9yIEdMX0RFUFRIX1NURU5DSUxfQVRUQUNITUVOVAoJICBHTEVTMiBkb2Vzbid0IGhhdmUgaXQgZGVmaW5lZC4uLgoKMjAxNi0wNy0xNSAxMzozOTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmg6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xwaXhlbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbGZpbHRlcjogcmV3cml0ZSBzdWJjbGFzc2VzIGZvciBmaWx0ZXJfdGV4dHVyZSgpIG9jY3VyaW5nIG9uIEdMIHRocmVhZAoJICBUaGVyZSdzIG5vIG5lZWQgZm9yIHRoZSBqdW1wIHRvIGFuIGV4dHJhIHRocmVhZCBpbiBtb3N0IGNhc2VzLCBlc3BlY2lhbGx5CgkgIHdoZW4gcmVseWluZyBzb2xlbHkgb24gYSBzaGFkZXIgdG8gcmVuZGVyLiAgV2UgY2FuIHVzZSB0aGUgcHJvdmlkZWQKCSAgcmVuZGVyX3RvX3RhcmdldCgpIGZ1bmN0aW9ucyB0byBzaW1wbGlmeSBmaWx0ZXIgd3JpdGluZy4KCjIwMTYtMDctMTIgMTU6MzQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXRpbHM6IHJlbW92ZSB1bnVzZWQgR3N0R0xEaXNwbGF5UHJvamVjdGlvbgoKMjAxNi0wNy0xMiAxNToyOToyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsY29udGV4dDogcmVtb3ZlIG5vdCB0aHJlYWQtc2FmZSBnZXQvc2V0X2Vycm9yKCkKCSAgVXNlIEdFcnJvcidzIGluc3RlYWQgaWYgbmVjZXNzYXJ5LgoKMjAxNi0wNy0xMiAxMjo1OTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsZnJhbWVidWZmZXI6IHJld3JpdGUgZm9yIGEgbW9yZSBjb25zaXN0ZW50IEFQSQoJICBGYWNpbGl0aWVzIGFyZSBnaXZlbiB0byBjcmVhdGUgZmJvJ3MgYW5kIGF0dGFjaCBHTCBtZW1vcnkgKHJlbmRlcmJ1ZmZlcnMKCSAgb3IgdGV4dHVyZXMpLiAgSXQgYWxzbyBrZWVwcyB0cmFjayBvZiB0aGUgcmVuZGVyYWJsZSBzaXplIGZvciB1c2Ugd2l0aAoJICBlZmZlY3RpdmUgdXNlIHdpdGggZ2xWaWV3cG9ydCgpLgoKMjAxNi0wNy0xMiAwMDozMDoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogdXNlIEdMTWVtb3J5IGZvciBhY2Nlc3NpbmcgdGV4dHVyZXMgZXZlcnl3aGVyZQoJICBUaGlzIHNpbXBsaWZpZXMgYW5kIGNvbnNvbGlkYXRlcyBhIGxvdCBvZiBkdXBsaWNhdGVkIGNvZGUgY3JlYXRpbmcKCSAgYW5kIG1vZGlmeWluZyB0ZXh0dXJlcy4KCjIwMTYtMDctMTEgMjI6NDQ6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogcmVuYW1lIGRyYXdfdGV4dHVyZSB0byBkcmF3X2Z1bGxzY3JlZW5fcXVhZAoJICBBbmQgcmVtb3ZlIHVudXNlZCBhcmd1bWVudHMuCgoyMDE2LTA3LTExIDIyOjMxOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHJlbmRlcmJ1ZmZlci5oOgoJICBnbDogYWRkIG1lbW9yeSB0eXBlIGZvciByZW5kZXJidWZmZXIncwoJICBTb29uIHRvIGJlIHVzZWQgZm9yIGZyYW1lYnVmZmVycyBmb3IgZS5nLiBkZXB0aCBidWZmZXJzIG9yIHRocm93YXdheSBjb2xvcgoJICBidWZmZXJzLgoKMjAxNi0wNy0xMSAyMjoyODo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5oOgoJICBnbGZvcm1hdDogZGVmaW5lIG91ciBvd24gc2V0IG9mIGZvcm1hdHMgZnJvbSB0aGUgR0wgZGVmaW5lcwoJICBhbHNvIGFkZCBzb21lIGRlcHRoL3N0ZW5jaWwgZm9ybWF0cwoKMjAxNi0wNy0xMSAyMjoyNDo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IGZpeCB4cmF5IHRvIHVzZSB0aGUgY29ycmVjdCBmdW5jdGlvbgoJICBJbnN0ZWFkIG9mIGR1cGxpY2F0aW5nIHRoZSBzaW4gZWZmZWN0CgoyMDE2LTA3LTExIDIxOjI5OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSAgZ2xiYXNlbWVtb3J5OiBhc3NlcnQgZm9yIGEgdmFsaWQgYWxsb2NhdG9yIGluc3RlYWQgb2Ygc2VnZmF1bHRpbmcKCjIwMTYtMDQtMjkgMTQ6NDI6MzQgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBMUENNIHdpdGggc3RyZWFtX3R5cGUgPSAweDgzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU4MDcKCjIwMTYtMDctMjUgMTM6MDY6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJICBwbGF5ZXI6IEFkZCBzb21lICdjb25zdCcgdG8gY29uZmlnIGdldHRlcnMKCjIwMTYtMDctMjUgMTM6MDY6MzYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IEctSSBhbm5vdGF0aW9uIGZpeGVzCgoyMDE2LTA3LTI1IDEwOjMwOjI2ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IG1vdmUgJ3Bvc2l0aW9uLXVwZGF0ZS1pbnRlcnZhbCcgc2V0dGluZyB0byB0aGUgY29uZmlnIHN0cnVjdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY5MTQ0CgoyMDE2LTA3LTE5IDE0OjM2OjI1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvcGxheWVyLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IGFkZCBBUEkgdG8gY2hhbmdlIGh0dHAgdXNlciBhZ2VudAoJICBJbnRyb2R1Y2luZyBhIG5ldyAnY29uZmlnJyBBUEkgc2ltaWxhciB0byBHc3RCdWZmZXJQb29sQ29uZmlnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzE0CgoyMDE2LTA3LTI1IDEwOjU0OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uIHN1Ym1vZHVsZQoJICBGb3IgJ21ha2UgdXBkYXRlLWV4cG9ydHMnIGNoYW5nZXMKCjIwMTYtMDctMjIgMTc6MDA6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5jcHA6CgkgIHFtbDogRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBhY3R1YWwgc2luayBlbGVtZW50IGFmdGVyIHNldHRpbmcgaXQgb24gZ2xzaW5rYmluCgoyMDE2LTA3LTIyIDE2OjU3OjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL21haW4uY3BwOgoJICBxbWw6IFVzZSBnbHNpbmtiaW4gaW5zdGVhZCBvZiBnbHVwbG9hZCBkaXJlY3RseQoKMjAxNi0wNy0xOCAxODozNjo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5oOgoJICBvcGVuaDI2NDogZml4IHVwIGZvciBBUEkgY2hhbmdlcyBpbiB2MS42LjAKCSAgVXBkYXRlIGZvciBBUEkgY2hhbmdlcyBpbiB2MS42LjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg3NzEKCjIwMTYtMDctMTggMTc6NDM6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbDogd2F5bGFuZDogaW1wcm92ZSBkZWJ1ZyBtZXNzYWdlIHdoZW4gY29ubmVjdGluZyB0byBkaXNwbGF5CgkgIEFuZCBhbm90aGVyIGNvcHknbidwYXN0ZS1vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4OTI5CgoyMDE2LTA3LTE5IDAyOjExOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBjbGVhcmluZyBvZiBkZWNyeXB0aW9uIHN0YXRlCgkgIERvbid0IGNsZWFyIGRlY3J5cHRpb24gc3RhdGUgaW1tZWRpYXRlbHkgYWZ0ZXIKCSAgaW5pdGlhbGlzaW5nIGl0IGluIHRoZSBzdGFydF9mcmFnbWVudC4gRG9uJ3QgY2xlYXIKCSAgdGhlIHN0YXRlIG9mIGFsbCBzdHJlYW1zIHdoZW4gd2Ugd2FudCB0byBvbmx5IGNsZWFyCgkgIHRoZSBjdXJyZW50IHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03Njg3NTcKCjIwMTYtMDctMTUgMTA6MzE6MzUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBmaXggYnVzIGxlYWsKCSAgZ3N0X2J1c19yZW1vdmVfc2lnbmFsX3dhdGNoKCkgaGFzIHRvIGJlIGNhbGxlZCB0byByZWxlYXNlIHRoZSByZWYKCSAgdGFrZW4gYnkgZ3N0X2J1c19hZGRfc2lnbmFsX3dhdGNoKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njg4NDMKCjIwMTYtMDctMTUgMTE6NDg6MjUgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW5wcmV2aWV3OiBmaXggYnVzIGxlYWsKCSAgV2Ugd2VyZSBuZXZlciByZW1vdmluZyB0aGUgd2F0Y2ggaW50cm9kdWNlZCBpbgoJICBnc3RfY2FtZXJhYmluX2NyZWF0ZV9wcmV2aWV3X3BpcGVsaW5lKCkgc28gaXRzIGV4dHJhIHJlZiBvbiB0aGUgYnVzIHdhcwoJICBuZXZlciByZWxlYXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODgzOAoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogbWFrZSBkZWNyeXB0aW9uIGtleSBoYW5kbGluZyBwZXItc3RyZWFtCgkgIEFkZCBkZW11eGVyIGluc3RhbmNlLXdpZGUgZGVjcnlwdGlvbiBrZXkgY2FjaGUuIFRoZSBjdXJyZW50IGFuZAoJICBsYXN0IGtleSB1cmwgYXJlIHBlci1zdHJlYW0sIHNvIG1ha2UgYSBzaGFyZWQgY2FjaGUuIE1vdmUgdGhlCgkgIGRlY3J5cHRpb24gaGFuZGxpbmcgaW50byB0aGUgc3RyZWFtIG9iamVjdCwgYW5kIHVzZSB0aGUgc2hhcmVkCgkgIGNhY2hlIGZvciB0aGUga2V5cy4KCjIwMTYtMDctMTMgMjM6MDI6MTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBhZGQgaGxzZGVtdXgtc3BlY2lmaWMgQWRhcHRpdmVEZW11eFN0cmVhbSBzdWJjbGFzcwoJICBQcmVwYXJlIGhsc2RlbXV4IGZvciBtb3JlIHRoYW4gb25lIHNpbmdsZSBzdHJlYW0uIEN1cnJlbnRseSBobHNkZW11eAoJICBhc3N1bWVzIHRoZXJlJ2xsIG9ubHkgZXZlciBiZSBvbmUgc3RyZWFtIGFuZCBtb3N0IG9mIHRoZSBzdHJlYW0tc3BlY2lmaWMKCSAgc3RhdGUgaXMgYWN0dWFsbHkgaW4gdGhlIGhsc2RlbXV4IHN0cnVjdHVyZS4gQWRkIGEgc3RyZWFtIHN1YmNsYXNzCgkgIGluc3RlYWQgYW5kIG1vdmUgc29tZSBzdHJlYW0tc3BlY2lmaWMgbWVtYmVycyB0aGVyZSBpbnN0ZWFkLgoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWRkIG1vcmUgc2FmZWd1YXJkcyBhcm91bmQgc3RhdGUgY2hhbmdlcy4KCSAgTWFrZSBzdGF0ZSBjaGFuZ2VzIG9mIGludGVybmFsIGVsZW1lbnRzIG1vcmUgcmVsaWFibGUgYnkgbG9ja2luZwoJICB0aGVpciBzdGF0ZSwgYW5kIGVuc3VyaW5nIHRoYXQgdGhleSBhcmVuJ3QgYmxvY2tlZCBwdXNoaW5nIGRhdGEKCSAgZG93bnN0cmVhbSBiZWZvcmUgdHJ5aW5nIHRvIHNldCB0aGVpciBzdGF0ZS4KCSAgQWRkIGEgYm9vbGVhbiB0byBhdm9pZCBzdGFydGluZyB0YXNrcyB3aGVuIHRoZSBtYWluCgkgIHRocmVhZCBpcyBidXN5IHRyeWluZyB0byBzaHV0IHRoZSBlbGVtZW50IGRvd24uCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWRkIGRlYnVnIGNvZGUgdG8gY2hhbmdlIGJpdHJhdGUuCgkgIEFkZCBzb21lIGRpc2FibGVkLWJ5LWRlZmF1bHQgZGVidWdnaW5nIGNvZGUgdGhhdCBmb3JjZXMKCSAgYml0cmF0ZSBjaGFuZ2VzIGJ5IG1vZHVsYXRpbmcgdGhlIG1lYXN1cmVkIGJpdHJhdGUgZXZlcnkKCSAgZmV3IGZyYWdtZW50cwoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE1vcmUgbG9ja2luZy9zd2l0Y2hpbmcgZml4ZXMKCSAgVHJ5IGhhcmRlciB0byBtYWtlIHN3aXRjaGluZyBwYWRzIHdvcmsgYmV0dGVyIGJ5CgkgIG1ha2luZyBzdXJlIGNvbmN1cnJlbnQgZG93bmxvYWRzIGFyZSBmaW5pc2hlZCBiZWZvcmUgZXhwb3NpbmcKCSAgYSBuZXcgc2V0IG9mIHBhZHMuCgkgIFJlbGVhc2UgdGhlIG1hbmlmZXN0IGxvY2sgd2hlbiBzaWduYWxsaW5nIG5vLW1vcmUtcGFkcywgYXMKCSAgdGhhdCBjYW4gY2FsbCBiYWNrIGludG8gYWRhcHRpdmVkZW11eCBhZ2FpbgoKMjAxNi0wNy0xMyAyMzowMjoxMCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IHN3aXRjaCBzdHJlYW1zIGFuZCBleHBvc2UgcGFkcyB3aGlsZSBkb3dubG9hZGluZy4KCSAgSWYgb3RoZXIgc3RyZWFtIGZyYWdtZW50cyBhcmUgc3RpbGwgZG93bmxvYWRpbmcgYnV0IG5ldyBzdHJlYW1zCgkgIGhhdmUgYmVlbiBzY2hlZHVsZWQsIGRvbid0IGV4cG9zZSB0aGVtIHlldCAtIHdhaXQgdW50aWwgdGhlIGxhc3QKCSAgb25lIGZpbmlzaGVzLiBPdGhlcndpc2UsIHdlIGNhbiBjYW5jZWwgYSBwYXJ0aWFsbHkgZG93bmxvYWRlZAoJICBhdXhpbGxpYXJ5IHN0cmVhbSBhbmQgY2F1c2UgYSBnYXAuCgoyMDE2LTA3LTEzIDIzOjAyOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRHJvcCB0aGUgbWFuaWZlc3QgbG9jayBkdXJpbmcgb3V0Ym91bmQgYWN0aW9ucwoJICBEcm9wIHRoZSBtYW5pZmVzdCBsb2NrIHdoZW4gcGVyZm9ybWluZyBhY3Rpb25zIHRoYXQgbWlnaHQKCSAgY2FsbCBiYWNrIGludG8gYWRhcHRpdmVkZW11eCBhbmQgdHJpZ2dlciBkZWFkbG9ja3MsIHN1Y2gKCSAgYXMgYWRkaW5nL3JlbW92aW5nIHBhZHMgb3Igc2VuZGluZyBpbi1iYW5kIGV2ZW50cyAoRU9TKS4KCSAgVW5sb2NrIHRoZSBtYW5pZmVzdCBsb2NrIHdoZW4gY2hhbmdpbmcgdGhlIGNoaWxkIGJpbiBzdGF0ZSB0bwoJICBOVUxMLCBhcyBpdCBtaWdodCBjYWxsIGJhY2sgdG8gYWNxdWlyZSB0aGUgbWFuaWZlc3QgbG9jayB3aGVuCgkgIHNodXR0aW5nIGRvd24gcGFkcy4KCSAgRHJvcCB0aGUgbWFuaWZlc3QgbG9jayB3aGlsZSBwdXNoaW5nIGV2ZW50cy4KCjIwMTYtMDctMTIgMTQ6NTE6NDcgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1zZW5zb3IuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1zZW5zb3IuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaHNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaHNzcmMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RzZW5zb3JzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvb3JnL2ZyZWVkZXNrdG9wL2dzdHJlYW1lci9hbmRyb2lkbWVkaWEvR3N0QWhzQ2FsbGJhY2suamF2YToKCSAgbmV3IHBsdWdpbjogQW5kcm9pZCBoYXJkd2FyZSBzZW5zb3Igc291cmNlCgkgIGFoc3NyYyBpcyBhIG5ldyBwbHVnaW4gdGhhdCBlbmFibGVzIEdzdHJlYW1lciB0byByZWFkIGZyb20gdGhlCgkgIGFuZHJvaWQuaGFyZHdhcmUuU2Vuc29yIEFuZHJvaWQgc2Vuc29ycy4gVGhlc2Ugc2Vuc29ycyBhcmUgdHJlYXRlZCBhcwoJICBidWZmZXJzIGFuZCBjYW4gYmUgcGFzc2VkIHRocm91Z2ggYW5kIG1hbmlwdWxhdGVkIGJ5IHRoZSBwaXBlbGluZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODExMAoKMjAxNi0wNy0xNCAxOTozODoyNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiBtYWtlIGl0IGJ1aWxkIHdpdGggb2xkZXIgbGlsdgoJICBJbXBsZW1lbnRpbmcgdGhlIHJlbW92YWwgb2YgcHJlc2V0cyBpcyB1bmZvcnR1bmF0ZWx5IG5vdCBmZWFzaWJsYSB3aXRoCgkgIHZlcnNpb25zIDwgMC4yMi4KCSAgRml4ZXMgIzc2ODU5NQoKMjAxNi0wNy0xMyAyMzowMDo1MSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2VjaG9wcm9iZS5jcHA6CgkgIHdlYnJ0Y2RzcDogQWRkIGRlbGF5LWFnbm9zdGljIHByb3BlcnR5CgkgIEluIHRoaXMgbW9kZSwgd2UgbGV0IFdlYlJUQyBBdWRpbyBQcm9jZXNzaW5nIGZpZ3VyZS1vdXQgdGhlIGRlbGF5LiBUaGlzCgkgIGlzIHVzZWZ1bCB3aGVuIHRoZSBsYXRlbmN5IHJlcG9ydGVkIGJ5IHRoZSBzdGFjayBjYW5ub3QgYmUgdHJ1c3RlZC4gTm90ZQoJICB0aGF0IGluIHRoaXMgbW9kZSwgdGhlIGxlYWtpbmcgb2YgZWNobyBkdXJpbmcgcGFja2V0IGxvc3QgaXMgbXVjaCB3b3JzdC4KCSAgSXQgaXMgcmVjb21tYW5kZWQgdG8gdXNlIFBMQyAoZS5nLiBzcGFucGxjLCBvciBvcHVzIGJ1aWx0LWluIHBsYykuCgkgIEluIHRoaXMgbW9kZSwgd2UgZG9uJ3QgZG8gYW55IHN5bmNocm9uaXphdGlvbi4gSW5zdGVhZCwgd2Ugc2ltcGx5IHByb2Nlc3MgYWxsCgkgIHRoZSBhdmFpbGFibGUgcmV2ZXJzZSBzdHJlYW0gZGF0YSBhcyBpdCBjb21lcy4KCjIwMTYtMDctMTIgMDA6MDI6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuYzoKCSAganBlZzIwMDBwYXJzZTogVXNlIGNvcnJlY3QgZW51bSB0eXBlCgkgIEdTVF9KUEVHMjAwMF9TQU1QTElOR19SR0IgaW5zdGVhZCBvZiBHU1RfSlBFRzIwMDBfQ09MT1JTUEFDRV9SR0IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODY5NgoKMjAxNi0wNy0xMSAyMToxMzo1OCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjM2M2IzMiB0byBmNDljNTVlCgoyMDE2LTA3LTExIDExOjU4OjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5jOgoJKiBzeXMva21zL2dzdGttc2FsbG9jYXRvci5oOgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogRml4IG9mZnNldHMgaGFuZGxpbmcKCSAgVGhlIGNhbGN1bGF0aW9uIG9mIHRoZSBvZmZzZXQgdGFibGUgd2FzIGRvbmUgYmFzZSBvbiBhIHBsYW5lIHNpemUKCSAgZXN0aW1hdGlvbi4gVGhpcyBkb2VzIG5vdCBhbHdheXMgd29yay4gSW5zdGVhZCwgdXNlIG1lbW9yeSBvZmZzZXQgdGhlCgkgIHNhbWUgd2UgYXMgaXQncyBpbXBsZW1lbnQgaW4gR3N0VmlkZW9NZXRhIG1hcCBmdW5jdGlvbnMuCgoyMDE2LTA3LTExIDE5OjIxOjExICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBGaXggdmFyaW91cyBnYm9vbGVhbiB2cyBHc3RGbG93UmV0dXJuIHByb2JsZW1zCgkgIENhdWdodCBieSBidWlsZGluZyB3aXRoIE1TVkMgd2hpY2ggZ2F2ZSB3YXJuaW5ncyBmb3IgdGhlc2UKCjIwMTYtMDctMDggMTk6MDM6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvYnVpbGQ6IGZpeCBjb25maWd1cmUgd2hlbiAtLWVuYWJsZS1jb2NvYSBpcyBwYXNzZWQgb24gT1MgWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4NTUzCgoyMDE2LTA3LTEwIDIwOjQzOjE3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIGx2MjogcGxhbm5pbmcgdXBkYXRlCgoyMDE2LTA3LTEwIDIwOjQyOjQyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2Mjoga2VlcCB3b3JraW5nIHdpdGggb2xkZXIgdmVyc2lvbnMKCSAgUHJvdmlkZSBhIGZhbGxiYWNrIGltcGwuIGZvciB0aGUgb25seSBuZXcgZnVuY3Rpb24gd2Ugd2VyZSB1c2luZyBmcm9tIDAuMjIuCgkgIEZpeGVzICM3Njg1OTUKCjIwMTYtMDctMDggMTQ6NDI6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIGRvY3Mgc2VjdGlvbgoKMjAxNi0wNy0wNyAxMzoyMjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IENsZWFudXAgdW51c2VkIHZhcmlhYmxlCgkgIFdlIG9ubHkgY2hlY2sgZm9yIGEgaGVhZGVyLCBubyBuZWVkIGZvciBvdmVycmlkaW5nIExERkxBR1MuCgoyMDE2LTA3LTA3IDE3OjI0OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGk6IGZpeCBkb2N1bWVudGF0aW9uIHdhcm5pbmcgaW4gR3N0R2F1c3NpYW5CbHVyCgkgIEZpeGluZyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgd2hlbiBnZW5lcmF0aW5nIGRvY3VtZW50YXRpb246CgkgIHhtbC9lbGVtZW50LWdhdXNzaWFuYmx1ci54bWw6NzI6IGVsZW1lbnQgcmVmc2VjdDI6IHZhbGlkaXR5IGVycm9yIDoKCSAgSUQgR3N0R2F1c3NpYW5CbHVyIGFscmVhZHkgZGVmaW5lZAoJICA8cmVmc2VjdDIgaWQ9IkdzdEdhdXNzaWFuQmx1ciIgcm9sZT0idHlwZWRlZiI+CgkgIF4KCSAgV2FybmluZzogbXVsdGlwbGUgIklEcyIgZm9yIGNvbnN0cmFpbnQgbGlua2VuZDogR3N0R2F1c3NpYW5CbHVyLgoJICBET0MgICBGaXhpbmcgY3Jvc3MtcmVmZXJlbmNlcwoKMjAxNi0wNy0wNyAxNzoxNjo0NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGk6IGZpeCBkb2N1bWVudGF0aW9uIHdhcm5pbmcgaW4gR3N0Q2hyb21pdW0KCSAgRml4aW5nIHRoZSBmb2xsb3dpbmcgd2FybmluZyB3aGVuIGdlbmVyYXRpbmcgZG9jdW1lbnRhdGlvbjoKCSAgeG1sL2VsZW1lbnQtY2hyb21pdW0ueG1sOjc0OiBlbGVtZW50IHJlZnNlY3QyOiB2YWxpZGl0eSBlcnJvciA6CgkgIElEIEdzdENocm9taXVtIGFscmVhZHkgZGVmaW5lZAoJICA8cmVmc2VjdDIgaWQ9IkdzdENocm9taXVtIiByb2xlPSJ0eXBlZGVmIj4KCSAgXgoJICBXYXJuaW5nOiBtdWx0aXBsZSAiSURzIiBmb3IgY29uc3RyYWludCBsaW5rZW5kOiBHc3RDaHJvbWl1bS4KCSAgRE9DICAgRml4aW5nIGNyb3NzLXJlZmVyZW5jZXMKCjIwMTYtMDctMDcgMTI6MzE6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2VicnRjZHNwOiBSZWxheCBDKysxMSBjaGVjawoJICBUaGUgbGlicmFyeSBkb2VzIG5vdCByZXF1aXJlIGFueSBTVEwgQysrMTEgc3BlY2lmaWMgaGVhZGVycy4KCSAgVGhpcyBmaXhlcyBvdXIgT1NYIGJ1aWxkIGFzIHdlIHRhcmdldCBhIFNESyB2ZXJzaW9uIHRoYXQgZG9lcyBub3QKCSAgc3VwcG9ydCBDKysxMSBTVEwuCgoyMDE2LTA3LTA3IDEyOjMxOjAzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdlYnJ0Y2RzcDogQWRkIEFuZHJvaWQgR05VU1RMIHN1cHBvcnQKCjIwMTYtMDctMDcgMTI6MjA6NDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2VicnRjZHNwOiBTZXQgVVNFX1dFQlJUQ0RTUCB3aGVuIGRpc2FibGVkCgoyMDE2LTA3LTA3IDE3OjIwOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBBbHNvIGNvbnNpZGVyIG1vcmUgc2VlayBmbGFncyBhcyAic25hcCIgc2Vla3MKCSAgSW4gdGhlIGNhc2Ugb2YgS0VZX1VOSVQgYW5kIFRSSUNLTU9ERV9LRVlfVU5JVFMgc2Vla3MsIHdlIHdhbnQgdG8KCSAgInNuYXAiIHRvIHRoZSBjbG9zZXN0IGZyYWdtZW50LgoJICBXaXRob3V0IHRoaXMsIHdlIGVuZCB1cCBwdXNoaW5nIG91dCBhIHNlZ21lbnQgd2hpY2ggZG9lcyBub3QgbWF0Y2gKCSAgdGhlIGZpcnN0IGZyYWdtZW50IHRpbWVzdGFtcCBiZWluZyBwdXNoZWQgb3V0LCByZXN1bHRpbmcgaW4gb25lIG9yCgkgIG1vcmUgYnVmZmVycyBiZWluZyBldmVudHVhbGx5IGRyb3BwZWQgYmVjYXVzZSB0aGV5IGFyZSBvdXQgb2Ygc2VnbWVudC4KCjIwMTYtMDctMDYgMTQ6Mjk6MDQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHdlYnJ0Y2RzcDogQWxzbyBhbGxvdyB3ZWJydGMtYXVkaW8tcHJvY2Vzc2luZyAwLjMKCSAgSXQgc2VlbXMgdG8gd29yayBhbmQgaXMgdGhlIHZlcnNpb24gYXZhaWxhYmxlIGluIERlYmlhbi4KCjIwMTYtMDctMDYgMTI6MTI6NDEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgbXVzZXBhY2tkZWNrOiB1bnNpZ25lZCBjYW4ndCBiZSBsZXNzIHRoYW4gemVybwoJICBMZXNzLXRoYW4temVybyBjb21wYXJpc29uIG9mIGFuIHVuc2lnbmVkIHZhbHVlLCBndWludDY0LCBpcyBuZXZlciB0cnVlCgkgIENJRCAxMzYzMzM0CgoyMDE2LTA3LTA2IDEzOjUxOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjkuMSA9PT0KCjIwMTYtMDctMDYgMTM6MDc6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ibHVlei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbXBvc2l0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY2tsaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx1aWRzeW50aG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXZlcmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0Z3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3J0cC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRlbGV0ZXh0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXV2Y2gyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvZmlsdGVyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13ZWJwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXlhZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuOS4xCgoyMDE2LTA3LTA2IDExOjUyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDctMDYgMTA6MTk6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDctMDUgMDk6MjE6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRjZHNwOiBXb3JrYXJvdW5kIEdDQy9NaW5nVyA0LjcgbGltaXRhdGlvbnMKCSAgSXQgcmVmdXNlcyB0byBpbml0aWFsaXplIGEgY2xhc3NlcyB1c2luZyBicmFja2V0cyBub3RhdGlvbi4gVGhpcyBpcwoJICB0byBhbGxvdyBidWlsZGluZyB1c2luZyBvdXIgbWluZ3cgdmVyc2lvbi4KCjIwMTYtMDctMDQgMTQ6NTc6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBZGQgbWlzc2luZyBkb3VibGUgcXVvdGVzCgkgIFRoYXQgYWZmZWN0YXRpb24gd2FzIGlnbm9yZWQuIFRoaXMgd29ya2VkIG9uIHJlY2VudCBHQ0MgYXMgQysrMTEgaXMKCSAgZW5hYmxlZCBieSBkZWZhdWx0IG5vdy4KCjIwMTYtMDctMDIgMTA6MjQ6NTEgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHYyOiBhZGQgc3VwcG9ydCBmb3Igc2F2aW5nIHByZXNldHMKCSAgUGx1Z25zIHN1cHBvcnRpbmcgdGhlIHN0YXRlIGludGVyZmFjZSBjYW4gbm93IHNhdmUgdGhlaXIgcHJlc2V0cyB1bmRlciAnLmx2MicuCgoyMDE2LTA2LTE1IDIyOjIyOjU4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdjI6IHN1cHBvcnQgZm9yIGxvYWRpbmcgcHJlc2V0cwoJICBEZXRlY3QgaWYgcGx1Z2lucyBjYW4gZG8gcHJlc2V0cy4gTGF6aWx5IHJlYWQgYSBsaXN0IG9mIHByZXNldHMgYW5kIGFkZCBzdXBwb3J0CgkgIGZvciBsb2FkaW5nLgoKMjAxNi0wNy0wNCAxNjo1NDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgbXVzZXBhY2tkZWM6IHBvcnQgdG8gMS4wCgoyMDE2LTA3LTA0IDEyOjE5OjM2ICswMjAwICBNYXJjaW4gTGV3YW5kb3dza2kgPG1hcmNpbkByYWRpb2tpdC5vcmc+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IERvIG5vdCBjYWxsIGdzdF9wb2xsX3JlbW92ZV9mZCB1cG9uIHN0b3AgaWYgcmVhZGluZyB3YXMgbmV2ZXIgc3RhcnRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY4MzY1CgoyMDE2LTA3LTAxIDE0OjUwOjI3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGltcHJvdmUgcGFyc2luZy1zdWNjZXNzIG1lc3NhZ2UKCSAgKiBGaXggdHlwbwoJICAqIEdpdmUgaW5mb3JtYXRpb24gb24gd2hhdCB3YXMgYWN0dWFsbHkgcGFyc2VkCgoyMDE2LTA3LTAxIDE0OjM3OjM3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGRvbid0IHVzZSBkZWZhdWx0IGNvbmYgZmlsZW5hbWUgZm9yIG1lc3NhZ2VzCgkgIFRoZSBmaWxlIG5hbWUgY2FuIGJlIHVzZXItZGVmaW5lZC4KCjIwMTYtMDctMDEgMTk6MjI6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9NYWtlZmlsZS5hbToKCSAgcXQ6IGZpeCBidWlsZCBzb21lIG1vcmUgd2hlbiBRUEEgaXMgbm90IGF2YWlsYWJsZQoJICBDb21waWxlciB3b3VsZCBjb21wbGFpbiBhYm91dCBpbmNsdWRlIGRpcmVjdG9yeSB0aGF0IGRpZG4ndAoJICBleGlzdCBiZWNhdXNlIFFQQV9JTkNMVURFX1BBVEggZ2V0cyBzdWJzdC1lZCByZWdhcmRsZXNzCgkgIChhbmQgaWYgaXQgZGlkbid0IHdlJ2QgaGF2ZSBqdXN0IGFuIGVtcHR5IC1JIGFyZ3VtZW50KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzU1MwoKMjAxNi0wNy0wMSAxNDowNTo0OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJICBnc3RqcGVnMjAwMHBhcnNlOiBubyBuZWVkIGZvciBlbHNlIGFmdGVyIGEgZ290bwoJICBlbHNlIGNsYXVzZSBpcyByZWR1bmRhbnQgd2hlbiB0aGUgZW5kIG9mIHRoZSBpZiBzdGF0ZW1lbnQgaXMgYSBqdW1wLgoJICBJZiB3ZSBoYXZlbid0IGdvbmUgdG8gdGhlIGJlYWNoLCB3ZSBhcmUgaW4gdGhlIGZhbHNlIGJyYW5jaC4KCjIwMTYtMDYtMzAgMDc6NDc6NTAgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJICBnc3RqcGVnMjAwMHBhcnNlOiBpbXByb3ZlZCBwYXJzaW5nIG9mIGpwYyBtYWdpYyBhbmQgajJjIGJveAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTEyCgoyMDE2LTA1LTI1IDE2OjAxOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEFkZCBjdXN0b20gZmxvdyByZXR1cm4gZm9yIGFsbG93aW5nIHN1YmNsYXNzZXMgdG8gc3BlY2lmeSB3aGVuIGEgZnJhZ21lbnQgaXMgZmluaXNoZWQKCSAgSWYgaXQgaXMgZmluaXNoZWQgYmVmb3JlIHVwc3RyZWFtIGdvaW5nIEVPUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzM2NQoKMjAxNi0wNS0yNyAxNjowODowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgU0lEWCB0cmFja2luZyBiYXNlZCBvbiBidWZmZXIgb2Zmc2V0CgkgIFRoaXMgc2ltcGxpZmllcyB0aGUgY29kZSBidXQgYWxzbyByZW1vdmVzIGEgYnVnIHdpdGggdHJhY2tpbmcgb2YgdGhlIHJlbWFpbmluZwoJICBzaXplIGZvciB0aGUgaW5pdGlhbCBzdWJmcmFnbWVudDogd2Ugd2VyZSBub3QgY29uc2lkZXJpbmcgdGhlIHNpemUgYmV0d2VlbiB0aGUKCSAgaW5kZXggYW5kIHRoZSBzdGFydCBvZiB0aGUgZmlyc3QgbW9vZiBoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njg0CgoyMDE2LTAzLTMxIDEzOjM5OjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IGtlZXAgdHJhY2sgb2YgY3VycmVudCBvZmZzZXQKCSAgR3N0QWRhcHRlciBkb2VzIG5vdCBndWFyYW50ZWUgdG8gcGFzcyB0aHJvdWdoIGFsbCB0aGUgb2Zmc2V0cywgd2UgaGF2ZSB0byBrZWVwCgkgIHRyYWNrIG9mIGl0IG91cnNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDY4NAoKMjAxNi0wMy0zMSAxMzozOTo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUHJvcGVybHkga2VlcCB0cmFjayBvZiBjdXJyZW50IG9mZnNldAoJICBHc3RBZGFwdGVyIGRvZXMgbm90IGd1YXJhbnRlZSB0byBwYXNzIHRocm91Z2ggYWxsIHRoZSBvZmZzZXRzLCB3ZSBoYXZlIHRvIGtlZXAKCSAgdHJhY2sgb2YgaXQgb3Vyc2VsdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njg0CgoyMDE2LTAzLTMxIDEzOjAxOjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQ2xlYXIgcGVuZGluZyBkYXRhIHdoZW4gbmVlZGVkCgkgIFdoZW4gc3dpdGNoaW5nIGZyYWdtZW50cyB3ZSBkb24ndCB3YW50IHRvIGtlZXAgYW55IGRhdGEgYXJvdW5kIGZyb20gdGhlIGxhc3QKCSAgb25lLCBhbmQgYWxzbyBmb3JnZXQgYWJvdXQgYWxsIGRhdGEgd2hlbiBkb2luZyBmbHVzaGluZyBzZWVrcyBvciBzZWxlY3RpbmcgbmV3CgkgIGJpdHJhdGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0Njg0CgoyMDE2LTAzLTI4IDEzOjQ1OjM2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IEdldCByaWQgb2YgaW50ZXJuYWwgc3RyZWFtIGFkYXB0ZXIgYW5kIGxldCBzdWJjbGFzc2VzIGhhbmRsZSB0aGlzIGRpcmVjdGx5CgkgIFRoaXMgYWxsb3dzIHN1YmNsYXNzZXMgdG8gaGF2ZSBtb3JlIGNvbnRyb2wgYW5kIGVzcGVjaWFsbHkgZW5zdXJlIHRoYXQgdGhleQoJICBwdXNoIGRhdGEgZG93bnN0cmVhbSB3aXRoIHRoZSBjb3JyZWN0IG9mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ2ODQKCjIwMTYtMDctMDEgMTI6MjA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnMjAwMDogZG9uJ3QgYWxsb3cgMCB2YWx1ZSBmb3IgYXJyYXkgYWNjZXNzIHdpdGggaS0xCgoyMDE2LTA3LTAxIDEyOjE1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmM6CgkgIGNvZGVjcGFyc2VyczoganBlZzIwMDA6IGZpeCBwb3NzaWJsZSBvdXQtb2YtYm91bmRzIGFycmF5IGFjY2VzcwoJICBzaXplb2YoYXJyYXkpICE9IEdfTl9FTEVNRU5UUyhhcnJheSkuCgkgIENJRCAxMzYyOTAwCgoyMDE2LTA2LTMwIDIzOjM4OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFNldCBmcmFtZSB0aW1lc3RhbXBzIGJlZm9yZSBzZW5kaW5nIHRvIHRoZSBlbmNvZGVyCgoyMDE2LTA2LTMwIDIzOjM1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEZpeCBpbml0aWFsIHRpbWUtcGVyLWZyYW1lIGNhbGN1bGF0aW9uCgoyMDE2LTA2LTMwIDIzOjMzOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmg6CgkgIG9wZW5oMjY0ZW5jOiBSZW1vdmUgbWVhbmluZ2xlc3MgZHJvcCBiaXRyYXRlIGhhbmRsaW5nCgkgIFRoaXMgZG9lc24ndCBldmVuIGhhdmUgYSBwcm9wZXJ0eS4KCjIwMTYtMDYtMzAgMjM6Mjk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSAgb3BlbmgyNjRlbmM6IEV4cG9zZSBtYXhpbXVtIGJpdHJhdGUgc2V0dGluZwoKMjAxNi0wNi0zMCAyMzoxOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBY3R1YWxseSBob29rIHVwIHRoZSByYXRlLWNvbnRyb2wgcHJvcGVydHkKCjIwMTYtMDYtMzAgMjM6MDY6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogVXNlIGEgY29uc3RhbnQgU1BTL1BQUyBJRCBubyBtYXR0ZXIgaWYgb3BlbmgyNjQgb2xkZXIgb3IgbmV3ZXIgdGhhbiAxLjQgaXMgdXNlZAoKMjAxNi0wNi0zMCAyMzowMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBNYWtlIHNsaWNlIHNldHRpbmdzIG1vcmUgZXhwbGljaXQgYW5kIGRvbid0IHNldCBhbnkgbnVtYmVyIGlmIG5vdCBhIGZpeGVkIG51bWJlciBvZiBzbGljZXMgaXMgc2VsZWN0ZWQKCjIwMTYtMDYtMjkgMTU6NTY6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuY3BwOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2VjaG9wcm9iZS5oOgoJICB3ZWJydGNkc3A6IFJld3JpdGUgZWNobyBkYXRhIHN5bmNocm9uaXphdGlvbgoJICBUaGUgcHJldmlvdXMgY29kZSB3b3VsZCBydW4gb3V0IG9mIHN5bmMgaWYgdGhlcmUgd2FzIHBhY2tldCBsb3N0CgkgIG9yIGNsb2NrIHNrZXdzLiBXaGVuIHRoYXQgaGFwcGVuZWQsIHRoZSBlY2hvIGNhbmNlbGxhdGlvbiBmZWF0dXJlIHdvdWxkCgkgIGNvbXBsZXRlbHkgc3RvcCB3b3JraW5nLiBBcyB0aGlzIGlzIGNydWNpYWwgZm9yIGF1ZGlvIGNhbGxzLCB0aGlzIHBhdGNoCgkgIHJlLWltcGxlbWVudCBzeW5jaHJvbml6YXRpb24gY29tcGxldGVseS4KCSAgSW5zdGVhZCBvZiBsZXR0aW5nIGl0IGRyaWZ0IHVudGlsIG5leHQgZGlzY29udCwgd2Ugbm93IHN5bmNocm9uaXplCgkgIGFnYWluc3QgdGhlIHJlY29yZCBkYXRhIGF0IGV2ZXJ5IGl0ZXJhdGlvbi4gVGhpcyB3YXkgd2Ugc2ltcGx5IG5ldmVyCgkgIGxldCB0aGUgc3RyZWFtIGRyaWZ0IGZvciBsb25nZXIgdGhlbiAxMG1zIHBlcmlvZC4gV2UgYWxzbyBzaG9ydGVyIHRoZQoJICBkZWxheSBieSB1c2luZyB0aGUgbGF0ZW5jeSB1cCB0aGUgcHJvYmUgKGJhc2ljYWxseSBleGNsdWRpbmcgdGhlIHNpbmsKCSAgbGF0ZW5jeS4gVGhpcyBpcyBhIGRlY2VudCBkZWxheSB0byBhdm9pZCBzdGFydmluZyBpbiB0aGUgcHJvYmUgcXVldWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgwMDkKCjIwMTYtMDYtMjkgMTU6NTU6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRjZHNwOiBXZSBub3cgZmFpbCBpZiB0aGVyZSBpcyBubyBlY2hvIHByb2JlCgkgIFdoZW4gZWNobyBjYW5jZWwgaXMgZW5hYmxlZCwgd2Ugbm93IGZhaWwgdGhlIHBpcGVsaW5lIGlmIHRoZXJlIGlzCgkgIG5vdCBlY2hvIHByb2JlLiBGb3IgdGhpcyByZWFzb24gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBpZiBwcm9iZQoJICBwb2ludGVyIGlzIHNldCBhbnltb3JlLgoKMjAxNi0wNi0zMCAyMTo1MDoxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogZml4IHRyYW5zZm9ybWF0aW9uIG1hdHJpeCB1c2FnZQoJICBDYWxsaW5nIGdsVW5pZm9ybU1hdHJpeCBiZWZvcmUgdGhlIHNoYWRlciBpcyBib3VuZCBpcyBpbnZhbGlkIGFuZAoJICB3b3VsZCByZXN1bHQgaW4gZXJyb3JzIGxpa2U6CgkgIEdMX0lOVkFMSURfT1BFUkFUSU9OIGluIGdsVW5pZm9ybU1hdHJpeChwcm9ncmFtIG5vdCBsaW5rZWQpCgkgIE1vdmUgZ2xVbmlmb3JtTWF0cml4KCkgdG8gYWZ0ZXIgdGhlIGdzdF9nbF9zaGFkZXJfdXNlKCkgY2FsbC4KCjIwMTYtMDYtMjggMTY6MDc6NDMgLTA0MDAgIEphdmllciBNYXJ0aW5leiBDYW5pbGxhcyA8amF2aWVyQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBmYWxsYmFjayB0byB1bml2ZXJzYWwgcGxhbmVzIGlmIG5vIG92ZXJsYXkgcGxhbmUgaXMgZm91bmQKCSAgV2l0aG91dCBzZXR0aW5nIHRoZSBEUk1fQ0xJRU5UX0NBUF9VTklWRVJTQUxfUExBTkVTIGNhcGFiaWxpdHkgYml0LCBvbmx5CgkgIG92ZXJsYXkgcGxhbmVzIGFyZSBtYWRlIGF2YWlsYWJsZSBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIGxlZ2FjeSBjbGllbnRzLgoJICBCdXQgaWYgYSBDUlRDIGRvZXNuJ3QgaGF2ZSBhbiBvdmVybGF5IHBsYW5lIGFzc29jaWF0ZWQsIHRoZW4ga21zc2luayBpcwoJICBub3QgYWJsZSB0byBmaW5kIGEgcGxhbmUgZm9yIHRoZSBDUlRDIGFuZCB0aGUgcGlwZWxpbmUgd2lsbCBmYWlsLCBpLmU6CgkgIEVSUk9SICAgICAgICAgICAgICAgIGttc3NpbmsgZ3N0a21zc2luay5jOjQ4Mjpnc3Rfa21zX3Npbmtfc3RhcnQ6PGttc3NpbmswPiBDb3VsZCBub3QgZmluZCBhIHBsYW5lIGZvciBjcnRjCgkgIElmIG5vIG92ZXJsYXkgcGxhbmVzIHdlcmUgZm91bmQgZm9yIGEgZ2l2ZW4gQ1JUQywgZmFsbGJhY2sgdG8gdW5pdmVyc2FsCgkgIHBsYW5lcyBzbyBEUk0gd2lsbCBhbHNvIHJldHVybiBwcmltYXJ5IHBsYW5lcyB0aGF0IGNhbiBiZSB1c2VkIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxODMKCSAgU2lnbmVkLW9mZi1ieTogSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFzIDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgoKMjAxNi0wNi0yOCAyMDo1MTo1NiAtMDQwMCAgSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFzIDxqYXZpZXJAb3NnLnNhbXN1bmcuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiBhZGQgYSBwbGFuZS1pZCBwcm9wZXJ0eQoJICBXaXRob3V0IHNldHRpbmcgdGhlIERSTV9DTElFTlRfQ0FQX1VOSVZFUlNBTF9QTEFORVMgY2FwYWJpbGl0eSBiaXQsIG9ubHkKCSAgb3ZlcmxheSBwbGFuZXMgYXJlIG1hZGUgYXZhaWxhYmxlIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbGVnYWN5IGNsaWVudHMuCgkgIEJ1dCBpZiBhIENSVEMgZG9lc24ndCBoYXZlIGFuIG92ZXJsYXkgcGxhbmUgYXNzb2NpYXRlZCwgdGhlbiBrbXNzaW5rIGlzCgkgIG5vdCBhYmxlIHRvIGZpbmQgYSBwbGFuZSBmb3IgdGhlIENSVEMgYW5kIHRoZSBwaXBlbGluZSB3aWxsIGZhaWwsIGkuZToKCSAgRVJST1IgICAgICAgICAgICAgICAga21zc2luayBnc3RrbXNzaW5rLmM6NDgyOmdzdF9rbXNfc2lua19zdGFydDo8a21zc2luazA+IENvdWxkIG5vdCBmaW5kIGEgcGxhbmUgZm9yIGNydGMKCSAgVGhpcyBwYXRjaCBhZGRzIGEgcGxhbmUtaWQgcHJvcGVydHkgdG8gdGhlIGttc3NpbmsgZWxlbWVudCBzbyBhIHNwZWNpZmljCgkgIHBsYW5lIGNhbiBiZSB1c2VkIGluIGNhc2UgdGhhdCBhIENSVEMgaGFzIG9ubHkgYSBwcmltYXJ5IHBsYW5lIGFzc29jaWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxODMKCjIwMTYtMDYtMzAgMTA6MzM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogUmVtb3ZlIGJyb2tlbiBieXRlLXN0cmVhbSB0byBhdmMgY29udmVyc2lvbiBhbmQganVzdCBvdXRwdXQgYnl0ZS1zdHJlYW0gYXMgZ2VuZXJhdGVkIGJ5IHRoZSBlbmNvZGVyCgkgIFRoZSBieXRlLXN0cmVhbSB0byBhdmMgY29udmVyc2lvbiBkaWQgbm90IGNvbnNpZGVyIE5BTCBzaXplcyBiaWdnZXIgdGhhbiAyXjE2LAoJICBtdWx0aXBsZSBsYXllcnMsIG11bHRpcGxlIE5BTHMgcGVyIGxheWVyLCBhbmQgdmFyaW91cyBvdGhlciB0aGluZ3MuIFRoaXMKCSAgY2F1c2VkIGNvcnJ1cHRlZCBzdHJlYW1zIGluIGhpZ2hlciBiaXRyYXRlcyBhbmQgb3RoZXIgY2lyY3Vtc3RhbmNlcy4KCSAgTGV0J3MganVzdCBmb3J3YXJkIGJ5dGUtc3RyZWFtIGFzIGdlbmVyYXRlZCBieSB0aGUgZW5jb2RlciBhbmQgbGV0IGgyNjRwYXJzZQoJICBoYW5kbGUgY29udmVyc2lvbiB0byBhdmMgaWYgbmVlZGVkLiBUaGF0IHdheSB3ZSBvbmx5IGhhdmUgdG8ga2VlcCBhcm91bmQgb25lCgkgIHZlcnNpb24gb2YgdGhlIGNvbnZlcnNpb24gYW5kIGRvbid0IGhhdmUgdG8gZml4IGl0IGluIG11bHRpcGxlIHBsYWNlcy4KCjIwMTYtMDYtMjkgMTg6MzY6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERyb3AgZmlsbGVyIGRhdGEKCSAgV2hlbiBza2lwcGluZyBkYXRhLCBjaGVjayBpZiB0aGV5IGFyZSBmaWxsZXIgYnl0ZXMuIElmIHNvLCBkcm9wIHRoZQoJICBkYXRhIGluc3RlYWQgb2Ygc2tpcHBpbmcuIFdlIGRvbid0IHdhbnQgdG8gb3V0cHV0IGZpbGxlciBieXRlcywgYnV0IHRoZXkKCSAgc2hvdWxkbid0IGNhdXNlIGEgZGlzY29udGludWl0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODEyNQoKMjAxNi0wNi0zMCAwODozMToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBVc2UgYSBub24tdGltZXIgR3N0UG9sbAoJICBzZXRfZmx1c2hpbmcoKSBjYXVzZXMgaW5jb25zaXN0ZW50IHN0YXRlcyBvbiB0aW1lciBwb2xscyBhbmQgYWxzbyBzaWduYWxzIGEKCSAgZ19jcml0aWNhbCgpIG5vd2FkYXlzIGJlY2F1c2Ugb2YgdGhhdC4KCjIwMTYtMDYtMzAgMTQ6MDQ6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IHJhdyBkYXRhIHVwbG9hZGVyIHdpdGggYWRkaXRpb24gb2YgR3N0VmlkZW9HTFRleHR1cmVUeXBlCgkgIEZpeGVzIHJlZ3Jlc3Npb24gZnJvbSA5ODkyMDA4MjBkNDNjNzhmYjE3OWQ3OTg0ODI3ODAwZDgzNzg3MzkwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgyMTcKCjIwMTYtMDYtMjkgMjM6NTU6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2x2aWRlb2NvbnZlcnQ6IFJHL0xBIGlzIGF2YWlsYWJsZSBpbiBPcGVuR0wgRVMgMywgc28gbGV0IHRoYXQgdGhyb3VnaAoKMjAxNi0wNi0yOSAxODozNToxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IHVzZSBML0xBIHRleHR1cmVzIG9uIEdMRVMyIGFzIHdlbGwKCjIwMTYtMDYtMjQgMTM6NDE6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIFJldmVydCAiUmV2ZXJ0ICJnbC9lYWdsOiB0cnkgZ2V0dGluZyBhIGdsZXMzIGNvbnRleHQiIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGViMTQyNzM2MzE4NDYzZTZlNTUzYzIxNzA3YmEwZDcxNmY4NWE0NmYuCgkgIHZ0ZGVjIG5vdyBzdWNjZXNzZnVsbHkgb3V0cHV0cyB0ZXh0dXJlcyB0aGF0IGNhbiBiZSBjb252ZXJ0ZWQgYnkKCSAgZ2xjb2xvcmNvbnZlcnQgaW4gR0xFUzMgY29udGV4dHMuCgoyMDE2LTA2LTI1IDAwOjA1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICB2dGRlYzogYWRkIHN1cHBvcnQgZm9yIHplcm9jb3B5IGRlY29kaW5nIHdpdGggR0xFUyAzLngKCSAgSXQgc2VlbXMgdGhhdCBSZWQvUkcgdGV4dHVyZXMgYXJlbid0IHN1cHBvcnRlZCBhbnltb3JlIGZvciB6ZXJvY29weSBkZWNvZGluZwoJICB3aXRoIEdMRVMgMy54LiAgSW5zdGVhZCB1c2UgTHVtaW5hbmNlL0x1bWluYW5jZSBBbHBoYSB0ZXh0dXJlcyB3aGljaCBhcmUuCgoyMDE2LTA2LTI4IDEzOjUxOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbG1lbW9yeTogYWRkIHRoZSB0ZXh0dXJlIHR5cGUgdG8gYWxsb2NhdGUgdG8gcGFyYW1ldGVycwoJICBSYXRoZXIgdGhhbiBhc3N1bWluZyBzb21ldGhpbmcuICBlLmcuIHplcm9jb3B5IG9uIGlPUyB3aXRoIEdMRVMzIHJlcXVpcmVzCgkgIHRoZSB1c2Ugb2YgTHVtaW5hbmNlL0x1bWluYW5jZSBBbHBoYSBmb3JtYXRzIGFuZCBkb2VzIG5vdCB3b3JrIHdpdGgKCSAgUmVkL1JHIHRleHR1cmVzLgoKMjAxNi0wNi0yOCAxMzowOTo1MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBkb24ndCBhc3N1bWUgUmVkL1JHIHRleHR1cmVzIHdpbGwgYmUgdXNlZAoJICBUYWtlIHRoZSB1c2VkIHRleHR1cmUgdHlwZSBmcm9tIHRoZSBtZW1vcnkgaW5zdGVhZC4KCSAgRml4ZXMgY29udmVyc2lvbiBmcm9tIG11bHRpLXBsYW5hciBZVVYgZm9ybWF0cyB3aXRoIHR3byBjb21wb25lbnRzIHBlciBwbGFuZQoJICAoTlYxMiwgTlYyMSwgWVVZMiwgVVlWWSwgR1JBWTE2XyosIGV0Yykgd2l0aCBMdW1pbmFuY2UgQWxwaGEgaW5wdXQgdGV4dHVyZXMuCgkgIFRoaXMgaXMgYWxzbyBuZWVkZWQgZm9yIHplcm9jb3B5IGRlY29kaW5nIG9uIGlPUyB3aXRoIEdMRVMgMy54LgoKMjAxNi0wNi0yOCAxMzowMjozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGNvcnJlY3QgcHJlY29uZGl0aW9uIGZvciBnZXRfZ2xfdmVyc2lvbgoJICBUaGUgaW50ZW50aW9uIHdhcyB0byBhc3NlcnQgaWYgYm90aCBtYWogYW5kIG1pbiB3ZXJlIE5VTEwgKGFzIHRoZXJlIHdvdWxkIGJlIG5vCgkgIHBvaW50IGNhbGxpbmcgdGhlIGZ1bmN0aW9uKS4gIEluc3RlYWQgaWYgZWl0aGVyIG1haiBvciBtaW4gd2VyZSBOVUxMLCB0aGUgYXNzZXJ0CgkgIHdvdWxkIG9jY3VyLgoJICBGaXggdGhhdC4KCjIwMTYtMDYtMjggMTk6MjY6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZXBsYWNlIHNvbWUgbW9yZSBnc3RfY2Fwc190b19zdHJpbmcoKSB3aXRoIEdTVF9QVFJfRk9STUFUCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjgxNDYKCjIwMTYtMDYtMjggMTE6NTA6NTkgLTA0MDAgIEpvbmF0aGFuIFJveSA8anJveUBhZGV0ZWxncm91cC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGxlYWsgb24gY2FwcyBzdHJpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2ODE0NgoKMjAxNi0wNi0yOCAxMTowODoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5jOgoJICBqcGVnMjAwMHBhcnNlOiBmaXggdHlwbyBpbiBzYW1wbGluZyBjaGVjawoJICBGaXhpbmcgc21hbGwgdHlwbyB0aGF0IGNoYW5nZXMgdGhlIHZhbHVlIG9mIHRoZSByZXR1cm4uCgoyMDE2LTA2LTI3IDIxOjM2OjUwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBJZ25vcmUga21zc2luayBmb3Igc3RhdGUgY2hhbmdlIHRlc3QKCSAgSXQgY2FuIG9ubHkgYmUgcHV0IHRvIFJFQURZIGlmIHRoZSBEUk0gc3R1ZmYgaXMgYXZhaWxhYmxlLgoKMjAxNi0wNi0yNyAxODoxNTowOCArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IEZpeCBidWlsZCBlcnJvciB3aGVuIGRvbid0IGhhdmUgUVBBIGluc3RhbGxlZC4KCSAgQ2hlY2sgaGVhZGVyIGZpbGUgZXhpc3RhbmNlIGFuZCB3cmFwIHRoZSBoZWFkZXIgZmlsZSBpbmNsdWRlCgkgIGluIHRoZSBuZWNlc3NhcnkgI2lmZGVmIHRvIGF2b2lkIGJ1aWxkIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTUzCgoyMDE2LTA2LTI0IDE4OjE0OjA2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogbWFrZSBzdXJlIHdlIGhhdmUgYW4gZXJyb3IgaW4gY2FzZSBvZiBwYXJzaW5nIGZhaWx1cmUKCSAgRHJvcCBhIHJlZHVuZGFudCBjb21tZW50IGFuZCByZWxsb2NhdGUgYW5vdGhlciBvbmUgd2hpbGUgYXQgaXQuCgoyMDE2LTA2LTIyIDE2OjE0OjMzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGltcGxlbWVudCBjaGFubmVscy5jb25mIGZvcm1hdCBhdXRvZGV0ZWN0aW9uCgkgIFNpbXBsZSBhdXRvZGV0ZWN0aW9uIGF2b2lkcyBoYXZpbmcgdG8gY2FsbCB0aGUgcGFyc2VycwoJICBvbmUgYWZ0ZXIgdGhlIG90aGVyLgoKMjAxNi0wNi0yMSAxNjowODo1NyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2Yi9wYXJzZWNoYW5uZWxzOiByZW5hbWUgdjUvemFwIHBhcnNlcnMgZm9yIGNvbmdydWVuY3kKCSAgQWRkIGZ1bmN0aW9uIHByb3RvdHlwZXMgd2hpbGUgYXQgaXQuCgoyMDE2LTA0LTEyIDIxOjA0OjI1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGZpeCBtb2R1bGF0aW9uIG5hbWVzCgkgIFNvbWUgbmFtZXMgd2VyZSBpbmNvcnJlY3QuIEF1dGhvcml0YXRpdmUgc291cmNlIGZvcgoJICB0aGUgZHZidjUgZm9ybWF0IHRha2VuIGZyb20gdjRsLXV0aWxzJyBsaWIvbGliZHZidjUvZHZiLXY1LmMKCSAgQWRpdGlvbmFsbHksIGFkZCB0aGUgbWlzc2luZyBzZXR0ZXIgbWFwcGluZyBmb3IgdGhlCgkgIG1vZHVsYXRpb24gcGFyYW0uCgkgIFRoaXMgY2hhbmdlIG1ha2VzIEFUU0Mgd29yay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDk1NwoKMjAxNi0wMi0yNCAyMTo0NDo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGFsc28gYWNjZXB0IERWQnY1IGNoYW5uZWxzLmNvbmYgZm9ybWF0CgkgIENvbmZpcm1lZCB3b3JraW5nIHdpdGggSVNEQi1UICYgQVRTQyBjb25mIGZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTU3CgoyMDE2LTA2LTIxIDExOjQ4OjM2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBJU0RCLVQgcHJvcGVydHkgZGVzY3JpcHRpb25zCgkgIERyb3Agc29tZSBzdGFsZSB0cmFpbGluZyB3aGl0ZXNwYWNlIHdoaWxlIGF0IGl0LgoKMjAxNi0wNi0yMSAxMTozMjowNyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggbWlzcGxhY2VkIHNwYWNlIG9uIGRvYyBibG9jawoKMjAxNi0wNS0xMCAwMzozMjo1OSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFdoZW4gaW5wdXQgYWxpZ25tZW50PUFVLCBhbHdheXMgZHJhaW4gZWFjaCBwYWNrZXQuCgkgIElmIHRoZSBpbnB1dCBhbGlnbm1lbnQgY2xhaW1zIEFVIGFsaWdubWVudCwgZWFjaCByZWNlaXZlZAoJICBidWZmZXIgc2hvdWxkIGNvbnRhaW4gYSBjb21wbGV0ZSB2aWRlbyBmcmFtZSwgc28gbmV2ZXIgaG9sZCBvdmVyIHBhcnRzCgkgIG9mIGJ1ZmZlcnMgZm9yIGxhdGVyIHByb2Nlc3NpbmcuIEFsc28gcmVkdWNlcyBsYXRlbmN5LCBhcyBwYWNrZXRzCgkgIGFyZSBwYXJzZWQvY29udmVydGVkIGFuZCBvdXRwdXQgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiAxIGJ1ZmZlcgoJICBsYXRlci4KCSAgRml4ZXMgYSBwcm9ibGVtIHdoZXJlIGFuIChhcmd1YWJseSBkaXNhbGxvd2VkKSBwYWRkaW5nIGJ5dGUgb24gdGhlCgkgIGVuZCBvZiBhIGJ1ZmZlciBpcyBkZXRlY3RlZCBhcyBhbiBleHRyYSBieXRlIGluIHRoZSBmb2xsb3dpbmcKCSAgc3RhcnQgY29kZSwgYW5kIG1lc3NlcyB1cCB0aGUgdGltZXN0YW1waW5nIHRoYXQgc2hvdWxkIGFwcGx5IHRvCgkgIHRoYXQgc3RhcnQgY29kZS4KCjIwMTYtMDYtMjQgMTM6MDU6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSBjb2RlY3BhcnNlcnMgLmRlZiBmaWxlIGZvciBuZXcgc3ltYm9scwoKMjAxNi0wNi0yNCAwOTo0MToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogZml4IG1vcmUgYnJva2VuIGluY2x1ZGVzCgoyMDE2LTA2LTI0IDA5OjM5OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmg6CgkgIHZpZGVvcGFyc2VyczogZml4IGJyb2tlbiBpbmNsdWRlCgoyMDE2LTA2LTIxIDEyOjQxOjQ2IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZzIwMDBzYW1wbGluZy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwc2FtcGxpbmcuaDoKCSAganBlZzIwMDBwYXJzZTogdXNlIGVudW1zIGZvciBjb2xvcnNwYWNlIGFuZCBzYW1wbGluZywgcmF0aGVyIHRoYW4gc3RyaW5ncwoJICBBbHNvLCBtb3ZlIGdzdGpwZWcyMDAwc2FtcGxpbmcgdG8gY29kZWNwYXJzZXJzIHByb2plY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzkwOAoKMjAxNi0wNi0yNCAwMTo1NzoxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE5lZWQgdG8gYWRkIC1ER1NUX1NUQVRJQ19DT01QSUxBVElPTiB3aGVuIGJ1aWxkaW5nIG9ubHkgc3RhdGljYWxseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NDYzCgoyMDE2LTA2LTIzIDE1OjU3OjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJICBlZ2xpbWFnZTogT25seSByZWdpc3RlciBkZWJ1ZyBjYXRlZ29yeSBpZiBkbWFidWYgc3VwcG9ydCBpcyBlbmFibGVkCgkgIEl0J3Mgbm90IHVzZWQgb3RoZXJ3aXNlIGN1cnJlbnRseSBhbmQgY2F1c2VzIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAxNi0wNi0yMiAyMjoyODowMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuY3BwOgoJICB3ZWJydGNkc3A6IE9mZnNldCB0aW1lc3RhbXAgd2l0aCBkdXJhdGlvbgoJICBUaGUgc2F2ZWQgdGltZXN0YW1wIGlzIHVzZWQgdG8gY29tcHV0ZSB0aGUgZGVsYXkgb2YgdGhlIHByb2JlIGRhdGEuCgkgIEFzIGl0J3MgdXNlZCBhdCB0aGUgZm9sbG93aW5nIGluY29taW5nIGJ1ZmZlciwgaXQgbmVlZHMgdG8gYmUgb2Zmc2V0CgkgIHdpdGggdGhlIGR1cmF0aW9uIG9mIHRoZSBidWZmZXIgdG8gcmVwcmVzZW50IHRoZSBlbmQgcG9zaXRpb24uIEFsc28sCgkgIHByb3Blcmx5IGluaXRpYWxpemUgdGhlIHNhdmVkIHRpbWVzdGFtcCBhbmQgcHJvdGVjdCBhZ2FpbnN0IFRJTUVfTk9ORS4KCjIwMTYtMDYtMjIgMjE6NTQ6MTMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRjZHNwOiBTeW5jaHJvbml6ZSB3aXRoIGRlbGF5cwoJICBVbnRpbCBub3csIHdlIHdlcmUgc3luY2hyb25pemluZyBib3RoIERTUCBhbmQgUHJvYmUgYWRhcHRlciBieQoJICB3YWl0aW5nIGFuZCBjbGlwcGluZyB0aGUgcHJvYmUgYWRhcHRlciBkYXRhLiBUaGlzIGluY3JlYXNlcyB0aGUgQ1BVCgkgIHVzYWdlLCBjYW4gY2F1c2UgY29waWVzIGlmIHRoZSBhdWRpbyBpcyBub3QgMTBtcyBhbGlnbmVkIGFuZCB0aGUgd29yc3QKCSAgaXMgdGhhdCBpdCBwcmV2ZW50cyB0aGUgcHJvY2Vzc2luZyBmcm9tIGNvbXBlbnNhdGluZyBmb3IgaW5hY2N1cmF0ZQoJICBsYXRlbmN5LiBUaGlzIGlzIGFsc28gYSBzdGVwIGZvcndhcmQgdG93YXJkIHN1cHBvcnRpbmcgcGxheWJhY2sKCSAgZmlsdGVycy4KCjIwMTYtMDYtMjIgMjE6NDU6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSAgd2VicnRkc3A6IFJlbW92ZSByZXN0cmljdGlvbiBvbiBjaGFubmVscyBudW1iZXIKCSAgVW5saWtlIDAuMSwgaW4gMC4yIHRoZSByZXZlcnNlIHN0cmVhbSBjYW4gaGF2ZSBkaWZmZXJlbnQgbnVtYmVyIG9mCgkgIGNoYW5uZWxzLiBSZW1vdmUgdGhlIGNoZWNrIHRoYXQgcmVzdHJpY3QgaXQuCgoyMDE2LTA2LTIyIDIxOjQ0OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2RzcC5jcHA6CgkgIHdlYnJ0Y2RzcDogU3R5bGUgZml4CgoyMDE2LTA2LTE2IDE0OjE4OjE4ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBtaW5pbWl6ZSByZW5lZ290aWF0aW9uIHRvIG1ha2UgaHcgZGVjb2RpbmcgbW9yZSByZWxpYWJsZQoJICBUaGUgaGFyZHdhcmUgZGVjb2RlciBjYW4gYmVjb21lICh0ZW1wb3JhcmlseSkgdW5hdmFpbGFibGUgYWNyb3NzCgkgIFZURGVjb21wcmVzc2lvblNlc3Npb25DcmVhdGUvRGVzdHJveSBjYWxscy4gRHVyaW5nIG5lZ290aWF0aW9uIGlmIHRoZSBjdXJyZW50bHkKCSAgY29uZmlndXJlZCBjYXBzIGFyZSBzdGlsbCBhY2NlcHRlZCBieSBkb3duc3RyZWFtIHdlIGtlZXAgdXNpbmcgdGhlbSBzbyB3ZSBkb24ndAoJICBoYXZlIHRvIGRlc3Ryb3kgYW5kIHJlY3JlYXRlIHRoZSBkZWNvZGluZyBzZXNzaW9uLgoJICBUaGlzIGluZGlyZWN0bHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQyOSwgYnkKCSAgbWFraW5nIHZ0ZGVjIHN0aWNrIHRvIEdMTWVtb3J5LgoKMjAxNi0wNi0xNiAxNToxMzowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZXh0L3F0L3F0cGx1Z2luLnBybzoKCSAgcW1sZ2xzaW5rOiBhZGQgd2luMzIgc3VwcG9ydAoJICBUaGUgY3VycmVudCBzdGF0ZSBvZiBjKysgQUJJJ3Mgb24gV2luZG93J3MgYW5kIEdzdCdzL1F0J3MgY29uZmxpY3RpbmcKCSAgbWluZ3cgYnVpbGRzIG1lYW5zIHRoYXQgd2UgY2Fubm90IHVzZSBtaW5ndyBmb3IgYnVpbGRpbmcgdGhlIHF0IHBsdWdpbi4KCSAgSW5zdGVhZCwgYSBxbWFrZSAucHJvIGZpbGUgaXMgcHJvdmlkZWQgdGhhdCBpcyBleHBlY3RlZCB0byBiZSB1c2VkIHdpdGggdGhlCgkgIG1zdmMgYmluYXJpZXMgcHJvdmlkZWQgYnkgUXQgbGlrZSBzbzoKCSAgKHdpdGggdGhlIFBBVEggZW52aXJvbm1lbnQgdmFyaWFibGUgY29udGFpbmluZyB0aGUgcGF0aCB0byB0aGUgcXQgYmluaWFyaWVzCgkgIGFuZCBQS0dfQ09ORklHX1BBVEggY29udGFpbmluZyB0aGUgcGF0aCB0byBHU3RyZWFtZXIgbW9kdWxlcykKCSAgY2QgL3BhdGgvdG8vc291cmNlcy9nc3QtcGx1Z2lucy1iYWQvZXh0L3F0CgkgIHFtYWtlIC10cCB2YwoJICBUaGVuIG9wZW4gdGhlIHJlc3VsdGluZyBWUyBwcm9qZWN0IGFuZCBidWlsZCB0aGUgbGlicmFyeS4gIFRoZW4KCSAgY3AgZGVidWcvbGliZ3N0cXRzaW5rLmRsbCAvcGF0aC90by9wcmVmaXgvbGliL2dzdHJlYW1lci0xLjAvbGliZ3N0cXRzaW5rLmNsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjYwCgoyMDE2LTA2LTIxIDExOjQwOjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBBZGQgbWlzc2luZyBmaWxlIHRvIGdpdGlnbm9yZQoKMjAxNi0wNi0yMCAxODo1MjowMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbmRyb2lkY2FtZXJhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2Z4YmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJsdWV6LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJzMmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29tcG9zaXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXNoZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHVpZHN5bnRobWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0Z3RrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2dGMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWttcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmV0c2ltLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5leHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmdsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5qcGVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBvbnZpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGhzdHJlYW1pbmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcnRwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10ZWxldGV4dC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11dmNoMjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9mcmFtZV9hdWRpb2xldmVsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdlYnAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2VicnRjZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teWFkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIGRvYzogQXV0b21hdGljIHVwZGF0ZQoJICBUaGlzIGlzIGFuIGF1dG9tYXRpYyB1cGRhdGUgd2l0aCBtYW51YWwgbWVyZ2VzIG9mIHJ1bm5pbmcKCSAgIm1ha2UgdXBkYXRlIiBpbiB0aGUgZG9jL3BsdWdpbnMgZGlyZWN0b3J5LiBUaGlzIHNob3VsZCBoZWxwCgkgIGxhdGVyIG1haW50ZW5hbmNlIG9mIHRoZSBwbHVnaW5zIGRvYy4gQSBsb3Qgb2YgcGx1Z2luIGFyZQoJICBub3QgcmVmZXJlbmNlZCB5ZXQgaW4gdGhlIGRvYy4gV2lsbCBjb21lIGxhdGVyLgoKMjAxNi0wNi0yMCAxNjozMDoxOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2M6IEFkZCAuY3BwIGZpbGVzIHRvIGRvYyBwYXJzZXIKCSAgQWxzbywgY29tcGxldGUgdGhlIGxpc3Qgb2YgZGlyZWN0b3J5IHRoYXQgbmVlZCB0byBiZSB2aXNpdGVkLgoKMjAxNi0wNi0wNiAxNToxMDowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJydGNkc3AvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJydGNkc3AvZ3N0d2VicnRjZHNwLmNwcDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNkc3AuaDoKCSogZXh0L3dlYnJ0Y2RzcC9nc3R3ZWJydGNlY2hvcHJvYmUuY3BwOgoJKiBleHQvd2VicnRjZHNwL2dzdHdlYnJ0Y2VjaG9wcm9iZS5oOgoJICB3ZWJydGNkc3A6IEFkZCBXZWJSVEMgQXVkaW8gUHJvY2Vzc2luZyBzdXBwb3J0CgkgIFRoaXMgRFNQIGxpYnJhcnkgY2FuIGJlIHVzZWQgdG8gZW5oYW5jZSB2b2ljZSBzaWduYWwgZm9yIHJlYWwgdGltZQoJICBjb21tdW5pY2F0aW9uIGNhbGwuIEluIGltcGxlbWVudHMgbXVsdGlwbGUgZmlsdGVycyBsaWtlIG5vaXNlIHJlZHVjdGlvbiwKCSAgaGlnaCBwYXNzIGZpbHRlciwgZWNobyBjYW5jZWxsYXRpb24sIGF1dG9tYXRpYyBnYWluIGNvbnRyb2wsIGV0Yy4KCSAgVGhlIHdlYnJ0Y2RzcCBlbGVtZW50IGNhbiBiZSB1c2VkIGFsb25nLCBvciB3aXRoIHRoZSBoZWxwIG9mIHRoZQoJICB3ZWJydGNlY2hvcHJvYmUgaWYgZWNobyBjYW5jZWxsYXRpb24gaXMgZW5hYmxlZC4gVGhlIGVjaG8gcHJvYmUgc2hvdWxkCgkgIGJlIHBsYWNlZCBhcyBjbG9zZSBhcyBwb3NzaWJsZSB0byB0aGUgYXVkaW8gc2luaywgd2hpbGUgdGhlIERTUCBpcwoJICBnZW5lcmFsbHkgcGxhY2UgY2xvc2UgdG8gdGhlIGF1ZGlvIGNhcHR1cmUuIEZvciBsb2NhbCB0ZXN0aW5nLCBvbmUgY2FuCgkgIHVzZSBhbiBlY2hvIGxvb3AgcGlwZWxpbmUgbGlrZSB0aGUgZm9sbG93aW5nOgoJICBhdXRvYXVkaW9zcmMgISB3ZWJydGNkc3AgISB3ZWJydGNlY2hvcHJvYmUgISBhdXRvYXVkaW9zaW5rCgkgIFRoaXMgcGlwZWxpbmUgc2hvdWxkIHByb2R1Y2UgYSBzaW5nbGUgZWNobyByYXRoZXIgdGhlbiByZXBlYXRlZCBlY2hvLgoJICBUaG9zZSBlbGVtZW50cyB3b3JrcyBpZiB0aGV5IGFyZSBwbGFjZWQgaW4gdGhlIHNhbWUgdG9wIGxldmVsIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3ODAwCgoyMDE2LTA2LTIxIDExOjQ2OjQ0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGFjMmY2NDcgdG8gZjM2M2IzMgoKMjAxNi0wMy0yMiAxNjo1MTo1MyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsY29udGV4dC93Z2w6IHRyeSB3Z2xDcmVhdGVDb250ZXh0QXR0cmlic0FSQiBldmVuIG5vdCBnbDMgY29yZSBwcm9maWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQwMTgKCjIwMTYtMDYtMjEgMTg6Mjg6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggZ2V0X2N1cnJlbnRfZ2xfYXBpKCkgb24gd2luMzIKCSAgQW5vdGhlciBjYXNlIG9mIGluY29ycmVjdCBjYWxsaW5nIGNvbnZlbnRpb25zLgoJICBVc2luZyB0aGlzIGZ1bmN0aW9uIG9uIHdpbjMyIHdvdWxkIGNvcnJ1cHQgdGhlIHN0YWNrIHBvaW50ZXIgYW5kIGVuZCBpbgoJICBtYXNzaXZlIGhpbGFyaXR5LgoKMjAxNi0wNi0xNSAxMjo0NzowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2xzbDogZml4dXAgZXh0ZXJuYWwtb2VzIHNoYWRlcnMgYnkgbWFuZ2xpbmcgdGhlIHJlcXVpcmVkIGV4dGVuc2lvbgoJICBOZXdlciBkZXZpY2VzIHJlcXVpcmUgdXNpbmcgYSBkaWZmZXJlbnQgR0xTTCBleHRlbnNpb24gZm9yIGFjY2Vzc2luZwoJICBleHRlcm5hbC1vZXMgdGV4dHVyZXMgaW4gYSBzaGFkZXIgdXNpbmcgdGhlIHRleHR1cmUoKSBmdW5jdGlvbnMuCgkgIFdoaWxlIHRoZSBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsX2Vzc2wzIHNob3VsZCBzdXBwb3NlZGx5IGJlIHN1cHBvcnRlZAoJICBvbiBhIGFueSBHTEVTMyBhbmRyb2lkIGRldmljZSwgdGhlIGV4dGVuc2lvbiB3YXMgZGVmaW5lZCBhZnRlciBhIGxvdCBvZiB0aGUKCSAgb2xkZXIgZHJpdmVycyB3ZXJlIGJ1aWx0IHNvIHRoZXkgd2lsbCBub3Qga25vdyBhYm91dCBpdC4gIFRodXMgdGhlcmUgYXJlIHR3bwoJICBwb3NzaWJsZSBpbnRlcnByZXRhdGlvbnMgb2Ygd2hpY2ggb2YgdGV4dHVyZVsyRF0oKSBzaG91bGQgYmUgc3VwcG9ydGVkIGZvcgoJICBleHRlcm5hbC1vZXMgdGV4dHVyZXMuICBTdHJpY3QgYWRoZXJlbmNlIHRvIHRoZSBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsCgkgIGV4dGVuc2lvbiBzcGVjIHdoaWNoIHVzZXMgdGV4dHVyZTJEKCkgb3IgZm9sbG93aW5nIEdMRVMzJ3MgcGF0dGVybiwgYWxzbwoJICBhbGxvd2luZyB0ZXh0dXJlKCkgYXMgYSBmdW5jdGlvbiBmb3IgYWNjZXNzaW5nIGV4dGVybmFsLW9lcyB0ZXh0dXJlcwoJICBUaGlzIGFkZHMgYW5vdGhlciBtYW5nbGluZyBwYXNzIHRvIGNvbnZlcnQKCSAgI2V4dGVuc2lvbiBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsIDogLi4uCgkgIGludG8KCSAgI2V4dGVuc2lvbiBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsX2Vzc2wzIDogLi4uCgkgIG9uIEdMRVMzIGFuZCB3aGVuIHRoZSBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsX2Vzc2wzIGV4dGVuc2lvbiBpcyBzdXBwb3J0ZWQuCgkgIE9ubHkgdXNlcyB0ZXh0dXJlKCkgd2hlbiB0aGUgR0xFUzMgYW5kIHRoZSBHTF9PRVNfRUdMX2ltYWdlX2V4dGVybmFsX2Vzc2wzCgkgIGV4dGVuc2lvbiBpcyBzdXBwb3J0ZWQgZm9yIGV4dGVybmFsLW9lcyB0ZXh0dXJlcy4KCSAgVXNlcyBHTEVTMiArIHRleHR1cmUyRCgpICsgR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbCBpbiBhbGwgb3RoZXIgZXh0ZXJuYWwtb2VzCgkgIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTkzCgoyMDE2LTA1LTI0IDE2OjI2OjI0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3Mva3NkZXZpY2Vwcm92aWRlci5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSAgd2lua3M6IFBvcnQgdG8gTVNWQyBhbmQgcHJldGVuZCB0byBiZSBXaW5kb3dzIFhQCgkgIHN0cmNhc2VjbXAgaXMgbm90IGRlZmluZWQgb24gTVNWQywgc28ganVzdCB1c2UgdGhlIGdsaWIgd3JhcHBlci4gQWxzbyBwcmV0ZW5kIHRvCgkgIGJlIFdpbmRvd3MgWFAgZXhwbGljaXRseSBzaW5jZSB0aGUgQVBJIHdlIHVzZSB3YXMgZGVwcmVjYXRlZCBhbmQgcmVtb3ZlZAoJICAoaWZkZWYtZWQpIGZyb20gdGhlIFNESyBhZnRlciB0aGlzIHZlcnNpb24gb2YgV2luZG93cy4gVGhpcyB3aWxsIGJlIGVzcGVjaWFsbHkKCSAgcmVsZXZhbnQgb25jZSB3ZSBzdG9wIHN1cHBvcnRpbmcgV2luZG93cyBYUCBzb29uOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODY2CgoyMDE2LTAzLTAyIDAyOjE3OjU0ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0YWRhcHRpdmVkZW11eC5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWRhdWRpby5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RiYWRiYXNlLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhZHZpZGVvLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdGJhc2VjYW1lcmFiaW5zcmMuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0aW5zZXJ0YmluLmRlZjoKCSogd2luMzIvY29tbW9uL2xpYmdzdG1wZWd0cy5kZWY6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3R1cmlkb3dubG9hZGVyLmRlZjoKCSAgd2luMzI6IEFkZCBtaXNzaW5nIGRlZiBmaWxlcyBmb3IgbGlicmFyaWVzCgoyMDE2LTAzLTAyIDAwOjU1OjE1ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBidWlsZDogRmFjdG9yIG91dCBlbmRpYW4tb3JkZXIgUkdCIGZvcm1hdHMKCSAgTVNWQyBzZWVtcyB0byBpZ25vcmUgcHJlcHJvY2Vzc29yIGNvbmRpdGlvbmFscyBpbnNpZGUgc3RhdGljIHBhZCB0ZW1wbGF0ZXMKCjIwMTYtMDYtMTMgMjI6Mjk6MzkgLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuaDoKCSAgb3BlbmpwZWdkZWM6IHVzZSBzYW1wbGluZyBmaWVsZCB0byBkZXRlcm1pbmUgUkdCIGNoYW5uZWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQwMgoKMjAxNi0wNi0wMiAxMzo1MzozOCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IGZpeCBidWZmZXIgbGVhayBpbiB0ZXN0CgkgIE5lZWQgdG8gY2FsbCBnc3RfY2hlY2tfZHJvcF9idWZmZXJzKCkgdG8gdW5yZWYgdGhlIGJ1ZmZlcnMgZXhjaGFuZ2VkCgkgIGR1cmluZyB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE1OQoKMjAxNi0wNS0xOSAxMzozMTo1NiArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IHF1ZXJ5IGxlYWsgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDEzOjI5OjE1ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBwcm9wZXJseSBzZXR1cC90ZWFyZG93biB0ZXN0cwoJICB0Y2FzZV9hZGRfY2hlY2tlZF9maXh0dXJlKCkgaXMgc3VwcG9zZSB0byBjYWxsIHRoZSBzZXR1cCBhbmQgdGVhcmRvd24KCSAgZnVuY3Rpb25zIHNvIHRoZSB0ZXN0cyBkb24ndCBoYXZlIHRvIGRvIGl0IG1hbnVhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDEzOjA5OjQxICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBzaGFkZXIgbGVhayBpbiB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjMKCjIwMTYtMDUtMTkgMTI6NTE6MTcgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHV2Y2gyNjRkZW11eDogZml4IGJ1ZmZlciBsZWFrcyBpbiB0ZXN0CgkgIFRoZSBtb2NrIGNoYWluIGZ1bmN0aW9ucyBhcmVuJ3QgdW5yZWZmaW5nIHRoZSBidWZmZXJzIHNvIHRoZSBjYWxsZXIKCSAgc2hvdWxkIGRvIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDEyOjM2OjQyICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBlbGVtZW50IGxlYWsgaW4gdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDExOjE5OjU3ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGZpeCBidWZmZXIgbGVha3MgaW4gdGVzdHMKCSAgZ3N0X2NoZWNrX2Ryb3BfYnVmZmVycygpIHJlbGVhc2UgdGhlIGJ1ZmZlcnMgZXhjaGFuZ2VkIGR1cmluZyB0aGUgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMToxOToyMCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgZml4IGV2ZW50IGxlYWtzIGluIHRlc3RzCgkgIFRoZSBldmVudHMgYXJlIHN1cHBvc2VkIHRvIGJlIHVucmVmZmVkIHdoZW4gZmluaXNoaW5nIHRoZSB0ZXN0LCBub3QKCSAgcmVmZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE5IDExOjE5OjAxICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IGZpeCBtZXNzYWdlIGxlYWtzIGJ5IGZsdXNoaW5nIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MwoKMjAxNi0wNS0xOSAxMToxNjozNyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogZml4IGJ1ZmZlciBsZWFrCgkgIElmIHRoZSBwYWQgd2FzIHN0aWxsIG93bmluZyBhIGJ1ZmZlciB3aGVuIGJlaW5nIGRlc3Ryb3llZCBpdCB3YXMgbGVha2VkLgoJICBGaXggYSBsZWFrIHdpdGggdGhlIHRlc3RfZmx1c2hfc3RhcnRfZmx1c2hfc3RvcCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA1LTE4IDE2OjU4OjQ0ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBmaXggZmFjdG9yaWVzIGxlYWsgaW4gdGVzdAoJICBUaGUgZmFjdG9yaWVzIHJldHVybmVkIGJ5IGdzdF9yZWdpc3RyeV9maW5kX2ZlYXR1cmUoKSBoYXZlIHRvIGJlCgkgIHVucmVmZmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjYzCgoyMDE2LTA2LTE3IDE0OjU4OjQ0ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGZpeCBkZWZhdWx0IHRpbWVfb2Zmc2V0X2xlbmd0aAoJICBUaGUgZGVmYXVsdCB2YWx1ZSBmb3IgdGltZV9vZmZzZXRfbGVuZ3RoIHNob3VsZCBiZSAyNCwgc2VlCgkgIHNlY3Rpb24gRTIuMiBvZiB0aGUgSDI2NCBzcGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NzkyCgoyMDE2LTA2LTE3IDE0OjMxOjQyICswMjAwICBKb2FuIFBhdSBCZWx0cmFuIDxqb2FucGF1LmJlbHRyYW5Ac29jaWIuY2F0PgoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTRzcmMuYzoKCSAgZGMxMzk0c3JjOiBjaGVjayBmb3IgZGlzYWJsZWQgdHJhbnNtaXNzaW9uIGluIF9zdG9wX2NhbQoJICBGb3Igc3ltZXRyeSB3aXRoIF9zdGFydF9jYW0sIGNoZWNrIHRoYXQgdGhlIHRyYW5zbWlzc2lvbgoJICBpcyBlZmZlY3RpdmVseSBkaXNhYmxlZCBpbiBfc3RvcF9jYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMjYKCjIwMTYtMDYtMTcgMTU6MzI6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG8gbm90IHJlbHkgb24gdGVtcCB2YXIgZm9yIGZhaWwgZGV0ZWN0aW9uCgkgIFVzZSBlcnJubyBpbnN0ZWFkIGFzIGxvY2FsIHZhciBtaWdodCBiZSBvdmVyd3JpdHRlbgoJICBiZWZvcmUgdGhlIGNoZWNrLgoKMjAxNi0wNi0xNCAxNToyOTowOCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZXdvcmsgc2V0X3BpZHMoKQoJICAtIFJlZmxvdyB0byBhdm9pZCB1bm5lZWRlZCBuZXN0aW5nCgkgIC0gRnJlZSBhdXggcGlkcyBhcnJheSBlYXJsaWVyCgkgIC0gQWRqdXN0IGRlYnVnIG91dHB1dCB0byBkZWxpdmVyIG1vcmUgbWVhbmluZ2Z1bCBpbmZvcm1hdGlvbgoKMjAxNi0wNi0xNCAxNDoyNDozNSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIHBvaW50bGVzcyBkZWJ1ZyBtc2cKCjIwMTYtMDYtMDkgMTY6MDU6MzkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGRyb3AgYWxsIG90aGVyd2l6ZXMKCjIwMTYtMDYtMTIgMTM6NTM6MTggLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuaDoKCSAganBlZzIwMDBwYXJzZTogc3VwcG9ydCBqMmMgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1MTIKCjIwMTYtMDYtMTYgMDE6NTQ6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0cy9nbGNvbnRleHQ6IGxpbmsgYWdhaW5zdCBnc3R2aWRlbyBmb3IgZ3N0X3ZpZGVvX2luZm9fKgoJICBmaXhlcyBtYWtlIGRpc3RjaGVjayBjb21wbGFpbmluZyBhYm91dCBpdC4KCjIwMTYtMDQtMTQgMTg6MTQ6MzIgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2wuaDoKCSAgcW1sOiBFbmFibGUgcW1sZ2xzaW5rIGZvciBlZ2xmcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDQ0CgoyMDE2LTA2LTE2IDAwOjQ0OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IHByb3BhZ2F0ZSBHTCBjb250ZXh0IGNyZWF0aW9uIGZhaWx1cmUgdXB3YXJkcwoJICBPdGhlcndpc2UgYW4gYXBwbGljYXRpb24gY2Fubm90IGtub3cgaWYgdGhlIHFtbGdsc2luayB3aWxsIGJlIGRpc3BsYXlpbmcgZnJhbWVzCgkgIGluY29ycmVjdGx5L2F0IGFsbC4KCjIwMTYtMDYtMTYgMDA6NDQ6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbGdsc2luazogYWxzbyBhbGxvdyB3YXlsYW5kLWVnbCBhcyBhIHBsYXRmb3JtIG5hbWUKCjIwMTYtMDYtMTIgMTU6MzU6MjggKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxnbHNpbms6IEFkZCBXYXlsYW5kIHN1cHBvcnQKCSAgRG9uJ3QgdXNlIGdzdGdsZGlzcGxheSB0byBnZXQgd2F5bGFuZCBkaXNwbGF5LiBTaG91bGQgdXNlIFFQQSBvbiB3YXlsYW5kCgkgIHRvIGdldCB3YXlsYW5kIGRpc3BsYXkgZm9yIFFULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3NTUzCgoyMDE2LTA2LTE2IDAwOjQ2OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0cy9nbGNvbnRleHQ6IHVwZGF0ZSB0ZXN0IGZvciBnZW4sZGVsX3RleHR1cmUgcmVtb3ZhbAoKMjAxNi0wNi0xNCAyMjoxMjoxOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogc2ltcGxpZnkgcmVnaXN0cnkgY2FjaGUgc3RydWN0dXJlIGNyZWF0aW9uCgkgIENyZWF0ZSBhbmQgZmlsbCBzdHJ1Y3R1cmUgaW4gb25lIGdvLgoKMjAxNi0wNi0xNCAxMzo0ODowOSArMDgwMCAgSGFpaHVhIEh1IDxqYXJlZC5odUBueHAuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IGZpeCBsaXR0bGUgcmVjdGFuZ2xlIHRoYXQgYXBwZWFycyBhdCB0aGUgY2VudGVyIG9mIHNxdWVlemUgYW5kIHR1bm5lbCBlZmZlY3RzCgkgIFRoZXNlIHR3byBzaGFkZXIgd2lsbCBjYWxjdWxhdGUgdGhlIHZlY3RvciBsZW5ndGggYW5kIHVzZSBpdCBhcyBkZW5vbWluYXRvci4KCSAgQnV0IGxlbmd0aCBjb3VsZCBiZSB6ZXJvIHdoaWNoIHdpbGwgY2F1c2UgdW5kZWZpbmUgYmVoYXZpb3VyLiBBZGQgcHJvdGVjdGlvbiBmb3IKCSAgdGhpcyBjb25kaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzYzNQoKMjAxNi0wNi0xNSAxODoxMDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogYWRkIHNvbWUgZGVidWdnaW5nCgoyMDE2LTA2LTE1IDE2OjA4OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHV0aWxzOiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucyBmb3IgdGV4dHVyZSBjcmVhdGlvbi9kZWxldGlvbgoJICBFdmVyeW9uZSB1c2VzIEdzdEdMTWVtb3J5IG5vdyBhbmQgYW55IGZ1dHVyZSBjb2RlIHNob3VsZCBhcyB3ZWxsLgoKMjAxNi0wNi0xNSAxNTo0Nzo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiByZW1vdmUgdW51c2VkIGNsYXNzIGZpZWxkcyBpbi9vdXRfdGV4X2lkCgkgIFRoZSBmdW5jdGlvbmFsaXR5IGlzIG5vdCB1c2VkIGJ5IGFueSBzdWJjbGFzcyBub3IgYXJlIHRoZSB2YWx1ZXMgc2V0IGFueXdoZXJlLgoKMjAxNi0wNi0xNSAxNTowODozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgZ2xkZWludGVybGFjZTogcmVtb3ZlIGRlYWQgY29kZSBhY2Nlc3NpbmcgZmlsdGVyLT5pbl90ZXhfaWQKCSAgSXQncyBub3Qgc2V0IGJ5IGFueW9uZSBvciBhbnl0aGluZyBhbmQgZ2xkZWludGVybGFjZSBpcyB0aGUgb25seSB1c2VyIG9mIGl0IG5vdy4KCjIwMTYtMDYtMTUgMTQ6NDA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQvbWV0YTogcmVtb3ZlIHVubmVlZGVkIHRleHR1cmUgZGVsZXRpb24KCSAgVGhlIHRleHR1cmVzIGFyZSBtYW5hZ2VkIGJ5IHRoZSBHc3RHTE1lbW9yeSBpbnNpZGUgdGhlIG91dHB1dCBidWZmZXIuICBGcmVlaW5nCgkgIHRoZW0gcHJlbWF0dXJlbHkgbWF5IHJlc3VsdCBpbiBhIHVzZS1hZnRlci1mcmVlLgoKMjAxNi0wNS0zMCAxNDoxMDoyMyArMDIwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cGVuYzogcmVtb3ZlIGdldC1yb2xsb3Zlci1jb3VudGVyIHNpZ25hbCBhbmQgYWRkIHN0YXRzIHByb3BlcnR5CgkgIFdlIHJlbW92ZSBnZXQtcm9sbG92ZXItY291bnRlciBzaWduYWwgaW4gZmF2b3Igb2YgdGhlICJzdGF0cyIKCSAgcHJvcGVydHkuIFRoZSAic3RhdHMiIHByb3BlcnR5IGlzIGEgR3N0U3RydWN0dXJlIHdpdGggY2FwcwoJICBhcHBsaWNhdGlvbi94LXNydHAtZW5jb2Rlci1zdGF0cyB0aGF0IGNvbnRhaW5zIGFuIGFycmF5IG9mCgkgIHN0cnVjdHVyZXMgd2l0aCBjYXBzIGFwcGxpY2F0aW9uL3gtc3J0cC1zdHJlYW0uCgkgIEVhY2ggc3RyZWFtIHN0cnVjdHVyZSBjb250YWlucyAic3NyYyIgYW5kICJyb2MiIGZpZWxkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzI2NQoKMjAxNi0wNS0yNSAxMjo1NTozNiArMDIwMCAgTWF0cyBMaW5kZXN0YW0gPG1hdHNsbUBheGlzLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc3VwcG9ydCBmb3IgaGFuZGxpbmcgb2YgY29uZmlnLWludGVydmFsID0gLTEKCSAgQWRkZWQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgb2YgY29uZmlnLWludGVydmFsID0gLTEuCgkgIGNvbmZpZy1pbnRldmFsID0gLTEgcmVwcmVzZW50cyByZXNlbmRpbmcgU1BTIGFuZCBQUFMgZm9yIGVhY2gKCSAgSS0vSURSLWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODAzCgoyMDE2LTA1LTI1IDEyOjQ1OjE3ICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZhY3RvcmVkIGhhbmRsaW5nIG9mIFNQUy9QUFMgd2hlbiBwdXNoaW5nIGZyYW1lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODAzCgoyMDE2LTA1LTI1IDExOjU0OjU1ICswMjAwICBNYXRzIExpbmRlc3RhbSA8bWF0c2xtQGF4aXMuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBjaGFuZ2UgImNvbmZpZy1pbnRlcnZhbCIgcHJvcGVydHkgdHlwZSBmcm9tIHVpbnQgdG8gaW50CgkgIFNvIHdlIGNhbiB1c2UgLTEgYXMgc3BlY2lhbCB2YWx1ZSBsaWtlIGluIHJ0cGgyNjRwYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY4MDMKCjIwMTYtMDYtMTMgMDk6MjA6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJICBhdmZhc3NldHNyYzogRG9uJ3QgZXNjYXBlIHRoZSBVUkkgYmVmb3JlIHBhc3NpbmcgaXQgdG8gTlNVUkwKCSAgVGhlIFVSSSBtdXN0IGFscmVhZHkgYmUgZXNjYXBlZCBieSB0aGUgY2FsbGVyLCB3ZSBkb24ndCBzdXBwb3J0IHBhc3NpbmcgYXJvdW5kCgkgIGludmFsaWQgKHVuZXNjYXBlZCkgVVJJcyB2aWEgdGhlIEdzdFVSSUhhbmRsZXIgaW50ZXJmYWNlLgoJICBBbHNvIGl0IHdpbGwgZXNjYXBlIHRvbyBtdWNoIG9mIHRoZSBVUkkgaW4gdGhpcyBjYXNlLCBlLmcuCgkgIGlwb2QtbGlicmFyeTovL2l0ZW0vaXRlbS5tNGE/aWQ9MzE0MzMzODM5NTE3Mzg2Mjk1MQoJICBiZWNvbWVzCgkgIGlwb2QtbGlicmFyeTovL2l0ZW0vaXRlbS5tNGElM0ZpZCUzRDMxNDMzMzgzOTUxNzM4NjI5NTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzQ5MgoKMjAxNi0wNi0xMyAwOToyMDowMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGlvc2Fzc2V0c3JjOiBQcmludCB0aGUgY29ycmVjdCBVUkkgaWYgaXQgd2FzIHJlamVjdGVkCgkgIFdlIHdlcmUgcHJpbnRpbmcgdGhlIHByZXZpb3VzbHkgc2V0IFVSSSBpbnN0ZWFkIG9mIHRoZSBuZXcgb25lLgoKMjAxNi0wNi0wOSAwMToyMDozNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBMb2NrIGFuZCBkb24ndCBzZW5kIGZpbmFsIGJvdW5kYXJ5IHVwb24gZXJyb3IKCSAgUHJldmlvdXNseSBHc3RDdXJsU210cFNpbmsgY291bGQgY2F1c2UgdGhlIHBpcGVsaW5lIHRocmVhZCB0byBlbmQgdXAKCSAgd2FpdGluZyBmb3IgYSBzdG9wcGVkIHRocmVhZCB0byBwZXJmb3JtIHdvcmsuCgkgIFRoZSBzY2VuYXJpbyB3YXMgdGhhdCB0aGUgc2luayBjb3VsZCBiZSByZW5kZXJpbmcgYSBidWZmZXIgYW5kIHdhaXRpbmcKCSAgZm9yIHRoZSBjdXJsIHRyYW5zZmVyIHRocmVhZCB0byBoYXZlIHNlbnQgdGhlIGRhdGEuIEFzIHNvb24gYXMgdGhlCgkgIHRyYW5zZmVyIHRocmVhZCBoYXMgY29waWVkIGFsbCBkYXRhIHRvIGN1cmwncyBkYXRhIGJ1ZmZlciBpbgoJICBnc3RfY3VybF9iYXNlX3NpbmtfdHJhbnNmZXJfcmVhZF9jYigpIHRoZW4gdGhlIHJlbmRlciBjYWxsIHdvdWxkIHN0b3AKCSAgd2FpdGluZyBhbmQgcmV0dXJuIEdTVF9GTE9XX09LLiBXaGlsZSB0aGlzIHRha2VzIHBsYWNlIHRoZSB0cmFuc2ZlcgoJICB0aHJlYWQgbWF5IHN1ZmZlciBmcm9tIGFuIGVycm9yIGUuZy4gZHVlIGdzdF9wb2xsX3dhaXQoKSB0aW1pbmcgb3V0LgoJICBUaGlzIGNhdXNlcyB0aGUgdHJhbnNmZXIgdGhyZWFkIHRvIHJlY29yZCB0aGUgZXJyb3IsIGNsYWltIChpdCBpcyBub3QKCSAgcmVhbGx5IHRydWUgc2luY2UgdGhlcmUgd2FzIGFuIGVycm9yKSB0aGF0IHRoZSBkYXRhIGhhcyBiZWVuIHNlbnQgYW5kCgkgIHRoYXQgYSByZXNwb25zZSBoYXMgYmVlbiByZWNlaXZlZCBieSB0cnlpbmcgdG8gc2lnbmFsIHRoZSBwaXBlbGluZQoJICB0aHJlYWQgKGJ1dCB0aGlzIGhhcyBhbHJlYWR5IHN0b3BwZWQgd2FpdGluZykuIEZpbmFsbHkgdGhlIHRyYW5zZmVyCgkgIHRocmVhZCBzdG9wcyBpdHNlbGYuIEEgc2hvcnQgd2hpbGUgbGF0ZXIgdGhlIHBpcGVsaW5lIHRocmVhZCBtYXkgYXR0ZW1wdAoJICB0byBwdXNoIGFuIEVPUyBldmVudCBpbnRvIEdzdEN1cmxTbXRwU2luay4gU2luY2UgdGhlcmUgaXMgbm8gY2hlY2sgaW4KCSAgZ3N0X2N1cmxfc210cF9zaW5rX2V2ZW50KCkgdG8gY2hlY2sgaWYgdGhlIHNpbmsgaGFzIHN1ZmZlcmVkIGZyb20gYW55CgkgIGVycm9yIGl0IG1heSBhdHRlbXB0IHRvIGFkZCBhIGZpbmFsIGJvdW5kYXJ5IGFuZCBhc2sgdGhlLCBub3cgZGVjZWFzZWQsCgkgIHRyYW5zZmVyIHRocmVhZCB0byB0cmFuc2ZlciB0aGUgbmV3IGRhdGEuIE5leHQgdGhlIHNpbmsgZWxlbWVudCB3b3VsZAoJICBoYXZlIHdhaXRlZCBmb3IgdGhlIHRyYW5zZmVyIHRvIGNvbXBsZXRlICh1c2luZyBhIGRpZmZlcmVudCBtZWNoYW5pc20KCSAgdGhhbiBub3JtYWwgdHJhbnNmZXJzIHRocm91Z2ggR3N0Q3VybEJhc2VTaW5rKS4gSW4gdGhpcyBjYXNlIHRoZXJlIHdhcwoJICBhbiBlcnJvciBjaGVjayB0byBhdm9pZCB3YWl0aW5nIGlmIGFuIGVycm9yIGhhZCBhbHJlYWR5IGJlZW4gc2Vlbi4KCSAgRmluYWxseSBHc3RDdXJsU210cFNpbmsgd291bGQgY2hhaW4gdXAgdG8gR3N0Q3VybEJhc2VTaW5rIHdoaWNoIHdvdWxkCgkgIHRoZW4gYmxvY2sgd2FpdGluZyBmb3IgYSByZXNwb25zZSAobm9ybWFsbHkgdGhpcyB3b3VsZCBiZSBwcmV2ZW50ZWQgYnkKCSAgdGhlIHRyYW5zZmVyIHRocmVhZCBzdWZmZXJpbmcgdGhlIGVycm9yIGNsYWltaW5nIHRoYXQgaXQgaGFkIGJlZW4KCSAgcmVjZWl2ZWQsIGJ1dCBHc3RDdXJsU210cFNpbmsgY2xvYmJlcmVkIHRoaXMgZmxhZyBhZnRlciB0aGUgZmFjdCkuCgkgIE5vdyBHc3RDdXJsU210cFNpbmsgYXZvaWRzIHRoaXMgYnkgbG9ja2luZyBvdmVyIHRoZSBlbnRpcmUgZXZlbnQgaGFuZGluZwoJICAocHJldmVudGluZyBzaW11bHRhbmVvdXMgY2hhbmdlcyB0byBmbGFncyBieSB0aGUgdHdvIHRocmVhZHMpIGFuZCBhbHNvCgkgIGJ5IGF2b2lkaW5nIHRvIGluaXRpYXRlIHRyYW5zZmVyIG9mIGZpbmFsIGJvdW5kYXJ5IGlmIGFuIGVycm9yIGhhcwoJICBhbHJlYWR5IGJlZW4gc2Vlbi4KCSAgQWxzbyBhZGQgR1NUX0ZJWE1FKCkgZm9yIHJlbWFpbmluZyBzaW1pbGFyIGlzc3VlIHdoZXJlIHRoZSBwaXBlbGluZQoJICB0aHJlYWQgbWF5IGJsb2NrIGluZGVmaW5pdGVseSB3YWl0aW5nIGZvciB0cmFuc2ZlciB0aHJlYWQgdG8gdHJhbnNmZXIKCSAgZGF0YSBidXQgdGhlIHRyYW5zZmVyIHRocmVhZCBlcnJvcnMgb3V0IGFuZCBmYWlscyB0byBub3RpZnkgdGhlIHBpcGVsaW5lCgkgIHRocmVhZCB0aGF0IHRoZSB0cmFuc2ZlciBmYWlsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Njc1MDEKCjIwMTYtMDYtMDggMTE6MzI6MjggLTA0MDAgIEFhcm9uIEJveGVyIDxib3hlcmFiQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkgIGpwZWcyMDAwcGFyc2U6IFJlcXVpcmUgZWl0aGVyIGNvbG9yc3BhY2Ugb3Igc2FtcGxpbmcgZmllbGQgaW4gc2luayBjYXBzCgkgIEFuZCBhbHdheXMgc2V0IHRoZSBzYW1wbGluZyBmaWVsZCBvbiB0aGUgc3JjIGNhcHMsIGlmIG5lY2Vzc2FyeSBndWVzc2luZyBhCgkgIGNvcnJlY3QgdmFsdWUgZm9yIGl0IGZyb20gdGhlIGNvbG9yc3BhY2UgZmllbGQuCgkgIEFsc28sIGRpZCBzb21lIGNsZWFudXA6IHJlbW92ZWQgc2FtcGxpbmcgZW51bSAtIHJlZHVuZGFudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjIzNgoKMjAxNi0wNi0xMCAxMTozMjo0NiArMDMwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBGaXggY29tcGlsZXIgd2FybmluZyB3aXRoIGNsYW5nIDMuOAoJICBVc2UgbmFtZXNwYWNlIG9ubHkgYWZ0ZXIgaXQgd2FzIGFjdHVhbGx5IGRlZmluZWQgYnkgYSBoZWFkZXIuCgkgIGdzdGZhY2VkZXRlY3QuY3BwOjc5OjE3OiBlcnJvcjogdXNpbmcgZGlyZWN0aXZlIHJlZmVycyB0byBpbXBsaWNpdGx5LWRlZmluZWQgbmFtZXNwYWNlICdzdGQnIFstV2Vycm9yXQoJICB1c2luZyBuYW1lc3BhY2Ugc3RkOwoJICBeCgoyMDE2LTA2LTA2IDE2OjM1OjE1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVuaWZ5IGV4aXQgcGF0aHMgb24gX3N0YXJ0KCkKCjIwMTYtMDYtMDYgMTU6MzE6MzEgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIHByb3BlciBhY3JvbnltIGZvciBQSUQgKFBhY2tldCBJZGVudGlmaWVyKQoJICBEcm9wIGZvcm1hdHRpbmcgdGFiIGZyb20gbWVzc2FnZSB3aGlsZSBhdCBpdC4KCjIwMTYtMDYtMDYgMTI6MjU6MjIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc2V0IGNvbW1vbiBQRVMgZmlsdGVyIHBhcmFtcyBvbmNlIGFuZCByZXVzZQoJICBBdm9pZCBzZXR0aW5nIHRoZSBzYW1lIGhhcmNvZGVkIHZhbHVlcyBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAxNi0wNi0wOSAyMjowMTo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmM6CgkgIGRjMTM5NHNyYzogbWlub3IgY2xlYW4tdXAKCSAgV2UgYWx3YXlzIGNhbGwgX3BhcnNlX2NhcHMoKSB3aXRoIG5vbi1OVUxMIG91dCB2YXJzLgoKMjAxNi0wNi0wOSAyMjowMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0c3JjLmM6CgkgIGRjMTM5NHNyYzogZml4IHNvbWUgbW9yZSBjOTktaXNtcwoKMjAxNi0wNi0wOSAyMTo0NzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IGZvciByZW5hbWVkIGRjMTM5NCBzb3VyY2UgZmlsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDI2CgoyMDE2LTA2LTA3IDE1OjUwOjUwICswMjAwICBKb2FuIFBhdSBCZWx0cmFuIDxqb2FucGF1LmJlbHRyYW5Ac29jaWIuY2F0PgoKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTRzcmMuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTRzcmMuaDoKCSAgZGMxMzk0c3JjOiBwcmVmaXggYW5kIGZpbGUgbmFtZXMgYWNjb3JkaW5nIHRvIEdzdHJlYW1lciBjb252ZW50aW9ucwoJICBSZXBsYWNlIHRoZSB0eXBlIGFuZCBmdW5jdGlvbiBwcmVmaXggdG8gZm9sbG93IHRoZSBjb252ZW50aW9uczoKCSAgLSBVc2UgYEdTVF9UWVBFX0RDMTM5NF9TUkNgIGluc3RlYWQgb2YgYEdTVF9UWVBFX0RDMTM5NGAuCgkgIC0gVXNlIGBHc3REQzEzOTRTcmNgIGFuZCBgR3N0REMxMzk0U3JjQ2xhc3NgIGluc3RlYWQgb2YKCSAgYEdzdERjMTM5NGAgYW5kIGBHc3REYzEzOTRDbGFzc2AuCgkgIC0gVXNlIGBnc3RfZGMxMzk0X3NyY2AgaW5zdGVhZCBvZiBgZ3N0X2RjMTM5NGAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMjYKCjIwMTYtMDUtMTAgMTg6MzA6MzUgKzAyMDAgIEpvYW4gUGF1IEJlbHRyYW4gPGpvYW5wYXUuYmVsdHJhbkBzb2NpYi5jYXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0Lmg6CgkgIGRjMTM5NHNyYzogcG9ydCB0byAxLlgKCSAgVGhlIGRjMTM5NHNyYyBpcyBhIFB1c2hTcmMgZWxlbWVudCBmb3IgSUlEQyBjYW1lcmFzIGJhc2VkIG9uIGxpYmRjMTM5NC4KCSAgVGhlIGltcGxlbWVudGF0aW9uIGZyb20gdGhlIDAueCBzZXJpZXMgaXMgZGVmZmVjdGl2ZToKCSAgY2FwcyBuZWdvdGlhdGlvbiBkb2VzIG5vdCB3b3JrLCBhbmQgc29tZSB2aWRlbyBmb3JtYXRzCgkgIHByb3ZpZGVkIGJ5IHRoZSBjYW1lcmEgYXJlIG5vdCBzdXBwb3J0ZWQuCgkgIFJlZmFjdG9yIHRoZSBjb2RlIHRvIHBvcnQgaXQgdG8gMS5YIGFuZCBlbmhhbmNlIHRoZSBzdXBwb3J0CgkgIGZvciB0aGUgZnVsbCBzZXQgb2YgdmlkZW8gb3B0aW9ucyBvZiBJSURDIGNhbWVyYXM6CgkgIC0gVGhlIElJREMgc3BlY2lmaWNhdGlvbiBpbmNsdWRlcyBhIHNldCBvZiBjYW1lcmEgdmlkZW8gbW9kZXMKCSAgKHZpZGVvIGZvcm1hdCwgZnJhbWUgc2l6ZSwgYW5kIGZyYW1lIHJhdGVzKS4KCSAgVGhleSBkbyBub3QgbWFwIHBlcmZlY3RseSB0byBHc3RyZWFtZXIgZm9ybWF0cywgYnV0IHRob3NlIHRoYXQKCSAgZG8gbm90IG1hdGNoIGFyZSB2ZXJ5IHJhcmUgKGlmIHVzZWQgYXQgYWxsIGJ5IGFueSBjYW1lcmEpLgoJICBJbiBhZGRpdGlvbiwgYWx0aG91Z2ggdGhlIHNwZWNpZmljYXRpb24gaW5jbHVkZXMgYSByYXcgZm9ybWF0LAoJICBzb21lIGNhbWVyYXMgdXNlIG1vbm8gdmlkZW8gZm9ybWF0cyB0byBjYXB0dXJlIGluIEJheWVyIGZvcm1hdC4KCSAgTWFwIGNvcnJlc3BvbmRpbmcgdmlkZW8gbW9kZXMgdG8gR3N0cmVhbWVyIGZvcm1hdHMgaW4gY2FwYWJpbGl0aWVzLAoJICBhbGxvd2luZyBib3RoIGdyYXkgcmF3IGFuZCBCYXllciB2aWRlbyBmb3JtYXRzIGZvciBtb25vIHZpZGVvIG1vZGVzLgoJICAtIFRoZSBzcGVjaWZpY2F0aW9uIGluY2x1ZGVzIHNjYWxhYmxlIHZpZGVvIG1vZGVzIChGb3JtYXQ3KSwKCSAgd2hlcmUgdGhlIGZyYW1lIHNpemUgYW5kIHJhdGUgY2FuIGJlIHNldCB0byBhcmJpdHJhcnkgdmFsdWVzCgkgICh3aXRoaW4gdGhlIGxpbWl0cyBvZiB0aGUgY2FtZXJhIGFuZCB0aGUgYnVzIHRyYW5zcG9ydCkuCgkgIEFsbG93IHRoZSB1c2Ugb2Ygc3VjaCBtb2RlLCB1c2luZyB0aGUgZnJhbWUgc2l6ZSBhbmQgcmF0ZQoJICBmcm9tIHRoZSBuZWdvdGlhdGllZCBjYXBzLCBhbmQgc2V0IHRoZSBjYW1lcmEgZnJhbWUgcmF0ZQoJICBhZGp1c3RpbmcgdGhlIHBhY2tldCBzaXplIGFzIGluOgoJICA8aHR0cDovL2RhbWllbi5kb3V4Y2hhbXBzLm5ldC9pZWVlMTM5NC9saWJkYzEzOTQvZmFxLyNIb3dfZG9fSV9zZXRfdGhlX2ZyYW1lX3JhdGU+CgkgIFRoZSBzY2FsYWJsZSBtb2RlcyBhbHNvIGFsbG93IGZvciBhIGN1c3RvbSBST0kgb2Zmc2V0LgoJICBTdXBwb3J0IGZvciBpdCBjYW4gYmUgZWFzaWx5IGFkZGVkIGxhdGVyIHVzaW5nIHByb3BlcnRpZXMuCgkgIC0gQ2FtZXJhIG9wZXJhdGlvbiB1c2luZyBsaWJkYzEzOTQgaXMgYXMgZm9sbG93czoKCSAgMS4gRW51bWVyYXRlIGNhbWVyYXMgb24gdGhlIHN5c3RlbSBhbmQgb3BlbiB0aGUgY2FtZXJhCgkgIGlkZW50aWZpZWQgdGhlIGVudW1lcmF0aW9uIGluZGV4IG9yIGJ5IGEgR1VJRCAoNjRiaXQgaGV4IGNvZGUpLgoJICAyLiBRdWVyeSB0aGUgdmlkZW8gZm9ybWF0cyBzdXBwb3J0ZWQgYnkgdGhlIGNhbWVyYS4KCSAgMy4gQ29uZmlndXJlIHRoZSBjYW1lcmEgZm9yIHRoZSBkZXNpcmVkIHZpZGVvIGZvcm1hdC4KCSAgNC4gU2V0dXAgdGhlIGNhcHR1cmUgcmVzb3VyY2VzIGZvciB0aGUgY29uZmlndXJlZCB2aWRlbyBmb3JtYXQKCSAgYW5kIHN0YXJ0IHRoZSBjYW1lcmEgdHJhbnNtaXNzaW9uLgoJICA1LiBDYXB0dXJlIGZyYW1lcyBmcm9tIHRoZSBjYW1lcmEgYW5kIHJlbGVhc2UgdGhlbSB3aGVuIG5vdCB1c2VkLgoJICA2LiBTdG9wIHRoZSBjYW1lcmEgdHJhbnNtaXNzaW9uIGFuZCBjbGVhciB0aGUgY2FwdHVyZSByZXNvdXJjZXMuCgkgIDcuIENsb3NlIHRoZSBjYW1lcmEgZnJlZWluZyBpdHMgcmVzb3VyY2VzLgoJICBEbyBzdGVwcyAyIGFuZCAzIHdoZW4gZ2V0dGluZyBhbmQgc2V0dGluZyB0aGUgY2FwcyByZXNwZWN0aXZlbHkuCgkgIElkZWFsbHkgNCBhbmQgNiB3b3VsZCBiZSBkb25lIHdoZW4gZ29pbmcgZnJvbSBQQVVTRUQgdG8gUExBWUlORwoJICBhbmQgdmljZXZlcnNhLCBidXQgc2luY2UgY2FwcyBtaWdodCBub3QgYmUgc2V0IHlldCwgdGhlIHZpZGVvIG1vZGUKCSAgaXMgbm90IHByb3Blcmx5IGNvbmZpZ3VyZWQgbGVhdmluZyB0aGUgY2FtZXJhIGluIGEgYnJva2VuIHN0YXRlLgoJICBIZW5jZSwgc2V0dXAgY2FwdHVyZSBhbmQgc3RhcnQgdHJhbnNtaXNzaW9uIGluIHRoZSBzZXQgY2FwcyBtZXRob2QsCgkgIGFuZCBjb25zZXF1ZW50bHkgY2xlYXIgdGhlIGNhcHR1cmUgYW5kIHN0b3AgdGhlIHRyYW5zbWlzc2lvbgoJICB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFJFQURZIChpbnN0ZWFkIG9mIFBMQVlJTkcgdG8gUEFVU0VEKS4KCSAgU3ltbWV0cnljYWxseSwgb3BlbiB0aGUgY2FtZXJhIHdoZW4gZ29pbmcgZnJvbSBSRUFEWSB0byBQQVVTRUQsCgkgIGFsbG93aW5nIHRvIHByb2JlIHRoZSBjYW1lcmEgY2FwcyBpbiB0aGUgbmVnb3RpYXRpb24gc3RhZ2UuCgkgIEltcGxlbWVudCB0aGF0IHVzaW5nIHRoZSBgc3RhcnRgIGFuZCBgc3RvcGAgbWV0aG9kcyBvZiBgR3N0QmFzZVNyY2AsCgkgIGluc3RlYWQgb2YgdGhlIGBjaGFuZ2Utc3RhdGVgIG1ldGhvZCBvZiBgR3N0RWxlbWVudGAuCgkgIFN0b3AgdGhlIGNhbWVyYSBiZWZvcmUgc2V0dGluZyBuZXcgY2FwcyBhbmQgcmVzdGFydGluZyBpdCBhZ2FpbgoJICB0byBoYW5kbGUgY2FwcyByZWNvbmZpZ3VyYXRpb24gd2hpbGUgaW4gUExBWUlORyAoaXQgaGFzIG5vIGVmZmVjdAoJICBpZiB0aGUgY2FtZXJhIGlzIG5vdCBzdGFydGVkKS4KCSAgLSBDcmVhdGUgYnVmZmVycyBjb3B5aW5nIHRoZSBieXRlcyBvZiB0aGUgY2FwdHVyZWQgZnJhbWVzLgoJICBBbHRlcm5hdGl2ZWx5LCB0aGUgYnVmZmVycyBjb3VsZCBqdXN0IHdyYXAgdGhlIGJ5dGVzIG9mIHRoZSBmcmFtZXMsCgkgIHJlbGVhc2luZyB0aGUgZnJhbWUgaW4gdGhlIGJ1ZmZlcidzIGRlc3Ryb3kgbm90aWZ5IGZ1bmN0aW9uLAoJICBpZiBhbGwgYnVmZmVycyB3ZXJlIGRlc3Ryb3llZCBiZWZvcmUgZ29pbmcgZnJvbSBQTEFZSU5HIHRvIFBBVVNFRC4KCSAgLSBObyB0aW1lc3RhbXAgbm9yIG9mZnNldCBpcyBzZXQgd2hlbiBjcmVhdGluZyBidWZmZXJzLgoJICBUaW1lc3RhbXBpbmcgaXMgZGVsZWdhdGVkIHRvIHRoZSBwYXJlbnQgY2xhc3MgQmFzZVNyYywKCSAgc2V0dGluZyBgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlYCBUUlVFLCBgZ3N0X2Jhc2Vfc3JjX3NldF9mb3JtYXRgCgkgIHdpdGggR1NUX0ZPUk1BVF9USU1FIGFuZCBgZ3N0X2Jhc2Vfc3JjX3NldF9kb190aW1lc3RhbXBgLgoJICBDYXB0dXJlZCBmcmFtZXMgaGF2ZSBhIHRpbWVzdGFtcCBmaWVsZCB3aXRoIHRoZSBzeXN0ZW0gdGltZQoJICBhdCB0aGUgY29tcGxldGlvbiBvZiB0aGUgdHJhbnNtaXNzaW9uIG9mIHRoZSBmcmFtZSwKCSAgYnV0IGl0IGlzIG5vdCBzdXJlIHRoYXQgdGhpcyBjb21lcyBmcm9tIGEgbW9ub3RvbmljIGNsb2NrLAoJICBhbmQgaXQgc2VlbXMgdG8gYmUgbGVmdCBOVUxMIGluIFdpbmRvd3MuCgkgIC0gVXNlIEdVSUQgYW5kIHVuaXQgcHJvcGVydGllcyB0byBzZWxlY3QgdGhlIGNhbWVyYSB0byBvcGVyYXRlIG9uLgoJICBUaGUgY2FtZXJhIG51bWJlciB1c2VkIGluIHZlcnNpb24gMC5YIGRvZXMgbm90IHVuaXF1ZWx5IGlkZW50aWZ5CgkgIHRoZSBkZXZpY2UgKGl0IGRlcGVuZHMgb24gdGhlIHNldCBvZiBjYW1lcmFzIGN1cnJlbnRseSBkZXRlY3RlZCkuCgkgIFNpbmNlIHRoZSBHVUlEIGlzIDY0Yml0IGlkZW50aWZpZXIgKHNhbWUgYXMgTUFDIGFkZHJlc3MpLAoJICBoYW5kbGUgaXQgd2l0aCBhIHN0cmluZyBwcm9wZXJ0eSB3aXRoIGl0cyBoZXhhZGVjaW1hbCByZXByZXNlbnRhdGlvbi4KCSAgRm9yIHByYWN0aWNhbGl0eSwgb3BlcmF0ZSBvbiB0aGUgZmlyc3QgY2FtZXJhIGF2YWlsYWJsZSBpZiB0aGUgR1VJRAoJICBpcyBudWxsIChkZWZhdWx0KSBhbmQgbWF0Y2ggYW55IGNhbWVyYSB1bml0IG51bWJlciBpZiB1bml0IGlzIC0xLgoJICBBbHRlcm5hdGl2ZWx5LCB0aGUgR1VJRCBjb3VsZCBiZSBoYW5kZWQgd2l0aCBhbiB1bnNpZ25lZCA2NCBiaXQKCSAgaW50ZWdlciB0eXBlIHByb3BlcnR5LCB1c2luZyBgMHhmZmZmZmZmZmZmZmZmZmZmYCBhcyBkZWZhdWx0IHZhbHVlCgkgIHRvIHNlbGVjdCB0aGUgZmlyc3QgY2FtZXJhIGF2YWlsYWJsZSAoaXQgaXMgbm90IGEgdmFsaWQgR1VJRCB2YWx1ZSkuCgkgIC0gS2VlcCBuYW1lIGBHc3REYzEzOTRgIGFuZCBwcmVmaXggYGdzdF9kYzEzOTRgIGFzIGluIHZlcnNpb24gMC5YLAoJICBhbHRob3VnaCBgR3N0REMxMzk0U3JjYCBhbmQgYGdzdF9kYzEzOTRfc3JjYCBhcmUgbW9yZSBkZXNjcmlwdGl2ZS4KCSAgLSBBZGp1c3QgYnVpbGQgZmlsZXMgdG8gcmVlbmFibGUgdGhlIGNvbXBpbGF0aW9uIG9mIHRoZSBwbHVnaW4uCgkgIFJlbW92ZSBkYzEzOTQgZnJvbSB0aGUgbGlzdCBvZiB1bnBvcnRlZCBwbHVnaW5zIGluIGNvbmZpZ3VyZS5hYy4KCSAgQWRkIHRoZSBtaXNzaW5nIGZsYWdzIGFuZCBsaWJyYXJpZXMgdG8gTWFrZWZpbGUuCgkgIFVzZSBgJCgpYCBmb3IgdmFyaWFibGUgc3Vic3RpdHV0aW9uLCBhcyBtYW55IHBsdWdpbnMgZG8sCgkgIGFsdGhvdWdoIG90aGVyIHBsdWdpbnMgdXNlIGBAQGAgaW5zdGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzAyNgoKMjAxNi0wNi0wOCAxODowMjozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTW92ZSBTRUVLIGhhbmRsaW5nIHRvIGEgc2VwYXJhdGUgZnVuY3Rpb24KCSAgSnVzdCBmb3IgY29kZSByZWFkYWJpbGl0eS4gRG9lc24ndCBjaGFuZ2UgYmVoYXZpb3VyCgoyMDE2LTA2LTA3IDIxOjEwOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IFdhaXQgZm9yIHNlZ21lbnQgZXZlbnQgYmVmb3JlIGNoZWNraW5nIGl0CgkgIFRoZSBoZXVyaXN0aWMgdG8gY2hvb3NlIGJldHdlZW4gcGFja2V0aXNlIG9yIG5vdCB3YXMgY2hhbmdlZCB0byB1c2UgdGhlCgkgIHNlZ21lbnQgZm9ybWF0LiBUaGUgcHJvYmxlbSBpcyB0aGF0IHRoaXMgY2hhbmdlIGlzIHJlYWRpbmcgdGhlIHNlZ21lbnQKCSAgZHVyaW5nIHRoZSBjYXBzIGV2ZW50IGhhbmRsaW5nLiBUaGUgc2VnbWVudCBldmVudCB3aWxsIG9ubHkgYmUgc2VudAoJICBhZnRlci4gVGhhdCBwcmV2ZW50ZWQgdGhlIGRlY29kZXIgdG8gZ28gaW4gcGFja2V0aXplIG1vZGUsIGFuZCBhdm9pZAoJICB1c2VsZXNzIHBhcnNpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTYtMDYtMDcgMjE6MDQ6MjEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogV2FpdCBmb3Igc2VnbWVudCBldmVudCBiZWZvcmUgY2hlY2tpbmcgaXQKCSAgVGhlIGhldXJpc3RpYyB0byBjaG9vc2UgYmV0d2VlbiBwYWNrZXRpc2Ugb3Igbm90IHdhcyBjaGFuZ2VkIHRvIHVzZSB0aGUKCSAgc2VnbWVudCBmb3JtYXQuIFRoZSBwcm9ibGVtIGlzIHRoYXQgdGhpcyBjaGFuZ2UgaXMgcmVhZGluZyB0aGUgc2VnbWVudAoJICBkdXJpbmcgdGhlIGNhcHMgZXZlbnQgaGFuZGxpbmcuIFRoZSBzZWdtZW50IGV2ZW50IHdpbGwgb25seSBiZSBzZW50CgkgIGFmdGVyLiBUaGF0IHByZXZlbnRlZCB0aGUgZGVjb2RlciB0byBnbyBpbiBwYWNrZXRpemUgbW9kZSwgYW5kIGF2b2lkCgkgIHVzZWxlc3MgcGFyc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNi0wNi0wNyAxNDoxNTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogZml4IGJ1aWxkZGlyICE9IHNyY2RpciBidWlsZCwgYW5kIGRpc3RjaGVjawoKMjAxNi0wNi0wMSAxOTowMjozMyAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0anBlZzIwMDBwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGpwZWcyMDAwcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGpwZWcyMDAwcGFyc2U6IEFkZCBKUEVHMjAwMCBwYXJzZXIgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MjM2CgoyMDE2LTA2LTAxIDE5OjAxOjQ0IC0wNDAwICBBYXJvbiBCb3hlciA8Ym94ZXJhYkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RqcGVnMjAwMHNhbXBsaW5nLmg6CgkgIG9wZW5qcGVnOiBzZXQgc2FtcGxpbmcgaW4gdGhlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjIzNgoKMjAxNi0wNS0wMiAxNzozODo1MCArMDIwMCAgSmFuIEFsZXhhbmRlciBTdGVmZmVucyAoaGVmdGlnKSA8amFuLnN0ZWZmZW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogU2V0IFBUUyBvbiBhbGlnbmVkIGJ1ZmZlcnMKCSAgVGhpcyB3YXMgYnJva2VuIGluIDA5YzA1ZGYgKG1ha2UgImFsaWdubWVudCIgcHJvcGVydHkgbW9yZSB1c2VmdWwgZm9yCgkgIHBhY2tldGlzYXRpb24pLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1OTI2CgoyMDE2LTA2LTA3IDE3OjIyOjAxICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBhbHdheXMgZHJhaW4gaW4gOjpuZWdvdGlhdGUKCSAgTW92ZSBjYWxsaW5nIGdzdF92dGRlY19wdXNoX2ZyYW1lc19pZl9uZWVkZWQgZnJvbSA6OnNldF9mb3JtYXQgdG8gOjpuZWdvdGlhdGUgc28KCSAgdGhhdCB3ZSBhbHdheXMgZHJhaW4gZXZlbiB3aGVuIHJlbmVnb3RpYXRpb24gaXMgdHJpZ2dlcmVkIGJ5IGRvd25zdHJlYW0uCgoyMDE2LTA2LTA3IDE2OjAwOjAxICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiB0cnkgdG8gcHJlc2VydmUgZG93bnN0cmVhbSBjYXBzIG9yZGVyCgkgIHZ0ZGVjIHNwZWNpZmllcyBzeXNtZW07IEdMTWVtb3J5IGFzIHRlbXBsYXRlIGNhcHMuIFdoZW4gbmVnb3RpYXRpbmcsIHdlIHVzZWQgdG8KCSAgY2FsbCBnc3RfcGFkX3BlZXJfcXVlcnlfY2FwcyAoLi4uLCBmaWx0ZXIpIHdpdGggb3VyIHRlbXBsYXRlIGNhcHMgYXMgZmlsdGVyLiBUaGUKCSAgcXVlcnkgZG9lcyBnc3RfY2Fwc19pbnRlcnNlY3QgKGZpbHRlciwgcGVlcmNhcHMpIGludGVybmFsbHkgd2hpY2ggZ2l2ZXMKCSAgcHJlY2VkZW5jZSB0byB0aGUgb3JkZXIgb2YgdGhlIGZpbHRlciBjYXBzLiBXaGlsZSB3ZSB3YW50IHRvIG91dHB1dCBzeXNtZW0gYnkKCSAgZGVmYXVsdCwgd2hlbiBuZWdvdGlhdGluZyB3aXRoIGdsaW1hZ2VzaW5rIHdoaWNoIHJldHVybnMgR0xNZW1vcnk7IHN5c21lbTsgd2UKCSAgZG8gd2FudCB0byBkbyBHTCwgc28gd2Ugbm93IHF1ZXJ5IHVzaW5nIGEgTlVMTCBmaWx0ZXIgYW5kIGludGVyc2VjdCB0aGUgcmVzdWx0CgkgIHdpdGggb3VyIHRlbXBsYXRlIGNhcHMgZ2l2aW5nIHByZWNlZGVuY2UgdG8gZG93bnN0cmVhbSdzIGNhcHMuCgkgIHRsO2RyOiBtYWtlIHN1cmUgd2UgZW5kIHVwIG5lZ290aWF0aW5nIEdMTWVtb3J5IHdpdGggZ2xpbWFnZXNpbmsKCjIwMTYtMDYtMDYgMTQ6MDg6NDMgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogQXZvaWQgYSBkaXYgYnkgMCB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjczMDIKCjIwMTYtMDYtMDYgMTI6Mzg6NDUgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IERvIG5vdCBjYWxsIGdzdF9vYmplY3RfdW5yZWYgb24gR3N0Q2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY3Mjk4CgoyMDE2LTA1LTE5IDExOjE2OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBTZXQgRElTQ09OVCBvbiBzdGFydHVwLCByZXN1bWUgYW5kIGFmdGVyIHNlZWtzCgkgIEluaXRpYWwgYnVmZmVycyBhZnRlciBTVFJFQU1fU1RBUlQgYW5kIHNlZWtzIHNob3VsZCBhbHdheXMgaGF2ZSB0aGUKCSAgRElTQ09OVCBmbGFnIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY1MAoKMjAxNS0wOS0yMyAwMjo1MTo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBDaGFuZ2UgdGhlIHBhZCBuYW1pbmcgc2NoZW1lIHRvIGluY2x1ZGUgYSBnZW5lcmF0aW9uIElECgkgIEEgc2ltcGxlIGZpeCBmb3IgdGhlIHByb2JsZW0gb2YgY3JlYXRpbmcgbmV3IHBhZHMgd2l0aCBkdXBsaWNhdGUKCSAgbmFtZXMgd2hlbiBzd2l0Y2hpbmcgcHJvZ3JhbSwgZWFzaWVyIHRoYW4gdGhlIGFsdGVybmF0aXZlIG9mCgkgIHRyeWluZyB0byB3b3JrIG91dCB3aGljaCBwYWRzIG1pZ2h0IHBlcnNpc3QgYW5kIG1hbmFnZSB0aGF0LgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQ1NAoKMjAxNi0wNi0wNiAxMToxMzowMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogcGF1c2UoKSBzaG91bGQgbm90IGluaGliaXQgc2lnbmFscyBidXQgd29yayBleGFjdGx5IGxpa2UgcGxheSgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcjYzIzCgoyMDE2LTA2LTAzIDE1OjU4OjUyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGltcHJvdmUgZGVzY3JpcHRpb24gb2YgUElEcyBwcm9wZXJ0eQoKMjAxNi0wNi0wMyAwNzoxMTozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBPbmx5IHVzZSB0aGUgT3BlbkdMIGZyYW1ld29yayBvbiBPU1gKCSAgSXQncyBub3QgYXZhaWxhYmxlIG9uIGlvcyAodXNlcyBPcGVuR0xFUyBhbHJlYWR5KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA1LTE3IDE3OjE0OjQ5ICswMzAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGdzdC1saWJzOiBnbCwgdmlkZW86IHVzZSBNQVlfQkVfTEVBS0VEIGZsYWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzE2MgoKMjAxNi0wNS0xOCAxMjo0ODo0OCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYTJkcHNpbms6IHVucmVmIGF2ZHRwc2luayBpZiBzdGF0ZSB0cmFuc2l0aW9uIGZhaWxlZAoJICBJZiBmb3Igc29tZSByZWFzb24gdGhlIGF2ZHRwc2luayBlbGVtZW50IGNhbid0IGdvIFJFQURZIHRoZW4gdGhlCgkgIGdzdGEyZHBzaW5rIGNhbid0IGVpdGhlciBhbmQgc28gc2hvdWxkIHJlbGVhc2UgdGhlIHJlc3NvdXJjZXMgaXQKCSAgYWxsb2NhdGVzIHdoZW4gdHJ5aW5nIHRvIGRvIHNvLgoJICBGaXggYSBsZWFrIHdpdGggdGhlIGdlbmVyaWMvc3RhdGVzIHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjcxNjEKCjIwMTYtMDUtMjggMjE6MzQ6NTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBDR0xUZXhJbWFnZUlPU3VyZmFjZTJEIG5lZWRzIHRoZSBPcGVuR0wgZnJhbWV3b3JrIG9uIE9TWAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA1LTI4IDIxOjM5OjAwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhdnNhbXBsZXZpZGVvc2luazogY2hlY2sgd2UgYXJlIGNvbXBpbGluZyBmb3IgMTAuMSB1cCB0byAxMC40CgkgIFRoaXMgQVBJIHdhcyBkZXByZWNhdGVkIGluIDEwLjQsIHNvIGRvbid0IHVzZSBpdCBmb3IgMTAuNSBhbmQgb253YXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNi0wMSAxMzo0MzozMiArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogUmVnaXN0ZXIgYSBoYXJkd2FyZS1vbmx5IHZ0ZW5jX2gyNjRfaHcgZWxlbWVudCBvbiBPU1gKCSAgU2ltaWxhciB0byB2dGRlY19odywgdGhpcyBjb21taXQgYWRkcyBhIHZ0ZW5jX2gyNjRfaHcgZWxlbWVudCB0aGF0IGZhaWxzCgkgIGNhcHMgbmVnb3RpYXRpb24gdW5sZXNzIGEgaGFyZHdhcmUgZW5jb2RlciBjb3VsZCBhY3R1YWxseSBiZSBhY3F1aXJlZC4KCSAgVGhpcyBpcyB1c2VmdWwgaW4gc2l0dWF0aW9ucyB3aGVyZSBhIGZhbGxiYWNrIHRvIGEgc29mdHdhcmUgZW5jb2RlcgoJICBvdGhlciB0aGFuIHRoZSB2dGVuY19oMjY0IHNvZnR3YXJlIGVuY29kZXIgaXMgZGVzaXJlZCAoZS5nLiB0byB4MjY0ZW5jKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzEwNAoKMjAxNi0wNi0wMiAxNjozMDowMiArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogbWFrZSB2dGRlY19odyBmYWxsYmFjayB0byBzb2Z0d2FyZSBvbiByZW5lZ290aWF0aW9uCgkgIFdoZW4gcmVuZWdvdGlhdGluZyBtaWQgc3RyZWFtIC0gZm9yIGV4YW1wbGUgd2l0aCB2YXJpYWJsZSBiaXRyYXRlCgkgIHN0cmVhbXMgLSBhbmQgdGhlcmVmb3JlIGRlc3Ryb3lpbmcgYW5kIHJlY3JlYXRpbmcgVlRTZXNzaW9ucywgdGhlCgkgIGh3IGRlY29kZXIgbWlnaHQgYmVjb21lIHRlbXBvcmFyaWx5IHVuYXZhaWxhYmxlLgoJICBUbyBkZWFsIHdpdGggdGhpcyBhbmQgYXZvaWQgZXJyb3Jpbmcgb3V0IG9uIGJpdHJhdGUgY2hhbmdlcywKCSAgdnRkZWNfaHcgbm93IGZhbGxzIGJhY2sgdG8gdXNpbmcgdGhlIHNvZnR3YXJlIGRlY29kZXIgaWYgdGhlIGh3CgkgIG9uZSB3YXMgYXZhaWxhYmxlIGF0IHNvbWUgcG9pbnQgYnV0IGlzbid0IGFueW1vcmUuIEF0CgkgIHJlbmVnb3RpYXRpb24vYml0cmF0ZSBjaGFuZ2UgdGltZSwgaXQgd2lsbCBzdGlsbCByZXRyeSB0byBvcGVuCgkgIHRoZSBoYXJkd2FyZSBvbmUuCgoyMDE2LTA2LTAyIDEzOjEwOjUxICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBmaXggc3dpdGNoaW5nIGZyb20gR0xNZW1vcnkgdG8gU3lzbWVtCgkgIFdoZW4gcmVuZWdvdGlhdGluZyBmcm9tIEdMTWVtb3J5IHRvIFN5c21lbSBkbyB0ZWFyZG93biB0aGUgdGV4dHVyZV9jYWNoZS4KCSAgRml4ZXM6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYxOTAKCjIwMTYtMDYtMDIgMTE6MzY6NTcgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IG9wdGltaXplIHJlbmVnb3RpYXRpb24KCSAgOjpuZWdvdGlhdGUgY2FuIGJlIGNhbGxlZCBzZXZlcmFsIHRpbWVzIGJlZm9yZSB0aGUgQ0FQUyBldmVudCBpcyBzZW50IGRvd25zdHJlYW0KCSAgc28gdXNlIHRoZSBjdXJyZW50bHkgY29uZmlndXJlZCBvdXRwdXQgc3RhdGUgY2FwcyBpbnN0ZWFkIG9mIHRoZSBwYWQgY3VycmVudAoJICBjYXBzIHdoZW4gZGVjaWRpbmcgd2hldGhlciB0byByZWNyZWF0ZSB0aGUgVlRTZXNzaW9uIG9yIG5vdC4KCSAgVGhpcyBsZWFkcyB0byBjcmVhdGluZy9kZXN0cm95aW5nIGxlc3MgVlRTZXNzaW9ucyB3aGljaCBtYWtlcyByZW5lZ290aWF0aW9uIG1vcmUKCSAgcmVsaWFibGUgZXNwZWNpYWxseSB3aGVuIHVzaW5nIGh3IGRlY29kaW5nLgoKMjAxNi0wNi0wMSAxMzo1MjoxMCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZW1vdmUgY29tbWVudCBvbiBzZWxmLWV4cGxhbmF0b3J5IGNvZGUKCjIwMTYtMDYtMDEgMTM6MTg6MjEgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYXZvaWQgb3V0LWJvdW5kIHdyaXRlIG9uIFBJRCBmaWx0ZXIgYXJyYXkKCSAgVGhlcmUncyBubyBuZWVkIGZvciBhbiBlbmQtb2YtbGlzdCBtYXJrZXIgaW4gdGhlIGZpbHRlcgoJICBQSURzIGFycmF5IGlmIGZ1bGwsIGFzIHRoZSBhYnNvbHV0ZSBtYXhpbXVtIG51bWJlciBvZgoJICBlbGVtZW50cyAoTUFYX0ZJTFRFUlMpIGlzIGtub3duLgoJICBDSUQgIzEzNjI0NDEKCjIwMTYtMDUtMzEgMjA6NDE6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBlcnJvciBkZWJ1ZyBtZXNzYWdlIHdoZW4gY2FtZXJhIGRvZXNuJ3QgZXhpc3QKCSAgTWFrZXMgbm8gc2Vuc2UgdG8gaW5jbHVkZSB0aGUgc3lzdGVtIGVycm9yIGhlcmUgc2luY2UgZXJybm8KCSAgd2lsbCBsaWtlbHkgbm90IGJlIHNldCBhbmQgdGhlbiBpdCBzYXlzICdzeXN0ZW0gZXJyb3I6IHN1Y2Nlc3MnCgkgIHdoaWNoIGlzIGNvbmZ1c2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NzA4NwoKMjAxNi0wNS0zMSAxODo1ODo0MyArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSAgYWhjc3JjOiByZWxlYXNlIHJlc291cmNlcyBpbiAnZmluYWxpemUnIGZ1bmN0aW9uCgkgIEluIGdlbmVyYWwsICdkaXNwb3NlJyBmdW5jdGlvbiBpcyB1c2VkIGZvciBkcm9wcGluZyBhbGwgcmVmZXJlbmNlcwoJICBhbmQgJ2ZpbmFsaXplJyBpcyBjYWxsZWQgZm9yIHJlbGVhc2luZyBpbnN0YW5jZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzMDkKCjIwMTYtMDUtMjUgMTU6MDE6MzEgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgcGxheWVyOiBpbmhpYml0IHNpZ25hbHMgYWZ0ZXIgZ3N0X3BsYXllcl9zdG9wKCkgaGFzIGJlZW4gY2FsbGVkCgkgIEFsc28gd2FpdCBmb3IgdGhlIHN0YXRlIGNoYW5nZSB0byBTVE9QIHRvIGhhdmUgYmVlbiBhbm5vdW5jZWQgYmVmb3JlCgkgIGRlc3Ryb3lpbmcgdGhlIHBsYXllciBzbyBpdCB3b24ndCBhcHBlYXIgYXMgbGVha2VkIGJ5IGxlYWsgZGV0ZWN0b3IKCSAgdG9vbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MDcKCjIwMTYtMDUtMjUgMTI6NDg6MTMgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgcGxheWVyOiBoYW5kbGUgdXJpLWxvYWRlZCBpbiB0ZXN0CgkgIEhhZCB0byBhZGFwdCB0aGUgZXhpc3RpbmcgdGVzdHMgYmVjYXVzZSBvZiB0aGlzIG5ldyBjYWxsYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNwoKMjAxNi0wNS0yNSAxNjo1Nzo0OSAtMDcwMCAgU2NvdHQgRCBQaGlsbGlwcyA8c2NvdHQuZC5waGlsbGlwc0BpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IERvbid0IGFzc3VtZSBjb250aWd1b3VzIGlkJ3MgaW4gbWFrZV9jb2RlY19kYXRhCgkgIHZwcy9zcHMvcHBzIGlkJ3MgYXJlIG5vdCByZXF1aXJlZCB0byBiZSB1c2VkIGNvbnRpZ3VvdXNseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njg5MQoKMjAxNi0wNS0yOCAwMToyMjozMiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgc2FtcGxlIEFUU0MgbGF1bmNoIGxpbmUKCjIwMTYtMDUtMjggMjE6MzY6MDQgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkgIGdsOiBnbHF1ZXJ5OiBjYXN0IHRvIHNpbGVuY2UgY29tcGlsZXIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA1LTI4IDIxOjM1OjM3ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogZ2x0ZXN0c3JjLmggYWxyZWFkeSBkZWZpbmVzIEdzdEdMVGVzdFNyYwoJICBBbmQgcmVkZWZpbml0aW9uIGlzIG5vdCBhbGxvd2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2OTczCgoyMDE2LTA1LTI3IDIzOjI0OjU0ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IHVzZSBjb3JyZWN0IF9OT05FIGVudW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Njk3MwoKMjAxNi0wNS0yOCAxMDo0NDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgaDI2NHBhcnNlcjogbWFpbnRhaW4gbWluaW1hbCBBQkkgY29tcGF0CgkgIEJlY2F1c2Ugd2UgY2FuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE0LTA1LTIyIDE2OjEyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW51c2VkIGZwc19udW0vZnBzX2RlbiBmaWVsZHMKCSAgSW5zdGVhZCB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8gY2FsY3VsYXRlCgkgIHRoZSBmcmFtZXJhdGUgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTYtMDUtMjUgMTA6NTk6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogdXBkYXRlIGZwcyBjYWxjdWxhdGlvbiBmb3IgaDI2NCBjb2RlYyBwYXJzZXIgQVBJIGNoYW5nZXMKCSAgVXNlIG5ldyBnc3RfaDI2NF92aWRlb19jYWxjdWxhdGVfZnJhbWVyYXRlKCkgQVBJIGluc3RlYWQgb2YgZnBzX24vZnBzX2QKCSAgZmllbGRzIGluIFNQUyBzdHJ1Y3Qgd2hpY2ggYXJlIHRvIGJlIHJlbW92ZWQuCgkgIEFwcGFyZW50bHkgSDI2NCBjb250ZW50IGluIE1TUyBpcyBhbHdheXMgbm9uLWludGVybGFjZWQvcHJvZ3Jlc3NpdmUsCgkgIHNvIHdlIGNhbiBqdXN0IHBhc3MgMCBmb3IgZmllbGRfcGljX2ZsYWcgYW5kIGRvbid0IG5lZWQgdG8gcGFyc2UgYW55CgkgIHNsaWNlIGhlYWRlcnMgZmlyc3QgaWYgdGhlcmUncyBubyBleHRlcm5hbCBzaWduYWxsaW5nLiBCdXQgZXZlbiBpZgoJICB0aGF0J3Mgbm90IHRoZSBjYXNlIHRoZSBuZXcgY29kZSBpcyBub3Qgd29yc2UgdGhhbiB0aGUgZXhpc3RpbmcgY29kZS4KCSAgaHR0cHM6Ly9tc2RuLm1pY3Jvc29mdC5jb20vZW4tdXMvbGlicmFyeS9jYzE4OTA4MCUyOFZTLjk1JTI5LmFzcHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzM1MgoKMjAxNi0wNS0yNiAxMDoyODoxNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1c2Ugc2luZ2xlIG1hcmtlciBhdCBlbmQgb2YgZmlsdGVyaW5nIFBJRCBsaXN0CgkgIEF2b2lkcyBhdCBsZWFzdCB+MTAwIHVubmVlZGVkIGFzc2lnbm1lbnQgb3BlcmF0aW9ucyBhdCBydW50aW1lCgoyMDE2LTA1LTIzIDE2OjMxOjA1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNpbXBsaWZ5IHJlcG9ydGluZyBvZiBzZXQgcG9sYXJpdHkKCjIwMTYtMDUtMjMgMTQ6NDE6NDAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGJhbmR3aWR0aC1oeiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoJICBCYW5kd2lkdGggSHogaXMgbm8gbG9uZ2VyIGEgRFZCVC1vbmx5IHByb3BlcnR5CgoyMDE2LTA1LTIzIDE0OjAyOjEwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1c2FnZSBvZiBQRVMgJiBEVlIgYWNyb255bXMgZXZlcnl3aGVyZQoJICBBZGRpdGlvbmFsbHksIGltcHJvdmUgbWVzc2FnZSBvbiBnc3RfcG9sbF9uZXcoKSBmYWlsdXJlCgoyMDE2LTA1LTI2IDIwOjE2OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogYWx3YXlzIHVucmVmIHRoZSBjb250ZXh0IG9uIGEgY29sbGlzaW9uCgkgIE90aGVyd2lzZSB3ZSB3aWxsIGxlYWsgR3N0R0xDb250ZXh0J3Mgd2hlbiBhZGRpbmcgdGhlIHNhbWUgY29udGV4dCBtb3JlIHRoYW4KCSAgb25jZS4KCSAgRml4ZXMgYSByZWdyZXNzaW9uIGNhdXNlZCBieSA1ZjlkMTBmNjAzNjA2ODUwMmFkMjNlMWVjODZhNzNlMzQxODAxYWUxIGluIHRoZQoJICBnc3RnbGNvbnRleHQgdW5pdCB0ZXN0IHRoYXQgZmFpbGVkIHdpdGg6CgkgIEFzc2VydGlvbiAndG1wID09IE5VTEwnIGZhaWxlZAoKMjAxNi0wNS0yNSAxMzozODo0NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBSZXZlcnQgImFnZ3JlZ2F0b3I6IFN0YXJ0IHRoZSB0YXNrIHdoZW4gbGlua2VkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDMwMjU4MGMzODE1MTM2ZDI5NDc5YzNhOGNhZTYxMWQ2ZTJmZjM3MDkuCgoyMDE2LTA1LTIwIDE0OjM0OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBEb24ndCBjYWNoZSBidWZmZXIgcG9vbAoJICBQb29scyBjYW5ub3QgYmUgdXNlZCBieSB0aGUgdHdvIGVsZW1lbnRzIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MTEKCjIwMTYtMDQtMTMgMTY6MzA6MjggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU3RhcnQgdGhlIHRhc2sgd2hlbiBsaW5rZWQKCSAgVW50aWwgbm93IHdlIHdvdWxkIHN0YXJ0IHRoZSB0YXNrIHdoZW4gdGhlIHBhZCBpcyBhY3RpdmF0ZWQuIFBhcnQgb2YgdGhlCgkgIGFjdGl2aWF0aW9uIGNvbmNpc3Qgb2YgdGVzdGluZyBpZiB0aGUgcGlwZWxpbmUgaXMgbGl2ZSBvciBub3QuCgkgIFVuZm9ydHVuYXRseSwgdGhpcyBpcyBvZnRlbiB0b28gc29vbiwgYXMgaXQncyBsaWtlbHkgdGhhdCB0aGUgcGFkIGdldAoJICBhY3RpdmF0ZWQgYmVmb3JlIGl0IGlzIGZ1bGx5IGxpbmtlZCBpbiBkeW5hbWljIHBpcGVsaW5lLgoJICBJbnN0ZWFkLCBzdGFydCB0aGUgdGFzayB3aGVuIHRoZSBmaXJzdCBzZXJpYWxpemVkIGV2ZW50IGFycml2ZS4gVGhpcyBpcwoJICBhIHNhZmUgbW9tZW50IGFzIHdlIGtub3cgdGhhdCB0aGUgdXBzdHJlYW0gY2hhaW4gaXMgY29tcGxldGUgYW5kIGp1c3QKCSAgbGlrZSB0aGUgcGFkIGFjdGl2YXRpb24sIHRoZSBwYWRzIGFyZSBsb2NrZWQsIGhlbmNlIGNhbm5vdCBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc1NDgKCjIwMTYtMDUtMjUgMDk6MDk6MDEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsOiB3aW4zMjogQWRkIGRlYnVnIGNhdGVnb3J5IGluIGdzdGdsY29udGV4dF93Z2wuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2ODY3CgoyMDE2LTA1LTE2IDIwOjAyOjI4ICswODAwICBIYWlodWEgSHUgPGphcmVkLmh1QG54cC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsaW1hZ2VzaW5rOiBzdXBwb3J0IHZpZGVvIHJvdGF0aW9uIHVzaW5nIHRyYW5zZm9ybSBtYXRyaXgKCSAgQWRkICJyb3RhdGUtbWV0aG9kIiB0byBnbGltYWdlc2luayBhbmQgYXBwbHkgdHJhbnNmb3JtIG1hdHJpeAoJICB0byB2ZXJ0ZXggY29vcmRpbmF0ZSB0byBjb250cm9sIHJvdGF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1Nzk1CgoyMDE2LTA1LTI0IDIzOjM5OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBmaXggcmFjZSByZXRyaWV2aW5nIHRoZSBHTCBjb250ZXh0IGZyb20gdGhlIGRpc3BsYXkKCSAgX2dldF9nbF9jb250ZXh0KCkgY2FuIGJlIGNhbGxlZCBjb25jdXJyZW50bHkgZnJvbSBlaXRoZXIgcHJvcG9zZV9hbGxvY2F0aW9uKCkgb3IKCSAgZGVjaWRlX2FsbG9jYXRpb24oKS4gIElmIGl0IHNvIGhhcHBlbnMgdGhhdCB0aGlzIGhhcHBlbnMgYXQgdGhlIHNhbWUgdGltZSwKCSAgdGhlIGNoZWNrIGZvciB3aGV0aGVyIHdlIGFscmVhZHkgaGFkIGEgR0wgY29udGV4dCB3YXMgb3V0c2lkZSB0aGUgbG9jay4gIEluc2lkZQoJICB0aGUgbG9jayBhbmQgbG9vcCwgdGhlIGZpcnN0IHRoaW5nIHRoYXQgaGFwcGVucyBpcyB0aGF0IHdlIHVucmVmIHRoZSBjdXJyZW50IEdMCgkgIGNvbnRleHQgKGlmIHZhbGlkKSBhcyBpZiB0aGVyZSB3YXMgYSBjb25mbGljdCBhZGRpbmcgaXQgdG8gdGhlIGRpc3BsYXkuICBJZiB0aGUKCSAgdGltaW5nIHdhcyB1bmx1Y2t5LCBzdWJzZXF1ZW50IHVzZSBvZiB0aGUgR0wgY29udGV4dCB3b3VsZCBiZSByZWZlcmVuY2luZyBhbgoJICBhbHJlYWR5IHVucmVmZmVkIEdMIGNvbnRleHQgb2JqZWN0IHJlc3VsdGluZyBpbiBhIGNyaXRpY2FsOgoJICBnX29iamVjdF9yZWY6IGFzc2VydGlvbiAnb2JqZWN0LT5yZWZfY291bnQgPiAwJyBmYWlsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjcwMwoKMjAxNi0wNS0yNCAyMzozODoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGFkZCBzb21lIGRlYnVnZ2luZyBhYm91dCByZXRyaWV2aW5nIEdMIGNvbnRleHRzCgoyMDE2LTA1LTI1IDEwOjAxOjM4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJICBlZ2xpbWFnZTogUmUtYWRkIGFjY2lkZW50aWFsbHkgcmVtb3ZlZCBHU1RfREVGSU5FX01JTklfT0JKRUNUX1RZUEUoKQoKMjAxNi0wNS0yMyAxNToyNDo1MyArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJICBwbGF5ZXI6IGZpeCBzdWJ1cmkgZ2V0dGVyIGRlYnVnIG1lc3NhZ2UKCSAgVGhlIHByb3BlcnR5IGlzIGEgc3RyaW5nLCBub3QgYSBib29sZWFuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3CgoyMDE2LTA1LTI1IDA5OjUzOjE1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSAgcGxheWVyOiBEb24ndCBzZXQgc3VidGl0bGUgVVJJIGRpcmVjdGx5IGJ1dCBkaXNwYXRjaCB0byB0aGUgcGxheWVyIHRocmVhZAoJICBPdGhlcndpc2Ugd2UgZG8gc3RhdGUgY2hhbmdlcyBhbmQgZXZlcnl0aGluZyBpbiB0aGUgYXBwbGljYXRpb24gdGhyZWFkLCB3aGljaAoJICBtaWdodCBibG9jayBhbmQgbW9yZSBpbXBvcnRhbnQgY2FuIGNhdXNlIHJlZW50cmFudCBzaWduYWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjA3CgoyMDE2LTA1LTIzIDIwOjExOjE3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5jOgoJICBlZ2xpbWFnZTogRW5zdXJlIHRoYXQgdGhlIGRlYnVnIGNhdGVnb3J5IGlzIGFsd2F5cyBpbml0YWxpemVkCgkgIEJlZm9yZSB0aGUgaW5pdGlhbGl6ZXIgd2FzIG9ubHkgcnVuIGlmIGRtYWJ1ZiBzdXBwb3J0IHdhcyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2Nzk0CgoyMDE2LTA1LTI0IDIzOjMwOjA5ICsxMDAwICBBcmplbiBWZWVuaHVpemVuIDxhcmplbi52ZWVuaHVpemVuQHRuby5ubD4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IG1ha2UgdGhlIHBpdm90LXogcHJvcGVydHkgUkVBRFdSSVRFCgkgIEluc3RlYWQgb2YganVzdCBiZWluZyBSRUFEQUJMRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjgxOAoKMjAxNi0wNS0yMyAxMDo0MDo1OCArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogZml4IHNyY19pbXBsIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MQoKMjAxNi0wNS0yNCAwMDo1NToxMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9NYWtlZmlsZS5hbToKCSAgZy1pOiBwYXNzIGNvbXBpbGVyIGVudiB0byBnLWlyLXNjYW5uZXIKCSAgSXQncyB3aGF0IGludHJvc3BlY3Rpb24ubWFrIGRvZXMgYXMgd2VsbC4gU2hvdWxkCgkgIGZpeCBzcHVyaW91cyBidWlsZCBmYWlsdXJlcyBvbiBnbm9tZS1jb250aW51b3VzLgoKMjAxNi0wNS0yNCAwNzoxNzoyMiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJICBwbm1kZWM6IEZpeCBBU0NJSSBwYXJzaW5nCgkgIFBhcnNlIGdyYXkxNiBwcm9wZXJseSBpbiBhc2NpaSBtb2RlLCBhbmQgZml4CgkgIHNvbWUgYnVncyBhcm91bmQgcmVhZGluZyBkYXRhIGluIGNodW5rcyB3aGVuCgkgIGFzY2lpIHZhbHVlcyBjcm9zcyBjaHVuayBib3VuZGFyaWVzCgoyMDE2LTA1LTE5IDAxOjI4OjA0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wbm0uYzoKCSAgcG5tOiBBZGQgYSBiYXNpYyB1bml0IHRlc3QKCSAgVGVzdCB0aGF0IHdlIGNhbiBydW4gYW4gZW5jb2RlIC8gZGVjb2RlIGN5Y2xlIGluIHZhcmlvdXMKCSAgZm9ybWF0cyB3aXRob3V0IGVycm9ycwoKMjAxNi0wNS0xOSAwMTowNDozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm1lbmM6IE1ha2Ugb3V0cHV0IGNhcHMgbWF0Y2ggdGhlIHNyY3BhZCB0ZW1wbGF0ZQoJICBEb24ndCBvdXRwdXQgJ2ltYWdlL3BubScsIHdoaWNoIGlzbid0IGV2ZW4gaW4gdGhlIHRlbXBsYXRlCgkgIGNhcHMuIEluc3RlYWQsIG91dHB1dCBhIG1pbWUtdHlwZSBjb25zaXN0ZW50IHdpdGggd2hhdCB3ZQoJICBhcmUgZW5jb2RpbmcuCgoyMDE2LTA1LTE4IDE3OjE5OjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogVGlkeSB1cCBjb2RlLCBzdXBwb3J0IEJFL0xFIEdSQVkxNiBwcm9wZXJseQoJICBSZW1vdmUgY29kZSB0aGF0IGRlYWx0IHdpdGggb2RkIHN0cmlkZXMgc2VwYXJhdGVseSAtIHRoZXJlJ3MKCSAgbm90IHJlYWxseSBhbnkgb3ZlcmhlYWQgdG8ganVzdCB1c2luZyAxIGNvZGVwYXRoIGZvciBib3RoIG1hdGNoZWQKCSAgYW5kIHVubWF0Y2hlZCBzdHJpZGUgb3V0cHV0LgoJICBBZGQgc2VwYXJhdGUgY29kZXBhdGhzIGZvciBCRSB2cyBMRSBHUkFZMTYgaW5wdXQgc28gdGhleSdyZQoJICBoYW5kbGVkIHByb3Blcmx5CgoyMDE2LTA1LTE2IDIxOjIyOjU3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogQWN0dWFsbHkgb3V0cHV0IExFIG9yIEJFIEdSQVkxNiBhcyBuZWdvdGlhdGVkCgkgIEFkZCBjb2RlcGF0aHMgdG8gb3V0cHV0IEdSQVkxNiBpbiBsaXR0bGUgb3IgYmlnIGVuZGlhbgoJICBhcyBuZWdvdGlhdGVkLgoJICBNb3ZlIGFsbCBvdXRwdXQgZm9ybWF0IG5lZ290aWF0aW9uIGludG8gYSBjZW50cmFsCgkgIGZ1bmN0aW9uIGFuZCBjbGVhbiBpdCB1cAoKMjAxNS0xMC0yMiAxNzowNjowMSArMDIwMCAgRGltaXRyaW9zIEthdHNhcm9zIDxwYXRjaGVyd29ya0BnbWFpbC5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubWRlYzogSW1wbGVtZW50YXRpb24gb2YgR1JBWTE2IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwMjIKCjIwMTUtMTAtMTkgMTc6MTU6MzAgKzAyMDAgIERpbWl0cmlvcyBLYXRzYXJvcyA8cGF0Y2hlcndvcmtAZ21haWwuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBJbXBsZW1lbnRhdGlvbiBvZiBHUkFZMTYgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAyMgoKMjAxNi0wNS0yMCAxOToyNTo1NyArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMva21zL2dzdGttc2J1ZmZlcnBvb2wuYzoKCSAga21zYnVmZmVycG9vbDogZXJyb3Igb25seSBpZiBubyBhbGxvY2F0b3IKCSAgRG8gbm90IGV4cGVjdCBhbiBhbGxvY2F0b3IgZnJvbSB0aGUgY29uZmlndXJhdGlvbiwgYnV0IGV4cGVjdCB0byBoYXZlIGFscmVhZHkKCSAgb25lIHNldC4KCjIwMTYtMDUtMTUgMTE6NTI6NTUgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkgIGttc3Npbms6IGZyYW1lIGNvcHkgbG9nIGluIHBlcmZvcm1hbmNlIGNhdGVnb3J5CgkgIExvZyB0aGUgbWVzc2FnZSB3aGVuIHRoZSBmcmFtZSBpcyBnb2luZyB0byBiZSBjb3B5ICh3b3JzZSBjYXNlKSB1bmRlciB0aGUKCSAgcGVyZm9ybWFuY2UgbG9nIGNhdGVnb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDY2CgoyMDE2LTA1LTE1IDExOjUxOjIyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJICBrbXNzaW5rOiB1c2UgdHJhY2UgbGV2ZWwgZm9yIGJ1ZmZlciByZW5kZXIgbG9nCgkgIEluc3RlYWQgb2YgdXNpbmcgZGVidWcgbGV2ZWwgZm9yIGxvZ2dpbmcgZWFjaCBidWZmZXIgcmVuZGVyZWQsIHVzZSB0cmFjZQoJICBsZXZlbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQ2NgoKMjAxNi0wNS0yMyAxNzowMDoyMiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5jOgoJICBwbGF5ZXI6IEZpeCBkb2N1bWVudGF0aW9uIGZvciBnc3RfcGxheWVyX3ZpZGVvX2luZm9fZ2V0X2ZyYW1lcmF0ZSgpCgkgIERvY3VtZW50IG91dCBwYXJhbWV0ZXJzIGFuZCBmaXggZnVuY3Rpb24gbmFtZS4KCjIwMTYtMDUtMTggMTY6MDA6NDcgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgcGxheWVyOiB1c2UgZ3N0X2NoZWNrX2luaXQoKSBpbiB0ZXN0CgkgIENhbGxpbmcgR1NUX0RFQlVHKCkgaW4gdGVzdCByZWx5IG9uIHRoZSBkZWZhdWx0IGNhdGVnb3J5IHRvIGJlIGRlZmluZWQsCgkgIHdoaWNoIGlzIGRvbmUgaW4gZ3N0X2NoZWNrX2luaXQoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjYwNwoKMjAxNi0wNS0yMCAxNzoyODo1MiAtMDQwMCAgQWFyb24gQm94ZXIgPGJveGVyYWJAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBlbmFibGUgTUNUIGZvciBSR0IgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjczMgoKMjAxNi0wNS0yMCAxNDowODowMyAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBncm91cCBEVkItVDIgc3Vic3RyZWFtLWlkIGNoZWNrIHdpdGggaXRzIGNvcnJlc3BvbmRpbmcgc2V0X3Byb3AoKQoKMjAxNi0wNS0yMCAxMzo1Nzo0NSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgRFZCLVMyIHN1Yi1zdHJlYW0gSUQgY2hlY2sKCSAgRGlzYWJsZSBpZiBpbnZhbGlkICg+IDI1NSkgaW5zdGVhZCBvZiBibGluZHkgc2V0dGluZyB0aGlzCgkgIHByb3BlcnR5IHJlZ2FyZGxlc3Mgb2YgaXRzIGFjdHVhbCB2YWx1ZS4KCjIwMTYtMDUtMjAgMTM6NDc6MDYgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY2xhcmlmeSBjb25zZXF1ZW5jZSBvZiBwYXNzaW5nIGEgd3JvbmcgSUQgdG8gdGhlIHN1YnN0cmVhbSBmaWx0ZXIKCjIwMTYtMDUtMTkgMTc6MDU6MzMgKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGZpeCBzaGFkZXJzIHJlZiBjb3VudGluZwoJICBUaGUgZ2x0ZXN0c3JjIGVsZW1lbnQgdXNlcyB0d28gc2hhZGVyczogY29sb3Jfc2hhZGVyIGFuZCBzbm93X3NoYWRlci4KCSAgVGhvc2UgYXJlIGFsdGVybmF0aXZlbHkgYXNzaWduZWQgdG8gdGhlIFNyY1NoYWRlci0+c2hhZGVyIHBvaW50ZXIgYW5kCgkgIHRoZWlyIHJlZmVyZW5jZSB3YXMgdHJhbnNmZXJyZWQgdG8gaXQuIE9ubHkgdGhlIFNyY1NoYWRlci0+c2hhZGVyIHdhcwoJICB1bnJlZmZlZCAoaW4gX3NyY19zaGFkZXJfZGVpbml0KCkpIHNvIG9ubHkgb25lIHNoYWRlciB3YXMgcHJvcGVybHkKCSAgZnJlZWQsIHRoZSBvdGhlciBvbmUgd2FzIGxlYWtlZC4KCSAgRml4ZWQgdGhpcyBieSBnaXZpbmcgYW4gZXh0cmEgcmVmIHRvIFNyY1NoYWRlci0+c2hhZGVyIGFuZCB1bnJlZmZpbmcgdGhlCgkgIDIgc2hhZGVycyBpbiBfc3JjX3NtcHRlX2ZyZWUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MQoKMjAxNi0wNS0xOSAxNjo1NTozMSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgZ2xtb3NhaWM6IGZpeCBzaGFkZXIgbGVhawoJICBnc3RfZ2xfbW9zYWljX2luaXRfc2hhZGVyKCkgaXMgY2FsbGVkIHR3aWNlIHdpdGggdGVzdF9nbG1vc2FpYyBzbyB0aGUKCSAgZmlyc3Qgc2hhZGVyIHdhcyBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NjEKCjIwMTYtMDUtMTYgMTc6MTE6NTMgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IFVucGFyZW50IGludGVybmFsIHdpbmRvdyBiZWZvcmUgZGVzdHJveWluZyBpdAoJICBGb3Igc29tZSByZWFzb24gRGVzdHJveVdpbmRvdygpIGRlYWRsb2NrIGlmIGl0J3MgY2FsbGVkIGZyb20KCSAgcGFyZW50IHdpbmRvdydzIEtleVByZXNzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NTMzCgoyMDE2LTA1LTE2IDE1OjI2OjUzIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBEb24ndCBzdGVhbCBwYXJlbnQgZm9jdXMgd2hlbiBjcmVhdGluZyBpbnRlcm5hbCB3aW5kb3cKCSAgVGhpcyBmaXggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IDBhY2MxOGM2MGY2Zjk2MmNjNjU1M2Y2MDQ3ZmRiNjQ4OTFiYWI1NDQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1MjAKCjIwMTYtMDUtMTQgMTE6NTY6NTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3Qgd2FpdCBpZiBpbnB1dCBidWZmZXIgaXMgYWZ0ZXIgb3V0cHV0CgkgIElmIHRoZSBpbnB1dCBidWZmZXIgaXMgYWZ0ZXIgdGhlIGVuZCBvZiB0aGUgb3V0cHV0IGJ1ZmZlciwgdGhlbiB3YWl0aW5nCgkgIGZvciBtb3JlIGRhdGEgd29uJ3QgaGVscC4gV2Ugd2lsbCBuZXZlciBnZXQgYW4gaW5wdXQgYnVmZmVyIGZvciB0aGlzIHBvaW50LgoJICBUaGlzIGZpeGVzIGNvbXBvc2l0aW5nIG9mIHN0cmVhbXMgZnJvbSBydHNwc3JjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NDIyCgoyMDE2LTA1LTE5IDA5OjI1OjU3IC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogZml4IHBvdGVudGlhbCBOVUxMIGRlcmVmCgkgIFRoaXMgYnVnIHdhcyBmb3VuZCB2aWEgY3BwY2hlY2sgc3RhdGljIGFuYWx5c2lzLgoJICBJZiBhbmRyb2lkLmhhcmR3YXJlLkNhbWVyYS5nZXRQYXJhbWV0ZXJzIHJldHVybnMgTlVMTCwgdGhlbiBvYmplY3Qgd2lsbAoJICBiZSBOVUxMLCBhbmQgd2Ugd29uJ3QgYWxsb2NhdGUgcGFyYW1zLiBUaGlzIG1lYW5zIHRoYXQgdGhlIEdTVF9ERUJVRwoJICBzdGF0ZW1lbnQgcmVmZXJlbmNpbmcgcGFyYW1zLT5vYmplY3Qgd2lsbCBiZSBpbnZhbGlkLiBGaXggdGhpcyBieQoJICBleGl0aW5nIGVhcmx5IGlmIGFuZHJvaWQuaGFyZHdhcmUuQ2FtZXJhLmdldFBhcmFtZXRlcnMgcmV0dXJucyBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2NjM4CgoyMDE2LTA1LTE5IDExOjMzOjUyIC0wNzAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoYzogZml4IHR5cG8gaW4gZG9jIGJsdXJiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2NzkKCjIwMTYtMDUtMTggMTY6NTU6MzggKzAzMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggcGVuZGluZyB0YWdzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjY2MgoKMjAxNi0wNS0xOCAxMjozMDowNSArMDMwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMva21zL2dzdGttc3NpbmsuYzoKCSAga21zc2luazogY2hhaW4gdXAgZmluYWxpemUgbWV0aG9kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY1OTcKCjIwMTYtMDUtMTggMTI6MzM6NTEgLTA3MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBvcGVuY3Y6IHR5cG8gZml4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjY2MzkKCjIwMTYtMDUtMTggMjE6Mjk6MTUgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2Mjogc3VwcG9ydCBDVlBvcnRzCgkgIENWUG9ydHMgYXJlIHBvcnRzIHRoYXQgdGFrZSBhIGJ1ZmZlci4gRm9yIG5vdyB3ZSBqdXN0IGZpbGwgdGhlIGJ1ZmZlcnMgd2l0aAoJICB0aGUgY29udHJvbCB2YWx1ZS4KCjIwMTYtMDUtMTggMjE6MjY6NTAgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnNvdXJjZS5jOgoJICBsdjI6IHVzZSBfT0JKRUNUIGxvZyB2YXJpYW50cyBhbmQgbG93ZXIgbG9nIGxldmVsIHdoZW4gcHJvY2Vzc2luZwoKMjAxNi0wNS0xNyAxNDozMzowNCAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBtb3ZlIElTREItVCBiYW5kd2lkdGggY2hlY2sgdG8gX2lzX3ZhbGlkX2JhbmR3aWR0aCgpCgkgIEFsbG93cyB0ZXN0IHRvIGJlIHVzZWQgZm9yIGRlbGl2ZXJ5IHN5c3RlbSBhdXRvLWRldGVjdGlvbi4KCSAgQWRkaXRpb25hbGx5LCBhZGQgMCAoYXV0bykgYXMgdmFsaWQgdmFsdWUuCgoyMDE2LTA1LTE3IDE0OjE5OjMwIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCAnMCcgYXMgYSB2YWxpZCB2YWx1ZSBmb3IgYmFuZHdpZHRoCgkgIFVuZGVybHlpbmcgQVBJIGNvbnNpZGVycyB0aGlzIHRoZSBCQU5EV0lEVEhfSFogZXF1aXZhbGVudAoJICB0byB0aGUgb2xkIEJBTkRXSURUSF9BVVRPIGZvciBCQU5EV0lEVEguCgoyMDE2LTA1LTE3IDEzOjUzOjU0IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZhY3RvciBvdXQgYW5kIHJldXNlIERWQi1UL1QyIGJhbmR3aWR0aCBjaGVja3MKCSAgVXNlIG5ldyB1dGlsaXR5IGZ1bmN0aW9uIGFzIGFuIGFkZGl0aW9uYWwgY2hlY2sgZm9yIGRlbGl2ZXJ5CgkgIHN5c3RlbSBhdXRvLWRldGVjdGlvbi4KCjIwMTYtMDUtMTcgMTI6MDY6NDUgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmIvcGFyc2VjaGFubmVsczogcmVjb2duaXplIGFkZGl0aW9uYWwgYmFuZHdpZHRocyBhdCB6YXAgcGFyc2luZwoJICBQcmV2aW91c2x5IGlnbm9yZWQgMS43MTIsIDUgYW5kIDEwIE1IeiB2YWx1ZXMgYXJlIGFsc28gdmFsaWQKCjIwMTYtMDUtMTYgMTI6Mjc6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcwoJICBIYWQgdG8gYmUgZG9uZSBhdCBzb21lIHBvaW50OgoJICBnc3RfdmlkZW9hZ2dyZWdhdG9yXyogLT4gZ3N0X3ZpZGVvX2FnZ3JlZ2F0b3JfKgoJICBBbHNvIGZpeCB1cCBzb21lIGZ1bmN0aW9uIG5hbWVzIHdpdGggdHlwb3MuCgoyMDE2LTA1LTE1IDIzOjMxOjMzIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgbHYyOiBjbGVhbnVwIHRoZSBwcmVkaWNhdGVzCgkgIFVzZSB0aGUgZGVmaW5lcyBmcm9tIHRoZSBoZWFkZXJzIGFuZCBnZXQgcmlkIG9mIG91ciBvd24gbmFtZXNwYWNlIGRlZmluZXMuCgkgIFJlcGxhY2UgdGhlICdyb2xlJyBwcm9wIHdpdGggJ2Rlc2lnbmF0aW9uJy4KCjIwMTYtMDUtMTUgMjM6Mjc6MjIgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogdHdlYWsgZW51bSBsb2dnaW5nCgkgIExvZyBtb3JlIGRldGFpbHMgd2hlbiB3ZSBmaW5kIGEgYmFkIHNjYWxlcG9pbnQgYW5kIGRvd25ncmFkZSB0aGUgbG9nZ2luZyBvZiB0aGUKCSAgZ29vZCBlbnVtIHZhbHplcy4KCjIwMTYtMDUtMTUgMjI6MDU6NDMgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGdlbmVyYXRlIGVudW1zIGZyb20gc2NhbGVwb2ludHMKCSAgUGx1Z2lucyBjYW4gcHJvdmlkZSBhIHNldCBvZiBuYW1lZCB2YWx1ZXMgZm9yIGEgY29udHJvbCBwb3J0LiBJZGVhbGx5IG9ubHkgdGhvc2UKCSAgdmFsdWVzIGFyZSBzZXQgZm9yIHRoZSBwcm9wZXJ0eS4gQ2hlY2sgaWYgYWxsIHNjYWxlcG9pbnRzIGFyZSBpbnRlZ2VycyBhbmQgaWYgc28KCSAgZ2VuZXJhdGUgYW4gZW51bSB0eXBlLgoKMjAxNi0wNS0xNSAxOTo0NToyNiAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSAgbHYyOiByZWR1Y2UgbG9nIHNwYW0gZm9yIHByb3BlcnR5IGJvdW5kcwoJICBPbmx5IGNvbXBsYWluIGFib3V0IGJhZCBib3VuZHMsIGlmIHRoZSBwbHVnaW4gYWN0dWFsbHkgc2V0IHRob3NlLiBPdGhlcndpc2UKCSAgc2lsZW50bHkgYWRqdXN0IG91ciBkZWZhdWx0cy4KCjIwMTYtMDUtMTUgMTc6NTg6NTEgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBsdjI6IHJlbW92ZSBsdjJfc3ltYm9sX3ByZWQKCSAgV2UncmUgbm90IGFjdHVhbGx5IHVzaW5nIGl0LgoKMjAxNi0wNS0xNSAxNzo1NDowNiAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkgIGx2MjogcmVtb3ZlIGxlZnRvdmVyIEZJTUUKCjIwMTYtMDUtMTUgMDA6NDE6MTIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc3BlY2lhbCBjYXNlIGRldGVjdGlvbiB3aGVuIERWQi1UIGFuZCBUMiBzZWVtIHZhbGlkCgkgIFRoZXJlIGlzIG5vIHdheSB0byB0ZWxsIG9uZSBvdmVyIHRoZSBvdGhlciB3aGVuIHBhcmFtZXRlcnMKCSAgc2VlbSB2YWxpZCBmb3IgRFZCLVQgYW5kIERWQi1UMiBhbmQgdGhlIGFkYXB0ZXIgc3VwcG9ydHMKCSAgYm90aC4gUmVhc29uIHRvIGdvIHdpdGggdGhlIGZvcm1lciBoZXJlIGlzIHRoYXQsIGZyb20KCSAgZXhwZXJpZW5jZSwgbW9zdCBEVkItVDIgY2hhbm5lbHMgb3V0IHRoZXJlIHNlZW0gdG8gdXNlCgkgIHBhcmFtZXRlcnMgdGhhdCBhcmUgbm90IHZhbGlkIGZvciBEVkItVCwgbGlrZSBRQU1fMjU2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU3MzEKCjIwMTYtMDUtMTQgMjM6MzI6NDkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIHRyYW5zbWlzc2lvbiBtb2RlIGNoZWNrIGZvciBEVE1CCgoyMDE2LTA1LTEzIDAxOjU0OjU2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IHVzZSBwcm9wZXIgZmVfc3BlY3RyYWxfaW52ZXJzaW9uIGVudW0gaWRlbnRpZmllcnMKCjIwMTYtMDUtMTMgMDE6MjU6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZXhwbGljaXRseSBkaXNhYmxlIHN0cmVhbSBmaWx0ZXIgZm9yIGludmFsaWQgaWRzCgoyMDE2LTA1LTEzIDAwOjUwOjQ1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGRvIG5vdCBhc3N1bWUgRFZCLVQgZnJvbSB6YXAgZmlsZSBhbG9uZQoJICBEVkItVC9UMiBoYXZlIHRoZSBzYW1lIG51bWJlciBvZiBmaWVsZHMgc28gd2Ugd2VyZQoJICB3cm9uZ2x5IGFzc3VtaW5nIERWQi1UIGZvciBEVkItVDIgYnJvYWRjYXN0cy4gTm90CgkgIHNldHRpbmcgdGhlIGRlbGl2ZXJ5IHN5c3RlbSBoZXJlIGFsbG93cyBmb3IgZHZic3JjCgkgIHRvIG1ha2UgYW4gaW5mb3JtZWQgZ3Vlc3MgYmFzZWQgb24gdGhlIGNoYW5uZWwKCSAgcGFyYW1ldGVycy4KCjIwMTYtMDUtMTMgMDA6MTI6MzMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY29uc2lkZXIgdHJhbnNtaXNzaW9uIG1vZGUgZm9yIGRlbHN5cyBhdXRvZGV0ZWN0aW9uCgoyMDE2LTA1LTEzIDAwOjA0OjA4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZhY3RvciBvdXQgdHJhbnNtaXNzaW9uIG1vZGUgY2hlY2sgYWdhaW5zdCBkZWxzeXMKCjIwMTYtMDUtMTIgMTY6NDM6MDkgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaW1wcm92ZSBkZWxpdmVyeSBzeXN0ZW0gYXV0b2RldGVjdGlvbgoKMjAxNi0wNS0xMiAxNDoxMjowOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbW9kdWxhdGlvbiBjaGVja3MgZm9yIERWQi1UIGFuZCBUMgoKMjAxNi0wNS0xNSAxNDo0Njo0MCAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogdXNlIF9PQkpFQ1QgbG9nIHZhcmlhbnRzIGZvciBwbHVnaW5faW5pdAoJICBBbHNvIHRyaW0gbGVhZGluZyB3aGl0ZXNwYWUuCgoyMDE2LTA1LTE1IDE0OjQ1OjE1IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkqIGV4dC9sdjIvZ3N0bHYyZmlsdGVyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyc291cmNlLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5oOgoJICBsdjI6IGFkZCByZWdpc3RyeSBjYWNoaW5nCgkgIFVzZSB0aGUgcGx1Z2luX2NhY2hlIGV4dHJhIGRhdGEgdG8gYXZvaWQgaW50cm9zcGVjdGluZyBvdmVyIGFuZCBvdmVyIGFnYWluLgoKMjAxNi0wNS0xNCAxMjozNToxNSAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvUkVBRE1FOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkgIGx2MjogaW1wbGVtbnQgdGhlIG1hcC1leHRlbnNpb24KCSAgVGhpcyBpcyB0aGUgbW9zdCB1c2VkIG9uZSBhbmQgYXQgdGhlIHNhbWUgdGltZSBlYXN5IHRvIGltcGxlbWVudCBzaW5nIFFHUXVhcmsuCgoyMDE2LTA1LTE0IDEyOjM0OjEwIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmg6CgkgIGx2czogYWRkIHJlcXVpcmVfZmVhdHVyZSBjaGVja3MKCSAgUGx1Z2lucyBjYW4gcmVwb3J0IHdoYXQgaG9zdCBmZWF0dXJlcyB0aGV5IG5lZWQuIFNpbmNlIHdlIHN0YXJ0IHRvIGltcGxlbWVudCBob3N0IGZlYXR1cmUKCSAgY2hlY2sgd2hpY2ggcGx1Z2lucyB3ZSBjYW4gbm8gc3V1cG9ydC4KCjIwMTYtMDUtMTUgMTQ6MzQ6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IENoZWNrIGlmIHdlIGdldCBhIHZhbGlkIGRpc3BsYXkgcmF0aW8KCSAgQXMgaXMgZG9uZSBldmVyeXdoZXJlIGVsc2UsIGFuZCBhdm9pZHMgc2V0dGluZyBib2d1cyB2YWx1ZXMKCSAgQW5kIHJlbW92ZSB1c2VsZXNzICo8dmFsPiBjaGVja3MgKHdlIGFsd2F5cyBwcm92aWRlIHZhbGlkIHZhbHVlcyBhbmQKCSAgaXQncyBhbiBpbnRlcm5hbCBmdW5jdGlvbikuCgkgIENJRCAjMTMyMDcwMAoKMjAxNi0wNS0xNSAxNDoxNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCSAgKiByZWFkIGlzIG9ubHkgdXNlZCB3aXRoaW4gdGhlIHdoaWxlIGxvb3AKCSAgKiB0b2RvIGFuZCBic2l6ZSBvbmx5IG5lZWQgdG8gYmUgYXNzaWduZWQgb25jZQoKMjAxNi0wNS0xNSAxNToxMToxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogQWRkIHVyaS1sb2FkZWQgc2lnbmFsIHRoYXQgaXMgZmlyZWQgd2hlbmV2ZXIgYSBuZXcgVVJJIGlzIGFjdHVhbGx5IGxvYWRlZAoJICBUaGlzIGFsbG93cyBrbm93aW5nIHRoZSAiYm91bmRhcnkiIGZyb20gd2hpY2ggb24gYWxsIGZvbGxvd2luZyBzaWduYWxzIGFyZSBmb3IKCSAgdGhlIG5ldyBVUkkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYwNjIKCjIwMTYtMDUtMTQgMTc6MDU6NDUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdi9mYWNlZGV0ZWN0OiBmaXggdGhlIGJ1aWxkIHdpdGggb3BlbmN2IDMuMS4wCgkgIC0gYWRkIHVzaW5nIG5hbWVzcGFjZSBzdGQ7IGZvciBzdGQ6OnZlY3RvcgoJICAtIHVzZSB0aGUgY3BwIGhlYWRlciBpbWdwcm9jLmhwcCBmaWxlIGZvciB0aGUgY3Y6OmVsbGlwc2UgZnVuY3Rpb24gaW5zdGVhZCBvZgoJICB0aGUgQyBoZWFkZXIKCSAgLSBNYXQgbm8gbG9uZ2VyIHRha2VzIElwbEltYWdlIGluIGl0J3MgY29uc3RydWN0b3JzLCB1c2UgdGhlIGN2YXJydG9tYXQoKQoJICBmdW5jdGlvbiBpbnN0ZWFkLgoJICBGaXhlcyBhIGNvdXBsZSBvZiBidWlsZCBlcnJvcnM6CgkgIGdzdGZhY2VkZXRlY3QuY3BwOjE0MDozMDogZXJyb3I6IOKAmHZlY3RvcuKAmSBkb2VzIG5vdCBuYW1lIGEgdHlwZQoJICBzdHJ1Y3R1cmVfYW5kX21lc3NhZ2UgKGNvbnN0IHZlY3RvciA8IFJlY3QgPiAmcmVjdGFuZ2xlcywgY29uc3QgZ2NoYXIgKiBuYW1lLAoJICBefn5+fn4KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6MTQwOjM3OiBlcnJvcjogZXhwZWN0ZWQg4oCYLOKAmSBvciDigJguLi7igJkgYmVmb3JlIOKAmDzigJkgdG9rZW4KCSAgc3RydWN0dXJlX2FuZF9tZXNzYWdlIChjb25zdCB2ZWN0b3IgPCBSZWN0ID4gJnJlY3RhbmdsZXMsIGNvbnN0IGdjaGFyICogbmFtZSwKCSAgXgoJICBnc3RmYWNlZGV0ZWN0LmNwcDogSW4gZnVuY3Rpb24g4oCYdm9pZCBzdHJ1Y3R1cmVfYW5kX21lc3NhZ2UoaW50KeKAmToKCSAgZ3N0ZmFjZWRldGVjdC5jcHA6MTQzOjEzOiBlcnJvcjog4oCYcmVjdGFuZ2xlc+KAmSB3YXMgbm90IGRlY2xhcmVkIGluIHRoaXMgc2NvcGUKCSAgUmVjdCBzciA9IHJlY3RhbmdsZXNbMF07CgkgIFsuLi5dCgkgIGdzdGZhY2VkZXRlY3QuY3BwOiBJbiBmdW5jdGlvbiDigJh2b2lkCgkgIGdzdF9mYWNlX2RldGVjdF9ydW5fZGV0ZWN0b3IoR3N0RmFjZURldGVjdCosIGN2OjpDYXNjYWRlQ2xhc3NpZmllciosIGdpbnQsIGdpbnQsCgkgIGN2OjpSZWN0LCBzdGQ6OnZlY3Rvcjxjdjo6UmVjdF88aW50PiA+JinigJk6CgkgIGdzdGZhY2VkZXRlY3QuY3BwOjU2MjozMTogZXJyb3I6IG5vIG1hdGNoaW5nIGZ1bmN0aW9uIGZvciBjYWxsIHRvCgkgIOKAmGN2OjpNYXQ6Ok1hdChJcGxJbWFnZSomLCBjdjo6UmVjdCYp4oCZCgkgIE1hdCByb2kgKGZpbHRlci0+Y3ZHcmF5LCByKTsKCSAgWy4uLl0KCSAgZ3N0ZmFjZWRldGVjdC5jcHA6IEluIGZ1bmN0aW9uIOKAmEdzdEZsb3dSZXR1cm4KCSAgZ3N0X2ZhY2VfZGV0ZWN0X3RyYW5zZm9ybV9pcChHc3RPcGVuY3ZWaWRlb0ZpbHRlciosIEdzdEJ1ZmZlciosIElwbEltYWdlKinigJk6CgkgIGdzdGZhY2VkZXRlY3QuY3BwOjU5NDo0NDogZXJyb3I6IG5vIG1hdGNoaW5nIGZ1bmN0aW9uIGZvciBjYWxsIHRvCgkgIOKAmGN2OjpNYXQ6Ok1hdChjdjo6TWF0LCBib29sKeKAmQoJICBNYXQgbXR4T3JnIChjdjo6Y3ZhcnJUb01hdCAoaW1nKSwgZmFsc2UpOwoJICBbLi4uXQoJICBnc3RmYWNlZGV0ZWN0LmNwcDo3MzQ6Nzk6IGVycm9yOiDigJhlbGxpcHNl4oCZIHdhcyBub3QgZGVjbGFyZWQgaW4gdGhpcyBzY29wZQoJICBlbGxpcHNlIChtdHhPcmcsIGNlbnRlciwgYXhlcywgMCwgMCwgMzYwLCBTY2FsYXIgKGNyLCBjZywgY2IpLCAzLCA4LAoJICAwKTsKCjIwMTYtMDUtMTUgMTE6MjA6MjEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCByZW1vdmVkIGV4YW1wbGUgZGlyIHRvIENSVUZUX0RJUlMKCjIwMTYtMDUtMTUgMTM6MzM6NTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJICBkb2NzOiBVcGRhdGUgZm9yIGdpdCBtYXN0ZXIKCjIwMTYtMDMtMDQgMjI6MTA6NDcgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZGF1ZGlvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHVuYWxpZ25lZGF1ZGlvcGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcmF3cGFyc2UvdW5hbGlnbmVkYXVkaW8uaDoKCSAgcmF3cGFyc2U6IEFkZCB1bmFsaWduZWQgcmF3IGF1ZGlvIHBhcnNpbmcgdG8gYXVkaW9wYXJzZSBhbmQgYWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgaGVscHMgaW4gY2FzZXMgd2hlcmUgcmF3IGF1ZGlvIGRhdGEgaXMgYmVpbmcgZGVsaXZlcmVkLCBidXQgdGhlCgkgIGJ1ZmZlcnMgZG8gbm90IGNvbWUgaW4gc2FtcGxlIGFsaWduZWQgc2l6ZXMuIFRoZSBuZXcgdW5hbGlnbmVkYXVkaW9wYXJzZQoJICBiaW4gY2FuIGJlIGF1dG9wbHVnZ2VkIGFuZCBjb25maWd1cmVzIGFuIGludGVybmFsIGF1ZGlvcGFyc2UgZWxlbWVudCB0bwoJICBhbGlnbiB0aGUgZGF0YS4gYXVkaW9wYXJzZSBpdHNlbGYgZ2V0cyBzdXBwb3J0IGZvciBhdWRpby94LXVuYWxpZ25lZC1yYXcKCSAgaW5wdXQgY2FwczsgdGhlIG91dHB1dCBjYXBzIHRoZW4gY29udGFpbiB0aGUgc2FtZSBpbmZvcm1hdGlvbiwgZXhjZXB0IHRoYXQKCSAgdGhlIG5hbWUgaXMgY2hhbmdlZCB0byBhdWRpby94LXJhdyAoc2luY2UgYXVkaW9wYXJzZSBhbGlnbnMgdGhlIGRhdGEpLgoJICBUaGlzIGVuc3VyZXMgdGhhdCBzb3VwaHR0cHNyYyAhIGF1ZGlvcGFyc2Ugc3RpbGwgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk0NjAKCjIwMTYtMDUtMTUgMTM6MTQ6NDEgKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBkZW1vdGUgbm8gcGxhdGZvcm0gZGlzcGxheSBkZWJ1ZyB0byBpbmZvCgkgIEF2b2lkcyBjb25mdXNpbmcgZXZlcnlvbmUgd2l0aCBhIHdhcm5pbmcgdGhhdCdzIG5vdCBhbHdheXMgZmF0YWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY5MzMKCjIwMTYtMDUtMTUgMTI6MzE6MzggKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IHJlbW92ZSBub24tZXhpc3RlbnQgZGlyZWN0b3J5CgkgIFBhcnRpYWxseSByZXZlcnRzIGNkZjkxYzQ1NWQ0MDU3YTlkMjM0NzY2NTEwYmQyZThhNDRlMWVkMDUKCjIwMTYtMDUtMTUgMTk6MDU6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBIYW5kbGUgc3lzdGVtIGhlYWRlciB3aGVuIHNjYW5uaW5nIGZvciB0aW1lc3RhbXBzLgoJICBXaGVuIHNjYW5uaW5nIGZvciBTQ1IgLyBQVFMgLyBEVFMsIGhhbmRsZSB0aGUgY2FzZSB3aGVyZQoJICB0aGUgcGFjayBoZWFkZXIgaXMgZm9sbG93ZWQgYnkgdGhlIG9wdGlvbmFsIHN5c3RlbSBoZWFkZXIsCgkgIHNvIHdlIGNhbiBjb3JyZWN0bHkgY29sbGVjdCB0aW1lc3RhbXBzIGluIHN1Y2ggY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjM4NjAKCjIwMTYtMDUtMTUgMTk6MDQ6MjAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggYmFja3dhcmQgdGltZXN0YW1wIHNjYW4gb24gc21hbGwgZmlsZXMuCgkgIFdoZW4gdGhlIGZpbGUgc2l6ZSBpcyBzbWFsbGVyIHRoYW4gdGhlIGNvbmZpZ3VyZWQgNE1CIHNjYW4KCSAgbGltaXQgZm9yIHRpbWVzdGFtcHMsIGRvbid0IHVuZGVyZmxvdyB0aGUgZ3VhcmQgdmFyaWFibGUKCSAgd2hlbiBjaGVja2luZyBpZiBpdCdzIHRpbWUgdG8gc3RvcC4KCSAgTGltaXQgdGhlIGJhY2t3YXJkIFNDUiBzY2FuIHRvIHRoZSBzYW1lIDRNQiBhcyB0aGUgUFRTIHNjYW4uCgkgIEFkZCBzb21lIGNvbW1lbnRzLgoKMjAxNi0wNS0xMyAxMzoyNzozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogZG9uJ3QgZG8gYm9ndXMgYWRqdXN0bWVudHMgb24gc2VlayBpZiB3ZSBoYXZlIG5vIGZpcnN0X3B0cwoJICBGaXhlcyBib2d1cyBzZWdtZW50IGFuZCBnYXAgZXZlbnRzIHdpdGggc3RhcnQ9R1NUX0NMT0NLX1RJTUVfTk9ORSBpZgoJICB3ZSBmYWlsZWQgdG8gZmluZCBhIGZpcnN0X3B0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzg2MAoKMjAxNi0wNS0xNCAxNjo1OToxNCArMDMwMCAgQWxleC1QLiBOYXRzaW9zIDxkcmFrZXZyQDJmMzAub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBzaG1fb3BlbigpIGluIE9wZW5CU0QKCSAgSW4gT3BlbkJTRCB0aGVyZSBpcyBubyAiYWN0dWFsIiBsaWJydCB0aGF0IHByb2dyYW1zIGNhbiBsaW5rIHdpdGgsCgkgIGluc3RlYWQgdGhlIHN5c3RlbS9iYXNlIGxpYmMgcHJvdmlkZXMgdGhlIGZ1bmN0aW9ucyBvbmUgd291bGQKCSAgY3VzdG9tYXJpbHkgZmluZCB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjQ0MQoKMjAxNi0wNS0xNCAxNjozMjowNiArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogdXNlIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWV0YSBpZiBhdmFpbGFibGUgZG93bnN0cmVhbQoJICBXZSBjYW4gYXZvaWQgYSByZW5kZXIgcGFzcyBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWV0YQoJICBhbmQgaW5jcmVhc2UgdGhlIHBlcmZvcm1hbmNlIG9mIHNvbWUgcGlwZWxpbmVzIGludm9sdmluZyBnbHRyYW5zZm9ybWF0aW9uLgoJICBJbXBsZW1lbnRlZCBieSBjaGVja2luZyBmb3IgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBpbiB0aGUgYWxsb2NhdGlvbiBxdWVyeQoJICBmcm9tIGRvd25zdHJlYW0gYW5kIGNvbWJpbmluZyBvdXIgbWF0cml4IHdpdGggdGhhdCBvZiB1cHN0cmVhbSdzIChvciBjcmVhdGluZwoJICBvdXIgb3duKS4KCjIwMTYtMDUtMTQgMTY6Mjc6MjYgKzAzMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogdGFrZSB0aGUgYWZmaW5lIHRyYW5zZm9ybWF0aW9uIGluIE5EQwoJICBQcm92aWRlIGEgZnVuY3Rpb24gdG8gZ2V0IHRoZSBhZmZpbmUgbWF0cml4IGluIHRoZSBtZXRhIGluIHRlcm1zIG9mIE5EQwoJICBjb29yZGluYXRlcyBhbmQgdXNlIGFzIGEgc3RhbmRhcmQgb3BlbmdsIG1hdHJpeC4KCSAgQWxzbyBhZHZlcnRpc2Ugc3VwcG9ydCBmb3IgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtZXRhIGluIHRoZSBhbGxvY2F0aW9uCgkgIHF1ZXJ5LgoKMjAxNi0wNS0xNCAxNTo1MDo1NyArMDMwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5oOgoJICBnbGJhc2VtaXhlcjogYWN0dWFsbHkgYXR0ZW1wdCB0byBwcm9wb3NlIGFuIGFsbG9jYXRpb24gdXBzdHJlYW0KCSAgV2Ugd2VyZSBhbHdheXMgZmFpbGluZyB0aGUgYWxsb2NhdGlvbiBxdWVyeSBhcyBhIGZsYWcgd2FzIG5ldmVyIGJlaW5nIHNldCB0bwoJICBzaWduYWwgYSBzdWNjZXNzZnVsIG5lZ290aWF0aW9uLiAgRml4IGJ5IHNldHRpbmcgdGhlIHJlcXVpcmVkIGZsYWcgb24gYQoJICBzdWNjZXNzZnVsIGNhcHMgZXZlbnQgZnJvbSB1cHN0cmVhbS4KCjIwMTYtMDUtMTIgMTA6NTI6MDYgLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L2x2Mi9nc3RsdjJzb3VyY2UuYzoKCSAgbHYyOiBhZGQgYSBzb3VyY2UgcGx1Z2luCgkgIFVwZGF0ZSB0aGUgcmVhZG1lIHdpdGggYSB3b3JraW5nIGV4YW1wbGUgYW5kIGxpc3Qgd2hhdCBmZWF0dXJlIGFyZSBzdXBwb3J0ZWQuCgoyMDE2LTA1LTExIDIzOjEyOjA3IC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGFkZCBzdXBwb3J0IGZvciBob3N0IGZlYXR1cmVzCgkgIEltcGxlbWVudCBhIGxvZyBoYW5kbGVyIGFzIHRoZSBmaXJzdCBvbmUuCgoyMDE2LTA1LTEzIDE1OjI0OjM1ICswMzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGNoZWNrIHRoZSBlcnJvciBvZiB0aGUgcHJlc2VudGF0aW9uIGZvciBvdXQgb2YgZGF0ZQoJICBhbGxvd3MgdXMgdG8gcmVzaXplIHRoZSBzd2FwY2hhaW4gY29ycmVjdGx5LgoKMjAxNi0wNS0xMiAxOTo0NDoyNiArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXM6IHVwc3RyZWFtX2xpdmUgYW5kIHF1ZXJpZWRfbGF0ZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MzQzCgoyMDE2LTA1LTExIDE1OjQ1OjQ3IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGltcHJvdmUgZGVidWcgb3V0cHV0IGZyb20gX29wZW5fZnJvbnRlbmQoKQoJICAqIENsYXJpZnkgbWVzc2FnZSBvbiBkZWxzeXMgaW5mbyBnYXRoZXJpbmcKCSAgKiBDb21iaW5lIHJlZHVuZGFudCBJTkZPL0RFQlVHIHBhaXIKCjIwMTYtMDUtMTEgMTU6MjY6MjQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGludmFsaWQgZGVyZWZlcmVuY2Ugb2YgZGVsc3lzIGRhdGEKCSAgVXNlIEdQT0lOVEVSX1RPX0lOVCB0byByZWFkIEdJTlRfVE9fUE9JTlRFUiBzdG9yZWQKCSAgZGF0YS4KCjIwMTYtMDUtMTEgMjM6NDg6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWNhdWRpb2RlYzogU2V0IGxheW91dD1pbnRlcmxlYXZlZCBpbiByYXcgYXVkaW8gY2FwcwoJICBPdGhlcndpc2UgdGhlIEdBUCBldmVudCBmYWxsYmFjayBuZWdvdGlhdGlvbiB3aWxsIGZhaWwgdG8gcHJvZHVjZSBjb21wbGV0ZQoJICBzcmNwYWQgY2FwcywgYW5kIHRodXMgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjI4OQoKMjAxNi0wNS0xMSAxNjo0MjozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogRml4IHByZXZpb3VzIGNvbW1pdAoJICBUaGUgZnJhbWVzIHF1ZXVlIG1pZ2h0IHJldHVybiBub3RoaW5nIChiZSBlbXB0eSkgaWYgd2UncmUgZmx1c2hpbmcuCgkgIE1vdmUgdGhlIGFzc2VydGlvbiB0byBhZnRlciB0aGUgZmx1c2hpbmcgY2hlY2sKCjIwMTYtMDUtMTAgMjI6MDQ6NDggLTA3MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHNraXAgcGx1Z2lucyB0aGF0IG5lZWQgaG9zdCBmZWF0dXJlcwoJICBXZSBoYXZlbid0IGltcGxlbWVudGVkIHRoaXMgeWV0IGFuZCB0aG9zZSBwbHVnaW4gd291bGQgZmFpbCB3aGVuIHdlIGluc3RhbnRpYXRlCgkgIHRoZW0uCgoyMDE2LTA1LTEwIDIxOjExOjQxIC0wNzAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJ1dGlscy5jOgoJICBsdjI6IGFkZCBjbGFzc2lmaWNhdGlvbiBmcm9tIG1ldGFkYXRhCgkgIFRoaXMgaGVscHMgYXBwcyB0byBzdHJ1Y3R1cmUgdGhlIGVsZW1lbnQgY29sbGVjdGlvbi4KCjIwMTYtMDQtMDggMDc6NTM6NDQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2MmZpbHRlci5jOgoJKiBleHQvbHYyL2dzdGx2MnV0aWxzLmM6CgkqIGV4dC9sdjIvZ3N0bHYydXRpbHMuaDoKCSAgbHYyOiBleHRyYWN0IGhlbHBlciBjb2RlIGludG8gbHYydXRpbHMKCSAgVGhpcyBpcyBhIHByZXBhcmF0b24gZm9yIGFkZGluZyBsdjItc291cmNlcyBhbmQgLXNpbmtzLgoKMjAxNi0wNS0xMCAxMjoyNDowMyAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc291cmNlLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSAgbGFkc3BhOiBjb2RlIGNsZWFudXAKCSAgV2hpdGVzcGFjZSBjbGVhbnVwIGFuZCB1bmlmeSBjb2RlaW5nIHN0eWxlLgoKMjAxNi0wNS0xMCAxMjoyMjowNCAtMDcwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSAgbGFkc3BhOiBzaW1wbGlmeSB0aGUgY29kZQoJICBSZW1vdmUgYSBsb2NhbCB2YXIgYW5kIGp1c3QgdXNlIHRoZSBwYXJhbWV0ZXIgdmFsdWUuCgoyMDE2LTA1LTEwIDE4OjE0OjM2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCBjb3JlX3ZpZGVvX21ldGEgaW5pdCByZWdpc3RyYXRpb24KCjIwMTYtMDUtMTAgMTY6NDY6NDMgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IElnbm9yZSB0ZXN0cy9leGFtcGxlcy9nbC9ndGsgZ2VuZXJhdGVkIGZpbGVzCgkgIEFuZCBhbm90aGVyIHRlc3QgYmluYXJ5LgoKMjAxNi0wNS0xMCAxNjoyNDowOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuaDoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogUG9ydCB0byAyLjEgYW5kIHJlcXVpcmUgYSBwa2ctY29uZmlnIGZpbGUgZm9yIDIuMCBhbmQgMi4xCgkgIFRoZSBwb3J0IHdhcyB0cml2aWFsLCBhbmQgYWNjb3JkaW5nIHRvIHRoZSBORVdTIGZpbGUgbm90aGluZyBlbHNlIGhhcyBjaGFuZ2VkLAoJICBidXQgaXQgaXMgcG9zc2libGUgdGhhdCBvdGhlciBBUEkgd2FzIGNoYW5nZWQgd2l0aG91dCBwcm9wZXIgbm90aWZpY2F0aW9uLgoJICBPcGVuSlBFRyB1cHN0cmVhbSBoYXMgc2hpcHBlZCBhIHBrZy1jb25maWcgZmlsZSBmb3IgdGhlIHBhc3QgNCB5ZWFycywgYW5kIGFsbAoJICBkaXN0cm9zIHNob3VsZCBiZSBzaGlwcGluZyBpdCBieSBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjYyMTMKCjIwMTYtMDUtMTAgMDk6NDA6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGZpeCB1c2UtYWZ0ZXItZnJlZSBpbiBlcnJvciBjb2RlIHBhdGgKCjIwMTYtMDUtMTAgMDk6Mzg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVja3MgZm9yIG5vbi1OVUxMIGZyYW1lCgkgIFdlIGNhbid0IGdldCBhIE5VTEwgZnJhbWUgaGVyZS4KCSAgQ0lEIDEzNTk5MjMKCjIwMTYtMDUtMDkgMTU6MjM6MzIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWJvcnQgYXQgb3BlbiBmcm9udGVuZCBmYWlsdXJlCgoyMDE2LTA1LTA5IDEyOjUwOjQ3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IFNoaXAgYWxsIGhlYWRlcnMgaW4gdGFyYmFsbHMKCSAgU29tZSB3ZXJlIG1pc3NpbmcgZnJvbSBub2luc3RfSEVBREVSUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NjE2MwoKMjAxNi0wNS0wNCAxNjozMjoxOSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBzbWFydGVuLXVwIGRlbHN5cyBhdXRvZGV0ZWN0aW9uIGxvZ2ljCgkgIFdoZW4gdGhlcmUncyBubyBleHBsaWNpdCBkZWxpdmVyeSBzeXN0ZW0gaW5mb3JtYXRpb24KCSAgZm9yIGEgY2hhbm5lbCBpbiB0aGUgY2hhbm5lbCBjb25maWd1cmF0aW9uIGZpbGUgYW5kCgkgIHRoZSB1c2VyIGhhc24ndCBzZWxlY3RlZCBvbmUgdmlhIHNldHRpbmcgdGhlIGRlbHN5cwoJICBwcm9wZXJ0eSwgd2UgKmd1ZXNzZWQqIGl0IGJ5IHNlbGVjdGluZyB0aGUgbGFzdAoJICBzdXBwb3J0ZWQgZGVsc3lzIHJlcG9ydGVkIGJ5IHRoZSBkcml2ZXIuIFRoaXMgY2hhbmdlCgkgIHByb3ZpZGVzIHRoZSBiYXNpcyBmb3Igc21hcnRlciBkZWxzeXMgYXV0byBkZXRlY3Rpb24KCSAgYW5kIGltcGxlbWVudHMgYSBydWxlIGZvciBEVkItVDIuIFJ1bGVzIGZvciBvdGhlcgoJICBkZWxpdmVyeSBzeXN0ZW1zIGNhbiBiZSBhZGRlZCBpbiBfZ3Vlc3NfZGVsc3lzKCkgaW4KCSAgYSBzaW1pbGFyIHdheS4KCSAgQWRkaXRpb25hbGx5OiBTdG9yZSBsaXN0IG9mIGFkYXB0ZXItc3VwcG9ydGVkCgkgIGRlbGl2ZXJ5IHN5c3RlbXMgaW5zdGVhZCBvZiBxdWVyeWluZyB0aGUgZHJpdmVyIGVhY2gKCSAgdGltZSB0aGlzIGluZm9ybWF0aW9uIGlzIG5lZWRlZC4KCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTczMQoKMjAxNi0wNS0wMyAxNTowMDo1NSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZW1vdmUgcmVtYWluaW5nIHBvbGxpbmcgbG9naWMgZnJvbSBfdHVuZV9mZSgpCgkgIE5vIG5lZWQgdG8gZG8gYW55IHBvbGxpbmcgaGVyZS4KCjIwMTYtMDUtMDYgMTA6NTE6MzkgKzAyMDAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zIDxjZ2FyY2lhQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFRha2UgdGhlIG93bmVyc2hpcCBvZiB0aGUgc3JjIGVsZW1lbnQKCSAgVGhlIFVSSSBkb3dubG9hZGVyIGlzIGNyZWF0aW5nIHRoZSBzb3VyY2UgZWxlbWVudCB3aXRoCgkgIGdzdF9lbGVtZW50X2ZhY3RvcnlfbWFrZSgpIHRoYXQgcmV0dXJucyBhIGZsb2F0aW5nIHJlZmVyZW5jZSB0aGF0IG5vYm9keQoJICBpcyBjb25zdW1pbmcuIFRoaXMgaXMgY2F1c2luZyBwcm9ibGVtcyBpbiBXZWJLaXQsIHdoZXJlIHRoZSBzbWFydAoJICBwb2ludGVycyB1c2VkIHRvIHRha2UgcmVmZXJlbmNlcyBvZiB0aGUgc291cmNlIGVsbWVudCBnZXQgY29uZnVzZWQgYW5kCgkgIGVuZCB1cCBjb25zdW1pbmcgdGhlIGZsb2F0aW5nIHJlZmVyZW5jZSBhbmQgdGhlbiByZWxlYXNpbmcgdGhlIGVsZW1lbnQsCgkgIHdoaWNoIHVzdWFsbHkgY3Jhc2hlcyBiZWNhdXNlIHRoZSBVUkkgZG93bmxvYWRlciBzdGlsbCB0cmllcyB0byB1c2UgaXRzCgkgIHNyYyBlbGVtZW50LiBTZWUgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0NDA0MC4KCSAgVGhpcyBjb21taXQgYWRkcyB0d28gaGVscGVyIGZ1bmN0aW9ucyB0byBlbnN1cmUgYW5kIGRlc3Ryb3kgdGhlIHNvdXJjZQoJICBlbGVtZW50LCB0byBtYWtlIHRoZSBjb2RlIHNpbXBsZXIgYW5kIGxlc3MgZXJyb3IgcHJvbmUuIFRoZSBlbnN1cmUKCSAgbWV0aG9kIHRha2VzIGNhcmUgb2YgY2hlY2tpbmcgaWYgd2UgY2FuIHJldXNlIHRoZSBleGlzdGluZyBvbmUgb3Igd2UKCSAgbmVlZCB0byBjcmVhdGUgYSBuZXcgb25lLCB0YWtpbmcgYWx3YXlzIGl0cyBvd25lcnNoaXAuIFRoZSBkZXN0cm95CgkgIG1ldGhvZCBzaW1wbHkgYXZvaWRzIGR1cGxpY2F0ZWQgY29kZSB0byBzZXQgdGhlIHNvdXJjZSB0byBOVUxMIHN0YXRlIGFuZAoJICB0aGVuIHVucmVmIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY2MDUzCgoyMDE2LTA0LTI5IDEyOjMxOjAxICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCB0aHJlYWRpbmcgaXNzdWVzIGluIGdzdF9hZGFwdGl2ZV9kZW11eF93YWl0X3VudGlsIGZ1bmN0aW9uCgkgIFRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfd2FpdF91bnRpbCgpIGZ1bmN0aW9uIGNhbiBiZSB3b2tlbiB1cCBlaXRoZXIKCSAgYnkgaXRzIGVuZF90aW1lIGJlaW5nIHJlYWNoZWQsIG9yIGZyb20gb3RoZXIgdGhyZWFkcyB0aGF0IHdhbnQgdG8KCSAgaW50ZXJydXB0IHRoZSB3YWl0aW5nIHRocmVhZC4KCSAgSWYgdGhlIHRocmVhZCBpcyBpbnRlcnJ1cHRlZCwgaXQgbmVlZHMgdG8gY2FuY2VsIGl0cyBhc3luYyBjbG9jayBjYWxsYmFjawoJICBieSB1bnNjaGVkdWxpbmcgdGhlIGNsb2NrIGNhbGxiYWNrLiBIb3dldmVyLCB0aGUgY2FsbGJhY2sgdGFzayBtaWdodCBhbHJlYWR5CgkgIGhhdmUgYmVlbiBhY3RpdmF0ZWQsIGJ1dCBpcyB3YWl0aW5nIGZvciB0aGUgbXV0ZXggdG8gYmVjb21lIGF2YWlsYWJsZS4gSW4gdGhpcwoJICBjYXNlLCB0aGUgY2FsbCB0byB1bnNjaGVkdWxlIGRvZXMgbm90IHN0b3AgdGhlIGNhbGxiYWNrIGZyb20gZXhlY3V0aW5nLgoJICBUaGUgc29sdXRpb24gdG8gdGhpcyBzZWNvbmQgaXNzdWUgaXMgdG8gdXNlIGEgcmVmZXJlbmNlIGNvdW50ZWQgb2JqZWN0IHRoYXQKCSAgaXMgZGVjcmVtZW50ZWQgYnkgYm90aCB0aGUgZ3N0X2FkYXB0aXZlX2RlbXV4X3dhaXRfdW50aWwoKSBmdW5jdGlvbiBhbmQgdGhlCgkgIGNhbGwgdG8gZ3N0X2Nsb2NrX2lkX3dhaXRfYXN5bmMgKCkuIEluIHRoaXMgd2F5LCB0aGUgR3N0QWRhcHRpdmVEZW11eFRpbWVyCgkgIG9iamVjdCBpcyBvbmx5IGRlbGV0ZWQgd2hlbiBib3RoIHRoZSBnc3RfYWRhcHRpdmVfZGVtdXhfd2FpdF91bnRpbCgpIGZ1bmN0aW9uCgkgIGFuZCB0aGUgYXN5bmMgY2FsbGJhY2sgYXJlIGZpbmlzaGVkIHdpdGggdGhlIG9iamVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTcyOAoKMjAxNi0wMy0wMyAxNTo1MDo0OSArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWlkYTogcmVwbGFjZSB3aXRoIG5ldyBzdXJmYWNldGV4dHVyZSBmb3IgYWhjc3JjCgkgIEdzdEFtY1N1cmZhY2VUZXh0dXJlIGlzIG1vcmUgY2xlYXIgYW5kIHNpbXBsZSB0aGFuIEdzdEFHU3VyZmFjZVRleHR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOTkKCjIwMTYtMDUtMDUgMjM6NTM6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkgIHZ1bGthbi9idWlsZDogYWRkIHRoZSBidWlsZCBkaXJlY3RvcnkgdG8gdGhlIGxpc3Qgb2YgaW5jbHVkZXMKCSAgRml4ZXMgb3V0IG9mIHRyZWUgYnVpbGRzIGZyb20gdGFyYmFsbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ3NTgKCjIwMTYtMDUtMDUgMjM6MTg6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogZml4IHVwIGRpc3BsYXkgc3luY2hyb25pemF0aW9uCgkgIFVzZSB0aGUgc2VtYXBob3JlcyBpbiB0aGUgY29ycmVjdCBwbGFjZSwgYmVmb3JlIGFuZCBhZnRlciB0aGUgc3VibWlzc2lvbiBmb3IKCSAgYWNxdWlyaW5nIGFuZCBwcmVzZW50aW5nIHRoZSBzd2FwY2hhaW4gYnVmZmVyLgoJICBXYWl0aW5nIG9uIHRoZSBmZW5jZSB0aGF0IG9ubHkgc2lnbmFscyB0aGUgY29tbWFuZCBidWZmZXIgY29tcGxldGlvbiByYXRoZXIgdGhhbgoJICB0aGUgY29tcGxldGlvbiBvZiB0aGUgcHJlc2VudGF0aW9uIGlzIHJhY3kgd2l0aCB0aGUgZGVzdHJ1Y3Rpb24gb2YgdGhlIHZ1bGthbgoJICBidWZmZXJzIGFzc29jaWF0ZWQgd2l0aCB0aGF0IGltYWdlLiAgV2FpdCBvbiB0aGUgZGV2aWNlIHRvIGJlIGlkbGUgaW5zdGVhZCBhZnRlcgoJICBwcmVzZW50aW5nLgoKMjAxNi0wNS0wNSAxODowMDoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiB1c2UgZ3N0X3ZpZGVvX3NpbmtfY2VudGVyX3JlY3QgZm9yIHBvc2l0aW9uaW5nIHRoZSB2aWRlbwoJICBEb24ndCB0cnkgdG8gcmVpbXBsZW1lbnQgaXQgYmFkbHkuCgoyMDE2LTA1LTA1IDEwOjQ0OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggZGVzY3JpcHRpb24KCjIwMTYtMDUtMDUgMTA6NDE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJICB2aWRlb2RpZmY6IGZpeCBzdXBwb3J0ZWQgZm9ybWF0cyBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDE2LTA1LTA1IDEwOjQwOjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2RpZmYuaDoKCSAgdmlkZW9kaWZmOiBmaWxsIGluIEZJWE1FIG1ldGFkYXRhIGFuZCBkb2NzIHdpdGggZGVzY3JpcHRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTk4OQoKMjAxNi0wNS0wNCAxMjoxNzo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xtZW1vcnllZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2VnbDogcmVwbGFjZSBnc3RlZ2xpbWFnZW1lbW9yeSB3aXRoIGFuIEVHTEltYWdlIHdyYXBwZXIKCSAgVGhhdCBjYW4gYmUgcGFzc2VkIHRvIEdzdEdMTWVtb3J5RUdMLgoJICBUaGlzIGFsc28gcG9ydHMgdGhlIGRtYWJ1ZiB1cGxvYWRlciB0byBHc3RFR0xJbWFnZSBhbmQgR3N0R0xNZW1vcnlFR0wuCgoyMDE2LTAxLTIxIDIyOjE4OjE3ICswOTAwICBHd2FuZyBZb29uIEh3YW5nIDx5b29uQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbG1lbW9yeWVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsbWVtb3J5ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IGltcGxlbWVudCBHc3RHTE1lbW9yeUVHTAoJICBCZWNhdXNlIGN1cnJlbnQgR3N0RUdMSW1hZ2VNZW1vcnkgZG9lcyBub3QgaW5oZXJpdCBHc3RHTE1lbW9yeSwgR0xVcGxvYWQKCSAgYWxsb2NhdGVzIGFkZGl0aW9uYWwgR0xNZW1vcnkgYW5kIHVwbG9hZCB0aGUgZGVjb2RlZCBjb250ZW50cyBmcm9tIHRoZSBkZWNvZGVyCgkgIHdoaWNoIHVzZXMgRUdMSW1hZ2UgKGUuZy4gZ3N0LW9teCBpbiBSUGkpLgoJICBUaGlzIHdvcmsgYWRkcyBHc3RHTE1lbW9yeUVHTCB0byBhdm9pZCB0aGlzIG92ZXJoZWFkLiBEZWNvZGVycyBhbGxvY2F0ZQoJICBHc3RHTE1lbW9yeUVHTCBhbmQgZGVjb2RlIGl0cyBjb250ZW50cyB0byB0aGUgRUdMSW1hZ2Ugb2YgR3N0R0xNZW1vcnlFR0wuICBBbmQKCSAgR0xVcGxvYWQgdXNlcyB0aGlzIG1lbW9yeSB3aXRob3V0IGFsbG9jYXRpb24gb2YgYWRkaXRpb25hbCB0ZXh0dXJlcyBhbmQgYmxpdAoJICBvcGVyYXRpb25zLgoJICBbTWF0dGhldyBXYXRlcnNdOiBnc3QtaW5kZW50IHRoZSBzb3VyY2VzIGFuZCBmaXggYSBjcml0aWNhbCByZXRyZWl2aW5nIHRoZSBlZ2wKCSAgZGlzcGxheSBmcm9tIHRoZSBtZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA5MTYKCjIwMTYtMDUtMDQgMDE6MTY6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2xtZW1vcnk6IGFkZCB3cmFwcGVkIGRhdGEgcG9pbnRlcnMgdG8gc2V0dXBfYnVmZmVyCgkgIEFsbG93cyBjcmVhdGluZyB3cmFwcGVkIG1lbW9yaWVzIHdpdGggR3N0R0xBbGxvY2F0aW9uUGFyYW1zLgoJICBUaGUgd3JhcHBlZCBwb2ludGVycyB3aWxsIGJlIHNldCBpbiB0aGUgcGFyYW1ldGVycyBiZWZvcmUgYmVpbmcgcGFzc2VkCgkgIHRvIHRoZSBtZW1vcnkgYWxsb2NhdGlvbiBmdW5jdGlvbi4KCjIwMTYtMDUtMDQgMDA6MTk6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbGJhc2VtZW1vcnk6IHRha2UgYSBwb2ludGVyIGFzIHRoZSB3cmFwcGVkIGdwdSBoYW5kbGUKCSAgQWxsb3dzIHBhc3NpbmcgYXJiaXRyYXJ5IGRhdGEgdG8gd3JhcCB0aGUgdGhlIHNwZWNpZmljIG1lbW9yeSBpbXBsZW1lbnRhdGlvbgoJICB3aGljaCBpcyByZXF1aXJlZCBmb3Igc29tZSBtZW1vcnkgaW1wbGVtZW50YXRpb25zLgoKMjAxNi0wNS0wNCAxMTozMDoxMSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogb3V0cHV0IHN5c21lbSBieSBkZWZhdWx0CgoyMDE2LTA1LTAyIDExOjMwOjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDb252ZXJ0IFdpbmRvd3Mgc3RyaW5ncyB0byBVVEY4IGJlZm9yZSBjb21wYXJpbmcgYWdhaW5zdCBVVEY4IHN0cmluZ3MKCSAgVGhlIGRldmljZSBuYW1lIGFuZCBkZXNjcmlwdGlvbnMgcmV0dXJuZWQgYXJlIGluIHRoZSBsb2NhbGUgZW5jb2RpbmcsIG5vdAoJICBVVEY4LiBPdXIgZGV2aWNlIG5hbWUgcHJvcGVydHkgaXMgaW4gVVRGOCB0aG91Z2gsIHNvIHdlIG5lZWQgdG8gY29udmVydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk0OAoKMjAxNi0wNS0wMyAxMToxMToyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogU2V0IGJsZW5kIGZ1bmN0aW9ucyBpbiA6Om5lZ290aWF0ZWRfY2FwcygpIGluc3RlYWQgb2YgOjpmaXhhdGVfY2FwcygpCgkgIFRoZSBsYXR0ZXIgc2hvdWxkIG5vdCBjaGFuZ2UgYW55IHN0YXRlIGJ1dCBqdXN0IGZpeGF0ZSB0aGUgY2Fwcywgd2hpbGUgdGhlCgkgIGZvcm1lciBpcyBhbHdheXMgY2FsbGVkIHdoZW4gc3JjcGFkcyBjYXBzIGFyZSBkZWNpZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzI0CgoyMDE2LTA0LTIwIDE1OjExOjQ0ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggc3dhcHBlZCBuYW1lIGFuZCBuaWNrIGluIEdFbnVtVmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzgKCjIwMTYtMDQtMTQgMTg6MjY6MzMgKzAzMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgaW5pdGlhbCAxMGJpdCBzdXBwb3J0IGZvciBZVVYgbW9kZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3OAoKMjAxNi0wNS0wMyAxNTo1MjozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wNS0wMyAxOTo1ODowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IGZpeCBnbGVzMyBoZWFkZXIgdXNhZ2UgZm9yIG9sZGVyIHBsYXRmb3JtcwoJICBTb21lIHBsYXRmb3JtcyBwcm92aWRlIGFuIG9sZCB2ZXJzaW9uIG9mIEdMRVMyL2dsMi5oIGFuZCBHTEVTMi9nbDJleHQuaCB0aGF0CgkgIHdpbGwgZmFpbCB3aGVuIGluY2x1ZGluZyBHTEVTMy9nbDMuaCBkdWUgdG8gbWlzc2luZyB0eXBlZGVmJ3MuCgkgIFNlZW4gb24gdGhlIFJQaS4KCjIwMTYtMDQtMjkgMjM6MzI6MDMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYXZvaWQgcG9zc2libGUgcmFjZSBvbiBfb3V0cHV0X2Zyb250ZW5kX3N0YXRzKCkKCSAgTWFrZSBzdXJlIHdlIHNlbmQgb3V0IG91ciBpbmZvIG1lc3NhZ2UgYmVmb3JlIHdlIGdpdmUgdXAgb3duZXJzaGlwCgkgIG9mIHRoZSBzdHJ1Y3R1cmUuCgoyMDE2LTA0LTI5IDE0OjUzOjA2IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHZhciByZW5hbWUgaW4gX291dHB1dF9mcm9udGVuZF9wYXJhbXMoKQoJICBOb3cgaXQgbWF0Y2hlcyB0aGUgcmVzdCBvZiBpdHMgc3RhdHVzIHBlZXJzLiBVbmRlcnNjb3JlCgkgIHdhcyBhIGxlZnRvdmVyIGZyb20gcHJldmlvdXMgdGltZXMuCgoyMDE2LTA0LTI5IDE0OjQ1OjIyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFsd2F5cyBvdXRwdXQga25vd24gZnJvbnRlbmQgc3RhdHVzIHBhcmFtcwoJICBUaGUgb25seSBtYW5kYXRvcnkgZnJvbnRlbmQgaW5mb3JtYXRpb24gZm9yIG91ciB1c2UgY2FzZQoJICBpcyBpdHMgc3RhdHVzLiBNYWtlIHN1cmUgd2Ugb3V0cHV0IHdoYXQgd2Uga25vdyBpbnN0ZWFkCgkgIG9mIGNob2tpbmcgYXQgdGhlIGZpcnN0IGVycm9yIGdldHRpbmcgU05SLCBCRVIgb3IgYW55IG9mCgkgIHRoZSBvdGhlciBpbmZvcm1hdGlvbmFsIHBhcmFtZXRlcnMuCgoyMDE2LTA0LTI5IDEyOjA2OjUyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlZmFjdG9yIHNpZ25hbCBsb2NraW5nIGxvb3AKCSAgR2V0IHJpZCBvZiBwcmVsaW1pbmFyIGZyb250ZW5kIHN0YXR1cyBjaGVjay4KCjIwMTYtMDQtMjkgMTE6MTg6NTMgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCB1bm5lZWRlZCBwb2xsaW5nIHN0ZXAgb24gX3R1bmVfZmUoKQoJICBBZGRpdGlvbmFsIHdhaXRpbmcgd2FzIG5vdCBuZWVkZWQuIFNwZWNpYWxseSBjb25zaWRlcmluZwoJICBpdCBjYW1lIGFmdGVyIGEgc3VjY2Vzc2Z1bCBSRUFEX1NUQVRVUyBpb2N0bCBhbmQgd2FzCgkgIGZvbGxvd2VkIGJ5IGFuIEVJTlRSLXJlc2lsZW50IHJldHJ5LgoKMjAxNi0wNC0yOSAxNzoxOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IGVmZmVjdGl2ZWx5IGNoZWNrIGlmIHRoZXJlIGlzIGEgbGFuZ3VhZ2UKCSAgJ2xhbmd1YWdlJyBpcyBhbiBhcnJheSBhbmQgbm90IGEgcG9pbnRlci4KCSAgQ0lEIDEzNTg4MzUKCjIwMTYtMDQtMjkgMTM6NTQ6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJICBwbGF5ZXI6IEFkZCByZXF1aXJlZCBwYXRocyB2aWEgcGtnLWNvbmZpZyBmb3IgZ3N0cmVhbWVyLWJhc2UtMS4wIGFuZCBnc3RyZWFtZXItdmlkZW8tMS4wIGZvciBnb2JqZWN0LWludHJvc3BlY3Rpb24KCSAgVGhlIEdzdEJhc2UtMS4wLmdpciBhbmQgR3N0VmlkZW8tMS4wLmdpciBmaWxlcyBhcmUgcmVxdWlyZWQgYnkgR3N0UGxheWVyLgoJICBVbmluc3RhbGxlZCBidWlsZHMgZmFpbCBpZiB0aGVzZSBmaWxlcyBjYW5ub3QgYmUgZm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU4MDQKCjIwMTYtMDQtMDggMTY6NDc6MTUgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogZW5hYmxlIGdsZGVpbnRlcmxhY2Ugb24gT3BlbkdMIEVTCgkgIDEuUG9ydGluZyB0aGUgZXhpc3QgZGVpbnRlcmxhY2Ugc2hhZGVyIGFuZCBPcGVuR0wgY2FsbGJhY2sKCSAgdG8gYmUgY29tcGF0aWJsZSB3aXRoIE9wZW5HTCBFUy4KCSAgMi5BZGQgYSBvdXIgYmx1ciB2ZXJ0aWNhbCBzaGFkZXIgdG8gZ2xkZWludGVybGFjZS4KCSAgMy5BZGQgYSBwcm9wZXJ0eSBuYW1lZCDigJxtZXRob2TigJ0gdG8gbGV0IHVzZXIgY2hvb3NlIHdoaWNoCgkgIGRlaW50ZXJsYWNlIGZ1bmN0aW9uIHRvIHVzZS4gRGVmYXVsdCB0byBjaG9vc2UgYmx1ciB2ZXJ0aWNhbAoJICBtZXRob2QgZm9yIGJldHRlciBwZXJmb3JtYW5jZS4KCSAgW01hdHRoZXcgV2F0ZXJzXTogZml4IG5hbWUgb2YgZ3JlZWR5aCBpbiBtZXRob2QgcHJvcGVydHkgKHdhcyBncmVlZGh5KSBhbmQgcG9ydAoJICB0byBnaXQgbWFzdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0ODczCgoyMDE2LTA0LTI4IDE1OjE5OjE3ICswNTMwICBCYXJ1biBLdW1hciBTaW5naCA8YmFydW4uc2luZ2hAc2Ftc3VuZy5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBBZGQgYXVkaW8tdmlkZW8tb2Zmc2V0IHByb3BlcnR5IGFuZCBzZXR0ZXIvZ2V0dGVyIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MzE1CgoyMDE2LTA0LTE5IDE5OjQzOjAzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogUG9ydCBtb3JlIHRoaW5ncyB0byBHTEVTL0dMIDMgY29tcGF0aWJpbGl0eQoJICBBbmQgbW92ZSB0aGUgc2hhZGVyIG1hbmdsaW5nIGNvZGUgaW50byBhIHNpbmdsZSBwbGFjZSBpbnN0ZWFkIG9mIGhhdmluZyBhIGNvcHkKCSAgaW4gZ2xjb2xvcmNvbnZlcnQgYW5kIGdsdmlld2NvbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyNjYKCjIwMTYtMDQtMTkgMTk6Mjc6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEdMRVMzIGRlcHJlY2F0ZXMgdGV4dHVyZTJEKCkgYW5kIGl0IGRvZXMgbm90IHdvcmsgYXQgYWxsIGluIG5ld2VyIHZlcnNpb25zIHRoYW4gMy4zCgkgIFVzZSB0aGUgbmV3ZXIgdGV4dHVyZSgpIGZ1bmN0aW9uIGluc3RlYWQuIFRoaXMgZml4ZXMgZ2xpbWFnZXNpbmsgYW5kIG90aGVyCgkgIHRoaW5ncyBvbiB2YXJpb3VzIEFuZHJvaWQgZGV2aWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI2NgoKMjAxNi0wNC0xOSAxMDoyNzo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiB3cml0ZSBsYW5ndWFnZSBkZXNjcmlwdG9yIHdoZW4gbGFuZ3VhZ2UgaXMgYXZhaWxhYmxlCgkgIEFkZHMgYSBuZXcgZnVuY3Rpb24gdG8gbXBlZ3RzIGxpYiB0byBjcmVhdGUgYSBpc282MzkgbGFuZ3VhZ2UKCSAgZGVzY3JpcHRvciBmcm9tIGEgbGFuZ3VhZ2UgYW5kIHVzZSBpdCBpbiBtcGVndHNtdXggdG8gYWRkCgkgIGEgbGFuZ3VhZ2UgZGVzY3JpcHRvciB0byBhdWRpbyBzdHJlYW1zIHRoYXQgaGF2ZSBhIGxhbmd1YWdlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzY0NwoKMjAxNi0wNC0yNiAxNjo0ODo1OCArMDgwMCAgU29uZyBCaW5nIDxiaW5nLnNvbmdAbnhwLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIHB2cmJ1ZmZlcnBvb2w6IGZpeCBnc3RfbWV0YV9yZWdpc3RlcigpIHBhcmFtZXRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTU4MQoKMjAxNi0wNC0yMiAxMDoxNTozOSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDaGVjayBhbGwgcGFkcyBmb3IgZGF0YSB3aGVuIGxpdmUKCSAgV2hlbiBsaXZlLCB3ZSBzdGlsbCBuZWVkIHRvIGluc3BlY3QgYWxsIHBhZHMgcXVldWUgaW4gb3JkZXIgdG8gZGV0ZXJtaW4KCSAgaWYgd2UgaGF2ZSByZWNlaXZlZCB0aGUgZmlyc3QgYnVmZmVyIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTQzMQoKMjAxNi0wNC0xNSAxNjo1MToxNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbG9ja2luZyB3aGVuIHVzaW5nIHRoZSBjbG9jawoJICBUaGlzIGZpeGVzIGEgcmFjZSB3aGVyZSB3ZSBjaGVjayBpZiB0aGVyZSBpcyBhIGNsb2NrLCB0aGVuIGl0IGdldAoJICByZW1vdmVkIGFuZCB3ZSBlbmR1cCBjYWxsaW5nIGdzdF9jbG9ja19uZXdfc2luZ2xlX3Nob3RfaWQoKSB3aXRoIGEgTlVMTAoJICBwb2ludGVyIGluc3RlYWQgb2YgYSB2YWxpZCBjbG9jayBhbmQgYWxzbyBjYWxsaW5nIGdzdF9vYmplY3RfdW5yZWYoKQoJICB3aXRoIGEgTlVMTCBwb2ludGVyIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTQ4CgoyMDE2LTA0LTI1IDE2OjUwOjU1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBIMjY1IGxldmVsIGlkYyAwIGlzIG5vdCB2YWxpZAoJICBEb24ndCBwdXQgbGV2ZWw9MCBpbnRvIHRoZSBjYXBzLCBpdCBjb25mdXNlcyBvdGhlciBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTUzOAoKMjAxNi0wNC0yNSAxNjo1MDoxOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogSDI2NCBsZXZlbCBpZGMgMCBpcyBub3QgdmFsaWQKCSAgRG9uJ3QgcHV0IGxldmVsPTAgaW50byB0aGUgY2FwcywgaXQgY29uZnVzZXMgb3RoZXIgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjU1MzgKCjIwMTYtMDQtMjIgMTQ6NTE6MzEgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBmaXggRGlyZWN0U2hvdyBjYXBzIG5lZ290aWF0aW9uIGFuZCBzZXQgY2FwdHVyZSBwaW4gY2FwcwoJICBTb21lIGNhbWVyYXMgKElEUykgaGF2ZSBicm9rZW4gRGlyZWN0U2hvdyBkcml2ZXJzIHdoaWNoIGluY29ycmVjdGx5IGZpbGwgc29tZQoJICBmaWVsZHMgaW4gdGhlIFZJREVPSU5GT0hFQURFUiBzdHJ1Y3R1cmU7IGNvbXBhcmlzb24gYmV0d2VlbiBzdWdnZXN0ZWQgYW5kCgkgIHN1cHBvcnRlZCBtZWRpYSB0eXBlcyBpbiBDQmFzZVJlbmRlcmVyIHNob3VsZCBpZ25vcmUgZGVwcmVjYXRlZCBhbmQvb3Igbm90CgkgIGVzc2VudGlhbCBmaWVsZHM7IGFkZGl0aW9uYWx5IGV4cGxpY2l0ZWx5IHNldHRpbmcgdGhlIG1lZGlhdHlwZSBmb3IgdGhlIGNhcHR1cmUKCSAgcGluIGJlZm9yZSB0cnlpbmcgdG8gY29ubmVjdCBpdCB3b3JrcyBhcm91bmQgYW5vdGhlciBJRFMgZHJpdmVyIGJ1ZywgYW5kCgkgIHNob3VsZCBoYXZlIGJlZW4gYWxyZWFkeSBkb25lIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTQyOAoKMjAxNi0wNC0yMiAxNDo0ODo0MSArMDIwMCAgSmVyb21lIExhaGV1cnRlIDxqbGFoZXVydGVAcXVpdmlkaS5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBhZGQgc3VwcG9ydCBmb3IgUkdCMzIsIFJHQjU1NSwgUkdCNTY1IGFuZCBSR0I4IGNvbG9yIHNwYWNlcwoJICBTb21lIGNhbWVyYXMgKElEUykgb25seSBzdXBwb3J0IHRob3NlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc2NTQyNwoKMjAxNi0wNC0yMiAxNDo0NDo1NyArMDIwMCAgSmVyb21lIExhaGV1cnRlIDxqbGFoZXVydGVAcXVpdmlkaS5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL0NNYWtlTGlzdHMudHh0OgoJICBkc2hvd3NyY3dyYXBwZXI6IGZpeCBpbmNsdWRlIHBhdGggYW5kIGxpbmsgZXJyb3IKCSAgQWRkIGluY2x1ZGUgcGF0aCBzbyB0aGF0IHRoZSBjbWFrZS1nZW5lcmF0ZWQgcHJvamVjdAoJICBpcyBhYmxlIHRvIGZpbmQgZ3N0Y29uZmlnLmgKCSAgQWRkIC9TQUZFU0VIOk5PIHRvIE1TVkMgbGlua2VyIG9wdGlvbnMgc28gaXQgY2FuIGxpbmsgd2l0aAoJICBnc3RyZWFtZXIgbGlicmFyaWVzIG9uIFdpbmRvd3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzY1NDI2CgoyMDE2LTA0LTIyIDE1OjAyOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkgIHRlc3RzOiBhZGFwdGl2ZWRlbXV4OiBvbmx5IGNoZWNrIGZvciBkYXRhIGxlbmd0aCBhZnRlciBzZWVrCgkgIFdoZW4gdGhlIHRlc3QgaW52b2x2ZXMgZG9pbmcgYSBzZWVrLCBvbmx5IGNoZWNrIGZvciBkYXRhIHNpemUgYWZ0ZXIKCSAgdGhlIHNlZWsuIFRoZSBmaW5hbCBzZWdtZW50IHJhbmdlIGFmdGVyIHNlZWsgbWlnaHQgYmUgZGlmZmVyZW50L3NtYWxsZXIKCSAgdGhhbiB0aGUgdGhyZXNob2xkIGZvciBkb2luZyB0aGUgc2VlayBhbmQgZG9pbmcgdGhlIGNoZWNrIGJlZm9yZQoJICBzZWVraW5nIHdvdWxkIGZhaWwuCgoyMDE2LTAyLTE2IDE0OjI2OjU1ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogdXNlIG1hY3JvIHRvIGRlZmluZSBuYW1lcyBvZiByZXF1ZXN0IGFuZCByZXNwb25zZSBzdHJ1Y3RzCgkgIEZvbGxvd2luZyB0aGUgRG9uJ3QgUmVwZWF0IFlvdXJzZWxmIHByaW5jaXBsZSwgZGVmaW5lIG1hY3JvcwoJICBmb3IgdGhlIHN0cnVjdHVyZXMgdGhhdCBjb250YWluIHRoZSByZXF1ZXN0IGFuZCByZXNwb25zZSBoZWFkZXJzLAoJICBzbyB0aGF0IHRoZSBuYW1lIGlzIG5vdCByZXBlYXRlZCBpbiBtdWx0aXBsZSBwbGFjZXMgaW4gbXVsdGlwbGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjY6NDIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogaW1wcm92ZWQgY2hlY2tzIGZvciBleHBlY3RlZCBkYXRhCgkgIENoZWNrIHRoZSBzaXplIG9mIHJlY2VpdmVkIGRhdGEgZm9yIGVhY2ggYnVmZmVyIHJlY2VpdmVkIGJ5IEFwcFNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0NAoKMjAxNi0wMi0xNiAxMTozNzo0NCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgY29udGVudCBwcm90ZWN0aW9uIHRlc3QKCSAgVGVzdCBjb250ZW50IHByb3RlY3Rpb24KCSAgQ29uZmlndXJlIDMgY29udGVudCBwcm90ZWN0aW9uIHNvdXJjZXM6CgkgIC0gYSB1dWlkIHNjaGVtZS92YWx1ZSBwYWlyCgkgIC0gYSBub24gdXVpZCBzY2hlbWUvdmFsdWUgcGFpciAoZGFzaCByZWNvZ25pc2VzIG9ubHkgdXVpZCBzY2hlbWVzKQoJICAtIGEgY29tcGxleCB1dWlkIHNjaGVtZSwgd2l0aCB0cmFpbGluZyBzcGFjZXMgYW5kIGNhcGl0YWwgbGV0dGVycyBpbiBzY2hlbWUgdXJpCgkgIE9ubHkgdGhlIHV1aWQgc2NoZW1lIHNob3VsZCBiZSByZWNvZ25pc2VkLiBXZSBleHBlY3QgdG8gcmVjZWl2ZSAyIGNvbnRlbnQgcHJvdGVjdGlvbiBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA2NAoKMjAxNi0wNC0yMiAxNzowNDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHN0cmlwIGxlYWQvdHJhaWxpbmcgd2hpdGVzcGFjZSBmcm9tIGRlc2NyaXB0b3J0eXBlIGF0dHJpYnV0ZXMKCSAgVGhlIHNwZWMgc2F5cyBpdCBpcyB4czphbnlVUkkgYW5kIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHdoaXRlc3BhY2UKCSAgYXJlIHRvIGJlIGlnbm9yZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODA2NAoKMjAxNi0wMi0xNiAxNDoyNjowNSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIG1lZGlhIGRvd25sb2FkIGVycm9yIGZvciBpbiBzdHJlYW0gZnJhZ21lbnQKCSAgVGVzdGVkIGRvd25sb2FkIGVycm9yIGZvciBhIGZyYWdtZW50IHRoYXQgaXMgbm90IHRoZSBsYXN0IG1lZGlhIGZyYWdtZW50CgkgIGluIHRoZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjU6NDUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBkYXNoZGVtdXg6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBkb3dubG9hZCBlcnJvcnMgZHVyaW5nIGhlYWRlciBkb3dubG9hZAoJICBUZXN0IGhlYWRlciBkb3dubG9hZCBlcnJvci4KCSAgTGV0IHRoZSBhZGFwdGl2ZSBkZW11eCBkb3dubG9hZCBhIGZldyBieXRlcywgdGhlbiBpbnN0cnVjdCB0aGUKCSAgR3N0VGVzdEhUVFBTcmMgZWxlbWVudCB0byBnZW5lcmF0ZSBhbiBlcnJvciB3aGlsZSB0aGUgZnJhZ21lbnQgaGVhZGVyCgkgIGlzIHN0aWxsIGJlaW5nIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjU6MzIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IHJlZmFjdG9yIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IKCSAgUmVuYW1lZCB0ZXN0RnJhZ21lbnREb3dubG9hZEVycm9yIHRvIHRlc3RNZWRpYURvd25sb2FkRXJyb3JMYXN0RnJhZ21lbnQuCgkgIEFkZGVkIGdzdF9hZGFwdGl2ZV9kZW11eF90ZXN0X3VuZXhwZWN0ZWRfZW9zIGZ1bmN0aW9uLgoJICBSZW1vdmUgdW5uZWVkZWQgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvckNoZWNrU2l6ZU9mRGF0YVJlY2VpdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI1OjA0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogdGVzdGVkIGxhdGVuY3kgcXVlcnkKCSAgVXBkYXRlZCBxdWVyeSB0ZXN0IHRvIGFsc28gY2hlY2sgaWYgZGFzaCByZXNwb25kcyBjb3JyZWN0bHkgdG8gYSBsYXRlbmN5CgkgIHF1ZXJ5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI0OjQ5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogbW92ZWQgdGVzdFF1ZXJ5IGFmdGVyIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IKCSAgTW92ZWQgdGVzdFF1ZXJ5IGFmdGVyIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3Igc28gdGhhdCB0ZXN0RG93bmxvYWRFcnJvcgoJICBhbmQgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvciBhcmUgZ3JvdXBlZCB0b2dldGhlci4KCSAgVGhlIGNvbW1pdCBqdXN0IG1vdmVkIHRoZSB0ZXN0UXVlcnlDaGVja0RhdGFSZWNlaXZlZCBhbmQKCSAgR1NUX1NUQVJUX1RFU1QgKHRlc3RRdWVyeSkgZnVuY3Rpb25zIGJ1dCBnaXQgZ2V0cyBjb25mdXNlZCBpbiBtYXRjaGluZyB0aGUKCSAgbGluZXMgYW5kIHJlcG9ydHMgYSBsb3Qgb2YgY2hhbmdlcyBpbiB0aGUgcGF0Y2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDQKCjIwMTYtMDItMTYgMTQ6MjQ6MjYgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBjcmVhdGUgYSBHc3REYXNoRGVtdXhUZXN0Q2FzZSBjbGFzcwoJICBDcmVhdGUgYSBHc3REYXNoRGVtdXhUZXN0Q2FzZSBjbGFzcyB0aGF0IGV4dGVuZHMgZnJvbSBHc3RBZGFwdGl2ZURlbXV4VGVzdENhc2UuCgkgIFRoaXMgbmV3IGNsYXNzIHdpbGwgY29udGFpbiBhbGwgdGhlIERBU0ggc3BlY2lmaWMgZmllbGRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAyLTE2IDE0OjI0OjA5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgc3VwcG9ydCB0byBwYXNzIHZhcmlvdXMgcGFyYW1ldGVycyB0byBodHRwIHNyYyBjYWxsYmFja3MKCSAgQWRkZWQgc3VwcG9ydCB0byBwYXNzIHZhcmlvdXMgcGFyYW1ldGVycyB0byBodHRwIHNyYyBjYWxsYmFja3MgdXNpbmcgR3N0U3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ0CgoyMDE2LTAzLTAxIDE0OjU0OjAxIC0wODAwICBTY290dCBEIFBoaWxsaXBzIDxzY290dC5kLnBoaWxsaXBzQGludGVsLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBhZGQgImhhc2giIHByb3BlcnR5IGFuZCBhbGxvdyBtb3JlIGNoZWNrc3VtIHR5cGVzCgkgIE5vdyBhbnkgR0NoZWNrc3VtVHlwZSBjYW4gYmUgdXNlZCBieSBHc3RDaGVja3N1bVNpbmssIGFkZGluZwoJICBzdXBwb3J0IGZvciBNRDUsIFNIQS0yNTYgYW5kIFNIQS01MTIgaW4gYWRkaXRpb24gdG8gU0hBLTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwMDYKCjIwMTYtMDQtMjIgMDg6MjA6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IEZpeCBMREFERC9DRkxBR1MgZm9yIHBsYXllciB1bml0IHRlc3QKCSAgSXQgbm93IHJlcXVpcmVzIGxpYmdzdHZpZGVvCgoyMDE2LTAyLTE2IDE0OjQ0OjM5ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IHVzZSBhIEdzdFRlc3RDbG9jayBhcyB0aGUgc3lzdGVtIGNsb2NrCgkgIFRvIGFsbG93IHRoZSBhZGFwdGl2ZWRlbXV4IGxpdmUgc3RyZWFtIHRlc3RzIHRvIHJ1biBpbiBub24tcmVhbHRpbWUsIHVzZSBhCgkgIEdzdFRlc3RDbG9jayBhcyB0aGUgc3lzdGVtIGNsb2NrLiBUaGlzIGFsbG93cyB0aGUgdW5pdCB0ZXN0cyB0byBjb21wbGV0ZQoJICBtb3JlIHF1aWNrbHkgdGhhbiBpZiB0aGV5IGhhZCB0byBjb21wbGV0ZSBpbiByZWFsIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDcKCjIwMTYtMDItMTYgMTQ6NDQ6MjcgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB1c2UgcmVhbHRpbWVfY2xvY2sgZm9yIHdhaXRpbmcgZm9yIGEgY29uZGl0aW9uCgkgIFRoZXJlIGFyZSBzZXZlcmFsIHBsYWNlcyBpbiBhZGFwdGl2ZWRlbXV4IHdoZXJlIGl0IHdhaXRzIGZvcgoJICB0aW1lIHRvIHBhc3MsIGZvciBleGFtcGxlIHRvIHdhaXQgdW50aWwgaXQgc2hvdWxkIG5leHQgZG93bmxvYWQKCSAgYSBmcmFnbWVudC4gVGhlIHByb2JsZW0gd2l0aCB0aGlzIGFwcHJvYWNoIGlzIHRoYXQgaXQgbWVhbnMgdGhhdAoJICB1bml0IHRlc3RzIGFyZSBmb3JjZWQgdG8gZXhlY3V0ZSBpbiByZWFsdGltZS4KCSAgVGhpcyBjb21taXQgcmVwbGFjZXMgdGhlIHVzZSBvZiBnX2NvbmRfd2FpdF91bnRpbCgpIHdpdGggc2luZ2xlCgkgIHNob3QgR3N0Q2xvY2tJRCB0aGF0IHNpZ25hbHMgdGhlIGNvbmRpdGlvbiB2YXJpYWJsZS4gVW5kZXIgbm9ybWFsCgkgIHVzYWdlLCB0aGlzIGJlaGF2ZXMgZXhhY3RseSBhcyBiZWZvcmUuIEEgdW5pdCB0ZXN0IGNhbiByZXBsYWNlIHRoZQoJICBzeXN0ZW0gY2xvY2sgd2l0aCBhIEdzdFRlc3RDbG9jaywgYWxsb3dpbmcgdGhlIHRlc3QgdG8gY29udHJvbCB0aGUKCSAgdGltaW5nIGluIGFkYXB0aXZlZGVtdXguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDcKCjIwMTYtMDItMTYgMTQ6NDQ6MTAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiB1c2UgR3N0U3lzdGVtQ2xvY2sgdG8gYWxsIHJlYWwtdGltZSBjYWxjdWxhdGlvbnMKCSAgQSByZWFsdGltZSBjbG9jayBpcyB1c2VkIGluIG1hbnkgcGxhY2VzLCBzdWNoIGFzIGRlY2lkaW5nIHdoaWNoCgkgIGZyYWdtZW50IHRvIHNlbGVjdCBhdCBzdGFydCB1cCBhbmQgZGVjaWRpbmcgaG93IGxvbmcgdG8gc2xlZXAKCSAgYmVmb3JlIGEgZnJhZ21lbnQgYmVjb21lcyBhdmFpbGFibGUuIEZvciBleGFtcGxlIGRhc2hkZW11eCBuZWVkcwoJICBzYW1wbGUgdGhlIGNsaWVudCdzIGVzdGltYXRlIG9mIFVUQyB3aGVuIHNlbGVjdGluZyB3aGVyZSB0byBzdGFydAoJICBpbiBhIGxpdmUgREFTSCBzdHJlYW0uCgkgIFRoZSBwcm9ibGVtIHdpdGggZGFzaGRlbXV4IGNhbGN1bGF0aW5nIHRoZSBjbGllbnQncyBpZGVhIG9mIFVUQyBpcwoJICB0aGF0IGl0IG1ha2VzIGl0IGRpZmZpY3VsdCB0byBjcmVhdGUgdW5pdCB0ZXN0cywgYmVjYXVzZSB0aGUgcGFzc2FnZQoJICBvZiB0aW1lIGlzIGEgZmFjdG9yIGluIHRoZSB0ZXN0LgoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIGRhc2hkZW11eCBhbmQgYWRhcHRpdmVkZW11eCB0byB1c2UgdGhlCgkgIEdzdFN5c3RlbUNsb2NrLCBzbyB0aGF0IGEgdW5pdCB0ZXN0IGNhbiByZXBsYWNlIHRoZSBzeXN0ZW0gY2xvY2sgd2hlbgoJICBpdCBuZWVkcyB0byBiZSBhYmxlIHRvIGNvbnRyb2wgdGhlIGNsb2NrLgoJICBUaGlzIGNvbW1pdCBtYWtlcyBubyBjaGFuZ2UgdG8gdGhlIGJlaGF2aW91ciB1bmRlciBub3JtYWwgdXNhZ2UsIGFzCgkgIEdzdFN5c3RlbUNsb2NrIGlzIGJhc2VkIHVwb24gdGhlIHN5c3RlbSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQ3CgoyMDE2LTA0LTIxIDE0OjU4OjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHdpbjMyOiBBZGQgbmV3IEFQSSB0byAuZGVmIGZpbGUKCjIwMTYtMDQtMTkgMTA6NTk6NDYgKzA1MzAgIEJhcnVuIEt1bWFyIFNpbmdoIDxiYXJ1bi5zaW5naEBzYW1zdW5nLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGxheWVyLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci5wYy5pbjoKCSAgcGxheWVyOiBBZGQgc3VwcG9ydCBmb3IgbXVsdGl2aWV3IHNldHRpbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUzMDIKCjIwMTYtMDQtMjEgMTA6MDY6NDAgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogZml4IGJ1aWxkIGJyZWFrIG9uIGlPUwoJICBGaXggJ2NvbmZsaWN0aW5nIHR5cGVzJyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjkyCgoyMDE2LTA0LTIwIDE1OjM0OjU1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCB0ZXN0IGZvciBpbnZhbGlkIERWQi1UMiBiYW5kd2lkdGgKCjIwMTYtMDQtMjAgMTQ6NDc6MjIgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogd2FybiBvbiB3cm9uZyBEVkItVDIgc3RyZWFtIElEIHZhbHVlCgkgIFN0cmVhbSBJRCwgdXNlZCBmb3IgRFZCLVQyL1MyIGFuZCBJU0RCLVMgY2FuCgkgIG5vdCBleGNlZWQgMjU1IGZvciB0aGUgZm9ybWVyLiBDaGFuZ2UgbWFrZXMgdGhpcwoJICBleHBsaWNpdC4KCjIwMTYtMDQtMjAgMjE6MDc6MjggKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uQGlnYWxpYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiB2dGVuYzogRml4IGEgd2FybmluZyBieSB3ZWFrLWxpbmsgc3ltYm9sCgkgIEZpeCB0aGlzIHdhcm5pbmcKCSAgYWRkcmVzcyBvZiBmdW5jdGlvbiAnVlRDb21wcmVzc2lvblNlc3Npb25QcmVwYXJlVG9FbmNvZGVGcmFtZXMnIHdpbGwgYWx3YXlzIGV2YWx1YXRlIHRvICd0cnVlJyBbLVdwb2ludGVyLWJvb2wtY29udmVyc2lvbl0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI5MgoKMjAxNi0wNC0yMCAxNjoxOTo1NSArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBnbDogY2FvcGVuZ2xsYXllcnNpbms6IGZpeCBhIG1pbm9yIHdhcm5pbmcKCSAgRml4ICJ1bnVzZWQgdmFyaWFibGUiIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI5MgoKMjAxNi0wNC0yMCAxNjowMDozNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb25AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY29jb2E6IEZpeCBpbmNvbXBhdGlibGUgdHlwZSB3YXJuaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUyOTIKCjIwMTYtMDQtMTkgMTQ6NTc6MjIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGluY2x1ZGUgZGVwcmVjYXRlZCBhbmQgdW5hdmFpbGFibGUgZDNkeDl0ZXguaAoJICBJdCdzIG5vdCBuZWVkZWQsIG5vdCBvbiBuYXRpdmUgV2luZG93cyBub3Igd2l0aCBtaW5ndywgYW5kCgkgIHdlIGRvbid0IHVzZSBhbnl0aGluZyBmcm9tIGl0IGFueXdheQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MjUwCgoyMDE2LTA0LTE0IDEyOjQ2OjU4ICswMjAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJICBrbXNzaW5rOiBhZGQgc3luYyBzdXBwb3J0IGZvciBzZWNvbmRhcnkgcGlwZXMKCSAgVGhlIHZibGFuayBldmVudCByZXF1ZXN0IG11c3Qgc3BlY2lmeSB0aGUgY3J0YyBmb3Igd2hpY2ggdG8gcmVxdWVzdAoJICB0aGUgZXZlbnQuIFRoaXMgZml4ZXMga21zc2luayBzeW5jaHJvbmlzYXRpb24gZm9yIGNydGNzIG90aGVyIHRoYW4KCSAgdGhlIGZpcnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MDY0CgoyMDE2LTA0LTE5IDA5OjMwOjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXggaW5kZW50YXRpb24KCjIwMTYtMDQtMTkgMTA6NTE6MTQgKzA4MDAgIEhhaWh1YSBIdSA8amFyZWQuaHVAbnhwLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogbmVlZCB0byBjbGVhbiB3aW5kb3dfaWQgd2hlbiBzdGF0ZSBjaGFuZ2UgZm9ybSBSRUFEWSB0byBOVUxMCgkgIFdoZW4gYXBwbGljYXRpb24gY2hhbmdlIHBpcGVsaW5lIHN0YXRlIE5VTEwtPlJFQURZIGFuZCB0aGVuIFJFQURZLT5OVUxMLAoJICBnbGltYWdlc2luayB3aWxsIG5vdCBjbGVhciBnbHNpbmstPndpbmRvd19pZC4gQWZ0ZXIgdGhhdCwgd2hlbiBhcHBsaWNhdGlvbgoJICBjaGFuZ2Ugc3RhdGUgTlVMTC0+UkVBRFksIHRoZSBuZXdfd2luZG93X2lkIGlzIGVxdWFsIHRvIHdpbmRvd19pZCwgZ2xpbWFnZXNpbmsKCSAgd2lsbCBub3Qgc2V0IHdpbmRvdyBoYW5kbGUuIEl0IHdpbGwgdXNlIHRoZSBpbnRlcm5hbCB3aW5kb3cgYnV0IG5vdCB0aGUgd2luZG93CgkgIGNyZWF0ZSBieSBhcHBsaWNhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTI0MQoKMjAxNi0wNC0xOCAxMzo0Njo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHBsdWcgY2FwcyBsZWFrCgkgIEl0IHdhcyBsb3NpbmcgcmVmIG9mIHRoZSBvcmlnaW5hbCAncmV0JyBjYXBzIHRoYXQgd291bGQgYmUgcmV0dXJuZWQKCSAgb3IgcmV0dXJuaW5nIGl0IHdpdGggMiByZWZlcmVuY2VzIHRvIGl0LgoKMjAxNi0wMy0yOCAxNTo0NDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcHJvcGVybHkgaGFuZGxlIGludGVybGFjZS1tb2RlIHJlc3RyaWN0aW9ucwoJICB2aWRlb2FnZ3JlZ2F0b3IgY2FuJ3QgaGFuZGxlIGludGVybGFjZS1tb2RlIGNoYW5nZXMgc28gaXQgbXVzdAoJICBhbHdheXMgcmVzdHJpY3QgaXRzZWxmIHRvIHRoZSBmaXJzdCBpbnRlcmxhY2luZyBtb2RlIGl0IHJlY2VpdmVzLgoJICBUZXN0cyBpbmNsdWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDk1CgoyMDE2LTAxLTIyIDE2OjQ5OjU3ICswMDAwICBSYWZmYWVsZSBSb3NzaSA8cmFyb3NzaUBjaXNjby5jb20+CgoJKiBleHQvZHRscy9SRUFETUU6CgkgIGR0c2w6IGFkZCBzb21lIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk5NAoKMjAxNi0wNC0xNyAxNTo0NTo0MSArMDEwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2wvY2FvcGVuZ2xsYXllcnNpbms6IEFjdHVhbGx5IHVuc2V0IGNhcHNfY2hhbmdlIGZsYWcgYWZ0ZXIgcmVzaXplCgkgIE90aGVyd2lzZSwgdGhlIHNpbmsgd291bGQgZXhlY3V0ZSAib25fcmVzaXplIiBmb3IgZWFjaCBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NTE5NAoKMjAxNi0wNC0xNyAxNTo0MzoyMCArMDEwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2Nhb3BlbmdsbGF5ZXI6IEFwcGx5IGxheWVyLmNvbnRlbnRzU2NhbGUgdG8gdmlld3BvcnQgZGltcwoJICBGaXhlcyBibHVycnkgY29udGVudCBvbiBIaURQSSBzY3JlZW5zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUxOTQKCjIwMTYtMDQtMTYgMjI6MzM6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBSZW1vdmUgYW4gdW5uZWNlc3NhcnkgY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGdfZnJlZQoKMjAxNi0wNC0xNSAxMzoyMjo1MSAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIERyb3AgdXNhZ2Ugb2YgJ292ZXJsYXllZCcgdG8gbWVhbiAnb3ZlcmxhaWQnCgoyMDE2LTA0LTE1IDEzOjEwOjQxIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHNob3cgaW52YWxpZCBkZWxzeXMvbW9kIGNvbWJpbmF0aW9uIGlmIGZvdW5kCgoyMDE2LTA0LTE1IDExOjI5OjQ4IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtb2R1bGF0aW9uIGNoZWNrIGZvciBBVFNDCgoyMDE2LTA0LTExIDIzOjQ1OjIyIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvIG5vdCBhdXRvZGV0ZWN0IGRlbHN5cyB0d2ljZQoJICBUaGUgcHJvY2VzcyBpcyBkZWFsdCB3aXRoIHRoZSBmaXJzdCB0aW1lIHRoZSBhZGFwdGVyIGlzCgkgIG9wZW5lZCwgdGhlcmUgaXMgbm8gbmVlZCB0byBkbyB0aGlzIGFnYWluLgoKMjAxNi0wNC0xNCAyMjozMjowNSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFjb25jaGlsbG9AZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBhbHNvIGNoZWNrIGZvciAicm9jIiBpbiBjYXBzCgkgIEN1cnJlbnRseSwgZ3N0X3NydHBfZGVjX3Npbmtfc2V0Y2FwcyBpcyBoYXBweSBpZiB0aGUgInJvYyIgZmllbGQgaXMgbm90CgkgIHByb3ZpZGVkIGluIHRoZSBjYXBzLiBJZiBpdCBpcyBub3QgcHJvdmlkZWQgdGhlIHN0cmVhbSB3aWxsIGJlIHByb3Blcmx5CgkgIGluc2VydGVkIGluIHRoZSBoYXNoIHRhYmxlIHdpdGggYSBkZWZhdWx0ICJyb2MiLiBUaGVuLCB3aGVuIHRoZSBmaXJzdAoJICBidWZmZXIgYXJyaXZlcyB2YWxpZGF0ZV9idWZmZXIgd2lsbCBmaW5kIGFuIGV4aXN0aW5nIHN0cmVhbSBpbiB0aGUgaGFzaAoJICB0YWJsZSBhbmQgd2lsbCBub3Qgc2lnbmFsIHJlcXVlc3Qta2V5LCBub3QgYWxsb3dpbmcgdGhlIHVzZXIgdG8gcHJvdmlkZQoJICBhICJyb2MiLgoJICBUaGlzIHBhdGNoIGV4cGVjdHMgInJvYyIgaW4gZ3N0X3NydHBfZGVjX3Npbmtfc2V0Y2FwcywgaWYgbm90IGZvdW5kIGEKCSAgcmVxdWVzdC1rZXkgd2lsbCBiZSBzaWduYWxlZCBhbmQgdGhlIHVzZXIgd2lsbCBiZSBhYmxlIHRvIHByb3ZpZGUgYWxsCgkgIHRoZSBzcnRwIGZpZWxkcywgaW5jbHVkaW5nICJyb2MiLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY1MDc5CgoyMDE0LTA3LTI4IDEyOjE0OjAyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlbzogUGFyc2UgbW9yZSBzbGljZSBoZWFkZXIgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4NzIKCjIwMTQtMDctMjggMTE6MTc6MDUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBBZGQgdmJ2X2RlbGF5IGZpZWxkIHRvIFBpY3R1cmVIZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzg3MgoKMjAxNC0wNy0yOCAxMToxNDoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IEFkZCBtb3JlIGZpZWxkcyB0byB0aGUgR3N0TXBlZ1ZpZGVvU2VxdWVuY2VIZHIKCSAgQWRkZWQgdGhlIGZpZWxkcyBsb2FkX25vbl9pbnRyYV9xdWFudGlzZXJfbWF0cml4IGFuZAoJICBsb2FkX2Nocm9tYV9pbnRyYV9xdWFudGlzZXJfbWF0cml4IHRvIHRoZSBzZXF1ZW5jZSBoZWFkZXIgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODcyCgoyMDE2LTA0LTE0IDEwOjAyOjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2ZjJkMjA5IHRvIGFjMmY2NDcKCjIwMTYtMDQtMTMgMTg6MTI6MjUgKzAxMDAgIERhbWlhbiBaaW9icm8gPGRhbWlhbkB4bWVtZW50b2l0LmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZnJlZSBwYWRfZGF0YS0+bGFuZ3VhZ2UgYmVmb3JlIGdfc3RyZHVwIGluIG9yZGVyIHRvIGF2b2lkIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjUwMDUKCjIwMTYtMDQtMTMgMTM6MTA6MTIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogR3N0Q29yZVZpZGVvTWV0YSBpbiB0aGUgcGx1Z2luIHVzaW5nIG9ubHkgcHVibGljIEFQSSBoYXMgbm8gY3R4IG1lbWJlcgoKMjAxNi0wNC0xMyAxMzowOTowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJICBhcHBsZW1lZGlhOiBHc3RDb3JlTWVkaWFNZXRhIGluIHRoZSBwbHVnaW4gdXNpbmcgb25seSBwdWJsaWMgQVBJIGhhcyBubyBjdHggbWVtYmVyCgoyMDE2LTA0LTEzIDEwOjI1OjMyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBtZXRhOiBJbml0aWFsaXplIGFsbCByZW1haW5pbmcgbWV0YXMgaW4gdGhlaXIgaW5pdCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTAyCgoyMDE2LTA0LTEzIDEwOjE3OjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIG1ldGE6IEluaXRpYWxpemUgYWxsIEdzdE1ldGEgZmllbGRzCgkgIER1cmluZyBhbGxvY2F0aW9uIHRoZXkgYXJlIG5vdCBpbml0aWFsaXplZCB0byBhbGwgemVyb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0OTAyCgoyMDE2LTA0LTExIDIyOjA4OjAzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGF2b2lkIHJlZHVuZGFudCBkZWxzeXMgcXVlcnlpbmcKCSAgVGhlcmUgaXMgbm8gbmVlZCB0byBxdWVyeSB0aGUgZnJvbnRlbmQgZm9yIHRoZSBsaXN0CgkgIG9mIHN1cHBvcnRlZCBkZWxpdmVyeSBzeXN0ZW1zIGlmIHdlIGFyZSBzZWxlY3RpbmcKCSAgb25lIGZyb20gdGhlIGxpc3Qgb2YgYXV0b2RldGVjdGVkIG9uZXMuCgoyMDE2LTA0LTEwIDE4OjU4OjMzIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiL3BhcnNlY2hhbm5lbHM6IGFkZCBpbmZvcm1hdGlvbiB0byBmaWxlIG5vdCBmb3VuZCBlcnJvcgoJICBBZGRzIHVzZWZ1bCBmYWlsdXJlIGluZm8gKGxpa2UgZmlsZW5hbWUpIGNvbW1pbmcgZnJvbQoJICBnX2ZpbGVfZ2V0X2NvbnRlbnRzKCkgYXMgZG9uZSBmb3IgZXZlcnkgb3RoZXIgZXJyb3IgaW4KCSAgdGhpcyBibG9jay4KCjIwMTYtMDQtMTMgMDA6NDM6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2NvY29hL2VhZ2w6IGRvbid0IGxlYWsgR1RocmVhZCdzIHdoZW4gZGlzcGF0Y2hpbmcgbWVzc2FnZXMKCSAgZ3N0X2dsX2NvbnRleHRfZ2V0X3RocmVhZCgpIHJldHVybnMgYSByZWZlZCBwb2ludGVyLCB3ZSBuZWVkIHRvIHVucmVmIGl0LgoKMjAxNi0wNC0xMiAxMToxNDoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBkb24ndCBkZXJlZmVyZW5jZSBudWxsIHBvaW50ZXIKCSAgZnVuY3MgY2FuIGJlIE5VTEwsIGl0IGlzIG9uZSBvZiB0aGUgdHdvIGNvbmRpdGlvbnMgb2YgdGhlIE9SIHN0YXRlbWVudAoJICBhYm92ZSwgc28gY29uZmlybSBpdCBpc24ndCBiZWZvcmUgZGVyZWZlcmVuY2luZyB3aXRoIGZ1bmNzLT5mcmVlLgoJICBDSUQgMTM1ODM4OAoKMjAxNi0wNC0xMiAwNDoxNjo1NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXggd2hlbiBhcHBseWluZyBuZXcgUE1UIHdpdGggc2FtZSBwcm9ncmFtIG51bWJlcgoJICBXaGVuIHRoZSBzdWItY2xhc3MgaXMgZGVsYXlpbmcgZGVhY3RpdmF0aW9uIG9mIHRoZSBvbGQgcHJvZ3JhbSwKCSAgYnV0IGl0IGhhcyB0aGUgc2FtZSBwcm9ncmFtIG51bWJlciBhcyB0aGUgbmV3IHByb2dyYW0sIGRvbid0CgkgIG92ZXJ3cml0ZSB0aGUgb2xkIHByb2dyYW0gaW4gdGhlIGhhc2ggdGFibGUgYW5kIHRoZW4gc3RlYWwKCSAgdGhlIG5ldyBwcm9ncmFtIGJhY2sgb3V0IG9mIGl0LiBJbnN0ZWFkLCBhZGQgdGhlIG5ldyBwcm9ncmFtIHRvCgkgIHRoZSBoYXNoIHRhYmxlIGFmdGVyIGhhbmRsaW5nIHJlbW92YWwgb2YgdGhlIG9sZCBvbmUuCgoyMDE2LTA0LTA2IDA0OjE1OjQwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGtlZXAgdGhlIHBhcmVudCBidWZmZXIgYXJvdW5kIHdoZW4gY29udmVydGluZyBFR0xJbWFnZSB0byAyRCB0ZXh0dXJlcwoJICBlLmcuIHJlY2VpdmluZyBhbmQgcmVsZWFzaW5nIGEgYnVmZmVyIGZyb20gT01YIHRvbyBlYXJseSB3aWxsIHBvdGVudGlhbGx5CgkgIGNhdXNlIHRleHR1cmVzIHRvIGJlIG92ZXJ3cml0dGVuIHdoaWxlL2JlZm9yZSB0aGV5IGFyZSBkaXNwbGF5ZWQuCgoyMDE2LTA0LTExIDE2OjQzOjQ1ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSAgZ2xiYXNlbWl4ZXI6IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgaW1wbGVtZW50YXRpb24KCjIwMTYtMDQtMTEgMTg6MDY6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdnVsa2FuOiBwcmV0dGlmeSB0aGUgdmFyaW91cyB2ZXJzaW9ucyBpbiB0aGUgZGVidWcgb3V0cHV0CgkgIG91dHB1dCBodW1hbiByZWFkYWJsZSBudW1iZXJzLgoKMjAxNi0wNC0xMSAyMDoyMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBtaW5vciBjbGVhbi11cHMKCSAgUmVtb3ZlIHVudXNlZCBwcm9wZXJ0eSBnZXR0ZXJzLCBzZXR0ZXJzOyBvdXRkYXRlZCBjb21tZW50LgoKMjAxNi0wNC0xMSAyMDoxMTo1MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5oOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSAgb3BlbmgyNjQ6IHJlbW92ZSB1bm5lY2Vzc2FyeSBpbnN0YW5jZSBwcml2YXRlIHN0cnVjdHVyZXMKCSAgRWxlbWVudCBpbnN0YW5jZSBzdHJ1Y3R1cmVzIGFyZSBub3QgcHVibGljIEFQSSwgc28gbm8gbmVlZAoJICBmb3IgdGhlIGV4dHJhIGluZGlyZWN0aW9uIHRvIGhpZGUgdGhlIGRhdGEuCgoyMDE2LTA0LTExIDIwOjA0OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNi0wMi0xMiAxNDoyMToyNyArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSAga21zc2luazogZW5hYmxlIFVZVlksIFlVWTIsIGFuZCBZVllVIChpbnRlcmxlYXZlZCBZVVYgNDoyOjIpIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wMi0xMiAxNDoxNzozMiArMDEwMCAgUGhpbGlwcCBaYWJlbCA8cC56YWJlbEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSAga21zc2luazogZW5hYmxlIE5WMTYgKGNocm9tYS1pbnRlcmxlYXZlZCBZVVYgNDoyOjIpIGZvcm1hdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAyLTEyIDE0OjE3OjEzICswMTAwICBQaGlsaXBwIFphYmVsIDxwLnphYmVsQHBlbmd1dHJvbml4LmRlPgoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5jOgoJICBrbXNzaW5rOiBlbmFibGUgWTQyQiAocGxhbmFyIFlVViA0OjI6MikgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDMtMDQgMTY6NTM6NTggKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJICBrbXNzaW5rOiBrZWVwIGxhc3QgcmVuZGVyZWQgYnVmZmVyIGluIG1lbW9yeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAyLTIwIDIzOjEzOjU0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy9rbXMvZ3N0a21zc2luay5jOgoJKiBzeXMva21zL2dzdGttc3NpbmsuaDoKCSAga21zc2luazogd2FpdCBmb3IgcGFnZSBmbGlwIG9yIHZibGFuawoJICBUaGlzIHBhdGNoIHJlcXVlc3RzIGZvciBkcm1Nb2RlUGFnZUZsaXAoKSBmb3IgdGhlIHVzZWQgQ1JUQywgaWYgdGhlIGtlcm5lbAoJICBtb2R1bGUgc3VwcHBvcnRzIGFzeW5jIHBhZ2UgZmxpcC4gSWYgaXQgZG9lcyBub3QsIHRoZSBlbGVtZW50IHJlcXVlc3RzIGZvciBhCgkgIHZibGFuayBldmVudC4gQSBHc3RQb2xsIHdhaXRzIGZvciB0aGUgZXZlbnQgdG8gaGFwcGVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDU5CgoyMDE2LTAyLTEwIDIwOjQzOjQ3ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2ttcy9NYWtlZmlsZS5hbToKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuYzoKCSogc3lzL2ttcy9nc3RrbXNhbGxvY2F0b3IuaDoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJICBrbXNzaW5rOiBhZGQgZG1hYnVmIHN1cHBvcnQKCSAgVGhpcyBwYXRjaCB3aWxsIGVuYWJsZSB0aGUgaW1wb3J0IG9mIGRtYWJ1ZnMgaW50byBhIEtNUyBidWZmZXIgdXNpbmcKCSAgdGhlIFBSSU1FIGtlcm5lbCBpbnRlcmZhY2UuCgkgIElmIHRoZSBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCBwcmltZSBpbXBvcnQsIHRoZSBtZXRob2QgaXMgc2tpcHBlZC4KCSAgSXQgaGFzIGJlZW4gdGVzdGVkIHdpdGggYSBGcmVlc2NhbGUgSS5NWDYgYm9hcmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDEtMzEgMTM6MTI6MzQgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuYzoKCSogc3lzL2ttcy9nc3RrbXN1dGlscy5oOgoJICBrbXNzaW5rOiBjYWxjdWxhdGUgZGlzcGxheSByYXRpbwoJICBHZXQgdGhlIGFzcGVjdCByYXRpbyBnaXZlbiB0aGUgaW5mb3JtYXRpb24gcHJvdmlkZWQgYnkgbGliZHJtLCBhbmQgd2l0aCBpdAoJICBjYWxjdWxhdGUgdGhlIGRpc3BsYXkgcmF0aW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNTkKCjIwMTYtMDEtMjAgMTI6MDA6NTEgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9rbXMvTWFrZWZpbGUuYW06CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmM6CgkqIHN5cy9rbXMvZ3N0a21zYWxsb2NhdG9yLmg6CgkqIHN5cy9rbXMvZ3N0a21zYnVmZmVycG9vbC5jOgoJKiBzeXMva21zL2dzdGttc2J1ZmZlcnBvb2wuaDoKCSogc3lzL2ttcy9nc3RrbXNzaW5rLmM6CgkqIHN5cy9rbXMvZ3N0a21zc2luay5oOgoJKiBzeXMva21zL2dzdGttc3V0aWxzLmM6CgkqIHN5cy9rbXMvZ3N0a21zdXRpbHMuaDoKCSAga21zc2luazogYWRkIHBsdWdpbiBhbmQgc2luayBlbGVtZW50CgkgIFRoaXMgaXMgc2ltcGxlIHZpZGVvIHNpbmsgdGhhdCB1c2UgbGliZHJtL2xpYmttcyBBUEkgdG8gcmVuZGVyIGZyYW1lcy4KCSAgVGhlIGVsZW1lbnQgdXNlcyBwbGFuZXMgdG8gcmVuZGVyIHRocm91Z2ggZHJtTW9kZVNldFBsYW5lKCkuCgkgIEl0IGhhcyBiZWVuIHRlc3RlZCBpbiBhbiBFeHlub3M0NDEyIGJvYXJkIGFuZCBpbiBhIEZyZWVzY2FsZSBJLk1YNiBib2FyZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTA1OQoKMjAxNi0wNC0xMCAxNzo0NjoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3ZrYXBpLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvdmtkaXNwbGF5X3dheWxhbmQuYzoKCSogZXh0L3Z1bGthbi93YXlsYW5kL3ZrZGlzcGxheV93YXlsYW5kLmg6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC92a3dpbmRvd193YXlsYW5kLmM6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC92a3dpbmRvd193YXlsYW5kLmg6CgkqIGV4dC92dWxrYW4vd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBleHQvdnVsa2FuL3dheWxhbmQvd2F5bGFuZF9ldmVudF9zb3VyY2UuaDoKCSAgdnVsa2FuOiBhZGQgYSB3YXlsYW5kIHdpbnN5cyBpbXBsZW1lbnRhdGlvbgoKMjAxNi0wNC0xMCAxNzo0MzozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5oOgoJICB2dWxrYW4veGNiOiBnZXRQcm9jQWRkcmVzcyB3aW5zeXMgZnVuY3Rpb25zCgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgdGhleSB3aWxsIGFsd2F5cyBiZSBleHBvc2VkIGJ5IHRoZSB2dWxrYW4gbG9hZGVyLgoKMjAxNi0wNC0wOSAxNzo1MjoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJICB2a3VwbG9hZDogY29weSBuZWNlc3NhcnkgYnVmZmVyIG1ldGFkYXRhCgkgIHRpbWVzdGFtcHMsIGZsYWdzLCBldGMKCjIwMTYtMDQtMTEgMDg6MzQ6MDAgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGNvY29hLCBlYWdsOiB1c2UgbGliZGlzcGF0Y2ggdG8gc2NoZWR1bGUgR0wgY2FsbHMKCSAgVXNlIGxpYmRpc3BhdGNoIGluc3RlYWQgb2YgR01haW5Mb29wIHRvIGRpc3BhdGNoIEdMIGNhbGxzLiBsaWJkaXNwYXRjaCBpcyBtb3JlCgkgIG9wdGltaXplZCBhbmQgY3V0cyBhIGxvdCBvZiBwb2xsKCkvcHRocmVhZF8qIG92ZXJoZWFkLgoKMjAxNi0wNC0xMSAwODowMjo0NSArMTAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHJlZHVjZSB0aGUgbnVtYmVyIG9mIEdNdXRleGVzIGFuZCBHQ29uZHMgaW4gc2VuZF9tZXNzYWdlKCkKCSAgRG9uJ3QgY3JlYXRlIG1hbnkgc2hvcnQgbGl2ZWQgbG9ja3MvY29uZHMgaW4gZ3N0X2dsX3dpbmRvd19zZW5kX21lc3NhZ2UuIFRoaXMgaXMKCSAgYSBtaWNybyBvcHRpbWl6YXRpb24gdG8gc2F2ZSBhIGJ1bmNoIG9mIHB0aHJlYWRfKiBjYWxscyB3aGljaCBhcmUgZXhwZW5zaXZlIG9uCgkgIE9TWC9pT1MgYW5kIHBvc3NpYmx5IG90aGVyIHBsYXRmb3Jtcy4KCjIwMTYtMDQtMTAgMjI6MTg6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICB3aW4zMjogdXBkYXRlIC5kZWYgZmlsZSBmb3IgbmV3IGdsIGFwaQoKMjAxNi0wNC0wOCAxODozNDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhZGQgbmVjZXNzYXJ5IHdhaXQgc3RhZ2VzIHRvIHRoZSBzdWJtaXNzaW9uIGluZm8KCjIwMTYtMDQtMDggMTg6MzI6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZrc3dhcHBlcjogYWRkIHNyZ2IgZm9ybWF0cyB0byBvdXIgbGlzdCBvZiBmb3JtYXRzCgkgIGludGVsIHJldHVybnMgdGhlbSBmb3IgdGhlaXIgc3VyZmFjZSBmb3JtYXRzLgoKMjAxNi0wNC0wOCAxODowOTo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkgIHZ1bGthbjogc2lsZW5jZSBhIHZhbGlkYXRpb24gd2FybmluZyBmaWxsaW5nIG91dCB0aGUgaW1hZ2UgYmFycmllcgoKMjAxNi0wNC0wOCAxODowOTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiB1c2UgdGhlIGNvcnJlY3QgdmFsaWRhdGlvbiBsYXllciBuYW1lCgkgIFRoZSB0aHJlYWRpbmcgdmFsaWRhdGlvbiBsYXllciBoYXMgY2hhbmdlZCBuYW1lcy4KCjIwMTYtMDQtMDggMTQ6MDc6NTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSW5pdGlhbGl6ZSBjYXB0dXJlX3RpbWUgdG8gTk9ORSBzbyBpdCBjYW4gYmUgdXNlZCBpZiBubyB2aWRlbyBmcmFtZSBpcyBwcm92aWRlZCBidXQgYXVkaW8gaXMKCSAgQ0lEIDEzNTgzOTAKCjIwMTYtMDQtMDggMTc6NTY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHNfcHJpdmF0ZS5oOgoJICB2dWxrYW46IG9ubHkgd2FybiBvbiBub3QgZm91bmQgbGF5ZXJzCgkgIGRvbid0IGVycm9yIG91dCBjb21wbGV0ZWx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ1NDUKCjIwMTYtMDQtMDggMTc6NDE6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogZG9uJ3QgZ19lcnJvciB3aGVuIGZhaWxpbmcgdG8gZmluZCB2YWxpZGF0aW9uIGxheWVycwoJICBBYm9ydGluZyB0aGUgYXBwbGljYXRpb24gaXMgbmV2ZXIgYSBnb29kIHRoaW5nIHRvIGRvIGZvciByZWNvdmVyYWJsZSBlcnJvcnMuCgkgIEp1c3Qgd2FybiBhbmQgZXJyb3Igb3V0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ1NDUKCjIwMTYtMDQtMDggMTQ6NTE6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5oOgoJICBudmVuYzogYWRkIHNvbWUgcmF0ZSBjb250cm9sIG1vZGVzL3Byb3BlcnRpZXMKCSAgU3VwcG9ydGVkIG1vZGVzIGFyZSBjb25zdGFudCBxdWFudGl6ZXIsIGNiciwgdmJyIGFuZCB2YnIgd2l0aCBhIG1pbmltdW0gcXVhbnRpemVyLgoKMjAxNi0wNC0wNyAyMzoyNDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuYzoKCSAgbnZlbmM6IG1vdmUgY29kZWMgY29uZmlnIGluaXRpYWxpemF0aW9uIGZyb20gdGhlIGltcGxlbWVudGF0aW9uIHRvIHRoZSBiYXNlIGNsYXNzCgkgIFN1cHBvcnRzIGEgYmV0dGVyIHNlcGFyYXRpb24gb2YgY29uZmlndXJhdGlvbiBwYXJhbWV0ZXJzCgoyMDE2LTA0LTA3IDIyOjQ2OjA4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52ZW5jLmM6CgkqIHN5cy9udmVuYy9nc3RudmgyNjRlbmMuYzoKCSAgbnZlbmM6IGFkZCBwcmVzZXQgc2VsZWN0aW9uCgkgIFNvbWUgcHJlc2V0cyBhcmUgbm90IGFsd2F5cyBzdXBwb3J0ZWQgb24gYWxsIGRldmljZXMgYW5kIHdpbGwgY2F1c2UgYW4gZXJyb3IgaWYKCSAgdXNlZC4gIFNwZWNpZmljYWxseSwgdGhlIExPU1NMRVNTIHByZXNldHMgYXJlIGtub3duIHRvIG5vdCB3b3JrIGV2ZXJ5d2hlcmUuCgoyMDE0LTA3LTE2IDAyOjQ0OjQyICswMjAwICBNYXJjaW4gS29sbnkgPG1hcmNpbi5rb2xueUBnbWFpbC5jb20+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IGVtaXQgbm90aWZ5OjpmaW5nZXJwcmludCBzaWduYWwgd2hlbiBmaW5nZXJwcmludCBpcyByZWFkeQoJICBJbiBhZGRpdGlvbiB0byBhZGRpbmcgdGhlIGZpbmdlcnByaW50IHRvIHRoZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjMzCgoyMDE2LTA0LTA0IDIwOjU1OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZXBlY3QgdGhlIHJlc3VsdCBvZiBmaW5kX2Jlc3RfZm9ybWF0IGluIHRoZSBkZWZhdWx0IHVwZGF0ZV9jYXBzCgkgIFdlIHdlcmVuJ3QgdXNpbmcgdGhlIHJlc3VsdCBvZiBmaW5kX2Jlc3RfZm9ybWF0IGF0IGFsbC4KCSAgQWxzbywgbW92ZSB0aGUgZmluZF9iZXN0X2Zvcm1hdCB1c2FnZSB0byB0aGUgZGVmYXVsdCB1cGRhdGVfY2FwcygpIHRvIG1ha2UKCSAgc3VyZSB0aGF0IGl0IGlzIGFsc28gb3ZlcnJpZGFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQzNjMKCjIwMTYtMDQtMDUgMjE6NDA6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGZhbGxiYWNrIHRvIEdzdFZpZGVvQnVmZmVyUG9vbAoJICBUaGUgcmVwbGFjZW1lbnQgcG9vbCBuZWVkIHRvIGJlIGFkZGVkIHRvIHRoZSBxdWVyeSwgb3RoZXJ3aXNlIHRoZQoJICBiYXNlY2xhc3Mgd29uJ3Qgc2VlIGl0LiBXZSBhbHNvIG5lZWQgdG8gcHJvcGVybHkgcmVtb3ZlIHRoZSByZWplY3RlZAoJICBwb29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQ0MQoKMjAxNi0wNC0wNSAyMTowNzozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgcmZic3JjOiBJbXBsZW1lbnQgZGVjaWRlX2FsbG9jYXRpb24gdmlydHVhbAoJICBUaGlzIHdheSB3ZSBjYW4gdXNlIHRoZSBiYXNlIGNsYXNzIGZvciBidWZmZXIgYWxsb2NhdGlvbiwgaGVuY2UgdXNlCgkgIGZpbGwoKSBpbnN0ZWFkIG9mIGNyZWF0ZSgpIHZpcnR1YWwuIFRoaXMgYWxzbyBhZGRzIGEgc3RyaWN0IGNoZWNrIG9uIHRoZQoJICBzZWxlY3QgcG9vbCBidWZmZXIgc2l6ZSBhcyB3ZSBkb24ndCBzdXBwb3J0IHN0cmlkZXMgYW5kIHBhZGRpbmcuCgkgIFRoaXMgaXMgYmFzZWQgb24gaW5pdGlhbCBwYXRjaCBwcm9wb3NlZCBieSBTZWJhc3RpZW4gRHLDtmdlLCBmcm9tIHdoaWNoIEkKCSAgYWxzbyBmaXhlZCBhIGJ1ZmZlciBwb29sIGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0NDEKCjIwMTYtMDQtMDUgMTU6MzE6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRml4IGNhcHMgbmVnb3RpYXRpb24KCSAgQXMgd2UgY3VycmVudGx5IG9ubHkgdXNlIHRoZSBzZXJ2ZXIgcmVwb3J0ZWQgIm5hdHVyYWwiIGZvcm1hdCwgY2FwcwoJICBuZWdvdGlhdGlvbiBzaG91bGQgc2ltcGx5IGJlIGxpbWl0ZWQgdG8gdGVsbGluZyB0aGUgYmFzZSBjbGFzcyB3aGljaAoJICBmb3JtYXQgdG8gdXNlLiBGaXggdGhlIG5lZ290aWF0aW9uIGJ5IG1vdmluZyB0aGUgYXNzb2NpYXRlZCBjb2RlCgkgIGludG8gbmVnb3RpYXRlKCkgdmlydHVhbCBmdW5jdGlvbi4gQWxzbywgdXNlIGdzdF9iYXNlX3NyY19zZXRfY2FwcygpCgkgIHJhdGhlciB0aGVuIHNldHRpbmcgaXQgb24gdGhlIHBhZCBkaXJlY3RseS4gQWxzbyBwcm90ZWN0IGFnYWluc3QgdGhpcwoJICBtZXRob2QgYmVpbmcgY2FsbGVkIG11bHRpcGxlIHRpbWUgKHdlIGNhbid0IHJlbmVnb3RpYXRlIGZvciBub3cpLgoJICBUaGlzIGNoYW5nZSBhbHNvIG1vdmVzIHNvbWUgbmV0d29yayBjb2RlIHRoYXQgd2FzIGJlaW5nIHJ1biBkdXJpbmcgdGhlCgkgIGFwcGxpY2F0aW9uIHN0YXRlIGNoYW5nZSBjYWxsLCB0byBiZSBydW4gb24gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk1OTgKCjIwMTYtMDMtMjYgMTM6MzY6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogSW1wbGVtZW50IHVubG9jaygpIG1ldGhvZAoJICBUaGlzIHByZXZlbnQgc3RhbGxzIHdoZW4gd2UgdHJ5IHRvIHN0b3AgdGhlIHNvdXJjZSB3aGlsZSB3YWl0aW5nCgkgIGZvciB0aGUgc2VydmVyIHRvIHNlbmQgbW9yZSB1cGRhdGVzLgoKMjAxNi0wMy0yNCAxODoyNzo1NCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQ2hlY2sgZm9yIGNvbm5lY3Rpb24gYmVpbmcgY2xvc2VkCgkgIEFsdGhvdWdoIGl0J3Mgbm90IHZlcnkgd2VsbCBkb2N1bWVudGVkLCBnX2lucHV0X3N0cmVhbV9yZWFkX2FsbCgpIHdpbGwKCSAgc2V0IHRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCB0byAwIGlmIHRoZSBjb25uZWN0aW9uIGlzIGNsb3NlZCByYXRoZXIKCSAgdGhlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgoyMDE2LTAzLTI0IDE4OjI2OjQ2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBDaGVjayBmb3IgcmVhZC93cml0ZSBlcnJvcgoJICBDaGVjayBmb3IgcmVhZC93cml0ZSBlcnJvci4gVGhpcyBwcmV2ZW50IHVuZGVmaW5lZCBiZWhhdmlvdXIgdGhhdCByZWx5CgkgIG9uIHVuaXRpYWxpemVkIGJ1ZmZlci4KCjIwMTYtMDMtMjQgMTg6MTQ6MTcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBBZGQgYSBpbnRlcm5hbCBtZXRob2QgdG8gZGlzY29ubmVjdAoJICBUaGlzIGFsc28gcmVtb3ZlcyB0aGUgZGlzY29ubmVjdGVkIGJvb2xlYW4gaGFjay4KCjIwMTYtMDMtMjQgMTg6MTQ6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogRG9uJ3QgaWdub3JlIGVycm9ycwoJICBUaGlzIHByZXZlbnRzIHJlY3Vyc2lvbiBvbiBlcnJvci4gVGhpcyB1c2VkIHRvIGhhcHBlbiBhcyB3ZQoJICBkb24ndCBjaGFuZ2UgdGhlIHN0YXRlIHdoZW4gc29tZXRoaW5nIGZhaWxzLiBXZSBlbmQgdXAgcnVubmluZwoJICBhbmQgZmFpbGluZyBpbiB0aGUgc2FtZSBzdGF0ZSBmb3JldmVyLgoKMjAxNi0wMy0yNCAxNjo0Njo0OSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IFNlcmlhbGl6ZSB3cml0ZSBvcGVyYXRpb25zCgkgIEN1cnJlbnRseSB3ZSBzZW5kIGtleSBldmVudHMgZnJvbSBzZXBlcmF0ZSB0aHJlYWRzLiBJT1N0cmVhbSBkb2VzIG5vdAoJICBhbGxvdyBjb25jdXJyZW50IHdyaXRlIG9wZXJhdGlvbnMsIHNvIHByb3RlY3QgdGhpcyBvcGVyYXRpb24gdXNpbmcgYQoJICBtdXRleC4KCjIwMTYtMDMtMTcgMTU6MjQ6NTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IEFkZCAzLjcvMy44IHNlY3VyaXR5IHR5cGUgbmVnb3RpYXRpb24KCjIwMTYtMDMtMTYgMTg6NDg6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiBQb3J0IHRvIEdTb2NrZXRDbGllbnQKCSAgVXNpbmcgR1NvY2tldENsaWVudCB3ZSBjYW4gc2ltcGxpZnkgYSBsb3QgdGhlIHJlYWQvd3JpdGUgb3BlcmF0aW9uLgoJICBUaGlzIGFsc28gcHJvdmlkZSBhbiBHU29ja2V0Q29ubmVjdGlvbiAoYSBHSU9TdHJlYW0pIHdoaWNoIGNhbiB0aGVuCgkgIGJlIHVzZWQgd2l0aCB0aGUgR1Rsc0NsaWVudENvbm5lY3Rpb24gZm9yIHNlY3VyZSBjb25uZWN0aW9ucy4gTm90ZQoJICB0aGF0IHdlIHVzZSBfd3JpdGVfYWxsKCkgdG8gZW5zdXJlIGFsbCBieXRlcyBoYXZlIGJlZW4gcmVhZC4gVGhpcyBpcwoJICB0byBmb2xsb3cgdGhlIGZhY3QgdGhlIG5vbmUgb2YgdGhlIF9zZW5kKCkgY2FsbHMgY2hlY2sgdGhlIHJldHVybgoJICB2YWx1ZS4KCjIwMTYtMDMtMTYgMTY6NDk6MjkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmg6CgkqIGdzdC9saWJyZmIvcmZiLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IFJlbW92ZSB1c2VsZXNzIGxpYnJhcnkgd3JhcHBpbmcKCSAgV2UgdXNlIGEgc2lubGdlIC5jIGZpbGUsIHNpbXBsaWZ5IGV2ZXJ5dGhpbmcgYnkgcmVtb3ZpbmcgdGhhdAoJICBzdGF0aWMgbGlicmFyeS4KCjIwMTYtMDMtMTYgMTY6NDk6MDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvcmZiLmM6CgkqIGdzdC9saWJyZmIvcmZiLmg6CgkqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6CgkqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSogZ3N0L2xpYnJmYi9yZmJ1dGlsLmg6CgkgIHJmYnNyYzogQ2xlYW51cCBkZWFkIGNvZGUKCSAgUmVtb3ZlIGFsbCB0aGUgdW51c2VkIHN0dWZmLCB0aGUgaW5jbHVkZSBoZWFkZXIsIGRlZmluaXRpb24gYW5kIEMgY29kZQoJICB0aGF0IGRvbid0IGNvbnRyaWJ1dGUgYW55dGhpbmcgdG8gdGhpcyBlbGVtZW50LgoKMjAxNi0wMy0xNCAxNTowODoxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogUHJvcGVybHkgZmFsbGJhY2sgdG8gMy4zCgkgIElmIHRoZSBtYWpvciB2ZXJzaW9uIGlzIG5vdCAzLCB0aGVuIHRoZSBtaW5vciB2ZXJzaW9uIHByb3ZpZGVkCgkgIHNob3VsZCBiZSBpZ25vcmVkLCBhcyBpdCBpcyBtZWFuaW5nbGVzcyBmb3Igb3VyIGZhbGxiYWNrLgoKMjAxNi0wMy0xNCAxNTowNTo0NSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogQ2xlYW5seSBoYW5kbGUgc2VjdXJpdHkgbmVnb3RpYXRpb24gZmFpbHVyZQoJICBXaGVuIHRoZSBzZWN1cml0eSBjYW5ub3QgYmUgbmVnb3RpYXRlZCwgdGhlIHNlcnZlciByZXR1cm5zCgkgIHNlY3VyaXR5IHR5cGUgb2YgMCAoZmFpbHVyZSkuIEluIHRoYXQgY2FzZSwgdGhlIG5leHQgc3RlcCBpcwoJICB0byByZWFkIHRoZSBlcnJvciByZWFzb24gc3RyaW5nLgoKMjAxNi0wNC0wMSAxNDozNjoxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBjbGFtcCBzZWdtZW50IGR1cmF0aW9ucyB0byBlYWNoIG90aGVyIGFuZCBwZXJpb2QgZW5kCgkgIDUuMy4yLjEgaW4gdGhlIHNwZWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3OTIKCjIwMTUtMDktMTAgMTM6MjI6NTggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB1bml0IHRlc3RpbmcgcmVwcm9kdWNpbmcgc2VnbWVudCBkdXJhdGlvbiBvdmVyZmxvdwoJICB1bml0IHRlc3QgcmVwcm9kdWNpbmcgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc5MgoJICBXaXRoIG1pbm9yIGNoYW5nZXMgYnkgVmluY2VudCBQZW5xdWVyYydoLgoKMjAxNi0wNC0wNSAxNDo0OTo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgYWNjZXB0IHBhY2tldHMgd2l0aG91dCB0aW1lc3RhbXBzIGFmdGVyIGEgZGlzY29udAoJICBXZSBoYXZlIG5vIGlkZWEgd2hpY2ggdGltZXN0YW1wcyB0aGV5IGFyZSBzdXBwb3NlZCB0byBoYXZlIHNvIHRoZSBvbmx5IHRoaW5nCgkgIHdlIGNhbiBkbyBhdCB0aGlzIHBvaW50IGlzIHRvIGRyb3AgdGhlbS4gUGFja2V0cyB3aXRob3V0IHRpbWVzdGFtcHMgaGFwcGVuIGlmCgkgIGF1ZGlvIHdhcyBjYXB0dXJlZCBidXQgbm8gY29ycmVzcG9uZGluZyB2aWRlbywgd2hpY2ggc2hvdWxkbid0IGhhcHBlbiB1bmRlcgoJICBub3JtYWwgY2lyY3Vtc3RhbmNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYzMwoKMjAxNi0wNC0wNCAyMjoyMTozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IGNyYXNoIHdoZW4gcmVjZWl2aW5nIHZpZGVvIGZyYW1lcyBidXQgbm8gYXVkaW8KCSAgQW5kIG1hcmsgdGhlc2UgZXZlbnRzIGFzIGRpc2NvbnRzIHRvIHJlc2V0IHRpbWUgdHJhY2tpbmcgaW4gdGhlIGF1ZGlvIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYzMwoKMjAxNS0wOC0wOCAxNToxNzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IGRvbid0IGNyYXNoIGlmIHdlIGdldCBOVUxMIHZpZGVvIGZyYW1lcyBpbiB0aGUgY2FsbGJhY2sKCSAgRm9yIHNvbWUgcmVhc29uIHdlIHNlZW0gdG8gc29tZXRpbWVzIGdldCBOVUxMIHZpZGVvX2ZyYW1lcyBpbiB0aGUKCSAgOjpWaWRlb0lucHV0RnJhbWVBcnJpdmVkKCkgY2FsbGJhY2ssIG9ic2VydmVkIG9uIEludGVuc2l0eSBQcm8gY2FyZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MzMKCjIwMTYtMDMtMjMgMDM6MTY6MTEgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBhZGQgc3VwcG9ydCBmb3IgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtZXRhCgoyMDE2LTAzLTIzIDAzOjE0OjQwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHN1cHBvcnQgdGhlIGFmZmluZSB0cmFuc2Zvcm1hdGlvbiBtZXRhIGZvciBhbnkgdGV4dHVyZSB0YXJnZXQKCjIwMTYtMDQtMDUgMTY6MjI6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHNldCB0aGUgY3VycmVudCB0ZXh0dXJlIHRvIDAgYmVmb3JlIG1hcHBpbmcKCSAgSWYgd2UgZmFpbCBtYXBwaW5nLCB3ZSBkb24ndCB3YW50IHRvIHVzZSB1bmRlZmluZWQgdmlkZW8gZGF0YSBpbiB0aGUgc3ViY2xhc3MuCgoyMDE1LTA5LTA4IDE0OjM3OjU3ICswMjAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsc2luazogY2F0Y2ggYW4gdW5rbm93biBlcnJvcgoJICBJbiB0aGlzIGNhc2UgdGhlIHNvY2tldCBjYWxsYmFjayBoYXMgbm90IGJlZW4gY2FsbGVkCgkgIGJ5IGxpYmN1cmwgYW5kIHRoZSBjdXJsc2luayBoYXMgbm90IGJlZW4gbm90aWZpZWQgYWJvdXQgYW55CgkgIGNvbm5lY3Rpb24gcHJvYmxlbXMgYnkgbGliY3VybC4KCSAgVGhpcyBpbmRpY2F0ZXMgdGhhdCBpdCdzIGEgYnVnIGluIGxpYmN1cmwgc28gY2F0Y2ggaXQgYXMKCSAgYW4gdW5rbm93biBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQzMgoKMjAxNi0wNC0wNCAxMzo0MzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogcHJveHkgdGhlIHN0YXJ0LXRpbWUtKiBwcm9wZXJ0aWVzIGZyb20gYWdncmVnYXRvcgoKMjAxNi0wNC0wNCAxMToyODozNSArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJICBkdGxzOiBVc2UgdW5pcXVlIG5hbWVzIGZvciBpbnRlcm5hbCBlbGVtZW50cyB0byBlYXNlIGRlYnVnZ2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjUxCgoyMDE2LTA0LTAzIDE3OjU2OjA2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIGR1cGxpY2F0ZWQgdGVzdCBvZiBmbG93X3JldHVybiBpbiBwYWRfY2hhaW5faW50ZXJuYWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDU0OQoKMjAxNi0wNC0wMyAxODowNjoyMCArMDkwMCAgS291aGVpIFN1dG91IDxrb3VAY2xlYXItY29kZS5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgIGRpcmVjdHNvdW5kc3JjOiBhZGQgbWlzc2luZyAtbG9sZTMyCgkgIENMU0lERnJvbVN0cmluZygpIHJlcXVpcmVzIG9sZTMyLmRsbC4KCSAgU2VlIGh0dHBzOi8vbXNkbi5taWNyb3NvZnQuY29tL2VuLXVzL2xpYnJhcnkvd2luZG93cy9kZXNrdG9wL21zNjgwNTg5JTI4dj12cy44NSUyOS5hc3B4CgkgIENMU0lERnJvbVN0cmluZygpIGlzIGludHJvZHVjZWQgYXQKCSAgZjk0NjRjZTM1NDljMmIzOTQ4YTU4MjQ2NDYzMWJhNGY4ZGQwZDVlNyAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ1MjMKCjIwMTYtMDMtMzEgMTE6MjE6MzUgKzAyMDAgIENocmlzdG9mZmVyIFN0ZW5ncmVuIDxjaHJpc3Rzbi5nc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgZ2RwZGVwYXk6IFF1ZXJ5IGZvciBidWZmZXIgYWxsb2NhdG9yIGJlZm9yZSB1c2luZyBkZWZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQzNjEKCjIwMTYtMDMtMjIgMTk6Mjc6MzkgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQHRvb2xzb25haXIuY29tPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBBbGxvdyBpbnRlcmxhY2VkIHNpbmsgY2FwcywgZG8gcGFzc3Rocm91Z2gKCSAgQWxsb3cgaW50ZXJsYWNlIHRvIHJlY2VpdmUgYWxyZWFkeSBpbnRlcmxhY2VkIGNvbnRlbnQsIGlmIGNvbXBhdGlibGUgd2l0aCBpdHMKCSAgY29uZmlndXJhdGlvbi4gSW4gdGhhdCBjYXNlLCBpdCB3aWxsIGp1c3QgZG8gcGFzc3Rocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQwMzYKCjIwMTYtMDQtMDEgMjE6MjQ6MzQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSAgUkVBRE1FOiB1cGRhdGUgdG8gMS4wIGFuZCBsaWx2CgoyMDE2LTA0LTAxIDE4OjMzOjEzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSAgbHYyZmlsdGVyOiByZW1vdmUgdGhlIHZhcmlhYmxlIGZvciB0aGUgcmVnaXN0cnkga2xhc3MgdGFnCgkgIEp1c3QgcGFzcyB0aGUgc3RyaW5nIHdoZW4gcmVnaXN0ZXJpbmcuCgoyMDE2LTA0LTAxIDE4OjMxOjM2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSAgbHYyZmlsdGVyOiByZW1vdmUgY29weSBhbmQgcGFzdGUgb2YgZG9jIGJsb2IKCSAgVGhpcyBkb2MgYmxvY2sgaXMgYWxyZWFkeSBpbiBnc3RsdjIuYy4KCjIwMTYtMDQtMDEgMTI6NTk6MTkgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSAgb3BlbmN2OiBzZWdtZW50YXRpb246IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgQWRkIG5hbWVzcGFjZSBiZ3NlZ20sIHJlcGxhY2VtZW50IGZ1bmN0aW9ucyBhbmQgVGVtcGxhdGUgY2xhc3MgZm9yIG5ldwoJICBPcGVuQ1YgdmVyc2lvbnMgYmVjYXVzZSB0aGVzZSBmdW5jdGlvbnMgaGF2ZSBiZWVuIHJlbW92ZWQuIGN2YXJyVG9NYXQoKSBpcwoJICBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbkNWIGFuZCB0aGUgdXNlIG9mCgkgIGNsYXNzIE1hdCBjb25zdHJ1Y3RvciBpcyBlbGltaW5hdGVkLCBpdCBpcyBhbHNvIGRlcHJlY2F0ZWQgaW4gMy5YIHZlcnNpb25zLgoJICBVc2UgdGhlIG5hbWVzcGFjZSBjdiBiZWNhdXNlIHNvbWUgZnVuY3Rpb25zIGFyZSBjYWxsZWQgbWFueSB0aW1lcy4KCSAgVGhpcyBwYXRjaCBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDQtMDEgMTQ6MTI6MDggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA5cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiB2cDk6IG1vdmUgcGVyc2lzdGVudCBmaWVsZHMgZnJvbSBHc3RWcDlGcmFtZUhkciB0byBHc3RWcDlQYXJzZXIKCSAgVGhlIHN1YnNhbXBsaW5nX3gsIHN1YnNhbXBsaW5nX3ksIGJpdF9kZXB0aCwgY29sb3Jfc3BhY2UgYW5kIGNvbG9yX3JhbmdlCgkgIGZpbGVkcyBhcmUgbW92ZWQgZnJvbSBHc3RWcDlGcmFtZUhkciB0byB0aGUgZ2xvYmFsIEdzdFZwOVBhcnNlciBzdHJ1Y3R1cmUuCgkgIFRoZXNlIGZpZWxkcyBhcmUgb25seSBwcmVzZW50IGluIGtleWZyYW1lIG9yIGludHJhLW9ubHkgZnJhbWUsIG5vIG5lZWQgdG8KCSAgZHVwbGljYXRlIHRoZW0gZm9yIGludGVyLWZyYW1lcy4gVGhpcyBpcyBhbiBBQkkgY2hhbmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MzcwCgoyMDE2LTA0LTAxIDEyOjA4OjUzICswMjAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogdGV4dG92ZXJsYXk6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgaW1ncHJvY19jLmggaXMgYWRkZWQgYmVjYXVzZSBDdkZvbnQgc3RydWN0IG5lZWRzIGl0IGluIGFueSAzLnggdmVyc2lvbi4KCSAgV2UgdXNlIHRoaXMgc3RydWN0dXJlIGluIEdzdE9wZW5jdlRleHRPdmVybGF5LiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkKCSAgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDQtMDEgMTE6NTY6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvbnN0cmFpbmVkLWJhc2VsaW5lIGlzIGEgc3Vic2V0IG9mIGJhc2VsaW5lCgkgIFdlIGdldCBpbnRvIHRoaXMgY29kZSBwYXRoIGlmIHRoZSBwcm9maWxlIGlzIGFscmVhZHkgY29uc3RyYWluZWQtYmFzZWxpbmUgYW5kCgkgIGRvd25zdHJlYW0gZG9lcyBub3Qgc3VwcG9ydCBjb25zdHJhaW5lZC1iYXNlbGluZS4gU28gd2Ugc2hvdWxkIHRyeSBiYXNlbGluZQoJICBhbmQgdGhlIG90aGVyIGNvbXBhdGlibGUgcHJvZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQ0NDgKCjIwMTYtMDMtMjIgMDc6MTk6MDMgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2U6IHBlcmZvcm0gZWdsQ3JlYXRlSW1hZ2UgaW4gdGhlIGdsIHRocmVhZAoJICB3aGlsZSBjYWxsaW5nIGVnbENyZWF0ZUltYWdlIHdpdGhvdXQgYSBHTCBjb250ZXh0IGN1cnJlbnQgaW4gdGhlIGV4ZWN1dGluZwoJICB0aHJlYWQgd29ya3Mgb24gdGhlIFJQaSwgc29tZSBvdGhlciBpbXBsZW1lbnRhdGlvbnMgd2lsbCByZXR1cm4gZXJyb3JzLgoJICBNYXJzaGFsbCB0aGUgZWdsQ3JlYXRlSW1hZ2UgdG8gdGhlIEdMIHRocmVhZCB0byBhcHBlYXNlIHRoZXNlIGltcGxlbWVudGF0aW9ucy4KCjIwMTYtMDQtMDEgMTQ6NTg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsdmlld2NvbnZlcnQ6IHN1cHBvcnQgb3V0cHV0dGluZyB0byBtdWx0aXBsZSBkcmF3IGJ1ZmZlcnMgb24gR0xFUzMKCSAgQSBzaW1pbGFyIGNoYW5nZSB0aGF0IHdhcyBkb25lIHRvIGdsY29sb3Jjb252ZXJ0IGFkZGluZyB0aGUgbmVjZXNzYXJ5IHNoYWRlcgoJICBtYW5nbGluZy4KCjIwMTYtMDMtMzEgMTk6NTA6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogaW1wbGVtZW50IG11bHRpcGxlIHJlbmRlciB0YXJnZXRzIGZvciBHTEVTMwoJICBUaGVyZSBhcmUgbnVtZXJvdXMgc2xpZ2h0IGRpZmZlcmVuY2VzIHJlcXVpcmVkIGJldHdlZW4gRGVza3RvcCBHTCBhbmQgR0xFUzMgZm9yCgkgIG11bHRpcGxlIHJlbmRlciB0YXJnZXRzLgoJICAxLiBnbF9GcmFnRGF0YSBkb2Vzbid0IGV4aXN0IGF0IGFsbCBhbmQgb25lIGlzIHJlcXVpcmVkIHRvIHVzZQoJICAnbGF5b3V0IChsb2NhdGlvbiA9ID8pIG91dCAuLi4nIGluc3RlYWQuCgkgIDIuIGdsX0ZyYWdDb2xvciBkb2Vzbid0IGV4aXN0LCBzYW1lIGFzIDEKCSAgMy4gdGV4dHVyZTJEKCkgaGFzIGJlZW4gZGVwcmVjYXRlZAoJICBGb3J0dW5hdGVseSBtb3N0IG9mIHRoZXNlIGhhdmUgYmVlbiB0YWtlbiBjYXJlIG9mIHdpdGggR0wzIGFuZCB0aGUgc2hhZGVyCgkgIG1hbmdsaW5nIGFscmVhZHkgZXhpc3RzIHNvIGp1c3QgZXhwYW5kIHRoZSBjb25kaXRpb25zIHRoZXkgYXJlIHVzZWQgaW4uICBUaGUKCSAgZ2xfRnJhZ0RhdGEgaXNzdWUgcmVxdWlyZXMgYSBuZXcgbWFuZ2xlIHBhc3MgdGhvdWdoLiAgV2UgYWxzbyB1c2UgdGhpcyBuZXcKCSAgcGFzcyBvbiBkZXNrdG9wIEdMIGZvciBjb25zaXN0ZW5jeS4KCjIwMTYtMDMtMzEgMTg6MjM6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21zc2RlbXV4LmM6CgkgIHRlc3RzOiBtc3NkZW11eDogZG8gbm90IHVzZSBnc3Rfb2JqZWN0X3VucmVmIGZvciBwdXJlIEdPYmplY3QqCgkgIERlYWxsb2NhdGUgR09iamVjdCogd2l0aCBnX29iamVjdF91bnJlZiBpbnN0ZWFkIG9mIGdzdF9vYmplY3RfdW5yZWYuCgkgIEV2ZW4gaWYgaXQgd29ya3Mgbm93LCBpdCBpcyBjb25mdXNpbmcgYW5kIGluIHRoZSBmdXR1cmUgaXQgbWlnaHQKCSAgbm90IHdvcmsgaWYgYW55IEdzdE9iamVjdCBzcGVjaWZpY3MgYXJlIGFkZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMTQyCgoyMDE2LTAyLTE2IDEzOjU1OjU0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogdXNlIGdfb2JqZWN0X3VucmVmIGZvciB0ZXN0IGRhdGEKCSAgVGhlIEdzdERhc2hEZW11eFRlc3RDYXNlIG9iamVjdCBpcyBhbGxvY2F0ZWQgdXNpbmcgZ19vYmplY3RfbmV3dgoJICBidXQgaW4gbWFueSBwbGFjZXMgd2FzIGJlaW5nIGRlYWxsb2NhdGVkIHVzaW5nIGdzdF9vYmplY3RfdW5yZWYuCgkgIFRoaXMgd2FzIGNhdXNlZCBieSBjb21taXQgYWUzZWQyNTAyNWUzNGVhOWIwOWRmNTlkMjJkN2ViZDcyOTQ1NjBiYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjE0MgoKMjAxNi0wMy0zMSAxNjowODoxMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkgIG1vdGlvbmNlbGxzOiBmdWxseSBjb25zdHJ1Y3QgTW90aW9uQ2VsbHMKCSAgU29tZSBtZW1iZXJzIG9mIE1vdGlvbkNlbGxzIHdlcmUgbm90IGJlaW5nIGluaXRpYWxpemVkIGluIHRoZSBjb25zdHJ1Y3Rvci4KCSAgUHJvdGVjdCBmcm9tIHBvdGVudGlhbCBnYXJiYWdlIG1lbW9yeSB1c2FnZSBieSBmdWxseSBpbml0aWFsaXppbmcgaXQuCgkgIE1vdmluZyBtX2ZyYW1lU2l6ZSBvdXQgb2YgdGhlIGNsYXNzIGJlY2F1c2UgaXQgaXMgb25seSB1c2VkIGluCgkgIHBlcmZvcm1EZXRlY3Rpb25Nb3Rpb25DZWxscygpLgoJICBDSUQgMTE5NzcwNAoKMjAxNi0wNC0wMSAwMDoyMzoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbC9idWlsZDogYWRkIG1pc3NpbmcgJ1wnIGF0IHRoZSBlbmQgb2YgdGhlIGxpbmUgaW4gTWFrZUZpbGUuYW0KCSAgT3RoZXJ3aXNlIHRoZSBmb2xsb3dpbmcgZWxlbWVudHMgYXJlbid0IGluY2x1ZGVkIGluIHRoZSBjb3JyZWN0IHZhcmlhYmxlLgoJICBGaXhlcyBlcnJvciBpbiAnbWFrZSBkaXN0Y2hlY2snIGZhaWxpbmcgdG8gZmluZCBnc3RnbHRlc3RzcmMuaAoKMjAxNi0wMy0zMSAyMzowNzoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGdsL3Rlc3RzL3BpcGVsaW5lczogYWRkIGN1c3RvbSBfQ0ZMQUdTIGFuZCBMREFERAoJICBBcyBpcyBkb25lIGV2ZXJ5d2hlcmUgZWxzZS4KCSAgRnJvbSB3aGF0IEkgY2FuIGdhdGhlciBmcm9tIG1ha2UgLUMgdGVzdHMvY2hlY2sgVj0xICQoR1NUX1BMVUdJTlNfQkFEX0NGTEFHUykgaXMKCSAgcmVxdWlyZWQgaW4gb3JkZXIgdG8gZmluZCBpbi10cmVlIGhlYWRlcnMgYXMgd2VsbCBhcyBzcmNkaXIgIT0gYnVpbGRkaXIKCSAgY29uZmlndXJhdGlvbnMuCgoyMDE2LTAzLTMxIDIyOjIwOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvdGVzdHM6IG9ubHkgYnVpbGQgdGhlIHNpbXBsZS1sYXVuY2gtbGluZXMgdGVzdCBpZiB3ZSBoYXZlIEdMCgoyMDE2LTAzLTMxIDIwOjAwOjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IHVzZSB0aGUgcHJlZGVmaW5lZCB2YXJpYWJsZSBuYW1lIHNhbXBsZQoJICBVc2luZyAnc2FtcGxlJyBhcyBhIHZhcmlhYmxlIG5hbWUgaXMgYW4gZXJyb3IgaW4gR0xFUzMKCjIwMTYtMDMtMjIgMjM6MTA6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiBmaXggc3dpdGNodmlkZW9vdmVybGF5IGZvciB3YXlsYW5kCgkgIGFuZCBjYWxsIFhJbml0VGhyZWFkcygpIGZvciBYMTEKCjIwMTYtMDMtMjEgMTU6MjU6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvZ3RrdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXM6IHJlbW92ZSBkdXBsaWNhdGVkIHZpZGVvb3ZlcmxheSBleGFtcGxlCgkgIGZpbHRlcnZpZGVvb3ZlcmxheSBwcm92ZWQgdGhlIGV4YWN0IHNhbWUgZXhhbXBsZSAob25seSB3aXRoIGEgZXh0cmEgZ2xmaWx0ZXJjdWJlKS4KCjIwMTYtMDMtMjEgMTU6MjM6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL21haW4uY3BwOgoJICBnbC9leGFtcGxlcy8zZDogYWRkaXRpb25zIGZvciB3YXlsYW5kIHN1cHBvcnQKCjIwMTYtMDMtMTcgMjM6NTE6NDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBnbC90ZXN0czogYWRkIG1pc3NpbmcgdGVzdCB0byB0aGUgYnVpbGQgc3lzdGVtCgkgIEFsc28gdXBkYXRlIGl0IGZvciB0aGUgY3VycmVudCBhcGkKCjIwMTYtMDMtMTcgMjM6NTA6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJICBnbGRpZmZlcmVuY2VtYXR0ZTogcG9ydCB0byBnbDMvZ2xlczIKCjIwMTYtMDItMjYgMjA6NTU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2x0ZXN0c3JjOiBwb3J0IHRvIGdsZXMyL2dsMwoJICBUaGlzIG1ha2VzIGdsdGVzdHNyYyB3b3JrIGV2ZXJ5d2hlcmUgXG8vCgkgIC0gd29ya2Fyb3VuZCBSUGkgcmV0dXJuaW5nIGludmFsaWQgdmFsdWVzIGZvciBwb3NpdGl2ZSBjb29yZHMgaW4gdGhlCgkgIGNoZWNrZXIgc2hhZGVyCgkgIC0gcmVkdWNlIHRoZSBudW1iZXIgb2YgaXRlcmF0aW9ucyBpbiB0aGUgbWFuZGVsYnJvdCBzaGFkZXIgZm9yIGdsZXMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1NDAKCjIwMTYtMDItMjYgMTY6NTc6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBwb3J0IHNtcHRlIHBhdHRlcm4gdG8gc2hhZGVycwoJICBMb29zZWx5IGJhc2VkIG9uIHBhdGNoIGJ5CgkgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTU0MAoKMjAxNi0wMi0yNiAxMjowMjoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCB0aGUgY2lyY3VsYXIgbWV0aG9kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4MDEKCjIwMTYtMDItMjUgMjE6MTg6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgZ2x0ZXN0c3JjOiBhZGQgYSBnZW5lcmljIHNyYyBmcmFtZXdvcmsKCSAgQW55IHVuc3VwcG9ydGVkIHBhdHRlcm4gKGNpcmN1bGFyKSByZXN1bHRzIGluIGFuIGVycm9yCgoyMDE2LTAyLTI5IDIwOjE1OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5oOgoJICBnbHN0ZXJvc3BsaXQ6IHJlbW92ZSBpbnRlcm5hbCBnbHVwbG9hZC9nbGNvbG9yY29udmVydAoJICBUaGV5IGFyZSBwcm92aWRlZCBzZXBhcmF0ZWx5IGFzIGVsZW1lbnRzIGFuZCBubyBvdGhlciBlbGVtZW50IGNvbnRhaW5zIHRoZQoJICBpbnRlcm5hbCByZWZlcmVuY2VzIHRvIGdsdXBsb2FkL2dsY29sb3Jjb252ZXJ0LgoKMjAxNi0wMy0zMSAxOTo0MzowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCBHTEVTMyBoZWFkZXJzCgkgIHdpdGggYSBmYWxsYmFjayB0byBHTEVTMiBoZWFkZXJzIGlmIGF2YWlsYWJsZS4KCjIwMTYtMDMtMzEgMTk6Mzg6MTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIGNoZWNraW5nIHRoZSByZWFkIGltcGxlbWVudGF0aW9uIGZvcm1hdC90eXBlIG9uIGdsZXMyIHBsYXRmb3JtcwoJICBCeSBkZWZhdWx0LCByZWFkaW5nIEdMX1JFRCBvciBHTF9SRyB1cyB1bnN1cHBvcnRlZCBieSBnbFJlYWRQaXhlbHMgdW5sZXNzCgkgIGV4cG9zZWQgdGhyb3VnaCBHTF9DT0xPUl9SRUFEX0lNUExFTUVOVEFUSU9OX0ZPUk1BVC9UWVBFLiAgVGhpcyBhbGxvd3MKCSAgZG93bmxvYWRpbmcgbXVsdGlwbGUtcGxhbmFyIHZpZGVvIGZyYW1lcyB3aGVyZSBwb3NzaWJsZS4KCjIwMTYtMDMtMzEgMTk6MzU6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiByb2xsYmFjayBtYXAgc3RhdGUgd2hlbiBzdWJjbGFzcyBtYXAgZmFpbHMKCSAgT3RoZXJ3aXNlIG91ciBzdGF0ZSBkb2Vzbid0IHJlZmxlY3QgcmVhbGl0eS4KCjIwMTYtMDMtMzEgMTk6MzE6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeXBibzogdW5tYXAgcGJvIG1lbW9yeSBvbiBwYm8gcmVhZCBlcnJvcgoJICBPdGhlcndpc2Ugd2UgYXJlIHJldHVybmluZyBmYWlsdXJlIHdpdGggYSBkYW5nbGluZyBtYXAhCgkgIEFsc28gb25seSB1bnNldCB0aGUgTkVFRF9ET1dOTE9BRCBmbGFnIGluIGRvd25sb2FkX3RyYW5zZmVyKCkgaWYgdGhlIHJlYWQgYWN0dWFsbHkKCSAgc3VjY2VlZHMuCgoyMDE2LTAzLTMxIDE5OjI1OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3NoYWRlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlcjogYWRkIGdsQmluZEZyYWdEYXRhTG9jYXRpb24KCSAgVGhlcmUgYXJlIHNvbWUgY2FzZXMgd2hlcmUgaXQncyBuZWVkZWQgZm9yIGJpbmRpbmcgaW4vb3V0IHZhcmlhYmxlcyBpbiBzaGFkZXJzLgoJICBlLmcuIGdsc2wgMTUwIChnbCAzLjIpIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgJ2xheW91dCAobG9jYXRpb24gPSA/KScgc3BlY2lmaWVycyBpbgoJICB0aGUgc2hhZGVyIHNvdXJjZSBzbyB3ZSBoYXZlIHRvIGJpbmQgdGhlbSBvdXJzZWx2ZXMuCgoyMDE2LTAzLTMxIDEyOjIwOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBIYW5kbGUgZmluZF9zdHJlYW1fZm9yX3BhZCgpIHdpdGhvdXQgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBpZiBubyBwYWQgaXMgZm91bmQKCSAgSGFwcGVucyBlLmcuIGlmIGEgUkVDT05GSUdVUkUgZXZlbnQgaXMgc2VudCBmcm9tIGRvd25zdHJlYW0gd2hpbGUgd2UncmUKCSAgc3dpdGNoaW5nIHBhZHMgYXQgdGhpcyB2ZXJ5IG1vbWVudC4gVGhlIG9sZCBwYWQgaXMgZ29uZSBhbmQgdGhlIHN0cmVhbSBoYXMgYQoJICBuZXcgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0NDA0CgoyMDE2LTAzLTMxIDAxOjIxOjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiBhZGQgc3VwcG9ydCBmb3IgYnVpbGRpbmcgYWdhaW5zdCB2ZXJzaW9uIDYgb2YgdGhlIFNESwoJICBXaGlsZSBtb3N0bHkgQVBJIGNvbXBhdGlibGUsIHRoZSBBQkkgaGFzIGNoYW5nZWQgc28gYmluYXJpZXMgd2lsbCBub3Qgd29yawoJICBhY3Jvc3MgaGVhZGVyIHZlcnNpb25zIChhbmQgdWx0aW1hdGVseSBudmlkaWEgZHJpdmVyIHJlbGVhc2VzKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzMyNAoKMjAxNi0wMy0zMCAyMjozNDo1OSArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiBweXJhbWlkc2VnbWVudDogZGVsZXRlIGVsZW1lbnQKCSAgY3ZQeXJTZWdtZW50YXRpb24oKSBoYXMgYmVlbiBkZXByZWNhdGVkIGluIE9wZW5DViAzLjAsIGFuZCB0aGVyZSBpc24ndCBhbnkKCSAgZnVuY3Rpb24gdG8gcmVwbGFjZSBpdC4gRGVsZXRpbmcgdGhpcyBlbGVtZW50IHNvIHdlIGNhbiBzdXBwb3J0IE9wZW5DViAzLjEKCSAgd2l0aG91dCBidWlsZCBpc3N1ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjYgMTY6NTI6MzcgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguY3BwOgoJICBvcGVuY3Y6IGdzdGN2c21vb3RoOiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB0aGUgdXNlIHRoZSBjbGFzcyBjb25zdHJ1Y3RvciBNYXQgaXMgZWxpbWluYXRlZCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDEtMjcgMTA6MDU6MTMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkgIG9wZW5jdjogZ3JhYmN1dDogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdXNpbmcgdGhlIGNsYXNzIE1hdCBjb25zdHJ1Y3RvciBpcyBlbGltaW5hdGVkLCBiZWNhdXNlIGlzIGRlcHJlY2F0ZWQKCSAgaW4gMy5YIHZlcnNpb25zLiBUaGUgdXNlIHRoZSB1c2luZyBuYW1lc3BhY2UgY3YgYmVjYXVzZSBpcyBjYWxsZWQgc29tZQoJICBmdW5jdGlvbnMgbWFueSB0aW1lcy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI3IDE1OjM3OjM5ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSAgb3BlbmN2OiBmYWNlYmx1cjogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdmFyclRvTWF0KCkgaXMgYWRkZWQgYmVjYXVzZSBpdCBpcyBjb21wYXRpYmxlIHdpdGggYWxsIHZlcnNpb25zIG9mIE9wZW5jdgoJICBhbmQgdGhlIHVzZSBvZiB0aGUgY2xhc3MgY29uc3RydWN0b3IgTWF0IGlzIGVsaW1pbmF0ZWQgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gSW5jbHVkZWQgJ3VzaW5nIG5hbWVzcGFjZSBzdGQnIGJlY2F1c2UgaXQgaXMgbmVlZGVkIGZvciB0aGUKCSAgVmVjdG9yIGNsYXNzIGluIDMuWCB2ZXJzaW9ucy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI3IDE1OjUxOjM3ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGhhbmRkZXRlY3Q6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEKCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHRoZSB1c2Ugb2YgdGhlIGNsYXNzIGNvbnN0cnVjdG9yIE1hdCBpcyBlbGltaW5hdGVkIGJlY2F1c2UgaXMgZGVwcmVjYXRlZAoJICBpbiAzLlggdmVyc2lvbnMuIEluY2x1ZGVkICd1c2luZyBuYW1lc3BhY2Ugc3RkJyBiZWNhdXNlIGl0IGlzIG5lZWRlZCBmb3IgdGhlCgkgIHZlY3RvciBjbGFzcyBpbiAzLlggdmVyc2lvbnMuIFRoaXMga2VlcHMgY29tcGF0aWJpbGl0eSB3aXRoIDIuNC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDQ3MwoKMjAxNi0wMS0yNyAxNjo1MToxMyArMDEwMCAgVmFuZXNzYSBDaGlwaXJyYXMgTmF2YWxvbiA8dmFuZWNoaXBpQHF0ZWMuY29tPgoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSAgb3BlbmN2OiByZXRpbmV4OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgIGN2YXJyVG9NYXQoKSBpcyBhZGRlZCBiZWNhdXNlIGl0IGlzIGNvbXBhdGlibGUgd2l0aCBhbGwgdmVyc2lvbnMgb2YgT3BlbmN2CgkgIGFuZCB1c2luZyB0aGUgY2xhc3MgY29uc3RydWN0b3IgTWF0IGlzIGVsaW1pbmF0ZWQgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI4IDE2OjE5OjQ2ICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkgIG9wZW5jdjogZGlzcGFyaXR5OiBQb3J0ZWQgdG8gT3BlbkNWIHZlcnNpb24gMy4xCgkgICdNRVRIT0RfVkFSJywgJ01FVEhPRF9HQycgaXMgcmVtb3ZlZCBiZWNhdXNlIHRoZXJlIGFyZW4ndCBlcXVpdmFsZW50IGZ1bmN0aW9ucwoJICBpbiBuZXcgT3BlbkNWIHZlcnNpb25zLiAnaW1nX3JpZ2h0X2FzX2N2TWF0X3JnYicsICdpbWdfbGVmdF9hc19jdk1hdF9yZ2InIGFuZAoJICAnZGVwdGhfbWFwX2FzX2N2TWF0MicgdmFyaWFibGVzIGlzIHJlbW92ZWQgYmVjYXVzZSB0aGVzZSBhcmVuJ3QgdXNlZC4KCSAgY3ZhcnJUb01hdCgpIGlzIGFkZGVkIGJlY2F1c2UgaXQgaXMgY29tcGF0aWJsZSB3aXRoIGFsbCB2ZXJzaW9ucyBvZiBPcGVuY3YKCSAgYW5kIHVzaW5nIHRoZSBjbGFzcyBNYXQgY29uc3RydWN0b3IgaXMgZWxpbWluYXRlZCwgYmVjYXVzZSBpcyBkZXByZWNhdGVkCgkgIGluIDMuWCB2ZXJzaW9ucy4gVGhlIHVzZSAndXNpbmcgbmFtZXNwYWNlIGN2JyBiZWNhdXNlIGlzIGNhbGxlZCBzb21lCgkgIGZ1bmN0aW9ucyBtYW55IHRpbWVzLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDItMDEgMTM6NTg6NDkgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycmFzIE5hdmFsb24gPHZhbmVjaGlwaUBxdGVjLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkgIG9wZW5jdjogc2tpbmRldGVjdDogUG9ydGVkIHRvIE9wZW5DViB2ZXJzaW9uIDMuMQoJICBjdkNWUGl4VG9QbGFuZSgpIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gT3BlbkNWIDMuMCwgYW5kIHRoZXJlIGlzCgkgIGZ1bmN0aW9uIHRvIHJlcGxhY2UgaXQgY3ZTcGxpdCgpLiBUaGUgaW5jbHVkZSBjb21wYXQuaHBwIGlzIGRlbGV0ZWQgYmVjYXVzZQoJICBpbiAzLlggdmVyc2lvbnMgZG9lbid0IGV4aXN0IGFuZCBpdCBpc24ndCBuZWNlc3NhcnkgZm9yIDIuNC5YIHZlcnNpb25zCgkgIGluIHRoaXMgZWxlbWVudC4gVGhpcyBrZWVwcyBjb21wYXRpYmlsaXR5IHdpdGggMi40LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNDczCgoyMDE2LTAxLTI4IDE3OjQwOjUxICswMTAwICBWYW5lc3NhIENoaXBpcnJhcyBOYXZhbG9uIDx2YW5lY2hpcGlAcXRlYy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJICBvcGVuY3Y6IFBvcnRlZCB0byBPcGVuQ1YgdmVyc2lvbiAzLjEgT3BlbkNWCgkgIGNvbmZpZ3VyZS5hYyB3YXMgY2hhbmdlZCB0byB3b3JrIHdpdGggbmV3IHZlcnNpb25zIG9mIE9wZW5DViAzLlguCgkgIEEgbmV3IGluY2x1ZGUgaXMgYWRkZWQgZ3N0b3BlbmN2dXRpbHMuY3BwIGJlY2F1c2UgaXQgY29udGFpbnMKCSAgdGhlIHByZXZpb3VzLiBUaGlzIGtlZXBzIGNvbXBhdGliaWxpdHkgd2l0aCAyLjQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA0NzMKCjIwMTYtMDMtMzAgMTA6MzQ6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IFRoZXJlJ3Mgbm8gcG9pbnQgaW4gcmVhZC1vbmx5IENPTlNUUlVDVCBwcm9wZXJ0aWVzCgkgIEFuZCBjcmVhdGluZyBvbmUgaXMgY2F1c2luZyBhc3NlcnRpb25zLiBBbHNvIGdldCByaWQgb2YgdGhlIG90aGVyIENPTlNUUlVDVAoJICBwcm9wZXJ0eSBhcyBpdCdzIGEpIHVubmVlZGVkIGZvciBkZWZhdWx0IGluaXRpYWxpemF0aW9uIGFuZCBiKSB5b3UncmUgbm90CgkgIHN1cHBvc2VkIHRvIHVzZSBjb25zdHJ1Y3RvciBwcm9wZXJ0aWVzIHdoZW4gY3JlYXRpbmcgZWxlbWVudCBpbnN0YW5jZXMgYW5kIHRoZQoJICBHU3RyZWFtZXIgQVBJIGRvZXNuJ3QgcHJvdmlkZSBkaXJlY3Qgd2F5cyBmb3IgZG9pbmcgc28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQzMzkKCjIwMTYtMDMtMDcgMTQ6NTc6MzUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleGRlYzogU2ltcGxpZnkgbmVnb3RpYXRpb24gY29kZQoJICBObyBuZWVkIHRvIHVzZSBhIHdoaWxlKCkgbG9vcCBpZiB3ZSdyZSBnb2luZyBvbmx5IGdvaW5nIHRvIHVzZQoJICB0aGUgZmlyc3Qgc3RydWN0dXJlIG9mIHRoZSBjYXBzIC4uLgoJICBDSUQgIzEzNDE3NDgKCjIwMTYtMDMtMjggMTM6NTI6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IGxlYWsgaW4gdW5pdCB0ZXN0CgkgIEdTVF9QQURfUFJPQkVfSEFORExFRCBtZWFucyB0aGF0IHdlIHNob3VsZCd2ZSB1bnJlZmZlZCB0aGUgcHJvYmUgZGF0YSwKCSAgaXQgd2FzIGhhbmRsZWQgYnkgdXMgaW4gb25lIHdheSBvciBhbm90aGVyLgoKMjAxNi0wMy0yOCAwODo0NjoxMCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIHNvbWUgbW9yZSB0ZXN0IHRlbXBvcmFyeSBmaWxlcwoKMjAxNi0wMy0yOCAwODo0NTo0NSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0cy9jb21wb3NpdG9yOiBBZGQgdGVzdCBmb3IgYWdncmVnYXRvciBwYWQgbnVtYmVyaW5nCgkgIFRlc3RzIHRoYXQgdGhlIGJlaGF2aW91ciBpbiA3YTVjYjVhNDczIGlzIGJlaW5nIGNvbmZvcm1lZCB0by4KCjIwMTYtMDMtMjcgMTk6MDY6NTAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHN0cmNtcCB0ZXN0IGZvciBzaW5rIHRlbXBsYXRlCgoyMDE2LTAzLTI3IDE4OjQxOjMwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvbid0IHRyeSB0byBiZSB0b28gc21hcnQgd2hpbGUgYWxsb2NhdGluZyBwYWQgbmFtZXMKCSAgUHJldmlvdXNseSwgd2hpbGUgYWxsb2NhdGluZyB0aGUgcGFkIG51bWJlciBmb3IgYSBuZXcgcGFkLCBhZ2dyZWdhdG9yIHdhcwoJICBtYWludGFpbmluZyBhbiBpbnRlcmVzdGluZyByZWxhdGlvbnNoaXAgYmV0d2VlbiB0aGUgcGFkIGNvdW50IGFuZCB0aGUgcGFkCgkgIG51bWJlci4KCSAgSWYgeW91IHJlcXVlc3RlZCBhIHNpbmsgcGFkIGNhbGxlZCAic2lua182IiwgcGFkY291bnQgKHdoaWNoIGlzIGJhZGx5IG5hbWVkIGFuZAoJICBhY3R1YWxseSBtZWFucyBudW1iZXItb2YtcGFkcy1taW51cy1vbmUpIHdvdWxkIGJlIHNldCB0byA2LiBXaGljaCBtZWFucyB0aGF0IGlmCgkgIHlvdSB0aGVuIHJlcXVlc3RlZCBhIHNpbmsgcGFkIGNhbGxlZCAic2lua18wIiwgaXQgd291bGQgYmUgYXNzaWduZWQgdGhlIG5hbWUKCSAgInNpbmtfNiIgYWdhaW4sIHdoaWNoIGZhaWxzIHRoZSBub24tdW5pcXVlbmVzcyB0ZXN0IGluc2lkZSBnc3RlbGVtZW50LmMuCgkgIFRoaXMgY2FuIGJlIGZpeGVkIGJ5IGluc3RlYWQgc2V0dGluZyBwYWRjb3VudCB0byBiZSA3IGluIHRoYXQgY2FzZSwgYnV0IHRoaXMKCSAgYnJlYWtzIG1hbnVhbCBtYW5hZ2VtZW50IG9mIHBhZCBuYW1lcyBieSB0aGUgYXBwbGljYXRpb24gc2luY2UgaXQgdGhlbiBiZWNvbWVzCgkgIGltcG9zc2libGUgdG8gcmVxdWVzdCBhIHBhZCBjYWxsZWQgInNpbmtfMiIuIEluc3RlYWQsIHdlIGZpeCB0aGlzIGJ5IGFsd2F5cwoJICBkaXJlY3RseSB1c2luZyB0aGUgcmVxdWVzdGVkIG5hbWUgYXMgdGhlIHNpbmsgcGFkIG5hbWUuIFVuaXF1ZW5lc3Mgb2YgdGhlIHBhZAoJICBuYW1lIGlzIHRlc3RlZCBzZXBhcmF0ZWx5IGluc2lkZSBnc3RyZWFtZXIgY29yZS4gSWYgbm8gbmFtZSBpcyByZXF1ZXN0ZWQsIHdlIHVzZQoJICB0aGUgbmV4dCBhdmFpbGFibGUgcGFkIG51bWJlci4KCSAgTm90ZSB0aGF0IHRoaXMgaXMgaW1wb3J0YW50IHNpbmNlIHRoZSBzaW5rcGFkIG51bWJlcmluZyBpbiBhZ2dyZWdhdG9yIGlzIG5vdAoJICBtZWFuaW5nbGVzcy4gVmlkZW9hZ2dyZWdhdG9yIHVzZXMgaXQgdG8gZGVjaWRlIHRoZSBaLW9yZGVyIG9mIHZpZGVvIGZyYW1lcy4KCjIwMTYtMDItMjMgMTU6MTE6MzYgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L2x2Mi9nc3RsdjJmaWx0ZXIuYzoKCSAgbHYyOiBQb3J0IGZpbHRlcnMgdG8gR1N0cmVhbWVyIDEuMCBhbmQgdXNlIGxpbHYgaW5zdGVhZCBvZiBzbHYyCgkgIFByb3Blcmx5IHNlcGFyYXRlIGZpbGVzIGFzIHdlIHdpbGwgbm90IGhhdmUgb25seSBvbmUgc2luZ2xlIGJhc2UgY2xhc3MKCSAgZm9yIGFsbCBlbGVtZW50cyBhcyB3ZSB1c2VkIHRvIHdpdGggMC4xMCwgYnV0IHRoZSBzYW1lIHdheSBpdCBpcyBkb25lCgkgIHdpdGggbGFkc3BhLCB3ZSBzdWJjbGFzcyBHc3RBdWRpb0ZpbHRlciwgR3N0QmFzZVNvdXJjZSBldGMuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODIwNwoKMjAxNi0wMy0yNyAxNDoyOTo1OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IEZpeCBsb2dnaW5nIGluIGJhc2Ugd2lkZ2V0IGFuZCBmaXggZGVzYyBvZiBHTCBzaW5rCgkgIFNldCBhIGRlZmF1bHQgY2F0ZWdvcnkgZm9yIGd0a2dzdGJhc2V3aWRnZXQgbGVzdCB0aGUgbG9nZ2luZyBnbyB0byB0aGUgJ2RlZmF1bHQnCgkgIGNhdGVnb3J5IHdoZXJlIGl0IGNhbid0IGJlIGZvdW5kIGVhc2lseQoKMjAxNi0wMy0yNyAwMzoxMTo0NSArMDIwMCAgWWFubiBKb3VhbmluIDx5am9Ad2l0YmUubmV0PgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmMgcGx1Z2luIDogYWRkIHRpbWVvdXQgb3B0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjQyNTEKCjIwMTYtMDMtMTggMTM6MzU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEluc3RlYWQgb2YgcmVsZWFzaW5nIHJlcXVlc3QgcGFkcyBvbiBzdG9wKCksIGNsZWFyIHRoZW0gb25seQoJICBSZXF1ZXN0IHBhZHMgYXJlIHJlcXVlc3RlZCBieSBhcHBsaWNhdGlvbnMgYW5kIGFzIHN1Y2ggc2hvdWxkIG9ubHkgYmUgcmVsZWFzZWQKCSAgYnkgdGhlbSBhZ2Fpbi4gSW5zdGVhZCBvZiByZWxlYXNpbmcgdGhlbSB3aGVuIHN0b3BwaW5nIHRoZSBtdXhlciwganVzdCBjbGVhcgoJICB0aGVpciBzdGF0ZSBzbyB0aGF0IHRoZXkgY2FuIGJlIHVzZWQgYWdhaW4gd2hlbiBzdGFydGluZyB0aGUgbXV4ZXIgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NjIKCjIwMTYtMDMtMDUgMDk6NDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEFkZCBpc19saXZlIGZsYWcgdG8gdGhlIEdzdFBsYXllck1lZGlhSW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTI2CgoyMDE2LTAyLTI5IDExOjM5OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZHAvZ3N0c2Rwc3JjLmM6CgkqIGdzdC9zZHAvZ3N0c2Rwc3JjLmg6CgkgIHNkcDogQWRkIG5ldyBzZHBzcmMgZWxlbWVudAoJICBUaGlzIGNhbiByZWFkIGZyb20gYW4gU0RQIGZpbGUgb3IgZ2V0IHRoZSBTRFAgZGF0YSB2aWEgcHJvcGVydHkuIFdvcmtzCgkgIGFyb3VuZCB0aGUgcHJvYmxlbSB0aGF0IHNkcGRlbXV4IGluc2lkZSBkZWNvZGViaW4gZmFpbHMgYmVjYXVzZSB0aGUKCSAgR1NUX1NUQVRFX0NIQU5HRV9OT19QUkVST0xMIGlzIG5vdCBvYnNlcnZlZCBieSB0aGUgcGlwZWxpbmUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNDk1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NjAKCjIwMTYtMDMtMjUgMTc6NDk6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrL2dsOiBkb24ndCBhc3NlcnQgd2hlbiBnZGsgZG9lc24ndCBwcm92aWRlIGEgR0wgY29udGV4dAoJICBBbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvIGNoZWNrIHdoZXRoZXIgZ3RrZ2xzaW5rIGlzIHN1cHBvcnRlZCBieSBzZXR0aW5nCgkgIHRoZSBlbGVtZW50IHRvIFJFQURZLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzY0MTQ4CgoyMDE2LTAzLTA3IDE5OjQxOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBwbHVnIEVJVCBzdHJpbmcgbGVhawoKMjAxNi0wMy0wNyAxOTowNjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHVucmVmIHBhdCB0YWJsZSBhZnRlciB1c2FnZQoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgR1B0ckFycmF5IG9mIHRoZSBQQVQgdGFibGUgYWZ0ZXIKCSAgdXNlCgoyMDE2LTAzLTA0IDIwOjA1OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogcGx1ZyBzb21lIGxlYWtzCgkgIFBsdWcgdmFyaW91cyBsZWFrcyBpbiBkdmJiYXNlYmluLgoKMjAxNi0wMy0wMyAxMTozMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogc2ltcGxpZnkgdmFyaWFibGUgcmVzZXQKCSAgSnVzdCBzZXQgaXQgZGlyZWN0bHkgdG8gMCwgaW5zdGVhZCBvZiBjaGVja2luZyBhbmQgcmVzZXRpbmcKCjIwMTYtMDMtMDEgMTg6MjE6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcHJpbnQgdGltZSBpbiBzYW1lIGZvcm1hdAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gY29tcGFyZQoKMjAxNi0wMy0xNSAxNjoyMjo1OSAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGM6IHVzZSBnX3NsaWNlX25ldyBpbnN0ZWFkIG9mIGdfc2xpY2VfbmV3MAoJICBJbiBtYW55IGNhc2VzLCB3ZSB1c2UgZ19zbGljZV9uZXcwIGFuZCB0aGVuIGltbWVkaWF0ZWx5IG92ZXJ3cml0ZSB0aGUKCSAgYWxsb2NhdGVkIG1lbW9yeS4gVGhpcyBpcyBpbmVmZmljaWVudC4gU2luY2Ugd2UncmUgZ29pbmcgdG8gaW1tZWRpYXRlbHkKCSAgb3ZlcndyaXRlIGl0LCB3ZSBtaWdodCBhcyB3ZWxsIHVzZSBwbGFpbiBnX3NsaWNlX25ldy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mzk5OAoKMjAxNi0wMy0xMCAwODo1MDoyOCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogcG9zdCBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uIGZvciB1bmhhbmRsZWQga2V5Ym9hcmQvbW91c2UgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDMKCjIwMTYtMDMtMTAgMDg6NDk6MDEgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogcG9zdCBtZXNzYWdlIHRvIGFwcGxpY2F0aW9uIGZvciB1bmhhbmRsZWQga2V5Ym9hcmQvbW91c2UgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM0MDMKCjIwMTYtMDMtMTAgMDg6NDQ6NTcgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a2Jhc2VzaW5rOiBwb3N0IG1lc3NhZ2UgdG8gYXBwbGljYXRpb24gZm9yIHVuaGFuZGxlZCBrZXlib2FyZC9tb3VzZSBldmVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzQwMwoKMjAxNi0wMy0wMyAyMDoxMDoxNiArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuaDoKCSAgYWhjc3JjOiByZW1vdmUgcHJvYmVfcHJvcGVydGllcwoJICBJdCdzIGEgcmVzaWR1ZSBvZiAwLjEwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMTAwCgoyMDE2LTAzLTA0IDE1OjUwOjI2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0LmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0dG9uZWdlbmVyYXRlc3JjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBlbmMuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZXJyb3JpZ25vcmUuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbmV0c2ltL2dzdG5ldHNpbS5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmcGFyc2UuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSAgYmFkOiB1c2UgbmV3IGdzdF9lbGVtZW50X2NsYXNzX2FkZF9zdGF0aWNfcGFkX3RlbXBsYXRlKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA4MQoKMjAxNi0wMy0wNyAxNzoyMzoyMyAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IGVsaW1pbmF0ZSBBSEMqX0NBTEwgbWFjcm9zCgkgIEN1cnJlbnRseSwgd2UgdXNlIEFIQypfQ0FMTCBtYWNyb3MgdG8gY2FsbCBtYW55IG9mIHRoZSBDYW1lcmEgZnVuY3Rpb25zLgoJICBIb3dldmVyLCB3ZSBhbHJlYWR5IGhhdmUgaGVscGVyIGNsYXNzZXMgdG8gY2FsbCB0aGUgQ2FtZXJhIGZ1bmN0aW9ucywgc28KCSAgZWxpbWluYXRlIHRoZSBtYWNyb3MuCgkgIEFzIGEgbmljZSBzaWRlLWJlbmVmaXQsIHdlIGFsc28gZ2V0IGltcHJvdmVkIGVycm9yIGhhbmRsaW5nIGFuZAoJICByZXBvcnRpbmcgd2hlbiBzb21ldGhpbmcgZ29lcyB3cm9uZyBjYWxsaW5nIHRoZXNlIGZ1bmN0aW9ucywgYmVjYXVzZSBhCgkgIEdFcnJvciBnZXRzIHBvcHVsYXRlZCwgYW5kIHdlIGxvZyBhIEdTVF9FUlJPUiB3aGVuIHNvbWV0aGluZyBmYWlscy4gVGhpcwoJICB3YXMgaGFyZGVyIHRvIGRvIHVzaW5nIG1hY3JvcywgYXMgYWxsIGVycm9yIGhhbmRsaW5nIHdhcyBoaWRkZW4gZnJvbSB0aGUKCSAgY2FsbGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMDY1CgoyMDE2LTAyLTE4IDExOjI5OjA2IC0wODAwICBNYXJ0aW4gS2VsbHkgPG1hcnRpbkBzdXJyb3VuZC5pbz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogdXNlIGdzdCB1bnJlZiBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xOCAxNDowODoxMyAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IHVzZSBnc3QgbmV3IG9iamVjdCBmdW5jdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMy0xNyAxMzo0NDoxMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiB3aXRoIGZpeGVkIGZyYW1lcmF0ZSBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5MjQKCjIwMTYtMDMtMjQgMTQ6MDg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBnbC9ndGs6IEZpeCBjb21waWxlciB3YXJuaW5nIGluIGV4YW1wbGUKCSAgZnh0ZXN0LmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CgkgIGZ4dGVzdC5jOjE5MDozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZSBbLVdlcnJvcj1kZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnRdCgkgIEd0a1dpZGdldCAqd2luZG93OwoJICBefn5+fn5+fn4KCjIwMTYtMDMtMjQgMTM6MzM6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuOC4wID09PQoKMjAxNi0wMy0yNCAxMjozMzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9taXhlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjguMAoKMjAxNi0wMy0yNCAxMjowNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTIzIDEzOjQzOjQ2ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBNaW5vciBzdHJpbmcgZml4CgoyMDE2LTAzLTIzIDIyOjEzOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiBWS19BUElfVkVSU0lPTiBoYXMgYmVlbiByZW1vdmVkCgkgIEluIGEgc3RhYmxlIHJlbGVhc2UgdG9vLCBuYXVnaHR5LgoJICBVc2UgVktfQVBJX1ZFUlNJT05fMV8wIGluc3RlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2NDA2NgoKMjAxNi0wMy0yMiAwNzoyMDo1OSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdsL3Byb3RvOiBzeW5jIG9wZXJhdGlvbnMgYXJlIGF2YWlsYWJsZSBvbiBHTEVTIDMuMAoJICBXaXRob3V0IHRoZSBHU1RfR0xfQVBJX0dMRVMyIGJpdCBzZXQsIHdlIHdpbGwgbm90IGV2ZW4gYXR0ZW1wdCB0byBsb29rCgkgIGZvciB0aGUgZnVuY3Rpb24gcG9pbnRlcnMgaW4gdGhlIGNvcmUgbGlicmFyeSBhbmQgd2lsbCBmYWxsYmFjayB0bwoJICBnbEZsdXNoL2dsRmluaXNoLgoKMjAxNi0wMy0yMiAwNzoxNjozNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC9idWlsZDogYWRkIEdTVF9HTF9IQVZFX0RNQUJVRiB0byBnc3RnbGNvbmZpZy5oCgkgIGl0J3MgZXhwb3NlZCBpbiBwdWJsaWMgQVBJIHNvIGhpZGluZyBpdCBpbiBhbiBBQ19ERUZJTkUgZm9yIGNvbmZpZy5oIG9ubHkKCSAgd29ya3Mgd2hlbiBidWlsZGluZyBsaWJnc3RnbCBpdHNlbGYuICBBdHRlbXB0aW5nIHRvIHVzZSBsaWJnc3RnbCAoZXNwZWNpYWxseQoJICBvbiBlZ2wgcGxhdGZvcm1zKSB3aWxsIHRocm93IGEgY29tcGlsYXRpb24gZXJyb3IuCgoyMDE2LTAzLTIxIDE1OjIyOjE1ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggcXVlcnkgbWVtb3J5IGxlYWsKCSAgUGVlciBxdWVyeSBpc24ndCBiZWluZyBmcmVlZCBpbiBjYXNlIG9mIEdTVF9RVUVSWV9TRUVLSU5HLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzOTc0CgoyMDE2LTAzLTE4IDE5OjQ1OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSAgdnVsa2FuOiBTaGlwIG1pc3NpbmcgaGVhZGVycyB3aXRoIHRhcmJhbGxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM4NzcKCjIwMTYtMDMtMTcgMTk6MjQ6MzIgKzAwMDAgIEFsZWtzYW5kZXIgV2FiaWsgPGF3YWJpa0BvcGVyYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY0cGFyc2UsIGgyNjVwYXJzZTogZml4IGhhbmRsaW5nIG9mIGRvd25zdHJlYW0gZm9yY2Uta2V5LXVuaXQgZXZlbnRzCgkgIFRoZSBwYXJzZXIgaGFuZGxlcyB0aGUgZG93bnN0cmVhbSBmb3JjZS1rZXktdW5pdCBldmVudCBpbmNvcnJlY3RseSwKCSAgaXQgdHJpZXMgdG8gcGFyc2UgaXQgYXMgYW4gdXBzdHJlYW0gZm9yY2Uta2V5LXVuaXQgZXZlbnQsIGRvZXMgbm90CgkgIGNoZWNrIHRoZSByZXR1cm4gdmFsdWUsIGFuZCB0aGVuIHVzZXMgdW5pbml0aWFsaXplZCBtZW1vcnkgaW4KCSAgImFsbF9oZWFkZXJzIiBib29sZWFuIHZhcmlhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzkzCgoyMDE2LTAzLTE3IDIyOjQzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVuc2V0IEdMX1VOUEFDS19ST1dfTEVOR1RIIGluIG9wZW5nbDMKCSAgSWYgdGhlIHVzZXIgdXBsb2FkcyB0aGVpciBvd24gdGV4dHVyZSB3aXRob3V0IHNldHRpbmcgdGhlIHVucGFjayBsZW5ndGgsIHRoZW4KCSAgdGhlbiB0aGUgcmVzdWx0IHdpbGwgaGF2ZSB0aGUgYXBwZWFyYW5jZSBvZiBzdHJpZGUgbWlzbWFuYWdlbWVudCBkdWUgdG8KCSAgYW4gaW5jb3JyZWN0IHJvdyBsZW5ndGguCgoyMDE2LTAzLTE3IDE2OjM0OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9xdDogcmVzdHJpY3QgdGhlIEdMIEFQSSB0byBvcGVuZ2wgd2hlcmUgbmVlZGVkCgkgIFVudGlsIHRoZSBleGFtcGxlcyBhcmUgcG9ydGVkIHRvIG9wZW5nbDMvZ2xlczIsIHRoZXkgd2lsbCBub3Qgd29yayB3aXRoIGFueQoJICBvdGhlciBHTCBhcGkuCgoyMDE2LTAzLTE3IDE2OjMxOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSAgZ2wvZXhhbXBsZXMvZ3RrOiBjYWxsIFhJbml0VGhyZWFkcwoJICBGaXhlcyBzb21lIHNwb3JhZGljIFgxMSB0aHJlYWRpbmcgYXNzZXJ0aW9ucy4KCjIwMTYtMDMtMTcgMDM6MDY6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsdXRpbHM6IHJlbW92ZSBjdXN0b20gY29kZSBmb3Igc2V0dGluZyBjYXBzIGZlYXR1cmVzCgkgIEp1c3QgdXNlIGdzdF9jYXBzX3NldF9mZWF0dXJlcygpIGluc3RlYWQuCgoyMDE2LTAzLTE3IDAxOjUyOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IG9ubHkgYWxsb3cgdGhlIHNhbWUgc3JjL3NpbmsgY2FwcyB3aGVuIHdlIGFyZSBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIElmIHdlIGFyZSBnaXZlbiBjYXBzIHdpdGggZXh0cmEgZmVhdHVyZXMgKGxpa2UgdGhlIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgZmVhdHVyZXMpLCB3ZSBjYW4gb25seSBkZWFsIHdpdGggdGhhdCB3aGVuIHdlIGFyZSBpbiBwYXNzdGhyb3VnaCBtb2RlLgoJICBQcmV2aW91c2x5IHdlIHdlcmUgYmFpbGluZyBlbnRpcmVseSBhbmQgbm90IGFsbG93aW5nIHBhc3N0aHJvdWdoIGZpbHRlciBlbGVtZW50cwoJICB3aXRoIHRoaW5ncyBsaWtlIHRleHRvdmVybGF5LgoJICBGaXhlcyB0aGUgZm9sbG93aW5nIHBpcGVsaW5lIChhc3N1bWluZyBnbGZpbHRlciBzdXBwb3J0cyBwYXNzdGhyb3VnaCk6CgkgIGdsICEgdGV4dG92ZXJsYXkgISBnbGZpbHRlciAhIC4uLiAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNzU2CgoyMDE2LTAzLTE2IDIyOjQ4OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGRlYWwgd2l0aCB0aGUgQU5ZIGNhcHMgZmVhdHVyZSBjb3JyZWN0bHkKCSAgV2hlbiB0cmFuc2Zvcm1pbmcsIHhwbG9kZSBpdCBvdXQgaW50byB0aGUgbmVjZXNzYXJ5IGNhcHMgZmVhdHVyZXMgYm90aAoJICB3aXRoIGFuZCB3aXRob3V0IHRoZSBwYXNzdGhvdWdoIGZlYXR1cmVzLgoJICBGaXhlcyBuZWdvdGlhdGlvbiBpbiB0aGUgZm9sbG93aW5nIGNsYXNzIG9mIHBpcGVsaW5lczoKCSAgZ2wgISB0ZXh0b3ZlcmxheSAhIGdsdXBsb2FkICEgZ2xpbWFnZXNpbmtlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM3NTYKCjIwMTYtMDMtMTYgMjI6MTk6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJICB3YXlsYW5kOiBmaXggbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIG9uIGVycm9yCgkgIGdub21lLXNoZWxsIGRvZXNuJ3QgdGhlIHN1cHBvcnQgd2xfc2NhbGVyIGludGVyZmFjZSB3aGljaCBtYWtlcyBjcmVhdGluZyBhCgkgIHdheWxhbmQgZGlzcGxheSBmYWlsIGNyZWF0aW9uLgoJICBGb3VuZCBpbiB0aGUgZ2VuZXJpYyBzdGF0ZSBjaGFuZ2VzIHRlc3QKCjIwMTYtMDMtMTYgMjI6MTY6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJICBnbHN0ZXJlb3ttaXgsc3BsaXR9OiBhbGxvdyBydW5uaW5nIG9uIEdMRVMgMi8zCgkgIEl0J3MgbW9zdGx5IHN1cHBvcnRlZCBmb3IgR0xFUyAyLngsIGZ1bGx5IHN1cHBvcnRlZCBvbiBHTEVTIDMueAoKMjAxNi0wMy0xNiAxMjowMzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBXYXJuIGlmIHRoZSBwb3NpdGlvbiByZXBvcnRlZCBieSBPcGVuU0wgaXMgaGlnaGVyIHRoYW4gd2hhdCB3ZSBxdWV1ZWQgdXAgc28gZmFyCgkgIFRoaXMgd291bGQgaGludCBhdCB3cm9uZyBwb3NpdGlvbiByZXBvcnRpbmcsIGFuZCBhcHBhcmVudGx5IHNvbWV0aW1lcyBoYXBwZW5zCgkgIGFmdGVyIGEgc2Vlay4KCjIwMTYtMDMtMTYgMTE6MzQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgIG14Zm11eDogRml4IHR5cG8gaW4gSlBFRzIwMDAgY29sb3JzcGFjZQoJICBzUkdDIC0+IHNSR0IKCj09PSByZWxlYXNlIDEuNy45MSA9PT0KCjIwMTYtMDMtMTUgMTI6MTM6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjkxCgoyMDE2LTAzLTE1IDExOjU2OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTYtMDMtMTIgMTU6NDQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgdmlkZW8veC1oMjY1IHRvIHRlbXBsYXRlIGNhcHMKCjIwMTYtMDMtMTIgMDM6MDA6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzOiBEb24ndCBsZWF2ZSBmcmVlZCBwcm9ncmFtcyBpbiB0aGUgaGFzaCB0YWJsZQoJICBXaGVuIHRoZSBzdWItY2xhc3MgY2xhaW1zIGEgcHJvZ3JhbSBmb3IgbGF0ZXIgZnJlZWluZywgbWFrZQoJICBzdXJlIGl0J3Mgbm90IGxlZnQgaW4gdGhlIGhhc2ggdGFibGUsIG9yIGl0IGNhbiBjYXVzZSBjcmFzaGVzIG9uIHNodXRkb3duLgoJICBNYWtlIHN1cmUgdHNkZW11eCBmcmVlcyBhbnkgcHJvZ3JhbSBpdCBoYXMga2VwdCBhcm91bmQgYXQgc2h1dGRvd24KCSAgaWYgaXQgd2Fzbid0IGZyZWVkIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjM1MDMKCjIwMTYtMDMtMTEgMTc6MzQ6MDMgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NTogRml4IHNlZ2ZhdWx0IHdoaWxlIHRyYW5zZm9ybWluZyBoZXZjIHRvIG5hbCBhbGlnbmVkIGJ5dGVzdHJlYW0KCSAgQ3JlYXRlIHRlbXBvcmFyeSBQYXJzZUZyYW1lIGFuZCBjb3B5IHRoZSBuYWwgc2l6ZSBidWZmZXIgcmVnaW9uCgkgIGZvciBlYWNoIG5hbCB1bml0IGxpa2Ugd2UgZGlkIGZvciBoMjY0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDk0CgoyMDE2LTAzLTExIDEwOjA4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jOiBDb3JyZWN0bHkgaGFuZGxlIE5VTEwgaW5wdXQgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAxCgoyMDE2LTAzLTExIDEwOjAwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbWN2aWRlb2RlYzogZ2V0T3V0cHV0QnVmZmVycygpIHJldHVybnMgYSBOVUxMIGFycmF5IHdoZW4gYSBzdXJmYWNlIHdhcyBjb25maWd1cmVkCgkgIFNvIGRvbid0IGVycm9yIG91dCBpZiBpdCBkb2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzNDAxCgoyMDE2LTAzLTExIDAxOjQwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgZ2xlZmZlY3RzOyBnaXZlIGVhY2ggZWZmZWN0IGEgdW5pcXVlIGxvbmcgbmFtZSBhbmQgZGVzY3JpcHRpb24KCSAgR2l2ZXMgYXBwbGljYXRpb25zIHRoYXQgc2NyYXBlIHRoZSBmYWN0b3J5IGRldGFpbHMgbW9yZSBkZXRhaWxlZCBhbmQgdW5pcXVlCgkgIGRldGFpbHMgb24gdGhlIGV4YWN0IGVsZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NjYKCjIwMTYtMDMtMTAgMTc6NDY6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkgIGdsc2hhZGVyOiBzb21lIGNvbXBhdGliaWxpdHkgY2hhbmdlcyBmb3IgR0wgMS40CgkgIEdMIDEuNCAod2l0aCBHTF9BUkJfc2hhZGVyX29iamVjdHMpIGRvZXNuJ3QgaGF2ZSBnbElzUHJvZ3JhbSBvciBnbElzU2hhZGVyCgkgIGVxdWl2YWxlbnRzLiAgQXMgdGhleSBhcmUgc2ltcGx5IGFzc2VydGlvbnMsIHNraXAgdGhlbSB3aGVuIHRoZXJlIGlzbid0IGEKCSAgdmFsaWQgZnVuY3Rpb24gcG9pbnRlci4KCjIwMTYtMDMtMTAgMDA6Mjk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBnbGZpbHRlcmFwcDogdXBkYXRlIGZvciB0aGUgdXNlIG9mIHNoYWRlcnMKCSAgRml4ZXMgYmxhY2sgb3V0cHV0IHdoZW4gcGxhY2VkIGluIHBpcGVsaW5lcyAodXNpbmcgdGhlIGRlZmF1bHQgZHJhd2luZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMzNjUKCjIwMTYtMDMtMTAgMDA6Mjc6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IHJldHJpZXZlIHRoZSBzaGFkZXIgYXR0cmlidXRlcyBmcm9tIHRoZSBHTCB0aHJlYWQKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgcmVjZWl2ZSBib2d1cyB2YWx1ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzM2NQoKMjAxNi0wMy0xMCAwMDoyNDo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzL2N1YmUqOiBjaG9vc2Ugb3BlbmdsIGJ5IGRlZmF1bHQKCSAgVGhlIGV4YW1wbGVzIGRvbid0IHdvcmsgd2l0aCBhbnkgb3RoZXIgR0wgQVBJLgoJICBBbHNvIGZpeCB0aGUgeXV2IGV4YW1wbGUgdG8gbm90IHRyYW5zbGF0ZSB0aGUgY3ViZSBvdXQgb2YgdGhlIGNsaXBwaW5nIGFyZWEuCgoyMDE2LTAzLTEwIDAwOjIzOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBnbC9leGFtcGxlcy9meHRlc3Q6IGFkZCBuZWVkZWQgZ2x1cGxvYWQgdG8gdGhlIHBpcGVsaW5lCgkgIEZpeGVzIGEgbmVnb3RpYXRpb24gZmFpbHVyZSBpbiB0aGUgZXhhbXBsZQoKMjAxNi0wMy0wNyAxMzowNDowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBIYW5kbGUgbm9uLWhpZXJhcmNoaWNhbCBwcm9maWxlcyBhZ2FpbgoJICBUaGlzIGlzIGEgcmVncmVzc2lvbiBmcm9tIHNpbmNlIG1wZWd2aWRlb3BhcnNlciB3YXMgc3dpdGNoZWQgdG8KCSAgdXNlIHRoZSBjb2RlY3BhcnNpbmcgbGlicmFyeS4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCB0aGUgaGlnaCBiaXQgb2YgdGhlIHByb2ZpbGVfYW5kX2xldmVsIGlzIHVzZWQKCSAgdG8gc3BlY2lmeSBub24taGllcmFyY2hpY2FsIHByb2ZpbGVzIGFuZCBsZXZlbHMuIFVuZm9ydHVuYXRlbHkgd2UKCSAgd2VyZSBkaXNjYXJkaW5nIHRoYXQgaW5mb3JtYXRpb24uCgkgIEV4cG9zZSB0aGF0IGVzY2FwZSBiaXQsIGFuZCB1c2UgaXQgaW4gdGhlIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzIyMAoKMjAxNi0wMy0wOSAxMTo1ODo0MyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IHdpbmRvdyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYzMzU2CgoyMDE2LTAzLTA4IDExOjQxOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcmVzZXQvcmVjYWxjdWxhdGUgc2VnbWVudHMgd2l0aCBhY2N1cmF0ZSBzZWVrcwoJICBXaGVuIGRlYWxpbmcgd2l0aCBhY2N1cmF0ZSBzZWVrcywgd2UgbXVzdCBzZW5kIG91dCBhIHNlZ21lbnQgd2hpY2gKCSAgaXMgZXhhY3RseSB3aGF0IGlzIHJlcXVlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzI2MgoKMjAxNi0wMy0wOCAwMjowNjo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNpZ25hbCBjb250aW51YXRpb24gaW4gcmVzZXQKCSAgV2Ugd2FudCB0byBpdGVyYXRlIG92ZXIgYWxsIHRoZSBwYWRzLCBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAgRml4IGJ5IHJldHVybmluZwoJICBUUlVFIGluIHRoZSBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMuCgkgIFJlbW92ZXMgYSBHU1RfSVNfR0xfQ09OVEVYVCgpIGFzc2VydGlvbiBvbiBzaHV0ZG93biB3aXRoID4yIGlucHV0cwoJICB1c2luZyBnc3QtbGF1bmNoLgoKMjAxNi0wMy0wOCAwMDozNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGRpc3BsYXk6IG1ha2UgcmVhZGRpbmcgdGhlIHNhbWUgY29udGV4dCBhIG5vLW9wCgkgIFdpdGggZTM4YWYyMzA0NDI3ZGI5MDhhMTZiYmFlMGU2MGFhNjhiZTFiYTViNSByZXR1cm5pbmcgdGhlIGNvcnJlY3QgY29udGV4dHMsCgkgIGdzdF9nbF9kaXNwbGF5X2FkZF9jb250ZXh0KCkgd2FzIHN1c2NlcHRpYmxlIHRvIGNhdXNpbmcgaW5maW50ZSBsb29wcyB3aGVuCgkgIGFkZGluZyB0aGUgc2FtZSBHc3RHTENvbnRleHQgbW9yZSB0aGFuIG9uY2UuICBGaXggYW5kIGFkZCBhIHRlc3QgZm9yCgkgIGdzdF9nbF9kaXNwbGF5X2FkZF9jb250ZXh0KCkuCgkgIEZpeGVzIGdsdmlkZW9taXhlciBnc3QtdmFsaWRhdGUgdGVzdHMuCgoyMDE2LTAzLTA3IDA4OjUyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBSZXZlcnQgImxpYmdzdGdsOiBjb2NvYSwgZWFnbDogZG9uJ3QgbWFyc2hhbCBHTCBjYWxscyB0byB0aGUgY29udGV4dCB0aHJlYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzk3ZDY0MTVkZmQ2ZTExMWVmYjJjYWI1NDQ5NThhNjdjYmYyMmIxNy4KCSAgV2UncmUgZnJvemVuIGZvciAxLjguMCByZWxlYXNlIGFuZCB0aGlzIGNoYW5nZSBtaWdodCBoYXZlIGJpZ2dlciBpbXBhY3QuCgoyMDE2LTAzLTA3IDE2OjAzOjI1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgbGliZ3N0Z2w6IGNvY29hLCBlYWdsOiBkb24ndCBtYXJzaGFsIEdMIGNhbGxzIHRvIHRoZSBjb250ZXh0IHRocmVhZAoJICBFeGVjdXRlIEdMIGNhbGxzIHdpdGhvdXQgbWFyc2hhbGxpbmcgdGhlbSB0byB0aGUgY29udGV4dCB0aHJlYWQuIEluIHRoZSBjb2NvYQoJICBhbmQgZWFnbCBiYWNrZW5kcyBjYWxsaW5nIGdzdF9nbF9jb250ZXh0X2FjdGl2YXRlIGlzIGNoZWFwIGFuZCB0aGVyZWZvcmUgY2FsbGluZwoJICBpdCBvbiB0aGUgY3VycmVudCB0aHJlYWQgYW5kIHNlcmlhbGl6aW5nIEdMIGNhbGxzIHdpdGggYSBwZXItY29udGV4dCBsb2NrIGlzCgkgIG1vcmUgZWZmaWNpZW50IChmYXN0ZXIgYW5kIGhhcyBsZXNzIG92ZXJoZWFkKSB0aGFuIG1hcnNoYWxsaW5nIGV2ZXJ5dGhpbmcgdG8gdGhlCgkgIGNvbnRleHQgdGhyZWFkLgoJICBUaGlzIG9wdGltaXphdGlvbiBjdXRzIGEgbGFyZ2Ugb3ZlcmhlYWQgaW4gZ19wb2xsIChjb250aW51b3VzbHkgd2FraW5nIHVwIHRoZQoJICBjb250ZXh0IHRocmVhZCkgYW5kIGluIGdfbXV0ZXhfKi9nX2NvbmRfKiAod2FpdGluZyBmb3IgcmVzdWx0cyBmcm9tIHRoZSBjb250ZXh0CgkgIHRocmVhZCkuCgoyMDE2LTAzLTA1IDE3OjE2OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogcmVhbGx5IHJldHJpZXZlIGdsY29udGV4dCBmb3IgYSBzcGVjaWZpYyB0aHJlYWQKCSAgV2hlbiByZXF1ZXN0aW5nIGEgZ2xjb250ZXh0IChyZWdhcmRsZXNzIG9mIHRocmVhZCksIHRoZSByZXN1bHQgd2FzIGNvcnJlY3QuCgkgIEhvd2V2ZXIsIHdoZW4gcmVxdWVzdGluZyBjdXJyZW50IGdsY29udGV4dCBvbiBhIHNwZWNpZmljIHRocmVhZCwgaXQgY291bGQKCSAgY29tZSB1cCB3aXRoIGEgZ2xjb250ZXh0IGFjdGl2ZSBvbiBhbm90aGVyIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzE2OAoKMjAxNi0wMy0wNiAxOTozNTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogbWlzYyBkb2NzIGZpeGVzL2FkZGl0aW9ucwoKMjAxNi0wMy0wNiAxOTozMjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2VudW1zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2wqbWVtb3J5OiBkb2N1bWVudCBuZXcgZnVuY3Rpb25hbGl0eSBhbmQgb2JqZWN0cwoKMjAxNi0wMy0wNiAxOToyMzowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiBhZGQgbmV3IEdMIGFwaSB0byAudHlwZXMgZmlsZSBmb3IgdHlwZS9zaWduYWwgaW50cm9zcGVjdGlvbgoKMjAxNi0wMy0wNiAxOToyMjozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpZ25vcmUgc29tZSBwcml2YXRlIEdMIGhlYWRlcnMKCjIwMTYtMDMtMDYgMTk6MTg6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3MvZ2w6IGFkZCBnbCBmdW5jdGlvbnMvc3RydWN0cyBmcm9tIC11bnVzZWQgaW50byB0aGUgZG9jcwoKMjAxNi0wMy0wNSAxOTo0ODo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBoYW5kbGUgc29tZSBtb3JlIHVuZml4ZWQgZmllbGRzIHdoZW4gZml4YXRpbmcgY2FwcwoKMjAxNi0wMy0wNSAxMTozODo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSAgZ3RrOiBleGFtcGxlczogI2RlZmluZSBHU1RfVVNFX1VOU1RBQkxFX0FQSSBhbmQgbGluayB3aXRoIFgxMV9MSUJTCgkgIFgxMV9MSUJTIGlzIG5lZWRlZCBmb3IgWEluaXRUaHJlYWRzKCkgYW5kIHdpdGhvdXQgdGhlICNkZWZpbmUgd2UgZ2V0CgkgIHdhcm5pbmdzIGFib3V0IHRoZSBHTCBBUEkgYmVpbmcgc3RpbGwgdW5zdGFibGUuCgoyMDE2LTAzLTAyIDE5OjMyOjEzICswOTAwICBKdXN0aW4gS2ltIDxqdXN0aW4ua2ltQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtb3ZlIHVudXNlZCBmaWxlCgkgIGFoY3NyYyBpcyByZWdpc3RlcmVkIGJ5IGdzdGFtYy5jCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwOTgKCjIwMTYtMDItMTcgMDk6MzY6MTUgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBwcm9wZXJseSBkZWluaXQgd2hlbiBhaGNzcmMgcmVnaXN0ZXIgZmFpbHMKCSAgSW4gdGhlIGFuZHJvaWRtZWRpYSBwbHVnaW5faW5pdCwgd2UgaW5pdGlhbGl6ZSB2YXJpb3VzIHJlc291cmNlcyBvbiB0aGUKCSAgQW5kcm9pZCBkZXZpY2UuIElmIGFueXRoaW5nIGZhaWxzIGR1cmluZyB0aGlzIHNlcmllcyBvZiBpbml0aWFsaXphdGlvbnMsCgkgIHdlIG5lZWQgdG8gZGVpbml0aWFsaXplIGFueSBpbml0aWFsaXphdGlvbnMgdGhhdCBhbHJlYWR5IG9jY3VycmVkLgoJICBIb3dldmVyLCB3ZSBkb24ndCBkbyBzbyBpZiB3ZSBmYWlsIHRvIHJlZ2lzdGVyIHRoZSBhaGNzcmMgZWxlbWVudC4gRml4CgkgIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDItMTggMTE6MDA6NTAgLTA4MDAgIE1hcnRpbiBLZWxseSA8bWFydGluQHN1cnJvdW5kLmlvPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYWhjOiBjb3JyZWN0IGVycm9yIG1lc3NhZ2UKCSAgVGhlIGVycm9yIG1lc3NhZ2UgaXMgc3BlY2lmaWMgdG8gb25seSBvbmUgb2YgdGhlIGZhaWx1cmUgY2FzZXMgYW5kIGlzCgkgIG1pc2xlYWRpbmcgaW4gdGhlIG90aGVycy4gQ29ycmVjdCBpdCB0byBiZSBtb3JlIGdlbmVyaWMgYW5kIGNvdmVyIGFsbAoJICB0aGUgZmFpbHVyZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xNiAxMTo0NTowMSAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhaGM6IHJlbW92ZSB1bm5lZWRlZCAjaW5jbHVkZSA8c3RkaW8uaD4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA2NQoKMjAxNi0wMi0xOCAxNjowMDoxOCAtMDgwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGM6IHR5cG8gZml4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjMwNjUKCjIwMTYtMDMtMDMgMjI6MTU6MDcgLTA1MDAgIEpvZSBHb3JzZSA8amhnb3JzZUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IEFkZCBPUEVOU1NMX0NGTEFHUyB0byBDRkxBR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA3OQoKMjAxNi0wMy0wMyAxOTo0NTo0MyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IERvbid0IGNoYW5nZSBtYXhzaXplIGF0IHJ1bi10aW1lCgkgIE1heHNpemUgaXMgaW5pdGlhbGl6ZWQgb25jZSBhbmQgc2hvdWxkIG5ldmVyIGNoYW5nZS4gQWxsb2NhdGluZyBkYXRhCgkgIHNob3VsZCBoYXZlIG5vIGltcGFjdCBvbiB0aGUgc2VsZWN0ZWQgbWF4IHNpemUgZm9yIHRoaXMgbWVtb3J5LiBUaGlzCgkgIGNhdXNpbmcgbWVtb3J5IG1hcCBmYWlsdXJlIGFzIHRoZSBtYXhzaXplIHdvdWxkIGJlY29tZSBzbWFsbGVyIHRoZW4KCSAgc2l6ZS4gVGhpcyBoYXBwZW5lZCB3aGVuIHVzaW5nIGRpcmVjdCByZW5kZXJpbmcgaW4gYXZ2aWRkZWMgb24gR0wgdGhhdAoJICBkb2VzIG5vdCBzdXBwb3J0IFBCTyB0cmFuc2Zlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MzA0NQoKMjAxNi0wMy0wMSAxODoyMjozNyArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZXkuYm9yb3Zrb3ZAd2lyZWxvYWQubmV0PgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiBGaXggbGVhayBvZiB0aGUgT3BlbkdMIGNvbnRleHRzCgkgIFtNYXR0aGV3IFdhdGVyc106IGFkZCBOVUxMIGNoZWNrcyBiZWZvcmUgdW5yZWZmaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI5OTkKCjIwMTYtMDItMjkgMTQ6MjQ6NDYgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkgIHZrc2luazogZml4IHNwZWxsaW5nIG9uIGZhaWxlZCBfZW5zdXJlX2RhdGEoKSBlcnJvciBtZXNzYWdlCgoyMDE2LTAzLTAyIDIxOjQ2OjQ0ICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IFByb3ZpZGUgZm9ybWF0IGFzIGEgc3RyaW5nIGluc3RlYWQgb2YgYSBjaGFyIHRvIGdzdF9zdHJ1Y3R1cmVfbmV3CgkgIFRoZSBmb3JtYXQgd2FzIHByb3ZpZGVkIGFzICdJNDIwJyBpbnN0ZWFkIG9mICJJNDIwIiwgY2F1c2luZyBhIGNyYXNoLgoKMjAxNS0wMS0yMCAxNjoyMDoxMCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGhhbmRsZSBlYXJseSBQVFMgY29udmVyc2lvbiB3aGVuIGEgZ3JvdXAgaGFzIGJlZW4gZm91bmQKCSAgSW4gc29tZSBjYXNlcywgdGhlIFBUUyBtaWdodCBiZSBzbWFsbGVyIHRoYW4gdGhlIGZpcnN0IG9ic2VydmVkIFBDUgoJICB2YWx1ZSB3aGljaCBjYXVzZXMgZWxlbWVudCB0byBhcHBseSB3cmFwYXJvdW5kIGxlYWRpbmcgdG8gYm9ndXMKCSAgdGltZXN0YW1wLiBUbyBzb2x2ZSB0aGlzLCB3ZSBvbmx5IGFwcGx5IGl0IGlmIHRoZSBQVFMtUENSIGRpZmZlcmVuY2UgaXMKCSAgZ3JlYXRlciB0aGF0IDEgc2Vjb25kIHRvIGJlIHN1cmUgdGhhdCBpdCdzIGEgcmVhbCB3cmFwYXJvdW5kLgoJICBNb3Jlb3ZlciwgdXNpbmcgdW5zaWduZWQgMzIgYml0cyB2YWx1ZXMgdG8gaGFuZGxlIHdyYXBvdmVyIGNvdWxkIGVuZCB1cAoJICB3aXRoIGJvZ3VzIHZhbHVlLCBzbyBpdCB1c2UgcHRzIHZhbHVlIHRvIGhhbmRsZSBpdC4KCSAgQWxzbywgY29udmVydCBwY3IgdGltZSB0byBnc3QgdGltZSBiZWZvcmUgY29tcGFyaW5nIGl0IHRvIHB0cy4KCSAgU2luY2UgcmVmcGNyIGlzIGV4cHJlc3NlZCBpbiBQQ1IgdGltZSBiYXNlIHdoaWxlIHB0cyBpcyBleHByZXNzZWQgaW4gR1N0cmVhbWVyCgkgIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMyNTkKCjIwMTYtMDMtMDIgMTA6NDE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEZpeCBSRU1PVkVfU05BUF9GTEFHUygpIG1hY3JvCgkgICEoZmxhZzEgfCBmbGFnMiB8IGZsYWczKSBpcyBhbHdheXMgZXZhbHVhdGlvbiB0byAwLiB+IHdhcyBtZWFudCBoZXJlCgkgIGluc3RlYWQgb2YgIS4KCSAgQ0lEIDEzNTIwMzIuCgo9PT0gcmVsZWFzZSAxLjcuOTAgPT09CgoyMDE2LTAzLTAxIDE4OjIzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGxzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy45MAoKMjAxNi0wMy0wMSAxNzoxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDE2LTAzLTAxIDE2OjUzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYmcucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9ubC5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMjkgMTI6MzU6NTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NDogRGlzYWJsZSBwYXNzdGhvcnVnaCBtb2RlIGVuYWJsaW5nCgkgIEVuYWJsaW5nIHBhc3N0aG9ydWdoIG1vZGUgaXMgY2F1c2luZyBtdWx0aXBsZSBpc3N1ZToKCSAgRm9yIG5hbCBhbGlnbmVkIG11bHRpcmVzb2x1dG9uIHN0cmVhbXMsIHBhc3N0aHJvdWdoIG1vZGUKCSAgbWFrZSBoMjY0cGFyc2UgdW5hYmxlIHRvIGFkdmVydGlzZSB0aGUgbmV3IHJlc291bHRpb25zLgoJICBBbHNvIGNhdXNpbmcgaXNzdWVzIHdoaWxlIHBhcnNpbmcgTVZDIHN0cmVhbXMgd2hpY2ggaGF2ZSB0d28KCSAgc2VwYXJhdGUgbGF5ZXJzIChiYXNlLXZpZXcgYW5kIG5vbi1iYXNlLXZpZXcpLgoJICBUaGlzIGZpeCBpcyBvbmx5IGEgdGVtcG9yYXJ5IHdvcmthcm91bmQuCgkgIEZvciBNVkMsIHByb3BlciBmaXhlcyBuZWVkZWQgaW4gbWFueSBwbGFjZXM6CgkgIChoYW5kbGUgcHJlZml4IG5hbCB1bml0LCBoYW5kbGUgbm9uLWJhc2UtdmlldyBzbGljZSBuYWwgZXh0ZW5zaW9uLAoJICBmaXggdGhlIHBpY3R1cmVfc3RhcnQgZGV0ZWN0aW9uIGZvciBtdWx0aS1sYXllci1tdmMgc3RyZWFtcyBldGMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg2NTYKCjIwMTYtMDItMjkgMTE6NTM6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBTZXQgY2FwcyB0byBhcHBsaWNhdGlvbi94LXJ0cCBpbnN0ZWFkIG9mIGFwcGxpY2F0aW9uL3gtdW5rbm93biBhcyByZXR1cm5lZCBieSB0aGUgU0RQIGhlbHBlcnMKCSAgVGhlIFNEUCBoZWxwZXJzIGNhbid0IGtub3cgaWYgdGhpcyBpcyBnb2luZyB0byBiZSBSVFAsIFNSVFAsIG9yIC4uLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg2MAoKMjAxNi0wMi0yOSAxMTo1MToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IEFkZCBwYWRzIHdpdGggdGhlIGNvcnJlY3QgbmFtZXMgaW4gY2FzZSBhbiBydHBiaW4gaXMgdXNlZAoJICBUaGV5J3JlIHN1cHBvc2VkIHRvIGJlIHN0cmVhbV8ldSBhbmQgbm90IHJlY3ZfcnRwX3NyY18ldV8ldV8ldS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg2MAoKMjAxNi0wMi0yOSAxMDozODozMiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJICB2a3N3YXBwZXIvdmt1dGlsczogRml4IGdlcnJvciBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyODQyCgoyMDE2LTAyLTI5IDEwOjM3OjExICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogRml4IGR1cGxpY2F0ZSBhc3NpZ25tZW50IG9mIHF1ZXVlIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI4NDIKCjIwMTYtMDItMjkgMTA6MzM6NDUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a3Npbms6IEZpeCBHRXJyb3IgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2Mjg0MgoKMjAxNi0wMi0yOCAxNDowNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZXhwb3J0cyBmb3IgbmV3IGxpYmdzdGdsIGZ1bmN0aW9uCgoyMDE2LTAyLTI4IDEwOjEyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogV2hlbiBvdXRwdXR0aW5nIG9uIGEgc3VyZmFjZSwgYWNjZXB0IGFsbCBjb2xvciBmb3JtYXRzCgkgIFdlIGRvbid0IGhhdmUgdG8gdW5kZXJzdGFuZCB0aGVtLCB3ZSBoYW5kbGUgdGhlbSBhcyBhIEdMIHRleHR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI3OTIKCjIwMTYtMDItMjYgMTg6MTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBoYW5kbGUgc25hcCBzZWVraW5nIHdpdGhvdXQgc2V0dGluZyBhbnkgcG9zaXRpb24KCSAgV2hlbiB0aGUgc3RhcnRfdHlwZSBpcyBHU1RfU0VFS19UWVBFX05PTkUgZm9yIGEgZm9yd2FyZCBzZWVrCgkgIChvciBzdG9wX3R5cGUgZm9yIGEgcmV2ZXJzZSkgaXMgbm90IHNldCBvbiBhIHNuYXAgc2Vla2luZyBvcGVyYXRpb24sCgkgIHRoZSBlbGVtZW50IHNob3VsZCB1c2UgdGhlIGN1cnJlbnQgcG9zaXRpb24gYW5kIHRoZW4gc25hcCBhcyByZXF1ZXN0ZWQuCgkgIEFsc28gZml4ZXMgdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21wbGFpbnQgYnkgY2xhbmcgYWJvdXQKCSAgJ3RzJyB2YXJpYWJsZS4KCjIwMTYtMDItMjYgMTc6MzE6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHN5bmMgaW5kZXggYW5kIHRoZSBzZWxlY3RlZCBjaHVuayB3aGVuIHNlZWtpbmcKCSAgT3RoZXJ3aXNlIHRoZSBjaHVuayBzZWxlY3RlZCBpc24ndCBtYXRjaGVkIHRvIHRoZSBpbmRleCBhbmQKCSAgdGhlIHRpbWluZyB3aWxsIGJlIGRpZmZlcmVudCwgY2F1c2luZyBpdCB0byBhY3R1YWxseSBzdGFydAoJICBmcm9tIGEgZGlmZmVyZW50IHBvc2l0aW9uCgoyMDE2LTAyLTI2IDEyOjQxOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhMjUzOTc0IHRvIDZmMmQyMDkKCjIwMTYtMDItMTcgMjA6MTM6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2VtZW1vcnk6IGFkZCBjb21wYXRpYmlsaXR5IGRlZmluaXRpb25zIGZvciBFR0wgZG1hYnVmCgkgIGUuZy4gdGhlIFJQaSBkb2Vzbid0IGhhdmUgdGhlbSBkZWZpbmVkCgoyMDE2LTAyLTI2IDAwOjM1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkgIG9wdXM6IHJlbmFtZSBwbHVnaW4gdG8gb3B1c3BhcnNlIGZvciB0aGUgdGltZSBiZWluZwoJICBVbnRpbCB3ZSBmaXggaXQgdXAgYW5kIGdldCByaWQgb2YgdGhlIG9wdXMgZGVwZW5kZW5jeSBhbmQKCSAgbW92ZSBpdCBlbHNld2hlcmUgdG9vLgoKMjAxNi0wMi0xOSAwMDozODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgb3B1czogcmVtb3ZlIE9wdXMgZW5jb2Rlci9kZWNvZGVyLCBtb3ZlZCB0byAtYmFzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjgyCgoyMDE2LTAyLTI2IDA4OjM0OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBhIG1ldGhvZCB0byBhZGQgYSBjb250ZXh0IHRvIGFub3RoZXIgc2hhcmUgZ3JvdXAKCSAgSW50ZW5kZWQgZm9yIHVzZSB3aXRoIHdyYXBwZWQgY29udGV4dHMgdGhhdCBhcmUgY3JlYXRlZCBzaGFyZWQgd2l0aCBnc3QncwoJICBnbCBjb250ZXh0cyBpbiBvcmRlciB0byBtYW5hZ2UgdGhlIGludGVybmFsIHNoYXJlZ3JvdXAgc3RhdGUgY29ycmVjdGx5LgoJICBlLmcuIHdpdGggY2FvcGVuZ2xsYXllciAod2hpY2ggaXMgdXNlZCBpbiBnbGltYWdlc2luayBhbmQgY2FvcGVuZ2xsYXllcnNpbmsKCSAgb24gT1MgWCksIHdlIGNyZWF0ZSBhIENHTCBjb250ZXh0IGZyb20gdGhlIGdzdCBjb250ZXh0IGFuZCB0aGUgc2hhcmluZyBzdGF0ZQoJICB3YXMgbm90IGJlaW5nIGNvcnJlY3RseSBzZXQgb24gZWl0aGVyIEdMIGNvbnRleHQgYW5kIGdzdF9nbF9jb250ZXh0X2lzX3NoYXJlZCgpCgkgIHdhcyBhbHdheXMgcmV0dXJuaW5nIEZBTFNFLgoJICBXaXRoIDExZmI0ZmZmODBiNjNiOWQ2N2E3MzFkNGJiMjM4YjZjMGEyOWQ3NzQgb25seSBmbHVzaGluZyB3aXRoIG11bHRpcGxlCgkgIHNoYXJlZCBjb250ZXh0cywgdGhlIHJlcXVpcmVkIGZsdXNoIHdhcyBub3Qgb2NjdXJpbmcgY2F1c2luZyBzY3JlZW4KCSAgY29ycnVwdGlvbiBvciBzdHV0dGVyaW5nLgoJICBOb3RlOiB0aGlzIGRpZG4ndCBhZmZlY3QgR1NUX0dMX0FQST1vcGVuZ2wgcGlwZWxpbmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2MjAKCjIwMTYtMDItMTcgMTU6MjA6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkgIG9wdXM6IHJlbW92ZSBPcHVzIFJUUCBlbGVtZW50cywgdGhleSBoYXZlIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYyODIKCjIwMTYtMDEtMTggMDg6NTA6MzQgKzAwMDAgIEFsZXggQXNobGV5IDxhbGV4LmFzaGxleUB5b3V2aWV3LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICBobHNkZW11eDogdGVzdHM6IHBhc3MgdGVzdCBuYW1lIGludG8gdGVzdCBzZXR1cCBmdW5jdGlvbgoJICBBbGwgaGxzZGVtdXggdGVzdHMgY3JlYXRlIGEgR3N0U3RydWN0dXJlIGNhbGxlZCAic3RhdGUiIHRoYXQgY2FuIGJlIHVzZWQKCSAgYnkgdGVzdCBjYXNlcyB0byBzdG9yZSBpbmZvcm1hdGlvbiBkdXJpbmcgYSB0ZXN0LiBUaGUgbmFtZSBvZiB0aGlzCgkgIHN0cnVjdHVyZSBpcyBhcmJpdHJhcnkuIFdoZW4gdGhlIGNvZGUgd2FzIHdyaXR0ZW4sIHRoZSBpbnRlbnRpb24gd2FzCgkgIHRvIHVzZSB0aGUgbmFtZSBvZiB0aGUgdGVzdCwgdG8gYWlkIGRlYnVnZ2luZy4gSG93ZXZlciwgZHVyaW5nCgkgIGRldmVsb3BtZW50IHRoaXMgd2FzIGxvc3QsIHNvIHRoYXQgdGhlIHN0YXRlIEdzdFN0cnVjdHVyZSBpcyBhbHdheXMKCSAgZ2l2ZW4gdGhlIG5hbWUgInNldHVwX3Rlc3RfdmFyaWFibGVzIi4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB0aGlzIHNvIHRoYXQgdGhlIG5hbWUgb2YgdGhlIHRlc3QgaXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjY4NAoKMjAxNi0wMi0yMyAxMjo0MjoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogZHJvcCBzcGVjaWFsIGNhc2UgZm9yIHZhbGdyaW5kIHRpbWVvdXQKCSAgVGhlIGRlZmF1bHQgb25lIGlzIDYgbWludXRlcywgdGhlIHRlc3Qgd2FzIHVzaW5nIDUgbWludXRlcyBzbyBqdXN0CgkgIHJlc29ydCB0byB1c2luZyB0aGUgZGVmYXVsdC4KCSAgRm9yIHRoZSBub24tdmFsZ3JpbmQgdGVzdCBhbHNvIHVzZSB0aGUgZGVmYXVsdCAyMCBzZWNzIGluc3RlYWQgb2YKCSAgcmVkdWNpbmcgaXQgdG8gNnMuIE5vIHJlYWwgcmVhc29uIHRvIHNldCBhIGN1c3RvbSB2YWx1ZSBoZXJlLgoKMjAxNi0wMi0yMyAxMjoxNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogY29tcG9zaXRvcjogYWRkIHRlc3RzIGZvciBjYXBzIHF1ZXJpZXMKCSAgVmVyaWZpZXMgdGhhdCBwcm9wZXIgY2FwcyBhcmUgcmV0dXJuZWQgYmFzZWQgb24gd2hhdCBkb3duc3RyZWFtCgkgIHJlc3RyaWN0cy4KCjIwMTYtMDItMTggMTA6NTc6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBjYXBzIHF1ZXJpZXMgdG8gYWxsb3cgcHJvcGVyIHJlbmVnb3RpYXRpb24KCSAgV2hlbiBjYXBzIGFyZSBhbHJlYWR5IG5lZ290aWF0ZWQgaXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvCgkgIHNlbGVjdCBmb3JtYXRzIG90aGVyIHRoYW4gdGhlIG9uZSB0aGF0IHdhcyBuZWdvdGlhdGVkLiBJZiBkb3duc3RyZWFtCgkgIGFsbG93cyBhbHBoYSB2aWRlbyBjYXBzIGFuZCBpdCBoYXMgYWxyZWFkeSBuZWdvdGlhdGVkIHRvIGEgbm9uLWFscGhhCgkgIGZvcm1hdCwgY2FwcyBxdWVyaWVzIHNob3VsZCBzdGlsbCByZXR1cm4gdGhlIGFscGhhIGNhcHMgYXMgYSBwb3NzaWJsZQoJICBmb3JtYXQgYXMgY2FwcyByZW5lZ290aWF0aW9uIGNhbiBoYXBwZW4uCgkgIEluY2x1ZGVzIHRlc3RzIChmb3IgY29tcG9zaXRvcikgdG8gY2hlY2sgdGhhdCBjYXBzIHF1ZXJpZXMgZG9uZSBhZnRlcgoJICBhIGNhcHMgaGFzIGJlZW4gbmVnb3RpYXRlZCByZXR1cm5zIGNvbXBsZXRlIHJlc3VsdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzYxMAoKMjAxNi0wMi0yNCAxNzowNzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBOZWdvdGlhdGUgdGhlIGRlY29kZXIgaW4gc2V0X2Zvcm1hdCgpIGFscmVhZHkKCSAgRG9uJ3Qgd2FpdCB1bnRpbCBsYXRlciwgd2Ugd2FudCB0byBrbm93IGhlcmUgaWYgdGhlIGNvZGVjIGNhbiBiZSBvcGVuZWQgb3Igbm90CgkgIGZvciB0aGUgcmVxdWVzdGVkIGZvcm1hdC4gVGhpcyB3YXMgcmVtb3ZlZCAoYWNjaWRlbnRpYWxseT8pIGJ5CgkgIDExOWUwOWVhYzMxNWY3OWFjMmNmNDViNDQ0MWFkMWQ5MzIxMzA2MTQKCSAgV2l0aG91dCB0aGlzIGRlY29kZWJpbiBoYXMgbm8gd2F5IHRvIHN3aXRjaCB0byBhIGRpZmZlcmVudCBkZWNvZGVyIGlmIHRoaXMgb25lCgkgIGRvZXMgbm90IHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI2MTMKCjIwMTYtMDItMjUgMTE6MzQ6NDAgKzAyMDAgIEpvZSBHb3JzZSA8amhnb3JzZUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogRnJhbWUgZHVyYXRpb25zIGFzIENUaW1lIHRvIHRoZSBBUEksIG5vdCBkb3VibGUKCSAgTmV3ZXIgaU9TIHNlZW1zIHRvIGF1dG9tYXRpY2FsbHkgY29udmVydCwgb2xkZXIgaU9TL09TWCBqdXN0IGNyYXNoZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjI1NzUKCjIwMTYtMDItMjQgMjM6NDg6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IHJlbGVhc2UgdGhlIGZyYW1lcyBhbmQgIGxpc3Qgd2hlbiBzZWFyY2hpbmcgZm9yIGFuIG91dHB1dCBidWZmZXIKCSAgRml4ZXMgYSBtYXNzaXZlIGxlYWsgaW46CgkgIHZpZGVvdGVzdHNyYyAhIG52aDI2NGVuYyAhIGZha2VzaW5rCgoyMDE2LTAyLTIzIDIzOjEwOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvZ3N0cXRzaW5rLmNjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxdDogdXNlIGEgc3RhdGljX2Nhc3QgaW5zdGVhZCBvZiBkeW5hbWljIG9uZQoJICBUaGUgZHluYW1pY19jYXN0IGlzIGEgbGl0dGxlIGJ1dCBvZiBvdmVya2lsbCBhcyB0aGUgYXBwIHdpbGwgc3RpbGwgY3Jhc2ggaWYgaXQKCSAgZmFpbHMgaW4gdGhlIGxhdGVyIGdfYXNzZXJ0LgoJICBBbGxvd3MgY29tcGlsYXRpb24gd2l0aCAtZm5vLXJ0dGkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjUyNgoKMjAxNi0wMi0yNCAxMDo0NToxNyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbG1peGVyOiBpdGVyYXRvciBkaWRuJ3QgYWR2YW5jZSBpbiBjb250aW51ZSBzdGF0ZW1lbnQKCSAgTGVhZGluZyB0byBhIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwODczCgoyMDE2LTAyLTIzIDE4OjE3OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBEb24ndCBhc3N1bWUgdGhhdCBnZXRfY3VycmVudF9jYXBzKCkgcmV0dXJucyBub24tTlVMTCBjYXBzIGFmdGVyIGhhc19jdXJyZW50X2NhcHMoKQoJICBSZW1vdmUgY2FsbHMgdG8gZ3N0X3BhZF9oYXNfY3VycmVudF9jYXBzKCkgd2hpY2ggdGhlbiBnbyBvbiB0byBjYWxsCgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFzIHRoZSBjYXBzIGNhbiBnbyB0byBOVUxMIGluIGJldHdlZW4uIEluc3RlYWQganVzdAoJICB1c2UgZ3N0X3BhZF9nZXRfY3VycmVudF9jYXBzKCkgYW5kIGNoZWNrIGZvciBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM5CgoyMDE2LTAyLTIzIDE4OjEzOjM3ICswMjAwICBEYXZlIENyYWlnIDxkY3JhaWdAYnJpZ2h0c2lnbi5iaXo+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkgIGRpc3Bhcml0eTogRG9uJ3QgYXNzdW1lIHRoYXQgZ2V0X2N1cnJlbnRfY2FwcygpIHJldHVybnMgbm9uLU5VTEwgY2FwcyBhZnRlciBoYXNfY3VycmVudF9jYXBzKCkKCSAgUmVtb3ZlIGNhbGxzIHRvIGdzdF9wYWRfaGFzX2N1cnJlbnRfY2FwcygpIHdoaWNoIHRoZW4gZ28gb24gdG8gY2FsbAoJICBnc3RfcGFkX2dldF9jdXJyZW50X2NhcHMoKSBhcyB0aGUgY2FwcyBjYW4gZ28gdG8gTlVMTCBpbiBiZXR3ZWVuLiBJbnN0ZWFkIGp1c3QKCSAgdXNlIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpIGFuZCBjaGVjayBmb3IgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUzOQoKMjAxNi0wMi0yMyAxMDo0OTo0MCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0bHkgaGFuZGxlIGFuIEhUVFAtWFNEQVRFIHRoYXQgaXMgZXhhY3RseSB0aGUgc2l6ZSBvZiB0aGUgZGF0ZSBzdHJpbmcKCSAgVGhlIGNvZGUgaW4gdGhlIGdzdF9kYXNoX2RlbXV4X3BhcnNlX2h0dHBfeHNkYXRlKCkgd2FzIHRyeWluZyB0bwoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIHN0cmluZyBpcyBub3QgbnVsbCB0ZXJtaW5hdGVkIGJ5IHJlc2l6aW5nCgkgIHRoZSBidWZmZXIgYW5kIGFwcGVuZGluZyBhIHplcm8gYnl0ZS4gVGhpcyBkb2VzIG5vdCB3b3JrIGlmIHRoZSBidWZmZXIKCSAgaXMgZXhhY3RseSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcgYmVjYXVzZSB0aGUgZ3N0X2J1ZmZlcl9yZXNpemUoKQoJICBmdW5jdGlvbiBkb2VzIG5vdCByZS1hbGxvY2F0ZSB0aGUgYnVmZmVyLCBpdCBqdXN0IGNoYW5nZXMgaXRzIHNpemUuCgkgIElmIGEgYnVmZmVyIGlzIHBhc3NlZCB0byBnc3RfZGFzaF9kZW11eF9wYXJzZV9odHRwX3hzZGF0ZSgpIHRoYXQgaXMKCSAgZXhhY3RseSB0aGUgbGVuZ3RoIG9mIHRoZSBzdHJpbmcsIHRoZSBmdW5jdGlvbiBmYWlscyB3aXRoIGFuIGFzc2VydAoJICBmYWlsdXJlIGluIGdzdF9idWZmZXJfcmVzaXplKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjIxNDgKCjIwMTYtMDItMjMgMTE6NTk6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBBZGQgYXVkaW9pbnRlcmxlYXZlCgoyMDE2LTAyLTIyIDEwOjIxOjQ3ICswMTAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkgIGZiZGV2c2luazogZml4IGJ5dGVzIHBlciBwaXhlbCBjYWxjdWxhdGlvbgoJICBTaW1wbGUgcGlwZWxpbmUKCSAgJCBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBmYmRldnNpbmsKCSAgY3Jhc2hlcyB3aXRoIFNJR1NFR1YgaW4gY2FzZSB0aGUgZnJhbWJ1ZmZlciB4cmVzIGlzIHNtYWxsZXIKCSAgdGhhbiB0aGUgdmlydHVhbCB4cmVzIHJlc29sdXRpb24sIGUuZy46CgkgICQgZmJzZXQKCSAgbW9kZSAiODAweDQ4MC0wIgoJICAjIEQ6IDAuMDAwIE1IeiwgSDogMC4wMDAga0h6LCBWOiAwLjAwMCBIegoJICBnZW9tZXRyeSA4MDAgNDgwIDE5MjAgMTIwMCAxNgoJICB0aW1pbmdzIDAgMCAwIDAgMCAwIDAKCSAgYWNjZWwgdHJ1ZQoJICByZ2JhIDUvMTEsNi81LDUvMCwwLzAKCSAgZW5kbW9kZQoJICBEZWJ1ZzoKCSAgJCBnZGIgZ3N0LWxhdW5jaC0xLjAKCSAgKGdkYikgcnVuIHZpZGVvdGVzdHNyYyAhIGZiZGV2c2luawoJICAoZ2RiKSB3aGVyZQoJICAjMCAgMHhiNmJkMmQyNCBpbiBfX21lbWNweV9uZW9uICgpCgkgIGF0IC4uL3N5c2RlcHMvYXJtL2FybXY3L211bHRpYXJjaC9tZW1jcHlfaW1wbC5TOjU5MQoJICAjMSAgMHhiNjliMDRlOCBpbiBnc3RfZmJkZXZzaW5rX3Nob3dfZnJhbWUgKHZpZGVvc2luaz0weDEwYTMzNzgsCgkgIGJ1Zj0weGI1YzA4ODM4KSBhdCBnc3RmYmRldnNpbmsuYzoyNjkKCSAgIzIgIDB4YjY5ZTg4YzQgaW4gZ3N0X2Jhc2Vfc2lua19kb19wcmVyb2xsIChzaW5rPXNpbmtAZW50cnk9MHgxMGEzMzc4LAoJICBvYmo9MHhiNWMwODgzOCwgb2JqQGVudHJ5PTB4YTApIGF0IGdzdGJhc2VzaW5rLmM6MjI4MQoJICAjMyAgMHhiNjllOTJiYyBpbiBnc3RfYmFzZV9zaW5rX2RvX3N5bmMgKGJhc2VzaW5rPWJhc2VzaW5rQGVudHJ5PTB4MTBhMzM3OCwKCSAgb2JqPTB4YTAsIG9iakBlbnRyeT0weGI1YzA4ODM4LCBsYXRlPTB4MCwgbGF0ZUBlbnRyeT0weGI2NTQ4YmEwLAoJICBzdGVwX2VuZD0weDE0MCwgc3RlcF9lbmRAZW50cnk9MHhiNjU0OGJhNCkgYXQgZ3N0YmFzZXNpbmsuYzoyNTAwCgkgICM0ICAweGI2OWVhNjdjIGluIGdzdF9iYXNlX3NpbmtfY2hhaW5fdW5sb2NrZWQgKAoJICBiYXNlc2luaz1iYXNlc2lua0BlbnRyeT0weDEwYTMzNzgsIG9iaj0weDAsIG9iakBlbnRyeT0weGI1YzA4ODM4LAoJICBpc19saXN0PWlzX2xpc3RAZW50cnk9MCwgcGFkPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ3N0YmFzZXNpbmsuYzozNDg2CgkgICM1ICAweGI2OWVjMWMwIGluIGdzdF9iYXNlX3NpbmtfY2hhaW5fbWFpbiAoYmFzZXNpbms9MHgxMGEzMzc4LAoJICBwYWQ9PG9wdGltaXplZCBvdXQ+LCBvYmo9MHhiNWMwODgzOCwgaXNfbGlzdD0wKSBhdCBnc3RiYXNlc2luay5jOjM2NDcKCSAgIzYgIDB4YjZlYjViMTAgaW4gZ3N0X3BhZF9jaGFpbl9kYXRhX3VuY2hlY2tlZCAocGFkPTB4MTBhNjE3MCwKCSAgdHlwZT08b3B0aW1pemVkIG91dD4sIGRhdGE9MHhiNWMwODgzOCkgYXQgZ3N0cGFkLmM6NDA4NgoJICAjNyAgMHhiNmViN2EzNCBpbiBnc3RfcGFkX3B1c2hfZGF0YSAocGFkPXBhZEBlbnRyeT0weDEwYTYwMjAsCgkgIHR5cGU9dHlwZUBlbnRyeT00MTEyLCBkYXRhPTB4YjVjMDg4MzgpIGF0IGdzdHBhZC5jOjQzMzgKCSAgIzggIDB4YjZlYmYzNDQgaW4gZ3N0X3BhZF9wdXNoIChwYWQ9cGFkQGVudHJ5PTB4MTBhNjAyMCwKCSAgYnVmZmVyPTxvcHRpbWl6ZWQgb3V0PikgYXQgZ3N0cGFkLmM6NDQ1NAoJICAjOSAgMHhiNjlmMjJmMCBpbiBnc3RfYmFzZV9zcmNfbG9vcCAocGFkPTB4MTBhNjAyMCkgYXQgZ3N0YmFzZXNyYy5jOjI4NDUKCSAgIzEwIDB4YjZlZWRkZmMgaW4gZ3N0X3Rhc2tfZnVuYyAodGFzaz0weDEwYTg4MjgpIGF0IGdzdHRhc2suYzozMzEKCSAgIzExIDB4YjZkNDg1YTAgaW4gZ190aHJlYWRfcG9vbF90aHJlYWRfcHJveHkgKGRhdGE9PG9wdGltaXplZCBvdXQ+KQoJICBhdCBndGhyZWFkcG9RdWl0CgkgIChnZGIpIGZyYW1lIDEKCSAgIzEgIDB4YjY5YjA0ZTggaW4gZ3N0X2ZiZGV2c2lua19zaG93X2ZyYW1lICh2aWRlb3Npbms9MHgxMGEzMzc4LAoJICBidWY9MHhiNWMwODgzOCkgYXQgZ3N0ZmJkZXZzaW5rLmM6MjY5CgkgIDI2OSAgICAgZ3N0ZmJkZXZzaW5rLmM6IE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkuCgkgIChnZGIpIHAgZmJkZXZzaW5rCgkgICQxID0gKEdzdEZCREVWU2luayAqKSAweDEwYTMzNzgKCSAgKGdkYikgcCAqZmJkZXZzaW5rCgkgICQyID0ge3ZpZGVvc2luayA9IHtlbGVtZW50ID0ge2VsZW1lbnQgPSB7b2JqZWN0ID0ge29iamVjdCA9IHsKCSAgZ190eXBlX2luc3RhbmNlID0ge2dfY2xhc3MgPSAweDEwYTJkNjB9LCByZWZfY291bnQgPSAzLAoJICBxZGF0YSA9IDB4MH0sIGxvY2sgPSB7cCA9IDB4MCwgaSA9IHswLCAwfX0sCgkgIG5hbWUgPSAweDEwYTJmMzAgImZiZGV2c2luazAiLCBwYXJlbnQgPSAweDEwYTcwYTAsIGZsYWdzID0gMzIsCgkgIGNvbnRyb2xfYmluZGluZ3MgPSAweDAsIGNvbnRyb2xfcmF0ZSA9IDEwMDAwMDAwMCwKCSAgbGFzdF9zeW5jID0gMTg0NDY3NDQwNzM3MDk1NTE2MTUsIF9nc3RfcmVzZXJ2ZWQgPSAweDB9LAoJICBzdGF0ZV9sb2NrID0ge3AgPSAweDEwOWY5YTgsIGkgPSB7MCwgMH19LCBzdGF0ZV9jb25kID0ge3AgPSAweDAsIGkgPSB7CgkgIDMsIDB9fSwgc3RhdGVfY29va2llID0gMiwgdGFyZ2V0X3N0YXRlID0gR1NUX1NUQVRFX1BBVVNFRCwKCSAgY3VycmVudF9zdGF0ZSA9IEdTVF9TVEFURV9SRUFEWSwgbmV4dF9zdGF0ZSA9IEdTVF9TVEFURV9QQVVTRUQsCgkgIHBlbmRpbmdfc3RhdGUgPSBHU1RfU1RBVEVfUEFVU0VELAoJICBsYXN0X3JldHVybiA9IEdTVF9TVEFURV9DSEFOR0VfQVNZTkMsIGJ1cyA9IDB4MTA4YmNiOCwgY2xvY2sgPSAweDAsCgkgIGJhc2VfdGltZSA9IDAsIHN0YXJ0X3RpbWUgPSAwLCBudW1wYWRzID0gMSwgcGFkcyA9IDB4MTA5Y2MyMCwKCSAgbnVtc3JjcGFkcyA9IDAsIHNyY3BhZHMgPSAweDAsIG51bXNpbmtwYWRzID0gMSwgc2lua3BhZHMgPSAweDEwOWNjMzAsCgkgIHBhZHNfY29va2llID0gMSwgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLCAweDB9fSwKCSAgc2lua3BhZCA9IDB4MTBhNjE3MCwgcGFkX21vZGUgPSBHU1RfUEFEX01PREVfUFVTSCwgb2Zmc2V0ID0gMCwKCSAgY2FuX2FjdGl2YXRlX3B1bGwgPSAwLCBjYW5fYWN0aXZhdGVfcHVzaCA9IDEsIHByZXJvbGxfbG9jayA9IHtwID0gMHgxLAoJICBpID0gezEsIDB9fSwgcHJlcm9sbF9jb25kID0ge3AgPSAweDAsIGkgPSB7MCwgMH19LCBlb3MgPSAwLAoJICBuZWVkX3ByZXJvbGwgPSAxLCBoYXZlX3ByZXJvbGwgPSAwLCBwbGF5aW5nX2FzeW5jID0gMSwKCSAgaGF2ZV9uZXdzZWdtZW50ID0gMSwgc2VnbWVudCA9IHtmbGFncyA9IEdTVF9TRUdNRU5UX0ZMQUdfTk9ORSwgcmF0ZSA9IDEsCgkgIGFwcGxpZWRfcmF0ZSA9IDEsIGZvcm1hdCA9IEdTVF9GT1JNQVRfVElNRSwgYmFzZSA9IDAsIG9mZnNldCA9IDAsCgkgIHN0YXJ0ID0gMCwgc3RvcCA9IDE4NDQ2NzQ0MDczNzA5NTUxNjE1LCB0aW1lID0gMCwgcG9zaXRpb24gPSAzMzMzMzMzMywKCSAgZHVyYXRpb24gPSAxODQ0Njc0NDA3MzcwOTU1MTYxNSwgX2dzdF9yZXNlcnZlZCA9IHsweDAsIDB4MCwgMHgwLAoJICAweDB9fSwgY2xvY2tfaWQgPSAweDAsIHN5bmMgPSAxLCBmbHVzaGluZyA9IDAsIHJ1bm5pbmcgPSAwLAoJICBtYXhfbGF0ZW5lc3MgPSAyMDAwMDAwMCwgcHJpdiA9IDB4MTBhMzE4OCwgX2dzdF9yZXNlcnZlZCA9IHsKCSAgMHgwIDxyZXBlYXRzIDIwIHRpbWVzPn19LCB3aWR0aCA9IDAsIGhlaWdodCA9IDAsIHByaXYgPSAweDEwYTMxODAsCgkgIF9nc3RfcmVzZXJ2ZWQgPSB7MHgwLCAweDAsIDB4MCwgMHgwfX0sIGZpeGluZm8gPSB7CgkgIGlkID0gJ1wwMDAnIDxyZXBlYXRzIDE1IHRpbWVzPiwgc21lbV9zdGFydCA9IDEwNzg5ODQ3MDQsCgkgIHNtZW1fbGVuID0gNDYwODAwMCwgdHlwZSA9IDAsIHR5cGVfYXV4ID0gMCwgdmlzdWFsID0gMiwgeHBhbnN0ZXAgPSAxLAoJICB5cGFuc3RlcCA9IDEsIHl3cmFwc3RlcCA9IDAsIGxpbmVfbGVuZ3RoID0gMzg0MCwgbW1pb19zdGFydCA9IDAsCgkgIG1taW9fbGVuID0gMCwgYWNjZWwgPSAwLCBjYXBhYmlsaXRpZXMgPSAwLCByZXNlcnZlZCA9IHswLCAwfX0sIHZhcmluZm8gPSB7CgkgIHhyZXMgPSA4MDAsIHlyZXMgPSA0ODAsIHhyZXNfdmlydHVhbCA9IDE5MjAsIHlyZXNfdmlydHVhbCA9IDEyMDAsCgkgIHhvZmZzZXQgPSAwLCB5b2Zmc2V0ID0gMCwgYml0c19wZXJfcGl4ZWwgPSAxNiwgZ3JheXNjYWxlID0gMCwgcmVkID0gewoJICBvZmZzZXQgPSAxMSwgbGVuZ3RoID0gNSwgbXNiX3JpZ2h0ID0gMH0sIGdyZWVuID0ge29mZnNldCA9IDUsCgkgIGxlbmd0aCA9IDYsIG1zYl9yaWdodCA9IDB9LCBibHVlID0ge29mZnNldCA9IDAsIGxlbmd0aCA9IDUsCgkgIG1zYl9yaWdodCA9IDB9LCB0cmFuc3AgPSB7b2Zmc2V0ID0gMCwgbGVuZ3RoID0gMCwgbXNiX3JpZ2h0ID0gMH0sCgkgIG5vbnN0ZCA9IDAsIGFjdGl2YXRlID0gMCwgaGVpZ2h0ID0gNDI5NDk2NzI5NSwgd2lkdGggPSA0Mjk0OTY3Mjk1LAoJICBhY2NlbF9mbGFncyA9IDEsIHBpeGNsb2NrID0gMCwgbGVmdF9tYXJnaW4gPSAwLCByaWdodF9tYXJnaW4gPSAwLAoJICB1cHBlcl9tYXJnaW4gPSAwLCBsb3dlcl9tYXJnaW4gPSAwLCBoc3luY19sZW4gPSAwLCB2c3luY19sZW4gPSAwLAoJICBzeW5jID0gMCwgdm1vZGUgPSAwLCByb3RhdGUgPSAwLCBjb2xvcnNwYWNlID0gMCwgcmVzZXJ2ZWQgPSB7MCwgMCwgMCwgMH19LAoJICBmZCA9IDUsCgkgIGZyYW1lYnVmZmVyID0gMHhiNjU0YTAwMCA8ZXJyb3I6IENhbm5vdCBhY2Nlc3MgbWVtb3J5IGF0IGFkZHJlc3MgMHhiNjU0YTAwMD4sIGRldmljZSA9IDB4MTBhMzhkOCAiL2Rldi9mYjAiLCB3aWR0aCA9IDMyMCwgaGVpZ2h0ID0gMjQwLCBjeCA9IDI0MCwgY3kgPSAxMjAsCgkgIGxpbmVsZW4gPSAxMjgwLCBsaW5lcyA9IDI0MCwgYnl0ZXNwcCA9IDQsIGZwc19uID0gMzAsIGZwc19kID0gMX0KCSAgKGdkYikgcCBtYXAKCSAgJDMgPSB7bWVtb3J5ID0gMHhiNWQyNDAwOCwgZmxhZ3MgPSBHU1RfTUFQX1JFQUQsCgkgIGRhdGEgPSAweGI1ZDI0MDU4ICdcMzc3JyA8cmVwZWF0cyA5MCB0aW1lcz4sICJcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNDBcMzc3XDM0MFwzNzdcMzQwXDM3N1wzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYVwzNzdcYSIuLi4sCgkgIHNpemUgPSAxNTM2MDAsIG1heHNpemUgPSAxNTM2MDMsIHVzZXJfZGF0YSA9IHsweDAsCgkgIDB4YjY5ZTNiYTQgPGdzdF9iYXNlX3Npbmtfc2V0X2xhc3RfYnVmZmVyX3VubG9ja2VkKzkyPiwgMHgxMGEzMzc4LCAweDB9LAoJICBfZ3N0X3Jlc2VydmVkID0gezB4MSwgMHgxMGEzMzc4LCAweGI2ZjUwZGQ4IDxfZ3N0X2RlYnVnX21pbj4sIDB4YjVjMDg4Mzh9fQoJICAoZ2RiKSBwIGkKCSAgJDQgPSAxMjEKCSAgRml4IHRoaXMgYnkgY2hhbmdpbmcgdGhlIGZiZGV2c2luay0+Ynl0ZXNwcCBjYWxjdWxhdGlvbiB1c2luZwoJICB0aGUgZnJhbWUgYnVmZmVyIHhyZXNfdmlydHVhbCBzaXplIGluc3RlYWQgb2YgeHJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjQ4MgoKMjAxNi0wMi0yMiAxMjo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLW92ZXJsYXktdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGxheWVyLmRlZjoKCSAgcGxheWVyOiBFeHBvc2UgbW9yZSBHc3RWaWRlb092ZXJsYXkgQVBJIGluIHRoZSBHc3RQbGF5ZXJWaWRlb092ZXJsYXlWaWRlb1JlbmRlcmVyCgkgIEV4cG9zZSB0aGUgZXhwb3NlKCkgYW5kIHNldF9yZW5kZXJfcmVjdGFuZ2xlKCkgbWV0aG9kcy4gVGhlc2UgYXJlIHVzZWZ1bCBmb3IKCSAgcHJvcGVyIGZ1bmN0aW9uaW5nIG9mIHRoZSB2aWRlbyBvdmVybGF5IGluIHZhcmlvdXMgc2l0dWF0aW9ucyBhbmQgdG9vbGtpdHMuCgoyMDE2LTAyLTIyIDIxOjAzOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBmaXggdGhlIGJ1aWxkCgkgIDJkMjg3ODEyIHdhcyBpbmNvbXBsZXRlCgoyMDE2LTAyLTIyIDIwOjQ5OjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBlcnJvciBvdXQgaWYgdGhlIGNvbmZpZ3VyZWQgR0wgQVBJIGlzIHVuc3VwcG9ydGVkIGJ5IG91ciBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4MDEKCjIwMTYtMDEtMjQgMTc6NDA6MzcgKzAzMDAgIFNlcmdleSBCb3JvdmtvdiA8c2VyZ2V5LmJvcm92a292QHdpcmVsb2FkLm5ldD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcW1sZ2xzaW5rOiBTY2hlZHVsZSBvblNjZW5lR3JwYWhJbml0aWFsaXplZCB0byBleGVjdXRlIG9uIHJlbmRlciB0aHJlYWQKCSAgb25TY2VuZUdyYXBoSW5pdGlhbGl6ZWQoKSBpcyBjYWxsZWQgZnJvbSBub24gcmVuZGVyIHRocmVhZCBjdXJyZW50bHkgd2hlbgoJICBzY2VuZSBncmFwaCBpcyBhbHJlYWR5IGluaXRpYWxpemVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDAzCgoyMDE2LTAxLTA3IDE4OjI2OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IG5lZ290aWF0aW9uIGVycm9ycyB3aXRoIG11bHRpLWNoYW5uZWwgZmlsZXMKCSAgU2V0IGZhbGxiYWNrIGNoYW5uZWwgbGF5b3V0IG9uIGZpbGVzIHdpdGggbW9yZSB0aGFuIHR3bwoJICBjaGFubmVscy4gTm90IGNsZWFyIHdoZXJlIHRvIHJldHJpZXZlIHRoZSByZWFsIGxheW91dCBmcm9tCgkgIG9yIHdoYXQgdGhlIGRlZmF1bHQgbGF5b3V0IGlzIGZvciBBSUZGIGZpbGVzLCB0aGUgc3BlYwoJICBvbmx5IHNlZW1zIHRvIHNwZWNpZnkgc29tZSBsYXlvdXQgZm9yIHVwIHRvIDYgY2hhbm5lbHMKCSAgYW5kIHRoZSBmaWxlIGluIHF1ZXN0aW9uIGRvZXNuJ3QgaGF2ZSBhIENIQU4gY2h1bmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY0MjUKCjIwMTYtMDItMjEgMTA6MzQ6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY2R4YXBhcnNlL2NkeGFwYXJzZS52Y3Byb2o6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LnZjcHJvajoKCSogZ3N0L292ZXJsYXkvb3ZlcmxheS52Y3Byb2o6CgkqIGdzdC9ydGpwZWcvcnRqcGVnLnZjcHJvajoKCSogZ3N0L3Ntb290aC9zbW9vdGgudmNwcm9qOgoJKiBnc3Qvc3BlZWQvc3BlZWQudmNwcm9qOgoJKiBnc3Qvc3RlcmVvL3N0ZXJlby52Y3Byb2o6CgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi9nc3Quc2xuOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGRzaG93LmRzcDoKCSogd2luMzIvdnM2L2xpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkqIHdpbjMyL3ZzNi9saWJnc3RmbHYuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bXBlZ3ZpZGVvcGFyc2UuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0bmVvbi5kc3A6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJKiB3aW4zMi92czkvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM5L2xpYmdzdGRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIHdpbjMyOiByZW1vdmUgb3V0ZGF0ZWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBoYXNuJ3QgYmVlbiB0b3VjaGVkIGZvciBnZW5lcmF0aW9ucywgZG9lc24ndCB3b3JrLAoJICBhbmQgaXMganVzdCBjYXVzaW5nIGNvbmZ1c2lvbi4gV2UgYWxzbyBkb24ndCB3YW50IHRvCgkgIG1haW50YWluIHRoZXNlIGZpbGVzIG1hbnVhbGx5LgoKMjAxNi0wMi0yMCAxMjo1NTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJICBkYWFsYTogZG9uJ3QgdXNlIGV4cG9ydGVkIGJ1dCB1bmRlY2xhcmVkIGNvcmUgZGVidWcgY2F0ZWdvcnkgc3ltYm9scwoJICBJdCdzIG5vdCByaWdodCBhbmQgd29uJ3Qgd29yayBvbiBXaW5kb3dzIHdpdGggTVNWQy4KCjIwMTYtMDItMTkgMTQ6Mjc6NTkgLTA4MDAgIFNjb3R0IEQgUGhpbGxpcHMgPHNjb3R0LmQucGhpbGxpcHNAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IGluaXRpYWxpemF0aW9uIG9mIHNsaWNlX2RlYmxvY2tpbmdfZmlsdGVyX2Rpc2FibGVkX2ZsYWcKCSAgSC4yNjUgNy40LjcuMSBzYXlzOgoJICA+IFdoZW4gc2xpY2VfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZyBpcyBub3QgcHJlc2VudCwgaXQgaXMKCSAgPiBpbmZlcnJlZCB0byBiZSBlcXVhbCB0byBwcHNfZGVibG9ja2luZ19maWx0ZXJfZGlzYWJsZWRfZmxhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjM1MQoKMjAxNi0wMi0xOSAxNjo0MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogcHJldmVudCBhc3NlcnRpb24gd2hlbiBzY2FubmluZyBmb3Igc3luYyBjb2RlCgkgIE9ubHkgc2VhcmNoIGlmIHRoZXJlIGlzIGluZGVlZCBlbm91Z2ggZGF0YSB0byBiZSBzZWFyY2hlZCBvdGhlcndpc2UKCSAgYW4gYXNzZXJ0aW9uIGlzIHJhaXNlZAoKMjAxNi0wMi0xOSAxNzo0ODo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBGaXggcGVyLXByb2dyYW0tcGFkIHB1c2hpbmcKCSAgVGhpcyBmaXhlcyBhIGNvdXBsZSBvZiBpc3N1ZXMgcmVnYXJkaW5nIHRoZSBvdXRwdXQgb2YgKHJlcXVlc3QpCgkgIHBlci1wcm9ncmFtIHBhZHMgb3V0cHV0OgoJICBXZSB3b3VsZCBuZXZlciBwdXNoIG91dCBQQVQgc2VjdGlvbnMgKG9rLCB0aGF0IHdhcyBvbmUgcmVhbGxseSBzdHVwaWQKCSAgbWlzdGFrZS4gSSBndWVzcyBub2JvZHkgZXZlciB1c2VzIHRoaXMgZmVhdHVyZSAuLi4pLgoJICBJbiB0aGUgY2FzZSB3aGVyZSB0aGUgUE1UIHNlY3Rpb24gb2YgYSBwcm9ncmFtIHdhcyBiaWdnZXIgdGhhbiBvbmUKCSAgcGFja2V0LCB3ZSB3b3VsZCBvbmx5IGVuZCB1cCBwdXNoaW5nIHRoZSBsYXN0IHBhY2tldCBvZiB0aGF0IFBNVC4gV2hpY2gKCSAgb2J2aW91c2x5IHJlc3VsdHMgaW4gdGhlIHJlc3VsdGluZyBzdHJlYW0gbmV2ZXIgY29udGFpbmluZyB0aGUgcHJvcGVyCgkgIChjb21wbGV0ZSkgUE1ULgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB0aGUgcHJvZ3JhbSBpcyBvbmx5IHN0YXJ0ZWQgKGluIHRoZSBiYXNlIGNsYXNzKQoJICBhZnRlciB0aGUgUE1UIHNlY3Rpb24gaXMgY29tcGxldGVseSBwYXJzZWQuIFdoZW4gZGVhbGluZyB3aXRoIHNpbmdsZS1wcm9ncmFtCgkgIHBhZHMsIHRzcGFyc2Ugb25seSB3YW50cyB0byBwdXNoIHRoZSBQTVQgY29ycmVzcG9uZGluZyB0byB0aGUgcmVxdWVzdGVkCgkgIHByb2dyYW0gKGFuZCBub3QgdGhlIG90aGVyIG9uZXMpLiB0c3BhcnNlIGRpZCB0aGF0IGNoZWNrIGJ5IGxvb2tpbmcKCSAgYXQgdGhlIHN0cmVhbXMgb2YgdGhlIHByb2dyYW0uLi4KCSAgLi4uIGJ1dCB0aGF0IHByb2dyYW0gZG9lc24ndCBleGlzdCBmb3IgdGhlIGZpcnN0IHBhY2tldHMgb2YgdGhlIGluaXRpYWwKCSAgUE1ULgoJICBUaGUgZml4IGlzIHRvIHVzZSB0aGUgYmFzZSBjbGFzcyBwcm9ncmFtIGluZm9ybWF0aW9uIChpZiBpdCBwYXJzZWQgdGhlCgkgIFBBVCBpdCBhbHJlYWR5IGhhcyBzb21lIGluZm9ybWF0aW9uLCBsaWtlIHRoZSBQTVQgUElEIGZvciBhIGdpdmVuIHByb2dyYW0pCgkgIGlmIHRoZSBwcm9ncmFtIGhhc24ndCBzdGFydGVkIHlldC4KCjIwMTYtMDItMTkgMTc6NDU6MjYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IFVzZSBHc3RGbG93Q29tYmluZXIKCSAgSW4gYWRkaXRpb24gdG8gdGhlIGZhY3QgdGhhdCBpdCdzIGEgc2FuZSB0aGluZyB0byBkbyBmb3IgbXVsdGktc291cmNlCgkgIHBhZCBlbGVtZW50cywgaXQgYWxzbyBhdm9pZHMgdGhlIHNpdHVhdGlvbiB3aGVyZSBqdXN0IHVzaW5nIGEgcmVxdWVzdAoJICBwYWQgKGFuZCBub3QgdGhlIG1haW4gc3RhdGljIHBhZCkgd291bGQgcmVzdWx0IGluIHRoZSBwcm9jZXNzaW5nCgkgIHN0b3BwaW5nLgoKMjAxNi0wMi0xOSAxMjozODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS43LjIgPT09CgoyMDE2LTAyLTE5IDExOjUwOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS43LjIKCjIwMTYtMDItMTkgMTA6MzI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTYtMDItMTggMTQ6MzI6MjMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWJhc2UtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItbXBlZ3RzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci13YXlsYW5kLXVuaW5zdGFsbGVkLnBjLmluOgoJICB1bmluc3RhbGxlZC5wYzogYWRkIHN1cHBvcnQgZm9yIG5vbiBsaWJ0b29sIGJ1aWxkIHN5c3RlbXMKCSAgQ3VycmVudGx5IHRoZSAubGEgcGF0aCBpcyBwcm92aWRlZCB3aGljaCByZXF1aXJlcyB0byB1c2UgbGlidG9vbCBhcwoJICBtZW50aW9uZWQgaW4gdGhlIEdTdHJlYW1lciBtYW51YWwgc2VjdGlvbi1oZWxsb3dvcmxkLWNvbXBpbGVydW4uaHRtbC4KCSAgSXQgaXMgZmluZSBhcyBsb25nIGFzIHRoZSBhcHBsaWNhdGlvbiBpcyBidWlsdCB1c2luZyBsaWJ0b29sLgoJICBTbyBjdXJyZW50bHkgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbXBpbGUgYSBHU3RyZWFtZXIgYXBwbGljYXRpb24KCSAgd2l0aGluIGdzdC11bmluc3RhbGxlZCB3aXRoIENNYWtlIG9yIG90aGVyIGJ1aWxkIHN5c3RlbSBkaWZmZXJlbnQKCSAgdGhhbiBhdXRvdG9vbHMuCgkgIFRoaXMgcGF0Y2ggYWxsb3dzIHRvIGRvIHRoZSBmb2xsb3dpbmcgaW4gZ3N0LXVuaW5zdGFsbGVkIGVudjoKCSAgZ2NjIHRlc3QuYyAtbyB0ZXN0ICQocGtnLWNvbmZpZyAtLWNmbGFncyAtLWxpYnMgZ3N0cmVhbWVyLTEuMCBcCgkgIGdzdHJlYW1lci1nbC0xLjApCgkgIFByZXZpb3VzbHkgaXQgcmVxdWlyZWQgdG8gcHJlcGVuZCBsaWJ0b29sIC0tbW9kZT1saW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA3NzgKCjIwMTYtMDItMTggMTY6MjE6MzggKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2xkZWJ1ZzogbWFrZSBzdXJlIGRlYnVnIGlzIGluaXRpYWxpemVkIHdoZW4gY2FsbGluZyBnc3RfZ2xfaW5zZXJ0X2RlYnVnX21hcmtlcgoJICBVc3VhbGx5IGdsIGRlYnVnIGlzIGluaXRpYWxpemVkIGluIGdzdF9nbF9jb250ZXh0X2NyZWF0ZV90aHJlYWQuCgkgIEJ1dCB0aGlzIGZ1bmN0aW9uIGlzIG5vdCB1c2VkIHdoZW4gdXNpbmcgdGhlIEdzdEdMQ29udGV4dEdQVVByb2Nlc3MKCSAgZnJvbSBDaHJvbWl1bUdTdHJlYW1lckJhY2tlbmQuCgkgIFJlY2VpdmVkIHNpZ25hbCAxMSBTRUdWX01BUEVSUiAwMDAwMDAwMDAwMDAKCSAgZ3N0X2RlYnVnX2NhdGVnb3J5X2dldF90aHJlc2hvbGQKCSAgZ3N0X2dsX2luc2VydF9kZWJ1Z19tYXJrZXIKCSAgZ3N0X2dsX2Jhc2VfZmlsdGVyX2dsX3N0YXJ0CgoyMDE2LTAyLTE4IDEwOjMzOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL2dsZXNfdmVyc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3V0aWxzL29wZW5nbF92ZXJzaW9ucy5oOgoJICBnbDogRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIGNvbnN0IHZhcmlhYmxlIHdpdGggZ2NjIDYKCSAgQ0MgICAgICAgbGliZ3N0Z2xfeDExX2xhLWdzdGdsY29udGV4dF9nbHgubG8KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIGdzdGdsY29udGV4dF9nbHguYzozOTowOgoJICAuLi91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDo1Mjo0MzogZXJyb3I6IOKAmGdsZXMyX3ZlcnNpb25z4oCZIGRlZmluZWQgYnV0IG5vdCB1c2VkIFstV2Vycm9yPXVudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IHN0cnVjdCB7IGludCBtYWpvciwgbWlub3I7IH0gZ2xlczJfdmVyc2lvbnNbXSA9IHsKCSAgXn5+fn5+fn5+fn5+fn4KCjIwMTYtMDItMTggMTA6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBNb3ZlIHByaXZhdGUgaGVhZGVycyBmcm9tIFNPVVJDRVMgdG8gbm9pbnN0X0hFQURFUlMKCjIwMTYtMDItMTggMDA6MjQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBDKysxMSBjb21wYXRpYmlsaXR5CgkgIGdzdG1vZHBsdWcuY2M6OTQ6MTc6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgc3RyaW5nIG1hY3JvIFstV2Vycm9yPWxpdGVyYWwtc3VmZml4XQoJICAjZGVmaW5lIEZPUk1BVFMgInsgIkdTVF9BVURJT19ORSAoUzMyKSIsICJHU1RfQVVESU9fTkUgKFMxNikiLCBVOCB9IgoJICBeCgkgIGdzdG1vZHBsdWcuY2M6OTQ6Mzk6IGVycm9yOiBpbnZhbGlkIHN1ZmZpeCBvbiBsaXRlcmFsOyBDKysxMSByZXF1aXJlcyBhIHNwYWNlIGJldHdlZW4gbGl0ZXJhbCBhbmQgc3RyaW5nIG1hY3JvIFstV2Vycm9yPWxpdGVyYWwtc3VmZml4XQoJICAjZGVmaW5lIEZPUk1BVFMgInsgIkdTVF9BVURJT19ORSAoUzMyKSIsICJHU1RfQVVESU9fTkUgKFMxNikiLCBVOCB9IgoJICBeCgoyMDE2LTAyLTE2IDE1OjEwOjM0ICswMTAwICBEYXZpZCBGZXJuYW5kZXogPGQuZmVybmFuZGV6bG9wQGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IGRvbid0IHNlbmQgZW1wdHkgYnVmZmVycwoJICBGaXhlcyBwcm9ibGVtIGluIGN1cmxodHRwc2luayB3aGVuIHF0bXV4IHVzZXMgZmFzdHN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYyMDEzCgoyMDE2LTAyLTE3IDExOjE2OjUzICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IEZpeCBzb21lIGRlYnVncwoKMjAxNi0wMS0yNiAwOTozNDowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRfc3JjOiBGaXggY2FwcyBtZW1vcnkgbGVhawoJICB2NGxfY2FwcyBhbmQgbmV3X2NhcHMgYXJlIGJlaW5nIGFsbG9jYXRlZCBuZXcgbWVtb3J5IGJlZm9yZSBmcmVlaW5nIHRoZQoJICBvbGQgYWxsb2NhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTEwOAoKMjAxNS0xMi0yNCAxNTozNjo1NCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIGNvZGUgdG8gY2hlY2sgZm9yIHN1YmNsYXNzIHNlZWsgaGFuZGxpbmcKCSAgSWYgc3ViY2xhc3MgaXMgbm90IGFibGUgdG8gaGFuZGxlIHNlZWsgZXZlbnQsIHRoZW4gdGhlcmUgaXMgbm8gbmVlZCB0bwoJICBzdG9wIHN0cmVhbWluZyBhbmQgc2VuZCBmbHVzaCBldmVudHMuIFdlIHNob3VsZCBzaW1wbHkgcmV0dXJuIEZBTFNFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTYKCjIwMTUtMTItMjQgMTU6MTA6MTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBBZGQgY29uZGl0aW9uIHRvIGNoZWNrIGZvciBub24gd29ya2luZyBuZWdhdGl2ZSByYXRlCgkgIHRzZGVtdXggaXMgbm90IGFibGUgdG8gaGFuZGxlIG5lZ2F0aXZlIHBsYXliYWNrIHJhdGVzLgoJICBCdXQgaW4gbXBlZ3RzYmFzZSwgdGhlIHNhbWUgY2hlY2sgaXMgbm90IGJlaW5nIGRvbmUuCgkgIGFkZGVkIGEgY2hlY2sgdG8gbm90IGhhbmRsZSBuZWdhdGl2ZSByYXRlIHdoaWxlIHNlZWtpbmcgdW5sZXNzCgkgIHRoZSBzYW1lIGlzIGhhbmRsZWQgdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTYKCjIwMTYtMDItMTcgMTM6MDA6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogaW5zZXJ0IHRoZSBkZWJ1ZyBtYXJrZXIgZnJvbSB0aGUgR0wgdGhyZWFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE1MzgKCjIwMTYtMDItMTcgMTE6NDI6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHVuc2VkIHJlY29uZmlndXJlIHZhcmlhYmxlCgoyMDE2LTAxLTEzIDEzOjE3OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBkb24ndCBwdXNoIGEgcmVjb25maWd1cmUgZXZlbnQgZnJvbSB0aGUgR0wgdGhyZWFkCgkgIERvaW5nIHNvIG1heSBjYXVzZSBkZWFkbG9ja3Mgd2hlbiBvdGhlciBlbGVtZW50cyBhdHRlbXB0IGRlc3Ryb3kgb3IgY3JlYXRlZAoJICBHTCByZXNvdXJjZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA1NTkKCjIwMTYtMDEtMjEgMTA6NDA6MzYgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgbGVhayBwYWQncyB2ZXJ0ZXggYnVmZmVyIG9uIHJlbGVhc2VfcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDItMTcgMDE6MDg6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2xtaXhlcjogUmVtb3ZlIHVzYWdlIG9mIEdzdEdMTWl4ZXJGcmFtZURhdGEKCSAgU3ViY2xhc3NlcyBjYW4ganVzdCBpdGVyYXRlIG92ZXIgdGhlIGxpc3Qgb2YgcGFkcyB0aGVtc2VsdmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjA4NzMKCjIwMTYtMDEtMTMgMTQ6NDE6MjIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvbid0IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxlIGNhbGxpbmcgaW50byBHTAoJICBEb2luZyBzbyBjYW4gZGVhZGxvY2sgYmV0d2VlbiB0aGUgR0wgdGhyZWFkIGFuZCB0aGUgb2JqZWN0IGxvY2sgZS5nLgoJICB3aGVuIHBlcmZvcm1pbmcgcmVjb25maWd1cmUgZXZlbnRzIGluIGdsaW1hZ2VzaW5rIG9uIGEgcmVzaXplIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTU5CgoyMDE2LTAyLTE2IDIyOjM0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBVcGRhdGUgY29tbW9uOiBtYWtlIGNoZWNrLWV4cG9ydHMgbm90IGZhaWwgZm9yIGxpYmdzdGdsLmRlZgoJICBTaG91bGQgZml4IGRpc3RjaGVjayBvbiBzb21lIGJ1aWxkIGJvdHMuCgoyMDE2LTAxLTI2IDA5OjM3OjA0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSAgYWNtZW5jL2FjbW1wM2RlYzogcmVtb3ZlIHVubmVjZXNzYXJ5IGJyZWFrIGFmdGVyIHJldHVybgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMTA5CgoyMDE1LTA3LTIxIDE4OjAyOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaW1wcm92ZSBjaGVjayBmb3Igd2F5bGFuZC1zY2FubmVyIGJpbmFyeQoJICBUaGUgcGx1Z2luIGRvZXNuJ3QgbmVlZCB0aGUgd2F5bGFuZC1zY2FubmVyIHBhY2thZ2UgdG8gYmUgYnVpbHQKCSAgb3IgcnVuLCBpdCBvbmx5IG5lZWRzIHRoZSB3YXlsYW5kLXNjYW5uZXIgcHJvZ3JhbSBkdXJpbmcgY29tcGlsZSB0aW1lLgoJICBXaGVuIGNyb3NzLWNvbXBpbGluZywgYnVpbGQgc3lzdGVtcyBtaWdodCBub3QgaGF2ZSB0aGUgd2F5bGFuZC1zY2FubmVyCgkgIHBhY2thZ2UgZm9yIHRoZSB0YXJnZXQgc3lzdGVtIGFzIGl0IGlzIGEgZGV2ZWxvcGVyJ3MgdG9vbCwgd2hpbGUgaXQgc2hvdWxkCgkgIHN0aWxsIGJlIHBvc3NpYmxlIHRvIHVzZSB3YXlsYW5kLXNjYW5uZXIgZnJvbSB0aGUgaG9zdCBzeXN0ZW0uCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgbm90IHJlcXVpcmluZyB0aGUgd2F5bGFuZC1zY2FubmVyIHBhY2thZ2UgYnV0CgkgIGp1c3QgdGhlIGJpbmFyeSBpdHNlbGYuCgkgIE5vdGUgdGhhdCB0aGUgY2hlY2sgaXMgZG9uZSBvdXRzaWRlIG9mIHRoZSBQS0dfQ0hFQ0tfTU9EVUxFUwoJICBhcyBpdCBkb2Vzbid0IHdvcmsgaW5zaWRlIG9mIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNjg4CgoyMDE2LTAxLTIxIDExOjUzOjMzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc3RvcmUgYml0cmF0ZSBhdmVyYWdpbmcgc3VwcG9ydAoJICBUaGlzIHdhcyBhY2NpZGVudGFsbHkgcmVtb3ZlZCBpbiBjb21taXQgY2NmZjNiZTMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTYtMDEtMjAgMTU6MzM6MjggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBxdWV1ZTIgb3ZlcnJ1biBub3RpZmljYXRpb24KCSAgRHVlIHRvIHBlcmZvcm1hbmNlIGltcGFjdCBjb25jZXJucyB0aGlzIGlzIHJlbW92ZWQuIEFuIGFsdGVybmF0aXZlCgkgIGFwcHJvYWNoIHdvdWxkIGJlIHRvIHJlbHkgb24gYnVmZmVyaW5nIG1lc3NhZ2VzIG1vbml0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTYtMDItMTYgMTY6MTg6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSAgdmtkZXZpY2U6IGFkZCB0aGUgbmVjZXNzYXJ5IGJ1dCBhcmJpdHJhcnkgcXVldWUgcHJpb3JpdHkKCSAgU2lsZW5jZXMgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gbGF5ZXJzLgoKMjAxNi0wMi0xNiAxNjoxMjowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhZGQgdGhlIG5lY2Vzc2FyeSBjYWxsIHRvIGNoZWNrIGlmIHRoZSBwaHlzaWNhbCBkZXZpY2Ugc3VwcG9ydHMgdGhlIHN1cmZhY2UKCSAgU2lsZW5jZXMgYW4gZXJyb3IgaW4gdGhlIHZhbGlkYXRpb24gbGF5ZXJzLgoKMjAxNi0wMi0xNiAxNTo1Mzo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSAgdnVsa2FuOiB1cGRhdGUgdG8gU0RLIDEuMC4zLjEKCjIwMTYtMDItMTYgMTU6MzY6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgdnVsa2FuL2J1aWxkOiBzZWFyY2ggZm9yIHRoZSBjb3JyZWN0IGxpYnJhcnkKCSAgU0RLIDEuMC4xIHVzZWQgbGlidnVsa2FuLTEuc28sIDEuMC4yIHVzZXMgbGlidnVsa2FuLnNvCgoyMDE2LTAyLTE2IDExOjUxOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGl0ZXJhdGUgb3ZlciB0aGUgZGV2aWNlIHF1ZXVlJ3MgdXNpbmcgdGhlIG5ldyBpdGVyYXRpb24gQVBJCgoyMDE2LTAyLTE2IDExOjQ5OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSAgdmtkZXZpY2U6IGFkZCBjYWxsYmFjayBpdGVyYXRpb24gb3ZlciB0aGUgZGV2aWNlIHF1ZXVlJ3MKCjIwMTYtMDItMTYgMTE6MjI6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5jOgoJKiBleHQvdnVsa2FuL3ZrcXVldWUuaDoKCSAgdmtxdWV1ZTogYWRkIGNvbnRleHQgaGVscGVycwoKMjAxNi0wMi0xMSAwMTozMToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmg6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkgIHZrdXRpbHM6IG1vdmUgb2JqZWN0LXNwZWNpZmljIGNvbnRleHQgcXVlcmllcyB0byB0aGVpciByZXNwZWN0aXZlIGZpbGVzCgkgIHZrdXRpbHMgbm93IGp1c3QgY29udGFpbnMgc29tZSB1dGlsaXR5IGZ1bmN0aW9ucyB0byBmdXJ0aGVyIHNpbXBsaWZ5IHJldHJpZXZpbmcKCSAgbXVsdGlwbGUgb2JqZWN0cy4KCjIwMTYtMDItMTEgMDA6NTA6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJICB2a2RldmljZTogcmVtb3ZlIHVubmVlZGVkIGVycm9yIHBhcmFtZXRlciBmcm9tIGdldF9xdWV1ZSgpCgoyMDE2LTAyLTEwIDE4OjA2OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuaDoKCSAgdmt1cGxvYWQ6IGltcGxlbWVudCBhbiB1cGxvYWRlciBhYnN0cmFjdGlvbgoKMjAxNi0wMi0xMCAxOTo1MDoyNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSAgdmtkaXNwbGF5OiB1bnJlZiB0aGUgaW5zdGFuY2UKCSAgZml4ZXMgbWVtb3J5IGxlYWsKCjIwMTYtMDItMTAgMTk6MzQ6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogY2hhaW4gdXAgaW4gZmluYWxpemUKCSAgVGhleSB3ZXJlIG1pc3NpbmcgaW4gc29tZSBjYXNlcwoKMjAxNi0wMi0xMCAxODo1ODozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtzaW5rOiBvbmx5IHVucmVmIGlmIHRoZSBwb2ludGVycyBhcmUgbm9uLU5VTEwKCjIwMTYtMDItMTAgMTg6MDU6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBmcmVlIHRoZSBtYW5hZ2luZyBzdHJ1Y3Qgb24gX2ZyZWUKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNi0wMi0wOSAxODoyNjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJICB2a2RldmljZTogcGVyZm9ybSBhIHdhaXRJZGxlIGJlZm9yZSBkZXN0cm95aW5nIHRoZSBkZXZpY2UKCjIwMTYtMDItMDkgMTc6NDY6NTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5Lmg6CgkgIFJldmVydCAidnVsa2FuOiByZW1vdmUgdmlld3MgZnJvbSB0aGUgbWVtb3J5IG9iamVjdHMuIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFlYTgxNzI5OGVlNGQ1ZWY5YjAwZjg4OGY4ZWJlMTZhODg4YjExNTAuCgoyMDE2LTAyLTA5IDE3OjMxOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcnBvb2wuYzoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW5tZW1vcnk6IHJlbW92ZSBiaW5kIHZhcmlhbnRzCgoyMDE2LTAyLTA5IDE2OjIxOjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW46IHJlbW92ZSB2aWV3cyBmcm9tIHRoZSBtZW1vcnkgb2JqZWN0cy4KCSAgVGhleSBhcmUgbm90IHVzZWQgYW5kIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGNyZWF0ZSB0aGUgdmlldyBiZWZvcmUgYmluZGluZyB0aGUKCSAgVmtEZXZpY2VNZW1vcnkgb2JqZWN0IHRvIHRoZW0uCgoyMDE2LTAyLTA5IDExOjM0OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGFscGhhIGZsYWdzIGFyZSBub3cgc3VwcG9ydGVkIGJ5IEx1bmFyRydzIGRyaXZlcgoKMjAxNi0wMi0wOSAwMDowNzozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVycG9vbC5oOgoJKiBleHQvdnVsa2FuL3ZrdXBsb2FkLmM6CgkgIHZ1bGthbjogYWRkIGEgdnVsa2FuYnVmZmVyIGJ1ZmZlcnBvb2wKCjIwMTYtMDItMDggMjI6NDk6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vZ3N0dnVsa2FuLmM6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt1cGxvYWQuYzoKCSogZXh0L3Z1bGthbi92a3VwbG9hZC5oOgoJICB2dWxrYW46IGFkZCB1cGxvYWQgZWxlbWVudAoKMjAxNi0wMi0wOCAxODoyODoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZrdXRpbHM6IGZpeCBhc3NlcnQgaW52ZXJzaW9uCgoyMDE2LTAyLTA4IDE4OjI3OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5oOgoJICB2dWxrYW46IGFkZCBjYXBzIGZlYXR1cmUgbmFtZXMgZm9yIHRoZSBidWZmZXIgYW5kIGltYWdlIG1lbW9yaWVzCgoyMDE2LTAyLTA4IDE0OjQ0OjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkgIHZ1bGthbjogYWRkIGRldmljZSB0byBoYW5kbGVfY29udGV4dF9xdWVyeQoKMjAxNi0wMi0wOCAxNDozMjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmM6CgkgIHZ1bGthbjogbW92ZSBpbnN0YW5jZV9vcGVuIGludG8gdGhlIHV0aWxpdHkgZW5zdXJlX2VsZW1lbnRfZGF0YQoJICBTbyBjYWxsZXJzIGRvbid0IGhhdmUgdG8gcGVyZm9ybSBpdCB0aGVtc2VsdmVzLgoKMjAxNi0wMi0wOCAxNDoyNTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJICB2a2luc3RhbmNlOiBhZGQgc2lnbmFsIGZvciBvdmVycmlkaW5nIGRldmljZSBjcmVhdGlvbgoKMjAxNi0wMi0wOCAxMjoyMjoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5Lmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a21hY3Jvcy5oOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdnVsa2FuOiBzZXBhcmF0ZSBhbGxvY2F0aW9uIGFuZCBiaW5kaW5nIG9mIG1lbW9yeQoKMjAxNi0wMi0wOCAxMjoxNDo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2J1ZmZlcm1lbW9yeS5jOgoJICB2a2J1ZmZlcm1lbW9yeTogZm9sbG93IHRoZSByZXN0IG9mIHRoZSBzdHJ1Y3QgbWFjcm9zCgoyMDE2LTAyLTA1IDE5OjMxOjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IHVzZSBidWZmZXIgbWVtb3J5IHRvIHVwbG9hZCB2aWRlbyBmcmFtZXMgdG8gdGhlIEdQVQoKMjAxNi0wMi0wNSAxOToxODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi92ay5oOgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrYnVmZmVybWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtidWZmZXJtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogYWRkIGEgYnVmZmVyIG1lbW9yeSBhbGxvY2F0b3IKCSAgV3JhcHMgdGhlIFZrQnVmZmVyIGluIGEgR3N0TWVtb3J5IHN1YmNsYXNzLgoKMjAxNi0wMi0wNSAxOToxMTo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJICB2a21lbW9yeTogYWxpZ24gc3RydWN0IG1lbWJlcnMgaW4gdGhlIGhlYWRlcgoKMjAxNi0wMi0wNSAxOToxMDo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a21hY3Jvcy5oOgoJICB2a21hY3JvczogdXNlIHNwZWNpZmljIF9JTklUIG1hY3JvcyB0byBpbml0aWFsaXplIHN0cnVjdHVyZXMKCjIwMTYtMDItMDUgMTk6MDk6NDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSAgdmtpbWFnZW1lbW9yeTogYWRkIGdldF97d2lkdGgsaGVpZ2h0KSBmdW5jdGlvbnMKCjIwMTYtMDEtMjcgMTU6MjA6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkgIHZ1bGthbjogdXBkYXRlIHRvIHJlbGVhc2UgMS4wLjEuMQoKMjAxNi0wMS0yMiAxNDozNDowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmM6CgkgIHZ1bGthbi94Y2I6IGZsdXNoIGFmdGVyIG1hcHBpbmcgdGhlIHdpbmRvdwoJICBPdGhlcndpc2UgdGhlIG1hcCBtYXkgbm90IHJlYWNoIHRoZSBzZXJ2ZXIgYW5kIG5vdCBhcHBlYXIuCgoyMDE2LTAxLTA0IDE2OjUxOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJICB2a3N3YXBwZXI6IGZpeCBzZW1hcGhvcmUgdXNhZ2UKCjIwMTUtMTItMzEgMTY6MzQ6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkgIHZ1bGthbjogYWRkIHNvbWUgZGVidWdnaW5nIGFib3V0IHRoZSBzdXBwb3J0ZWQgZXh0ZW5zaW9ucwoKMjAxNS0xMi0zMSAxNTo1ODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBnZXQgdGhlIGZ1bmN0aW9uIHBvaW50ZXJzIGZyb20gdGhlIGNvcnJlY3Qgb2JqZWN0CgkgIEdldFBoeXNpY2FsRGV2aWNlKiBmdW5jdGlvbnMgYXJlIGluc3RhbmNlIGZ1bmN0aW9ucyByYXRoZXIgdGhhbiBkZXZpY2UKCSAgZnVuY3Rpb25zLgoKMjAxNS0xMi0zMSAxNTozODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJICB2a2luc3RhbmNlOiBhZGQgdGhlIG5lY2Vzc2FyeSB3aW5zeXMgZXh0ZW5zaW9uCgoyMDE1LTEyLTMxIDE1OjM0OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJICB2a2Rpc3BsYXk6IGZvcndhcmQgZGVjbGFyZSBHc3RWdWxrYW5EaXNwbGF5VHlwZQoKMjAxNS0xMi0zMSAxNTozMjoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJICB2a2FwaTogcmVtb3ZlIHVubmVlZGVkIGhlYWRlcnMKCSAgdmthcGkgaXMgZm9yIGFjY2Vzc2luZyB0aGUgdnVsa2FuIGhlYWRlcnMgd2l0aCB0aGUgY29ycmVjdCBkZWZpbmVzIGFwcGxpZWQgc28KCSAgZG9lc24ndCBuZWVkIGFueSBpbnRlcmFsIGhlYWRlcnMuCgoyMDE1LTEyLTMwIDE1OjE1OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogZml4IHRoZSBtZW1vcnkgYmFycmllciBhY2Nlc3MgbWFza3MKCSAgc2lsZW5jZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5ncyBmcm9tIHRoZSB2YWxpZGF0aW9uIGxheWVyCgkgIEFjY2Vzc01hc2sgeHh4IG11c3QgaGF2ZSByZXF1aXJlZCBhY2Nlc3MgYml0IHh4eCBhbmQgbWF5IGhhdmUgb3B0aW9uYWwgYml0cyAwCgkgIHdoZW4gbGF5b3V0IGlzIFZLX0lNQUdFX0xBWU9VVF9UUkFOU0ZFUl97U1JDLERTVH1fT1BUSU1BTAoKMjAxNS0xMi0zMCAxNToxNDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBvbmx5IHdhaXQgb24gdGhlIHNlbWFwaG9yZSBvbmNlCgkgIEl0J3MgaW52YWxpZCB1c2FnZSBhbmQgd2UgbWF5IGRlYWRsb2NrCgoyMDE1LTEyLTMxIDAxOjI3OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSAgdmtpbWFnZW1lbW9yeTogaW5pdGlhbGl6ZSBmbGFncyBhbmQgZG9uJ3QgY3Jhc2ggb24gZXJyb3JzCgoyMDE1LTEyLTMwIDE0OjA2OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtlcnJvci5jOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogdXBkYXRlIGVycm9yIGRiIGZvciAwLjEwLjIKCjIwMTUtMTItMjkgMTY6MDU6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a2FwaS5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuYzoKCSogZXh0L3Z1bGthbi92a2Rpc3BsYXkuaDoKCSogZXh0L3Z1bGthbi92a2ltYWdlbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZrbWFjcm9zLmg6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5jOgoJKiBleHQvdnVsa2FuL3Zrd2luZG93Lmg6CgkqIGV4dC92dWxrYW4veGNiL3ZrZGlzcGxheV94Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5oOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuYzoKCSogZXh0L3Z1bGthbi94Y2Ivdmt3aW5kb3dfeGNiLmg6CgkgIHZ1bGthbjogdXBkYXRlIHRvIFNESyAwLjEwLjIKCjIwMTUtMTItMDcgMTc6MzM6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vTWFrZWZpbGUuYW06CgkqIGV4dC92dWxrYW4vdmsuaDoKCSogZXh0L3Z1bGthbi92a2RldmljZS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmM6CgkqIGV4dC92dWxrYW4vdmt1dGlscy5jOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuaDoKCSogZXh0L3Z1bGthbi92a3V0aWxzX3ByaXZhdGUuaDoKCSAgdnVsa2FuOiBpbXBsZW1lbnQgR3N0Q29udGV4dCBoZWxwZXJzCgkgIEJhc2VkIG9mZiBsaWJnc3RnbCdzIGltcGxlbWVudGF0aW9uCgoyMDE1LTEyLTA3IDE3OjIxOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZrX2Z3ZC5oOgoJKiBleHQvdnVsa2FuL3ZrZGV2aWNlLmM6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtkZXZpY2U6IHJlbW92ZSBnc3RfdnVsa2FuX2RldmljZV9jbG9zZSgpCgkgIFdoZW4gc2hhcmluZyB0aGUgZGV2aWNlIGJldHdlZW4gbXVsdGlwbGUgZWxlbWVudHMvYXBwbGljYXRpb24sIHdlIG5lZWQKCSAgdG8gdXNlIHRoIGVyZWZjb3VudCB0byBrbm93IHdoZW4gdG8gY2xvc2UgdGhlIGRldmljZS4KCjIwMTUtMTItMDcgMTc6MDA6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5jOgoJKiBleHQvdnVsa2FuL3ZraW5zdGFuY2UuaDoKCSogZXh0L3Z1bGthbi92a3NpbmsuYzoKCSAgdmtpbnN0YW5jZTogcmVtb3ZlIGdzdF92dWxrYW5faW5zdGFuY2VfY2xvc2UKCSAgU2hhcmluZyB0aGUgaW5zdGFuY2UgYWNyb3NzIG11bHRpcGxlIGVsZW1lbnRzL2FwcGxpY2F0aW9uIHdpbGwgcmVxdWlyZQoJICB1c2luZyB0aGUgcmVmY291bnQgaW5zdGVhZCB0byBrbm93IHdoZW4gdG8gY2xvc2UgYW5kIGRlc3Ryb3kgdGhlIGluc3RhbmNlLgoKMjAxNS0xMi0wNyAxNjo0NjoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiByZW1vdmUgb3V0ZGF0ZWQgY29tbWVudAoKMjAxNS0xMi0wNyAxNjozOTo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Z1bGthbi92a3N3YXBwZXIuYzoKCSAgdmtzd2FwcGVyOiBhbHdheXMgbWF0Y2ggbG9jay91bmxvY2sgb2YgdGhlIHJlbmRlciBsb2NrCgkgIElmIGEgZHJhdyBldmVudCBjb21lcyBmcm9tIHRoZSB3aW5zeXMgYmVmb3JlIHdlJ3ZlIHJlbmRlcmVkIGEgYnVmZmVyIHdlIHdlcmUKCSAgZGVhZGxvY2tpbmcuCgoyMDE1LTEyLTAyIDE3OjU0OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuYzoKCSogZXh0L3Z1bGthbi92a21lbW9yeS5jOgoJICB2a21lbW9yeTogZGVidWcgb3V0cHV0IHRoZSBtZW1vcnkgcHJvcGVydGllcyByZXF1ZXN0ZWQKCjIwMTUtMTItMDIgMTc6MTQ6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJICB2a2ltYWdlbWVtb3J5OiBkb24ndCBsZWFrIEdzdE1hcEluZm8gaW4gZmFpbHVyZSBjYXNlcyBvbiBfbWFwKCkKCjIwMTUtMTItMDIgMTc6MTA6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkgIHZ1bGthbjogZGUtQzk5IHN0cnVjdCBkZWNsYXJhdGlvbnMKCjIwMTUtMTItMDEgMTg6Mzc6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkgIHZrd2luZG93L3N3YXBwZXI6IGltcGxlbWVudCByZWRyYXcgaGFuZGxpbmcKCSAgb25seSB4Y2IgaGFzIGJlZW4gaW1wbGVtZW50ZWQKCjIwMTUtMTItMDEgMTY6Mjg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5LmM6CgkqIGV4dC92dWxrYW4vdmtkaXNwbGF5Lmg6CgkqIGV4dC92dWxrYW4vdmtzaW5rLmg6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmM6CgkqIGV4dC92dWxrYW4vdmtzd2FwcGVyLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmM6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmM6CgkgIHZ1bGthbjogaW1wbGVtZW50IHF1aXR0aW5nIGFuZCByZXNpemluZyB0aGUgd2luZG93CgkgIEFzIGJlZm9yZSwgb25seSB4Y2IgaGFzIGJlZW4gaW1wbGVtZW50ZWQuCgoyMDE1LTEwLTI0IDE3OjI5OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi8uZ2l0aWdub3JlOgoJKiBleHQvdnVsa2FuL01ha2VmaWxlLmFtOgoJKiBleHQvdnVsa2FuL2dzdHZ1bGthbi5jOgoJKiBleHQvdnVsa2FuL3ZrLmg6CgkqIGV4dC92dWxrYW4vdmtfZndkLmg6CgkqIGV4dC92dWxrYW4vdmtkZXZpY2UuYzoKCSogZXh0L3Z1bGthbi92a2RldmljZS5oOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5jOgoJKiBleHQvdnVsa2FuL3ZrZGlzcGxheS5oOgoJKiBleHQvdnVsa2FuL3ZrZXJyb3IuYzoKCSogZXh0L3Z1bGthbi92a2Vycm9yLmg6CgkqIGV4dC92dWxrYW4vdmtpbWFnZW1lbW9yeS5jOgoJKiBleHQvdnVsa2FuL3ZraW1hZ2VtZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a2luc3RhbmNlLmM6CgkqIGV4dC92dWxrYW4vdmtpbnN0YW5jZS5oOgoJKiBleHQvdnVsa2FuL3ZrbWVtb3J5LmM6CgkqIGV4dC92dWxrYW4vdmttZW1vcnkuaDoKCSogZXh0L3Z1bGthbi92a3F1ZXVlLmM6CgkqIGV4dC92dWxrYW4vdmtxdWV1ZS5oOgoJKiBleHQvdnVsa2FuL3Zrc2luay5jOgoJKiBleHQvdnVsa2FuL3Zrc2luay5oOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5jOgoJKiBleHQvdnVsa2FuL3Zrc3dhcHBlci5oOgoJKiBleHQvdnVsa2FuL3ZrdXRpbHMuYzoKCSogZXh0L3Z1bGthbi92a3V0aWxzLmg6CgkqIGV4dC92dWxrYW4vdmt3aW5kb3cuYzoKCSogZXh0L3Z1bGthbi92a3dpbmRvdy5oOgoJKiBleHQvdnVsa2FuL3hjYi9NYWtlZmlsZS5hbToKCSogZXh0L3Z1bGthbi94Y2IvdmtkaXNwbGF5X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a2Rpc3BsYXlfeGNiLmg6CgkqIGV4dC92dWxrYW4veGNiL3Zrd2luZG93X3hjYi5jOgoJKiBleHQvdnVsa2FuL3hjYi92a3dpbmRvd194Y2IuaDoKCSogZXh0L3Z1bGthbi94Y2IveGNiX2V2ZW50X3NvdXJjZS5jOgoJKiBleHQvdnVsa2FuL3hjYi94Y2JfZXZlbnRfc291cmNlLmg6CgkgIG5ldyB2dWxrYW4gYmFzZWQgdmlkZW8gc2luawoJICBDdXJyZW50bHkgeGNiIGlzIHRoZSBvbmx5IHdpbnN5cyB0aGF0IGlzIGltcGxlbWVudGVkIGFuZCB0aGVyZSdzIG5vIHJlZHJhd3MgZXQKCSAgYWwKCjIwMTYtMDItMTYgMTI6Mzg6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9maWxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZmlsZXMvY2JyX3N0cmVhbS5tcDM6CgkqIHRlc3RzL2ZpbGVzL3N0cmVhbS5tcDI6CgkqIHRlc3RzL2ZpbGVzL3Zicl9zdHJlYW0ubXAzOgoJICB0ZXN0czogcmVtb3ZlIHRlc3QgZmlsZXMgbm8gbG9uZ2VyIG5lZWRlZAoKMjAxNi0wMi0xNiAxMDo0NDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbW92ZSBwbHVnaW4gZnJvbSAtYmFkIHRvIC11Z2x5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk4NDkKCjIwMTYtMDItMTYgMTk6NTk6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5oOgoJICBndGsoZ2wpc2luazogcmVtb3ZlIHRoZSBzaWduYWwgaGFuZGxlcnMgb24gZmluYWxpemUKCSAgSXQncyBwb3NzaWJsZSB0aGF0IHRoZSBzaW5rIGVsZW1lbnQgd2lsbCBiZSBmcmVlZCBiZWZvcmUgdGhlIHdpZGdldCBpcwoJICBkZXN0cm95ZWQuICBXaGVuIHRoZSB3aWRnZXQgd2FzIGV2ZW50dWFsbHkgZGVzdHJveWVkLCBpdCB3YXMgYXR0ZW1wdGluZyB0bwoJICBhY2Nlc3MgbWVtYmVyIHZhcmlhYmxlcyBvZiB0aGUgZnJlZWQgc2luayBzdHJ1Y3Qgd2hpY2ggcmVzdWx0ZWQgaW4gdW5kZWZpbmVkCgkgIGJlaGF2aW91ci4KCSAgRml4IGJ5IGRpc2Nvbm5lY3Rpbmcgb3VyIHNpZ25hbCBvbiBmaW5hbGl6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MjA5OAoKMjAxNi0wMi0xNiAwODo0ODoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkgIGdsOiBSZW1vdmUgbGVmdG92ZXIgZ19wcmludHMKCSAgT25lIHdhcyBjb21tZW50ZWQgb3V0LCBidXQgd2UgYWxzbyBkb24ndCB1c2UgLy8gY29tbWVudHMgOikKCjIwMTYtMDItMTYgMTQ6NDE6MzcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IHVzZSB0aGUgY29ycmVjdCBzcGVsbGluZyBmb3IgYmVoYXZpb3IKCSAgVGhlIGhlYWRlcnMgdXNlIHRoZSBhbWVyaWNhbiBzcGVsbGluZyBvZiBiZWhhdmlvciBub3QgdGhlIFVLL0FVUyB2ZXJzaW9uIHdpdGgKCSAgdGhlIGV4dHJhIFUuCgoyMDE2LTAyLTE2IDEzOjU4OjQyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsY29udGV4dDogZG9uJ3QgZW5hYmxlIEdMIGRlYnVnIGZvciBtZXNzYWdlcyB0aGF0IHdvbid0IGJlIGxvZ2dlZAoJICBUaGlzIGlzIGFuIG9wdGltaXphdGlvbiB0byBhdm9pZCBwb2ludGxlc3Mgc3RyaW5nIHByb2Nlc3NpbmcuCgoyMDE2LTAyLTE2IDEzOjAxOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJICBnbHZpZGVvZmxpcDogZG9uJ3QgaWdub3JlIG1ldGhvZCBjaGFuZ2VzIHdoZW4gY2FwcyBhcmVuJ3Qgc2V0ICh5ZXQpCgoyMDE2LTAyLTE2IDAwOjMzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IG1vdmUgUlRQIEguMjY1IHBheWxvYWRlci9kZXBheWxvYWRlciB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNjA2CgoyMDE1LTEwLTA3IDIzOjQ5OjU4ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L25ldHNpbS9NYWtlZmlsZS5hbToKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uYzoKCSogZ3N0L25ldHNpbS9nc3RuZXRzaW0uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25ldHNpbS5jOgoJICBuZXRzaW06IEFkZCBuZXRzaW0gZWxlbWVudAoJICBSZXN1cnJlY3RlZCBmcm9tIHRoZSBGYXJzdHJlYW0gcmVwb3NpdG9yeSBhbmQgZ2l2ZW4gYW4KCSAgb3ZlcmhhdWwgdG8gZml4IHJhY2VzLCBkZWFkbG9ja3MgZXRjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjUyCgoyMDE1LTExLTIwIDE5OjM4OjAzICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGRhc2hkZW11eDogZ3N0X2Rhc2hfZGVtdXhfZ2V0X2xpdmVfc2Vla19yYW5nZSByZXR1cm5zIHBvc2l0aXZlIHZhbHVlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzc0CgoyMDE2LTAyLTEwIDEwOjMxOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2w6IHN5bmNtZXRhOiBkZWZpbmUgR0xfVElNRU9VVF9JR05PUkVEIGluIG1vcmUgcG9ydGFibGUgd2F5CgoyMDE2LTAyLTEwIDE2OjM3OjIyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnc3RnbHNoYWRlcjogY2FjaGUgdW5pZm9ybSBsb2NhdGlvbnMKCSAgQXZvaWQgcmVkdW5kYW50IGNhbGxzIHRvIGdsR2V0VW5pZm9ybUxvY2F0aW9uLiBUaGUgcmVzdWx0cyBjYW4gYmUgY2FjaGVkIG9uY2UKCSAgdGhlIHNoYWRlciBoYXMgYmVlbiBsaW5rZWQuCgoyMDE2LTAyLTEwIDE1OjQwOjAyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHZpZGVvdGVzdHVyZWNhY2hlOiBsZXQgQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZSBmbHVzaCBldmVyeSAxcwoJICBMZWF2ZSBrQ1ZPcGVuR0xFU1RleHR1cmVDYWNoZU1heGltdW1UZXh0dXJlQWdlS2V5IHRvIHRoZSBkZWZhdWx0ICgxcykuIFdlIHVzZWQKCSAgdG8gc2V0IGl0IHRvIDAgYW5kIGZsdXNoIG1hbnVhbGx5LCBidXQgYXBwYXJlbnRseSAobG9va2luZyBhdCB0aGUgR0xFUyBwcm9maWxlcikKCSAgMCBtZWFucyAiZGlzYWJsZSB0aGUgY2FjaGUgZW50aXJlbHkiLgoKMjAxNi0wMi0xMCAxMzowODo0MyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdzdGdsY29udGV4dDogbWljcm8gb3B0aW1pemF0aW9uIHRvIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQKCSAgSW52b2tlIHRoZSBjYWxsYmFjayByaWdodCBhd2F5IHdoZW4gY2FsbGVkIG9uIHRoZSBjb250ZXh0IHRocmVhZC4gUmVtb3ZlcwoJICBvdmVyaGVhZCB3aGVuIG5lc3RpbmcgbGliZ3N0Z2wgY2FsbHMgKGZvciBleGFtcGxlIHdoZW4gd29ya2luZyB3aXRoIHRoZSBzeW5jCgkgIG1ldGEpLgoKMjAxNi0wMS0wNiAyMTozOTowMCArMDAwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJICBydHBtc2luazogSW1wbGVtZW50IHNldGNhcHMgdGhhdCB1c2VzIHN0cmVhbWhlYWRlcgoJICBUaGlzIGFsbG93IGFkZGluZyBydG1wc2luayBhZnRlciB0aGUgZmx2IHN0cmVhbWluZyBoYXZlIHN0YXJ0ZWQuIE90aGVyd2lzZSwKCSAgRkxWIHN0cmVhbWhlYWRlciBpcyBuZXZlciBzZW50IHRvIHRoZSBzZXJ2ZXIsIHdoaWNoIGNhbm5vdCBmaWd1cmUtb3V0CgkgIHdoYXQgaXMgdGhpcyBzdHJlYW0gYWJvdXQuIEl0IHNob3VsZCBhbHNvIGhlbHAgaW4gY2VydGFpbiByZW5lZ290aWF0aW9uCgkgIGZpZ3VyZXMuIFRoZSBzaW5rIHdpbGwgbm8gbG9uZ2VyIHdvcmsgd2l0aG91dCBhbiBzdHJlYW1oZWFkZXIgaW4gY2FwcywKCSAgdGhvdWdoIHRoZXJlIGlzIG5vIGtub3duIGltcGxlbWVudGF0aW9uIG9mIGZsdmRlbXV4IHRoYXQgZG9lcyBub3QKCSAgc3VwcG9ydCB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMjQyCgoyMDE2LTAyLTA5IDIxOjM1OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIHN0cmVhbS0+Y3VycmVudF9mcmFnbWVudCBoYXMgdGhlIHZhbHVlIG9mIGdfbGlzdF9wcmV2aW91cyAoaXRlcikgd2hpY2ggaGFzCgkgIGp1c3QgYmVlbiBjaGVja2VkLiBObyBuZWVkIHRvIGNoZWNrIGl0IGFnYWluLgoJICBKdXN0IHRvIGJlIHNhZmUsIHVzZSBhIGdfYXNzZXJ0KCkgdG8gY2hlY2sgZnJhZ21lbnQgYmVmb3JlIGRlcmVmZXJlbmNpbmcuCgkgIENJRCAjMTM1MjA0MQoKMjAxNi0wMi0wOSAxNzoyNDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcGx1ZyBtcGQgY2xpZW50IGxlYWsKCSAgT24gcGFyc2luZyBlcnJvciwgZnJlZSB0aGUgbXBkIGNsaWVudCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyMAoKMjAxNi0wMS0wNCAxMjoxMjo0NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfdXBkYXRlX21hbmlmZXN0X2RhdGEKCSAgbmV3X2NsaWVudCBsb2NhbCB2YXJpYWJsZSB3YXMgbm90IGZyZWVkIGluIGNhc2Ugb2YgZXJyb3JzLgoJICBBbHNvLCB0aGUgYnVmZmVyIGlzIG5vdCB1bm1hcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDEyMAoKMjAxNS0xMS0xMCAyMjowMTozOCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHJlbmFtZWQgZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUgdG8gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfc3RhcnRfdGltZQoJICBUaGUgZnVuY3Rpb24gYWN0dWFsbHkgcmV0dXJucyB0aGUgc2VnbWVudCBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZSAoYXMgZGVmaW5lZCBieSB0aGUgc3RhbmRhcmQpLgoJICBUaGF0IGlzIGF0IHRoZSBlbmQgb2YgdGhlIHNlZ21lbnQsIGJ1dCBpdCBpcyBjYWxsZWQgYXZhaWxhYmlsaXR5IHN0YXJ0IHRpbWUuCgkgIEF2YWlsYWJpbGl0eSBlbmQgdGltZSBpcyBzb21ldGhpbmcgZWxzZSAodGhlIHRpbWUgd2hlbiB0aGUgc2VnbWVudCBpcyBubyBsb25nZXIKCSAgYXZhaWxhYmxlIG9uIHRoZSBzZXJ2ZXIpLiBUaGUgZnVuY3Rpb24gbmFtZSB3YXMgbWlzbGVhZGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY1NQoKMjAxNS0xMS0xMCAyMjowMDo1OCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBjb3JyZWN0ZWQgZ2V0dGluZyBzZWdtZW50IGF2YWlsYWJpbGl0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE1LTExLTE5IDE1OjMwOjM0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgZ2V0dGluZyBzZWdtZW50IGF2YWlsYWJpbGl0eSB3aGVuIHNlZ21lbnQgdGltZWxpbmUgaXMgdXNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjU1CgoyMDE2LTAxLTA3IDEyOjUwOjA2ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJICBhZGFwdGl2ZV9kZW11eDogdGVzdHM6IGltcHJvdmVkIHZhbGlkYXRpb24gb2YgcGFkcwoJICBXaGVuIHJlbW92aW5nIGEgcGFkLCB0aGUgb25fZGVtdXhQYWRSZW1vdmVkIGZ1bmN0aW9uIG11c3QgZmluZCBhIHN0cmVhbQoJICBmb3IgdGhhdCBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDcgMTI6NDg6MTIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkgIGFkYXB0aXZlX2RlbXV4OiB0ZXN0czogZml4IHBhZCB1c2VkIGZvciBBcHBTaW5rIGV2ZW50CgkgIG9uX2RlbXV4TmV3UGFkIHJlZ2lzdGVyZWQgdGhlIG9uX2FwcHNpbmtfZXZlbnQgY2FsbGJhY2sgb24gYSB3cm9uZyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDEtMDggMTY6MjU6MTIgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogcmVtb3ZlIHVudXNlZCBkZW11eF9zZW50X2VvcyBjYWxsYmFjawoJICBUaGUgZGVtdXhfc2VudF9lb3MgY2FsbGJhY2sgaXMgdW51c2VkIGluIHRlc3RzLiBJdCB3YXMgYWxzbyByZWdpc3RlcmVkIG9uCgkgIGEgd3JvbmcgcGFkLCBzbyBpdCBhY3R1YWxseSB0cmlnZ2VyZWQgd2hlbiBkZW11eCByZWNlaXZlZCBlb3MgZnJvbSBhCgkgIGZyYWdtZW50IGRvd25sb2FkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMzI4CgoyMDE2LTAxLTA4IDE4OjE3OjIxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IHJlbW92ZSB1bm5lZWRlZCB5b3V0dWJlIHhtbG5zIGZyb20gbWFuaWZlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAzMjgKCjIwMTYtMDItMDkgMTQ6MDc6NTQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcGxlbWVudCBHc3RFbGVtZW50OjpzZXRfY29udGV4dAoKMjAxNi0wMi0wOSAxNDowNDowOSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogdXBkYXRlIGNvcHlyaWdodAoKMjAxNi0wMi0wOSAxMzo0Mjo0OCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogaW1wbGVtZW50IEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgkgIE5lZWRlZCB0byBwcm9wZXJseSBoYW5kbGUgZ3N0LmdsLmFwcF9jb250ZXh0KHMpLgoKMjAxNi0wMi0wOSAxMzozOToxOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogYWRkIG15c2VsZiB0byB0aGUgY29weXJpZ2h0IGhvbGRlcnMKCjIwMTYtMDItMDkgMTM6NTY6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3RnbC5kZWY6CgkgIGdsOiB1cGRhdGUgd2luMzIgLmRlZiBmaWxlCgoyMDE2LTAyLTA5IDEzOjA4OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGZvciBHTF9USU1FT1VUX0lHTk9SRUQKCjIwMTYtMDItMDkgMTI6MTQ6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBnbHN5bmNtZXRhOiBzZXBhcmF0ZSBvdXQgZ3B1L2NwdSB3YWl0cy4KCSAgQ1BVIHdhaXRzIGFyZSBtb3JlIGV4cGVuc2l2ZSBhbmQgYXJlIG9ubHkgcmVxdWlyZWQgaWYgdGhlIENQVSBpcyBldmVyIGdvaW5nIHRvCgkgIGFjY2VzcyB0aGUgZGF0YS4gR1BVIHdhaXRzIHBlcmZvcm0gaW50ZXItY29udGV4dCBzeW5jaHJvbmlzYXRpb24gYW5kIGFyZSBjaGVhcGVyCgkgIGFzIHRoZXkgZG9uJ3QgcmVxdWlyZSBDUFUgaW50ZXJ2ZW50aW9uLgoKMjAxNi0wMi0wOCAyMzoxNzozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIG92ZXJ3cml0dGVuIHZhbHVlCgkgIHJldCBpcyBvdmVyd2l0dGVuIGJlZm9yZSB1c2VkIHdpdGggdGhlIHJldHVybiBvZiB0aGUgc3ViY2xhc3Mgc2Vlay4KCSAgQ0lEICMxMzUyMDQ0CgoyMDE2LTAyLTA4IDE1OjAwOjM1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiByZW1vdmUgY29tbWVudGVkIG91dCBpbmNsdWRlCgkgIENvbW1pdCAyMTE4Mjg5NzliOGMxMGFiZjNjNzRkOTY0YmM2OThkYmRhNGQ0OTdkIHJlbW92ZWQgcnNuYXVkaW9tdW5nZSwKCSAgbm8gbmVlZCBmb3IgdGhpcyBjb21tZW50ZWQgb3V0IGluY2x1ZGUgZm9yIGEgZmlsZSB0aGF0IGRvZXNuJ3QgZXhpc3QKCSAgYW55bW9yZS4KCjIwMTYtMDItMDggMTQ6MjY6NDYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIFJldmVydCAicmVzaW5kdmQ6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGVmZjZlMTk5MWNiMjRjYjY1ZjA3YzQ4MTc0Mjc4MmFjYWE4ZWM2Mi4KCSAgQnJlYWtzIHRoZSBidWlsZCB3aGVuIGxpbmtpbmcgd2l0aCBkdmRuYXYuaAoKMjAxNi0wMi0wOCAxMzo0MzoyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogZ2V0IHJpZCBvZiBfc3RkaW50LmggaW5jbHVkZQoJICBJdCB3YXMgbmV2ZXIgbmVlZGVkIHNpbmNlIGl0IGRvZXNuJ3QgdXNlIGFueSBzdGFuZGFyZCBpbnRlZ2VyIGZpeGVkIHdpZHRoCgkgIHR5cGVzLiBPbmx5IHRoZSBHbGliIHR5cGVzLgoKMjAxNi0wMi0wOCAxMzozMjo0NiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IGdldCByaWQgb2YgX3N0ZGludC5oIGluY2x1ZGUKCjIwMTYtMDItMDggMTI6NDQ6NTMgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNzA0CgoyMDE2LTAyLTA4IDEyOjIzOjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkgIGdsZWZmZWN0czogaWRlbnRpdHk6IGFkZCB0aGUgc2hhZGVyIHRvIHRoZSBoYXNoIHRhYmxlCgkgIFNvIHRoYXQgd2UgZG9uJ3QgcmVjcmVhdGUgaXQgZXZlcnkgZnJhbWUgYW5kIGxlYWsgbWVtb3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNTc4CgoyMDE2LTAyLTA1IDIwOjAyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGV4dGVuZCB0aGUgQU1fVEVTVFNfRU5WSVJPTk1FTlQgZnJvbSBjaGVjay5tYWsKCSAgVG8gZ2V0IHRoZSBDS19ERUZBVUxUX1RJTUVPVVQgZGVmaW5lZCBmb3IgYWxsIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NzIKCjIwMTYtMDItMDUgMTg6MDY6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIFJFQURNRToKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlOTdjOWJiIHRvIGI2NGYwM2YKCjIwMTYtMDItMDUgMTU6MzQ6NTEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5oOgoJICBnc3RydHBoMjY1ZGVwYXk6IGtlZXAgY29uc2lzdGVuY3kgd2l0aCBydHBoMjY0ZGVwYXkKCSAgVXNlIGdzdF9ydHBfZHJvcF9tZXRhKCkgYW5kIHRoZSBzYW1lIGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IKCSAgZ3N0X3J0cF9jb3B5X21ldGEoKSB0byBrZWVwIGNvbnNpc3RlbmN5IHdpdGggdGhlIFJUUCBlbGVtZW50cyBpbgoJICBnc3QtcGx1Z2lucy1nb29kCgoyMDE2LTAyLTA1IDIxOjMzOjM4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBVc2UgZ2xpYiBDTEFNUCgpIGluc3RlYWQgb2Ygb3VyIG93biBtYWNybwoKMjAxNi0wMi0wNSAxMzo1NjozNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogZml4IHRlcm1pbmF0aW9uIG9mIGFjY2VzcyB1bml0CgkgIE9ubHkgY29uc2lkZXIgdGhlIGFjY2VzcyB1bml0IGNvbXBsZXRlIHdoZW4gdGhlIG5leHQtb2NjdXJyaW5nIFZDTCBOQUwgdW5pdAoJICBoYXMgdGhlIGZpcnN0IGJpdCBhZnRlciBpdHMgTkFMIHVuaXQgaGVhZGVyIGVxdWFsIHRvIDEuCgoyMDE2LTAyLTAyIDEzOjUwOjI1ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IFVwZGF0ZSBwb3NpdGlvbiBpbiBzdHJlYW0tPnNlZ21lbnQgZm9yIG5ldyBzdHJlYW0gc2VnbWVudCBtZXNzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxNDU4CgoyMDE2LTAyLTA1IDE1OjQzOjIyICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBMaW1pdCBwZXJpb2Qgc2l6ZSBhbmQgY291bnQgdG8gd2hhdCB0aGUgaC93IHBlcm1pdHMKCjIwMTYtMDItMDUgMTA6NDM6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Z2wuZGVmOgoJICBnbDogYWRkIC5kZWYgZmlsZSBmb3IgbXN2YyBidWlsZHMKCSAgQWxzbyBpbnRlcm5hbGl6ZSBzb21lIEFQSSBmcm9tIGJlaW5nIGV4cG9ydGVkLgoKMjAxNi0wMi0wMiAxNzowMjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21zc2RlbXV4LmM6CgkgIHRlc3RzOiBtc3NkZW11eDogYWRkIHVuaXQgdGVzdHMKCSAgQWRkcyB1bml0IHRlc3RzIHNpbWlsYXIgdG8gdGhlIG9uZXMgdGhhdCB3ZSBoYXZlIGZvciBEQVNIIGFuZCBITFMuCgkgIFRlc3RzOgoJICAqIG1hbmlmZXN0IHBhcnNpbmcgZmluaXNoZXMgc3VjY2Vzc2Z1bGx5CgkgICogc29tZSBxdWVyaWVzIChkdXJhdGlvbiwgc2Vla2FibGUsIGxhdGVuY3kpCgkgICogc2Vla2luZyB3aXRoIHZhcmlvdXMgdmFsdWVzIGFuZCBmbGFncwoKMjAxNi0wMi0wMiAxNjo1NDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBzbmFwIHNlZWtpbmcKCSAgSW1wbGVtZW50IHNuYXAgc2VlayBmbGFncyBoYW5kbGluZyBpbiBzdHJlYW1fc2VlayB0byBhbGxvdyB0aGUKCSAgcGFyZW50IGNsYXNzIHRvIGhhbmRsZSBpdCBmb3IgdXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMi0wMiAxNjo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXNlIGNvcnJlY3Qgc2VlayBwb3NpdGlvbiBvbiByZXZlcnNlIHNlZWtzCgkgIE90aGVyd2lzZSBpdCB3YXMgYWx3YXlzIHVzaW5nIHRoZSAnc3RhcnQnIHZhbHVlLCBsZWFkaW5nIHRvIHdyb25nCgkgIGJlaGF2aW9yCgoyMDE2LTAyLTAyIDExOjMwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBvbmx5IHVwZGF0ZSBkb3dubG9hZCBwb3NpdGlvbiBpZiB0aGUgc2VlayByZXF1ZXN0cyB0bwoJICBTb21lIHNlZWtzIGFyZSBvbmx5IHVwZGF0aW5nIHRoZSBzdG9wIHBvc2l0aW9uLCB0aGVyZSBpcyBubyBuZWVkCgkgIHRvIGNoYW5nZSB0aGUgY3VycmVudCBkb3dubG9hZGluZyBwb3NpdGlvbi4KCjIwMTYtMDItMDIgMDk6NTI6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBhc3NlcnQgb24gZnJhZ21lbnQgcmVsb2FkcyBmb3Igbm9uLWxpdmUKCSAgSXQgY2FuIGJlIHVzZWQgYXMgYSByZXNvdXJjZSB0byB2ZXJpZnkgaWYgdGhlIHNlcnZlciBoYXMgdXBkYXRlZAoJICBzb21ldGhpbmcgaW4gdGhlIE1hbmlmZXN0IHdoZW4gZG93bmxvYWRzIGFyZSBmYWlsaW5nCgoyMDE2LTAxLTI3IDEwOjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0cyBmb3Igc25hcCBmbGFncyBzZWVraW5nCgkgIFNpbWlsYXIgdG8gSExTIGJ1dCBEQVNIIGhhcyB0aGUgZXh0cmEgaXNzdWUgdGhhdCBpdCBjYW4gaGF2ZQoJICBtdWx0aXBsZSBzdHJlYW1zIHNvIHNuYXBwaW5nIGNhbiBiZSB0cmlja3kgYXMgc3RyZWFtcyB1c3VhbGx5CgkgIHdvbid0IGJlIGFsaWduZWQuCgkgIEZvciBub3csIHRob3NlIHRlc3RzIGhhbmRsZSB0aGUgY2FzZSBvZiBvbmx5IGhhdmluZyBhIHNpbmdsZQoJICBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxNTgKCjIwMTYtMDItMDEgMTA6NDk6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBpbXBsZW1lbnQgc25hcCBzZWVrIGhhbmRsaW5nCgkgIEhhbmRsZSBzbmFwIHNlZWtpbmcgYXQgdGhlIHN0cmVhbV9zZWVrIG1ldGhvZCBhbmQgbGV0IHN1cGVyY2xhc3MKCSAgZG8gdGhlIHJlc3QgdG8gc3VwcG9ydCBzbmFwIHNlZWtpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMS0yNyAxMzozMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGhhbmRsZSBzbmFwIHNlZWtzCgkgIEFkYXB0aXZlIGRlbXV4ZXJzIG5lZWQgdG8gc3RhcnQgZG93bmxvYWRpbmcgZnJvbSBzcGVjaWZpYyBwb3NpdGlvbnMKCSAgKGZyYWdtZW50cykgZm9yIGV2ZXJ5IHN0cmVhbSwgdGhpcyBtZWFucyB0aGF0IGFsbCBzdHJlYW1zIGNhbiBzbmFwLXNlZWsKCSAgdG8gYSBkaWZmZXJlbnQgcG9zaXRpb24gd2hlbiByZXF1ZXN0ZWQuIFNuYXAgc2Vla2luZyBpbiB0aGlzIGNhc2Ugd2lsbAoJICBiZSBkb25lIGluIDIgc3RlcHM6CgkgIDEpIGRvIHRoZSBzbmFwIHNlZWtpbmcgb24gdGhlIHBhZCB0aGF0IHJlY2VpdmVkIHRoZSBzZWVrIGV2ZW50IGFuZAoJICBnZXQgdGhlIGZpbmFsIHBvc2l0aW9uCgkgIDIpIHVzZSB0aGlzIHBvc2l0aW9uIHRvIGRvIGEgcmVndWxhciBzZWVrIG9uIHRoZSBvdGhlciBzdHJlYW1zIHRvCgkgIG1ha2Ugc3VyZSB0aGV5IGFsbCBzdGFydCBmcm9tIHRoZSBzYW1lIHBvc2l0aW9uCgkgIE1vcmUgYXJndW1lbnRzIHdlcmUgYWRkZWQgdG8gdGhlIHN0cmVhbV9zZWVrIGZ1bmN0aW9uLCBhbGxvd2luZyBiZXR0ZXIgY29udHJvbAoJICBvZiBob3cgc2Vla2luZyBpcyBkb25lLiBLbm93aW5nIHRoZSBmbGFncyBhbmQgdGhlIHBsYXliYWNrIGRpcmVjdGlvbiBhbGxvd3MKCSAgc3ViY2xhc3NlcyB0byBoYW5kbGUgc25hcC1zZWVraW5nLgoJICBBbmQgYWxzbyBhZGRzIGEgbmV3IHJldHVybiBwYXJhbWV0ZXIgdG8gaW5mb3JtIG9mIHRoZSBmaW5hbAoJICBzZWxlY3RlZCBzZWVraW5nIHBvc2l0aW9uIHRoYXQgaXMgdXNlZCB0byBhbGlnbiB0aGUgb3RoZXIgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTE1OAoKMjAxNi0wMS0yNiAyMzo0MzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCB1dGlsaXR5IGZ1bmN0aW9uIHRvIGdldCBzdHJlYW0gZnJvbSBwYWQKCSAgU2ltcGxpZmllcyB0aGUgY29kZSBhIGJpdCBhbmQgYXZvaWQgcmVwZWF0aW5nIHRoaXMKCSAgY29tbW9uIG9wZXJhdGlvbgoKMjAxNi0wMi0wNCAxMjo1MDo0MyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIHVudXNlZCBtdmlld19tb2RlIHZhbHVlCgkgIFNpbmNlIGNvbW1pdCBiNzdmOGUxNzJhM2YwYmU2YmU1Y2I0YTcyZTY1NDI1MzQwNGU2OTRmIHRoZSBuZXcgdmFsdWUKCSAgYXNzaWduZWQgdG8gbXZpZXdfbW9kZSBoYXNuJ3QgYmVlbiB1c2VkLiBUaGF0IGNvbW1pdCBjaGFuZ2VkIHRoZSBmb2xsb3dpbmcKCSAgImlmIiBjaGVjayB0byBhbiAiZWxzZSBpZiIsIHdoaWNoIG1lYW5zIHRoZSBvcmlnaW5hbCB2YWx1ZSBvZiBtdmlld19tb2RlCgkgIGlzIHVzZWQuCgoyMDE2LTAyLTA0IDEyOjE3OjMxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscXVlcnkuYzoKCSAgZ2xxdWVyeTogcmVtb3ZlIHVubmVjZXNzYXJ5IHBvaW50ZXIgY2hlY2sKCSAgQWxsIHVzZXMgb2YgcXVlcnktPmNvbnRleHQgaW4gZ3N0Z2xxdWVyeS5jIGFzc3VtZSBpdCBleGlzdHMuIFdlIGNhbiBhc3N1bWUKCSAgdGhpcyBhcyB3ZWxsIGJlZm9yZSB1bnJlZmluZyBpdC4gRnVydGhlcm1vcmUsIGdzdF9vYmplY3RfdW5yZWYoKSB3aWxsIGp1c3QKCSAgc2lsZW50bHkgcmV0dXJuIGlmIGl0IGV2ZXIgd2VyZSB0byBub3QgZXhpc3QuCgoyMDE2LTAyLTA0IDE4OjE1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGF2b2lkIHNlbmRpbmcgdW5uZWNlc3NhcnkgZG93bnN0cmVhbSBjYXBzIHF1ZXJpZXMvZXZlbnRzCgkgIGgyNjUgdmVyc2lvbnMgb2YgdGhlIGZvbGxvd2luZyBjb21taXRzOgoJICBmMzUyNjkxYTA0ODk2ZDBkZTMzODFmZThlZTg1YWRhOTQ4YmQ2MzM3CgkgIHRyeSB0aGUgY3VycmVudCBjYXBzIGJlZm9yZSBxdWVyeWluZyBkb3duc3RyZWFtCgkgIDcyYmM3ZDdmNzM2YTEwMTE3ZmVkYjhlMWQ0MDEzYTQ5NDZjZmVmYmMKCSAgaW5jcmVhc2UgY2FwcyBlcXVhbGl0eSBjaGVjayBmb3Igbm8gY29kZWNfZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE2OjM2OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGluY3JlYXNlIGNhcHMgZXF1YWxpdHkgY2hlY2sgZm9yIG5vIGNvZGVjX2RhdGEKCSAgV2hlbiBjb252ZXJ0aW5nIGZyb20gYXZjIHRvIGJ5dGUtc3RyZWFtLCB0aGVyZSB3aWxsIG5vdCBiZSBhbnkgY29kZWNfZGF0YQoJICBpbiB0aGUgc3JjIGNhcHMuICBSZW1vdmUgaXQgYmVmb3JlIHRoZSBlcXVhbGl0eSBjaGVjayB0byBhdm9pZCBzZW5kaW5nIGNhcHMKCSAgZXZlbnRzIGRvd25zdHJlYW0gb24gZXZlcnkgU1BTL1BQUyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTU6MzQ6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdHJ5IHRoZSBjdXJyZW50IGNhcHMgYmVmb3JlIHF1ZXJ5aW5nIGRvd25zdHJlYW0KCSAgSWYgd2UgaGF2ZSBhIHN0cmVhbSB0aGF0IGNvbnRhaW5zIGFuIHVuY2hhbmdpbmcgU1BTL1BQUyBmb3IgZXZlcnkgdmlkZW8gZnJhbWUsCgkgIHdlIGRvbid0IG5lZWQgdG8gdG8gY29uc3RhbnRseSBxdWVyeSBkb3duc3RyZWFtIGZvciBpdCdzIHN1cHBvcnRlZCBjYXBzIGlmIHRoZQoJICBjdXJyZW50IGNhcHMgYXJlIGNvbXBhdGlibGUgd2l0aCB0aGUgbmVnb3RpYXRlZCBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE3OjMxOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogZW5hYmxlIHFvcyBieSBkZWZhdWx0CgkgIEltcHJvdmVzIHRoZSByZXNwb25zaXZlbmVzcyBvZiB0aGUgcGlwZWxpbmUgd2hlbiByZXNvdXJjZXMgYXJlIGNsb3NlL2Fib3ZlIHRoZQoJICBsaW1pdGF0aW9ucyBvZiB0aGUgaGFyZHdhcmUuCgkgIEFueSBzdWJjbGFzcyB0aGF0IHdpc2hlcyBub3QgdG8gZW5hYmxlIHFvcyBjYW4gZG8gc28gdGhlbXNlbHZlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MTUxOQoKMjAxNi0wMi0wNCAxNToxMToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogcGFzcyB0aGUgY29ycmVjdCB0aW1lIHZhbHVlIHRvIHdhaXRfZm9yX3N5bmMKCSAgV2hlbiB3ZSBhcmUgbm90IHdhaXRpbmcsIHdlIG5lZWQgdG8gcGFzcyAtMSB0byBzaWduYWwgdGhhdCB3ZSBqdXN0IHdhbnQgdG8gY2hlY2sKCSAgdGhhdCB0aGUgZnJhbWUgd2FzL24ndCByZW5kZXJlZC4gIEF2b2lkcyB3YWl0aW5nIGZvciBmcmFtZXMgdGhhdCB3aWxsIG5ldmVyIGJlCgkgIHJlbmRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAyLTA0IDE1OjA3OjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBhZHZhbmNlIHRoZSByZWFkeSBjb3VudGVyIG91cnNlbHZlcyB3aGVuIHJlbmRlcj1GQUxTRQoJICBXaGVuIG5vdCByZW5kZXJpbmcgdGhlIHZpZGVvIGZyYW1lLCBlLmcuIHdoZW4gZnJlZWluZyBhbiB1bnJlbGVhc2VkIHN5bmMgZnJhbWUsCgkgIHdlIHdpbGwgbm90IHJlY2VpdmUgYSBmcmFtZSBsaXN0ZW5lciBjYWxsYmFjay4KCSAgUmVkdWNlcyB0aGUgYW1vdW50IG9mICdvbl9mcmFtZV9hdmFpbGFibGUgbWlzcyBkZXRlY3RlZCcgbWVzc2FnZXMgd2hlbiBkcm9wcGluZwoJICBmcmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwMTQKCjIwMTYtMDItMDQgMTQ6MjU6MTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBGaXggZGlzY29udCB0cmFja2luZwoJICBEb24ndCByZXNldCB0aGUgbWFya2VyIHRoYXQncyB0cmFja2luZyBkaXNjb250cyB1bnRpbAoJICBlaXRoZXIgdGhlIGRpc2NvbnQgZGlzYXBwZWFycyBvciB3ZSByZXN5bmMuCgoyMDE2LTAyLTAzIDIxOjIyOjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkgIFJlbW92ZSBhbmNpZW50IGFuZCBkZWFkIGNkcm9tIGNvbnRyb2wgcGx1Z2luCgkgIFRoaXMgd2FzIG5ldmVyIGV2ZW4gcG9ydGVkIHRvIDAuMTAsIGFuZCBJIGRvbid0IHRoaW5rCgkgIGl0J3MgcGFydGljdWxhcmx5IHVzZWZ1bCwgc2luY2UgaXQncyBqdXN0IGEgY29udHJvbAoJICBpbnRlcmZhY2UgcmVhbGx5LiBMZXQncyByZW1vdmUgaXQuCgoyMDE2LTAyLTAzIDIxOjE2OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZG9jczogcmVtb3ZlIHNvbWUgbGVmdG92ZXIgJ1NpbmNlIDAuMTAueCcgbWFya2VycwoKMjAxNi0wMi0wMyAyMToxMzo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzLy5naXRpZ25vcmU6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzLW1hcnNoYWwubGlzdDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZGVidWd1dGlsczogdXNlIGdlbmVyaWMgbWFyc2hhbGxlcgoKMjAxNi0wMi0wMyAxNjoyODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXM6IGZpeCBGRUMKCSAgRkVDIG1heSBvbmx5IGJlIHVzZWQgd2hlbiBQTEMgaXMgZW5hYmxlZCBvbiB0aGUgYXVkaW8gZGVjb2RlciwKCSAgYXMgaXQgcmVsaWVzIG9uIGVtcHR5IGJ1ZmZlcnMgdG8gZ2VuZXJhdGUgYXVkaW8gZnJvbSB0aGUgbmV4dAoJICBidWZmZXIuIEhvb2tpbmcgdG8gdGhlIGdhcCBldmVudHMgZG9lc24ndCB3b3JrIGFzIHRoZSBhdWRpbwoJICBkZWNvZGVyIGRvZXMgbm90IGxpa2UgbW9yZSBidWZmZXJzIG91dHB1dCB0aGFuIGl0IHNlbmRzLgoJICBUaGUgbGVuZ3RoIG9mIGRhdGEgdG8gZ2VuZXJhdGUgdXNpbmcgRkVDIGZyb20gdGhlIG5leHQgcGFja2V0CgkgIGlzIGRldGVybWluZWQgYnkgcm91bmRpbmcgdGhlIGdhcCBkdXJhdGlvbiB0byBuZWFyZXN0LiBUaGlzCgkgIGVuc3VyZXMgdGhhdCBkdXJhdGlvbiBpbXByZWNpc2lvbiBkb2VzIG5vdCBjYXVzZSBxdWFudGl6YXRpb24KCSAgdG8gMi41IG1pbGxpc2Vjb25kcyBsZXNzIHRoYW4gYXZhaWxhYmxlLiBEb2luZyBzbyBjYXVzZXMgdGhlCgkgIE9wdXMgQVBJIHRvIGZhaWwgZGVjb2RpbmcuIFN1Y2ggZHVyYXRpb24gaW1wcmVjaXNpb24gaXMgY29tbW9uCgkgIGluIGxpdmUgY2FzZXMuCgkgIFRoZSBidWZmZXIgdG8gY29uc2lkZXIgd2hlbiBkZXRlcm1pbmluZyB0aGUgbGVuZ3RoIG9mIGF1ZGlvCgkgIHRvIGJlIGRlY29kZWQgaXMgdGhlIHByZXZpb3VzIGJ1ZmZlciB3aGVuIHVzaW5nIEZFQywgYW5kIHRoZQoJICBuZXcgYnVmZmVyIG90aGVyd2lzZS4gSW4gdGhlIEZFQyBjYXNlLCB0aGlzIG1lYW5zIHdlIGRldGVybWluZQoJICB0aGUgYW1vdW50IG9mIGF1ZGlvIGZyb20gdGhlIHByZXZpb3VzIGJ1ZmZlciwgd2hldGhlciBpdCB3YXMKCSAgbWlzc2luZyBvciBub3QgKGFuZCBnZXQgdGhlIGRhdGEgZWl0aGVyIGZyb20gdGhpcyBidWZmZXIsIG9yCgkgIHRoZSBjdXJyZW50IG9uZSBpZiB0aGUgcHJldmlvdXMgb25lIHdhcyBtaXNzaW5nKS4KCjIwMTYtMDItMDMgMTA6NTk6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IHJlY29uZmlndXJlIHRoZSBzcmMgd2hlbiBjaGFuZ2luZyB0by9mcm9tIHBhc3N0aHJvdWdoCgkgIE90aGVyd2lzZSBpdCdzIHZlcnkgcG9zc2libGUgdGhhdCBhbnkgR0wgcmVzb3VyY2VzIGhhdmUgbm90IGJlZW4gY3JlYXRlZCB5ZXQuCgoyMDE2LTAyLTAzIDEwOjUyOjA4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9mbGlwLmg6CgkgIGdsdmlkZW9mbGlwOiBjb3JyZWN0bHkgdXBkYXRlIHRoZSBvdXRwdXQgY2FwcyBvbiBtZXRob2QgY2hhbmdlcwoJICBXaGVuIGNoYW5naW5nIG1ldGhvZHMgd2UgbWF5IG5lZWQgZGlmZmVyZW50IG91dHB1dCBjYXBzLgoKMjAxNi0wMi0wMiAxMToyMDoxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJICB0aW55YWxzYXNpbms6IGZpeCB0aW5hbHNhIHR5cG8KCjIwMTYtMDItMDIgMTE6MDY6NTIgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy90aW55YWxzYS90aW55YWxzYXNpbmsuYzoKCSAgdGlueWFsc2FzaW5rOiBmaXggc2FtcGxlIGxhdW5jaCBsaW5lCgoyMDE2LTAyLTAyIDE0OjQ2OjMwICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJICBsaWJzOiBwbGF5ZXI6IHVzZSBjb25maWd1cmVkIEdTVF9QS0dfQ09ORklHX1BBVEggd2hlbiBpbnZva2luZyB0aGUgaW50cm9zcGVjdGlvbiBzY2FubmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjE0NjAKCjIwMTYtMDItMDIgMTU6MjA6NDggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggd3JvbmcgYnVmZmVyIGJlaW5nIGNoZWNrZWQgZm9yIG1pc3NpbmcgZGF0YQoJICBUaGlzIGNhdXNlZCBhIGRlY29kaW5nIGVycm9yIGlmIHRoZSByZXN1bHRpbmcgKHdyb25nKSBidWZmZXIgc2l6ZQoJICB3YXMgcGFzc2VkIHRvIHRoZSBPcHVzIGRlY29kaW5nIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE1OAoKMjAxNi0wMi0wMiAxNjoyNjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmM6CgkgIHRpbnlhbHNhc2luazogVXNlIGludCB0eXBlIGlmIHdlIHN1cHBvcnQgYSBzaW5nbGUgcmF0ZS9jaGFubmVsIGNvdW50CgkgIEF2b2lkcyB1c2luZyBhbiBpbnQgcmFuZ2UgaWYgdGhlIGZpZWxkIHdlJ3JlIHNldHRpbmcgaXMgbm90IGFjdHVhbGx5IGEKCSAgcmFuZ2UuCgoyMDE2LTAyLTAyIDE4OjM2OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBSZXZlcnQgImdsL2VhZ2w6IHRyeSBnZXR0aW5nIGEgZ2xlczMgY29udGV4dCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmI5NjY2ZDU5NmJlMTE1ZmQ0YjQ0NmVmODQ2NTA4YjdmZDA1YzI0LgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQxMTM4NWQxNjdkODg0MzYwNGVhMjNhMDVlMmRlYTQwYjhiYmFjMzUuCgkgIFRoaXMgYnJlYWtzIHRoZSB0ZXh0dXJlIHNoYXJpbmcgd2l0aCB0aGUgYXBwbGVtZWRpYSBlbGVtZW50cyBhcwoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlIHNlZW1zIHRvIGhhdmUgYW4gYXJiaXRyYXJ5IHJlc3RyaWN0aW9uIG9uIEdMRVMyIG9ubHkuCgoyMDE2LTAyLTAyIDE2OjIxOjE0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IHNraXAgc3Vic2V0IHN0cnVjdHVyZXMKCSAgV2UgbWF5IG5lZWQgdGhlbSB0byB0cmFuc2Zvcm0gaW50byBhIGRpZmZlcmVudCBzZXQgb2YgZm9ybWF0cy4KCSAgRml4ZXMgWVVWLT5ZVVYgd2l0aCB0d28gZ2xjb2xvcmNvbnZlcnRzLCBlLmc6CgkgIGZvcm1hdD1JNDIwICEgZ2xjb2xvcmNvbnZlcnQgISBnbGNvbG9yY29udmVydCAhIGZvcm1hdD1OVjEyCgoyMDE2LTAyLTAyIDE2OjE5OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogYWx3YXlzIGNhbGwgZ2xfc3RhcnQgd2hlbiBub3QgY2FsbGVkIGFscmVhZHkKCSAgRml4ZXMgZWxlbWVudHMgdHJhbnNpdGlvbmluZyBvdXQgb2YgcGFzc3Rocm91Z2ggbW9kZSB1c2luZyBHTCByZXNvdXJjZXMgdGhhdAoJICBoYWRuJ2UgYmVlbiBhbGxvY2F0ZWQgeWV0LgoKMjAxNi0wMi0wMiAxNToxNDoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggUkdCLHJlY3RhbmdsZS0+cGxhbmFyIFlVViBjb252ZXJzaW9uCgkgIENvbnZlcnRpbmcgdG8gR1JBWSBpcyBubyBmdW4uICBBbm90aGVyIGNhc2Ugb2Ygbm9ybWFsaXplZCB2cyB1bm5vcm1hbGl6ZWQKCSAgdGV4dHVyZSBjb29yZGluYXRlcy4KCjIwMTYtMDItMDIgMTM6NTE6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IFlVWTIvVVlWWSxyZWN0YW5nbGUtPlJHQiBjb252ZXJzaW9uCgkgIDEuMCAvIHdpZHRoIGRvZXMgbm90IG9mZnNldCBieSBvbmUgcGl4ZWwgaW4gcmVjdGFuZ3VsYXIgdGV4dHVyZXMgKHdoaWNoIHVzZQoJICB1bm5vcm1hbGl6ZWQgY29vcmRpbmF0ZXMpLgoJICBQcm92aWRlIHRoZSBhY3R1YWwgcGl4ZWwgb2Zmc2V0IGFzIGEgdW5pZm9ybSB0byB0aGUgc2hhZGVyLgoKMjAxNi0wMS0yNyAxNjo0MjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3RpbnlhbHNhL01ha2VmaWxlLmFtOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2EuYzoKCSogc3lzL3RpbnlhbHNhL3RpbnlhbHNhc2luay5jOgoJKiBzeXMvdGlueWFsc2EvdGlueWFsc2FzaW5rLmg6CgkgIHRpbnlhbHNhOiBBZGQgYSBuZXcgc2luayBwbHVnaW4gdXNpbmcgdGlueWFsc2EKCSAgVGhpcyB1c2VzIHRoZSB0aW55YWxzYSBsaWJyYXJ5IHRvIHBsYXliYWNrIHRvIGFuIEFMU0EgZGV2aWNlLiBGdXR1cmUKCSAgd29yayBjYW4gaW5jbHVkZSB1c2luZyB0aGUgbW1hcCBpbnRlcmZhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyMzAKCjIwMTYtMDItMDIgMTI6NTA6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcGVyZm9ybSBiZXR0ZXIgbmVnb3RpYXRpb24KCSAgMS4gQ29ycmVjdGx5IGRlc2NyaWJlIHdoYXQgd2UgY2FuIGNhcHMgd2UgY2FuIHRyYW5zZm9ybSB0by9mcm9tLgoJICBpLmUuIG5vIFlVVi0+WVVWIG9yIEdSQVktPllVViBvciBZVVYtPkdSQVkgKGV4Y2VwdCBmb3IgcGFzc3Rocm91Z2gpLgoJICAyLiBQcmVmZXIgc2ltaWxhciBmb3JtYXRzIGFuZCBpZ25vcmUgaW5jb21wYXRpYmxlIGZvcm1hdHMgb24gZml4YXRpb24uCgoyMDE2LTAxLTI2IDIzOjE1OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIHRlc3RzOiBkYXNoZGVtdXg6IGFkZCB0ZXN0IGZvciB1cGRhdGluZyBzdG9wIHBvc2l0aW9uCgkgIFRlc3QgdGhhdCBhIHNlZWsgdGhhdCBvbmx5IHVwZGF0ZXMgdGhlIHN0b3AgcG9zaXRpb24gd29ya3MKCSAgYXMgZXhwZWN0ZWQKCjIwMTYtMDItMDEgMDk6NDg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG9ubHkgdXBkYXRlIGN1cnJlbnQgcmVhZGluZyBwb3NpdGlvbiB3aGVuIG5lZWRlZAoJICBJZiB0aGUgc2VlayBkb2Vzbid0IHNldCB0aGUgc3RhcnQvc3RvcCBwb3NpdGlvbiwgbm8gbmVlZCB0bwoJICByZXBvc2l0aW9uIHRoZSBkb3dubG9hZCBpbmRleC4KCjIwMTYtMDEtMjkgMjA6MzQ6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlc3BlY3Qgc2Vla2luZyBwYXJhbWV0ZXIKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgc2VnbWVudCB2YWx1ZXMsIHVzZSB0aGUgcGFyYW1ldGVyCgkgIHJlcXVlc3RlZCBpbiB0aGUgc2Vla2luZyBhcmd1bWVudAoKMjAxNi0wMi0wMSAxNDoyNTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2g6IGZpeCBkYXNoIHRlc3RzIGFmdGVyIGluZGV4IGZpeAoJICA4ZTc4OGYyODQ1MDg2MTI5ODJlOGUzODMzNmVlZDY3NmMyZWVjMzVhIGJyb2tlIG9uZSBvZiB0aGUKCSAgZGFzaCBtcGQgdGVzdHMuIFRoaXMgdXBkYXRlcyBhbmQgZml4ZXMgaXQuCgoyMDE2LTAyLTAxIDEyOjIzOjMyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnc3RnbHdpbmRvdzogaW5pdGlhbGl6ZSBuYXZpZ2F0aW9uX2xvb3AgdG8gTlVMTAoJICBVc2VmdWwgd2hlbiBnc3RfZ2xfd2luZG93LmM6OmdzdF9nbF93aW5kb3dfbmV3IGlzIG5vdCB1c2VkLgoJICBUaGlzIGlzIHRoZSBjYXNlIHdoZW4gdXNpbmcgYSBjdXN0b20gR3N0R0xXaW5kb3cuCgkgIChleDogR3N0R0xXaW5kb3dHUFVQcm9jZXNzIGZyb20gQ2hyb21pdW0pCgoyMDE2LTAyLTAxIDA5OjI2OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2w6IGVhZ2w6IGZpeCBidWlsZAoJICBnc3RnbGNvbnRleHRfZWFnbC5tOjIzODo0NTogZXJyb3I6IHRvbyBmZXcgYXJndW1lbnRzIHRvIGZ1bmN0aW9uIGNhbGwsCgkgIGV4cGVjdGVkIGF0IGxlYXN0IDQsIGhhdmUgMwoKMjAxNi0wMi0wMSAxNToxMzowMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZDogYWxsb3cgdmlkZW8veC1yYXcgYXMgaW5wdXQKCSAgLi4uYW5kIGp1c3QgcGFzc3Rocm91Z2guIFRoaXMgaXMgdXNlZnVsIGZvciBwaXBlbGluZXMgd2hlcmUgZG93bnN0cmVhbSBtdXN0IGJlCgkgIG5vbi1HTCBidXQgdXBzdHJlYW0gY2FuIG9wdGlvbmFsbHkgYmUgR0wuCgoyMDE2LTAyLTAxIDEyOjU3OjMyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiB0cnkgZ2V0dGluZyBhIGdsZXMzIGNvbnRleHQKCSAgRmFsbGJhY2sgdG8gYSBnbGVzMiBjb250ZXh0IGlmIHRoYXQgZmFpbHMKCjIwMTYtMDEtMjEgMTY6MTA6NDggKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZml4IGNoZWNrZXIgdmJvIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkyNQoKMjAxNi0wMS0yNCAxNTo0NzoxMiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLnFtbDoKCSAgdGVzdHM6IGZpeCB3YXJuaW5nIGluIHFtbCBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwODIKCjIwMTYtMDEtMjQgMTU6NDI6MzIgKzAxMDAgIEhvbGdlciBLYWVsYmVyZXIgPGhvbGdlci5rQGVsYmVyZXIuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkgIHF0OiBGaXggYnVpbGQgZm9yIGFuZHJvaWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjA4MgoKMjAxNi0wMi0wMSAwMTowMToxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5oOgoJICBSZW1vdmUgZGVhZCBzbmFwc2hvdCBwbHVnaW4KCSAgV2FzIG5ldmVyIHBvcnRlZCBhbmQgZG9lc24ndCBsb29rIGxpa2UKCSAgd2Ugd2FudCBpdCBvciBuZWVkIGl0IGluIHRoaXMgZm9ybSwgY2FuCgkgIGRvIHRoZSBzYW1lIHdpdGggdGhlIGxpYmdzdHZpZGVvIHNhbXBsZQoJICBjb252ZXJzaW9uIHV0aWxpdHkgQVBJIG5vdywgYnV0IGJldHRlcgoJICBhbmQgaW4gYSBtb3JlIGZsZXhpYmxlIHdheS4KCjIwMTYtMDItMDEgMDA6NDk6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogYnVtcCByZXF1aXJlbWVudCB0byAyLjM2LjIKCSAgV2hpY2ggYWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHRoZSBjb25maWd1cmUgY2hlY2sgYW5kCgkgIHNvbWUgc3BlY2lhbC1jYXNpbmcgaW4gdGhlIGNvZGUsIGFuZCBpcyBwbGVudHkgb2xkCgkgIGluIGFueSBjYXNlLgoKMjAxNi0wMi0wMSAwMDoyOTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmZhbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJmYW1lL1JFQURNRToKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmg6CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9saWJmYW1lLm00OgoJICBSZW1vdmUgZGVhZCBsaWJmYW1lIHBsdWdpbgoJICBXYXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIHRoZSBsaWIKCSAgaGFzIGJlZW4gdW5tYWludGFpbmVkIGZvciBldmVyIGFuZCBkb2Vzbid0CgkgIGV2ZW4gc2VlbSB0byBiZSBwYWNrYWdlZCBhbnkgbW9yZS4KCjIwMTYtMDEtMzEgMTk6MDk6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvUkVBRE1FOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIHBvL1BPVEZJTEVTLnNraXA6CgkgIFJlbW92ZSBkZWFkIGF1ZGlvZmlsZSBwbHVnaW4KCSAgVGhpcyB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMC4KCjIwMTYtMDEtMzEgMTk6MDQ6MjAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIG00L2dzZXR0aW5ncy5tNDoKCSogcG8vUE9URklMRVMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgZ3NldHRpbmdzIHBsdWdpbiB3aGljaCB3YXMgbmV2ZXIgcG9ydGVkCgkgIERvbid0IHRoaW5rIHdlIG5lZWQgdGhpcyBhbnkgbG9uZ2VyIG9yIHdhbnQgdG8KCSAgc3VwcG9ydCBpdCwgYW5kIGNsZWFybHkgbm8gb25lIGhhcyBiZWVuIG1pc3NpbmcKCSAgaXQgYWxsIHRoZXNlIHllYXJzIGVpdGhlciwgc28gbGV0J3MganVzdCBnZXQgcmlkCgkgIG9mIGl0LgoKMjAxNi0wMS0zMSAxNjowMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgc21vb3Roc3RyZWFtaW5nOiByZW1vdmUgdW51c2VkIGRlcGVuZGVuY3kgb24gdXJpZG93bmxvYWRlcgoKMjAxNi0wMS0zMSAxNDo0MjoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBzaW1wbGlmeSBjb25maWd1cmUgY2hlY2sgYW5kIHJlcXVpcmUgZmFhZCA+PSAyLjcKCSAgSnVzdCBjaGVjayB3aGV0aGVyIExBVE0gaXMgZGVmaW5lZCB3aGljaCBpcyBvbmx5IGF2YWlsYWJsZQoJICBpbiAyLjcgYW5kIGxhdGVyLiBBbGxvd3MgdXMgdG8gc2ltcGxpZnkgdGhlIGNvbmZpZ3VyZSBjaGVjawoJICBhIGxpdHRsZSBhbmQgd2UgY2FuIGdldCByaWQgb2Ygc29tZSBoYWNraXNoIHdvcmthcm91bmRzIGZvcgoJICBwcm9ibGVtcyB3aXRoIGVhcmxpZXIgdmVyc2lvbiBoZWFkZXJzLgoKMjAxNi0wMS0zMCAxNzozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCB1bm5lY2Vzc2FyeSB1c2Ugb2YgX3N0ZGludC5oCgoyMDE2LTAxLTI5IDIzOjM5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogR2VuZXJhdGUgVVVJRHMgYWNjb3JkaW5nIHRvIFJGQzQxMjIgdmVyc2lvbiA0IChha2EgcmFuZG9tKQoJICBJbnN0ZWFkIG9mIGZ1bGx5IHJhbmRvbSBVVUlEcywgdGhlc2Ugc2hvdWxkIGZvbGxvdyBhIHNjaGVtZS4KCjIwMTYtMDEtMjkgMjE6MDk6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14Zm1ldGFkYXRhOiBQcm9wZXJseSB3cml0ZSB2aWRlbyBsaW5lIG1hcCBkYXRhIGFzIGFuIGFycmF5IG9mIDMyIGJpdCBpbnRlZ2VycwoKMjAxNi0wMS0yOSAyMDo1ODoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IERNU2NoZW1lcyBpbiB0aGUgUHJlZmFjZSBpcyBhIHJlcXVpcmVkIGZpZWxkCgkgIEV2ZW4gaWYgaXQgaGFzIDAgZW50cmllcy4KCjIwMTYtMDEtMjkgMTg6NDE6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnVsLmM6CgkgIG14ZnVsOiBGaXggQ29udGVudCBTdG9yYWdlIFVMCgoyMDE2LTAxLTI5IDE4OjI4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogQmVzdCBlZmZvcnQgdmFsdWVzIG11c3QgYmUgd3JpdHRlbiBhbmQgaWYgdW5zZXQgbXVzdCBjb250YWluIHRoZSBkaXN0aW5ndWlzaGVkIHZhbHVlCgkgIEl0J3MgaW52YWxpZCB0byBub3Qgd3JpdGUgdGhlbSBhdCBhbGwuCgoyMDE2LTAxLTI5IDE3OjM2OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGZ1bDogQWRkIG1pc3NpbmcgT3BlcmF0aW9uYWxQYXR0ZXJuIFVMLCB3aGljaCBmaXhlcyBhbiBvZmYtYnktb25lIHdpdGggdGhlIG90aGVycwoKMjAxNi0wMS0yOSAxNzowNzowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogT3VyIGJvZHkgcGFydGl0aW9uIGlzIGFsd2F5cyBjb21wbGV0ZSBhbmQgY2xvc2VkCgkgIFdlIGhhdmUgbm8gbWV0YWRhdGEgaW4gaXQuCgoyMDE2LTAxLTI5IDE3OjAyOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBVc2UgSW5kZXhTSUQgb2YgMiBpbnN0ZWFkIG9mIDEKCSAgU29tZSB0b29scyBjb21wbGFpbiBpZiBlc3NlbmNlIGFuZCBpbmRleCBoYXZlIHRoZSBzYW1lIFNJRC4KCjIwMTYtMDEtMjkgMTY6Mzg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFJld3JpdGUgYm9keSBwYXJ0aXRpb24gcGFjayBvbiBFT1MgYW5kIG1hcmsgaXQgYXMgY29tcGxldGUvY2xvc2VkCgoyMDE2LTAxLTI5IDIzOjI4OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBndWFyZCBhZ2FpbnN0IG5vdCBmaW5kaW5nIGEgdmFsaWQgZnJhbWUgaW4gbG9vcAoJICBGaXhlcyBzcG9yYWRpYyBjcmFzaGVzIG9uIGZpbmlzaGluZyBkZWNvZGluZyBhIHZpZGVvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAxLTI5IDE1OjI0OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9vcmcvZnJlZWRlc2t0b3AvZ3N0cmVhbWVyL2FuZHJvaWRtZWRpYS9Hc3RBbWNPbkZyYW1lQXZhaWxhYmxlTGlzdGVuZXIuamF2YToKCSAgYW1jdmlkZW9kZWM6IHNldCBvdXIgZGF0YSBwb2ludGVyIGluIGphdmEgdG8gTlVMTCBvbiBjbG9zZQoJICBUaGUgZnJhbWUgYXZhaWxhYmxlIGNhbGxiYWNrIGNhbiBiZSBjYWxsZWQgYWZ0ZXIgZGVjb25maWd1cmluZyB0aGUgYW1jIGNvZGVjLgoJICBHdWFyZCBhZ2FpbnN0IHRoaXMgYnkgc2V0dGluZyB0aGUgYmFjayBwb2ludGVyIHRvIE5VTEwgb24gY2xvc2UoKSBhbmQgaWdub3JpbmcKCSAgYW55IE5VTEwgZGF0YSBwb2ludGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDE0CgoyMDE2LTAxLTI5IDE1OjA3OjU5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9nbGNvbnRleHRoZWxwZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvZ2xjb250ZXh0aGVscGVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHJlZmFjdG9yIEdMIGNvbnRleHQgY29kZQoJICBSZXdvcmsgdGhlIEdMIGNvbnRleHQgY29kZS4gTm93IGJvdGggYXZmdmlkZW9zcmMgYW5kIHZ0ZGVjIGNhbiBjcmVhdGUgYW4KCSAgaW50ZXJuYWwgR0wgY29udGV4dCBmb3IgcHVzaGluZyB0ZXh0dXJlcy4gQm90aCBlbGVtZW50cyB3aWxsIHN0aWxsIHRyeSB0bwoJICB1c2Uvc3dpdGNoIHRvIGEgbG9jYWwgY29udGV4dCB3aGVyZSBhdmFpbGFibGUgKGluY2x1ZGluZyBhZnRlciBSRUNPTkZJR1VSRQoJICBldmVudHMpLgoKMjAxNi0wMS0yOSAxMDozNToxNSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbHByb3RvdHlwZXM6IGZpeCBwYXJhbWV0ZXIgdHlwZSBvZiBnbEdlbkJ1ZmZlcnMKCSAgVGhlIG51bWJlciBvZiBidWZmZXJzIHNob3VsZCBiZSBHTHNpemVpIGluc3RlYWQgb2YgR0x1aW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMjcyCgoyMDE1LTEyLTA4IDE0OjA5OjU4ICswODAwICBIYWlodWEgSHUgPGI1NTU5N0BmcmVlc2NhbGUuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IGZpeCBnbGVmZmVjdHMgZmlzaGV5ZSBzaGFkZXIgY29tcGlsZSBlcnJvcgoJICBPbiBzb21lIGVtYmVkZGVkIHN5c3RlbXMsIHNxcnQoKSBpcyBub3Qgc3VwcG9ydGVkIGluIHRoZSBzaGFkZXIsCgkgIHVzZSB0aGUgYWN0dWFsIHZhbHVlIG9mIHNxcnQoMikgaW5zdGVhZC4KCSAgU2lnbmVkLW9mZi1ieTogSGFpaHVhIEh1IDxiNTU1OTdAZnJlZXNjYWxlLmNvbT4KCSAgQnVnemlsbGE6IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEyNzEKCjIwMTYtMDEtMjkgMTQ6MDM6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBwYXIgbWF5IG5vdCBleGlzdCBpbiB0aGUgY2FwcwoJICBGaXhlcyBhIGNyaXRpY2FsIGluIHRoZSBnc3QtdmFsaWRhdGUgdGVzdHM6CgkgIGdzdF9zdHJ1Y3R1cmVfZml4YXRlX2ZpZWxkX25lYXJlc3RfZnJhY3Rpb246IGFzc2VydGlvbiAnZ3N0X3N0cnVjdHVyZV9oYXNfZmllbGQKCSAgKHN0cnVjdHVyZSwgZmllbGRfbmFtZSkKCjIwMTYtMDEtMjkgMTI6NDU6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYmFjayBvdXQgdW5pbnRlbmRlZCBsb3N0X2NvbnRleHQgY2hhbmdlcwoKMjAxNi0wMS0yOCAxNjozOTowNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDoKCSAgZWdsOiBpbXBsZW1lbnQgc2VsZWN0aW5nIG9wZW5nbDMgY29udGV4dHMKCjIwMTYtMDEtMjggMTQ6MzE6MzMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJICBnbC9lZ2w6IHBhc3MgdGhlIGVycm9yIHZhbHVlIHRvIGdldF9lcnJvcl9zdHJpbmcoKQoKMjAxNi0wMS0yOCAxODoyMDo0NCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IGluaXRpYWxpemUgdXBkYXRlX3NpemUgdG8gRkFMU0Ugd2hlbiB1cGRhdGluZyBpbmZvCgkgIE90aGVyd2lzZSwgYmVoYXZpb3Igd2lsbCBiZSB1bmRlZmluZWQgd2hlbiBubyBzdHJpZGVzL29mZnNldHMgYXJlIHNldAoJICBhbmQgaXQgd2lsbCBsaWtlbHkgZ28gd3JvbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTE6NTY6MzYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IEZpeCBmcmFtZXNpemUgY2FsY3VsYXRpb24KCSAgV2hlbiB0aGUgZnJhbWVzaXplIGlzIG5vdCBzcGVjaWZpZWQsIHdlIHRyeSBhbmQgY2FsY3VsYXRlIGEgc2l6ZSBmcm9tCgkgIHRoZSBzdHJpZGVzIGFuZCBvZmZzZXQgaW5mb3JtYXRpb24uIFRoaXMgd2FzIGRvbmUgd2l0aCB0aGUgc3VtIG9mCgkgIG9mZnNldHMgKyB0aGUgc2l6ZSBvZiB0aGUgbGFzdCBmcmFtZS4gVGhhdCBpcyBqdXN0IHdyb25nIG1ldGhvZC4gV2UgYWxzbwoJICBuZWVkIHRvIGFjY291bnQgZm9yIHZpZGVvIG1ldGEgdGhhdCBtYXkgYmUgZmxpcHBpbmcgdHdvIHBsYW5lcy4gQW4KCSAgZXhhbXBsZSBpcyBpZiB5b3UgY29udmVydCBJNDIwIHRvIFlWMTIgYnkgZmxpcHBpbmcgdGhlIHR3byBsYXN0IG9mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTk6MzY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgZ2RwZGVwYXk6IEFkZCB0cy1vZmZzZXQgcHJvcGVydHkgdG8gYWRqdXN0IGJ1ZmZlciB0aW1lc3RhbXBzCgoyMDE2LTAxLTI5IDA0OjUwOjQyICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC1hdWRpby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtdmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBwa2ctY29uZmlnOiBEb24ndCBnZW5lcmF0ZSBhbmQgaW5zdGFsbCBwa2ctY29uZmlnIHdpdGggcmVsYXRpdmUgcGF0aHMKCSAgRG9uJ3QgcHV0IHJlbGF0aXZlIHBhdGhzIGluIHBrZy1jb25maWcgZmlsZXMsIGluY2x1ZGluZyB1bmluc3RhbGxlZAoJICBvbmVzLiBGb3IgdGhvc2UsIHVzZSBAYWJzX3RvcGJ1aWxkZGlyQCBhbmQgQGFic190b3BzcmNkaXJAIGFzIHdlCgkgIGRvIGVsc2V3aGVyZS4KCSAgUmVtb3ZlIGxpYnJhcmllcz0gZGlyZWN0aXZlcywgd2hpY2ggZG9lc24ndCBzZWVtIHRvIGJlIGEgcGtnLWNvbmZpZwoJICB2YXJpYWJsZSB0aGF0IGFjdHVhbGx5IGV4aXN0cywgYnV0IGhhcyBiZWVuIGluIGFsbCBvdXIgcGtnLWNvbmZpZwoJICBmaWxlcyBmb3IgYXMgbG9uZyBhcyB0aGV5J3ZlIGV4aXN0ZWQuCgoyMDE2LTAxLTI4IDE2OjQ5OjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFdyaXRlIHRoZSBjb3JyZWN0IGVzc2VuY2UgY29udGFpbmVyIFVMIGZvciBhbGwgY29kZWNzCgoyMDE2LTAxLTI4IDE2OjQxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14Zm1wZWc6IFdyaXRlIHZlcnNpb24gbnVtYmVyIGludG8gdGhlIHBpY3R1cmUgZXNzZW5jZSBjb2RpbmcgVUwKCjIwMTYtMDEtMjggMTY6MzI6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IFdyaXRlIGEgdGltZWNvZGUgdHJhY2sgaW50byB0aGUgc291cmNlIHBhY2thZ2UgdG9vCgoyMDE2LTAxLTExIDE1OjQ3OjI0ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSAgdmlkZW9wYXJzZTogdXNlIGRlY2lkZV9hbGxvY2F0aW9uIHRvIGNoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdmlkZW9tZXRhCgkgIElmIHllcywgd2UgYWRkIHRoZW0gdG8gZWFjaCBvdXRwdXQgYnVmZmVycyBhbmQgd2UgYXZvaWQgZnJhbWUgY29weS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0xMSAxNTo0NjoxNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgcmF3cGFyc2U6IGFkZCAnZGVjaWRlX2FsbG9jYXRpb24nIHZmdW5jIHRvIGxldCBzdWJjbGFzcyBwYXJzZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5CgkgIEFuZCBzbyBzZW5kIGFuIGFsbG9jYXRpb24gcXVlcnkuIFRoaXMgY291bGQgYmUgdXNlZCB0byBjaGVjayB3aGV0aGVyCgkgIGRvd25zdHJlYW0gZWxlbWVudCBzdXBwb3J0cyBzb21lIG1ldGFzIG9yIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wOCAxNzoxNzowMSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogdXNlIHNpemUgb2YgYnVmZmVyIHdlIGdvdCBmcm9tIGFkYXB0ZXIKCSAgT3RoZXJ3aXNlIHBvc2l0aW9uIGluIHN0cmVhbSBjb3VsZCBiZSB3cm9uZyBpZiBzdWJjbGFzcyAncHJlX3B1c2hfZnJhbWUnCgkgIG1ldGhvZCBjaGFuZ2VzIHRoZSBidWZmZXIgc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wNyAxNDoyNzoyNyArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IGFkZCBwcm9wZXJ0aWVzIHRvIHNldCBmcmFtZXNpemUsIHN0cmlkZXMgYW5kIHBsYW5lcyBvZmZzZXRzCgkgIFRvIG1ha2UgcGFyc2VyIHdvcmsgd2l0aCBpbWFnZSBoYXZpbmcgbm9uLXN0YW5kYXJkIHN0cmlkZXMsIHBsYW5lCgkgIG9mZnNldHMgb3Igd2l0aCBwYWRkaW5nIGJldHdlZW4gaW1hZ2VzLgoJICBGb3Igbm93LCBzaW5jZSBlbGVtZW50IGRvZXNuJ3QgY2hlY2sgZm9yIHZpZGVvbWV0YSwgd2UgY2FuJ3QgZGlyZWN0bHkKCSAgcHVzaCBidWZmZXJzIHdoZW4gdGhlc2UgcHJvcGVydGllcyBhcmUgc2V0IHNvIGl0IGNvbnZlcnQgdGhlIGZyYW1lCgkgIGluIHRoZSBwcmVfcHVzaF9idWZmZXIgbWV0aG9kIHRvIHJlbW92ZSBhbnkgY3VzdG9tIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMDggMTU6MjE6MjggKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiByZW5hbWUgJ3NldF9idWZmZXJfZmxhZ3MnIHZmdW5jIHRvICdwcmVfcHVzaF9idWZmZXInCgkgIHRvIGFsbG93IHN1YmNsYXNzIHRvIGNoYW5nZSBvdGhlciBmaWVsZHMgb2YgdGhlIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDI3MAoKMjAxNi0wMS0wNyAxNDoxODowOCArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IGNhY2hlIHZpZGVvIGluZm8gaW4gaW5zdGFuY2UKCSAgVG8gYXZvaWQgaW5pdGlhbGl6aW5nIGFuZCBmaWxsaW5nIHZpZGVvIGluZm8gZWFjaCB0aW1lIHdlIG5lZWQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjAyNzAKCjIwMTYtMDEtMjggMTU6Mzg6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBteGZtdXg6IFdyaXRlIFRoaXMgR2VuZXJhdGlvbiBVSUQgaW50byB0aGUgSWRlbnRpZmljYXRpb24gbWV0YWRhdGEKCSAgSXQncyByZXF1aXJlZCBhY2NvcmRpbmcgdG8gdGhlIHN0YW5kYXJkIGFuZCB3ZSBmb3Jnb3QgdG8gYWN0dWFsbHkgd3JpdGUgaXQgdG8KCSAgdGhlIGZpbGUgYWx0aG91Z2ggd2Ugc3RvcmVkIGl0IGluIHRoZSBkYXRhIHN0cnVjdHVyZXMuCgoyMDE2LTAxLTI4IDE1OjI5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogQWRkIHdvcmthcm91bmQgZm9yIGZmbXBlZyBvbmx5IHdyaXRpbmcgb25lIFZpZGVvIExpbmUgTWFwIHZhbHVlCgkgIGh0dHBzOi8vZmZtcGVnLm9yZy9waXBlcm1haWwvZmZtcGVnLWRldmVsLzIwMTYtSmFudWFyeS8xODgyMDIuaHRtbAoKMjAxNS0xMC0xNCAyMToxMzo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBkbyBjYXBzIHByb2Nlc3NpbmcgdGhhdCBpcyBub3Qgb3ZlcnJpZGFibGUKCSAgQWxsb3dzIHRoZSBzdWJjbGFzcyB0byBjb21wbGV0ZWx5IG92ZXJyaWRlIHRoZSBjaG9zZW4gc3JjIGNhcHMuCgkgIFRoaXMgaXMgbmVlZGVkIGFzIHZpZGVvYWdncmVnYXRvciBnZW5lcmFsbHkgaGFzIG5vIGlkZWEgZXhhY3RseQoJICB3aGF0IG9wZXJhdGlvbiBpcyBiZWluZyBwZXJmb3JtZWQuCgkgIC0gQWRkcyBhIGZpeGF0ZV9jYXBzIHZmdW5jIGZvciBmaXhhdGlvbgoJICAtIE1lcmdlcyBnc3RfdmlkZW9fYWdncmVnYXRvcl91cGRhdGVfY29udmVydGVycygpIGludG8KCSAgZ3N0X3ZpZGVvYWdncmVnYXRvcl91cGRhdGVfc3JjX2NhcHMoKSBhcyB3ZSBuZWVkIHNvbWUgb2YgaXRzIGluZm8KCSAgZm9yIHByb3BlciBjYXBzIGhhbmRsaW5nLgoJICAtIFBhc3MgdGhlIGRvd25zdHJlYW0gY2FwcyB0byB0aGUgdXBkYXRlX2NhcHMgdmZ1bmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIwNwoKMjAxNi0wMS0yNyAyMDoyMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JiYWxhbmNlLmM6CgkgIGdsY29sb3JiYWxhbmNlOiByZXR1cm4gSEFSRFdBUkUgZnJvbSBnZXRfYmFsYW5jZV90eXBlCgoyMDE2LTAxLTI3IDIwOjA0OjAwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uaDoKCSAgZ2xzaW5rYmluOiBhZGQgZ2xjb2xvcmJhbGFuY2UgZWxlbWVudAoJICBUaGlzIG1ha2VzIHBsYXliaW4gbm90IHBsdWcgdmlkZW9iYWxhbmNlIGFzIGdsY29sb3JiYWxhbmNlIGFscmVhZHkgZXhpc3RzIGFuZAoJICBpbXBsZW1lbnRzIHRoZSBHc3RDb2xvckJhbGFuY2UgaW50ZXJmYWNlLgoKMjAxNi0wMS0yNyAxOTo1NjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250cm9sYmluZGluZ3Byb3h5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRyb2xiaW5kaW5ncHJveHkuaDoKCSAgZ2w6IG1vdmUgY29udHJvbCBiaW5kaW5nIHByb3h5IGltcGxlbWVudGF0aW9uIGZyb20gZ2x2aWRlb21peGVyCgkgIE90aGVyIGVsZW1lbnRzIG1heSBuZWVkIHRvIHVzZSBpdCdzIGZ1bmN0aW9uYWxpdHkKCjIwMTYtMDEtMjcgMTg6MTc6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJICBnbGNvbG9yYmFsYW5jZTogY3JlYXRlIHRoZSBzaGFkZXIgaWYgaXQgZG9lc24ndCBleGlzdCBpbiB0aGUgcmVuZGVyIGNhbGxiYWNrCgkgIENoYW5naW5nIHRoZSBwcm9wZXJ0aWVzIG1heSByZXN1bHQgaW4gZ2xjb2xvcmJhbGFuY2UgbW92aW5nIGZyb20gcGFzc3Rocm91Z2ggdG8KCSAgbm9uLXBhc3N0aHJvdWdoIGFuZCB3ZSB3ZXJlbid0IGNyZWF0aW5nIHRoZSBzaGFkZXIgaW4gdGhhdCBjYXNlLgoKMjAxNi0wMS0yNSAxNjoyOTo0NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSAgcXQ6IHNwZWNpZnkgdGhhdCB3ZSBjdXJyZW50bHkgb25seSB0YWtlIDJEIHRleHR1cmVzCgkgIEZpeGVzIGJsYWNrIHNjcmVlbiB2aWRlbyBwbGF5YmFjayBvbiBhbmRyb2lkIHdpdGhvdXQgYSBjYXBzIGZpbHRlci4KCjIwMTYtMDEtMjUgMTk6MTE6MzggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSAgZ2x2aWRlb2ZsaXA6IGluY29ycG9yYXRlIHRoZSBhc3BlY3QgcmF0aW8gaW50byB0aGUgc2NhbGVfeCBjYWxjdWxhdGlvbnMKCSAgMS4gT3RoZXJ3aXNlIHJvdGF0aW5nIHRoZSB2aWRlbyB3aWxsIGNsaXAgYW5kIHNob3cgYmxhY2sgYmFycyBkdWUgdG8KCSAgZ2x0cmFuc2Zvcm1hdGlvbidzIGltcGxlbWVudGF0aW9uLgoJICAyLiBUaGUgb3RoZXIgb3B0aW9uIG9mIG1ha2UgZ2x0cmFuc2Zvcm1hdGlvbiBhc3BlY3QtYWdub3N0aWMgcHJvZHVjZXMKCSAgaW5jb3JyZWN0IG91dHB1dCB3aXRoIHBlcnNwZWN0aXZlIHRyYW5zZm9ybWF0aW9ucy4KCjIwMTYtMDEtMjcgMTQ6MzY6MzYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGFjdHVhbGx5IHNldCB0aGUgY29uZmlndXJlZCBmcmFtZXJhdGUKCSAgQWN0dWFsbHkgc2V0IHRoZSBjb25maWd1cmVkIGZyYW1lcmF0ZS4gQmVmb3JlIHdlIG9ubHkgdXNlZCB0byBzZXQgdGhlIGZpcnN0CgkgIG1hdGNoaW5nIGZyYW1lcmF0ZSByYW5nZS4gT24gaU9TIHdoZXJlIHRoZSBjYW1lcmEgcmVwb3J0cyByYW5nZXMgWzIsIDYwXSwgd2UKCSAgdXNlZCB0byBjb25maWd1cmUgdGhlIGNhbWVyYSB0byBvdXRwdXQgYW55dGhpbmcgYmV0d2VlbiAyIGFuZCA2MGZwcy4KCjIwMTYtMDEtMjUgMjI6MzA6MjkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkgIG9wZW5jdjogYWRkIG1hc2sgcHJvcGVydHkgdG8gY3ZsYXBsYWNlCgkgIEFkZCBhICJtYXNrIiBwcm9wZXJ0eSB0aGF0IHNldHMgd2hldGhlciB0aGUgZWRnZXMgYnkgY3ZMYXBsYWNlIHNob3VsZCBiZQoJICB1c2VkIGFzIGEgbWFzayBvbiB0aGUgb3JpZ2luYWwgaW5wdXQgb3Igbm90LiBUaGUgc2FtZSB3YXkgdGhlIG9yaWdpbmFsCgkgIGltYWdlIGlzIGNvcGllZCB0byB0aGUgZWRnZXMgaW4gZWRnZWRldGVjdC4KCjIwMTYtMDEtMjUgMjE6NDI6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuaDoKCSAgb3BlbmN2OiBhZGQgbWFzayBwcm9wZXJ0eSB0byBjdnNvYmVsCgkgIEFkZCBhICJtYXNrIiBwcm9wZXJ0eSB0aGF0IHNldHMgd2hldGhlciB0aGUgZGV0ZWN0ZWQgZGVyaXZhdGl2ZSBlZGdlcwoJICBzaG91bGQgYmUgdXNlZCBhcyBhIG1hc2sgb24gdGhlIG9yaWdpbmFsIGlucHV0IG9yIG5vdC4gVGhlIHNhbWUgd2F5CgkgIHRoZSBvcmlnaW5hbCBpbWFnZSBpcyBhZGRlZCB0byB0aGUgZWRnZXMgaW4gZWRnZWRldGVjdC4KCjIwMTYtMDEtMjUgMTU6MTk6MzcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHNraW5kZXRlY3QuY3BwOgoJICBvcGVuY3Y6IHVwZGF0ZSBkZXByZWNhdGVkIGZ1bmN0aW9uIGluIHNraW5kZXRlY3QKCSAgY3ZDdnRQaXhUb1BsYW5lKCkgaGFzIGJlZW4gZGVwcmVjYXRlZCBpbiBPcGVuQ1YgMy4wLCBhbmQgY3ZTcGxpdCgpIGlzIHRoZQoJICBzdWdnZXN0ZWQgcmVwbGFjZW1lbnQuIFNpbmNlIGN2U3BsaXQoKSBpcyBhdmFpbGFibGUgaW4gT3BlbkNWIDIuNCwgaXQgaXMKCSAgc2FmZSBhbmQgY2F1dGlvdXMgdG8gdXBkYXRlIHRoZSBmdW5jdGlvbiB1c2FnZSBiZWZvcmUgaXQgYmVjb21lcyBhbiBpc3N1ZS4KCjIwMTYtMDEtMjUgMTE6NDM6NTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkgIG9wZW5jdjogZml4IGN2bGFwbGFjZQoJICBjdmxhcGxhY2Ugd2FzIGFsc28gYWZmZWN0ZWQgYnkgdGhlIHNpbGVudCBjaGFuZ2UgaW4gT3BlbkNWIEFQSSwgc2FtZSBhcwoJICBjdnNvYmVsLiBJdCBoYXNuJ3QgYmVlbiB3b3JraW5nIGZvciBhIHdoaWxlLiBJdCB3b3VsZCByZXR1cm4gYSBwbGFpbiBibGFjawoJICBpbWFnZS4gVGhpcyBjb21taXQgdXBkYXRlcyB0aGUgdXNhZ2Ugb2YgY3ZMYXBsYWNlIGJ5IHVzaW5nIGN2Q3Z0Q29sb3IgdG8KCSAgY3JlYXRlIHRoZSBncmF5c2NhbGUgaW50ZXJtZWRpYXRlIGltYWdlIHRvIHByb2Nlc3MuIFRoaXMgYWxzbyBtZWFucyB0aGVyZQoJICBpcyBubyBuZWVkIGFueW1vcmUgdG8gdXNlIEdzdEJhc2VUcmFuc2Zvcm0ncyB0cmFuc2Zvcm1fY2Fwcywgc2luY2UgdGhlIHBhZHMKCSAgYXJlIFJHQi4KCjIwMTYtMDEtMjUgMTM6MzM6MDkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBidWZmZXIgbGVhayB3aGVuIHNwcyBpcyBub3QgcHJlc2VudAoJICBXaGVuIHNwcyBkYXRhIGlzIE5VTEwsIHRoZSBidWZmZXIgYWxsb2NhdGVkIGFuZCBtYXBwZWQgaXMgbm90IGJlaW5nIGZyZWVkLgoJICBJbiB0aGlzIHNjZW5hcmlvIHRoZXJlIGlzIG5vIG5lZWQgdG8gYWxsb2NhdGUgdGhlIGJ1ZmZlciBhcyB3ZSBhcmUgc3VwcG9zZWQgdG8gcmV0dXJuIE5VTEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NjEwNzAKCjIwMTYtMDEtMjUgMTI6MDU6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIFdoaWxlIHNldHRpbmcgY2FwcywgY29kZWNfZGF0YSBidWZmZXIgaXMgbWFwcGVkLCBidXQgbm90IGJlaW5nIHVubWFwcGVkCgkgIGxlYWRpbmcgdG8gbWVtb3J5IGxlYWtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYxMDcwCgoyMDE2LTAxLTIzIDE3OjEwOjUxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkgIG9wZW5jdjogZml4IGN2c29iZWwKCSAgY3Zzb2JlbCBoYW4ndCBiZWVuIHdvcmtpbmcgZm9yIGEgd2hpbGUgZHVlIHRvIGEgc2lsZW50IGNoYW5nZSBpbiBPcGVuQ1YKCSAgQVBJLiBJdCB3b3VsZCByZXR1cm4gYSBwbGFpbiBibGFjayBpbWFnZS4gVGhpcyBjb21taXQgdXBkYXRlcyB0aGUgdXNhZ2UKCSAgb2YgY3ZTb2JlbCBieSB1c2luZyBjdkN2dENvbG9yIHRvIGNyZWF0ZSB0aGUgZ3JheXNjYWxlIGltYWdlIHRvIHByb2Nlc3MuCgkgIFRoaXMgYWxzbyBtZWFucyB0aGVyZSBpcyBubyBuZWVkIHRvIHVzZSBHc3RCYXNlVHJhbnNmb3JtJ3MgdHJhbnNmb3JtX2NhcHMKCSAgYW55bW9yZSwgc2luY2UgdGhlIHBhZHMgY2FuIGJlIFJHQi4KCjIwMTYtMDEtMjMgMDU6MzA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIHBrZy1jb25maWc6IFByb3Blcmx5IHZlcnNpb24gYW5kIGluc3RhbGwgYmFzZS9hdWRpby92aWRlbyAucGMgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDczMyNjMTcKCjIwMTYtMDEtMjIgMTY6NDM6MDMgKzAwMDAgIEFsZXggQXNobGV5IDxhbGV4LmFzaGxleUB5b3V2aWV3LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGxlYWsgb2Ygc3RyZWFtLT5pbnRlcm5hbF9wYWQKCSAgVGhlIGZ1bmN0aW9uIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fdXBkYXRlX3NvdXJjZSgpIGZ1bmN0aW9uIGNyZWF0ZXMKCSAgYSBuZXcgR3N0UGFkIGNhbGxlZCBpbnRlcm5hbF9wYWQuIFRoaXMgcGFkIGlzIG5vdCBmcmVlZCB3aGVuIHJlbGVhc2luZwoJICB0aGUgc3RyZWFtLgoJICBUaGUgc29sdXRpb24gaXMgdG8gc2V0IEdTVF9QQURfRkxBR19ORUVEX1BBUkVOVCBzbyB0aGF0IHRoZSBjaGFpbgoJICBmdW5jdGlvbnMgZG8gbm90IGdldCBjYWxsZWQgd2hlbiB0aGUgcGFkIGhhcyBubyBwYXJlbnQgYW5kIHRoZW4KCSAgcmVtb3ZlIHRoZSBwYXJlbnQgaW4gdGhlIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJlZSgpIGZ1bmN0aW9uLiBUaGlzCgkgIGNhdXNlcyB0aGUgcmVmY291bnQgb2YgdGhlIHBhZCB0byBiZSBzZXQgdG8gemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk4MgoKMjAxNi0wMS0yMSAyMjowMDo0NCArMDgwMCAgSm9obiBDaGFuZyA8cjk3OTIyMTUzQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IFVzZSBSZXByZXNlbnRhdGlvbkluZGV4IGluc3RlYWQgb2YgSW5pdGlhbGl6YXRpb24gdG8gZ2V0IHRoZSBVUkwgb2YgdGhlIFJlcHJlc2VudGF0aW9uSW5kZXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDkzNgoKMjAxNi0wMS0yMiAxNzoyNToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogRmFpbCBncmFjZWZ1bGx5IGlmIG91ciBjYWxsYmFjayBjbGFzcyBjYW4ndCBiZSBmb3VuZAoJICBJbnN0ZWFkIG9mIGp1c3QgaWdub3JpbmcgdGhhdCBlcnJvciBhbmQgdGhlbiBjYWxsaW5nIEpOSSBmdW5jdGlvbnMgd2l0aCBOVUxMLAoJICB3aGljaCB3aWxsIGtpbGwgdGhlIHZpcnR1YWwgbWFjaGluZS4KCSAgVGhlIGVycm9yIGhhbmRsaW5nIGhlcmUgbmVlZHMgc29tZSBmdXJ0aGVyIGltcHJvdmVtZW50cyB0aG91Z2gsIGVycm9ycyBpbiBtb3JlCgkgIHBsYWNlcyBhcmUganVzdCBpZ25vcmVkLgoKMjAxNi0wMS0yMiAxNzoyMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogSW5pdGlhbGl6ZSBHRXJyb3IgcG9pbnRlciB3aXRoIE5VTEwKCSAgT3RoZXJ3aXNlIHRoZXJlIHdpbGwgYmUgYXNzZXJ0aW9ucy4KCjIwMTYtMDEtMjIgMTc6MTg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBPbmx5IGZyZWUgR3N0QW1jQnVmZmVyIGlmIGl0J3Mgbm90IE5VTEwKCSAgQW5kIGFsc28gZnJlZSBpdCBvbiBHTCBlcnJvcnMuCgoyMDE2LTAxLTEzIDIyOjA1OjQ5ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AY3RvbmRlbWFuZC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBpbXBsZW1lbnQgUkdCIGNhcHR1cmUgc3VwcG9ydAoJICBDb21iaW5lIG1vZGUgYW5kIGZvcm1hdCB0byBnZW5lcmF0ZSBjYXBzIGFuZCBzdXBwb3J0IHRoZSBmbGFncyBmcm9tIFZpZGVvQ2hhbmdlZCBjYWxsYmFjayB0byBzdXBwb3J0IFJHQiBjYXB0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTk0CgoyMDE2LTAxLTIyIDE2OjIyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW1jOiBBZGQgYW4gYXNzZXJ0aW9uIGZvciBOVUxMIEdFcnJvcnMKCSAgU2hvdWxkIG5ldmVyIGhhcHBlbiEgQnV0IGFuIGFzc2VydGlvbiBpcyBiZXR0ZXIgdGhhbiBhIE5VTEwgcG9pbnRlcgoJICBkZXJlZmVyZW5jZS4KCjIwMTYtMDEtMjIgMTY6MTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFoYzogRml4IGluZGVudGF0aW9uCgoyMDE2LTAxLTIyIDE2OjEzOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jOiBNZWRpYUNvZGVjOjpnZXRPdXRwdXRCdWZmZXIoKSBjYW4gcmV0dXJuIE5VTEwgd2l0aG91dCBleGNlcHRpb24KCSAgSGFwcGVucyB3aGVuIGRvaW5nIHplcm9jb3B5IHJlbmRlcmluZywgb3Igd2hlbiBwYXNzaW5nIGEgd3JvbmcgaW5kZXggdG8gaXQuCgkgIEhhbmRsZSB0aGlzIHByb3Blcmx5IGZvciB6ZXJvY29weSByZW5kZXJpbmcsIGZhaWwgcHJvcGVybHkgZm9yIHRoZSBvdGhlcgoJICBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDk2MQoKMjAxNi0wMS0xNiAxODo1OTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hdWRpby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBiYXNlL2F1ZGlvL3ZpZGVvOiBJbnN0YWxsIGhlYWRlcnMgYW5kIHBrZy1jb25maWcgZmlsZXMKCSAgVGhleSBhcmUgc3RpbGwgY29uc2lkZXJlZCB1bnN0YWJsZSBBUEkgYnV0IGl0IHdvdWxkIGJlIGdvb2QgdG8gZ2l2ZSB0aGVtIHNvbWUKCSAgd2lkZXIgdGVzdGluZyBhbHJlYWR5IHRvIG1ha2Ugc3VyZSB0aGUgQVBJIGlzIHVzZWZ1bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDczMwoKMjAxNi0wMS0xNiAxODo1NjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvYWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYXVkaW8tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLWF1ZGlvLnBjLmluOgoJICBhdWRpbzogTW92ZSBhdWRpb2FnZ3JlZ2F0b3IgYmFzZSBjbGFzcyB0byBhIGxpYnJhcnkKCSAgSXQncyB1c2VmdWwgZW5vdWdoIGFscmVhZHkgdG8gYmUgdXNlZCBpbiBvdGhlciBlbGVtZW50cyBmb3IgYXVkaW8gYWdncmVnYXRpb24sCgkgIGxldCdzIGdpdmUgcGVvcGxlIHRoZSBvcHBvcnR1bml0eSB0byB1c2UgaXQgYW5kIGdpdmUgaXQgc29tZSBBUEkgdGVzdGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDczMwoKMjAxNi0wMS0yMSAyMzoxMzozNiArMDEwMCAgSG9sZ2VyIEthZWxiZXJlciA8aG9sZ2VyLmtAZWxiZXJlci5kZT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIGdsd2luZG93OiBGaXggYW5kcm9pZCBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwOTcyCgoyMDE2LTAxLTIyIDEzOjUxOjQ5ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHRleHR1cmUgY2FjaGU6IGNvcHkgdGhlIGlucHV0IG1ldGFzCgkgIENvcHkgdGhlIGlucHV0IG1ldGFzIHNvIGF2ZnZpZGVvc3JjIGFuZCB2dGVuYyBjYW4gZmFzdCBwYXRoIHRvIHVzaW5nCgkgIENWUGl4ZWxCdWZmZXIocykgZXZlbiB3aGVuIHVzaW5nIEdMTWVtb3J5LgoKMjAxNi0wMS0yMSAxMzo1MDo0NCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdhbmRyb2lkLWhhcmR3YXJlLWNhbWVyYScKCSAgVGhpcyBicmFuY2ggYWRkcyBzdXBwb3J0IGZvciBBbmRyb2lkIEhhcmR3YXJlIENhbWVyYSBBUEkgdGhyb3VnaCBhIG5ldwoJICBlbGVtZW50IGNhbGxlZCBhaGNzcmMuIFRoaXMgaXMgdGhlICJvbGQiIEFuZHJvaWQgQ2FtZXJhIEFQSSwgdGhlbiBvbmx5CgkgIEFQSSBhdmFpbGFibGUgb24gQW5kcm9pZCA0LlguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVmLmNnaT9pZD03Mzc3ODYKCjIwMTYtMDEtMDggMTY6MTY6MDkgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkgIGFoY3NyYzogRml4IGxhdGVuY3kgcmVwb3J0aW5nCgkgIEN1cnJlbnRseSBpdCB3YXMgd3JvbmdseSByZXBvcnRpbmcgbWluL21heCBhcyBiZWluZyB0aGUgc2hvcnRlc3QgYW5kCgkgIGxvbmdlc3QgcG9zc2libGUgZnJhbWUgZHVyYXRpb24uIFRoaXMgaXMgbm90IGhvdyBsYXRlbmN5IHdvcmtzIGluCgkgIEdTdHJlYW1lci4KCSAgRml4IGJ5IHJlcG9ydGluZyBtaW4gbGF0ZW5jeSBhcyBiZWluZyB0aGUgbG9uZ2VzdCBwb3NzaWJsZSBkdXJhdGlvbiBvZgoJICBvbmUgZnJhbWUuIEFzIHdlIGRvbid0IGtub3cgaG93IG1hbnkgYnVmZmVycyB0aGUgc3RhY2sgY2FuIGFjY3VtdWxhdGUsIHdlCgkgIHNpbXBseSBhc3N1bWUgdGhhdCBtYXggbGF0ZW5jeSBpcyB0aGUgc2FtZSAodGhlIHVzdWFsIGRlZmF1bHQgYmVoYXZpb3VyKS4KCjIwMTUtMTItMDcgMTQ6MzE6NDAgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFoY3NyYy5jOgoJICBhaGNzcmM6IGZpeCBkZWFkbG9jayB3aGVuIGZsdXNoaW5nCgkgIF9kYXRhX3F1ZXVlX2l0ZW1fZnJlZSgpIGNhbGxzIGdzdF9idWZmZXJfdW5yZWYoKSwgd2hpY2gKCSAgY2FsbHMgZ3N0X2FoY19zcmNfYnVmZmVyX2ZyZWVfZnVuYygpLCB3aGljaCBjYWxscwoJICBnX211dGV4X2xvY2soKSBvbiBzZWxmLT5tdXRleCBhbmQgdGhlcmUgeW91IGdvLi4uIGRlYWRsb2NrIQoKMjAxNS0xMi0yNCAxMjo1MToxMyArMDkwMCAgSnVzdGluIEtpbSA8anVzdGluLmtpbUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2xpc3QuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvb3JnL2ZyZWVkZXNrdG9wL2dzdHJlYW1lci9hbmRyb2lkbWVkaWEvR3N0QWhjQ2FsbGJhY2suamF2YToKCSAgYWhjc3JjOiBwb3J0aW5nIGZyb20gMC4xMCB0byAxLjAKCjIwMTUtMTItMjQgMTI6MTQ6MjQgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9kdm0vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0ZHZtLmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZHZtLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS5wYy5pbjoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2NvbS9nc3RyZWFtZXIvR3N0QWhjQ2FsbGJhY2suamF2YToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjY2FsbGJhY2suaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YWhjc3JjLmg6CgkgIG1vdmUgYW5kcm9pZGNhbWVyYSBpbnRvIGFuZHJvaWRtZWRpYQoJICBUaGlzIGNvbW1pdCBpcyBhIHBhcnQgb2YgcG9ydG5nIGFuZHJvaWQgaGFyZHdhcmUgY2FtZXJhIGZyb20gMC4xMCBpbXBsZW1lbnRhdGlvbi4KCSAgVG8gcHJlc2VydmUgaGlzdG9yeSBhbmQgZ2V0IGRpZmYgY2xlYXJseSwgdGhlIGludGVyZXN0aW5nIGZpbGVzIGFyZSBtb3ZlZCB0bwoJICBkZXBsb3ltZW50IGRpcmVjdG9yeSBhbmQgdGhlIHJlbWFpbmluZyBmaWxlcyBhcmUgcmVtb3ZlZC4KCjIwMTMtMDEtMDcgMTg6Mjc6NDAgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBTZXBhcmF0ZSByZWxlYXNlIGFuZCBmcmVlIEFQSXMKCjIwMTMtMDEtMDcgMTg6MjA6NDcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGdldF9sZXZlbCBhbmQgZ2V0X3Byb2ZpbGUgZXhjZXB0aW9uIGNoZWNraW5nIGJ5IG5vdCB1c2luZyByZXR1cm4KCjIwMTMtMDEtMDcgMTg6MTk6MjggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgZXh0ZXJuIGdpbnQgZGVjbGFyYXRpb25zCgoyMDEzLTAxLTA3IDE4OjE4OjE4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3Rkdm0uaDoKCSAgZ3N0ZHZtOiBGaXggR1NUX0RWTV9HRVRfU1RBVElDX0ZJRUxECgoyMDEyLTExLTI5IDIwOjEwOjE5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNtYWxsIHJlZmFjdG9yIGluIGNhc2Ugb3BlbiBkb2Vzbid0IHRocm93IGFuIGV4Y2VwdGlvbiBidXQgcmV0dXJucyBudWxsCgoyMDEyLTEyLTEzIDE3OjU3OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0xMi0xMyAxNzo1NjowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZHZtL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdGR2bS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjaW5mby5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0LmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSAgZHZtOiBSZW5hbWUgZ3N0LWR2bS5bY2hdIHRvIGdzdGR2bS5bY2hdIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIEdTdHJlYW1lciBjb2RlCgoyMDEyLTEyLTEzIDE3OjQwOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5jOgoJKiBnc3QtbGlicy9nc3QvZHZtL2dzdC1kdm0uaDoKCSAgZHZtOiBBZGQgbmV3IGZ1bmN0aW9uIHRvIGNoZWNrIGlmIHdlIHN0YXJ0ZWQgYSBWTSBvciBvbmx5IHVzZWQgYW4gZXhpc3Rpbmcgb25lCgoyMDEyLTEyLTEzIDE3OjQwOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBNYWtlIGV2ZXJ5dGhpbmcgY29tcGlsZSB3aXRoIHRoZSBuZXcgd3JhcHBlcnMKCjIwMTItMTItMTMgMTI6MTM6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNpbmZvLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlY2luZm8uaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWNvZGVjbGlzdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWNsaXN0Lmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5oOgoJICBhbmRyb2lkbWVkaWE6IEFkZCByZW1haW5pbmcgYml0cyBvZiB0aGUgSmF2YSB3cmFwcGVycyB1c2luZyBsaWJnc3Rkdm0KCjIwMTItMTItMTMgMTI6MTM6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmg6CgkgIGR2bTogQWRkIHNvbWUgbW9yZSBoZWxwZXIgbWFjcm9zCgoyMDEyLTEyLTEyIDE4OjEwOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0LmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtb3ZlIGdfcmV0dXJuX2lmX2ZhaWxzKCkKCSAgVGhpcyBpcyBub3QgcHVibGljIEFQSSBzbyBpdCBoYXMgbm8gYWR2YW50YWdlIHRvIGhhdmUgdGhlbSBoZXJlLgoKMjAxMi0xMS0yOCAyMDo1Mzo1MSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0LWFuZHJvaWQtbWVkaWEtbWVkaWFjb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhY29kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3QtYW5kcm9pZC1tZWRpYS1tZWRpYWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdC1hbmRyb2lkLW1lZGlhLW1lZGlhZm9ybWF0Lmg6CgkgIGFuZHJvaWRtZWRpYTogVXNlIGdzdC1kdm0gYW5kIHJlZmFjdG9yIGphdmEgd3JhcHBlcnMgKFdJUCkKCSAgTW92ZWQgdGhlIGphdmEgd3JhcHBlciBBUEkgaW50byBpdHMgb3duIGZpbGVzIGFuZCBtYWRlIHVzZSBvZiB0aGUKCSAgZ3N0LWR2bSBtYWNyb3MuIEFsc28gcmVuYW1lZCB0aGUgQVBJIHRvIGhhdmUgdGhlIHByb3BlciBuYW1pbmcKCSAgY29udmVudGlvbiBhbmQgY29kaW5nIHN0eWxlIGluIG9yZGVyIHRvIG1hdGNoIHRoZSBvbmUgaW4gYW5kcm9pZGNhbWVyYS4KCSAgVGhpcyBpcyBhIHdvcmsgaW4gcHJvZ3Jlc3MhICJhbmRyb2lkL21lZGlhL01lZGlhQ29kZWNMaXN0IiBpcyBzdGlsbCBtaXNzaW5nCgkgIGFuZCB0aGUgYWN0dWFsIGVsZW1lbnRzIGhhdmUgbm90IGJlZW4gcG9ydGVkIHRvIHVzZSB0aGUgbmV3IGZ1bmN0aW9uIG5hbWVzLgoKMjAxMi0xMS0yOCAxNToyNjo0OSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0Lmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgR19CRUdJTi9FTkRfREVDTFMgdG8gdGhlIC5oCgoyMDEyLTExLTI3IDE5OjI1OjA2IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2R2bS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2R2bS9nc3QtZHZtLmM6CgkqIGdzdC1saWJzL2dzdC9kdm0vZ3N0LWR2bS5oOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWR2bS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1kdm0ucGMuaW46CgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRjYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGdzdC1kdm06IENyZWF0ZSBhIGdzdC1kdm0gbGlicmFyeSB1c2luZyBwYXJ0IG9mIGFuZHJvaWRjYW1lcmEKCjIwMTItMTEtMjcgMTc6MjQ6MzUgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogQWRkaW5nIGEgZGV2aWNlLW5hbWUgcHJvcGVydHkKCjIwMTItMTEtMjAgMTk6NTY6MjIgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW5kcm9pZGNhbWVyYS54bWw6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGVsZW1lbnQgZG9jdW1lbnRhdGlvbgoKMjAxMi0xMS0xOSAxODoyNToxMiAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkY2FtZXJhOiBQcmV0dGlmeSB0aGUgZ3N0YWhjY2FsbGJhY2suYyBnZW5lcmF0aW9uIGxpbmUgaW4gdGhlIG1ha2VmaWxlCgoyMDEyLTExLTE1IDEyOjMzOjI2IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWNhbWVyYTogTWFrZSBzdXJlIHRoZSBUTVAgZW52IHZhciBleGlzdHMgYW5kIGNoZWNrIGZvciBERVggdmFyIHRvbwoKMjAxMi0xMS0xNCAxMTozODo1MSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBEbyBub3QgdXNlIGdzdF9saXN0X2ZyZWVfZnVsbCBzaW5jZSBpdCByZXF1aXJlcyBnbGliIDIuMjgKCjIwMTItMTEtMTIgMTg6NTk6NTcgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBzbW9vdGgtem9vbSBwcm9wZXJ0eSBmb3Igc21vb3RoIHpvb21pbmcgZmVhdHVyZQoKMjAxMi0xMS0xMiAxODoxOToyMCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgZm9jYWwtbGVuZ3RoLCB2aWV3LWFuZ2xlIGFuZCB2aWRlby1zdGFiaWxpemF0aW9uIHByb3BlcnRpZXMKCjIwMTItMTEtMTIgMTg6MTg6MTEgLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCB2aWRlbyBzdGFiaWxpemF0aW9uIEFQSQoKMjAxMi0xMS0xMiAxNjozODo0MCAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgcHJvcGVydHkgcHJvYmUgZm9yIHRoZSBwaG90b2dyYXBoeSBwcm9wZXJ0aWVzCgoyMDEyLTExLTA5IDE4OjIxOjIxIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNtYWxsIHJlZmFjdG9yCgoyMDEyLTExLTA5IDE2OjU3OjMwIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBzbWFsbCBtZW1sZWFrCgoyMDEyLTExLTA5IDE2OjU1OjU3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFN0b3JlIEdQYXJhbVNwZWMgZm9yIHByb3BlcnRpZXMgYW5kIHVzZSB0aGF0IGZvciB0aGUgUHJvcGVydHlQcm9iZSBjb21wYXJpc29uCgoyMDEyLTExLTA5IDEyOjIzOjM3IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEhhbmRsZSB6b29tIGNvbXBhcmlzb24gYmV0dGVyLCBhbmQgYXZvaWQgZmxvYXQgcHJlY2lzaW9uIGlzc3VlCgoyMDEyLTExLTA5IDEyOjIyOjEyIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBFViBjb21wZW5zYXRpb24gc3VwcG9ydAoKMjAxMi0xMS0wNyAxOToxNjowNSAtMDUwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXBsZW1lbnQgbmV3IEdzdFBob3RvZ3JhcGh5IGVudW1zCgoyMDEyLTExLTA3IDE1OjM4OjE5IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IERvIG5vdCBhZHZlcnRpc2Ugem9vbSBjYXBhYmlsaXRpZXMgaWYgY2FtZXJhIGRvZXNuJ3Qgc3VwcG9ydCB6b29tCgoyMDEyLTExLTA3IDE1OjM3OjQzIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEJlIE5VTEwtc2FmZSB3aGVuIGEgSk5JIGxpc3QgaXMgcmV0dXJuZWQKCjIwMTItMTEtMDIgMTg6MDc6MjQgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogVXNlIHN0cmNtcCBvbiB0aGUgR1BhcmFtU3BlYyBwcm9wZXJ0eSBuYW1lCgkgIFVzZSBzdHJjbXAgaW5zdGVhZCBvZiB1c2luZyB0aGUgcHJvcGVydHlfaWQgYmVjYXVzZSBpdCdzIG92ZXJyaWRlbgoKMjAxMi0xMS0wMiAxODowMDo1NSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcGxlbWVudCBwcm9wZXJ0eSBwcm9iZSBmb3Igem9vbSBhbmQgZXZfY29tcGVuc2F0aW9uCgoyMDEyLTExLTAyIDE3OjAwOjQ1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvY29tL2dzdHJlYW1lci9Hc3RBaGNDYWxsYmFjay5qYXZhOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgYXV0b2ZvY3VzIHN1cHBvcnQKCjIwMTItMTEtMDIgMTY6NTk6NDIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogT3ZlcnJpZGUgcHJvcGVydGllcwoKMjAxMi0xMS0wMSAxNToyNDoxMiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbnJvaWRjYW1lcmE6IEFkZCBzdXBwb3J0IGZvciB0aGUgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlCgoyMDEyLTExLTAxIDExOjU4OjMzIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgbW9yZSB3cmFwcGVycyBmb3IgdGhlIENhbWVyYS5QYXJhbWV0ZXJzIGNsYXNzCgoyMDEyLTEwLTMxIDE0OjIxOjQ3IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IFNlbmQgcHJvcGVyIGVycm9yIHdoZW4gdW5hYmxlIHRvIG9wZW4gY2FtZXJhCgoyMDEyLTEwLTMwIDEyOjEzOjEyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZGluZyBkZXZpY2Utb3JpZW50YXRpb24gYW5kIGRldmljZS1mYWNpbmcgcHJvcGVydGllcwoKMjAxMi0xMC0zMCAxMTozNTozNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuaDoKCSAgYW5kcm9pZGNhbWVyYTogQWRkIGRldmljZSBwcm9wZXJ0eSBhbmQgcHJvcGVydHkgcHJvYmUgaXQKCjIwMTItMTAtMzAgMTA6MTI6MDYgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRml4IG1lbWxlYWsgYW5kIGxvc2Ugb2YgYnVmZmVyIGlmIHRoZSBkYXRhIHF1ZXVlIGlzIGZsdXNoaW5nCgoyMDEyLTEwLTMwIDA5OjQ5OjM5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IENhbGxpbmcgc2V0X3ByZXZpZXdfY2FsbGJhY2sgd2l0aCBOVUxMIGZyZWVzIGFsbCB0aGUgYnVmZmVycyBpbiB0aGUgcXVldWUuCgkgIFdlIG11c3Qgbm90IGRvIGl0IGF0IHRoZSBzdG9wIG90aGVyd2lzZSB3ZSBsb3NlIGFsbCBvdXIgYnVmZmVycy4gSXQncyBiZXN0IHRvIGRvCgkgIGl0IGR1cmluZyB0aGUgY2xvc2UsIHNvIHdlIGZyZWUgdXAgdGhlIHJlc291cmNlcy4KCjIwMTItMTAtMzAgMDk6NDk6MDMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogRHJvcCBmcmFtZXMgaWYgd2UgZG9uJ3QgaGF2ZSBhIGNsb2NrIGFuZCB2YXIgcmVuYW1lCgoyMDEyLTEwLTMwIDA5OjQ1OjU1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWNhbWVyYTogaWYgYnVmZmVyIHNpemUgaW5jcmVhc2VzLCB0aGVuIHJlYWRkIG5ldyBidWZmZXJzIHRvIHRoZSBxdWV1ZSBhbmQgZHJvcCBvbGQgb25lcwoJICBUaGUgb25fcHJldmlldyBjYWxsYmFjayBnZXRzIGNhbGxlZCB3aXRoIE5VTEwgaWYgdGhlIGJ1ZmZlciBpbiB0aGUgcXVldWUgaXMKCSAgdG9vIHNtYWxsLCBzbyB3ZSBuZWVkIHRvIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSB0aGUgYXJyYXkgaXMgTlVMTC4gQWxzbwoJICB0aGVyZSBpcyBhIGJ1ZyBpbiB0aGUgYW5kcm9pZCBzb3VyY2Ugd2hpY2ggbWFrZXMgaXQgZHJvcCBvbmUgb2YgdGhlIGJ1ZmZlcnMKCSAgc28gaWYgd2UgaGFkIDUgYnVmZmVycywgYW5kIHdlIHJlbmVnb3RpYXRlIHRvIGEgaGlnaGVyIHJlc29sdXRpb24sIHRoZW4gd2UnZAoJICBvbmx5IGdldCA0IGNhbGxzIHRvIG9uX3ByZXZpZXdfZnJhbWUgd2l0aCBOVUxMLCB3aXRoIG9uZSBiZWluZyBkcm9wcGVkLgoJICBUaGlzIG1lYW5zIHdlIGNhbid0IHJlYWxsb2NhdGUgdGhlIGJ1ZmZlcnMgaW4gdGhlIGlmIChkYXRhID09IE5VTEwpIGNhc2UKCSAgYmVjYXVzZSB3ZSBtaWdodCBlbmQgdXAgd2l0aCAwIGJ1ZmZlcnMgaW4gdGhlIGVuZC4KCjIwMTItMTAtMzAgMDk6NDQ6MzEgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSAgYW5kcm9pZGNhbWVyYTogSWYgY2FsbGJhY2sgaXMgTlVMTCB0aGVuIHNldCBpdCB0byBOVUxMIGluIGpuaQoKMjAxNi0wMS0yMSAxMzo0Njo1MiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTItMTAtMjYgMTI6NTc6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IENob3NlIHRoZSBzbWFsbGVzdCByYW5nZSB0aGF0IGNvbnRhaW5zIHRoZSB0YXJnZXQgZnJhbWVyYXRlCgoyMDEyLTEwLTI2IDEyOjQzOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBJbXByb3ZlIG5lZ290aWF0aW9uCgkgIEFuZCBtYWtlIHN1cmUgd2Ugc2V0IGFuIEZQUyByYW5nZSBmcm9tIHRoZSBzdXBwb3J0ZWQgb25lcwoJICBub3cgaW5zdGVhZCBvZiBhIHBvdGVudGlhbGx5IHVuc3VwcG9ydGVkIHJhbmdlLgoKMjAxMi0xMC0yNiAxMjoxOTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjYgMTE6NTc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIGFuZHJvaWRjYW1lcmE6IE1ha2Ugc3VyZSB3ZSBhbHdheXMgaGF2ZSBhIHZhbGlkIGNhbWVyYSBzb3VyY2UgaW5zdGFuY2UgaW4gdGhlIGJ1ZmZlciBmcmVlIGZ1bmN0aW9uCgoyMDEyLTEwLTI2IDExOjQ2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZGNhbWVyYTogTWFrZSBzdXJlIHRvIG5vdCBjYWxsIGFueSBjYWxsYmFja3MgYWZ0ZXIgc3RvcHBpbmcgdGhlIGNhbWVyYQoJICBGaXhlcyBzZWdmYXVsdHMgd2hlbiByb3RhdGluZyB0aGUgZGV2aWNlIGZvciBleGFtcGxlLgoKMjAxMi0xMC0yNCAxNToyNTo1NCAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggdGltZXN0YW1waW5nIGlzc3VlCgoyMDEyLTEwLTI0IDEzOjU5OjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBhbmRyb2lkY2FtZXJhOiBBZGQgY2FwcyBuZWdvdGlhdGlvbiBzdXBwb3J0CgoyMDEyLTEwLTI0IDEwOjU1OjUyIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIEFkZCBzdXBwb3J0IGZvciBnZXRjYXBzIHRoYXQgcHJvYmVzIHRoZSBjYW1lcmEgZm9yIGNhcGFiaWxpdGllcwoKMjAxMi0xMC0yMyAxMzo1NDo0NiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IERyb3AgdGhlIGZpcnN0IGJ1ZmZlciB0byBoYXZlIHByb3BlciB0aW1lc3RhbXBpbmcKCjIwMTItMTAtMjMgMTE6MTQ6MDAgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGbHVzaCB0aGUgcXVldWUgd2hlbiB0aGUgc291cmNlIGlzIHN0b3BwZWQKCjIwMTItMTAtMjMgMTE6MTM6MzcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvY2F0ZS9mcmVlIHRleHR1cmUgd2hlbiBjYW1lcmEgaXMgb3Blbi9jbG9zZWQKCjIwMTItMTAtMjMgMTE6MTM6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgYSBnc3RfYWhjX3NyY19jbG9zZSBmdW5jdGlvbgoKMjAxMi0xMC0yMyAxMToxMjoxOSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzbWFsbCBpbmRlbnRhdGlvbiBpc3N1ZXMKCjIwMTItMTAtMjMgMTA6MTI6NTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBEaXNhYmxlIHBsdWdpbiBpZiBhbmRyb2lkLXNkayBpc24ndCBmb3VuZCBhbmQgZHluYW1pY2FsbHkgc2VhcmNoIGZvciBwbGF0Zm9ybSB2ZXJzaW9uCgoyMDEyLTEwLTIzIDA5OjAxOjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2NvbS9nc3RyZWFtZXIvR3N0QWhjQ2FsbGJhY2suamF2YToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY2NhbGxiYWNrLmg6CgkgIGFuZHJvaWRjYW1lcmE6IEFkZCBzdXBwb3J0IGZvciB1c2luZyBEZXhMb2FkZXIgd2l0aCBFbWJlZGVkIEdzdEFoY0NhbGxiYWNrLmphcgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJICBhbmRyb2lkY2FtZXJhOiBGaXggY29tcGlsYXRpb24gaXNzdWVzCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkY2FtZXJhLmM6CgkgIFJlbW92ZSBwcmV2aW91cyBjcnVmdCBhbmQgY3JlYXRlIGFuZHJvaWRjYW1lcmEgcGx1Z2luCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIEZyZWUgdGhlIGJ1ZmZlcnMgYW5kIHJlYWRkIHRoZSBhcnJheXMgd2hlbiB0aGUgcXVldWUgaXMgY2xlYXJlZAoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLWltYWdlZm9ybWF0LmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtZHZtLmg6CgkgIEFkZCBhIEdTVF9EVk1fQ0FMTCBtYWNybyB0byBlYXNlIGZ1bmN0aW9uIGNhbGxpbmcgd2l0aCBleGNlcHRpb24gY2hlY2sKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIENhbGN1bGF0ZSB0aW1lc3RhbXAgYXQgcmVjZXB0aW9uIG9mIHRoZSBidWZmZXIsIG5vdCB3aGVuIHB1c2hpbmcgaXQgb3V0CgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIE1ha2UgdGhlIG51bWJlciBvZiBjYWxsYmFjayBidWZmZXJzIGNvbmZpZ3VyYWJsZSwgYW5kIGRlbGV0ZSB0aGVpciBsb2NhbCByZWYKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmg6CgkgIFVzZSBHc3REYXRhUXVldWUgaW5zdGVhZCBvZiBHQXN5bmNRdWV1ZSBmb3Igc3RvcmluZyBidWZmZXJzCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkgIFVzZSB0aGUgYnVmZmVyJ3MgZnJlZV9mdW5jIHRvIG1hcCBieXRlQXJyYXkgZGF0YSB3aXRob3V0IG1ha2luZyBhIGNvcHkKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3RhaGNzcmMuYzoKCSAgUmVtb3ZlIG9wZW4gZmFpbHVyZSB0ZXN0IGNvZGUgYW5kIGRlYnVnIGxvZwoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5jOgoJICBVc2UgWVYxMiBhcyB0aGUgZGVmYXVsdCBmb3JtYXQKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1pbWFnZWZvcm1hdC5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1ncmFwaGljcy1zdXJmYWNldGV4dHVyZS5oOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtYW5kcm9pZC1oYXJkd2FyZS1jYW1lcmEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmg6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkbWVkaWEuYzoKCSAgQWRkIGEgZGVpbml0IGZ1bmN0aW9uIGFuZCByZW1vdmUgamNsYXNzIHJlZmVyZW5jZXMgaW4gY2FzZSBvZiBlcnJvcgoKMjAxMi0xMC0xNyAxOTo0Mjo1OSAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWdyYXBoaWNzLXN1cmZhY2V0ZXh0dXJlLmM6CgkgIFN1cmZhY2VUZXh0dXJlIGNvbnN0cnVjdHVyZSBuZWVkcyB0ZXh0dXJlX2lkCgoyMDEyLTEwLTE3IDE5OjQyOjU5IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRjYW1lcmEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkbWVkaWEuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0YWhjc3JjLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdGFoY3NyYy5oOgoJICBBZGQgYWhjc3JjIENhbWVyYSBzb3VyY2UgZWxlbWVudCBwcm90b3R5cGUKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3MtaW1hZ2Vmb3JtYXQuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuYzoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtZ3JhcGhpY3Mtc3VyZmFjZXRleHR1cmUuaDoKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWQtaGFyZHdhcmUtY2FtZXJhLmM6CgkqIHN5cy9hbmRyb2lkY2FtZXJhL2dzdC1hbmRyb2lkLWhhcmR3YXJlLWNhbWVyYS5oOgoJICBBZGQgYW5kcm9pZC5oYXJkd2FyZS5DYW1lcmEgKGFuZCBkZXBzKSBKTkkgd3JhcHBlcnMKCjIwMTItMTAtMTcgMTk6NDI6NTkgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWR2bS5jOgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9nc3QtZHZtLmg6CgkgIEFkZGluZyBEYWx2aWsgVmlydHVhbCBNYWNoaW5lIHJvdXRpbmVzIGFuZCBtYWNyb3MKCjIwMTItMTAtMTcgMTc6NTY6MzMgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZGNhbWVyYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRjYW1lcmEvZ3N0LWFuZHJvaWRtZWRpYS5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhbmRyb2lkbWVkaWEgcGx1Z2luCgoyMDE2LTAxLTE1IDE0OjMxOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NwYW5kc3AvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYW5kc3AvZ3N0dG9uZWdlbmVyYXRlc3JjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHRvbmVnZW5lcmF0ZXNyYy5oOgoJICBzcGFuZHNwOiBBZGQgdG9uZSBnZW5lcmF0b3IKCjIwMTUtMDctMTQgMTM6NDA6NDYgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHNldCBub24tMCBwYXlsb2FkIGxlbmd0aCBpbiBQRVMgaGVhZGVyIGlmIHZpZGVvIEVTIHBhY2tldCBpcyBzbWFsbCBlbm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUwNwoKMjAxNS0wNy0xNCAxMzo0Mjo1NCArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogcmVzZXQgcGVzX2J5dGVzX3dyaXR0ZW4gd2hlbiBzdGFydGluZyB0byB3cml0ZSBuZXcgUEVTIHBhY2tldAoJICBJbiBjYXNlIG9mIGFuIHVuYm91bmRlZCBwYWNrZXQgKHZpZGVvIHVzdWFsbHkpLCBwZXNfYnl0ZXNfd3JpdHRlbiB3YXMKCSAgbm8gcmVzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1MDcKCjIwMTYtMDEtMTkgMTc6MDg6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgSC4yNjUvSEVWQyB2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzY3CgoyMDE2LTAxLTE5IDEzOjIwOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkgIGdsOiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MtNgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoyNTowOgoJICBlZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOjE3NDozMjogZXJyb3I6ICd4cmF5X2N1cnZlJyBkZWZpbmVkIGJ1dCBub3QgdXNlZAoJICBzdGF0aWMgY29uc3QgR3N0R0xFZmZlY3RzQ3VydmUgeHJheV9jdXJ2ZSA9IHsKCSAgLi4uCgoyMDE2LTAxLTE5IDA4OjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJICBsaWJzOiBnLWk6IGZpeCBpbml0IHNlY3Rpb24gdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZ3MKCSAgLi5Hc3RQbGF5ZXItMS4wLmM6IEluIGZ1bmN0aW9uIOKAmG1haW7igJk6CgkgIC4uR3N0UGxheWVyLTEuMC5jOjU4NzozOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiDigJhnc3RfaW5pdOKAmQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMDkwCgoyMDE2LTAxLTE5IDE5OjE4OjQzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZW5jOiBmaXggYnVpbGQgb24gaU9TCgoyMDE2LTAxLTE5IDE1OjUwOjIyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGFsd2F5cyBmaWxsIEdzdEJ1ZmZlcnMgd2l0aCBHc3RNZW1vcnkKCSAgQWx3YXlzIGZpbGwgYnVmZmVycyB3aXRoIG91ciBjdXN0b20gbWVtb3J5LiBUaGUgY3VzdG9tIG1lbW9yeSB3aWxsIGF2b2lkCgkgIG1hcHBpbmcgQ1YvQ00gYnVmZmVycyB1bmxlc3MgbmVjZXNzYXJ5LgoKMjAxNS0wNC0xOSAwMDozMDo0OCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogaW1wbGVtZW50IGNvcHlpbmcgb2YgbWV0YQoJICBCZWZvcmUgdGhpcywgYnVmZmVycyB3b3VsZCBsb3NlIHRoZWlyIENvcmUgVmlkZW8gLyBDb3JlIE1lZGlhIG1ldGEKCSAgb3ZlciBpbnRlcnZpZGVvKiBib3VuZGFyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIxNgoKMjAxNS0wNC0wMiAyMDowNDoxOCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9tZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBpbXBsZW1lbnQgR3N0QXBwbGVDb3JlVmlkZW9NZW1vcnkKCSAgSW1wbGVtZW50IGEgbmV3IG1lbW9yeSB0eXBlIHdyYXBwaW5nIENWUGl4ZWxCdWZmZXIuCgkgIFRoZXJlIGFyZSB0d28gaW1tZWRpYXRlIGFkdmFudGFnZXM6CgkgIGEpIE1ha2UgdGhlIEdzdE1lbW9yeSBpdHNlbGYgcmV0YWluIHRoZSBDVlBpeGVsQnVmZmVyLiBQcmV2aW91c2x5LAoJICB0aGUgY29udGFpbmluZyBHc3RCdWZmZXIgd2FzIHNvbGVseSByZXNwb25zaWJsZSBmb3IgdGhlIGxpZmV0aW1lIG9mCgkgIHRoZSBiYWNraW5nIENWUGl4ZWxCdWZmZXIuCgkgIFdpdGggdGhpcyBjaGFuZ2UsIHdlIHJlbW92ZSB0aGUgR1NUX01FTU9SWV9GTEFHX05PX1NIQVJFIHNvIHRoYXQKCSAgR3N0TWVtb3J5IG9iamVjdHMgYmUgcmVmZXJlbmNlZCBieSBtdWx0aXBsZSBHc3RCdWZmZXJzIChkb2luZyBhd2F5CgkgIHdpdGggdGhlIG5lZWQgdG8gY29weS4pCgkgIGIpIERlbGF5IGxvY2tpbmcgQ1ZQaXhlbEJ1ZmZlciBpbnRvIENQVSBtZW1vcnkgdW50aWwgaXQncyBhY3R1YWxseQoJICBtYXBwZWQgLS0gcG9zc2libHkgbmV2ZXIuCgkgIFRoZSBDVlBpeGVsQnVmZmVyIG9iamVjdCBpcyBzaGFyZWQgYW1vbmcgcmVmZXJlbmNlcywgc2hhcmVzIGFuZAoJICAoaW4gcGxhbmFyIGZvcm1hdHMpIHBsYW5lcywgc28gYSB3cmFwcGVyIEdzdEFwcGxlQ29yZVZpZGVvUGl4ZWxCdWZmZXIKCSAgc3RydWN0dXJlIHdhcyBpbnRyb2R1Y2VkIHRvIG1hbmFnZSBsb2NraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3MjE2CgoyMDE2LTAxLTE5IDEyOjU2OjQwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJICBhcHBsZW1lZGlhOiBpb3N1cmZhY2VtZW1vcnk6IGFsbG9jIHdpdGggZ19uZXcwCgkgIC4uLnNpbmNlIHRoZSBiYXNlIGNsYXNzIGRvZXNuJ3QgdXNlIGdfc2xpY2UgYW55bW9yZQoKMjAxNi0wMS0wOCAxMTowNDoxMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCBjaGVjayB0aGF0IGF2YWlsYWJpbGl0eVN0YXJ0VGltZSBpcyBwcmVzZW50IGZvciBsaXZlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzYwMgoKMjAxNS0xMS0wNCAxODoxNToyNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgYWRhcHRpdmVkZW11eDogaW1wcm92ZWQgZXJyb3IgbWVzc2FnZSBpZiBhdmFpbGFiaWxpdHlTdGFydFRpbWUgaXMgbWlzc2luZyBmb3IgYSBsaXZlIHN0cmVhbQoJICBGb3IgYSBsaXZlIG1wZCwgaWYgYXZhaWxhYmlsaXR5U3RhcnRUaW1lIGlzIG1pc3NpbmcsIGFkYXB0aXZlIGRlbXV4IGFzc2VydHMKCSAgd2l0aDogVW5leHBlY3RlZCBjcml0aWNhbC93YXJuaW5nOiBnc3RfZGF0ZV90aW1lX3RvX2dfZGF0ZV90aW1lOiBhc3NlcnRpb24KCSAgJ2RhdGV0aW1lICE9IE5VTEwnIGZhaWxlZC4KCSAgVGhpcyBwYXRjaCBpbXByb3ZlcyB0aGUgZXJyb3IgbWVzc2FnZSB0bzoKCSAgVW5leHBlY3RlZCBjcml0aWNhbC93YXJuaW5nOiBnc3RfbXBkX2NsaWVudF9zZWVrX3RvX3RpbWU6IGFzc2VydGlvbgoJICAnY2xpZW50LT5tcGRfbm9kZS0+YXZhaWxhYmlsaXR5U3RhcnRUaW1lICE9IE5VTEwnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NjAyCgoyMDE2LTAxLTE0IDE4OjI3OjUwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Rlc3RfaHR0cF9zcmMuYzoKCSAgdGVzdHM6IGFkYXB0aXZlLXN0cmVtYWluZzogZml4IG1lbW9yeSBsZWFrIGluIHRlc3RfaHR0cF9zcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc2MDYwMAoKMjAxNi0wMS0xNSAxMDo0OToxMiAtMDUwMCAgTWF0dCBDcmFuZSA8bWF0dGNyYW5lQHR5Y29pbnQuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGZpeCBwb3NzaWJsZSBkZWFkbG9jayBpbiBfcmVuZGVyKCkvIF9hbGxvY2F0b3JfZnJlZSgpCgkgIERyb3Agb2JqZWN0IGxvY2sgYmVmb3JlIHVucmVmaW5nIG1lbW9yeSwgb3RoZXJ3aXNlIHRoZSBvYmplY3QKCSAgbG9jayBtaWdodCBiZSB0YWtlbiBhZ2FpbiBmcm9tIHRoZSBhbGxvY2F0b3IgYW5kIHRoZW4gdGhpbmdzCgkgIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNTUxCgoyMDE2LTAxLTE2IDE3OjE0OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBGaXJzdCBtYWtlIGNhcHMgd3JpdGFibGUgaW4gZml4YXRlX2NhcHMoKSwgdGhlbiB0cnVuY2F0ZSB0aGVtCgkgIFRydW5jYXRpbmcgcmVxdWlyZXMgd3JpdGFibGUgY2Fwcy4KCjIwMTYtMDEtMTYgMTc6MTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IENhcHMgcGFzc2VkIHRvIGZpeGF0ZV9jYXBzKCkgYXJlIG5vdCBvd25lZCBieSB1cyBhbmQgZ3VhcmFudGVlZCB0byBiZSBmaXhlZAoJICBTbyBkb24ndCB0cnkgdG8gZml4YXRlIHRoZW0sIHdoaWNoIHRha2VzIG93bmVyc2hpcCBhbmQgc3RlYWxzIHRoZW0gZnJvbQoJICBiYXNldHJhbnNmb3JtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjk2CgoyMDE2LTAxLTE2IDE2OjU1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBSZXZlcnQgImdscG9vbDogZml4IGNhcHMgcmVmY291bnQgaXNzdWUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgM2JkY2RlZGZhMDBiODdmMWRiNTA1MjE4Nzg5MTc4MzE4YTE2Yzc0My4KCSAgZ3N0X2NhcHNfcmVwbGFjZSgpIHRha2VzIGEgbmV3IHJlZmVyZW5jZSBhbHJlYWR5LCBpZiB0aGVyZSBpcyBhIHByb2JsZW0gdGhlbgoJICBpdCBpcyBlbHNld2hlcmUuIEFuZCB0aGVyZSBhcmUgYSBmZXcgcHJvYmxlbXMsIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwNjk2CgoyMDE2LTAxLTE1IDE2OjEwOjAyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwaDI2NWRlcGF5OiBmaXggdW5uZWVkZWQgc3ViLWJ1ZmZlciBjcmVhdGlvbgoJICBXZSBjcmVhdGUgYSBzdWItYnVmZmVyIGp1c3QgdG8gY29weSBvdmVyIGl0cyBtZXRhcyBhbmQgdGhlbiB0aHJvdyBpdAoJICBhd2F5IGltbWVkaWF0ZWx5LCBqdXN0IHVzZSB0aGUgb3JpZ2luYWwgaW5wdXQgYnVmZmVyIGRpcmVjdGx5LgoKMjAxNi0wMS0xNSAxNTo1Njo1OSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBhZGQgInNlbmQgVlBTL1NQUy9QUFMgd2l0aCBldmVyeSBrZXkgZnJhbWUiIG1vZGUKCSAgSXQncyBub3QgZW5vdWdoIHRvIGhhdmUgdGltZW91dCBvciBldmVudCBiYXNlZCBWUFMvU1BTL1BQUyBpbmZvcm1hdGlvbgoJICBzZW50IGluIFJUUCBwYWNrZXRzLiBUaGVyZSBhcmUgc29tZSBzY2VuYXJpb3Mgd2hlbiBrZXkgZnJhbWVzIG1heSBhcHBlYXIKCSAgbW9yZSBmcmVxdWVudGx5IHRoYW4gb25jZSBhIHNlY29uZCwgaW4gd2hpY2ggY2FzZSB0aGUgbWluaW11bSB0aW1lb3V0CgkgIGZvciAiY29uZmlnLWludGVydmFsIiBvZiAxIHNlY29uZCBmb3Igc2VuZGluZyBWUFMvU1BTL1BQUyBpc24ndCBlbm91Z2guCgkgIEl0IG1pZ2h0IGFsc28gYmUgZGVzaXJhYmxlIGluIGdlbmVyYWwgdG8gbWFrZSBzdXJlIHRoZSBWUFMvU1BTL1BQUyBpcwoJICBhdmFpbGFibGUgd2l0aCBldmVyeSBrZXlmcmFtZSAocGFja2V0IGxvc3MgYXNpZGUpLCBzbyByZWNlaXZlcnMgY2FuCgkgIGFjdHVhbGx5IHBpY2sgdXAgZGVjb2RpbmcgaW1tZWRpYXRlbHkgZnJvbSB0aGUgZmlyc3Qga2V5ZnJhbWUgaWYKCSAgVlBTL1NQUy9QUFMgaXMgbm90IHNpZ25hbGVkIG91dCBvZiBiYW5kLgoJICBUaGlzIGNvbW1pdCBhZGRzIHRoZSBwb3NzaWJpbGl0eSB0byBzZW5kIFZQUy9TUFMvUFBTIHdpdGggZXZlcnkga2V5IGZyYW1lLgoJICBUaGlzIG1vZGUgY2FuIGJlIGVuYWJsZWQgYnkgc2V0dGluZyAiY29uZmlnLWludGVydmFsIiBwcm9wZXJ0eSB0byAtMS4gSW4KCSAgdGhpcyBjYXNlIHRoZSBwYXlsb2FkZXIgd2lsbCBhZGQgVlBTLCBTUFMgYW5kIFBQUyBiZWZvcmUgZXZlcnkga2V5IChJRFIpCgkgIGZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODkyCgoyMDE2LTAxLTE1IDE1OjE5OjQxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHBoMjY1cGF5OiBjaGFuZ2UgY29uZmlnLWludGVydmFsIHByb3BlcnR5IHR5cGUgZnJvbSB1aW50IHRvIGludAoJICBUaGlzIHdheSB3ZSBjYW4gdXNlIC0xIGFzIHNwZWNpYWwgdmFsdWUsIHdoaWNoIGlzIG5pY2VyIHRoYW4gTUFYVUlOVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg5MgoKMjAxNi0wMS0xMyAwOTo1MToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSAgYWRhcHRpdmVkZW11eDogcmVwbGFjZSBnaG9zdHBhZCB3aXRoIGEgc3RhbmRhcmQgcGFkCgkgIEhhbmRsaW5nIHRoZSBnaG9zdHBhZCBhbmQgaXRzIGludGVybmFsIHBhZCB3YXMgY2F1c2luZyBtb3JlIGlzc3VlcwoJICB0aGFuIGhlbHBpbmcgYmVjYXVzZSBvZiB0aGVpciBjb3VwbGVkIGFjdGl2YXRpb24vZGVhY3RpdmF0aW9uCgkgIGFjdGlvbnMuCgkgIEFzIHdlIGhhdmUgdG8gaW5zdGFsbCBjdXN0b20gY2hhaW4sZXZlbnQgYW5kIHF1ZXJ5IGZ1bmN0aW9ucyBpdCBpcwoJICBiZXR0ZXIgdG8gdXNlIGEgZmxvYXRpbmcgc2luayBwYWQgaW50ZXJuYWxseSBpbiB0aGUgZGVtdXhlciBhbmQganVzdAoJICB1c2UgdGhvc2UgcGFkIGZ1bmN0aW9ucyB0byBwdXNoIHRocm91Z2ggYSBzdGFuZGFyZCBwYWQgaW4gdGhlIGRlbXV4ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk1MQoKMjAxNS0xMS0xMSAxNzoyNDozMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCBmbHVzaCB0aGUgaW5wdXQgcGFkCgkgIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fY2xlYXJfZW9zX2FuZF9mbHVzaF9zdGF0ZSgpIGZ1bmN0aW9uIHdpbGwgZG8KCSAgYWxsIHRoZSBuZWNlc3NhcnkgY2xlYW5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NTEKCjIwMTYtMDEtMTUgMTE6NDQ6NTIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJICB2aWRlb3NlZ21lbnRjbGlwOiBmYWlsIHRvIHNldF9jYXBzIGlmIHByb2JsZW0gaW4gY2FwcyBzdHJ1Y3R1cmUKCSAgZ3N0X3ZpZGVvX3NlZ21lbnRfY2xpcF9zZXRfY2FwcyAoKSBzaG91bGQgcmV0dXJuIEZBTFNFIGlmIHRoZXJlIHdhcyBhCgkgIHByb2JsZW0gcmVhZGluZyB0aGUgZnJhbWVyYXRlIHZhbHVlcyBmcm9tIHRoZSBjYXBzIHN0cnVjdHVyZS4KCjIwMTYtMDEtMTUgMTc6MDA6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHF1ZXJ5LmM6CgkgIGdscXVlcnk6IHByb3ZpZGUgY29tcGF0IGRlZmluaXRpb24gZm9yIEdMX1FVRVJZX1JFU1VMVAoJICBlLmcuIGFuZHJvaWQgZG9lc24ndCBoYXZlIGl0CgkgIFdoaWxlIHdlJ3JlIGhlcmUgbW92ZSBhIHN0YXRlIHNwZWNpZmljIGFzc2VydGlvbiBhZnRlciB0aGUgc3VwcG9ydGVkIGNoZWNrLgoJICBSZW1vdmVzIGFuIGFzc2VydGlvbiBvbiBHTEVTCgoyMDE2LTAxLTE1IDE2OjA3OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfY29tcGF0Lmg6CgkgIGdsOiBhZGQgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIG9mIEdMaW50NjQKCSAgZS5nLiBhbnJkb2lkIGRvZXNuJ3QgaGF2ZSBpdAoKMjAxNi0wMS0wOCAyMjoxOTowNiArMDMwMCAgU2VyZ2V5IEJvcm92a292IDxzZXJnZS5ib3JvdmtvdkBnbWFpbC5jb20+CgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWw6IE1hcmsgbWF0ZXJpYWwgZGlydHkgd2hlbiB0ZXh0dXJlIGJ1ZmZlciBpcyB1cGRhdGVkCgkgIFF0IG1pZ2h0IG5vdCByZWRyYXcgdGhlIHNjZW5lIG90aGVyd2lzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI4NgoKMjAxNi0wMS0xNSAxNDowMDo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbHBvb2w6IGZpeCBjYXBzIHJlZmNvdW50IGlzc3VlCgkgIFRoZSBjYXBzIGFyZSBmcm9tIGFuIGFsbG9jYXRpb24gcXVlcnkgd2hpY2ggYXJlIHRyYW5zZmVyIG5vbmUgYnV0IHdlcmUgYmVpbmcKCSAgdHJlYXRlZCBhcyB0cmFuc2ZlciBmdWxsLgoKMjAxNi0wMS0xMSAxMzozMDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogbG9nIHRoZSB0aW1lIGZvciBnbFRleFN1YkltYWdlL2dsUmVhZFBpeGVscwoKMjAxNi0wMS0wOCAxODozNjo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvcXVlcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xxdWVyeS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdscXVlcnkuYzoKCSAgZ2w6IGFkZCBhIGdzdGdscXVlcnkgb2JqZWN0IGZvciBhcmJpdHJhcnkgR0wgcXVlcmllcwoJICBDdXJyZW50bHkgb25seSBHTF9USU1FX0VMQVBTRUQgYW5kIEdMX1RJTUVTVEFNUCBhcmUgc3VwcG9ydGVkCgoyMDE2LTAxLTExIDE3OjIyOjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5oOgoJICBnbGRlYnVnOiBpbXBsZW1lbnQgYSBkZWxheWVkIGRlYnVnIHN5c3RlbQoJICBUaGUgbWVzc2FnZXMgYXJlIHN0b3JlZCBieSBnc3RfZ2xfYXN5bmNfZGVidWdfc3RvcmVfbG9nX21zZygpIGFuZCBvdXRwdXQgbGF0ZXIKCSAgYnkgYSBjb3JyZXNwb25kaW5nIHN0b3JlKCksIG91dHB1dCgpIG9yIGFuIHVuc2V0KCkvZnJlZSgpLgoJICBTb21lIHdyYXBwZXIgbWFjcm9zIGFyZSBwcm92aWRlZCB0byBhdm9pZCBjYWxsZXJzIGV4cGxpY2l0bHkgdXNpbmcgX19GSUxFX18sCgkgIEdTVF9GVU5DVElPTiBhbmQgX19MSU5FX18KCjIwMTYtMDEtMTEgMTc6MjY6MDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRlYnVnLmM6CgkgIGdsZGVidWc6IHVzZSBnc3RfaW5mb192YXNwcmludGYgaW4gaW5zZXJ0X2RlYnVnX21hcmtlcigpCgkgIEFsbG93cyBleHBhbnNpb24gb2YgR1NUX1BUUl9GT1JNQVQgYW5kIEdTVF9TRUdNRU5UX0ZPUk1BVCBhcmd1bWVudHMuCgoyMDE2LTAxLTE1IDExOjIyOjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHZpZGVvZmxpcC5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb2ZsaXAuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIGEgdmlkZW9mbGlwIGVsZW1lbnQKCSAgQmVoYXZlcyBleGFjdGx5IHRoZSBzYW1lIGFzIHRoZSBub24tR0wgdmlkZW9mbGlwIGVsZW1lbnQKCjIwMTYtMDEtMTUgMDA6MDQ6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmVjcmVhdGUgdGhlIGZibyBvbiBjYXBzIGNoYW5nZXMKCSAgVGhlIHdpZHRoL2hlaWdodCBtYXkgY2hhbmdlIHdoaWNoIHJlcXVpcmVzIHJlY3JlYXRpbmcgdGhlIGRlcHRoIGJ1ZmZlci4KCjIwMTYtMDEtMTUgMDA6MDI6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5oOgoJICBnbGJhc2VmaWx0ZXI6IGFkZCBhIGNsYXNzIGZ1bmN0aW9uIG9uIHNldF9jYXBzIChmcm9tIEdMKQoJICBUaGlzIGlzIHNpbXBseSBhIGNvbnZlbmllbmNlIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSB0aHJlYWQgbWFyc2hhbGxpbmcgb24KCSAgc2V0X2NhcHMuCgoyMDE2LTAxLTE1IDAwOjAwOjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBhbHdheXMgYnVpbGQgYSB2YWxpZCBtdnAgbWF0cml4CgkgIFRoZSBkZWZhdWx0IGNhc2UgaXMgdG8gYnVpbGQgYW4gaWRlbnRpdHkgbWF0cml4LgoKMjAxNi0wMS0xNCAxOTowMzowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogc3VwcG9ydCBuZWdhdGl2ZSBzY2FsZXMKCSAgQSBzY2FsZSBvZiAtMS4wIG1lYW5zIHRvIGZsaXAgdGhlIHZpZGVvLgoKMjAxNi0wMS0xNCAxODo0MjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogaW1wbGVtZW50IHBhc3N0aHJvdWdoIGhhbmRsaW5nCgoyMDE2LTAxLTE0IDE3OjQ1OjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBpbXBsZW1lbnQgbmF2aWdhdGlvbiBldmVudHMKCSAgUmV2ZXJzZXMgdGhlIHRyYW5zZm9ybWF0aW9uIGFwcGxpZWQgdGhyb3VnaCB0aGUgcHJvcGVydGllcyBhbmQgZm9yd2FyZHMgdGhlCgkgIGV2ZW50LgoJICBUaGUgcHJvY2VzcyBmb3IgZmluZGluZyB0aGUgY29vcmRpbmF0ZXMgb24gdGhlIHZpZGVvIGFyZSBhcyBmb2xsb3dzOgoJICAxLiBDb252ZXJ0IHRoZSBnaXZlbiBwb2ludGVyX3ggYW5kIHBvaW50ZXJfeSB0byBtb2RlbCBzcGFjZSBhdCB0aGUgbmVhciBhbmQgZmFyIHBsYW5lcwoJICAyLiBHZXQgdGhlIGVxdWF0aW9uIG9mIHRoZSB2aWRlbyBwbGFuZQoJICAzLiBGaW5kIHdoZXJlIHRoZSByYXkgaW4gMSBpbnRlcnNlY3RzIHRoZSBwbGFuZQoJICA0LiBQcm9maXQhCgoyMDE2LTAxLTE0IDE2OjU5OjEyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHJlbW92ZSByZWR1bnRhbnQgZ2xpbWFnZXNpbmsgZnJvbSBkZWJ1ZyBsb2dnaW5nCgoyMDE2LTAxLTE0IDE2OjU3OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTEvbmF2aWdhdGlvbjogYWRkIGJ1dHRvbiBwcmVzcyB0byB0aGUgc2VsZWN0ZWQgZXZlbnQgbWFzawoJICBPdGhlcndpc2Ugd2Ugd29uJ3QgZ2V0IHRoZSBidXR0b24gcHJlc3MgZXZlbnRzIGFuZCBHc3ROYXZpZ2F0aW9uIGZhaWxzLgoKMjAxNi0wMS0xNCAxNjowMDowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHRyeSBoYXJkZXIgdG8gcGFzc3Rocm91Z2gKCSAgVGhpcyBtYWtlcyBhIHBpcGVsaW5lIGxpa2U6CgkgIC4uLiAhIHZpZGVvL3gtcmF3KG1lbW9yeTpHTE1lbW9yeSksZm9ybWF0PVVZVlkgISBnbGNvbG9yY29udmVydCAhCgkgIHZpZGVvL3gtcmF3KG1lbW9yeTpHTE1lbW9yeSksZm9ybWF0PXtVWVZZLCBOVjEyfSAhIC4uLgoJICBwYXNzdGhyb3VnaCBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgVVlWWSA9PiBOVjEyLiBUaGUgY29udmVyc2lvbiB3b3VsZCBoYXBwZW4KCSAgYmVmb3JlIHRoaXMgY2hhbmdlIHNpbmNlIHRoZSBlbGVtZW50IChhbmQgYmFzZXRyYW5zZm9ybSkgdHJhbnNmb3JtIHRoZSBzcmMgY2FwcwoJICB0byBmb3JtYXQ9e05WMTIsIFVZVll9IChzaW5jZSBOVjEyIGNvbWVzIGZpcnN0IGluIHRoZSBnbGNvbG9yY29udmVydDpzcmMKCSAgdGVtcGxhdGUpIGFuZCB0aGVuIHRoZSBkZWZhdWx0IGNhcHMgZml4YXRlIGZ1bmMgd291bGQgZml4YXRlIHRvIE5WMTIuIEJsYWguCgkgIEFsc28gdGhlcmUncyBubyBuZWVkIHRvIGludGVyc2VjdCBhZ2FpbnN0IHRoZSB0ZW1wbGF0ZSBjYXBzIGluIDo6dHJhbnNmb3JtX2NhcHMKCSAgc2luY2UgYmFzZXRyYW5zZm9ybSBkb2VzIHRoYXQgcmlnaHQgYWZ0ZXIgY2FsbGluZyB0aGUgdmZ1bmMuCgoyMDE2LTAxLTEyIDE4OjMxOjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGNvbG9yYmFsYW5jZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmJhbGFuY2UuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogaW1wbGVtZW50IGEgY29sb3JiYWxhbmNlIGVsZW1lbnQKCSAgSXQgcGVyZm9ybXMgdGhlIGV4YWN0IHNhbWUgb3BlcmF0aW9uIGFzIHZpZGVvYmFsYW5jZSBidXQgd2l0aCBvcGVuZ2wgc2hhZGVycyBhbmQKCSAgd2FzIHRlc3RlZCB3aXRoIGdsdmlkZW9taXhlciBieSBjb21wYXJpbmcgZnJhbWVzIGZyb20gdmlkZW9iYWxhbmNlIGFuZAoJICBnbGNvbG9yYmFsYW5jZS4KCjIwMTYtMDEtMTIgMTg6MjE6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCBnbEJsZW5kRnVuYyBhbmQgZ2xCbGVuZEVxdWF0aW9uCgkgIEFsbG93cyBtb3JlIGJsZW5kaW5nIG9wdGlvbnMgdGhhbiBqdXN0IEEgb3ZlciBCCgkgIGUuZy4gZnJhbWUgY29tcGFyaXNvbnMgYXJlIG5vdyBwb3NzaWJsZS4KCSAgZ2x2aWRlb21peGVyIG5hbWU9bQoJICBzaW5rXzA6OnpvcmRlcj0wCgkgIHNpbmtfMTo6em9yZGVyPTEKCSAgc2lua18xOjpibGVuZC1lcXVhdGlvbi1yZ2I9e3N1YnRyYWN0LHJldmVyc2Utc3VidHJhY3R9CgkgIHNpbmtfMTo6YmxlbmQtZnVuY3Rpb24tc3JjLXJnYj1zcmMtY29sb3IKCSAgc2lua18xOjpibGVuZC1mdW5jdGlvbi1kc3QtcmdiPWRzdC1jb2xvcgoJICAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj1jaGVja2Vycy00ICEgbS5zaW5rXzAKCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49Y2hlY2tlcnMtOCAhIG0uc2lua18xCgoyMDE2LTAxLTA4IDE4OjM4OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkZWJ1Zy5jOgoJICBnbGRlYnVnOiBhZGQgYSBzcGVjaWZpYyBjYXRlZ29yeSBmb3IgdGhlIGRlYnVnIHNwYW0gZnJvbSB0aGUgZHJpdmVyCgoyMDE2LTAxLTEyIDE0OjU0OjIzICswMDAwICBUaW0gU2hlcmlkYW4gPHRpbS5zaGVyaWRhbkBpbWd0ZWMuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBzYmNkZWM6IEZpeCBmcmFtZSBsZW5ndGggY2FsY3VsYXRpb24KCSAgU0JDIGZyYW1lIGxlbmd0aCBjYWxjdWxhdGlvbiB3YXNuJ3QgYmVpbmcgcm91bmRlZCB1cCB0byB0aGUgbmVhcmVzdCBieXRlCgkgIChhcyBzcGVjaWZpZWQgaW4gdGhlIEEyRFAgMS4wIHNwZWNpZmljYXRpb24sIHNlY3Rpb24gMTIuOSkuIFRoaXMgY291bGQKCSAgY2F1c2UgJ3N0ZXJlbycgYW5kICdqb2ludCBzdGVyZW8nIG1vZGUgU0JDIHN0cmVhbXMgdG8gaGF2ZSBpbmNvcnJlY3RseQoJICBjYWxjdWxhdGVkIGZyYW1lIGxlbmd0aHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI0NDYKCjIwMTYtMDEtMTIgMjM6MzQ6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IHVwZGF0ZSBmb3IgcmVjZW50IEdMIGFwaSBjaGFuZ2VzCgkgIFNwZWNpZmljYWxseSB0aGUgR3N0R0xNZW1vcnlQQk8gYWRkaXRpb24gKHdoaWNoIHdhcyB0aGUgdW5hZG9ybmVkIEdzdEdMTWVtb3J5KS4KCjIwMTYtMDEtMTIgMTQ6MzY6MDIgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IG9wdGlvbmFsbHkgZ2V0IHRoZSBHTCBjb250ZXh0IGZyb20gZ3N0X2VsZW1lbnRfc2V0X2NvbnRleHQKCSAgQWxsb3cgc2V0dGluZyB0aGUgR0wgY29udGV4dCB3aXRoIGdzdF9lbGVtZW50X3NldF9jb250ZXh0LiBXaGVuIGF2YWlsYWJsZSwgdGhlCgkgIGxvY2FsIGNvbnRleHQgb2J0YWluZWQgdmlhIHRoZSBjb250ZXh0IHF1ZXJ5IHN0aWxsIGhhcyB0aGUgcHJlY2VkZW5jZS4KCjIwMTYtMDEtMTIgMTQ6MDI6NDYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5LmM6CgkgIGFwcGxlbWVkaWE6IGlvc3VyZmFjZW1lbW9yeTogcmVtb3ZlIE5PX1NIQVJFIGZsYWcKCSAgVGhlIGZ1bGwgbWVtb3J5IGNhbiBiZSBzYWZlbHkgc2hhcmVkLiBTaGFyaW5nIGEgc3ViIHJlZ2lvbiBjYW4ndCBiZSBkb25lIGFuZAoJICB3aWxsIGZhaWwgaW4gdGhlIGJhc2UgYWxsb2NhdG9yLCB0cmlnZ2VyaW5nIGEgY29weS4KCjIwMTYtMDEtMTEgMTM6MzM6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTBybWl4ZXI6IHJlcGxhY2UgYWNjZXB0LWNhcHMgd2l0aCBjYXBzIHF1ZXJ5CgkgIEl0IHdhbnRzIHRvIGNoZWNrIGlmIHVwc3RyZWFtIGNhbiBwcm9kdWNlIGEgY2VydGFpbiBmb3JtYXQsCgkgIGFjY2VwdC1jYXBzIG1pZ2h0IG9ubHkgY2hlY2sgaWYgdGhlIG5leHQgZWxlbWVudCBjYW4gcHJvZHVjZSBpdC4KCjIwMTYtMDEtMDcgMjA6NTY6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsYmFzZW1lbW9yeTogRnJlZSB0aGUgYWN0dWFsIG1lbW9yeSBvYmplY3Qgd2hlbiByZXF1ZXN0ZWQKCSAgT3RoZXJ3aXNlIHdlIGFyZSBsZWFraW5nIH40MDBCIG9uIGVhY2ggR3N0TWVtb3J5IGFsbG9jYXRpb24uCgkgIEZyZWVpbmcgaW4gdGhlIGJhc2UgY2xhc3MgbWF0Y2hlcyB0aGUgR09iamVjdCBzZW1hbnRpY3MuCgoyMDE2LTAxLTA3IDIwOjU0OjQxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IGRvbid0IGRvdWJsZSByZWFkIHBpeGVscwoJICBUaGUgb3B0aW1pc3RpYyBkb3dubG9hZF90cmFuc2ZlciB3YXMgbm90IHNldHRpbmcgdGhlIHJlcXVpcmVkIGZsYWcgdG8gbm90CgkgIHBlcmZvcm0gZ2xSZWFkUGl4ZWxzIG9uIHN1YnNlcXVlbnQgbWFwIChSRUFEKS4gcmVzdWx0aW5nIGluIGdsUmVhZFBpeGVscwoJICBoYXBwZW5pbmcgdHdpY2UuCgoyMDE2LTAxLTA3IDE4OjQ3OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJICBnbG1lbW9yeTogZXhwb3NlIGdzdF9nbF9tZW1vcnlfdGV4c3ViaW1hZ2UKCSAgUmVtb3ZlcyBleHRyZW1lbHkgc2ltaWxhciBjb2RlIGZyb20gZ2xtZW1vcnlwYm8uCgoyMDE2LTAxLTA3IDE4OjA1OjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkgIGdsZmVhdHVyZSBhZGQgYSBzcGVjaWZpYyBkZWJ1ZyBjYXRlZ29yeQoJICBTYXZlcyBoYXZpbmcgdG8gdHJhd2wgdGhyb3VnaCB0aGUgJ2RlZmF1bHQnIGNhdGVnb3J5IHdoZW4gZnVuY3Rpb24gcmV0cmlldmFsCgkgIGdvZXMgd3JvbmcuCgoyMDE2LTAxLTA1IDE0OjM1OjExIC0wNTAwICBCb2IgSG9sY29tYiA8YmhvbGNvbWJAbWFrLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggcmVzZXJ2ZSBiaXRzIHNvIHRoZXkgYXJlIDEncwoJICBUaGUgTVBFRyBzdGFuZGFyZCAoSVNPLTEzODgwLTEpIHNheXMgdGhlIHJlc2VydmUgYml0cyBuZWVkIHRvIGJlIHNldAoJICB0byBvbmUgKDIuMS42NCkuIFRoaXMgaXMgY2F1c2luZyB0cmFuc3BvcnQgc3RyZWFtcyB0byBmYWlsIHZhbGlkYXRpb24KCSAgb24gc29tZSBzeXN0ZW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzYwMTI3CgoyMDE2LTAxLTA4IDE3OjExOjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IHJlbW92ZSBjaGVjayBmb3IgT3BlbkNWIHZlcnNpb24KCSAgQWZ0ZXIgY29tbWl0IDY0MDgwZTYzMiwgY29uZmlndXJlIGNoZWNrcyBmb3IgYWxsIHRoZSBoZWFkZXIgZmlsZXMgdGhhdAoJICBzaG91bGQgYmUgYXZhaWxhYmxlIGluIE9wZW5DViAyLjMgYW5kIGxhdGVyLiBJZiBhbnkgb2YgdGhlc2UgZmlsZXMgaXNuJ3QKCSAgdGhlcmUgdGhlIE9wZW5DViBlbGVtZW50cyB3b24ndCBiZSBwYXJ0IG9mIHRoZSBidWlsZC4KCSAgTm8gbmVlZCB0byByZWNoZWNrIGZvciBvcGVuY3YyL2xlZ2FjeS9sZWdhY3kuaHBwIGFnYWluIGluCgkgIGdzdHB5cmFtaWRzZWdtZW50LmguIE1pbmltdW0gc3VwcG9ydGVkIE9wZW5DViB2ZXJzaW9uIG11c3QgaGF2ZSB0aGlzIGhlYWRlcgoJICBhbmQgY29uZmlndXJlIGFscmVhZHkgY2hlY2tzIGZvciBpdC4gUmVtb3ZpbmcgY2hlY2suCgoyMDE2LTAxLTA4IDE1OjAxOjQ3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkgIG9wZW5jdjogYWx3YXlzIGRvIGN2c21vb3RoIGluIHBsYWNlCgkgIEFmdGVyIHRoZSB1cGRhdGUgdG8gbmV3IE9wZW5DViBBUEkgdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiB1c2luZyBhbiBvdXQKCSAgYnVmZmVyIGlzIG5vdCBuZWNlc3NhcnkuIFdlIGNhbiBhbHdheXMgZG8gdGhlIHRyYW5zZm9ybWF0aW9uIGluIHBsYWNlLgoKMjAxNi0wMS0wOCAxMjozOToyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIG9wZW5jdjogZG8gcHlyYW1pZHNlZ21lbnQncyB0cmFuc2Zvcm1hdGlvbiBpbiBwbGFjZQoJICBSdW4gdGhlIHRyYW5zZm9ybSBmdW5jdGlvbiBvZiBweXJhbWlkc2VnbWVudCBpbiBwbGFjZSwgcmV1c2luZyB0aGUgaW1hZ2UKCSAgZGF0YSBhcyBib3RoIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gaW4gY3ZQeXJTZWdtZW50YXRpb24uIFRoaXMgYXZvaWRzCgkgIGNvcHlpbmcgdGhlIGltYWdlIGJhY2sgYW5kIGZvcnRoIGFuZCB0aGUgZXh0cmEgbWVtb3J5LgoKMjAxNi0wMS0wNyAxNToyMTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IGFkZCB0ZXN0IGZvciB1cGRhdGluZyBzZWdtZW50IHN0b3AKCSAgQWRkIGEgdGVzdCBmb3Igc2Vla2luZyB0aGF0IG9ubHkgdXBkYXRlcyBzdG9wIHBvc2l0aW9uIGFuZCB2ZXJpZmllcwoJICB0aGF0IHN0YXJ0IGlzIHVubW9kaWZpZWQKCjIwMTYtMDEtMDcgMTU6MjE6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZWtpbmcgdGhhdCBqdXN0IHVwZGF0ZXMgc3RvcCBwb3NpdGlvbgoJICBGaXhlZCBhZGFwdGl2ZWRlbXV4IHNlZWtpbmcgd2l0aG91dCBmbHVzaGluZyB0aGF0IGp1c3Qgd2FudHMKCSAgdG8gdXBkYXRlIHN0b3AgcG9zaXRpb24uIFRoaXMgcmVxdWlyZWQgcHJvdGVjdGluZyB0aGUgc2VnbWVudAoJICB2YXJpYWJsZXMgd2l0aCBhIG5ldyBtdXRleCBzbyB0aGF0IHRoZSBzZWVraW5nIHRocmVhZCBhbmQgdGhlCgkgIGRvd25sb2FkIHRocmVhZHMgY291bGQgc2FmZWx5IG1hbmlwdWxhdGUgdGhlIHNlZ21lbnQgYW5kCgkgIGV2ZW50cyByZWxhdGVkIHRvIGl0LgoJICBUaGlzIGNvbnRlbnRpb24gaXMgb25seSBsb2NrZWQvdW5sb2NrZWQgd2hlbiBzdGFydGluZyBhIG5ldwoJICBkb3dubG9hZCwgd2hlbiB0aGUgZmlyc3QgZnJhZ21lbnQgb2YgYSBzZWdtZW50IGlzIHJlY2VpdmVkIGFuZAoJICB3aGVuIHNlZWtpbmcgc28sIGhvcGVmdWxseSwgaXQgd29uJ3QgZGFtYWdlIHBlcmZvcm1hbmNlLgoKMjAxNi0wMS0wNiAxNjo1MTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2VnbWVudCB1cGRhdGUgb24gc2Vla3MKCSAgRml4ZXMgdHlwbyBvbiByZXZlcnNlIHJhdGUgY2hlY2sgYW5kIGFsc28gb25seSB1cGRhdGUgdGhlCgkgIHBvc2l0aW9uIHdoZW4gdGhlIHN0YXJ0L3N0b3Agd2FzIGFjdHVhbGx5IGNoYW5nZWQuCgoyMDE2LTAxLTA3IDE4OjEwOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGZ0eXBlczogRG9uJ3Qgc3RvcmUgcG9pbnRlcnMgaW4gc3RhY2sgYWxsb2NhdGVkIGd1aW50cwoJICBUaGlzIHdvcmtzIHVzdWFsbHkgaW4gdGhpcyBwbGFjZSwgdW5sZXNzIHRoZSBjb21waWxlciBvcHRpbWl6ZXMgdGhpbmdzIGluCgkgIGludGVyZXN0aW5nIHdheXMgaW4gd2hpY2ggY2FzZSBpdCBjYXVzZXMgc3RhY2sgY29ycnVwdGlvbiBhbmQgY3Jhc2hlcyBsYXRlci4KCSAgVGhlIGNvbXBpbGVyIGluIHF1ZXN0aW9uIGhlcmUgaXMgY2xhbmcgd2l0aCAtTzEsIHdoaWNoIHNlZW1zIHRvIHBhY2sgdGhlIHN0YWNrCgkgIGEgYml0IG1vcmUgYW5kIGNhdXNlcyB3cml0aW5nIHRvIHRoZSBndWludCBhcyBwb2ludGVyIHRvIG92ZXJ3cml0ZSBtYXAubWVtb3J5LAoJICB3aGljaCB0aGVuIGxhdGVyIGNyYXNoZXMgZHVyaW5nIHVubWFwcGluZyBvZiB0aGUgbWVtb3J5LgoKMjAxNi0wMS0wNyAxODowMjozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmbWV0YWRhdGE6IEluaXRpYWxpemUgYm9vbGVhbiB0byBGQUxTRSB0byBmaXggdmFsZ3JpbmQgd2FybmluZwoJICBTZWVtcyB0byBiZSBhIGZhbHNlIHdhcm5pbmcgdGhvdWdoLgoKMjAxNi0wMS0wNyAxNDowODozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogb25seSBmbHVzaCB3aXRoIGEgc2hhcmVkIGNvbnRleHQKCSAgVGhlIHdhaXQgY29kZSB3aWxsIGZsdXNoIGZvciB1cyBmb3Igc2luZ2xlIGNvbnRleHQgcGlwZWxpbmVzLgoKMjAxNi0wMS0wNyAxNDowMjo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogaW1wbGVtZW50IGNoZWNraW5nIHdoZXRoZXIgYSBjb250ZXh0IGhhcyBiZWVuIHNoYXJlZAoJICBTb21lIG9wZXJhdGlvbnMgYXJlIHVubmVjZXNzYXJ5IHdoZW4gcnVubmluZyB3aXRoIG9ubHkgYSBzaW5nbGUgR0wKCSAgY29udGV4dC4KCSAgZS5nLiBnbEZsdXNoIHdoZW4gc2V0dGluZyBhIGZlbmNlIG9iamVjdCBhcyB0aGUgZmx1c2ggaGFwcGVucyBvbiB3YWl0LgoJICBBUEk6IGdzdF9nbF9jb250ZXh0X2lzX3NoYXJlZAoKMjAxNi0wMS0wNiAxNDo1NDozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHB1dCBib29sZWFuIHZhbHVlcyBpbnRvIGdib29sZWFuIHZhcmlhYmxlcwoJICBBbmQgcmVtb3ZlIHN1cGVyZmx1b3VzIGFzc2lnbm1lbnRzLgoKMjAxNi0wMS0wNiAxNjo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkgIHBsYXllcjogT25seSBzZXQgdGhlIHBpcGVsaW5lIHRvIFBMQVlJTkcgaW4gcGxheSgpIGlmIGJ1ZmZlcmluZz49MTAwJQoJICBPdGhlcndpc2UgdGhlIGFwcGxpY2F0aW9uIGNhbiBicmVhayB0aGUgYnVmZmVyaW5nIGxvZ2ljIGJ5IHNldHRpbmcgdGhlCgkgIHBpcGVsaW5lIHRvIFBMQVlJTkcgYmVmb3JlIHdlIGJ1ZmZlcmVkIGVub3VnaC4KCjIwMTYtMDEtMDUgMTc6NDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogYWRkIHRlc3RzIGZvciBwb3N0LXNlZWsgc2VnbWVudCBib3VuZGFyaWVzIGNoZWNrCgkgIENoZWNrcyBpZiB0aGUgcG9zdCBzZWVrIHNlZ21lbnQgaXMgd2hhdCBpcyBleHBlY3RlZC4KCSAgQWxzbyBtYWtlcyBpdCBlYXN5IHRvIGFkZCBtb3JlIHRlc3RzIHdpdGggZGlmZmVyZW50IHNlZWtpbmcgZmxhZ3MgdXNpbmcgdGhlCgkgIHNhbWUgZnVuY3Rpb25zLgoKMjAxNi0wMS0wNSAxMDo0MToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzX2RlbXV4LmM6CgkgIHRlc3RzOiBobHNkZW11eDogYWRkIHRlc3RzIGZvciBzZWVrIHdpdGggcmV2ZXJzZSByYXRlIGFuZCBzbmFwIGZsYWdzCgkgIEFkZCB0ZXN0cyB0byBlbnN1cmUgc25hcCBmbGFncyB3b3JrIGFzIGV4cGVjdGVkIGZvciByZXZlcnNlCgkgIHJhdGVzCgoyMDE2LTAxLTA1IDEwOjM5OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHN0b3AgcmV2ZXJzZSBwbGF5YmFjayB3aGVuIHdlIHJlYWNoIHRoZSBsaW1pdAoJICBBdm9pZHMgZG93bmxvYWRpbmcgYW5kIHB1c2hpbmcgYSBmdWxsIHNlZ21lbnQganVzdCB0byBnZXQgMSBuYW5vc2Vjb25kCgkgIG9mIGRhdGEuIFRoaXMgaGFwcGVucyBmcmVxdWVudGx5IHdoZW4gc2Vla2luZyBpcyBkb25lIHdpdGggZmxhZ3MKCSAgdGhhdCBhZGp1c3QgdG8gYm91bmRhcmllcyBvciB3aGVuIHRoZSBzdGFydCBpcyBhbGlnbmVkIHdpdGggc2VnbWVudAoJICBzdGFydHMuIFRoZSBsYXRlciBpcyBjb21tb24gd2hlbiBzZWdtZW50IGR1cmF0aW9ucyBpcyBhIG11bHRpcGxlIG9mCgkgIGEgc2Vjb25kLgoKMjAxNi0wMS0wNSAwOToxNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgc2VlayB3aXRoIHNuYXAgZmxhZ3MKCSAgUHJvcGVybHkgaGFuZGxlIHNuYXAgZmxhZ3MgZHVyaW5nIHJldmVyc2Ugc2Vla2luZy4gSW4gdGhpcyBjYXNlCgkgIHRoZSBiZWZvcmUvYWZ0ZXIgYXJlIGFsc28gcmV2ZXJzZWQsIHNvIGhhbmRsZSB0aG9zZSBhcyBzdWNoLgoJICBGb3IgZXhhbXBsZTogd2l0aCBhIHNlcXVlbmNlIG9mIDFzIGZyYWdtZW50czoKCSAgfC0tIDAgLS18LS0gMSAtLXwtLSAyIC0tfC0tIDMgLS18CgkgIElmIHlvdSBzZWVrIHRvIDEuNXMgaXQgaXMgaW5zaWRlIGZyYWdtZW50IDEuIFdpdGggcmV2ZXJzZSBhbmQKCSAgc25hcC1iZWZvcmU6IHNob3VsZCBwbGF5IGZyb20gdGhlIGVuZCBvZiBmcmFnbWVudCAxCgkgIHNuYXAtYWZ0ZXI6IHNob3VsZCBwbGF5IGZyb20gdGhlIGVuZCBvZiBmcmFnbWVudCAwCgoyMDE2LTAxLTA1IDA5OjAxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGNvcnJlY3RseSB0cmFjayBzZWdtZW50LnBvc2l0aW9uIGluIHJldmVyc2UgcGxheWJhY2sKCSAgRm9yIHJldmVyc2UsIHNldCBwb3NpdGlvbiB0byBzZWdtZW50LnN0b3Agd2hlbiBzdGFydGluZyBhbmQgYWxzbwoJICBkb24ndCBzZXQgdGhlIHBvc2l0aW9uIHRvIGZyYWdtZW50IGVuZCB0aW1lc3RhbXAgd2hlbiBpdCBmaW5pc2hlcywKCSAganVzdCBsZWF2ZSBpdCBhdCB0aGUgZnJhZ21lbnQgc3RhcnQuCgoyMDE2LTAxLTA1IDA4OjU5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzaW1wbGlmeSBzbmFwIGZsYWdzIGNoZWNraW5nCgkgIFJlcGxhY2U6CgkgIGlmIChib29sZWFuKSB2YXIgPSB0cnVlOwoJICB3aXRoOgoJICB2YXIgPSAoYm9vbGVhbik7CgoyMDE1LTEyLTI4IDAyOjE4OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZXNwZWN0IGtleXVuaXQgZmxhZyBmb3IgcG9zaXRpb24KCSAgU2V0IHRoZSBzZWdtZW50IHN0YXJ0IHBvc2l0aW9uIHdoZW4ga2V5dW5pdCBmbGFnIGlzIGFjdGl2ZQoKMjAxNS0xMi0yNCAxODo0OTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICB0ZXN0czogaGxzX2RlbXV4OiBhZGQgdGVzdHMgZm9yIHNlZWtpbmcgc2VnbWVudAoJICBUZXN0cyB0aGF0IGNoZWNrIHRoYXQgdGhlIHNlZ21lbnQgc2VudCBhZnRlciBhIHNlZWsgaXMgY29ycmVjdC4KCSAgQWxsb3dzIHRlc3RpbmcgdGhhdCBtdWx0aXBsZSBzZWVraW5nIGZsYWdzIHdvcmsgYXMgZXhwZWN0ZWQKCjIwMTUtMTItMjQgMDk6Mjc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfZW5naW5lLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5oOgoJICB0ZXN0czogYWRhcHRpdmVfZGVtdXg6IGFkZCBmdW5jdGlvbiB0byBiZSBhYmxlIHRvIGNoZWNrIGRlbXV4ZXIgZXZlbnRzCgkgIEFsbG93cyB3cml0aW5nIHRlc3RzIHRoYXQgdmVyaWZ5IHRoYXQgZXZlbnRzIGFyZSBjb3JyZWN0LgoJICBVc2VmdWwgdG8gbW9uaXRvciBhbmQgY2hlY2sgc2VnbWVudHMgYWZ0ZXIgc2Vla3MsIGZvciBleGFtcGxlLgoKMjAxNS0xMi0yMyAxNToyNToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2NvbW1vbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc19kZW11eC5jOgoJICB0ZXN0czogYWRhcHRpdmU6IHVwZGF0ZSB0byBhbGxvdyBtb3JlIGZsZXhpYmxlIHNlZWtpbmcgdGVzdHMKCSAgQWxsb3dzIGRlZmluaW5nIGEgc2VlayBldmVudCB0byBiZSBhYmxlIHRvIGNoYW5nZSBzZWVraW5nIHBhcmFtZXRlcnMKCSAgYW5kIGNyZWF0ZSBtb3JlIHNlZWtpbmcgdGVzdCBzY2VuYXJpb3MKCjIwMTUtMTItMjMgMTU6MjM6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogaGxzZGVtdXg6IGZpeCBtYWtlZmlsZSB2YXJpYWJsZSB0eXBvCgoyMDE2LTAxLTA2IDE2OjUwOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBlbmFibGUgcmVuZWdvdGlhdGlvbgoJICBXZSBjYW4gYWN0dWFsbHkgcmVuZWdvdGlhdGUgbm93LCBzbyByZW1vdmUgb2xkIGNoZWNrIHdoaWNoIGRpc2FibGVkIGl0LgoKMjAxNi0wMS0wNiAxNjoyNTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXBsZW1lbnQgdXNhZ2Ugb2YgYSBidWZmZXIgcG9vbAoJICBTYXZlcyB1bm5lY2Vzc2FyeSBnbEdlblRleHR1cmVzIGFuZCBnbERlbGV0ZVRleHR1cmVzIHdoaWNoIG1heSBoYXZlIGEKCSAgbm9uLXRyaXZpYWwgY29zdC4KCjIwMTYtMDEtMDYgMTU6NTA6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSAgZ2xiYXNlbWVtb3J5OiBmaXggY29weWluZyBHc3RHTEFsbG9jYXRpb25QYXJhbXMKCSAgRml4ZXMgYSBHU1RfSVNfR0xfQ09OVEVYVCBjcml0aWNhbAoKMjAxNi0wMS0wNiAxNTo0NDo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTY3OQoKMjAxNi0wMS0wNiAxMzoyMDoxNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogc21hbGwgbmVnb3RpYXRpb24gZml4CgkgIEZpeCBuZWdvdGlhdGlvbiB3aGVuIEdMTWVtb3J5IGlzIHJlcXVlc3RlZCBidXQgYSBjb250ZXh0IGlzIG5vdCBhdmFpbGFibGUKCjIwMTYtMDEtMDYgMTE6NDA6MzggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogdnRlbmM6IGFjY2VwdCBVWVZZIG9uIE1hYwoJICBXaGVuIGRvaW5nIEdMTWVtb3J5IGF2ZnZpZGVvc3JjIG5lZ290aWF0ZXMgVVlWWS4gVGhpcyBjaGFuZ2UgYWxsb3dzIGF2ZnZpZGVvc3JjCgkgICEgdGVlIG5hbWU9dCAhIC4uLiAhIGdsaW1hZ2VzaW5rIHQuICEgLi4uICEgZ2xkb3dubG9hZCAhIHZ0ZW5jX2gyNjQgISAuLi4KCSAgdG8gZG8gR0xNZW1vcnkgYW5kIDAtY29weSB3aXRoIHRoZSBlbmNvZGVyICh3aXRoIHRoZSBDViBtZXRhKS4KCjIwMTYtMDEtMDYgMTE6Mjk6MTUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogYXZmdmlkZW9zcmM6IGNoYW5nZSB0ZXh0dXJlIGZvcm1hdCBmcm9tIEJHUkEgdG8gTlYxMiBvbiBpT1MKCSAgQ2hhbmdlIHRleHR1cmUgZm9ybWF0IGZyb20gQkdSQSB0byBOVjEyLiBUaGlzIGFsbG93cyBhIHBpcGVsaW5lIGxpa2UgYXZmdmlkZW9zcmMKCSAgISB0ZWUgbmFtZT10ICEgLi4uICEgZ2xpbWFnZXNpbmsgdC4gISAuLi4gISBnbGRvd25sb2FkICEgdnRlbmNfaDI2NCAhIC4uLiAgdG8KCSAgbmVnb3RpYXRlIEdMTWVtb3J5LiBUaGlzIG1ha2VzIHRoZSBnbGltYWdlc2luayBicmFuY2ggbXVjaCBmYXN0ZXIgKG9idmlvdXNseSkKCSAgYW5kIHRyaWdnZXJzIHRoZSAwLWNvcHkgcGF0aCBiZXR3ZWVuIGF2ZnZpZGVvc3JjIGFuZCB2dGVuYyAodXNpbmcgdGhlIENWIG1ldGEpLgoJICBDb21iaW5lZCB0aGlzIHJlc3VsdHMgaW4gYSBodWdlIHBlcmYgaW1wcm92ZW1lbnQgb24gaU9TICgyNS0zMCUgb2YgQ1BVIHRpbWUgaW4gYQoJICBwaXBlbGluZSBsaWtlIHRoZSBvbmUgYWJvdmUpLgoJICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IGludHJvZHVjZSBhIG5ldyBzaGFkZXIgY29udmVyc2lvbiBpbiB0aGUgc2luaywgc2luY2UgQkdSQQoJICB0ZXh0dXJlcyBoYWQgdG8gYmUgY29waWVkL2NvbnZlcnRlZCBmcm9tIGZvcm1hdD1CR1JBLHRleHR1cmUtdGFyZ2V0PVJFQ1RBTkdMRSB0bwoJICBmb3JtYXQ9UkdCQSx0ZXh0dXJlLXRhcmdldD0yRCBhbnl3YXkuCgoyMDE2LTAxLTA0IDIwOjI2OjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsdXBsb2FkOiBhbHdheXMgYWRkIHRleHR1cmUtdGFyZ2V0IGZpZWxkIHRvIEdMIGNhcHMKCSAgMS4gVmFyaW91cyBlbGVtZW50cy9iYXNlIGNsYXNzZXMgb25seSBwZXJmb3JtIGEgc3Vic2V0IGNoZWNrIG9uIGFjY2VwdC1jYXBzCgkgIDIuIFNvbWUgR0wgZWxlbWVudHMgaGF2ZSB0ZXh0dXJlLXRhcmdldCBpbiB0aGVpciBwYWQgdGVtcGxhdGUKCSAgMy4gV2hlbiBjaGVja2luZyBzdWJzZXRzLCBvbmx5IHRoZSBjYXBzIHRvIGNoZWNrIGFyZSBhbGxvd2VkIHRvIGNvbnRhaW4gZXh0cmEKCSAgZmllbGRzLiAgSWYgdGhlICd0ZW1wbGF0ZScgY2FwcyBoYXZlIGV4dHJhIGZpZWxkcywgdGhlIHN1YnNldCBmYWlscy4KCSAgVGh1cyB3aXRob3V0IHRleHR1cmUtdGFyZ2V0IG9uIHRoZSBjYXBzLCB2YXJpb3VzIGFjY2VwdC1jYXBzIGltcGxlbWVudGF0aW9ucwoJICB3ZXJlIGZhaWxpbmcuCgkgIEFsc28sIGFkZCBzb21lIGNvbnZlbmllbmNlIGZ1bmN0aW9ucyBmb3Igc2V0dGluZyBhbmQgcmV0cmlldmluZwoJICB0ZXh0dXJlIHRhcmdldHMgdG8vZnJvbSBHVmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk4NjAKCjIwMTUtMTItMjkgMTg6MTY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcGFzc3Rocm91Z2ggY29tcG9zaXRpb24gY2FwcyBmZWF0dXJlcwoJICBEb24ndCB1bmNvbmRpdGlvbmFsbHkgYWRkIGl0IHRvIGFueSBhbmQgYWxsIGNhcHMgdHJhbnNmb3JtYXRpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5ODYwCgoyMDE2LTAxLTA0IDA5OjUyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXIuaDoKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdHBsYXllci5kZWY6CgkgIHBsYXllcjogUmVtb3ZlIGdzdF9wbGF5ZXJfbmV3KCkgYW5kIG1ha2UgZ3N0X3BsYXllcl9uZXdfZnVsbCgpIHRoZSBub3JtYWwgY29uc3RydWN0b3IKCSAgSW4gdmVyeSBmZXcgY2FzZXMgdGhlIHNpbXBsZSB2ZXJzaW9uIHdhcyBhY3R1YWxseSBuZWVkZWQgYW5kIGhhdmluZyB0aGUKCSAgcGFyYW1ldGVycyBoaWRkZW4gYnkgYSBfZnVsbCgpIHZlcnNpb24gY2F1c2VkIGFwcGxpY2F0aW9uIHRoYXQgYWN0dWFsbHkgbmVlZGVkCgkgIGl0IHRvIG5vdCB1c2UgaXQuCgoyMDE2LTAxLTA0IDAxOjAzOjA4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0Lmg6CgkgIGdsdmlld2NvbnZlcnQ6IEZpeCBzdGVyZW9zY29waWMgaGFuZGxpbmcgdy8gdGV4dHVyZS10YXJnZXQKCSAgVGhlIGFkZGl0aW9uIG9mIHRleHR1cmUtdGFyZ2V0IG5lZ290aWF0aW9uIGJyb2tlIHN0ZXJlb3Njb3BpYwoJICBoYW5kbGluZyB3aGVuIG5vdCBpbiBwYXNzdGhyb3VnaCBtb2RlLCBzbyBmaXggdGhhdC4KCjIwMTUtMTAtMDcgMTg6NTM6NDMgKzA5MDAgIEh5dW5qdW4gS28gPHp6b29uLmtvQHNhbXN1bmcuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcmVwbGFjZSBkdXBsaWNhdGVkIGNvZGVzIHRvIGNhbGwgbmV3IGJhc2Ugc2RwIGFwaXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg4MAoKMjAxNS0xMi0zMCAxODowMDo0NyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvUkVBRE1FOgoJICBydG1wOiByZWZlciB0byBib3RoIGVsZW1lbnRzIGluIHRoZSBSRUFETUUKCjIwMTUtMTItMjkgMTQ6MzU6MTQgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogY2hlY2sgZm9yIGZhaWxlZCBSVE1QIGNvbnRleHQgYWxsb2MKCSAgQXZvaWRzIGFuIHVubGlrZWx5IGNyYXNoLgoJICBBcmd1YWJseSwgaWYgYWxsb2NhdGlvbiBmYWlscyB3ZSBoYXZlIG5vIGNoYW5jZSBvZgoJICByZWNvdmVyaW5nIGJ1dCBub25ldGhlbGVzcywgUlRNUF9BbGxvYyBjYW4gZmFpbCBhbmQKCSAgbGlicnRtcCdzIFJUTVBfaW5pdCgpIChjYWxsZWQgbmV4dCkgYXNzdW1lcyBhIG5vbi1OVUxMCgkgIHBvaW50ZXIgaXMgcGFzc2VkIHdpdGhvdXQgY2hlY2tpbmcuCgkgIEFkZGl0aW9uYWxseSwgdW5pZnkgZXhpdCBwYXRoIG9uIGVycm9yLgoKMjAxNS0xMi0yOSAxNDoxNjo1OCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGNoZWNrIGZvciBmYWlsZWQgUlRNUCBjb250ZXh0IGFsbG9jCgkgIEF2b2lkcyBhbiB1bmxpa2VseSBjcmFzaC4KCSAgQXJndWFibHksIGlmIGFsbG9jYXRpb24gZmFpbHMgd2UgaGF2ZSBubyBjaGFuY2Ugb2YKCSAgcmVjb3ZlcmluZyBidXQgbm9uZXRoZWxlc3MsIFJUTVBfQWxsb2MgY2FuIGZhaWwgYW5kCgkgIGxpYnJ0bXAncyBSVE1QX2luaXQoKSAoY2FsbGVkIG5leHQpIGFzc3VtZXMgYSBub24tTlVMTAoJICBwb2ludGVyIGlzIHBhc3NlZCB3aXRob3V0IGNoZWNraW5nLgoJICBBZGRpdGlvbmFsbHksIHVuaWZ5IGV4aXQgcGF0aCBvbiBlcnJvci4KCjIwMTUtMTItMjkgMTE6NTg6MzEgLTA4MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXAuYzoKCSAgcnRtcDogY29ycmVjdCBsaWJydG1wIGxvZy1sZXZlbCBtYXBwaW5ncwoJICBBZGRpdGlvbmFsbHksIG1vdmUgdG8gYSBzd2l0Y2ggaW4gX3NldF9kZWJ1Z19sZXZlbCgpCgkgIHRvIG1ha2UgZWFzaWVyIHRvIGZvbGxvdyBhbmQgY29tcGFyZSB3aXRoIHRoZQoJICBtYXBwaW5ncyBpbiBfbG9nX2NhbGxiYWNrKCkKCjIwMTUtMTItMzAgMTM6MTY6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZwOTogbWlub3IgY2xlYW4tdXAKCSAgUmVtb3ZlIHNldHRpbmcgb2YgcGFyc2VyIHZhcmlhYmxlIHRvIE5VTEwgYWZ0ZXIgZnJlZSwKCSAgdGhhdCBtYWtlcyBubyBzZW5zZSAoYW5kIGNvdmVyaXR5IGlzIG5vIGRvdWJ0IGdvaW5nCgkgIHRvIGNvbXBsYWluIGFib3V0IGl0KS4KCjIwMTUtMTItMzAgMTM6MTI6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZwOTogZml4IG1hY3JvIG5hbWVzcGFjaW5nIGFuZCByZW5hbWUgR3N0VnA5SW50ZXJwRmlsdGVyCgoyMDE1LTEyLTMwIDEzOjA4OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2cDk6IGZpeCBkb2MgdHlwb3MgYW5kIHNwcmlua2xlIHNvbWUgU2luY2UgbWFya2VycwoKMjAxNS0xMi0zMCAxMTowMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuQVVUSE9SUzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5MSUNFTlNFOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLlBBVEVOVFM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IHZwOTogbW92ZSBsaWNlbnNlIGJsdXJiIGludG8gaGVhZGVyIGFuZCByZW1vdmUgYXV4IGZpbGVzCgkgIFRoaXMgaXMganVzdCBhIGJ1bmNoIG9mIGxvb2t1cCB0YWJsZXMuLgoKMjAxNS0xMi0zMCAxMTo1NDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogVXBkYXRlIGxpYmdzdGNvZGVjcGFyc2Vycy5kZWYgd2l0aCB0aGUgbmV3IHN5bWJvbHMKCjIwMTUtMTItMzAgMTE6NTQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5oOgoJICBjb2RlY3BhcnNlcnM6IEFkZCBhbm90aGVyIEdfR05VQ19JTlRFUk5BTAoKMjAxNS0xMi0zMCAxMTo0MDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZGJvb2xodWZmLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOHV0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBTcHJlYWQgc29tZSBHX0dOVUNfSU5URVJOQUwgaW4gdmFyaW91cyBwbGFjZXMKCjIwMTUtMTItMzAgMTE6Mzg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkgIHZwOXBhcnNlcjogRml4IGluZGVudGF0aW9uIHRvIG1ha2UgZ3N0LWluZGVudCBoYXBwaWVyCgoyMDE1LTEyLTMwIDExOjM2OjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2cDlwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmg6CgkgIHZwOXBhcnNlcjogUmVuYW1lIHN5bWJvbHMgdG8gcHJldmVudCBzeW1ib2wgY29uZmxpY3RzCgkgIEFsc28gbWFrZSBjbGFtcCgpIGEgc3RhdGljIGZ1bmN0aW9uIGZvciB0aGUgc2FtZSByZWFzb24gYW5kIHVzZSBDTEFNUCAoYXMKCSAgZGVmaW5lZCBieSBHTGliKSBpbiB0aGUgR1N0cmVhbWVyIGNvZGUuCgoyMDE1LTEyLTMwIDExOjE5OjMzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLkFVVEhPUlM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuTElDRU5TRToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy92cDl1dGlscy5QQVRFTlRTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOXV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvdnA5dXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgVlA5IGNvZGVjIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NTk3CgoyMDE1LTEyLTMwIDEyOjEyOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IGZpeCB3cmFwcGluZyBkYXRhIG9uIEdMIDIuMQoJICBHTCAyLjEgb25seSBzdXBwb3J0cyBwYm8gdXBsb2FkLgoJICBUaGUgd3JhcHBlZCBkYXRhIHBvaW50ZXIgd2FzIG9ubHkgYmVpbmcgc2V0IG9uIHRoZSBwYm8gbWVtb3J5IGFuZCBvbiB0aGUKCSAgZ2xtZW1vcnkgc28gd2hlbiBhIGRvd25sb2FkIHdhcyByZXF1ZXN0ZWQgKGluIEdMIDIuMSksIGdsbWVtb3J5IHdhcwoJICBhbGxvY2F0aW5nIGEgbmV3IGRhdGEgcG9pbnRlciBhbmQgdGh1cyBub3QgcmV0dXJuaW5nIHRoZSB3cmFwcGVkIGRhdGEuCgoyMDE1LTEyLTMwIDEyOjExOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IG9ubHkgY3JlYXRlIGEgcGJvIG1lbW9yeSBpZiB0aGUgY29udGV4dCBhY3R1YWxseSBzdXBwb3J0cyBpdAoJICBlLmcuIEdMIDw9IDIuMCBkb2VzIG5vdCBzdXBwb3J0IHBibyB1c2FnZSBhbmQgR0wgMi4xIG9ubHkgc3VwcG9ydHMgcGJvIHVwbG9hZC4KCjIwMTUtMTItMzAgMTI6MDk6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnk6IHNtYWxsIGNvZGUgcmVmb3JtYXQKCSAgbWFrZXMgdGhlIGFsbG9jX3BhcmFtcyBzZWxlY3Rpb25zIGZpdCBvbiBhIHNpbmdsZSBsaW5lLgoKMjAxNS0xMi0zMCAxMjowNjoxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICB0ZXN0cy9nbG1lbW9yeTogb3V0cHV0IGRhdGEgcG9pbnRlciB2YWx1ZXMgb24gZmFpbHVyZQoJICBBbGxvd3MgcXVpY2tlciBpbnNwZWN0aW9uIG9mIHdoYXQgZmFpbGVkLgoKMjAxNS0xMi0yOSAxNzowNDo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gd2l0aCBsZWdhY3kgb3BlbmdsCgkgIEFsbCB0aGUgZ2xlZmZlY3RzIHNoYWRlcnMgY2FuIGJlIHJ1biBhZ2FpbnN0IGEgZ2xlczIgb3IgYSBsZWdhY3kgb3BlbmdsIGdsc2wKCSAgY29tcGlsZXIgYnV0IHdlcmVuJ3QgYmVpbmcgYWR2ZXJ0aXNlZCBhcyBzdWNoLgoJICBGaXhlcyBnbGVmZmVjdHMgdW5kZXIgZGVza3RvcCBvcGVuZ2wgPCAzLjIuCgoyMDE1LTEyLTI5IDE4OjAxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJICBnbGJhc2VtZW1vcnk6IFJlbW92ZSBib2d1cyBOVUxMIGNoZWNrCgkgIENJRCAxMzQ2NTM0CgoyMDE1LTEyLTI5IDEwOjU3OjM2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBvdXRwdXQgYXQgaGlnaGVzdCBmcHMvcmVzb2x1dGlvbiBieSBkZWZhdWx0CgkgIEZpeGF0ZSB0byB0aGUgaGlnaGVzdCBwb3NzaWJsZSByZXNvbHV0aW9uIGFuZCBmcHMuIE90aGVyd2lzZSBieSBkZWZhdWx0IHdlIGVuZAoJICB1cCBmaXhhdGluZyBhdCAyZnBzIGFuZCB0aGUgbG93ZXN0IHN1cHBvcnRlZCByZXNvbHV0aW9uLCB3aGljaCBpcyBoYXJkbHkgd2hhdAoJICBzb21lb25lIHdobyBib3VnaHQgYW4gb3ZlcnByaWNlZCBzbWFydHBob25lIHdhbnRzLgoKMjAxNS0xMi0yOCAxNTo1Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbDogQWRkIFwwIHRlcm1pbmF0b3JzIGZvciB0aGUgQXBwbGUgc3luYyBleHRlbnNpb24KCSAgT3RoZXJ3aXNlIEdMIGluaXRpYWxpemF0aW9uIG1pZ2h0IGNoZWNrIGZvciBleHRlbnNpb25zIGZvcmV2ZXIgYW5kIG5ldmVyIGZpbmlzaGVzLgoKMjAxNS0xMi0yOCAxNDo0MTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBBZGQgc29tZSBkZWJ1ZyBvdXRwdXQgd2hlbiB0aGUgR0wgdGhyZWFkIGlzIGFjdHVhbGx5IHJ1bm5pbmcKCjIwMTUtMTItMjIgMTE6MjM6MTkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlZCB1bm5lY2Vzc2FyeSBzcGFjZSB0cmltbWluZyBpbiBnc3RfZGFzaF9kZW11eF9wYXJzZV9odHRwX2hlYWQKCSAgc3NjYW5mIGhhcyByZW1vdmVkIGFsbCBzcGFjZXMgd2hlbiBpdCBoYXMgY29uc3RydWN0ZWQgem9uZSBzdHJpbmcuIFRoZXJlIGlzCgkgIG5vIG5lZWQgdG8gc2VhcmNoIGZvciBsZWFkaW5nIHNwYWNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTc0MwoKMjAxNS0xMi0yMSAxNDo1MDoxNSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhY2NlcHQgMiBvciA0IGRpZ2l0IHllYXIgd2hlbiB1c2luZyBIVFRQIEhFQUQgZm9yIGNhbGN1bGF0aW5nIGNsb2NrIGNvbXBlbnNhdGlvbgoJICBDb252ZXJ0IHllYXIgZnJvbSAyIGRpZ2l0cyB0byA0IGRpZ2l0cyBpbiBnc3RfZGFzaF9kZW11eF9wYXJzZV9odHRwX2hlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTc0MwoJICBBbHNvIHVwZGF0ZWQgcmVmZXJlbmNlcyB0byBSZmM4MjIgdG8gUmZjNTMyMgoKMjAxNS0xMi0yNyAxMTozNzowOSArMDEwMCAgRmxvcmVudCBUaGnDqXJ5IDxmbG9yZW50LnRoaWVyeUB1YmljYXN0LmV1PgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBmaXggdXNhZ2UgZG9jCgkgIFRoZSBwcm9wZXJ0eSBsb2NhdGlvbiBoYXMgYmVlbiBjaGFuZ2VkIGluIGZhdm9yIG9mIHZlcnRleC9mcmFnbWVudAoJICBzdHJpbmcgcHJvcGVydGllczsgdGhlIGRvYyBoYWQgbm90IGJlZW4gdXBkYXRlZCBhbmQgd2FzIHN0aWxsIHJlZmVycmluZwoJICB0byB0aGUgcHJldmlvdXMgcHJvcGVydHk7IGFsc28sIG5vdyB0aGUgI3ZlcnNpb24gaGVhZGVyIGhhcyBiZWNvbWUgbWFuZGF0b3J5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk5MDIKCjIwMTUtMTItMjYgMjI6MzQ6MjkgKzAxMDAgIEZsb3JlbnQgVGhpw6lyeSA8ZmxvcmVudC50aGllcnlAdWJpY2FzdC5ldT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUG9zdCB1bmhhbmRsZWQgbmF2aWdhdGlvbiBldmVudHMgb24gdGhlIGJ1cwoJICBCYXNlZCBvZmYgeHZpbWFnZXNpbmsgaW1wbGVtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTg2OQoKMjAxNS0xMi0yNyAyMjozMjoyMiAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBmaXggc3BsaXR0aW5nIG9mIFJHQiBjb2xvciBzdHJpbmcKCSAgTm8gbmVlZCB0byBhdHRlbXB0IHNwbGl0dGluZyB0aGUgUkdCIHN0cmluZyBpbiAyNTUgdG9rZW5zCgkgIGlmIHdlIG9ubHkgZXhwZWN0IDMuCgkgIExlZnQgbWF4X3Rva2VucyBhdCA0IHRvIHByZXNlcnZlIHRoZSBjdXJyZW50IGxvZ2ljICh3aGljaAoJICBhbGxvd3MgZm9yIGV4dHJhIHN0dWZmIGF0IHRoZSBlbmQpIGFuZCBhZGRlZCBhIHdhcm5pbmcgb24KCSAgcGFyc2luZyBmYWlsdXJlIGluc3RlYWQgb2Ygc2lsZW50bHkgZGlzY2FyZGluZyB0aGUgdmFsdWUuCgoyMDE1LTEyLTI3IDIxOjIzOjM3IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IGZpeCB0eXBvIGluIGhlYWRlcgoKMjAxNS0xMi0yNyAyMToxOToxOSAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBmaXggbWlzbGVhZGluZyB3YXJuaW5nIG1lc3NhZ2UKCSAgY2FsY3VsYXRlX21vdGlvbiAhPSBGQUxTRSBtZWFucyB0aGUgbW90aW9uIGNvbXB1dGF0aW9uCgkgIGxvZ2ljIGlzIGRpc2FibGVkLCBub3QgYSBtYXBwaW5nIGVycm9yLgoKMjAxNS0xMi0yNyAyMToxMToxOCAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiByZXdvcmsgcHJvcGVydHkgZGVzY3JpcHRpb25zCgoyMDE1LTEyLTI3IDAxOjExOjQyIC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSAgbW90aW9uY2VsbHM6IHVzZSBOVUxMIGluc3RlYWQgb2YgZ19zdHJkdXAoTlVMTCkKCjIwMTUtMTItMjggMDk6MDQ6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogRml4IGJ1aWxkIGVycm9yCgkgIFdoZW4gR1NUX0dMX0hBVkVfUExBVEZPUk1fRUdMIGlzIG5vdCBkZWZpbmVkLCB0aGVuIGluZm8gdmFyaWFibGUKCSAgd2lsbCBub3QgYmUgdXNlZCBhbmQgdGhpcyByZXN1bHRzIGluIGJ1aWxkIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk5MTMKCjIwMTUtMTItMjQgMTU6Mjg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNy4xID09PQoKMjAxNS0xMi0yNCAxNDoyODo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1obHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDEuNy4xCgoyMDE1LTEyLTI0IDE0OjAwOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMTItMjQgMTI6MjM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9odS5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTEyLTIzIDIzOjEzOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGh0dHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wY2FwcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgdGVzdHM6IGZpeCBpbmRlbnRhdGlvbgoKMjAxNS0xMi0yMyAyMzoxMDo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BjYXBwYXJzZS5jOgoJICB0ZXN0czogcGNhcHBhcnNlOiBhZGQgY2hlY2sgZm9yIDAtc2l6ZWQgcGFja2V0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTczCgoyMDE1LTEyLTIzIDIwOjI0OjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBkb24ndCBjcmFzaCBvbiAwLXNpemVkIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3MwoKMjAxNS0xMi0yMyAxMzowNjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgVXBkYXRlIGNvbW1vbgoKMjAxNS0xMi0yMyAxMzowNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsYXllci11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbGF5ZXIucGMuaW46CgkgIHBsYXllcjogQWRkIHBrZy1jb25maWcgZmlsZXMKCjIwMTUtMTItMjMgMTI6MTY6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBFbmFibGUgcGxheWVyIHRlc3RzIGJ5IGRlZmF1bHQKCSAgVGhpcyB3aWxsIGJlIGF1dG9tYXRpY2FsbHkgYmUgdXBkYXRlZCB0b2dldGhlciB3aXRoIHRoZSBuZXh0IGNvbW1vbiB1cGRhdGUKCSAgYWdhaW4uCgoyMDE1LTEyLTIzIDA5OjU1OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy9wbGF5ZXIuYzoKCSAgcGxheWVyOiBBZGQgdW5pdCB0ZXN0IHRoYXQgaXMgZGlzYWJsZWQgYnkgZGVmYXVsdAoJICBUaGUgdW5pdCB0ZXN0IGlzIGRvd25sb2FkaW5nIGEgZmV3IHNtYWxsIG1lZGlhIGZpbGVzIGZyb20gdGhlIEludGVybmV0LAoJICB3aGljaCBhcmUgdGhlbiB1c2VkIGR1cmluZyB0aGUgdGVzdC4gIm1ha2UgY2xlYW4iIHJlbW92ZXMgdGhlIGZpbGVzIGFnYWluLgoKMjAxNS0xMi0yMiAxNDo0NDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBwbGF5ZXI6IEludGVncmF0ZSBpbnRvIHRoZSBkb2N1bWVudGF0aW9uIGJ1aWxkIHN5c3RlbQoKMjAxNS0xMi0yMiAxNDoyNDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1nLW1haW4tY29udGV4dC1zaWduYWwtZGlzcGF0Y2hlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1nLW1haW4tY29udGV4dC1zaWduYWwtZGlzcGF0Y2hlci5oOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItbWVkaWEtaW5mby5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci1tZWRpYS1pbmZvLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXNpZ25hbC1kaXNwYXRjaGVyLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItc2lnbmFsLWRpc3BhdGNoZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItc2lnbmFsLWRpc3BhdGNoZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdHlwZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tb3ZlcmxheS12aWRlby1yZW5kZXJlci5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aWRlby1vdmVybGF5LXZpZGVvLXJlbmRlcmVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLXZpZGVvLXJlbmRlcmVyLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tcmVuZGVyZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlkZW8tcmVuZGVyZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3BsYXllci9nc3RwbGF5ZXItdmlzdWFsaXphdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvcGxheWVyL2dzdHBsYXllci12aXN1YWxpemF0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmM6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvZ3N0cGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5ZXIvcGxheWVyLmg6CgkqIHdpbjMyL2NvbW1vbi9saWJnc3RwbGF5ZXIuZGVmOgoJICBwbGF5ZXI6IEltcG9ydCBHc3RQbGF5ZXIgcGxheWJhY2sgY29udmVuaWVuY2UgQVBJCgkgIEJhc2VkIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9zZHJvZWdlL2dzdC1wbGF5ZXIKCSAgY29tbWl0IDljZTZhZTBkYmI4ZWVlZWZhZjc5NGNmYWU4MGUyNzlhMDNjYzU5OGQKCjIwMTUtMTItMjMgMDk6NTA6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSAgZ2xtZW1vcnlwYm86IENvbW1lbnQgb3V0IHVudXNlZCBmdW5jdGlvbnMgdG8gZml4IGNvbXBpbGF0aW9uIHdpdGggY2xhbmcKCSAgSXQncyBub3QgY2xlYXIgaWYgdGhlc2UgYXJlIGludGVudGlvbmFsbHkgdW51c2VkIG9yIHRoZSBjb2RlIHNob3VsZCBiZQoJICBjaGFuZ2VkLCBidXQgdGhpcyBmaXhlcyBjb21waWxhdGlvbiBmb3IgdGhlIHRpbWUgYmVpbmcgYXQgbGVhc3QuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5Njc5CgoyMDE1LTExLTEwIDE2OjI1OjUzICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiB0ZXN0czogY2hlY2sgVVJMIGpvaW5pbmcgaWYgbWVkaWEgVVJMIGNvbnRhaW5zIGEgJy8nIGNoYXJhY3RlcgoJICBJZiB0aGUgcXVlcnkgcGFyYW1ldGVyIChmb3IgZXhhbXBsZQoJICBodHRwOi8vZXhhbXBsZS5uZXQvMTA1NDU1OV8xNTAway5tcDQvbWFzdGVyLm0zdTg/YWNsPS8qMTA1NDU1OV8xNTAway5tcDQpLAoJICBjaGVjayB0aGF0IG0zdTguYyBjb3JyZWN0bHkgY29udmVydHMgdGhlIHJlbGF0aXZlIFVSTHMgb2YgdGhlIG1lZGlhCgkgIHBsYXlsaXN0cyBpbiB0byBhYnNvbHV0ZSBVUkxzLiBJdCBtdXN0IG5vdCB1c2UgdGhlIGxhc3QgJy8nIGl0IGZpbmRzIGluCgkgIHRoZSBVUkwsIGFzIGFjY29yZGluZyB0byBSRkMzOTg2IHRoZSAnLycgY2hhcmFjdGVyIGlzIGFsbG93ZWQgaW4KCSAgdGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODM4NAoKMjAxNS0xMS0xMCAxNjoyMzo1OSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IHVucXVvdGUgYWxsIHRoZSBxdW90ZWQtc3RyaW5nIGF0dHJpYnV0ZXMKCSAgVGhlIFVSSSBhdHRyaWJ1dGUgZnJvbSB0aGUgRVhULVgtS0VZIHRhZyBhbmQgdGhlIFVSSSBhdHRyaWJ1dGUgZnJvbSB0aGUKCSAgRVhULVgtSS1GUkFNRVMtT05MWSB0YWcgYXJlIGJvdGggcXVvdGVkLXN0cmluZyBhdHRpYnV0ZXMgdGhhdCBoYXZlIHRoZWlyCgkgIHF1b3RhdGlvbiBtYXJrcyByZW1vdmVkIGR1cmluZyBwYXJzaW5nLiBUaGUgQ09ERUNTIGF0dHJpYnV0ZSBvZiB0aGUKCSAgRVhULVgtU1RSRUFNLUlORiBpcyBhbHNvIGEgcXVvdGVkLXN0cmluZyBhdHRyaWJ1dGUsIGJ1dCB0aGlzIGF0dHJpYnV0ZQoJICB3YXMgbm90IGJlaW5nIHVuLXF1b3RlZC4KCSAgVGhpcyBjb21taXQgY2hhbmdlcyB0aGUgcGFyc2VyIHRvIGFsd2F5cyB1bnF1b3RlIGFsbCBxdW90ZWQtc3RyaW5nCgkgIGF0dHJpYnV0ZXMgYW5kIGFkanVzdHMgdGhlIHVuaXQgdGVzdHMgdG8gdGhpcyBuZXcgYmV2YWhpb3VyIGZvciB0aGUKCSAgQ09ERUNTIGF0dHJpYnV0ZS4KCSAgQW4gYWRkaXRpb25hbCB0ZXN0IGlzIGFkZGVkIHRvIGNoZWNrIHRoYXQgcGFyc2luZyBvZiBhbGwgb2YgdGhlIGZpZWxkcwoJICBpbiB0aGUgRVhULVgtU1RSRUFNIHRhZyBpcyBjb3JyZWN0LCBpbmNsdWRpbmcgdGhvc2UgdGhhdCBjb250YWluIGNvbW1hCgkgIGNoYXJhY3RlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgzODQKCjIwMTUtMTEtMTAgMTY6NDE6MDIgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNfZGVtdXguYzoKCSAgaGxzZGVtdXg6IHRlc3RzOiBhZGQgdW5pdCB0ZXN0cyBmb3IgaGxzZGVtdXgKCSAgVXNpbmcgdGhlIG5ldyBHc3RBZGFwdGl2ZURlbXV4IHRlc3QgZnJhbWV3b3JrLCBhZGQgdGVzdHMgdGhhdAoJICBleGVyY2lzZSBobHNkZW11eC4gVGhlIGZvbGxvd2luZyB0ZXN0cyBhcmUgYWRkZWQ6CgkgIHNpbXBsZVRlc3QKCSAgQSBzaW1wbGUgcGxheWxpc3QgdGhhdCBjb250YWlucyBzb21lIG1lZGlhIFVSTHMKCSAgdGVzdE1lZGlhUGxheWxpc3QKCSAgQSBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBhIHZhcmlhbnQgcGxheWxpc3QgdGhhdCBjb250YWlucyBtZWRpYSBVUkxzCgkgIHRlc3RNZWRpYVBsYXlsaXN0Tm90Rm91bmQKCSAgQSBtYXN0ZXIgcGxheWxpc3QgdGhhdCBwb2ludHMgdG8gYSBtaXNzaW5nIHZhcmlhbnQgcGxheWxpc3QKCSAgdGVzdEZyYWdtZW50Tm90Rm91bmQKCSAgQSBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBhIHZhcmlhbnQgcGxheWxpc3QgdGhhdCBjb250YWlucyBtZWRpYSBVUkxzCgkgIFRoZXJlIGlzIGEgbWlzc2luZyBtZWRpYSBmaWxlIHJlZmVyZW5jZWQgZnJvbSB0aGUgdmFyaWFudCBwbGF5bGlzdC4KCSAgdGVzdEZyYWdtZW50RG93bmxvYWRFcnJvcgoJICBBIG1hc3RlciBwbGF5bGlzdCB3aXRoIGEgdmFyaWFudCBwbGF5bGlzdCB0aGF0IGNvbnRhaW5zIG1lZGlhIFVSTHMKCSAgRHVyaW5nIHRoZSBkb3dubG9hZCBvZiBvbmUgbWVkaWEgZmlsZSwgdGhlIHRlc3Qgc2ltdWxhdGVzIHRoZSBuZXR3b3JrCgkgIGNvbm5lY3Rpb24gYmVpbmcgZHJvcHBlZC4KCSAgdGVzdFNlZWsKCSAgQSBzaW1wbGUgdGVzdCBvZiB0cnlpbmcgdG8gcGVyZm9ybSBhIHNlZWsgb24gYW4gSExTIHN0cmVhbS4KCjIwMTUtMTEtMTAgMTM6MTM6MzUgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9jb21tb24uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWRhcHRpdmVfZGVtdXhfY29tbW9uLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FkYXB0aXZlX2RlbXV4X2VuZ2luZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hZGFwdGl2ZV9kZW11eF9lbmdpbmUuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGVzdF9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXN0X2h0dHBfc3JjLmg6CgkgIGRhc2hkZW11eDogdGVzdHM6IFJlZmFjdG9yIGludG8gYWRhcHRpdmVfZW5naW5lIGNvbXBvbmVudHMKCSAgVG8gYWxsb3cgY29kZSBmcm9tIGRhc2hfZGVtdXguYyB0byBiZSB1c2VkIGJ5IG90aGVyIGVsZW1lbnRzCgkgIHRoYXQgYXJlIGJhc2VkIHVwb24gR3N0QWRhcHRpdmVEZW11eCwgdGhlIGNvZGUgaGFzIGJlZW4KCSAgcmVmYWN0b3JlZCBpbnRvIGZvdXIgbmV3IGZpbGVzOgoJICBhZGFwdGl2ZV9kZW11eF9lbmdpbmUuW2NoXQoJICBhZGFwdGl2ZV9kZW11eF9jb21tb24uW2NoXQoJICBUaGUgY29kZSBpbiBhZGFwdGl2ZV9kZW11eF9lbmdpbmUuYyBwcm92aWRlcyBhIGdlbmVyaWMKCSAgdGVzdCBlbmdpbmUgZm9yIGVsZW1lbnRzIGJhc2VkIHVwb24gR3N0QWRhcHRpdmVEZW11eC4KCSAgVGhlIGNvZGUgaW4gYWRhcHRpdmVfZGVtdXhfY29tbW9uLmMgcHJvdmlkZXMgYSBzZXQKCSAgb2YgdXRpbGl0eSBmdW5jdGlvbnMgdGhhdCBhcmUgY29tbW9uIGJldHdlZW4gdGhlIHRlc3RzCgkgIGZvciBobHNkZW11eCBhbmQgZGFzaGRlbXV4LgoJICBBcyBwYXJ0IG9mIHRoZSByZWZhY3RvcmluZywgdmFyaWFibGVzIGluIHN0cnVjdHVyZXMgd2VyZQoJICByZW5hbWVkIGZyb20gdXNpbmcgY2FtZWxDYXNlIHRvIHVuZGVyc2NvcmVfY2FzZSB0byBtYXRjaCBvdGhlcgoJICBHU3RyZWFtZXIgc291cmNlIGNvZGUuCgkgIFRoZSBmYWtlX2h0dHBfc3JjIHdhcyByZW5hbWVkIHRlc3RfaHR0cF9zcmMgYW5kIGNoYW5nZWQgdG8gdXNlCgkgIGNhbGxiYWNrcyB0byBwcm92aWRlIGlucHV0IGRhdGEgYW5kIGVycm9yIGNvbmRpdGlvbnMuIFJhdGhlciB0aGFuCgkgIHVzaW5nIGFuIGFycmF5IG9mIGlucHV0IGRhdGEgdGhhdCB0cmllcyB0byBlbmNvZGUgYWxsIHRoZQoJICBwb3NzaWJsZSB1c2UgY2FzZXMgZm9yIHRoZSBHc3RUZXN0SFRUUFNyYyBlbGVtZW50LCB1c2UgYSBzdHJ1Y3Qgb2YKCSAgY2FsbGJhY2tzLgoJICBVc2VycyBvZiB0aGlzIGVsZW1lbnQgYXJlIG9ibGlnZWQgdG8gaW1wbGVtZW50IGF0IGxlYXN0IHRoZSBzcmNfc3RhcnQKCSAgY2FsbGJhY2ssIHdoaWNoIHByb3ZpZGVzIGEgd2F5IHRvIGxpbmsgZnJvbSBhIFVSSSB0byB0aGUgc2V0dGluZ3MKCSAgZm9yIHRoYXQgVVJJLgoKMjAxNS0xMi0yMiAxMToxMDozMSArMDIwMCAgTWF0dGhldyBNYXJzaCA8bWF0dEBzdG9uZXRocmVlLmNvbT4KCgkqIHN5cy9udmVuYy9nc3RudmJhc2VlbmMuYzoKCSAgbnZlbmM6IGZpeCBoaWdoIENQVSB1c2Ugb24gaW5pdGlhbGl6YXRpb24gb2YgbXVsdGlwbGUgZW5jb2RlcnMgYXQgdGhlIHNhbWUgdGltZQoJICBXZSBuZWVkIGEgc3RhdGljIGxvY2sgdG8gcHJvdGVjdCB2YXJpb3VzIE5WRU5DIG1ldGhvZHMgaW4gX3NldF9mb3JtYXQoKS4gV2l0aG91dAoJICB0aGlzIHRoZSBDUFUgdXNlIGluY3JlYXNlcyBkcmFtYXRpY2FsbHkgb24gaW5pdGlhbGlzYXRpb24gb2YgdGhlIGVsZW1lbnQgd2hlbgoJICB0aGVyZSBhcmUgbXVsdGlwbGUgZWxlbWVudHMgYmVpbmcgaW5pdGlhbGlzZWQgYXQgdGhlIHNhbWUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTc0MgoKMjAxNS0xMi0yMiAxMDoxNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogbWFrZSBzdXJlIGV2ZXJ5IGJhZCB1cGRhdGVfcGxheWxpc3QgcmV0dXJuIHNldHMgYW4gZXJyb3IKCSAgT3RoZXJ3aXNlIGl0IHNlZ2ZhdWx0cyB3aGVuIHJlcG9ydGluZyB0aGUgZXJyb3IgaW4gdGhlIGJ1cwoKMjAxNS0xMi0yMSAxMzo1NzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogVXNlIE5VTEwgaW5zdGVhZCBvZiBnX3N0cmR1cCgnXDAnKQoJICBXaGljaCBpcyBlcXVpdmFsZW50IHRvIGdfc3RyZHVwKE5VTEwpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NzI4CgoyMDE1LTEyLTIxIDEyOjMzOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIC1Cc3ltYm9saWMtZnVuY3Rpb25zIGlmIGF2YWlsYWJsZQoJICBXaGlsZSB0aGlzIGlzIG1vcmUgdXNlZnVsIGZvciBsaWJyYXJpZXMsIHNvbWUgb2Ygb3VyIHBsdWdpbnMgd2l0aCBtdWx0aXBsZQoJICBmaWxlcyBhbmQgc29tZSBpbnRlcm5hbCBBUEkgY2FuIGFsc28gYmVuZWZpdCBmcm9tIHRoaXMuCgoyMDE1LTEyLTIxIDEyOjE5OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IG5hbWUgb2YgdGVzdHN1aXRlCgoyMDE1LTEyLTIxIDEyOjEzOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFNpZ25hbCBjb250ZXh0IGNyZWF0aW9uIGZyb20gaW5zaWRlIHRoZSBjb250ZXh0IGxvb3AgYW5kIHVzZSBnX3RocmVhZF9qb2luKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBjb25kaXRpb24gdmFyaWFibGUKCSAgQWxzbyBwcm90ZWN0IGFnYWluc3Qgc3B1cmlvdXMgY29uZGl0aW9uIHZhcmlhYmxlIHdha2V1cHMgZHVyaW5nIGNvbnRleHQKCSAgY3JlYXRpb24uCgoyMDE1LTEyLTIxIDExOjI3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogSGlkZSBuYXZpZ2F0aW9uIHNwZWNpZmljIGludGVybmFsIEFQSSBhbmQgYWRkIEFQSSB0byBhc3luY2hyb25vdXNseSBzZW5kIG5hdmlnYXRpb24gZXZlbnRzCgkgIEV4cG9zaW5nIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCdzIG1haW4gY29udGV4dCwgR1NvdXJjZUZ1bmNzIGFuZCBzdHJ1Y3RzIGNhbGxlZAoJICBrZXlfZXZlbnQgYW5kIG1vdXNlX2V2ZW50IGlzIGV4cG9zaW5nIGEgYml0IHRvbyBtdWNoIG9mIHRoZSBpbnRlcm5hbHMuIExldCdzCgkgIGp1c3QgZ28gd2l0aCB0d28gZnVuY3Rpb25zIHRvIGFzeW5jaHJvbm91c2x5IHNlbmQgbmF2aWdhdGlvbiBldmVudHMgb24gdGhlCgkgIHdpbmRvdyB3aXRoIHRoZSBzYW1lIEFQSSBhcyB0aGUgc3luY2hyb25vdXMgb25lcy4KCjIwMTUtMTItMjEgMTA6NDY6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBVc2UgZ190aHJlYWRfam9pbigpIGluc3RlYWQgb2YgYSBjdXN0b20gY29uZGl0aW9uIHZhcmlhYmxlIGZvciB3YWl0aW5nIGZvciB0aGUgbmF2aWdhdGlvbiB0aHJlYWQgdG8gZmluaXNoCgkgIEFsc28gaGlkZSBzb21lIGludGVybmFsIGZ1bmN0aW9ucyBhbmQgZmllbGRzIHdoaWxlIHdlJ3JlIGF0IGl0IGFuZCBmaXgKCSAgYSByYWNlIGNvbmRpdGlvbiB3aXRoIHRoZSBzdGFydHVwIGNvbmRpdGlvbiB2YXJpYWJsZS4KCjIwMTUtMTEtMzAgMDk6MzY6MDkgKzA4MDAgIEhhaWh1YSBIdSA8YjU1NTk3QGZyZWVzY2FsZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IEZpeCBtZW1vcnkgbGVhayBvZiBuYXZpZ2F0aW9uIHRocmVhZAoJICBXaGVuIHN0b3BwaW5nIHRoZSBuYXZpZ2F0aW9uIHRocmVhZCwgY2FsbCBnX3RocmVhZF9qb2luKCkgdG8gcmVsZWFzZQoJICB0aGUgcmVzb3VyY2VzIGhvbGQgYnkgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg4MjAKCjIwMTUtMTItMTkgMjE6MjU6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGFzc3JlbmRlciwgZHZic3Vib3ZlcmxheTogZml4IGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MKCjIwMTUtMTItMTkgMjE6MTA6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiByZWZsb3cgdXBkYXRlX3BsYXlsaXN0IGEgYml0CgkgIFJlZHVjZSBpbmRlbnRhdGlvbiBieSBlcnJvcmluZyBvdXQgZGlyZWN0bHkgb24gZmFpbHVyZS4KCjIwMTUtMTItMTkgMjA6NTk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggcG90ZW50aWFsIGVycm9yIGxlYWsKCSAgQ2xlYXIgZXJyb3IgYXMgc29vbiBhcyB3ZSBkZXRlcm1pbmUgdGhhdCB0aGUgZG93bmxvYWQgZmFpbGVkLAoJICBvdGhlcndpc2UgdGhlcmUgYXJlIGNvZGUgcGF0aHMgd2hlcmUgd2UgbWlnaHQgcmV0dXJuIHdpdGhvdXQKCSAgY2xlYXJpbmcgaXQgZXZlciwgd2hpY2ggd291bGQgbGVhayB0aGUgR0Vycm9yIHRoZW4uIEFsc28sIHdlCgkgIGNhbiBwYXNzIGEgTlVMTCBHRXJyb3IgcG9pbnRlciB0byBfZmV0Y2hfdXJpKCksIHNvIGp1c3QgZG8gdGhhdAoJICBpbnN0ZWFkIG9mIHBhc3Npbmcgb25lIHRoYXQgd2UncmUgZ29pbmcgdG8ganVzdCBmcmVlIGFnYWluCgkgIHJpZ2h0IGF3YXkgYW55d2F5LgoKMjAxNS0xMi0xOSAxMjowNTo1OSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuY3BwOgoJICBvcGVuY3Y6IHJlbW92ZSB1bm5lZWRlZCBzaW5rX2V2ZW50IGZ1bmN0aW9uIGluIHB5cmFtaWRzZWdtZW50CgoyMDE1LTEyLTE5IDEyOjA0OjAxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jcHA6CgkgIG9wZW5jdjogcmVtb3ZlIHVubmVlZGVkIHNpbmtfZXZlbnQgZnVuY3Rpb24gaW4gdGV4dG92ZXJsYXkKCjIwMTUtMTItMTggMTg6NTE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkgIHRlbXBsYXRlbWF0Y2g6IHJlbW92ZSB1c2VsZXNzIGZ1bmN0aW9uCgoyMDE1LTEyLTE4IDExOjU2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhbHdheXMgc2V0IHRpbWVzdGFtcCBvbiByZXZlcnNlIHBsYXliYWNrCgkgIERvd25zdHJlYW0gbmVlZHMgdG8gYmUgYWJsZSB0byByZXN0b3JlIHRoZSB0aW1lc3RhbXBzIGFmdGVyIGEgZGlzY29udAoJICB0byBkbyByZXZlcnNlIHBsYXliYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1OTIKCjIwMTUtMTItMTggMTU6MzY6NDAgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbnZlcnQ6IEZpeCBjb21waWxhdGlvbiBvZiBHUkFZMTZfTEUvQkUgc2hhZGVyCgoyMDE1LTExLTEzIDE3OjI0OjMwICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEFkZCBkbWFidWYgdXBsb2FkIG1ldGhvZC4KCSAgVGhpcyB1cGxvYWQgbWV0aG9kIGRldGVjdCBhbmQgb3B0aW1pemUgdXBsb2FkcyBvZiBETUFCdWYgbWVtb3J5LiBUaGlzIGlzCgkgIGRvbmUgYnkgY3JlYXRpbmcgYW5kIGNhY2hpbmcgRUdMSW1hZ2VzIHdyYXBwZXIgYXJvdW5kIERNQUJ1Zi4gVGhlCgkgIEVHTEltYWdlcyBhcmUgdGhlbiBiaW5kZWQgdG8gYSB0ZXh0dXJlIHdoaWNoIGdldCBjb252ZXJ0ZXIgdXNpbmcKCSAgc3RhbmRhcmQgc2hhZGVyLgoJICBFeGFtcGxlIHBpcGVsaW5lOgoJICBHU1RfR0xfUExBVEZPUk09ZWdsIFwKCSAgZ3N0LWxhdW5jaC0xLjAgdjRsMnNyYyBkZXZpY2U9L2Rldi92aWRlbzEgaW8tbW9kZT00ICEgXAoJICB2aWRlby94LXJhdyxmb3JtYXQ9TlYxMiAhIGdsaW1hZ2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTItMTggMTU6NTI6NDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZWdsaW1hZ2VtZW1vcnk6IEFsc28gaW1wb3J0IEJHUjE2LCBBQkdSLCB4QkdSLCBBWVVWLCBHUkFZMTZfTEUvQkUgYW5kIFk0NDQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMi0xOCAxMTowODoyOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBlZ2xpbWFnZW1lbW9yeTogQWRkIFJHQi9CR1IgRE1BQnVmIGltcG9ydGF0aW9uIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMS0xMyAxNzo0MDowOCArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5Lmg6CgkgIGVnbGltYWdlbWVtb3J5OiBNZXRob2RzIHRvIGNyZWF0ZSBHc3RHTE1lbW9yeSBmcm9tIGRtYWJ1ZnMKCSAgTWFwcyBHc3RWaWRlb0Zvcm1hdHMgdG8gc3VpdGFibGUgRFJNIGZvdXJjY3Mgd2hpY2ggd29yayB3aXRoCgkgIGdsY29sb3Jjb252ZXJ0LCB1c2luZyBnc3RfZ2xfbWVtb3J5X2FsbG9jKCkuIFdlIHJlcXVpcmUgbW9zdGx5CgkgIG9ubHkgNCBmb3JtYXRzIHRvIGJlIHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyLiBXZSByZXF1aXJlIERSTQoJICBlcXVpdmFsZW50IHRvIFJHQjE2LCBSR0JBLCBSOCBhbmQgUkc4OC4gVGhpcyB3YXkgaXQncyBjb21wYXRpYmxlIHdpdGgKCSAgRGVza3RvcEdMLCBzaW5jZSBHTF9URVhUVVJFXzJEIGlzIHVzZWQgYW5kIGxpbWl0IGRyaXZlciByZXF1aXJlbWVudHMuCgkgIFdpdGggdGhpcyB3ZSBjYW4gdmlydHVhbGx5IHN1cHBvcnQgYWxsIGZvcm1hdHMgdGhlIGdsY29sb3Jjb252ZXJ0CgkgIHN1cHBvcnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzQ1CgoyMDE1LTEwLTAyIDEzOjMxOjM5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IEFkZCBkbWFidWYgYnVpbGQgY29uZGl0aW9uLgoJICBjb25maWd1cmUuYWM6IEJ1aWxkIGRtYWJ1ZiB3aGVuIEVHTCBhbmQgZHJtX2ZvdXJjYy5oIGlzIGF2YWlsYWJsZS4KCSAgZ2w6IExpbmsgZ3N0LWFsbG9jYXRvcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTEtMTMgMTc6MDk6MTMgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogU2hvdyBlcnJvciB3aGVuIHZpZGVvIGZyYW1lIGlzIG5vdCBtYXBwZWQuCgkgIEFkZHMgbW9yZSBtZWFuaW5nZnVsIGVycm9yIHRoYW4KCSAgIkZhaWxlZCB0byBjb252ZXJ0IG11bHRpdmlldyB2aWRlbyBidWZmZXIiLCB3aGljaCBpcyBhbHdheXMgdXNlZAoJICB3aGVuIHByZXBhcmVfbmV4dF9idWZmZXIoKSBmYWlscyBpbiBnc3RfZ2xpbWFnZV9zaW5rX3ByZXBhcmUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM0NQoKMjAxNS0xMS0xMyAxNzowNToxMSArMDEwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJICBnc3RnbGNvbnRleHRfZWdsOiBFeHBvc2UgZ3N0X2dsX2NvbnRleHRfZWdsX2dldF9lcnJvcl9zdHJpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMzNDUKCjIwMTUtMTItMTggMTY6NTY6MDQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBvcGVuY3Z0ZXh0b3ZlcmxheSB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgb3BlbmN2dGV4dG92ZXJsYXkgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YKCSAgZnJvbSBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLiBUaGUgY2hhaW4vdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIG5vdyBhIHRoaXJkIG9mIHRoZSBzaXplIHRoYW4KCSAgYmVmb3JlLgoKMjAxNS0xMi0xOCAxNjoxODo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBvcGVuY3Y6IHVwZGF0ZSB0ZW1wbGF0ZW1hdGNoIHRvIEdzdE9wZW5jdlZpZGVvRmlsdGVyCgkgIFVwZGF0ZSBweXJhbWlkc2VnbWVudCB0byBpbmhlcml0IGZyb20gR3N0T3BlbmN2VmlkZW9GaWx0ZXIgaW5zdGVhZCBvZiBmcm9tCgkgIEdzdEVsZW1lbnQuIFRoaXMgbWVhbnMgbGVzcyBjb2RlIGFuZCBtb3JlIHVuaWZvcm1pdHkgd2l0aCBvdGhlciBPcGVuQ1YKCSAgZWxlbWVudHMuCgoyMDE1LTEyLTE4IDE1OjQ4OjE2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgb3BlbmN2OiB1cGRhdGUgcHlyYW1pZHNlZ21lbnQgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIHB5cmFtaWRzZWdtZW50IHRvIGluaGVyaXQgZnJvbSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBpbnN0ZWFkIG9mIGZyb20KCSAgR3N0RWxlbWVudC4gVGhpcyBtZWFucyBsZXNzIGNvZGUgYW5kIG1vcmUgdW5pZm9ybWl0eSB3aXRoIG90aGVyIE9wZW5DVgoJICBlbGVtZW50cy4KCjIwMTUtMTItMTcgMTc6MjY6MjkgKzAyMDAgIFZpdmlhIE5pa29sYWlkb3UgPHZpdmlhQGFoaXJ1LmV1PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IE1hZGUgImF1dG8iIG1vZGUgd29yayBhY2NvcmRpbmcgdG8gY2FwcwoJICBXaGVuIHRoZSBtb2RlIG9mIGRlY2tsaW5rdmlkZW9zaW5rIGlzIHNldCB0byAiYXV0byIsIHRoZSBzaW5rIGNsYWltcyB0bwoJICBzdXBwb3J0IHRoZSBmdWxsIHNldCBvZiBjYXBzIHRoYXQgaXQgY2FuIHN1cHBvcnQgZm9yIGFsbCBtb2Rlcy4gVGhlbiwgZXZlcnkKCSAgdGltZSBuZXcgY2FwcyBhcmUgc2V0LCB0aGUgc2luayB3aWxsIGF1dG9tYXRpY2FsbHkgZmluZCB0aGUgY29ycmVjdCBtb2RlIGZvcgoJICB0aGVzZSBjYXBzIGFuZCBzZXQgaXQuCgkgIENhdmVhdDogV2UgaGF2ZSBubyB3YXkgdG8ga25vdyB3aGV0aGVyIGEgc3BlY2lmaWMgbW9kZSB3aWxsIGFjdHVhbGx5IHdvcmsgZm9yCgkgIHlvdXIgaGFyZHdhcmUuIFRoZXJlZm9yZSwgaWYgeW91IHRyeSBzZW5kaW5nIDRLIHZpZGVvIHRvIGEgMTA4MCBzY3JlZW4sIGl0CgkgIHdpbGwgc2lsZW50bHkgZmFpbCwgd2UgaGF2ZSBubyB3YXkgdG8ga25vdyB0aGF0IGluIGFkdmFuY2UuIE1hbnVhbGx5IHNldHRpbmcKCSAgdGhhdCBtb2RlIGF0IGxlYXN0IGdhdmUgdGhlIHVzZXIgYSB3YXkgdG8gZG91YmxlLWNoZWNrIHdoYXQgdGhleSBhcmUgZG9pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk2MDAKCjIwMTUtMTItMTggMTI6Mjg6MjMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJICBvcGVuY3Y6IHVwZGF0ZSBtb3Rpb25jZWxscyB0byBHc3RPcGVuY3ZWaWRlb0ZpbHRlcgoJICBVcGRhdGUgbW90aW9uY2VsbHMgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xOCAxMjoyNjoxNiArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogYWRkIGRldmljZSBwcm9wZXJ0eSBhcyBpdCBpcyBkb25lIGluIGRpcmVjdHNvdW5kc2luawoJICBUaGlzIGFsbG93cyBzZWxlY3Rpb24gb2YgdGhlIGRldmljZSBieSBHVUlEIGluc3RlYWQgb2YgdGhlIG5hbWUuIFRoZSBuYW1lIGlzCgkgIHVzZXItZ2l2ZW4gYW5kIG11bHRpcGxlIGRldmljZXMgY2FuIGhhdmUgdGhlIHNhbWUgbmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQ4NAoKMjAxNS0xMi0xOCAxMjozNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQ29udmVydCBoZWFkZXIgZnJvbSAoc29tZSkgRE9TIGxpbmUgZW5kaW5ncyB0byBVTklYCgkgIEEgbWl4IGJldHdlZW4gZGlmZmVyZW50IGxpbmUgZW5kaW5ncyBpbiB0aGUgc2FtZSBmaWxlIGlzIG5vdCBhIGdvb2QgaWRlYSwKCSAgYW5kIHRoZSAuYyBmaWxlcyBhcmUgYm90aCB3aXRoIFVOSVggbGluZSBlbmRpbmdzIHNvIGxldCdzIHVzZSB0aGF0LgoKMjAxNS0xMi0xOCAxMDozMDoyNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogc2V0IC1tbWFjb3N4LXZlcnNpb24tbWluIHRvIDEwLjgKCSAgT3RoZXJ3aXNlIHF0a2l0dmlkZW9zcmMgZmFpbHMgdG8gYnVpbGQgb24gT1NYIDEwLjEwLjQKCSAgYmVjYXVzZSBRVEtpdCBoYXMgYmVlbiBkZXByZWNhdGVkIHNpbmNlIE9TIFggMTAuOS4KCSAgQWxzbyBzZXQgLW1tYWNvc3gtdmVyc2lvbi1taW49MTAuOCBpbiBmcm9udCB0byBhbGxvdwoJICB0aGUgdXNlciBvciBjZXJiZXJvIHRvIG92ZXJyaWRlIHRoZSB2ZXJzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NTY0CgoyMDE1LTEyLTE4IDEzOjE3OjM0ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBnbG1lbW9yeTogYWRkIGdzdF9nbF9tZW1vcnlfYWxsb2NhdG9yX2dldF9kZWZhdWx0CgkgIEFkZCBnc3RfZ2xfbWVtb3J5X2FsbG9jYXRvcl9nZXRfZGVmYXVsdCB0byBnZXQgdGhlIGRlZmF1bHQgYWxsb2NhdG9yIGJhc2VkIG9uCgkgIHRoZSBvcGVuZ2wgdmVyc2lvbi4gQWxsb3dzIHVzIHRvIHN0b3AgaGFyZGNvZGluZyB0aGUgUEJPIGFsbG9jYXRvciB3aGljaCBpc24ndAoJICBzdXBwb3J0ZWQgb24gZ2xlczIuCgkgIEZpeGVzIEdMIHVwbG9hZCBvbiBpT1M5IGFtb25nIG90aGVyIHRoaW5ncy4KCjIwMTUtMTItMTggMTE6NDk6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZG9uJ3QgZGVhZGxvY2sgb24gcmVzaXplCgkgIFBlcmZvcm1pbmcgYW55IEdMIGZ1bmN0aW9uIG1hcnNoYWxsaW5nIG9mZiB0aGUgR0wgdGhyZWFkIHdpdGggZ2xpbWFnZXNpbmsncwoJICByZW5kZXIgbG9jayBpcyBwcm9uZSB0byBkZWFkbG9ja3MgYmV0d2VlbiB0aGUgR0wgdGhyZWFkIGFuZCB0aGUgbm9uLUdMIHRocmVhZC4KCSAgV2hhdCBjYW4gaGFwcGVuIGlzIHRoaXM6CgkgIDEuIG5vbi1HTCB0aHJlYWQgYXR0ZW1wdHMgdG8gZnVuY3Rpb24gbWFyc2hhbCB0byB0aGUgR0wgdGhyZWFkLgoJICAyLiB3aGlsZSAxIGlzIGhhcHBlbmluZywgdGhlIHdpbnN5cyBnaXZlcyBhbiBldmVudCAoc2F5IHJlc2l6ZSkKCSAgMy4gVGhpcyBjYWxscyBiYWNrIGludG8gZ2xpbWFnZXNpbmsgd2hpY2ggdGFrcyB0aGUgcmVuZGVyIGxvY2suCgkgIDQuIEFzIHRoZSBHTCBmdW5jdGlvbiBtYXJzaGFsbGluZyBpcyBhdHRlbXB0aW5nIHRvIHJ1biBvbiB0aGUgR0wKCSAgYW5kIGFscmVhZHkgaGFzIGdsaW1hZ2VzaW5rJ3MgcmVuZGVyIGxvY2sgbG9ja2VkLiAgVGhpcyBkZWFkbG9ja3MKCSAgYXMgdGhlIHRocmVhZHMgYXJlIHdhaXRpbmcgZm9yIGVhY2ggb3RoZXIuCgoyMDE1LTEyLTE3IDE4OjE2OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkgIG9wZW5jdjogdXBkYXRlIGVkZ2VkZXRlY3QgdG8gR3N0T3BlbmN2VmlkZW9GaWx0ZXIKCSAgVXBkYXRlIGVkZ2VkZXRlY3QgdG8gaW5oZXJpdCBmcm9tIEdzdE9wZW5jdlZpZGVvRmlsdGVyIGluc3RlYWQgb2YgZnJvbQoJICBHc3RFbGVtZW50LiBUaGlzIG1lYW5zIGxlc3MgY29kZSBhbmQgbW9yZSB1bmlmb3JtaXR5IHdpdGggb3RoZXIgT3BlbkNWCgkgIGVsZW1lbnRzLgoKMjAxNS0xMi0xNyAxNTo1Njo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogRG9uJ3QgY3Jhc2ggd2hlbiBkZWNvZGluZyByZXR1cm5zIE5VTEwgZGF0YSBmb3IgYW55IGNvbXBvbmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTQzCgoyMDE1LTEyLTE1IDE0OjE0OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuaDoKCSAgZ2xiYXNlbWVtb3J5OiBkb24ndCB1bmNvbmRpdGlvbmFsbHkgYWRkIHRoZSBhbGlnbm1lbnQgYnl0ZXMgdG8gdGhlIHNpemUKCSAgZS5nIHdoZW4gd3JhcHBpbmcgYSBkYXRhIHBvaW50ZXIgd2UgZG9uJ3Qgd2FudCB0byBtYXAvdW5tYXAgb2ZmIHRoZSBlbmQgb2YKCSAgcG9pbnRlciB3aXRoIHRoZSBhbGlnbm1lbnQgYnl0ZXMuCgkgIEluc3RlYWQgdHJhY2sgdGhhdCBpbmZvcm1hdGlvbiBzZXBhcmF0ZWx5IGFzIG1heHNpemUgaXMgdXNlZCBmb3IgbWFwcGluZyBieQoJICBHc3RNZW1vcnkgYW5kIHRodXMgcmVwcmVzZW50cyBhIHNpemUgd2l0aG91dCBhbnkgYWxpZ25tZW50IHBhZGRpbmcgYnl0ZXMuCgoyMDE1LTEyLTE3IDEwOjUxOjMxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSAgb3BlbmN2OiBhZGQgYmx1ciBhbmQgYmlsYXRlcmFsIHN1cHBvcnQgaW4gY3ZzbW9vdGgKCSAgQWRkaW5nIHRoZSBzdXBwb3J0IGZvciB0aGUgdHdvIG90aGVyIE9wZW5DViBsaW5lYXIgZmlsdGVycyB0byBzbW9vdGgKCSAgaW1hZ2VzLiBUaGUgbmV3IEFQSSBkb2VzIHN1cHBvcnQgc3BhdGlhbCBzaWdtYSBpbiB0aGUgYmlsYXRlcmFsIGZpbHRlciwKCSAgaGVuY2UgYnJpbmdpbmcgdGhhdCBwcm9wZXJ0eSBiYWNrLgoJICBBZGRpbmcgcmVmZXJlbmNlIHRvIG5ldyBkb2N1bWVudGF0aW9uLgoKMjAxNS0xMi0xNyAwODo1MTo0OCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogRml4IHdyb25nIGxvZ2ljIGxlYWRpbmcgdG8gbWVtb3J5IG1pc2hhbmRsaW5nCgkgIFdoaWxlIGVuY29kaW5nIHRoZSBmcmFtZSBpbiBBU0NJSSBtb2RlLCBwZXIgY29tcG9uZW50IGZvdXIgYnl0ZXMgYXJlIG5lZWRlZAoJICBhbmQgYWZ0ZXIgZXZlcnkgMjAgYnl0ZXMsIGEgXG4gd2lsbCBiZSBhZGRlZC4gU28gdGhlIGNhbGN1bGF0aW9uIHNob3VsZCBiZQoJICBzaXplID0gc2l6ZSAqICg0ICsgMSAvIDIwKS4gVGhpcyBzaG91bGQgZXhjbHVkZSB0aGUgaGVhZGVyIGJlaW5nIHdyaXR0ZW4uCgkgIFNpbmNlIGhlYWRlciBpcyBhbHNvIGJlaW5nIGluY2x1ZGVkIGluIHRoZSBjYWxjdWxhdGlvbnMsIG1lbW9yeSBtaXNoYW5kbGluZ3MKCSAgYXJlIGhhcHBlbmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMAoKMjAxNS0xMi0xNyAxNTo1MDo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIGdsYnVmZmVyOiBhZGQgYSBuYW1lIHRvIHRoZSBhbGxvY2F0b3IKCjIwMTUtMTItMTcgMTU6MjM6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc3VyZmFjZW1lbW9yeS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsKm1lbW9yeSo6IHJldmVyc2UgdGhlIHBhcmFtZXRlciBvcmRlciBvZiB1c2VyX2RhdGEgYW5kIGRlc3Ryb3kgbm90aWZ5CgkgIFRoZSBjb252ZW50aW9uIGlzIHRvIGhhdmUgdGhlIGRlc3Ryb3kgbm90aWZ5IGxhc3QgYWZ0ZXIgYW55IHVzZXIgZGF0YQoKMjAxNS0xMi0xNyAxNTowNzozMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBmaXggYnVpbGQgb24gaU9TCgkgIEZpeCBidWlsZCBhZnRlciA3NzlkYzMxMzJjOGY2ZGQ1NjBjYjA3Y2MyZTJjM2M3MmFlYWE3ODQ1CgoyMDE1LTEyLTE3IDE0OjQ5OjEzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBkbyBmaXhhdGUKCjIwMTUtMTItMTYgMTg6NDE6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsbWVtb3J5cGJvOiByZW1vdmUgb3VyIG93biBhbGxvYygpL3dyYXBwZWQoKS9ldGMgZnVuY3Rpb25zCgkgIHJlcGxhY2VkIGJ5IGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSB3aXRoaW4gZ3N0X2dsX2Jhc2VfbWVtb3J5X2FsbG9jKCkKCjIwMTUtMTItMTYgMTg6Mzk6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZG9jdW1lbnQgZ3N0X2dsX21lbW9yeV9pbml0CgoyMDE1LTEyLTE2IDE4OjM4OjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsYnVmZmVyOiByZW1vdmUgdW5uZWVkZWQgZ3N0X2dsX2J1ZmZlcl9hbGxvYygpCgkgIFJlcGxhY2VkIGJ5IGdzdF9nbF9iYXNlX21lbW9yeV9hbGxvYygpCgoyMDE1LTEyLTE2IDE4OjM3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5LmM6CgkgIGdsYmFzZW1lbW9yeTogZG9jdW1lbnQgc29tZSBmdW5jdGlvbnMKCjIwMTUtMTItMTYgMTg6MzY6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIGEgZGVmYXVsdCBjb3B5IGltcGxlbWVudGF0aW9uCgkgIFN1YmNsYXNzZXMgc3RpbGwgbmVlZCB0byBvdmVycmlkZSB0aGlzIHRvIGNvcHkgaW50byB0aGUgY29ycmVjdCBtZW1vcnkgdHlwZS4KCjIwMTUtMTItMTYgMTg6MzI6NDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbGJ1ZmZlcnBvb2w6IHVzZSBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2MgYXMgYSBnZW5lcmljIEdMIGFsbG9jYXRpb24gZnJhbWV3b3JrCgkgIFJlcXVpcmVzIHRoZSB1c2FnZSBvZiBHc3RHTFZpZGVvQWxsb2NhdGlvblBhcmFtcyBob3dldmVyIGFueSB1c2VyIGNhbiBzZXQgdGhlaXIKCSAgb3duIHBhcmFtZXRlcnMgYWxvbmcgd2l0aCBhbiBhbGxvY2F0b3Igd2hpY2ggd2lsbCBiZSB1c2VkIHRvIGFsbG9jYXRlIHRoZQoJICBjb3JyZWN0IG1lbW9yeSB0eXBlLgoKMjAxNS0xMi0xNiAxODozMDo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJICBnbG1lbW9yeXBibzogaW1wbGVtZW50IEdzdEdMQmFzZU1lbW9yeTphbGxvYwoJICBVc2VzIHRoZSBHc3RHTFZpZGVvQWxsb2NhdGlvblBhcmFtcyBwYXJhbWV0ZXJzCgoyMDE1LTEyLTE2IDE4OjIzOjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkgIGdsYnVmZmVyOiBpbXBsZW1lbnRzIEdzdEdMQmFzZU1lbW9yeTo6YWxsb2MKCSAgQ3JlYXRlIEdzdEdMQnVmZmVyQWxsb2NhdGlvblBhcmFtcyB3aGljaCBpcyBzdWJjbGFzcyBvZiBHc3RHTEFsbG9jYXRpb25QYXJhbXMKCjIwMTUtMTItMTYgMTg6MjA6MTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBnbG1lbW9yeTogaW1wbGVtZW50IEdzdEdMQmFzZU1lbW9yeTo6YWxsb2MKCSAgLSBDcmVhdGUgR3N0R0xWaWRlb0FsbG9jYXRpb25QYXJhbXMgd2hpY2ggaXMgYSBHc3RHTEFsbG9jYXRpb25QYXJhbXMgc3ViY2xhc3MuCgkgIC0gTWFrZSBpdCBwb3NzaWJsZSB0byBhbGxvY2F0ZSBnbG1lbW9yeSBvYmplY3RzIGRpcmVjdGx5IGlmIG5vIGZyaWxscyBhcmUKCSAgbmVlZGVkLgoKMjAxNS0xMi0xNiAxODoxMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsYmFzZW1lbW9yeTogYWRkIGEgZ2VuZXJpYyBpbnRlcmZhY2UgZm9yIGFsbG9jYXRpbmcgR0wgbWVtb3JpZXMKCSAgVGhpcyBpcyBtYWRlIHBvc3NpYmxlIGJ5IGEgc3ViY2xhc3NhYmxlIEdzdEdMQWxsb2NhdGlvblBhcmFtcyB0aGF0IGhvbGRzCgkgIHRoZSBhbGxvY2F0aW9uIHBhcmFtZXRlcnMKCSAgRXZlcnkgYWxsb2NhdGlvbiB3b3VsZCBub3cgZ28gdGhyb3VnaCBnc3RfZ2xfYmFzZV9tZW1vcnlfYWxsb2Mgd2l0aCB0aGUKCSAgYWxsb2NhdGlvbiBwYXJhbWV0ZXJzIG5vdyBiZWluZyBzcGVjaWZpZWQgaW4gYSBzaW5nbGUgc3RydWN0IHRvIGFsbG93CgkgIGV4dGVuc2lvbiBieSBkaWZmZXJlbnQgYWxsb2NhdG9ycy4KCjIwMTUtMTItMTcgMTI6MzA6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgcmV2ZXJ0IGNvbW1vbiBzdWJtb2R1bGUgY2hhbmdlCgkgIDhhZTAwMzMyNjE1NzQzOGMxMmM0NTU4OWUwNTBjNWY0NDY3MjNmNjEgY29udGFpbmVkIGEgZXJyb25lb3VzIGNvbW1vbiBjaGFuZ2UKCjIwMTUtMTItMTcgMTE6MDY6MzQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJICBSZXZlcnQgImdsYnVmZmVyOiBEb24ndCBwYXNzIGFsbG9jYXRpb24gcGFyYW1zIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDA1MmY0MWU1YzI5M2VjMTdjMDM4NDY3ZWQxZTdiOTJiMDRkNDk0YjAuCgkgIFRoaXMgaXMgaW5jb3JyZWN0IGFuZCB3aWxsIGFmZmVjdCBhbnkgb3RoZXIgZ2xidWZmZXIgdXNlciB0aGF0IG5lZWRzL3dhbnRzIHRvCgkgIHBlcmZvcm0gZGF0YSBhbGlnbm1lbnQuCgoyMDE1LTEyLTE2IDE5OjIxOjI0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkgIG9wZW5jdjogYWRkIG1lZGlhbkJsdXIgc3VwcG9ydCBpbiBjdnNtb290aAoJICBXaXRoIHRoZSBkZXByZWNhdGlvbiBvZiBjdlNtb290aCB3ZSBoYXZlIHRvIGhhbmRsZSB0aGUgb3RoZXIgc21vb3RoaW5nCgkgIGZ1bmN0aW9ucyBtYW51YWxseS4KCjIwMTUtMTItMTYgMTg6Mzc6MzcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJICBvcGVuY3Y6IHN3aXRjaCBkZXByZWNhdGVkIGN2U21vb3RoIGZvciBHYXVzc2lhbkJsdXIKCSAgVGhlIE9wZW5DViBjdlNtb290aCBmdW5jdGlvbiBpcyBkZXByZWNhdGVkIFswXSBhbmQgdGhlIGRvY3VtZW50YXRpb24KCSAgcmVjb21tZW5kcyB0byB1c2UgR2F1c3NpYW5CbHVyICgpLiBUaGlzIG1ha2VzIHRoZSBzcGF0aWFsIHByb3BlcnR5IGdvCgkgIHVudXNlZC4gTWFya2luZyBpdCBhcyBkZXByZWNhdGVkLCBtYWtpbmcgaXQgbm9uLWZ1bmN0aW9uYWwgYW5kIHdpbGwgcmVtb3ZlCgkgIGluIHRoZSBuZXh0IGN5Y2xlLgoJICBbMF0gaHR0cDovL2RvY3Mub3BlbmN2Lm9yZy8yLjQvbW9kdWxlcy9pbWdwcm9jL2RvYy9maWx0ZXJpbmcuaHRtbAoKMjAxNS0xMi0xNiAxMTo1NjowOCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIGdsYnVmZmVyOiBEb24ndCBwYXNzIGFsbG9jYXRpb24gcGFyYW1zCgkgIFRoZSBpbXBvcnRlZCBtZW1vcnkgaGFzIGFscmVhZHkgYmVlbiBhbGxvY2F0ZWQsIHBhc3NpbmcgYWxsb2NhdGlvbgoJICBwYXJhbWV0ZXJzIHdpdGggYWxpZ25tZW50IGNvbmZ1c2VzIHRoZSBtZW1vcnkgd2hpY2ggZW5kdXAgd2l0aCBhCgkgIHNpemUgZGlmZmVyZW50IGZyb20gbWF4c2l6ZSBhbmQgbGVhZCB0byBvdmVycnVuIHdoZW4gdGhlIG1lbW9yeQoJICBpcyBiZWluZyBjb3BpZWQuCgoyMDE1LTEyLTE2IDEzOjU5OjE4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgdmFsaWRhdGlvbiBvZiBVVEN0aW1pbmcgZWxlbWVudAoJICBnc3RfbXBkcGFyc2VyX3BhcnNlX3V0Y3RpbWluZ19ub2RlIGRvZXMgbm90IHZhbGlkYXRlIHRoZSBwYXJzZWQgdmFsdWVzIGNvbXBsZXRlbHkuIFRoZSBmb2xsb3dpbmcgc2NlbmFyaW9zIGFyZSBpbmNvcnJlY3RseSBhY2NlcHRlZDoKCSAgLSBlbGVtZW50cyB3aXRoIG5vIHNjaGVtZUlkVXJpIHByb3BlcnR5IHNob3VsZCBiZSByZWplY3RlZAoJICAtIGVsZW1lbnRzIHdpdGggdW5yZWNvZ25pemVkIFVUQ1RpbWluZyBzY2hlbWUgc2hvdWxkIGJlIHJlamVjdGVkCgkgIC0gZWxlbWVudHMgd2l0aCBlbXB0eSB2YWx1ZXMgc2hvdWxkIGJlIHJlamVjdGVkCgkgIFRoZSBsYXN0IG9uZSB0cmlnZ2VycyBhIGRpdmlzaW9uIGJ5IDAgaW4gZ3N0X2Rhc2hfZGVtdXhfcG9sbF9jbG9ja19kcmlmdDoKCSAgY2xvY2tfZHJpZnQtPnNlbGVjdGVkX3VybCA9IGNsb2NrX2RyaWZ0LT5zZWxlY3RlZF91cmwgJSBnX3N0cnZfbGVuZ3RoICh1cmxzKTsKCSAgYmVjYXVzZSBpdCB1cmxzIGlzIGEgdmFsaWQgcG9pbnRlciB0byBhbiBlbXB0eSBhcnJheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTU0NwoKMjAxNS0xMi0xNiAxMDo0MTo0NyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjbG9ja19jb25kIGlzIG5vdCB1c2VkIGFuZCBzaG91bGQgYmUgcmVtb3ZlZAoJICBUaGVyZSBhcmUgbm8gdGhyZWFkcyB3YWl0aW5nIG9uIGNsb2NrX2NvbmQuIEl0IGlzIGp1c3QgaW5pdGlhbGlzZWQgYW5kCgkgIHNpZ25hbGxlZC4gSXQgc2hvdWxkIGJlIHJlbW92ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MzcKCjIwMTUtMTItMTYgMTA6MjM6MjMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIGNsb2NrIGNvbXBlbnNhdGlvbiBpbiBnZXRfZnJhZ21lbnRfd2FpdGluZ190aW1lCgkgIENsb2NrIGNvbXBlbnNhdGlvbiBpcyBjYWxjdWxhdGVkIGluIHVzZWMgYnV0IGlzIGFkZGVkIHRvIGEgR3N0Q2xvY2tUaW1lIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTM0CgoyMDE1LTEyLTE2IDEwOjIxOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IExpbmsgdG8gSU9TdXJmYWNlLmZyYW1ld29yayBmb3IgdGhlIElPU3VyZmFjZSBBUEkKCjIwMTUtMTItMTUgMTc6MTA6MDAgKzAwMDAgIERhdmUgQ3JhaWcgPGRhdmVjcmFpZ0B1bmJhbGFuY2VkYXVkaW8uY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogQ2hlY2sgZm9yIE5VTEwgcmV0dXJuIHZhbHVlIG9mIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcygpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MDMKCjIwMTUtMTItMTYgMTQ6MzI6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IEZpeCB2YWx1ZSBtZW1vcnkgbGVhawoJICBndmFsdWUgdmFyaWFibGUgc2hvdWxkIGJlIHVuc2V0IGluc3RlYWQgb2YgcmVzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjUKCjIwMTUtMTItMTYgMTQ6Mjk6MjAgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkgIGNvbWJkZXRlY3Q6IEZpeCB2YWx1ZSBtZW1vcnkgbGVhawoJICBndmFsdWUgdmFyaWFibGUgc2hvdWxkIGJlIHVuc2V0IGluc3RlYWQgb2YgcmVzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjMKCjIwMTUtMTItMTYgMTM6MDg6MjIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IEZpeCBzY2FubmVyIG1lbW9yeSBsZWFrCgkgIEZvciBjb3JydXB0ZWQgZmlsZXMsIHNjYW5uZXIgbWVtb3J5IGlzIGJlaW5nIGxlYWtlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUyMgoKMjAxNS0xMi0xNiAxMzowNjo0NSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRml4IGJ1ZmZlciBtZW1vcnkgbGVhawoJICBJbiBjYXNlIG9mIGNvcnJ1cHRlZCBmaWxlLCBzLT5idWYgYWxsb2NhdGVkIGlzIG5vdCBiZWluZyBmcmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU5NTIyCgoyMDE1LTEyLTE2IDA5OjA1OjQyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBGaXggc3RyaW5nIG1lbW9yeSBsZWFrCgkgIGhlYWRlciBiZWluZyBhbGxvY2F0ZWQgaXMgbm90IGZyZWVkIHJlc3VsdGluZyBpbiBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MjAKCjIwMTUtMTItMTYgMDg6NTI6MTIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IEZpeCBidWZmZXIgbWVtb3J5IGxlYWsKCSAgb3V0YnVmZmVyIGJlaW5nIGFsbG9jYXRlZCBpcyBub3QgYmVpbmcgcHVzaGVkIHRvIHF1ZXVlIGZvciBFT1MgZXZlbnQgYW5kIGhlbmNlCgkgIHNob3VsZCBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUxOQoKMjAxNS0xMi0xNiAwOTozOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBMaW5rIHRvIElPS2l0LmZyYW1ld29yayBmb3IgSU9TdXJmYWNlIHJlbGF0ZWQgZnVuY3Rpb25zCgoyMDE1LTEyLTE2IDA5OjMzOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSAgZG9jczogdXBkYXRlIHRvIGdpdAoKMjAxNS0xMi0xNiAwODoyNToxOSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC95YWRpZi92Zl95YWRpZi5jOgoJICB5YWRpZjogRml4IGlsbGVnYWwgbWVtb3J5IGFjY2VzcwoJICBXaGVuIGFwcGx5aW5nIHRoZSBzcGF0aWFsIHByZWRpY3Rpb24sIHRoZXJlIGlzIGFuIGlsbGVnYWwgYWNjZXNzIG9mIC0xIGluZGV4IG9mIGFycmF5LgoJICBIZW5jZSBhZGRpbmcgYSBjb25kaXRpb24gdG8gYXZvaWQgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTUxOAoKMjAxNS0xMi0xNiAwODoyMjowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJICB5YWRpZjogRml4IGd2YWx1ZSBtZW1vcnkgbGVhawoJICBndmFsdWUgdmFyaWFibGUgc2hvdWxkIGJlIHVuc2V0IGluc3RlYWQgb2YgcmVzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTk1MTgKCjIwMTUtMTItMTYgMTc6MDI6MjcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCB0ZXh0dXJlLXRhcmdldCBvbiBpT1MKCjIwMTUtMTItMTYgMTU6MjA6MzAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbW92ZSBvYnNvbGV0ZSBGSVhNRQoKMjAxNS0xMi0xNiAxNDozODo0NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogcmV3b3JrIEdMTWVtb3J5IG5lZ290aWF0aW9uCgkgIE9ubHkgZG8gR0xNZW1vcnkgd2hlbiBhIEdzdEdMQ29udGV4dCBpcyBhdmFpbGFibGUgQU5EIEdMTWVtb3J5IGlzIGFjdHVhbGx5CgkgIG5lZ290aWF0ZWQgd2l0aCBkb3duc3RyZWFtLgoKMjAxNS0xMi0xNiAxMzo0NzowMCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYzogdXBkYXRlIGFmdGVyIElPU3VyZmFjZSBjaGFuZ2VzCgkgIFByZWZlciBHTE1lbW9yeSBvdmVyIHN5c21lbS4gQWxzbyBub3cgd2hlbiBwdXNoaW5nIEdMTWVtb3J5IHdlIHB1c2ggdGhlCgkgIG9yaWdpbmFsIGZvcm1hdHMgKFVZVlkgaW4gT1NYLCBCR1JBIGluIGlPUykgYW5kIGxlYXZlIGl0IHRvIGRvd25zdHJlYW0gdG8KCSAgY29udmVydC4KCjIwMTUtMTItMTQgMTY6MTA6MDEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHJlbW92ZSB0aGUgaW50ZXJuYWwgR3N0R0xDb2xvckNvbnZlcnQKCSAgSXQgd2FzIGFkZGVkIGJhY2sgaW4gdGhlIGRheSB0byBtYWtlIHRleHR1cmUgc2hhcmluZyB3b3JrIGJ5IGRlZmF1bHQgd2l0aAoJICBnbGltYWdlc2luayBpbnNpZGUgcGxheWJpbi4gVGhlc2UgZGF5cyBnbGltYWdlc2luayBhY2NlcHRzIChhbmQgY29udmVydHMpIFlVVgoJICBpbnRlcm5hbGx5IHNvIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZC4KCjIwMTUtMTItMTQgMTQ6MjM6MjAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGRlY291cGxlIG91dHB1dHRpbmcgdGV4dHVyZXMgZnJvbSBvdXRwdXR0aW5nIFJHQkEKCSAgV2UncmUgZ29pbmcgdG8gYmUgYWJsZSB0byBvdXRwdXQgTlYxMiB0ZXh0dXJlcyBzb29uLgoKMjAxNS0xMi0xMSAxMzoyMDowNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3N1cmZhY2VtZW1vcnkuYzoKCSogc3lzL2FwcGxlbWVkaWEvaW9zdXJmYWNlbWVtb3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3ZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzd2l0Y2ggdG8gSU9TdXJmYWNlIG9uIE1hYwoJICBTd2l0Y2ggdG8gdXNpbmcgSU9TdXJmYWNlIGluc3RlYWQgb2YgQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUgb24gT1NYLiBUaGUgbGF0dGVyIGNhbid0IGJlCgkgIHVzZWQgYW55bW9yZSB0byBkbyBZVVYgPT4gUkdCIHdpdGggb3BlbmdsMyBvbiBFbCBDYXBpdGFuIGFzIEdMX1lDQkNSXzQyMl9BUFBMRQoJICBoYXMgYmVlbiByZW1vdmVkIGZyb20gdGhlIG9wZW5nbDMgZHJpdmVyLiBBbHNvIHN3aXRjaCB0byBOVjEyIGZyb20gVVlWWSwgd2hpY2gKCSAgd2FzIHRoZSBvbmx5IFlVViBmb3JtYXQgc3VwcG9ydGVkIGJ5IENWT3BlbkdMVGV4dHVyZUNhY2hlLgoKMjAxNS0xMi0xMCAxNjoyMjowOCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvdmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogcmVuYW1lIEdzdENvcmVWaWRlb1RleHR1cmVDYWNoZSB0byBHc3RWaWRlb1RleHR1cmVDYWNoZQoJICBGaXJzdCBvZiBhIGZldyBjb21taXRzIHRvIHN0b3AgdXNpbmcgQ1ZPcGVuR0xUZXh0dXJlQ2FjaGUgb24gT1NYIGFuZCB1c2UKCSAgSU9TdXJmYWNlcyBkaXJlY3RseSBpbnN0ZWFkLiBDVk9wZW5HTFRleHR1cmVDYWNoZSBoYXNuJ3QgYmVlbiB1cGRhdGVkIGZvciBPcGVuR0wKCSAgMyB3aGljaCBpcyB3aHkgdGV4dHVyZSBzaGFyaW5nIGlzIGN1cnJlbnRseSBkaXNhYmxlZCBvbiBPU1guCgoyMDE1LTExLTE3IDE5OjMxOjUzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIFJldmVydCAidnRkZWM6IGRpc2FibGUgdGhlIHRleHR1cmUgY2FjaGUgb24gT1NYIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGYwMjQyNWM0YWZjZDg1MjYwYTFiMzg3YWVkZGY4NjM3NzQyNTc5MTcuCgoyMDE1LTEyLTE1IDE0OjE3OjE2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IGFsbG9jYXRvciBuYW1lIGFmdGVyIEdMTWVtb3J5IEFQSSBjaGFuZ2VzCgoyMDE1LTEyLTE1IDE5OjI4OjA1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0c2luazogQWRkIGNvbmZpZ3VyZWQgR0wgY2ZsYWdzIHRvIHRoZSBidWlsZAoJICBXZSBkb24ndCBkaXJlY3RseSBsaW5rIHRvIEdMIGluIHRoZSBlbGVtZW50LCB0aG91Z2ggd2UgdXNlIEdMIGhlYWRlcnMuCgkgIEZvciB0aGlzIHJlYXNvbiB3ZSBuZWVkIHRvIGluY2x1ZGUgdGhlIHByb3BlciBHTCBoZWFkZXJzIHBhdGguIFRoaXMKCSAgcHJldmVudCB0aGlzIGVsZW1lbnQgZnJvbSB1c2luZyBhIGRpZmZlcmVudCBHTCBoZWFkZXIgdGhlbiBsaWJnc3RnbC4KCjIwMTUtMTItMTUgMTk6MjU6MTYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBBbGxvdyB1c2luZyBub24tc3lzdGVtIG1lc2Egd2l0aCBib3RoIEdMIGFuZCBHTEVTCgkgIEdDQyBhdXRvbWF0aWNhbGx5IGRpc2FibGUgcmVkdW5kYW5jZSB3YXJuaW5ncyBmb3Igc3lzdGVtIGhlYWRlcnMuIEFzCgkgIHNvb24gYXMgd2Ugc3RhcnQgdXNpbmcgYSBub24tc3lzdGVtIGluc3RhbGxlZCBtZXNhLCB3ZSB3b3VsZCBzdGFydAoJICBoYXZpbmcgaXNzdWVzLiBUaGUgdGVzdCBmb3IgYm90aCB3YXNuJ3Qgc2V0dGluZyBhbnkgZmxhZ3MsIHNvIGl0IHdvdWxkCgkgIHdvcmsgYnV0IHRoZW4gZmFpbCBhdCBydW50aW1lLgoJICBUaGlzIGlzIGJlaW5nIGZpeGVkIGJ5IGRpc2FibGluZyBpbiB0aGUgY29kZSAod2hlcmUgbmVlZGVkIG9ubHkpIHRoYXQKCSAgR0NDIHdhcm5pbmcuIFRoZSB0ZXN0IGlzIGFsc28gZml4ZWQgdG8gYXZvaWQgdGhlIGZhbHNlIHBvc2l0aXZlIHdlIGhhZC4KCjIwMTUtMTItMTUgMTU6NTk6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmNwcDoKCSAgb3BlbmN2OiBweXJhbWlkc2VnbWVudDogZml4IGV4YW1wbGUgbGF1bmNoIGxpbmUKCSAgVXNlIHZpZGVvdGVzdHNyYyBhbmQgYXV0b3ZpZGVvc2luayBpbiB0aGUgZXhhbXBsZSBnc3QtbGF1bmNoLTEuMCBsaW5lIGFuZAoJICBub3QgYSB1c2VsZXNzIGZha2VzcmMtZmFrZXNpbmsgZXhhbXBsZS4KCjIwMTUtMTItMTUgMTU6NTY6MTkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jcHA6CgkgIG9wZW5jdjogYWRkIGhlYWRlcnMgd2l0aCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBBZGQgZGVzY3JpcHRpb24gaGVhZGVycyBmb3IgYWxsIHRoZSBPcGVuQ1YgcGx1Z2lucyBtaXNzaW5nIHRoZW0sIHNvIHdlIGNhbgoJICBoYXZlIGdzdC1sYXVuY2gtMS4wIGV4YW1wbGUgbGF1bmNoIGxpbmVzIGZvciBhbGwgb2YgdGhlbS4KCjIwMTUtMTItMTQgMTY6NDg6NDUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmdsOiBVc2UgcGtnLWNvbmZpZyBpZiBhdmFpbGFibGUKCSAgbGliTWVzYSBzaGlwcyAucGMgZmlsZXMgbm93IGZvciBnbC9lZ2wvZ2xlc3YyLiBUaGlzIHBhdGNoIG1ha2VzIHVzZQoJICBvZiBpdCB3aGlsZSBrZWVwaW5nIHN1cHBvcnQgZm9yIHN5c3RlbSB3aXRob3V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDY4CgoyMDE1LTEyLTE1IDExOjU5OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGhlYWRlcnMgd2l0aCBleGFtcGxlIGxhdW5jaCBsaW5lcwoJICBBZGQgZGVzY3JpcHRpb24gaGVhZGVycyBmb3IgYWxsIGdlb21ldHJpY3RyYW5zZm9ybSBlbGVtZW50cyBzbyB3ZSBjYW4gaGF2ZQoJICBnc3QtbGF1bmNoLTEuMCBleGFtcGxlIGxhdW5jaCBsaW5lcyBmb3IgYWxsIG9mIHRoZW0uCgoyMDE1LTEyLTE0IDExOjA5OjQ2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogUkVBRE1FOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5MjoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2NoYW5uZWxtaXguYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dkcC9SRUFETUU6CgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9SRUFETUU6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kdmIvUkVBRE1FOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIHBsdWdpbnMtYmFkOiBGaXggZXhhbXBsZSBwaXBlbGluZXMKCSAgcmVuYW1lIGdzdC1sYXVuY2ggLS0+IGdzdC1sYXVuY2gtMS4wCgkgIHJlcGxhY2Ugb2xkIGVsZW1lbnRzIHdpdGggbmV3IGVsZW1lbnRzKGZmbXBlZ2NvbG9yc3BhY2UgLT4gdmlkZW9jb252ZXJ0LCBmZmVuY18qKiAtPiBhdmVuY18qKikKCSAgZml4IGNhcHMgaW4gZXhhbXBsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQzMgoKMjAxNS0xMi0xNCAxNTowMTowOSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgaWdub3JlOiB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwgdGVzdAoKMjAxNS0xMi0xNCAxNDo0NDozMSAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5oOgoJICBiYWQ6IEFkZCBnX2F1dG9wdHIoKSBzdXBwb3J0IHRvIGFsbCB0eXBlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY0CgoyMDE1LTEyLTE0IDEyOjMxOjUyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogY2hlY2sgcG9pbnRlciBiZWZvcmUgZGVyZWZlcmVuY2luZwoJICBwcml2LT5wcmltYXJ5X291dCBjb3VsZCBiZSBOVUxMLCBjaGVjayBiZWZvcmUgZGVyZWZlcmVuY2luZyBpdCBpbgoJICBHU1RfQlVGRkVSX0ZMQUdfU0VUICgpCgkgIENJRCAxMzA4OTQ1CgoyMDE1LTEyLTE0IDEzOjQzOjEwICswMjAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUBhaGlydS5ldT4KCgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkgIHZpZGVvZnJhbWUtYXVkaW9sZXZlbDogRml4IHBvc3NpYmxlIGRpdmlzaW9uIGJ5IHplcm8KCSAgSW4gdXBkYXRlX3Jtc19mcm9tX2J1ZmZlcigpLCBkaXZpc2lvbiBieSAiZnJhbWVzIiB3YXNuJ3QgY2hlY2tpbmcgd2hldGhlcgoJICAiZnJhbWVzIiBpcyB6ZXJvLgoJICBDSUQgMTM0MTUxOS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTQ0MwoKMjAxNS0xMi0xNCAwOTozODo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIGNsdXR0ZXI6IEZpeCBjb21waWxhdGlvbiBlcnJvciBpbiBHTCBleGFtcGxlcwoJICBJbmNsdWRlIGdzdC9nbC5oIGluc3RlYWQgb2Ygc3BlY2lmaWMgaGVhZGVycyB0byBwcmV2ZW50IHN1Y2ggcHJvYmxlbXMgYWxzbyBpbgoJICB0aGUgZnV0dXJlLgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6NDc6MCwKCSAgZnJvbSAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6MTM3LAoJICBmcm9tIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOjI5LAoJICBmcm9tIGNsdXR0ZXJzaGFyZS5jOjM5OgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDo1MToyMDogZXJyb3I6IGZpZWxkIOKAmG1lbeKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCgkgIEdzdEdMTWVtb3J5ICAgICAgbWVtOwoJICBeCgkgIC4uLy4uLy4uLy4uL2dzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOjEyNDoyNDogZXJyb3I6IGZpZWxkIOKAmHBhcmVudOKAmSBoYXMgaW5jb21wbGV0ZSB0eXBlCgkgIEdzdEdMTWVtb3J5QWxsb2NhdG9yIHBhcmVudDsKCSAgXgoJICAuLi8uLi8uLi8uLi9nc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnlwYm8uaDoxMzQ6Mjk6IGVycm9yOiBmaWVsZCDigJhwYXJlbnRfY2xhc3PigJkgaGFzIGluY29tcGxldGUgdHlwZQoJICBHc3RHTE1lbW9yeUFsbG9jYXRvckNsYXNzIHBhcmVudF9jbGFzczsKCSAgXgoKMjAxNS0xMi0xNCAxOToxODoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3IgR0xNZW1vcnkgQVBJIGNoYW5nZXMKCjIwMTUtMTItMTQgMTk6MTU6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IHVwZGF0ZSBmb3IgR0xNZW1vcnkgQVBJIGNoYW5nZXMKCjIwMTUtMTItMTQgMTg6NDE6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxNS0xMi0xNCAxODoyMDoyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkgIGdsYnVmZmVyOiBiaW5kL3VuYmluZCBvbiBtYXAvdW5tYXAgZm9yIEdMIG1hcHBpbmdzCgkgIEJpbmQgdGhlIGhhbmRsZSB0byB0aGUgR0wgdGFyZ2V0IG9uIG1hcC91bm1hcCB0byBzYXZlIHRoZSBjYWxsZXIgZnJvbQoJICBoYW5kbGluZyB0aGlzIHRoZW1zZWx2ZXMuCgoyMDE1LTEyLTE0IDE4OjE5OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkgIGdsYnVmZmVyOiByZW1vdmUgYnVmZmVyIHNwZWNpZmljIHRyYW5zZmVyIGZsYWdzCgkgIEluc3RlYWQgcmVseSBvbiBHc3RHTEJhc2VNZW1vcnkncyB0cmFuc2ZlciBoYW5kbGluZwoKMjAxNS0xMi0xNCAxODoxODoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkgIGdsbWVtb3J5cGJvOiBtYXAvdW5tYXAgcGJvIG1lbW9yeSBjb3JyZWN0bHkgZm9yIHN0YXRlIHRyYWNraW5nCgkgIE90aGVyd2lzZSBzb21lIGRvd25sb2FkcyB3aWxsIGZhaWwgdG8gb2NjdXIgZnJvbSB0aGUgUEJPLgoKMjAxNS0xMi0xNCAxODoxNTo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICB0ZXN0cy9nbG1lbW9yeTogaW5jbHVkZSB0aGUgZ2VuZXJpYyBnbCBoZWFkZXIKCSAgSW5jbHVkaW5nIGdzdGdsbWVtb3J5LmggZGlyZWN0bHkgcmVzdWx0cyBpbiB0aGUgY29tcGlsZXIgY29tcGxhaW5pbmcKCSAgYWJvdXQgaW5jb21wbGV0ZSB0eXBlcy4KCjIwMTUtMTItMTQgMTc6MDU6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZvcm1hdC5jOgoJICBnbGZvcm1hdDogYWRkIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbnMgZm9yIE9FUy9yZWN0YW5nbGUgdGV4dHVyZXMKCjIwMTUtMTItMTQgMTM6NDk6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xiYXNlYnVmZmVyOiByZW1vdmUgdW5zZWQgbWVtb3J5IHN1YmNsYXNzCgkgIFRoZSBmdW5jdGlvbmFsaXR5IGhhcyBiZWVuIHNwbGl0IGludG8gR3N0R0xCYXNlTWVtb3J5IGFuZCBHc3RHTEJ1ZmZlci4KCjIwMTUtMTItMTQgMTM6NDM6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmb3JtYXQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZm9ybWF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5cGJvLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeXBiby5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYmFzZSBjbGFzc2lmeSBhbmQgYWRkIHRoZSBwYm8gbWVtb3J5IG9uIHRvcAoJICBUaGUgYmFzZSBjbGFzcyBpcyB1c2VmdWwgZm9yIGhhdmluZyBtdWx0aXBsZSBiYWNraW5nIG1lbW9yeSB0eXBlcyBvdGhlcgoJICB0aGFuIHRoZSBkZWZhdWx0LiAgZS5nLiBJT1N1cmZhY2UsIEVHTEltYWdlLCBkbWFidWY/CgkgIFRoZSBQQk8gdHJhbnNmZXIgbG9naWMgaXMgbm93IGluc2lkZSBHc3RHTE1lbW9yeVBCTyB3aGljaCB1c2VzIEdzdEdMQnVmZmVyCgkgIHRvIG1hbmFnZSB0aGUgUEJPIG1lbW9yeS4KCSAgVGhpcyBhbHNvIG1vdmVzIHRoZSBmb3JtYXQgdXRpbGl0eSBmdW5jdGlvbnMgaW50byB0aGVpciBvd24gZmlsZS4KCjIwMTUtMTItMTQgMTM6MDg6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBhIEdMIGJ1ZmZlciBiYXNlZCBHc3RNZW1vcnkKCSAgSGVhdmlseSBiYXNlZCBvbiBHc3RHTEJhc2VCdWZmZXIgdGhhdCBpcyBhIHN1YmNsYXNzIG9mIEdzdEdMQmFzZU1lbW9yeS4KCSAgUHJvdmlkZXMgR1BVIGFuZCBDUFUgYWNjZXNzaWJsZSBHTCBidWZmZXIgb2JqZWN0cyBieSBHTCBoYW5kbGUgb3IgYnkKCSAgc3lzbWVtIGRhdGEgcG9pbnRlci4KCjIwMTUtMTItMTQgMTI6NTk6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZW1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlbWVtb3J5Lmg6CgkgIGdsOiBhZGQgYSBiYXNlIG1lbW9yeSBvYmplY3QKCSAgSXQgaGFuZGxlcyB0aGUgZm9sbG93aW5nCgkgIC0gR3N0QWxsb2NhdGlvblBhcmFtcyAtPiBnc3RfbWVtb3J5X2luaXQgdHJhbnNmb3JtYXRpb24KCSAgLSBNYWtlcyBzdXJlIHRoYXQgbWFwL3VubWFwL2NyZWF0ZS9kZXN0cm95IGhhcHBlbiBvbiB0aGUgR0wgdGhyZWFkIHdpdGgKCSAgYSBHTCBjb250ZXh0IGN1cnJlbnQuCgkgIC0gSG9sZHMgYSBwb3NzaWJsZSBzeXNtZW0gYWNjZXNzaWJsZSBkYXRhIHBvaW50ZXIgd2l0aCBhbGlnbm1lbnQuCgkgIC0gSG9sZHMgdGhlIG5lZWQgdXBsb2FkL2Rvd25sb2FkIHRyYW5zZmVyIHN0YXRlCgoyMDE1LTEyLTE0IDEyOjI2OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogYWRkIGNvbnZlbmllbmNlIGZ1bmN0aW9uIGZvciB0aGUgc3RhcnQgb2YgYSB2aWRlbyBmcmFtZQoJICBHZXQncyB0aGUgc3RhcnQgb2YgdGhlIHZpZGVvIGZyYW1lIGJhc2VkIG9uIGEgR3N0VmlkZW9JbmZvIGFuZAoJICBHc3RWaWRlb0FsaWdubWVudC4KCjIwMTUtMTItMTEgMTY6MDc6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWRtZXRhOyByZW1vdmUgY29udmVuaWVuY2UgaGVscGVyIEFQSQoJICBJdCB3YXMgbm90IHJlYWxseSB1c2VmdWwgYXMgaWYgb25lIGtub3dzIGFib3V0IGxpYmdzdGdsLCBvbmUgY2FuIGp1c3QgdXNlCgkgIEdMTWVtb3J5IG9iamVjdHMgZGlyZWN0bHkuCgoyMDE1LTEyLTExIDE1OjM5OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIGdsZG93bmxvYWQ6IHJlbW92ZSBoZWxwZXIgYXBpIGZyb20gdGhlIGxpYnJhcnkKCSAgSXQgd2FzIG5ldmVyIHVzZWQgYnkgYW55b25lIGFuZCBpcyBub3QgbmVlZGVkIGFueW1vcmUgd2l0aCB0aGUgZWxlbWVudAoJICBhbmQgR3N0R0xNZW1vcnkncyB0cmFuc3BhcmVudCBzdXBwb3J0IGZvciBkb3dubG9hZGluZyB0ZXh0dXJlcy4KCjIwMTUtMTItMTIgMjA6MDc6MzIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSogZXh0L29wZW5jdi9nc3RkaXNwYXJpdHkuaDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmNwcDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICBvcGVuY3Y6IGNsZWFuIGluY2x1ZGVzCgkgIFRoZSBvcGVuY3YgZWxlbWVudCBpbmNsdWRlcyB3ZXJlIGZ1bGwgb2YgZHVwbGljYXRlcyBhbmQgdW5lZWRlZCBoZWFkZXJzLgoJICBGb3IgZXhhbXBsZSBhIGZldyBlbGVtZW50cyB0aGF0IHN0b3BwZWQgdXNpbmcgZ3N0Y3ZvcGVuY3Z1dGlscyBzdGlsbAoJICBpbmNsdWRlZCB0aGF0IGhlYWRlciBmaWxlLgoKMjAxNS0xMi0xMiAxOTozMTo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIG9wZW5jdjogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgaW4gZ3N0b3BlbmN2dXRpbHMKCSAgU2luY2UgY29tbWl0IDQ1Y2E4ODc2YjJmNTI2N2Y3ZWRiODQyYjZkNTZkN2E2YzI3MWNjYjMgbm9ib2R5IGlzIHVzaW5nCgkgIGdzdF9vcGVuY3ZfZ2V0X2lwbF9kZXB0aF9hbmRfY2hhbm5lbHMoKSBvcgoJICBnc3Rfb3BlbmN2X3BhcnNlX2lwbGltYWdlX3BhcmFtc19mcm9tX3N0cnVjdHVyZSgpLiBSZW1vdmUgdGhpcyBkZWFkCgkgIGNvZGUuCgoyMDE1LTEyLTEyIDE5OjEzOjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFJlbW92ZSB1bnVzZWQgaW5jbHVkZXMKCjIwMTUtMTItMTIgMTA6MDY6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbW1vbjoKCSAgcmV2ZXJ0IGNvbW1vbiBzdWJtb2R1bGUgY2hhbmdlCgoyMDE1LTEyLTEyIDA5OjMzOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGNsZWFyIHRvIHRyYW5zcGFyZW50CgkgIE90aGVyd2lzZSBjb21wb3NpdGlvbiB3aWxsIHJlc3VsdCBpbiBhIGJsYWNrIGZyYW1lIG91dHNpZGUgdGhlIHRyYW5zZm9ybWVkCgkgIHZpZGVvLgoKMjAxNS0xMi0xMSAxMTozOTowOCArMDEwMCAgVGhvbWFzIFJvb3MgPHRob21hcy5yb29zQGluZHVzdHJvbmljLmRlPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDaGVjayByZXR1cm4gdmFsdWVzIG9mIERpcmVjdFNvdW5kIGZ1bmN0aW9ucyBpbiByZWFkIGxvb3AKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGVuZCB1cCBpbiBhbiBpbmZpbml0ZSBsb29wIGJlY2F1c2Ugb2YgZXJyb3JzLgoJICBBbHNvIHRha2UgdGhlIGVsZW1lbnQncyBtdXRleCBpbiB1bnByZXBhcmUoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI5MgoKMjAxNS0xMi0xMCAxMjo0NzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgcHJlLXNldCBwb3NpdGlvbiBmb3IgZXhhY3RseSB0aGUgc2FtZSBlc3NlbmNlIHRyYWNrCgkgIFRoZSBlZGl0IHJhdGUgaXMgb25seSBzdXBwb3NlZCB0byBiZSB0aGUgc2FtZSBpbiBhIHNvdXJjZSBwYWNrYWdlLCBidXQgdGhlcmUKCSAgbWlnaHQgYmUgbXVsdGlwbGUgc291cmNlIHBhY2thZ2VzIHdpdGggdGhlIHNhbWUgZXNzZW5jZSBjb250YWluZXIuIEFzIHN1Y2gKCSAganVzdCBjb21wYXJpbmcgdGhlIGJvZHkvaW5kZXggU0lEIGlzIG5vdCBzdWZmaWNpZW50LgoKMjAxNS0xMi0xMCAxMjoyNTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IE9ubHkgcHJlLXNldCB0aGUgdHJhY2sgcG9zaXRpb24gaWYgaXQncyBmb3IgdGhlIHNhbWUgYm9keS9pbmRleCBTSUQKCjIwMTUtMTItMTAgMTQ6NDE6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBsaWJnc3RnbDogZ3N0Z2xjb250ZXh0X2NvY29hOiBrQ0dMUEZBU3RlcmVvIGhhcyBiZWVuIGRlcHJlY2F0ZWQgaW4gMTAuMTEKCSAgQWxzbyBzaW5jZSB0aGUgdmVyc2lvbiBzY2hlbWUgaGFzIGNoYW5nZWQgKHRvIGluY2x1ZGUgdGhlIG1pY3JvIG51bWJlcikgc2luY2UKCSAgMTAuMTAsIHVzZSB0aGUgTUFDX09TX1hfVkVSU0lPTl8qIG1hY3JvIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMTUtMTItMTAgMTI6NDE6MDAgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IHJlbGF4IGNoZWNrIGZvciBtdWx0aXBsZSB0ZXh0dXJlIHRhcmdldHMKCSAgT25seSBjb21wbGFpbiBhYm91dCBtdWx0aXBsZSB0ZXh0dXJlIHRhcmdldHMgd2hlbiBfZGlmZmVyZW50XyB0ZXh0dXJlIHRhcmdldHMKCSAgYXJlIGNvbmZpZ3VyZWQuCgoyMDE1LTEyLTEwIDEyOjMzOjUyICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdGFrZSBzdWJzYW1wbGluZyBpbnRvIGFjY291bnQgZm9yIHJlY3RhbmdsZSB0ZXh0dXJlcwoJICBSZWN0YW5nbGUgdGV4dHVyZXMgZG9uJ3QgdXNlIG5vcm1hbGl6ZWQgY29vcmRpbmF0ZXMgc28gc3Vic2FtcGxpbmcgbmVlZHMgdG8gYmUKCSAgZmFjdG9yZWQgaW4gZXhwbGljaXRseS4KCSAgRml4ZXMgWVVWID0+IFJHQiBjb252ZXJzaW9uIGZvciByZWN0YW5nbGUgdGV4dHVyZXMuCgoyMDE1LTEyLTA5IDE2OjU1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBhY2Nlc3MgdGhlIGluZGV4IHRhYmxlIGlmIGl0IGhhcyBlbm91Z2ggZWxlbWVudHMKCjIwMTUtMTItMDkgMTY6Mjg6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVc2Uga2V5ZnJhbWUgaW5mb3JtYXRpb24gZnJvbSBpbmRleCB0YWJsZSBzZWdtZW50cyBpZiBhdmFpbGFibGUKCSAgV2UgZG9uJ3QgaW1wbGVtZW50IGtleWZyYW1lIGRldGVjdGlvbiBmb3IgYWxsIGNvZGVjcyBhbmQgdGhpcyB3aWxsIGFsbG93IHVzIHRvCgkgIGltcGxlbWVudCBiZXR0ZXIgc2Vla2luZy4KCjIwMTUtMTItMDkgMTY6MzE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBDb2xsZWN0IGFsbCBpbmRleCB0YWJsZSBzZWdtZW50cyBhZnRlciBmaW5kaW5nIHRoZSByYW5kb20gaW5kZXggcGFjawoJICBUaGF0IHdheSB3ZSBhbHdheXMgaGF2ZSB0aGUgaW5kZXggdGFibGUgaW5mb3JtYXRpb24gYXZhaWxhYmxlLCBlc3BlY2lhbGx5IHRoZQoJICBrZXlmcmFtZS1uZXNzIG9mIGFsbCBidWZmZXJzLgoKMjAxNS0xMi0wOCAxODoxNTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIG14ZmRlbXV4OiBGaXggaGFuZGxpbmcgb2YgSW5kZXhUYWJsZVNlZ21lbnRzCgkgIFRoaXMgd2FzIGNvbXBsZXRlbHkgYnJva2VuIGJlZm9yZSBhbmQgY291bGQgb25seSB3b3JrIG9uIGEgdmVyeSBjb25zdHJhaW5lZAoJICBzZXQgb2YgZmlsZXMuIEFmdGVyIHRoZXNlIGNoYW5nZXMgaXQgc2hvdWxkIHdvcmsgZXhjZXB0IGZvciBzaXR1YXRpb25zIHdoZXJlCgkgIFBUUyAhPSBEVFMsIHdoaWNoIGlzIG5vdCBoYW5kbGVkIGF0IGFsbCBpbiBteGZkZW11eCBjdXJyZW50bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTkxMTgKCjIwMTUtMTItMDggMTQ6MDY6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYXZvaWQgcHVzaGluZyBldmVudHMgd2l0aCBtYW5pZmVzdCBsb2NrCgkgIEl0IGNhbiBiZSBhbiBlYXN5IHNvdXJjZSBvZiBkZWFkbG9ja3MuIFJlcHJvZHVjaWJsZSB3aXRoIHZlcnkKCSAgZmFzdCBjb25uZWN0aW9ucyAobG9jYWwgc2VydmVyKS4KCjIwMTUtMTItMDggMjA6MjQ6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZnR5cGVzOiBGaXggcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cwoKMjAxNS0xMi0wOCAxODoyMzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogSGFuZGxlIGFnZ3JlZ2F0aW9uIHdpdGggTlVMTCBidWZmZXJzIHdpdGhvdXQgY3Jhc2hpbmcKCjIwMTUtMTItMDggMTY6NDU6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCBGSVhNRSBhYm91dCBlbmZvcmNpbmcgdGhhdCBhbGwgdHJhY2tzIGluIGEgc291cmNlIHBhY2thZ2UgaGF2ZSB0aGUgc2FtZSBlZGl0IHJhdGUKCSAgVGhlIHN0YW5kYXJkIHJlcXVpcmVzIHRoaXMgYW5kIGFsc28gdGhlIGluZGV4IHRhYmxlIHNlZ21lbnRzIGFyZSBub3QgZ29pbmcgdG8KCSAgd29yayBvdGhlcndpc2UuCgoyMDE1LTEyLTA3IDIwOjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBXcml0ZSBpbmRleCB0YWJsZSBzZWdtZW50cwoJICBCdXQgb25seSBmb3IgdGhlIGZpcnN0IGVzc2VuY2UgdHJhY2ssIGFuZCBvbmNlIGZvciBldmVyeSBrZXlmcmFtZSBldmVyeSAyCgkgIHNlY29uZHMuCgoyMDE1LTEyLTA3IDIwOjI2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZtZXRhZGF0YTogRml4IHN0YXRpYyBsb2NhbCB0YWcgZm9yIGluZGV4IHNpZAoKMjAxNS0xMi0wNyAxOTozNDoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZ0eXBlczogQWRkIGZ1bmN0aW9uIHRvIHNlcmlhbGl6ZSBhbiBpbmRleCB0YWJsZSBzZWdtZW50IHRvIGEgYnVmZmVyCgoyMDE1LTEyLTA3IDE4OjU5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmbXV4OiBJbmRleCB0YWJsZSBzZWdtZW50cyBtdXN0IG5vdCB1c2UgdGhlIHByaW1lciBwYWNrCgkgIEFjY29yZGluZyB0byBTMzc3LTEtMjAwOWMgOS4yIHRoZSBsb2NhbCB0YWdzIG11c3Qgbm90IGJlIHJlc29sdmVkIGZyb20gdGhlCgkgIHByaW1lciBwYWNrLCB3aGljaCBhcyBhIHJlc3VsdCBtZWFucyB0aGF0IHRoZXJlIGNhbid0IGJlIGFueSBvdGhlciB0YWdzIHRoYW4KCSAgc3RhdGljYWxseSBhc3NpZ25lZCBvbmVzLgoKMjAxNS0xMi0wNyAxNDoxMDozMCArMTAwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBzZWVraW5nIHRvIGZyYWdtZW50IGJvdW5kYXJpZXMKCSAgU2V0dGluZyB0aGUgc2VlayBmbGFncyB0byBHU1RfU0VFS19GTEFHX1NOQVBfKiB3aWxsIGNoYW5nZSB0aGUgc2VlawoJICB0YXJnZXQgdGltZSB0byBhIHNlZ21lbnQgYm91bmRhcnkuCgkgIEJhc2VkIG9uIG9yaWdpbmFsIHdvcmsgYnkgQmVuIFdpbGxlcnMgPGJ3aWxsZXJzQGRpZ2lzb2Z0LnR2Pi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1OTEwOAoKMjAxNS0xMi0wOCAwOTo1MzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2g6IEZpeCB1bml0IHRlc3QgYWZ0ZXIgbW92aW5nIG9mIGZyYW1lcmF0ZXMgdG8gUmVwcmVzZW50YXRpb25CYXNlVHlwZQoKMjAxNS0xMi0wOCAwOTozMzozOSArMDkwMCAgc3Vod2FuZy5raW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IFN1Z2dlc3Rpb24gZm9yIHNldHRpbmcgdGhlIGZyYW1lcmF0ZSBpbmZvcm1hdGlvbi4KCSAgRGFzaGRlbXV4IGhhcyBzZXQgdGhlIHdpZHRoIGFuZCBoZWlnaHQgaW5mb3JtYXRpb24gZnJvbSBNUEQgbWFuaWZlc3QuCgkgIFNvbWUgZW1iZWRkZWQgZGV2aWNlcyB3aGljaCBhcmUgbm90IGluc3VmZmljaWVudCBIL1cgcmVzb3VyY2VzIG5lZWQgbW9yZSBpbmZvcm1hdGlvbiBzdWNoIGFzIGZyYW1lcmF0ZQoJICB0byBhc3NpZ24gSC9XIHJlc291cmNlcy4gU28gSSBzdWdnZXN0ZWQgdGhhdCBkYXNoZGVtdXggYWxzbyBuZWVkcyB0byBzZXQgdGhlIGZyYW1lcmF0ZSBpbmZvcm1hdGlvbiBmcm9tIE1EUCBtYW5pZmVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODUxNQoKMjAxNS0xMi0wOCAwOToyMzoyMiArMDkwMCAgc3Vod2FuZy5raW0gPHN1aHdhbmcua2ltQGxnZS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbWF4RnJhbWVSYXRlICYgbWluRnJhbWVSYXRlIHNob3VsZCBiZSBpbiBSZXByZXNlbnRhdGlvbkJhc2UuCgkgIEFjY29yZGluZyB0byB0aGUgc3BlYywgdGhleSBjYW4gYmUgaW4gQWRhcHRhdGlvblNldCwgUmVwcmVzZW50YXRpb24gYW5kIFN1YlJlcHJlc2VudGF0aW9uLgoJICBTbyBUaGV5IHNob3VsZCBiZSBpbiBSZXByZXNlbnRhdGlvbkJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1MTUKCjIwMTUtMTItMDggMTY6MzU6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc3luYy5oOgoJICBnbHByb3RvOiBpbmNsdWRlIGZ1bmN0aW9uIGRlZmluaXRpb25zIGZvciBHTF9BUFBMRV9zeW5jCgkgIFByb3ZpZGVzIGEgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb24gaU9TIHdoZXJlIHdlIHdlcmUgZmFsbGluZyBiYWNrIHRvIGdsRmluaXNoCgkgIG9uIHNldHR0aW5nIHN5bmMgcG9pbnRzLgoKMjAxNS0xMi0wNyAyMDozNDoxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogQWxsIGZyYW1lcyBpbiBKUEVHMjAwMCBhcmUga2V5ZnJhbWVzLCBtYXJrIHRoZW0gYXMgc3VjaAoKMjAxNS0xMi0wNyAwOTowODoxNSAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGIzMTk5MDkgdG8gODZlNDY2MwoKMjAxNS0xMi0wNyAxMzo0ODoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUmVtb3ZlIG1vcmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IENJRCAjMTMyODgxOAoKMjAxNS0xMi0wNyAxMzozNjoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogRml4IGxlYWsgYW5kIE5VTEwgcG9pbnRlciB1c2FnZQoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDQKCjIwMTUtMTItMDcgMTE6NTY6MDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFJlbW92ZSBkZWFkIGNvZGUKCSAgKytpIGluIGEgZm9yKCkgbG9vcCByZXN1bHRzIGluIHRoZSBsb29wIG5ldmVyIGJlaW5nIGV4ZWN1dGVkIG1vcmUgdGhhbiBvbmNlCgkgIENvdmVyaXR5IENJRCAjMTM0MTc0OAoJICBDb3Zlcml0eSBDSUQgIzEzNDE3NDMKCjIwMTUtMDMtMTIgMTE6Mjk6MDAgKzAwMDAgIEZyw6lkw6lyaWMgV2FuZyA8ZnJlZC53YW5nQGZyZWUuZnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkgIGFjbTogUG9ydCBBQ00gTVAzIGRlY29kZXIgYW5kIGVuY29kZXJzIHRvIEdTdHJlYW1lciAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDA0NwoKMjAxNS0wOS0yNCAxNzo0MDowMiArMDIwMCAgRGFuaWVsIEthbWlsIEtvemFyIDxka2swODlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGVsZXRleHRkZWMvTWFrZWZpbGUuYW06CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHBvcnQgdGVsZXRleHRkZWMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM4MTkKCjIwMTUtMTItMDIgMTg6Mjg6MTUgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2eHBhcnNlOiBSZXNlbmQgUFBTL1NQUyBhZnRlciBzZWVrCgkgIFRoaXMgaXMgdG8gc3VwcG9ydCBieXRlLXN0cmVhbSBkZWNvZGVyIHRoYXQgZG9lcyBub3QgcmVtZW1iZXIgdGhlCgkgIFBQUy9TUFMgYWZ0ZXIgYSBmbHVzaC4gVGhpcyBpcyBub3QgbmVlZGVkIGJ5IGFsbCBkZWNvZGVycywgYnV0IGlzCgkgIGhhcm1sZXNzIGZvciB0aG9zZSB0aGF0IGRvIHJlbWVtYmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NDA1CgoyMDE1LTEyLTAxIDE4OjA5OjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE9ubHkgb2ZmZXIgY3VzdG9tIGFsbG9jYXRvciB3aXRoIGNhcHMgZmVhdHVyZXMKCSAgVG8gdXNlIEdMTWVtb3J5IGFuZCBFR0xJbWFnZSBhbGxvY2F0b3JzLCBvbmUgbmVlZCB0byBrbm93IHRoZQoJICBsaWJnc3RnbCBBUEkuIFRoaXMgaXMgb25seSBleHBlY3RlZCBpZiB0aGUgYXNzb2NpYXRlZCBjYXBzIGZlYXR1cmVzCgkgIGhhdmUgYmVlbiBuZWdvdGlhdGVkLiBHZW5lcmljIGVsZW1lbnQgdGhhdCBvdGhlcndpc2UgcmVjZWl2ZSB0aG9zZQoJICBhbGxvY2F0b3JzIG1heSBmYWlsLCByZXN1bHRpbmcgaW4gYnJva2VuIHBpZWxpbmUuIFdlIGRvbid0IHdhbnQgdG8KCSAgZm9yY2UgYWxsIGdlbmVyaWMgZWxlbWVudCB0byBjaGVjayBpZiB0aGUgYWxsb2NhdG9yIGlzIGEgY3VzdG9tCgkgIGFsbG9jYXRvciBvciBhIG5vcm1hbCBhbGxvY2F0b3IgKHdoaWNoIGltcGxlbWVudCB0aGUgX2FsbG9jIG1ldGhvZCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg4NzcKCjIwMTUtMTItMDQgMTg6MDU6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGNvcHkgaW5wdXQgYnVmZmVycywganVzdCBhcHBlbmQgdGhlbSB0byB0aGUgaGVhZGVyCgoyMDE1LTEyLTAzIDExOjQ2OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBSZXN5bmMgbGl2ZSBwbGF5bGlzdHMgdG8gdGhlIDNyZCBuZXdlc3QgZnJhZ21lbnQgaWYgd2UgZmFsbCBvZmYgdGhlIHBsYXlsaXN0CgkgIEFzIEhMUyBkb2VzIG5vdCBwcm92aWRlIGFueSB3YXkgb2Yga25vd2luZyB0aGUgc2VydmVyJ3MgY2xvY2ssIGFuZCB3ZSBkbwoJICBidWZmZXJpbmcgb2YgImxpdmUiIHN0cmVhbXMsIGF0IHNvbWUgcG9pbnQgd2Ugd2lsbCBmYWxsIGJlaGluZCB0aGUgc2VydmVyIGluCgkgIG1hbnkgY2FzZXMgYW5kIHdvdWxkIGhhdmUgdG8gYWR2YW5jZSB0byBhIGZyYWdtZW50IHRoYXQgaXMgbm90IGluIHRoZSBwbGF5bGlzdAoJICBhbnltb3JlLgoJICBQcmV2aW91c2x5IHdlIHdvdWxkJ3ZlIGp1c3QgcmVzeW5jZWQgdG8gdGhlIG5leHQgb2xkZXN0IGZyYWdtZW50IHRoYXQgaXMgc3RpbGwKCSAgdGhlcmUsIGJ1dCB0aGlzIGNhdXNlcyBwcm9ibGVtcyBhcyBmcm9tIHRoaXMgcG9pbnQgb253YXJkcyB3ZSB3b3VsZCBhbHdheXMKCSAgZmFsbCBvZmYgdGhlIHBsYXlsaXN0IGFnYWluIGFsbCB0aGUgdGltZS4KCSAgSW5zdGVhZCB3ZSBub3cgcmVzeW5jIGFuZCBtb3ZlIHRvIHRoZSAzcmQgbmV3ZXN0IGZyYWdtZW50IGxpa2Ugd2Ugd291bGQgZG8KCSAgd2hlbiBzdGFydGluZyBwbGF5YmFjayBvZiBhIGxpdmUgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTg3CgoyMDE1LTEyLTAzIDE4OjIxOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogbTN1ODogcmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9tM3U4X2NvcHkoKSBpbXBsZW1lbnRhdGlvbgoJICBObyBuZWVkIHRvIGltcGxlbWVudCBfY29weSgpIHdoZW4gd2UganVzdCBjb3B5IGEgbGlzdCB0aGF0CgkgIHdlJ3JlIGZyZWVpbmcgdGhyZWUgbGluZXMgbGF0ZXIgYW55d2F5LiBJbnN0ZWFkIGp1c3Qgc3RlYWwKCSAgdGhlIG5ldyBtYWluIGxpc3QuCgoyMDE1LTEyLTAzIDEwOjA4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBMb2cgUFRTIG9mIGJ1ZmZlcnMgdGhhdCBhcmUgcHVzaGVkIGRvd25zdHJlYW0KCjIwMTUtMTAtMjAgMDk6NDk6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBFeHBvc2UgRFZCIFN1YnBpY3R1cmUgYXMgc3VicGljdHVyZXMKCSAgRm9yIHNvbWUgcmVhc29uIHdlIHdlcmUgY29uc2lkZXJpbmcgdGhlbSBhcyBwcml2YXRlIGRhdGEuCgoyMDE1LTEwLTIwIDE3OjIyOjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBHQVAgZXZlbnRzICphZnRlciogZGVhY3RpdmF0aW5nIG9sZCBwcm9ncmFtcwoJICBUaGUgb3JkZXIgaW4gd2hpY2ggcHJvZ3JhbSBzd2l0Y2ggbXVzdCBoYXBwZW4gaXM6CgkgIDEpIGRyYWluIGFsbCBkYXRhIG9uIG9sZCBwYWRzIChidXQgZG9uJ3QgcHVzaCBFT1MpCgkgIDIpIGFkZCBuZXcgcGFkcyAoYnV0IGRvbid0IHB1c2ggYW55IGRhdGEgb24gdGhlbSkKCSAgMykgUHVzaCBFT1MgYW5kIHJlbW92ZSBvbGQgcGFkcwoJICA0KSBTdGFydCBwdXNoaW5nIGRhdGEgb24gbmV3IHBhZHMKCSAgVGhlcmUgd2FzIG9uZSBjYXZlYXQgaW4gdGhpcyBpbXBsZW1lbnRhdGlvbiwgd2hpY2ggaXMgdGhhdCB3aGVuCgkgIHdlIGFjdGl2YXRlIGEgc3BhcnNlIHBhZCAoc3RlcCAyKSB3ZSB3b3VsZCBwdXNoIGEgR0FQIGV2ZW50LiBUaGUgcHJvYmxlbQoJICBpcyB0aGF0LCB3aGlsZSBiZWluZyBhbiBldmVudCwgaXQgaXMgYWN0dWFsbHkgKmRhdGEqLgoJICBXZSB0aGVyZWZvcmUgbmVlZCB0byBtYWtlIHN1cmUgcHVzaGluZyB0aG9zZSBHQVAgZXZlbnQgaXMgZG9uZSBhdCB0aGUgc3RlcAoJICB3ZSBzdGFydCBwdXNoaW5nIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0MDIKCjIwMTUtMDktMTUgMTg6MjA6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNYWtlIHN1cmUgb2xkIHN0cmVhbXMgYXJlIGRyYWluZWQgYmVmb3JlIHN3aXRjaGluZwoJICBCZWZvcmUgd2UgYWRkIGFueSBzdHJlYW1zLCBtYWtlIHN1cmUgd2UgZHJhaW4gYWxsIHN0cmVhbXMuIFRoaXMgZW5zdXJlcwoJICB0aGVyZSdzIGNvbnNpc3RlbmN5IHRoYXQgb25seSAibmV3IiBkYXRhIHdpbGwgYmUgcHVzaGVkIG9uIGJ1ZmZlcnMgb25jZQoJICB0aGUgbmV3IHBhZHMgYXJlIGFkZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA0MDIKCjIwMTUtMDktMTAgMTQ6NTU6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogQWxsb3cgZGVhY3RpdmF0aW9uIG9mIHByb2dyYW1zIHRvIGJlIGRlbGF5ZWQKCSAgV2hlbiBjaGFuZ2luZyBwcm9ncmFtcywgdGhlIG9yZGVyIG9mIGV2ZW50cyBuZWVkcyB0byBiZSB0aGUgZm9sbG93aW5nOgoJICAqIGFkZCBwYWRzIGZyb20gbmV3IHByb2dyYW0KCSAgKiBzZW5kIEVPUyBvbiBvbGQgcGFkcwoJICAqIHJlbW92ZSBvbGQgcGFkcwoJICAqIGVtaXQgJ25vLW1vcmUtcGFkcycKCSAgUHJldmlvdXNseSB0c2RlbXV4IHdhcyBub3QgZG9pbmcgdGhhdCwgYW5kIHdhcyBmaXJzdCBkZWFjdGl2YXRpbmcgYW5kCgkgIHJlbW92aW5nIG9sZCBwYWRzIGJlZm9yZSBhZGRpbmcgbmV3IG9uZXMuCgkgIFdlIGZpeCB0aGlzIGJ5IGFsbG93aW5nIHN1YmNsYXNzZXMgb2YgbXBlZ3RzYmFzZSB0byBiZSBhYmxlIHRvIGhhbmRsZQoJICB0aGVtc2VsdmVzIHRoZSBkZWFjdGl2YXRpb24gb2YgcHJvZ3JhbXMuIEluIHRoaXMgY2FzZSB0c2RlbXV4IHdpbGwKCSAgcHJvcGVybHkgZGVhY3RpdmF0ZSBpdCBvbmNlIGl0IGhhcyBhY3RpdmF0ZWQgdGhlIG5ldyBwcm9ncmFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNDAyCgoyMDE1LTEyLTAyIDExOjAxOjUzICswMTAwICBNYXJvxaEgT25kcsOhxaFlayA8bXgzbGRldkBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1cGRhdGUgY3VycmVudCB2YXJpYW50IGlmIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2V0CgkgIElmIGNvbm5lY3Rpb24gc3BlZWQgaXMgc2V0LCBwbGF5bGlzdCBhY2NvcmRpbmcKCSAgdG8gY29ubmVjdGlvbiBzcGVlZCBpcyBzZWxlY3RlZCBhcyBjdXJyZW50IHBsYXlsaXN0LgoJICBQcm9ibGVtIGlzIHRoYXQgdGhlIGN1cnJlbnQgdmFyaWFudCBvZiBtYWluIHBsYXlsaXN0IHN0aWxsCgkgIHBvaW50cyB0byBwcmV2aW91c2x5IHNldCB2YXJpYW50LgoJICBJZiBwcmV2aW91c2x5IHNldCB2YXJpYW50IGRvZXNuJ3QgY29ycmVzcG9uZCB0byBjdXJyZW50CgkgIHBsYXlsaXN0LCB0aGVuIGl0IGNhdXNlcyB1bm5lY2Vzc2FyeSBjaGFuZ2Ugb2YgcGxheWxpc3QKCSAgdG8gdGhlIHNhbWUgcGxheWxpc3QgYWZ0ZXIgZmlyc3QgZnJhZ21lbnQgaXMgZG93bmxvYWRlZCwKCSAgYmVjYXVzZSBvZiBub3QgdXBkYXRlZCBjdXJyZW50IHZhcmlhbnQuCgkgIFRvIGZpeCB0aGlzLCB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IGN1cnJlbnQgdmFyaWFudAoJICBvZiBtYWluIHBsYXlsaXN0IGNvcnJlc3BvbmRzIHRvIHRoZSBjdXJyZW50IHBsYXlsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5NDYKCjIwMTUtMTItMDIgMTQ6MzU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9mcmFtZV9hdWRpb2xldmVsL2dzdHZpZGVvZnJhbWUtYXVkaW9sZXZlbC5jOgoJICB2aWRlb2ZyYW1lLWF1ZGlvbGV2ZWw6IEZpeCBjb21waWxhdGlvbiBvZiBzdGF0aWMgcGx1Z2luIGFuZCBzb21lIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFVzZSBHX0dTSVpFX0ZPUk1BVCBmb3IgZ3NpemUgaW5zdGVhZCBvZiAlbGQgYW5kIG1ha2Ugc3VyZSB0aGF0IHRoZSBwbHVnaW4gbmFtZQoJICBpcyBhIHZhbGlkIEMgaWRlbnRpZmllciwgaS5lLiBjb250YWlucyBubyBzcGFjZXMgb3IgZGFzaGVzLgoKMjAxNS0xMi0wMiAyMjo0MjozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBpbXByb3ZlIHRoZSBZVVkyL1VZVlktPlJHQkEgY29udmVyc2lvbiBzaGFkZXIKCSAgRG9uJ3Qgb2Zmc2V0IHRoZSB5LWF4aXMuICBXZSBvbmx5IG5lZWQgdG8gb2Zmc2V0IG9uIHRoZSB4LWF4aXMuCgkgIFJlbW92ZXMgYSBzYXd0b290aCBwYXR0ZXJuIG9uIGhvcml6b250YWwgYW5kIHZlcnRpY2FsIGVkZ2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDg2CgoyMDE1LTEyLTAyIDIyOjQwOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGltcHJvdmUgUkdCQS0+WVVZMi9VWVZZIGNvbnZlcnNpb24gc2hhZGVyCgkgIFdlIHNob3VsZCBvbmx5IGF2ZXJhZ2UgdGhlIGNocm9tYSBzYW1wbGVzIG5vdCB0aGUgbHVtYSBzYW1wbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg5MDQKCjIwMTUtMTEtMTEgMDM6NTU6MjcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVGVsbCB0aGUgYmFzZSBjbGFzcyB0aGUgZnJhZ21lbnQgZHVyYXRpb24KCSAgYWRhcHRpdmVkZW11eCB1c2VzIHRoZSBmcmFnbWVudCBkdXJhdGlvbiBhcyBhIGRlbGF5CgkgIGluIHNvbWUgY2FzZXMsIHNvIG1ha2Ugc3VyZSB0byBzZXQgaXQuCgoyMDE1LTExLTExIDAzOjU0OjUxICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBTZW5kIHRoZSBiaXRyYXRlIG9mIHRoZSBzdHJlYW0gYXMgYSB0YWcKCSAgSWYgd2Uga25vdyBvciBjYW4gbWVhc3VyZSB0aGUgbm9taW5hbCBiaXRyYXRlIG9mIGEgc3RyZWFtLAoJICBzZW5kIHRoYXQgaW5mbyBhcyBhIHRhZyBkb3duc3RyZWFtCgoyMDE1LTExLTA4IDAxOjM0OjMwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdoZW4gc3dpdGNoaW5nIGJpdHJhdGUgdmFyaWFudHMsIGRvbid0IGp1bXAgYmFjawoJICBEb24ndCBqdW1wIGJhY2t3YXJkIHRvIDMgZmlsZXMgZnJvbSB0aGUgZW5kIG9mIHRoZSBwbGF5bGlzdAoJICB3aGVuIHN3aXRjaGluZyB2YXJpYW50cyAtIGl0IGp1c3QgbWVhbnMgd2UgZG93bmxvYWRlZAoJICBmcmFnbWVudHMgZmFzdCBhbmQgY2F1Z2h0IHVwIHRvIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0LgoJICBEaXNhYmxlIHRoYXQgYnkgdHJlYXRpbmcgYSB2YXJpYW50IHN3aXRjaCBhcyBhIHBsYXlsaXN0CgkgIHVwZGF0ZSwgbm90IGEgcmVzdGFydCBkdWUgdG8gYSBzZWVrIG9yIHNvLgoKMjAxNS0wNC0yMSAyMTowOToxOSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmM6CgkqIGdzdC92aWRlb2ZyYW1lX2F1ZGlvbGV2ZWwvZ3N0dmlkZW9mcmFtZS1hdWRpb2xldmVsLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2ZyYW1lLWF1ZGlvbGV2ZWwuYzoKCSAgYWxldmVsOiBOZXcgYXVkaW8vdmlkZW8gbGV2ZWwgZWxlbWVudAoJICBUaGUgdmlkZW9mcmFtZS1hdWRpb2xldmVsIGVsZW1lbnQgYWN0cyBsaWtlIGEgc3luY2hyb25pemVkIGF1ZGlvL3ZpZGVvICJsZXZlbCIKCSAgZWxlbWVudC4gRm9yIGVhY2ggdmlkZW8gZnJhbWUsIGl0IHBvc3RzIGEgbGV2ZWwtc3R5bGUgbWVzc2FnZSBjb250YWluaW5nIHRoZQoJICBSTVMgdmFsdWUgb2YgdGhlIGNvcnJlc3BvbmRpbmcgYXVkaW8gZnJhbWVzLiBUaGlzIGVsZW1lbnQgbmVlZHMgYm90aCB2aWRlbyBhbmQKCSAgYXVkaW8gdG8gcGFzcyB0aHJvdWdoIGl0LiBGdXJ0aGVybW9yZSwgaXQgbmVlZHMgYSBxdWV1ZSBhZnRlciBpdHMgdmlkZW8KCSAgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MjU5CgoyMDE1LTEyLTAxIDIzOjIwOjQ1IC0wODAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkgIERyb3AgdXNhZ2Ugb2YgZGVwcmVjYXRlZCBnLWlyLXNjYW5uZXIgLS1zdHJpcC1wcmVmaXggZmxhZwoKMjAxNS0xMS0xMCAxNjoxOTozNCArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgaGxzZGVtdXg6IGNvcnJlY3QgdGhlIGNhbGN1bGF0aW9uIG9mIHNlZWsgcmFuZ2Ugb2Ygbm9uLWxpdmUgc3RyZWFtcwoJICBUaGUgc2VlayByYW5nZSBjYWxjdWxhdGlvbiBmb3Igb24tZGVtYW5kIHN0cmVhbXMgd2FzIGluY29ycmVjdGx5CgkgIGV4Y2x1ZGluZyB0aGUgbGFzdCB0aHJlZSBzZWdtZW50cyBvZiB0aGUgc3RyZWFtLiBUaGlzIHRocmVlIHNlZ21lbnQKCSAgcnVsZSBzaG91bGQgb25seSBiZSBhcHBsaWVkIHRvIGxpdmUgc3RyZWFtcyBbMV0uCgkgIFsxXSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtcGFudG9zLWh0dHAtbGl2ZS1zdHJlYW1pbmctMTcjc2VjdGlvbi02LjMuMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Mzg2CgoyMDE1LTEyLTAxIDE3OjUyOjAzICswMDAwICBQYW9sbyBQZXR0aW5hdG8gPHBwZXR0aW5hQGNpc2NvLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogRm9yd2FyZCBGTFVTSF9TVE9QIGV2ZW50cyBkb3duc3RyZWFtIHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4OTEzCgoyMDE1LTExLTI5IDAxOjAyOjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggY3Jhc2ggd2hlbiBkZWNyeXB0aW9uIGtleSBjYW4ndCBiZSBkb3dubG9hZGVkCgkgIEhhcHBlbmVkIHdpdGgKCSAgaHR0cDovL3NzbGhscy5tNnR2LmNkbi5zZnIubmV0L2hscy1saXZlL2xpdmVwa2dyL19kZWZpbnN0Xy9tNl9obHNfYWVzL202X2hsc19hZXNfODU2Lm0zdTgKCSAgaWYgZ2xpYi1uZXR3b3JraW5nIHdhcyBub3QgaW5zdGFsbGVkIChzaW5jZSBrZXkgaGFzIGh0dHBzIHVyaSkuCgoyMDE1LTExLTMwIDExOjA1OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHBvaW50bGVzcyBjbGllbnRfaGFzX21haW4oKSBmdW5jdGlvbgoJICBXZSBhbHdheXMgaGF2ZSBhIG1haW4gbGlzdC4KCjIwMTUtMTEtMjggMDA6MTI6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIHVudXNlZCBfZ2V0X2N1cnJlbnRfZnJhZ21lbnRfZHVyYXRpb24oKSBmdW5jdGlvbgoKMjAxNS0xMS0yNyAxOToyMToyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBtM3U4OiByZW1vdmUgdW51c2VkIG0zdTggY2xpZW50IHVwZGF0ZV9mYWlsZWRfY291bnQgZmllbGQKCjIwMTUtMTEtMTUgMTc6MzE6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsczogbTN1ODogcmVtb3ZlIGhlbHBlciB2YXIgdGhhdCdzIG9ubHkgdXNlZCBkdXJpbmcgcGFyc2luZyBmcm9tIHN0cnVjdHVyZQoJICBKdXN0IGtlZXAgdGhhdCBsb2NhbCB0byB0aGUgcGFyc2luZyBmdW5jdGlvbi4KCjIwMTUtMTEtMDEgMTM6MjE6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhscy54bWw6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBleHQvaGxzL2dzdGhscy5oOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvZ3N0aGxzcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHM6IHJlbmFtZSBwbHVnaW4gZnJvbSBmcmFnbWVudGVkIHRvIGhscwoKMjAxNS0xMi0wMSAxOTo0NDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsd2F5cyBnaXZlIHRpbWVzdGFtcHMgaWYgd2UncmUgZGlzY29udCBhbmQgZG9uJ3QgbWFyayBzdHJlYW0gZGlzY29udCBpZiBhIHBsYXlsaXN0IGNoYW5nZSB3YXMgbm90IHN1Y2Nlc3NmdWwKCSAgSWYgdGhlIHN0cmVhbSBpcyBkaXNjb250LCB3ZSBtdXN0IHByb3ZpZGUgYSB0aW1lc3RhbXAgaW4gYW55IGNhc2UuIEVsZW1lbnRzCgkgIGxpa2UgdHNkZW11eCBhcmUgbm90IGdvaW5nIHRvIG91dHB1dCBhbnl0aGluZyBpZiB3ZSBnaXZlIGEgTk9ORSB0aW1lc3RhbXAKCSAgYWZ0ZXIgYSBkaXNjb250LgoJICBBbHNvIG1hcmtpbmcgYSBzdHJlYW0gYXMgZGlzY29udCBpZiBhIHBsYXlsaXN0IGNoYW5nZSB3YXMgbm90IHN1Y2Nlc3NmdWwgd291bGQKCSAgbGVhZCB0byB0aGUgYWJvdmUgc2l0dWF0aW9uLCBidXQgaW4gdGhhdCBjYXNlIHdlIGFyZSBub3QgcmVxdWlyZWQgYXQgYWxsIHRvCgkgIG1hcmsgdGhlIHN0cmVhbSBkaXNjb250IGFzIHdlJ3JlIHN0aWxsIGF0IHRoZSBvbGQgcGxheWxpc3QuCgoyMDE1LTEyLTAxIDE3OjA2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogZml4IHdyb25nIGxvZyBtZXNzYWdlIGxldmVsCgkgIEVSUk9SIGxldmVsIGlzIGRlYnVnZ2luZyBsZWZ0LW92ZXIuCgoyMDE1LTExLTA5IDE2OjA4OjMwICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czphZ2dyZWdhdG9yOiBmaXggdGMgZmFpbHVyZSBhbmQgY29ycmVjdCBjaGVjayB2YWx1ZQoJICBGYWlsdXJlIGJ5IHRoaXMgY29tbWl0IDJkZmE1NDhmMzY0NTg0NDA4MmMzZGI2NWQ5NmQ4NzI1NTcwMWIzYWQsIHdoaWNoIGlzCgkgIHRvIGFwcGVuZCBob29rcyBpbnN0ZWFkIG9mIHByZXBlbmQuCgkgIEJlY2F1c2Ugb2YgdGhpcyBjaGFuZ2UsIGFnZ3JldGF0ZWRfY2IgaXMgbm90IGNhbGxlZCBhbmQgbGVhZHMgdG8gZmFpbHVyZS4KCSAgQW5kIGNvcnJlY3QgdG8gY2hlY2sgZmx1c2ggc3RvcCB2YWx1ZSBpbnN0ZWFkIG9mIGZsdXNoIHN0YXJ0IHZhbHVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4MDEKCjIwMTUtMTEtMzAgMTk6NTM6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBEb24ndCB0cnkgdG8gcmVjcmVhdGUgc3dhcGNoYWluIHdoaWxlIHRoZSB3aW5kb3cgaXMgbWluaW1pemVkCgkgIEl0IHdpbGwgZmFpbCBhbmQgY2F1c2UgdGhlIHNpbmsgdG8gY3Jhc2guIEluc3RlYWQgd2FpdCB1bnRpbCB0aGUgd2luZG93IGlzCgkgIHZpc2libGUgYWdhaW4gYmVmb3JlIGNoZWNraW5nIGlmIHRoZSBzd2FwY2hhaW4gcmVhbGx5IGhhcyB0byBiZSByZWNyZWF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE2MDgKCjIwMTUtMTEtMjcgMTg6NDY6NTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiByZW1vdmUgdW5uZWVkZWQgc3RhdGVtZW50CgkgIGNvbW1pdCBkYTVjNDE5MzBjNDA4Mzk3OWIxNzQ1ZjRkODg0OGQ5N2ZlMDNkOGViIHJlbW92ZWQgdGhlIHR3byB1c2VzIG9mIHRoZQoJICBuZXcgdmFsdWUgb2YgZGF0YToKCSAgY2hhbm5lbHMgPSBvcHVzX3BhY2tldF9nZXRfbmJfY2hhbm5lbHMgKGRhdGEpOwoJICBiYW5kd2lkdGggPSBvcHVzX3BhY2tldF9nZXRfYmFuZHdpZHRoIChkYXRhKTsKCSAgU2luY2UgdGhlbiwgZGF0YSBpc24ndCBiZWluZyB1c2VkIGJldHdlZW4gaW5jcmVtZW50aW5nIGl0IGJ5IHBhY2tldF9vZmZzZXQKCSAgYW5kIGdvaW5nIG91dCBvZiBzY29wZS4gUmVtb3ZpbmcgdGhpcyB1bmVlZGVkIHN0YXRlbWVudC4KCjIwMTUtMTEtMjcgMTI6NDQ6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSAgdGVzdHM6IGlkM211eDogYWRkIHVuaXQgdGVzdCBmb3IgR1NUX1RBR19QUklWQVRFX0RBVEEgd3JpdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NzI4CgoyMDE1LTExLTI3IDExOjMzOjA3ICswNTMwICBSYXZpIEtpcmFuIEsgTiA8cmF2aS5raXJhbkBzYW1zdW5nLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogd3JpdGUgcHJpdmF0ZSBkYXRhIHRhZwoJICBIYW5kbGUgIlBSSVYiIHRhZyBpbiBpZDNtdXguIFdyaXRlIG93bmVyCgkgIGlkZW50aWZpZXIgYW5kIHByaXZhdGUgZGF0YSBhbmQgYWRkIHRvIHRoZQoJICBpZDN2MiBmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODcyOAoKMjAxNS0xMS0yNiAxMDoxNTozNiArMDEwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm5Aa2RhYi5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgYWRkIG1ldGFkYXRhIHRvIGxvY2tlZCBidWZmZXIKCSAgVGhlIHZpZGVvIGRlY29kZXJzIHRyaWVkIGNhbGxpbmcgZ3N0X2J1ZmZlcl9hZGRfKm1ldGEoKSBvbiBub24td3JpdGFibGUKCSAgYnVmZmVyIHJlc3VsdGluZyBpbiB3YXJuaW5ncyBvZiB0aGlzIGtpbmQ6CgkgIGdzdGFtY3ZpZGVvZGVjLmM6OTIxIChfZ2xfc3luY19yZW5kZXJfdW5sb2NrZWQpOiBXQVJOSU5HOiBhbWN2aWRlb2RlYwoJICBGYWlsZWQgdG8gY3JlYXRlIHRoZSB0cmFuc2Zvcm1hdGlvbiBtZXRhIGZvciB0aGUgZ2xfc3luYyAweGFiYzAzODQ4CgkgIGJ1ZmZlciAweGFiYjAxYjQwICgwKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4Njk0CgoyMDE1LTExLTA5IDE4OjA3OjMwICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGRpc2FibGVkIHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgdGVzdAoJICBVbnRpbCB3ZSB3aWxsIGhhdmUgc3VwcG9ydCB0byBjb250cm9sIHRoZSBnZW5lcmF0aW5nIHRocmVhZCBmcm9tCgkgIGZha2VIVFRQc3JjIGVsZW1lbnQsIHRoZSB0ZXN0IHRlc3RGcmFnbWVudERvd25sb2FkRXJyb3IgaXMgZGlzYWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc3NzYKCjIwMTUtMTEtMDkgMTQ6MTQ6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogY29ycmVjdGVkIGFjY2VzcyB0byBmYWtlSFRUUHNyYyBlbGVtZW50CgkgIFRoZSBzcmMgZWxlbWVudCBmb3IgYWRhcHRpdmVkZW11eCBpcyBub3cgYSBiaW4uIFVwZGF0ZWQgdGhlIHRlc3RzIHRvCgkgIGNvcnJlY3RseSByZWFjaCBpbnRvIHRoZSBiaW4gYW5kIGdldCB0aGUgZmFrZUhUVFBzcmMgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Nzc2CgoyMDE1LTExLTA5IDE0OjEzOjA0ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IG1hZGUgZmFrZUhUVFBzcmMgZWxlbWVudCBNVCBzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc3NzYKCjIwMTUtMTEtMjMgMTE6MzI6MTMgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIHNwdS1wZ3M6IEZpeCBhcnJheSBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4NTE3CgoyMDE1LTExLTI0IDAwOjIwOjM2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvbWl4ZXI6IHJlZ2lzdGVyIGZ1bmN0aW9uIG5hbWUgZm9yIGRlYnVnZ2luZyBqdXN0IG9uY2UKCSAgTm90IGV2ZXJ5IHRpbWUgYWdncmVnYXRlIGlzIGNhbGxlZC4uLgoKMjAxNS0xMS0yNCAxMjo0Mjo0NSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVtb3ZlIGdzdF9tcGRfY2xpZW50X2NoZWNrX3RpbWVfcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODU5MwoKMjAxNS0xMS0yNCAxMTo1MDo1MSArMDEwMCAgTWFyb8WhIE9uZHLDocWhZWsgPG14M2xkZXZAZ21haWwuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGRlcHRoIGZpZWxkIHRvIGF1ZGlvIGNhcHMgaWYgYXZhaWxhYmxlCgkgIGRlcHRoIGZpZWxkIGNhbiBiZSByZXRyaWV2ZWQgZnJvbSAiQml0c1BlclNhbXBsZSIgb3IKCSAgZnJvbSAiV2F2ZUZvcm1hdEV4IiBzdHJ1Y3R1cmUsIGlmIHByb3ZpZGVkIGluIE1hbmlmZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg1ODYKCjIwMTUtMTEtMjAgMTY6MzU6NDMgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgZnJhY3Rpb24gb2Ygc2Vjb25kcyBpbiBhdmFpbGFiaWxpdHlTdGFydFRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODQxMAoKMjAxNS0xMS0yMCAxNjozNjowMCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBwYXJzaW5nIGZyYWN0aW9uIG9mIHNlY29uZHMgaW4gZGF0ZVRpbWUgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTg0MTAKCjIwMTUtMTEtMjIgMTM6MTE6NDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHB1dCB0aGUgd2F5bGFuZHNpbmsgZXhhbXBsZSB3aW5kb3cudWkgZmlsZSBpbiBFWFRSQV9ESVNUCgoyMDE1LTExLTIyIDEzOjA4OjM1ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggbGlua2luZyB3YXlsYW5kc2luayBleGFtcGxlIHdpdGggdGhlIGdzdHdheWxhbmQgbGlicmFyeQoJICBGaXJzdCwgdXNlIHRvcF9idWlsZGRpciwgb3RoZXJ3aXNlIGl0IGZhaWxzIGluIG91dC1vZi1zb3VyY2UgYnVpbGRzLgoJICBTZWNvbmQsIGxpbmsgdG8gdGhlIGxpYnRvb2wgYXJjaGl2ZSBkaXJlY3RseSB0byBsZXQgbWFrZSB1bmRlcnN0YW5kCgkgIHRoZSBkZXBlbmRlbmN5LgoKMjAxNS0xMS0yMCAyMDo1OToxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWx3YXlzIHNldCBwcmVzZW50YXRpb25UaW1lT2Zmc2V0CgkgIFNldCBpdCBmb3IgYWxsIHR5cGVzIG9mIHNlZ21lbnQgbGlzdHMgKHRlbXBsYXRlcyAvIGxpc3RzIC8gYmFzZSkKCSAgYW5kIG5vdCBvbmx5IGZvciB0ZW1wbGF0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE1MjkKCjIwMTUtMTEtMjAgMTc6NTA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEVycm9yIG91dCBpZiB3ZSBnZXQgYSB0aW1lb3V0IGR1cmluZyBsaXZlIG1peGluZwoJICBXZSBjYW4ndCBoYW5kbGUgdGhhdCBidXQgbmVlZCBjb21wbGV0ZSBzdHJlYW1zIHdpdGhvdXQgZ2Fwcy4KCjIwMTUtMTEtMjAgMTc6NDY6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogVXNlIHRoZSBjb3JyZWN0IHNvdW5kIGVzc2VuY2UgY29tcHJlc3Npb24gVUwgZm9yIE1QMwoJICBUaGVyZSdzIG9uZSBmb3IgTVBFRyAxIExheWVyIDEgYW5kIG9uZSBmb3IgTGF5ZXIgMiBhbmQgMy4gV2UgcHJldmlvdXNseQoJICBoYWQgdGhlIHNlY29uZCBmb3IgTGF5ZXIgMSBhbmQgMiBhbmQgbm90aGluZyBmb3IgTGF5ZXIgMywgd2hpY2ggd2FzIHdyb25nLgoKMjAxNS0xMS0yMCAxNzozNDoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtcGVnOiBTZXQgdGhlIGVzc2VuY2UgY29udGFpbmVyIFVMIGJ5dGUgMTMgdG8gMHgxMCBmb3IgaDI2NAoJICAweDA0IHNpZ25pZmllcyBhIE1QRUcgZWxlbWVudGFyeSBzdHJlYW0gYnV0IGFjY29yZGluZyB0byBSUDIwMDgsIDB4MTAgc2hvdWxkCgkgIGJlIHVzZWQgZm9yIGEgaDI2NCBieXRlLXN0cmVhbS4gVGhpcyBhbHNvIGZpeGVzIGNvbXBhdGliaWxpdHkgb2Ygb3VyIGZpbGVzCgkgIHdpdGggZmZtcGVnLgoKMjAxNS0xMS0yMCAxMToxODo0MyArMTEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcmV1c2UgZXhpc3RpbmcgR3N0UVNHVGV4dHVyZQoJICBGaXhlcyBhIG1lbW9yeSBsZWFrIGxlYWtpbmcgdGhlIHRleHR1cmUgb2JqZWN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODI4NgoKMjAxNS0xMS0yMCAxMTowODozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHFtbDogYWN0aXZhdGUgdGhlIHdyYXBwZWQgY29udGV4dCB3aGVuIGJpbmRpbmcKCSAgTWl0aWdhdGVzIHRoZSBmb2xsb3dpbmcgY3JpdGljYWwKCSAgZ3N0X2dsX2NvbnRleHRfdGhyZWFkX2FkZDogYXNzZXJ0aW9uICdjb250ZXh0LT5wcml2LT5hY3RpdmVfdGhyZWFkID09IGdfdGhyZWFkX3NlbGYgKCknIGZhaWxlZAoKMjAxNS0xMS0xOSAxMTo1NToxOSArMDEwMCAgUm9tYW4gTm93aWNraSA8cm5vd2lja2lAc2ltcy5wbD4KCgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogcHJvcGVyIGluaXRpYWxpemF0aW9uIGlmIHNjZW5lIGlzIGFscmVhZHkgaW5pdGlhbGl6ZWQKCSAgVGhlIHNjZW5lIGdyYXBoIGNhbiBiZSBpbml0aWFsaXplZCB3aGVuIHRoZSB3ZSByZWNlaXZlIHdpbmRvdyBoYW5kbGUgY2hhbmdlCgkgIG5vdGlmaWNhdGlvbiBhbmQgc28gd2Ugd2lsbCBub3QgcmVjZWl2ZSBhIHNjZW5lZ3JhcGggaW5pdGlhbGl6YXRpb24KCSAgbm90aWZpY2F0aW9uLiAgSW5pdGlhbGl6ZSBvdXJzZWxmIGluIHRoaXMgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODMzNwoKMjAxNS0wNy0yOSAyMjozMTozMCArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogQWRkIGJpbmFyeSBzZWFyY2ggZm9yIHN0cmVhbV9zaWR4X3NlZWsKCSAgQWRkIGJpbmFyeSBzZWFyY2ggdG8gb3B0aW1pemUgaW4gc3RyZWFtX3NpZHhfc2Vlay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY1MwoKMjAxNS0xMS0xOSAxNTo1OTo1NiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIG1wZHBhcnNlcjogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMgZ3N0X21wZHBhcnNlcl9nZXRfY2h1bmtfYnlfaW5kZXggYW5kIGdzdF9tcGRwYXJzZXJfZmluZF9zZWdtZW50X2J5X2luZGV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgyMzMKCjIwMTUtMTEtMTkgMTc6MjQ6NTMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guY3BwOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkgIGRvY3M6IHVwZGF0ZSBnc3QtbGF1bmNoLTAuMTAgbGluZXMKCSAgVXBkYXRlIHJlZmVyZW5jZXMgdG8gZ3N0LWxhdW5jaC0wLjEwIHRvIGdzdC1sYXVuY2gtMS4wCgoyMDE1LTExLTE5IDEwOjMyOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW1jdmlkZW9kZWM6IG1vdmUgcmVsZWFzZV9vdXRwdXRfYnVmZmVyIGludG8gdGhlIHN5bmMgbWV0YQoJICBTb21lIGRldmljZXMgb25seSBldmVyIGtlZXAgb25lIGJ1ZmZlciBhdmFpbGFibGUgaW4gdGhlIEdMIHF1ZXVlIHJlc3VsdGluZyBpbgoJICBtdWx0aXBsZSBjYWxscyB0byByZWxlYXNlX291dHB1dF9idWZmZXIgb25seSBjYXVzaW5nIG9uZSBmcmFtZSB0byBiZSByZW5kZXJlZC4KCSAgSWYgdGhlcmUgaXMgYSBxdWV1ZSBhZnRlciBhbWN2aWRlb2RlYyAoZXZlbiBwbGF5c2luaydzIHNtYWxsIG9uZSksIHRoZW4KCSAgbXVsdGlwbGUgYnVmZmVycyBhcmUgcHVzaGVkIGJ1dCBvbmx5IGEgc21hbGwgZnJhY3Rpb24gb2YgdGhlbSBhcmUgYWN0dWFsbHkKCSAgcmVuZGVyZWQgb24gdGltZS4gIFRoZSByZXN0IHdpbGwgZWl0aGVyIHJlbmRlciBzb21lIG51bWJlciBvZiBmcmFtZXMgYWhlYWQgb2YKCSAgd2hlcmUgdGhleSBhcmUgbWVhbnQgdG8gYmUgb3IgdGltZW91dCB3YWl0aW5nIGZvciBhIGZyYW1lIHRoYXQncyBhbHJlYWR5IGJlZW4KCSAgcmVuZGVyZWQuCgkgIFNvbHZlZCBieSBtb3ZpbmcgdGhlIHJlbGVhc2Vfb3V0cHV0X2J1ZmZlciBpbnRvIHRoZSBzeW5jX21ldGEgdGhlIGlzIHB1c2hlZAoJICBkb3duc3RyZWFtLiAgV2hlbiBkb3duc3RyZWFtIHJlbmRlcnMsIHRoZSBjdXN0b20gc3luYyBpbXBsZW1lbnRhdGlvbiBhdHRlbXB0cwoJICB0byByZWxlYXNlIHRoZSBjdXJyZW50IGJ1ZmZlciAoaWYgbm90IGFscmVhZHkgcmVsZWFzZWQpIGFuZCByZW5kZXIuIE9uY2UgdGhlCgkgIGZyYW1lIGhhcyBiZWVuIHJlbmRlcmVkIHRvIHRoZSBzY3JlZW4sIHRoZSBuZXh0IGZyYW1lIGlzIHJlbGVhc2VkIGFuZCBpcwoJICBob3BlZnVsbHkgYXZhaWxhYmxlIGJ5IHRoZSB0aW1lIHRoZSBuZXh0IGZyYW1lIGlzIHRvIGJlIHJlbmRlcmVkLgoJICBUaGlzIGZpeGVzIGEgcGVyY2VpdmVkIGZyYW1lIGppdHRlciBpbiB0aGUgb3V0cHV0LgoKMjAxNS0xMS0xNyAxNToyMzoxNyAtMDgwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc3BjL3RhZy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUmVtb3ZlIHVubmVjZXNzYXJ5IE5VTEwgY2hlY2tzIGJlZm9yZSBnX2ZyZWUoKQoJICBnX2ZyZWUoKSBpcyBOVUxMLXNhZmUKCjIwMTUtMTEtMTEgMTY6MTE6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBBbHNvIGFsbG93ICcvJyBpbiBSZXByZXNlbnRhdGlvbklECgkgIFVzZWQgYnkgaHR0cDovL3d3dy5ib2submV0L2Rhc2gvdGVhcnNfb2Zfc3RlZWwvY2xlYXJ0ZXh0L3N0cmVhbS5tcGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkwMwoKMjAxNS0xMC0yNiAxNjoyNDo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy93YXlsYW5kc2luay9tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3dheWxhbmRzaW5rL3dpbmRvdy51aToKCSAgdGVzdHMvZXhhbXBsZXM6IGFkZCBhIHdheWxhbmRzaW5rIGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODMyMgoKMjAxNS0xMS0xOCAxMjo1NjowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBjYWxsIGdzdF92aWRlb19zaW5rX2NlbnRlcl9yZWN0IHdpdGggYSBkZXN0aW5hdGlvbiByZWN0YW5nbGUgdGhhdCBzdGFydHMgZnJvbSAoMCwwKQoJICBUaGUgaW50ZW50aW9uIG9mIHRoaXMgY29kZSBpcyB0byBmaW5kIHRoZSBjZW50ZXIgcmVjdGFuZ2xlIHJlbGF0aXZlCgkgIHRvICgwLDApLCBzaW5jZSBzdWJzdXJmYWNlIGNvb3JkaW5hdGVzIGFyZSByZWxhdGl2ZSB0byB0aGUgcGFyZW50CgkgIHN1cmZhY2UuCgkgIFRoZSBvbGQgY29kZSB1c2VkIHRvIHdvcmsgYnV0IHdhcyB3cm9uZyBhbmQgYnJva2VuIGJ5CgkgIGh0dHA6Ly9jZ2l0LmZyZWVkZXNrdG9wLm9yZy9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFzZS9jb21taXQvZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvc2luay5jP2lkPWZmNTdmNjkxMzQ1NmVjMTk5MWU1NTUxN2NmMWYyMzllODBlZWRkZWYKCjIwMTUtMTEtMTYgMTc6MjU6MzQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgaWxsZWdhbCBtZW1vcnkgYWNjZXNzIGluIGdzdF9tcGRfY2xpZW50X2dldF9sYXN0X2ZyYWdtZW50X3RpbWVzdGFtcF9lbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODE4OAoKMjAxNS0xMS0xNiAxNzoyNToyMSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHRlc3RzOiBhZGRlZCB0ZXN0IGZvciBnc3RfbXBkX2NsaWVudF9nZXRfbGFzdF9mcmFnbWVudF90aW1lc3RhbXBfZW5kCgkgIFRoZSB0aW1lc3RhbXAgZm9yIGxhc3QgZnJhZ21lbnQgaXMgaW5jb3JyZWN0bHkgcmV0cmlldmVkIGlmIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGFyZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MTg4CgoyMDE1LTExLTE3IDE2OjIxOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRG9uJ3QgcmVxdWlyZSBhIG5vbi16ZXJvIGJ1ZmZlciBzaXplIHdoZW4gZG9pbmcgZGVjb2RpbmcgdG8gYSBzdXJmYWNlCgkgIEF0IGxlYXN0IG9uIHNvbWUgZGV2aWNlcy9BbmRyb2lkIHZlcnNpb25zIHRoZSBidWZmZXIgc2l6ZSB3aWxsIGFsd2F5cyBiZSB6ZXJvCgkgIGluIHRoZXNlIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjI4CgoyMDE1LTExLTE3IDE3OjE3OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIGdzdGdsaW1hZ2VzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZ2xpbWFnZV9zaW5rX29uX2RyYXcnOgoJICBnc3RnbGltYWdlc2luay5jOjE5NTk6MTg6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ3N5bmNfbWV0YScgWy1XZXJyb3I9dW51c2VkLXZhcmlhYmxlXQoJICBHc3RHTFN5bmNNZXRhICpzeW5jX21ldGEgPSBOVUxMOwoJICBeCgoyMDE1LTExLTE3IDE3OjA5OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogU3RyaW5nIGxpdGVyYWxzIGFyZSBjb25zdAoJICBnc3RnbHZpZXdjb252ZXJ0LmM6IEluIGZ1bmN0aW9uICdfbWFuZ2xlX2V4dGVuc2lvbnMnOgoJICBnc3RnbHZpZXdjb252ZXJ0LmM6MTUxMToxMzogZXJyb3I6IGFzc2lnbm1lbnQgZGlzY2FyZHMgJ2NvbnN0JyBxdWFsaWZpZXIgZnJvbSBwb2ludGVyIHRhcmdldCB0eXBlIFstV2Vycm9yPWRpc2NhcmRlZC1xdWFsaWZpZXJzXQoJICBleHRfc3RyID0gIiNleHRlbnNpb24gR0xfT0VTX0VHTF9pbWFnZV9leHRlcm5hbCA6IHJlcXVpcmVcbiI7CgkgIF4KCjIwMTUtMTEtMTcgMTc6MDg6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBBY3R1YWxseSByZXR1cm4gdGhlIG5ld2x5IGNyZWF0ZWQgbWV0YSBmcm9tIGdzdF9idWZmZXJfYWRkX2dsX3N5bmNfbWV0YSgpCgkgIGdzdGdsc3luY21ldGEuYyAgLWZQSUMgLURQSUMgLW8gLmxpYnMvbGliZ3N0Z2xfMS4wX2xhLWdzdGdsc3luY21ldGEubwoJICBnc3RnbHN5bmNtZXRhLmM6IEluIGZ1bmN0aW9uICdnc3RfYnVmZmVyX2FkZF9nbF9zeW5jX21ldGEnOgoJICBnc3RnbHN5bmNtZXRhLmM6MTMxOjE6IGVycm9yOiBjb250cm9sIHJlYWNoZXMgZW5kIG9mIG5vbi12b2lkIGZ1bmN0aW9uIFstV2Vycm9yPXJldHVybi10eXBlXQoJICB9CgkgIF4KCjIwMTUtMTEtMTcgMTY6MjE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBGaXggaW5kZW50YXRpb24KCjIwMTUtMTEtMTcgMTY6MDg6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBuZWdvdGlhdGlvbiBtb3JlCgkgIFllYXIgMTI6IEkgc3RpbGwgZG9uJ3QgdW5kZXJzdGFuZCBob3cgbmVnb3RpYXRpb24gd29ya3MuCgkgIEFwcGFyZW50bHkgZ3N0X3BhZF9xdWVyeV9jYXBzIGRvZXNuJ3QgZG8gd2hhdCBJIHRob3VnaHQgaXQgZGlkLiBUbyBnZXQgdGhlCgkgIGFjdHVhbCBjYXBzIHRoYXQgY2FuIGZsb3cgdGhyb3VnaCB2dGRlYzpzcmMgd2UgbXVzdCBjYWxsIGdzdF9wYWRfcGVlcl9xdWVyeV9jYXBzCgkgIHdpdGggdGhlIHRlbXBsYXRlIGNhcHMgYXMgZmlsdGVyLgoJICBGaXhlcyBuZWdvdGlhdGlvbiB3aXRoIHN0dWZmIHRoYXQgZG9lc24ndCB1bmRlcnN0YW5kIEdMTWVtb3J5IChoZWxsbyB2aWRlb3NjYWxlKS4KCjIwMTUtMTEtMTcgMTY6MTQ6MTEgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IG1pbm9yIHRleHR1cmUgY2FjaGUgZml4ZXMKCSAgU21hbGwgZml4IG9uIGhvdyB0aGUgdGV4dHVyZSBjYWNoZSBpcyBjbGVhbmVkIHVwIC8gc2V0dXAgaW4gY2FzZSBvZiByZW5lZ290aWF0aW9uCgoyMDE1LTExLTE3IDE2OjEzOjAwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBhcHBsZW1lZGlhOiBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IHN0b3AgY29uZmlndXJpbmcgY2FjaGUtPmNvbnZlcnQgb3ZlciBhbmQgb3ZlcgoKMjAxNS0xMS0xNiAxNTo0Njo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGdsaW1hZ2VzaW5rOiB3YWl0IG9uIHRoZSBjb3JyZWN0IHN5bmMgbWV0YSB3aGVuIHJlbmRlcmluZwoKMjAxNS0xMS0wMyAxMzoxOTo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYzJkdGV4dHVyZXJlbmRlcmVyLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbWN2aWRkZWM6IG91dHB1dCBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgVGhpcyBwcm92aWRlcyBhIHBlcmZvcm1hbmNlIGFuZCBwb3dlciB1c2FnZSBpbXByb3ZlbWVudCBieSByZW1vdmluZwoJICB0aGUgdGV4dHVyZSBjb3B5IGZyb20gYW4gT0VTIHRleHR1cmUgdG8gMkQgdGV4dHVyZS4KCSAgVGhlIGZsb3cgaXMgYXMgZm9sbG93cwoJICAxLiBHZW5lcmF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciB3aXRoIHRoZSByZXF1aXJlZCBzeW5jIG1ldGEgd2l0aCB0aGUgaW5jcmVtZW50aW5nCgkgIHB1c2ggY291bnRlciBhbmQgT0VTIEdMIG1lbW9yeQoJICAxLjEgcmVsZWFzZV9vdXRwdXRfYnVmZmVyIChidWYsIHJlbmRlcj10cnVlKSBhbmQgcHVzaCBkb3duc3RyZWFtCgkgIDIuIERvd25zdHJlYW0gd2FpdHMgZm9yIG9uIHRoZSBzeW5jIG1ldGEgKHRpbWVkIHdhaXQpIG9yIGRyb3BzIHRoZSBmcmFtZSAobm8gd2FpdCkKCSAgMi4xIFRpbWVkIHdhaXQgZm9yIHRoZSBmcmFtZSBudW1iZXIgdG8gcmVhY2ggdGhlIG51bWJlciBvZiBmcmFtZSBjYWxsYmFja3MgZmlyZWQKCSAgMi4yIFVuY29uZGl0aW9uYWxseSB1cGRhdGUgdGhlIGltYWdlIHdoZW4gdGhlIHdhaXQgY29tcGxldGVzIChzdWNjZXNzIG9yIGZhaWwpLgoJICBTZXRzIHRoZSBhZmZpbmUgdHJhbnNmb3JtYXRpb24gbWF0cml4IG1ldGEgb24gdGhlIGJ1ZmZlci4KCSAgMy4gRG93bnN0cmVhbSByZW5kZXJzIGFzIHVzdWFsLgoJICBBdCAqc29tZSogcG9pbnQgdGhyb3VnaCB0aGlzIHRoZSBvbl9mcmFtZV9jYWxsYmFjayBtYXkgb3IgbWF5IG5vdCBmaXJlLiAgSWYgaXQKCSAgZG9lcyBmaXJlLCB3ZSBjYW4gZmluaXNoIHdhaXRpbmcgZWFybHkgYW5kIHJlbmRlci4gT3RoZXJ3aXNlIHdlIGhhdmUgdG8KCSAgd2FpdCBmb3IgYSB0aW1lb3V0IHRvIG9jY3VyIHdoaWNoIG1heSBjYXVzZSBtb3JlIGJ1ZmZlcnMgdG8gYmUgcHVzZWQgaW50byB0aGUKCSAgaW50ZXJuYWwgR0wgcXVldWUgd2hpY2ggc2lnaW5pZmljYW50bHkgZGVjcmVhc2VzIHRoZSBjaGFuY2VzIG9mIHRoZQoJICBvbl9mcmFtZV9jYWxsYmFjayB0byBmaXJlIGFnYWluLiAgVGhpcyBpcyBiZWNhdXNlIHRoZSBmcmFtZSBjYWxsYmFjayBvbmx5IG9jY3VycwoJICB3aGVuIHRoZSBpbnRlcm5hbCBHTCBxdWV1ZSBjaGFuZ2VzIHN0YXRlIGZyb20gZW1wdHkgdG8gbm9uLWVtcHR5LgoJICBCZWNhdXNlIHRoZXJlIGlzIG5vIHdheSB0byByZWxpYWJseSBjb3JyZWxhdGUgYmV0d2VlbiB0aGUgbnVtYmVyIG9mIGJ1ZmZlcnMKCSAgcHVzaGVkIGFuZCB0aGUgbnVtYmVyIG9mIGZyYW1lIGNhbGxiYWNrcyByZWNlaXZlZCwgdGhlcmUgYXJlIGEgbnVtYmVyIG9mCgkgIHdvcmthcm91bmRzIGluIHBsYWNlLgoJICAxLiBXZSBzZWxmLWluY3JlbWVudCB0aGUgcmVhZHkgY291bnRlciB3aGVuIGl0IGZhbGxzIGJlaGluZCB0aGUgcHVzaCBjb3VudGVyCgkgIDIuIFRpbWUgYmFzZWQgd2FpdHMgYXMgdGhlIGZyYW1lIGNhbGxiYWNrIG1heSBub3QgYmUgZmlyZWQgZm9yIGEgY2VydGFpbiBmcmFtZS4KCSAgMy4gSXQgaXMgYXNzdW1lZCB0aGF0IHRoZSBkZXZpY2UgY2FuIHJlbmRlciBhdCBzcGVlZCBvciBwZXJmb3JtcyBzb21lIFFvUyBvZgoJICB0aGUgaW50ZXJhbCBHTCBxdWV1ZSAod2hpY2ggbWF5IG5vdCBtYXRjaCB0aGUgR1N0cmVhbWVyIFFvUykuCgkgIEl0IGhvbGRzIHRoYXQgd2UgY2FsbCBTdXJmYWNlVGV4dHVyZTo6dXBkYXRlVGV4SW1hZ2UgZm9yIGVhY2ggYnVmZmVyIHB1c2hlZAoJICBkb3duc3RyZWFtIGhvd2V2ZXIgdGhlcmUncyBubyBndWFyZW50ZWUgdGhhdCB1cGRhdGVUZXhJbWFnZSB3aWxsIHJlc3VsdCBpbgoJICB0aGUgZXhhY3QgbmV4dCBmcmFtZSAoaXQgY291bGQgc2tpcCBvciBkdXBsaWNhdGUpIHNvIHN5bmNocm9uaXphdGlvbiBpcyBub3QKCSAgZ3VhcmFudGVlZCB0byBiZSBhY2N1cmF0ZSBhbHRob3VnaCBpdCBzZWVtcyB0byBiZSBjbG9zZSBlbm91Z2ggdG8gYmUgdW5hYmxlCgkgIHRvIGRpc2Nlcm4gdmlzdWFsbHkuICBUaGlzIGhhcyBub3QgY2hhbmdlZCBmcm9tIGJlZm9yZSB0aGlzIHBhdGNoLiAgVGhlIGN1cnJlbnQKCSAgcmVxdWlyZW1lbnQgZm9yIHN5bmNocm9uaXphdGlvbiBpcyB0aGF0IHVwZGF0ZVRleEltYWdlIGlzIGNhbGxlZCBhdCB0aGUgcG9pbnQgaW4KCSAgdGltZSB3aGVuIHRoZSBidWZmZXJzIGlzIHRvIGJlIHJlbmRlcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Mjg1CgoyMDE1LTExLTAyIDE3OjU3OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBhZGQgdmZ1bmNzIGZvciBhbGwgb3BlcmF0aW9ucwoJICB0aGVyZSBjb3VsZCBiZSBvdGhlciB3YXlzL3JlcXVpcmVtZW50cyBmb3Igc3luY2hyb25pc2luZyB0d28gR1BVIGNvbW1hbmQKCSAgc3RyZWFtcyAod2hldGhlciBHTCBvciBwbGF0Zm9ybSBzcGVjaWZpYykuCgkgIGUuZy4gZ2xmZW5jZXN5bmMvZWdsd2FpdG5hdGl2ZS9jb25kL2V0YwoKMjAxNS0xMS0xMCAxNTozNzowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogYWRkIHN1cHBvcnQgZm9yIHJlbmRlcmluZyBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzI4NQoKMjAxNS0xMS0xMCAxNDo1NDowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2x2aWV3Y29udmVydDogYWRkIHN1cHBvcnQgcmVjdGFuZ2xlL2V4dGVybmFsLW9lcyB0ZXh0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Mjg1CgoyMDE1LTExLTE3IDE1OjE4OjI4ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggc2V0dGluZyBpbnRlcm5hbCBTS0lQIC8gRFJPUCBmbGFncwoKMjAxNS0xMS0xNyAwOTowODo1MiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IHN0cnVjdHVyZSBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MjA1CgoyMDE1LTExLTE2IDIxOjUyOjA3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVybGlzdHMKCjIwMTUtMTEtMTcgMTE6MjE6MjcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgUmV3b3JrIG5lZ290aWF0aW9uIGltcGxlbWVudGluZyBHc3RWaWRlb0RlY29kZXI6Om5lZ290aWF0ZS4gTWFrZSBpdCBwb3NzaWJsZSB0bwoJICBzd2l0Y2ggdGV4dHVyZSBzaGFyaW5nIG9uIGFuZCBvZmYgYXQgcnVudGltZS4gVXNlZnVsIHRvIChldmVudHVhbGx5KSB0dXJuCgkgIHRleHR1cmUgc2hhcmluZyBvbiBpbiBwaXBlbGluZXMgd2hlcmUgZ2xpbWFnZXNpbmsgaXMgbGlua2VkIG9ubHkgYWZ0ZXIKCSAgZGVjb2RpbmcgaGFzIGFscmVhZHkgc3RhcnRlZCAoZm9yIGV4YW1wbGUgT1dSKS4KCjIwMTUtMTEtMTcgMTE6MTk6NTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGltcHJvdmUgaGFuZGluZyBvZiBkZWNvZGUgZXJyb3JzL2ZyYW1lIGRyb3BzCgkgIEltcHJvdmUgZGVjb2RlIGVycm9yIGhhbmRsaW5nIGJ5IGF2b2lkaW5nIGNhbGxpbmcgaW50byBHc3RWaWRlb0RlY29kZXIgZnJvbSB0aGUKCSAgVlQgZGVjb2RlIGNhbGxiYWNrLiBUaGlzIHJlbW92ZXMgY29udGVudGlvbiBvbiB0aGUgR1NUX1ZJREVPX0RFQ09ERVJfU1RSRUFNX0xPQ0sKCSAgd2hpY2ggdXNlZCB0byBtYWtlIHRoZSBkZWNvZGUgY2FsbGJhY2sgc2xvdyBlbm91Z2ggZm9yIFZUIHRvIHN0YXJ0IGRyb3BwaW5nIGxvdHMKCSAgb2YgZnJhbWVzIG9uY2UgdGhlIGZpcnN0IGZyYW1lIHdhcyBkcm9wcGVkLgoKMjAxNS0xMS0xNyAxMToyMjoxNSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoKMjAxNS0xMS0xNCAyMDoyMToxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSBub3ctZGVmdW5jdCAibnVtLWxvb2tiYWNrLWZyYWdtZW50cyIgcHJvcGVydHkKCSAgVGhpcyBubyBsb25nZXIgZG9lcyBhbnl0aGluZywgYW5kIGl0IHdhcyBtYXJrZWQgYXMgQ09OU1RSVUNUX09OTFkKCSAgd2hpY2ggbWVhbnMgc29tZW9uZSB3b3VsZCByZWFsbHkgaGF2ZSB0byBnbyBvdXQgb2YgdGhlaXIgd2F5IHRvCgkgIGJlIGFibGUgdG8gc2V0IHRoaXMsIHdoaWNoIHdvdWxkIG9ubHkgYmUgZG9uZSBpbiB2ZXJ5IGN1c3RvbQoJICBzY2VuYXJpb3MsIGlmIGV2ZXIsIGFuZCB0aG9zZSB3aWxsIGxpa2VseSB0YXJnZXQgYSBzcGVjaWZpYwoJICB2ZXJzaW9uIG9mIEdTdHJlYW1lciB0aGVuLCBzbyBwcm9iYWJseSBub3QgbXVjaCBwb2ludCBrZWVwaW5nCgkgIGl0IGRlcHJlY2F0ZWQgZm9yIGEgd2hpbGUgYmVmb3JlIHJlbW92aW5nIGl0LgoKMjAxNS0xMS0xMyAxNzoxNDoxNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWx3YXlzIGdpdmUgYSB2YWxpZCByZXBseSB0byBpbnRlcm5hbCBjYXBzIHF1ZXJpZXMKCSAgQ2FwcyBxdWVyaWVzIGNhbiBhbHdheXMgaGF2ZSBhIHZhbGlkIHJlcGx5LCBlaXRoZXIgdGhlIGZpbHRlciBvciBBTlkuCgkgIElmIHRoZSBjYXBzIGFyZSBBTlksIHRoZW4gYWNjZXB0LWNhcHMgYWx3YXlzIHJldHVybnMgVFJVRS4KCjIwMTUtMTEtMTIgMTY6MzU6MTIgKzAxMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IHNlY3Rpb25fZGF0YSBsZWFrCgkgIElmIHBhY2tldC0+cGF5bG9hZF91bml0X3N0YXJ0X2luZGljYXRvciBpcyB0cnVlIGFuZCBwb2ludGVyIDAsIHRoZXJlIGlzIG5vCgkgIGRpc2NvbnRpbnVpdHkgY2hlY2suIFRoZXJlZm9yZSB0aGVyZSBjb3VsZCBiZSBhIHByZXZpb3VzIHNlY3Rpb24gbm90IGNvbXBsZXRlCgkgIHRoYXQgbmVlZCB0byBiZSBjbGVhcmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDEwCgoyMDE1LTExLTEzIDEwOjQxOjU4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogZml4IHBvc3NpYmxlIHN0cmluZyBvdmVycnVuIGluIGdzdF9nbHNsX3ZlcnNpb25fcHJvZmlsZV9mcm9tX3N0cmluZwoJICBnaXZlbiBhIE5VTEwtdGVybWluYXRlZCBzdHJpbmcsIHMuCgkgIHNbaV0gPSAnXDAnOwoJICBpKys7CgkgIGRvZXMgbm90IGd1YXJlbnRlZSB0aGF0IHNbaV0gaXMgTlVMTCB0ZXJtaW5hdGVkIGFuZCB0aHVzIHN0cmluZyBvcGVyYXRpb25zCgkgIGNvdWxkIHJlYWQgb2ZmIHRoZSBlbmQgb2YgdGhlIGFycmF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDE2OjUwOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGRvbid0IHJlYWQgaW52YWxpZCBsaXN0IHBvaW50ZXJzICh1c2UgYWZ0ZXIgZnJlZSkKCSAgZ3N0X2dsX3NoYWRlcl9kZXRhY2hfdW5sb2NrZWQgYWxyZWFkeSByZW1vdmVzIHRoZSBsaXN0IGVudHJ5IHNvIGF0dGVtcHRpbmcgdG8KCSAgdXNlIHRoZSBlbGVtZW50IHRvIGl0ZXJhdGUgdG8gdGhlIG5leHQgc3RhZ2UgY291bGQgcmVhZCBpbnZhbGlkIGRhdGEuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTgwMzkKCjIwMTUtMTEtMTMgMTA6NDQ6MjYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsc2wuYzoKCSAgdGVzdHM6Z2xzbDogdmVyc2lvbl9wcm9maWxlX3Mgc3RyaW5nIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMyAxMDo1NjoxMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkgIGdsc2w6IGZyZWUgc3RyIHdoaWxlIHJldHVybmluZyBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU4MDM5CgoyMDE1LTExLTEzIDExOjA0OjM0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czpnbHVwbG9hZDogZml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1ODAzOQoKMjAxNS0xMS0xMiAxMjoyMTo1NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogYXZvaWQgcG90ZW50aWFsIG92ZXJmbG93IGV4cHJlc3Npb24KCSAgVGhlIHJlc3VsdCBvZiB0aGUgdHdvIGV4cHJlc3Npb25zIHdpbGwgYmUgcHJvbW90ZWQgdG8gZ3VpbnQ2NCBhbnl3YXksCgkgIHBlcmZvcm0gYWxsIHRoZSBhcml0aG1ldGljIGluIDY0IGJpdHMgdG8gYXZvaWQgcG90ZW50aWFsIG92ZXJmbG93cy4KCSAgQ0lEIDEzMzg2OTAsIENJRCAxMzM4NjkxCgoyMDE1LTExLTEyIDEyOjAwOjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIG1lbW9yeSBsZWFrCgkgIFRoZSB2YWx1ZXMgb2YgY2hhbm5lbF9tYXBwaW5nIGFyZSBjb3BpZWQgYnkgZ3N0X2NvZGVjX3V0aWxzX29wdXNfY3JlYXRlX2NhcHMgKCkKCSAgYnV0IGl0IGRvZXNuJ3QgZnJlZSBvciB0YWtlIG93bmVyc2hpcCBvZiB0aGUgZ19uZXcwIGFsbG9jYXRlZCBtZW1vcnkuIFRoaXMKCSAgbmVlZHMgdG8gYmUgZnJlZWQgYmVmb3JlIGdvaW5nIG91dCBvZiBzY29wZS4KCSAgQ0lEIDEzMzg2OTIKCjIwMTUtMTEtMTIgMTE6NDI6MzYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBidWZmZXIgY2hlY2sKCSAgYnVmIHN1cmVseSBpc24ndCBOVUxMIGluc2lkZSB0aGUgYmxvY2sgY29uZGl0aW9uYWwgdG8gYSBidWZmZXIgc2l6ZSBiaWdnZXIKCSAgdGhhbiAoR19NQVhVSU5UMTYgLSAzKS4gUGx1cyBnc3RfYnVmZmVyX3VucmVmKCkgY2hlY2tzIGlmIHRoZSBidWZmZXIgaXMKCSAgTlVMTCBhbmQgZG9lcyBub3RoaW5nIGlmIGl0IGlzLgoJICBDSUQgMTMzODY5MwoKMjAxNS0xMS0xMiAxMToyMzozMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGluaXRpYWxpemUgc2FtcGxlIHJhdGUgdG8gYSBkZWZhdWx0CgkgIHNhbXBsZV9yYXRlIG1pZ2h0IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpZiAhc2lua19jYXBzIGlzIFRSVUUuIEluaXRpYWxpemUKCSAgaXQgdG8gdGhlIGRlZmF1bHQgdXNlZCBpbiBnc3RfY29kZWNfdXRpbHNfb3B1c19wYXJzZV9jYXBzICgpIHdoZW4gdGhlcmUgaXMKCSAgbm8gcmF0ZSBkZWZpbmVkIGluIHRoZSBjYXBzLgoJICBDSUQgMTMzODY5NQoKMjAxNS0xMS0xMiAxNjozNjowMyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBGaXggdmVydGV4X3NvdXJjZXMgbWVtb3J5IGxlYWsKCSAgdmVydGV4X3NvdXJjZXMgaXMgYmVpbmcgYWxsb2NhdGVkIGJ1dCBub3QgZnJlZWQgcmVzdWx0aW5nIGluIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMiAxNjoyNjowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogcmVtb3ZlIHVubmVjZXNzYXJ5IGZyZWUKCSAgdmVyc2lvbl9zdHIgaXMgYWxyZWFkeSBiZWluZyBmcmVlZC4gU28gbm8gbmVlZCB0byBjYWxsIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NzQKCjIwMTUtMTEtMTIgMTY6MTg6MzUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBzdHJpbmcgbGVhawoJICBTdHJpbmcgZ290IHVzaW5nIGdzdF9nbHNsX3ZlcnNpb25fcHJvZmlsZV90b19zdHJpbmcsIGlzIGFsbG9jYXRlZAoJICBtZW1vcnkgYW5kIHNob3VsZCBiZSBmcmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTc0CgoyMDE1LTExLTEyIDE2OjAyOjQ1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggZnJhZ19wcm9nIGFuZCBmcmFnX2JvZHkgbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzk3NAoKMjAxNS0xMS0xMSAxNjo1MToyMyArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIGhhbmRsaW5nIGVycm9ycyBlbWl0dGVkIGJ5IHVyaSBoYW5kbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc5NDcKCjIwMTUtMTEtMTAgMTY6MzI6MzcgKzAxMDAgIE5pY29sYXMgSHVldCA8bmljb2xhcy5odWV0QHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggcGVuZGluZyBidWZmZXJzIGxlYWsgd2hlbiBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3ODk1CgoyMDE1LTA2LTEwIDE0OjE4OjAwICswMjAwICBFdGllbm5lIFBlcm9uIDxldGllbm5lLnBlcm9uQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggcGFkIGxlYWsgd2hlbiB0aGUgcGFkIGlzIG5ldmVyIGV4cG9zZWQKCSAgSWYgdHNkZW11eCBuZXZlciByZWNlaXZlcyBkYXRhIGZvciBhIHN0cmVhbSwgdGhlIGNvcnJlc3BvbmRpbmcgcGFkIHdpbGwgbmV2ZXIKCSAgYmUgYWRkZWQgYW5kIHN0cmVhbS0+YWN0aXZlIHdpbGwgcmVtYWluIEZBTFNFLiBXaGVuIHRoZSBzdHJlYW0gaXMgcmVtb3ZlZCwgdGhlCgkgIHBhZCB3aWxsIG5vdCBiZSB1bnJlZmZlZCBhbmQgd2lsbCBiZSBsZWFrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4NzMKCjIwMTUtMTEtMDkgMTc6NDU6MjkgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogRml4IHRoZSB3cm9uZyB3aWR0aCAmIGhlaWdodCBwYXJzaW5nIG9mIHZwOSBiaXRzdHJlYW0KCSAgVGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gZm9yIGRldGVjdGluZyB0aGUgcmVzb2x1dGlvbiBjaGFuZ2VzCgkgIG9uIGtleSBmcmFtZXMgaXMgYmFzZWQgb24gdnA4IGJpdHN0cmVhbSBhbGlnbm1lbnQuIEF2b2lkIHRoaXMKCSAgd2lkdGggYW5kIGhlaWdodCBwYXJzaW5nIGZvciB2cDkgYml0c3RyZWFtLCB3aGljaCByZXF1aXJlcyBwcm9wZXIKCSAgZnJhbWUgaGVhZGVyIHBhcnNpbmcgaW5vcmRlciB0byBkZXRlY3QgdGhlIHJlc29sdXRpb24gY2hhbmdlIChGaXhtZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc4MjUKCjIwMTUtMTEtMTEgMTE6NDA6NTIgKzAxMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFNldCBwcm9maWxlX2xldmVsIHRvIE5VTEwgYWZ0ZXIgcmVsZWFzZQoJICBPdGhlcndpc2UsIGdzdF92dGVuY19uZWdvdGlhdGVfcHJvZmlsZV9hbmRfbGV2ZWwgd2lsbCBkb3VibGUtcmVsZWFzZSBhcwoJICBpdCBjaGVja3MgZm9yIHByb2ZpbGVfbGV2ZWwgIT0gTlVMTC4gVGhpcyBjYXVzZWQgY3Jhc2hlcyB3aGVuIHRoZQoJICB2dGVuYyBpbnN0YW5jZSBpcyBzdG9wcGVkIGFuZCB0aGVuIHJlc3RhcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzkzNQoKMjAxNS0xMS0xMSAyMzozOTozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBtYW5nbGUgZ2xfRnJhZ0NvbG9yIGZvciBHTDMKCSAgU29tZSBkcml2ZXJzIGRvbid0IHByb3ZpZGUgdGhlIGNvbXBhdGliaWxpdHkgZGVmaW5pdGlvbiBhbmQgd2UgbmVlZCB0byBwcm92aWRlCgkgIG91ciBvd24gJ291dCB2ZWM0JyB2YXJpYWJsZSB0byBwdXQgdGhlIHJlc3VsdHMgb2YgdGhlIGZyYWdtZW50IHNoYWRlciBpbnRvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTM4CgoyMDE1LTExLTExIDE2OjA2OjI1ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICB0ZXN0czpnbGNvbG9yY29udmVydDogRml4IGNhcHMgbWVtb3J5IGxlYWsKCSAgT3V0cHV0IGNhcHMgYmVpbmcgZ290IGZyb20gdmlkZW8gaW5mbyBpcyBub3QgZ2V0dGluZyBmcmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3OTI5CgoyMDE1LTExLTEwIDE3OjU4OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBwcm92aWRlIG91ciBvd24gZGVmaW5pdGlvbiBvZiBsb2cyKCkKCSAgVGhlIGxvZzIgZnVuY3Rpb24vbWFjcm8gZG9lc24ndCBleGlzdCB3aGVuIHRhcmdldHRpbmcgYW5kcm9pZCBBUEkgPCAxOCAob3IgTVNWQwoJICA8IDIwMTMpIHdoZXJlYXMgb3VyIGN1cnJlbnQgYmFzZWxpbmUgaXMgQVBJIDkuCgoyMDE1LTExLTEwIDEzOjUyOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5oOgoJICBnbHZpZXdjb252ZXJ0OiByZW1vdmUgc2V0X2Zvcm1hdAoJICBXZSBuZWVkIHRoZSBjYXBzIHRvIGJlIGFibGUgdG8KCSAgMS4gY2hlY2sgdGhlIGNhcHMgZmVhdHVyZXMKCSAgMi4gZ2V0IHRoZSByZXF1ZXN0ZWQgdGV4dHVyZS10YXJnZXQgb24gaW5wdXQvb3V0cHV0CgoyMDE1LTExLTExIDEwOjMxOjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBhIG1lbW9yeSBsZWFrIGlmIHRoZSB2aWV3IGNvbnZlcnNpb24gZmFpbHMKCjIwMTUtMTEtMTEgMTM6Mzc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogYmFsYW5jZSB0aGUgY3JlYXRpb24vZGVzdHJ1Y3Rpb24gb2YgdGhlIG92ZXJsYXkgY29tcG9zaXRvcgoJICBGaXhlcyBzb21lIGxlYWtzL3Bvc3NpYmxlIHNlZ2ZhdWx0IG9uIHdoZW4gZmFpbGluZyB0byBjcmVhdGUgdGhlIGNvbXBvc2l0b3IuCgoyMDE1LTExLTExIDEyOjIzOjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2xzaGFkZXI6IHByb3Blcmx5IHVucmVmIHRoZSBzdGFnZXMgb24gZmFpbHVyZQoJICBXaGVuIGZhaWxpbmcgaW4gdGhlIHZhcmFyZ3MgZnVuY3Rpb25zLCBhbGwgdGhlIHN0YWdlIG9iamVjdHMgbm90IGhhbmRsZWQgbmVlZCB0bwoJICBiZSB1bnJlZmZlZCB0byBwcmV2ZW50IGEgbGVhay4KCjIwMTUtMTEtMTEgMTE6Mjk6MzUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBwcm9wZXJseSByZXR1cm4gYW4gZXJyb3Igd2hlbiB3ZSBjb3VsZCBub3QgY3JlYXRlIHRoZSBzaGFkZXIgc3RhZ2UKCSAgV2hpbGUgaXQgd2FzIGVycm9yaW5nIG91dCBjb3JyZWN0bHkgbGF0ZXIsIHRoZXJlIHdlcmUgR0xpYiB3YXJuaW5ncyBhYm91dAoJICBzZXR0aW5nIGEgR0Vycm9yIG92ZXIgdGhlIHRvcCBvZiBhbm90aGVyIEdFcnJvci4KCjIwMTUtMTEtMTEgMDE6MDU6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnN0cmluZ3MuYzoKCSAgZ2xzaGFkZXJzdHJpbmdzOiBmaXh1cCB0aGUgZXh0ZXJuYWwtb2VzIGZyYWdtZW50IHNoYWRlcgoJICBUaGUgd3Jvbmcgc2FtcGxlciB0eXBlIHdhcyB1c2VkCgkgIHMvc2FtcGxlcjJERXh0ZXJuYWxPRVMvc2FtcGxlckV4dGVybmFsT0VTLwoKMjAxNS0xMS0xMCAyMzo0MToyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiB0cnkgdG8ga2VlcCB0aGUgc2FtZSB0ZXh0dXJlLXRhcmdldCBpZiBwb3NzaWJsZQoJICBGaXhlcyBpc3N1ZXMgYXR0ZW1wdGluZyB0byBwYXNzdGhyb3VnaCBleHRlcm5hbC1vZXMgdGV4dHVyZXMKCjIwMTUtMTEtMTAgMjI6NDE6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IHJlbmRlcmluZyByZWN0YW5ndWxhciB0ZXh0dXJlcyB3aXRoIEdMMwoJICBSZWN0YW5ndWxhciB0ZXh0dXJlcyBhcmUgdW5hdmFpbGFibGUgaW4gdW5leHRlbmRlZAoJICBHTEVTMiAjdmVyc2lvbiAxMDAgc2hhZGVycy4KCSAgRml4ZXMKCSAgdGV4dHVyZS10YXJnZXQ9cmVjdGFuZ2xlICEgZ2xjb2xvcmNvbnZlcnQgISB0ZXh0dXJlLXRhcmdldD0yRAoJICBUaGVyZSdzIGEgY291cGxlIG9mIGRpZmZlcmVuY2VzIGJldHdlZW4gR0wzIGFuZCBHTEVTMi9HTAoJICAtIHZhcnlpbmcgLT4gaW4gb3Igb3V0IGRlcGVuZGluZyBvbiB0aGUgc3RhZ2UgKHZlcnRleC9mcmFnbWVudCkKCSAgLSBhdHRyaWJ1dGUgLT4gaW4KCSAgLSBmaWx0ZXJlZCB0ZXh0dXJlIGFjY2VzcyBpcyBhIHNpbmdsZSBmdW5jdGlvbiwgdGV4dHVyZSgpCgoyMDE1LTExLTEwIDIwOjIwOjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHByb3Blcmx5IHVzZSB0aGUgb3RoZXIgdGV4dHVyZS10YXJnZXQgb24gZml4YXRpb24KCjIwMTUtMTEtMTAgMjA6MTU6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBhZGQgZGVidWcgYXMgdG8gd2h5IF9zZXRfc3RyaW5ncygpIGZhaWxlZAoKMjAxNS0xMS0xMCAyMDoxMzo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2wuYzoKCSAgZ2xzbDogZml4IGNoZWNrIGZvciBnbHNsIHZlcnNpb24gYWdhaW5zdCBHTCBjb250ZXh0IGludmVyc2lvbgoJICBBbnkgR0xTTCB2ZXJzaW9uIHRoYXQgd2FzIGxlc3MgdGhhbiB0aGUgcHJvdmlkZWQgR0wgdmVyc2lvbiB3b3VsZCBmYWlsCgoyMDE1LTExLTEwIDEwOjAyOjM4ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggcGFkIG1lbW9yeSBsZWFrLgoJICBUaGUgc3RhdGljIHBhZHMgZ290IGZyb20gcXVldWUgYW5kIHVyaV9oYW5kbGVyIGFyZSBub3QgYmVpbmcgZnJlZWQKCSAgcmVzdWx0aW5nIGluIG1lbW9yeSBsZWFrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg1OQoKMjAxNS0xMS0xMCAxMzoxMzo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2VudW1zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbDogZm9yd2FyZCBkZWNsYXJlIHNvbWUgZW51bXMKCSAgU3BlY2lmaWNhbGx5IHRoZSBHc3RHTFRleHR1cmVUYXJnZXQgZW51bQoKMjAxNS0xMS0xMCAxMzoxMTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyc3RyaW5ncy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJzdHJpbmdzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSAgZ2xzbHN0YWdlOiBleHBvc2UgdGhlIGRlZmF1bHQgc2hhZGVyIHN0cmluZ3MgYXMgcHVibGljCgkgIEFkZCBzb21lIG90aGVyIHNpbXBsZSBzdHJpbmdzIGZvciBleHRlcm5hbC1vZXMgdGV4dHVyZXMgb3IgdHJhbnNmb3JtaW5nCgkgIHRoZSB0ZXh0dXJlIGNvb3JkaW5hdGVzIHdpdGggYSB0cmFuc2Zvcm1hdGlvbiBtYXRyaXgKCjIwMTUtMTEtMDYgMDM6MDU6MzEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogd2FpdCBvbiB0aGUgc3luYyBtZXRhIGZvciBpbnB1dCBidWZmZXJzCgoyMDE1LTExLTA1IDAwOjEzOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHdhaXQgb24gdGhlIHByb3ZpZGVkIHN5bmMgbWV0YSBwcm92aWRlZCB0byBnbGltYWdlc2luawoKMjAxNS0xMS0wOCAyMjoxNDowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiB1c2UgdGhlIGNvcnJlY3Qgb2VzIHRhcmdldCBzdHJpbmcgaW4gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTUtMTEtMTAgMTI6MzI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0azogYWRkIHRoZSBvdmVybGF5Y29tcG9zaXRpb24gZmVhdHVyZSB0byB0aGUgdGVtcGxhdGUgY2FwcwoJICBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IHRoYXQgdGhlIF9nZXRfY2FwcyBpbXBsIHdpbGwgYmUgY2FsbGVkIHdpdGggdGhlCgkgIGZlYXR1cmUgaW4gdGhlIGZpbHRlciBjYXBzIHdoaWNoIHdoZW4gaW50ZXJlY3Rpbmcgd2l0aCB0aGUgdGVtcGxhdGUsCgkgIHdpbGwgcmV0dXJuIEVNUFRZIGFuZCB0aGVyZWZvcmUgZmFpbCBuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Nzg1NAoKMjAxNS0xMS0xMCAxNDoyMTozMyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgYXBwbGVtZWRpYTogZml4IHZ0ZGVjIHRleHR1cmUgc2hhcmluZyBvbiBpb3MgOS4xCgkgIFVzZSBnc3RfZ2xfc2l6ZWRfZ2xfZm9ybWF0X2Zyb21fZ2xfZm9ybWF0X3R5cGUgdG8gZ2V0IHRoZSBmb3JtYXQgcGFzc2VkIHRvCgkgIENWT3BlbkdMRVNUZXh0dXJlQ2FjaGVDcmVhdGVUZXh0dXJlRnJvbUltYWdlLiBCZWZvcmUgdGhpcyBjaGFuZ2UgZXh0cmFjdGluZyB0aGUKCSAgc2Vjb25kIHRleHR1cmUgZnJvbSB0aGUgcGl4ZWwgYnVmZmVyIHdhcyBmYWlsaW5nIG9uIGlvcyA5LjEuCgoyMDE1LTExLTA2IDE3OjI0OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IGFkZCBhIGZyYW1lcmF0ZSB0byB0ZXN0IGNhcHMKCSAgVGhlIHBhZCB0ZW1wbGF0ZSByZXF1aXJlcyBhIGZyYW1lcmF0ZSwgc28gdXNlIGl0IHRvIHByZXZlbnQKCSAgY2FwcyBuZWdvdGlhdGlvbiBmYWlsdXJlcy4KCSAgRml4ZXMgdGhlIHVuaXQgdGVzdAoKMjAxNS0xMS0wNiAyMDozODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiB1cGRhdGUgLmdpdGlnbm9yZSBmb3IgbmV3IHRlc3QgYmluYXJpZXMKCjIwMTUtMTEtMDYgMTk6MjY6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGRvbid0IHNlbmQgZmx1c2ggZXZlbnRzIG9uIHNlZWtzCgkgIEl0J3MgZm9yIHRoZSB1cHN0cmVhbSBlbGVtZW50IGRyaXZpbmcgdGhlIHBpcGVsaW5lIHRvCgkgIGhhbmRsZSBzZWVrcyBhbmQgc2VuZCBmbHVzaCBldmVudHMgb3Igbm90LCBmaWx0ZXJzCgkgIHNob3VsZCBub3QgaW50ZXJmZXJlIGhlcmUsIG90aGVyd2lzZSBkb3duc3RyZWFtIHBhZHMKCSAgY291bGQgYmUgZmx1c2hpbmcgYmVmb3JlIHVwc3RyZWFtIHBhZHMgYXJlIGZsdXNoaW5nLAoJICB3aGljaCBjYW4gcmVzdWx0IGluIEdTVF9GTE9XX0VSUk9SIGJlaW5nIHNlbnQgaW5zdGVhZAoJICBvZiBHU1RfRkxPV19GTFVTSElORyB3aGVuIHRyeWluZyB0byBmb3J3YXJkIHN0aWNreQoJICBldmVudHMgYXQganVzdCB0aGUgd3JvbmcgbW9tZW50LgoKMjAxNS0xMS0wNiAxNjoxNjozMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3Qgc2VuZCBmbHVzaCBldmVudHMKCSAgSXQgaXMgdXAgdG8gdGhlIGVsZW1lbnQgaGFuZGxpbmcgdGhlIHNlZWsgdG8gc2VuZCBmbHVzaCBldmVudHMKCSAgZG93bnN0cmVhbSwgb3RoZXJ3aXNlIHdlIGVuZCB1cCB3aXRoIGEgc2l0dWF0aW9uIHdoZXJlIHVwc3RyZWFtCgkgIHdvdWxkIGdldCB1bmV4cGVjdGVkIEdTVF9GTE9XX0ZMVVNISU5HCgoyMDE1LTExLTA2IDE5OjIzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBGaXggY29kZSBpbmRlbnRhdGlvbgoKMjAxNS0xMC0yMiAxMzo0MDozNiArMDIwMCAgQnJhbmtvIFN1YmFzaWMgPGJyYW5rb0BheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZnRpbWVzdGFtcC5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogdXNlIHN0cmVhbSB0aW1lIGZvciB0aW1lc3RhbXAKCSAgVGhlIE9udmlmIFN0cmVhbWluZyBTcGVjaWZpY2F0aW9uIHNwZWNpZmllcyB0aGF0IHRoZSBOVFAgdGltZXN0YW1wcwoJICBpbiB0aGUgT252aWYgZXh0ZW5zaW9uIGhlYWRlciBpbmRpY2FlcyB0aGUgYWJzb2x1dGUgVVRDIHRpbWUgYXNzb2NpYXRlZAoJICB3aXRoIHRoZSBhY2Nlc3MgdW5pdC4gQnV0IGJ5IHVzaW5nIHJ1bm5pbmcgdGltZSB3ZSBjYW4gbm90IGFjaGlldmUgdGhhdCwKCSAgc2luY2UgYSBmcmFtZSdzIHJ1bm5pbmcgdGltZSBkZXBlbmRzIG9uIHRoZSBwbGF5ZWQgaW50ZXJ2YWwsIHdoZXRoZXIgYQoJICBub24tZmx1c2hpbmcgaXMgZG9uZSwgZXRjLiBJbnN0ZWFkIHdlIGhhdmUgdG8gdXNlIHRoZSBzdHJlYW0gdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzY4OAoKMjAxNS0xMS0wNiAwOTo0NDo1NyArMDEwMCAgTGludXMgU3ZlbnNzb24gPGxpbnVzc25AYXhpcy5jb20+CgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmdGltZXN0YW1wLmM6CgkgIHJ0cG9udmlmdGltZXN0YW1wOiBVcGRhdGUgbnRwLW9mZnNldCBhbmQgZC9lLWJpdHMgd2l0aCBhIEdzdEV2ZW50CgkgIEl0IGlzIG5vdyBwb3NzaWJsZSB0byB1cGRhdGUgdGhlIGN1cnJlbnRseSB1c2VkIG50cC1vZmZzZXQgd2l0aCBhCgkgIGN1c3RvbSBzZXJpYWxpemVkIGRvd25zdHJlYW0gZXZlbnQuIFRoZSBlbGVtZW50IHdpbGwgcmVhZCB0aGUgbnRwLW9mZnNldAoJICBwcm9wZXJ0eSB3aGVuIGRvaW5nIHRoZSBzdGF0ZSB0cmFuc2l0aW9uIGZyb20gUkVBRFkgdG8gUEFVU0VEIGFuZAoJICB1c2UgdGhhdCBvZmZzZXQgdW50aWwgaXQgcmVjZWl2ZXMgYSAiR3N0TnRwT2Zmc2V0IiBldmVudCwgd2hpY2ggYWxzbwoJICBoYXMgYSAibnRwLW9mZnNldCIgYXR0cmlidXRlIGluIHRoYXQgaXQncyBzdHJ1Y3R1cmUuIEluIGNhc2UgdGhlCgkgIHByb3BlcnR5IGlzIG5vdCBzZXQgYW5kIG5vIGV2ZW50IGhhcyBiZWVuIHJlY2VpdmVkLCB0aGUgZWxlbWVudCB3aWxsCgkgIGd1ZXNzIHRoZSBucHQtb2Zmc2V0IHdpdGggaGVscCBvZiB0aGUgY2xvY2suIElmIG5vIGNsb2NrIGNhbiBiZQoJICByZXRyaWV2ZWQsIHRoZSBlbGVtZW50IHdpbGwgZXJyb3Igb3V0IGFuZCBzdG9wIHRoZSBkYXRhIGZsb3cuCgkgIFRoZSBzYW1lIGV2ZW50IGlzIGFsc28gdXNlZCBmb3IgdXBkYXRpbmcgdGhlIEQvRS1iaXRzIGluIHRoZSBSVFAKCSAgZXh0ZW5zaW9uIGhlYWRlci4gVGhlIGRpc2NvbnQgZmxhZyBpbiBhIGJ1ZmZlciBjYW4gYmUgc2V0IHdoZW52ZXIgYQoJICBsaXZlL25ldHdvcmsgc291cmNlIGxvb3NlcyBhIGZyYW1lLCBidXQgdGhhdCBpcyBub3QgdGhlIHR5cGUgb2YKCSAgZGlzY29udGludWl0eSB0aGF0IHRoZSBvbnZpZiBleHRlbnNpb24gaGVhZGVyIHNob3VsZCByZWZsZWN0LiBUaGUKCSAgaGVhZGVyIGlzIG1haW5seSB1c2VkIGZvciBwbGF5YmFjayBvZiBhIHRyYWNrIGNvbmNlcHQsIGluIHdoaWNoCgkgIGdhcHMgY2FuIGJlIHByZXNlbnQsIGFuZCBpdCdzIHRob3NlIGtpbmQgb2YgZ2FwcyB0aGF0IHNob3VsZCBiZQoJICBoaWdobGlnaHRlZCB3aXRoIHRoZSBELSBhbmQgRS1iaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTExLTA2IDA5OjQ0OjE2ICswMTAwICBMaW51cyBTdmVuc3NvbiA8bGludXNzbkBheGlzLmNvbT4KCgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWZ0aW1lc3RhbXA6IERvIG5vdCByZWFyYW5nZSBvcmRlciBvZiBkYXRhCgkgIElmIGEgYnVmZmVyIG9yIGEgYnVmZmVyIGxpc3QgaXMgY2FjaGVkLCBubyBldmVudHMgc2VyaWFsaXplZCB3aXRoIHRoZQoJICBkYXRhIHN0cmVhbSBzaG91bGQgZ2V0IHRocm91Z2guIFRoZSBjYWNoZWQgYnVmZmVycyBhbmQgZXZlbnRzIHNob3VsZAoJICBiZSBwdXJnZWQgd2hlbiB3ZSBzdG9wIGZsdXNoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTEwLTEzIDE0OjIxOjQ3ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG9udmlmcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWZ0aW1lc3RhbXAuYzoKCSAgcnRwb252aWY6IHNwbGl0IHVuaXQgdGVzdHMgaW4gc2V2ZXJhbCBmaWxlcwoJICBTcGxpdCB0aGUgdW5pdCB0ZXN0cyBmb3IgcnRwb252aWZ0aW1lc3RhbXAgYW5kIHJ0cG9udmlmcGFyc2UKCSAgZWxlbWVudHMgaW4gc2VwYXJhdGUgZmlsZXMuCgkgIFNldHVwIGFuZCBjbGVhbnVwIHRoZSBlbGVtZW50IGFuZCBwYWRzIGluIGZpeHVyZXMuIE1ha2UgdGhlIHRlc3RzIHdvcmsKCSAgd2l0aCBDS19GT1JLPW5vIGFzIHdlbGwsIGJ5IGNsZWFuaW5nIHVwIHRoZSAnYnVmZmVycycgbGlzdCB3aGVuIG5lZWRlZC4KCSAgTWFrZSB1bml0IHRlc3RzIHdvcmsgd2hlbiBydW4gaW4gdmFsZ3JpbmQgYnkgdW5yZWZmaW5nIGFsbCBidWZmZXJzLAoJICBhbmQgYnkgbm90IGFsbG9jYXRpbmcgYW55IHBheWxvYWQgaW4gUlRQIGJ1ZmZlcnMuIFNpbmNlIHdlJ3JlIG5vdAoJICBkb2luZyBhbnl0aGluZyB3aXRoIHRoZSBwYXlsb2FkIHBhcnQsIGJ1dCB3ZSdyZSBtZW1jbXAtYXJpbmcgdGhlCgkgIGNvbXBsZXRlIGJ1ZmZlciBtZW1vcnksIHZhbGdyaW5kIGNvbXBsYWluZWQgYWJvdXQgbm9uLWluaXRpYWxpemVkCgkgIG1lbW9yeSBiZWluZyB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3Njg4CgoyMDE1LTA5LTA0IDA5OjU5OjA2ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGltcHJvdmVkIGJpdHJhdGUgZXN0aW1hdGlvbnMKCSAgQml0cmF0ZSBlc3RpbWF0aW9uIGlzIG5vdyBoYW5kbGVkIHRocm91Z2ggYSBxdWV1ZTIgZWxlbWVudCBhZGRlZCBhZnRlcgoJICB0aGUgc291cmNlIGVsZW1lbnQgdXNlZCB0byBkb3dubG9hZCBmcmFnbWVudHMuCgkgIE9yaWdpbmFsIGhsc2RlbXV4IHBhdGNoIGJ5IER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM5NTkKCjIwMTUtMTEtMDYgMTI6NTk6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3c6IGZpeCBHTGlzdCBsZWFrCgkgIF9yZW1vdmVfbGluaygpIHdvdWxkIG5vdCBmcmVlIHRoZSBhY3R1YWwgbGlzdCBub2Rlcy4KCjIwMTUtMTEtMDYgMTI6MzE6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIGdsc2hhZGVyLCB0c2RlbXV4OiBzaW1wbGlmeSBjb2RlCgkgIEp1cyB1c2UgX2RlbGV0ZV9saW5rKCkgaW5zdGVhZCBvZiBfcmVtb3ZlX2xpbmsoKSArIF9mcmVlMSgpCgoyMDE1LTExLTA2IDEyOjMwOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSAgZ2xtaXhlcmJpbjogZml4IG1pbm9yIGxlYWsKCSAgRG9uJ3QgbGVhayByZW1vdmVkIGxpc3Qgbm9kZS4KCjIwMTUtMTEtMDYgMTA6MjI6NDIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBzb29uIGVub3VnaAoJICBBdm9pZGluZyBhc3NlcnRpb25zCgoyMDE1LTExLTA1IDEwOjEyOjQxICswMDAwICBKdWxpYW4gQm91emFzIDxqdWxpYW4uYm91emFzQHZjYXRlY2hub2xvZ3kuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEFkZGVkIC0td2l0aC1obHMtY3J5cHRvPWF1dG98bmV0dGxlfGxpYmdjcnlwdHxvcGVuc3NsIG9wdGlvbiB0byBidWlsZCB0aGUgc291cmNlIHVzaW5nIHRoZSBkZXNpcmVkIGNyeXB0b2dyYXBoaWMgbGlicmFyeSBmb3IgSExTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUzMTkKCjIwMTUtMTEtMDYgMDA6NDg6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBtM3U4OiBkb24ndCBsZWFrIEdMaXN0IG5vZGVzIHdoZW4gbWF0Y2hpbmcgdXAgdmFyaWFudCBsaXN0cyBhZnRlciBtYXN0ZXIgbGlzdCB1cGRhdGUKCjIwMTUtMTEtMDUgMTI6MzY6NDggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHVzZSBHU1RfU1RJTUVfRk9STUFUIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlIG9mIGRlYWRsaW5lLCBHU1RfU1RJTUVfRk9STUFUIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wNSAxMjoxNzowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogdXNlIEdTVF9TVElNRV9GT1JNQVQgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byB1c2UgR19HSU5UNjRfRk9STUFUIGZvciBwb3RlbnRpYWxseSBuZWdhdGl2ZSB2YWx1ZXMgb2YKCSAgR3N0Q2xvY2tUaW1lRGlmZi4gU2luY2UgMS42IHRoZXNlIGNhbiBiZSBoYW5kbGVkIHdpdGggR1NUX1NUSU1FX0ZPUk1BVC4KCSAgUGx1cyBpdCBjcmVhdGVzIG1vcmUgcmVhZGFibGUgdmFsdWVzIGluIHRoZSBsb2dzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3NDgwCgoyMDE1LTExLTA1IDEyOjExOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBVcGRhdGUgc2luayBwYWQgdGVtcGxhdGVzCgkgIFdlIGFsd2F5cyByZXF1aXJlIHRoZSBjaGFubmVsLW1hcHBpbmctZmllbGQuIElmIGl0J3MgMCB3ZSByZXF1aXJlIG5vdGhpbmcKCSAgZWxzZSwgb3RoZXJ3aXNlIHdlIG5lZWQgY2hhbm5lbHMsIHN0cmVhbS1jb3VudCBhbmQgY291cGxlZCBjb3VudCB0byBiZQoJICBhdmFpbGFibGUuCgoyMDE1LTExLTAzIDE5OjA5OjMzIC0wODAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBkb24ndCBjb21wYXJlIHRlbXBsIGluc3RhbmNlIHBvaW50ZXJzCgkgIE9uZSBjYW4gcGFzcyB0aGUgUGFkVGVtcGxhdGUgZnJvbSB0aGUgZWxlbWVudF9jbGFzcyBvciB0aGUgb25lIGZyb20gdGhlIGZhY3RvcnkuCgkgIFdoaWxlIHRoZXkgaGF2ZSB0aGUgc2FtZSBjb250ZW50LCB0aGUgYWRkcmVzc2VzIGFyZSBkaWZmZXJlbnQuCgoyMDE1LTExLTA0IDAwOjEyOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBSZW1vdmUgaW52YWxpZCB1bml0IHRlc3QKCSAgT3B1cyBoZWFkZXJzIHNob3VsZCBuZXZlciBiZSBpbi1iYW5kLCBzbyBkb24ndCB0ZXN0IGZvciBjb3JyZWN0CgkgIGhhbmRsaW5nIG9mIHRoYXQuCgoyMDE1LTExLTA0IDAwOjEyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBDcmVhdGUgYW4gZW1wdHkgdGFnbGlzdCBpZiB0aGVyZSBpcyBub25lCgkgIFRoZXJlIGFsd2F5cyBoYXZlIHRvIGJlIDIgYnVmZmVycyBpbiB0aGUgc3RyZWFtaGVhZGVycywgZXZlbiBpZgoJICB0aGUgY29tbWVudCBidWZmZXIgaXMgYmFzaWNhbGx5IGVtcHR5LgoKMjAxNS0xMS0wMyAxNDo0MTo1NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU2V0IHRvIHJ1bm5pbmcgaW4gYSBzaW5nbGUgcGxhY2UKCSAgT25seSBzZXQgdG8gcnVubmluZyB3aGVuIHRoZSB0aHJlYWQgaXMgYWN0dWFsbHkgc3RhcnRlZC4KCjIwMTUtMTEtMDMgMTQ6Mzc6MjYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IG1vcmUgbG9ja2luZwoKMjAxNS0xMS0wMyAxOTo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IGNyZWF0ZSBhbiBpbmNvbXBsZXRlIE9wdXNIZWFkIGJ1dCBzZXQgYWxsIHRoZSBvdGhlciBjYXBzIGZpZWxkcyBpbnN0ZWFkCgkgIE9wdXNIZWFkIGlzIG9wdGlvbmFsLCB0aGUgb3RoZXIgZmllbGRzIGFyZSBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTk6NTE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICB0c211eDogU2ltcGxpZnkgT3B1cyBjYXBzIHBhcnNpbmcgYnkgdXNpbmcgY29kZWN1dGlscyBoZWxwZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTIKCjIwMTUtMTEtMDMgMTQ6NTA6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogQWRkIHByb3BlciBzdXBwb3J0IGZvciBtdWx0aWNoYW5uZWwgYXVkaW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MgoKMjAxNS0xMS0wMyAxMTo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1c3BhcnNlOiBGaXggdXAgcHJlLXNraXAgaW4gT3B1c0hlYWQgaWYgdXBzdHJlYW0gdXNpbmcgR3N0QXVkaW9DbGlwcGluZ01ldGEKCSAgTWFrZXMgdHJhbnNtdXhpbmcgZnJvbSBlLmcuIE1QRUctVFMgdG8gT2dnIHNhbXBsZSBhY2N1cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxODowMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfb3B1cy5jOgoJICB0c2RlbXV4L211eDogQWRkIHN1cHBvcnQgZm9yIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhIGZvciBPcHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTEtMDIgMTc6MzM6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IEhhbmRsZSBHc3RBdWRpb0NsaXBwaW5nTWV0YSBpbnN0ZWFkIG9mIHRoZSBwcmUtc2tpcCBmaWVsZCBpbiB0aGUgT3B1c0hlYWQKCSAgb2dnZGVtdXggaXMgb3V0cHV0dGluZyB0aGUgbWV0YSBub3csIGFuZCBvbmx5IG91dHB1dHMgaWYgaXQgc2hvdWxkIHJlYWxseQoJICBhcHBseSB0byB0aGUgY3VycmVudCBidWZmZXIuIFByZXZpb3VzbHkgd2Ugd291bGQgc2tpcCBOIHNhbXBsZXMgYWxzbyBpZiB3ZQoJICBzdGFydGVkIHRoZSBkZWNvZGVyIGluIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxNjo1MjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIEdzdEF1ZGlvQ2xpcHBpbmdNZXRhIHRvIGJ1ZmZlcnMgdGhhdCBuZWVkIHRvIGJlIGNsaXBwZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMS0wMiAxMDozMDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogRGlzYWJsZSBncmFudWxlIHBvc2l0aW9uIGNhbGN1bGF0aW9ucyBieSB0aGUgYmFzZSBjbGFzcwoJICBJdCBpcyBkb2luZyB0aGUgd3JvbmcgdGhpbmcgYmVjYXVzZSBvZiB0aGUgT3B1cyBwcmUtc2tpcDogd2hpbGUgdGhlIHRpbWVzdGFtcHMKCSAgYXJlIHNoaWZ0ZWQgYnkgdGhlIHByZS1za2lwLCB0aGUgZ3JhbnVsZSBwb3NpdGlvbnMgYXJlIG5vdCBzaGlmdGVkLgoJICBvZ2dtdXggaXMgZG9pbmcgdGhlIHJpZ2h0IHRoaW5nIGhlcmUgYWxyZWFkeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0zMSAxNTowMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogQWRkIHNvbWUgRklYTUUgY29tbWVudHMgYWJvdXQgY2FsY3VsYXRpbmcgcGFkZGluZyB3aXRoIExQQwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MTUzCgoyMDE1LTEwLTMwIDIwOjU3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IEVuY29kZSBleGFjdGx5IHRoZSBhbW91bnQgb2Ygc2FtcGxlcyB3ZSBnb3QgYXMgaW5wdXQgYW5kIHB1dCBjb3JyZWN0IHRpbWVzdGFtcHMgb24gaXQKCSAgVGhlIGZpcnN0IGZyYW1lIGhhcyBsb29rYWhlYWQgbGVzcyBzYW1wbGVzLCB0aGUgbGFzdCBmcmFtZSBtaWdodCBoYXZlIHNvbWUKCSAgcGFkZGluZyBvciB3ZSBtaWdodCBoYXZlIHRvIGVuY29kZSBhbm90aGVyIGZyYW1lIG9mIHNpbGVuY2UgdG8gZ2V0IGFsbCBvdXIKCSAgaW5wdXQgaW50byB0aGUgZW5jb2RlZCBkYXRhLgoJICBUaGlzIGlzIGJlY2F1c2Ugb2YgYSkgdGhlIGxvb2thaGVhZCBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBlbmNvZGluZywgd2hpY2gKCSAgc2hpZnRzIGFsbCBkYXRhIGJ5IHRoYXQgYW1vdW50IG9mIHNhbXBsZXMgYW5kIGIpIHRoZSBwYWRkaW5nIG5lZWRlZCB0byBmaWxsCgkgIHRoZSB2ZXJ5IGxhc3QgZnJhbWUgY29tcGxldGVseS4KCSAgSWRlYWxseSB3ZSB3b3VsZCB1c2UgTFBDIHRvIGNhbGN1bGF0ZSBzb21ldGhpbmcgYmV0dGVyIHRoYW4gc2lsZW5jZSBmb3IgdGhlCgkgIHBhZGRpbmcgdG8gbWFrZSB0aGUgZW5jb2RpbmcgYXMgc21vb3RoIGFzIHBvc3NpYmxlLgoJICBXaXRoIHRoaXMgd2UgZ2V0IGV4YWN0bHkgdGhlIHNhbWUgYW1vdW50IG9mIHNhbXBsZXMgYWdhaW4gaW4gYW4KCSAgb3B1c2VuYyAhIG9wdXNkZWMgcGlwZWxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcxNTMKCjIwMTUtMTAtMzAgMjA6NDc6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c2VuYzogUHV0IGxvb2thaGVhZC9wcmUtc2tpcCBpbnRvIHRoZSBPcHVzSGVhZCBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzE1MwoKMjAxNS0xMC0yNSAxNzoyNzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X29wdXMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfb3B1cy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgdHNtdXg6IEFkZCBzdXBwb3J0IGZvciBPcHVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcwNDkKCjIwMTUtMTAtMjQgMTQ6Mjc6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgT3B1cwoJICBDb2RlIHBhcnRpYWxseSBiYXNlZCBvbgoJICBodHRwczovL2dpdC52aWRlb2xhbi5vcmcvP3A9ZmZtcGVnLmdpdDthPWNvbW1pdDtoPTc0MTQxZjY5M2RlZDJmYmY3NWFmNTZmZmYzMDlkMmRiMzUxODM2MzUKCSAgYW5kIGJhc2VkIG9uIHRoZSBzcGVjIGRyYWZ0IGF0CgkgIGh0dHBzOi8vd2lraS54aXBoLm9yZy9PcHVzVFMKCSAgTWFrZXMgaXQgcG9zc2libGUgdG8gZGVtdXgKCSAgaHR0cDovL3d3dy5vYmUudHYvRG93bmxvYWRzL29wdXMudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxOTozMTo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIHRzbXV4OiBEb24ndCBsZWFrIGJ1ZmZlciBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDQ5CgoyMDE1LTEwLTI1IDE5OjI5OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IENhbGwgcHJlcGFyZSBmdW5jdGlvbiBmb3IgZWFjaCBjb2xsZWN0ZWQgYnVmZmVyCgkgIE5vdCB3aGVuIGNsaXBwaW5nIGJ1ZmZlcnMsIGFzIHRoYXQgZG9lc24ndCBoYXBwZW4gZm9yIGV2ZXJ5IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMC0yNSAxODowOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzZGVzY3JpcHRvcjogQWRkIEFQSSBmb3IgY3JlYXRpbmcgZXh0ZW5kZWQgZGVzY3JpcHRvcnMgYW5kIGZpeCB3cml0aW5nIHRoZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzA0OQoKMjAxNS0xMS0wMiAyMToxNjoxNSAtMDgwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkgIG9wZW5jdjogY2FzdCBwYXJhbXNwZWMgZmxhZ3MgdG8gZml4IHRoZSBidWlsZCBmb3IgYysrCgkgIEFsbCB0aGUgb3RoZXIgZWxlbWVudHMgaW4gdGhpcyBwbHVnaW4gZG8gdGhpcyBhbHJlYWR5LgoKMjAxNS0xMS0wMyAxNTowNToyMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gdXNlIEdfR0lOVDY0X0ZPUk1BVCBmb3IgcG90ZW50aWFsbHkgbmVnYXRpdmUgdmFsdWVzIG9mCgkgIEdzdENsb2NrVGltZURpZmYuIFNpbmNlIDEuNiB0aGVzZSBjYW4gYmUgaGFuZGxlZCB3aXRoIEdTVF9TVElNRV9BUkdTLgoJICBQbHVzIGl0IGNyZWF0ZXMgbW9yZSByZWFkYWJsZSB2YWx1ZXMgaW4gdGhlIGxvZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTc0ODAKCjIwMTUtMTEtMDMgMTU6MDA6MDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiB1c2UgR1NUX1NUSU1FX0FSR1MgZm9yIEdzdENsb2NrVGltZURpZmYKCSAgTm8gbmVlZCB0byBtYW51YWxseSBoYW5kbGUgbmVnYXRpdmUgdmFsdWUgb2YgZGVhZGxpbmUsIEdTVF9TVElNRV9BUkdTIGRvZXMKCSAgZXhhY3RseSB0aGlzLgoKMjAxNS0xMS0wMyAxMDo0Mjo0MCArMDAwMCAgSHl1bmlsIFBhcmsgPGh5dW5pbDQ2LnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIGV4Y2VwdGlvbiBjb2RlIGZvciBzZXR0aW5nIHdsX3N1cmZhY2UKCSAgV2F5bGFuZHNpbmsgbmVlZHMgZXhjZXB0aW9uIGNvZGUgaW4gZ3N0X3dheWxhbmRfc2lua19zZXRfd2luZG93X2hhbmRsZSgpLgoJICBBZnRlciBtYWtpbmcgc2luay0+d2luZG93LCBVc2VyIGNhbiBjYWxsCgkgIGdzdF93YXlsYW5kX3Npbmtfc2V0X3dpbmRvd19oYW5kbGUoKS4gSXQgaXMgdGhlIHVzZXIncyBmYXVsdCwgYnV0CgkgIFdheWxhbmRzaW5rIG5lZWRzIHRvIGhhbmRsZSB0aGUgZXhjZXB0aW9uLCBpZiBub3QgdGhlbiBzaW5rLT53aW5kb3cgaXMKCSAgY2hhbmdlZCBhbmQgcmVuZGVyaW5nIGZhaWxzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgyCgoyMDE1LTA0LTA5IDEzOjE3OjAxICswOTAwICBIeXVuaWwgUGFyayA8aHl1bmlsNDYucGFya0BzYW1zdW5nLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBBZGQgZXhjZXB0aW9uIGNvZGUgZm9yIHNldHRpbmcgd2xfZGlzcGxheQoJICBXYXlsYW5kc2luayBuZWVkcyBleGNlcHRpb24gY29kZSBpbiBnc3Rfd2F5bGFuZF9zaW5rX3NldF9jb250ZXh0KCkuIEFmdGVyCgkgIGNhbGxpbmcgZ3N0X3dheWxhbmRfc2lua19zZXRfY29udGV4dCgpLCBiZWxvdyBjb2RlIGlzIHNldC4KCSAgR1NUX0VMRU1FTlRfQ0xBU1MgKHBhcmVudF9jbGFzcyktPnNldF9jb250ZXh0IChlbGVtZW50LCBjb250ZXh0KTsgYnV0LCBJZgoJICB1c2VyIGNhbiBjYWxsIG9uZW1vcmUuIEl0IGlzIHVzZXIncyBmYXVsdC4gYnV0IHdheWxhbmRzaW5rIG5lZWQgdG8KCSAgZXhjZXB0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NDgyCgoyMDE1LTExLTAyIDIwOjEwOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBIb2xkIG9iamVjdCBsb2NrIHdoaWxlIG1hbmlwdWxhdGluZyB0aGUgc2VnbWVudAoJICBNYWtlIHN1cmUgdGhlIG9iamVjdCBsb2NrIGlzIGhlbGQgd2hlbiBhZ2dyZWdhdG9yLT5zZWdtZW50IGlzCgkgIG1vZGlmaWVkLgoKMjAxNS0xMS0wMiAxOTo0MDoyOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IEltcHJvdmUgbG9nIG1lc3NhZ2VzCgkgIE1ha2UgdGhlIGxldmVsIG9mIGxvZyBtZXNzYWdlcyBzYW5lciBhbmQgaW1wcm92ZSBzb21lLgoKMjAxNS0xMS0wMiAxOTowNTowMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIGRlYWQgY29kZQoJICBUaGlzIGNvZGUgd2lsbCBuZXZlciBiZSBjYWxsZWQgYXMgbWF4Pj1taW4gaW4gYWxsIGNhc2VzLiBJZiB0aGUgdXBzdHJlYW0KCSAgbGF0ZW5jeSBxdWVyeSByZXR1cm5lZCBtaW4+bWF4LCB0aGUgZnVuY3Rpb24gYWxyZWFkeSByZXR1cm5lZCBhbmQgYWxsCgkgIHZhbHVlcyB0aGF0IGFyZSBhZGRlZCB0byB0aG9zZSBoYXZlIG1heD49IG1pbi4KCjIwMTUtMTEtMDIgMTc6MDI6NDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgR3N0Q2xvY2tUaW1lRGlmZgoJICBObyBuZWVkIHRvIG1hbnVhbGx5IGhhbmRsZSBuZWdhdGl2ZSB2YWx1ZXMgb2YgYmVzdC0+ZHRzIGluCgkgIEdTVF9ERUJVR19PQkpFQ1QuIFVzZSBHU1RfU1RJTUVfQVJHUyBmb3IgdGhpcy4KCjIwMTUtMTEtMDIgMTY6NTg6NTcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXNlIEdTVF9TVElNRV9BUkdTIGZvciBHc3RDbG9ja1RpbWVEaWZmCgkgIE5vIG5lZWQgdG8gbWFudWFsbHkgaGFuZGxlIG5lZ2F0aXZlIHZhbHVlcyBvZiBkaWZmLCBHU1RfU1RJTUVfQVJHUyBkb2VzCgkgIGV4YWN0bHkgdGhpcy4KCjIwMTUtMTEtMDIgMTE6MTc6MjkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVucmVhY2hhYmxlIGNvZGUKCSAgVGhlIHN0cmVhbS0+Y3VyX3NlZ190ZW1wbGF0ZSBpcyBzZXQgdG8gdGhlIGxvd2VzdCBhdmFpbGFibGUgc2VnbWVudAoJICB0ZW1wbGF0ZSAocmVwcmVzZW50YXRpb24gb3IgYWRhcHRhdGlvbiBvciBwZXJpb2QsIGluIHRoaXMgb3JkZXIpLgoJICBCZWNhdXNlIHRoZSB0ZW1wbGF0ZSBlbGVtZW50cyBhcmUgaW5oZXJpdGVkLCB0aGUgbG93ZXN0IHRlbXBsYXRlIHdpbGwKCSAgaGF2ZSBhbGwgdGhlIGVsZW1lbnRzIHRoZSBwYXJlbnRzIGhhZCwgc28gdGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayB0aGUKCSAgcGFyZW50IGZvciBhbiBlbGVtZW50IHRoYXQgaXMgbm90IGZvdW5kIGluIHRoZSBjaGlsZCAoZWcgaW5pdGlhbGlzYXRpb24KCSAgb3IgaW5kZXgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzE0CgoyMDE1LTExLTAyIDEwOjQ4OjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBNUEQgZmlsZSBkdXJhdGlvbiBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMzYKCjIwMTUtMTEtMDIgMTA6MjU6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogYWRkIHNvbWUgY2hlY2tzIHRvIGR1cmF0aW9uIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjMzNgoKMjAxNS0wOS0yOSAwOTozMjowMiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCBkdXJhdGlvbiBmb3JtYXQgdmFsaWRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzM2CgoyMDE1LTExLTAyIDExOjIxOjE0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4IG1lbW9yeSBsZWFrCgkgIEZyZWUgbmV3X21wZCwgYWxsb2NhdGVkIHdpdGggZ19zbGljZV9uZXcoKSwgYmVmb3JlIGdvaW5nIG91dCBvZiBzY29wZSBpbgoJICBnb3RvIGVycm9yLgoJICBDSUQgMTMzODA1MAoKMjAxNS0xMS0wMiAyMDoxNDoxMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBSZXZlcnQgInZ0ZW5jOiBmcmVlIGlucHV0IGJ1ZmZlciBBU0FQIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYxMDFmYzU3YjhhZmFjNGY0ZTRhYTc0Mjg5MmYwZDljOTlkMzhhOGMuCgkgIEdzdFZpZGVvRW5jb2RlciBhc3N1bWVzIHRoYXQgdGhlIGlucHV0IGJ1ZmZlciBpcyBhdmFpbGFibGUgdW50aWwgX2ZpbmlzaF9mcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njk1MQoKMjAxNS0xMS0wMSAyMzozNDozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogQXNzdW1lIDQ4a0h6IGlmIG5vIHNhbXBsZSByYXRlIGlzIGdpdmVuIGluIHRoZSBoZWFkZXIKCjIwMTUtMTAtMzAgMjA6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IFBsYWNlIDQ4a0h6IGZpcnN0IGluIHRoZSBjYXBzCgkgIEZvciBhbGwgdGhlIG90aGVyIHNhbXBsZSByYXRlcyB0aGUgZW5jb2RlciB3aWxsIGhhdmUgdG8gcmVzYW1wbGUgaW50ZXJuYWxseS4KCjIwMTUtMTEtMDIgMTI6MTA6NDQgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ3N0Z2x1dGlsczogZml4IHNoYWRlciBjb21waWxhdGlvbiBvbiBNb3VudGFpbiBMaW9uCgkgIE1ha2UgZ3N0X2dsX2NvbnRleHRfZ2VuX3NoYWRlci9fY29tcGlsZV9zaGFkZXIgYXNzdW1lIEdTVF9HTFNMX1BST0ZJTEVfRVMgfAoJICBHU1RfR0xTTF9QUk9GSUxFX0NPTVBBVElCSUxJVFkgYXMgdGhlIHByb2ZpbGUuIFdpdGhvdXQgdGhpcywgdGhlIHNoYWRlciBjb21waWxlcgoJICBkb2Vzbid0IGluamVjdCB0aGUgI3ZlcnNpb24gdGFnIHJlc3VsdGluZyBpbiBhIGNvbXBpbGF0aW9uIGVycm9yIG9uIE1vdW50YWluCgkgIExpb24uCgkgIFRoaXMgaXMgYSB3b3JrYXJvdW5kIGZvciBvbGQgY29kZSB1c2luZyBnc3RfZ2xfY29udGV4dF9nZW5fc2hhZGVyLiBOZXcgY29kZQoJICBzaG91bGQgdXNlIHRoZSBnc3RfZ2xzbF9zdGFnZV8qIEFQSSBkaXJlY3RseSB3aGljaCBhbGxvd3MgdGhlIGNhbGxlciB0bwoJICBleHBsaWNpdGx5IHNwZWNpZnkgdmVyc2lvbi9wcm9maWxlLgoKMjAxNS0xMC0zMSAxODo0NzozOSArMDEwMCAgUGhpbGlwcGUgUmVub24gPHBoaWxpcHBlX3Jlbm9uQHlhaG9vLmZyPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZG9uJ3QgdHJ5IHRvIGFsaWduIGN1cnJlbnQgdGltZXN0YW1wIG9uIHByZXZpb3VzIHRpbWVzdGFtcAoJICB0aGlzIGNhdXNlcyBmcmFtZXMgdG8gYmUgZHJvcHBlZC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBTZWJhc3RpYW4gRHLDtmdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMzcKCjIwMTUtMTAtMzEgMjM6Mjg6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBleHBsaWNpdGx5IGluaXRpYWxpemUgYSBwb3NzaWJseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgkgIFRoZSByZXQgdmFyaWFibGUgbWF5IGJlIHVuaW5pdGlhbGl6ZWQgYW5kIHNvIGl0cyBjb250ZW50cyB3ZXJlIHVuZGVmaW5lZCBhbmQKCSAgdGhlIHJlc3VsdHMgd2VyZSBlcnJhdGljIChmYWlsaW5nIHdpdGggZ2x2aWRlb21peGVyLCBzdWNjZWVkaW5nIGluIG90aGVyIGNhc2VzKQoJICBQLlMuIE5vIGlkZWEgd2h5IGdjYy9jbGFuZyBldCBhbCBuZXZlciBwaWNrZWQgdXAgb24gdGhpcyBsaWtlIHRoZXkgbm9ybWFsbHkgZG8KCSAgKHByb2JhYmx5IGR1ZSB0byBzb21lIG9wdGltaXNhdGlvbiBwYXNzIGZpZ3VyaW5nIG91dCBpdCdzIG9ubHkgc2V0IG9uY2UuLi4pCgoyMDE1LTEwLTI5IDExOjM4OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBtYWtlIGR1cmF0aW9ucyB1bnNpZ25lZCB3aGVyZSBhcHByb3ByaWF0ZQoJICBUaGUgc3RhbmRhcmQgZG9lcyBub3Qgc2VlbSB0byBtYWtlIGFueSBwYXJ0aWN1bGFyIGV4cGxpY2l0IG5vdAoJICBpbXBsaWNpdCByZWZlcmVuY2UgdG8gdGhlIHNpZ25lZG5lc3Mgb2YgZHVyYXRpb25zLCBhbmQgdGhlIGNvZGUKCSAgZG9lcyBub3QgcmVseSBvbiBzdWNoLCBub3Igb24gdGhlIG5lZ2F0aXZpdHkgb2YgdGhlIC0xIHZhbHVlCgkgIHRoYXQncyB1c2VkIGFzIGEgcGxhY2Vob2xkZXIgd2hlbiBhIGR1cmF0aW9uIHByb3BlcnR5IGlzIG5vdAoJICBwcmVzZW50IGluIHRoZSBYTUwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NDcKCjIwMTUtMTAtMzAgMTU6NTU6MTkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW5oZXJpdCBiaXRzdHJlYW1Td2l0Y2hpbmcgZnJvbSBQZXJpb2QgdG8gQWRhcHRhdGlvblNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzQwCgoyMDE1LTA4LTIwIDE4OjE0OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1hcmtlZCBQUk9QX0JBTkRXSURUSF9VU0FHRSBwcm9wZXJ0eSBhcyBkZXByZWNhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4OTAKCjIwMTUtMTAtMzAgMTU6MDI6MzUgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB1bml0IHRlc3RpbmcgcmVwcm9kdWNpbmcgaW5oZXJpdGVkIHNlZ21lbnQgZHVyYXRpb24gb3ZlcmZsb3cKCSAgdW5pdCB0ZXN0IHJlcHJvZHVjaW5nIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MzIKCjIwMTUtMTAtMzAgMTQ6MzE6MjEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogaW5oZXJpdGVkIHNlZ21lbnQgVVJMcyBhcmUgaWdub3JlZCBpZiB0aGV5IGFyZSBkZWZpbmVkIGFnYWluIGluIGEgbG93ZXIgU2VnbWVudExpc3QKCSAgQWNjb3JkaW5nIHRvIHRoZSBzdGFuZGFyZDoKCSAgIlNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUgYW5kIFNlZ21lbnRMaXN0IHNoYWxsIGluaGVyaXQKCSAgYXR0cmlidXRlcyBhbmQgZWxlbWVudHMgZnJvbSB0aGUgc2FtZSBlbGVtZW50IG9uIGEgaGlnaGVyIGxldmVsLgoJICBJZiB0aGUgc2FtZSBhdHRyaWJ1dGUgb3IgZWxlbWVudCBpcyBwcmVzZW50IG9uIGJvdGggbGV2ZWxzLAoJICB0aGUgb25lIG9uIHRoZSBsb3dlciBsZXZlbCBzaGFsbCB0YWtlIHByZWNlZGVuY2Ugb3ZlciB0aGUgb25lCgkgIG9uIHRoZSBoaWdoZXIgbGV2ZWwuIgoJICBnc3RfbXBkcGFyc2VyX3BhcnNlX3NlZ21lbnRfbGlzdF9ub2RlIHdpbGwgbm93IGRpc2NhcmQgYW55IGluaGVyaXRlZAoJICBzZWdtZW50IFVSTHMgaWYgdGhlIHBhcnNlZCBlbGVtZW50IGRlZmluZXMgc29tZSB0b28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MzIKCjIwMTUtMTAtMjAgMTc6MjE6MDAgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuaDoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHRlc3QgZm9yIGZyYWdtZW50IGRvd25sb2FkIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMjAgMTU6NDY6MzYgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogbWFkZSBhZGFwdGl2ZSBkZW11eCB0ZXN0IHRocmVhZCBzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMTYgMTY6MjA6MzQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9kZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiB0ZXN0czogYWRkZWQgcXVlcnkgdGVzdAoJICBUZXN0aW5nIGlmIGFkYXB0aXZlIGRlbXV4IHJlc3BvbmRzIHRvIHF1ZXJpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTczNjEKCjIwMTUtMTAtMjggMTE6MjE6MTQgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdGVzdCBmb3IgbXVsdGlwbGUgQmFzZVVSTCBlbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyNDUKCjIwMTUtMDktMTYgMTA6NDA6MzMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogYWRkZWQgdW5pdCB0ZXN0IGZvciA2ZDFlZGE5MzkxZDMxNDNiNWZjNjMzZWRmZDk0Yjg5ZGJiYTIwOWFiCgkgIENvbW1pdCA2ZDFlZGE5MzkxZDMxNDNiNWZjNjMzZWRmZDk0Yjg5ZGJiYTIwOWFiIGZpeGVkIHRoZSBwZXJpb2Qgc3RhcnQKCSAgdGltZSBzY2FsaW5nLiBUaGlzIHBhdGNoIHVwZGF0ZXMgdGhlIHVuaXQgdGVzdHMgdG8gY292ZXIgdGhhdCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwNQoKMjAxNS0xMC0xNiAxNzoxMDoxMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX2RlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHRlc3RzOiBhZGRlZCBkb3dubG9hZCBlcnJvciB0ZXN0CgkgIFRlc3RzIGFkYXB0aXZlIGRlbXV4IGJlaGF2aW91ciB3aGVuIHRoZSB1cmkgaXMgd3JvbmcgYW5kIGRvd25sb2FkIGRvZXMKCSAgbm90IGhhcHBlbi4KCjIwMTUtMTAtMzAgMTI6NDk6MjAgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBzdG9wIHRhc2sgb24gbXVsdGlwbGUgZG93bmxvYWQgZXJyb3JzCgkgIE9uIG11bHRpcGxlIGRvd25sb2FkIGVycm9ycywgd2Ugc3RvcCB0aGUgZG93bmxvYWQgdGFzayBhbmQgY2hhbmdlIHRoZSBzcmMKCSAgZWxlbWVudCBzdGF0ZSB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjQwCgoyMDE1LTEwLTMwIDEyOjI0OjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IGEgbWlzc2luZyBsb2NrIGluIHdyaXRlIHRvIHN0cmVhbS0+bGFzdF9yZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzM1OQoKMjAxNS0xMC0wNyAyMzoyMDo1MSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJldHVybiBlcnJvciBpZiBzcmMgZWxlbWVudCBjYW5ub3Qgc3RhcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIwOQoKMjAxNS0xMC0wOCAxMTo0NToyNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeGVkIHdhaXRpbmcgZm9yIGZyYWdtZW50IHVwZGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjIzNwoKMjAxNS0xMC0wOCAxMjozNTo0NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBoZWFkZXIgcmVkb3dubG9hZCBpbiBjYXNlIG9mIGVycm9ycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MjM5CgoyMDE1LTEwLTMwIDAwOjA0OjEyICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVsZWFzZSBtYW5pZmVzdCBsb2NrIGJlZm9yZSBzZW5kaW5nIGZsdXNoIHN0b3AgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNwoKMjAxNS0xMC0yOSAyMzo0MTo0NiArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlc2V0IGRvd25sb2FkX2ZpbmlzaGVkIGJlZm9yZSBzdGFydGluZyB0aGUgc3JjIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzMzNgoKMjAxNS0xMC0yOSAyMzoyMzowNSArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgbWFuaWZlc3QgbG9jayBiZWZvcmUgY2hhbmdpbmcgZWxlbWVudCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MzM1CgoyMDE1LTEwLTMwIDE2OjM4OjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgdnRkZWM6IGZpeCBjb21waWxhdGlvbiBlcnJvcgoJICBVbmRlZmluZWQgc3ltYm9scyBmb3IgYXJjaGl0ZWN0dXJlIHg4Nl82NDoKCSAgIl9fZ2xfdGFyZ2V0X3RvX2dzdCIsIHJlZmVyZW5jZWQgZnJvbToKCSAgX19kb19nZXRfZ2xfYnVmZmVyIGluIGxpYmdzdGFwcGxlbWVkaWFfbGEtY29yZXZpZGVvdGV4dHVyZWNhY2hlLm8KCjIwMTUtMTAtMzAgMTU6MDA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIGdsbWVtb3J5IGFwaSBjaGFuZ2VzCgoyMDE1LTEwLTMwIDE0OjQzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiByZW1vdmUgdW51c2VkIHJldCB2YXJpYWJsZQoKMjAxNS0xMC0zMCAxNDo0MDozNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5oOgoJICBnbHNsc3RhZ2U6IHJlbW92ZSB0eXBlZGVmcyBmcm9tIHRoZSBoZWFkZXIKCSAgVGhleSBhcmUgYWxyZWFkeSBkZWZpbmVkIGluIHRoZSBmb3J3YXJkIGRlY2xlcmF0aW9uIGhlYWRlciBhbmQgZGVmaW5pbmcgdGhlbQoJICBtb3JlIHRoYW4gb25jZSB3aWxsIGdpdmUgYW4gZXJyb3Igd2l0aCBPU1gncyBjbGFuZyBhYm91dCB0eXBlZGVmIHJlZGVmaW5pdGlvbgoJICBiZWluZyBhIEMxMSBmZWF0dXJlLgoKMjAxNS0xMC0zMCAxNDozODowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmb2xsb3cgdGhlIGNvcnJlY3QgdGV4dHVyZSB0YXJnZXQgbmFtZXMKCjIwMTUtMTAtMzAgMDE6NDI6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZXhwbGljaXRseSBjb25maWd1cmUgdGhlIHRleHR1cmUgdGFyZ2V0IG9uIHRoZSBnbCBidWZmZXIgcG9vbAoJICBJZiB3ZSBkb24ndCwgdGhlbiB0aGUgcG9vbCBjb3VsZCBlbmQgdXAgYWxsb2NhdGluZyAyRCB0ZXh0dXJlcyB3aGVuIHRoZQoJICBjYXBzIGV4cGxpY3RseSBzdGF0ZSB0aGV5IHNob3VsZCBiZSByZWN0YW5nbGUgdGV4dHVyZXMuCgoyMDE1LTEwLTMwIDAxOjI3OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xidWZmZXJwb29sOiBhZGQgYnVmZmVycG9vbCBvcHRpb25zIGZvciB0aGUgdmFyaW91cyB0ZXh0dXJlIHRhcmdldHMKCSAgVGhpcyB3YXMgY2hvc2VuIG92ZXIgcmVseWluZyBzb2xlbHkgb24gdGhlIGNhcHMgYXMgZ2x1cGxvYWQgbmVlZHMgdG8gcHJvcG9zZSBhbgoJICBhbGxvY2F0aW9uIGFuZCBzZXQgdGhlIHRleHR1cmUgdGFyZ2V0IGJhc2VkIG9uIHRoZSBvdXRwdXQgY2Fwcy4gIFNldHRpbmcgdGhlCgkgIGNhcHMgaW4gdGhlIGNvbmZpZyBpcyBjdXJyZW50bHkgcG9pbnRsZXNzIGFzIHRoZXkgYXJlIG92ZXJ3cml0dGVuIGluIGEgbG90IG9mCgkgIGVsZW1lbnQncyBkZWNpZGVfYWxsb2NhdGlvbiBmdW5jdGlvbnMuCgkgIFRoaXMgcHJvdmlkZXMgYSBtZWNoYW5pc20gZm9yIHRoZSBidWZmZXIgcG9vbCB0byBiZSBjb25maWd1cmVkIGZvciBhIGNlcnRhaW4KCSAgdGV4dHVyZSB0YXJnZXQgd2hlbiBub25lIGhhcyBiZWVuIGNvbmZpZ3VyZWQuCgoyMDE1LTEwLTI5IDEzOjA0OjMxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBnbGNvbG9yY29udmVydDogYWRkIHN1cHBvcnQgZm9yIGNvbnZlcnRpbmcgdGV4dHVyZSB0YXJnZXRzCgkgIFNvbHZlZCB3aXRoIGEgc2ltcGxlIHNoYWRlciB0ZW1wbGF0aW5nIG1lY2hhbmlzbSBhbmQgc3RyaW5nIHJlcGxhY2VtZW50cwoJICBvZiB0aGUgbmVjZXNzYXJ5IHNhbXBsZXIgdHlwZXMvdGV4dHVyZSBhY2Nlc3NlcyBhbmQgdGV4dHVyZSBjb29yZGluYXRlCgkgIG1hbmdsaW5nIGZvciByZWN0YW5ndWxhciBhbmQgZXh0ZXJuYWwtb2VzIHRleHR1cmVzLgoKMjAxNS0xMC0yOSAwMDo0NDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHZpZXdjb252ZXJ0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgc3VwcG9ydCBmb3IgcmVjdGFuZ2xlIHRleHR1cmVzCgkgIEFkZCB0aGUgdmFyaW91cyB0b2tlbnMvc3RyaW5ncyBmb3IgdGhlIGRpZmZlcm5ldCB0ZXh0dXJlIHR5cGVzICgyRCwgcmVjdCwgb2VzKQoJICBDaGFuZ2VzIHRoZSBHTG1lbW9yeSBhcGkgdG8gaW5jbHVkZSB0aGUgR3N0R0xUZXh0dXJlVGFyZ2V0IGluIGFsbCByZWxldmFudAoJICBmdW5jdGlvbnMuCgkgIFVwZGF0ZSB0aGUgcmVsZXZhbnQgY2Fwcy90ZW1wbGF0ZXMgZm9yIDJEIG9ubHkgdGV4dHVyZXMuCgoyMDE1LTEwLTMwIDAxOjQ1OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IG9yZGVyIHRoZSBjYXBzIHRlbXBsYXRlIHNvIHRoYXQgUkdCQSBpcyBmaXJzdAoJICBnbGNvbG9yY29udmVydCAhIGdsY29sb3Jjb252ZXJ0IHdvdWxkIHNvbWV0aW1lcyBuZWdvdGlhdGVkIFJHQgoJICAodGhlIGZpcnN0IGxpc3QgZW50cnkpIG90aGVyd2lzZS4KCjIwMTUtMTAtMzAgMDE6MTY6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbGJ1ZmZlcnBvb2w6IG1vdmUgdHlwZWRlZidzIGludG8gdGhlIGZvcndhcmQgZGVjbGVyYXRpb24gZmlsZQoJICBPdGhlcndpc2UsIGZvciBleGFtcGxlLCBjbGFuZyB3aWxsIHdhcm4gYWJvdXQgdHlwZWRlZiByZWRlZmluaXRpb25zCgkgIGJlaW5nIGEgQzExIGZlYXR1cmUuCgoyMDE1LTEwLTE2IDE4OjM2OjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Zha2VfaHR0cF9zcmMuYzoKCSAgdGVzdHM6IGZpeGVkIGZha2Ugc291cCBodHRwIHNyYyBwbHVnaW4KCSAgVGhlIHNvdXAgaHR0cCBzcmMgY2hhbmdlZCB0aGUgd2F5IGl0IGludGVycHJldHMgdGhlIHNlZWsgc2VnbWVudCBzdG9wIHZhbHVlLgoJICBQcmV2aW91c2x5IGl0IHdhcyBpbmNsdXNpdmUsIG5vdyBpdCBpcyBub3QgKHNlZSBjb21taXQKCSAgMjFjNmRhNjc2NGMwY2QwMTVlOWYzYzVlZWNiYTM2ZTI5NzE4N2RlYiwKCSAgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYpCgkgIFVwZGF0ZWQgZmFrZSBzb3VwIGh0dHAgc3JjIHRvIGFsc28gY29uc2lkZXIgc2VnbWVudCBzdG9wIG5vdCBpbmNsdXNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzMjIKCjIwMTUtMTAtMDkgMTQ6MTA6NTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdCBmb3IgYWRhcHRpdmVkZW11eAoJICBDcmVhdGVkIGEgdW5pdCB0ZXN0IGZvciBkYXNoZGVtdXguIEl0IHJlbGllcyBvbiBhIGZha2UgU09VUCBIVFRQIHNyYyBwbHVnaW4KCSAgdGhhdCB3aWxsIGZlZWQgZGF0YSB0byBkYXNoZGVtdXguIFRoZSB0ZXN0IGNvbnRyb2xzIHRoZSBkYXRhIHRvIGJlCgkgIGdlbmVyYXRlZCBhbmQgY2hlY2tzIHRoZSBjb3JyZWN0IGRhdGEgd2FzIHJlY2VpdmVkIGZvciBlYWNoIGV4cGVjdGVkCgkgIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjMyMgoKMjAxNS0xMC0wOSAyMToyMzoyMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFrZV9odHRwX3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWtlX2h0dHBfc3JjLmg6CgkgIHRlc3RzOiBhZGRlZCBmYWtlIGh0dHAgc3JjIHBsdWdpbgoJICBBZGRlZCBhIGZha2UgaHR0cCBzcmMgcGx1Z2luIGNhcGFibGUgb2YgZ2VuZXJhdGluZyBkYXRhIGJ1ZmZlcnMgZm9yIGEKCSAgcmVxdWVzdCBvZiBhIGh0dHAgdXJsLiBDYW4gYmUgdXNlZCBpbiB0ZXN0cyB0byBzaW11bGF0ZSBodHRwIGFjY2Vzc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MzIyCgoyMDE1LTA3LTA3IDE1OjM4OjA4ICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBwcm92aWRlIGEgZGVmYXVsdCBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheQoJICBJZiBNUERAc3VnZ2VzdGVkUHJlc2VudGF0aW9uRGVsYXkgaXMgbm90IHByZXNlbnQgaW4gdGhlIG1hbmlmZXN0LAoJICBkYXNoZGVtdXggc2VsZWN0cyB0aGUgZnJhZ21lbnQgY2xvc2VzdCB0byB0aGUgbW9zdCByZWNlbnRseSBnZW5lcmF0ZWQKCSAgZnJhZ21lbnQuIFRoaXMgY2F1c2VzIGEgcGxheWJhY2sgaXNzdWUgYmVjYXVzZSB0aGlzIGNob2ljZSBkb2VzIG5vdCBhbGxvdwoJICB0aGUgREFTSCBjbGllbnQgdG8gYnVpbGQgdXAgYW55IGJ1ZmZlciBvZiBkb3dubG9hZGVkIGZyYWdtZW50cyB3aXRob3V0CgkgIHBhdXNpbmcgcGxheWJhY2suIFRoaXMgaXMgYmVjYXVzZSBieSBkZWZpbml0aW9uIG5ldyBmcmFnbWVudHMgYXBwZWFyIG9uCgkgIHRoZSBzZXJ2ZXIgaW4gcmVhbC10aW1lIChlLmcuIGlmIHNlZ21lbnQgZHVyYXRpb24gaXMgNCBzZWNvbmRzLCBhIG5ldwoJICBmcmFnbWVudCB3aWxsIGFwcGVhciBvbiB0aGUgc2VydmVyIGV2ZXJ5IDQgc2Vjb25kcykuIElmIHRoZSBzdGFydGluZwoJICBwbGF5YmFjayBwb3NpdGlvbiB3YXMgbipzZWdtZW50RHVyYXRpb24gc2Vjb25kcyBiZWhpbmQgIm5vdyIsIHRoZSBEQVNICgkgIGNsaWVudCBjb3VsZCBkb3dubG9hZCB1cCB0byAnbicgZnJhZ21lbnRzIGZhc3RlciB0aGFuIHJlYWx0aW1lIGJlZm9yZSBpdAoJICByZWFjaGVkIHRoZSBwb2ludCB3aGVyZSBpdCBuZWVkZWQgdG8gd2FpdCBmb3IgZnJhZ21lbnRzIHRvIGFwcGVhciBvbiB0aGUKCSAgc2VydmVyLgoJICBUaGUgTVBEQHN1Z2dlc3RlZFByZXNlbnRhdGlvbkRlbGF5IGF0dHJpYnV0ZSBhbGxvd3MgYSBjb250ZW50IHB1Ymxpc2hlcgoJICB0byBwcm92aWRlIGEgc3VnZ2VzdGVkIHN0YXJ0aW5nIHBvc2l0aW9uIHRoYXQgaXMgYmVoaW5kIHRoZSBjdXJyZW50CgkgICJsaXZlIiBwb3NpdGlvbi4KCSAgSWYgdGhlIE1QREBzdWdnZXN0ZWRQcmVzZW50YXRpb25EZWxheSBhdHRyaWJ1dGUgaXMgbm90IHByZXNlbnQsIHByb3ZpZGUKCSAgYSBzdWl0YWJsZSBkZWZhdWx0IHZhbHVlIGFzIGEgcHJvcGVydHkgb2YgdGhlIGRhc2hkZW11eCBlbGVtZW50LiBUbwoJICBhbGxvdyB0aGUgZGVmYXVsdCBwcmVzZW50YXRpb24gZGVsYXkgdG8gYmUgc3BlY2lmaWVkIGVpdGhlciB1c2luZwoJICBmcmFnbWVudHMgb3Igc2Vjb25kcywgdGhlIHByb3BlcnR5IGlzIGEgc3RyaW5nIHRoYXQgY29udGFpbnMgYSBudW1iZXIKCSAgYW5kIGEgdW5pdCAoZS5nLiAiMTAgc2Vjb25kcyIsICI0IGZyYWdtZW50cyIsICIyNTAwbXMiKS4KCjIwMTUtMTAtMjkgMTU6MDI6MzggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IEFkZCB2cDkgc3VwcG9ydAoJICBEaWZmZXJlbnRpYXRlIHRoZSB2cDgvdnA5IGJpdHN0cmVhbSBiYXNlZCBvbiBmb3VyY2MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTcyNTEKCjIwMTUtMDktMDkgMTQ6MDk6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wcm92ZSBkZXRlY3Rpb24gb2Ygc3RyZWFtIGxhbmd1YWdlCgkgIEltcHJvdmVkIHRoZSBkZXRlY3Rpb24gb2Ygc3RyZWFtJ3MgbGFuZ3VhZ2UgaWYgdGhlIEFkYXB0YXRpb25TZXQKCSAgY29udGFpbnMgbW9yZSB0aGFuIDEgQ29udGVudENvbXBvbmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzY3CgoyMDE1LTEwLTI5IDEyOjA0OjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoX21wZDogcmVzdHJpY3Qgc2VnbWVudCB0ZW1wbGF0ZSBmb3JtYXQgc3RyaW5ncyB0byAlMFswLTldKmQgYXMgcGVyIHNwZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTczNQoKMjAxNS0wOS0wOSAxMjozNjoxMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBzZWdtZW50IHRlbXBsYXRlIHBhcnNpbmc6IGFkZGVkIHN1cHBvcnQgZm9yICVkCgkgIEFkZGVkIHN1cHBvcnQgZm9yICVkIGluIHRlbXBsYXRlIGlkZW50aWZpZXIuCgkgIEFkZGVkIHRlc3RjYXNlcyBmb3IgJWQsICUzZCwgJTAtNGQgaWRlbnRpZmllciBmb3JtYXRzLgoKMjAxNS0xMC0yOSAxMTo1NDozNCArMDAwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcGFyc2luZyBvZiBzZWdtZW50IHRlbXBsYXRlcwoJICBDb3JyZWN0ZWQgdGhlIHBhcnNpbmcgb2YgYSBzZWdtZW50IHRlbXBsYXRlIHN0cmluZy4KCSAgQWRkZWQgdW5pdCB0ZXN0cyB0byB0ZXN0IHRoZSBzZWdtZW50IHRlbXBsYXRlIHBhcnNpbmcuCgkgIEFsbCByZXBvcnRlZCBwcm9ibGVtcyBhcmUgbm93IGNvcnJlY3RseSBoYW5kbGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzM1CgoyMDE1LTEwLTI5IDExOjE3OjQ4ICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgZGFoc2RlbXV4OiB0YXNrIGlzIHNpZ25hbGVkIHRvIHN0b3Agd2l0aG91dCBzdG9wIGNvbmRpdGlvbiBiZWluZyBzZXQKCSAgVGhlIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJlZSBmdW5jdGlvbiBpcyB0cnlpbmcgdG8gc3RvcCB0aGUgc3RyZWFtJ3MKCSAgZG93bmxvYWQgdGFzay4gRm9yIHRoaXMsIGl0IHNpZ25hbHMgdGhlIHRhc2suIEJ1dCBpdCBmYWlscyB0byBhbHNvIHNldCB0aGUKCSAgc3RyZWFtLT5kb3dubG9hZF9maW5pc2hlZCA9IFRSVUUsIHNvIHRoZSB0YXNrIHdpbGwgZ28gYmFjayB0byBzbGVlcCBhbmQKCSAgb25seSBleGl0IHdoZW4gdGhlIGRvd25sb2FkIGlzIGZpbmlzaGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTIxCgoyMDE1LTEwLTI4IDE3OjAyOjUxICswMDAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGNyYXNoIHdoZW4gc2VnbWVudCB0aW1lbGluZSBsaXN0IGlzIGdyZWF0ZXIgdGhhbiBzZWdtZW50IHVybCBsaXN0CgkgIFdoZW4gYnVpbGRpbmcgdGhlIG1lZGlhIHNlZ21lbnQgbGlzdCB1c2luZyBhIFNlZ21lbnRMaXN0IG5vZGUsIHRoZQoJICBnc3RfbXBkX2NsaWVudF9zZXR1cF9yZXByZXNlbnRhdGlvbiBmdW5jdGlvbiB3aWxsIGl0ZXJhdGUgdGhyb3VnaCB0aGUKCSAgbGlzdCBvZiBTIG5vZGVzIGFuZCB3aWxsIGV4cGVjdCB0byBmaW5kIGEgbWF0Y2hpbmcgU2VnbWVudFVybCBub2RlLiBJZgoJICBvbmUgZG9lcyBub3QgZXhpc3QsIHRoZSBjb2RlIG1hZGUgYW4gaWxsZWdhbCBtZW1vcnkgYWNjZXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDk2CgoyMDE1LTA5LTExIDEwOjU5OjE1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdW5pdCB0ZXN0IGZvciBtaXNzaW5nIHByb2ZpbGVzCgoyMDE1LTA5LTExIDEwOjU3OjI2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGRvIG5vdCBkZXJlZmVyZW5jZSBwcm9maWxlcyBpcyBhYnNlbnQKCSAgVGhlc2UgYXJlIHVzZWQgdG8gYXBwbHkgcmVzdHJpY3Rpb25zIG9uIHdoYXQgdGhlIE1QRCBmaWxlIG1heQoJICB1c2UsIHNvIG5vIHByb2ZpbGUgbWVhbnMgbm8gcmVzdHJpY3Rpb25zLgoJICBCZXNpZGVzLCBub3RoaW5nIGFjdHVhbGx5IHVzZXMgdGhlIHByb2ZpbGVzICh5ZXQpIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2OQoKMjAxNS0wOS0xNiAxNjo0NjoyOSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXhlZCBtdWx0aXRocmVhZCBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjkKCjIwMTUtMTAtMjggMTY6MzE6MzkgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcGFyc2VyIHJlamVjdHMgbmVnYXRpdmUgdmFsdWVzIGZvciBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIzMjYKCjIwMTUtMTAtMjggMTY6MjQ6MDEgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2YgbmVnYXRpdmUgdmFsdWVzIGludG8gdW5zaWduZWQgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDI5CgoyMDE1LTA5LTE3IDIwOjE4OjUyICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NDogaW5pdGlhbGl6ZSBwYXJzaW5nIHN0cnVjdHVyZXMKCSAgSW5pdGlhbGl6ZSB0byAwIHRoZXNlIHBhcnNlIHN0cnVjdHVyZXMgYmVmb3JlIGZpbGxpbmcgdGhlbTogR3N0SDI2NFNFSU1lc3NhZ2UsCgkgIEdzdEgyNjROYWxVbml0LCBHc3RIMjY0UFBTLCBHc3RIMjY0U1BTIGFuZCBHc3RIMjY0U2xpY2VIZHIuCgkgIFdoZW4gY2FsbGluZyB0aGUgZnVuY3Rpb25zIHdoaWNoIGZpbGwgdGhvc2Ugc3RydWN0dXJlcywgdGhleSBtYXkgZmFpbCwgbGVhdmluZwoJICB1bml0aWFsaXplZCB0aG9zZSBzdHJ1Y3R1cmVzLiBUaGlzIHNpdHVhdGlvbiBtYXkgbGVhZCB0byBmdXR1cmUgcHJvYmxlbXMsIHN1Y2gKCSAgYXMgYSBzZWdtZW50YXRpb24gZmF1bHQgd2hlbiBmcmVlaW5nLCBmb3IgZXhhbXBsZS4KCSAgVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0byB6ZXJvIHRoZXNlIHN0cnVjdHVyZXMsIGJlZm9yZSBmaWxsaW5nIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNjEKCjIwMTUtMDktMTggMTA6MDk6MjYgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBpbml0aWFsaXplIHBhcnNpbmcgc3RydWN0dXJlcwoJICBJbml0aWFsaXplIHRvIDAgdGhlc2UgcGFyc2Ugc3RydWN0dXJlcyBiZWZvcmUgZmlsbGluZyB0aGVtOiBHc3RIMjY1U0VJTWVzc2FnZSwKCSAgR3N0SDI2NU5hbFVuaXQsIEdzdEgyNjVWUFMsIEdzdEgyNjVQUFMsIEdzdEgyNjVTUFMgYW5kIEdzdEgyNjVTbGljZUhkci4KCSAgV2hlbiBjYWxsaW5nIHRoZSBmdW5jdGlvbnMgd2hpY2ggZmlsbCB0aG9zZSBzdHJ1Y3R1cmVzLCB0aGV5IG1heSBmYWlsLCBsZWF2aW5nCgkgIHVuaXRpYWxpemVkIHRob3NlIHN0cnVjdHVyZXMuIFRoaXMgc2l0dWF0aW9uIG1heSBsZWFkIHRvIGZ1dHVyZSBwcm9ibGVtcywgc3VjaAoJICBhcyBhIHNlZ21lbnRhdGlvbiBmYXVsdCB3aGVuIGZyZWVpbmcsIGZvciBleGFtcGxlLgoJICBUaGlzIHBhdGNoIGluaXRpYWxpemVzIHRvIHplcm8gdGhlc2Ugc3RydWN0dXJlcywgYmVmb3JlIGZpbGxpbmcgdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE2MQoKMjAxNS0xMC0yNiAxOTo1ODowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgbGl2ZWFkZGVyOiBNYWtlIGxhdGVuY3kgcHJvcGVydHkgYmUgYSB1aW50IGluIG1pbGxpc2VjcwoJICBUaGlzIHJlc3RvcmVzIHJvdWdobHkgdGhlIHNhbWUgYmVoYXZpb3VyIGFzIHRoZSBvbGQgbGl2ZWFkZGVyIGVsZW1lbnQuCgkgIEV4Y2VwdCB0aGF0IHRoZSBsYXRlbmN5IG5vdyBhbHNvIGluY2x1ZGVzIHRoZSBvdXRwdXQtYnVmZmVyLWR1cmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU3MDUwCgoyMDE1LTA5LTA4IDE0OjAwOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IGZvcmJpZCBuZWdhdGl2ZSB2YWx1ZXMgZm9yIGR1cmF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0OTIKCjIwMTUtMTAtMjggMTU6Mzk6MDcgKzAwMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcGFyc2VyIHJlamVjdHMgWE1McyB3aXRoIG5lZ2F0aXZlIHBlcmlvZCBkdXJhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMzI5CgoyMDE1LTEwLTI4IDE1OjM0OjI5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IGNoZWNrIHNlZ21lbnQgbGlzdHMgaGF2ZSBlaXRoZXIgZHVyYXRpb24gb3IgdGltZWxpbmUKCSAgQW5kIGFkZCBlcnJvciBjaGVja2luZyBhbG9uZyB0aGUgd2F5LgoJICBBZGQgZHVyYXRpb24gd2hlcmUgYXBwcm9wcmlhdGUgc28gdW5pdCB0ZXN0cyBzdGlsbCBwYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNjUwCgoyMDE1LTA5LTI5IDE2OjE3OjAzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IHZhbGlkYXRlIHJlcHJlc2VudGF0aW9uIHNldCBpZGVudGlmaWVyCgkgIEl0IG11c3QgaGF2ZSBubyB3aGl0ZXNwYWNlLCBhbmQgbXVzdCBjb21wbHkgd2l0aCBSRkMgMTczOCB3aGVuCgkgIHVzZWQgdG8gYnVpbGQgYSBVUkwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4NTIKCjIwMTUtMTAtMjggMTQ6NDE6NTQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGluaXRpYWxpemUgb3V0cHV0IHBhcmFtcyB0byAwIGJlZm9yZSBjYWxsaW5nIGdsIGZ1bmN0aW9ucwoJICBUaGUgY2xpZW50IHNpZGUgQVBJIG9mIHRoZSBDaHJvbWl1bSdzIEdQVSBQcm9jZXNzIGhhcyBhc3NlcnRzCgkgIGluIGRlYnVnIG1vZGUgdGhhdCBjaGVjayB0aGF0IG91dHB1dCBwYXJhbXMgYXJlIGluaXRpYWxpemVkIHRvIDAuCgoyMDE1LTEwLTI3IDE2OjMyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZW1vdmUgc29tZSBkZWFkIGNvZGUgdGhhdCBjb3VsZCBuZXZlciBiZSBjYWxsZWQKCSAgQ292ZXJpdHkgQ0lEcyAjMTMyODgxOCwgIzEzMjg4MTksICMxMzI4ODIwLgoKMjAxNS0xMC0yNyAwMDozNjo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIG9wZW5nbDogYnVpbGQvcHJvdmlkZSBnbHN0ZXJlb21peC9zcGxpdCBvbiBnbGVzIG9ubHkgc3lzdGVtcwoKMjAxNS0xMC0yNiAxNjo1MTowNiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiByZW5hbWUgZ2VtZXRyaWMgbWF0aCBmdW5jdGlvbnMgdG8gaGF2ZSB0aGVpciBzeW1ib2xzIG5hbWVzcGFjZWQKCSAgT3RoZXJ3aXNlIHRob3NlIHN5bWJvbHMgY2FuIGNvbmZsaWN0IHdpdGggZXh0ZXJuYWwgbGlicmFyaWVzIHdoZW4KCSAgbGlua2luZyBldmVyeXRoaW5nIHN0YXRpY2FsbHkgZm9yIG1vYmlsZSB0YXJnZXRzLgoJICBVc2UgdGhlIGdzdF9nbV8gcHJlZml4LCBzaG9ydCBmb3IgZ3N0IGdlb21ldHJpYyBtYXRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2ODgyCgoyMDE1LTEwLTI2IDE1OjMwOjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvbid0IGFkdmVydGlzZSB0aGUgbG9jYWwgd2xfZGlzcGxheSBjb250ZXh0CgkgIFRoaXMgd2xfZGlzcGxheSBwcm94eSBpcyB0ZW1wb3Jhcnkgb25seSB1bnRpbCB3YXlsYW5kc2luayBnb2VzIE5VTEwsCgkgIGF0IHdoaWNoIHBvaW50IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBkaXNwbGF5IGlzIGRpc3Bvc2VkLiBVbmZvcnR1bmF0ZWx5LAoJICBpZiB0aGlzIGlzIGFkdmVydGlzZWQgYXMgYSBHc3RDb250ZXh0LCBwbGF5YmluIHdpbGwgY2FjaGUgaXQgYW5kIHJlLWZlZWQKCSAgaXQgdG8gdGhlIHNpbmsgd2hlbiBpdCBnb2VzIFBMQVlJTkcgYWdhaW4sIGJ1dCB0aGUgd2xfZGlzcGxheSBwb2ludGVyCgkgIHdpbGwgYXQgdGhhdCBwb2ludCBiZSBpbnZhbGlkIGFuZCBjYXVzZSBhIGNyYXNoLgoJICBBbm90aGVyIHNvbHV0aW9uIHRvIHRoZSBwcm9ibGVtIHdvdWxkIGJlIHRvIGFsc28gY2FjaGUgdGhlIEdzdFdsRGlzcGxheQoJICBvYmplY3QgaW5zaWRlIHRoZSBHc3RDb250ZXh0LCB3aGljaCB3b3VsZCBhdXRvbWF0aWNhbGx5IHJlZi1jb3VudAoJICB0aGUgZGlzcGxheSBjb25uZWN0aW9uLCBidXQgSSBzZWUgbm8gcmVhc29uIGluIGRvaW5nIHRoYXQgYXQgdGhlIG1vbWVudCwKCSAgYXMgdGhlcmUgYXJlIG5vIGtub3duIHVzZXJzIG9mIHRoaXMgR3N0Q29udGV4dCBvdXRzaWRlIHdheWxhbmRzaW5rLgoJICBJdCdzIHByb2JhYmx5IGJldHRlciB0byBhdm9pZCBjaGFzaW5nIGhpZGRlbiByZWZjb3VudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjcKCjIwMTUtMTAtMjYgMTg6MjY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogYWxsb3cgb3V0cHV0dGluZyBtdWx0aXBsZSB0ZXh0dXJlcyBmb3IgZ2xlczMgY29udGV4dHMKCSAgdGhlIFVTSU5HX0dMRVMyIGluY2x1ZGVzIGFsbCBHTEVTMyBjb250ZXh0cyBhcyB3ZWxsIHdoaWNoIGRvZXMgc3VwcG9ydAoJICBkcmF3aW5nIHRvIG11bHRpcGxlIGJ1ZmZlcnMuICBJbnN0ZWFkIG1ha2Ugb3IgZGVjaXNpb24gc29sZWx5IGJhc2VkIG9uCgkgIHdoZXRoZXIgZ2xEcmF3QnVmZmVycyBpcyBhdmFpbGFibGUgb3Igbm90LgoKMjAxNS0xMC0yNiAxNzozNjoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBleHBvc2UgdGhlIGVsZW1lbnQgb24gZ2xlczIgcGxhdGZvcm1zCgkgIFdlIGNhbiBkbyBldmVyeXRoaW5nIHdpdGggZ2xlczMgaG93ZXZlciBnbGVzMiByZXN0cmljdHMgdXMgbm90IGFsbG93aW5nCgkgIHNlcGFyYXRlZCBvciBmcmFtZS1ieS1mcmFtZSBtdWx0aXZpZXcgbW9kZXMgZHVlIHRvIG11bHRpcGxlIGRyYXcgYnVmZmVycy4KCjIwMTUtMTAtMjUgMDE6MTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIHRlc3RzOiBobHNkZW11eF9tM3U6IGFkZCB0ZXN0IGZvciBtYXN0ZXIgcGxheWxpc3Qgd2l0aCBtaXNzaW5nIHZhcmlhbnQgbGlzdCB1cmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg2MQoKMjAxNS0xMC0yMCAwOToxMzowNCArMDEwMCAgQW5kcsOpIERyYXN6aWsgPGdpdEBhbmRyZWQubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBjcmFzaCBvciBsZWFrIG1lbW9yeSBvbiBicm9rZW4gbWFzdGVyIHBsYXlsaXN0CgkgIElmIGEgKG1hc3RlcikgcGxheWxpc3QgY29udGFpbnMgYSB2YXJpYW50IGxpc3QgZW50cnkgd2l0aG91dCBhCgkgIFVSSSB0aGVuIGR1cmluZyBwYXJzaW5nIG9mIHRoZSBuZXh0IHZhcmlhbnQgbGlzdCBlbnRyeSB3ZSBhcmUKCSAgYSkgbGVha2luZyB0aGUgZW50cnkgd2UncmUgY3VycmVudGx5IHBhcnNpbmcgKG5ld19saXN0KSwgYW5kCgkgIGIpIGZyZWUnaW5nIHRoZSBwb2ludGVyIHRvIHRoZSBwcmV2aW91cyBsaXN0IGVudHJ5IChsaXN0KSB3aXRob3V0CgkgIHVwZGF0aW5nIHRoZSBwb2ludGVyLgoJICBIZW5jZSB3aGVuIHRoZW4gYWRkaW5nIHRoZSBVUkkgZm9yIHRoZSBsYXRlc3QgcGFyc2VkIGVudHJ5LCBpbmNvcnJlY3QKCSAgaW5mb3JtYXRpb24gaXMgc3RvcmVkLCBhcyB0aGUgaW5mb3JtYXRpb24gaXMgdXNlZCBmcm9tICdsaXN0JyB3aGljaAoJICBpcyBub3QgdmFsaWQgbWVtb3J5IGFueW1vcmUsIGFsc28gbGVhZGluZyB0byBjcmFzaGVzLgoJICBGaXggdGhpcyBieSBjb3JyZWN0bHkgc3RvcmluZyB0aGUgbmV3IHZhcmlhbnQgbGlzdCBlbnRyeSBwb2ludGVyCgkgIGFzIG5lZWRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Njg2MQoKMjAxNS0wOS0wNCAxMToyOTowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGNoYW5nZSBkaXNwb3NlIGZ1bmN0aW9uIHRvIGZpbmFsaXplCgoyMDE1LTA4LTMwIDIxOjM1OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIGhlbHBlciBmdW5jdGlvbiBvbmx5IHVzZWQgb25jZQoKMjAxNS0wOC0zMCAxNzo0MToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSBkZXByZWNhdGVkICdmcmFnbWVudHMtY2FjaGUnIHByb3BlcnR5CgkgIEl0J3MgYmVlbiBub24tZnVuY3Rpb25hbCBmb3IgdHdvIGN5Y2xlcyBub3csIGxldCdzCgkgIGdldCByaWQgb2YgaXQuCgoyMDE1LTA5LTAyIDE2OjQwOjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiBtb3ZlIGZpbGUgbG9va3VwIGJ5IHNlcXVlbmNlIGRpcmVjdGx5IGludG8gY29kZQoJICBOaWNlciB0byByZWFkLCB0d28gbGluZXMgb2YgY29kZSBsZXNzLCBhbmQgYWxzbyB0aGUgY2FsbGJhY2sKCSAgZnVuY3Rpb24gc2hvdWxkJ3ZlIGJlZW4gYSBHQ29tcGFyZUZ1bmMgdGhhdCByZXR1cm5zIGEgZ2ludAoJICBhbmQgbm90IGEgYm9vbGVhbiAoaXQgZGlkIHdvcmsgY29ycmVjdGx5LCB3YXMganVzdCBjb25mdXNpbmcpLgoKMjAxNS0wOS0wMSAxMjo0ODozOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFuLXVwOiByZW1vdmUgdW51c2VkIGFyZ3VtZW50IGluIGZ1bmN0aW9uIGNhbGwKCjIwMTUtMDgtMzAgMTc6MjI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFuLXVwOiByZWluZGVudCBoZWFkZXIgZm9yIGJldHRlciByZWFkYWJpbGl0eQoJICBBbmQgcmVtb3ZlIGR1cGxpY2F0ZSBkZWZpbmUuCgoyMDE1LTEwLTIzIDE4OjU4OjQxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBSZW1vdmUgZW1wdHkgc2V0L2dldF9wcm9wZXJ0eSgpCgkgIFdlIGNhbiBhZGQgdGhlbSBhZ2FpbiBpZiB3ZSBldmVyIGFkZCBwcm9wZXJ0aWVzLgoKMjAxNS0xMC0yMyAxODozODozMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkgIG14Zm11eDogUG9ydCB0byBHc3RBZ2dyZWdhdG9yCgoyMDE1LTEwLTIyIDE5OjIwOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTZXQgR0MgZXNzZW5jZSBlbGVtZW50IFVMIHZlcnNpb24gdG8gMHgwMQoJICBmZm1wZWcgb3RoZXJ3aXNlIHJlamVjdHMgaXQgYW5kIHRoZSBzcGVjIGlzIG5vdCAxMDAlIGNsZWFyIGFib3V0IHRoYXQuCgoyMDE1LTEwLTIwIDE3OjA5OjIyICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogRml4IGNyaXRpY2FsIHdhcm5pbmcgdHJ5aW5nIHRvIHJldHJpZXZlIFNTUkMgZnJvbSBhIG5vbiBmYiBtZXNzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzYKCjIwMTUtMTAtMjIgMTk6MjQ6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICBteGY6IFJlb3JkZXIgQ0ZMQUdTIGFuZCBMSUJTCgoyMDE1LTEwLTIzIDE1OjQyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IEFkZCBjcmVhdGVfbmV3X3BhZCgpIHZmdW5jIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgYmVoYXZpb3VyCgkgIE5vdCBhbGwgYWdncmVnYXRvciBzdWJjbGFzc2VzIHdpbGwgaGF2ZSBhIHNpbmdsZSBwYWQgdGVtcGxhdGUgY2FsbGVkIHNpbmtfJXUKCSAgYW5kIG1pZ2h0IGRvIHNvbWV0aGluZyBzcGVjaWFsIGRlcGVuZGluZyBvbiB3aGF0IHRoZSBhcHBsaWNhdGlvbiByZXF1ZXN0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NzAxOAoKMjAxNS0xMC0yMSAxOTowMDo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogU2V0IEtBRyBzaXplIHRvIDEKCSAgV2UncmUgbm90IGFsaWduaW5nIG91ciBvdXRwdXQgaW4gYW55IHdheSwgYW5kIDAgaXMgaW52YWxpZC4KCjIwMTUtMTAtMjEgMTg6NTg6MDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IERvbid0IGxldCB0aGUgaGVhZGVyIHBhcnRpdGlvbidzIHByZXZfcGFydGl0aW9uIHBvaW50IGZvcndhcmQgdG8gdGhlIGZvb3RlcgoKMjAxNS0xMC0yMSAxODozMjowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmdHlwZXM6IEZpeCBnZW5lcmF0aW9uIG9mIG9wZXJhdGlvbmFsIHBhdHRlcm4gVUwKCjIwMTUtMTAtMjEgMTg6MzE6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZmRlbXV4LXN0cnVjdHVyZTogU3luYyBmYWtlc2luayBzdGF0ZSB3aXRoIHRoZSBiaW4gdG8gbWFrZSB0aGUgYXBwbGljYXRpb24gd29yayBhdCBhbGwKCjIwMTUtMTAtMjEgMTg6MjA6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmbXBlZzogaDI2NCBpcyBhbHdheXMgYnl0ZS1zdHJlYW0gaW5zaWRlIE1YRgoKMjAxNS0xMC0yMSAxODowNjoxMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogQWRkIHVuaXQgdGVzdHMgZm9yIEgyNjQvUENNCgoyMDE1LTEwLTIxIDE3OjQ3OjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCBsZWFrIFNFRUsgZXZlbnRzIHdoZW4gZHJvcHBpbmcgdGhlbQoKMjAxNS0xMC0yMSAxNzoyMTowOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZnZjMzogVGhlIHdyYXBwaW5nIGlzIHRoZSAxNXRoIGJ5dGUgb2YgdGhlIGVzc2VuY2UgY29udGFpbmVyIFVMLCBub3QgdGhlIDE2dGgKCSAgSW4gb3RoZXIgbWFwcGluZ3MgaXQgaXMgdGhlIDE2dGggdGhvdWdoLgoKMjAxNS0xMC0yMSAxNzoxMTowMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IElmIHNlZWtpbmcgdG8gdGhlIHJlbWFpbmluZyBwYXJ0cyBvZiB0aGUgZmlsZSBmYWlscyBvbiBFT1MsIGNvbnNpZGVyIHRoZSBzdHJlYW0gZG9uZQoJICBXaXRob3V0IHRoaXMgd2Ugd291bGQgcnVuIHRoaXMgd2hpbGUgbG9vcCBmb3JldmVyLCBhbHdheXMgc2Vla2luZyBhZ2FpbiBmb3IKCSAgdGhlIHNhbWUgc3RyZWFtLgoKMjAxNS0xMC0yMSAxNTowNzoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIG14ZjogUHJvcGVybHkgZW5hYmxlIHVuaXQgdGVzdHMgYWdhaW4KCjIwMTUtMTAtMjEgMDE6MjI6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXhmL214Zi5jOgoJICBteGY6IFJlLWVuYWJsZSBteGZtdXggZWxlbWVudAoKMjAxNS0xMC0yMSAwMToyMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmanBlZzIwMDA6IEZpeCBjYXBzCgkgIFRoZXJlIGlzIG5vIGZpZWxkcyBmaWVsZCBhbnltb3JlLgoKMjAxNS0xMC0yMSAwMToxNzowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogRG9uJ3QgZmFpbCBTRUdNRU5UIGV2ZW50cwoKMjAxNS0xMC0yMSAwMTowMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogUHVzaCBzdHJlYW0tc3RhcnQgYW5kIGNhcHMgZXZlbnQgYmVmb3JlIHNlZ21lbnQgZXZlbnQKCSAgQW5kIGRvbid0IHB1c2ggdGhlIGNhcHMgZXZlbnQgZHVyaW5nIGluc3RhbmNlIGluaXRpYWxpemF0aW9uIGFscmVhZHkuCgoyMDE1LTEwLTIxIDAwOjQ1OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIG14ZmFlcy1id2Y6IEZvcm1hdCBpcyB1bnNpZ25lZCBpZiBpdCdzIDEgYnl0ZSBwZXIgY2hhbm5lbAoJICAuLi4gbm90IDEgYnl0ZSBwZXIgYmxvY2suCgoyMDE1LTEwLTIxIDE2OjUxOjEwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBoYW5kZGV0ZWN0OiBubyBuZWVkIHRvIGdldCBhIHdyaXRhYmxlIGJ1ZmZlcgoJICBObyBuZWVkIHRvIGdldCBhIHdyaXRhYmxlIGJ1ZmZlciBpbnNpZGUgY3ZfdHJhbnNfZnVuYyBvZiBvcGVuY3YgdmlkZW8KCSAgZmlsdGVyLiBHc3RCYXNlVHJhbnNmb3JtIHRha2VzIGNhcmUgb2YgdGhpcy4KCjIwMTUtMTAtMjEgMTQ6MzU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI5OTgwMGEgdG8gYjMxOTkwOQoKMjAxNS0xMC0yMCAxNzoyOTo0MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIG5ldyBHU1RfRU5BQkxFX0VYVFJBX0NIRUNLUyAjZGVmaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY4NzAKCjIwMTUtMTAtMjEgMTQ6MjY6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOWFlZDFkNyB0byBiOTk4MDBhCgoyMDE1LTEwLTIxIDA1OjM0OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xzaGFkZXJlbGVtZW50OiBmcmVlIHRoZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHN0cmluZ3Mgb24gZmluYWxpemUKCSAgRml4ZXMgYSBtZW1vcnkgbGVhayB3aGVuIHVzaW5nIHRoZSB2ZXJ0ZXgvZnJhZ21lbnQgcHJvcGVydGllcy4KCjIwMTUtMTAtMjEgMDU6MzM6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBmaXggYnVpbGQgZXJyb3JzCgkgIHByaW50ZiAlbGxkIGluc3RlYWQgb2YgR19HSU5UNjRfRk9STUFULgoJICBEb3VibGUgcmV0IHZhcmlhYmxlIGRlY2xhcmF0aW9uLgoKMjAxNS0xMC0yMSAwNTowMDoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIGdsc2hhZGVyZWxlbWVudDogcmVtb3ZlIHVubmVlZGVkIHJlZmVyZW5jZSB0byA8Z3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg+CgoyMDE1LTEwLTIxIDA0OjQ0OjUwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IHVzYWdlIG9mIHN0cmluZy5oIGFuZCBzdGRpby5oIGZ1bmN0aW9ucyB3aXRob3V0IGluY2x1ZGluZyB0aGUgaGVhZGVycwoJICBlLmc6CgkgIGdzdGdsY29udGV4dF9lZ2wuYzo2MTM6NzogZXJyb3I6IGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGZ1bmN0aW9uICdzdHJjbXAnCgkgIFstV2Vycm9yPWltcGxpY2l0LWZ1bmN0aW9uLWRlY2xhcmF0aW9uXQoJICBpZiAoc3RyY21wIChHX01PRFVMRV9TVUZGSVgsICJzbyIpID09IDApCgoyMDE1LTEwLTE2IDA3OjAzOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGNyZWF0ZSBhIGNvbnRleHQgaW4gTlVMTF9SRUFEWQoJICBTbyB0aGF0IGl0J3MgcG9zc2libGUgZm9yIGRlY29kZXJzIGV0IGFsLiB0byByZXF1ZXN0IHRoZSBPcGVuR0wgY29udGV4dAoJICBpbiB0aGVpciBSRUFEWV9QQVVTRUQgdHJhbnNpdGlvbiB3aXRoIGRlY29kZWJpbi9wbGF5YmluLgoKMjAxNS0xMC0xNiAwMDozNDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkgIGFtY3ZpZGRlYzogdXNlIGdzdGNvbnRleHQgdG8gcmV0cmVpdmUgdGhlIE9wZW5HTCBjb250ZXh0CgoyMDE1LTA0LTIwIDEzOjQ2OjU4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IE9ubHkgYWxsb3cgR0wgb3V0cHV0IGlmIHRoZSBkZWNvZGVyIGhhcyB1bmtub3duIGNvbG9yIGZvcm1hdHMKCSAgSWYgR1NUX0FNQ19JR05PUkVfVU5LTk9XTl9DT0xPUl9GT1JNQVRTIGlzIHNldCB0byB5ZXMsIG5vbi1HTCBvdXRwdXQKCSAgaXMgc3RpbGwgYWxsb3dlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTIwNAoKMjAxNC0wNi0wNSAxMDozMzo1NiArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jMmR0ZXh0dXJlcmVuZGVyZXIuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMyZHRleHR1cmVyZW5kZXJlci5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jc3VyZmFjZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2UuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNzdXJmYWNldGV4dHVyZS5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3N1cmZhY2V0ZXh0dXJlLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL29yZy9mcmVlZGVza3RvcC9nc3RyZWFtZXIvYW5kcm9pZG1lZGlhL0dzdEFtY09uRnJhbWVBdmFpbGFibGVMaXN0ZW5lci5qYXZhOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBHTCBvdXRwdXQgaW4gYW1jdmlkZW9kZWMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTIwNAoKMjAxNS0wNC0zMCAxMjozMzo1OCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEbyBub3QgZmx1c2ggY29kZWMgaWYgaXQgaXMgbm90IHN0YXJ0ZWQKCjIwMTUtMDQtMTMgMTM6MTA6MTAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBbGxvdyBvYmplY3QgdG8gYmUgTlVMTCBpbiBnc3RfYW1jX2puaV8qdW5yZWYgZnVuY3Rpb25zCgoyMDE1LTAzLTEzIDE2OjEzOjA4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnQgKCVkIGZvciBhIGdzaXplIGFyZ3VtZW50KQoKMjAxNS0wNC0wMiAxNjoyODoxNCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcHJvdmUgY29sb3IgZm9ybWF0IGRlYnVnIG1lc3NhZ2VzCgoyMDE1LTAzLTMxIDE2OjI0OjQwICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEltcHJvdmUgZGVidWcgbWVzc2FnZXMKCjIwMTUtMDMtMzEgMTc6NDg6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG8gbm90IHdhcm4gd2UgZG8gbm90IHN1cHBvcnQgQ09MT1JfRm9ybWF0U3VyZmFjZQoKMjAxNS0xMC0yMSAwMzo1OTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJICBnbDogcmVtb3ZlIHVubmVlZGVkIHNoYWRlciB2YXJpYWJsZSBwYXJzaW5nIGNvZGUKCjIwMTUtMTAtMjEgMDM6MjM6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSAgZ2xzaGFkZXJlbGVtZW50OiBpbXBsZW1lbnQgc2V0dGluZyBhcmJpdHJhcnkgdW5pZm9ybXMKCSAgQ3VycmVudGx5IGZsb2F0IGFuZCBpbnQgYXJlIHN1cHBvcnRlZCBieSBkZWZhdWx0LiB2ZWMyLCB2ZWMzLCB2ZWM0CgkgIGFuZCBtYXQ0IGFyZSBzdXBwb3J0ZWQgaWYgZ3JhcGhlbmUgaXMgdXNlZC4gIE9mIGNvdXJzZSBpZiBvbmUgd2FudHMKCSAgdG8gc2V0IGN1c3RvbSB1bmlmb3JtcyB0aGV5IGNhbiBhbHNvIGJlIHNldCB1c2luZyB0aGUgY3JlYXRlLXNoYWRlcgoJICBzaWduYWwuCgoyMDE1LTEwLTIwIDEyOjI0OjExICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmNwcDoKCSAgb3BlbmN2OiBoYW5kZGV0ZWN0OiBmcmVlIGJlc3RfciB3aXRoIGRlbGV0ZQoJICBiZXN0X3IgaXMgYSBjdjo6UmVjdCwgc28gaXQgc2hvdWxkIGJlIGZyZWVkIHdpdGggZGVsZXRlIGFuZCBub3Qgd2l0aAoJICBnX2ZyZWUoKQoKMjAxNS0xMC0yMCAxMjowODo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuY3BwOgoJICBvcGVuY3Y6IG1vdGlvbmNlbGxzOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgV2Uga25vdyB0aGF0IHRoZSBnY2hhciBhcnJheXMgY29udGFpbiBhdCBsZWFzdCBvbmUgc3RyaW5nLiBGdXJ0aGVybW9yZSwKCSAgZ19zdHJmcmVldigpIGNoZWNrcyBpZiB0aGUgYXJyYXkgaXMgTlVMTCBhbmQgc2ltcGx5IHJldHVybnMgaWYgaXQgaXMuCgkgIEhlbmNlLCB0aGVyZSBpcyBubyBuZWVkIHRvIGNoZWNrIGlmIHRoZSBhcnJheSBpcyBlbXB0eSBiZWZvcmUgdXNpbmcKCSAgZ19zdHJmcmVldigpLgoJICBDSUQgMTMyNzQxMi0xMzI3NDE1CgoyMDE1LTA3LTA4IDE3OjE3OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHMvbTN1ODogVXBkYXRlIGN1cnJlbnQgcG9zaXRpb24gaW4gYWxsIGNhc2VzCgkgIEluIG9yZGVyIHRvIGVuc3VyZSB0aGUgc2VxdWVuY2VfcG9zaXRpb24gd2lsbCBhbHdheXMgYmUgY29uc2lzdGVudGx5IHVwZGF0ZWQsCgkgIHN0b3JlIHRoZSBjdXJyZW50IGZpbGUgZHVyYXRpb24uCgkgIFRoaXMgd2F5LCB3aGVuIHdlIGFkdmFuY2UsIHdlIGNhbiBhbHdheXMgaW5jcmVtZW50IHRoZSBwb3NpdGlvbiBiYXNlZCBvbiB3aGF0CgkgIHdhcyBwcmV2aW91c2x5IG91dHB1dHRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjEzMgoKMjAxNS0xMC0xNCAxODozNTowMCArMDIwMCAgcGxhbW90IDxwaWVycmUubGFtb3RAb3BlbndpZGUuZnI+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogRml4IDY0Yml0IGNvbXBhdGliaWxpdHkgaXNzdWUKCSAgU2V0V2luZG93TG9uZyB3b3JrcyBvbmx5IGZvciAzMiBiaXQgc3lzdGVtcywgdGh1cyB3aW5kb3dzIGV2ZW50cyAobW92ZS9yZXNpemUpCgkgIHdoZXJlIG5vdCBpbnRlcnByZXRlZCBvbiA2NCBiaXQgc3lzdGVtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NjE3CgoyMDE1LTEwLTE5IDE1OjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsc3RhZ2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2w6IGJlIGNvbnNpc3RlbnQgaW4gZ29iamVjdCBib2lsZXJwYXRlCgkgIEdTVF9HTF9JU18qIHZzIEdTVF9JU19HTF8qCgkgIGdpdCBncmVwIC1sICdHU1RfR0xfSVNfJyB8IHhhcmdzIHNlZCAtaSAncy9HU1RfR0xfSVNfL0dTVF9JU19HTF8vZycKCjIwMTUtMTAtMTkgMTU6MDI6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkgIGFkZCBnbGxpdmVzaGFkZXIgcHJvZ3JhbSB0byAuZ2l0aWdub3JlCgoyMDE1LTEwLTE3IDEyOjQ4OjExIC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJICBwbm1kZWM6IGRyb3AgZnJhbWUgaW4gY2FzZSBvZiBfaGFuZGxlKCkgZmFpbHVyZQoJICBBbGxvd3MgYmFzZWNsYXNzIHRvIGhhbmRsZSBpdCBmcm9tIHRoZXJlCgkgIFJlbGF0ZWQgdG86CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTcgMDE6NTE6MjQgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogcHJvcGFnYXRlIGlucHV0IHN0YXRlIGFmdGVyIHBhcnNpbmcKCSAgU3RvcmUgYW5kIGNvcHkgaW5wdXQgc3RhdGUgZmllbGRzIHdoZW4gc2V0dGluZyB0aGUKCSAgb3V0cHV0IHN0YXRlIG9mIHRoZSBkZWNvZGVyLiBBdm9pZHMgcHJvYmxlbXMgbGlrZQoJICB0aGUgZnJhbWVyYXRlIHNldCBieSBhbiB1cHN0cmVhbSBlbGVtZW50IGJlaW5nIGlnbm9yZWQKCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU2MwoKMjAxNS0xMC0xNiAyMDo0NTo0MiAtMDcwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBjb21wbGV0ZWx5IHJlc2V0IHBhcnNpbmcgc3RhdGUgYXQgZmx1c2gKCSAgTWFrZXMgc3VyZSB0aGUgbW5nciBzdHJ1Y3QgcmVmbGVjdHMgYSBjbGVhbiBzdGF0ZQoJICBmb3IgdGhlIG5leHQgZnJhbWUsIGF2b2lkaW5nIGZhaWx1cmVzIGxpa2U6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY1NjMKCjIwMTUtMTAtMTcgMTU6MjY6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbHNoYWRlcmVsZW1lbnQ6IGltcGxlbWVudCBvbi1kZW1hbmQgY3JlYXRlLXNoYWRlciBzaWduYWxsaW5nCgkgIE9uZSBtYXkgbm90IGhhdmUgYW4gR3N0R0xDb250ZXh0IGF2YWlsYWJsZSBvciBjdXJyZW50IGluIHRoZSB0aHJlYWQgd2hlcmUgb25lCgkgIHdvdWxkIG5lZWQgdG8gdXBkYXRlIHRoZSBzaGFkZXIuICBTdXBwb3J0IHRoaXMgYnkgc2lnbmFsbGluZyBjcmVhdGUtc2hhZGVyCgkgIHdoZW5ldmVyIHRoZSBvbmUtc2hvdCAndXBkYXRlLXNoYWRlcicgaXMgc2V0IHRvIFRSVUUuCgoyMDE1LTEwLTE3IDAyOjQyOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2wvY2FsYXllcjogZG9uJ3QgbGVhayBhIGdsIHNoYWRlciBvYmplY3QKCSAgV2Ugd2lsbCBhbHdheXMgb3ZlcndyaXRlIHRoZSBjYV9zaW5rLT5yZWRpc3BsYXlfc2hhZGVyIHdpdGhvdXQgZnJlZWluZyB0aGUKCSAgb2JqZWN0LgoKMjAxNS0xMC0xNyAwMjo0MDo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IHNlcGFyYXRlIG91dCB0aGUgd2lkZ2V0L3dpbmRvdyBkZXN0cm95IGNhbGxiYWNrcwoJICBGaXhlcyBhc3NlcnRpb24gZHVlIHRvIHRoZSBzaW5rX2ZpbmFsaXplKCkgYmVpbmcgcnVuIGJlZm9yZSB0aGUgd2lkZ2V0IGRlc3Ryb3kKCSAgY2FsbGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5NjkKCjIwMTUtMTAtMTcgMDE6MDg6MjkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dsbGl2ZXNoYWRlci5jOgoJICBnbC9leGFtcGxlczogYWRkIGEgbGl2ZSBzaGFkZXIgZGVtbyB1c2luZyB0aGUgbmV3IEdzdEdMU0xTdGFnZQoJICBJbXBsZW1lbnRlZCB3aXRoIHZpZGVvdGVzdHNyYyAhIGdsc2hhZGVyICEgZ2x1cGxvYWQgISBndGtnbHNpbmsKCSAgRXJyb3JzIG9uIGFuIGludmFsaWQgc2hhZGVyIGNvbXBpbGF0aW9uIGFyZSBpZ25vcmVkIGhvd2V2ZXIgYW55IGVycm9yCgkgIHByb3ZpZGVkIGJ5IHRoZSBnbHNsIGNvbXBpbGVyIGlzIHByaW50ZWQgdG8gc3Rkb3V0LgoKMjAxNS0xMC0xNiAwMDoyMzo1NiArMDIwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IHNraXAgcGFkZGluZyB3aGVuIG1hcHBpbmcgUlRQIHBhY2tldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjY1MwoKMjAxNS0xMC0xNCAxOTozMjowNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFByb3Blcmx5IGZvcndhcmQgdGhlIHJldHVybiB2YWx1ZSBvZiBnc3RfdmlkZW9fZGVjb2Rlcl9uZWdvdGlhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTc4CgoyMDE1LTEwLTE0IDE5OjI0OjIyICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogSW1wbGVtZW50IHN1cHBvcnQgZm9yIENPTE9SX1FDT01fRm9ybWF0WVZVNDIwU2VtaVBsYW5hcjMybU11bHRpVmlldyBmb3IgZGVjb2RpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjU3OAoKMjAxNS0xMC0xNiAwMjo1NzoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJICBnbHNsc3RhZ2U6IGFkZCBicmFja2V0cyBhcm91bmQgcG9pbnRlciBkZXJlZmVyZW5jZSByZWZlcmVuY2luZyBhbiBhcnJheQoJICBXaGlsZSB0ZWNobmljYWxseSwgaSBpcyBhbHdheXMgMCBhbmQgKnZlcnRleF9zb3VyY2VzW2krK10gaXMgZXF1aXZhbGFudAoJICB0byAoKnZlcnRleF9zb3VyY2VzKVtpKytdLiAgQmUgZnV0dXJlLXByb29mIGluIHRoZSBjYXNlIG9mIGNvZGUKCSAgbW92ZXMvY2hhbmdlcy9ldGMuCgkgIENJRCAxMzI3NDA2CgoyMDE1LTEwLTE1IDIzOjQ3OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgZ2wvY2FvcGVuZ2xsYXllcnNpbms6IHBvcnQgdG8gbmV3IEdzdEdMU2hhZGVyIEFQSQoJICBmaXhlcyBidWlsZCBlcnJvcjoKCSAgInVuZGVmaW5lZCBzeW1ib2xzIGZvciBhcmNoaXRlY3R1cmU6CgkgIGdzdF9nbF9zaGFkZXJfY29tcGlsZV93aXRoX2RlZmF1bHRfdmZfYW5kX2NoZWNrIgoKMjAxNS0xMC0xNSAyMjo0MjoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvdGVzdHM6IHBvcnQgZ2xjb250ZXh0IHRlc3QgdG8gb3BlbmdsCgkgIE5vdyB1c2VzIHZhbydzIGFuZCB2Ym8ncyB3aGVuIHBvc3NpYmxlIGxpa2UgdGhlIHJlc3Qgb2YgdGhlIGdzdGdsIGxpYnJhcnkuCgoyMDE1LTA5LTA0IDE2OjE2OjUxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsc2hhZGVyOiBwb3J0IGVsZW1lbnQgdG8gR3N0R0xTTFN0YWdlCgkgIC0gUHJvdmlkZSBhIHNoYWRlciBwcm9wZXJ0eSB0byBzZXQgdGhlIGZ1bGwgc2hhZGVyIHBpcGVsaW5lCgkgIC0gUHJvdmlkZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHByb3BlcnRpZXMgZm9yIGp1c3QgcHJvdmlkaW5nIHNpbXBsZQoJICBzaGFkZXIgc291cmNlcy4KCjIwMTUtMDktMDQgMTY6MDI6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2xzaGFkZXI6IHBvcnQgdG8gdXNpbmcgR3N0R0xTTFN0YWdlIG9iamVjdHMgZm9yIHN0cmluZyBtYW5hZ2VtZW50CgkgIEEgR3N0R0xTaGFkZXIgaXMgbm93IHNpbXBseSBhIGNvbGxlY3Rpb24gb2Ygc3RhZ2VzIHRoYXQgYXJlCgkgIGNvbXBpbGVkIGFuZCBsaW5rZWQgdG9nZXRoZXIgaW50byBhIHByb2dyYW0uICBUaGUgdW5pZm9ybS9hdHRyaWJ1dGUKCSAgaW50ZXJmYWNlIGhhcyByZW1haW5lZCB0aGUgc2FtZS4KCjIwMTUtMDktMDQgMTQ6MzY6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2xzdGFnZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzbHN0YWdlLmg6CgkgIGdsc2w6IGFkZCBhIHNoYWRlciBzdGFnZSBvYmplY3QgR3N0R0xTTFN0YWdlCgkgIFJlcHJlc2VudHMgYSBzdGFnZSAodmVydGV4LCBnZW9tZXRyeSwgZnJhZ21lbnQsIGV0YykgaW4gdGhlIHNoYWRlcgoJICBwaXBlbGluZS4KCjIwMTUtMDktMDQgMDA6MDk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJICBnbC9zaGFkZXIvdmFyaWFibGVzOiBpbmNsdWRlIGdlbmVyaWMgZ2wuaCBoZWFkZXIKCSAgT3RoZXJ3aXNlIHdlIG1heSBtaXNzIHNvbWUgZm9yd2FyZCBkZWNsYXJhdGlvbnMKCSAgRml4ZXMgYnVpbGQgZXJyb3I6IHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gR3N0R0xTTFN0YWdlCgoyMDE1LTA4LTIwIDE1OjExOjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNsX3ByaXZhdGUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHNsLmM6CgkgIGdsOiBhZGQgc29tZSBHTFNMIHV0aWxpdHkgZnVuY3Rpb25zCgkgIFNwZWNpZmljYWxseSBwYXJzaW5nL3NldHRpbmcgR0xTTCB2ZXJzaW9ucyBhbmQgdGhlIHNoYWRlciByZWxhdGVkCgkgIGZ1bmN0aW9uIHRhYmxlLgoKMjAxNS0xMC0xNCAyMjo1MToyOSArMDIwMCAgUGF1bCBBcnplbGllciA8cGF1bC5hcnplbGllckBmcmVlLmZyPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkgIGR0bHM6IEZpeCBuYW1lIGNvbmZsaWN0IHdpdGggb3BlbnNzbCBvbiB3aW4zMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2NTkyCgoyMDE1LTA5LTA0IDE4OjQwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzOiBpZiBtZWRpYSBzZXF1ZW5jZSBpcyBub3Qgc3BlY2lmaWVkLCB1c2UgMAoJICBBbGxvd3MgcGxheWxpc3RzIHRoYXQgYXJlIG1pc3NpbmcgdGhlIG1lZGlhc2VxdWVuY2UgaW5mb3JtYXRpb24gdG8KCSAgYmUgY29ycmVjdGx5IHBhcnNlZC4gSWYgdGhlIHBsYXlsaXN0IHdhcyB1cGRhdGVkIHdpdGhvdXQgcmVzZXRpbmcKCSAgdGhlIG1lZGlhc2VxdWVuY2UgaXQgd291bGQgY29uc3RhbnRseSBpbmNyZWFzZSBvdmVyIHN1YnNlcXVlbnQgdXBkYXRlcywKCSAgbGVhZGluZyB0byBpc3N1ZXMgZHVyaW5nIHBsYXliYWNrLgoKMjAxNS0wOC0zMCAxNDo1Njo1NyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBmaXggZmFsbGJhY2sgYnVmZmVyIGFsbG9jYXRpb24KCSAgQ29weS1wYXN0ZSBtaXN0YWtlOyB0aGUgd2xfYnVmZmVyIHdhcyBhdHRhY2hlZCBvbiB0aGUgd3JvbmcgYnVmZmVyLi4uCgoyMDE1LTA4LTMwIDE0OjU1OjExICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogcmVuYW1lIEdzdFdsRGlzcGxheTo6Zm9ybWF0cyBhcnJheSB0byBzaG1fZm9ybWF0cwoJICBUaGVzZSBmb3JtYXRzIGFyZSBzcGVjaWZpYyB0byB0aGUgd2xfc2htIGludGVyZmFjZS4gV2UgYXJlIGdvaW5nCgkgIHRvIGFkZCBkbWFidWYgZm9ybWF0cyBsYXRlciBhcyB3ZWxsLgoKMjAxNS0wOC0yOSAyMjoyOToxNyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5oOgoJICB3YXlsYW5kc2luazogcmVwbGFjZSB0aGUgY3VzdG9tIEdzdFdsU2htTWVtb3J5IHdpdGggR3N0RmRNZW1vcnkKCjIwMTUtMTAtMTQgMTk6NTM6MzQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFVwZGF0ZSBQT1RGSUxFUy5pbiBmb3IgT3BlbkNWIEMrKyBmaWxlIHJlbmFtZQoKMjAxNS0xMC0xNCAxNzo0MTowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IEFsbG93IGRlYnVnZ2luZyBvZiB0aGUgcGxheWxpc3QKCSAgSGVscHMgZGVidWdnaW5nIGlzc3VlcwoKMjAxNS0xMC0xNCAxNzozODozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEF2b2lkIG5lZ2F0aXZlIHNlcXVlbmNlIG51bWJlcnMKCSAgRm9yIGxpdmUgc3RyZWFtcywgd2Ugd2FudCB0byBtYWtlIHN1cmUgdGhlcmUncyBhIGNlcnRhaW4gZGlzdGFuY2UKCSAgYmV0d2VlbiB0aGUgc2VxdWVuY2UgdG8gcGxheSBhbmQgdGhlIGxhc3QgKGVhcmxpZXN0KSBmcmFnbWVudC4KCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBpdCBhc3N1bWVzIHRoZXJlIGFyZSBhdCBsZWFzdCAzIGZyYWdtZW50cyBpbgoJICB0aGUgcGxheWxpc3QsIHdoaWNoIG1pZ2h0IG5vdCBhbHdheXMgYmUgdGhlIGNhc2UgKGxpa2UgaW4gdGhlIGNhc2UKCSAgb2YgYSBzZXJ2ZXIgcmVzdGFydGluZyBhbmQgZ3JhZHVhbGx5IGFkZGluZyBmcmFnbWVudHMpLgoJICBJbiBvcmRlciB0byBhdm9pZCBlbmRpbmcgdXAgd2l0aCBuZWdhdGl2ZSBzZXF1ZW5jZSBudW1iZXJzICh3aGljaAoJICB3aWxsIGp1c3QgbG9vcCBmb3JldmVyKSwgbGltaXQgdGhlIG5ldyB0YXJnZXQgc2VxdWVuY2UgbnVtYmVyIHRvCgkgIHRoZSBoaWdoZXN0IG9mOgoJICAqIGVpdGhlciB0aGUgZmlyc3Qgc2VxdWVuY2UgbnVtYmVyIG9mIHRoZSBwbGF5bGlzdCAoZmFsbGJhY2spCgkgICogb3IgMyBmcmFnbWVudHMgZnJvbSB0aGUgbGFzdCBvbmUgKHN0YW5kYXJkIGJlaGF2aW91cikKCjIwMTUtMTAtMTQgMTU6MzA6MDUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmNwcDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jcHA6CgkgIG9wZW5jdjogc3dpdGNoIHJlbWFpbmluZyB0byBDKysKCSAgU3dpdGNoIHJlbWFpbmluZyBDIGZpbGVzIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVDViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTE0IDEwOjMxOjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogU2V0IGRlZmF1bHQgbGFzdF9ieXRlX3BvcyB0byAtMQoJICBUaGUgdmFsdWUgaXMgb3B0aW9uYWwgaW4gdGhlIHJhbmdlLCBhbmQgaWYgaXQgaXMgYWJzZW50IGl0IG1lYW5zIHdlIHNob3VsZAoJICBkb3dubG9hZCB1bnRpbCB0aGUgZW5kIG9mIHN0cmVhbS4gTm90IHVudGlsIHBvc2l0aW9uIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzMTYKCjIwMTUtMTAtMTQgMTA6MzQ6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEhUVFAgcmFuZ2VzIGFyZSBpbmNsdXNpdmUsIEdTdHJlYW1lciBzZWdtZW50LnN0b3AgaXMgZXhjbHVzaXZlCgkgIFRyYW5zbGF0ZSB0aGUgdmFsdWVzIGFjY29yZGluZ2x5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MzE2CgoyMDE1LTEwLTE0IDE0OjM0OjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG9wZW5jdjogbW90aW9uY2VsbHM6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdG1vdGlvbmNlbGxzIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xNCAyMjozNToyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgbGl2ZWFkZGVyIGRpcmVjdG9yeSB0byB0aGUgY3J1ZnQgbGlzdAoJICBTbyB0aGF0IHdlIGNhbiByZW1vdmUgaXQgYW5kIGF2b2lkIGR1cGxpY2F0ZSBHc3RMaXZlQWRkZXIgR1R5cGUgcmVnaXN0cmF0aW9ucy4KCjIwMTUtMTAtMTMgMTI6NDA6MDQgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSAgZ2w6IGZpeCBsZWFrIGluIGdzdF9nbF9pbnNlcnRfZGVidWdfbWFya2VyKCkKCSAgVGhlIHN0cmluZyBhbGxvY2F0ZWQgYnkgZ192YXNwcmludGYoKSB3YXMgbGVha2VkLgoJICBSZXByb2R1Y2VkIHVzaW5nIHRoZQoJICB2YWxpZGF0ZS5maWxlLmNvbXBvc2l0b3Iuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCB2YWxpZGF0ZSBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjQ5MgoKMjAxNS0xMC0xMiAxMTowNzozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgdG8gZ2l0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTY0MjQKCjIwMTUtMTAtMTIgMDk6MzY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGxpdmVhZGRlcjogbGF0ZW5jeSBwcm9wZXJ0eSBpcyBhbiB1aW50NjQgaW4gYXVkaW9taXhlcgoKMjAxNS0xMC0xMSAyMzo0NDoyNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuY3BwOgoJICB0ZXh0b3ZlcmxheTogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0dGV4dG92ZXJsYXkgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTExIDIxOjU0OjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jcHA6CgkgIG9wZW5jdjogcHlyYW1pZHNlZ21lbnQ6IFN3aXRjaCB0byBDKysKCSAgU3dpdGNoIGdzdHB5cmFtaWRzZWdtZW50IHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsCgkgIGFuZCBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wNSAwMDo1NTozNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IFJlbW92ZSBwbHVnaW4sIHJlcGxhY2UgYnkgY29tcGF0IHN1YmNsYXNzIG9mIGF1ZGlvbWl4ZXIKCSAgTmV3IHN1YmNsYXNzIHdpdGggYSBzaW1pbGFyIGJlaGF2aW91ciBhcyB0aGUgb2xkIGxpdmVhZGRlciwgYnV0CgkgIGEgc2xpZ2h0bHkgZGlmZmVyZW50IEFQSSBhcyB0aGUgbGF0ZW5jeSBpcyBpbiBuYW5vc2Vjb25kcywgbm90CgkgIG1pbGxpc2Vjb25kcy4gQWxzbywgdGhlIG5ldyBsaXZlYWRkZXIgaGFzIGEgZWZmZWN0aXZlIGxhdGVuY3kgdGhhdAoJICBpcyBsYXRlbmN5ICsgb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbi4gSW4gcHJhY3RpY2UsIGp1c3Qgc2V0dGluZyBhIG5vbi16ZXJvCgkgIGxhdGVuY3kgd2l0aCB0aGUgbmV3IGF1ZGlvbWl4ZXIgZ2l2ZXMgeW91IHRoZSByaWdodCBiZWhhdmlvciBpbiA5OSUgb2YgdGhlCgkgIGNhc2VzLgoKMjAxNS0xMC0xMSAxMDowMDo0MyArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoZGVtdXg6IGZpeCB1bmRlZmluZWQgcmVmZXJlbmNlIHRvIGdzdF9udHBfY2xvY2tfbmV3CgkgIEZvdW5kIHdpdGggZ3N0LWluc3BlY3QtMS4wIC1iIGluIGdzdC11bmluc3RhbGxlZCBlbnYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYzODMKCjIwMTUtMTAtMTAgMTc6NTI6MjMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuY3BwOgoJICBjdnNvYmVsOiBTd2l0Y2ggdG8gQysrCgkgIFN3aXRjaCBnc3Rjdmxzb2JlbCB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLCBhbmQKCSAgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMTAgMTc6MDA6NTUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jcHA6CgkgIGN2bGFwbGFjZTogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3ZsYXBsYWNlIHRvIEMrKyBmb3IgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBPcGVuQ1YgZWxlbWVudHMsIGFuZAoJICBzdXBwb3J0IG9mIHRoZSBuZXcgMi40LjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0xMCAxNjo1NzozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuY3BwOgoJICBjdmVxdWFsaXplaGlzdDogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3ZlcXVhbGl6ZWhpc3QgdG8gQysrIGZvciBjb25zaXN0ZW5jeSB3aXRoIG90aGVyIE9wZW5DViBlbGVtZW50cywKCSAgYW5kIHN1cHBvcnQgb2YgdGhlIG5ldyAyLjQuMTEgQVBJLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTEwIDE0OjEwOjMyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmNwcDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmNwcDoKCSAgY3Zlcm9kZTogU3dpdGNoIHRvIEMrKwoJICBTd2l0Y2ggZ3N0Y3Zlcm9kZSB0byBDKysgZm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgT3BlbkNWIGVsZW1lbnRzLCBhbmQKCSAgc3VwcG9ydCBvZiB0aGUgbmV3IDIuNC4xMSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDggMTQ6NDY6MTAgLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IHNpbXBsaWZ5IFpBUCBmaWxlIGZvcm1hdCBwYXJzZXIKCSAgU2ltcGxpZnkgc3RhdGUgaGFuZGluZywgZHJvcCB1bm5lZWRlZCBsb2NhbCB2YXJzLCBldGMuCgoyMDE1LTEwLTA3IDE0OjIyOjQ2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIGhhc19uZXh0X3BlcmlvZAoJICBnc3RfbXBkX2NsaWVudF9oYXNfbmV4dF9wZXJpb2Qgbm93IGNhbGxzIGdzdF9tcGRfY2xpZW50X3NldHVwX21lZGlhX3ByZXNlbnRhdGlvbgoJICB0byByZWZyZXNoIHRoZSBwZXJpb2QgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYxODYKCjIwMTUtMTAtMDcgMDg6NDg6MTUgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBGaXggYnVpbGQgZXJyb3IKCSAgQnVpbGQgZXJyb3IgZHVlIHRvIHdyb25nIGFyZ3VtZW50IHR5cGUgaW4gZGVidWcgbWVzc2FnZQoJICBhYWdnLT5wcml2LT5vZmZzZXQgYW5kIG5leHRfb2Zmc2V0IGFyZSBvZiB0eXBlIGludDY0LCBidXQgdWludDY0CgkgIGZvcm1hdHRlciBpcyBiZWluZyB1c2VkIGluIGxvZ3MuIENoYW5naW5nIGFsbCB0aG9zZSB0byBpbnQ2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU2MDY1CgoyMDE1LTEwLTA2IDIxOjIzOjExICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogUHJveHkgdGhlIGlnbm9yZS1lb3MgdmlkZW9hZ2dyZWdhdG9yIHByb3BlcnR5IGFzIHdlbGwKCSAgSWRlbnRpY2FsIHRvIGhvdyB0aGUgei1vcmRlciBwcm9wZXJ0eSBpcyBwcm94aWVkCgoyMDE1LTEwLTA1IDExOjIxOjA3ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBmaXggc2FtcGxlIG1lbW9yeSBsZWFrCgkgIFdoZW4gZ2V0dGluZyBzYW1wbGUgZnJvbSB0YWdsaXN0LCB0aGUgbWVtb3J5IGlzIG5vdCBiZWluZyBmcmVlZCByZXN1bHRpbmcgaW4gbWVtb3J5IGxlYWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTYwNzAKCjIwMTUtMTAtMDEgMTE6MTg6NTIgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogcGx1ZyBtZW1vcnktbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NjAwMQoKMjAxNS0xMC0wMiAyMjo1NzoyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogUG9ydCB0byBuZXcgR0xpYiBtdXRleC9jb25kIEFQSQoKMjAxNS0xMC0wMiAyMjoyNDoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9saWJkZTI2NS9saWJkZTI2NS1kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBVcGRhdGUgR0xpYiBkZXBlbmRlbmN5IHRvIDIuNDAuMAoKMjAxNS0xMC0wMiAxOTowMjoyNiArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmNwcDoKCSAgY3ZkaWxhdGU6IENoYW5nZSBnc3RjdmRpbGF0ZSB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RjdmRpbGF0ZS5jIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yCgkgIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2IGFuZCBiZWNhdXNlIE9wZW5jdiBub3Qgc3VwcG9ydCBDCgkgIGxhbmd1YWdlIGluIG5ldyBBUEkgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE4OjUwOjQ1ICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jcHA6CgkgIHNraW5kZXRlY3Q6IENoYW5nZSBnc3Rza2luZGV0ZWN0IHRvIEMrKwoJICBDaGFuZ2UgdGhlIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yIGNvbnNpc3RlbmN5CgkgIHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2IGFuZCBiZWNhdXNlIE9wZW5jdiBub3Qgc3VwcG9ydCBDIGxhbmd1YWdlIGluCgkgIG5ldyBBUEkgMi40LjExLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTA4LTMxIDE3OjQzOjI2ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgb3BlbmN2dXRpbHM6IGFkZCBleHRlcm4gQywgZm9yIHRoZSBvcGVuY3YgZWxlbWVudHMgd29yay4KCSAgQWRkaW5nIEdfQkVHSU5fREVDTFMgYW5kIEdfRU5EX0RFQ0xTIHRvIGdzdG9wZW5jdnV0aWxzLmgKCSAgdG8gYWxsb3cgQy1zdHlsZSBsaW5raW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE4OjQwOjQzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSAgcmV0aW5leDogdXNlIE9wZW5DViBuYW1lc3BhY2UKCSAgQXMgcGFydCBvZiB0aGUgc3dpdGNoIHRvIEMrKywgdXNlIHRoZSBuZXcgT3BlbkNWIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0xMC0wMiAxODoxMDozMiArMDEwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmNwcDoKCSAgY3ZzbW9vdGg6IHBvcnQgdG8gQysrCgkgIENoYW5nZSB0aGUgZmlsZSBleHRlbnNpb24gdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZSBmb3IgY29uc2lzdGVuY3kKCSAgd2l0aCBvdGhlciBlbGVtZW50cyBvZiBvcGVuY3YgYW5kIGJlY2F1c2UgT3BlbmN2IG5vdCBzdXBwb3J0IEMgbGFuZ3VhZ2UgaW4KCSAgbmV3IEFQSSAyLjQuMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxNDgKCjIwMTUtMTAtMDIgMTc6NDg6NDcgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4LmNwcDoKCSAgcmV0aW5leDogQ2hhbmdlIHJldGluZXggdG8gQysrCgkgIENoYW5nZSB0aGUgZ3N0cmV0aW5leC5jIGZpbGUgdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZS4KCSAgSXQgaXMgbmVjZXNzYXJ5IHRvIG1pZ3JhdGUgdGhlIHJldGluZXggZWxlbWVudCB0byBDKyssCgkgIGJlY2F1c2UgbmV3IE9wZW5jdiBBUEkgbGVhdmVzIG9ic29sZXRlIGZ1bmN0aW9ucyBsaWtlIGN2U21vb3RoLgoJICBUaGlzIGVsZW1lbnQgdXNlcyB0aGlzIGZ1bmN0aW9uLgoJICBZb3UgY2FuIHNlZSBpbiB0aGlzIGxpbms6CgkgIGh0dHA6Ly9kb2NzLm9wZW5jdi5vcmcvbW9kdWxlcy9pbWdwcm9jL2RvYy9maWx0ZXJpbmcuaHRtbD8KCSAgaGlnaGxpZ2h0PWN2c21vb3RoI3ZvaWQgY3ZTbW9vdGgoY29uc3QgQ3ZBcnIqIHNyYywgQ3ZBcnIqIGRzdCwKCSAgaW50IHNtb290aHR5cGUsIGludCBzaXplMSwgaW50IHNpemUyLCBkb3VibGUgc2lnbWExLCBkb3VibGUgc2lnbWEyKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTEwLTAyIDE3OjE4OjMzICswMTAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgYW5vdGhlciB1bnVzZWQgdmFyaWFibGUKCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMTAtMDIgMTc6MDI6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogQ3ZQb2ludCB2YWx1ZXMgY2hhbmdlZCBmcm9tIHVpbnQgdG8gaW50CgkgIFRoZSB4IGFuZCB5IHZhbHVlcyBvZiBDdlBvaW50IGNoYW5nZWQgZnJvbSB1bnNpZ25lZCB0byBzaWduZWQgaW50ZWdlcnMKCSAgaW4gT3BlbkNWIDIuNC4xMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNjoyMjozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrCgkgIFRoZSBjYXNjYWRlIGNsYXNzaWZpZXIgY2hhbmdlcyBpdHMgc3RydWN0dXJlIG9uIG5ldyB2ZXJzaW9uIG9mIE9wZW5DViAyLjQuMTEuCgkgIEl0IGlzIG5lZWQgdG8gbWlncmF0ZSB0byBDKysgdG8gdXRpbGl6ZSB0aGUgbmV3IGxvYWQgbWV0aG9kIG9mIE9wZW5DViB3aGljaAoJICBhbGxvd3MgdG8gbG9hZCB0aGUgb2xkIGFuZCBuZXcgY2xhc3NpZmllcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMTAtMDIgMTY6MDE6MjkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuY3BwOgoJICBoYW5kZGV0ZWN0OiBDaGFuZ2UgZ3N0aGFuZGRldGVjdCB0byBDKysKCSAgQ2hhbmdlIHRoZSBnc3RoYW5kZGV0ZWN0LmMgZmlsZSB0byBjcHAgYW5kIGFkZCBpdCBpbnRvIE1ha2VmaWxlLgoJICBJdCBpcyBuZWNlc3NhcnkgdG8gbWlncmF0ZSB0aGUgaGFuZGRldGVjdCBwbHVnaW4gdG8gQysrLAoJICBpbiBvcmRlciB0byBsb2FkIG5ldyBhbmQgb2xkIGNsYXNzaWZpZXJzLCB0byBtYWtlIGhhbmRkZXRlY3Qgd29yawoJICB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIE9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjUyOAoKMjAxNS0xMC0wMiAxNzowNToxMSArMDIwMCAgUG9sb2Nob25fc3RyZWV0IDxwb2xvY2hvbnN0cmVldEBnbXguZnI+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHM6IGZpeCBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgoyMDE1LTA4LTIwIDE2OjAzOjI5ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLWpwZWcuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJKiB0b29scy9nc3QtYXBwLW1ha2VyOgoJICBnc3RyZWFtZXI6IGJhZDogRml4IG1lbW9yeSBsZWFrcyB3aGVuIGNvbnRleHQgcGFyc2UgZmFpbHMKCSAgV2hlbiBnX29wdGlvbl9jb250ZXh0X3BhcnNlIGZhaWxzLCBjb250ZXh0IGFuZCBlcnJvciB2YXJpYWJsZXMgYXJlIG5vdCBnZXR0aW5nIGZyZWUnZAoJICB3aGljaCByZXN1bHRzIGluIG1lbW9yeSBsZWFrcy4gRnJlZSdpbmcgdGhlIHNhbWUuCgkgIEFuZCByZXBsYWNpbmcgZ19lcnJvcl9mcmVlIHdpdGggZ19jbGVhcl9lcnJvciwgd2hpY2ggY2hlY2tzIGlmIHRoZSBlcnJvciBiZWluZyBwYXNzZWQKCSAgaXMgbm90IE5VTEwgYW5kIHNldHMgdGhlIHZhcmlhYmxlIHRvIE5VTEwgb24gZnJlZSdpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTQKCjIwMTUtMDYtMjUgMTk6MTc6MzYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBvcHRpbWl6ZSBibGVuZGluZwoJICBTa2lwIGVtcHR5IHNvdXJjZSBwaXhlbHMgd2hlbiBibGVuZGluZyBhbiBpbWFnZS4gVGhlcmUgY2FuIGJlIGh1bmRyZWRzCgkgIG9mIGltYWdlcyB0byBibGVuZCBhdCBlYWNoIGZyYW1lLCBzbyB0aGlzIGJyaW5ncyBhIG5pY2UgcGVyZm9ybWFuY2UKCSAgYm9vc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjEKCjIwMTUtMDgtMTkgMTc6MTg6MzEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBVc2UgdGhlIHdpbmRvdyBzaXplIGZyb20gZG93bnN0cmVhbQoJICBUaGlzIGFsbG93cyByZW5kZXJpbmcgdGhlIG92ZXJsYXkgYXQgYSByZXNvbHV0aW9uIG1hdGNoaW5nIHRoZSB2aWRlbwoJICByZXNvbHV0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODI0CgoyMDE0LTA5LTA0IDE4OjE2OjAwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBuZWdvdGlhdGlvbgoJICBUaGlzIGlzIG1vc3RseSBhIGNvcHkvcGFzdGUgb2YgdGhlIG5lZ290aWF0aW9uIGZ1bmN0aW9uIGluCgkgIGJhc2V0ZXh0b3ZlcmxheSwgd2hpY2ggd2FzIGltcHJvdmVkIHJlY2VudGx5IHRvIGhhbmRsZSBtYW55IG1vcmUgY2FzZXMuCgkgIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBuZWdvdGlhdGUgYSB3aW5kb3cgc2l6ZSB3aXRoIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MjQKCjIwMTUtMDgtMTkgMTM6NDQ6MzUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlbmRlciB0aGUgc3VidGl0bGVzIHdpdGggdGhlIHByb3BlciBhc3BlY3QKCSAgVGhpcyBidW1wcyB0aGUgbGliYXNzIHZlcnNpb24gcmVxdWlyZW1lbnQgdG8gMC4xMC4yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODI0CgoyMDE1LTA5LTA3IDE2OjIwOjQyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdDogYWRkZWQgdW5pdCB0ZXN0IGZvciBwcmVzZW50YXRpb24gdGltZSBvZmZzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQwOQoKMjAxNS0wOS0zMCAxMDoyNzowNiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGR0bHM6IHJlcXVpcmUgb3BlbnNzbCA+PSAxLjAuMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODkyCgoyMDE1LTEwLTAyIDE0OjQ2OjU5ICswMjAwICBQYXVsIEFyemVsaWVyIDxwYXVsLmFyemVsaWVyQGZyZWUuZnI+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHM6IGZpeCBwcmludGYgZm9ybWF0IG9uIHdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU5ODEKCjIwMTUtMDktMzAgMTE6MDA6MzkgKzA4MDAgIEpvaG4gQ2hhbmcgPHI5NzkyMjE1M0BnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3Rpc29mZi5jOgoJICBkYXNoZGVtdXg6IENvcnJlY3RseSBhc3NpZ24gZWFybGllc3QgcHRzIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyBpdCB3aXRoIGZpcnN0IG9mZnNldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODI0CgoyMDE1LTA5LTE1IDAzOjE0OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9xdC9nc3RwbHVnaW4uY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBvbiBvc3gvaW9zCgkgIEluY2x1ZGluZzoKCSAgLSBOZWNlc3NhcnkgY29uZmlndXJlIGNoZWNrcwoJICAtIE5lY2Vzc2FyeSBjb21waWxlIHRpbWUgcGxhdGZvcm0gY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IHJ1bnRpbWUgcXQgaU9TL09TWCBwbGF0Zm9ybSBkZXRlY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEwMAoKMjAxNS0wOS0yOCAxMToyOToyOSArMDEwMCAgSm9obiBTbGFkZSA8am9obkBqdGVzLm5ldD4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IGluZGVudGF0aW9uIHdpdGggZ3N0LWluZGVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzMyCgoyMDE1LTEwLTAyIDExOjMxOjUwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkgIGF1ZGlvdmlzdWFsaXplcnM6IEZpeCBub2Rpc3RfSEVBREVSUwoKMjAxNS0xMC0wMiAxNDo1Njo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBSZW1vdmUgYmFzZWF1ZGlvdmlzdWFsaXplciB0ZXN0LgoJICBUaGUgYmFzZSBjbGFzcyBoYXMgbW92ZWQgaW50byBnc3QtcGx1Z2lucy1iYXNlCgoyMDE1LTA5LTMwIDE5OjA1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb252ZXJ0IEdTVF9FUlJPUl9PQkpFQ1QoKSBmb3Igc2VlayBldmVudHMgdG8gR1NUX0RFQlVHX09CSkVDVCgpCgoyMDE1LTA5LTMwIDE5OjAzOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGb3IgdGhlIHN0YXJ0IHRpbWUgc2VsZWN0aW9uLCBvbmx5IHNldCB0aGUgc2VnbWVudCBwb3NpdGlvbgoJICBzZWdtZW50LnRpbWUgYW5kIHNlZ21lbnQuc3RhcnQgY2FuIHN0YXkgdGhlIHNhbWUsIGFuZCB3ZXJlIGFsd2F5cyB0aGUgc2FtZQoJICBiZWZvcmUgYW55d2F5IGJlY2F1c2Ugb2YgYSBtaXN0YWtlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NjIzCgoyMDE1LTA5LTMwIDE5OjAxOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogU2VsZWN0IHRoZSBpbml0aWFsIG9mZnNldCBiYXNlZCBvbiB0aGUgc3RhcnQgc2VnbWVudCBwb3NpdGlvbgoJICBpbnN0ZWFkIG9mIGFsd2F5cyB1c2luZyAwLiBPdGhlcndpc2Ugd2UgbWlnaHQgb3V0cHV0IGEgbG90IG9mIHNpbGVuY2UgaW4gdGhlCgkgIGJlZ2lubmluZyBpbnN0ZWFkIG9mIG91dHB1dHRpbmcgZnJvbSB0aGUgcmVsZXZhbnQgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MjMKCjIwMTUtMTAtMDEgMTU6MzU6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IG1lcmdlIGF1ZGlvdmlzdWFsaXplciBiYXNlIGNsYXNzZXMKCSAgVGhlc2UgcGx1Z2lucyBub3cgdXNlIHRoZSBhdWRpb3Zpc3VhbGl6ZXIgYmFzZSBjbGFzcyBpbiBwYnV0aWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMTAtMDIgMDE6MDE6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGVidWcuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IG1vdmUgZGVidWdnaW5nIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHRoZWlyIG93biBmaWxlCgoyMDE1LTEwLTAxIDIzOjIwOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogdXNlIGdsYmFzZWZpbHRlciB2ZnVuY3MKCSAgVXNlcyBsZXNzIGNvZGUgXG8vCgkgIEZpeGVzIGxlZ2FjeSBvcGVuZ2wgcmVuZGVyaW5nIFxvLwoKMjAxNS0wOS0xNiAxMjo1MDo0NiArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFjdGl2YXRlIHN0cmVhbXMgYmVmb3JlIGNvbmZpZ3VyaW5nIGJpdHJhdGUKCSAgRG9pbmcgdGhlIGNvbnRyYXJ5IGhhcyBubyBlZmZlY3QgYW5kIHRoZSBjb25zZXF1ZW5jZSBpcyB0aGF0IHBsYXliYWNrCgkgIHdpbGwgc3RhcnQgd2l0aCB0aGUgbG93ZXN0IGJpdHJhdGUgZXZlbiBpZiB3ZSBjYW4gYWxyZWFkeSBoYW5kbGUKCSAgaGlnaGVyIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMDgKCjIwMTUtMDYtMDggMTU6MzM6MjIgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBQbGF5UmVhZHkgV1JNIHBhcnNpbmcgc3VwcG9ydAoJICBJZiB0aGUgbWFuaWZlc3QgaGFzIGEgUHJvdGVjdGlvbkhlYWRlciBub2RlIHRoZW4gcGFyc2UgaXQgYW5kIGVtaXQKCSAgcHJvdGVjdGlvbiBldmVudHMgYWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpZWQgcHJvdGVjdGlvbiBTeXN0ZW1JRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYxMwoKMjAxNS0wOS0wMyAxNToxMTowMCArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsd2F5cyB1c2UgdGltZXNjYWxlIGZvciBnc3QgdGltZXN0YW1wIGNhbGN1bGF0aW9uCgkgIE5vdCBkb2luZyB0aGlzIGNhbiBsZWFkIHRoZSBkZW11eGVyIHRvIGF0dGVtcHQgZG93bmxvYWRpbmcgZnJhZ21lbnRzCgkgIGZvciBhbiBpbnZhbGlkIHN0YXJ0IHRpbWUuIFRoZSBzZXJ2ZXIgd291bGQgdGhlbiBzZW5kIGEgSFRUUAoJICBQcmVjb25kaXRpb24gZmFpbGVkIGVycm9yLCB0aGUgZGVtdXhlciB3b3VsZCB0cnkgc29tZSBtb3JlIHRpbWVzIHRvCgkgIGRvd25sb2FkIHRoZSBpbnZhbGlkIGZyYWdtZW50IGFuZCBldmVudHVhbGx5IGVycm9yIG91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUyMwoKMjAxNS0wOS0zMCAwODozNjoxNSArMDIwMCAgQW50b2luZSBKYWNvdXRvdCA8YWphY291dG90QGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IFBhc3MgR0xfQ0ZMQUdTIHRvIGctaXItc2Nhbm5lcgoJICBUaGlzIHVuYnJlYWtzIGJ1aWxkaW5nIHdoZW4gc29tZSBoZWFkZXJzIGFyZSB1bmRlciBhIG5vbi1zdGFuZGFyZCBwYXRoLgoJICBlLmcuIC91c3IvWDExUjYvaW5jbHVkZSBhcyBvbiBPcGVuQlNELgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1ODUwCgoyMDE1LTA5LTMwIDAwOjQ0OjE2IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBkaXN0IG1pc3NpbmcgaGVhZGVyIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NTIKCjIwMTUtMDktMzAgMTM6MTM6MTkgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiB0eXBlY2FzdCBiaXQtbWFzayB0byBndWludDY0IHRvIGZpeCBzZWdtZW50YXRpb24gZmF1bHQKCSAgV2hpbGUgY3JlYXRpbmcgY2FwcyBpbiBhdWRpb2ludGVybGVhdmUgdGVzdHMsIGJpdG1hc2sgaXMgYmVpbmcgc2V0IGFzIDB4OQoJICBUaGlzIGlzIHJlc3VsdGluZyBpbiBzZWdtZW50YXRpb24gZmF1bHQuIEZpeCB0aGUgc2FtZSBieSB0eXBlY2FzdGluZyB0byBndWludDY0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU4NDAKCjIwMTUtMDktMzAgMTU6MTc6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXh1cCBzdHJzdHIgbGVuZ3RocyBzbyB3ZSBkb24ndCBvdmVycnVuCgoyMDE1LTA5LTMwIDEzOjMxOjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVtb3ZlIHVzZWxlc3MgcmVsZWFzZV9idWZmZXIKCSAgSXQncyBhIGxlZnRvdmVyIGZyb20gd2hlbiB3ZSB3ZXJlbid0IG91dHB1dHRpbmcgR3N0QnVmZmVyJ3MgYW5kCgkgIHJldHVybmluZyByYXcgdGV4dHVyZSBpZCdzLgoKMjAxNS0wOS0zMCAwMTo1Mzo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2x1dGlsczogdXNlIGdzdF9lbGVtZW50X3NldF9jb250ZXh0IGZvciBzZXR0aW5nIGRpc3BsYXkvb3RoZXJfY29udGV4dAoJICAxLiBTbyB3ZSBnZXQgdHJhY2tpbmcgaW5zaWRlIEdzdEVsZW1lbnQgcHJvcGVybHkgd2hlbiBlLmcuIGFkZGluZyB0byBhIGJpbgoJICAyLiBSZW1vdmVzIHJlZHVuZGFudCBjb2RlLiAgTm93IG9ubHkgb25lIHBsYWNlIHdoZXJlCgkgIEdzdENvbnRleHQtPkdzdEdMRGlzcGxheS9Hc3RHTENvbnRleHQgdHJhbnNmb3JtYXRpb24gb2NjdXJzCgkgIDMuIEZpeGVzIGEgbWVtb3J5IGxlYWsgaW4gdGhlIHByb2Nlc3MKCSAgNC4gTWFrZSB0aGUgcmV0cmlldmFsIG9mIGRlYnVnIGNhdGVnb3JpZXMgdGhyZWFkIHNhZmUKCjIwMTUtMDktMjkgMjI6NTc6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBhZGQgc29tZSBHTCBkZWJ1ZyBzdGF0ZW1lbnRzIHRvIHNob3cgdXAgaW4gR0wgdHJhY2VzCgoyMDE1LTA4LTMwIDE3OjExOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzOiBtM3U4cGxheWxpc3Q6IG1vcmUgY2xlYW4tdXBzCgkgIFJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zOyBtb3ZlIEdzdE0zVTggc3RydWN0IGludG8gLmMgZmlsZSwKCSAgYW5kIGluZGVudCB0aGUgaGVhZGVyIHNvIGl0J3MgbmljZSB0byByZWFkLgoKMjAxNS0wOC0zMCAxNzowMToxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsczogbTN1OHBsYXlsaXN0OiBmaXggc2lsbHkgcXVldWUgaXRlcmF0aW9uIGNvZGUKCjIwMTUtMDgtMzAgMTY6NDA6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW9yZSBtaW5vciBwbGF5bGlzdF9yZW5kZXIoKSBjbGVhbi11cHMKCSAgTW92ZSB0aGUgVEFHIGRlZmluZXMgZGlyZWN0bHkgaW50byB0aGUgY29kZSwgbm90IHN1cmUgd2hhdAoJICB0aGVpciBwdXJwb3NlcyBpcywgdGhlc2UgYXJlIHByaW50ZiBmb3JtYXQgc3RyaW5ncyBzbyBoYXZpbmcKCSAgdGhlbSBkaXJlY3RseSBhcyBsaXRlcmFscyBpbiB0aGUgY29kZSB3aGVyZSB0aGV5J3JlIHVzZWQKCSAgbWFrZXMgdGhlIGNvZGUgZWFzaWVyIHRvIGZvbGxvdy4KCjIwMTUtMDgtMzAgMTY6MzQ6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJICBobHM6IG0zdThwbGF5bGlzdDogbW92ZSBlbnRyeSByZW5kZXJpbmcgaW50byByZW5kZXJfcGxheWxpc3QoKQoJICBNYWtlcyB0aGUgY29kZSBlYXNpZXIgdG8gZm9sbG93IGFuZCBhdm9pZHMgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5CgkgIHN0cmluZ3MsIHNpbmNlIHdlIGNhbiBqdXN0IGFwcGVuZCB0byB0aGUgcGxheWxpc3QgR1N0cmluZyBkaXJlY3RseS4KCjIwMTUtMDgtMzAgMTY6MjQ6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IG0zdThwbGF5bGlzdDogc2ltcGxpZnkgZ3N0X20zdThfcGxheWxpc3RfcmVuZGVyKCkKCSAgUmVtb3ZlIHBsYXlsaXN0X3N0ciBHU3RyaW5nIHZhcmlhYmxlIGZyb20gR3N0TTNVOFBsYXlsaXN0IHN0cnVjdCwKCSAgc2luY2UgaXQncyBvbmx5IHVzZWQgdGVtcG9yYXJpbHkgaW4gcGxheWxpc3RfcmVuZGVyKCkuIE1pZ2h0IGp1c3QKCSAgYXMgd2VsbCBrZWVwIGl0IGxvY2FsIHRoZW4uCgoyMDE1LTA4LTMwIDE1OjU1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6CgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJKiBleHQvaGxzL2dzdG0zdThwbGF5bGlzdC5oOgoJICBobHM6IHJlbW92ZSB1bnVzZWQgbWFjcm8gYW5kIGRpcmVjdCBnaW8gdXNhZ2UKCjIwMTUtMDktMzAgMDA6MzY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBkb3duc3RyZWFtIGtleSB1bml0IGV2ZW50cyBoYW5kbGluZyB3aXRoIGhsc3NpbmsKCSAgVGhlIGJ1ZmZlciB0aW1lc3RhbXBzIGluIHRoZSBjb2xsZWN0IGZ1bmN0aW9uIHdpbGwgYWxyZWFkeSBiZQoJICBydW5uaW5nIHRpbWUsIGRvbid0IHRyeSB0byBjb252ZXJ0IHRoZW0gYWdhaW4gdG8gcnVubmluZyB0aW1lLAoJICB0aGlzIHdvdWxkIHlpZWxkIENMT0NLX1RJTUVfTk9ORSBub3cgdGhhdCB0aGUgc2VnbWVudCBpcyBzaGlmdGVkCgkgIHRvIGFjY291bnQgZm9yIG5lZ2F0aXZlIGR0cy4KCSAgVGhpcyBmaXhlcyB4MjY0ZW5jICEgbXBlZ3RzbXV4ICEgaGxzc2luaywgd2hpY2ggd2FzIGJyb2tlbgoJICBiZWNhdXNlIG1wZWd0c211eCB3b3VsZCBzZW5kIGEgZG93bnN0cmVhbSBrZXkgdW5pdCBldmVudCB3aXRoCgkgIHJ1bm5pbmcgdGltZSBOT05FIGFuZCB0aGVuIGhsc3Npbmsgd291bGQgaW1tZWRpYXRlbHkgc2VuZAoJICBhbm90aGVyIG9uZSB1cHN0cmVhbSBhbmQgaXQgd291bGQganVzdCBiZSBhIGZsb29kIG9mIGZvcmNlCgkgIGtleWZyYW1lIGV2ZW50cyBpbiBib3RoIGRpcmVjdGlvbnMgYWZ0ZXIgdGhlIGZpcnN0IG9uZS4gVGhpcwoJICB3b3VsZCB0aGVuIGJyZWFrIGhsc3NpbmsgYmVjYXVzZSBpdCB1c2VzIG11bHRpZmlsZXNpbmsgaW4KCSAgbmV4dC1maWxlPWtleS11bml0LWV2ZW50IG1vZGUsIGFuZCBzdGFydGluZyBhIG5ldyBmaWxlIGFmdGVyCgkgIGV2ZXJ5IGZldyBrQiBkb2VzIG5vdCB3b3JrIHdlbGwgZm9yIEhMUy4KCjIwMTUtMDgtMjAgMTc6MzU6MDQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSAgb3BlbmN2OiBlcm9kZTogcmVtb3ZlIG5vbi1pcCB0cmFuc2Zvcm0gZnVuYwoJICBUcmFuc2Zvcm0gaXMgc2V0IHRvIGJlIGRvbmUgaW4gcGxhY2UgaW4gZ3N0Y3ZkaWxhdGVlcm9kZS5jLCBzbyB0aGUgaW4tcGxhY2UKCSAgdHJhbnNmb3JtIGZ1bmN0aW9uIGlzIGFsd2F5cyB1c2VkIGFuZCB0aGUgb3RoZXIgaXMgcmVkdW5kYW50LiBSZW1vdmluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzg4NQoKMjAxNS0wOC0yMCAxNzoyMzo0MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSAgb3BlbmN2OiBkaWxhdGU6IHJlbW92ZSBub24taXAgdHJhbnNmb3JtIGZ1bmMKCSAgVHJhbnNmb3JtIGlzIHNldCB0byBiZSBkb25lIGluIHBsYWNlIGluIGdzdGN2ZGlsYXRlZXJvZGUuYywgc28gdGhlIGluLXBsYWNlCgkgIHRyYW5zZm9ybSBmdW5jdGlvbiBpcyBhbHdheXMgdXNlZCBhbmQgdGhlIG90aGVyIGlzIHJlZHVuZGFudC4gUmVtb3ZpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4ODUKCjIwMTUtMDktMjkgMjA6MDA6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNiZ0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBnc3Rfb3BlbmN2X3ZpZGVvX2ZpbHRlcl9zZXRfaW5fcGxhY2UoKQoJICBVc2luZyB0aGUgZ3N0X2Jhc2VfdHJhbnNmb3JtIGZ1bmN0aW9uIGRpcmVjdGx5IHdvbid0IHdvcmsuIE5lZWQgdG8gdXNlCgkgIGdzdF9vcGVuY3ZfdmlkZW9fZmlsdGVyX3NldF9pbl9wbGFjZSgpLgoKMjAxNS0wOS0yOSAxNzowMDoyMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc2JnQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiBjaGVjayBmb3IgaGFhciBjYXNjYWRlIGZpbGVzIHBhdGgKCSAgV2hlbiBydW5uaW5nIEdTdHJlYW1lciBmcm9tIHVuaW5zdGFsbGVkIHNvdXJjZXMsIHRoZSBsb2NhdGlvbiBvZiB0aGUgaGFhcgoJICBjYXNjYWRlIGZpbGVzIHdpbGwgYmUgbG9jYWwuIENoZWNrIGlmIHJ1bm5pbmcgaW4gdW5pbnN0YWxsZWQgYW5kIHNldCB0aGUKCSAgZmlsZSBwYXRocyBhY2NvcmRpbmdseS4KCjIwMTUtMDktMjYgMTc6MDI6MDkgKzA4MDAgIEpvaG4gQ2hhbmcgPHI5NzkyMjE1M0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTY1NgoKMjAxNS0wOS0yOSAxMzozMToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY29tcGlsYXRpb24gd2l0aCBvbGRlciBnbGliIHZlcnNpb24KCSAgUmVtb3ZlIHdlaXJkIHVzZSBvZiBwcml2YXRlIGd0eXBlIGRlZmluZXMgYW5kIGZpeCBjb21waWxhdGlvbgoJICB3aXRoIG9sZGVyIGdsaWIgdmVyc2lvbnMgc3VjaCBhcyAyLjM2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU0CgoyMDE1LTA5LTI5IDEzOjUyOjQ3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuaDoKCSAgb3BlbmN2OiBjdmxhcGxhY2U6IGFkZCBzY2FsZSBhbmQgc2hpZnQgcHJvcGVydGllcwoJICBBZGQgc2NhbGUgYW5kIHNoaWZ0IHByb3BlcnRpZXMgc28gdGhlc2UgY2FuIGJlIHVzZWQgdG8gdHdlYWsgdGhlIHZhbHVlcwoJICB1c2VkIGluIGN2Q29udmVydFNjYWxlKCkgaW5zdGVhZCBvZiB1c2luZyBvbmx5IGRlZmF1bHRzLgoKMjAxNS0wOC0yOCAxNjoyNDoyNCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkgIHF0c2luazogZXhwbGljaXRlbHkgZmFsbHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBJbiBjYXNlIHJldCBpcyBGYWxzZSwgZmFsbHRocm91Z2ggdG8gZGVmYXVsdCBjYXNlLgoJICBDSUQgIzEzMjA3MDUKCjIwMTUtMDgtMjggMTY6MTM6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgYnJlYWsgdG8gc3dpdGNoIGNhc2UKCSAgRXZlbiB0aG91Z2ggYWxsIGNhc2VzIGluc2lkZSBWQzFfU1RSRUFNX0ZPUk1BVF9BU0YgYXJlIGdvdG8gb3IKCSAgZ19hc3NlcnRfbm90X3JlYWNoZWQoKSwgYWRkIGEgYnJlYWsgYXQgdGhlIGVuZCB0byBhcHBlYXNlIENvdmVyaXR5LgoJICBDSUQgIzEzMjA3MDYKCjIwMTUtMDktMjggMjA6NTY6NTYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggbGVhayBvZiB0YWcgc2FtcGxlcyBpbiB0aGUgdGFnIGxpc3QKCSAgTW92ZSBoYW5kbGluZyBvZiBhIEdzdFNhbXBsZSBpbiBhIHNlcGFyYXRlIGZ1bmN0aW9uLCBhbmQgdW5yZWYgdGhlCgkgIHNhbXBsZSBhZnRlciBjYWxsaW5nIGl0LiBsaWJhc3MgY29waWVzIHRoZSBmb250IGRhdGEgc28gd2UgZG9uJ3QgbmVlZCB0bwoJICBrZWVwIGl0IGFyb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTc1OQoKMjAxNS0wOS0yOCAyMDozMDoxNyArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGZpeCBnYXAgZXZlbnQgbGVhayBhbmQgaW52YWxpZCByZXR1cm4gdmFsdWUKCSAgV2UgZG9uJ3Qgd2FudCB0aGUgZ2FwIGV2ZW50IHRvIGJlIGZvcndhcmRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NzU5CgoyMDE1LTA5LTI5IDE2OjE3OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmM6CgkgIG52ZW5jOiBjYWxsIHRoZSBwYXJlbnQgY2xhc3Mgb24gR3N0RWxlbWVudDo6c2V0X2NvbnRleHQKCjIwMTUtMDktMTcgMTY6NTk6MTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IHVzZSB0aGUgZGVmYXVsdCBHTCBjb250ZXh0IGRlYnVnIGNhdGVnb3J5CgoyMDE1LTA3LTMwIDE2OjQyOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL252ZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvbnZlbmMvUkVBRE1FOgoJKiBzeXMvbnZlbmMvVE9ETzoKCSogc3lzL252ZW5jL2dzdG52YmFzZWVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZiYXNlZW5jLmg6CgkqIHN5cy9udmVuYy9nc3RudmVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZlbmMuaDoKCSogc3lzL252ZW5jL2dzdG52aDI2NGVuYy5jOgoJKiBzeXMvbnZlbmMvZ3N0bnZoMjY0ZW5jLmg6CgkgIEFkZCBOdmlkaWEgYmFzZWQgaGFyZHdhcmUgZW5jb2RlciBlbGVtZW50CgkgIEN1cnJlbnRseSBvbmx5IGgyNjQgaXMgc3VwcG9ydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MDUKCjIwMTUtMDktMjkgMDA6MjU6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSAgZ3RrOiBmaXggYXNzZXJ0aW9uIHdoZW4gdGhlIGVsZW1lbnQgaGFzIG5vIHBlZXIKCSAgV2hlbiBwcm94eWluZyBrZXlib2FyZC9uYXZpZ2F0aW9uL21vdXNlIGV2ZW50cywgb25seSB1bnJlZiBhIHN1Y2Nlc3NmdWxseQoJICByZXRyZWl2ZWQgcGVlciBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU3MzgKCjIwMTUtMDktMjggMTU6MzA6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5jOgoJKiBnc3QvbWlkaS9hbHNhbWlkaXNyYy5oOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIFJldmVydCAibWlkaTogYWRkIGFuIEFMU0EgTUlESSBzZXF1ZW5jZXIgc291cmNlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGNkN2Y0ZTUyNDcxOGEyZjc1NDY3ODUyMjM1ZTRlMTNkNjRkMmFjODIuCgoyMDE1LTA5LTI4IDIyOjMxOjA5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogc2V0IHRoZSBjb250ZXh0IG9uIHRoZSBlbGVtZW50IG9uIGEgY29udGV4dCBxdWVyeQoJICBPdGhlcndpc2UgaXQncyBwb3NzaWJsZSB0byBsb3NlIHRoZSBjb250ZXh0IGluZm9ybWF0aW9uIGlmIHRoZQoJICBjb250ZXh0IGlzIG9ubHkgcHJvcGFnYXRlZCB0aHJvdWdoIHF1ZXJpZXMuCgoyMDE1LTA5LTI4IDIyOjIwOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9zcGxpdC5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgY2xhc3MgZm9yIEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU1NzkKCjIwMTUtMDgtMDcgMTU6Mjg6NTQgKzAyMDAgIEFudG9uaW8gT3NwaXRlIDxhbzJAYW8yLml0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuYzoKCSogZ3N0L21pZGkvYWxzYW1pZGlzcmMuaDoKCSogZ3N0L21pZGkvbWlkaS5jOgoJICBtaWRpOiBhZGQgYW4gQUxTQSBNSURJIHNlcXVlbmNlciBzb3VyY2UKCSAgVGhlIGFsc2FtaWRpc3JjIGVsZW1lbnQgYWxsb3dzIHRvIGdldCBpbnB1dCBldmVudCBmcm9tIEFMU0EgTUlESQoJICBzZXF1ZW5jZXIgZGV2aWNlcywgYW5kIHBvc3NpYmx5IGNvbnZlcnQgdGhlbSB0byBzb3VuZCB1c2luZyBzb21lCgkgIGRvd25zdHJlYW0gZWxlbWVudCBsaWtlIGZsdWlkZGVjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njg3CgoyMDE1LTA4LTI4IDE2OjM1OjM5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgcW1sOiByZW1vdmUgb3ZlcndyaXR0ZW4gdmFsdWUKCSAgVmFsdWUgaW4gdGV4IGlzIG92ZXJ3cml0dGVuIGJlZm9yZSBiZWluZyB1c2VkLiBSZW1vdmluZyBpdC4KCSAgQ0lEIDEzMjA3MTUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI1MwoKMjAxNS0wOS0wMiAyMzo0NTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9nc3RxdGdsLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGV4dC9xdC9xdGl0ZW0uaDoKCSAgcXQ6IGFkZCBzdXBwb3J0IGZvciBidWlsZGluZy9ydW5uaW5nIG9uIGFuZHJvaWQKCSAgSW5jbHVkaW5nOgoJICAtIE5lY2Vzc2FyeSBjb25maWd1cmUgY2hlY2tzCgkgIC0gTmVjZXNzYXJ5IGNvbXBpbGUgdGltZSBwbGF0Zm9ybSBjaGVja3MKCSAgLSBOZWNlc3NhcnkgcnVudGltZSBxdCBhbmRyb2lkIHBsYXRmb3JtIGRldGVjdGlvbgoJICAtIEVzY2FwaW5nIEdMc3luYyBkZWZpbml0aW9uIHdpdGggUXQncyBHTEVTMiBpbXBsZW1lbnRhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NDY2CgoyMDE1LTA5LTAyIDIzOjQwOjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBkb24ndCB1c2UgQ1BQRkxBR1MgZm9yIHRvb2xzIHRoYXQgY2Fubm90IHVzZSB0aGVtCgkgIEZvciBleGFtcGxlIG1vYyB3aWxsIGJhaWwgb3V0IHdoZW4gZ2l2ZW4gYXJndW1lbnRzIGl0IGRvZXMgbm90CgkgIGtub3cgYWJvdXQuICBUaGUgbW9jIHNwZWNpZmljIE1PQ19DUFBGTEFHUyBjYW4gc3RpbGwgYmUgdXNlZAoJICB0byBwYXNzIGZsYWdzIHRvIG1vYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0wMiAyMzozOTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJICBxdDogcmVuYW1lIGxpYnJhcnkgdG8gaW5jbHVkZSBnc3QgcHJlZml4CgkgIGxpYnF0c2luayAtPiBsaWJnc3RxdHNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOC0zMSAxOToyMTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogc3ByaW5rbGUgc29tZSBkZWJ1ZyBtYXJrZXJzIHRvIGVhc2UgZGVidWdnaW5nCgoyMDE1LTA4LTMxIDE5OjE4OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbC91dGlsczogYWRkIGEgZnVuY3Rpb24gdG8gaW5zZXJ0IGEgZGVidWcgbWFya2VyCgkgIFRoZXNlIG1hcmtlcnMgYXJlIHZpc2libGUgaW4gdG9vbHMgdGhhdCByZWNvcmQgdGhlIEdMIGZ1bmN0aW9uIGNhbGxzCgkgIHN1Y2ggYXMgYXBpdHJhY2UsIGV0IGFsLgoJICBNYWtlcyBpdCBlYXNpZXIgdG8gbWF0Y2ggdXAgR0wgZHJhdyBjb21tYW5kcyB3aXRoIHNwZWNpZmljIGVsZW1lbnRzLgoKMjAxNS0wOC0zMSAxOToxNzoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9kZWJ1Zy5oOgoJICBnbDogYWRkIHNvbWUgZGVidWdnaW5nIHByb3RvdHlwZXMKCjIwMTUtMDktMjYgMTk6MTk6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiByZW1vdmUgdW51c2VkIGRyYXdfdW5sb2NrZWQgZnVuY3Rpb24KCSAgVGhlIGZ1bmN0aW9uYWxpdHkgaXMgcHJvdmlkZWQgYnkgZHJhdyBhbnl3YXkgYW5kIGlzIGxlZnRvdmVyIGZyb20KCSAgWDExJ3Mgc3BlY2lmaWMgdGhyZWFkaW5nIHJlcXVpcmVtZW50cyB0aGF0IG5vIGxvbmdlciBhcHBseS4KCjIwMTUtMDktMjcgMTM6MDc6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogU2VuZCBnYXAgdXBkYXRlcyB0byB0aGUgc2VnbWVudCBzdG9wIGR1cmluZyBzdGlsbHMKCSAgSWdub3JlIHRoZSBub3JtYWwgZ2FwIHRocmVzaG9sZCBmb3IgbGFnZ3kgc3RyZWFtcyBhbmQKCSAgaW1tZWRpYXRlbHkgY2F0Y2ggYWxsIHN0cmVhbXMgdXAgdG8gdGhlIGVuZCBvZiB0aGUgc2VnbWVudAoJICB3aGVuIHByb2Nlc3NpbmcgZ2FwIHVwZGF0ZXMgZm9yIGEgc2VnbWVudCBkdXJpbmcgYQoJICBzdGlsbCBmcmFtZSBzZXF1ZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTY4MAoKMjAxNS0wOS0yNyAwMDoyNDoyNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIFJldmVydCAiZHZkc3B1OiByZW5kZXIgdG8gQVlVViBvdmVybGF5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDUwMTZhNzMxOTA1OTU1MDVkYzM4YjU0ZjhmOWEwOGM0ZjE4MGYzYTYuCgoyMDE1LTA5LTI3IDAwOjI0OjIzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBSZXZlcnQgImR2ZHNwdTogcmVuZGVyIHRvIEFSR0Igb3ZlcmxheSBpbnN0ZWFkIG9mIEFZVVYiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZGQzZTlkZWIyYWE2OTVhMzkxYjU4ZjI0ZDg2YTNjMDBiYmMxMjU4YS4KCjIwMTUtMDktMjcgMDA6MjQ6MTcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBSZXZlcnQgImR2ZHNwdTogaGFuZGxlIGZyYW1lIHNpemUgZXZlbnQgZnJvbSB1cHN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0NmFhYWE2YzMwOWI4YThmNmUyMTgxNDJmZDU5NDRmNWQyNGYwOTVjLgoKMjAxNS0wOS0yNyAwMDoyNDoxNyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBSZXZlcnQgImR2ZHNwdTogY2FjaGUgb3ZlcmxheSBjb21wb3NpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhYWJiOGExYTY4MzcyZjc1MGM2M2I5YjY1ODZlMThlODI5NzQ1Nzc0LgoKMjAxNS0wOS0yNyAwMDoyNDoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBSZXZlcnQgImR2ZHNwdTogaW1wcm92ZSBuZWdvdGlhdGlvbiBvZiBvdmVybGF5IGNvbXBvc2l0aW9uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDE4OTllMmEwOTk5MzJhN2E3MzRlNzc4NGMyMGI2MjQ1MTcyMzdlMTguCgoyMDE1LTA5LTE4IDE5OjA3OjQ3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IGZpeCBwZ3MgcGFsZXR0ZSBjb2xvcnMKCSAgVSBhbmQgViB3ZXJlIGludmVydGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUyMzkKCjIwMTQtMDgtMjcgMTY6NDc6MjIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBpbXByb3ZlIG5lZ290aWF0aW9uIG9mIG92ZXJsYXkgY29tcG9zaXRpb24KCSAgU3VwcG9ydCBuZWdvdGlhdGluZyBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbiBkb3duc3RyZWFtCgkgIHdoaWxlIG5vdCBwcm92aWRpbmcgaXQgdXBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDktMDIgMTc6NDg6NTAgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBjYWNoZSBvdmVybGF5IGNvbXBvc2l0aW9uCgkgIFRoaXMgYXZvaWRzIHJlbmRlcmluZyB0aGUgb3ZlcmxheSBidWZmZXIgZm9yIGVhY2ggdmlkZW8gZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTMtMDgtMzAgMjI6MDg6MDEgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IGhhbmRsZSBmcmFtZSBzaXplIGV2ZW50IGZyb20gdXBzdHJlYW0KCSAgQW4gSURYIGZpbGUgb3IgY29kZWNfZGF0YSBub3JtYWxseSBjb250YWlucyB0aGUgb3JpZ2luYWwgZnJhbWUgc2l6ZSBvZgoJICB0aGUgdmlkZW8uIEFsbG93IHVwc3RyZWFtIHRvIHByb3ZpZGUgdGhpcyBpbmZvcm1hdGlvbiBieSBzZW5kaW5nIGEKCSAgY3VzdG9tIGV2ZW50LCB3aGljaCB3aWxsIGFsbG93IHNjYWxpbmcgdGhlIG92ZXJsYXkgY29ycmVjdGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTEyLTA1IDIxOjU5OjE4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYWxsb3cgc3VmZml4IGluIGR2ZCBldmVudCBuYW1lIHRvIGFsbG93IG11bHRpcGxlIHN0aWNreSBkdmQgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDQtMDcgMTQ6Mzg6MDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkgIGR2ZHNwdTogcmVuZGVyIHRvIEFSR0Igb3ZlcmxheSBpbnN0ZWFkIG9mIEFZVVYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2Mzc1MAoKMjAxMy0wMS0yMyAxNzo1OTowMSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtY29tbW9uLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmg6CgkgIGR2ZHNwdTogcmVuZGVyIHRvIEFZVVYgb3ZlcmxheQoJICBJbnN0ZWFkIG9mIG9ubHkgc3VwcG9ydGluZyB3cml0aW5nIFNQVSBkYXRhIGRpcmVjdGx5IHRvIFlVViBmcmFtZXMsCgkgIHJlbmRlciB0aGUgU1BVIGRhdGEgdG8gYW4gaW50ZXJtZWRpYXRlIEFZVVYgb3ZlcmxheSBidWZmZXIuIFRoZSBvdmVybGF5CgkgIGRhdGEgaXMgdGhlbiBhdHRhY2hlZCB0byB0aGUgdmlkZW8gZnJhbWUgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5CgkgIGNvbXBvc2l0aW9uLCBvdGhlcndpc2UgdGhlIEFZVVYgb3ZlcmxheSBpcyBibGVuZGVkIHRvIHRoZSB2aWRlbyBmcmFtZS4KCSAgRm9yIHRoZSBQR1MgZm9ybWF0LCB0aGUgb3ZlcmxheSBidWZmZXIgc2l6ZSBpcyBzZXQgdG8gdGhlIHNpemUgb2YgdGhlCgkgIENvbXBvc2l0aW9uIFdpbmRvdywgYW5kIGl0cyBwb3NpdGlvbiBpbiB0aGUgb3ZlcmxheSBjb21wb3NpdGlvbiBpcyBzZXQKCSAgdG8gdGhlIHdpbmRvdyBwb3NpdGlvbi4gVGhlIG9iamVjdHMgdG8gcmVuZGVyIGFyZSBub3cgY3JvcHBlZCB3aGVuIHRoZQoJICBjcm9wcGluZyBmbGFnIGlzIHNldC4KCSAgRm9yIHRoZSBWb2JzdWIgZm9ybWF0LCB0aGUgb3ZlcmxheSBidWZmZXIgc2l6ZSBpcyBzZXQgdG8gdGhlIHNpemUgb2YgdGhlCgkgIERpc3BsYXkgQXJlYS4KCSAgT25jZSByZW5kZXJlZCwgdGhlIG92ZXJsYXkgY29tcG9zaXRpb24gcmVjdGFuZ2xlIGlzIG5vdyBtb3ZlZCBhbmQgc2NhbGVkCgkgIHRvIGZpdCB0aGUgdmlkZW8gb3V0cHV0IHNpemUsIHRvIGF2b2lkIGNsaXBwaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDEzLTA5LTAyIDE3OjA3OjQ5ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogcGFzcyBkdmRzcHUgYXJndW1lbnQgdG8gc2V0X2NhcHMgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTAKCjIwMTUtMDktMTggMTk6MTU6NDUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogc2tpcCB1bm5lZWRlZCByZWFkaW5nIG9mIFJMRSBkYXRhCgkgIFRoZSBSTEUgZGF0YSB3YXMgYmVpbmcgcmVhZCBmb3IgZHVtcGluZyB0aGUgU1BVIGltYWdlIGV2ZW4gd2hlbiB0aGUKCSAgRFVNUF9GVUxMX0lNQUdFIG1hY3JvIHdhcyBub3Qgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYzNzUwCgoyMDE1LTA4LTI5IDE5OjE2OjM4ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNoZWNrOiBBZGQgdGVzdCBmb3IgdmlkZW9hZ2dyZWdhdG9yIHNpbmtwYWRzIGJlaW5nIHNvcnRlZCBieSB6b3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI4NQoKMjAxNS0wOS0yNiAxMDoyMTo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb21peGVyOiBmaXggZGVhZGxvY2sgd2hlbiBHX0RJU0FCTEVfQVNTRVJUIGlzIG5vdCBkZWZpbmVkCgkgIFRoaXMgbWFrZXMgdGhlIGF1ZGlvbWl4ZXIgdW5pdCB0ZXN0IHRpbWUgb3V0IGluIG1hc3Rlci4KCSAgQnJva2Ugd2l0aCA1ODdlN2M0CgoyMDE1LTA5LTI2IDEwOjQ5OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaDogRml4IHVuaXQgdGVzdCBhZnRlciBpbnRlcm5hbCBBUEkgY2hhbmdlCgoyMDE1LTA4LTI1IDE3OjM5OjMwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogRml4IHR5cG8gaW4gZ290byB2YXJpYWJsZSBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNTcKCjIwMTUtMDgtMTggMTQ6MTY6MTEgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNyZWF0ZSBzcmMgcGFkcyBmb3Igc3VidGl0bGUgc3RyZWFtcy4KCSAgQ3JlYXRlIHNyYyBwYWRzIGZvciBSZXByZXNlbnRhdGlvbnMgdGhhdCBjb250YWluIHRpbWVkLXRleHQgc3VidGl0bGVzLAoJICBib3RoIHdoZW4gdGhlIHN1YnRpdGxlcyBhcmUgZW5jYXBzdWxhdGVkIGluIElTTyBCTUZGIChpLmUuLCB0aGUKCSAgUmVwcmVzZW50YXRpb24gaGFzIG1pbWVUeXBlICJhcHBsaWNhdGlvbi9tcDQiKSBhbmQgd2hlbiB0aGV5IGFyZQoJICB1bmVuY2Fwc3VsYXRlZCAoaS5lLiwgdGhlIFJlcHJlc2VudGF0aW9uIGhhcyBtaW1lVHlwZQoJICAiYXBwbGljYXRpb24vdHRtbCt4bWwiKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzc3NAoKMjAxNS0wOS0yNiAwMDoxNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBnc3Rfc2VnbWVudF90b19wb3NpdGlvbigpCgoyMDE1LTA4LTMxIDE2OjEyOjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBmb3J3YXJkIFFPUyBldmVudHMgdG8gc2lua3BhZHMgdGhhdCBoYWQgbm8gYnVmZmVyIHlldAoJICBPdGhlcndpc2UgdGhleSB3aWxsIHJlY2VpdmUgYSBRT1MgZXZlbnQgdGhhdCBoYXMgZWFybGllc3RfdGltZT0wIChiZWNhdXNlIHdlCgkgIGNhbid0IGhhdmUgbmVnYXRpdmUgdGltZXN0YW1wcyksIGFuZCBjb25zaWRlciB0aGVpciBidWZmZXIgYXMgdG9vIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDM1NgoKMjAxNS0wOS0yMiAxNjoxNzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogSW1wbGVtZW50IGxhenktbG9hZGluZyBvZiBleHRlcm5hbCBwZXJpb2RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDktMjEgMjE6MDU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBMb2FkIE9uTG9hZCBleHRlcm5hbCByZXNvdXJjZXMgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBvbiBkZW1hbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOS0wOCAxMzozNjoyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEFkZCBzdXBwb3J0IGZvciBsb2FkaW5nIGV4dGVybmFsIFNlZ21lbnRMaXN0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTA4IDEzOjA0OjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHN1cHBvcnQgZm9yIGxvYWRpbmcgZXh0ZXJuYWwgQWRhcHRhdGlvblNldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjIzMAoKMjAxNS0wOC0yMSAxNjo0MDoxMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEltcGxlbWVudCBsb2FkaW5nIG9mIGV4dGVybmFsIFBlcmlvZCBub2RlcwoJICBUaGUgc2FtZSBoYXMgdG8gYmUgZG9uZSBmb3IgQWRhcHRhdGlvblNldCBhbmQgU2VnbWVudExpc3Qgbm9kZXMgc3RpbGwuCgkgIEFsc28gdGhpcyBkb2VzIG5vdCBjb3JyZWN0bHkgaW1wbGVtZW50IHRoZSBzZW1hbnRpY3M6IGJ5IGRlZmF1bHQgUGVyaW9kIChhbmQKCSAgb3RoZXIgbm9kZXMpIHNob3VsZCBvbmx5IGJlIGxvYWRlZCB3aGVuIG5lZWRlZCwgbm90IGluIHRoZSB2ZXJ5IGJlZ2lubmluZy4gV2UKCSAgbmVlZCB0byBpbXBsZW1lbnQgbGF6eSBsb2FkaW5nIGZvciB0aGVtLCB3aGljaCBtZWFucyBhZGp1c3RpbmcKCSAgZ3N0X21wZF9jbGllbnRfc2V0dXBfbWVkaWFfcHJlc2VudGF0aW9uKCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDgtMjEgMTI6MDY6MDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbXBkcGFyc2VyOiBTdG9yZSBhbiBVUkkgZG93bmxvYWRlciBpbiB0aGUgcGFyc2VyIGZvciBkb3dubG9hZGluZyBhZGRpdGlvbmFsIE1QRCByZXNvdXJjZXMgaWYgbmVlZGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIyMzAKCjIwMTUtMDctMTAgMTg6NTY6MjkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogUGFyc2UgeGxpbmsgYXR0cmlidXRlcyBmcm9tIFBlcmlvZCwgQWRhcHRhdGlvblNldCBhbmQgU2VnbWVudExpc3QKCSAgV2Ugc3RpbGwgaGF2ZSB0byBkbyBzb21ldGhpbmcgdXNlZnVsIHdpdGggdGhlbSwgbGlrZSBhY3R1YWxseSBsb2FkaW5nIHRoZQoJICBjb250ZW50IGJlaGluZCB0aGUgVVJMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMjMwCgoyMDE1LTA5LTE2IDIzOjM4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgaGFuZGxlIHJlbGF0aXZlIGFuZCBub24tSFRUUCBVUklzIGZvciB0aGUgaGVhZGVycy9pbmRpY2VzCgkgIGdzdF91cmlfam9pbl9zdHJpbmdzKCkgd2lsbCByZXR1cm4gdGhlIHNlY29uZCBwYXJhbWV0ZXIgaWYgaXQgaXMgYW4gYWJzb2x1dGUKCSAgVVJJLiBObyBuZWVkIHRvIGRvIGEgKHdyb25nKSBjaGVjayBpZiB0aGUgVVJJIGlzIGFic29sdXRlIG9yIG5vdCBiZWZvcmVoYW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTM0CgoyMDE1LTA5LTE2IDIzOjEyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogSWYgbm8gSW5pdGlhbGl6YXRpb24gaXMgcHJlc2VudCBpbiB0aGUgU2VnbWVudEJhc2UsIGFzc3VtZSBpdCBpcyBiZWZvcmUgdGhlIGluZGV4UmFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTEzMgoKMjAxNS0wOS0yNSAyMzo1MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMS42LjAgPT09CgoyMDE1LTA5LTI1IDIzOjMzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS42LjAKCjIwMTUtMDktMjUgMjM6MDE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wOS0yNSAxMDozMjowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHVzZSBHTF9FTEVNRU5UX0FSUkFZX0JVRkZFUiBmb3IgdmJvIGluZGljZXMKCSAgRml4ZXMgdGhpcyBlcnJvciB3aXRoIGNocm9taXVtIGdwdSBwcm9jZXNzOgoJICBHTF9JTlZBTElEX09QRVJBVElPTiwgZ2xCaW5kQnVmZmVyOiBidWZmZXIgYm91bmQgdG8gbW9yZSB0aGFuIDEgdGFyZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU2MTgKCjIwMTUtMDktMTcgMTQ6MTc6MDkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBmaXggdGV4dHVyZSBsZWFrIGluIF9nbF9tZW1fY29weQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDU2CgoyMDE1LTA5LTI0IDE4OjUxOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IE9ubHkgcnVuIGZyb20gdGhlIG1haW4gdGhyZWFkIGluIHN0b3AoKSBpZiB3ZSBjcmVhdGVkIHRoZSB3aW5kb3cKCSAgV2UncmUgbm90IGRvaW5nIGFueXRoaW5nIGF0IGFsbCBmcm9tIHRoZSBtYWluIHRocmVhZCBpbiBvdGhlciBjYXNlcy4KCjIwMTUtMDktMjQgMTU6NTI6NDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IFdoZW4gc2V0dGluZyBmb3JtYXQgY2hlY2sgaWYgcGVuZGluZyBmb3JtYXQgY2hhbmdlZAoJICBJbiBjYXNlIHRoZSBmb3JtYXQgY2hhbmdlZCBmYXN0IGFuZCB0aGUgcGVuZGluZyBmb3JtYXQgaXMgZGlmZmVyZW50CgkgIHRoYW4gdGhlIGN1cnJlbnRseSBzZXQgYnV0IHRoZSBjdXJyZW50bHkgc2V0IGlzIGVxdWFsIHRvIHRoZSBwZW5kaW5nCgkgIG9uZSB3ZSBjb3VsZCBlbmQgdXAgaGF2aW5nIG1pc21hdGNoIGJldHdlZW4gdGhlIGZpbmFsbHkgc2V0IGZvcm1hdAoJICBhbmQgdGhlIGRhdGEgc3RyZWFtIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTU0MgoKMjAxNS0wOS0yNCAxNTo1MToyOCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IERvIG5vdCBmb3JnZXQgdG8gcmVsZWFzZSBPQkpFQ1RfTE9DSyBvbiBlcnJvciBwYXRoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTU1NDIKCjIwMTUtMDktMjQgMTE6Mzc6MDQgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGt1dGlscy5jOgoJKiBleHQvZ3RrL2dzdGd0a3V0aWxzLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBGYWN0b3Igb3V0IGEgZnVuY3Rpb24gdG8gcnVuIGEgZnVuY3Rpb24gb24gbWFpbiB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI1MQoKMjAxNS0wOS0yNCAxMDo1MTozMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGs6IE1hcnNoYWxsIHN0YXRlIGNoYW5nZXMgaW4gdGhlIG1haW4gdGhyZWFkCgkgIEd0ayBpcyBub3QgTVQgc2FmZSB0aHVzIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRoYXQgZXZlcnl0aGluZyBpcyBkb25lCgkgIGluIHRoZSBtYWluIHRocmVhZCB3aGVuIHdvcmtpbmcgd2l0aCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI1MQoKMjAxNS0wOS0yMyAxNTo1NjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgYSBjbG9jayBlcG9jaCB0aGF0IGlzIHVzZWQgYXMgb2Zmc2V0IHdoZW5ldmVyIHJlc3RhcnRpbmcgdGhlIGNsb2NrCgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byByZXR1cm4gdGltZXMgc3RhcnRpbmcgYXQgMCBhZ2FpbiBhZnRlciBzaHV0dGluZyBkb3duCgkgIGFuIGVsZW1lbnQgZm9yIGEgc3BlY2lmaWMgaW5wdXQvb3V0cHV0IGFuZCB0aGVuIHVzaW5nIGl0IGFnYWluIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDI2CgoyMDE1LTA5LTIyIDE5OjM1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBEaXNhYmxlIGlucHV0cy9vdXRwdXRzIGluIFBBVVNFRC0+UkVBRFkgdG8gYWxsb3cgZ29pbmcgdG8gUEFVU0VEIGFnYWluIGZyb20gdGhlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQyNgoKMjAxNS0wOS0yMyAxMTo0Mjo1MSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiBEbyBub3Qgc2hvdyB3aW5kb3cgdW50aWwgd2UgcmVhY2ggdGhlIFBBVVNFRCBzdGF0ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1NDU5CgoyMDE1LTA5LTIyIDE0OjQzOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogT25seSBjaGVjayBzdHJlYW0tPnNlZ21lbnRzIGZvciBhIHJlcGVhdGVkIGxhc3Qgc2VnbWVudCBpZiB3ZSBoYXZlIGEgc3RhdGljIGxpc3Qgb2Ygc2VnbWVudHMKCSAgT3RoZXJ3aXNlIHdlJ2xsIGNyYXNoLCB0cnlpbmcgdG8gZGVyZWZlbmNlIE5VTEwuIEFuZCBpZiB3ZSBoYXZlIG5vIHN0YXRpYyBsaXN0CgkgIG9mIHNlZ21lbnRzLCB3ZSBjYW4ndCBoYXZlIHJlcGVhdGVkIHNlZ21lbnRzIGFueXdheS4KCSAgUmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNmZTI4NzFhNWUzYzViMWRiMjA0NzA5Mjc2NDJiNzc2ZTA1NWE4N2EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTQxMQoKMjAxNS0wOS0yMSAxOTowMjowOCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8Z2l0QGFydW5yYWdoYXZhbi5uZXQ+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IERyb3AgaW5jb3JyZWN0IHN0cmVhbS1mb3JtYXQ9ImF2YyIgaW4gdGVtcGxhdGUgY2FwcwoKMjAxNS0wOS0yMSAxMDo0NzoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJICBndGtzaW5rOiBEbyBub3QgcmUgZGVzdHJveSB0aGUgR3RrV2luZG93IGlmIGRlc3Ryb3llZCBieSB0aGUgdXNlcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBnZXQgYW4gQVNTRVJULgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MjQ5CgoyMDE1LTA5LTIxIDA4OjA0OjQwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBmaXggcmVuZGVyaW5nIHdpdGggcmVjZW50IHJlc2l6ZSBzdGF0ZSB0cmFja2luZwoJICA1NTdjYTZmZGE1ZjgzMWJlNGFiYTU4MTliZjdiMzBiMjk2ZTU3NWNkIGRpZG4ndCBjaGFuZ2UgdG8gdGhlCgkgIG5lY2Vzc2FyeSBnc3RfZ2xfd2luZG93X3Jlc2l6ZSgpIGNhbGwgZm9yIHRoZSBkaXNwbWFueCBiYWNrZW5kLgoKMjAxNS0wOS0xOSAxMTo0NjozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkgIGd0a2dsc2luazogSGlkZSBhbmQgY2xlYW4gdGhlIEd0a1dpbmRvdyB3ZSBtaWdodCBjcmVhdGUKCSAgV2hlbiBzdG9wcGluZyB0aGUgc2luayB3ZSBzaG91bGQgYWx3YXlzIGhpZGUgdGhlIHdpbmRvdy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTI0OQoKPT09IHJlbGVhc2UgMS41LjkxID09PQoKMjAxNS0wOS0xOCAxOTo1MTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkxCgoyMDE1LTA5LTE4IDE5OjMxOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDktMTggMTg6MDA6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBPbmx5IHNraXAgdGhlIHJlbWFpbmluZyBwYXJ0IG9mIGEgR0FQIGJ1ZmZlcgoJICBXZSBtaWdodCd2ZSBxdWV1ZWQgdXAgYSBHQVAgYnVmZmVyIHRoYXQgaXMgb25seSBwYXJ0aWFsbHkgaW5zaWRlIHRoZSBjdXJyZW50CgkgIG91dHB1dCBidWZmZXIgKGkuZS4gd2UgcmVjZWl2ZWQgaXQgdG9vIGxhdGUhKS4gSW4gdGhhdCBjYXNlIHdlIHNob3VsZCBvbmx5CgkgIHNraXAgdGhlIHBhcnQgb2YgdGhlIEdBUCBidWZmZXIgdGhhdCBpcyBpbnNpZGUgdGhlIGN1cnJlbnQgb3V0cHV0IGJ1ZmZlciwgbm90CgkgIGFsc28gdGhlIHJlbWFpbmluZyBwYXJ0LiBPdGhlcndpc2Ugd2UgZm9yd2FyZCB0aGlzIHBhZCB0b28gZmFyIGludG8gdGhlIGZ1dHVyZQoJICBhbmQgYnJlYWsgc3luY2hyb25pemF0aW9uLgoKMjAxNS0wOS0xOCAyMToxNDo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRpc2FibGUgdGhlIHRleHR1cmUgY2FjaGUgb24gT1NYCgkgIFRoaXMgYSB3b3JrYXJvdW5kIHVudGlsIHRoZSBpbmNvbXBhdGliaWxpdHkgd2l0aCBDVk9wZW5HTFRleHR1cmVDYWNoZQoJICBhbmQgb3BlbmdsMyBjb250ZXh0cyBpcyBmaXhlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc4NgoKMjAxNS0wOS0xNyAxOTo0MjozNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogS2VlcCBhdCBsZWFzdCB0d28gYnVmZmVycyBpbiB0aGUgcXVldWUgaW4gbGl2ZSBtb2RlCgkgIFdoZW4gaW4gbGl2ZSBtb2RlLCB0aGUgcXVldWUgbmVlZHMgdG8gaG9sZCB0aGUgY3VycmVudGx5IHByb2Nlc3NlZAoJICBidWZmZXIgYW5kIG9uZSBtb3JlIGF0IGxlYXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0ODUxCgoyMDE1LTA5LTE4IDExOjU1OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vemhfQ04ucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE1LTA5LTE4IDE1OjI4OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZ3N0LWluZGVudCBmaWxlCgoyMDE1LTA5LTE3IDE5OjU2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogcGdzOiBmaXggcHJpbnRmIGZvcm1hdC9hcmd1bWVudCBtaXNtYXRjaCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIHdoZW4gZXh0cmEgZGVidWdnaW5nIGlzIGVuYWJsZWQgYXQgY29tcGlsZSB0aW1lLgoKMjAxNS0wOS0xNyAxNzo1NDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVucHJlZml4IFNUQVRJU1RJQ1NfTUVTU0FHRV9OQU1FIGFmdGVyIGFsbAoJICBJdCB3YXMgb25seSBhZGRlZCBkdXJpbmcgMS41Lnggc28gd2UgbWlnaHQganVzdCBhcyB3ZWxsIHJlbW92ZSBpdAoJICBpbW1lZGlhdGVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDY4NgoKMjAxNS0wOS0wNyAxNjo1NzowNSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHByZWZpeCB0aGUgc3RhdGlzdGljcyBtZXNzYWdlIG5hbWUgbWFjcm8KCSAgS2VlcCBvbGQgZGVmaW5lIGFyb3VuZCBmb3Igbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0Njg2CgoyMDE1LTA5LTE4IDAwOjEwOjEwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogSG9vayB1cCB0aGUgcmVjZW50bHkgYWRkZWQgY2hhbmdlX3N0YXRlIHZmdW5jLgoJICBUaGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHdhcyBpbXBsZW1lbnRlZCwgYnV0IG5vdCBpbnN0YWxsZWQsCgkgIG1ha2luZyB0aGUgY29tcGlsZXIgY29tcGxhaW4gYWJvdXQgdGhlIHVudXNlZCBmdW5jdGlvbi4KCjIwMTUtMDktMTggMDA6MjA6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvbWl4LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBEb24ndCB0aHJvdyBjb21waWxlciB3YXJuaW5ncyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCSAgRGlzYWJsZSBjb2RlIHRoYXQgd2FybnMgYWJvdXQgdW51c2VkIHZhcmlhYmxlcyB3aGVuIEdfRElTQUJMRV9BU1NFUlQKCSAgaXMgZGVmaW5lZCwgYXMgaXQgaXMgaW4gdGFyYmFsbHMgYW5kIHByZS1yZWxlYXNlcy4KCjIwMTUtMDktMTcgMjI6MTc6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FvcGVuZ2xsYXllcjogZml4IG5vbi1leGlzdGVudCBzZWxlY3RvciB3YXJuaW5nCgkgIDU1N2NhNmZkYTVmODMxYmU0YWJhNTgxOWJmN2IzMGIyOTZlNTc1Y2QgaW50cm9kdWNlZCB0aGUgcXVldWVSZXNpemUKCSAgY2FsbCB3aXRob3V0IGltcGxlbWVudGluZyB0aGUgc2VsZWN0b3IKCjIwMTUtMDktMTcgMjE6MzE6MzkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBGaXggZ19yZXR1cm5fdmFsX2lmX2ZhaWwgaW4gYSB2b2lkIGZ1bmN0aW9uCgoyMDE1LTA5LTE3IDE1OjA2OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhL3Z0ZGVjOiBmaXggbmVnb3RpYXRpb24gZXJyb3JzIHdoZW4gcmVzaXppbmcgZ2xpbWFnZXNpbmsKCSAgR3N0VmlkZW9EZWNvZGVyIGhhcyBpdHMgb3duIGxvZ2ljIGZvciBkZXRlY3Rpbmcgd2hlbiB0byByZWNvbmZpZ3VyZQoJICB3aGljaCB1bHRpbWF0ZWx5IGNhbGxzIGRlY2lkZV9hbGxvY2F0aW9uIGFuZCByZXN1bHRzIGluIGEgbmV3CgkgIHRleHR1cmUgY2FjaGUgdGhhdCBoYXMgbm90IGJlZW4gY29uZmlndXJlZCBmcm9tIG91ciByZWNvbmZpZ3VyZSBjaGVjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTE1NgoKMjAxNS0wOS0xNyAxNzoyMjo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiByZXF1ZXN0IGEgcmVzaXplIG9uIGNhcHMvM2QgbW9kZSBjaGFuZ2VzCgkgIEZpeGVzIGluY29ycmVjdCBhc3BlY3QgcmF0aW8gb24gT1NYIHdoZW4gY2hhbmdpbmcgY2FwcyBvciB0aGUgM2QKCSAgb3V0cHV0IG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxMTEKCjIwMTUtMDktMTcgMTc6MDY6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIGdsd2luZG93OiBhZGQgQVBJIHRvIHJlcXVlc3QgYSByZXNpemUgZXZlbnQgb24gdGhlIG5leHQgZHJhdwoJICAtIGdsaW1hZ2VzaW5rIG5lZWRzIHRvIGJlIGFibGUgdG8gcmVzaXplIHRoZSB2aWV3cG9ydCBvbiBhc3BlY3QgcmF0aW8KCSAgY2hhbmdlcyByZXN1bHRpbmcgZnJvbSBlaXRoZXIgY2FwcyBjaGFuZ2VzIG9yIDNkIG91dHB1dCBtb2RlIGNoYW5nZXMuCgkgIC0gUGVyZm9ybWluZyBhIGdsVmlld3BvcnQgb3V0c2lkZSB0aGUgR3N0R0xXaW5kb3c6OnJlc2l6ZSBjYWxsYmFjawoJICB3aWxsIG5vdCBoYXZlIHRoZSB3aW5zeXMnIHN0YWNrIG9mIHZpZXdwb3J0cyByZXF1aXJlZCB0byBjb3JyZWN0bHkKCSAgcGxhY2UgdGhlIG91dHB1dCBmcmFtZS4KCSAgUHJvdmlkZSBhIGZ1bmN0aW9uIHRvIHJlcXVlc3QgYSByZXNpemUgb24gdGhlIG5leHQgZHJhdyBldmVudCBmcm9tIHRoZQoJICB3aW5zeXMuCgkgIEFsc28gdHJhY2sgc2l6ZSBjaGFuZ2VzIGluc2lkZSB0aGUgYmFzZSBHc3RHTFdpbmRvdyBjbGFzcyByYXRoZXIKCSAgdGhhbiBpbiBlYWNoIHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTExCgoyMDE1LTA5LTE3IDE2OjU1OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsL3VwbG9hZGVsZW1lbnQ6IGZhaWwgZWFybGllciBpZiB3ZSBjb3VsZCBub3QgdXBsb2FkIHRoZSBidWZmZXIKCjIwMTUtMDktMTcgMTY6MDU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3gxMTogc3RvcmUgdGhlIGNvcnJlY3QgZGltZW5zaW9uIGZyb20gdGhlIHJlc2l6ZSBldmVudHMKCSAgc21hbGwgdHlwbyBzL3dpZHRoL2hlaWdodC8KCjIwMTUtMDktMTcgMTM6NDc6MjMgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJICBhdmR0cHV0aWw6IGZpeCBHRXJyb3IgbWVtb3J5IGxlYWsgZHVyaW5nIGZhaWx1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUxNDIKCjIwMTUtMDktMTcgMTM6MzU6MDIgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBGaXggR0Vycm9yIGxlYWtzIGR1cmluZyBmYWlsdXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MTQwCgoyMDE1LTA5LTE2IDAwOjE5OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJICBpbnRlcnZpZGVvc2luazogcmVuZGVyIHByZXJvbGwgZnJhbWVzIGFzIHdlbGwKCSAgRGVyaXZlIGZyb20gR3N0VmlkZW9TaW5rIHNvIHRoYXQgcHJlcm9sbCBmcmFtZXMgd2lsbCBhdXRvbWF0aWNhbGx5CgkgIGdldCByZW5kZXJlZCB0b28sIHVubGVzcyB0aGUgc2hvdy1wcmVyb2xsLWZyYW1lIHByb3BlcnR5IGlzIHNldCB0bwoJICBGQUxTRS4gRml4ZXMgaW50ZXJ2aWRlb3NyYyBvbmx5IHBpY2tpbmcgdXAgZnJhbWVzIGlmIGludGVydmlkZW9zaW5rCgkgIGlzIGluIFBMQVlJTkcgc3RhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDkKCjIwMTUtMDktMTcgMDA6MDE6NTggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uLgoJICBGaXggdGhlIG5lZ290aWF0aW9uIG9mIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uIGJ5IGNoZWNraW5nCgkgIGludGVyc2VjdGlvbiB3aXRoIHRoZSBwZWVyIGNhcHMsIHJhdGhlciB0aGFuIGp1c3QgYWNjZXB0LWNhcHMsCgkgIHdoaWNoIG1pZ2h0IG9ubHkgY2hlY2sgdGhlIHBhZCB0ZW1wbGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NTExMwoKMjAxNS0wOS0wOSAxNDo0OToxNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBzdXBwb3J0IGZvciBuZWdhdGl2ZSByZXBlYXQgY291bnQgaW4gc2VnbWVudHMKCSAgSW1wbGVtZW50cyBuZWdhdGl2ZSByZXBlYXQgc2VnbWVudCBmaWVsZHMsIGRlZmluZWQgaW4gNS4zLjkuNi4xLgoKMjAxNS0wOS0wOCAxNToxNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogcHJvcGVybHkgcmVhZCBzaWduZWQgciB2YWx1ZXMgZm9yIFMgZWxlbWVudHMKCSAgVGhlIHNwZWMgZGVmaW5lcyB0aGVzZSBhcyBzaWduZWQgaW4gNS4zLjkuNi4xLgoJICBTaW5jZSB3ZSBkb24ndCBzdXBwb3J0IHRoaXMgYmVoYXZpb3IsIHdhcm4gYW5kIGRlZmF1bHQgdG8gMAoJICAobm9uIHJlcGVhdGluZyksIHdoaWNoIGlzIHRoZSBzcGVjJ3MgZGVmYXVsdCB3aGVuIHRoZSB2YWx1ZQoJICBpcyBub3QgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ4MAoKMjAxNS0wOS0wOSAxMTowNTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbWRwcGFyc2VyOiBjYXRjaCBmYWlsdXJlcyB0byBwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTE2IDE3OjI4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBhdm9pZCB1cGRhdGluZyB0aGUgdmlld3BvcnQgaW4gdGhlIGRyYXcgbG9vcAoJICBGaXhlcyBmbGFzaGVzL2luY29ycmVjdCBhc3BlY3QgcmF0aW8gd2hlbiByZXNpemluZyBnbGltYWdlc2luayBvbiBPU1guCgoyMDE1LTA5LTE1IDIxOjUwOjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggcGxheWJhY2sgb2YgbGl2ZSBzdHJlYW1zCgkgIGRhc2hkZW11eCBzZWVrcyBlYWNoIGxpdmUgc3RyZWFtIHRvIGl0cyBjdXJyZW50IGZyYWdtZW50IGluIHRoZSBiZWdpbm5pbmcsIGJ1dAoJICB0aGUgYmFzZSBjbGFzcyBkb2VzIG5vdCBrbm93IGFib3V0IHRoaXMuIFVwZGF0ZSB0aGUgZGVtdXhlciBzZWdtZW50IHdpdGggdGhpcwoJICBzZWVrIHNvIHdlIGdlbmVyYXRlIHRoZSBjb3JyZWN0IFNFR01FTlQgZXZlbnQgYW5kIGNhbiBhY3R1YWxseSBwbGF5IHRoZQoJICBzdHJlYW0uCgkgIFRoaXMgbmVlZHMgc29tZSByZWZhY3RvcmluZyBhdCBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQ3CgoyMDE1LTA5LTE1IDE1OjM5OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHJlbW92ZSBjaGVjayBmb3IgbnVtYmVyIG9mIGNoYW5uZWxzCgkgIG9wdXMgZGVjb2RlciBjYW4gY29udmVydCBmcm9tIGRpZmZlcmVudCBudW1iZXIgb2YgY2hhbm5lbHMsIG5vCgkgIG5lZWQgdG8gY2hlY2ssIGp1c3QgbGV0IGl0IG5lZ290aWF0ZSBhbmQgY3JlYXRlIGEgbmV3IGRlY29kZXIgaWYKCSAgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDU5CgoyMDE1LTA5LTE1IDEwOjAwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IE9ubHkgb3ZlcndyaXRlIGxhc3QgcmV0dXJuIGlmIGl0IHdhcyBPSwoJICBQcmV2ZW50cyBvdmVyd3JpdGluZyBvdGhlciBjb25kaXRpb25zIHRoYXQgd291bGQgYmUgbW9yZSBpbXBvcnRhbnQsCgkgIHN1Y2ggYXMgRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDQyCgoyMDE1LTA5LTE1IDA5OjU4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggcmV0dXJuIHdoZW4gdHJ5aW5nIHRvIGFkdmFuY2UgaW4gc3ViZnJhZ21lbnRlZCBzdHJlYW0KCSAgRXZlbiBpZiBpdCBkb2Vzbid0IGFjdHVhbGx5IGFkdmFuY2UgdGhlIHN1YmZyYWdtZW50IGluIHRoZSBkZWZhdWx0IHdheQoJICBmb3Igc3RyZWFtcyB0aGF0IGhhdmUgc3ViZnJhZ21lbnRzLCBpdCBjYW4gaGVscCB0aGUgYmFzZSBjbGFzcyB0byByZXR1cm4KCSAgRU9TIHdoZW4gdGhlcmUgaXMgbm8gbW9yZSBmcmFnbWVudHMgaW5zdGVhZCBvZiBzaWduYWxpbmcgaXQgdGhhdCBpdCBzaG91bGQKCSAgY29udGludWUgZG93bmxvYWRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTUwNDIKCjIwMTUtMDktMTUgMTE6MzQ6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogYnVmZmVycG9vbCB0YWtlIGludG8gYWNjb3VudCB2aWRlbyBzdHJpZGUgYWxpZ25tZW50IHJlcXVpcmVtZW50cwoJICB3aGVuIGFsbG9jYXRpbmcgbWVtb3J5LiBGaXhlcyBjcmFzaGVzIHdpdGggYXZkZWNfaDI2NSBpbiB0aGUgQVZYMgoJICBjb2RlIHBhdGggd2hpY2ggcmVxdWlyZXMgMzItYnl0ZSBzdHJpZGUgYWxpZ25tZW50LCBidXQgdGhlCgkgIEdzdEFsbG9jYXRpb25QYXJhbXMgb25seSBzcGVjaWZpZWQgYSAxNi1ieXRlIGFsaWdubWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDEyMAoKMjAxNS0wOS0xNSAxMzo0MDo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBTZXQgc2VxbnVtIG9uIG5ld2x5IGNyZWF0ZWQgc2VnbWVudCBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU1MDEyCgoyMDE1LTA5LTExIDIxOjM3OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogRml4IG1peHVwIG9mIHJ1bm5pbmcgdGltZXMgYW5kIHNlZ21lbnQgcG9zaXRpb25zCgkgIFdlIGhhdmUgdG8gcXVldWUgYnVmZmVycyBiYXNlZCBvbiB0aGVpciBydW5uaW5nIHRpbWUsIG5vdCBiYXNlZCBvbgoJICB0aGUgc2VnbWVudCBwb3NpdGlvbi4KCSAgQWxzbyByZXR1cm4gcnVubmluZyB0aW1lIGZyb20gR3N0QWdncmVnYXRvcjo6Z2V0X25leHRfdGltZSgpIGluc3RlYWQgb2YKCSAgYSBzZWdtZW50IHBvc2l0aW9uLCBhcyByZXF1aXJlZCBieSB0aGUgQVBJLgoJICBBbHNvIG9ubHkgdXBkYXRlIHRoZSBzZWdtZW50IHBvc2l0aW9uIGFmdGVyIHdlIHB1c2hlZCBhIGJ1ZmZlciwgb3RoZXJ3aXNlCgkgIHdlJ3JlIGdvaW5nIHRvIHB1c2ggZG93biBhIHNlZ21lbnQgZXZlbnQgd2l0aCB0aGUgbmV4dCBwb3NpdGlvbiBhbHJlYWR5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTk2CgoyMDE1LTA5LTExIDE2OjU2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogVXNlIHN0cmVhbSB0aW1lIGluIHRoZSBwb3NpdGlvbiBxdWVyeSBpbnN0ZWFkIG9mIHNlZ21lbnQgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzE5NgoKMjAxNS0wOS0xMSAxMjoyMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGaXggbWl4dXAgb2YgcnVubmluZyB0aW1lcyBhbmQgc2VnbWVudCBwb3NpdGlvbnMKCSAgV2UgaGF2ZSB0byBxdWV1ZSBidWZmZXJzIGJhc2VkIG9uIHRoZWlyIHJ1bm5pbmcgdGltZSwgbm90IGJhc2VkIG9uCgkgIHRoZSBzZWdtZW50IHBvc2l0aW9uLgoJICBBbHNvIHJldHVybiBydW5uaW5nIHRpbWUgZnJvbSBHc3RBZ2dyZWdhdG9yOjpnZXRfbmV4dF90aW1lKCkgaW5zdGVhZCBvZgoJICBhIHNlZ21lbnQgcG9zaXRpb24sIGFzIHJlcXVpcmVkIGJ5IHRoZSBBUEkuCgkgIEFsc28gb25seSB1cGRhdGUgdGhlIHNlZ21lbnQgcG9zaXRpb24gYWZ0ZXIgd2UgcHVzaGVkIGEgYnVmZmVyLCBvdGhlcndpc2UKCSAgd2UncmUgZ29pbmcgdG8gcHVzaCBkb3duIGEgc2VnbWVudCBldmVudCB3aXRoIHRoZSBuZXh0IHBvc2l0aW9uIGFscmVhZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMTEgMTI6MjE6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IHRoYXQgZ2V0X25leHRfdGltZSgpIHNob3VsZCByZXR1cm4gcnVubmluZyB0aW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxOTYKCjIwMTUtMDktMDMgMTQ6MjA6MDAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgbXBkcGFyc2VyOiBEb24ndCBjb25zaWRlciBwZXJpb2Qgc3RhcnQgdGltZXMgaW4gcGVyaW9kcyB3aXRoIHNlZ21lbnQgbGlzdHMgZWl0aGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDMgMTA6MjY6MDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEZpeCB1bml0IHRlc3QgdGhhdCBhc3N1bWVkIHRoYXQgZnJhZ21lbnQgdGltZXN0YW1wcyBzaG91bGQgaW5jbHVkZSB0aGUgcGVyaW9kIHN0YXJ0IHRpbWVzdGFtcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MjIyCgoyMDE1LTA5LTAyIDE4OjMzOjUxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBFeHBvcnQgdGhlIHBlcmlvZCBzdGFydCB0aW1lIHRvIHRoZSBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDIgMTg6Mjk6NDMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogUHJvcGVybHkgaW1wbGVtZW50IHRpbWVzdGFtcGluZyBvZiBtdWx0aS1wZXJpb2Qgc3RyZWFtcwoJICBFYWNoIHBlcmlvZCB3aWxsIHN0YXJ0IGFnYWluIHdpdGggcHRzIDAgKyBwZXJpb2QgcHJlc2VudGF0aW9uIG9mZnNldCwgd2hpY2ggaXMKCSAgYWxzbyBnb2luZyB0byBiZSB0aGUgcHJlc2VudGF0aW9uIHRpbWUgaW5zaWRlIHRoZSBjb250YWluZXIgc3RyZWFtIGlmIGFueS4KCSAgSG93ZXZlciBhbGwgcGVyaW9kcyB0b2dldGhlciBzaG91bGQgZm9ybSBhIGNvbnRpbnVvdXMgdGltZWxpbmUsIHdpdGggcmVnYXJkIHRvCgkgIHN0cmVhbSB0aW1lIGFuZCBydW5uaW5nIHRpbWUuCgkgIEZvciBtYWtpbmcgdGhpcyBwb3NzaWJsZSB3ZSBrZWVwIHRyYWNrIG9mIHRoZSAidXNlciByZXF1ZXN0ZWQgc2VnbWVudCIsIGkuZS4KCSAgdGhlIHNlZWsgZXZlbnRzLCBpbnNpZGUgdGhlIGRlbXV4ZXIgd2l0aG91dCBhZGp1c3RpbmcgYW55dGhpbmcgYW5kIHRha2luZyB0aGlzCgkgIGRlbXV4ZXIgc2VnbWVudCBvbmx5IGFzIG9yaWVudGF0aW9uIGZvciBtb2RpZmllZCBzZWdtZW50cyBwZXIgc3RyZWFtLgoJICBUaGlzIHBlciBzdHJlYW0gc2VnbWVudHMgd2lsbCBoYXZlIHRoZWlyIHNlZ21lbnQuc3RhcnQgYXQgcHRzIHRoYXQgd291bGQgYmUKCSAgcHJvZHVjZWQgZm9yIHRoaXMgc3RyZWFtIGluIHRoaXMgcGVyaW9kLCBhbmQgdGhlIHNlZ21lbnQuYmFzZS90aW1lIGFkanVzdGVkIHNvCgkgIHRoYXQgdGhpcyBwdHMgbWFwcyB0byB0aGUgcnVubmluZyBhbmQgc3RyZWFtIHRpbWUgdGhpcyBwZXJpb2Qgc2hvdWxkIGhhdmUgaW4KCSAgdGhlIGNvbnRleHQgb2YgYWxsIG90aGVyIHBlcmlvZHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQyMjIKCjIwMTUtMDktMDEgMTM6MTM6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgUmV2ZXJ0ICJkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBmcm9tIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDYyNmE4ZjBhNzRmOGVhNzQ4YjgxMWI3NGJhOWU3YWUyYmFlYTJjY2EuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIGdldCB0aGUgcGxhaW4gcHJlc2VudGF0aW9uIG9mZnNldCBhbmQgdGhlIHBlcmlvZCBzdGFydCB0aW1lCgkgIHNlcGFyYXRlbHkuIFdlIGhhdmUgdG8gYWRqdXN0IHRoZSB0aW1lc3RhbXAgYnkgdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQsIGJ1dAoJICB0aGUgcGVyaW9kIHN0YXJ0IHRpbWUgc2hvdWxkIG9ubHkgYWRqdXN0IHRoZSBzdHJlYW0gdGltZSBhbmQgcnVubmluZyB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDA5CgoyMDE1LTA5LTAxIDEzOjEyOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBJbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgaW4gdGhlIGZyYWdtZW50IHRpbWVzdGFtcHMgaW4gYWxsIGNhc2VzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2NzFhZDI1YTk4OWNiMjFjNjJjN2E1ODY3YzIwOTA4OTBjZTQ5YmEuCgkgIFRoZSB0aW1lc3RhbXBzIHNob3VsZCByZXN0YXJ0IGF0IDAgYWdhaW4gZm9yIGVhY2ggcGVyaW9kLCBidXQgd2UgaGF2ZSB0bwoJICBhZGp1c3QgdGhlIHNlZ21lbnQgdG8gbWFwIHRob3NlIHRpbWVzdGFtcHMgdG8gdGhlIGFjdHVhbCBzdHJlYW0gdGltZSBhbmQKCSAgcnVubmluZyB0aW1lIG9mIHRoYXQgcGVyaW9kLgoJICBPdGhlcndpc2Ugd2Ugd291bGQgaGF2ZSB0aW1lc3RhbXBzIHRoYXQgY29uZmxpY3Qgd2l0aCB0aGUgb25lcyBmcm9tIHRoZSB0ZmR0CgkgIGluc2lkZSB0aGUgTVA0IGNvbnRhaW5lciwgd2hpY2ggYXJlIHJlc3RhcnRpbmcgYXQgMCBmb3IgZWFjaCBwZXJpb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MDkKCjIwMTUtMDktMTQgMTk6MDM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBDb25zaWRlciB0aGUgcmVwZWF0IGNvdW50IHdoZW4gY2hlY2tpbmcgaWYgYSBzZWdtZW50IGlzIHRoZSBsYXN0IG9uZQoJICBPdGhlcndpc2Ugd2UgcGxheSBvbmx5IHRoZSBmaXJzdCByZXBldGl0aW9uIG9mIHRoZSBsYXN0IHNlZ21lbnQgYW5kIHRoZW4gRU9TLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDgwCgoyMDE1LTA5LTE0IDEzOjU2OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbHNvIGNoZWNrIGZvciBzdWJmcmFnbWVudHMgb24gaGFzX25leHRfZnJhZ21lbnQKCSAgSW4gZGFzaCBpc29tYmZmIHByb2ZpbGUgdGhlIGZyYWdtZW50IGlzIHNwbGl0IGludG8gc3ViZnJhbWVudHMgd2hlcmUKCSAgYml0cmF0ZSBzd2l0Y2hpbmcgaXMgcG9zc2libGUuIEFsc28gdGFrZSB0aGF0IGludG8gY29uc2lkZXJhdGlvbgoJICB3aGVuIGNoZWNraW5nIGlmIGEgc3RyZWFtIGhhcyBuZXh0IGZyYWdtZW50cy4KCjIwMTUtMDktMTEgMTE6MjI6MzUgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBpbXByb3ZlIGRlcHJlY2F0ZWQgcHJvcGVydGllcyBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MTkKCjIwMTUtMDktMTEgMTE6MTE6MDkgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgdGhyb3cgZ193YXJuaW5nIHdoZW4gZ2V0dGluZyBkZXByZWNhdGVkIHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgxOQoKMjAxNS0wOS0wOSAxOTo1MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgcXVlcnkgdG8gcHJvcGVybHkgaGFuZGxlIGFscGhhIGZvcm1hdHMKCSAgT25seSBhY2NlcHQgYWxwaGEgaWYgZG93bnN0cmVhbSBoYXMgYWxwaGEgYXMgd2VsbC4gSXQgY291bGQKCSAgdGhlb3JldGljYWxseSBhY2NlcHQgYWxwaGEgdW5jb25kaXRpb25hbGx5IGlmIGJsZW5kaW5nIGlzCgkgIHByb3Blcmx5IGltcGxlbWVudGVkIGZvciBoYW5kbGUgaXQgYnV0IGF0IHRoZSBtb21lbnQgdGhpcwoJICBpcyBhIG1pc3NpbmcgZmVhdHVyZS4KCSAgSW1wcm92ZXMgdGhlIGNhcHMgcXVlcnkgYnkgYWxzbyBjb21wYXJpbmcgd2l0aCB0aGUgdGVtcGxhdGUKCSAgY2FwcyB0byBmaWx0ZXIgYnkgd2hhdCB0aGUgc3ViY2xhc3Mgc3VwcG9ydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ0NjUKCjIwMTUtMDktMTIgMDA6NTE6NTIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIHZ0ZGVjOiBVc2UgUi9SRyB0ZXh0dXJlcyBmb3IgTlYxMiB3aGVuIHRoZSBjb250ZXh0IHByb3ZpZGVzIHRoZW0KCSAgRml4ZXMgcGxheWJhY2sgdG8gR0wgbWVtb3J5IG9uIGlPUywgd2hlcmUgdGhlIGNvbG91cnMgYXJlIG1lc3NlZAoJICB1cCBieSBwYXNzaW5nIEx1bWluYW5jZS9MdW1pbmFuY2VBbHBoYSB0ZXh0dXJlcyB3aGVyZQoJICBjb2xvciBjb252ZXJ0IGV4cGVjdHMgUi9SRyB0ZXh0dXJlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDUwNAoKMjAxNS0wOS0wOCAxNzoxNzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUHJlZmVyIEdMIG91dHB1dCBjYXBzLgoJICBQcmVmZXIgR0wgY2FwcyBieSBwdXR0aW5nIHRoZW0gZmlyc3QgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBhbmQKCSAgaW50ZXJzZWN0aW5nIHVzaW5nIEdTVF9DQVBTX0lOVEVSU0VDVF9GSVJTVC4KCjIwMTUtMDktMTAgMTk6MDI6MTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IEZpeCB0aGUgc2VsZWN0aW9uIG9mIEFjdGl2ZSBSZWYgUGljIFNldAoJICBJZiBzaG9ydF90ZXJtX3JlZl9waWNfc2V0X3Nwc19mbGFnIGlzIEZBTFNFLCB0aGUgU2hvcnRUZXJtUmVmUGljU2V0CgkgIHN0cnVjdHVyZSBpcyBzdXBwb3NlZCB0byBkZXJpdmUgZnJvbSBzbGljZSBoZWFkZXIuIFdoaWNoIG1lYW5zLAoJICBDdXJyUnBzSWR4IGlzIGVxdWFsIHRvIG51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0cy4gQnV0IHRoZSBudW1iZXIKCSAgb2YgcmVmcGljc2V0cyBjb21tdW5pY2F0ZWQgdmlhIHNwcyBoZWFkZXIgaXMgb25seSBudW1fc2hvcnRfdGVybV9yZWZfcGljX3NldHMgLSAxLgoJICBBbmQgd2UgYXJlIHVzaW5nIHNsaWNlX2hlYWRlciBzdHJ1Y3R1cmUgdG8gcmVmZXJlbmNlIHRoZSBsYXN0IGVudHJ5LCB3aGljaCBpcwoJICBTaG9ydFRlcm1SZWZQaWNTZXRbbnVtX3Nob3J0X3Rlcm1fcmVmX3BpY19zZXRzXS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDgzNAoKMjAxNS0wOS0xMCAxNjoyODozMSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NSA6IEZpeCBkZWZhdWx0IHNjYWxpbmcgbGlzdCB2YWx1ZXMKCSAgRml4IHRoZSBkZWZhdWx0X3NjYWxpbmdfbGlzdCB2YWx1ZXMgYmFzZWQgb24gVGFibGUgNy02CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ4MzQKCjIwMTUtMDktMTAgMTQ6MTE6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogbGVzcy10aGFuLXplcm8gY29tcGFyaXNvbiBvZiBhbiB1bnNpZ25lZCB2YWx1ZSBpcyBuZXZlciB0cnVlCgkgIFVzZSB0aGUgY29ycmVjdCB0eXBlLCBHc3RDbG9ja1RpbWVEaWZmLCBpbnN0ZWFkLgoJICBDSUQgMTMyMzc0MgoKMjAxNS0wOS0xMCAwMDowNzoxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIGd0aywgcXQ6IG1vcmUgc3BlY2lmaWNhbGx5IGRlZmluZSB0aGUgY29tcGlsZSB0aW1lIHJlcXVpcmVtZW50cwoJICBPdGhlcndpc2Ugd2UgY291bGQgaW5jbHVkZSBoZWFkZXJzL2NvbmZpZ3VyYXRpb25zIHRoYXQgd2lsbAoJICBuZXZlciBiZWVuIGluc3RhbGxlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDczMgoKMjAxNS0wOS0wMiAyMzo0MjozNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZC9xdDogaW5kZW50IGNvbmZpZ3VyZSBmaWxlCgkgIGRvbid0IG1peCB0YWJzIGFuZCBzcGFjZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDQ2NgoKMjAxNS0wOS0xMCAwMDowMDoxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkgIHF0OiB1c2Ugb3VyIGZ1bmN0aW9uIHRhYmxlIGluc3RlYWQgb2YgZGlyZWN0bHkgY2FsbGluZyBnbCBmdW5jdGlvbnMKCSAgT3RoZXJ3aXNlIHdoZW4gYnVpbGRpbmcgd2l0aCAtLWFzLW5lZWRlZCB3ZSB3b3VsZCBuZWVkIHRvIGxpbmsgdG8KCSAgYSBHTCBvciBHTEVTIGxpYnJhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3MzIKCjIwMTUtMDktMDkgMjM6NTM6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbC9hcGk6IHVzZSBwdWJsaWMgcmF0aGVyIHRoYW4gcHJpdmF0ZSBkZWZpbmUKCSAgSEFWRV9JT1MgaXMgb25seSBkZWZpbmVkIGZvciB0aGUgYnVpbGQgb2YgdGhpcyBtb2R1bGUgc28KCSAgYXR0ZW1wdGluZyB0byB1c2UgZ3N0Z2wgaW4gaU9TIHdvdWxkIHJlc3VsdCBpbiBpbmNvcnJlY3QgR0wKCSAgaW5jbHVkZXMuCgkgIFVzZSBHU1RfR0xfSEFWRV9QTEFURk9STV9FQUdMIGluc3RlYWQgZm9yIGNob29zaW5nIHRoZSBpT1MgR0wKCSAgaGVhZGVyLgoKMjAxNS0wOS0wMyAxNjozNjo1NyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBIYW5kbGUgcGlwZWxpbmVzIHdoZXJlIHRoZSBydW5uaW5nIHRpbWUgZG9lcyBub3Qgc3RhcnQgYXJvdW5kIDAgcHJvcGVybHkKCSAgV2Ugd2VyZSBjb252ZXJ0aW5nIGFsbCB0aW1lcyB0byBvdXIgaW50ZXJuYWwgcnVubmluZyB0aW1lcywgdGhhdCBpcyB0aGUgdGltZQoJICB0aGUgc2luayBpdHNlbGYgc3BlbnQgaW4gUExBWUlORyBhbHJlYWR5LiBCdXQgZm9yZ290IHRvIGRvIHRoYXQgZm9yIHRoZQoJICBydW5uaW5nIHRpbWUgY2FsY3VsYXRlZCBmcm9tIHRoZSBidWZmZXIgdGltZXN0YW1wcy4gQXMgc3VjaCwgYWxsIGJ1ZmZlcnMgd2VyZQoJICBzY2hlZHVsZWQgbXVjaCBsYXRlciBpZiB0aGUgcGlwZWxpbmUncyBydW5uaW5nIHRpbWUgZGlkIG5vdCBzdGFydCBhdCAwLgoJICBUaGlzIGhhcHBlbnMgZm9yIGV4YW1wbGUgaWYgYSBiYXNlIHRpbWUgaXMgZXhwbGljaXRseSBzZXQgb24gdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0NTI4CgoyMDE1LTA5LTA3IDEzOjM2OjE5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IENvbnNpZGVyIHBpcGVsaW5lIGxhdGVuY3ksIHJlbmRlciBkZWxheSBhbmQgdHMgb2Zmc2V0IHdoZW4gc2NoZWR1bGluZyBmcmFtZXMKCSAgV2l0aG91dCB0aGlzLCB3ZSB3aWxsIHNjaGVkdWxlIGFsbCBmcmFtZXMgdG9vIGxhdGUgaW4gbGl2ZSBwaXBlbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ2NjYKCjIwMTUtMDktMDkgMTM6NTg6MDUgKzA5MDAgIEtvdWhlaSBTdXRvdSA8a291QGNsZWFyLWNvZGUuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBmaXggYnVpbGQgZXJyb3IgZm9yIDY0Yml0IFdpbmRvd3MgYnVpbGQgYnkgTWluR1cKCSAgQ2FzdGluZyB0byBVSU5UIGZyb20gSE1JWEVSIGdlbmVyYXRlcyB0aGUgZm9sbG93aW5nIHdhcm5pbmcgd2l0aAoJICA2NGJpdCBXaW5kb3dzIHRhcmdldCBNaW5HVzoKCSAgZ3N0ZGlyZWN0c291bmRzcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9kaXJlY3Rzb3VuZF9zcmNfbWl4ZXJfZmluZCc6CgkgIGdzdGRpcmVjdHNvdW5kc3JjLmM6NzMzOjMwOiBlcnJvcjogY2FzdCBmcm9tIHBvaW50ZXIgdG8gaW50ZWdlciBvZiBkaWZmZXJlbnQgc2l6ZSBbLVdlcnJvcj1wb2ludGVyLXRvLWludC1jYXN0XQoJICBtbXJlcyA9IG1peGVyR2V0RGV2Q2FwcyAoKFVJTlQpIGRzb3VuZHNyYy0+bWl4ZXIsCgkgIF4KCSAgY2MxOiBhbGwgd2FybmluZ3MgYmVpbmcgdHJlYXRlZCBhcyBlcnJvcnMKCSAgV2UgY2FuIHVzZSBwb3J0YWJsZSBHUE9JTlRFUl9UT19VSU5UKCkgbWFjcm8gZm9yIHRoaXMgcHJvcG9zZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NgoKMjAxNS0wOS0wOSAwOTozMzowMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGdsL2VhZ2w6IEFsc28gdW5iaW5kIHJlbmRlcmJ1ZmZlciBhZnRlciBzZXR0aW5nIHVwIGZyYW1lYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ3NTcKCjIwMTUtMDktMDkgMDk6Mjc6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBnbC9lYWdsOiBEb24ndCBtYWtlIGNvbnRleHQgdW5jdXJyZW50IGp1c3QgdG8gbWFrZSBpdCBjdXJyZW50IGFnYWluIGluIHRoZSBuZXh0IGxpbmUKCSAgQWxzbyBiaW5kaW5nIHRoZSBmcmFtZWJ1ZmZlciBhZ2FpbiBpcyB1bm5lY2Vzc2FyeSB0aGVuIGFzIGl0IHdhcyBqdXN0IGJvdW5kIGEKCSAgZmV3IGxpbmVzIGJlZm9yZSB3aGlsZSB0aGUgY29udGV4dCB3YXMgY3VycmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDc1NwoKMjAxNS0wOS0wNyAxMjowOTo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXggcGVyaW9kIHN0YXJ0IHRpbWUgc2NhbGluZwoJICBUaGlzIEdzdFN0cmVhbVBlcmlvZCBzdGFydCB2YWx1ZSBpcyBleHByZXNzZWQgaW4gbmFub3NlY29uZHMsCgkgIGFuZCB0aGUgZ2xpYiB0aW1lIGFkZGl0aW9uIGZ1bmN0aW9uIGV4cGVjdHMgbWljcm9zZWNvbmRzLgoJICBUaGVyZSBzZWVtcyB0byBoYXZlIGJlZW4gYSBjb25mdXNpb24gd2l0aCBHc3RQZXJpb2ROb2RlJ3Mgc3RhcnQKCSAgZmllbGQsIHdoaWNoIGlzIGV4cHJlc3NlZCBpbiBtaWxsaXNlY29uZHMuCgkgIEFkZGl0aW9uYWxseSwgYWRkIGEgd2FybmluZyBpZiB0aGUgdGltZXN0YW1wIG1vZGlmaWNhdGlvbiBkaWQKCSAgbm90IHN1Y2NlZWQsIGFuZCBOVUxMIHdhcyByZXR1cm5lZC4KCjIwMTUtMDktMDUgMjM6Mzg6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBBZGQgYml0cmF0ZSBpbmZvIHRvIHRoZSB0YWdzIG91dHB1dC4KCSAgTWFrZXMgaXQgcG9zc2libGUgZm9yIG11eGVycyB0byBrbm93IHRoZSB0YXJnZXQgYml0cmF0ZSBhcyBzb29uCgkgIGFzIGVuY29kaW5nIHN0YXJ0cywgd2hpY2ggZmx2bXV4IG5vdyB1c2VzLgoKMjAxNS0wOS0wNSAwMTo1MDo0MSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEVuc3VyZSBhbGwgYXJndW1lbnRzIHRvIENMQU1QIGFyZSBzaWduZWQgaW50CgkgIElmIGFueSBvZiB0aGUgYXJndW1lbnRzIHRvIENMQU1QIGFyZSB1bnNpZ25lZCBpbnRlZ2VycywgdGhlIGNvbXBhcmlzb24gY2F1c2VzCgkgIGFuIGF1dG9tYXRpYyBjb252ZXJzaW9uIG9mIHRoZSBzaWduZWQgaW50IHRvIHVuc2lnbmVkLCB3aGljaCBjYXVzZXMgLTEgdG8gYmVjb21lCgkgIFVJTlRfTUFYIGFuZCBnZXQgY2xhbXBlZCB0byB0aGUgaGlnaCB2YWx1ZSBvZiB0aGUgQ0xBTVAgaW5zdGVhZCBvZiAwLgoJICBTZWUgNzE2IGF0IGh0dHA6Ly9jMHguY29kaW5nLWd1aWRlbGluZXMuY29tLzYuMy4xLjguaHRtbAoJICBBbHNvIGFkZCBhIHRlc3QgZm9yIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQ1NzYKCjIwMTUtMDktMDQgMTU6NDM6NDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJICBndGs6IERvIG5vdCBjb25zaWRlciBHdGtFdmVudHMgYXMgaGFuZGxlZAoJICBBcHBsaWNhdGlvbnMgbWlnaHQgc3RpbGwgd2FudCB0byB1c2UgdGhlbQoJICBhZnRlciB0aGUgc2luayB0cmFuc2Zvcm1lZCB0aGVtIGludG8KCSAgR3N0TmF2aWdhdGlvbiBldmVudHMKCjIwMTUtMDktMDIgMTk6MTY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBsaWZ0IHJlc3RyaWN0aW9uIG9mIGNoYW5naW5nIHBpeGVsLWFzcGVjdC1yYXRpbwoJICBUaGUgdmlkZW9hZ2dyZWdhdG9yIGNhbiBjb252ZXJ0IFBBUiwgdGhlcmUgaXMgbm8gcmVhc29uIGZvcgoJICByZXN0cmljdGluZyBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDI5MQoKMjAxNS0wOC0wNyAxNzoyNzo0OCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJICBxbWxzaW5rOiBFbnN1cmUgdGhhdCBhdCBsZWFzdCBvbmUgd2luZG93aW5nIHN5c3RlbSBpcyBhdmFpbGFibGUKCSAgT3RoZXJ3aXNlLCB3ZSdsbCBqdXN0IGNyYXNoIGF0IHJ1bnRpbWUgYmVjYXVzZSB0aGUgZ2wgY29udGV4dCBpcyBOVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMDgKCjIwMTUtMDgtMjggMjA6MzM6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFJlc2V0IHN0YXRlIG9uIGZsdXNoIGFuZCBzdGF0ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMxNTIKCjIwMTUtMDgtMzEgMTg6MDY6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9xdC9nc3RxdHNpbmsuY2M6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ3RrLCBxdCwgZ2w6IGZpeCB0eXBvIGluIGRlYnVnIGFuZCBlcnJvciBtZXNzYWdlcwoKMjAxNS0wOC0yOCAyMzowNToyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBpZ25vcmUgc3RhcnQtdGltZSBvbiBzZWVrIGZyb20gZ3N0X2VsZW1lbnRfc2VuZF9ldmVudCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MDYKCjIwMTUtMDgtMjkgMTY6NTE6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogdmFyaWFibGVzIGluIGNsYW1wX3JlY3RhbmdsZSgpIHNob3VsZCBiZSBzaWduZWQKCSAgeC95L3cvaCBhcmUgc2lnbmVkIGludGVnZXJzLiBBcyBjYW4gYmUgc2VlbiBpbiBHc3RDb21wb3NpdG9yUGFkLgoJICBUaGUgcHJvdG90eXBlIGZvciBjbGFtcF9yZWN0YW5nbGUgd2FzIHdyb25nLiBUaGlzIGNvbW1pdCByZXZlcnRzIHRoZSBjaGFuZ2UKCSAgYW5kIGZpeGVzIHRoZSBwcm90b3R5cGUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYmNhNDQ0ZWE0YTg0YzM5ZTk5ODk2ODFmODkyZjZlNGNiMjAzM2NmOS4KCjIwMTUtMDgtMjggMTk6NTU6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvZHJpMl93cy5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL2ltZ19kZWZzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX3R5cGVzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvcHZyMmQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9zZXJ2aWNlc2V4dC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3dzZWdsLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIEZpeCBmaWxlIHBlcm1pc3Npb25zIG9mIHNvbWUgZmlsZXMKCjIwMTUtMDgtMjggMTU6MjE6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHJlbW92ZSBjaGVjayBmb3IgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdmFsdWUgaXMgJzwgMCcgYW5kICc+IG1heCcuIFZhbHVlIHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZQoJICBudW1iZXIgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZgoJICBpdCBpcyBiaWdnZXIgdGhhbiBtYXggYnkgdXNpbmcgTUlOKCkuCgkgIENJRCAxMzIwNzA3CgoyMDE1LTA4LTI4IDEzOjQyOjI5ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jcHA6CgkgIGVkZ2VkZXRlY3Q6IFJlbmFtZSBnc3RlZGdlZGV0ZWN0LmMgdG8gZ3N0ZWRnZWRldGVjdC5jcHAgZm9yIGNvbnNpc3RlbmN5LgoJICBDaGFuZ2UgdGhlIGZpbGUgZXh0ZW5zaW9uIHRvIGNwcCBhbmQgYWRkIGl0IGludG8gTWFrZWZpbGUgZm9yIGNvbnNpc3RlbmN5CgkgIHdpdGggb3RoZXIgZWxlbWVudHMgb2Ygb3BlbmN2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTQ4CgoyMDE1LTA4LTI3IDIxOjUxOjUyICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiByZW1vdmUgdW51c2VkIGFuZCB1c2VsZXNzIGZ1bmN0aW9ucy4KCSAgVGhlIGN2U21vb3RoIGN2Tm90IGZ1bmN0aW9ucyBhbmQgZG8gbm90IGhhdmUgdGhlIGNvcnJlY3QgaW5wdXQgcGFyYW1ldGVycy4KCSAgRnVydGhlcm1vcmUsIGN2U21vb3RoIGZ1bmN0aW9uIGlzIG5vdCBuZWNlc3NhcnkgZm9yIGVkZ2UgZGV0ZWN0aW9uLAoJICBiZWNhdXNlIHRoZSBDYW5ueSBmdW5jdGlvbiBtYWtlcyB0aGUgc3RlcCBvZiBzbW9vdGhpbmcgdGhlIGltYWdlLgoJICBBbmQgY3ZOb3QgZnVuY3Rpb24gaXMgdXNlbGVzcyBiZWNhdXNlIHRoZXJlIGFyZW4ndCBjaGFuZ2VzIGlmIHRoaXMKCSAgZnVuY3Rpb24gaXMgZWxpbWluYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE0OAoKMjAxNS0wOC0yNiAxODo0MDozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5oOgoJICB0ZXh0b3ZlcmxheTogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBNZW1vcnkgaXMgcmVzZXJ2ZWQgZm9yIHRoaXMgdmFyaWFibGUgYnV0IG5ldmVyIHVzZWQuIFJlbW92aW5nIGl0LgoKMjAxNS0wOC0yNiAxODoyMToxNSArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJICBmYWNlYmx1cjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTc6NTY6NTAgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IG5lZWQgdG8gbWlncmF0ZSB0byBDKysuCgkgIFRoZSBjYXNjYWRlIGNsYXNzaWZpZXIgY2hhbmdlcyBpdHMgc3RydWN0dXJlIG9uIG5ldyB2ZXJzaW9uIG9mIE9wZW5DViAyLjQuMTEuCgkgIEl0IGlzIG5lZWQgdG8gbWlncmF0ZSB0byBDKysgdG8gdXRpbGl6ZSB0aGUgbmV3IGxvYWQgbWV0aG9kIG9mIE9wZW5DViB3aGljaAoJICBhbGxvd3MgdG8gbG9hZCB0aGUgb2xkIGFuZCBuZXcgY2xhc3NpZmllcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5OTQKCjIwMTUtMDgtMjYgMTI6NDc6NTggKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jcHA6CgkgIGZhY2VibHVyOiBDaGVjayBDdkhhYXJDbGFzc2lmaWVyQ2FzY2FkZSBpcyByZWxlYXNlIGJlZm9yZSBiZWluZyBtb2RpZmllZC4KCSAgRm9yIFBST1BfUFJPRklMRSBjYXNlIHRoYXQgZXhpc3QgaW5zaWRlIGdzdF9mYWNlX2JsdXJfc2V0X3Byb3BlcnR5CgkgIGZ1bmN0aW9uIGxvYWRzIHRoZSBuZXcgWE1MIGZpbGUgaW4gdGhlIEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlIHByb3BlcnR5CgkgIHdpdGhvdXQgZmlyc3QgY2hlY2tpbmcgdGhhdCBpdCBpcyByZWxlYXNlZCBiZWNhdXNlIG1heWJlIHRoZXJlIGlzIGFuIFhNTAoJICBmaWxlIHByZXZpb3VzbHkgbG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDEyOjI3OjE1ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ29kZSByZWZhY3RvcmluZyBvZiBnc3RfZmFjZV9ibHVyX2xvYWRfcHJvZmlsZS4KCSAgQ2hhbmdlcyBpbnNpZGUgdGhlIGdzdF9mYWNlX2JsdXJfbG9hZF9wcm9maWxlIGZ1bmN0aW9uLCB0aGUgbnVtYmVyIG9mCgkgIGlucHV0IHBhcmFtZXRlcnMgYW5kIGluIGxpbmVzIHdoZXJlIGl0IGlzIHVzZWQgZHVlIHRvIGl0IGNhbm5vdCBiZSB1c2VkCgkgIGdlbmVyaWNhbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTk0CgoyMDE1LTA4LTI2IDExOjU3OjI0ICswMjAwICBWYW5lc3NhIENoaXBpcnLDoXMgTmF2YWzDs24gPHZjaGlwaXJyYXM2QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuY3BwOgoJICBmYWNlYmx1cjogQ2hhbmdlIGdzdGZhY2VibHVyIHRvIEMrKy4KCSAgQ2hhbmdlIHRoZSBnc3RmYWNlYmx1ci5jIGZpbGUgdG8gY3BwIGFuZCBhZGQgaXQgaW50byBNYWtlZmlsZS4KCSAgSXQgaXMgbmVjZXNzYXJ5IHRvIG1pZ3JhdGUgdGhlIGZhY2VibHVyIHBsdWdpbiB0byBDKyssCgkgIGluIG9yZGVyIHRvIGxvYWQgbmV3IGFuZCBvbGQgY2xhc3NpZmllcnMsIHRvIG1ha2UgZmFjZWJsdXIgd29yawoJICB3aXRoIG5ld2VyIHZlcnNpb25zIG9mIE9wZW5jdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk5NAoKMjAxNS0wOC0yNyAxMToxMDowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IGNhcHMgbWVtb3J5IGxlYWsgYnkgbWFraW5nIHN0YXRpYyBjYXBzIGFjdHVhbGx5IHN0YXRpYwoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDE1NwoKMjAxNS0wOC0yMSAxNjoxMzo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvbid0IG1lZGRsZSB3aXRoIHRoZSBjbGFzcyBzdHJ1Y3QgZnJvbSBhbiBpbnN0YW5jZQoJICBGaXggc29tZSB2ZXJ5IGR1YmlvdXMgY29kZS4gVGhlIGNsYXNzIG1ldGhvZHMgc2hvdWxkIGFsd2F5cwoJICBiZSBzZXQsIGFuZCB0aGUgaW5zdGFuY2Utc3BlY2lmaWMgY2hlY2sgc2hvdWxkIHRoZW4gYmUgZG9uZQoJICBpbnNpZGUgdGhlIG1ldGhvZC4gRm9yIGRhdGFfcmVjZWl2ZWQgdGhhdCdzIHRoZXJlIGFscmVhZHksIGZvcgoJICBmaW5pc2hfZnJhZ21lbnQgd2UgbmVlZCB0byBhZGQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MzcKCjIwMTUtMDgtMjYgMTA6NTI6NDYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NHBhcnNlL2gyNjVwYXJzZTogRml4IG5lZ290aWF0aW9uIGNyYXNoCgkgIEFzIGl0J3MgcmVjdXJzaXZlLCBnc3RfcGFkX2dldF9hbGxvd2VkX2NhcHMoKSBtYXkgYWxzbyByZXR1cm4KCSAgZW1wdHkgZm9yIGFueXRoaW5nIGluY29tcGF0aWJsZSBkb3duc3RyZWFtLiBFTVBUWSBpcyBub3QgdmFsaWQgY2FwcwoJICB2YWx1ZSBmb3IgZ3N0X2NhcHNfZml4YXRlKCkuIFRoaXMgbGVhZCB0byBhc3NlcnRpb24gYW5kIHRoZW4gY3Jhc2guCgkgIElkZWFsbHksIHRoZSBuZWdvdGlhdGUgZnVuY3Rpb24gc2hvdWxkIGJlIHJlLWZhY3RvcmVkIHRvIGhhdmUgYSByZXR1cm4KCSAgdmFsdWUsIGFuZCB3ZSBjb3VsZCBtYWtlIHRoZSBuZWdvdGlhdGlvbiBmYWlscyBlYXJsaWVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MTIyCgoyMDE1LTA4LTI2IDE1OjQwOjE2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogQWN0dWFsbHkgdXNlIHRoZSBvdXRwdXQgcmVzb2x1dGlvbiBmb3IgY2xhbXBpbmcKCSAgVGhlIG9ic2N1cmVkIGNoZWNrIGluIGNvbXBvc2l0b3Igd2FzIHVzaW5nIHRoZSBkaW1lbnNpb25zIG9mIHRoZSBwYWQgdG8gY2xhbXAKCSAgdGhlIGgvdyBvZiB0aGUgcGFkIGluc3RlYWQgb2YgdGhlIG91dHB1dCByZXNvbHV0aW9uLCBhbmQgd2FzIGRvaW5nIGFuIGluY29ycmVjdAoJICBjYWxjdWxhdGlvbiB0byBkbyBzby4gRml4IHRoYXQgYnkgc2ltcGxpZnlpbmcgdGhlIHdob2xlIGNhbGN1bGF0aW9uIGJ5IHVzaW5nCgkgIGNvcm5lciBjb29yZGluYXRlcy4gQWxzbyBhZGQgYSB0ZXN0IGZvciB0aGlzIGJ1ZyB3aGljaCBmZWxsIHRocm91Z2ggdGhlIGNyYWNrcywKCSAgYW5kIGp1c3Qgc2tpcCBhbGwgdGhlIG9ic2N1cmVkIHRlc3RzIGlmIHRoZSBwYWQncyBhbHBoYSBpcyAwLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQxMDcKCjIwMTUtMDgtMjQgMDc6NDY6MjcgKzAzMDAgIFh1R3Vhbmd4aW4gPEd1YW5neGluLlh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGlsZSByb3cgYW5kIGNvbHVtbiBwYXJzaW5nCgkgIFNlY3Rpb24gNi41LjE6ICBDb2RpbmcgdHJlZSBibG9jayByYXN0ZXIgYW5kIHRpbGUgc2Nhbm5pbmcgY29udmVyc2lvbiBwcm9jZXNzCgkgIEZvbGxvdyB0aGUgZXF1YXRpb25zIDYtMyBhbmQgNi00CgkgIFRoaXMgd2lsbCBwcm92aWRlIGNvcnJlY3Qgb2Zmc2V0X21heCBpbiBzbGljZV9oZWFkZXIgZm9yIHBhcnNpbmcKCSAgbnVtX2VudHJ5X3BvaW50X29mZnNldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwMjQKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKMjAxNS0wOC0wNyAxMjo1MzoyMyArMDMwMCAgQXRoYW5hc2lvcyBPaWtvbm9tb3UgPGF0aG9pa0BnbWFpbC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNlbGVjdCBjb3JyZWN0IHBvc2l0aW9uIGZvciBsaXZlIHN0cmVhbXMgdGhhdCBkb24ndCByZW1vdmUgZnJhZ21lbnRzCgkgIFNvbWUgbGl2ZSBzdHJlYW1zIChlZyB5b3V0dWJlKSBkb24ndCByZW1vdmUgZnJhZ21lbnRzIGluIG9yZGVyIHRvIGFsbG93CgkgIHNlZWtpbmcgYmFjayBpbiB0aW1lIChsaXZlICsgdm9kKS4KCSAgV2hlbiBnc3RfbTN1OF9jbGllbnRfaGFzX25leHRfZnJhZ21lbnQgaXMgY2FsbGVkLCB3ZSBhcmUgZ2V0dGluZyB3cm9uZyBmcmFnbWVudAoJICBiZWNhdXNlIGN1cnJlbnRfZmlsZSBwb2ludHMgaW4gZmlyc3QgZmlsZSBvZiB0aGUgZnJhZ21lbnRzIGxpc3QgcmVzdWx0aW5nIGluCgkgIHdhdGNoaW5nIHRoZSBzdHJlYW0gZnJvbSB0aGUgYmVnaW5uaW5nIGFnYWluLgoJICBUaGlzIHBhdGNoIHNldHMgY3VycmVudF9maWxlIHRvIG50aCBmcmFnbWVudCBmb3IgbGl2ZSBzdHJlYW1zLCB0aGVuIG9uCgkgIGdzdF9tM3U4X2NsaWVudF9oYXNfbmV4dF9mcmFnbWVudCB3aWxsIGtlZXAgdXAgd2l0aCB0aGUgbGl2ZSBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzNDQKCjIwMTUtMDgtMjQgMTk6NDc6MDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IFVzZSBiYXNlIGNsYXNzIG1ldGFkYXRhIGNvcHkgZnVuY3Rpb24KCSAgVGhpcyBhbGxvdyBwcm9wZXJseSBjb3B5aW5nIHNlbGVjdGVkIG1ldGEsIGxpa2UgdGhlIGNvbXBvc2l0aW9uCgkgIG92ZXJsYXkuIE5vdGUgdGhhdCBvdXRwdXQgYnVmZmVyIG5lZWQgdG8gYmUgcmVhZGFibGUsIGJ1dCBHbFVwbG9hZAoJICBrZWVwcyBhIHJlZi4gRm9yIG5vdywgc2ltcGx5IGRyb3AgR2xVcGxvYWQgcmVmIGFmdGVyIHBlcmZvcm0sCgkgIGxlYXZpbmcgdGhhdCByZWYgaGFzIG5vIHB1cnBvc2UuIFRoZSBtZXRob2Qgc2hhbGwgYmUgcmVtb3ZlZAoJICBpbiB0aGUgZnV0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDQ3CgoyMDE1LTA4LTI0IDE5OjI4OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBVc2UgYmFzZSB0cmFuc2Zvcm0gbWV0YWRhdGEgY29weQoJICBVc2UgYmFzZSBjbGFzcyBkZWZhdWx0IG1ldGhvZCBpbnN0ZWFkIG9mIG9ubHkgY29weWluZyBmbGFncyBhbmQKCSAgdGltZXN0YW1wLiBUaGlzIHdheSwgc2VsZWN0ZWQgbWV0YSdzIGxpa2UgY29tcG9zdGlvbiBvdmVybGF5IHdpbGwKCSAgYmUgcGFzc2VkIGRvd25zdHJlYW0gYXMgZXhwZWN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTQwNDcKCjIwMTUtMDgtMjUgMTA6MDk6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IFVucmVmIGNvbnRleHQgYWZ0ZXIgc2V0dGluZyBhIHdpbmRvdyBoYW5kbGUKCSAgZ3N0X2dsX3dpbmRvd19nZXRfY29udGV4dCgpIHJldHVybnMgYSBuZXcgcmVmZXJlbmNlLgoJICBIb3BlZnVsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1OAoKMjAxNS0wOC0yNCAyMToyODo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogQWRkIG5ldyBoMjY1IHBhcnNlciBzeW1ib2xzCgoyMDE1LTA4LTI0IDA4OjA2OjE1ICswMzAwICBseWIgPGFuZHlfbGl1X2NoaW5hQDE2My5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogQWRkIEFQSXMgZm9yIHVwLXJpZ2h0LWRpYWdvbmFsL3Jhc3RlciBzY2FuIGNvbnZlcnNpb24KCSAgQXMgcGVyICA3LTQyIGFuZCA3LTQzIHRoZSBTY2FsaW5nRmFjdG9yJ3Mgc2NhbklkeCBpcyAwLAoJICB3aGljaCBpcyAidXAtcmlnaHQtZGlhZ29uYWwiIHNjYW4uIEFkZCBBUElzIGZvciBjb252ZXJ0aW5nCgkgIHVwLXJpZ2h0LWRpYWdvbmFsIHRvIHJhc3RlciBhbmQgdmlzZSB2ZXJzYS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1NDAyNAoKMjAxNS0wOC0yNCAwNDoxODo1MiArMDMwMCAgWHVHdWFuZ3hpbiA8R3Vhbmd4aW4uWHVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSByYW5nZSBvZiBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20KCSAgQmVpbmcgbW9yZSBzdHJpY3Qgb24gc3BlY2lmaWNhdGlvbiwgQWNjb3JkaW5nIHRvIDcuNC43LjMsCgkgIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbSBzaG91bGQgYmUgaW4gdGhlIHJhbmdlIG9mCgkgIFsoMCAtIGx1bWFfbG9nMl93ZWlnaHRfZGVub20pLCAoNyAtIGx1bWFfbG9nMl93ZWlnaHRfZGVub20pXQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzU0MDI0CgoyMDE1LTA4LTIzIDIzOjM4OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGxhdGVuY3kgaGFuZGxpbmcgYWdhaW4KCSAgVGhlIHRzZGVtdXggbGF0ZW5jeSBzaG91bGQgYWx3YXlzIGJlIGFkZGVkIHRvIHRoZSBtaW5pbXVtCgkgIGxhdGVuY3kgKHdoaWNoIGlzIGFsd2F5cyBhIHZhbGlkIGNsb2NrIHRpbWUgdmFsdWUpLiBUaGUKCSAgImNsZWFudXAiIGluIGNvbW1pdCBhMWY3MDljMiBtYWRlIGl0IHNvIHRoYXQgaXQgd291bGQgbm90CgkgIGJlIGFkZGVkIGlmIHVwc3RyZWFtIHJlcG9ydGVkIDAgYXMgbWluaW11bSBsYXRlbmN5IChhcwoJICBlLmcuIHVkcHNyYyB3b3VsZCkuIFRoaXMgYnJva2UgcGxheWJhY2sgb2YgbGl2ZSBtcGVnLXRzCgkgIHN0cmVhbWluZyBpbiBzb21lIGNhc2VzLCBsZWFkaW5nIHRvIHBsYXliYWNrIHN0dXR0ZXIgZHVlCgkgIHRvIGEgdG9vLXNtYWxsIGNvbmZpZ3VyZWQgbGF0ZW5jeSBmb3IgdGhlIHBpcGVsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTA4CgoyMDE1LTA4LTIxIDEzOjQyOjE4IC0wNzAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVwZGF0ZSBkaXNwbGF5IHNpemUgYmVmb3JlIHNlbmRpbmcgZXZlbnQKCSAgVGhpcyBpcyBtaW5vciBpc3N1ZSwgYXMgdGhlIHJlY29uZmlndXJlIGV2ZW50IGlzIGFzeW5jaHJvbm91cy4KCSAgQmFzaWNhbGx5LCB1cGRhdGUgd2lkdGgvaGVpZ2h0IGJlZm9yZSBzZW5kaW5nIHRoZSBldmVudC4KCjIwMTUtMDgtMjAgMTc6Mjc6MzQgLTA3MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsOiBMZXQgYmFzZSB0cmFuc2Zvcm0gcmVsYXkgdGhlIG1ldGEgYXBpIGZvciB1cwoJICBEdXJpbmcgYWxsb2NhdGlvbiBxdWVyeSwgd2hlbiB0aGlzIGVsZW1lbnQgaXMgbm90IHBhc3N0aHJvdWdoLCBpdCBtdXN0CgkgIHJlbGF5IHRoZSBvdmVybGF5IGNvbXBvc3Rpb24gbWV0YSBhbmQgaXQncyBwYXJhbWV0ZXJzLiBGb3J0dW5hdGx5LCBiYXNlCgkgIHRyYW5zZm9ybSBjYW4gZG8gdGhpcyBmb3IgdXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4NTAKCjIwMTUtMDgtMjEgMjA6Mjk6MjQgKzAyMDAgIEtvb3AgTWFzdCA8a3dtQHJhaW5ib3ctcnVubmVyLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjdXJsOiBHaXZlIG5ldGluZXQvaXAuaCBpdCBvd24gY29uZmlndXJlIGNoZWNrCgkgIE9uIEZyZWVCU0QgbmV0aW5ldC9pcC5oIG5lZWRzIHRoZSBzeXMvdHlwZXMuaCBhbmQgbmV0aW5ldC9pbi5oIGhlYWRlcgoJICBiZWZvcmUgaXQgY2FuIGJlIHRlc3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzk0NAoKMjAxNS0wOC0xOSAxNzo0Mjo0OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBsZW5ndGggaXMgc2V0IHRvIGEgZGlmZmVyZW50IHZhbHVlIGJlZm9yZSBiZWluZyByZWFkLiBSZW1vdmUgaW5pdGlhbCB2YWx1ZS4KCSAgU2lsZW5jZXMgY29tcGlsZXIgd2FybmluZy4KCjIwMTUtMDgtMjEgMDU6MjY6MjUgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNzcKCjIwMTUtMDgtMjEgMTQ6MDc6MzIgKzA5MDAgIEp1c3RpbiBLaW0gPGp1c3Rpbi5raW1AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhZGQgc3BlY2lmaWMgZXJyb3IgbWVzc2FnZSB3aGVuIG1pc3NpbmcgR0xfU0hBRElOR19MQU5HVUFHRV9WRVJTSU9OCgkgIEdMX1NIQURJTkdfTEFOR1VBR0VfVkVSU0lPTiB3YXMgaW50cm9kdWNlZCBzaW5jZSBFUyAyLjAsIGJ1dCBpbiBzb21lCgkgIGFuZHJvaWQgZW11bGF0b3IgZG9lc24ndCBzdXBwb3J0IHRoaXMgZmVhdHVyZS4gVG8gcHJldmVudCBjb25mdXNpb24gZm9yCgkgIGRldmVsb3BlciwgdGhlIGVycm9yIG1lc3NhZ2UgbmVlZCB0byBiZSBtb3JlIGNsZWFyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTA1CgoyMDE1LTA4LTIxIDE2OjQ0OjQzICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvbWl4ZXI6IHJlbW92ZSBkdXBsaWNhdGVkIHdvcmQgaW4gY29tbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzOTE1CgoyMDE1LTA4LTIxIDE2OjMxOjQxICswOTAwICBob29uaGVlLmxlZSA8aG9vbmhlZS5sZWVAbGdlLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogRG9uJ3QgY2hhaW4gdXAgdG8gcGFyZW50J3MgcXVlcnkgaGFuZGxpbmcgdHdpY2UgZm9yIERSQUlOIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM5MTMKCjIwMTUtMDgtMjAgMTU6MDA6MDIgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoKCSAgY2hlY2s6IGhsc2RlbXV4OiBtYWtlIGR1cmF0aW9uIHVuaXQgdGVzdCByb2J1c3QgdG8gZmxvYXRpbmcgcG9pbnQgcm91bmRpbmcKCSAgVGhlIHRlc3RfcGxheWxpc3Rfd2l0aF9kb3VibGVzX2R1cmF0aW9uKCkgdGVzdCBmYWlscyBvbiBzb21lIHBsYXRmb3JtcwoJICBkdWUgdG8gcm91bmRpbmcgZXJyb3JzIHRoYXQgb2NjdXIgd2hlbiBtM3U4LmMgY29udmVydHMgZnJvbSB0aGUgZmxvYXRpbmcKCSAgcG9pbnQgdmFsdWUgaW4gdGhlIEhMUyBtYW5pZmVzdCB0byBhIEdzdENsb2NrVGltZS4KCSAgVXNpbmcgYXNzZXJ0X2VxdWFsc19mbG9hdCgpIGZpeGVzIHRoaXMgYmVjYXVzZSB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMKCSAgdGhlIHJvdW5kaW5nIGVycm9yIGlzc3VlcyBieSBhY2NlcHRpbmcgYWxtb3N0IGVxdWFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODgxCgoyMDE1LTA4LTE3IDE4OjM1OjU4ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogb25seSBjYWxsIGdsX3tzdG9wLHN0YXJ0fSBpZiB0aGUgY29udGV4dCBjaGFuZ2VkCgkgIFJlbW92ZXMgdGhlIHJlZHVuZGFudCBHTCBvYmplY3QgY3JlYXRpb24vZGVsZXRpb24gb24gZXZlcnkKCSAgZGVjaWRlX2FsbG9jYXRpb24gY2FsbCB3aGljaCBpcyBiZWluZyBjYWxsZWQgZm9yIGV2ZXJ5IGNhcHMgY2hhbmdlLgoJICBUaHVzIHJlZHVjZXMgdGhlIHJlcXVpcmVkIEdMIHN0YXRlIGNoYW5nZXMgb24gcmVjb25maWd1cmUgZXZlbnRzCgkgIHdoaWNoIGFyZSBiZWluZyBzZW50IGJ5IGdsaW1hZ2VzaW5rL3h2aW1hZ2VzaW5rCgoyMDE1LTA4LTIwIDE0OjA5OjM3ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogRml4IE9wZW5DViBkYXRhIHBhdGggY2hlY2sgdG8gd29yayB3aXRoIGNyb3NzIGNvbXBpbGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NTEKCjIwMTUtMDgtMjAgMTQ6MTE6NTYgKzAzMDAgIEJlbiBCcm93aXR0IDxiZW4uYnJvd2l0dEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWx3YXlzIHNldCB0aGUgcGFkJ3MgYnVmZmVyX3ZpbmZvIHdoZW4gc3RvcmluZyBhIGJ1ZmZlcgoJICBPdGhlcndpc2UgaXQgbWlnaHQgYmUgdW5zZXQsIGFuZCB0aGVuIHRoZSBidWZmZXIgaXMgdXNlZCBhbmQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdpbGwgY3Jhc2ggYmVjYXVzZSBvZiBpbnZhbGlkIHZpZGVvLWluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MDUKCjIwMTUtMDgtMTkgMjE6MzM6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBIYW5kbGUgZW5jb2Rpbmcgc3BlY2lmaWVkIGluIHRoZSA8eG1sPiBlbGVtZW50IHdoZW4gZHVtcGluZyBub2RlcwoJICBQcmV2aW91cyBwYXRjaCBkaWQgbm90IGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBhbiBlbmNvZGluZyAoZS5nLiBVVEYtOCkgaXMKCSAgc3BlY2lmaWVkIGluIHRoZSA8eG1sID8+IGVsZW1lbnQuIEFkZGVkIGFuIGV4dHJhIHRlc3QgZm9yIHdpdGggYW5kIHdpdGhvdXQKCSAgZW5jb2RpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MTMKCjIwMTMtMDEtMzEgMTQ6MDM6NDAgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBjaGVjayB2aWRlbyBmcmFtZSBtYXBwaW5nIHN1Y2NlZWRlZCBiZWZvcmUgYmxlbmRpbmcKCSAgSWYgdGhlIG1hcHBpbmcgZmFpbHMganVzdCBza2lwIG92ZXJsYXkgcmVuZGVyaW5nIGFuZCBwdXNoIHRoZSB2aWRlbwoJICBmcmFtZSBkb3duc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzODIyCgoyMDE1LTA4LTE5IDE1OjMxOjE2ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlLmFjOiBmaXggYnVpbGQgd2hlbiB0aGUgdXZjaDI2NCBwbHVnaW4gaXMgbm90IHNlbGVjdGVkCgkgIEluc3RlYWQgb2YgY2hlY2tpbmcgZm9yIHRoZSBnc3RyZWFtZXItdmlkZW8tMS4wIHBhY2thZ2UgaXMgaW5zdGFsbGVkLAoJICBqdXN0IGFzc3VtZSBpdCBpcyBzaW5jZSB3ZSBhbHJlYWR5IGNoZWNrIGZvciB0aGUgLWJhc2UgZGVwZW5kZW5jeS4KCSAgV2l0aCB0aGlzIHJlcGxhY2UgdGhlIEdTVF9WSURFT18qIHZhcmlhYmxlcyBpbiBtYWtlZmlsZXMgYW5kIGRpcmVjdGx5CgkgIGxpbmsgd2l0aCBsaWJnc3R2aWRlby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzgyMAoKMjAxNS0wOC0xOSAxMToyOTo0MyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogcmVwbGFjZSB4bWxOb2RlRHVtcCB3aXRoIHhtbE5vZGVEdW1wT3V0cHV0CgkgIFdoZW4gcnVubmluZyBvbiBhbiBTVEIsIHRoZSBmdW5jdGlvbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfbm9kZV9hc19zdHJpbmcgY2F1c2VzIGEgc2VnbWVudGF0aW9uIGZhdWx0LiBUaGlzCgkgIGNvZGUgd29ya3MgY29ycmVjdGx5IG9uIGEgTGludXggZGVza3RvcC4KCSAgTG9va2luZyBhdCB0aGUgbGlieG1sIGRvY3VtZW50YXRpb24sIHRoZSB4bWxOb2RlRHVtcCBpcyBkZXByZWNhdGVkLgoJICBSZXBsYWNpbmcgdGhlIHVzZSBvZiB4bWxOb2RlRHVtcCB3aXRoIHhtbE5vZGVEdW1wT3V0cHV0IGZpeGVzIHRoZQoJICBzZWdmYXVsdCBvbiB0aGUgU1RCIGFuZCByZW1vdmVzIHRoZSB1c2Ugb2YgdGhlIGRlcHJlY2F0ZWQgZnVuY3Rpb24uCgoyMDE1LTA4LTE5IDEyOjM3OjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBRdCB2ZXJzaW9uCgkgIFVzYWdlIG9mIFFTR1NpbXBsZVRleHR1cmVOb2RlOjpzZXRPd25zVGV4dHVyZSgpIHdhcyBhZGRlZCBpbiBjb21taXQKCSAgNmI4Y2Y4NDE5ZDhlYTgwMDgxZGU4MTUwYTZiMWMzY2Y3NjNjNGQ2OSwgdGhpcyBmdW5jdGlvbiB3YXMgYWRkZWQgaW4KCSAgUXQgNS40LjAuIENoZWNrIGZvciB0aGlzIHZlcnNpb24gb3IgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM4MTIKCjIwMTUtMDctMTYgMjI6NTc6MzYgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWJvcnQgcGxheWxpc3QgdXBkYXRlIHdoZW4gY2FuY2VsbGVkCgkgIE90aGVyd2lzZSB0aGUgZG93bmxvYWQgdGhyZWFkIHdpbGwgZ2V0IHN0dWNrLCBzaW5jZSB0aGUgZG93bmxvYWRlciBpcwoJICBkaXNhYmxlZC4KCjIwMTUtMDgtMTkgMTM6NTI6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0ay9nbDogVXNlIG91ciBHTCBmdW5jdGlvbiB0YWJsZSBpbnN0ZWFkIG9mIGRpcmVjdGx5IGNhbGxpbmcgR0wgZnVuY3Rpb25zCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBoYXZlIHRvIGxpbmsgdGhlIHBsdWdpbiB0byB0aGUgR0wgbGlicmFyaWVzIGRpcmVjdGx5LgoKPT09IHJlbGVhc2UgMS41LjkwID09PQoKMjAxNS0wOC0xOSAxMzo0Njo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb21peGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjkwCgoyMDE1LTA4LTE5IDEyOjUyOjE4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTUtMDgtMTkgMTE6MzY6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9reS5wbzoKCSogcG8vbmIucG86CgkqIHBvL3N2LnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wOC0xOCAxMzo1Njo1OSArMDIwMCAgR3VpbGxhdW1lIE1hcnF1ZWJpZWxsZSA8Z3VpbGxhdW1lLm1hcnF1ZWJpZWxsZUBwYXJyb3QuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggYXNzZXJ0aW9uIHdoZW4gY29weWluZyBidWZmZXIgcmVnaW9uCgkgIEluIGdzdF9saXZlX2FkZGVyX2NoYWluKCkgZnVuY3Rpb24sIGNhbGxzIHRvIGdzdF9idWZmZXJfY29weV9yZWdpb24oKSBjYW4gbGVhZAoJICB0byBhc3NlcnRpb24gYXMgJ29mZnNldCArIHNpemUgPD0gYnVmc2l6ZScgaXMgbm90IHJlc3BlY3RlZC4KCSAgSW5kZWVkICdvZmZzZXQnIGFuZCAnc2l6ZScgcGFyYW1ldGVycyBhcmUgY2FsY3VsYXRlZCB0aHJvdWdoIGNhbGxpbmcgZ3N0X2xpdmVfYWRkZXJfbGVuZ3RoX2Zyb21fZHVyYXRpb24oKSwKCSAgYW5kIHRodXMgZ3N0X3V0aWxfdWludDY0X3NjYWxlX2ludF9yb3VuZCgpLgoJICBEZXBlbmRpbmcgb24gdGhlIG5lYXJlc3QgaW50ZWdlcnMsIHJvdW5kZWQgdmFsdWVzICdvZmZzZXQnIGFuZCAnc2l6ZScgY2FuIHRoZW4gdHJpZ2dlciB0aGUgYXNzZXJ0aW9uLgoJICBUaGlzIGNhc2UgbWFpbmx5IG9jY3VycyB3aGVuICdza2lwJyB2YWx1ZSBpcyA+IDAgaW4gY2hhaW4gZnVuY3Rpb24gcHJvY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mzc1OQoKMjAxNS0wOC0xNyAxODowNjozMCArMDIwMCAgVmFuZXNzYSBDaGlwaXJyw6FzIE5hdmFsw7NuIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZS4KCSAgTWVtb3J5IGlzIHJlc2VydmVkIGZvciB0aGlzIHZhcmlhYmxlIGFuZCB0aGVuIHJlbGVhc2VkIHdpdGhvdXQgbWFraW5nIGFueQoJICB1c2Ugb2YgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTcgMTg6MDI6MjggKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNoZWNrIEN2SGFhckNsYXNzaWZpZXJDYXNjYWRlIGlzIHJlbGVhc2UgYmVmb3JlIGJlaW5nIG1vZGlmaWVkLgoJICBNYWtlIHN1cmUgYSBwcmV2aW91cyBjYXNjYWRlLCBpZiBpdCBleGlzdHMsIGlzIHJlbGVhc2VkIGJlZm9yZSBsb2FkaW5nIGEKCSAgbmV3IFhNTCBmaWxlIG9udG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTcgMTc6NDc6NDIgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IGNvZGUgcmVmYWN0b3Jpbmcgb2YgZ3N0X2hhbmRkZXRlY3RfbG9hZF9wcm9maWxlLgoJICBDaGFuZ2UgZ3N0X2hhbmRkZXRlY3RfbG9hZF9wcm9maWxlKCkgc28gaXQgY2FuIGJlIHVzZWQgZ2VuZXJpY2FsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI1MjgKCjIwMTUtMDgtMTggMTE6NTQ6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuYzoKCSAgZGFhbGFlbmM6IEZpeCBidWlsZAoJICBBbmQgYWxzbyBvbmx5IGdlbmVyYXRlIHRoZSBzdXBwb3J0ZWQgY2FwcyBvbmNlLCBub3Qgb24gZXZlcnkgQ0FQUy9BQ0NFUFRfQ0FQUwoJICBxdWVyeS4gSXQncyBub3QgdGhhdCBjaGVhcC4KCjIwMTUtMDgtMTcgMjM6NDQ6NDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBmYWNlZGV0ZWN0OiBhZGQgc2lsZW50IG9wdGlvbgoJICBCeSBkZWZhdWx0IHRoZSBleGFtcGxlIGZsb29kcyB0aGUgc2NyZWVuIHdpdGggdGhlIGRldGVjdGVkIGZhY2UgdmFsdWVzLgoJICBBZGQgYW4gb3B0aW9uIHRvIGF2b2lkIHRoaXMgZm9yIGZyYWlsIHRlcm1pbmFscy4KCjIwMTUtMDgtMTcgMTQ6Mzg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogYWRkIGFjY2VwdC1jYXBzIGhhbmRsaW5nCgkgIE92ZXdyaXRlIGRlZmF1bHQgaGFuZGxpbmcgdG8gYXZvaWQgZG9pbmcgYSBjYXBzIHF1ZXJ5LiBDaGVjawoJICB0aGUgcmVjZWl2ZWQgY2FwcyBhZ2FpbnN0IHRoZSBwb3NzaWJsZSBmb3JtYXRzIHN1cHBvcnRlZCBieQoJICB0aGUgeDI2NSBsaWJyYXJ5LgoKMjAxNS0wOC0xNyAxNDozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkgIGRhYWxhZW5jOiBhZGQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgT3Zld3JpdGUgZGVmYXVsdCBoYW5kbGluZyB0byBhdm9pZCBkb2luZyBhIGNhcHMgcXVlcnkuIENoZWNrCgkgIHRoZSByZWNlaXZlZCBjYXBzIGFnYWluc3QgdGhlIHBvc3NpYmxlIGZvcm1hdHMgc3VwcG9ydGVkIGJ5CgkgIHRoZSBkYWFsYSBsaWJyYXJ5LgoKMjAxNS0wOC0xNiAwNzowNjo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICB2aWRlb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBvcGVuanBlZ2VuYywgc2Nocm9lbmMsIHdlYnBlbmMsIHBubWVuYwoKMjAxNS0wOC0xNyAxNzozODoxNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IHN1cHBvcnQgYWx0ZXJuYXRpdmUgcGF0aCBjb252ZW50aW9uCgkgIFNvbWUgZGlzdHJpYnV0aW9ucyBzdG9yZSBPcGVuQ1YgZmlsZXMgaW4gL3Vzci9zaGFyZS9vcGVuY3YgYW5kIHNvbWUgb3RoZXJzCgkgIChhbmQgZGVmYXVsdCB3aGVuIGJ1aWxkaW5nIGZyb20gc291cmNlKSBpbnN0YWxsIHRoZW0gaW4KCSAgL3Vzci9zaGFyZS9PcGVuQ1YuIFN1cHBvcnQgYm90aCB0byBmaW5kIGNhc2NhZGUgZmlsZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2NTEKCjIwMTUtMDgtMTYgMjE6MTg6NTAgKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJICBkYXNoZGVtdXg6IGxpbmsgYWdhaW5zdCBnaW8gZm9yIGdfcmVzb2x2ZXIgYW5kIGdfaW5ldF9hZGRyZXNzX2Zyb21fc3RyaW5nCgkgIEFkZCBtaXNzaW5nIGdpby0yLjAgQ0ZMQUdTL0xJQlMgdG8gZml4IGxpbmtlciBmYWlsdXJlCgoyMDE1LTA4LTE2IDA3OjE4OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBhdWRpb2VuY29kZXJzOiB1c2UgdGVtcGxhdGUgc3Vic2V0IGNoZWNrIGZvciBhY2NlcHQtY2FwcwoJICBJdCBpcyBmYXN0ZXIgdGhhbiBkb2luZyBhIHF1ZXJ5IHRoYXQgcHJvcGFnYXRlcyBkb3duc3RyZWFtIGFuZAoJICBzaG91bGQgYmUgZW5vdWdoCgkgIEVsZW1lbnRzOiBmYWFjLCBnc21lbmMsIG9wdXNlbmMsIHNiY2VuYywgdm9hbXJ3YmVuYywgYWRwY21lbmMsIHNpcmVuZW5jCgoyMDE1LTA4LTE3IDA3OjU1OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFJlbW92ZSBjdXN0b20gZ2V0Y2FwcyBhbmQganVzdCB1c2UgdGhlIHRlbXBsYXRlCgkgIFdlIGtub3cgZnJvbSB0aGUgYmVnaW5uaW5nIHRoZSBjYXBzIHRoYXQgYXJlIGFjY2VwdGFibGUsIG5vIG5lZWQKCSAgZm9yIGN1c3RvbSBnZXRjYXBzIG9yIG1hbnVhbGx5IGdlbmVyYXRpbmcgY2Fwcy4KCjIwMTUtMDgtMTcgMDc6NTQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogYWRkIHZlcnNpb24gdG8gZ3N0LWxhdW5jaCBzdHJpbmcgb24gZG9jdW1lbnRhdGlvbgoJICBnc3QtbGF1bmNoIHdpbGwgY2FsbCB0aGUgMC4xMCB2ZXJzaW9uLCB3ZSB3YW50IDEuMAoKMjAxNS0wOC0xNyAwNzoxNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBtYWtlIHRlbXBsYXRlIHBhZCBjYXBzIG1vcmUgYWNjdXJhdGUgYW5kIHJlbW92ZSBjdXN0b20gZ2V0Y2FwcwoJICBBbGxvd3MgcmV1c2luZyBiYXNlY2xhc3MgY2FwcyBxdWVyeSBoYW5kbGluZyBhbmQgc2ltcGxpZnlpbmcgbmVnb3RpYXRpb24KCSAgY29kZS4KCjIwMTUtMDgtMTcgMTE6NTA6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogc3RpbGwgcmVzZXQgcGVuZGluZyBhdWRpbyBpbmZvIG9uIGhhcmQgZmx1c2gKCSAgRm9sbG93LXVwIHRvIHByZXZpb3VzIGNvbW1pdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQzMQoKMjAxNS0wNy0xNSAxMDo0NDowMiAtMDYwMCAgSmFzb24gTGl0emluZ2VyIDxqbGl0emluZ2VyQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXggaGFuZGxpbmcgb2Ygc2FtcGxlIHJhdGUgY2hhbmdlIGR1cmluZyBwbGF5YmFjawoJICBJZiB0aGUgc2FtcGxlIHJhdGUgb2YgdGhlIG1lZGlhIGNoYW5nZXMsIHRoZSByZXN1bHRpbmcgZmx1c2ggd2lsbAoJICBjbGVhciB0aGUgaGFzX25leHRfYXVkaW9pbmZvIGZsYWcsIGFuZCB0aGUgY2FwcyB3b24ndCBiZSBzZW50CgkgIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MzEKCjIwMTUtMDMtMTcgMTc6NTU6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBVc2UgZ3N0X2Jhc2VfcGFyc2VfbWVyZ2VfdGFncygpCgkgIEluc3RlYWQgb2Ygc3F1YXNoaW5nIGFsbCB1cHN0cmVhbSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk3NjgKCjIwMTUtMDgtMTYgMTg6MTM6MTIgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogUmVjYWxjdWxhdGUgb2Zmc2V0IGFuZCBzaXplIGluIHJhdyB1cGxvYWQKCSAgQXMgd2Ugb25seSBleHBvc2UgdGhlIG1hcHBlZCBwb3J0aW9uIG9mIHRoZSBmcmFtZSBpbnRvIHRoZSBHTAoJICBtZW1vcnkgb2JqZWN0IChhbmQgbm90IHRoZSBvcmlnaW5hbCBwYWRkaW5nKSB3ZSBuZWVkIHRvCgkgIHJlLWNhbGN1bGF0ZSB0aGUgc2l6ZSBhbmQgb2Zmc2V0LgoKMjAxNS0wOC0xNiAwODo0OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IG9mZiBieSBvbmUgc2Vla2luZyBpc3N1ZQoJICBXaGVuIHNlZWtpbmcgdG8gdGhlIGxhc3Qgc2Vjb25kIG9mIGEgbXBkIGl0IHdvdWxkIHJlamVjdCB0aGUgc2VlawoJICBiZWNhdXNlIHRoZSBjb21wYXJpc29uIHdhcyA8IGluc3RlYWQgb2YgPD0KCSAgVGhpcyBmYWlscyB0aGUgaW1wb3J0YW50IHVzZSBjYXNlIG9mIHNlZWtpbmcgdG8gdGhlIGVuZCBvZiBhIGZpbGUKCSAgdG8gcGxheSBpdCBiYWNrIGluIHJldmVyc2UgZnJvbSB0aGUgZW5kCgoyMDE1LTA4LTE2IDEyOjU1OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBpbGxvZ2ljYWwgY29tcGFyaXNpb24KCSAgQSB2YXJpYWJsZSBjYW4ndCBiZSB0d28gdmFsdWVzIGF0IG9uY2UuIFdlIHdhbnQgdG8gc3RvcCBpZiBpdCdzIG5vdCB0aGUKCSAgYWN0dWFsIHRzICpBTkQqIG5vdCB0aGUgb3RoZXIgdHMKCSAgQ0lEICMxMzE2NDc1CgoyMDE1LTA4LTE2IDEyOjUyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRnJlZSBVVENUaW1pbmcgc3RydWN0IGlmIHRoZXJlIGFyZSBubyB2YWx1ZXMgYXNzb2NpYXRlZCB3aXRoIGl0CgkgIENJRCAxMzE2NDc5CgoyMDE1LTA4LTE1IDIzOjM2OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBMaW5rIGFnYWluc3QgR01vZHVsZSBmb3IgdGVzdHMgdXNpbmcgZ19tb2R1bGVfKgoKMjAxNS0wOC0xNSAxOTowNDoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRGVtb3RlIGRlYnVnZ2luZyBsZXZlbAoKMjAxNS0wOC0xNSAxOTowMTowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWN0dWFsbHkgd2FpdCBmb3IgcGxheWxpc3QgdXBkYXRlIHdoZW4gcmVxdWVzdGVkCgkgIFRoZXJlIGFyZSBzZXZlcmFsIGNhc2VzIHdoZXJlIGEgSExTIHNlcnZlciBjb3VsZCB0ZW1wb3JhcmlseSBoYXZlIHdyb25nCgkgIGZyYWdtZW50cywgb3IgcmVjb25maWd1cmUgdGhlIHBsYXlsaXN0LiBJbiB0aG9zZSBjYXNlcywgd2hlbiB3ZSBnZXQKCSAgZnJhZ21lbnQgZG93bmxvYWQgZmFpbHVyZXMsIHdlICpyZWFsbHkqIHdhbnQgdG8gd2FpdCBhIGJpdCAoZm9yIHRoZSBuZXh0CgkgIHBsYXlsaXN0IHVwZGF0ZSkgYmVmb3JlIHJldHJ5aW5nIHRvIGdldCBmcmFnbWVudHMuCgkgIFByZXZpb3VzbHkgdGhpcyBtZXRob2Qgd2FzIGZpcnN0IGNoZWNraW5nIHRvIHNlZSBpZiB0aGVyZSB3YXMgbmV4dCBmcmFnbWVudHMKCSAgKGFjY29yZGluZyB0byB0aGUgcHJldmlvdXMgbWFuaWZlc3QgdXBkYXRlKSBiZWZvcmUgd2FpdGluZyBmb3IgdGhlIG5leHQgdXBkYXRlLgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCBpZiB0aGF0IGlmIHRoZXJlIGlzIGEgdGVtcG9yYXJ5IGZhaWx1cmUgb24gdGhlIHNlcnZlciwKCSAgdGhhdCdzIHVuY29ycmVsYXRlZCB0byB3aGV0aGVyIHRoZSBtYW5pZmVzdCBjb250YWlucyBuZXh0IGZyYWdtZW50cyBvciBub3QuCgoyMDE1LTA4LTE0IDEyOjI1OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2xpbWFnZXNpbmsuYzoKCSogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzoKCSAgY2hlY2tzOiBFbnN1cmUgdGhyZWFkLXNhZmUgbGliWDExL0dMIHdoZW4gcnVubmluZyB0ZXN0cwoKMjAxNS0wOC0xNSAxMjo1ODo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJICBhdWRpb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGR0c2RlYywgZmFhZCwgZ3NtZGVjLCBtcGcxMjNhdWRpb2RlYywgb3B1c2RlYywKCSAgc2JjZGVjLCBhZHBjbWRlYywgc2lyZW5kZWMKCjIwMTUtMDgtMTUgMTI6NTU6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2aWRlb2RlY29kZXJzOiB1c2UgZGVmYXVsdCBwYWQgYWNjZXB0LWNhcHMgaGFuZGxpbmcKCSAgQXZvaWRzIHVzZWxlc3MgY2hlY2sgb2YgZG93bnN0cmVhbSBjYXBzIHdoZW4gaGFuZGxpbmcgYW4KCSAgYWNjZXB0LWNhcHMgcXVlcnkKCSAgRWxlbWVudHM6IGRhYWxhZGVjLCBsaWJkZTI2NWRlYywgb3BlbmpwZWdkZWMsIHJzdmdkZWMsIHNjaHJvZGVjLAoJICB3ZWJwZGVjLCBwbm1kZWMsIHZtbmNkZWMsIG9wZW5leHJkZWMKCjIwMTUtMDgtMTUgMTY6MjI6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IG1ha2Ugc3VyZSB3ZSBjYWxsIGhhbmRsZV9uYWwgZm9yIGVhY2ggTkFMCgkgIENhbGwgaGFuZGxlX25hbCBmb3IgZWFjaCBOQUwgaW4gdGhlIFNUQVAtQSBSVFAgcGFja2V0LiBUaGlzIG1ha2VzIHN1cmUKCSAgd2UgY29ycmVjdGx5IGV4dHJhY3QgdGhlIFNQUyBhbmQgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTk5CgoyMDE1LTA4LTE1IDE1OjAyOjMzICswMjAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBBbHNvIGRpc2FibGUgdGhlIGJsZW5kIHdoZW4gZG9uZQoKMjAxNS0wOC0xNSAxNDozMToxNSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHNpbms6IEVuYWJsZSBzeW5jIG1ldGEgb24gcG9vbHMgd2Ugb2ZmZXIKCSAgQXMgdGhlIHVwbG9hZCBpcyBhc3luY2hyb25vdXMsIHdlIG5lZWQgdG8gZW5hYmxlIHRoZSBzeW5jIG1ldGEgdG8KCSAgZ2FpbiBjb3JyZWN0IHJlbmRlcmluZy4gVGhlIGJ1ZmZlciBwb29sIHJlY2VpdmVyIGRvbid0IGtub3cgYWJvdXQKCSAgdGhhdC4KCjIwMTUtMDgtMTUgMTU6MTI6MjcgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBBZGQgb3ZlcmxheSBjb21wb3NpdGlvbiBzdXBwb3J0CgkgIFJlbmRlcmluZyBjb21wb3NpdGlvbiBvdmVybGF5IGluIEdMIHdpdGggYWRkaXRpb25hbCBoaWdoIHJlc29sdXRpb24KCSAgb3ZlcmxheSBiZWluZyBhZGRlZC4KCjIwMTUtMDgtMTUgMTU6MDg6MTEgKzAyMDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtnbHNpbms6IEZpeCB1bnNhZmUgaGFuZGxpbmcgb2YgYnVmZmVyIGxpZmUgdGltZQoJICBXZSBuZWVkIHRvIGtlZXAgdGhlIGFjdGl2ZSBidWZmZXIgKHRoZSBvbmUgd2UgaGF2ZSByZXRyZWl2ZSBhCgkgIHRleHR1cmUgaWQgZnJvbSkgb3RoZXJ3aXNlIGl0J3MgcmFjeSBhbmQgdXBzdHJlYW0gbWF5IHVwbG9hZAoJICBuZXcgY29udGVudCBiZWZvcmUgd2UgaGF2ZSByZW5kZXJlZCBvciBkdXJpbmcgbGF0ZXIgcmVkaXNwbGF5LgoKMjAxNS0wOC0xNCAxODowNzoxNSArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsc2luazogUmVtb3ZlIHJlc2V0IHBhdGgKCSAgVGhlIHJlc2V0IHBhdGggaXMgYm9ndXMgYW5kIHRoZXJlIGlzIG5vIHJlYXNvbiB0byBnZXQgcmlkIG9mIHRoZXNlCgkgIHRoaW5ncyBkdXJpbmcgcmVzaXplLgoKMjAxNS0wOC0xNCAxNzozNjo0OCArMDIwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBNb3ZlIG92ZXJsYXkgcmVuZGVyaW5nIGFmdGVyIHZpZGVvIHJlbmRlcmluZwoJICBUaGlzIGlzIG1vc3RseSBjb3NtZXRpYywgYnV0IGhlb3JldGljYWxseSBpdCByZWR1Y2VzIHRoZSBhbW91bnQgb2YKCSAgcmVxdWlyZWQgb2JqZWN0IGluIHRoZSBjb250ZXh0IGF0IG9uZSBwb2ludC4gSXQgYWxzbyBhdm9pZHMgcG90ZW50aWFsCgkgIGNvbmZsaWN0cy4KCjIwMTUtMDgtMTUgMTQ6NDU6MzQgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogQ29weSBtZXRhZGF0YSBpbiB0aGUgcGF5bG9hZGVyLCBidXQgb25seSB0aGUgcmVsZXZhbnQgb25lcwoJICBUaGUgcGF5bG9hZGVyIGRpZG4ndCBjb3B5IGFueXRoaW5nIHNvIGZhciwgdGhlIGRlcGF5bG9hZGVyIGNvcGllZCBldmVyeQoJICBwb3NzaWJsZSBtZXRhLiBMZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgYW5kIGp1c3QgY29weSBhbGwgbWV0YXMgd2l0aG91dAoJICB0YWdzIG9yIHdpdGggb25seSB0aGUgdmlkZW8gdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNzc0CgoyMDE1LTA4LTE1IDExOjQxOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cGgyNjVwYXk6IFVzZSBHU1RfV0FSTklOR19PQkpFQ1QoKSBpbnN0ZWFkIG9mIEdTVF9XQVJOSU5HKCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xNSAxMTozMDozNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHBoMjY1cGF5OiBmaXggcG90ZW50aWFsIGNyYXNoIHdoZW4gc2h1dHRpbmcgZG93bgoJICBBIHJhY2UgY29uZGl0aW9uIGluIHRoZSBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gbWF5IGNhdXNlIGJ1ZmZlcnMgdG8gYmUKCSAgdW5yZWZmZWQgd2hpbGUgdGhleSBhcmUgc3RpbGwgdXNlZCBieSB0aGUgc3RyZWFtaW5nIHRocmVhZCBpbgoJICBnc3RfcnRwX2gyNjVfcGF5X3NlbmRfdnBzX3Nwc19wcHMoKSByZXN1bHRpbmcgaW4gYSBjcmFzaC4gQ2hhaW4gdXAgdG8gdGhlCgkgIHBhcmVudCBjbGFzcyBmaXJzdCBpbiB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9uIHRvIG1ha2Ugc3VyZSBzdHJlYW1pbmcKCSAgaGFzIHN0b3BwZWQgYW5kIG9ubHkgdGhlbiBmcmVlIHRob3NlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEzODEKCjIwMTUtMDgtMTUgMTA6MDM6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBvcGVuZ2w6IENoYW5nZSBHTGNsYW1wZCB0byBkb3VibGUKCSAgR0xjbGFtcGQgZG9lcyBub3QgZXhpc3Qgb24gR0xFUywgb25seSBkZXNrdG9wIEdMLgoKMjAxNS0wOC0xNCAxMDozMjoxNCAtMDcwMCAgTWFydGluIEtlbGx5IDxtYXJ0aW5Ac3Vycm91bmQuaW8+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJICBvcGVuZ2w6IGFkZCBtaXNzaW5nIENsZWFyRGVwdGggcHJvdG90eXBlCgkgIFRoZSBDbGVhckRlcHRoIGNhbGwgaXMgbWlzc2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzYzOQoKMjAxNS0wOC0wNiAxNDozMzo1NCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBDbGVhciBTUFMgaW5mbyBhZnRlciBwcm9jZXNzaW5nLgoJICBUaGUgU1BTIHN0cnVjdCBtaWdodCBiZSBmaWxsZWQgb3V0IGJ5IGEgY2FsbCB0bwoJICBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc3Vic2V0X3Nwcywgd2hpY2ggZmlsbHMgb3V0CgkgIGR5bmFtaWNhbGx5IGFsbG9jYXRlZCBkYXRhIGFuZCByZXF1aXJlcyBhIGNhbGwKCSAgdG8gZ3N0X2gyNjRfc3BzX2NsZWFyKCkgdG8gZnJlZSBpdC4gQWxzbyBtYWtlIHN1cmUKCSAgdG8gY2xlYXIgb3V0IGFueSBhbGxvY2F0ZWQgU1BTIGRhdGEgd2hlbiByZXR1cm5pbmcKCSAgYW4gZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMDYKCjIwMTUtMDgtMTIgMDA6MjA6MjYgKzAyMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyBOYXZhbMOzbiA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogUmVmYWN0b3IgdGhlIGNvZGUKCSAgU29tZSBsaW5lcyBvZiBjb2RlIGFyZSByZXBlYXRlZCBzZXZlcmFsIHRpbWVzLCB0aGVyZWZvcmUKCSAgdGhpcyBsaW5lcyBhcmUgc2ltcGxpZmllZCB3aXRoIGEgaW5saW5lIGZ1bmN0aW9uLCB0aGF0IHRoaXMgaXMKCSAgcHJvcGVyIHN0eWxlIG9mIEMrKy4KCjIwMTUtMDgtMTQgMTE6NDM6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IGVuYWJsZSBhY2NlcHQtaW50ZXJzZWN0IGFuZCBhY2NlcHQtdGVtcGxhdGUgZmxhZ3Mgb24gc2lua3BhZAoJICBEbyBhIHF1aWNrIGNoZWNrIHdpdGggdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGl0IGlzIGVub3VnaC4gVXNlcnMKCSAgc2hvdWxkIGhhdmUgZmlndXJlZCB0aGUgYXBwcm9wcmlhdGUgZnVsbCBjYXBzIG9uIGEgcHJldmlvdXMgY2FwcyBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNjIzCgoyMDE1LTA4LTE0IDExOjQzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZW5hYmxlIGFjY2VwdC10ZW1wbGF0ZSBmbGFnCgkgIERvIGEgcXVpY2sgY2hlY2sgd2l0aCB0aGUgcGFkIHRlbXBsYXRlIGNhcHMgYXMgaXQgaXMgZW5vdWdoLiBVc2VycwoJICBzaG91bGQgaGF2ZSBmaWd1cmVkIHRoZSBhcHByb3ByaWF0ZSBmdWxsIGNhcHMgb24gYSBwcmV2aW91cyBjYXBzIHF1ZXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM2MjMKCjIwMTUtMDgtMTQgMTU6MDg6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVwYXkuYzoKCSAgcnRwaDI2NXBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gdXNpbmcgU1BTL1BQUwoJICBGaXhlcyBhIGJ1ZmZlciBsZWFrIHRoYXQgd291bGQgb2NjdXIgaWYgdGhlIHBpcGVsaW5lIHdhcyBzaHV0ZG93biB3aGlsZSBhCgkgIFNQUy9QUFMgaGVhZGVyIHdhcyBiZWluZyBjcmVhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMjcxCgoyMDE1LTA4LTE0IDExOjQ5OjUxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSAgcnRwaDI2NWRlcGF5OiBjb3B5IG1ldGFkYXRhIGluIHRoZSBkZXBheWxvYWRlciwgYnV0IG9ubHkgdGhlIHJlbGV2YW50IG9uZXMKCSAgVGhlIHBheWxvYWRlciBkaWRuJ3QgY29weSBhbnl0aGluZyBzbyBmYXIsIHRoZSBkZXBheWxvYWRlciBjb3BpZWQgZXZlcnkKCSAgcG9zc2libGUgbWV0YS4gTGV0J3MgbWFrZSBpdCBjb25zaXN0ZW50IGFuZCBqdXN0IGNvcHkgYWxsIG1ldGFzIHdpdGhvdXQKCSAgdGFncyBvciB3aXRoIG9ubHkgdGhlIHZpZGVvIHRhZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3NAoKMjAxNS0wOC0xNCAwOTo0NDoyNCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgc3VwcG9ydCBmb3IgSFRUUCBIRUFEIG1ldGhvZCBvZiB0aW1lIHN5bmMKCSAgVGhlIHVybjptcGVnOmRhc2g6dXRjOmh0dHAtaGVhZDoyMDE0IG1ldGhvZCBvZiB0aW1lIHN5bmNocm9uaXNhdGlvbgoJICB1c2VzIGFuIEhUVFAgSEVBRCByZXF1ZXN0IHRvIGEgc3BlY2lmaWVkIFVSTCBhbmQgdGhlbiBwYXJzZXMgdGhlCgkgIERhdGU6IEhUVFAgcmVzcG9uc2UgaGVhZGVyLgoJICBUaGlzIGNvbW1pdCBhZGRzIHN1cHBvcnQgdG8gZGFzaGRlbXV4IGZvciB0aGlzIG1ldGhvZCBvZiB0aW1lCgkgIHN5bmNocm9uaXNhdGlvbiBieSBtYWtpbmcgYSBIRUFEIHJlcXVlc3QgYW5kIHRoZW4gcGFyc2luZyB0aGUgRGF0ZToKCSAgcmVzcG9uc2UuCgkgIFRoaXMgY29tbWl0IGFkZHMgc3VwcG9ydCB0byBnc3RmcmFnbWVudCB0byByZXR1cm4gdGhlIEhUVFAgaGVhZGVycwoJICBhbmQgdG8gdXJpZG93bmxvYWRlciB0byBzdXBwb3J0IEhFQUQgcmVxdWVzdHMuIFRvIGF2b2lkIGNyZWF0aW5nIGEKCSAgbmV3IEFQSSwgdGhlIFJBTkdFIGdldCBmdW5jdGlvbiBpcyByZS11c2VkIChhYnVzZWQ/KSB3aXRoIHN0YXJ0PS0xCgkgIGFuZCBlbmQ9LTEgdG8gaW5kaWNhdGUgYSBIRUFEIHJlcXVlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTMKCjIwMTUtMDgtMTMgMTg6MjE6MjkgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHBvc3QtcmV2aWV3IGZpeHVwIG9mIFVUQ1RpbWluZyBlbGVtZW50CgkgIFRoaXMgY29tbWl0IGFkZHJlc3NlcyB0aGUgZm9sbG93aW5nIGl0ZW1zIGZyb20gdGhlIGNvZGUgcmV2aWV3OgoJICB1c2UgYSBwb3J0YWJsZSB3YXkgdG8gZGVmaW5lIE5UUF9UT19VTklYX0VQT0NILAoJICBmaXggbWVtb3J5IGxlYWsgb24gZXJyb3IsIGFuZAoJICBhZGQgZG9jdW1lbnRhdGlvbiB0byBVVENUaW1pbmcgcGFyc2UgZnVuY3Rpb25zCgkgIFVzaW5nIExMIGlzIG5vdCBwb3J0YWJsZSwgc28gdGhlIEdfR1VJTlQ2NF9DT05TVEFOVCBuZWVkcyB0byBiZSBpbnN0ZWFkLgoJICBJZiBhbiBlcnJvciBvY2N1cnMgZHVyaW5nIEROUyByZXNvbHV0aW9uLCB0aGUgR0Vycm9yIHdhcyBub3QgYmVpbmcKCSAgcmVsZWFzZWQsIGNhdXNpbmcgYSBtZW1vcnkgbGVhay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wNy0xNSAxMTo1NjoxMyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGFkZCBzdXBwb3J0IGZvciBVVENUaW1pbmcgZWxlbWVudHMgZm9yIGNsb2NrIGRyaWZ0IGNvbXBlbnNhdGlvbgoJICBVbmxlc3MgdGhlIERBU0ggY2xpZW50IGNhbiBjb21wZW5zYXRlIGZvciB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGl0cwoJICBjbG9jayBhbmQgdGhlIGNsb2NrIHVzZWQgYnkgdGhlIHNlcnZlciwgdGhlIGNsaWVudCBtaWdodCByZXF1ZXN0CgkgIGZyYWdtZW50cyB0aGF0IGVpdGhlciBub3QgeWV0IG9uIHRoZSBzZXJ2ZXIgb3IgZnJhZ21lbnRzIHRoYXQgaGF2ZQoJICBhbHJlYWR5IGJlZW4gZXhwaXJlZCBmcm9tIHRoZSBzZXJ2ZXIuIFRoaXMgaXMgYW4gaXNzdWUgYmVjYXVzZSB0aGVzZQoJICByZXF1ZXN0cyBjYW4gcHJvcGFnYXRlIGFsbCB0aGUgd2F5IGJhY2sgdG8gdGhlIG9yaWdpbgoJICBJU08vSUVDIDIzMDA5LTE6MjAxNC9BbWQgMSBbUERBTTFdIGRlZmluZXMgYSBuZXcgVVRDVGltaW5nIGVsZW1lbnQgdG8gYWxsb3cKCSAgYSBEQVNIIGNsaWVudCB0byB0cmFjayB0aGUgY2xvY2sgdXNlZCBieSB0aGUgc2VydmVyIGdlbmVyYXRpbmcgdGhlCgkgIERBU0ggc3RyZWFtLiBNdWx0aXBsZSBVVENUaW1pbmcgZWxlbWVudHMgbWlnaHQgYmUgcHJlc2VudCwgdG8gaW5kaWNhdGUKCSAgc3VwcG9ydCBmb3IgbXVsdGlwbGUgbWV0aG9kcyBvZiBVVEMgdGltZSBnYXRoZXJpbmcuIEVhY2ggZWxlbWVudCBjYW4KCSAgY29udGFpbiBhIHdoaXRlIHNwYWNlIHNlcGFyYXRlZCBsaXN0IG9mIFVSTHMgdGhhdCBjYW4gYmUgY29udGFjdGVkCgkgIHRvIGRpc2NvdmVyIHRoZSBVVEMgdGltZSBmcm9tIHRoZSBzZXJ2ZXIncyBwZXJzcGVjdGl2ZS4KCSAgVGhpcyBjb21taXQgcHJvdmlkZXMgcGFyc2luZyBvZiBVVENUaW1pbmcgZWxlbWVudHMsIHVuaXQgdGVzdHMgb2YgdGhpcwoJICBwYXJzaW5nIGFuZCBhIGZ1bmN0aW9uIHRvIHBvbGwgYSB0aW1lIHNlcnZlci4gVGhpcyBmdW5jdGlvbgoJICBzdXBwb3J0cyB0aGUgZm9sbG93aW5nIG1ldGhvZHM6CgkgIHVybjptcGVnOmRhc2g6dXRjOm50cDoyMDE0CgkgIHVybjptcGVnOmRhc2g6dXRjOmh0dHAteHNkYXRlOjIwMTQKCSAgdXJuOm1wZWc6ZGFzaDp1dGM6aHR0cC1pc286MjAxNAoJICB1cm46bXBlZzpkYXNoOnV0YzpodHRwLW50cDoyMDE0CgkgIFRoZSBtYW5pZmVzdCB1cGRhdGUgdGFzayBpcyB1c2VkIHRvIHBvbGwgdGhlIGNsb2NrIHRpbWUgc2VydmVyLAoJICB0byBzYXZlIGhhdmluZyB0byBjcmVhdGUgYSBuZXcgdGhyZWFkLgoJICBXaGVuIGNob29zaW5nIHRoZSBzdGFydGluZyBmcmFnbWVudCBudW1iZXIgYW5kIHdoZW4gd2FpdGluZyBmb3IgYQoJICBmcmFnbWVudCB0byBiZWNvbWUgYXZhaWxhYmxlLCB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzZXJ2ZXIncyBpZGVhCgkgIG9mIFVUQyBhbmQgdGhlIGNsaWVudCdzIGlkZWEgb2YgVVRDIGlzIHRha2VuIGludG8gYWNjb3VudC4gRm9yIGV4YW1wbGUsCgkgIGlmIHRoZSBzZXJ2ZXIncyB0aW1lIGlzIGJlaGluZCB0aGUgY2xpZW50J3MgaWRlYSBvZiBVVEMsIHdlIHdhaXQgZm9yCgkgIGxvbmdlciBiZWZvcmUgcmVxdWVzdGluZyBhIGZyYWdtZW50CgkgIFtQREFNMV06IGh0dHA6Ly93d3cuaXNvLm9yZy9pc28vaG9tZS9zdG9yZS9jYXRhbG9ndWVfdGMvY2F0YWxvZ3VlX2RldGFpbC5odG0/Y3NudW1iZXI9NjYwNjgKCSAgZGFzaGRlbXV4OiBzdXBwb3J0IE5UUCB0aW1lIHNlcnZlcnMgaW4gVVRDVGltaW5nIGVsZW1lbnRzCgkgIFVzZSB0aGUgZ3N0X250cF9jbG9jayB0byBzdXBwb3J0IHRoZSB1c2Ugb2YgYW4gTlRQIHNlcnZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQxMwoKMjAxNS0wOC0xNCAxMToxMzo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIGNoZWNrOiBSZW5hbWUgc3RhdGVzIHVuaXQgdGVzdAoJICBNYWtlcyBpdCBlYXNpZXIgdG8gZGlmZmVyZW50aWF0ZSBmcm9tIG90aGVyIG1vZHVsZXMgc3RhdGVzIHVuaXQgdGVzdAoKMjAxNS0wOC0xMyAxMDozMToyMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBzcHUtcGdzOiBmaXggYnVmZmVyIGFuZCBldmVudCBsZWFrCgkgIFdoZW4gcGxheWluZyBtdHMgZmlsZXMgd2l0aCBlbWJlZGRlZCBzdWJ0aXRsZXMsIHRoZSBidWZmZXIgaXMgbWFwcGVkLAoJICBidXQgbm90IHVubWFwcGVkIGF0IHRoZSBlbmQgcmVzdWx0aW5nIGluIGEgbWVtb3J5IGxlYWsuCgkgIEFsc28gdW5yZWYgZXZlbnQgaW4gaGFuZGxlX2R2ZF9ldmVudCBhcyBpdCB0YWtlcyBvd25lcnNoaXAgb2YgdGhlIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTM5CgoyMDE1LTA4LTEzIDEwOjI1OjUyICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggZXZlbnQgbGVha3MKCSAgV2hlbiBwbGF5aW5nIG10cyBmaWxlcyB3aXRoIGVtYmVkZGVkIHN1YnRpdGxlcywgdGhlcmUgYXJlIGZldyBldmVudCBsZWFrcy4KCSAgRXZlbnRzIGFyZSBzdXBwb3NlZCB0byBiZSB0cmFuc2ZlciBmdWxsLiBTbyBpZiBub3QgZm9yd2FyZGluZyB0aGUgZXZlbnQsCgkgIHRoZXkgbmVlZCB0byBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzUzOQoKMjAxNS0wOC0xMyAxMjozODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgUmV2ZXJ0ICJzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3QiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZmYxMWExYThhMGM2ODVkMmVkZDBlMDZjMDA3MWNiYjk0ZjJjYjY2My4KCSAgSXQgY2FuJ3QgYmUgYXNzdW1lZCB0aGF0IGFsbCBidWZmZXJzIGluIGEgYnVmZmVyIGxpc3QgaGF2ZSB0aGUgc2FtZSBTU1JDIG9yCgkgIGFyZSBSVFAgb3IgUlRDUCBvbmx5LiBJdCBoYXMgdG8gYmUgY2hlY2tlZCBmb3IgZXZlcnkgc2luZ2xlIGJ1ZmZlciwgYW5kIG9uZQoJICBiYXNpY2FsbHkgaGFzIHRvIGRvIHRoZSBwcm9jZXNzaW5nIHRoYXQgaXMgZG9uZSBieSB0aGUgZGVmYXVsdCBjaGFpbl9saXN0CgkgIGltcGxlbWVudGF0aW9uLgoKMjAxNS0wOC0xMiAxNzo1NDo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogY2hlY2tpbmcgaWYgZGVwYXkgaGFzIHNwcy9wcHMgbmFscyBiZWZvcmUgaW5zZXJ0aW9uCgkgIFJlbGF0ZWQgdG86IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTM0MzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNzoyMjo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogb25seSB1cGRhdGUgdGhlIHNyY3BhZCBjYXBzIGlmIHNvbWV0aGluZyBlbHNlIHRoYW4gdGhlIGNvZGVjX2RhdGEgY2hhbmdlZAoJICBoMjY0cGFyc2UgYW5kIGdzdHJ0cGgyNjRkZXBheSBkbyB0aGUgc2FtZSwgbGV0J3Mga2VlcCB0aGUgYmVoYXZpb3VyCgkgIGNvbnNpc3RlbnQuIEFzIHdlIG5vdyBpbmNsdWRlIHRoZSBjb2RlY19kYXRhIGluc2lkZSB0aGUgc3RyZWFtLCB0aGlzIGNhdXNlcwoJICBsZXNzIGNhcHMgcmVuZWdvdGlhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNjo0Mzo0OCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogUFBTIHJlcGxhY2VzIG9sZCBQUFMgaWYgaXQgaGFzIHRoZSBzYW1lIGlkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyMjgKCjIwMTUtMDgtMTIgMTY6MTE6MDAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IEluc2VydCBTUFMvUFBTIE5BTHMgaW50byB0aGUgc3RyZWFtCgkgIHJ0cGgyNjRkZXBheSBkb2VzIHRoZSBzYW1lIGFuZCB0aGlzIGZpeGVzIGRlY29kaW5nIG9mIHNvbWUgc3RyZWFtcyB3aXRoIDMyCgkgIFNQUyAob3IgMjU2IFBQUykuIEl0IGlzIGFsbG93ZWQgdG8gaGF2ZSBTUFMgSUQgMCB0byAzMSAob3IgUFBTIElEIDAgdG8gMjU1KSwKCSAgYnV0IHRoZSBmaWVsZCBpbiB0aGUgY29kZWNfZGF0YSBmb3IgdGhlIG51bWJlciBvZiBTUFMgb3IgUFBTIGlzIG9ubHkgNQoJICAob3IgOCkgYml0LiBBcyBzdWNoLCAzMiBTUFMgKG9yIDI1NiBQUFMpIGFyZSBpbnRlcnByZXRlZCBhcyAwIGV2ZXJ5d2hlcmUuCgkgIFRoaXMgbG9va3MgbGlrZSBhIG1pc3Rha2UgaW4gdGhlIHBhcnQgb2YgdGhlIHNwZWN0IGFib3V0IHRoZSBjb2RlY19kYXRhLgoKMjAxNS0wOC0xMiAxNTo0OTo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogaW1wbGVtZW50IHByb2Nlc3NfcnRwX3BhY2tldCgpIHZmdW5jCgkgIEZvciBtb3JlIG9wdGltaXNlZCBSVFAgcGFja2V0IGhhbmRsaW5nOiBtZWFucyB3ZSBkb24ndCBuZWVkIHRvIG1hcCB0aGUKCSAgaW5wdXQgYnVmZmVyIGFnYWluIGJ1dCBjYW4ganVzdCByZS11c2UgdGhlIG1hcHBpbmcgdGhlIGJhc2UgY2xhc3MgaGFzCgkgIGFscmVhZHkgZG9uZS4KCSAgQmFzZWQgb246IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyMzUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzIyOAoKMjAxNS0wOC0xMiAxNToxNDo1MCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cGgyNjVkZXBheTogVXNlIEdTVF9CVUZGRVJfUFRTKCkgaW5zdGVhZCBvZiBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpCgkgIFN3aXRjaGluZyB0byBHU1RfQlVGRkVSX1RJTUVTVEFNUCgpIHRvIGJlIGNvbnNpc3RlbnQgd2l0aCBvdGhlciBydHAgY29kZS4KCjIwMTUtMDgtMTIgMTQ6NTk6NTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHBoMjY1ZGVwYXk6IHByZXZlbnQgdHJ5aW5nIHRvIGdldCAwIGJ5dGVzIGZyb20gYWRhcHRlcgoJICBUaGlzIGNhdXNlcyBhbiBhc3NlcnRpb24gYW5kIHdvdWxkIGxlYWQgdG8gZ2V0dGluZyBhIE5VTEwgaW5zdGVhZAoJICBvZiBhIGJ1ZmZlci4gV2l0aG91dCBwcm9wZXIgY2hlY2tpbmcgdGhpcyB3b3VsZCBlYXNpbHkgbGVhZCB0byBhCgkgIHNlZ2ZhdWx0LgoJICBSZWxhdGVkIHRvIHJwdGgyNjRkZXBheTogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE5OQoKMjAxNS0wOC0xMiAwNzo1ODowOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NTogRml4IHRoZSByYW5nZSBvZiBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20KCSAgQ2hyb21hTG9nMldlaWdodERlbm9tID0gbHVtYV9sb2cyX3dlaWdodF9kZW5vbSArIGRlbHRhX2Nocm9tYV9sb2cyX3dlaWdodF9kZW5vbQoJICBUaGUgdmFsdWUgb2YgQ2hyb21hTG9nMldlaWdodERlbm9tIHNob3VsZCBiZSBpbiB0aGUgcmFuZ2Ugb2YgMCB0byA3IGFuZAoJICB0aGUgdmFsdWUgbHVtYV9sb2cyX3dlaWdodF9kZW5vbSAgc2hvdWxkIGJlIGFsc28gaW4gdGhlIHJhbmdlIG9mIDAgdG8gNy4KCSAgV2hpY2ggbWVhbnMgLCBkZWx0YV9jaHJvbWFfbG9nMl93ZWlnaHRfZGVub20gY2FuIGhhdmUgdmFsdWVzIGluIHRoZSByYW5nZQoJICBiZXR3ZWVuIC03IGFuZCA3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzNTUyCgoyMDE1LTA4LTEyIDA1OjExOjI3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY1OiBGaXggdGhlIHBhcnNpbmcgb2YgcmVmX3BpY19saXN0c19tb2RpZmljYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzU1MgoKMjAxNS0wOC0xMiAwMDoyMDoxMCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB0YWtlIGludG8gYWNjb3VudCBub24gMS8xIHBhciBmb3IgbmF2aWdhdGlvbgoJICBUaGUgY3VycmVudCBjb2RlIHdhcyBpZ25vcmluZyB0aGUgcGFyL2RhciBhc3BlY3Qgd2hlbiB0cmFuc2Zvcm1pbmcKCSAgZnJvbSB3aW5kb3cgY29vcmRpbmF0ZXMgdG8gc3RyZWFtIGNvb3JkaW5hdGVzIHJlc3VsdGluZyBpbiBpbmNvcnJlY3QKCSAgY29vcmRpbmF0ZXMgYmVpbmcgc2VudCB1cHN0cmVhbSBpbiB0aGUgbmF2aWdhdGlvbiBldmVudHMuCgoyMDE1LTA4LTEyIDAwOjE4OjIwICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBmaXggbW90aW9uIGV2ZW50IG5hbWUKCSAgcy9tb3Rpb24vbW91c2UvCgkgIEZpeGVzIGhvdmVyIGludGVyYWN0aW9uIHdpdGggRFZEIG1lbnVzCgoyMDE1LTA4LTEyIDAwOjE0OjE0ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSAgZ3RrOiBjb3JyZWN0IG5hdmlnYXRpb24gZXZlbnRzIGZvciB3aW5kb3cgc2NhbGluZwoJICBpLmUuIHRha2UgaW50byBhY2NvdW50IHRoZSBwb3NzaWJsaXR5IG9mIHNjYWxpbmcgaW4gdGhlIHNpbmsKCSAgb3IgdGhyb3VnaCBHREtfU0NBTEUuCgkgIEZpeGVzIERWRCBNZW51cyB3aXRoIGEgc2NhbGVkIGd0a3dpZGdldAoKMjAxNS0wOC0xMSAxNTowMjoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBGaXggc2V0dGluZyBzdHJpbmcgcGFyYW1ldGVycwoJICBTdHJpbmcgcGFyYW1ldGVycyBhcmUgZXhwZWN0ZWQgdG8gYmUgcGFzc2VkIGFzIChmMHJfcGFyYW1fc3RyaW5nICopLAoJICB3aGljaCBhY3R1YWxseSBtYXAgdG8gY2hhcioqLiBJbiB0aGUgZmlsdGVycyB0aGlzIGlzIGV2YWx1YXRlZCBhcwoJICAoKihjaGFyKiopcGFyYW0pIHdoaWNoIGN1cnJlbnRseSBsZWFkIHRvIGNyYXNoIHdoZW4gcGFzc2luZyBjaGFyKi4KCSAgUmVtb3ZlIHRoZSBzcGVjaWFsIGNhc2UgZm9yIHN0cmluZywgYWxsIHR5cGVzLCBpbmNsdWRpbmcgY2hhciogYXMKCSAgcGFzc2VkIGFzIGEgcmVmZXJlbmNlLgoJICBodHRwczovL3BoYWJyaWNhdG9yLmZyZWVkZXNrdG9wLm9yZy9UODMKCjIwMTUtMDgtMTEgMTM6MzQ6NTkgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5oOgoJICBndGs6IGltcGxlbWVudCBHc3ROYXZpZ2F0aW9uIGludGVyZmFjZQoJICBOb3cgd2UgY2FuIHB1c2gga2V5L21vdXNlIGlucHV0IGludG8gdGhlIHBpcGVsaW5lIGZvciBEVkQgdXNlIGNhc2VzLgoKMjAxNS0wNi0zMCAxMzo1MTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IENvcHkgbWV0YWRhdGEgaW4gdGhlIChkZSlwYXlsb2FkZXIsIGJ1dCBvbmx5IHRoZSByZWxldmFudCBvbmVzCgkgIFRoZSBwYXlsb2FkZXIgZGlkbid0IGNvcHkgYW55dGhpbmcgc28gZmFyLCB0aGUgZGVwYXlsb2FkZXIgY29waWVkIGV2ZXJ5CgkgIHBvc3NpYmxlIG1ldGEuIExldCdzIG1ha2UgaXQgY29uc2lzdGVudCBhbmQganVzdCBjb3B5IGFsbCBtZXRhcyB3aXRob3V0IHRhZ3Mgb3IKCSAgd2l0aCBvbmx5IHRoZSBhdWRpbyB0YWcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzQKCjIwMTUtMDgtMTEgMDQ6MTQ6MTkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogaDI2NTogRml4IHRoZSBmcmFtZSBzdGFydCBkZXRlY3Rpb24gY29kZQoJICBDaGVjayBzbGljZSBoZWFkZXJzIGluIGJldHdlZW4gR1NUX0gyNjVfTkFMX1NMSUNFX1RSQUlMX04KCSAgYW5kIEdTVF9IMjY1X05BTF9TTElDRV9SQVNMX1IgZm9yIGZyYW1lIHN0YXJ0IGRldGVjdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5NwoKMjAxNS0wOC0xMSAwMzo0Nzo0MiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBoMjY1OiBBdm9pZCBza2lwcGluZyBvZiBFT1MgYW5kIEVPQiBuYWxzCgkgIEVuZE9mU2VxdWVuY2UgYW5kIEVuZE9mQml0c3RyZWFtIG5hbCB1bml0cyBoYXZlIHNpemUgb2YgMiBieXRlcy4KCSAgRG9uJ3QgY29uc2lkZXIgdGhlbSBhcyBicm9rZW4gbmFscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzQ5NwoKMjAxNS0wOC0xMCAyMzowMjoxMiArMDIwMCAgVmFuZXNzYSBDaGlwaSA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogd3JvbmcgZm9ybSB0byB3cml0ZSB0aGUgZGVsZXRlIG9wZXJhdG9yCgkgIFRoZSBkZWxldGUgb3BlcmF0b3IgaXMgd3JpdHRlbiB0aGlzIHdheTogZGVsZXRlIChjYXNjYWRlKS4gVGhpcyB3YXkgaXMKCSAgbWlzc3BlbGxlZCwgaXQgaXMgYW4gb3BlcmF0b3IsIG5vdCBhIGZ1bmN0aW9uLiBEZWxldGUgdGhlIHBhcmVudGhlc2VzLgoKMjAxNS0wOC0xMCAxOToxMzoxMSArMDIwMCAgdmFuZWNoaXBpIDx2Y2hpcGlycmFzNkBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBzaW1wbGlmeSByZXBlYXRlZCBjb2RlLgoJICBTdG9yZSB0aGUgdmFsdWUgb2Ygci5oZWlnaHQgLyAyIGluc3RlYWQgb2YgcmVwZWF0aW5nIHRoZSBvcGVyYXRpb24gbGluZQoJICB0aHJlZSB0aW1lcy4KCjIwMTUtMDgtMTAgMTk6MDI6MTAgKzAyMDAgIHZhbmVjaGlwaSA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSAgZmFjZWRldGVjdDogUmVkdW5kYW5jeSBleGlzdHMgaW4gY29kZS4KCSAgQ2hlY2tpbmcgdGhlIHZlY3RvciBpcyBub3QgZW1wdHkgYW5kIGNoZWNraW5nIHRoZSB2ZWN0b3Igc2l6ZSBpcyBncmVhdGVyCgkgIHRoYW4gemVybyBhcmUgdGhlIHNhbWUgdGhpbmcsIHRoaXMgaXMgYSByZWR1bmRhbmN5IGluIHRoZSBjb2RlLiBPbmx5CgkgIGNoZWNraW5nIHRoZSB2ZWN0b3IgaXMgbm90IGVtcHR5IGlzIHN1ZmZpY2llbnQsIHRoZXJlZm9yZSByZW1vdmluZyB0aGUKCSAgb3RoZXIgY2hlY2suCgoyMDE1LTA4LTEwIDE0OjQ4OjU4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBBZGQgb3BlbmdsX3ZlcnNpb24uaCB0byB0aGUgbGlzdCBvZiBzb3VyY2VzCgkgIEFkZGluZyB0aGlzIHByaXZhdGUgaGVhZGVyIHRvIHRoZSBsaXN0IG9mIHNvdXJjZXMuIFdlIGRvbid0IHdhbnQgdG8gbWFrZQoJICB0aGlzIGhlYWRlciBwdWJsaWMsIGJ1dCB3ZSBuZWVkIGl0IGluIHRoZSBsaXN0IG9mIHNvdXJjZXMgb3RoZXJ3aXNlIGl0CgkgIHdvbid0IGJlIGluY2x1ZGVkIGluIHRoZSB0YXJiYWxsLiBUaGlzIGZpeGVzIG1ha2UgZGlzdGNoZWNrLgoJICBUaGlzIHJlZ3Jlc3Npb24gd2FzIGludHJvZHVjZWQgYnkgY29tbWl0IDFhNmZlM2RiCgoyMDE1LTA4LTEwIDE5OjA2OjE2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJICBleGFtcGxlczogZmFjZWRldGVjdDogb25seSBjcmVhdGUgdmFyaWFibGVzIHdoZW4gbmVlZGVkCgkgIFRoZSB2YXJpYWJsZXMgdG8gc3RvcmUgZmFjZSB2YWx1ZXMgYXJlIG9ubHkgbmVlZGVkIGlmIHRoZXkgd2lsbCBiZSB1c2VkIHRvCgkgIGNvbnRyb2wgdGhlIHZvbHVtZS4gV2hpY2ggaXNuJ3QgdGhlIGRlZmF1bHQgdG8gYXZvaWQgcG90ZW50aWFsbHkgYmVpbmcgdmVyeQoJICBsb3VkIGFjY2lkZW50YWxseS4gT25seSBjcmVhdGUgdmFyaWFibGVzIHdoZW4gbmVlZGVkLgoKMjAxNS0wOC0xMCAxNjo1MToxNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IG1ha2Ugdm9sdW1lIGNvbnRyb2wgb3B0aW9uYWwKCjIwMTUtMDgtMTAgMTY6Mzg6MzIgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Ymx1ci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiB1c2UgZ2xlczIgc2hhZGVycyBldmVyeXdoZXJlCgkgIFRoaXMgZWZmZWN0aXZlbHkgbGltaXRzIGEgZ2xmaWx0ZXIgc3ViY2xhc3MgdG8gYmUgPiBHTChFUykgMi4wLgoJICByYXRoZXIgdGhhbiBhIHBvc3NpYmxlIEdMIDEuNC4KCjIwMTUtMDgtMTAgMTU6NDQ6NTQgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC91dGlscy9vcGVuZ2xfdmVyc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dC93Z2w6IGltcGxlbWVudCBnbDMgY29yZSBwcm9maWxlIGNvbnRleHQgc2VsZWN0aW9uCgoyMDE1LTAyLTI4IDAxOjA3OjQ0ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBpbXBsZW1lbnQgcGl2b3QgcG9pbnQgZm9yIHJvdGF0aW9uIGFuZCBzY2FsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NzYzCgkgIEFkZCBhIHBpdm90IHZlY3RvciBmb3Igc2V0dGluZyB0aGUgb3JpZ2luIG9mIHJvdGF0aW9ucyBhbmQgc2NhbGVzLgoJICBXaXRoIHRoZSBwaXZvdCBwb2ludCB0aGUgcm90YXRpb24gYW5kIHNjYWxlIG9wZXJhdGlvbnMgY2FuIGhhdmUKCSAgZGlmZmVyZW50IG9yaWdpbnMuIFRoaXMgYWRkcyB0aGUgYWJpbGl0eSB0byByb3RhdGUgYXJvdW5kIGRpZmZlcmVudCBwb2ludHMuCgkgIEN1cnJlbnRseSB0aGUgZGVmYXVsdCAoMCwgMCkgcGl2b3QgcG9pbnQgaXMgcG9zc2libGUsCgkgIGEgcm90YXRpb24gYXJvdW5kIHRoZSBjZW50ZXIsIGFuZCB6b29taW5nIGludG8gYW5kIG91dCBvZiB0aGUgY2VudGVyLgoJICBXaXRoIGFuIHBpdm90IHBvaW50IHRoaXMgaXMgb3B0aW9uYWwuCgkgIEkgZGVmaW5lZCB0aGUgZm9sbG93aW5nIGltYWdlIGNvb3JkaW5hdGVzIGZvciB0aGUgcGl2b3QgcG9pbnQ6CgkgICgtMSwxKSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICgxLDEpCgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJCQl8CgkgIHwJICAoMCwwKQkJfAoJICB8CQkJfAoJICB8CQkJfAoJICB8CQkJfAoJICAoLTEsLTEpIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKDEsLTEpCgkgIEV4YW1wbGU6CgkgIFJvdGF0ZSB0aGUgdmlkZW8gYXQgdGhlIGJvdHRvbSBsZWZ0IGNvcm5lcgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgXAoJICAhIGdsdHJhbnNmb3JtYXRpb24gXAoJICBzY2FsZS14PTAuNSBcCgkgIHNjYWxlLXk9MC41IFwKCSAgcm90YXRpb24tej0yNS4wIFwKCSAgcGl2b3QteD0tMS4wIFwKCSAgcGl2b3QteT0tMS4wIFwKCSAgISBnbGltYWdlc2luawoJICBUaGUgcGl2b3QteiBvcHRpb24gZGVmaW5lcyB0aGUgcGl2b3QgcG9pbnQgaW4gM0Qgc3BhY2UuCgkgIFRoaXMgb25seSBhZmZlY3RzIHJvdGF0aW9uLCBzaW5jZSB3ZSBoYXZlIG5vIFogZGF0YSB0byBzY2FsZS4KCSAgV2l0aCB0aGlzIG9wdGlvbiBhIHZpZGVvIGNhbiBiZSByb3RhdGVkIGFyb3VuZCBhIHBvaW50IGluIDNEIHNwYWNlLgoJICBFeGFtcGxlOgoJICBSb3RhdGUgYXJvdW5kIHBvaW50IGJlaGluZCB0aGUgdmlkZW86CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyBcCgkgICEgZ2x0cmFuc2Zvcm1hdGlvbiBcCgkgIHJvdGF0aW9uLXg9MTAuMCBcCgkgIHBpdm90LXo9LTQuMCBcCgkgICEgZ2xpbWFnZXNpbmsKCjIwMTUtMDgtMDggMTQ6NDU6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQWRkIHNoYWRlciB0byBjb252ZXJ0IEJHUkEvQVJHQiAtPiBSR0JBCgkgIERlcGVuZGluZyBvbiB0aGUgYnl0ZXMgb3JkZXIgd2Ugd2lsbCBnZXQgQkdSQSAobGl0dGxlKSBhbmQgQVJHQiAoYmlnKQoJICBmcm9tIHRoZSBjb21wb3NpdGlvbiBvdmVybGF5IGJ1ZmZlciB3aGlsZSBvdXIgR0wgY29kZSBleHBlY3RzIFJHQkEuIEFkZAoJICBhIGZyYWdtZW50IHNoYWRlciB0aGF0IGRvIHRoaXMgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjg0MgoKMjAxNS0wOC0wOCAxNzoyODowMyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuY2M6CgkqIGV4dC9xdC9nc3Rxc2d0ZXh0dXJlLmg6CgkqIGV4dC9xdC9xdGl0ZW0uY2M6CgkgIHFtbDogaW1wbGVtZW50IHRoZSByZXF1aXJlZCBtdWx0aXBsZSBHTCBjb250ZXh0IHN5bmNob25pc2F0aW9uCgkgIEZyb20gR1N0cmVhbWVyJ3MgR0wgY29udGV4dCBpbnRvIHRoZSBRTUwgY29udGV4dAoKMjAxNS0wOC0wOCAxNzoyMjowNSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2wvc3luY21ldGE6IGltcGxlbWVudCBzeW5jaHJvbmlzYXRpb24gd2l0aG91dCBnbEZlbmNlU3luYwoJICBVc2VzIGdsRmluaXNoIGFzIHRoYXQncyB0aGUgYmVzdCB3ZSBoYXZlIGZvciBsZXNzZXIgT3BlbkdMIHZlcnNpb25zLgoKMjAxNS0wOC0wOCAxNTo0NTo1OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogb3V0cHV0IFRJTUUgc2VnbWVudCBpZiB3ZSBvdXRwdXQgYSBzdHJlYW0gYW5kIHdvbid0IHNlZWsgYmFjayBsYXRlcgoJICBDaGVjayBpZiBkb3duc3RyZWFtIGlzIHNlZWthYmxlIHZpYSBhIFNFRUtJTkcgcXVlcnkgYW5kIG91dHB1dCBhCgkgIEJZVEUgc2VnbWVudCBpZiB3ZSB3YW50IHRvIHNlZWsgYmFjayB0byBmaXggdXAgdGhlIGhlYWRlcnMgbGF0ZXIsCgkgIGJ1dCBpZiB3ZSdyZSBzdHJlYW1pbmcgc2VuZCBhIFRJTUUgc2VnbWVudCBpbnN0ZWFkICh3aGljaCBnb2VzCgkgIGRvd24gYmV0dGVyIHdpdGggZS5nLiBhc2ZtdXggISBydHBhc2ZwYXkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTUzCgoyMDE1LTA4LTA4IDE1OjMwOjQzICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0cy9nbGNvbnRleHQ6IGZpeCBJTlZBTElEX0VOVU0gR0wgZXJyb3IgaW4gdGVzdAoKMjAxNS0wOC0wOCAxNToyMTowMyArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGNvbnRleHQvZ2x4OiBvbmx5IHVzZSBnbFhDcmVhdGVDb250ZXh0QXR0cmlicyBmb3IgT3BlbkdMIDMgY29udGV4dHMKCSAgbWVzYSBmb3IgZXhhbXBsZSB3aGVuIGNyZWF0aW5nIGEgR0wgMy4xIGNvbXBhdGliaWxpdHkgY29udGV4dAoJICBvdmVycmlkZXMgb3VyIGNvbnRleHQgcHJvZmlsZSBzZWxlY3Rpb24gdG8gY3JlYXRlIGEgY29yZSBjb250ZXh0LgoKMjAxNS0wOC0wOCAxMzoxOTo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RmYWNlZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IGZhY2VkZXRlY3Q6IG9ubHkgc2V0IHRvIHBsYXlpbmcgd2hlbiBpdCdzIG5vdCBhbHJlYWR5CgoyMDE1LTA4LTA4IDEyOjUyOjM2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0aGFuZGRldGVjdF90ZXN0LmM6CgkgIGV4YW1wbGVzOiBvcGVuY3Y6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZXR0aW5nIG9mIGEgcHJvcGVydHkKCSAgIi9kZXYvdmlkZW8wIiBpcyB0aGUgZGVmYXVsdCBkZXZpY2Ugb2YgdjRsMnNyYywgc2V0dGluZyBpdCB0byB0aGlzIGlzCgkgIHJlZHVuZGFudC4KCjIwMTUtMDgtMDcgMTU6NDM6NTMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBmYWNlZGV0ZWN0OiBmaXggcHJvZmlsZSBsb2FkaW5nIGNoZWNrCgkgIFNpbmNlIHRoZSBwcm9maWxlIGdjaGFyIGRlcGVuZHMgb24gREVGQVVMVF9GQUNFX1BST0ZJTEUsIGl0IHNob3VsZCBuZXZlciBiZQoJICBOVUxMLiBGdXJ0aGVybW9yZSBDYXNjYWRlQ2xhc3NpZmllciBhY2NlcHRzIGFueSBpbnB1dCwgZXZlbgoJICBhbiBlbXB0eSBvbmUsIGJ1dCBpZiB0aGUgcHJvZmlsZSBmYWlscyB0byBsb2FkIGl0IHJldHVybnMgYW4gZW1wdHkgY2FzY2FkZS4KCSAgQ2hlY2sgZm9yIHRoaXMgaW5zdGVhZCwgYW5kIGluZm9ybSB0aGUgdXNlciBpZiB0aGVyZSB3YXMgYW4gRXJyb3IuCgoyMDE1LTA4LTA2IDExOjMwOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHdhcm4gYWJvdXQgZHVyYXRpb24gaWYgaXQgaXMgbm90IGtub3duCgkgIEFuZCBhbHNvIHByaW50IHRoZSB2YWx1ZXMgaW4gY2FzZSBvZiB3YXJuaW5nCgoyMDE1LTA4LTA3IDEzOjE2OjU2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBhZGQgbmV3IGV4YW1wbGUgZmlsZQoJICBDb21taXQgMDJiOWRhYWZkZjY0YWIyMDVlZDcyNWY1NDk2ZGZhNWNlODYwZWFjYyBhZGRlZCBhIG5ldyBleGFtcGxlIGZpbGUKCSAgdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGZhY2VkZXRlY3RfdGVzdCwgYWRkaW5nIGl0IHRvIC5naXRpZ25vcmUKCjIwMTUtMDgtMDcgMTM6MDg6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBjb25maWd1cmU6IHVwZGF0ZSBPcGVuQ1YgcmVxdWlyZW1lbnRzIHRvIDIuMy4wCgkgIFdpdGggZmFjZWRldGVjdCBwb3J0ZWQgdG8gQysrIHRoZSBtaW5pbXVtIHZlcnNpb24gb2YgT3BlbkNWCgkgIHN1cHBvcnRlZCBpcyAyLjMuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4Mzc3CgoyMDE1LTA4LTA3IDA1OjU4OjIyICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDgtMDYgMTg6MTI6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgcmdiMmJheWVyOiBVc2UgbWFwcGVkIGZyYW1lIHN0cmlkZQoKMjAxNS0wOC0wNiAxODoxMTo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJICByZ2IyYmF5ZXI6IFByb3RlY3QgYWdhaW5zdCBmYWlsaW5nIG1hcAoKMjAxNS0wOC0wNiAxODowNDo1OCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IFJlYWQgc3RyaWRlIGZyb20gdGhlIHZpZGVvIGluZm8KCjIwMTUtMDgtMDYgMTg6MDQ6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBQcm90ZWN0IGFnYWluc3QgZmFpbGluZyBtYXAKCjIwMTUtMDgtMDYgMTk6MjM6NDkgKzAzMDAgIElseWEgQXZlcnlhbm92IDxpLmF2ZXJ5YW5vdkBnZW9zY2FuLmFlcm8+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2VuY29kZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGU6IEZpeCB3cm9uZyBwYWQgaW4gdmlkZW9lbmNvZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMzMjYKCjIwMTUtMDgtMDMgMTY6NTc6MzEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9mcmFnbWVudF9pbmZvKCkKCSAgVGhlIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfZnJhZ21lbnRfaW5mbyBmdW5jdGlvbiBjb3VsZCBjYWxsCgkgIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvIGZ1bmN0aW9uIHR3aWNlLiBUaGUKCSAgZ3N0X2Rhc2hfZGVtdXhfc3RyZWFtX3VwZGF0ZV9oZWFkZXJzX2luZm8gZnVuY3Rpb24gd2lsbCBzZXQgaGVhZGVyX3VyaSBhbmQKCSAgaW5kZXhfdXJpIHRvIHNvbWUgbmV3bHkgYWxsb2NhdGVkIHN0cmluZ3MuIFRoZSB2YWx1ZXMgc2V0IGJ5IHRoZSBmaXJzdCBjYWxsIG9mCgkgIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV91cGRhdGVfaGVhZGVyc19pbmZvIHdpbGwgbGVhayB3aGVuIHRoZSBmdW5jdGlvbiBpcwoJICBjYWxsZWQgZm9yIGEgc2Vjb25kIHRpbWUuCgkgIFRoZSBzb2x1dGlvbiBpcyB0byBjYWxsIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fZnJhZ21lbnRfY2xlYXIgYmVmb3JlIHRoZQoJICBzZWNvbmQgY2FsbCBvZiBnc3RfZGFzaF9kZW11eF9zdHJlYW1fdXBkYXRlX2hlYWRlcnNfaW5mbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMTg4CgoyMDE1LTA4LTA1IDE0OjUyOjEyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFNlZ21lbnQgc2hvdWxkIHN0YXJ0IGF0IGJhc2UgdHMKCSAgSW5zdGVhZCB3ZSB3b3VsZCB1c2UgY3VyX3RzIHdoaWNoIG1hdGNoZXMgdGhlIGxhc3QgVFMgc3RvcmUKCSAgaW4gdGhlIGJ1ZmZlciBsaXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDM3CgoyMDE1LTA4LTA1IDEyOjU2OjU3ICswMjAwICBBbmRlcnMgSm9uc3NvbiA8YW5kZXJzLmpvbnNzb25Abm9yc2pvdmFsbGVuLnNlPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yOiBGaXggc3RyaW5nIHR5cG8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzI0MQoKMjAxNS0wOC0wNSAxMTo1NjozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogZnJlZSBJcGxJbWFnZSB3aXRoIGN2UmVsZWFzZUltYWdlCgkgIFVzaW5nIGRlbGV0ZSgpIHdpdGggSXBsSW1hZ2Ugd2lsbCBmYWlsIHRvIGZyZWUgc29tZSBvZiB0aGUgc3RydWN0dXJlJ3MKCSAgY29udGVudHMuIGN2UmVsZWFzZUltYWdlKCkgaXMgdGhlIHByb3BlciB3YXkgb2YgZnJlZWluZyB0aGUgbWVtb3J5LgoKMjAxNS0wOC0wNSAxMTozOTowMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogZmFjZWRldGVjdDogY2hlY2sgcG9pbnRlciBiZWZvcmUgdXNpbmcgaXQKCSAgQ2hlY2sgaWYgcHJvZmlsZSBpcyBOVUxMIGJlZm9yZSBkZXJlZmVyZW5jaW5nIGl0IHdpdGggbmV3LiBBbHNvLCBuZXcgd2lsbAoJICBuZXZlciByZXR1cm4gTlVMTDsgaWYgYWxsb2NhdGlvbiBmYWlscywgYSBzdGQ6OmJhZF9hbGxvYyBleGNlcHRpb24gd2lsbCBiZQoJICB0aHJvd24gaW5zdGVhZC4gUmVtb3ZlIGNoZWNrIGZvciBhIE5VTEwgcmV0dXJuLgoJICBDSUQgIzEzMTUyNTgKCjIwMTUtMDgtMDUgMTE6MTQ6NDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IHJlbW92ZSBkZWFkIGNvZGUKCSAgbGV2ZWxfb2sgaXMgb25seSB1c2VkIGluIGEgY2hlY2sgdGhhdCB3aWxsIG5ldmVyIGJlIHRydWUsIHJlbW92aW5nIGl0LgoJICBDSUQgIzEzMTUyNTUKCjIwMTUtMDgtMDUgMTE6MTE6MTEgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IGZpeCBtZW1vcnkgbGVhawoJICBGcmVlIHZwc19uYWwgYmVmb3JlIHJldHVybmluZy4KCSAgQ0lEICMxMzE1MjU3CgoyMDE1LTA4LTA0IDIzOjE1OjM2ICswMjAwICBDYXJsb3MgR2FybmFjaG8gPGNhcmxvc2dAZ25vbWUub3JnPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBEb24ndCBsZWFrIGEgR3N0VmlkZW9Db2RlY1N0YXRlCgkgIFRoZXJlJ3MgYWxyZWFkeSB0aGUgb3V0cHV0X3N0YXRlIHZhcmlhYmxlIHdpdGggaXQsIG5vIG5lZWQgdG8KCSAgY2FsbCBnc3RfdmlkZW9fZGVjb2Rlcl9nZXRfb3V0cHV0X3N0YXRlKCkgYW5kIGdldCBhIG5ldyByZWYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNjIKCjIwMTUtMDgtMDQgMjE6MzI6NTMgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGR1cGxpY2F0ZWQgZm9ybWF0IGluIGhhbmRsZV9zZWVrX3B1bGwKCSAgR3N0Rm9ybWF0IHZhcmlhYmxlIGFyZSBkdXBsaWNhdGVkIGluIGhhbmRsZV9zZWVrX3B1bGwgZnVuY3Rpb24uCgkgIFNvIHdlIG5lZWQgdG8gbW92ZSB0aGlzIHZhcmlhYmxlIGluIGNvbmRpdGlvbiBzdGF0ZW1lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMyNDMKCjIwMTUtMDgtMDQgMTQ6MzA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuY3BwOgoJICBvcGVuY3Y6IGZhY2VkZXRlY3Q6IGZpeCBjcmFzaGVzIGluIGZpbmFsaXplCgkgIEZpeGVzIGdzdC1pbnNwZWN0LTEuMCAtYSBjcmFzaGluZy4KCjIwMTUtMDgtMDMgMTk6NDI6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJICB3aW5zY3JlZW5jYXA6IFByb3Blcmx5IHRpbWVzdGFtcCBidWZmZXJzIHdpdGggdGhlIGN1cnJlbnQgY2xvY2sgcnVubmluZyB0aW1lIGluc3RlYWQgb2YgZG9pbmcgbWFnaWMKCSAgQWxzbyBpbXBsZW1lbnQgZnJhbWVyYXRlIGhhbmRsaW5nIGNvcnJlY3RseSBieSBib3Jyb3dpbmcgdGhlIGNvZGUgZnJvbQoJICB4aW1hZ2VzcmMuIEdzdEJhc2VTcmM6OmdldF90aW1lcygpIGNhbid0IGJlIHVzZWQgZm9yIHRoYXQsIHdlIGhhdmUgdG8KCSAgaW1wbGVtZW50IHByb3BlciB3YWl0aW5nIG91cnNlbHZlcy4KCjIwMTUtMDgtMDQgMDA6MjA6MjcgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jcHA6CgkgIG9wZW5jdjogRml4IDMyLWJpdCBidWlsZCAvIGZvcm1hdCBzdHJpbmdzLgoJICBVc2UgR19HU0laRV9GT1JNQVQgZm9yIGZvcm1hdCBzdHJpbmdzIHdoZXJlIHJlbGV2YW50CgoyMDE1LTA4LTAzIDE5OjQ4OjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogc3dhcCBjb250cm9sIGJpbmRpbmcgcHJveHkKCSAgVGhlIHJlZl9vYmplY3QgYW5kIG9iamVjdCBwYXJhbWV0ZXJzIHdlcmUgdGhlIHdyb25nIHdheSBhcm91bmQuCgkgIEZvciB0aGUgdHlwaWNhbCB1c2UgY2FzZSB3aGVyZSBhbiBhcHBsaWNhdGlvbiBpcyBzZXR0aW5nIGEKCSAgR3N0Q29udHJvbEJpbmRpbmcgb24gdGhlIHJldHVybmVkIGdob3N0IHBhZDoKCSAgMS4gb3VyIGNvbnRyb2wgYmluZGluZyB3b3VsZCBiZSByZW1vdmVkIHdoZW4gdGhlIG5ldyBvbmUgd2FzIHNldAoJICAyLiBzeW5jX3ZhbHVlcyBjYWxscyB3ZXJlIG5vdCBiZWluZyBmb3J3YXJkZWQgZnJvbSB0aGUgaW50ZXJuYWwKCSAgcGFkIHRvIHRoZSBnaG9zdCBwYWQuCgkgIElmIGFuIGFwcGxpY2F0aW9uIGF0dGVtcHRzIHRvIHBlcmZvcm0gb3RoZXIgY29udHJvbCBiaW5kaW5nCgkgIG9wZXJhdGlvbnMgKGdldF8qIGZhbWlseSBvZiBmdW5jdGlvbnMpIG9uIHRoZSBpbnRlcm5hbCBwYWQsIHRoZXkKCSAgd2lsbCBhbHNvIGJlIGZvcndhcmRlZCB0byB0aGUgZ2hvc3QgcGFkIHdoZXJlIGEgcG9zc2libGUKCSAgR3N0Q29udHJvbEJpbmRpbmcgd2lsbCBwcm92aWRlIHRoZSBuZWNlc3NhcnkgdmFsdWVzLgoKMjAxNS0wOC0wMSAxNTo1MjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IG1wZHBhcnNlcjogcGx1ZyBsZWFrIGluIHNlZ21lbnR0ZW1wbGF0ZSBwYXJzaW5nCgkgIE9ubHkgY29weSB0aGUgdmFsdWVzIGZyb20gdGhlIHBhcmVudCBpZiB0aGUgY3VycmVudCBub2RlIGRvZXNuJ3QKCSAgaGF2ZSB0aGF0IHZhbHVlLCB0aGV5IHdlcmUgYmVpbmcgY29waWVkIGZyb20gdGhlIHBhcmVudCBhbmQKCSAgdGhlbiBvdmVyd3JpdGVuIGJ5IHRoZSBjaGlsZCBub2RlLCBsZWFraW5nIHRoZSBwYXJlbnQncyBjb3B5CgoyMDE1LTA4LTAxIDE1OjUxOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaF9tcGQ6IGFkZCBjaGVjayBmb3Igc2VnbWVudHRlbXBsYXRlIGluaGVyaXRhbmNlCgkgIENoZWNrcyBpZiB0aGUgdmFsdWVzIGFyZSBwcm9wZXJseSBpbmhlcml0ZWQgYW5kIG92ZXJ3cml0ZW4KCjIwMTUtMDgtMDEgMTU6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIHRlc3RzOiBkYXNoX21wZDogYWRkIG9uZSBtb3JlIGJhc2VVUkwgdGVzdAoJICBUaGlzIG90aGVyIHR5cGUgb2YgYmFzZVVSTCB0ZXN0IHdhcyByZXBsYWNlZCBieSBhIG1vcmUgY29tcGxleCBvbmUsCgkgIGJldHRlciBoYXZlIGJvdGggdG8ga2VlcCBib3RoIG9wdGlvbnMgd29ya2luZwoJICBBbHNvIGFkZHMgYW5vdGhlciAyIHZhcmlhdGlvbnMgb2YgaG93IGJhc2VVUkwgY2FuIGJlIGdlbmVyYXRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzc2CgoyMDE1LTA3LTIzIDEwOjU0OjM2ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIGR1cmF0aW9uIGZvcm1hdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NzYKCjIwMTUtMDctMjIgMTE6NDI6MjMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogdXBkYXRlIHVuaXQgdGVzdCBmb3IgYmFzZVVSTAoJICBVcGRhdGUgdGhlIHVuaXQgdGVzdCBmb3IgYmFzZVVSTCB0byB0ZXN0IHRoYXQgaXQgaXMgcHJvcGVybHkKCSAgcmVzb2x2ZWQgdGFraW5nIGludG8gYWNjb3VudCBwYXJlbnQgYmFzZVVSTCBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NgoKMjAxNS0wOC0wMSAxMTo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IHJldmVydCByZW5hbWUgb2YgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGRvZXNuJ3QgbmVlZCB0byBoYXZlIGl0cyBuYW1lIGNoYW5nZWQgYmVjYXVzZSBvZiBDKyssCgkgIGp1c3QgdGhlIGluc3RhbmNlIHZhcmlhYmxlcy4KCjIwMTUtMDctMzEgMTc6MzE6MTUgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0ZmFjZWRldGVjdF90ZXN0LmM6CgkgIGZhY2VkZXRlY3Q6IEFkZCB1bml0IHRlc3QKCSAgSSBjcmVhdGVkIGZvdXIgdXRpbGl0aWVzIG9mIHRoZSBkZXRlY3RlZCBmZWF0dXJlczoKCSAgMS0gSWYgeW91IGhpZGUgeW91ciBtb3V0aCwgdGhlIHZvbHVtZSBvZiB2aWRlbyBpcyBsb3cuCgkgIDItIElmIHlvdSBoaWRlIHRoZSBub3NlLCB0aGUgdm9sdW1lIG9mIHRoZSB2aWRlbyBpcyB1cC4KCSAgMy0gSWYgeW91IGhpZGUgdGhlIGZ1bGwgZmFjZSwgdGhlIHZpZGVvIHN0b3BzLgoJICBZb3UgY2FuIHNlZSBwcm9vZiBvZiB0aGlzIGhlcmU6CgkgIGh0dHBzOi8vd3d3LnlvdXR1YmUuY29tL3dhdGNoP3Y9cHh6ZWpOS1ZfV1EKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wNy0zMSAxNjo0MDowNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgdGVtcGxhdGVtYXRjaDogcmVuYW1lIGNvbmZsaWN0aW5nIHZhcmlhYmxlCgkgIFdpdGggdGhlIHN3aXRjaCBvZiBnc3RvcGVuY3YuYyB0byBDKyssIGFsbCBPcGVuQ1YgZWxlbWVudHMgYXJlIGJ1aWx0IHdpdGgKCSAgZysrLiBUaGUgdGVtcGxhdGUgdmFyaWFibGUgY2xhc2hlcyB3aXRoIEMrKydzIGZlYXR1cmUgb2YgdGhlIHNhbWUgbmFtZS4KCSAgUmVuYW1lIHRlbXBsYXRlIHRvIHRlbXBsIHRvIGF2b2lkIGFueSBjbGFzaC4KCjIwMTUtMDctMzEgMTM6NDU6NDMgKzAxMDAgIFZhbmVzc2EgQ2hpcGlycsOhcyA8dmNoaXBpcnJhczZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmNwcDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmNwcDoKCSAgZmFjZWRldGVjdDogbmVlZCB0byBtaWdyYXRlIHRvIEMrKwoJICBUaGUgY2FzY2FkZSBjbGFzc2lmaWVyIGNoYW5nZXMgaXRzIHN0cnVjdHVyZSBvbiBuZXcgdmVyc2lvbiBvZiBPcGVuQ1YuCgkgIFRoZSBuZWVkIHRvIG1pZ3JhdGUgdG8gQysrIHRvIHV0aWxpemUgdGhlIG5ldyBsb2FkIG1ldGhvZCBvZiBPcGVuQ1Ygd2hpY2gKCSAgYWxsb3dzIHRvIGxvYWQgdGhlIG5ldyBjbGFzc2lmaWVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3NwoKMjAxNS0wNy0zMSAxMDo0NzoyNyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IHRhZ2xpc3QgbGVhawoJICB0YWdsaXN0IG1lcmdlIGRvZXNudCB0YWtlIG93bmVyc2hpcC4gU28gc2hvdWxkIGZyZWUgdGhlIHRhZ3MgYWZ0ZXIgdXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTMwODYKCjIwMTUtMDctMzAgMjM6MzE6MjEgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZzYW1wbGV2aWRlb3NpbmsubToKCSAgYXBwbGVtZWRpYS9hdnNhbXBsZTogRml4IHJhY3kgY2xlYW51cCBvZiBDQSBsYXllcgoJICBUaGUgYmxvY2sgdGhhdCBpcyBkaXNwYXRjaGVkIGFzeW5jIHRvIHRoZSBtYWluIHRocmVhZCBhc3N1bWVkIHRoZQoJICB3cmFwcGluZyBHc3RBdlNhbXBsZVZpZGVvU2luayB0byBiZSBhbGl2ZS4gSG93ZXZlciwgYXQgdGhlIHRpbWUgb2YKCSAgdGhlIGJsb2NrIGV4ZWN1dGlvbiB0aGUgR3N0T2JqZWN0IGluc3RhbmNlIHRoYXQgaXMgZGVmZXJlbmNlZCB0byBhY2Nlc3MKCSAgdGhlIENBIGxheWVyIG1pZ2h0IGFscmVhZHkgYmUgZnJlZWQsIHdoaWNoIGNhdXNlZCBvY2Nhc2lvbmFsIGNyYXNoZXMuCgkgIEluc3RlYWQsIHdlIG5vdyBvbmx5IHBhc3MgdGhlIENvcmVBbmltYXRpb24gbGF5ZXIgdGhhdCBuZWVkcyB0byBiZQoJICByZWxlYXNlZCB0byB0aGUgYmxvY2suIFdlIHVzZSBfX2Jsb2NrIHRvIG1ha2Ugc3VyZSB0aGUgYmxvY2sgaXMgbm90CgkgIGluY3JlYXNpbmcgdGhlIHJlZmNvdW50IG9mIHRoZSBDQSBsYXllciBhZ2FpbiBvbiBpdHMgb3duLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDgxCgoyMDE1LTA3LTAyIDE5OjM0OjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3Igc2Vla2luZyBsaXZlIHBpcGVsaW5lcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTA3LTAyIDE5OjE5OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBNYWtlIHNvdXJjZSBsaXZlIHRvIHJlLWVuYWJsZSBhZ2dyZWdhdG9yIHRpbWVvdXQgdGVzdHMKCSAgVGhlIGxpdmUgbW9kZSBpcyBvbmx5IGVuYWJsZWQgaWYgb25lIG9mIHRoZSBzb3VyY2VzIGlmIGxpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMDIgMTg6Mzc6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IEFkZCBhdWRpb2ludGVybGVhdmUgdGVzdCB0byBzaG93IHRoYXQgcXVldWluZyB3b3JrcwoJICBUaGlzIHRlc3RzIGZhaWxzIHdpdGhvdXQgdGhlIHF1ZXVpbmcgcGF0Y2ggYmVjYXVzZSBpbmNvbWluZyBidWZmZXJzIGFyZQoJICBub3QgZGVsaXZlcmVkIGJlZm9yZSB0aGV5IGFyZSBuZWVkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMDIgMTg6MzM6NDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBdm9pZCBjYXBzIHByb2Nlc3NpbmcgaWYgbm90IHlldCBuZWdvdGlhdGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDMtMTYgMTc6MDY6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBPbiB0aW1lb3V0LCByZXN5bmMgcGFkcyB3aXRoIG5vdCBlbm91Z2ggZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDE5OjUwOjA4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWV1ZSAibGF0ZW5jeSIgYnVmZmVycyBhdCBlYWNoIHNpbmsgcGFkLgoJICBJbiB0aGUgY2FzZSB3aGVyZSB5b3UgaGF2ZSBhIHNvdXJjZSBnaXZpbmcgdGhlIEdzdEFnZ3JlZ2F0b3Igc21hbGxlcgoJICBidWZmZXJzIHRoYW4gaXQgdXNlcywgd2hlbiBpdCByZWFjaGVzIGEgdGltZW91dCwgaXQgd2lsbCBjb25zdW1lIHRoZQoJICBmaXJzdCBidWZmZXIsIHRoZW4gdHJ5IHRvIHJlYWQgYW5vdGhlciBidWZmZXIgZm9yIHRoZSBwYWQuIElmIHRoZQoJICBwcmV2aW91cyBlbGVtZW50IGlzIG5vdCBmYXN0IGVub3VnaCwgaXQgbWF5IGdldCB0aGUgbmV4dCBidWZmZXIgZXZlbgoJICB0aG91Z2ggaXQgbWF5IGJlIHF1ZXVlZCBqdXN0IGJlZm9yZS4gVG8gcHJldmVudCB0aGF0IHJhY2UsIHRoZSBlYXNpZXN0CgkgIHNvbHV0aW9uIGlzIHRvIG1vdmUgdGhlIHF1ZXVlIGluc2lkZSB0aGUgR3N0QWdncmVnYXRvclBhZCBpdHNlbGYuIEl0CgkgIGFsc28gbWVhbnMgdGhhdCB0aGVyZSBpcyBubyBuZWVkIGZvciBzdHJhbmdlIGNvZGUgY2F1c2UgYnkgaW5jcmVhc2luZwoJICB0aGUgbWluIGxhdGVuY3kgd2l0aG91dCBpbmNyZWFzaW5nIHRoZSBtYXggbGF0ZW5jeSBwcm9wb3J0aW9uYWxseS4KCSAgVGhpcyBhbHNvIG1lYW5zIHF1ZXVpbmcgdGhlIHN5bmNocm9uaXplZCBldmVudHMgYW5kIHBvc3NpYmx5IGFjdGluZwoJICBvbiB0aGVtIG9uIHRoZSBzcmMgdGFzay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMTozMjowNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgYnJva2VuIF9jbGlwIHZmdW5jCgkgIEl0IG5ldmVyIGRvZXMgYW55dGhpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NjgKCjIwMTUtMDctMzAgMDg6NTg6NDggKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEF2b2lkIGNoZWNraW5nIGZvciBOb24gTWFuZGF0b3J5IFZQUyBOQUwKCSAgVlBTIGlzIG5vdCBtYW5kYXRvcnksIGFuZCBuZWVkIG5vdCBjaGVjayBmb3IgaXRzIHByZXNlbmNlIGJlZm9yZSBzZXR0aW5nCgkgIHRoZSBjYXBzLiBCZWNhdXNlIG9mIHRoZSBjaGVjaywgaW4gc3RyZWFtcyB3aGljaCBkb24ndCBoYXZlIFZQUywKCSAgc3RpY2t5IGV2ZW50IG1pc2hhbmRsaW5nIGhhcHBlbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI4MDcKCjIwMTUtMDctMzAgMTU6MzM6NDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBhc3NlcnRpb24gZXJyb3IgZHVlIHRvIHdyb25nIGNvbmRpdGlvbiBjaGVjawoJICBJbiBtZWRpYSB0byBjYXBzIGZ1bmN0aW9uLCByZXNlcnZlZF9rZXlzIGFycmF5IGlzIGJlaW5nIHVzZWQgZm9yIHZhcmlhYmxlIGksCgkgIGxlYWRpbmcgdG8gR0xpYi1DUklUSUNBTCAqKjogZ19hc2NpaV9zdHJjYXNlY21wOiBhc3NlcnRpb24gJ3MxICE9IE5VTEwnIGZhaWxlZAoJICBjaGFuZ2VkIGl0IHRvIHZhcmlhYmxlIGoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MzAwOQoKMjAxNS0wNy0zMCAxMToxMjoyMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJICBnc3RnbGZpbHRlcmJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICByZXMgaXMgc2V0IG11bHRpcGxlIHRpbWVzIGJ1dCBuZXZlciB1c2VkIG9yIHJldHVybmVkLiBSZW1vdmluZyBpdC4KCjIwMTUtMDctMjkgMjA6MDc6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERlZmF1bHQgdG8gInplcm8iIHN0YXJ0IHRpbWUgc2VsZWN0aW9uIG1vZGUgYXMgZG9jdW1lbnRlZAoKMjAxNS0wNy0yOSAyMDowNjoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogSWdub3JlIHRoZSAiZmlyc3QiIG1vZGUgaWYgdGhlIHNlZ21lbnQgbm90IGEgdGltZSBzZWdtZW50CgoyMDE1LTA3LTI5IDE5OjEwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBSZW1vdmUgZGVidWcgb3V0cHV0IGZyb20gZ3N0X2dsX3VwbG9hZF90cmFuc2Zvcm1fY2FwcygpCgkgIFdlIGNhbid0IGtub3cgaWYgdGhlIEdzdEdMVXBsb2FkIHR5cGUgaXMgaW5pdGlhbGl6ZWQgYXQgdGhpcyBwb2ludCBhbHJlYWR5LAoJICBhbmQgdGh1cyBvdXIgZGVidWcgY2F0ZWdvcnkgbWlnaHQgbm90IGJlIGluaXRpYWxpemVkIHlldC4uLiBhbmQgY2F1c2UgYW4KCSAgYXNzZXJ0aW9uIGhlcmUuCgkgIEFzIHdlIGRvbid0IHByaW50IGRlYnVnIG91dHB1dCBmb3IgYW55IG9mIHRoZSBvdGhlciB0cmFuc2Zvcm0gZnVuY3Rpb25zLCBsZXQncwoJICBkZWZlciB0aGlzIHByb2JsZW0gZm9yIG5vdy4KCjIwMTUtMDctMjkgMTc6NDg6NTggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguYzoKCSAgZ2xzdGVyZW9taXg6IHJlbW92ZSByZWR1bmRhbnQgaW5pdGlhbGl6YXRpb24KCSAgdiBpcyBpbml0aWFsaXplZCBpbiB0aGUgZm9yIGxvb3AgaW5pdCwgbm8gbmVlZCB0byBkbyBpdCB0d2ljZS4gUmVtb3ZpbmcKCSAgZmlyc3QgaW5pdGlhbGl6YXRpb24uCgoyMDE1LTA3LTI5IDE3OjI5OjI4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkgIHJ0cDogcmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBWYWx1ZSBzZXQgdG8gcmV0IHdpbGwgYmUgb3ZlcndyaXR0ZW4gYXQgbGVhc3Qgb25jZSBhdCB0aGUgZW5kIG9mIHRoZSB3aGlsZQoJICBsb29wLCByZW1vdmluZyBhc3NpZ25tZW50LgoKMjAxNS0wNy0yOSAxNzoyOToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIEdRdWV1ZSBpbnN0ZWFkIG9mIEdMaXN0IHByZXBlbmQvcmV2ZXJzZQoKMjAxNS0wNy0yOSAxNzoxNzoxNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHJlbW92ZSByZWR1bmRhbnQgYXNzaWdubWVudAoJICBWYWx1ZSBvZiBwIGlzIGFscmVhZHkgc2V0IGJlbG93IGp1c3QgYmVmb3JlIGJlaW5nIHVzZWQuIFJlbW92aW5nIHRoaXMKCSAgZmlyc3QgYXNzaWdubWVudCB0aGF0IHdpbGwgYmUgaWdub3JlZC4KCjIwMTUtMDctMjkgMTY6NTE6NDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiByZW1vdmUgcmVkdW5kYW50IGNoZWNrCgkgIE5vIG5lZWQgdG8gY2hlY2sgaWYgZG9uZSBpcyBUcnVlIHNpbmNlIGJyZWFrIHdpbGwgYWxyZWFkeSB0ZXJtaW5hdGUgdGhlIGZvcgoJICBsb29wLgoKMjAxNS0wNy0yOSAxMzowOTowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IGFzc2VydCBpbiBHc3RBZGFwdGVyIGlmIG5vIGRhdGEgd2FzIHJlY2VpdmVkIGJlZm9yZSBFT1MKCjIwMTUtMDctMjggMjI6MzA6MDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEFkZCB1bml0IHRlc3RzIGZvciB0aGUgbmV3IGFnZ3JlZ2F0b3Igc3RhcnQtdGltZS1zZWxlY3Rpb24gcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTk2NgoKMjAxNS0wNi0xNSAxODozMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IGhvdyB0byBkZWNpZGUgb24gYSBzdGFydCB0aW1lCgkgIEJlZm9yZSBhZ2dyZWdhdG9yIGJhc2VkIGVsZW1lbnRzIGFsd2F5cyBzdGFydGVkIGF0IHJ1bm5pbmcgdGltZSAwLAoJICBub3cgaXQncyBwb3NzaWJsZSB0byBzZWxlY3QgdGhlIGZpcnN0IGlucHV0IGJ1ZmZlciBydW5uaW5nIHRpbWUgb3IKCSAgZXhwbGljaXRseSBzZXQgYSBzdGFydC10aW1lIHZhbHVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5OTY2CgoyMDE1LTA3LTI5IDExOjI1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogU3RyaXAga2V5cyBmcm9tIHRoZSBmbXRwIHRoYXQgd2UgdXNlIGludGVybmFsbHkgaW4gb3VyIGNhcHMKCSAgU2tpcCBrZXlzIGZyb20gdGhlIGZtdHAsIHdoaWNoIHdlIGFscmVhZHkgdXNlIG91cnNlbHZlcyBmb3IgdGhlCgkgIGNhcHMuIFNvbWUgc29mdHdhcmUgaXMgYWRkaW5nIHJhbmRvbSB0aGluZ3MgbGlrZSBjbG9jay1yYXRlIGludG8KCSAgdGhlIGZtdHAsIGFuZCB3ZSB3b3VsZCBvdGhlcndpc2UgaGVyZSBzZXQgYSBzdHJpbmctdHlwZWQgY2xvY2stcmF0ZQoJICBpbiB0aGUgY2Fwcy4uLiBhbmQgdGh1cyBmYWlsIHRvIGNyZWF0ZSB2YWxpZCBSVFAgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUzMDA5CgoyMDE1LTA3LTI5IDIyOjU5OjU2ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEFkZCBtb3JlIE5BTCB0eXBlcyBmb3IgZGVidWdnaW5nIG91dHB1dC4KCSAgUmVnaXN0ZXIgbW9yZSBOQUwgdW5pdCB0eXBlcyBzbyB0aGF0IHRoZXkgYXJlIGR1bXBlZAoJICBieSBuYW1lIGluIHRoZSBkZWJ1ZyBvdXRwdXQgaW5zdGVhZCBvZiBiZWluZyBsYWJlbGxlZAoJICAnSW52YWxpZCcKCjIwMTUtMDctMjkgMjI6NTc6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBEb24ndCBjbGVhciB0aGUgUElEIG9uIHJlc2V0LgoJICBUaGUgUElEIG9uIGEgcGFkIHNob3VsZG4ndCBjaGFuZ2Ugb24gYSBzdGF0ZSBjaGFuZ2UsIG9ubHkKCSAgaWYgdGhlIHBhZCBpcyBmcmVlZCBhbmQgYSBuZXcgb25lIGNyZWF0ZWQuIENsZWFyaW5nIHRoZSBQSUQKCSAgcHJldmVudGVkIG1wZWd0c211eCBmcm9tIGJlaW5nIHJldXNlZCwgYmVjYXVzZSBhbGwgcGFja2V0cwoJICB3b3VsZCBlbmQgdXAgbXV4ZWQgaW4gUElEIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjk5OQoKMjAxNS0wNy0yOSAyMjo1NjoyOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEFjY3VtdWxhdGUgc3RyZWFtaGVhZGVycyBpbiByZXZlcnNlCgkgIEFjY3VtdWxhdGUgc3RyZWFtaGVhZGVyIHBhY2tldHMgaW4gcmV2ZXJzZSBpbnRvIHRoZQoJICBHTGlzdCBmb3IgZWZmaWNpZW5jeSwgYW5kIHJldmVyc2UgdGhlIGxpc3Qgb25jZSB3aGVuCgkgIHByb2Nlc3NpbmcuCgkgIEltcHJvdmVzIG11eGluZyBzcGVlZCB3aGVuIHRoZXJlIGFyZSBhIGxvdCBvZgoJICBzdHJlYW1oZWFkZXJzLgoKMjAxNS0wNy0yOSAxMDoxMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IEFsd2F5cyBzZXQgaS1mcmFtZS1pbnRlcnZhbCBzZXR0aW5nCgkgIE1vc3QgZW5jb2RlcnMgZmFpbCB0byBpbml0aWFsaXplIGlmIHdlIGRvbid0IHNldCBpdCBhdCBhbGwuCgoyMDE1LTA3LTI5IDEyOjU2OjU0ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBmaXggY2FwcyBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTkxCgoyMDE1LTA3LTI4IDIxOjE1OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBRdWVyeSB0aGUgcGVlciBsYXRlbmN5IGFnYWluIG9uIHRoZSBuZXh0IG9wcG9ydHVuaXR5IGFmdGVyIGEgcGFkIHdhcyBhZGRlZCBvciByZW1vdmVkCgkgIEFkZGluZyBhIHBhZCB3aWxsIGFkZCBhIG5ldyB1cHN0cmVhbSB0aGF0IG1pZ2h0IGhhdmUgYSBiaWdnZXIgbWluaW11bSBsYXRlbmN5LAoJICBzbyB3ZSBtaWdodCBoYXZlIHRvIHdhaXQgbG9uZ2VyLiBPciBpdCBtaWdodCBiZSB0aGUgZmlyc3QgbGl2ZSB1cHN0cmVhbSwgaW4KCSAgd2hpY2ggY2FzZSB3ZSB3aWxsIGhhdmUgdG8gc3RhcnQgZGVhZGxpbmUgYmFzZWQgYWdncmVnYXRpb24uCgkgIFJlbW92aW5nIGEgcGFkIHdpbGwgcmVtb3ZlIGEgbmV3IHVwc3RyZWFtIHRoYXQgbWlnaHQgaGF2ZSBoYWQgdGhlIGJpZ2dlc3QKCSAgbGF0ZW5jeSwgc28gd2UgY2FuIG5vdyBzdG9wIHdhaXRpbmcgYSBiaXQgZWFybGllci4gT3IgaXQgbWlnaHQgYmUgdGhlIGxhc3QKCSAgbGl2ZSB1cHN0cmVhbSwgaW4gd2hpY2ggY2FzZSB3ZSBjYW4gc3RvcCBkZWFkbGluZSBiYXNlZCBhZ2dyZWdhdGlvbi4KCjIwMTUtMDctMjggMTE6MjA6NDAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydC10ZXN0OiBUZXN0IG5vdGlmeSBmdW5jdGlvbiBmb3Igc2V0dXBfd3JhcHBlZAoJICBnc3RfZ2xfbWVtb3J5X3NldHVwX3dyYXBwZWQoKSBub3cgdGFrZXMgYSBkZXN0cm95IG5vdGlmeSBmdW5jdGlvbi4gVGhpcwoJICBkZXN0cm95IG5vdGlmeSBpcyBjYWxsZWQgdG8gdHJhY2sgdGhlIG1lbW9yeSBsaWZlIHRpbWUsIGhlbmNlIHdpbGwKCSAgbm90aWZ5IGVhY2ggdGltZSBhIG1lbW9yeSBnZXQgZGVzdHJveWVkLiBUaGlzIHRlc3QgY2hlY2sgdGhhdCB0aGUKCSAgY2FsbGJhY2sgY291bnQgaXMgY29ycmVjdC4KCjIwMTUtMDctMjggMTE6MDY6NDMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydC10ZXN0OiBGaXggYnVpbGQKCjIwMTUtMDctMjggMDg6NTk6MjQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBBZGQgZml4bWUgYWJvdXQgdXNpbmcgYnVmZmVycG9vbCBmb3IgcmF3CgkgIGh0dHA6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjkzNwoKMjAxNS0wNy0yNyAxNjo1ODoyMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEtlZXAgaW5wdXQgZnJhbWUgbWFwcGVkIGFzIGxvbmcgYXMgbmVlZGVkCgkgIFdoZW4gcGVyZm9ybWluZyBhIHJhdyB1cGxvYWQsIHdlIG5lZWQgdG8ga2VlcCB0aGUgcmF3IGRhdGEgbWFwcGVkIGFzCgkgIGxvbmcgYXMgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTM3CgoyMDE1LTA3LTI3IDE1OjU4OjEwIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgUmV2ZXJ0ICJnbHVwbG9hZDogbWVtY3B5IG9uIHJhdyBkYXRhIHVwbG9hZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4MmMwMTg5YjI4NDJlODcyOWU4MmE0ZTczNDkxZGZmYzk3N2JjN2MyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTM3CgoyMDE1LTA3LTE1IDE2OjIxOjAwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9wcm9wX2R1cmF0aW9uIHNldHMgZGVmYXVsdCB2YWx1ZSBpbiBjYXNlIG9mIHBhcnNpbmcgZXJyb3JzCgkgIFRoZSBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF9kdXJhdGlvbiBmdW5jdGlvbiB3aWxsIHNldCB0aGUKCSAgcHJvcGVydHlfdmFsdWUgdG8gdGhlIGRlZmF1bHRfdmFsdWUgaW4gY2FzZSB0aGUgcGFyc2luZyBmYWlscy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQyNgoKMjAxNS0wNy0yNyAxODozOToxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJICBvcHVzY29tbW9uOiBVc2UgR1N0cmluZyBpbnN0ZWFkIG9mIHNucHJpbnRmIGZvciBjb25jYXRpbmcKCSAgU2FmZXIsIGVhc2llciB0byB1bmRlcnN0YW5kLCBhbmQgbW9yZSBwb3J0YWJsZS4gQWxzbywgc2tpcAoJICBhbGwgdGhpcyBpZiB0aGUgbG9nIGxldmVsIGlzIHRvbyBsb3cuCgoyMDE1LTA3LTI3IDIxOjU0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJICBnbGNvbnRleHQvd2dsOiBmaXggZGVmZW5pdGlvbiBvZiBnc3RfZ2xfY29udGV4dF93Z2xfbmV3CgkgIGdzdGdsY29udGV4dF93Z2wuYzogSW4gZnVuY3Rpb24gJ2dzdF9nbF9jb250ZXh0X3dnbF9uZXcnOgoJICBnc3RnbGNvbnRleHRfd2dsLmM6ODM6NDA6IGVycm9yOiAnZGlzcGxheScgdW5kZWNsYXJlZCAoZmlyc3QgdXNlIGluIHRoaXMgZnVuY3Rpb24pCgoyMDE1LTA3LTI3IDIwOjAzOjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkgIGdsL2NvY29hOiBmaXggZGVmaW5pdGlvbiBvZiBnc3RfZ2xfY29udGV4dF9uZXcKCSAgZ3N0Z2xjb250ZXh0X2NvY29hLm06NzU6MTogZXJyb3I6IGNvbmZsaWN0aW5nIHR5cGVzIGZvciAnZ3N0X2dsX2NvbnRleHRfY29jb2FfbmV3JwoKMjAxNS0wNy0yNyAyMDowMDo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBmaXggZGVmaW5pdGlvbiBvZiBnc3RfZ2xfd2luZG93X3dpbjMyX25ldwoKMjAxNS0wNy0yNyAxODoyMToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgd2F5bGFuZDogZmFpbCB3aW5kb3cgb3BlbiBpZiB0aGUgZGlzcGxheSBpcyB0aGUgY29ycmVjdCB0eXBlCgkgIEVycm9ycyBvdXQgY2xlYW5seSBpZiBhIHdheWxhbmQgY29tcG9zaXRvciBpcyBub3QgcnVubmluZwoKMjAxNS0wNy0yNCAxNzowMDoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93OiBwYXNzIGRpc3BsYXkgdG8gaW1wbGVtZW50YXRpb24ncyBfbmV3KCkKCSAgU28gdGhleSBoYXZlIHRvIG9wcG9ydHVuaXR5IHRvIGZhaWwgaWYgdGhleSBjYW5ub3QgaGFuZGxlIHRoZQoJICBkaXNwbGF5IGNvbm5lY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3NDMKCjIwMTUtMDctMjQgMTY6MTE6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBwYXNzIGRpc3BsYXkgdG8gaW1wbGVudGF0aW9uJ3MgX25ldygpCgkgIFRoaXMgYWxsb3dzIHRoZSBjb250ZXh0IHRvIGZhaWwgY3JlYXRpb24gYmFzZWQgb24gaW5jb21wYXRpYmxlCgkgIGRpc3BsYXkgdHlwZSdzLiBlLmcuIGdseCBjb250ZXh0IHdpdGggYW4gd2F5bGFuZCBkaXNwbGF5IGhhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc0MwoKMjAxNS0wNy0wNiAwMDo1MjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHN1cHBvcnQgY2dsLCBlZ2wgYW5kIGdseCB3aXRoaW4gYSBzYW1lIGJ1aWxkCgkgIE9uIG9zeCwgd2l0aCB0aGUgc2FtZSBidWlsZCwKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsgd29ya3Mgd2l0aDoKCSAgR1NUX0dMX1BMQVRGT1JNPWVnbCBHU1RfR0xfV0lORE9XPXgxMSBHU1RfR0xfQVBJPWdsZXMyCgkgIEdTVF9HTF9QTEFURk9STT1lZ2wgR1NUX0dMX1dJTkRPVz14MTEgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWdseCBHU1RfR0xfV0lORE9XPXgxMSBHU1RfR0xfQVBJPW9wZW5nbAoJICBHU1RfR0xfUExBVEZPUk09Y2dsIEdTVF9HTF9XSU5ET1c9Y29jb2EgR1NUX0dMX0FQST1vcGVuZ2wKCSAgR1NUX0dMX1BMQVRGT1JNPWNnbCBHU1RfR0xfV0lORE9XPWNvY29hIEdTVF9HTF9BUEk9b3BlbmdsMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTI3IDE2OjM2OjQwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogQ2hlY2sgdGhhdCBjYXBzIGNvbnRhaW4gZGVzaXJlZCBjYXBzIGZlYXR1cmVzCgkgIFVzZSAnY29udGFpbnMnIGNoZWNrcyBpbnN0ZWFkIG9mIGVxdWFsaXR5IGNoZWNrcyBvbiBjYXBzIGZlYXR1cmVzCgkgIHRvIGFsbG93IGZvciB1cGxvYWRpbmcgd2hlbiBjYXBzIGFsc28gY29udGFpbiBHc3RWaWRlb092ZXJsYXlDb21wb3NpdGlvbgoJICBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyOTEyCgoyMDE1LTA3LTI1IDA5OjAzOjI3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEFkZCBidWlsdCBzb3VyY2VzIHRvIENMRUFORklMRVMKCjIwMTUtMDctMjAgMTA6NTA6NDQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhaGRlbXV4OiBhdm9pZCBvdmVyZmxvd3MgaW4gY29tcHV0YXRpb24gb2Ygc2VnbWVudCBzdGFydCB0aW1lIGFuZCBkdXJhdGlvbgoJICBVc2VkIGdzdF91dGlsX3VpbnQ2NF9zY2FsZSB0byBhdm9pZCBvdmVyZmxvd3Mgd2hlbiBzZWdtZW50IHN0YXJ0IHRpbWUKCSAgb3IgZHVyYXRpb24gaXMgY29tcHV0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI2MjAKCjIwMTUtMDctMTMgMTU6Mzc6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZGVtb3RlIGVycm9yIHRvIHdhcm5pbmcKCSAgSXQgaXMgbm90IGZhdGFsIGFuZCBjYW4gYmUgcXVpdGUgbm9ybWFsIHdoZW4gdGhlIG5ldHdvcmsgaXMKCSAgdG9vIHNsb3cKCjIwMTUtMDctMjQgMDk6NDI6NTMgKzAyMDAgIE1pZ3VlbCBQYXLDrXMgRMOtYXogPG1wYXJpc2RpYXpAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBkbyBub3QgY2hlY2sgaW5wdXQgYnVmZmVycwoJICBXaXRoIHRoaXMgd2UgYXZvaWQgYW4gdW5uZWNlc3NhcnkgYW5kIGNvbnNpZGVyYWJsZSBvdmVyaGVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1Mjc3NAoKMjAxNS0wNy0wNiAwMDo0NTo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBtb3ZlIEdMX05VTV9FWFRFTlNJT05TIGRlZmluaXRpb24gYWZ0ZXIgZ2wuaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNzQzCgoyMDE1LTA3LTIzIDIzOjU5OjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogcmVtb3ZlIHVudXNlZCBsYWJlbCBjb250ZXh0X2NyZWF0aW9uX2Vycm9yCgkgIEJ1aWxkIGVycm9yIGludHJvZHVjZWQgYnkgY29tbWl0CgkgIDU0NTdlNTVmMjU1NTE4ZDY3OWI1OWExNzA5NTFlMjk5ZWNkOGM1ZjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yNCAwMjo0NjoyMSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IERvbid0IGRpc2NhcmQgZmlyc3QgQVUgZGVsaW1pdGVyCgkgIERvbid0IHRocm93IGF3YXkgQVUgZGVsaW1pdGVyKHMpIHRoYXQgcHJlY2VkZSB0aGUgU1BTL1BQUy4gU2hvdWxkCgkgIGZpeCBNUEVHLVRTIHBsYXliYWNrIG9uIGlPUy9RdWlja3RpbWUgd2hlbiBtdXhpbmcgc3RyZWFtcyB0aGF0CgkgIGFscmVhZHkgaGF2ZSBBVSBkZWxpbWl0ZXJzLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjIxMyBmb3IgZ2V0dGluZwoJICBoMjY0cGFyc2UgdG8gaW5zZXJ0IEFVIGRlbGltaXRlcnMgd2hlbiB0aGV5IGRvbid0IGFscmVhZHkKCSAgZXhpc3QuCgoyMDE1LTA3LTIzIDExOjE4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmaXggYWxsb2NhdGlvbiBtZXRhIHN0cnVjdHVyZSBsZWFrCgkgIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9tZXRhKCkgZG9lcyBub3QgdGFrZSBvd25lcnNoaXAKCSAgb2YgdGhlIHN0cnVjdHVyZSwgZm9yIHNvbWUgcmVhc29uLgoJICBDSUQgMTMxMjEzNQoKMjAxNS0wNy0yMyAxMDo1NzoyNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZml4IG1lbW9yeSBsZWFrCgkgIEdzdENhcHNGZWF0dXJlcyBuZWVkIHRvIGJlIGZyZWVkIHdpdGggZ3N0X2NhcHNfZmVhdHVyZXNfZnJlZSgpIGFmdGVyIHVzZS4KCSAgQ0lEICMxMzEyMTM2LCBDSUQgIzEzMTIxMzYKCjIwMTUtMDctMDIgMjA6MTA6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogQWRkIEdzdENvbnRyb2xCaW5kaW5nIHByb3h5CgkgIFRoaXMgaXMgdXNlZCB0byBwcm94eSBHc3RDb250cm9sQmluZGluZyB0byB0aGUgcGFkIG9uIHRoZQoJICBwYXJlbnQgb2JqZWN0LiBUaGlzIGF2b2lkIGhhdmluZyB0byBzeW5jIHRoZSB2YWx1ZXMgaW4gdGhlIHByb3h5IHBhZCwKCSAgdGhpcyBpcyB0b28gZWFybHkgaWYgeW91IGhhdmUgYSBxdWV1ZSBiZXR3ZWVuIHRoZSBwYWQgYW5kIHRoZSBhY3R1YWwKCSAgYWdncmVnYXRpb24gb3BlcmF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MDYwCgoyMDE1LTA3LTIyIDE5OjI3OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmM6CgkgIGF1ZGlvYWdncmVnYXRvcjogUmVnaXN0ZXIgZnVuY3Rpb24gbmFtZQoJICBPdGhlcndpc2UsIGl0IHNvbWV0aW1lcyBzZWdmYXVsdHMgd2l0aCBkZWJ1Z2dpbmcgZW5hYmxlZAoKMjAxNS0wNy0yMiAxOToyNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFVzZSAxLjAgc3R5bGUgYnVmZmVyIGFsbG9jYXRpb24KCjIwMTUtMDctMjIgMTY6NTg6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQ6IEZvcndhcmQgY29tcG9zaXRpb24gbWV0YSBldmVuIHdpdGhvdXQgcGFyYW1zCgkgIFdoZW4gdGhlIHNpbmsgZG9lcyBub3Qga25vdyB0aGUgd2luZG93IHNpemUgKGUuZyBub3QgY3JlYXRlZCB5ZXQpCgkgIGl0IHdpbGwgbm90IGFkZCBhbnkgcGFyYW0gdG8gdGhlIHRoZSBjb21wb3NpdGlvbiBtZXRhLiBUaGlzIGlzIG5vCgkgIHJlYXNvbiBub3QgdG8gZm9yd2FyZCB0aGlzIG1ldGEgQVBJLiBGaXhlcyBpc3N1ZSB3aGVyZSBpdCBjb3VsZCBub3QKCSAgYXR0YWNoIHVudGlsIHdlIHJlc2l6ZSB0aGUgd2luZG93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA3LTIyIDE1OjU2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBLZWVwIG1lbW9yeSBwb2ludGVyIGFsaXZlCgkgIEtlZXAgdGhlIGNvbXBvc2l0aW9uIG1lbW9yeSBwb2ludGVyIGFsaXZlIHdoaWxlIGl0J3MgYmVpbmcKCSAgd3JhcHBlZCBpbnNpZGUgYSBHc3RHTE1lbW9yeSBvYmplY3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTQ6MTc6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG92ZXJsYXljb21wb3NpdG9yLmM6CgkgIGdsb3ZlcmxheWNvbXBvc2l0b3I6IFBhc3MgYnVmZmVyIHN0cmlkZQoJICBUaGUgb3ZlcmxheSBwaXhlbCBidWZmZXIgc3RyaWRlIHdhcyBub3QgZ2l2ZW4gYmFjawoJICB0byB0aGUgR0wgaW1hZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDUtMTkgMTY6MDg6MDggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFN5bmMgcGFkIHZhbHVlcyBiZWZvcmUgYWdncmVnYXRpbmcKCSAgV2UgbmVlZCB0byBzeW5jIHRoZSBwYWQgdmFsdWVzIGJlZm9yZSB0YWtpbmcgdGhlIGFnZ3JlZ2F0b3IgYW5kIHBhZCBsb2NrcwoJICBvdGhlcndpc2UgdGhlIGVsZW1lbnQgd2lsbCBqdXN0IGRlYWRsb2NrIGlmIHRoZXJlJ3MgYW55IHByb3BlcnR5IGNoYW5nZXMKCSAgc2NoZWR1bGVkIHVzaW5nIEdzdENvbnRyb2xsZXIgc2luY2UgdGhhdCBpbnZvbHZlcyB0YWtpbmcgdGhlIGFnZ3JlZ2F0b3IgYW5kIHBhZAoJICBsb2Nrcy4KCSAgQWxzbyBhZGQgYSB0ZXN0IGZvciB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTc0CgoyMDE1LTA3LTIyIDE0OjA1OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBIaWRlIEdzdENvbXBzaXRpb25PdmVybGF5IG9iamVjdAoJICBUaGlzIG9iamVjdCBpcyBvbmx5IHVzZWQgaW5zaWRlIHRoZSBjb21wb3NpdG9yIGFuZCBkb2VzIG5vdAoJICBuZWVkIHRvIGJlIGV4cG9zZSBpbiBsaWJnc3RnbCBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTM6MzM6MTIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgbGliZ3N0Z2w6IE1ha2VmaWxlIHN0eWxlIGZpeAoKMjAxNS0wNy0yMSAyMzo0ODoyNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29tcG9zaXRpb25vdmVybGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBjb21wb3NpdGlvbi1vdmVybGF5OiBQb3NpdGlvbnMgYXJlIHJlbGF0aXZlIHRvIHRleHR1cmUKCSAgVGhlIGNvb3JkaW5hdGUgYXJlIHJlbGF0aXZlIHRvIHRoZSB0ZXh0dXJlIGRpbWVuc2lvbiBhbmQgbm90CgkgIHRoZSB3aW5kb3cgZGltZW5zaW9uIG5vdy4gVGhlcmUgaXMgbm8gbmVlZCB0byBwYXNzIHRoZSB3aW5kb3cKCSAgZGltZW5zaW9uIG9yIHRvIHVwZGF0ZSB0aGUgb3ZlcmxheSBpZiB0aGUgZGltZW5zaW9uIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjEgMjE6Mjc6NDUgLTA0MDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5oOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBDcmVhdGUgb3duIHNoYWRlciBvYmplY3QKCSAgTWFrZSBnbG92ZXJsYXljb21wb3NpdG9yIGluZGVwZW5kZW50IG9mIHRoZSBzaGFkZXIgdXNlZCBpbiB0aGUgc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNy0yMSAxODo0Nzo1NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBQcm9wZXJseSBoYW5kbGUgY29tcHNvc2l0b3IgbGlmZSB0aW1lCgkgIFNob3VsZCBiZSBjcmVhdGVkIGluIFJFQURZX1RPX1BBVVNFRCwgbm90IFBBVVNFRF9UT19QTEFZSU5HLgoJICBTaG91bGQgYmUgY2xlYXJlZCBpbiBQQVVTRURfVE9fUkVBRFkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjIgMTY6MTA6MzUgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoJICByZXQgaXMgZGVjbGFyZWQganVzdCB0byBpbml0aWFsaXplIHRvIFRSVUUgYW5kIG92ZXJ3cml0ZSB3aXRoIHRoZSB2YWx1ZSBvZgoJICB2cmV0LiBXZSBjYW4gcmV0dXJuIHRoZSB2YWx1ZSBvZiB2cmV0IGRpcmVjdGx5LiB2cmV0IGlzIFRSVUUgdW5sZXNzIHRoZQoJICBmb3J3YXJkX2V2ZW50X2Z1bmMgc2V0cyBpdCB0byBGQUxTRS4KCjIwMTUtMDctMjIgMTU6MTM6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBEb24ndCBkaXN0IGZpbGVzIHRoYXQgbWlnaHQgbm90IGV4aXN0CgkgIFdlIG9ubHkgcmVxdWlyZSBtb2MgYnVpbGRpbmcgYXQgYnVpbGQgdGltZS4KCjIwMTUtMDctMjIgMTU6NTA6MjYgKzA5MDAgIFlvdW5nIEhhbiBMZWUgPHkubGVlQGxnZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBsaWJ4bWwyID49IDIuOCBmb3IgREFTSCBwbHVnaW4KCSAgVGhlIERBU0ggcGx1Z2luIHVzZXMgeG1sQnVmZmVyRGV0YWNoIG5vdyBpbiB0aGUgY29kZQoJICB0aGF0IGhhbmRsZXMgQ29udGVudFByb3RlY3Rpb24gZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI3MDMKCjIwMTUtMDctMjIgMDg6MDU6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvcXQvTWFrZWZpbGUuYW06CgkgIHF0OiBUaWR5IHVwIG1ha2VmaWxlIGEgYml0IG1vcmUKCSAgU2VwYXJhdGUgZ2VuZXJhdGVkIGZpbGVzLCBmcm9tIGRpc3RlZCBmaWxlcwoKMjAxNS0wNy0yMSAyMDo1MjoyMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFJlYWQgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiB3aXRoIGxvY2sgaGVsZAoKMjAxNS0wNy0yMSAxMToyMzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGdzdGdsd2lkZ2V0OiB1c2UgZ3N0X2dsX2Rpc3BsYXlfY3JlYXRlX2NvbnRleHQKCSAgQWxzbyBoYW5kbGUgdGhlIGZhaWx1cmUgY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxMToyODowOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSAgY2FvcGVuZ2xsYXllcnNpbms6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzEwCgoyMDE1LTA3LTIxIDExOjIxOjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHN0ZXJlb3NwbGl0LmM6CgkgIGdsc3RlcmVvc3BsaXQ6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dAoJICBBbHNvIHVubG9jayB0aGUgbG9jayBvbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNy0yMSAxNDoxMDo1NyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogcmV0dXJuIGZhbHNlIGlmIGV2ZW50IGNvdWxkbid0IGJlIHB1c2hlZAoJICBNYWtlIHRoZSBnc3QgcGFkJ3MgZXZlbnQgZnVuY3Rpb24gcmV0dXJuIGZhbHNlIGlmIHRoZSBldmVudCBjb3VsZG4ndCBiZQoJICBwdXNoZWQgdG8gdGhlIHBhZC4KCjIwMTUtMDctMjEgMTM6MTE6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xvdmVybGF5Y29tcG9zaXRvci5jOgoJICBnbG92ZXJsYXljb21wb3NpdG9yOiBmb3IgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgb25seSBhbGxvd2VkIGluIEM5OSBtb2RlCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE1LTA2LTE5IDExOjU3OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2w6IHVzZSBnc3RfZ2xfZGlzcGxheV9jcmVhdGVfY29udGV4dCBpbiBtb3JlIGVsZW1lbnRzLgoJICBnbGJhc2VmaWx0ZXIsIGdsYmFzZW1peGVyIGFuZCBnbHRlc3RzcmMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDctMjEgMTc6MzQ6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgZ2wvYnVpbGQ6IGZpeCB0eXBvIGluIF9IRUFERVJTIHJlc3VsdGluZyBpbiBpbnN0YWxsaW5nIHRoZSB3cm9uZyBmaWxlCgkgIC91c3IvaW5jbHVkZS9nc3RyZWFtZXItMS4wL2dzdC9nbC9nbC5oOjUxOjQzOiBmYXRhbCBlcnJvcjoKCSAgZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoKMjAxNS0wNy0yMSAxNTozOTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBhZGQgUkdCIHRvIE5WMTIvTlYyMSBjb252ZXJzaW9uCgoyMDE1LTA3LTAxIDE0OjAxOjQ1ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IFNlbmQgcmVjb25maWd1cmUgZXZlbnQgd2hlbiB3aW5kb3cgc2l6ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDctMjAgMTQ6MjQ6MjIgLTA0MDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsaW1hZ2VzaW5rYmluOiBBZGQgYWxsb2NhdGlvbiBxdWVyeSBmb3IgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb24KCSAgQWRkcyBhbiBHU1RfVklERU9fT1ZFUkxBWV9DT01QT1NJVElPTl9NRVRBX0FQSV9UWVBFIHF1ZXJ5IHRvIGdsdXBsb2FkCgkgIGFuZCBnbGltYWdlc2luay4gIERldGVjdHMgdGhlIHF1ZXJ5IGZyb20gdGhlIGRvd25zdHJlYW0gZWxlbWVudHMsIHNvCgkgIGl0IGlzIGV4ZWN1dGVkIG9ubHkgd2hlbiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSBvdmVybGF5IEFQSS4KCSAgVGhpcyBtYWtlcyBwaXBlbGluZXMgd2l0aCB0ZXh0b3ZlcmxheSAhIGdsdXBsb2FkICEgZ2xkb3dubG9hZCAhIHh2aW1hZ2VzaW5rIHBvc3NpYmxlLgoJICBVc2VzIGFsbG9jYXRpb24gbWV0YSBzdHJ1Y3QgZm9yIHBhc3NpbmcgdGhlIHdpbmRvdyBzaXplIHVwc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA0LTIwIDEzOjE3OjA5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFwcGx5IEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBidWZmZXIgdG8gY29udmVydGVkIGJ1ZmZlcgoJICBTaW5jZSBnbGNvbG9yY29udmVydCBjcmVhdGVzIGEgbmV3IEdzdEJ1ZmZlciwKCSAgd2l0aG91dCB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIGRhdGEsCgkgIGl0IG5lZWRzIHRvIGJlIGNvcGllZCB0byBub3QgYmUgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAxMzozNDo1OCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBEZXRlY3Qgb3ZlcmxheSBtZXRhIGJ1ZmZlcnMgY29ycmVjdGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMDU6NDM6NTAgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsaW1hZ2VzaW5rYmluOiBBZGQgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIGNhcHMgZmVhdHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xOCAwNjowNDozNyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogVXBsb2FkIGFuZCBkcmF3IG92ZXJsYXlzIHdpdGggR3N0R0xPdmVybGF5Q29tcG9zaXRvcgoJICBSZWNlaXZlcyB0aGUgR3N0T3ZlcmxheUNvbXBvc2l0aW9uIGJ1ZmZlciBpbiB0aGUgZ2xpbWFnZXNpbmsgYW5kIGRyYXdzIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMzAgMTc6NTk6MTIgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsb3ZlcmxheWNvbXBvc2l0b3IuaDoKCSAgZ2xvdmVybGF5Y29tcG9zaXRvcjogQWRkIEdzdEdMT3ZlcmxheUNvbXBvc2l0b3IgY2xhc3MKCSAgTWFuYWdlcyB0aGUgR3N0R0xDb21wb3NpdGlvbk92ZXJsYXkgb2JqZWN0cywKCSAgY2FjaGVzIGFscmVhZHkgdXBsb2FkZWQgb3ZlcmxheXMgYW5kIGRyYXdzIHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDcKCjIwMTUtMDYtMTggMTQ6MTU6MDEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6LnNhcm5lY2tpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJICBnbGNvbXBvc2l0aW9ub3ZlcmxheTogQWRkIGNvbXBhdGliaWxpdHkgZm9yIEdMIGNvbnRleHRzIHdpdGhvdXQgZ2xHZW5WZXJ0ZXhBcnJheXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNi0xMyAxNTozNTo0NyArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3ouc2FybmVja2lAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbXBvc2l0aW9ub3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb21wb3NpdGlvbm92ZXJsYXkuaDoKCSAgZ2xjb21wb3NpdGlvbm92ZXJsYXk6IEFkZCBjbGFzcyBmb3IgbWFuYWdpbmcgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25PdmVybGF5IGJ1ZmZlcnMKCSAgQWRkIGEgY2xhc3MgdG8gc3RvcmUgYW5kIG1hbmFnZSB0aGUgT3BlbkdMIHRleHR1cmUsCgkgIHZlcnRleCBidWZmZXIgYW5kIEdzdFZpZGVvT3ZlcmxheVJlY3RhbmdsZS4KCSAgVHJhbnNmb3JtcyBvdmVybGF5IGNvb3JkaW5hdGUgc3BhY2UgdG8gdmVydGV4IGJ1ZmZlciBzcGFjZSB3aXRoIGFzcGVjdCByYXRpb3MgaW4gbWluZC4KCSAgPSBFeGFtcGxlIFBpcGVsaW5lcyA9CgkgIFNpbXBsZSBwaXBlbGluZQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9IkhlbGxvIFdvcmxkIiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIGdsaW1hZ2VzaW5rCgkgIERpc3BsYXkgMyBzdGF0aWMgb3ZlcmxheXMgYXQgZGlmZmVyZW50IHBvc2l0aW9ucwoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQxIiB2YWxpZ25tZW50PSJ0b3AiIGZvbnQtZGVzYz0ic2FucyBib2xkIDMwIiAhIFwKCSAgdGV4dG92ZXJsYXkgdGV4dD0idGV4dDIiIGhhbGlnbm1lbnQ9InJpZ2h0IiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIHRleHRvdmVybGF5IHRleHQ9InRleHQzIiBoYWxpZ25tZW50PSJsZWZ0IiBmb250LWRlc2M9InNhbnMgYm9sZCAzMCIgISBcCgkgIGdsaW1hZ2VzaW5rCgkgIERpc3BsYXkgc3VidGl0bGUgZmlsZSBvdmVyIHRlc3RzcmMKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgXAoJICB0ZXh0b3ZlcmxheSBuYW1lPWZvbyBmaWxlc3JjIGxvY2F0aW9uPWZvby5zcnQgISBzdWJwYXJzZSAhIHF1ZXVlICEgZm9vLiBmb28uICEgXAoJICBnbGltYWdlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA3CgoyMDE1LTA2LTE4IDExOjMzOjI5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IE1vdmUgZGVidWcgaW5pdCB0byB0b3Agb2YgdGhlIGZpbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwNwoKMjAxNS0wNC0yMCAxNTowNDo1NiArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IEZpeCBQTEMgZnJhbWUgc2l6ZSBjYWxjdWxhdGlvbnMKCSAgUHJldmlvdXNseSwgUExDIGZyYW1lcyBhbHdheXMgaGFkIGEgbGVuZ3RoIG9mIDEyMG1zLCB3aGljaCBjYXVzZWQgYXVkaW8KCSAgcXVhbGl0eSBkZWdyYWRhdGlvbiBhbmQgc3luY2hyb25pemF0aW9uIGVycm9ycy4gRml4IHRoaXMgYnkgY2FsY3VsYXRpbmcgYW4KCSAgYXBwcm9wcmlhdGUgbGVuZ3RoIGZvciB0aGUgUExDIGZyYW1lLgoJICBUaGUgbGVuZ3RoIG11c3QgYmUgYSBtdWx0aXBsZSBvZiAyLjVtcy4gQ2FsY3VsYXRlIGEgbXVsdGlwbGUgb2YgMi41bXMgdGhhdAoJICBpcyBuZWFyZXN0IHRvIHRoZSBjdXJyZW50IFBMQyBsZW5ndGguIEFueSBsZWZ0b3ZlciBQTEMgbGVuZ3RoIHRoYXQgZGlkbid0CgkgIG1ha2UgaXQgaW50byB0aGlzIGZyYW1lIGlzIGFjY3VtdWxhdGVkIGZvciB0aGUgbmV4dCBQTEMgZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNjcKCjIwMTUtMDctMTggMjE6MTg6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgkgIE5vIG5lZWQgZm9yIGEgZm9yZWFjaCBjYWxsYmFjayBmdW5jdGlvbiB0aGF0J3MganVzdCBhIGZldwoJICBsaW5lcyBvZiBjb2RlIGFuZCBpcyBvbmx5IHVzZWQgb25jZSwganVzdCBkbyB0aGUgZXZlbnQKCSAgcHVzaGluZyBpbmxpbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTEKCjIwMTUtMDItMDYgMTM6MjI6MTQgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIGdlbmVyYXRpbmcgUHJvdGVjdGlvbiBldmVudHMgZnJvbSBDb250ZW50UHJvdGVjdGlvbiBlbGVtZW50cwoJICBJZiBhIENvbnRlbnRQcm90ZWN0aW9uIGVsZW1lbnQgaXMgcHJlc2VudCBpbiBhbiBBZGFwdGF0aW9uU2V0IGVsZW1lbnQsCgkgIHNlbmQgUHJvdGVjdGlvbiBldmVudHMgb24gdGhlIHNvdXJjZSBwYWQsIHNvIHRoYXQgcXRkZW11eCBjYW4gdXNlIHRoaXMKCSAgaW5mb3JtYXRpb24gdG8gY29ycmVjdGx5IGdlbmVyYXRlIGl0cyBzb3VyY2UgY2FwcyBmb3IgREFTSCBDRU5DCgkgIGVuY3J5cHRlZCBzdHJlYW1zLgoJICBUaGlzIGFsbG93cyBxdGRlbXV4IHRvIHN1cHBvcnQgQ0VOQyBlbmNyeXB0ZWQgREFTSCBzdHJlYW1zIHdoZXJlIHRoZQoJICBjb250ZW50IHByb3RlY3Rpb24gc3BlY2lmaWMgaW5mb3JtYXRpb24gaXMgY2FycmllZCBpbiB0aGUgTVBEIGZpbGUKCSAgcmF0aGVyIHRoYW4gaW4gcHNzaCBib3hlcyBpbiB0aGUgaW5pdGlhbGlzYXRpb24gc2VnbWVudHMuCgkgIFRoaXMgY29tbWl0IGFkZHMgYSBuZXcgZnVuY3Rpb24gdG8gdGhlIGFkYXB0aXZlZGVtdXggYmFzZSBjbGFzcyB0byBhbGxvdwoJICBhIEdzdEV2ZW50IHRvIGJlIHF1ZXVlZCBmb3IgYSBzdHJlYW0uIFRoZSBxdWV1ZSBvZiBldmVudHMgYXJlIHNlbnQgdGhlCgkgIG5leHQgdGltZSBhIGJ1ZmZlciBpcyBwdXNoZWQgZm9yIHRoYXQgc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1OTkxCgoyMDE1LTA3LTIwIDEyOjQwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBmaXggb3V0cHV0IGNhcHMgZm9yIHN0cmVhbS1mb3JtYXQ9QURUUwoJICBTaG91bGQgaGF2ZSBmcmFtZWQ9dHJ1ZSBpbiBjYXBzLiBGaXhlcyB2b2FhY2VuYyAhIG1wZWd0c211eC4KCjIwMTUtMDctMjAgMTI6Mzg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBhYWMgY2FwcyBpbiBwYWQgdGVtcGxhdGUgZm9yIHJhdyBhYWMKCSAgUmF3IGFhYyBkb2Vzbid0IG5lZWQgZnJhbWVkPXRydWUuCgkgIEZpeGVzIG5vdC1uZWdvdGlhdGVkIGVycm9yIHdpdGggdm9hYWNlbmMgISBtcGVndHNtdXguCgoyMDE1LTA3LTIwIDExOjA5OjIwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogTG9nIEdESyBHTCBlcnJvciB3aGVuIGZhaWxsaW5nIGNyZWF0aW5nIEdka0dMQ29udGV4dAoKMjAxNS0wNy0yMCAxODoxOTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBjaGVjayBmb3IgcGJvIGF2YWlsYWJpbGl0eSBiZWZvcmUgYXR0ZW1wdGluZyBwYm8gZG93bmxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE2NQoKMjAxNS0wNy0xOCAxNzoxOToxOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeCBnZXRfY3VycmVudF9nbF9hcGkgb24geDExL252aWRpYSBkcml2ZXJzCgkgIFRoZXkgcmVxdWlyZSB0byBnZXRfcHJvY19hZGRyZXNzIHNvbWUgZnVuY3Rpb25zIHRocm91Z2ggdGhlCgkgIHBsYXRmb3JtIHNwZWNpZmljIHtnbFgsZWdsfUdldFByb2NBZGRyZXNzIHJhdGhlciB0aGFuIHRoZSBkZWZhdWx0CgkgIEdMIGxpYnJhcnkgc3ltYm9sIGxvb2t1cC4KCjIwMTUtMDctMTggMTc6MDg6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBjb25zb2xpZGF0ZSBnZXRfcHJvY19hZGRyZXNzIGZ1bmN0aW9uIGRlZmluaXRpb24KCSAgUGFzcyB0aGUgR3N0R0xBUEkgZGlyZWN0bHkuCgoyMDE1LTA3LTE3IDE3OjQ3OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogcHJvcGFnYXRlIGZhaWx1cmUgdG8gY29udmVydCBidWZmZXIgdXBzdHJlYW0KCSAgUmF0aGVyIHRoYW4ganVzdCBzaWxlbnRseSBjb250aW51aW5nCgoyMDE1LTA3LTE3IDEzOjQ4OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2xjb250ZXh0L2dseDogdHJ5IGNyZWF0aW5nIGEgY29udGV4dCB3aXRoIHRoZSBoaWdoZXN0IHZlcnNpb24KCSAgbnZpZGlhIGRyaXZlcnMgcmV0dXJuIHRoZSBleGFjdCB2ZXJzaW9uIGluIGdsR3N0U3RyaW5nIChHTF9WRVJTSU9OKQoJICB3ZSByZXF1ZXN0IG9uIGNyZWF0aW9uIHNvIHN0YXJ0IHdpdGggdGhlIGhpZ2hlc3Qga25vd24gdmVyc2lvbiBhbmQKCSAgd29yayBvdXIgd2F5IGRvd24uCgoyMDE1LTA3LTE2IDAwOjM3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogdHJhY2sgc2hhcmVkbmVzcyB3aXRoIGEgY29va2llCgkgIFRoZSBwcmV2aW91cyBhcHByb2FjaCBvZiB0cmF2ZXJzaW5nIHRoZSBvdGhlcl9jb250ZXh0IHdlYWsgcmVmIHRyZWUgd2FzCgkgIDEuIExlc3MgcGVyZm9ybWFudAoJICAyLiBJbmNvcnJlY3QgZm9yIGNvbnRleHQgZGVzdHJ1Y3Rpb24gcmVtb3ZpbmcgYSBsaW5rIGluIHRoZSB0cmVlCgkgIEV4YW1wbGUgb2YgMjoKCSAgYzEgPSBjb250ZXh0X2NyZWF0ZSAoTlVMTCkKCSAgYzIgPSBjb250ZXh0X2NyZWF0ZSAoYzEpCgkgIGMzID0gY29udGV4dF9jcmVhdGUgKGMyKQoJICBjb250ZXh0X2Nhbl9zaGFyZSAoYzEsIGMzKSA9PSBUUlVFCgkgIGNvbnRleHRfZGVzdHJveSAoYzIpCgkgIHVucmVmIChjMikKCSAgY29udGV4dF9jYW5fc2hhcmUgKGMxLCBjMykgcmV0dXJucyBGQUxTRSB3aGVuIGl0IHNob3VsZCBiZSBUUlVFIQoJICBUaGlzIGRvZXMgbm90IHJlbW92ZSB0aGUgcmVzdHJpY3Rpb24gdGhhdCBjb250ZXh0IHNoYXJlZG5lc3MgY2FuIG9ubHkKCSAgYmUgdHJhY2tlZCBiZXR3ZWVuIEdzdEdMQ29udGV4dCdzLgoKMjAxNS0wNy0xNiAwMDozMzoxNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IHVzZSB0aGUgZGVidWcgb2JqZWN0IHZhcmlhbnQgZm9yIGNvbXBsZXRlbmVzcwoKMjAxNS0wNy0xNyAxNjowMDowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnc3RnbHdpZGdldDogQ2xlYW51cCB1bnVzZWQgcHJpdmF0ZSBtZW1iZXIKCSAgbmV3X2J1ZmZlciBoYXMgYmVlbiBtb3ZlZCB0byBiYXNlIGNsYXNzLiBBbHNvIGNsZWFudXAKCSAgdGhlIHByb3BlcnRpZXMgY29tbWVudCwgd2hpY2ggYXJlIGFsc28gYWxsIG1vdmVkIGludG8KCSAgdGhlIGJhc2UgY2xhc3MuCgoyMDE1LTA3LTE3IDE1OjU3OjM3IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkgIGd0a3Npbms6ICJ3aWRnZXQiIG11c3QgYmUgYWNjZXNzIGZyb20gbWFpbiB0aHJlYWQKCSAgRG9jdW1lbnQgdGhhdCAid2lkZ2V0IiBwcm9wZXJ0eSBtdXN0IGJlIGFjY2Vzc2VkIGZyb20gdGhlCgkgIG1haW4gdGhyZWFkICh3aGVyZSBHVEsgaXMgcnVubmluZykuIFRoaXMgaXMgdGhlIHNhbWUgZm9yCgkgIHN0YXRlIHRyYW5zaXRpb24gb24gdGhlc2UgZWxlbWVudHMuIEl0IGlzIHZlcnkgbmF0dXJhbCB0bwoJICBkbyBzbyB1biBHVEsgYXBwbGljYXRpb25zLgoKMjAxNS0wNy0xNyAxNTowODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHNpbms6IERvbid0IGxlYWsgdmVydGV4IGFycmF5IGFuZCBidWZmZXJzCgkgIFRoaXMgaXMgbm93IHBvc3NpYmxlIHNpbmNlIHJlc2V0IGlzIGFsd2F5cyBjYWxsZWQgZnJvbSB0aGUKCSAgbWFpbiB0aHJlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTcgMTQ6MzY6NTYgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrZ3N0YmFzZXdpZGdldDogRml4IGJsYWNrIGZyYW1lIG9uIHJlc2l6ZQoJICBUaGlzIGlzIHNvbHZlZCBieSBvbmx5IGFwcGx5aW5nIHRoZSBuZXcgZm9ybWF0IHdoZW4gdGhlIG5leHQKCSAgYnVmZmVyIGlzIHRvIGJlIHJlbmRlcmVkIGFuZCBvbiB0aGUgR1RLIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNyAxMzowNTowNSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtiYXNlc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RiYXNld2lkZ2V0Lmg6CgkgIGd0a2dzdGJhc2V3aWRnZXQ6IFBhc3MgYWxyZWFkeSBwYXJzZWQgVmlkZW9JbmZvCgkgIEFzIHRoZSBiYXNlIHNpbmsgYWxyZWFkeSBwYXJzZSB0aGUgY2FwcyBpbnRvIFZpZGVvSW5mbyBpdAoJICBtYWtlcyBzZW5zZSB0byBwYXNzIGluIFZpZGVvSW5mbyB0byB0aGUgd2lkZ2V0IGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6NDk6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luayBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTY6MDA6MzcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHc3RHdGtCYXNlU2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE1OjU5OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2Jhc2VzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrYmFzZXNpbmsuaDoKCSAgZ3RrYmFzZXNpbms6IENyZWF0ZSBhIGJhc2UgY2xhc3MKCSAgVGhpcyBjb250YWlucyBhbGwgdGhlIGNvbW1vbiBjb2RlIGJldHdlZW4gdGhlIGd0a2dsc2luayBhbmQKCSAgZ3Rrc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjQ0MQoKMjAxNS0wNy0xNiAxNDozMDo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0Lmg6CgkgIGd0a2dsc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTU6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuaDoKCSAgZ3Rrc2luazogUG9ydCB0byBHdGtHc3RCYXNlV2lkZ2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0NDEKCjIwMTUtMDctMTYgMTI6NTE6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvTWFrZWZpbGUuYW06CgkqIGV4dC9ndGsvZ3RrZ3N0YmFzZXdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdGJhc2V3aWRnZXQuaDoKCSAgZ3RrOiBBZGQgR3RrR3N0QmFzZVdpZGdldAoJICBUaGlzIGlzIGEgInBzZXVkbyIgYmFzZSBjbGFzcy4gQmFzaWNhbGx5IGl0J3MgYSBzaGFyZWQgaW5zdGFuY2UKCSAgYW5kIGNsYXNzIHN0cnVjdHVyZSBhbmQgYSBzaGFyZWQgc2V0IG9mIGZ1bmN0aW9uIGJldHdlZW4gdGhlCgkgIHR3byB3aWRnZXQuIEl0IGNhbm5vdCBoYXZlIGl0J3Mgb3duIHR5cGUgbGlrZSBub3JtYWwgYmFzZSBjbGFzcwoJICBzaW5jZSB0aGUgb25lIGluc3RhbmNlIHdpbGwgaW1wbGVtZW50IEd0a0dMQXJlYSB3aGlsZSB0aGUgb3RoZXIKCSAgaW1wbGVtZW50cyBHdGtEcmF3aW5nQXJlYXkuIFRvIHdvcmthcm91bmQgdGhpcywgdGhlIHBhcmVudCBpbnN0YW5jZQoJICBhbmQgY2xhc3MgaXMgYSB1bmlvbiBvZiBib3RoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDQxCgoyMDE1LTA3LTE2IDE2OjQ3OjA1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIHVwbG9hZGVsZW1lbnQ6IFByb3RlY3QgYWdhaW5zdCBOVUxMIHBvaW50ZXIKCSAgSSBub3RpY2UgdGhhdCBpZiB5b3Ugc3RvcCB0aGUgcGlwZWxpbmUgZHVyaW5nIGEgcmVuZWdvdGlhdGlvbgoJICB0aGUgdXBsb2FkIG1heSBiZSBOVUxMIHdoaWxlIGFuIGFsbG9jYXRpb24gcXVlcnkgaXMgYmVpbmcgcnVuLgoJICBJbiB0aGF0IHNjZW5hcmlvLCByZXR1cm5pbmcgRkFMU0UgdG8gdGhlIGFsbG9jYXRpb24gcXVlcnkgaXMgdGhlCgkgIGJlc3QgdGhpbmcuCgoyMDE1LTA3LTE1IDE3OjM1OjIyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dzdGdsd2lkZ2V0OiBSZW1vdmUgdW51c2VkIGdsX2NhcHMKCjIwMTUtMDctMTUgMTY6NTY6MzMgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJICBndGtzaW5rOiBDcmVhdGUgYSB3aW5kb3cgaWYgdGhlIHdpZGdldCBpcyB1bnBhcmVudGVkCgkgIFRoZSBzYW1lIHdheSBhcyBpdCdzIG5vdyBkb25lIHdpdGggdGhlIGd0a2dsc2luaywgY3JlYXRlIGEgdG9wCgkgIGxldmVsIHdpbmRvdyBpZiB0aGUgd2lkZ2V0IGlzIG5vdCBwYXJlbnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozNTowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0a3Npbms6IEVuc3VyZSB0aGUgY29weSBwYXN0ZWQgY29kZSByZW1haW5zIHRoZSBzYW1lCgkgIE1vdmUgYmFjayB0aGUgZGVmYXVsdCBwcm9wZXJ0eSBhdCB0aGUgc2FtZSBwbGFjZSB0aGV5IGFyZSBpbiB0aGUKCSAgb3RoZXIgc2luay4gVGhpcyBoZWxwcyB3aGVuIHVzaW5nIGEgZGlmZiB2aWV3ZXIgdG8gc3luY2hyb25pemVkCgkgIHRoaXMgdW5mb3J0dW5hdGUgY29weSBwYXN0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNSAxNDozMjo0MiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBGaXggcmFjZSBiZXR3ZWVuIHF1ZXVlX2RyYXcgYW5kIGRlc3Ryb3kKCSAgSW4gR1RLIGRpc3Bvc2UgY2FuIGJlIGNhbGxlZCBiZWZvcmUgdGhlIGxhc3QgcmVmIGlzIHJlYWNoZWQuIFRoaXMKCSAgaGFwcGVucyB3aGVuIHlvdSBjbG9zZSB0aGUgY29udGFpbmVyIHdpbmRvdy4gVGhlIGRpc3Bvc2Ugd2lsbCBiZQoJICBleHBsaWNpdGx5IGNhbGxlZCwgYW5kIGRlc3Ryb3llZCBub3RpZnkgd2lsbCBiZSBmaXJlZC4gVGhpcyBwYXRjaAoJICBmaXhlcyB0aGlzIHJhY2UgYnkgcHJvcGVybHkgdHJhY2tpbmcgdGhlIHdpZGdldCBzdGF0ZS4KCSAgSW4gdGhlIHNpbmssIHdlIG5vdyBzZXQgdGhlIHdpZGdldCBwb2ludGVyIHRvIE5VTEwsIHNvIHRoZSB3aWRnZXQKCSAgd2lsbCBwcm9wZXJseSBnZXQgY3JlYXRlZCBhZ2FpbiBpZiB5b3Ugc2V0IHlvdXIgcGlwZWxpbmUgdG8gTlVMTAoJICBzdGF0ZSBhZnRlciB0aGUgd2lkZ2V0IHdhcyBkZXN0cm95LCBhbmQgc2V0IGl0IGJhY2sgdG8gUExBWUlORy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0xNiAyMToyODoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB0eXBlZmluZGVyLCBtb3ZlIGl0IHRvIHR5cGVmaW5kZnVuY3Rpb25zIGluIC1iYXNlCgkgIE90aGVyd2lzZSB0aGlzIHBsdWdpbiB3aWxsIGJlIGxvYWRlZCBwcmV0dHkgbXVjaCB3aGVuZXZlcgoJICB0aGVyZSdzIGFueXRoaW5nIHRvIHR5cGVmaW5kLiBBbmQgdGhlIGNvZGUgd2FzIHByZXR0eSBtdWNoCgkgIGNvcHknbidwYXN0ZSBmcm9tIC1iYXNlIGFueXdheS4KCjIwMTUtMDctMTUgMTM6MDI6NTQgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZGVmYXVsdCB0aW1lc2NhbGUgaXMgMQoJICBkZWZhdWx0IHRpbWVzY2FsZSB2YWx1ZSBzaG91bGQgYmUgMSwgbm90IDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTI0MTQKCjIwMTUtMDctMTUgMTM6NDE6MzcgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZnJlZSBwcm9wX3N0cmluZyBvbmx5IGFmdGVyIGl0J3Mgbm8gbG9uZ2VyIG5lZWRlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyNDE5CgoyMDE1LTA3LTE2IDE3OjIxOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIFVwZGF0ZSBtYWlsaW5nIGxpc3QgYWRkcmVzcyBmcm9tIHNvdXJjZWZvcmdlIHRvIGZyZWVkZXNrdG9wCgoyMDE1LTA3LTE1IDExOjQ3OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtnc3R3aWRnZXQ6IEFkZCBtaXNzaW5nIGJyZWFrIGluIGdldF9wcm9wZXJ0eQoKMjAxNS0wNy0xNSAxMTo0NDozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkgIGd0a3NpbmtzOiBSZW1vdmUgdW5kZWZpbmVkIHByaXZhdGUgc3RydWN0dXJlCgkgIFRoZSBjbGFzc2VzIGNvbnRhaW5zIGEgcHJpdmF0ZSBzdHJ1Y3R1cmUgd2hpY2ggYXJlIG5vdCBkZWZpbmVkLAoJICBoZW5jZSB1bnVzZWQuCgoyMDE1LTA3LTE0IDE3OjQwOjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG1lbWNweSBvbiByYXcgZGF0YSB1cGxvYWQKCSAgQW55dGhpbmcgZWxzZSByZXF1aXJlcyBrZWVwaW5nIHRyYWNrIG9mIHRoZSBHc3RWaWRlb0ZyYW1lIG1hcHBpbmcKCSAgYWNyb3NzIHBvc3NpYmxlIG11bHRpcGxlIGJ1ZmZlcnMgdG8gZW5zdXJlIGNvcnJlY3QgZGF0YSBwb2ludGVyCgkgIHVzYWdlLgoKMjAxNS0wNy0xNCAxNzozOTo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5jOgoJICBnbGJhc2VidWZmZXI6IGFkZCBzb21lIGRlYnVnIGFuZCB6ZXJvIHRoZSBkYXRhIHBvaW50ZXJzIG9uIGluaXQKCjIwMTUtMDctMTAgMDE6MDA6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IHdhaXQgZm9yIGRhdGEgb24gc3BhcnNlIGlucHV0cyBsaWtlIG1ldGFkYXRhIG9yIHN1YnRpdGxlIHN0cmVhbXMKCjIwMTQtMTEtMDkgMTk6MTY6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgYmFzaWMgc3VwcG9ydCBmb3IgYXN5bmNocm9ub3VzIEtMViBtZXRhZGF0YSBzdHJlYW1zCgkgIFRoaXMgaXMgZGVmaW5lZCBpbiBTTVBURSBScCAyMTcuIEluIHRoaXMgY2FzZSB0aGUKCSAgbWV0YWRhdGEgUEVTIHBhY2tldHMgY2Fycnkgbm8gdGltZXN0YW1wcyBvZiB0aGVpcgoJICBvd24gYW5kIG5vIE1ldGFkYXRhIEFjY2VzcyBVbml0IFdyYXBwZXJzIGFyZSB1c2VkLgoKMjAxNS0wNi0yOSAwMjo0MjowNiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBoYW5kbGUgbm9uLWNvbnNlY3V0aXZlIEdzdEJ1ZmZlciBpbnB1dCB3aXRob3V0IGNvcHlpbmcKCSAgQ01CbG9ja0J1ZmZlciBvZmZlcnMgYSBtb2RlbCBzaW1pbGFyIHRvIEdzdEJ1ZmZlciwgYXMgaXQgY2FuCgkgIGNvbnNpc3Qgb2YgbXVsdGlwbGUgbm9uLWNvbnNlY3V0aXZlIG1lbW9yeSBibG9ja3MuCgkgIFByaW9yIHRvIHRoaXMgY2hhbmdlLCB3aGF0IHdlIHdlcmUgZG9pbmcgd2FzOgoJICAxKSBJbmNvcnJlY3Q6CgkgIENNQmxvY2tCdWZmZXJDcmVhdGVXaXRoTWVtb3J5QmxvY2sgZG9lcyBub3QgY29weSB0aGUgZGF0YSwKCSAgYnV0IHdlIGdzdF9idWZmZXJfdW5tYXAnZCByaWdodCBhd2F5LgoJICAyKSBJbmVmZmljaWVudDoKCSAgSWYgdGhlIEdzdEJ1ZmZlciBjb25zaXN0ZWQgb2Ygbm9uLWNvbnRpZ3VvdXMgbWVtb3J5IGJsb2NrcywKCSAgZ3N0X2J1ZmZlcl9tYXAgcmVzdWx0ZWQgaW4gbWFsbG9jIC8gbWVtY3B5LgoJICBXaXRoIHRoaXMgY2hhbmdlLCB3ZSBjb25zdHJ1Y3QgYSBDTUJsb2NrQnVmZmVyIG91dCBvZiBpbmRpdmlkdWFsIG1hcHBlZAoJICBHc3RNZW1vcnkgb2JqZWN0cy4gQ01CbG9ja0J1ZmZlciBpcyBtYWRlIHRvIHJldGFpbiB0aGUgR3N0TWVtb3J5CgkgIG9iamVjdHMgKHRocm91Z2ggdGhlIHVzZSBvZiBDTUJsb2NrQnVmZmVyQ3VzdG9tQmxvY2tTb3VyY2UpLCBzbyB0aGUKCSAgb3JpZ2luYWwgR3N0QnVmZmVyIGNhbiBiZSB1bnJlZidkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjQxCgoyMDE1LTA3LTEzIDIzOjIyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhcHBsZW1lZGlhL2F2c2FtcGxlOiBmaXggdW5jb25kaXRpb25hbCB1c2Ugb2YgT1NYIDEwLjEwIEFQSQoJICBXZSBjYW4ganVzdCBub3QgdXNlIHRoZSBlcnJvci9zdGF0dXMgcHJvcGVydGllcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjMxCgoyMDE1LTA3LTEwIDE5OjA1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHRyeSBoYXJkZXIgdG8gZmluZCB0aGUgcmlnaHQgUXQ1IGJ1aWxkIHRvb2xzCgkgIEZpcnN0IGNoZWNrIGZvciBRdCBidWlsZCB0b29scyBpbiB0aGUgaG9zdF9iaW5zIGRpcmVjdG9yeQoJICBmcm9tIHRoZSBRdDVDb3JlIHBrZy1jb25maWcgZmlsZS4gVGhpcyBmaXhlcyB0aGUgc2l0dWF0aW9uCgkgIHdoZXJlIGJvdGggUXQ0IGFuZCBRdDUgYXJlIGluc3RhbGxlZCBidXQgdGhlIGdsb2JhbCBtb2MvdWljL2V0Yy4KCSAgYXJlIHRoZSBRdDQgdmVyc2lvbiwgd2hpY2ggd291bGQgcmVzdWx0IGluIGJ1aWxkIGZhaWx1cmVzLgoKMjAxNS0wNy0xMCAxNDowMTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3F0L3F0aXRlbS5jYzoKCSAgY29uZmlndXJlL3F0OiBGaXggYnVpbGQgd2l0aG91dCBRdDVYMTFFeHRyYXMKCjIwMTUtMDctMTAgMTM6MjY6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IGdfc2xpY2VfbmV3KCkgY2FuJ3QgcmV0dXJuIE5VTEwKCSAgSXQgd2lsbCBhYm9ydCgpIGlmIGFsbG9jYXRpb24gZmFpbHMuCgoyMDE1LTA3LTEwIDEzOjE5OjQwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgYWxsb3cgbmV0d29yayBhY2Nlc3Mgd2hlbiByZWFkaW5nIHRoZSBYTUwgZGF0YQoKMjAxNS0wNy0xMCAxOToyMjowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBxdDogZG9uJ3QgZXJyb3Igb3V0IGlmIFF0IFgxMSBjb3VsZCBub3QgYmUgZm91bmQKCSAgUENLX0NIRUNLX01PRFVMRVMgZGVmYXVsdCBlcnJvci1pZi1ub3QtZm91bmQgaW1wbGVtZW50YXRpb24gZXJyb3JzCgkgIHNvIG92ZXJyaWRlIGl0IHdpdGggYSBzaW1wbGUgbm90aWNlIHRoYXQgd2UgY291bGRuJ3QgZmluZCB0aGUgbGlicmFyeS4KCjIwMTUtMDctMDYgMjM6MTA6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvLmdpdGlnbm9yZToKCSogZXh0L3F0L01ha2VmaWxlLmFtOgoJKiBleHQvcXQvZ3N0cGx1Z2luLmNjOgoJKiBleHQvcXQvZ3N0cXNndGV4dHVyZS5jYzoKCSogZXh0L3F0L2dzdHFzZ3RleHR1cmUuaDoKCSogZXh0L3F0L2dzdHF0c2luay5jYzoKCSogZXh0L3F0L2dzdHF0c2luay5oOgoJKiBleHQvcXQvcXRpdGVtLmNjOgoJKiBleHQvcXQvcXRpdGVtLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL3F0L3FtbC9tYWluLnFtbDoKCSogdGVzdHMvZXhhbXBsZXMvcXQvcW1sL3BsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9xdC9xbWwvcW1sLnFyYzoKCSAgbmV3IHF0NSBxbWwgR0wgdmlkZW8gc2luawoJICBWZXJ5IG11Y2ggaW4gdGhlIHNhbWUgc3Bpcml0IGFzIHRoZSBHdGsgR0wgc2luawoJICBUd28gdGhpbmdzIGFyZSBwcm92aWRlZAoJICAxLiBBIFFRdWlja0l0ZW0gc3ViY2xhc3MgdGhhdCByZW5kZXJzIG91dCBSR0JBIGZpbGxlZCBHc3RHTE1lbW9yeQoJICBidWZmZXJzIHRoYXQgaXMgaW5zdGFudGlhdGVkIGZyb20gcW1sLgoJICAyLiBBIHNpbmsgZWxlbWVudCB0aGF0IHdpbGwgcHVzaCBidWZmZXJzIGludG8gKDEpCgkgIFRvIHVzZQoJICAxLiBEZWNsYXJlIHRoZSBHc3RHTFZpZGVvSXRlbSBpbiBxbWwgd2l0aCBhbiBhcHByb3ByaWF0ZQoJICBvYmplY3ROYW1lIHByb3BlcnR5IHNldC4KCSAgMi4gR2V0IHRoZSBhZm9yZW1lbnRpb25lZCBHc3RHTFZpZGVvSXRlbSBmcm9tIHFtbCB1c2luZyBzb21ldGhpbmcgbGlrZQoJICBRUW1sQXBwbGljYXRpb25FbmdpbmUgZW5naW5lOwoJICBlbmdpbmUubG9hZChRVXJsKFFTdHJpbmdMaXRlcmFsKCJxcmM6L21haW4ucW1sIikpKTsKCSAgUU9iamVjdCAqcm9vdE9iamVjdCA9IGVuZ2luZS5yb290T2JqZWN0cygpLmZpcnN0KCk7CgkgIFFRdWlja0l0ZW0gKnZpZGVvSXRlbSA9IHJvb3RPYmplY3QtPmZpbmRDaGlsZDxRUXVpY2tJdGVtICo+ICgidmlkZW9JdGVtIik7CgkgIDMuIFNldCB0aGUgdmlkZW9JdGVtIG9uIHRoZSBzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIxODUKCjIwMTUtMDctMDggMTc6MTc6MTggKzAyMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdWJ1bnR1LmNvbT4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSAgYmx1ZXo6IEZpeCBtYWtlIGRpc3Qgd2hpbGUgYmx1ZXogPj0gNSBpcyBub3QgYXZhaWxhYmxlCgoyMDE1LTA3LTA5IDE4OjMxOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRml4IHByZXZpb3VzIGNvbW1pdAoJICBXZSBvbmx5IHdhbnQgdG8gZG8gYSBoYXJkIHJlc2V0IG9mIHRoZSBvYnNlcnZhdGlvbnMgaWYgd2UncmUgd29ya2luZwoJICB3aXRoIFRJTUUgc2VnbWVudHMgaW4gcHVzaCBtb2RlLiBGb3IgQllURSBzZWdtZW50IHdlIHdhbnQgdG8ga2VlcAoJICB0aGUgb2JzZXJ2YXRpb25zIChpbiBvcmRlciB0byBkbyBzZWVrcyBpbiBwdXNoLW1vZGUpLgoKMjAxNS0wNy0wOSAxNjo1OToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZsdXNoIG1vcmUgb24gRElTQ09OVCBidWZmZXJzIGluIHB1c2ggbW9kZQoJICBXaGVuIGluIHB1c2ggbW9kZSwgd2Ugd2FudCB0byBkaXNjYXJkIGFsbCBwcmV2aW91cyBvYnNlcnZhdGlvbnMgZnJvbSB0aGUKCSAgbXBlZ3RzcGFja2V0aXplciB3aGVuIHdlIGdldCBhIERJU0NPTlQgYnVmZmVyLgoJICBUaGlzIGF2b2lkcyB0cnlpbmcgdG8gY2FsY3VsYXRlIGJvZ3VzIHRpbWVzdGFtcHMgKGVzdGltYXRpbmcgdGhlbSB1c2luZyBvbGQKCSAgUENSIG9ic2VydmF0aW9ucykuCgkgIFdlIG9ubHkgZG8gYSBoYXJkIHJlc2V0IGluIHB1c2gtbW9kZS4gSW4gcHVsbC1tb2RlIHdlIHN0aWxsIG5lZWQgdGhlIG9ic2VydmF0aW9ucwoJICAoaW4gb3JkZXIgdG8gc2VlayBwcm9wZXJseSkKCjIwMTUtMDctMDkgMTE6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IEFkZCBuZXcgZ2VuZXJhdGVkIGZpbGVzCgoyMDE1LTA3LTA5IDExOjA1OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJICBibHVlejogSW5jbHVkZSBuZXcgZmlsZSBpbiBkaXN0J2VkIGZpbGVzCgkgIEZpeGVzIG1ha2UgZGlzdGNoZWNrIGFuZCB0YXJiYWxsIGdlbmVyYXRpb24KCjIwMTUtMDctMDkgMTM6MDM6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGd0azogYWRkIHRvIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0CgoyMDE1LTA2LTE3IDA5OjM2OjU3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBHc3RHdGtHTFNpbms6IEVuc3VyZSB3aWRnZXQgaGFzIGEgdG9wbGV2ZWwgcGFyZW50CgkgIENoZWNraW5nIGZvciBhIHBhcmVudCBpcyBub3QgZW5vdWdoLCBpdCBtdXN0IGhhdmUgYSB0b3BsZXZlbCBvbmUuCgkgIElmIHdpZGdldCBoYXMgbm8gdG9wbGV2ZWwgcGFyZW50IHRoZW4gYWRkIGl0IGluIGEgR3RrV2luZG93LCB0aGF0CgkgIG1ha2UgaXQgdXNhYmxlIGZyb20gZ3N0LWxhdW5jaC0xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExMDQKCjIwMTUtMDYtMTcgMDk6MzY6NDAgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkgIEdzdEd0a0dMU2luazogUG9zdCBlcnJvciBpZiB3aWRnZXQgZ2V0cyBkZXN0cm95ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNi0xNiAxNjoyMToyNiAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSAgR3N0R3RrR0xTaW5rOiBmaXggcG9zc2libGUgd2FybmluZyBpbiBmaW5hbGl6ZQoJICBJZiB0aGUgZWxlbWVudCBpcyBmaW5hbGl6ZWQgYmVmb3JlIGdvaW5nIGluIFJFQURZIHN0YXRlCgkgIHRoZSB3aWRnZXQgY291bGQgc3RpbGwgYmUgTlVMTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwNAoKMjAxNS0wNy0wOCAyMzoxNDoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBtcGRwYXJzZXI6IEZpeCBzb21lIG1lbW9yeSBsZWFrcyBpbiB0aGUgTVBEIHBhcnNlciBhbmQgdW5pdCB0ZXN0CgoyMDE1LTA3LTA3IDE2OjU5OjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIHVuaXQgdGVzdHMgdG8gdGVzdCBhbGwgZnVuY3Rpb25zCgkgIEFkZGVkIHVuaXQgdGVzdHMgZm9yIGFsbCBmdW5jdGlvbnMuIENvZGUgY292ZXJhZ2U6CgkgIE92ZXJhbGwgY292ZXJhZ2UgcmF0ZToKCSAgbGluZXMuLi4uLi46IDgzLjglICgxOTQxIG9mIDIzMTYgbGluZXMpCgkgIGZ1bmN0aW9ucy4uOiAxMDAuMCUgKDE0MSBvZiAxNDEgZnVuY3Rpb25zKQoKMjAxNS0wNy0wOCAxNzowODo1NiArMDMwMCAgUm9tYW4gRG9uY2hlbmtvIDxyb21hbi5kb25jaGVua29AaXRzZWV6LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IGZpeCBhIEdzdENhcHMgb2JqZWN0IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NTIxMjcKCjIwMTUtMDMtMjYgMTE6MzQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogcmVtb3ZlIHVubmVjZXNzYXJ5IGNoZWNrCgkgIFRoaXMgaXMgbm90IHB1YmxpYyBBUEksIHVzZSBnX2Fzc2VydCgpIGluc3RlYWQgb2YKCSAgZ19yZXR1cm5faWZfZmFpbCgpLCBzbyB0aGF0IGl0J3MgY29tcGlsZWQgb3V0IGluCgkgIHJlbGVhc2VzLiBJdCdzIG9ubHkgY2FsbGVkIGZyb20gb3VyIGNvZGUsIHdpdGggJmZvby4KCjIwMTQtMDYtMzAgMTM6MjA6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogYWRkIHN1cHBvcnQgZm9yIEtMViBtZXRhZGF0YSBzdHJlYW1zCgkgIFRoZXJlJ3Mgbm8gdGltZXN0YW1wcyBmb3IgdGhlc2Ugc3RyZWFtcyB0aG91Z2gsIHdlCgkgIG1pZ2h0IHdhbnQgdG8gbWFrZSBzb21lIHVwIGJhc2VkIG9uIHRoZSBsYXN0L25leHQKCSAgdmlkZW8gUFRTIG9yIHNvLgoKMjAxNS0wNy0wOCAxNjozMTo0OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgIlJldmVydCAiZGFzaGRlbXV4OiBmaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNDg3NWRkZjU4NTVhMjZmMzQ5ZGY3YjM4NWI2OGViNjkyZTMxNGJmYS4KCSAgVGhpcyB3YXMgYmFzZWQgb24gYSBtaXN1bmRlcnN0YW5kaW5nIG9mIHRoZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDg1CgoyMDE1LTA3LTA2IDEzOjI4OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2wvZWFnbDogRG9uJ3QgY2FsbCBhbnl0aGluZyBzeW5jaHJvbm91c2x5IGZyb20gdGhlIG1haW4gdGhyZWFkCgkgIFRoaXMgd2lsbCBkZWFkbG9jayBpZiB0aGUgbWFpbiB0aHJlYWQgaXMgdGhlIG9uZSB3aG8gY3JlYXRlcyB0aGUgR3N0R0xDb250ZXh0LgoJICBBbGwgdGhpbmdzIHdlIGNhbGwgZnJvbSB0aGUgbWFpbiB0aHJlYWQgc2hvdWxkIGJlIHBvc3NpYmxlIGZyb20gYW55IHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTEwMQoKMjAxNS0wNy0wOCAxMjoxNjozNSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogcmVtb3ZlIHVubmVjZXNzYXJ5IGdvdG8KCSAgQWxsIGdvdG8gZmFpbCBoYXBwZW4gYmVmb3JlIHJldCBpcyBzZXQuIHJldCBtdXN0IGJlIE5VTEwsIGFuZCB0aGUgb25seQoJICB0aGluZyB0aGUgZmFpbCBzdGF0ZW1lbnQgYmxvY2sgZG9lcyBpcyByZXR1cm4gTlVMTC4gUmVwbGFjaW5nIHRoZSBqdW1wcyB0bwoJICBkbyB0aGlzIHJldHVybiBkaXJlY3RseS4KCSAgQ0lEICMxMzExMzI5CgoyMDE1LTA3LTA4IDExOjMyOjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHJlZHVuZGFudCBlbHNlIHN0YXRlbWVudAoJICBFbHNlIHN0YXRlbWVudCBpcyByZWR1bmRhbnQgd2hlbiB0aGUgaWYgYmxvY2sgZmluaXNoZXMgd2l0aCBhbiByZXR1cm4uCgoyMDE1LTA3LTA4IDExOjQyOjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBzdXBwb3J0IGZvciBIMjY1L0hFVkMKCjIwMTUtMDYtMjkgMTI6NDA6NTUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZml4IHJlZmNvdW50IGVycm9yIGluIGVycm9yIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2NDEKCjIwMTUtMDctMDcgMTk6NDg6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEV4cGxpY2l0bHkgY2hlY2sgZm9yIENVU1RPTV9FUlJPUiB3aGVuIGNvbnZlcnRpbmcgZXJyb3JzIHRvIEVPUwoJICBXZSB1c2UgdGhpbmdzIGxpa2UgQ1VTVE9NX1NVQ0NFU1MqIGluIG90aGVyIHBsYWNlcywgYW5kIHRob3NlIGFyZSBub3QgZXJyb3JzCgkgIGJ1dCBzaG91bGQganVzdCBiZSBoYW5kbGVkIGxpa2UgT0suCgoyMDE1LTA3LTA3IDE5OjI2OjAwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIFJldmVydCAiZGFzaGRlbXV4OiBmaXhlZCBnc3RfbXBkX2NsaWVudF9hZHZhbmNlX3NlZ21lbnQgdG8gcmV0dXJuIEdTVF9GTE9XX0VPUyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkZmUzN2ZmYzU5ZmRmNWY0MDc1Njk2OTc2ZDk4ZWM4ZDZkYjczMTM4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDg1CgoyMDE1LTA3LTA3IDE5OjI1OjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRml4IG9mZi1ieS1vbmUgaW4gaGFzLW5leHQtc2VnbWVudCBjYWxjdWxhdGlvbgoKMjAxNS0wNy0wNyAxODozNzoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogSWYgZG93bmxvYWRpbmcgdGhlIGxhc3QgZnJhZ21lbnQgZmFpbHMsIGNvbnNpZGVyIHRoaXMgYXMgRU9TIGFuZCBub3QgRVJST1IKCSAgU29tZXRpbWVzIHRoZSBsYXN0IGZyYWdtZW50IGRvZXMgbm90IGV4aXN0IGJlY2F1c2Ugb2Ygcm91bmRpbmcgZXJyb3JzIHdpdGggdGhlCgkgIGR1cmF0aW9ucy4gSnVzdCBmaW5pc2ggdGhlIHN0cmVhbSBncmFjZWZ1bGx5IGluc3RlYWQgb2YgZXJyb3Jpbmcgb3V0IGluc3RlYWQuCgoyMDE1LTA3LTA3IDIyOjM1OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGRvd25sb2FkOiBvbmx5IHN0YXJ0IGEgZG93bmxvYWQgdHJhbnNmZXIgZm9yIHN5c21lbSBjYXBzIGZlYXR1cmVzCgoyMDE1LTA3LTA2IDEyOjA4OjUyICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Rhc2hfbXBkLmM6CgkgIGRhc2hkZW11eDogdGVzdHM6IGFkZGVkIGluZGVudGF0aW9uIGluIHhtbCBzdHJpbmdzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MjAyNwoKMjAxNS0wNy0wMyAxNjoxNzo1OCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCBwYXJzaW5nIG9mIGJpdHN0cmVhbVN3aXRjaGluZ0BBZGFwdGF0aW9uU2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNzAKCjIwMTUtMDctMDMgMTU6MzE6MzUgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVncm91cGVkIGZ1bmN0aW9ucyBpbiBnc3RtcGRwYXJzZXIuaCBmaWxlCgkgIE1vdmVkIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X3NlZ21lbnRfYXZhaWxhYmlsaXR5X2VuZF90aW1lIGFuZAoJICBnc3RfbXBkX2NsaWVudF9hZGRfdGltZV9kaWZmZXJlbmNlIGZ1bmN0aW9ucyB0byBiZSBncm91cGVkIHdpdGgKCSAgZnVuY3Rpb25zIGZyb20gdGhlIHNhbWUgY2F0ZWdvcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTIwMjcKCjIwMTUtMDctMDYgMTQ6MjE6MTcgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiB0ZXN0czogY29ycmVjdGVkIGNvZGUgbGF5b3V0CgkgIGRlbGV0ZWQgdGhlIGVtcHR5IGxpbmUgYmV0d2VlbiBnc3RfbXBkX3BhcnNlIGNhbGwgYW5kIGl0cyBjaGVjayBzbyB0aGF0CgkgIHRoZSBhc3NlcnQgaXMgbmV4dCB0byB0aGUgZnVuY3Rpb24gaXQgaXMgdGVzdGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUyMDI3CgoyMDE1LTA3LTA3IDEwOjU2OjQ3ICswOTAwICBIeXVuanVuIEtvIDx6em9vbi5rb0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvbWV0YS5jOgoJICBtcGVndmlkZW9tZXRhOiBhZGQgbWV0YSB0cmFuc2Zvcm0gZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTc3OAoKMjAxNS0wNy0wNyAxMDo1NzoyNiArMDkwMCAgSHl1bmp1biBLbyA8enpvb24ua29Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiB0cmFuc2Zvcm0gZnVuYzogcmV0dXJuIEZBTFNFIGlmIG5vdCBzdXBwb3J0ZWQgb3IgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3NzgKCjIwMTUtMDctMDYgMTQ6MTQ6MTIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MKCSAgRml4ZWQgZ3N0X21wZF9jbGllbnRfYWR2YW5jZV9zZWdtZW50IHRvIHJldHVybiBHU1RfRkxPV19FT1MgaWYgdGhlCgkgIG5ldyBpbmRleCBpcyBvdXQgb2YgcmFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4NTAKCjIwMTUtMDctMDcgMTY6Mzk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkgIGFuZHJvaWQ6IGFkZCBtaXNzaW5nIGVnbC5oIGluY2x1ZGUKCjIwMTUtMDctMDcgMTU6MzA6MTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGNvcnJlY3QgdmFvIHVzYWdlCgkgIGtlZXAgdGhlIHZhbyBib3VuZCBhZnRlciB1cGxvYWRpbmcgdGhlIG5ldyB2ZXJ0ZXggZGF0YQoJICBmaXhlcyBhIG1lc2EgR0wgZXJyb3IgIm5vIHZlcnRleCBhcnJheSBvYmplY3QgYm91bmQiIG9uIGNhcHMgY2hhbmdlcwoKMjAxNS0wNi0xNiAwNzo0OTozNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbDogY29uc29saWRhdGUgZWdsIGhlYWRlciBpbmNsdWRlcyB0byBlZ2wtb25seSBoZWFkZXJzCgkgIFRoZXkgbWF5IGNvbmZsaWN0IHdpdGggb3RoZXIgaGVhZGVycy4KCjIwMTUtMDctMDYgMTk6MzM6MzUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrZ2xzaW5rOiBSZWxlYXNlIHRoZSB3aWRnZXQgbG9jayB3aGVuIHRyeWluZyB0byBnZXQgdGhlIEdMIGNvbnRleHQKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGJlIHdhaXRpbmcgZm9yIHRoZSBsb2NrIG9uIHRoZSBtYWluIGxvb3AgKGZvcgoJICBleGFtcGxlIGluIHRoZSAtPnJlbmRlciB2bWV0aG9kKSBhbmQgdGh1cyB3ZSB3aWxsIGRlYWRsb2NrLgoKMjAxNS0wNy0wNiAxODo1MTowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbW92ZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgZnJvbSB0aGUgY2FwcyByZXR1cm5lZCBieSBnZXRjYXBzCgkgIEF2b2lkaW5nIG5vdCBuZWdvdGlhdGVkIGVycm9yIHdoaWxlIG5lZ290aWF0aW5nIGFzIHdlIGFueXdheSBmb3JjZSAxLzEKCSAgYXMgb3V0cHV0CgoyMDE1LTA3LTA2IDE1OjI0OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IHJlbW92ZSByZWR1bmRhbnQgZWxzZSBzdGF0ZW1lbnQKCSAgRWxzZSBzdGF0ZW1lbnQgaXMgcmVkdW5kYW50IHdoZW4gdGhlIGlmIGJsb2NrIGZpbmlzaGVzIHdpdGggYW4gcmV0dXJuLgoKMjAxNS0wNy0wMiAxNToxNzo1MSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBzZWdtZW50IHN0YXJ0IHdoZW4gc3BlY2lmaWVkIGJ5IFNlZ21lbnRUaW1lbGluZQoJICBAdCBhdHRyaWJ1dGUgaW4gc2VnbWVudCBUaW1lbGluZSBpcyByZWxhdGl2ZSB0byB0aGUgcGVyaW9kIHN0YXJ0LgoJICBDb3JyZWN0ZWQgdGhlIGNvZGUgdG8gdGFrZSB0aGlzIGludG8gYWNjb3VudCB3aGVuIGNvbXB1dGluZyBzZWdtZW50CgkgIHRpbWVzdGFtcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg0MQoKMjAxNS0wNy0wMyAxNzowMDozMSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiB3cm9uZyBzZWdtZW50IGR1cmF0aW9uIGNvbXB1dGVkIGJ5IGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uCgkgIENvcnJlY3RlZCBjb21wdXRhdGlvbiBvZiBzZWdtZW50IHN0YXJ0IGFuZCBkdXJhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTkxNAoKMjAxNS0wNy0wMyAxNjoxMDoyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgc2VhcmNoIGZvciBhdWRpbyBsYW5ndWFnZXMKCSAgQ29ycmVjdGVkIHRoZSBpbml0aWFsaXNhdGlvbiBvZiBtaW1lVHlwZSBpbgoJICBnc3RfbXBkcGFyc2VyX2dldF9saXN0X2FuZF9uYl9vZl9hdWRpb19sYW5ndWFnZTogdGhlIHZhcmlhYmxlIGlzIHVzZWQKCSAgaW4gYSBsb29wLCBzbyBpdCBtdXN0IGJlIHNldCB0byBOVUxMIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBpdGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE5MTEKCjIwMTUtMDctMDMgMjE6NTg6MjYgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGY3NGIyZGYgdG8gOWFlZDFkNwoKMjAxNS0wNy0wMyAxMjoxNzo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyLCBnbG1peGVyOiBBZGQgZGVzY3JpcHRpb24gYW5kIGtsYXNzCgoyMDE1LTA3LTAzIDE5OjI0OjU4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IEZpeCBicm9rZW4gQmx1ZVogY29uZmlndXJlIGNoZWNrCgkgIFRoZSBwcmV2aW91cyBjb21taXQgbGVmdCBhbiBleHRyYSBzZXQgb2YgYnJhY2tldHMsIGFuZCBtaXNzZWQgcmVtb3ZpbmcKCSAgdGhlIGV4cGxpY2l0IGRidXMgY2hlY2sgKHdoaWNoIGlzIG5vIGxvbmdlciBuZWVkZWQgc2luY2Ugd2UncmUgdXNpbmcKCSAgZ2RidXMpLgoKMjAxNS0wMS0xMyAxMDozMTo0MSAtMDgwMCAgTmljayBTdG91Z2h0b24gPG5zdG91Z2h0b25AYWV0aGVyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IHJlbW92ZSBzdXBwb3J0IGZvciBibHVlejQKCjIwMTQtMTItMzAgMDc6MjE6NDQgLTA4MDAgIE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkqIHN5cy9ibHVlei9vcmcuYmx1ZXoueG1sOgoJICBibHVlejogcmVmYWN0b3IgdG8gdXNlIGdsaWIgYW5kIGFkZCBjb25uZWN0aW9uIHN0YXRlIHRyYWNraW5nCgoyMDE1LTA2LTE1IDIzOjQwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBmaXggYW5vdGhlciByZWdyZXNzaW9uCgkgIEludHJvZHVjZWQgYnkgYzRjOWZlNjBiIHBjYXBwYXJzZTogVGFrZSBidWZmZXIgZGlyZWN0bHkgZnJvbSB0aGUgYWRhcHRlcgoJICBVc2luZyBnc3RfYWRhcHRlcl90YWtlX2J1ZmZlcl9mYXN0KCkgY2FuIGxlYWQgdG8gYnVmZmVycyB0aGF0IGFyZQoJICBtYWRlIHVwIG9mIG11bHRpcGxlIG1lbW9yaWVzIHdpdGggdGhlIGZpcnN0IG1lbW9yeSBzbWFsbGVyIHRoYW4gdGhlCgkgIFJUUCBoZWFkZXIgc2l6ZSwgd2hpY2ggdmlvbGF0ZXMgYXNzdW1wdGlvbnMgR3N0UnRwQmFzZURlcGF5bG9hZGVyCgkgIG1ha2VzLCBuYW1lbHkgdGhhdCB0aGUgY29tcGxldGUgUlRQIGhlYWRlciB3aWxsIGJlIGluIHRoZSBmaXJzdAoJICBtZW1vcnkuIFRoaXMgbGVhZHMgdG8gc3VjaCBwYWNrZXRzIGJlaW5nIGRyb3BwZWQgd2hlbiBmZWVkaW5nCgkgIHRoZW0gZnJvbSBwY2FwcGFyc2UgdG8gUlRQIGRlcGF5bG9hZGVycy4gVXNlIHRha2VfYnVmZmVyKCkgc28KCSAgd2UgZ2V0IGJ1ZmZlcnMgd2l0aCBhIHNpbmdsZSBtZW1vcnkuCgoyMDE1LTA3LTAyIDEzOjQ1OjA0ICswMjAwICBTdGlhbiBTZWxuZXMgPHN0aWFuQHBleGlwLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wY2FwcGFyc2UuYzoKCSAgdGVzdHM6IHBjYXBwYXJzZTogYWRkIHVuaXQgdGVzdCBmb3IgZnJhbWVzIHdpdGggZXRoIHBhZGRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTg3OQoKMjAxNS0wNi0xNSAxMjo1NTozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IHJlZ3Jlc3Npb24gd2hlbiBoYW5kbGluZyBwYWNrZXRzIHdpdGggZXRoIHBhZGRpbmcKCSAgSW50cm9kdWNlZCBieSBjNGM5ZmU2MGIgcGNhcHBhcnNlOiBUYWtlIGJ1ZmZlciBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyCgkgIEZsdXNoIGFueSB0cmFpbGluZyBieXRlcyBhZnRlciB0aGUgcGF5bG9hZCBmcm9tIHRoZSBhZGFwdGVyIGFzIHdlbGwsCgkgIG90aGVyd2lzZSB3ZSdsbCByZWFkIGEgYm9ndXMgcGFja2V0IHNpemUgZnJvbSB0aGUgYWRhcHRlciBuZXh0IGFuZAoJICB0aGVuIGV2ZXJ5dGhpbmcgZ29lcyBkb3duaGlsbCBmcm9tIHRoZXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODc5CgoyMDE1LTA3LTAyIDE4OjUxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFVucmVmIHZpZGVvIGZyYW1lcyBhbmQgY29kZWMgc3RhdGUgaW4gYWxsIGNhc2VzCgoyMDE1LTA3LTAyIDEwOjI2OjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogaW5pdGlhbGl6ZSBvdXRwdXQgcGFyYW1zIHRvIDAgYmVmb3JlIGNhbGxpbmcgZ2wgZnVuY3Rpb25zCgkgIFRoZSBjbGllbnQgc2lkZSBBUEkgb2YgdGhlIENocm9taXVtJ3MgR1BVIFByb2Nlc3MgaGFzIGFzc2VydHMKCSAgaW4gZGVidWcgbW9kZSB0aGF0IGNoZWNrIHRoYXQgb3V0cHV0IHBhcmFtcyBhcmUgaW5pdGlhbGl6ZWQgdG8gMC4KCjIwMTUtMDYtMjYgMTU6MzQ6MzUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogRG9uJ3QgbGVhayBwb29sIGlmIHNldF9jb25maWcgZmFpbGVkCgoyMDE1LTA2LTI2IDE1OjMzOjMzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBEb24ndCBjYWNoZSBidWZmZXIgcG9vbAoJICBDYWNoaW5nIGFuZCBzaGFyaW5nIHRvIG11bHRpcGxlIGVsZW1lbnQgdGhlIHNhbWUgcG9vbCBwcmV2ZW50cwoJICByZW5lZ290aWF0aW9uIGZyb20gcGFzc3Rocm91Z2ggdG8gbm90IHBhc3N0aHJvdWdoLgoKMjAxNS0wNy0wMiAxNDoxNTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBVbmluaXRpYWxpemluZyB0aGUgZGVjb2RlciBjYW4ndCBmYWlsIGFuZCB3aWxsIGFsd2F5cyByZXR1cm4gMCA9PSBjbVJlc3VsdFN1Y2Nlc3MKCSAgLi4uIGJ1dCB3aGVuIHdlIGNhc3QgY21SZXN1bHRTdWNjZXNzIHRvIGEgZ2Jvb2xlYW4gaXQgd2lsbCBiZSBGQUxTRSwgYW5kIG1ha2UKCSAgR3N0VmlkZW9EZWNvZGVyOjpzdG9wKCkgZmFpbCBmb3Igbm8gcmVhc29uLgoKMjAxNS0wNy0wMiAxNzowODoyNiArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdXNlIGdfY2xlYXJfZXJyb3IgaW5zdGVhZCBvZiBnX2Vycm9yX2ZyZWUKCSAgcmVwbGFjZSBnX2Vycm9yX2ZyZWUgd2l0aCBnX2NsZWFyX2Vycm9yLCBhcyBpdCBpbnRlcm5hbGx5CgkgIGNoZWNrcyBpZiBlcnJvciB2YXJpYWJsZSBpcyB2YWxpZCBvciBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE4MjMKCjIwMTUtMDctMDIgMTY6Mjc6MDYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IGZpeCBjaGVjayB3aGV0aGVyIHdlIG1hbmFnZWQgdG8gYWNxdWlyZSBhIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxODIxCgoyMDE1LTA2LTMwIDE1OjUyOjE4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJICBzcnRwZGVjOiBBZGQgY29uZmlnIGZvciB0aGUgcmVwbGF5IHdpbmRvdyBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE3MjkKCjIwMTUtMDYtMzAgMTM6MjA6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIHBhcnNpbmcgb2YgJXUgaW4gc2VnbWVudCB0ZW1wbGF0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTcxNgoKMjAxNS0wNi0yOSAyMjoxODozOCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgcmVjb2duaXRpb24gb2YgJCQkIGluIHNlZ21lbnQgdGVtcGxhdGVzCgkgIGZpeGVkIHJlY29nbml0aW9uIG9mICQkIGFmdGVyIGEgJCB0aGF0IGVuZHMgYW4gaWRlbnRpZmllciwgZWcgJFRpbWUkJCQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTY4MgoKMjAxNS0wNi0yOSAxODo1MDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDYWxsIGluaXRpYWxpemVfY2xhc3NlcygpIGFsc28gd2hlbiB3ZSBnb3QgdGhlIEphdmEgVk0gZnJvbSB0aGUgYXBwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE2NjQKCjIwMTUtMDYtMjkgMTY6MTA6MzkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbDogYWRkIG1pc3NpbmcgYnJlYWsKCSAgZ3N0X2dsX3ZpZXdfY29udmVydF9lbGVtZW50X3NldF9wcm9wZXJ0eSgpIGlzIG1pc3NpbmcgYSBicmVhayBhdCB0aGUgZW5kCgkgIG9mIHRoZSBQUk9QX09VVFBVVF9ET1dOTUlYX01PREUgY2FzZS4gQWRkaW5nIGl0LgoJICBDSUQgIzEzMDg5NDkKCjIwMTUtMDYtMjYgMTQ6MTI6MjIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRG9uJ3QgbGVhayBwb29sCgkgIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9wb29sIGlzIHRyYW5zZmVyIG5vbmUuIEFsc28gdW5yZWYKCSAgaWYgdGhlcmUgd2FzIGEgY29uZmlndXJhdGlvbiBlcnJvci4KCjIwMTUtMDYtMjYgMTU6NTg6MjUgKzA5MDAgIFNhbmdreXUgUGFyayA8c2sxMTIyLnBhcmtAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNoZWNrIHBvaW50ZXIgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgZ3N0X3BzX2RlbXV4X2dldF9zdHJlYW0oKSBjb3VsZCByZXR1cm4gTlVMTCB3aGVuIGl0IGlzIHVua25vd24gc3RyZWFtLAoJICBjaGVjayB0aGlzIGhhc24ndCBoYXBwZW5lZCBiZWZvcmUgZGVyZWZlcmVuY2luZyB0aGUgcmV0dXJuZWQgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUyOAoKMjAxNS0wNi0yNiAxMzowOTo1NCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0ZWQgbmV4dCBmcmFnbWVudCBkdXJhdGlvbiB2YWxpZGF0aW9uCgkgIEJlZm9yZSByZXR1cm5pbmcgdGhlIG5leHQgZnJhZ21lbnQgZHVyYXRpb24gdmFsdWUsIHRoZQoJICBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBmdW5jdGlvbiB0cmllcyB0byB2YWxpZGF0ZSBpdC4KCSAgQnV0IHRoZSBjb25kaXRpb24gd2FzIGluY29ycmVjdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTUzOQoKMjAxNS0wNi0yNSAyMzo0OToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogTW92ZSB1bnJlZigpIGludG8gdGhlIHJpZ2h0IHNjb3BlCgoyMDE1LTA2LTI1IDIzOjMyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBQcm9wZXJseSBoYW5kbGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCBmb3Igc2Vla2luZyBhbmQgbXVsdGktcGVyaW9kIHN0cmVhbXMKCSAgU2VnbWVudCBzdGFydC90aW1lL3Bvc2l0aW9uL2Jhc2Ugc2hvdWxkIG9ubHkgYmUgbW9kaWZpZWQgaWYgdGhpcyBpcyB0aGUgZmlyc3QKCSAgdGltZSB3ZSBzZW5kIGEgc2VnbWVudCwgb3RoZXJ3aXNlIHdlIHdpbGwgb3ZlcnJpZGUgdmFsdWVzIGZyb20gdGhlIHNlZWsKCSAgc2VnbWVudCBpZiBuZXcgc3RyZWFtcyBoYXZlIHRvIGJlIGV4cG9zZWQgYXMgcGFydCBvZiB0aGUgc2Vlay4KCSAgU2VnbWVudCBiYXNlIHNob3VsZCBiZSBjYWxjdWxhdGVkIGZyb20gdGhlIHNlZ21lbnQgc3RhcnQgYmFzZWQgb24gdGhlIHN0cmVhbSdzCgkgIG93biBzZWdtZW50LCBub3QgdGhlIGRlbXV4ZXIncyBzZWdtZW50LiBCb3RoIG1pZ2h0IGRpZmZlciBzbGlnaHRseSBiZWNhdXNlIG9mCgkgIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0LgoJICBBbHdheXMgYWRkIHRoZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IChyZWxhdGl2ZSB0byB0aGUgcGVyaW9kIHN0YXJ0LCBub3QKCSAgdGltZXN0YW1wIDApIHRvIHRoZSBzZWdtZW50IHN0YXJ0IGFmdGVyIHJlc2V0dGluZyB0aGUgc3RyZWFtJ3Mgc2VnbWVudCBiYXNlZAoJICBvbiB0aGUgZGVtdXhlcidzIHNlZ21lbnQgKGkuZS4gYWZ0ZXIgc2Vla3Mgb3Igc3RyZWFtIHJlc3RhcnQpLiBBbHNvIG1ha2Ugc3VyZQoJICB0byBrZWVwIHRoZSBzdHJlYW0ncyBzZWdtZW50IHVwIHRvIGRhdGUgYW5kIG5vdCBqdXN0IHNlbmQgYSBuZXcgc2VnbWVudCBldmVudAoJICB3aXRob3V0IHN0b3JpbmcgdGhlIHNlZ21lbnQgaW4gdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQ1NQoKMjAxNS0wNi0yNSAyMzoyNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgdGltZSBmcm9tIHRoZSBwcmVzZW50YXRpb24gb2Zmc2V0CgkgIFdlJ3JlIGludGVyZXN0ZWQgaW4gdGhlIG9mZnNldCBiZXR3ZWVuIHRoZSBwZXJpb2Qgc3RhcnQgdGltZXN0YW1wIGFuZCB0aGUKCSAgYWN0dWFsIG1lZGlhIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiBwcm9wZXJseSBjb3JyZWN0IGZvciBpdC4gVGhlIGFic29sdXRlCgkgIHByZXNlbnRhdGlvbiBvZmZzZXQgdG8gdGltZXN0YW1wIDAgaXMgdXNlbGVzcyBhcyB0aGUgb25seSB0aGluZyB3ZSByZWFsbHkKCSAgY2FyZSBhYm91dCBpcyB0aGUgb2Zmc2V0IGJldHdlZW4gdGhlIGN1cnJlbnQgZnJhZ21lbnQgdGltZXN0YW1wIGFuZCB0aGUKCSAgbWVkaWEgdGltZXN0YW1wLgoKMjAxNS0wNi0yNSAyMDoxOTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IFN1YnRyYWN0IHRoZSBwZXJpb2Qgc3RhcnQgd2hlbiBzZWVraW5nIGJhc2VkIG9uIGEgdGVtcGxhdGUKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgbG9vayBmb3Igc2VnbWVudHMgYWZ0ZXIgdGhlIHBlcmlvZCB1c3VhbGx5LiBUaGUgc2VlawoJICB0aW1lc3RhbXAgaXMgcmVsYXRpdmUgdG8gdGhlIHN0YXJ0IG9mIHRoZSBmaXJzdCBwZXJpb2QgYW5kIHdlIGhhdmUgdG8KCSAgc2VsZWN0IGEgc2VnbWVudCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCBwZXJpb2QncyBzdGFydC4KCjIwMTUtMDYtMjUgMjA6MDk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbmNsdWRlIHRoZSBwZXJpb2Qgc3RhcnQgaW4gdGhlIGZyYWdtZW50IHRpbWVzdGFtcHMgaW4gYWxsIGNhc2VzCgkgIFdlIGRpZG4ndCBkbyB0aGlzIGZvciBmcmFnbWVudHMgdGhhdCBhcmUgZ2VuZXJhdGVkIG9uIGRlbWFuZCBmcm9tIGEgdGVtcGxhdGUsCgkgIG9ubHkgZm9yIHRoZSBvdGhlciBjYXNlcyB3aGVuIHRoZXkgd2VyZSBhbGwgZ2VuZXJhdGVkIHVwZnJvbnQuIFRoaXMgY2F1c2VkCgkgIGZyYWdtZW50IHRpbWVzdGFtcHMgdG8gc3RhcnQgZnJvbSAwIGFnYWluIGZvciBlYWNoIG5ldyBwZXJpb2QuCgoyMDE1LTA2LTI1IDIzOjIzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogU2VlayBvbiB0aGUgbmV3IHN0cmVhbXMgaWYgdGhlIHNlZWsgY2F1c2VkIGEgcGVyaW9kIHN3aXRjaAoJICBTZWVraW5nIG9uIHRoZSBvbGQgc3RyZWFtcyBpcyBwb2ludGxlc3MsIHRoZXkgYXJlIGdvaW5nIHRvIGJlIGZyZWVkIG9uIHRoZQoJICBuZXh0IG9wcG9ydHVuaXR5LgoKMjAxNS0wNi0yNSAxNTowNToyMCArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogQ29ycmVjdCBjaGVjayBmb3IgdmFsaWQgdGltZVNoaWZ0QnVmZmVyRGVwdGgKCSAgSWYgbm90IHNldCwgdGhlIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIGhhcyBhIGRlZmF1bHQgdmFsdWUgb2YgLTEuCgkgIFRoZSBzdGFuZGFyZCBzYXlzIHRoYXQgdGhpcyBzaG91bGQgYmUgaW50ZXJwcmV0ZWQgYXMgaW5maW5pdGUuCgkgIFRoZSBnc3RfbXBkX2NsaWVudF9jaGVja190aW1lX3Bvc2l0aW9uIGZ1bmN0aW9uIGluY29ycmVjdGx5IGNvbXBhcmVzCgkgIHRpbWVTaGlmdEJ1ZmZlckRlcHRoIHdpdGggMCBpbnN0ZWFkIG9mIC0xIHRvIGRldGVybWluZSBpZiBpdCB3YXMgc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxNTAwCgoyMDE1LTA2LTI1IDExOjAyOjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2Fzc2V0c3JjLm06CgkgIGRvY3M6IGRlY29kZWJpbjIgLT4gZGVjb2RlYmluCgoyMDE1LTA0LTI3IDE1OjA5OjE4ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGVuYWJsZSBzaGFyaW5nIG9mIENNQmxvY2tCdWZmZXIgZGF0YQoJICBJbnN0ZWFkIG9mIHdyYXBwaW5nIHdpdGggR1NUX01FTU9SWV9GTEFHX05PX1NIQVJFLCB3ZSBtYWtlIHRoZSBHc3RNZW1vcnkKCSAgb2JqZWN0IHJldGFpbiB0aGUgdW5kZXJseWluZyBDTUJsb2NrQnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDcyCgoyMDE1LTA0LTI3IDE1OjAyOjU5ICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IENNQmxvY2tCdWZmZXIgY2FuIGJlIG5vbi1jb250aWd1b3VzCgkgIENNQmxvY2tCdWZmZXJHZXREYXRhTGVuZ3RoIHdvdWxkIHJldHVybiB0aGUgZW50aXJlIGRhdGEgbGVuZ3RoLCB3aGlsZQoJICBzaXplIG9mIGluZGl2aWR1YWwgYmxvY2tzIGNhbiBiZSBzbWFsbGVyLiBJdGVyYXRlIG92ZXIgdGhlIGJsb2NrIGJ1ZmZlcgoJICBhbmQgYWRkIHRoZSBpbmRpdmlkdWFsIChwb3NzaWJseSBub24tY29udGlndW91cykgbWVtb3J5IGJsb2Nrcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA3MQoKMjAxNS0wNi0yNCAxNzoxNjo0NiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDb3JyZWN0ZWQgZHVyYXRpb24gYXJndW1lbnQgZm9yIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50IGNhbGwKCSAgVGhlIGxhc3QgcGFyYW1ldGVyIG9mIGdzdF9tcGRfY2xpZW50X2FkZF9tZWRpYV9zZWdtZW50IGZ1bmN0aW9uIGlzIGEKCSAgZHVyYXRpb24uIEJ1dCB3aGVuIGNhbGxlZCBmcm9tIGdzdF9tcGRfY2xpZW50X3NldHVwX3JlcHJlc2VudGF0aW9uLCB0aGUKCSAgbGFzdCBhcmd1bWVudCB3YXMgd3JvbmdseSBzZXQgdG8gUGVyaW9kRW5kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0NDkKCjIwMTUtMDYtMjQgMjE6NDI6MzIgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogaW5jb3JyZWN0IHVzZSBvZiBwZXJpb2Qgc3RhcnQKCSAgVGhlIHBlcmlvZCBzdGFydCBpbmZvcm1hdGlvbiwgY2FsY3VsYXRlZCBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9tZWRpYV9wcmVzZW50YXRpb24KCSAgZnVuY3Rpb24gaXMgc3RvcmVkIGluIHN0cmVhbV9wZXJpb2QtPnN0YXJ0LiBUaGUgaW5mb3JtYXRpb24gcmVhZCBmcm9tCgkgIHhtbCBmaWxlIGFuZCBzdG9yZWQgaW4gc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydCBpcyBub3QgY2hhbmdlZC4KCSAgSWYgdGhlIHhtbCBmaWxlIGRvZXMgbm90IGNvbnRhaW4gdGhlIHBlcmlvZCBzdGFydCBpbmZvcm1hdGlvbiwKCSAgc3RyZWFtX3BlcmlvZC0+cGVyaW9kLT5zdGFydCB3aWxsIGJlIC0xLgoJICBUaGUgZnVuY3Rpb24gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfc2VnbWVudF9hdmFpbGFiaWxpdHlfZW5kX3RpbWUgd2FudHMgdG8KCSAgdXNlIHBlcmlvZCBzdGFydCB0aW1lLCBidXQgaW5jb3JyZWN0bHkgdXNlcyBzdHJlYW1fcGVyaW9kLT5wZXJpb2QtPnN0YXJ0CgkgICh2YWx1ZSBmcm9tIHhtbCBmaWxlLCB3aGljaCBjb3VsZCBiZSAtMSkgaW5zdGVhZCBvZiBzdHJlYW1fcGVyaW9kLT5zdGFydAoJICAoY29tcHV0ZWQgdmFsdWUpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTE0NjUKCjIwMTUtMDYtMTUgMTc6MTg6NDEgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogcmVuYW1lZCBmdW5jdGlvbnMKCSAgUmVuYW1lZCAyIHRlc3RjYXNlIGZ1bmN0aW9uczoKCSAgLSBkYXNoX21wZHBhcnNlcl9wcm9ncmFtX2luZm9ybWF0aW9uCgkgIC0gZGFzaF9tcGRwYXJzZXJfYmFzZV9VUkwKCjIwMTUtMDYtMjUgMDA6MDQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNS4yID09PQoKMjAxNS0wNi0yNCAyMzozNzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS41LjIKCjIwMTUtMDYtMjQgMjM6MDE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNS0wNi0xNSAxNzozMDoyNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGRlZCBleHBsaWNpdCB0eXBlIGNvbnZlcnNpb25zCgkgIGZsZXhlbGludCAoaHR0cDovL3d3dy5naW1wZWwuY29tL2h0bWwvZmxleC5odG0pIHN0YXRpYyBjb2RlIGFuYWx5c2VyCgkgIGNvbXBsYWluZWQgYWJvdXQgaW1wbGljaXQgY29udmVyc2lvbnMgZnJvbSB1bnNpZ25lZCB0byBzaWduZWQsIHNvIEkgYWRkZWQKCSAgZXhwbGljaXQgY29udmVyc2lvbnMuCgkgIElkZWFsbHksIHRoZSBzaXplIHBhcmFtZXRlciBvZiBnc3RfbXBkX3BhcnNlIGZ1bmN0aW9uIHNob3VsZCBiZSB1bnNpZ25lZCwKCSAgYnV0IEkgZG9uJ3Qgd2FudCB0byBjaGFuZ2UgdGhlIEFQSS4KCjIwMTUtMDYtMTUgMTY6NTk6MzMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogY29ycmVjdGVkIHJldHVybiB0eXBlIGZvciBkdXJhdGlvbl90b19tcyBmdW5jdGlvbgoJICBUaGUgZHVyYXRpb25fdG9fbXMgZnVuY3Rpb24gY29udmVydHMgYSB0aW1lIHNwZWNpZmllZCBieSB5ZWFyLCBtb250aCwgZGF5LAoJICBob3VyLCBtaW51dGUsIHNlY29uZCwgbWlsbGlzZWNvbmQgdG8gYSBtaWxsaXNlY29uZCB2YWx1ZS4gQmVjYXVzZSBhbGwgdGhlCgkgIGFyZ3VtZW50cyBhcmUgcG9zaXRpdmUgbnVtYmVycywgdGhlIHJlc3VsdCBtdXN0IGFsc28gYmUgcG9zaXRpdmUuCgkgIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgcmV0dXJuZWQgdmFsdWUgZnJvbSBhIGdpbnQ2NCB0byBhIGd1aW50NjQgdHlwZS4KCjIwMTUtMDYtMjQgMTE6MTU6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9jcy5wbzoKCSogcG8vZGUucG86CgkqIHBvL2h1LnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcnUucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcG86IFVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTUtMDYtMjMgMTg6MTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEFsc28gdXBkYXRlIHNlZ21lbnQuYmFzZSBhbmQgc2VnbWVudC50aW1lIHdoZW4gc3dpdGNoaW5nIHBlcmlvZHMKCSAgQW5kIGluY2x1ZGUgdGhlIHByZXNlbnRhdGlvbiBvZmZzZXQgaW4gdGhlIGxhc3Qga25vd24gcG9zaXRpb24gZm9yIGVhY2gKCSAgc3RyZWFtLCBhbmQganVzdCBiZWNhdXNlIHdlIGNhbiBhbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGxhdGVzdCBrbm93biBwb3NpdGlvbgoJICBpbnNpZGUgdGhlIGRlbXV4ZXIgc2VnbWVudC4KCjIwMTUtMDYtMjMgMTY6NDY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBSZXZlcnQgImdsL3dpbmRvdy94MTE6IGRvbid0IGNyZWF0ZSBvdXIgb3duIFgxMSBkaXNwbGF5IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU2OTdiNmI4OWI0YjJhMTVjNDViZDQ3YmU5NDBhMTdmNDQxMmVhMTEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEwMDMKCjIwMTUtMDYtMjMgMTQ6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJICBSZXZlcnQgImVhZ2w6IERvbid0IGRpc3BhdGNoX3N5bmMoKSB0byB0aGUgbWFpbiB0aHJlYWQgaWYgd2UgYXJlIG9uIHRoZSBtYWluIHRocmVhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwYmZmNDgxMDExY2Y3NGM1OTg2OWI1MTEzOTNkMTY5NmI1NzBlM2Q1LgoJICBJdCB3YXNuJ3Qgc3VwcG9zZWQgdG8gYmUgbWVyZ2VkIGFuZCBhbHNvIGRvZXNuJ3QgZml4IHRoZSBwcm9ibGVtLgoKMjAxNS0wNi0yMyAxMzoxMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogUmVtZW1iZXIgdGhlIGxhc3QgcmV0dXJuIHZhbHVlIG9mIGdzdF9hZGFwdGl2ZV9kZW11eF9zdHJlYW1fdXBkYXRlX2ZyYWdtZW50X2luZm8oKQoJICBJdCdzIGdvaW5nIHRvIHJldHVybiBFT1MgaWYgdGhlIHBlcmlvZCBlbmRlZCBvciBvdGhlcndpc2UgdGhlcmUgaXMganVzdCBubwoJICBuZXh0IGZyYWdtZW50IGxlZnQuIElmIHdlIGRvbid0IHN0b3JlIHRoZSBsYXN0IHJldHVybiB2YWx1ZSwgaXQgd2lsbCBhbHdheXMKCSAgc3RheSBPSyBhbmQgZ3N0X2FkYXB0aXZlX2RlbXV4X2NvbWJpbmVfZmxvd3MoKSB3aWxsIGFsd2F5cyByZXR1cm4gT0sgaW5zdGVhZAoJICBvZiBFT1Mgb25jZSBhbGwgc3RyZWFtcyBhcmUgZG9uZS4KCSAgVGhpcyBwYXJ0aWFsbHkgc3dpdGNoZXMgcGVyaW9kIGNoYW5nZXMgaW4gREFTSCBieSBhdCBsZWFzdCB0cnlpbmcgdG8gc3dpdGNoCgkgIGluc3RlYWQgb2YganVzdCBzdG9wcGluZy4gV2hhdCBpcyBzdGlsbCBsZWZ0IGlzIHRoYXQgYWZ0ZXIgYSBwZXJpb2QgY2hhbmdlCgkgIHdpdGggREFTSCB0aGUgdGltZXMgYWxsIHN0YXJ0IGF0IDAgYWdhaW4gaW5zdGVhZCBvZiBjb250aW51aW5nLgoKMjAxNS0wNi0yMyAxMTowNTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkgIGVhZ2w6IERvbid0IGRpc3BhdGNoX3N5bmMoKSB0byB0aGUgbWFpbiB0aHJlYWQgaWYgd2UgYXJlIG9uIHRoZSBtYWluIHRocmVhZAoJICBUaGlzIHdpbGwgb3RoZXJ3aXNlIGRlYWRsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTAxCgoyMDE1LTA2LTIzIDEwOjMxOjQ0ICswMjAwICBKb2huIEx1ZHdpZyA8am9obkB0aGVsdWR3aWdzLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJICBnbDogSW5jbHVkZSB0ZXhQYXJhbWV0ZXJmIGluIHRoZSBHTCBmdW5jdGlvbiB0YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMjI4CgoyMDE1LTA1LTI5IDE0OjI3OjI0ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDx2aXZpYUB0b29sc29uYWlyLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGVycm9yaWdub3JlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGVycm9yaWdub3JlLmg6CgkgIGVycm9yLWlnbm9yZTogTmV3IGVsZW1lbnQgdG8gY29udmVydCBzb21lIEdzdEZsb3dSZXR1cm4gdHlwZXMgaW50byBvdGhlcnMKCSAgQ2FuIGJlIHVzZWQgdG8gZml4IG1pc2JlaGF2aW5nIHNpbmtzLiBJdCB3aWxsIHBhc3MgdGhyb3VnaCBhbGwgYnVmZmVycwoJICB1bnRpbCBpdCBlbmNvdW50ZXJzIEdTVF9GTE9XX0VSUk9SIG9yIEdTVF9GTE9XX05PVF9ORUdPVElBVEVEIChjb25maWd1cmFibGUpLgoJICBBdCB0aGF0IHBvaW50IGl0IHdpbGwgdW5yZWYgdGhlIGJ1ZmZlcnMgYW5kIHJldHVybiBHU1RfRkxPV19OT1RfTElOS0VECgkgIChjb25maWd1cmFibGUpIC0gdW50aWwgdGhlIG5leHQgUkVBRFlfVE9fUEFVU0VEIG9yIEZMVVNIX1NUT1AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwOTgKCjIwMTUtMDYtMjAgMTM6MzY6MjcgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBzaW1wbGlmaWVzIGFuZCBpbXByb3ZlcyBzaW5rX2dldF9jYXBzLgoJICBUaGUgcHJvYmxlbSBoZXJlIHdhcyB0aGF0IGFmdGVyIHJlbW92aW5nIHRoZSBmb3JtYXRzIGFuZAoJICBhbGwgdGhlIHRoaW5ncyB3ZSBjb3VsZCBjb252ZXJ0LCB3ZSB0aGVuIGludGVyc2VjdGVkIHRoZXNlCgkgIGNhcHMgd2l0aCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgSGVuY2UgaWYgYSBzdWJjbGFzcyBvZmZlcmVkIHBlcm1pc3NpdmUgc2luayB0ZW1wbGF0ZXMKCSAgKGVnIGFsbCB0aGUgcG9zc2libGUgZm9ybWF0cyB2aWRlb2NvbnZlcnQgaGFuZGxlcyksIGJ1dCBvbmx5CgkgIG9uZSBvdXRwdXQgZm9ybWF0LCB0aGVuIGF0IG5lZ290aWF0aW9uIHRpbWUgZ2V0Y2FwcyByZXR1cm5lZAoJICBjYXBzIHdpdGggdGhlIGZvcm1hdCByZXN0cmljdGVkIHRvIHRoYXQgZm9ybWF0LCBldmVuIHRob3VnaAoJICB3ZSBkbyBoYW5kbGUgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTI1NQoKMjAxNS0wNi0yMiAxNTo0NzoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSAgbW90aW9uY2VsbHM6IFBvcnQgdG8gZ19nZXRfY3VycmVudF90aW1lCgkgIFRoaXMgaXMgbW9yZSBwb3J0YWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTIyMQoKMjAxNS0wNi0xNiAxNzoxODo1MiArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBhZGQgZnJhbWUgcmF0ZSByYW5nZSB0byBjYXBzCgkgIFdoZW4gQVZGb3VuZGF0aW9uIGluZGljYXRlcyBhIHN1cHBvcnRlZCBmcmFtZSByYXRlIHJhbmdlLCBhZGQgaXQgdG8KCSAgdGhlIGNhcHMuIFRoaXMgaXMgaW1wb3J0YW50IGZvciBkZXZpY2VzIHN1Y2ggYXMgdGhlIGlQaG9uZSA2LCB3aGljaAoJICBpbmRpY2F0ZSBhIHNpbmdsZSBBVkZyYW1lUmF0ZVJhbmdlIG9mIDJmcHMgLSA2MGZwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTA0OAoKMjAxNS0wNi0xNSAxNzozNzo0MiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGRlZCBwYXJzaW5nIG9mIHBlcmlvZCBlbGVtZW50CgkgIEltcHJvdmVkIGRhc2hfbXBkIHVuaXQgdGVzdHMgYnkgYWRkaW5nIG5ldyB0ZXN0cyB0aGF0IHBhcnNlIHRoZSBQZXJpb2QgZWxlbWVudC4KCSAgQ29kZSBjb3ZlcmFnZSByZXBvcnRlZCBieSBsY292IGZvciBkYXNoL2dzdG1wZHBhcnNlci5jIGlzOgoJICBsaW5lcy4uLi4uLjogNDMuMCUgKDk4NSBvZiAyMjkwIGxpbmVzKQoJICBmdW5jdGlvbnMuLjogNDcuNSUgKDY3IG9mIDE0MSBmdW5jdGlvbnMpCgoyMDE1LTA2LTIyIDE0OjA2OjA0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZml4IGNvbnNpc3RlbmN5IGFib3V0IHBibyBhdmFpbGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNjUKCjIwMTUtMDYtMTUgMTc6MzQ6NDggKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgdGVzdHM6IGRhc2hkZW11eDogZXh0ZW5kZWQgTVBEIGVsZW1lbnQgdGVzdCB0byB0ZXN0IHhtbCBuYW1lc3BhY2VzCgkgIEV4dGVuZGVkIHRoZSBkYXNoX21wZHBhcnNlcl9tcGQgdGVzdGNhc2UgdG8gYWxzbyB0ZXN0IHBhcnNpbmcgdGhlIHhtbAoJICBuYW1lc3BhY2UgYXR0cmlidXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwODYzCgoyMDE1LTA2LTE1IDEzOjQzOjUzICswMjAwICBNZXJzYWQgSmVsYWNpYyA8bWVyc2FkQGF4aXMuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBBZGQgYml0cmF0ZSB0byB0aGUgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwOTkyCgoyMDE1LTA2LTE1IDEyOjU5OjU1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGNvcnJlY3RlZCBjb21wdXRhdGlvbiBvZiBwZXJpb2QncyBkdXJhdGlvbgoJICBBY2NvcmRpbmcgdG8gSVNPL0lFQyAyMzAwOS0xOjIwMTQoRSksIGNoYXB0ZXIgNS4zLjIuMQoJICAiVGhlIFBlcmlvZCBleHRlbmRzIHVudGlsIHRoZSBQZXJpb2RTdGFydCBvZiB0aGUgbmV4dCBQZXJpb2QsIG9yIHVudGlsCgkgIHRoZSBlbmQgb2YgdGhlIE1lZGlhIFByZXNlbnRhdGlvbiBpbiB0aGUgY2FzZSBvZiB0aGUgbGFzdCBQZXJpb2QuIgoJICBUaGlzIG1lYW5zIHRoYXQgYSBjb25maWd1cmVkIHZhbHVlIGZvciBvcHRpb25hbCBhdHRyaWJ1dGUgcGVyaW9kIGR1cmF0aW9uCgkgIHNob3VsZCBiZSBpZ25vcmVkIGlmIHRoZSBuZXh0IHBlcmlvZCBjb250YWlucyBhIHN0YXJ0IGF0dHJpYnV0ZSBvciBpdCBpcwoJICB0aGUgbGFzdCBwZXJpb2QgYW5kIHRoZSBNUEQgY29udGFpbnMgYSBtZWRpYVByZXNlbnRhdGlvbkR1cmF0aW9uIGF0dHJpYnV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDc5NwoKMjAxNS0wNi0yMiAxMzoyOToyNSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJICBiYXllcjogdXBkYXRlIE9SQyBmaWxlcwoJICBVcGRhdGUgT1JDIGZpbGVzIHdpdGggbmV3ZXN0IE9SQyB0byBmaXggYmFja3VwIGNvZGUgZ2VuZXJhdGlvbiBlcnJvci4KCjIwMTUtMDYtMjIgMTA6NDk6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuYzoKCSAgaXJ0c3BwYXJzZTogcmVmbG93IGNvZGUgdG8gYXZvaWQgdW5pbml0aWFsaXplZCB2YXJpYWJsZSB3YXJuaW5nCgkgIFRoaXMgc2hvdWxkIGhvcGVmdWxseSBhbGxvdyBldmVuIHRoZSBtb3N0IGNoYWxsZW5nZWQgc3RhdGljCgkgIGNvZGUgYW5hbHl6ZXIgdG8gZmlndXJlIG91dCB0aGF0IGl0J3MgYWxsIGZpbmUuIEFsc28gbWFrZXMKCSAgdGhlIGZsb3cgY2xlYXJlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAxMDo1ODowMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgdHNtdXg6IGNvZGUgc3R5bGUgZml4CgkgIHRyaXZpYWwgcGF0Y2ggdG8gYWRkIHByb3BlciAoIHdoaWxlIGNoZWNraW5nIGZvciBpZihHX1VOTElLRUxZKCkpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTEzMDUKCjIwMTUtMDYtMjIgMDk6MjM6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBmaXggc21hbGwgbGVhayBpbiBjYXBzIHF1ZXJ5IGhhbmRsZXIKCSAgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCgpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBjYXBzLgoKMjAxNS0wNi0yMiAxMTowMzoxNSArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRfc3JjOiBhZGQgbWlzc2luZyBicmVhayBpbiBjYXBzIHF1ZXJ5IGhhbmRsZXIKCSAgVGhlcmUgaXMgYSBtaXNzaW5nIGJyZWFrIHN0YXRlbWVudCBpbiBzd2l0Y2gsCgkgIHdoaWNoIHdpbGwgcmVzdWx0IGluIGV4ZWN1dGluZyBkZWZhdWx0IGNhc2UgYXMgd2VsbAoJICByZXN1bHRpbmcgaW4gd3JvbmcgYmVoYXZpb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTMwNQoKMjAxNS0wNi0yMiAwOTowODowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVnMXN5cy8uZ2l0aWdub3JlOgoJKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5oOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9tcGVnMXN5cy9tcGVnMXN5c3RlbWVuY29kZS52Y3Byb2o6CgkqIGdzdC9tcGVnMXN5cy9zeXN0ZW1zLmM6CgkgIG1wZWcxc3lzOiByZW1vdmUgYW5jaWVudCBwbHVnaW4gdGhhdCdzIG5ldmVyIGV2ZW4gYmVlbiBwb3J0ZWQgdG8gMC44CgoyMDE1LTA2LTIxIDE3OjEzOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogYWRkIHNvbWUgcGFkZGluZyB0byBTY2FuSGRyIHN0cnVjdAoJICBGb3IgYml0cyB0aGF0IHdlIGRvbid0IHBhcnNlIG91dCBhdCB0aGUgbW9tZW50LgoKMjAxNS0wNi0yMSAxNzowMzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBuZXcgQVBJIHRvIC5kZWYgZmlsZQoKMjAxNS0wNi0yMSAxNDo1ODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBkb2NzIGZvciB0YWJsZSBwYXJzaW5nIGZ1bmN0aW9ucwoKMjAxNS0wNi0yMSAxMzo1NToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuaDoKCSAgZG9jczogYWRkIG5ldyBKUEVHIGNvZGVjcGFyc2VyIEFQSSB0byB0aGUgZG9jcwoJICBBbmQgc3ByaW5rbGUgc29tZSBtb3JlIFNpbmNlIG1hcmtlcnMKCjIwMTUtMDYtMjEgMTE6NTE6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9wYXJzZS12cDguYzoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBtb3ZlIHZwOCBwYXJzZXIgdGVzdCB0byBjb2RlY3BhcnNlciBleGFtcGxlIGRpcmVjdG9yeQoKMjAxNS0wNi0yMSAxMToyMDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY29kZWNwYXJzZXJzL3BhcnNlLWpwZWcuYzoKCSAgZXhhbXBsZXM6IGFkZCBzbWFsbCBqcGVnIGNvZGVjcGFyc2VyIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzkyNQoKMjAxNS0wNi0yMCAyMjo0OToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCB2YWxpZGl0eSBjaGVja2luZyBvZiBkYXRhIHBhcnNlZAoJICBnX3JldHVybl92YWxfaWZfZmFpbCgpIGFuZCBnX2Fzc2VydCgpIGFyZSBub3QgYXBwcm9wcmlhdGUKCSAgZm9yIGNoZWNraW5nIHVudHJ1c3RlZCBleHRlcm5hbCBkYXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDE5OjUyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCB1cCBBUEkKCSAgLSBhZGQgZGF0YSBwb2ludGVyIHRvIEdzdEpwZWdTZWdtZW50IGFuZCBwYXNzIHNlZ21lbnQKCSAgdG8gYWxsIHBhcnNpbmcgZnVuY3Rpb25zLCByZW5hbWUgYWNjb3JkaW5nbHkKCSAgLSBzaG9ydGVuIEdzdEpwZWdNYXJrZXJDb2RlIGVudW0gdHlwZSBuYW1lIHRvIEdzdEpwZWdNYXJrZXIKCSAgLSBtb3ZlIGZ1bmN0aW9uIGd0ay1kb2MgYmx1cmJzIGludG8gLmMgZmlsZQoJICAtIGFkZCBzaW5jZSBtYXJrZXJzCgkgIC0gZmxlc2ggb3V0IGRvY3MgZm9yIFNPRiBtYXJrZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMTQgMTE6NDE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogdHdlYWsgQVBJIGEgbGl0dGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM5MjUKCjIwMTUtMDYtMTQgMTk6MDE6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczoganBlZzogaGlkZSBnc3RfanBlZ19zY2FuX2Zvcl9tYXJrZXJfY29kZSgpCgkgIE1ha2UgdGhpcyBmdW5jdGlvbiBwcml2YXRlIGZvciBub3csIHNpbmNlIGl0J3MgdW5jbGVhciB3aGV0aGVyCgkgIGl0J3MgYWN0dWFsbHkgbmVlZGVkIHNlZWluZyB0aGF0IGdzdF9qcGVnX3BhcnNlKCkgc2NhbnMgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDEzLTA5LTI0IDE2OjEwOjQ1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGpwZWdwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBqcGVnOiBmaXggYW5kIG9wdGltaXplIHNjYW4gZm9yIG5leHQgbWFya2VyIGNvZGUuCgkgIEZpeCBzY2FuIGZvciBuZXh0IG1hcmtlciBjb2RlIHdoZW4gdGhlcmUgaXMgYW4gb2RkIG51bWJlciBvZiBmaWxsZXIKCSAgKDB4ZmYpIGJ5dGVzIGJlZm9yZSB0aGUgYWN0dWFsIG1hcmtlciBjb2RlLiBBbHNvIG9wdGltaXplIHRoZSBsb29wCgkgIHRvIGV4ZWN1dGUgd2l0aCBmZXdlciBpbnN0cnVjdGlvbnMgKH4xMCUpLgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgZm9yIFNwZWN0cmFsZmFuLm1vdi4KCjIwMTMtMDktMTggMTU6NTY6NTIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBjYWxjdWxhdGlvbiBvZiBzZWdtZW50IHNpemUuCgkgIFRoZSBzaXplIG9mIGEgbWFya2VyIHNlZ21lbnQgaXMgZGVmaW5lZCB0byBiZSBleGNsdXNpdmUgb2YgYW55IGluaXRpYWwKCSAgbWFya2VyIGNvZGUuIFNvLCBmaXggdGhlIHNpemUgZm9yIFNPSSwgRU9JIGFuZCBBUFBuIHNlZ21lbnRzIGJ1dCBhbHNvCgkgIHRoZSBzaXplIG9mIGFueSBwb3NzaWJsZSBzZWdtZW50IHRoYXQgaXMgdXN1YWxseSAicmVzZXJ2ZWQiIG9yIG5vdAoJICBleHBsaWNpdGx5IGRlZmluZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc0NDcKCjIwMTMtMDYtMTMgMTM6MjI6MTggKzA4MDAgIFdpbmQgWXVhbiA8ZmVuZy55dWFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGZpeCBkZWZhdWx0IEh1ZmZtYW4gdGFibGVzIGdlbmVyYXRpb24uCgkgIEZpeCBidWlsZF9odWZmbWFuX3RhYmxlKCkgdG8gY29ycmVjdGx5IGZpbGwgaW4gdGhlIGFzc29jaWF0ZWQgSFVGRlZBTAoJICBlbnRyaWVzIHRvIHRoZSBkZWZhdWx0IEh1ZmZtYW4gdGFibGVzLgoKMjAxMi0wOS0xMiAxMDo0MDowNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RqcGVncGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0anBlZ3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGpwZWc6IGFkZCBKUEVHIGJpdHN0cmVhbSBwYXJzZXIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczOTI1CgoyMDE1LTA2LTIwIDE2OjA3OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdHlwbyBpbiBsb2cgbWVzc2FnZQoKMjAxNS0wNi0xNSAxNjowOTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIGdsZGlzcGxheTogYWRkIGdzdF9nbF9kaXNwbGF5X2NyZWF0ZV9jb250ZXh0CgkgIEl0IGFsc28gZW1pdHMgYSBjcmVhdGUtY29udGV4dCBzaWduYWwgc28gdGhhdCBhbiBhcHBsaWNhdGlvbgoJICBjYW4gcHJvdmlkZSBhbiBleHRlcm5hbCBHc3RHTENvbnRleHQgYmFja2VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMxMAoKMjAxNS0wNi0xNSAxNjozNjoyNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBtb3ZlIGRpc3BsYXkgZnJvbSBwcml2CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzMTAKCjIwMTUtMDYtMTggMTA6NTU6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIFJldmVydCAiZ2xjb250ZXh0OiBhZGQgZ3N0X2dsX2NvbnRleHRfc2V0X2Rpc3BsYXkgaGVscGVyIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDcxYjgxMDNjYmQxNmZmZjljZjVhNjVjZjUxNzA4M2NiNzk0YWEzYjUuCgoyMDE1LTA2LTE4IDEwOjUyOjE4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbGNvbnRleHRfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2x3aW5kb3dfZ3B1X3Byb2Nlc3MuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBSZXZlcnQgImdsOiBhZGQgR3N0R0xDb250ZXh0R1BVUHJvY2VzcyBiYWNrZW5kIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGIzNzcxMTJlZTM4OTEyZDMxNmU3N2I0ZTIxMDIwNDEzODlkYzAwNTEuCgoyMDE1LTA2LTE5IDE0OjM1OjM3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIGR1cGxpY2F0ZSwgdXNlbGVzcyBsaW5lIG9mIGNvZGUKCjIwMTUtMDYtMTggMjI6MTE6MDUgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGdsc3Rlcm8qIGFyZSBvbmx5IGJ1aWx0IHdpdGggZnVsbCBPcGVuR0wKCSAgRG9uJ3QgdHJ5IHRvIHJlZ2lzdGVyIHRoZSBlbGVtZW50cyB1bmxlc3MgdGhleSBhcmUgYnVpbHQuCgoyMDE1LTA2LTE4IDIxOjA5OjI0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc3R5bGU6IFJlbW92ZSB3aGl0ZSBzcGFjZXMgYXQgdGhlIGVuZCBvZiBsaW5lCgoyMDE1LTA2LTE4IDE4OjA5OjU1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x2aWV3Y29udmVydC5jOgoJICBnbHZpZXdjb252ZXJ0OiBGaXggR0xFUzIgY29tcGF0aWJpbGl0eQoKMjAxNS0wNi0xOCAxODowMjoyMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSAgZ2x2aWV3Y29udmVydDogRml4IGJyb2tlbiB2YWxpZGl0eSBjaGVjawoKMjAxNS0wNi0xNSAxNjowNjo0MSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1vdmUgUEFSIGNhbGNzLCBhbmQgdXNlIHRoZW0gZm9yIHN0ZXJlb3Njb3BpYyBoYWxmLWFzcGVjdAoJICBNb3ZlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gY2FsY3VsYXRpb25zIGhpZ2hlciB1cCBpbiBjYXBzCgkgIGRldGVybWluYXRpb24sIHNvIHRoZSByZXN1bHRzIGFyZSBhdmFpbGFibGUgZm9yIGEgY2FsbCB0bwoJICBnc3RfdmlkZW9fbXVsdGl2aWV3X2d1ZXNzX2hhbGZfYXNwZWN0KCkgd2hlbiBzdGVyZW9zY29waWMgdmlkZW8KCSAgaXMgZGV0ZWN0ZWQuCgoyMDE1LTA1LTMwIDAzOjA5OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vM2R2aWRlby52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay8zZHZpZGVvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvM2R2aWRlby9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrLzNkdmlkZW8vbXZpZXd3aWRnZXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL01ha2VmaWxlLmFtOgoJICAzZHZpZGVvOiBBZGQgc2ltcGxlIGd0ayBleGFtcGxlIHN0ZXJlb3Njb3BpYyB2aWRlbyBwbGF5ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNS0zMCAwMjoyOTowNCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbHN0ZXJlb21peC5jOgoJKiBleHQvZ2wvZ3N0Z2xzdGVyZW9taXguaDoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuYzoKCSogZXh0L2dsL2dzdGdsc3RlcmVvc3BsaXQuaDoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZXh0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogQWRkIGdsdmlld2NvbnZlcnQsIGdsc3RlcmVvbWl4IGFuZCBnbHN0ZXJlb3NwbGl0IGVsZW1lbnRzCgkgIENvbnZlcnNpb24gZWxlbWVudHMgZm9yIHRyYW5zZm9ybWluZyBtdWx0aXZpZXcvc3RlcmVvc2NvcGljIHZpZGVvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTExNTcKCjIwMTUtMDUtMzAgMDI6MjY6MzIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogU3VwcG9ydCBtdWx0aXZpZXcvc3RlcmVvc2NvcGljIHZpZGVvCgkgIFN1cHBvcnQgdmlkZW8gd2l0aCBtdWx0aXZpZXcgaW5mbyBpbiB0aGUgY2FwcywgdHJhbnNmb3JtCgkgIGl0IHRvIG1vbm8gYW5hZ2x5cGggYnkgZGVmYXVsdCwgYnV0IGFsbG93IGZvciBjb25maWd1cmluZwoJICBvdGhlciBvdXRwdXQgbW9kZXMgYW5kIGhhbmRvZmYgdG8gdGhlIGFwcCB2aWEKCSAgdGhlIGRyYXcgc2lnbmFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExMTU3CgoyMDE1LTA1LTMwIDAyOjIxOjQzICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdmlld2NvbnZlcnQuaDoKCSAgZ2wgbGliczogQWRkIGdsdmlld2NvbnZlcnQgaGVscGVyIG9iamVjdAoJICBBZGQgQVBJIGZvciBhIGhlbHBlciBvYmplY3QgdGhhdCBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudAoJICBzdGVyZW9zY29waWMgdmlkZW8gcmVwcmVzZW50YXRpb25zLCBhbmQgbGF0ZXIgZG8gZmlsdGVyaW5nCgkgIG9mIG11bHRpcGxlIHZpZXcgc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMTE1NwoKMjAxNS0wNi0xOCAxNjoyMDoyNiArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGRlZCB3YXJuaW5ncyBpbiBnc3RfbXBkX2NsaWVudF9zZXR1cF9zdHJlYW1pbmcgZnVuY3Rpb24KCSAgQWRkZWQgc29tZSB3YXJuaW5nIG1lc3NhZ2VzIGluIGdzdF9tcGRfY2xpZW50X3NldHVwX3N0cmVhbWluZyB0byBoZWxwCgkgIGRlYnVnIHNpdHVhdGlvbnMgd2hlbiB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4gRkFMU0UuCgkgIFJlbmFtZWQgYSB3cm9uZ2x5IHNwZWxsZWQgdmFyaWFibGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTExNDkKCjIwMTUtMDYtMTggMTI6MjE6NDMgKzAxMDAgIEZsb3JpbiBBcG9zdG9sIDxmbG9yaW4uYXBvc3RvbEBvcmVnYW4ubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY29ycmVjdGVkIGNvbW1lbnRzIGluIGdzdG1wZHBhcnNlci5oCgkgIENvcnJlY3RlZCBzb21lIGNvbW1lbnRzIGluIGdzdG1wZHBhcnNlci5oIGZpbGUuCgkgIE1vdmVkIGdzdF9tcGRfY2xpZW50X2dldF9hZGFwdGF0aW9uX3NldHMgZnVuY3Rpb24gdG8gYmUgZ3JvdXBlZCB3aXRoCgkgIG90aGVyIGZ1bmN0aW9ucyBmcm9tIEFkYXB0YXRpb25TZXQgZ3JvdXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MTE0OQoKMjAxNS0wNi0xOCAxMzowODoyNSArMDEwMCAgRmxvcmluIEFwb3N0b2wgPGZsb3Jpbi5hcG9zdG9sQG9yZWdhbi5uZXQ+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGFzaF9tcGQuYzoKCSAgZGFzaGRlbXV4OiBmaXhlZCBnZXR0aW5nIHJlcHJlc2VudGF0aW9uIGJhc2VkIG9uIG1heCBiYW5kd2lkdGgKCSAgVGhlIGdzdF9tcGRwYXJzZXJfZ2V0X3JlcF9pZHhfd2l0aF9tYXhfYmFuZHdpZHRoIGZ1bmN0aW9uIGFzc3VtZXMKCSAgcmVwcmVzZW50YXRpb25zIGFyZSBvcmRlcmVkIGJ5IGJhbmR3aWR0aCBhbmQgaW5jb3JyZWN0bHkgcmV0dXJucyB0aGUKCSAgZmlyc3Qgb25lIHdoZW4gd2FudGluZyB0aGUgb25lIHdpdGggbWluaW11bSBiYW5kd2lkdGguCgkgIENvcnJlY3RlZCBnc3RfbXBkcGFyc2VyX2dldF9yZXBfaWR4X3dpdGhfbWF4X2JhbmR3aWR0aCBmdW5jdGlvbiB0byBnZXQgdGhlCgkgIGNvcnJlY3QgcmVwcmVzZW50YXRpb24gaW4gY2FzZSBtYXhfYmFuZHdpZHRoIHBhcmFtZXRlciBpcyAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMTUzCgoyMDE1LTA2LTE4IDE0OjM4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWxsb3cgdGhlIGFwcGxpY2F0aW9uIHRvIHByb3ZpZGUgdGhlIEphdmEgVk0KCSAgSW4gSk5JX09uTG9hZCgpIHdlIHdpbGwgYWxyZWFkeSBnZXQgdGhlIEphdmEgVk0gcGFzc2VkIGFuZCBjb3VsZAoJICBqdXN0IGRpcmVjdGx5IHVzZSB0aGF0LiBnc3RyZWFtZXJfYW5kcm9pZC0xLjAuYyB3aWxsIG5vdyBwcm92aWRlCgkgIHRoaXMgdG8gdXMuCgkgIFJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IGFwcGFyZW50bHkgbm90IGFsbCBBbmRyb2lkIHN5c3RlbSBhcmUKCSAgcHJvdmlkaW5nIHRoZSBKTkkgZnVuY3Rpb25zIHRvIGdldCB0aGUgY3VycmVudGx5IHJ1bm5pbmcgSmF2YSBWTXMsIHNvCgkgIHdlIHdvdWxkIGZhaWwgdG8gZ2V0LiBXaXRoIHRoaXMgd2Ugd2lsbCBhbHdheXMgYmUgYWJsZSB0byBnZXQgdGhlIEphdmEKCSAgVk0gb24gc3VjaCBzeXN0ZW1zLgoKMjAxNS0wNi0xOCAxNDozMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogUHJlZmVyIHNvZnR3YXJlIGNvZGVjcyBvdmVyIGhhcmR3YXJlIGNvZGVjcyBmb3IgYXVkaW8KCSAgSGFyZHdhcmUgY29kZWNzIGRvbid0IG1ha2Ugc2Vuc2UgZm9yIGF1ZGlvIGFuZCBhcmUgZ2VuZXJhbGx5IGxlc3MgcmVsaWFibGUgb24KCSAgQW5kcm9pZCB0aGFuIHRoZSBzb2Z0d2FyZSBjb2RlY3MuCgoyMDE1LTA2LTE4IDE0OjI5OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJICBhbmRyb2lkbWVkaWE6IEZhaWxpbmcgdG8gZGV0YWNoIGEgdGhyZWFkIGlzIG5vdCB0aGF0IG11Y2ggb2YgYSBwcm9ibGVtCgkgIFNvbWVvbmUgZWxzZSBtaWdodCBoYXZlIGRldGFjaGVkIGl0IGJlZm9yZSB1cywgc28gbWFrZSB0aGlzIGp1c3Qgbm9ybWFsIGRlYnVnCgkgIG91dHB1dCBpbnN0ZWFkIG9mIGEgR1NUX0VSUk9SKCkKCjIwMTUtMDYtMTggMTA6NDM6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgZmFpbCBpZiBKTklfQ3JlYXRlSmF2YVZNIGNhbid0IGJlIGZvdW5kCgkgIFdlIG9ubHkgbmVlZCB0aGF0IGlmIG5vIEphdmEgVk0gaXMgcnVubmluZyB5ZXQsIGFuZCBhbGwgdXN1YWwgY2FzZXMsCgkgIGkuZS4gd2hlbiBjYWxsaW5nIEdTdHJlYW1lciBmcm9tIGFuIGFjdHVhbCBBbmRyb2lkIGFwcCwgdGhlcmUgd2lsbCBhbHJlYWR5CgkgIGJlIGEgSmF2YSBWTSB3ZSBjYW4ganVzdCB1c2UuCgkgIEl0IHNlZW1zIGxpa2Ugc29tZSBwaG9uZXMgY29tZSB3aXRob3V0IHRoYXQgc3ltYm9sLCBsZXQncyBob3BlIHRoZXkgY29tZQoJICB3aXRoIHRoZSBvdGhlciBzeW1ib2wgYnV0IGZvciBub3cgZG9uJ3QgbWFrZSBhIG1pc3NpbmcgSk5JX0NyZWF0ZUphdmFWTSBmYXRhbC4KCjIwMTUtMDYtMTggMTI6NTk6MTggKzA3MDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGdldCByZW5kZXJlZCBhbmQgZHJvcHBlZCBzdGF0cyBmcm9tIFFPUyBtZXNzYWdlcwoJICBVc2UgUU9TIG1lc3NhZ2VzIHRvIHVwZGF0ZSByZW5kZXJlZCBhbmQgZHJvcHBlZCBmcmFtZSBzdGF0cy4gVGhpcyBpcwoJICB0aGUgb25seSBhY2N1cmF0ZSBtZXRob2QuIFRoZSBvbGQgbWV0aG9kIGRpZG4ndCB0YWtlIG1heC1sYXRlbmVzcyBhbmQKCSAgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgoyMDE1LTA2LTE3IDEwOjQ0OjE2ICswOTAwICBWaW5lZXRoIFRNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJICBuYWx1dGlsczogdHJpdmlhbCBwYXRjaCB0byBjaGVjayBpZgoJICB0cml2aWFsIHBhdGNoIHRvIGFkZCBwcm9wZXIgKCB3aGlsZSBjaGVja2luZyBmb3IgaWYoR19VTkxJS0VMWSgpKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUxMDg3CgoyMDE1LTA2LTE2IDE3OjQ4OjUxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjAxNWQyNiB0byBmNzRiMmRmCgoyMDE1LTA2LTE1IDIxOjMyOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJICBndGtnbHdpZGdldDogQ29uc3QnaWZ5IGFub3RoZXIgYXJyYXkKCjIwMTUtMDYtMTUgMjE6Mjk6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0a2dsd2lkZ2V0OiBDYWxjdWxhdGUgdGhlIHZpZXdwb3J0IHNpemUgb3Vyc2VsdmVzCgkgIEdldHRpbmcgdGhlIGN1cnJlbnQgdmlld3BvcnQgYW5kIG1vZGlmeWluZyBpdCByZWxhdGl2ZWx5IHdpbGwgcHJvZHVjZSBhbgoJICBpbnRlcmVzdGluZyBmZWVkYmFjayBsb29wIGR1cmluZyB3aWRnZXQgcmVzaXppbmcuIE92ZXIgYSBmZXcgZnJhbWVzIHdlCgkgIHdpbGwgZ3JhZHVhbGx5IG1vdmUgdGhlIHZpZXdwb3J0IGEgYml0IHVudGlsIGl0IGNvbnZlcmdlZCBhZ2FpbiwgYWRkaW5nCgkgIHVubmVjZXNzYXJ5IGFkZGl0aW9uYWwgYm9yZGVycyBhdCB0aGUgdG9wIGFuZCBsZWZ0LgoKMjAxNS0wNi0xNSAyMToyNDowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3R3aWRnZXQuYzoKCSAgZ3RrOiBVc2UgdGhlIGRpc3BsYXkgd2lkdGgvaGVpZ2h0IGZvciB0aGUgd2lkZ2V0J3MgcHJlZmVycmVkIHdpZHRoL2hlaWdodAoKMjAxNS0wNi0xNSAyMDo0NToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGtzaW5rOiBBZGQgc3VwcG9ydCBmb3IgeFJHQi9CR1J4CgoyMDE1LTA2LTE1IDIwOjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogQ2Fpcm8gY29sb3IgZm9ybWF0cyBhcmUgaW4gbmF0aXZlIGVuZGlhbm5lc3MsIEdTdHJlYW1lcidzIGluIG1lbW9yeSBvcmRlcgoJICBDQUlST19GT1JNQVRfQVJHQjMyIGlzIEFSR0Igb24gYmlnIGVuZGlhbiBhbmQgQkdSQSBvbiBsaXR0bGUgZW5kaWFuLgoKMjAxNS0wNi0xNSAyMDozNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IEltcGxlbWVudCBpZ25vcmUtYWxwaGEgcHJvcGVydHkgYW5kIGVuYWJsZSBpdCBieSBkZWZhdWx0CgoyMDE1LTA2LTE1IDIwOjEzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0azogU3luYyBwcm9wZXJ0aWVzIGZyb20gdGhlIHNpbmsgdG8gdGhlIHdpZGdldCB1cG9uIHdpZGdldCBjcmVhdGlvbgoKMjAxNS0wNi0xNSAxMDowODo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IFJlbW92ZSByZWR1bmRhbnQgbWluX2R0cwoJICBBZnRlciBmZXcgaXRlcmF0aW9uLCB0aGlzIHZhcmlhYmxlIGJlY2FtZSB0aGUgc2FtZSBhcyBkdHMuIEl0J3Mgbm90CgkgIHRoZSBtaW4gYXMgdGhlIG5hbWUgc2F5cywgYnV0IHRoZSBkdHMgb2YgdGhlIGN1cnJlbnQgYnVmZmVyLiBTaW1wbHkKCSAgcmVtb3ZlIGFuZCBwbGFjZSB3aXRoIGR0cy4gQWxzbyBtb3ZlIHRoZSBkZWJ1ZyB0cmFjZSB0byBhY3R1YWxseQoJICBwcmludCB0aGUgc2lnbmVkIHZlcnNpb24gb2YgdGhlIHJ1bm5pbmctdGltZSBkdHMuCgoyMDE1LTA2LTE1IDIyOjQzOjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGFkZCBtaXNzaW5nIGhhbmRsZS1ldmVudHMvaWdub3JlLWFscGhhIHByb3BlcnR5IHRvIHRoZSBiaW4KCjIwMTUtMDYtMTUgMTg6Mjg6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3RrZ2xzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuaDoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJICBndGs6IGltcGxlbWVudCBwaXhlbCBhbmQgZGlzcGxheSBhc3BlY3QgcmF0aW8gaGFuZGxpbmcKCjIwMTUtMDYtMTUgMTQ6Mjk6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogUHJpbnQgc29tZSBkZWJ1ZyBvdXRwdXQgaWYgd2UgY2hhbmdlIHRoZSB0aW1lc3RhbXAgb2Zmc2V0CgoyMDE1LTA2LTE1IDE0OjI1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA2LTE1IDE0OjIyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBNb3ZlIHZhcmlhYmxlcyBpbnRvIHRoZSBzY29wZSB3aGVyZSB0aGV5IGFyZSBuZWVkZWQKCjIwMTUtMDYtMTUgMTQ6MTk6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3QgdXBkYXRlIHRoZSB0cy1vZmZzZXQgYmVmb3JlIHVwZGF0aW5nIHRoZSBhY3R1YWwgY29uZmlndXJlZCBjYXBzCgoyMDE1LTA2LTE1IDE0OjE4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFJlbWVtYmVyIGlmIHRoZSBsYXN0IExBVEVOQ1kgcXVlcnkgcmV0dXJuZWQgbGl2ZSBvciBub3QgYW5kIHVzZSB0aGUgaW4gdGhlIFFvUyBtZXNzYWdlcwoKMjAxNS0wNi0xNSAxMjoyMDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgcXVlcnkgc3VwcG9ydGVkIGNvbG9yIGZvcm1hdHMgZm9yIG5vbi12aWRlbyBjb2RlY3MKCjIwMTUtMDYtMTUgMTA6MzQ6NTYgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBidWlsZCBlcnJvcgoJICBhZnRlciBlMDAwYTZmMGE0OTg0ZmJlODExOTBkZjZjZDQzOWM3MGRhZmRlM2Q2LCB0aGVyZSBpcyBidWlsZCBlcnJvciBpbiBiYWQgcGx1Z2lucwoJICB0aGlzIGhhcHBlbnMgYmVjYXVzZSwgR1NUX0NMT0NLX1NUSU1FX0lTX1ZBTElEICgpIGlzIGJlaW5nIGNoZWNrZWQgZm9yIHBhZF9kYXRhCgkgIGJ1dCBpdCBleHBlY3RzIGEgR3N0Q2xvY2tUaW1lIHBhcmFtZXRlci4gQ2hhbmdpbmcgdGhlIGNoZWNrIHRvICdkdHMnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA5NjEKCjIwMTUtMDYtMTUgMTY6NDc6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5wcm86CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgcXQgZXhhbXBsZXMgZm9yIGFwaSBjaGFuZ2VzCgoyMDE1LTA2LTE1IDE0OjM1OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogc2lsZW5jZSB1bnVzZWQgdmFyaWFibGUgd2FybmluZ3MgZm9yIHVuc3VwcG9ydGVkIHdpbnN5cycKCjIwMTUtMDYtMTUgMTQ6MzM6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBpbXBsZW1lbnQgYmFzaWMgd2F5bGFuZCBHTCBzdXBwb3J0CgoyMDE1LTA2LTE0IDIzOjIwOjM4ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IHVwZGF0ZSB6b3JkZXIgZG9jdW1lbnRhdGlvbi4KCSAgSXQgaXMgbm90IGJvdW5kIGJldHdlZW4gMCBhbmQgMTAwMDAgYW55bW9yZS4KCjIwMTUtMDYtMTQgMjM6MTM6NTkgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBObyBuZWVkIHRvIGFydGlmaWNpYWxseSBib3VuZCB0aGUgem9yZGVyLgoJICBJdCBpcyBhbiB1bnNpZ25lZCBpbnRlZ2VyIHNvIHRoZSB1cHBlciBib3VuZCBpcyBHX01BWFVJTlQuCgoyMDE0LTEwLTI5IDE1OjAzOjA0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBhY3R1YWxseSByZXR1cm4gZnVsbCBudW1iZXIgb2YgYml0cyBvZiByZXN5bmMgbWFya2VyCgkgIFN3aXRjaCB0aGUgaW5jcmVtZW50IG9mIG1hcmtlcnNpemUgZnJvbSB3aGVuIGl0IGlzIHVzZWQgdG8gd2hlbiBpdCBpcwoJICByZXR1cm5lZCBmcm9tIGNvbXB1dGVfcmVzeW5jX21hcmtlcl9zaXplLgoJICBUaGlzIGFsc28gbWFrZXMgdGhlIENIRUNLX1JFTUFJTklORyBpbiBnc3RfbXBlZzRfcGFyc2VfdmlkZW9fcGFja2V0X2hlYWRlcgoJICBjaGVjayBmb3IgdGhlIGFjdHVhbGx5IHJlcXVpcmVkIG51bWJlciBvZiBiaXRzIG5vdyBhbmQgbm90IG9uZSB0b28gZmV3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE1LTA2LTEzIDE3OjM2OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBSZXZlcnQgImNvZGVjcGFyc2VyczogcmVtb3ZlIGlnbm9yZWQgaW5jcmVtZW50IG9mIHJldHVybiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5MTZiOTU0MzE1YWJjMmY5NDM0OGVjMGJlM2UxMTZjMTliMDgwYjU0LgoJICBDbGVhcmx5IHNvbWV0aGluZyBlbHNlIHdhcyBpbnRlbmRlZCwgYW5kIGl0IGFsc28gbWFrZXMKCSAgbW9yZSBzZW5zZSB0byBhZGQgdGhlIGV4dHJhIGJpdC4gVGhlIHJlc3luYyBtYXJrZXIgaXMKCSAgTiB6ZXJvIGJpdHMgcGx1cyBhIDEgYml0LCBhbmQgdGhlIHBhdHRlcm4vbWFzayBuZWVkcyB0bwoJICBiZSBydW4gb24gTisxIGJpdHMgdG9vLgoJICAoRXZlbiBhZnRlciB0aGUgcmV2ZXIgdGhlIGNvZGUgZG9lc24ndCBkbyB0aGF0IG9mIGNvdXJzZSwgc28KCSAgaXQgc3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgZGlmZmVyZW50bHkuKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5MzQ1CgoyMDE1LTA2LTEyIDE4OjA4OjQ0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSAgb3BlbnNsZXM6IEZpeCBidWlsZCB3aXRoIEFuZHJvaWQgQVBJIGxldmVsIDwgMTQKCSAgSGVhZGVycyB3ZXJlIGJyb2tlbiBvbiBvbGRlciBBbmRyb2lkIHZlcnNpb25zLCBhcHBhcmVudGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NDU5CgoyMDE1LTAxLTI4IDEzOjA2OjM5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNjb21tb24uaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5oOgoJICBvcGVuc2xlc3Npbms6IEFsbG93IHNldHRpbmcgdGhlIHN0cmVhbSB0eXBlIHZpYSBhIHByb3BlcnR5CgoyMDE1LTAxLTI3IDE1OjI1OjU5ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzY29tbW9uLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc2NvbW1vbi5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlc3NyYzogSW1wbGVtZW50IHJlY29yZGluZyBwcmVzZXRzCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHNpZ25hbCB3aGF0IGtpbmQgb2YgYXVkaW8gd2UgYXJlIGV4cGVjdGluZyB0byByZWNvcmQsCgkgIHdoaWNoIHNob3VsZCB0ZWxsIHRoZSBzeXN0ZW0gdG8gYXBwbHkgZmlsdGVycyAoc3VjaCBhcyBlY2hvCgkgIGNhbmNlbGxhdGlvbiwgbm9pc2Ugc3VwcHJlc3Npb24sIGV0Yy4pIGlmIHJlcXVpcmVkLgoKMjAxNS0wNi0xMyAxMTo0MDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogUmVtb3ZlIGxhdGUgZnJhbWUtZHJvcHBpbmcgd29ya2Fyb3VuZCBmb3IgYmFzZXNpbmsgYnVnCgkgIFRoaXMgd2FzIGZpeGVkIGJ5IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyNTgKCSAgaW4gYmFzZXNpbmssIGFuZCBpcyBub3QgbmVjZXNzYXJ5IHRvIGR1cGxpY2F0ZSBoZXJlIGFueW1vcmUuCgoyMDE1LTA2LTEzIDE4OjQzOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBpbXBsZW1lbnQgcHJvcGVyIGR5bmFtaWMgcGFkIHJlbW92YWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg4MQoKMjAxNS0wNi0xMiAyMDoxNDozNyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogRG9uJ3QgZG8gcG9vbCBjYWNoaW5nCgkgIFdlIG5vdyBrbm93IHRoYXQgcG9vbCBjYWNoaW5nIGNhbiBjYXVzZSByZW5lZ290aWF0aW9uIGlzc3VlcwoJICB3aGVuIGFuIGVsZW1lbnQgaW4gdGhlIHBpcGVsaW5lIGNoYW5nZSBmcm9tIHBhc3N0aHJvdWdoIHRvIG5vdAoJICBwYXNzdGhyb3VnaC4gQXMgaXQncyBub3QgbmVlZGVkLCBkb24ndCBjYWNoZSBleGlzdGluZyBwb29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM0NAoKMjAxNS0wNi0xMiAxODowODo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSByZWZlcmVuY2UgdG8gY3ZzCgoyMDE1LTA2LTEwIDE3OjA1OjUyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBTZWdtZW50IHN0YXJ0IHNob3VsZCBtYXRjaCBmaXJzdCBQVFMKCSAgVGhlIHNlZ21lbnQgc2hvdWxkIHN0YXJ0IGF0IGZpcnN0IFBUUywgYW5kIHRoZSB2YWlyYWJsZSBuYW1lIGxvd2VyX3B0cwoJICBzdGF0ZSBzbyBjb3JyZWN0bHkuIFRob3VnaCB3ZSB3aGVyZSB1c2luZyB0aGUgZmlyc3QgRFRTIGluc3RlYWQuIFRoaXMKCSAgY291bGQgbGVhZCB0byBzbWFsbCBkZXN5bmNocm9uaXphdGlvbiBvZiB2aWRlbyBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA1NzUKCjIwMTUtMDYtMTAgMTI6MzI6MzQgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogQWRkIG5lZ2F0aXZlIERUUyBzdXBwb3J0CgkgIFVzZSB0aGUgc2F2ZWQgRFRTLCBtYWtlIGl0IHNpZ25lZCBhbmQgcGFzcyB0aGF0IHRvIHRoZSBzdHJlYW0gbXV4ZXIuIFRoaXMKCSAgcHJlc2VydmVzIHRoZSBydW5uaW5nIHRpbWUgc2lnbi4gQWxsIHVzYWdlIG9mIC0xIGFzIGludmFsaWQgVFMgYXJlIG5vdwoJICByZXBsYWNlZCB3aXRoIEdfTUlOSU5UNjQuIE5lZ2F0aXZlIHZhbHVlcyB3aWxsIGJlIHNlZW4gYXMgd3JhcC1hcm91bmQKCSAgcG9pbnQsIGJ1dCB0aGUgZGVsdGEgYmV0d2VlbiBQVFMgYW5kIERUUyB3aWxsIHJlbWFpbiBjb3JyZWN0LiBEZW11eGVycwoJICBkb24ndCBjYXJlIGFib3V0IGFic29sdXRlIHZhbHVlcywgdGhleSBvbmx5IGNhcmVzIGFib3V0IGRlbHRhcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMjozMToxMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgdHNtdXg6IFJlbW92ZSB1bmVlZGVkIGNhc3QgYW5kIGNhc3QgbWFjcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU3NQoKMjAxNS0wNi0xMCAxMTozOTowMSAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBQcm9wZXJseSBkZXRlY3QgYmFja3dhcmQgRFRTCgkgIFRoZXJlIHdhcyBjb2RlIHRvIGRldGVjdCBiYWNrd2FyZCBkdHMsIGJ1dCB0aGUgbWFya2VyIG1pbl9kdHMKCSAgd2FzIG5ldmVyIHNldC4gU2V0dGluZyBpdCBlbmFibGUgdGhpcyBmZWF0dXJlIHRoYXQgcHJldmVudHMKCSAgcG90ZW50aWFsIGludGVnZXIgb3ZlcmZsb3cgd2hlbiBnZW5lcmF0aW5nIFRTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNTc1CgoyMDE1LTA2LTEyIDE2OjQ0OjU1ICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICBkYXNoZGVtdXg6IGZpeGVkIHNlZ2ZhdWx0IGZvciBtaXNzaW5nIGRlZmF1bHQgbmFtZXNwYWNlCgkgIEFkZGVkIGEgY2hlY2sgZm9yIGFfbm9kZS0+bnMgYmVmb3JlIGFjY2Vzc2luZyBhX25vZGUtPm5zLT5ocmVmIGluCgkgIGdzdF9tcGRwYXJzZXJfZ2V0X3htbF9ub2RlX25hbWVzcGFjZS4gVGhpcyBjb3VsZCBoYXBwZW4gaWYgdGhlIHhtbAoJICBpcyBtaXNzaW5nIHRoZSBkZWZhdWx0IG5hbWVzcGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDg2NgoKMjAxNS0wNi0xMiAyMjozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBEb24ndCByZXF1aXJlIHRoZSBzYW1lIGZyYW1lcmF0ZSBpbiB0aGUgaW5wdXQgYXMgdGhlIG1vZGUncyBmcmFtZXJhdGUKCSAgV2Ugb25seSByZWFsbHkgY2FyZSBhYm91dCB0aGUgdGltZXN0YW1wcyBmb3IgdGhlIHNpbmsuCgoyMDE1LTA2LTEzIDAxOjQwOjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIGV4YW1wbGVzOiBwbGF5b3V0OiBBZGQgYmV0dGVyIGhlbHAgdGV4dAoJICBUaGlzIHNob3VsZCBoZWxwIHBlb3BsZSBmaWd1cmUgb3V0IGhvdyB0byB1c2UgdGhlIGV4YW1wbGUgYSBiaXQgYmV0dGVyCgoyMDE1LTA2LTEzIDAxOjM1OjU5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9wbGF5b3V0LmM6CgkgIGV4YW1wbGVzOiBwbGF5b3V0OiBEZWNyZW1lbnQgdGhlIGN1cnJlbnRseS1wbGF5aW5nIGNvdW50ZXIgY29ycmVjdGx5CgkgIE9ubHkgZG8gdGhhdCB3aGVuIHdlJ3JlIHJlbW92aW5nIGFuIGl0ZW0gdGhhdCB3YXMgcGxheWluZywgb3RoZXJ3aXNlIHdlJ2xsIG1lc3MKCSAgdGhpbmdzIHVwIHdoaWxlIHRyeWluZyB0byBlZGl0IHRoZSBwbGF5IHF1ZXVlIChwbGF5bGlzdCkuCgoyMDE1LTAxLTI5IDAwOjU2OjI2ICswMDAwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvcGxheW91dC5jOgoJICBwbGF5b3V0OiBOZXcgZXhhbXBsZSBmb3Igc2VhbWxlc3MgYXVkaW8vdmlkZW8gcGxheWJhY2sKCSAgQW4gZXhhbXBsZSBhcHAgdGhhdCB0YWtlcyB2aWRlbyBVUklzIGFzIGNvbW1hbmQgbGluZSBhcmd1bWVudHMgYW5kIHN3aXRjaGVzCgkgIGJldHdlZW4gdGhlbSBzZWFtbGVzc2x5IG9uZSBhZnRlciB0aGUgb3RoZXIgdXNpbmcgY29tcG9zaXRvciBhbmQgYXVkaW9taXhlci4KCSAgQm90aCBhdWRpby12aWRlbyBhbmQgdmlkZW8tb25seSBtZWRpYSBmaWxlcyBhcmUgdmFsaWQgaW5wdXRzLCBidXQgbWl4aW5nIGZpbGVzCgkgIG9mIGJvdGggdHlwZXMgaW4gYSBzaW5nbGUgaW52b2NhdGlvbiBpcyBjdW1iZXJzb21lIHRvIHN1cHBvcnQsIGFuZCBoZW5jZSBkb2VzCgkgIG5vdCB3b3JrLiBUaGUgZXhhbXBsZSBhdHRlbXB0cyB0byBrZWVwIHRoZSBhdWRpbyBzdHJlYW0gbW92aW5nIGFsb25nIHBlcmZlY3RseSwKCSAgYW5kIGR1cGxpY2F0ZXMgdmlkZW8gZnJhbWVzIHdoZXJlIG5lY2Vzc2FyeSB0byBjb3ZlciBnYXBzIGluIHRoZSB2aWRlbwoJICB0aW1lc3RhbXBzIHVzaW5nIHRoZSAnaWdub3JlLWVvcycgdmlkZW9hZ2dyZWdhdG9yIHBhZCBwcm9wZXJ0eS4KCSAgRW5zdXJpbmcgc2VhbWxlc3MgKGFuZCBtb3N0bHktZ2xpdGNoLWZyZWUpIHN3aXRjaGluZyBpcyBoYXJkZXIgdGhhbiBpdCBzb3VuZHMsCgkgIGFuZCBoZW5jZSB0aGUgZXhhbXBsZSBjb250YWlucyBwbGVudHkgb2YgcGFkIHByb2JlcyBhbmQgcnVubmluZyB0aW1lCgkgIGNhbGN1bGF0aW9ucyB0byBtYWtlIHRoaW5ncyB3b3JrLgoJICBUaGUgR1B0ckFycmF5IHBsYXlfcXVldWUgY29udGFpbnMgaXRlbXMgdGhhdCBhcmUgYmVpbmcgcGxheWVkIGJhY2ssIGhhdmUgYmVlbgoJICBwcmVwYXJlZCBmb3IgcGxheWJhY2ssIGFuZCB3aWxsIGJlIHBsYXllZCBiYWNrIGluIHRoZSBmdXR1cmUuIFRoZSBxdWV1ZSBpdHNlbGYKCSAgaXMgbXV0YWJsZSBiZXNpZGVzIHRoZSBmaXJzdCB0d28gaXRlbXMgKHBsYXlpbmcgYW5kIHByZXBhcmVkKS4gVGhlIGl0ZW0gdGhhdCBoYXMKCSAgYmVlbiBwcmVwYXJlZCBzaG91bGQgbm90IGJlIGVkaXRlZCBvciByZW1vdmVkIHNpbmNlIGl0IGhhcyBiZWVuIHByZXBhcmVkIGluCgkgIGFkdmFuY2UgdG8gYmUgYWN0aXZhdGVkIGltbWVkaWF0ZWx5IG9uIHRoZSBjdXJyZW50IGl0ZW0ncyBFT1MuCgkgIFRoZSBleGFtcGxlIGFsc28gaGFzIHN1cHBvcnQgZm9yIHN3aXRjaGluZyB0byB0aGUgbmV4dCBpdGVtIGluIHRoZSBxdWV1ZQoJICBwcmVtYXR1cmVseTsgc2VlIHRoZSAtLXN3aXRjaC1hZnRlci8tcyBmbGFnIHRvIHRoZSBhcHBsaWNhdGlvbi4KCSAgTm90ZTogdGhlIG91dHB1dCB2aWRlbyBpcyBoYXJkLWNvZGVkIGF0IDEyODB4NzIwLCBhbmQgaW5wdXQgdmlkZW8gaXMgc2NhbGVkIGFzCgkgIG5lZWRlZCB0byBmaXQgdGhpcyBzaXplLiBTZXQgT1VUUFVUX1ZJREVPX1dJRFRIL0hFSUdIVCB0byBjaGFuZ2UgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODk0NwoKMjAxNS0wNi0wNiAyMDo0MDoxMyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHRoZSAnaWdub3JlLWVvcycgY29tcG9zaXRvciBzaW5rIHBhZCBwcm9wZXJ0eQoJICBXaGVuIHRoZSAnaWdub3JlLWVvcycgcHJvcGVydHkgaXMgc2V0IG9uIGEgcGFkLCBjb21wb3NpdG9yIHdpbGwga2VlcCByZXNlbmRpbmcKCSAgdGhlIGxhc3QgYnVmZmVyIG9uIHRoZSBwYWQgdGlsbCB0aGUgcGFkIGlzIHVubGlua2VkLiBXZSBjb3VudCB0aGUgYnVmZmVycwoJICByZWNlaXZlZCBvbiBhcHBzaW5rLCBhbmQgaWYgaXQncyBtb3JlIHRoYW4gdGhlIGJ1ZmZlcnMgc2VudCBieSB2aWRlb3Rlc3RzcmMsIHRoZQoJICB0ZXN0IHBhc3Nlcy4KCjIwMTUtMDItMTAgMDA6NDk6MzUgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGFkZCAiaWdub3JlLWVvcyIgcHJvcGVydHkgZm9yIGlucHV0IHBhZHMKCSAgV2hlbiBzZXQsIGl0IGNhdXNlcyB2aWRlb2FnZ3JlZ2F0b3IgdG8gcmVwZWF0ZWRseSBhZ2dyZWdhdGUgdGhlIGxhc3QgYnVmZmVyIG9uCgkgIGFuIEVPUyBwYWQgaW5zdGVhZCBvZiBza2lwcGluZyBpdCBhbmQgb3V0cHV0dGluZyBzaWxlbmNlLiBUaGlzIGlzIHVzZWZ1bCwgZm9yCgkgIGluc3RhbmNlLCB3aGlsZSBwbGF5aW5nIGJhY2sgZmlsZXMgc2VhbWxlc3Mgb25lIGFmdGVyIHRoZSBvdGhlciwgdG8gYXZvaWQKCSAgdmlkZW9hZ2dyZWdhdG9yIGV2ZXIgb3V0cHV0dGluZyBzaWxlbmNlICh0aGUgY2hlY2tlcmJvYXJkIHBhdHRlcm4pLgoJICBJdCBpcyB0byBiZSBub3RlZCB0aGF0IGlmIGFsbCB0aGUgcGFkcyBvbiB2aWRlb2FnZ3JlZ2F0b3IgaGF2ZSB0aGlzIHByb3BlcnR5IHNldAoJICBvbiB0aGVtLCB0aGUgbWl4ZXIgd2lsbCBuZXZlciBmb3J3YXJkIEVPUyBkb3duc3RyZWFtIGZvciBvYnZpb3VzIHJlYXNvbnMuIEhlbmNlLAoJICBhdCBsZWFzdCBvbmUgcGFkIHdpdGggJ2lnbm9yZS1lb3MnIHNldCB0byBGQUxTRSBtdXN0IHNlbmQgRU9TIHRvIHRoZSBtaXhlcgoJICBiZWZvcmUgaXQgd2lsbCBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODk0NgoKMjAxNC0xMi0xOSAxNDo0MzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHJldHVybiBlYXJseSBpZiBwYWNrZXRpemluZyBzaG9ydCBzZWN0aW9uCgkgIFNob3J0IHNlY3Rpb25zIGhhdmUgMyBieXRlcyBvZiBjb21tb24gaGVhZGVyLCB3aGlsZSBvdGhlciBzZWN0aW9ucwoJICBoYXZlIDggYnl0ZXMgb2YgY29tbW9uIGhlYWRlci4gSWYgcGFja2V0aXppbmcgY29tbW9uIGhlYWRlciBvZiBzaG9ydAoJICBzZWN0aW9uLCB3ZSBzaG91bGQgc3RvcCBhZnRlciB0aGUgZmlyc3QgMyBieXRlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY1MwoKMjAxNS0wNi0xMiAxNzoxNDowMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJICBkZWJ1Z3V0aWxzYmFkOiBNaW5vciBjbGVhbnVwCgkgIFJhbiBnc3QtaW5kZW50IG9uIGRlYnVndXRpbHNiYWQuYywgbW92ZWQgaGVhZGVycyB0byBub2luc3QgaW4gTWFrZWZpbGUuYW0KCjIwMTUtMDYtMTIgMTU6Mzk6NTYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSAgZ3RrOiBEbyBub3QgdHJ5IHRvIGFjdGl2YXRlIGEgTlVMTCBHTENvbnRleHQKCSAgQXQgdGhhdCBwb2ludCBpbiB0aGUgY29kZSBub3RoaW5nIGd1YXJhbnRlZXMgaXQgZXhpc3RzCgoyMDE1LTA2LTEyIDIxOjMxOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvdGVzdHM6IHJlbW92ZSByZWZlcmVuY2UgdG8gdW5kZWZpbmVkIGJ1ZmZlciB0ZXN0CgoyMDE1LTA2LTExIDE4OjI2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogc2VwYXJhdGUgcGJvIHRyYW5zZmVyIGZyb20gdGV4dHVyZSB0cmFuc2ZlcnMKCSAgV2hlbiBzdXBwb3J0ZWQsIHRoZSBwb3RlbnRpYWxseSBsb25nZXIgcGJvIHVwbG9hZC9kb3dubG9hZCBjYW4gYmUKCSAgaW5pdGlhdGVkIGJlZm9yZSB0aGUgdGV4dHVyZSB1cGxvYWQvZG93bmxvYWQsIHBvdGVudGlhbGx5IGluY3JlYXNpbmcKCSAgdGhyb3VnaHB1dC4KCjIwMTUtMDYtMTAgMTY6MzY6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGltcGxlbWVudCBvbiB0b3Agb2YgZ2xiYXNlYnVmZmVyCgkgIFByb3ZpZGVzIGNvbnZlbmllbnQgYWNjZXNzIHRvIFBCTyB1c2FnZS4KCSAgQ3VycmVudGx5IHRleHR1cmUgdXBkYXRlcyBhcmUgY291cGxlZCB0aWdodGx5IHRvIGRhdGEgdHJhbnNmZXJzLgoKMjAxNS0wNi0xMCAxNjoyNDo1OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VidWZmZXIuaDoKCSAgZ2w6IG5ldyBnbGJhc2VidWZmZXIgR3N0TWVtb3J5IG9iamVjdAoJICBQcm92aWRlcyBnZW5lcmljIGhhbmRsaW5nIG9mIEdMIGJ1ZmZlciBvYmplY3RzIGFjY2Vzc2libGUgdXNpbmcKCSAgdGhlIEdMIGJpbmQgcG9pbnRzIChHTF9BUlJBWV9CVUZGRVIsIEdMX1BJWEVMXypfQlVGRkVSKS4KCSAgSW1wbGVtZW50YXRpb24gYmFzZWQgb2ZmIHRoZSBjdXJyZW50IEdzdEdMTWVtb3J5LgoKMjAxNS0wNi0xMCAxNjoyMzozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYnVmZmVycy5oOgoJICBnbC9wcm90b3R5cGVzOiBhZGQgc29tZSBidWZmZXIgZnVuY3Rpb24gcHJvdG90eXBlcwoKMjAxNS0wNi0xMiAxNToxNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuaDoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkqIGV4dC9ndGsvZ3N0Z3Rrc2luay5oOgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkqIGV4dC9ndGsvZ3RrZ3N0d2lkZ2V0LmM6CgkgIGd0azogaW1wbGVtZW50IHZpZGVvIGFzcGVjdC1yYXRpbyBoYW5kbGluZwoJICBGb3IgYm90aCB0aGUgc29mdHdhcmUgYW5kIHRoZSBHTCBzaW5rJ3MuCgkgIERvZXNuJ3QgZGVhbCB3aXRoIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gZmllbGQgYXQgYWxsIHlldC4KCjIwMTUtMDYtMTIgMTM6MTQ6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IG9ubHkgbGlzdGVuIG9uIHRoZSBYIERpc3BsYXkgd2hlbiBuZWVkZWQKCSAgNTY5N2I2Yjg5YjRiMmExNWM0NWJkNDdiZTk0MGExN2Y0NDEyZWExMSBjYXVzZXMgdXMgdG8gcG9zc2libHkgbGlzdGVuCgkgIG9uIGEgdG9vbGtpdCBwcm92aWRlZCBEaXNwbGF5IGNvbm5lY3Rpb24uICBXZSB0aHVzIGNvdWxkIGVhdCB0aGVpcgoJICBwcmVjaW91cyB3aW5zeXMgZXZlbnRzLiAgT25seSBsaXN0ZW4gaWYgd2UgbmVlZCB0bwoJICAoIWZvcmVpZ25fZGlzcGxheSBvciB2aWRlb292ZXJsYXkpLgoKMjAxNS0wNi0xMiAxMjo0MDo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGd0azogZml4IGEgY291cGxlIG9mIHR5cG9zCgoyMDE1LTA2LTEyIDEyOjI5OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJICBndGtnbHNpbms6IHJlc2V0IHRoZSBjb250ZXh0L2Rpc3BsYXkgaW4gUkVBRFlfVE9fTlVMTAoJICBGaXhlcyBjb250ZXh0IHByb3BhZ2F0aW9uIGluIHBpcGVsaW5lcyB3aXRoIHVwc3RyZWFtIEdMIGVsZW1lbnRzLgoKMjAxNS0wNi0xMSAxNzoyNTo0OSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCBlcnJvciBjYWxjdWxhdGluZyBsYXJnZSBwcmVzZW50YXRpb25UaW1lT2Zmc2V0IHZhbHVlcwoJICBJZiB0aGUgcHJlc2VudGF0aW9uVGltZU9mZnNldCBhdHRyaWJ1dGUgb2YgYSBEQVNIIG1hbmlmZXN0IGNvbnRhaW5zCgkgIGEgdmFsdWUgdGhhdCBpcyBsYXJnZXIgdGhhbiAyXjMyLCBnc3RtcGRwYXJzZXIgaW5jb3JyZWN0bHkgY2FsY3VsYXRlcwoJICB0aGUgc3RyZWFtJ3MgcHJlc2VudGF0aW9uIHRpbWUgb2Zmc2V0LiBUaGlzIGlzIGR1ZSB0byB0d28gYnVnczoKCSAgMTogVXNpbmcgZ3N0X21wZHBhcnNlcl9nZXRfeG1sX3Byb3BfdW5zaWduZWRfaW50ZWdlciByYXRoZXIgdGhhbgoJICBnc3RfbXBkcGFyc2VyX2dldF94bWxfcHJvcF91bnNpZ25lZF9pbnRlZ2VyXzY0IHRvIHBhcnNlIHRoZQoJICBhdHRyaWJ1dGUKCSAgMjogZ3N0X21wZF9jbGllbnRfc2V0dXBfcmVwcmVzZW50YXRpb24gbXVsdGlwbHlpbmcgdGhlIHZhbHVlIGJ5CgkgIEdTVF9TRUNPTkQgYW5kIHRoZW4gZGl2aWRpbmcgYnkgdGltZXNjYWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA4MDQKCjIwMTUtMDYtMTEgMTI6NDE6MTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9ndGtnbHNpbmsuYzoKCSAgZ3N0Z3RrOiBObyBuZWVkIHRvIHJlYWxpemUgdGhlIHdpZGdldAoJICBUaGUgd2lkZ2V0IGFscmVhZHkgZG9lcyB0aGF0LgoKMjAxNS0wNi0xMSAxMjozODo1MyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJICBnc3RndGs6IERvbid0IGxlYWsgdGhlIHdpZGdldAoJICBnX29iamVjdF9nZXQoKSByZXR1cm5zIGEgcmVmLCBndGtfY29udGFpbmVyX2FkZCgpIG9ubHkgcmVmX3NpbmsoKS4KCSAgVGhhdCBtZWFuIHdlIHN0aWxsIG5lZWQgdG8gdW5yZWYgYWZ0ZXJ3YXJkLiBUaGlzIGxlYWsgd2FzIGhpZGluZwoJICBhIHJlZmVyZW5jZSBidWcgcHJldmlvdXNseSBwcmVzZW50LgoKMjAxNS0wNi0xMSAxMjoxMDoyMyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2d0ay9nc3RndGtnbHNpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmM6CgkgIGdzdGd0azogQWxsb3cgZG9pbmcgZ3N0LWluc3BlY3QtMS4wIG9uIHRoZXNlIGVsZW1lbnRzCgkgIFRoaXMgcGF0Y2ggYWxsb3cgZ29pbmcgZ3N0LWluc3BlY3QtMS4wIG9uIHRoZXNlIGVsZW1lbnRzIHJlbW92aW5nCgkgIHVnbHkgY3Jhc2ggdGhhdCB3YXMgcHJldmlvdXNseSBvY2N1cnJpbmcuIFRoZSBtZXRob2QgY29uc2lzdCBvZgoJICBtYWtpbmcgdGhlIHdpZGdldCBjcmVhdGlvbiBhcyBsYXp5IGFzIHBvc3NpYmxlLiBUaGlzIHdheSB3ZSBkb24ndAoJICBlbmR1cCBkb2luZyBndGtfaW5pdCgpIGJlZm9yZSB0aGUgYXBwbGljYXRpb24uIFdlIGFsc28gcmVmX3NpbmsoKQoJICB0aGUgd2lkZ2V0LCBzbyB3ZSBkb24ndCBjcmFzaCBpZiB0aGUgcGFyZW50IHdpZGdldCBpcyBkaXNjYXJkZWQsCgkgIGFuZCBjbGVhbmx5IGVycm9yIG91dCB3aXRoIEdMIGlmIHRoZSB3aWRnZXQgaGFzIG5vIHBhcmVudCB3aW5kb3csCgkgIGJlY2F1c2UgY2FsbGluZyBndGtfd2lkZ2V0X3JlYWxpemVkKCkgY2FuIG9ubHkgYmUgZG9uZSBpZiB0aGUgd2lkZ2V0CgkgIGhhcyBiZWVuIHBhcmVudGVkIHRvIGEgd2luZG93KS4KCjIwMTUtMDUtMzAgMDI6MTU6NTEgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSB2aWV3cyBpbiB1cGxvYWQsIGNvbG91ciBjb252ZXJ0IGFuZCBkb3dubG9hZAoJICBTdXBwb3J0IG11bHRpcGxlIGF0dGFjaGVkIHZpZXdzIG9uIGlucHV0L291dHB1dCBidWZmZXJzCgkgIGJ5IHByb2Nlc3NpbmcgZWFjaCBvbmUsIG5vdCBqdXN0IHRoZSBmaXJzdC4KCjIwMTUtMDUtMzAgMDE6Mzg6MTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgcGFzc2luZyBzdGVyZW9zY29waWMvbXVsdGl2aWV3IGluZm8KCSAgUGFzcyBhbnkgbXVsdGl2aWV3IGluZm8gZnJvbSB0aGUgY29udGFpbmVyIG9yIFNFSSBpbmZvIGRvd25zdHJlYW0KCjIwMTUtMDYtMTEgMDE6NTc6MDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBEb24ndCBzd2l0Y2ggdG8gcGFzc3Rocm91Z2ggb24gc2V0X2NhcHMoKQoJICBXYWl0IHVudGlsIGF0IGxlYXN0IG9uZSBrZXlmcmFtZSBoYXMgYmVlbiBwYXJzZWQgYmVmb3JlCgkgIGRlY2lkaW5nIHRvIHN3aXRjaCB0byBwYXNzdGhyb3VnaCBtb2RlLCBpbiBjYXNlIHRoZQoJICBzdHJlYW0gY29udGFpbnMgU0VJIG1lc3NhZ2VzIHRoYXQgc3VwcGxlbWVudCB0aGUgb3V0cHV0CgkgIGNhcHMgLSBmb3IgZXhhbXBsZSBieSBwcm92aWRpbmcgc3RlcmVvc2NvcGljIGluZm9ybWF0aW9uCgoyMDE1LTA2LTEyIDAwOjMyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3cveDExOiBkb24ndCBjcmVhdGUgb3VyIG93biBYMTEgZGlzcGxheQoJICBJdCdzIG5vdCBuZWVkZWQgYW55bW9yZSB3aXRoIG1vc3Qgd2luZG93IG9wZXJhdGlvbnMgb2NjdXJpbmcgaW4gdGhlCgkgIEdMIHRocmVhZC4KCjIwMTUtMDYtMTIgMDA6MzA6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsL3dpbmRvdy94MTE6IGhhbmRsZV9ldmVudHMoKSBtYXkgYmUgY2FsbGVkIGJlZm9yZSB0aGUgd2luZG93IGhhcyBiZWVuIGNyZWF0ZWQKCSAgRml4ZXMgYW4gWElPIGZhdGFsIGVycm9yCgoyMDE1LTA2LTEyIDAwOjI5OjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJICBnbDogbW92ZSBiYXNlc2luayBwcm9wZXJ0aWVzIGZyb20gZ2xpbWFnZXNpbmtiaW4gdG8gZ2xzaW5rYmluCgoyMDE1LTAzLTI1IDE5OjI3OjQyICswMjAwICBZYW5rbyBLYW5ldGkgPHlhbmV0aUBkZWNsZXJhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIGFyYml0cmFyeSBjb25zdHJhaW50IG9uIHByb2ctbWFwIHByb2dyYW0gaWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY3NjUKCjIwMTUtMDYtMTEgMTU6MjI6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmM6CgkgIGdsOiBVc2UgZ3N0X29iamVjdF9yZWZfc2luaygpIGZvciBnbHtmaWx0ZXIsbWl4ZXIsc3JjfWJpbiB0b28KCjIwMTUtMDYtMTEgMTU6MTc6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkgIGdsc2lua2JpbjogVXNlIGdzdF9vYmplY3RfcmVmX3NpbmsoKSBmb3IgY29uc2lzdGVuY3kgd2l0aCB0aGUgdmlkZW8tc2luayBwcm9wZXJ0eSBvbiBwbGF5YmluCgoyMDE1LTA2LTExIDE1OjAyOjQ0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ3RrL2d0a2dzdGdsd2lkZ2V0LmM6CgkgIGd0azogRG8gbm90IHRyeSB0byBpbml0aWFsaXplIGRpc3BsYXkgaWYgd2UgaGF2ZSBub3QgaGF2ZSBhIEdMQ29udGV4dCB5ZXQKCjIwMTUtMDYtMTEgMTQ6NTg6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvTWFrZWZpbGUuYW06CgkgIGd0azogQWRkIG1pc3NpbmcgQ0ZMQUdTIHRvIGV4YW1wbGUKCjIwMTQtMTItMTggMTc6MDA6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL01ha2VmaWxlLmFtOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5jOgoJKiBleHQvZ3RrL2dzdGd0a2dsc2luay5oOgoJKiBleHQvZ3RrL2dzdGd0a3NpbmsuYzoKCSogZXh0L2d0ay9nc3RndGtzaW5rLmg6CgkqIGV4dC9ndGsvZ3N0cGx1Z2luLmM6CgkqIGV4dC9ndGsvZ3RrZ3N0Z2x3aWRnZXQuYzoKCSogZXh0L2d0ay9ndGtnc3RnbHdpZGdldC5oOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5jOgoJKiBleHQvZ3RrL2d0a2dzdHdpZGdldC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2d0a2dsc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3Rrc2luay5jOgoJICBJbXBsZW1lbnQgZ3RrIHNpbmtzCgkgIHR3byBzaW5rcyBhcmUgcHJvdmlkZWQuICBndGtzaW5rIHdoaWNoIGlzIGEgY2Fpcm8vc29mdHdhcmUgYmFzZWQgcmVuZGVyZXIKCSAgYW5kIGd0a2dsc2luayB3aGljaCB1dGlsaXNlcyB0aGUgR0wgc3VwcG9ydCBpbiBndGsgYW5kIGdzdHJlYW1lci4KCjIwMTUtMDYtMTAgMTA6MzY6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJICBoMjYzcGFyc2U6IEZpeCBQU0MgbWF0Y2hpbmcKCSAgV2Ugd2VyZSBvZmYgYnkgb25lIGJ5dGUgaW4gdGhlIG1hdGNoaW5nCgkgIEl0IHNob3VsZCBiZSAodXNpbmcgMjQgYml0IG1hdGNoaW5nKToKCSAgKiBzdGFydGNvZGUgIDogMDAwMCAwMDAwIDAwMDAgMDAwMCAxMDAwIDAweHgKCSAgKiBtYXNrIChiaW4pIDogMTExMSAxMTExIDExMTEgMTExMSAxMTExIDExMDAKCSAgKiBtYXNrIChoZXgpIDogICAgZiAgICBmICAgIGYgICAgZiAgICBmICAgIGMKCSAgKiBtYXRjaCAgICAgIDogICAgMCAgICAwICAgIDAgICAgMCAgICA4ICAgIDAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDY4NQoKMjAxNS0wNS0xMSAxNjo0NzoyNSArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBhbHdheXMgZW5xdWV1ZSBmcmFtZXMsIGV2ZW4gb24gZXJyb3IKCSAgRXZlbiB3aGVuIHdlIGZhaWwgdG8gZW5jb2RlIGZyYW1lLCB3ZSBzaG91bGQgc3RpbGwgZW5xdWV1ZSBpdCBzbwoJICBpdCBjb3VsZCBiZSBwYXNzZWQgaW50byBoYW5kbGVfZnJhbWUgKHdpdGggb3V0cHV0X2J1ZmZlciA9PSBOVUxMKS4KCSAgT3RoZXJ3aXNlLCB3ZSByaXNrIEdzdFZpZGVvRW5jb2RlcidzIHF1ZXVlIG9mIGZyYW1lcyBncm93aW5nIHVuYm91bmRlZC4KCSAgTm90ZTogV2UncmUgc2xpZ2h0bHkgY2hhbmdpbmcgdGhlIHJlbmVnb3RpYXRpb24gY29kZSB0byBhY2NvbW1vZGF0ZSBmb3IKCSAgZnJhbWVzIHdpdGhvdXQgb3V0cHV0IGJ1ZmZlcnMsIGJ1dCB0aGlzIGNvbW1pdCB0YWtlcyBubyBvd25lcnNoaXAgb3ZlcgoJICB0aGUgd2F5IG5lZ290aWF0aW9uIGlzIGJlaW5nIGRvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2NjkKCjIwMTUtMDYtMTAgMTU6MDM6MzEgKzAyMDAgIEZhYmlvIENldHJpbmkgPGZjZXRyaW5pQGhvdG1haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogQXZvaWQgZnJhbWUgcmVuZGVyaW5nIHdoaWxlIHRoZSB3aW5kb3cgaXMgY29tcGxldGVseSBoaWRkZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg1NgoKMjAxNS0wNi0xMCAxMTo0MjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IE9FU192ZXJ0ZXhfYXJyYXlfb2JqZWN0IGlzIGltcHJvcGVybHkgaW1wbGVtZW50ZWQgb24gUG93ZXJWUiBTR1ggNTQ0TVAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDE4NQoKMjAxNS0wNS0xMSAxNjo0MDowNyArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmcmVlIGlucHV0IGJ1ZmZlciBBU0FQCgkgIFZUQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUgcmV0YWlucyB0aGUgQ1ZQaXhlbEJ1ZmZlciBkdXJpbmcKCSAgZW5jb2RpbmcsIGFuZCB3aWxsIHJlbGVhc2UgaXQgYXMgc29vbiBhcyBpdCBjYW4gKGUuZy4gYmVmb3JlIGl0IGV2ZW4KCSAgY2FsbHMgb3VyIGNhbGxiYWNrKS4gVGhpcyBtZWFucyB3ZSBjYW4gc2FmZWx5IHJlbGVhc2UgaW5wdXQgYnVmZmVyCgkgIGF0IHRoaXMgcG9pbnQsIHBvc3NpYmx5IGFsbG93aW5nIHRoZSBzeXN0ZW0gdG8gcmV1c2UgaXQgc29vbmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjcxCgoyMDE1LTA1LTExIDE2OjM5OjE5ICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEFkZCBtaXNzaW5nIGdzdF92dGVuY19mcmFtZV9mcmVlKCkgaW4gZXJyb3IgcGF0aAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjY4CgoyMDE1LTA2LTA5IDE2OjMzOjM5ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogRml4IG1lbW9yeSBsZWFrcyBpdGVyYXRpbmcgb3ZlciBwYWRzCgkgIFJlYmFzZWQgZm9yIGxhdGVzdCBtYXN0ZXIgYnkgTmljb2xhcyBIdWV0IDxuaWNvbGFzLmh1ZXRAcGFycm90LmNvbT4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NDgKCjIwMTUtMDYtMTAgMDA6MTY6MjcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogYWRkIGFsaWdubWVudD1hdSB0byBzaW5rIGNhcHMKCSAgVlQgY29tcHJlc3Npb24gY2FsbGJhY2sgZ2V0cyBhIENNU2FtcGxlQnVmZmVyIHBlciBmcmFtZSwgc28gdnRlbmNfaDI2NAoJICBzaG91bGQgc2V0ICdhbGlnbm1lbnQ9YXUnIGluIHNpbmsgY2FwcyB0byBpbmRpY2F0ZSB0aGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjM1CgoyMDE1LTA2LTA5IDE4OjMwOjU1ICswMTAwICBDaHJpcyBDbGF5dG9uIDxjaHJpczI1NTNAZ29vZ2xlbWFpbC5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDYwMQoKMjAxNS0wNS0xMiAwMDoxODowMiArMDIwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZmFzc2V0c3JjLm06CgkgIGF2ZmFzc2V0c3JjOiBmaXggaHVnZSBtZW1vcnkgbGVhawoJICBDTVNhbXBsZUJ1ZmZlcnMgd2VyZSByZXRhaW5lZCAtPiBodWdlIG1lbW9yeSBsZWFrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwNjM4CgoyMDE1LTA1LTExIDE2OjQ0OjMzICswMjAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IG5vIG5lZWQgZm9yIHF1ZXVlX2xlbmd0aCB3aXRoIHRyeV9wb3AKCjIwMTUtMDUtMDUgMTU6MDc6NTMgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogZG9uJ3QgY29weSBtZXRhIGZyb20gaW5wdXQgdG8gb3V0cHV0CgkgIENvcHlpbmcgYXJiaXRyYXJ5IG1ldGFzIGlzIGdvaW5nIHRvIGNhdXNlIHByb2JsZW1zIGFuZCB0aGlzIHNob3VsZCByZWFsbHkgYmUKCSAgaGFuZGxlZCBieSB0aGUgYmFzZSBjbGFzcy4gSXQgb3ZlcnJpZGVzIG1vc3Qgb3RoZXIgdGhpbmdzIGFscmVhZHkgYW55d2F5LAoJICBpbmNsdWRpbmcgdGltZXN0YW1wIGFuZCBkdXJhdGlvbi4gVGhvc2UgYXJlIGp1c3Qgc2V0IGhlcmUgbm93IHNvIHdlIGNhbgoJICBpbnNlcnQgdGhlIGZyYW1lIHNvcnRlZCBpbnRvIHRoZSBxdWV1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODkyMgoKMjAxNS0wNi0wOSAxNTozMjozNiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogYWRkIHRoZSBvYnNvbGV0ZSB0bXBsIGRpciB0byBjcnVmdC1kaXJzCgoyMDE1LTA2LTA5IDE0OjM3OjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBmaXggbWlzbGVhZGluZyBkb2N1bWVudGF0aW9uIGNvcGllZCBmcm9tIGFkZGVyCgoyMDE1LTA2LTA5IDEyOjExOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkgIGRhc2g6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfTElCUykgdG8gTElCQURECgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTA2MTkKCjIwMTUtMDYtMDkgMTE6MzA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQ5YTMzNTMgdG8gNjAxNWQyNgoKMjAxNS0wNi0wOSAwOTowNzo0NSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJICBkdmRzcHU6IE1hcCB0aGUgcGl4ZWwgZGF0YSBvbmNlIHBlciByZW5kZXIsIG5vdCAqYWhlbSogdHdpY2UgcGVyIGJ5dGUuCgkgIFRoZSBuYWl2ZSBwb3J0IHRvIDEuMCBmcm9tIHllYXJzIGFnbyB3YXMgc2lsbHksIG1ha2UgaXQgYmV0dGVyLgoKMjAxNS0wNi0wOCAyMzowODowNCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDM3YWYzMiB0byBkOWEzMzUzCgoyMDE1LTA2LTA1IDE3OjIwOjIwICswMTAwICBGbG9yaW4gQXBvc3RvbCA8ZmxvcmluLmFwb3N0b2xAb3JlZ2FuLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXNoX21wZC5jOgoJICB0ZXN0czogZGFzaGRlbXV4OiBhZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgdGhlIHBhcnNpbmcgb2YgTVBEIGVsZW1lbnQKCSAgQ3JlYXRlIGEgZGFzaCB0ZXN0IHRhcmdldCBhbmQgYWRkIHVuaXQgdGVzdHMgdGhhdCBjaGVjayB0aGUgcGFyc2luZyBvZgoJICBhdHRyaWJ1dGVzIG9mIHRoZSBNUEQgZWxlbWVudCBhbmQgdGhlIGZvbGxvd2luZyBjaGlsZCBlbGVtZW50czoKCSAgLSBiYXNlVVJMCgkgIC0gcHJvZ3JhbSBpbmZvcm1hdGlvbgoJICAtIGxvY2F0aW9uCgkgIC0gbWV0cmljcwoJICBUaGVzZSB0ZXN0cyBjaGVjayB0aGUgY29tcGxpYW5jZSBvZiBwYXJ0cyBvZiB0aGUgTVBEIHBhcnNlciBpbiB0aGUKCSAgZGFzaGRlbXV4IGVsZW1lbnQgYWdhaW5zdCB0aGUgREFTSCBzcGVjaWZpY2F0aW9uIFsxXS4KCSAgWzFdIGh0dHA6Ly9zdGFuZGFyZHMuaXNvLm9yZy9pdHRmL1B1YmxpY2x5QXZhaWxhYmxlU3RhbmRhcmRzL2MwNjUyNzRfSVNPX0lFQ18yMzAwOS0xXzIwMTRfRWxlY3Ryb25pY19pbnNlcnRzLnppcAoJICBodHRwOi8vc3RhbmRhcmRzLmlzby5vcmcvaXR0Zi9QdWJsaWNseUF2YWlsYWJsZVN0YW5kYXJkcy9jMDY1Mjc0X0lTT19JRUNfMjMwMDktMV8yMDE0LnppcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzkwCgoyMDE1LTA1LTA2IDE0OjI5OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogc2ltcGxpZnkgYWdncmVnYXRlIHJldHVybmluZwoJICBSZXdvcmsgc3BlY2lhbCBoYW5kbGluZyB3aXRoIGdvdG8vbGFiZWxzIHRvIG9ubHkgaGF2ZSBvbmUgY2FzZQoJICBhbmQgb3RoZXJ3aXNlIGp1c3QgcmV0dXJuIG5vcm1hbGx5LgoKMjAxNS0wNS0wNiAxNDoxOTozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHJlZmFjdG9yIGNhcHMgcmVjb25maWd1cmUgdG8gaXRzIG93biBmdW5jdGlvbgoJICBNYWtlcyB0aGUgYWdncmVnYXRpb24gY29kZSBzaG9ydGVyIGFuZCBlYXNpZXIgdG8gcmVhZAoKMjAxNS0wNS0wNiAxMzo1OTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeGluZyB0eXBlcyBpbiBhZ2dyZWdhdGUgZnVuY3Rpb24KCSAgQ29ycmVjdGx5IHVzZSBib29sZWFuIGFuZCBHc3RGbG93UmV0dXJuIHR5cGVzIGluIHRoZSBmdW5jdGlvbi4KCjIwMTUtMDUtMDYgMTM6MDg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgbWFjcm8gdG8gYWNjZXNzIGFnZ3JlZ2F0b3Igc3JjIHBhZAoJICBNYWtlcyBjb2RlIGEgYml0IG1vcmUgcmVhZGFibGUKCjIwMTUtMDUtMDYgMTM6MDc6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGEgY29udmVuaWVuY2UgbWFjcm8gdG8gZ2V0IHRoZSBzb3VyY2UgcGFkCgkgIEVhc2llciB0aGFuIGNhc3Rpbmcgb3IgYWNlc3NpbmcgdGhlIHBhcmVudCBldmVyeXdoZXJlCgoyMDE1LTA2LTA4IDE0OjE2OjIyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogY29ycmVjdCBmaXggZm9yIGRlYWQgY29kZQoJICBSZW5hbWUgdGVtcGxhdGUgdG8gY2FwcyB0byBrZWVwIHRoZSBvcmlnaW5hbCBpbnRlbnRpb24gb2YgdGhlIGNvZGUgYWZ0ZXIKCSAgY29tbWl0IGI0YzlhYTFjCgkgIENJRCAjMTMwNDY3NAoKMjAxNS0wNi0wOCAxNDoxNDo0MSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIFJldmVydCAidHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwNjM1YWNmZWMwNDFiMWM2NjRiYzA3NzA4MzliMWE1NzZlMzU5OGIxLgoKMjAxNS0wNi0wOCAxMzozNzozMiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQWZ0ZXIgY29tbWl0IGI0YzlhYTFjMzA4Zjg4YmY0ZTFmNjlhYjAxNTZlZDlmOTk4MTVlOGUgdGVtcGxhdGUgd2lsbCBhbHdheXMgYmUKCSAgTlVMTC4gVGhlIGlmIGNvbmRpdGlvbmFsIHdpbGwgYWx3YXlzIGJlIEZBTFNFLCBzbyByZW1vdmluZyBpdC4KCSAgQ0lEICMxMzA0Njc0CgoyMDE1LTA2LTA3IDIzOjA2OjM4ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyMWJhMmU1IHRvIGQzN2FmMzIKCjIwMTUtMDYtMDcgMTc6MzI6MDcgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM0MDg1ODMgdG8gMjFiYTJlNQoKMjAxNS0wNi0wNyAxNzowMzoxNSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgdmFyaWFibGVzIHRoYXQgd2UgZGVmaW5lIGluIHRoZSBzbmlwcGV0IGZyb20gY29tbW9uCgkgIFRoaXMgaXMgc3luY2luZyBvdXIgTWFrZWZpbGUuYW0gd2l0aCB1cHN0cmVhbSBndGtkb2MuCgoyMDE1LTA2LTA3IDE3OjE2OjI1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkNjc2OTkzIHRvIGM0MDg1ODMKCjIwMTUtMDYtMDcgMTY6NDU6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCjIwMTUtMDYtMDcgMTY6Mjg6NDMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IG9ubHkgYWRkIHRoZSBsaWJzIHRoYXQgd2UgYWN0dWFsbHkgZG9jdW1lbnQgcmlnaHQgbm93CgkgIEtlZXAgdGhlIGxpYnMgaW4gYWxwaGFiZXRpY2FsIG9yZGVyIHVubGVzcyBhIHNwZWNpZmljIGxpbmsgb3JkZXIgaXMgcmVxdWlyZWQuCgkgIEFsc28gcmVtb3ZlIHRoZSAtTCBkaXJlY3RpdmVzIGFzIHdlIHNwZWNpZnkgdGhlIGRpcmVjdCBwYXRoIHRvIHRoZSAubGEgZmlsZXMuCgoyMDE1LTA2LTA3IDE2OjI4OjIyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJICBkb2NzOiByZW1vdmUgZHVwbGljYXRlZCBlbnRyeSBmcm9tIHR5cGVzIGZpbGUKCjIwMTUtMDYtMDcgMTU6NTk6NTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHpiYXI6IHNwbGl0IHRlc3QKCSAgTGV0cyBub3QgY3JhbSBldmVyeXRoaW5nIGludG8gYSBzaW5nbGUgdGVzdCAtIHRoaXMgd291bGQgcmVuZGVyIHRoZSB0ZXN0IG5hbWUKCSAgdXNlbGVzcyBmb3IgcXVpY2sgZGlhZ25vc2lzLiBIYXZpbmcgc2VwYXJhdGUgdGVzdHMgZm9yIHRoZSBvcHRpb25hbCBmZWF0dXJlIGlzCgkgIGFsc28gdmVyaWZ5aW5nIHRoZSBiZWhhdmlvdXIgd2hlbiB0aGUgZmVhdHVyZSBpcyBvZmYuCgo9PT0gcmVsZWFzZSAxLjUuMSA9PT0KCjIwMTUtMDYtMDcgMTA6NTU6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjUuMQoKMjAxNS0wNi0wNyAwOTozNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNS0wNS0zMCAyMTozNTozNiArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHdyb25nIGdzdC1sYXVuY2ggY29tbWFuZCBpbiB0aGUgZGVzY3JpcHRpb24KCSAgRml4IHdyb25nIGdzdC1sYXVjaCBjb21tYW5kIGluIHRoZSBkZXNjcmlwdGlvbi4KCSAgVGhpcyBwYXRjaCBtYXkgaGVscCBwZW9wbGUgdG8gZ2V0IHJpZ2h0IHRlc3RpbmcgcmVzdWx0cyB1c2luZyB0aGUgc2NyaXB0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTQzCgoyMDE1LTA2LTA1IDE0OjQ5OjE4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IHJlbW92ZSBpZ25vcmVkIGFzc2lnbm1lbnRzCgkgIFJlbW92ZSBhc3NpZ25tZW50cyB0byBERkJSZXN1bHQgcmVzIHRoYXQgYXJlIG5ldmVyIHJlYWQuCgoyMDE1LTA2LTA1IDE0OjM0OjU1ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGlnbm9yZWQgYXNzaWdubWVudAoJICBGdW5jdGlvbiBnb2VzIHRvIGRvbmUgYmVmb3JlIHRoZSB2YWx1ZSBzZXQgaW4gc3RhcnRfb2Zmc2V0IGlzIGV2ZXIgdXNlZC4KCjIwMTUtMDYtMDUgMDk6MzU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbGltYWdlc2luay5jOgoJICBGaXggYSBjb21tb24gdHlwbzogcmV0cmVpdmUgLT4gcmV0cmlldmUKCSAgU2VlbXMgdG8gaGF2ZSBiZWVuIGNvcHkgcGFzdGVkIGFyb3VuZCBhIGZldyBwbGFjZXMKCjIwMTUtMDYtMDUgMDk6MjI6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRyb3AgVE9ETyB0aGF0IGRvZXNuJ3QgbmVlZCBhIHNvbHV0aW9uCgkgIENvbm5lY3Rpb24gc3BlZWQgaXMgb25seSBjaGVja2VkIGF0IHRoYXQgcG9pbnQgaW4gaGxzZGVtdXggc28gdGhlcmUKCSAgaXMgbm8gcmVhbCBuZWVkIHRvIHJlZmFjdG9yIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzI4CgoyMDE1LTA2LTA1IDA5OjE1OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJICBSZXZlcnQgImhsc2RlbXV4OiBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0IgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRjYTNhMjJiNmIzM2FkOGJlNDM4MzA2M2U3NmY3OWM0ZDM0NjUzNWQuCgkgIFRoZSBjb25uZWN0aW9uLXNwZWVkPTAgaXMgdXNlZCBhcyBhIHNwZWNpYWwgdmFsdWUgaW4gdGhlIHByb3BlcnR5CgkgIG9mIGhsc2RlbXV4IHRvIG1lYW4gJ2F1dG9tYXRpYycgc2VsZWN0aW9uLCBtM3U4LmMgZG9lc24ndCBuZWVkCgkgIHRvIGtub3cgYWJvdXQgdGhhdCBhcyBpdCBzaG91bGQgYmUgYXMgc2ltcGxlIGFzIHBvc3NpYmxlLgoJICBTbyB0aGlzIHBhdGNoIGhpZGVzIHRoaXMgYXV0b21hdGljIHNlbGVjdGlvbiBkb2N1bWVudGVkIGluIGhsc2RlbXV4CgkgIGludG8gbTN1OCBsb2dpYyBhbmQgSSB0aGluayB0aGUgZ2V0cyBoYXJkZXIgdG8gdW5kZXJzdGFuZCB0aGUgY29kZS4KCSAgSXQgYWxzbyBtYWtlcyB0aGUgaGxzZGVtdXggdW5pdCB0ZXN0cyB3b3JrIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDYtMDUgMTQ6MzA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBGaXggaW52ZXJ0ZWQgbG9naWMgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAxNS0wNi0wNSAwODo1ODowMyArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSAgc2ltcGxldmlkZW9tYXJrZGV0ZWN0OiBmaXggZGV0ZWN0IG9mIHZpZGVvbWFyayBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSB2aWRlbwoJICBJbiBjYXNlIG9mIHRoZSB2aWRlb21hcmsgYmVpbmcgcGFydGlhbGx5IG9yIGZ1bGx5IG91dHNpZGUsCgkgIGFuIGVycm9yIHdhcyBiZWluIHRocm93biBzYXlpbmcsIG1hcmsgd2lkdGggaXMgbW9yZSB0aGFuIHZpZGVvIHdpZHRoLgoJICBBbmQgd2hlbiB0aGUgd2lkdGgsIG9mZnNldCBwcm9wZXJ0aWVzIGFyZSBzZXQgdG8gbWF4aW11bSBpdCByZXN1bHRlZCBpbiBjcmFzaC4KCSAgSW5zdGVhZCBvZiB0aHJvd2luZyBlcnJvciwgYWRkZWQgbG9naWMgdG8gZGV0ZWN0IHRoZSBtYXJrCgkgIGluIGNhc2Ugb2YgcGFydGlhbCB2aXNpYmlsaXR5IG9yIGRvbnQgc2hvdyB0aGUgbWFyayB3aGVuIGl0IGlzIG91dHNpZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDgKCjIwMTUtMDYtMDUgMTQ6MTA6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBzZWdtZW50cyB3ZSBoYXZlIHdoZW4gYSBzZWdtZW50IHRlbXBsYXRlIGluc3RlYWQgb2YgYSBsaXN0IGlzIHVzZWQKCSAgT3RoZXJ3aXNlIHdlIHdvdWxkIGp1c3QgY29udGludWUgZG93bmxvYWRpbmcgbmV3IGZpbGVzIGZvcmV2ZXIgdW50aWwgd2UgZ2V0CgkgIDQwNCBmb3IgdGhlIGZpcnN0IG9uZSwgYW5kIHRoZW4gZXJyb3Igb3V0IGluc3RlYWQgb2YgZ29pbmcgRU9TLgoKMjAxNS0wNi0wNSAwODo1MzozMCArMDkwMCAgVmluZWV0aCBUTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiBBZGQgRXJyb3IgbG9ncwoJICBXaGVuIHRoZSBwYXR0ZXJuIG9mZnNldCBpcyBvdXRzaWRlIHRoZSB2aWRlbywgdGhlIHByaW50IGVycm9yIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wNi0wNSAxMzoyODozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBSZXZlcnQgIm1wZHBhcnNlcjogRG9uJ3QgY29uc2lkZXIgc3RyZWFtcyB3aXRoIGEga25vd24gbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uIGFzIGxpdmUiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzcwMTFlNTE5ODMwZTA3ODZmYTZlMzA3ZWQyNjAwM2EyYTg3NzRmMS4KCSAgVGhpcyBjaGFuZ2Ugd2FzIGFjdHVhbGx5IGNvbXBsZXRlbHkgdW5uZWNlc3NhcnksIHRoZSBzdHJlYW1zIGluIHF1ZXN0aW9uIGFyZQoJICBtYXJrZWQgYXMgc3RhdGljIGFuZCBhcmUgbm90IGNvbnNpZGVyZWQgbGl2ZSBhbnl3YXkuCgoyMDE1LTA2LTA1IDEzOjIxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgY29uc2lkZXIgc3RyZWFtcyB3aXRoIGEga25vd24gbWVkaWEgcHJlc2VudGF0aW9uIGR1cmF0aW9uIGFzIGxpdmUKCjIwMTUtMDYtMDUgMTE6MjY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IEVycm9yIG91dCBpZiBkb3dubG9hZGluZyBhIHNlZ21lbnQgZmFpbGVkIHRvbyBvZnRlbiBpbiBsaXZlIG1vZGUKCSAgSXQncyB0cnVlIHRoYXQgd2Ugc2hvdWxkbid0IGNvbnNpZGVyIGVycm9ycyBmYXRhbCBpbW1lZGlhdGVseSwgYnV0IGlmIHdlCgkgIGFsd2F5cyBpZ25vcmUgdGhlbSB3ZSB3aWxsIGxvb3AgaW5maW5pdGVseSBvbiBsaXZlIHN0cmVhbXMgd2l0aCBzZWdtZW50cwoJICB0aGF0IGNhbid0IGJlIGRvd25sb2FkZWQgYXQgYWxsLgoKMjAxNS0wNi0wMyAxMjoxNzoxOSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogQWxsb3cgZ2V0dGluZyBzc3JjIG9mIG1vcmUgcGFja2FnZSB0eXBlcyB0aGFuIFJSIGFuZCBTUgoJICBUaGlzIGFsbG93cyBkZWNyeXB0aW5nIHJlZHVjZSBzaXplIHBhY2thZ2VzLiBTZWUgUkZDIDU1MDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMyNgoKMjAxNS0wNi0wNCAxMzozNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVmYWN0b3IgcGFkIGNyZWF0aW9uCgkgIEF2b2lkIHJlcGVhdGluZyB0aGUgc2FtZSBwYWQgY3JlYXRpb24gY29kZSBldmVyeXdoZXJlCgoyMDE1LTA2LTA0IDE1OjU3OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogRG9uJ3QgY3Jhc2ggaW4gZGVidWcgb3V0cHV0IGlmIHN0cmVhbS0+c2VnbWVudHMgaXMgTlVMTAoKMjAxNS0wNi0wNCAxMzozMTo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIGtzdmlkZW9zcmM6IGZpeCBsb2dpYyBhbmQgdGltZXN0YW1wIG5vbi1tdXhlZCBzdHJlYW1zIGFnYWluCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzODEKCjIwMTUtMDYtMDQgMTI6NTM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvZ3N0bGliZGUyNjUuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NWRlYzogZml4IHVwIHBsdWdpbiBuYW1lIGFuZCBkZWNvZGVyIGRlc2NyaXB0aW9uCgoyMDE1LTA2LTA0IDEzOjM2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBDbGFtcCBzZWVrIHRpbWVzIHRvIHRoZSBhdmFpbGFiaWxpdHlTdGFydFRpbWUKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc2VlayB0byBuZWdhdGl2ZSB0aW1lcywgd2hpY2ggYXJlIGludGVycHJldGVkIGFzIHVuc2lnbmVkCgkgIGludGVnZXJzIGxhdGVyLgoKMjAxNS0wNi0wNCAxMzoxMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IEltcHJvdmUgZGVidWcgb3V0cHV0IGEgYml0IHdoZW4gYWR2YW5jaW5nIHNlZ21lbnRzCgoyMDE1LTA2LTA0IDEyOjM2OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBSZWxlYXNlIHRoZSBtYW5pZmVzdCBtdXRleCBiZWZvcmUgd2FpdGluZyBmb3IgYSBkb3dubG9hZAoJICBPdGhlcndpc2Ugd2Ugd2lsbCBodXJ0IHBhcmFsbGVsIGRvd25sb2FkcyBpbiB0aGUgYmVzdCBjYXNlLCBhbmQgb2Z0ZW4gY2F1c2UKCSAgZGVhZGxvY2tzLgoKMjAxNS0wNi0wNCAxMTo1NDoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogSWYgY2hhbm5lbC9yYXRlIG5lZ290aWF0aW9uIGZhaWxzLCBmYWxsIGJhY2sgdG8gc3RlcmVvIGFuZCA0OGtIegoKMjAxNS0wNi0wNCAxMTo1Mjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IFNldCB1cCBkZWZhdWx0IGhlYWRlciB3aXRoIDQ4a0h6IHNhbXBsZSByYXRlIGluc3RlYWQgb2YgMAoKMjAxNS0wNi0wNCAxMTo0NTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZ3N0X3N0cnVjdHVyZV9maXhhdGVfZmllbGRfbmVhcmVzdF9pbnQoKSBvbmx5IHdvcmtzIGlmIHRoZSBzdHJ1Y3R1cmUgaGFzIHRoaXMgZmllbGQKCSAgSnVzdCBzZXQgdGhlIHJhdGUvY2hhbm5lbHMgZGlyZWN0bHkgaWYgdGhlIGNhcHMgZG9uJ3QgaGF2ZSB0aGlzIGZpZWxkLgoKMjAxNS0wNi0wNCAxMTowNTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IFVzZSA2NCBiaXQgaW50ZWdlciBmb3JtYXQgc3RyaW5ncyB3aGVuIHBhc3NpbmcgYSA2NCBiaXQgaW50ZWdlcgoJICBPdGhlcndpc2Ugd2UnbGwgb25seSBnZXQgaGFsZiBvZiBpdHMgYml0cyBwcmludGVkIG9uIDMyIGJpdCBhcmNoaXRlY3R1cmVzLgoJICBGb3IgdGhpcywgcHJvbW90ZSB0aGUgJWQtc3R5bGUgZm9ybWF0IHN0cmluZ3MgdG8gc29tZXRoaW5nIHRoYXQgYWNjZXB0cwoJICA2NCBiaXQgaW50ZWdlcnMgd2l0aCBHX0dJTlQ2NF9NT0RJRklFUi4KCjIwMTUtMDYtMDQgMTA6NDc6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2U6IFZhbGlkYXRlIGZvcm1hdCBzdHJpbmdzIGJlZm9yZSB1c2luZyB0aGVtCgkgIFVzaW5nIGZvcm1hdCBzdHJpbmdzIGZyb20gYW4gdW50cnVzdGVkIHNvdXJjZSB3aXRob3V0IHZhbGlkYXRpb24gaXMKCSAgY2FsbGluZyBmb3IgcHJvYmxlbXMsIGFuZCBhdCBsZWFzdCBhbGxvd3MgdG8gcmVtb3RlbHkgY3Jhc2ggeW91ciBhcHBsaWNhdGlvbi4KCSAgSWYgbm90IHdvcnNlLgoKMjAxNS0wNi0wNCAwOTo0MDoxOSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvZGlzcG1hbng6IEZpeCBidWlsZAoKMjAxNS0wNi0wMyAyMjoyMTozMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZTogZml4IGJ1aWxkIGVycm9yIHdoZW4gY29tcGlsaW5nIGNvY29hLXZpZGVvb3ZlcmxheQoJICBsaWJ0b29sOiBlcnJvcjogaWdub3JpbmcgdW5rbm93biB0YWcgT0JKQwoJICBhbmQKCSAgY2xhbmc6IGVycm9yOiBhcmd1bWVudCB1bnVzZWQgZHVyaW5nIGNvbXBpbGF0aW9uOiAnLXB0aHJlYWQnCgoyMDE1LTA2LTA0IDE1OjAxOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL3dpbmRvdy9kaXNwbWFueDogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTUtMDYtMDQgMTI6MTY6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSAgZ2wvd2luZG93OiB1c2UgdGhlIGRlZmF1bHQgbWFpbiBsb29wIGltcGxlbWVudGF0aW9uIGZvciBhbGwgYmFja2VuZHMKCSAgZml4ZXMgZ2xpbWFnc2luayBiZWluZyB1bmFibGUgdG8gZGlzcGxheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDMzNwoKMjAxNS0wNi0wMyAyMToyMjowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2x3aW5kb3dfY29jb2E6IHVzZSBwYXJlbnQgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMzM3CgoyMDE1LTA2LTAzIDIwOjAzOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogQWRkIHRoZSBzdGFydE51bWJlciBhcyBvZmZzZXQgdG8gdGhlIHNlZ21lbnQgaW5kZXggd2hlbiB1c2luZyBhIHRlbXBsYXRlCgoyMDE1LTA2LTAzIDE2OjU5OjQ0ICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJICBkdGxzZGVjOiBGaXggY3JpdGljYWwgd2FybmluZyAiZ290IGRhdGEgZmxvdyBiZWZvcmUgc3RyZWFtLXN0YXJ0IGV2ZW50IgoJICBGb3J3YXJkIHN0aWNreSBldmVudHMgb24gcmVxdWVzdGVkIHNyYyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAzNDgKCjIwMTUtMDYtMDMgMTU6MjU6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiByZW1vdmUgdXNlbGVzcyB2YWx1ZSBhc3NpZ25tZW50cwoJICBJbiBhbGwgdGhlc2UgY2FzZXMgcmV0IGlzIHNldCBidXQgb3ZlcndyaXR0ZW4gYmVmb3JlIHRoZSByZXR1cm4gb2YgdGhlIGZ1bmN0aW9uCgoyMDE1LTA2LTAzIDE0OjQ0OjMxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhYmluMi10ZXN0OiBwcm90ZWN0IGZyb20gZGl2aXNpb24gYnkgemVybwoJICBIaWdobHkgdW5saWtlbHkgdG8gaGF2ZSAwIGNhcHR1cmVzLCBidXQgcHJvdGVjdCBmcm9tIGNyYXNoZXMgaW4gdGhlIGZ1dHVyZSBieQoJICBkb2luZyBub25lIG9mIHRoZSBtYXRoIGlmIHRoZXJlIGlzIG5vIGRhdGEuCgoyMDE1LTA2LTAyIDIwOjU3OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGxvd2VyIGN1cmwgcmVxdWlyZW1lbnQgdG8gNy4zNS4wCgkgIEJ1aWxkIGFuZCB1bml0IHRlc3RzIHdlcmUgdGVzdGVkIGFnYWluc3QgNy4zNSB0b28gbm93LAoJICB3aGljaCBpcyB0aGUgdmVyc2lvbiBpbiBVYnVudHUgMTQuMDQuCgoyMDE1LTA2LTAyIDE2OjQwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBkbyBub3QgYWNjZXNzIHZhcmlhYmxlIGFmdGVyIHVucmVmCgkgIERhdGEgbWlnaHQgbm90IGV4aXN0IGFueW1vcmUKCjIwMTUtMDYtMDIgMTU6NDU6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgdGVzdHM6IGF1ZGlvaW50ZXJsZWF2ZTogdGVzdCBub3Qgc2V0dGluZyBwb3NpdGlvbnMKCSAgRGlzYWJsZSAiY2hhbm5lbC1wb3NpdGlvbnMtZnJvbS1pbnB1dCIsIGJ1dCB3aXRob3V0IGFjdHVhbGx5IGdpdmluZwoJICBhIHBvc2l0aW9uIHRhYmxlLCBzbyBldmVyeSBwb3NpdGlvbiBzaG91bGQgYmUgTk9ORQoKMjAxNS0wNi0wMiAxNTo0NDo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvaW50ZXJsZWF2ZS5jOgoJICB0ZXN0czogRml4IGluZGVudGF0aW9uIGluIGF1ZGlvaW50ZXJsZWF2ZSB0ZXN0CgoyMDE1LTA2LTAyIDExOjMxOjAwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGRvbid0IGlnbm9yZSB6YmFyX3NjYW5faW1hZ2UoKSBlcnJvcnMKCjIwMTUtMDYtMDMgMDA6MzE6NDIgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogU2V0IG5ldyBzeW5jIHBvaW50IHdoZW4gY29weWluZwoJICBTZXQgYSBuZXcgc3luYyBwb2ludCB3aGVuIGNvcHlpbmcgaW5zdGVhZCBvZgoJICB0cmFuc2ZlcnJpbmcgdGhlIChub24tcmVmY291bnRlZCkgR0wgc3luYyBvYmplY3QKCSAgZnJvbSB0aGUgc291cmNlIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAyNzkKCjIwMTUtMDYtMDIgMjM6NTk6NTAgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogQWRkIHNvbWUgZGVidWcgb3V0cHV0CgoyMDE1LTA2LTAyIDE2OjAyOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd0cy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZwOHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIGNoZWNrOiBVc2UgR1NUX0NIRUNLX01BSU4gKCkgbWFjcm8gZXZlcnl3aGVyZQoJICBNYWtlcyBzb3VyY2UgY29kZSBzbWFsbGVyLCBhbmQgZW5zdXJlcyB3ZSBnbyB0aHJvdWdoIGNvbW1vbiBpbml0aWFsaXphdGlvbgoJICBwYXRoIChsaWtlIHRoZSBvbmUgdGhhdCBzZXRzIHVwIFhNTCB1bml0IHRlc3Qgb3V0cHV0IC4uLikKCjIwMTUtMDYtMDIgMTA6MjE6NDIgKzA5MDAgIFZpbmVldGggVE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkgIHNpbXBsZXZpZGVvbWFyazogZml4IGRpc3BsYXkgb2YgdmlkZW9tYXJrIHBhcnRpYWxseSBvciBmdWxseSBvdXRzaWRlIHZpZGVvCgkgIEluIGNhc2Ugb2YgdGhlIHZpZGVvbWFyayBiZWluZyBwYXJ0aWFsbHkgb3IgZnVsbHkgb3V0c2lkZSwgYW4gZXJyb3Igd2FzIGJlaW5nCgkgIHRocm93biBzYXlpbmcgdGhlIG1hcmsgd2lkdGggaXMgbW9yZSB0aGFuIHZpZGVvIHdpZHRoLiBBbmQgd2hlbiB0aGUgd2lkdGgsCgkgIG9mZnNldCBwcm9wZXJ0aWVzIGFyZSBzZXQgdG8gbWF4aW11bSBpdCByZXN1bHRlZCBpbiBjcmFzaC4gSW5zdGVhZCBvZiB0aHJvd2luZwoJICBhbiBlcnJvciwgYWRkIGxvZ2ljIHRvIGRldGVjdCB0aGUgbWFyayBpbiBjYXNlIG9mIHBhcnRpYWwgdmlzaWJpbGl0eSBvciBkb24ndAoJICBzaG93IHRoZSBtYXJrIHdoZW4gaXQgaXMgb3V0c2lkZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzkwOAoKMjAxNS0wMy0yNCAxNToxNzoxNiArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGVuYWJsZSBDaGluZXNlIEFWUyB2aWRlbyBzdHJlYW0KCSAgQ2hpbmVzZSBicm9hZGNhc3RlciBlbmNhcHN1bGF0ZSBBVlMgdmlkZW8gY29kZWMgaW50byBNUEVHMi1UUy4gVGhleQoJICB1c2UgdGhlIHN0cmVhbV9pZCAweDQyIHRvIGlkZW50aWZ5IEFWUyB2aWRlbyBzdHJlYW1zLiBJdCBzaG91bGQgYmUgbm90ZWQKCSAgdGhhdCB0aGlzIGlkIGlzIGN1cnJlbnRseSB3aXRoaW4gdGhlIElTTyByZXNlcnZlZCByYW5nZSwgaGVuY2UgaXQncwoJICB1dGlsaXNhdGlvbiBpcyB1bm9mZmljaWFsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzMxCgoyMDE1LTA2LTAyIDE3OjI0OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHByb3ZpZGUgY29tcGF0aWJpbGl0eSBkZWZpbml0aW9uIGZvciBHTEVTMiBmb3IgR0xfUkdCQTgKCjIwMTUtMDYtMDIgMTY6MzI6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBjb25zb2xpZGF0ZSBpbnRlcm5hbF9yZ2JhX2Zvcm1hdCBpbnRvIGdsbWVtb3J5CgkgIEV4cG9zZSBzb21lIHVzZWZ1bCB2YWx1ZSBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgYXZhaWxhYmxlIGluCgkgIEdzdEdMTWVtb3J5LgoKMjAxNS0wNi0wMSAxOTo0MzoyMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFsd2F5cyBoYXZlICJjaGFubmVscyIgYmUgdGhlIGFjdHVhbCBwYWQgY291bnQKCSAgRG9uJ3QgZm9yY2UgaXQgYW55d2hlcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDI1MgoKMjAxNS0wNi0wMSAxOTo0Mjo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJICBhdWRpb2ludGVybGVhdmU6IFVzZSB0aGUgY2hhbm5lbCBjb3VudCBmcm9tIHRoZSBzZXQgY2FwcwoJICBUaGlzIGlzIHRoZSBzYW1lIG51bWJlciB0aGF0IHdhcyB1c2VkIHRvIGFsbG9jYXRlIHRoZSBidWZmZXIKCjIwMTUtMDYtMDEgMTg6NTA6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IHRoYXQgdGhlIGxhdGVuY3kgaXMgaW4gbnMKCjIwMTUtMDYtMDEgMjA6MDM6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbWM6IE9ubHkgbG93ZXIgcmFua3Mgb2YgT01YLkV4eW5vcy4gYXVkaW8gY29kZWNzLCB0aGUgdmlkZW8gY29kZWNzIGFyZSBhY3R1YWxseSB3b3JraW5nCgoyMDE1LTA2LTAxIDE5OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jOiBHaXZlIG1hcmdpbmFsIHJhbmsgdG8gY29kZWNzIHRoYXQgc3RhcnQgd2l0aCBPTVguRXh5bm9zLgoJICBPTVguRXh5bm9zLiBjb2RlY3MgYXJlIGV4aXN0aW5nIG9uIHNvbWUgZGV2aWNlcyBsaWtlIHRoZQoJICBHYWxheHkgUzUgbWluaSwgYW5kIGNhdXNlIHJhbmRvbSBjcmFzaGVzIChvZiB0aGUgZGV2aWNlLAoJICBub3QgdGhlIGFwcCEpIGFuZCBnZW5lcmFsbHkgbWlzYmVoYXZlLiBUaGF0IHNwZWNpZmljIGRldmljZQoJICBoYXMgb3RoZXIgY29kZWNzIHRoYXQgd29yayB3aXRoIGEgZGlmZmVyZW50IG5hbWUsIGJ1dCBsZXQncwoJICBqdXN0IGdpdmUgdGhlbSBtYXJnaW5hbCByYW5rIGluIGNhc2UgdGhlcmUgYXJlIGRldmljZXMgdGhhdAoJICBoYXZlIG5vIG90aGVyIGNvZGVjcyBhbmQgdGhlc2UgYXJlIGFjdHVhbGx5IHRoZSBvbmx5IHdvcmtpbmcKCSAgb25lcwoKMjAxNS0wNi0wMSAxOToyMzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogR2l2ZSBsb3dlciByYW5rcyB0byBjb2RlY3Mgbm90IHN0YXJ0aW5nIHdpdGggT01YLgoJICBPbiBzb21lIGRldmljZXMgdGhlcmUgYXJlIGNvZGVjcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiwgd2hpbGUKCSAgdGhlcmUgYXJlIGFsc28gc29tZSB0aGF0IGRvLiBBbmQgb24gc29tZSBvZiB0aGVzZSBkZXZpY2VzIHRoZSBvbmVzCgkgIHRoYXQgZG9uJ3Qgc3RhcnQgd2l0aCBPTVguIGp1c3QgY3Jhc2ggZHVyaW5nIGluaXRpYWxpemF0aW9uIHdoaWxlCgkgIHRoZSBvdGhlcnMgd29yay4gVG8gbWFrZSB0aGluZ3MgZXZlbiBtb3JlIGNvbXBsaWNhdGVkIG90aGVyIGRldmljZXMKCSAgaGF2ZSBjb2RlY3Mgd2l0aCB0aGUgc2FtZSBuYW1lIHRoYXQgd29yayBhbmQgbm8gYWx0ZXJuYXRpdmVzLgoJICBTbyBqdXN0IGdpdmUgYSBsb3dlciByYW5rIHRvIHRoZXNlIG5vbi1PTVggY29kZWNzIGFuZCBob3BlIHRoYXQKCSAgdGhlcmUncyBhbiBhbHRlcm5hdGl2ZSB3aXRoIGEgaGlnaGVyIHJhbmsuCgkgIEFsc28gc3RhZ2VmcmlnaHQgZ2l2ZXMgY29kZWNzIHN0YXJ0aW5nIHdpdGggT01YLiBhIGhpZ2hlciByYW5rIHRvbyBhbmQKCSAgY29uc2lkZXJzIG90aGVyIGNvZGVjcyB0aGF0IGRvbid0IHN0YXJ0IHdpdGggT01YLiBhcyBzb2Z0d2FyZSBjb2RlY3MuCgoyMDE1LTA2LTAxIDExOjEyOjIyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiB6YmFyOiBjaGVjayBmb3IgZnJhbWUgZmllbGQgb24gYXR0YWNoLWZyYW1lPXRydWUKCSAgQWxzbyBjaGVjayBmb3IgdGhlIHNhbXBsZSB0byBoYXZlIGEgYnVmZmVyIGFuZCBjYXBzCgkgIGFzc29jaWF0ZWQgd2l0aCBpdC4KCSAgUmVsYXRlZCB0bzoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzU1NwoKMjAxNS0wNS0yMCAxNTowNDo0MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogUmVxdWlyZSB3aWR0aCBhbmQgaGVpZ2h0IGZpZWxkIGZvciBIMjY0CgkgIFRoaXMgZGVjb2RlciBkb2VzIG5vdCB3b3JrIGlmIHdpZHRoIGFuZCBoZWlnaHQgZmllbGQgYXJlIG5vdCBzZXQKCSAgaW4gdGhlIHNpbmtwYWQgY2Fwcy4gTGV0J3MgbWFrZSB0aGlzIGV4cGxpY2l0IGJ5IGFkZGluZyB0aGVtIHRvCgkgIHRoZSB0ZW1wbGF0ZSBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjU1CgoyMDE1LTA2LTAxIDE0OjA3OjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5jOgoJICBnbGNvbnRleHRfZ3B1X3Byb2Nlc3M6IGNsb3NlIHRoZSB3aW5kb3cgd2hlbiBkb25lCgoyMDE1LTA2LTAxIDE0OjA1OjU4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsd2luZG93X2dwdV9wcm9jZXNzLmM6CgkgIGdsd2luZG93X2dwdV9wcm9jZXNzOiBhdm9pZCBlbXB0eSBzdHJ1Y3QKCjIwMTUtMDYtMDEgMTI6NTg6MTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsd2luZG93OiBtb3ZlIG1haW4gbG9vcC9jb250ZXh0IGNyZWF0aW9uIGJhY2sgdG8gaW5pdC9maW5hbGl6ZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMTk5CgoyMDE1LTA2LTAxIDE0OjA1OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJICBleGFtcGxlczogRml4IGdsIHVzYWdlIHdpdGhvdXQgd2F5bGFuZCBzdXBwb3J0CgkgIE5vdCBhbGwgcGxhdGZvcm1zIGhhdmUgd2F5bGFuZCBzdXBwb3J0LiBIYW5kbGUgdGhhdCBncmFjZWZ1bGx5IGF0CgkgIGNvbXBpbGUgdGltZQoKMjAxNS0wNi0wMSAxMzo1NToyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBJbml0aWFsaXplIEdzdE1hcEluZm8KCSAgQXZvaWRzIGRvaW5nIGEgY2FsbCB0byB1bm1hcCB3aXRoIGl0IHVuaW5pdGlhbGl6ZWQKCSAgQ0lEICMxMzAyODM0CgoyMDE1LTA2LTAxIDEyOjUxOjQ2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzYmdAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogY2xlYW4gZGVyZWZlcmVuY2VzIG9mIHByaXZhdGUgc3RydWN0dXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI4NzUKCjIwMTUtMDQtMjUgMjI6NTU6MjggKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogZml4IGtleWZyYW1lIHJlcXVlc3QgcmFjZSBjb25kaXRpb24KCSAgSXQgaXMgaW5jb3JyZWN0IHRvIG1vZGlmeSB0aGUgZnJhbWUgcHJvcGVydGllcyBhZnRlciBwYXNzaW5nIHRoZW0sIHNpbmNlCgkgIFZUQ29tcHJlc3Npb25TZXNzaW9uRW5jb2RlRnJhbWUgdGFrZXMgcmVmZXJlbmNlIGFuZCB3ZSBoYXZlIG5vIGNvbnRyb2wKCSAgb3ZlciB3aGVuIGl0J3MgYmVpbmcgdXNlZC4KCSAgSW4gZmFjdCwgdGhlIGNvZGUgY2FuIGJlIHNpbXBsaWZpZWQuIFdlIGp1c3QgcHJlYWxsb2NhdGUgdGhlIGZyYW1lCgkgIHByb3BlcnRpZXMgZm9yIGtleWZyYW1lIHJlcXVlc3RzLCBhbmQgcGFzcyBOVUxMIG90aGVyd2lzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ2NwoKMjAxNS0wNi0wMSAxMTo1NjoxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBtYWtlIHByaXZhdGUgYWxsIHZhcmlhYmxlIHN1YmNsYXNzZXMgZG9uJ3QgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTA1LTAxIDIzOjIwOjMwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogYWRkIGZyYW1lIHNhbXBsZSB0byBiYXJjb2RlIG1lc3NhZ2UKCSAgTmV3IGF0dGFjaC1mcmFtZSBwcm9wZXJ0eSBlbmFibGVzIGJhcmNvZGUgZnJhbWUKCSAgZHVtcGluZyB3aGVuIHNldCB0byB0cnVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTU3CgoyMDE1LTA1LTMxIDIxOjMwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgZ2w6IEZpeCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6MjQ2OjQxOiBlcnJvcjogdW51c2VkIHZhcmlhYmxlICdzdXJmYWNlX2xpc3RlbmVyJyBbLVdlcnJvciwtV3VudXNlZC1jb25zdC12YXJpYWJsZV0KCSAgc3RhdGljIGNvbnN0IHN0cnVjdCB3bF9zdXJmYWNlX2xpc3RlbmVyIHN1cmZhY2VfbGlzdGVuZXIgPSB7CgkgIF4KCjIwMTUtMDUtMjcgMjM6MzQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBDb25kaXRpb25hbGx5IHVzZSBnZXRfe2lucHV0LG91dHB1dH1fYnVmZmVyKCkgQW5kcm9pZCAyMSBBUElzCgkgIEFsc28gcHJvcGVybHkgc2V0IGxpbWl0L3Bvc2l0aW9uIG9uIGJ5dGUgYnVmZmVyLCBzb21lIGNvZGVjcyBwcmVmZXIgdG8gaGF2ZQoJICBjb3JyZWN0IHZhbHVlcyB0aGVyZS4KCjIwMTUtMDUtMzEgMTY6NTM6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogZml4IGNvbXBpbGVyIGVycm9yCgkgIGdzdGdsd2luZG93LmM6MTExODo1NDQ6IGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQgWy1XZXJyb3JdCgkgIGdfcmV0dXJuX2lmX2ZhaWwgKEdTVF9HTF9JU19XSU5ET1cgKHdpbmRvdykpOwoKMjAxNS0wNS0zMSAxNTo0Mjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGd0ayBleGFtcGxlcyBmb3IgZ2x1cGxvYWQKCjIwMTUtMDUtMzEgMTU6NDA6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZ3RrIGV4YW1wbGVzIGZvciB3YXlsYW5kCgoyMDE1LTA1LTI5IDE4OjA2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgc2V0dGluZyB0aGUgcmVuZGVyIHJlY3RhbmdsZQoJICBQbGFjZXMgb3VyIHN1YnN1cmZhY2UgYXQgdGhlIHJlY3RhbmdsZSBwcm92aWRlZCBwb3NpdGlvbgoKMjAxNS0wNS0yOSAxODowMzo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBoYW5kbGUgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUKCjIwMTUtMDUtMjkgMTg6MDE6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IGRvbid0IGJsb2NrIHRoZSBldmVudCBsb29wIGFmdGVyIHBvbGwKCSAgVXNlIHRoZSBkaXNwYXRjaF9wZW5kaW5nIHNldCBvZiBmdW5jdGlvbnMgd2hpY2gganVzdCBydW4gdGhlIGN1cnJlbnRseQoJICBxdWV1ZWQgdXAgZXZlbnRzIGluc3RlYWQgb2YgcG90ZW50aWFsbHkgd2FpdGluZyBmb3IgYW4gZXZlbnQgdG8gb2NjdXIuCgoyMDE1LTA1LTI3IDE2OjQyOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuaDoKCSAgdGVzdHMvZ2wvZ3RrOiBpbXBsZW1lbnQgc2V0dGluZyBhIHdheWxhbmQgZGlzcGxheS9zdXJmYWNlCgoyMDE1LTA1LTI3IDE2OjM5OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2xkaXNwbGF5X3dheWxhbmQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgZ2wvd2F5bGFuZDogaW1wbGVtZW50IGJhc2ljIHZpZGVvIG92ZXJsYXkgc3VwcG9ydCB2aWEgc3Vic3VyZmFjZXMKCSAgQ3VycmVudGx5IGRvZXMgbm90IHBvc2l0aW9uIHRoZSBzdWJzdXJmYWNlIHJlbGF0aXZlIHRvIHRoZSBwYXJlbnQgc3VyZmFjZSBhdCBhbGwKCjIwMTUtMDUtMjcgMTU6NDQ6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IGFsbG93IGEgTlVMTCB3bF9ldmVudF9xdWV1ZQoJICBwZXJmb3JtIG9wZXJhdGlvbnMgb24gdGhlIGRlZmF1bHQgd2xfZGlzcGxheSBldmVudCBxdWV1ZSBpbiB0aGF0IGNhc2UKCjIwMTUtMDUtMjcgMTU6NDM6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsL3V0aWxzOiBpbXBsZW1lbnQgd2F5bGFuZCBkaXNwbGF5IEdzdENvbnRleHQKCSAgcmVxdXJpZWQgZm9yIHNoYXJpbmcgR0wgY29udGV4dHMgb3Igc3Vic3VyZmFjZSBzdXBwb3J0CgoyMDE1LTA1LTIyIDE2OjA3OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC93YXlsYW5kX2V2ZW50X3NvdXJjZS5oOgoJICBnbC93YXlsYW5kOiBydW4gZWFjaCB3aW5kb3cgb24gYSBzZXBhcmF0ZSBxdWV1ZQoJICBCYXNlZCBvbiBwYXRjaCBieSBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTc0NwoKMjAxNS0wNS0zMCAwMjoxOToyNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IERvbid0IGxlYWsgdGVtcCBzdHJpbmdzIGluIF9SR0JfcGl4ZWxfb3JkZXIoKQoJICBGaXggYSBtZW1vcnkgbGVhayBvZiB0ZW1wb3Jhcnkgc3RyaW5ncyB3aGVuIGNvbXB1dGluZwoJICBzd2l6emxpbmcgb2YgUkdCIGZvcm1hdHMuCgoyMDE1LTA1LTMwIDAyOjI5OjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IEFkZCB0cmFuc2Zvcm1faW50ZXJuYWxfY2FwcygpIHZmdW5jCgkgIEFkZCBhIHZmdW5jIHRoYXQgaXMgY2FsbGVkIGJ5IGdsZmlsdGVyIGJlZm9yZSBpdCBzZXRzCgkgIGNhcHMgZmVhdHVyZXMgYW5kIGludGVyc2VjdHMgd2l0aCB0aGUgcGVlciBjYXBzLCBhbmQKCSAgbW92ZSByZW1vdmluZyB0aGUgc2l6ZSBmcm9tIGNhcHMgaW50byBpdHMgZGVmYXVsdAoJICBpbXBsZW1lbnRhdGlvbi4gQWxsb3dzIHN1Yi1jbGFzc2VzIHRvIGRvIG1vcmUKCSAgc29waGlzdGljYXRlZCBtYW5hZ2VtZW50IG9mIHRoZSBzaXplIGZpZWxkcyBpbiBjYXNlIHRoZXkKCSAgZG9uJ3Qgc3VwcG9ydCBhcmJpdHJhcnkgcmVzaXppbmcgb3IgaGF2ZSBkaXN0aW5jdAoJICBwcmVmZXJlbmNlcy4KCjIwMTUtMDUtMzAgMDI6MjM6NDQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBEb24ndCByZW1vdmUgc2l6ZSBmaWVsZHMgZnJvbSBjYXBzCgkgIEluc3RlYWQgb2YgcmVtb3Zpbmcgc2l6ZSBmaWVsZHMsIHNldCB0aGVtIHRvIHRoZSBmdWxsIHJhbmdlCgkgIGxpa2UgdmlkZW9zY2FsZSBkb2VzLCBzbyB0aGUgY2FwcyBhcmUgY2xlYXJseSB1bmZpeGVkIGluCgkgIGFsbCBjYXNlcy4KCjIwMTUtMDUtMTAgMTg6NTU6MTYgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIHZpZGVvYWdncmVnYXRvcjogQWRkIGNsYXNzIHByb3BlcnR5IHRvIGRpc2FibGUgY2FwcyBzY2FsaW5nCgkgIEFkZCBwcmVzZXJ2ZV91cGRhdGVfY2Fwc19yZXN1bHQgYm9vbGVhbiBvbiB0aGUgY2xhc3MgdG8gYWxsb3cKCSAgc3ViLWNsYXNzZXMgdG8gZGlzYWJsZSB2aWRlb2FnZ3JlZ2F0b3IgcmVtb3Zpbmcgc2l6ZXMgYW5kIGZyYW1lcmF0ZQoJICBmcm9tIHRoZSB1cGRhdGVfY2FwcygpIHJldHVybiByZXN1bHQuCgoyMDE1LTA1LTA0IDE4OjE3OjIxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDYXRjaCBlcnJvcnMsIGFuZCBhbGxvdyBzdWItY2xhc3MgdG8gcmV0dXJuIE5VTEwgZnJvbSBnZXRfb3V0cHV0X2J1ZmZlcigpCgkgIEEgcmV0dXJuIHZhbHVlIG9mIEdTVF9GTE9XX09LIHdpdGggYSBOVUxMIGJ1ZmZlciBmcm9tIGdldF9vdXRwdXRfYnVmZmVyKCkKCSAgbWVhbnMgdGhlIHN1Yi1jbGFzcyBkb2Vzbid0IHdhbnQgdG8gcHJvZHVjZSBhbiBvdXRwdXQgYnVmZmVyLCBzbwoJICBza2lwIGl0LgoJICBJZiBnc3RfdmlkZW9hZ2dyZWdhdG9yX2RvX2FnZ3JlZ2F0ZSgpIGdlbmVyYXRlcyBhbiBlcnJvciwgbWFrZSBzdXJlCgkgIHRvIHByb3BhZ2F0ZSBpdCAtIGRvbid0IGp1c3QgaWdub3JlIGFuZCBkaXNjYXJkIHRoZSBlcnJvciBieQoJICBvdmVyLXdyaXRpbmcgaXQgd2l0aCB0aGUgZ3N0X3BhZF9wdXNoKCkgcmVzdWx0LgoKMjAxNS0wNS0yOSAxNjowMjozMSArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8dml2aWFAdG9vbHNvbmFpci5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJICBydG1wc2luazogRG8gbm90IGNyYXNoIHdoZW4gcmVjZWl2aW5nIGJ1ZmZlcnMgYWZ0ZXIgR1NUX0ZMT1dfRVJST1IKCSAgSWYgdGhlIFJUTVAgVVJJIGlzIGludmFsaWQsIHRoZSBydG1wc2luayB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgSWYgaXQgc3RpbGwgcmVjZWl2ZXMgYnVmZmVycyBhZnRlciB0aGF0LCBpdCBzaG91bGRuJ3QgY3Jhc2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAxMDQKCjIwMTUtMDUtMjkgMDk6MDE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGF2b2lkIGFzc2VydGlvbiB3aGVuIHNwbGl0dGluZyBidWZmZXIKCSAgUGFzcyBzaXplPS0xIGFzIGlzIGlmIHRoYXQgaXMgdGhlIGNhc2UgaW5zdGVhZCBvZiBzdWJ0cmFjdGluZwoJICB0aGUgb2Zmc2V0LiBPdGhlcndpc2Ugd2UgaGF2ZSBhbiBpbnZhbGlkIHNpemUgcGFzc2VkIGZvciB0aGF0CgkgIGJ1ZmZlci4KCjIwMTUtMDUtMjggMTU6NTk6MDIgKzAyMDAgIFNhbnRpYWdvIENhcm90LU5lbWVzaW8gPHNhbmNhbmVAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsc3NydHBkZWM6IFJlbGVhc2UgcmVxdWVzdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc1MDAzNgoKMjAxNS0wNS0yOCAxNTo1NzoxMCArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkgIGR0bHNkZWM6IFJlbW92ZSB1bm5lY2Vzc2FyeSByZWYvdW5yZWYgb3BlcmF0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE1OjU1OjAzICswMjAwICBTYW50aWFnbyBDYXJvdC1OZW1lc2lvIDxzYW5jYW5lQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IHJlbGVhc2UgcmVxdWVzdCBwYWQgZnVuY3Rpb24KCSAgRG9uJ3QgdW5yZWYgdGhlIHBhZCByZWZlcmVuY2Ugd2UgZG9uJ3Qgb3duIGFuZCBqdXN0IHJlbW92ZSB0aGUgcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzUwMDM2CgoyMDE1LTA1LTI4IDE0OjMwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBTZWFyY2ggbW9yZSB3aGVuIGFkdmFuY2luZyBmcmFnbWVudAoJICBJbiBsaXZlIHNpdHVhdGlvbnMsIGl0IGlzIG5vdCB1bmNvbW1vbiBmb3IgdGhlIGN1cnJlbnQgZnJhZ21lbnQgdG8gZW5kCgkgIHVwIG91dCBvZiB0aGUgKHVwZGF0ZWQpIHBsYXkgcmFuZ2UgKGxvd2VzdC9oaWdoZXN0IHNlcXVlbmNlKS4gQnV0IHRoZSBuZXh0CgkgIGZyYWdtZW50IHRvIHBsYXkgKmlzKiBwcmVzZW50IGluIHRoZSBwbGF5IHJhbmdlLgoJICBXaGVuIGFkdmFuY2luZywgaWYgd2UgY2FuJ3QgZmluZCB0aGUgY3VycmVudCBHc3RNM1U4TWVkaWFGaWxlLCBkb24ndCBhYm9ydAoJICBzdHJhaWdodCBhd2F5LiBJbnN0ZWFkLCBsb29rIGlmIGEgR3N0TTNVOE1lZGlhRmlsZSB3aXRoIHRoZSBuZXh0IHNlcXVlbmNlIHZhbHVlCgkgIGlzIHByZXNlbnQsIGFuZCBpZiBzbyBzd2l0Y2ggdG8gaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NTAwMjgKCjIwMTUtMDUtMjcgMTA6NTg6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dwdXByb2Nlc3MvZ3N0Z2xjb250ZXh0X2dwdV9wcm9jZXNzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9ncHVwcm9jZXNzL2dzdGdsY29udGV4dF9ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3B1cHJvY2Vzcy9nc3RnbHdpbmRvd19ncHVfcHJvY2Vzcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBhZGQgR3N0R0xDb250ZXh0R1BVUHJvY2VzcyBiYWNrZW5kCgkgIEl0IGJ1aWxkcyBpdHMgR0wgdnRhYmxlIGZyb20gYSBwcm9jIGFkZHJlc3MgcHJvdmlkZWQKCSAgYnkgdGhlIGFwcGxpY2F0aW9uLgoKMjAxNS0wNS0yNyAxNjoyODozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2dsZXMyY29tcGF0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBhbmQgdXNlIGdzdF9nbF9pbnRlcm5hbF9mb3JtYXRfcmdiYQoJICBQcmV2aW91c2x5IHdoZW4gY29tcGlsaW5nIEdzdEdMIHdpdGggYm90aCBHTCBhbmQgR0xFUzIsCgkgIEdMX1JHQkE4IHdhcyBwaWNrZWQgZnJvbSBHTC9nbC5oLiBCdXQgYSBjbGFzaCBtYXkgaGFwcGVuIGF0CgkgIHJ1bnRpbWUgd2hlbiBvbmUgaXMgc2VsZWN0aW5nIEdMRVMyLgoJICBnc3RfZ2xfaW50ZXJuYWxfZm9ybWF0X3JnYmEgYWxsb3dzIHRvIGNoZWNrIGF0IHJ1bnRpbWUKCSAgaWYgaXQgc2hvdWxkIHVzZSBHTF9SR0JBIG9yIEdMX1JHQkE4LgoKMjAxNS0wNS0yNyAxNDoxMDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2x3aW5kb3dfeDExOiB1c2UgcGFyZW50IGRlZmF1bHQgaW1wbGVtZW50YXRpb24KCjIwMTUtMDUtMjcgMTE6MTY6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsY29udGV4dF9nbHg6IHJlbmFtZSB2YXJpYWJsZSBmcm9tIHdpbmRvdyB0byBjb250ZXh0CgoyMDE1LTA1LTI3IDExOjExOjU1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogaW5pdGlhbGl6ZSBkZWJ1ZyBpbiBjbGFzc19pbml0CgkgIFVzZWZ1bCBpZiBvbmUgdXNlcyBnc3RfZ2xfd2luZG93X3gxMV9uZXcgZGlyZWN0bHkKCSAgaW5zdGVhZCBvZiBnc3RfZ2xfd2luZG93X25ldy4KCjIwMTUtMDUtMjcgMTE6MDc6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGluaXRpYWxpemUgZGVidWcgaW4gY2xhc3NfaW5pdAoJICBVc2VmdWwgaWYgb25lIHVzZXMgZ3N0X2dsX2NvbnRleHRfZWdsX25ldyBkaXJlY3RseQoJICBpbnN0ZWFkIG9mIGdzdF9nbF9jb250ZXh0X25ldy4KCjIwMTUtMDUtMjcgMTA6NTU6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIGdzdF9nbF9jb250ZXh0X3NldF9kaXNwbGF5IGhlbHBlcgoKMjAxNS0wNS0yNyAxNToyNTo0MCArMDEwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsY29udGV4dDogYWRkIG1pc3NpbmcgX0NBU1QgYWZ0ZXIgR19UWVBFX0NIRUNLX0NMQVNTCgoyMDE1LTA1LTI3IDEwOjUxOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbHdpbmRvdzogYWRkIG1pc3NpbmcgX0NBU1QgYWZ0ZXIgR19UWVBFX0NIRUNLX0NMQVNTCgoyMDE1LTA1LTI2IDE4OjM4OjM5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogcHJvdmlkZXMgc29tZSBkZWZhdWx0IGltcGxlbWVudGF0aW9ucyB0byBmYWN0b3JpemUgd2l0aCBhbGwgYmFja2VuZHMKCjIwMTUtMDUtMjggMDA6NTk6MzkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQdXNoIEVPUyBvbiBlcnJvciByZXR1cm4uCgkgIEJlZm9yZSBzaHV0dGluZyBkb3duIHRoZSBzcmNwYWQgdGFzayBkdWUgdG8gYQoJICBkb3duc3RyZWFtIGVycm9yLCBwdXNoIGFuIEVPUyB0byBnaXZlIGRvd25zdHJlYW0KCSAgYSBjaGFuY2UgdG8gc2h1dCBkb3duIHNvbWV3aGF0IGNsZWFubHkuCgoyMDE1LTA1LTI3IDEzOjEyOjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkb24ndCBvdmVyd3JpdGUgdmFsdWUKCSAgVmFsdWUgb2YgcmVzIGlzIHJlc2V0IHRvIEZBTFNFIGluIGVhY2ggaXRlcmF0aW9uIG9mIHRoZSB3aGlsZSBsb29wLiBXZSB3YW50IHRvCgkgIGNvbnNlcnZlIFRSVUUgaWYgYW55IHBhZCBldmVudCBzdWNjZWVkZWQgdW50aWwgd2UgYXJyaXZlIHRvIGRvbmUuCgkgIEFsc28sIGJ1ZiBpcyBzZXQgdG8gdGhlIHZhbHVlIG9mICpvdXRidWYgdHdpY2UuIFJlbW92aW5nIHRoZSBmaXJzdCBhc3NpZ25tZW50CgkgIHNpbmNlIHRoZSBzZWNvbmQgb25lIGlzIG91dHNpZGUgb2YgYSBjb25kaXRpb25hbC4KCjIwMTUtMDUtMjcgMTM6MDg6NDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSAgb3BlbmN2OiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9ucwoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3BzLgoKMjAxNS0wNS0yNyAxMzowNToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiAnZm9yJyBsb29wIGluaXRpYWwgZGVjbGFyYXRpb24KCSAgJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9ucyBhcmUgbm90IGFsbG93ZWQgaW4gQzg5LCBtb3ZpbmcgdGhlIGRlY2xhcmF0aW9ucwoJICB0byBiZWZvcmUgdGhlICdmb3InIGxvb3BzLgoKMjAxNS0wNS0yNyAxMjowMzo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSB1bnVzZWQgdmFsdWUKCSAgVGhlIGRhdGEgdmFyaWFibGUgaXMgaW5jcmVtZW50ZWQgYnV0IG5ldmVyIHJlYWQgYWdhaW4uIFJlbW92ZSB0aGUgdW51c2VkIHZhbHVlCgkgIGFzc2lnbm1lbnQuCgoyMDE1LTA1LTI3IDA2OjE3OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHJlbW92ZSBtb3JlIHVudXNlZCBhdHRyaWJ1dGVzCgkgIFRob3NlIGFyZSBub3QgdXNlZCBvciBvbmx5IHJlYWQKCjIwMTUtMDUtMjcgMDU6MzU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUKCSAgSXQgaXMgbmV2ZXIgcmVhZCBmb3IgYW55dGhpbmcgdXNlZnVsCgoyMDE1LTA1LTI2IDE2OjQ3OjQ3IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZml4IGEgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5ODQ2CgoyMDE1LTA1LTI2IDE1OjEwOjI4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogcHJvcGVybHkgaGFuZGxlIGVycm9ycyB3aGlsZSBsb2FkaW5nIGZpbGUKCSAgUG9zdCBhbiBlcnJvciBvbiB0aGUgYnVzIGlmIGFueXRoaW5nIGJhZCBoYXBwZW5zIHdoaWxlIHJlYWRpbmcKCSAgYW5kIHBhcnNpbmcgdGhlIGltYWdlIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MDQ6MzQgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBnbG92ZXJsYXk6IHJlbW92ZSB1bnVzZWQgdHlwZV9maWxlIGZpZWxkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4NDYKCjIwMTUtMDUtMjYgMTU6MDE6MzcgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBmcm9tIGZpbHRlciBhbmQgZmlsdGVyX3RleHR1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTg0NgoKMjAxNS0wNS0yNiAxNjozOTo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHVudXNlZCBhc3NpZ25tZW50CgkgIGJ1ZiBpcyBpbmNyZW1lbnRlZCBqdXN0IGJlZm9yZSByZXR1cm5pbmcsIHRoaXMgbmV3IHZhbHVlIGlzIG5ldmVyIHVzZWQuCgkgIFJlbW92aW5nIHVudXNlZCBhc3NpZ25tZW50LgoKMjAxNS0wNS0yNiAxNToyNDo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogJ2ZvcicgbG9vcCBpbml0aWFsIGRlY2xhcmF0aW9uCgkgICdmb3InIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDODksIG1vdmluZyB0aGUgZGVjbGFyYXRpb24KCSAgdG8gYmVmb3JlIHRoZSAnZm9yJyBsb29wLgoKMjAxNS0wNS0yNiAxNDoxNDozNCArMDEwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBleGNsdXNpb246IGV4Y2VwdGlvbiB3aGVuIHNldCBmYWN0b3IgdG8gMAoJICBXaGVuIGZhY3RvciBwcm9wZXJ0eSBpcyBzZXQgdG8gMCwgdHJhbnNmb3JtIGp1c3QgcmV0dXJucy4KCSAgQWRqdXN0IHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM5MDcKCjIwMTUtMDUtMjYgMTI6NDc6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBwcm9wZXJseSBpbml0aWFsaXplIHRoZSBzaGFkZXJzIGFjcm9zcyBjb250ZXh0cyBpbXBsZW1lbnRpbmcgbXVsdGlwbGUgQVBJJ3MKCjIwMTUtMDUtMjYgMTI6NDQ6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgZ2xlZmZlY3RzX2xhcGxhY2lhbjogZml4IHNoYWRlciBjb21waWxhdGlvbiBpbiBnbDMvZ2xlczIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM5MwoKMjAxNS0wNS0yNSAxMjozMzo1MCArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuaDoKCSAgY3VybHNpbms6IGhhbmRsZSBzb2NrZXQgY2FsbGJhY2sgZm9yIGFjdGl2ZSBGVFAgY29ubmVjdGlvbnMgYXMgd2VsbAoJICBTaW5jZSB2ZXJzaW9uIDcuMjguMCwgbGliY3VybCBhbGxvd3MgYXBwbGljYXRpb24gdG8gc2V0CgkgIHNvY2tldCBvcHRpb25zIGZvciBhY3RpdmUgRlRQIGNvbm5lY3Rpb25zLgoJICBCdW1wIGxpYmN1cmwgcmVxdWlyZW1lbnQgdG8gdmVyc2lvbiB0ZXN0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4MTUKCjIwMTUtMDUtMjAgMTI6MDg6MzggKzAxMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBzZWdmYXVsdCBpbnRyb2R1Y2VkIGJ5IHNlZ21lbnQgaXRlcmF0aW9uIHJlZmFjdG9yaW5nICgyMTA1YTMxMCkuCgkgIFRoZSBmdW5jdGlvbnMgdG8gZ2V0IHRoZSBuZXh0IGZyYWdtZW50LCBuZXh0IGZyYWdtZW50IHRpbWVzdGFtcCBhbmQgdG8gYWR2YW5jZQoJICB0byB0aGUgbmV4dCBmcmFnbWVudCBuZWVkIHRvIHdvcmsgZGlmZmVyZW50bHkgd2hlbiBzdHJlYW0tPnNlZ21lbnRzIGlzIE5VTEwuCgkgIFVzZSBsb2dpYyBzaW1pbGFyIHRvIHRoYXQgaW50cm9kdWNlZCBieSBjb21taXQgMjEwNWEzMTAgdG8gcGVyZm9ybSB0aGVzZQoJICBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2ODQKCjIwMTUtMDUtMTggMjI6MzM6NTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiB1c2Ugc2lnbmVkIGludGVnZXQgdG8gcmVwcmVzZW50IHNlZ21lbnQgaW5kZXgKCSAgV2UgbmVlZCB0byBiZSBhYmxlIHRvIHJlcHJlc2VudCAtMSB0byBjaGVjayB3aGVuIHdlIGFyZSBFT1MKCSAgb24gcmV2ZXJzZSBwbGF5YmFjayBhbmQgdW5zaWduZWQgaW50ZWdlciB3b24ndCBhbGxvdyB0aGF0LgoJICBDSUQgIzEyOTgxOTMKCSAgQ0lEICMxMjk4MTk0CgkgIENJRCAjMTI5ODE5NQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTM0CgoyMDE1LTA1LTI1IDEwOjMwOjU1ICswOTAwICBTdWh3YW5nIEtpbSA8c3Vod2FuZy5raW1AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBvdXRkYXRlZCBleGFtcGxlIGxhdW5jaCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk4MDkKCjIwMTUtMDUtMjIgMTM6MTI6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkgIGdsL3dheWxhbmQ6IHJlbW92ZSBkZWFkIGV2ZW50IHNvdXJjZSBjb2RlCgoyMDE1LTA1LTIxIDE3OjQ4OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbGRpc3BsYXlfd2F5bGFuZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBnbC93YXlsYW5kOiBhZGQgR3N0R0xEaXNwbGF5V2F5bGFuZAoJICBTaW1wbGUgaW1wbGVtZW50YXRpb24gc3BsaXQgZnJvbSBHc3RHTFdpbmRvd1dheWxhbmQKCSAgQ2FuIG5vdyBoYXZlIG11bHRpcGxlIGdsaW1hZ2VzaW5rIGVsZW1lbnRzIGFsbCBkaXNwbGF5aW5nIG91dHB1dAoJICBsaW5rZWQgdmlhIEdMIG9yIG90aGVyd2lzZSAoYmFycmluZyBHTCBwbGF0Zm9ybSBsaW1pdGF0aW9ucykuCgkgIFRoZSBpbnRlbCBkcml2ZXIgaXMgcmFjeSBhbmQgY2FuIGNyYXNoIHNldHRpbmcgdXAgdGhlIHR3byBnbGltYWdlc2luayBjb250ZXh0cy4KCSAgZS5nLgoJICB2aWRlb3Rlc3RzcmMgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbHVwbG9hZCAhIGdsaW1hZ2VzaW5rZWxlbWVudAoJICB0LiAhIHF1ZXVlICEgZ2xlZmZlY3RzX2JsdXIgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdmlkZW90ZXN0c3JjICEgZ2x1cGxvYWQgISBnbGZpbHRlcmN1YmUgISB0ZWUgbmFtZT10ICEgcXVldWUgISBnbGltYWdlc2lua2VsZW1lbnQKCSAgdC4gISBxdWV1ZSAhIGdsZWZmZWN0c19ibHVyICEgZ2xpbWFnZXNpbmtlbGVtZW50CgoyMDE1LTA1LTI1IDE3OjI3OjU4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggRHJhd0VsZW1lbnRzIGNhbGwgZm9yIGVsZW1lbnQgYXJyYXkgYnVmZmVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NzM0CgoyMDE1LTA1LTIzIDAxOjAwOjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IHByb3ZpZGUgdGhlIGV4YWN0IEdMIGFwaSB2ZXJzaW9uIGZvciB0aGUgd3JhcHBlZCBjb250ZXh0CgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBlbmQgdXAgYmVpbmcgbWlzdGFrZW4gZm9yIHRoZSBkaWZlcmVuY2UgYmV0d2VlbiBhCgkgIGdsMyBhbmQgYSBnbDIgY29udGV4dCByZXN1bHRpbmcgaW4gYSBmYWlsdXJlIGdldHRpbmcgdGhlIGxpc3Qgb2YKCSAgZXh0ZW5zaW9ucyBmcm9tIHRoZSB3cmFwcGVkIGNvbnRleHQgZHVlIHRvIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4KCSAgZ2xHZXRTdHJpbmcgYW5kIGdsR2V0U3RyaW5naSBmb3IgdGhlIEdMX0VYVEVOU0lPTlMgdG9rZW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk3MjgKCjIwMTUtMDUtMjIgMDI6NDA6MzcgKzA5MDAgIEppbW15IE9obiA8eW9uZ2ppbi5vaG5AbGdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTY5MQoKMjAxNS0wNS0yMSAxNTozMDozNCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogZG8gbm90IGNhbGwgU2V0UGFyZW50IGluIHJlbGVhc2VfcGFyZW50X3dpbl9pZCgpCgkgIFdoZW4gY2FsbGVkIGZyb20gZ3N0X2dsX3dpbmRvd193aW4zMl9jbG9zZSgpLCBpbnRlcm5hbCB3aW5kb3cKCSAgY291bGQgbm90IGV4aXN0LCBhbmQgaWYgaXQgZG9lcyBpdCdzIGdvaW5nIHRvIGJlIGRlc3Ryb3llZCBqdXN0CgkgIGFmdGVyIHRoYXQgYW55d2F5LiBBbHNvIGl0IGNhdXNlcyB3aW5kb3dfcHJvYygpIHRvIGJlIGNhbGxlZAoJICBhbmQgY3Jhc2ggYmVjYXVzZSBpdCBnZXRzIGEgTlVMTCBjb250ZXh0LgoJICBXaGVuIGNhbGxlZCBmcm9tIGdzdF9nbF93aW5kb3dfd2luMzJfc2V0X3dpbmRvd19oYW5kbGUoKSB3ZSBhcmUKCSAgZ29pbmcgdG8gc2V0IGFub3RoZXIgcGFyZW50IGFueXdheSwgYW5kIGl0J3MgcHJvYmFibHkgYmV0dGVyIHRvCgkgIHJlcGFyZW50IGRpcmVjdGx5IGluc3RlYWQgb2YgcGFzc2luZyBieSBhIE5VTEwgcGFyZW50IHdoaWNoIGNvdWxkCgkgIGNhdXNlIHRoZSBpbnRlcm5hbCB3aW5kb3cgdG8gcG9wdXAgYnJpZWZseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMSAxNTozMDowMCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsOiB3aW4zMjogcmVtb3ZlIHVudXNlZCBjb2RlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk2MDEKCjIwMTUtMDUtMjAgMTc6MDk6MjEgLTA0MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbDogd2luMzI6IGZpeCBjcmFzaCB3aGVuIGZpbmFsaXppbmcgR3N0R0xDb250ZXh0CgkgIGdzdF9nbF9jb250ZXh0X2ZpbmFsaXplKCkgaXMgY2FsbGluZyBnc3RfZ2xfd2luZG93X3dpbjMyX3F1aXQoKQoJICB3aGljaCB3YXMgcG9zdGluZyBhIG1lc3NhZ2UuIEJ1dCB0aGVuIHdpbmRvd19wcm9jIHRha2VzIHdpbmRvdydzCgkgIGNvbnRleHQgYW5kIGdldCBhIE5VTEwuCgkgIE5vdyB0aGF0IHdlJ3ZlIGdvdCBhIEdNYWluTG9vcCB3ZSBjYW4gZG8gbGlrZSBvdGhlciBiYWNrZW5kcyBhbmQKCSAgc2ltcGx5IGNhbGwgZ19tYWluX2xvb3BfcXVpdCgpLgoJICBUaGlzIGFsc28gcmVtb3ZlIGR1cGxpY2F0ZWQgY29kZSB0byByZWxlYXNlIHRoZSBwYXJlbnQgd2luZG93IGFuZAoJICBwb3RlbnRpYWwgY3Jhc2ggdGhlcmUgYmVjYXVzZSBwYXJlbnRfcHJvYyBjb3VsZCBiZSBOVUxMIGlmIHdlIG5ldmVyCgkgIGNyZWF0ZWQgdGhlIGludGVybmFsIHdpbmRvdy4gVGhhdCBjb3VsZCBoYXBwZW4gZm9yIGV4YW1wbGUgaWYgc2V0dGluZwoJICBzdGF0ZSB0byBSRUFEWSB0aGVuIHNldHRpbmcgYSB3aW5kb3dfaGFuZGxlLCBhbmQgZ28gYmFjayB0byBOVUxMIHN0YXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE3OjA2OjQyIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBGaXggbGVha2VkIEdzdEdMQ29udGV4dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NjAxCgoyMDE1LTA1LTIwIDE1OjMwOjQ5IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgZ2w6IHdpbjMyOiBzZXQgdGhlIHBhcmVudCB3aW5kb3cgd2hlbiBjcmVhdGluZyBpbnRlcm5hbCB3aW5kb3cKCSAgV2hlbiBfc2V0X3dpbmRvd19oYW5kbGUoKSB3YXMgY2FsbGVkIGluIFJFQURZIHN0YXRlLCBpdCB3YXNuJ3QKCSAgc2V0IHRvIHRoZSBpbnRlcm5hbCB3aW5kb3cgY3JlYXRlZCBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMCAxNToyOTo1MCAtMDQwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi93aW4zMl9tZXNzYWdlX3NvdXJjZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvd2luMzJfbWVzc2FnZV9zb3VyY2UuaDoKCSAgZ2w6IHdpbjMyOiB1c2UgYSBHTWFpbkNvbnRleHQgdG8gZGlzcGF0Y2ggd2luMzIgbWVzc2FnZXMKCSAgZ3N0X2dsX3dpbmRvd193aW4zMl9zZW5kX21lc3NhZ2VfYXN5bmMoKSBjb3VsZCBiZSBjYWxsZWQgYmVmb3JlIHRoZQoJICBpbnRlcm5hbCB3aW5kb3cgaXMgY3JlYXRlZCBzbyB3ZSBjYW5ub3QgdXNlIFBvc3RNZXNzYWdlIHRoZXJlLgoJICB4MTEgYW5kIHdheWxhbmQgYmFja2VuZHMgYm90aCBjcmVhdGUgYSBjdXN0b20gR1NvdXJjZSBmb3IgdGhpcywKCSAgc28gdGhlcmUgaXMgbm8gcmVhc29uIHRvIG5vdCBkbyB0aGF0IGZvciB3aW4zMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYwMQoKMjAxNS0wNS0yMiAwMDoyNzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IERvbid0IGxlYWsgYWxsIG1lbW9yeSB1cGxvYWRlZCB2aWEgcmF3IHVwbG9hZHMuCgkgIFJlbW92ZSBhbiBleHRyYSByZWYgbWlzc2VkIHdoZW4gc3dpdGNoaW5nIG92ZXIgdG8gbm90CgkgIHJldXNpbmcgb3V0cHV0IHRleHR1cmVzCgoyMDE1LTA1LTIxIDE2OjI0OjQ4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3IvZ2x2aWRlb21peGVyOiBEb24ndCBjYWxjdWxhdGUgUEFSL0RBUiB3aXRoIHVuc2V0IEdzdFZpZGVvSW5mb3MKCSAgT3RoZXJ3aXNlIHdlIGRpdmlkZSBieSB6ZXJvLgoKMjAxNS0wNS0yMSAxNjoxOTowOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRml4IGRvdWJsZSBhc3NpZ25tZW50CgoyMDE1LTA1LTIxIDE1OjA1OjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcmVxdWlyZSBhIHNoYWRlciB2ZXJzaW9uIHRvIGluaXRpYWxpemUuCgkgIEl0J3MgdmVyeSBuZWFyIHBvaW50bGVzcyB0byB0cnkgb3VyIEdMIGltcGxlbWVudGF0aW9uIHdpdGhvdXQgc2hhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTI4NAoKMjAxNS0wNS0yMCAwMjozODo1MyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJICBGaXggZmxhZ3Mgb3JkZXIgaW4gR0wgZXhhbXBsZXMgZm9yIHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE1LTA1LTIwIDAxOjU3OjUyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgIHdhc2FwaTogRml4IGZsYWdzIG9yZGVyIGZvciB1bmluc3RhbGxlZCBidWlsZAoKMjAxNS0wNS0yMSAwMDo1NjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3IvZ2x2aWRlb21peGVyOiBmaXggdXAgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgdXNpbmcgdGhlIHdyb25nIGZvcm11bGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTYzNAoKMjAxNS0wNC0xNyAxNTozNjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQ29uc2lkZXIgU0VJIE5BTFUgYXMgIkhFQURFUiIgcGFja2V0cwoJICBMaWtlIFNQUy9QUFMgdGhleSBkbyBjb250YWluIGluZm9ybWF0aW9uIHdoaWNoIHdpbGwgYmUgbmVlZGVkIHRvCgkgIGRlY29kZSB0aGUgZm9sbG93aW5nIGRhdGEgKGFzIHBlciBkZWZpbml0aW9uIG9mIHRoZSBmbGFnKQoJICBBbHNvIGVuc3VyZXMgdGhhdCB0aGUgc2VyaWVzIG9mIFNQUy9QUFMvU0VJIE5BTFUgYmVmb3JlIGEga2V5ZnJhbWUKCSAgY2FuIGJlIGNvbnNpZGVyZWQgYXMgb25lIGNvbnRpZ3VvdXMgaGVhZGVyCgoyMDE1LTA0LTE3IDE1OjM1OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBDYXJyeSBvdmVyIEdTVF9CVUZGRVJfRkxBR19IRUFERVIKCSAgSW4gdGhlIHNhbWUgd2F5IHdlIGRvIGl0IGZvciB0aGUgREVMVEFfVU5JVCBmbGFnCgkgIFRoaXMgYWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgdG8ga25vdyB3aGV0aGVyIGEgZ2l2ZW4gbXBlZy10cwoJICBwYWNrZXQgY29udGFpbnMgYSBjb3JyZXNwb25kaW5nIEhFQURFUiBlbGVtZW50YXJ5IHVuaXQKCjIwMTUtMDUtMjAgMTI6MTE6MzEgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBPbmx5IGNvcHkgVlBTL1NQUy9QUFMgTkFMIHVuaXRzIGluIGhlYWRlciBidWZmZXIKCSAgUHJldmlvdXNseSB0aGUgVlBTIHVuaXQgd2FzIGRldGVjdGVkIGFuZCBhbGwgbmV4dCBwYWNrZXRzIHdoZXJlIGNvcGllZAoJICBpbnRvIHRoZSBoZWFkZXIgYnVmZmVyIGFzc3VtaW5nIG9ubHkgU1BTIGFuZCBQUFMgd291bGQgZm9sbG93LiAgVGhpcyBpcwoJICBub3QgYWx3YXlzIHRydWUsIGFsc28gb3RoZXIgdHlwZXMgb2YgTkFMIHVuaXRzIGZvbGxvdyB0aGUgVlBTIHVuaXQgYW5kCgkgIHdoZXJlIGNvcGllZCB0byB0aGUgaGVhZGVyIGJ1ZmZlci4gTm93IHRoZSBWUFMvU1BTL1BQUyBhcmUgZXhwbGljaXRlbHkKCSAgZGV0ZWN0ZWQgYW5kIGNvcGllZCBpbiB0aGUgaGVhZGVyIGJ1ZmZlci4KCjIwMTUtMDUtMjAgMTE6Mjc6MjUgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJICB4MjY1ZW5jOiBGaXggdHVuZSBwYXJhbWV0ZXIgbWlzbWF0Y2gKCSAgVGhlcmUgd2FzIGEgbWlzbWF0Y2ggYmV0d2VlbiB0aGUgdHVuZSBwYXJhbWV0ZXIgaW4geDI2NSBhbmQgdGhlIGVudW0KCSAgdXNlZCBpbiB0aGlzIGVsZW1lbnQuIFRoZSB2YWx1ZSBpbiB0aGUgZW51bSBpcyB0aGUgeDI2NSB0dW5lCgkgIHBhcmFtZXRlciArIDEuCgoyMDE1LTA1LTE5IDE4OjAyOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBBZGQgYW4gb3V0cHV0IGFkYXB0ZXIgZm9yIGNodW5raW5nIHRoZSBvdXRwdXQgaW50byBjb2RlYyBmcmFtZXMKCSAgT3RoZXJ3aXNlIHRoZSBiYXNlIGNsYXNzIHdpbGwgYmUgY29uZnVzZWQuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NzMwCgoyMDE1LTA1LTE5IDEwOjQzOjI4IC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2w6IGZpeCBjcmFzaCBvbiB3aW5kb3dzIHdpdGggaW50ZWwgZHJpdmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk0MzAKCjIwMTUtMDUtMjAgMDA6NTA6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogc3RhdGljIGNvbnN0IHRoZSBpbmRpY2VzIGFycmF5CgkgIHRoZSBjb250ZW50cyB3aWxsIG5ldmVyIGNoYW5nZSBhbnl3YXkuCgoyMDE1LTA1LTIwIDAwOjI4OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkgIGNhb3BlbmdsbGF5ZXJzaW5rOiBjb3JyZWN0bHkgdXNlIHRoZSBzeW5jIG1ldGEgYWNyb3NzIG11bHRpcGxlIGNvbnRleHRzCgkgIDEuIFNldCB0aGUgc3luYyBwb2ludCBhZnRlciB0aGUgKHBvc3NpYmxlKSB1cGxvYWQgaGFzIG9jY3VyZWQKCSAgMi4gV2FpdCBpbiB0aGUgY29ycmVjdCBHTCBjb250ZXh0ICh0aGUgZHJhdyBjb250ZXh0KQoJICBOb3RlOiBXZSBkb24ndCBhZGQgdGhlIEdMIHN5bmMgbWV0YSB0byB0aGUgaW5wdXQgYnVmZmVyIGFzIGl0J3Mgbm90CgkgIHdyaXRhYmxlIGFuZCBhIGNvcHkgd291bGQgYmUgZXhwZW5zaXZlLgoJICBTaW1pbGFyIHRvIHRoZSBjaGFuZ2Ugd2l0aCB0aGUgc2FtZSBuYW1lIGZvciBnbGltYWdlc2luawoKMjAxNS0wNS0yMCAwMDoyODowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLmg6CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogdXBkYXRlIGZvciBHTDMgZWxlbWVudCBhcnJheSBidWZmZXIgdXNhZ2UKCSAgZml4ZXMgYmxhbmsgb3V0cHV0CgoyMDE1LTA1LTE5IDE2OjIyOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjb3JyZWN0bHkgdXNlIHRoZSBzeW5jIG1ldGEgYWNyb3NzIG11bHRpcGxlIGNvbnRleHRzCgkgIDEuIFNldCB0aGUgc3luYyBwb2ludCBhZnRlciB0aGUgKHBvc3NpYmxlKSB1cGxvYWQgaGFzIG9jY3VyZWQKCSAgMi4gV2FpdCBpbiB0aGUgY29ycmVjdCBHTCBjb250ZXh0ICh0aGUgZHJhdyBjb250ZXh0KQoJICBOb3RlOiBXZSBkb24ndCBhZGQgdGhlIEdMIHN5bmMgbWV0YSB0byB0aGUgaW5wdXQgYnVmZmVyIGFzIGl0J3Mgbm90CgkgIHdyaXRhYmxlIGFuZCBhIGNvcHkgd291bGQgYmUgZXhwZW5zaXZlLgoKMjAxNS0wNS0xOSAxNjoxOTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IHByb3ZpZGUgYSBjdXJyZW50IHdyYXBwZWQgR3N0R0xDb250ZXh0IGZvciBjYWxsYmFja3MKCSAgU28gdGhhdCB0aGUgZHJhdyBhbmQgcmVzaXplIGNhbGxiYWNrcyBjYW4gZ2V0IHRoZSBjdXJyZW50IEdzdEdMQ29udGV4dC4KCjIwMTUtMDUtMTkgMTY6MTQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGVuc3VyZSB0aGF0IHRoZSBGZW5jZSBpcyBnb2luZyB0byBiZSBleGVjdXRlZAoJICBPdGhlcndpc2UgaXQgY291bGQgc3RheSBjbGllbnQgc2lkZSB3aXRob3V0IGJlaW5nIHN1Ym1pdHRlZCB0byB0aGUgR0wKCSAgc2VydmVyIHJlc3VsdGluZyBpbiBhbm90aGVyIGNvbnRleHQgd2FpdGluZyBvbiBhIEZlbmNlIHRoYXQgd2lsbCBuZXZlcgoJICBiZWNvbWUgc2lnbmFsbGVkIGNhdXNpbmcgYSBkZWFkbG9jay4KCjIwMTUtMDUtMTkgMTE6NDc6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogZG9uJ3QgcmV1c2Ugb3V0cHV0IHRleHR1cmVzIGZvciByYXcgZGF0YSB1cGxvYWQKCSAgQ2F1c2VzIHN0YWxlIHRleHR1cmVzIHRvIGJlIHVzZWQgZnVydGhlciBkb3duIHRoZSBjaGFpbi4KCjIwMTUtMDUtMTkgMTE6MTE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkgIGdsZnJhbWVidWZmZXI6IGRvbid0IGNsZWFyIHRoZSBmcmFtZWJ1ZmZlcgoJICBCcmVha3MgYXR0ZW1wdGluZyB0byBibGVuZCB3aXRoIHRoZSBkZXN0aW5hdGlvbiBidWZmZXIgYW5kIHNob3VsZCBiZSBkb25lCgkgIGV4cGxpY2l0bHkgYnkgdGhlIGNhbGxiYWNrIGFueXdheS4KCjIwMTUtMDUtMTkgMTE6MDk6NTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuYzoKCSAgZ2xiYXNlZmlsdGVyOiB0cmFjayBnbF9zdGFydC9zdG9wIGNvcnJlY3RseQoJICBEb24ndCBzdGFydCBtdWx0aXBsZSB0aW1lcyB3aXRob3V0IGNhbGxpbmcgZ2xfc3RvcC4KCjIwMTUtMDUtMTggMjA6MTY6MzIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgUmV2ZXJ0ICJkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGZmNmM3MzZmZTA4ZTAxZjQzMjBjNGIwMmU4MTFhMGI1N2NmOTdjYzEuCgkgIFRoaXMgaXMgZml4ZWQgYnkgdGhlIGd0ay1kb2MgMS4yMyByZWxlYXNlLgoJICA8cGFyYT4gY2Fubm90IGNvbnRhaW4gPHJlZnNlY3QyPjoKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9wYXJhLmh0bWwKCSAgaHR0cDovL3d3dy5kb2Nib29rLm9yZy90ZGcvZW4vaHRtbC9yZWZzZWN0Mi5odG1sCgoyMDE1LTA1LTE0IDAyOjExOjUwICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogU2ltcGxpZnkgbG9naWMgaW4gcHJvY2Vzc19tYW5pZmVzdAoJICBTaW1wbGlmeSBsb2dpYyBpbiBwcm9jZXNzX21hbmlmZXN0IGFuZCByZW1vdmUgYSBUT0RPIGl0ZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMjgKCjIwMTUtMDUtMTggMTQ6MTI6NTYgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmg6CgkgIGN2c21vb3RoOiByZW5hbWUgcHJvcGVydGllcwoJICBUaGUgcHJvcGVydGllcyBhcmUgbmFtZWQgYXMgcGFyYW0xIHRvIHBhcmFtNCwgd2hpY2ggbWFrZXMgdmVyeSBsaXR0bGUgc2Vuc2UKCSAgaGVuY2UgcmVuYW1lZCB0aGUgcHJvcGVydGllcyBhY2NvcmRpbmcgdG8gd2hhdCBpdCBpcyBkb2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTUyMwoKMjAxNS0wNS0xOCAxNDowMTo1OSArMDkwMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkgIGN2c21vb3RoOiBXcm9uZyBhc3NpZ25tZW50IG9mIHByb3AgbGVhZHMgdG8gY3Jhc2gKCSAgd2hlbiBzZXR0aW5nIHBhcmFtMiBwcm9wZXJ0eSwgaXQgaXMgd3JvbmdseSBiZWluZyBhc3NpZ25lZCB0byBwYXJhbTEuCgkgIFRoaXMgbGVhZHMgdG8gd3JvbmcgYmVoYXZpb3IgYW5kIGEgY3Jhc2ggd2hlbiBwYXJhbTIgaXMgc2V0IGFzIDAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDk1MjMKCjIwMTUtMDUtMTggMTQ6MzA6MTkgKzA5MDAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBweXJhbWlkc2VnbWVudDogd3JvbmcgdmFsdWUgb2YgbGV2ZWwgcHJvcGVydHkKCSAgVGhlIHByb3BlcnR5IGxldmVsIGhhcyBhIG1pbmltdW0gdmFsdWUgb2YgMC4gQnV0IHdoZW4gd2Ugc2V0IHRoZSBsZXZlbCBhcyAwLAoJICBpdCBnZXRzIGFuIGFzc2VydGlvbiBlcnJvci4gVGhlIGZ1bmN0aW9uIGljdlB5clNlZ21lbnRhdGlvbjh1QzNSIHJldHVybnMgZmFsc2UKCSAgaWYgbGV2ZWwgaXMgc2V0IGFzIDAsIHNpbmNlIHRoZSBtaW5pbXVtIGxldmVsIGNhbnQgYmUgMCBhbmQgdGh1cyByZXN1bHRzIGluIGVycm9yLgoJICBIZW5jZSBjaGFuZ2luZyB0aGUgbWluaW11bSB2YWx1ZSB0byAxLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5NTI1CgoyMDE1LTA1LTE2IDIzOjM4OjE0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBkb2M6IFdvcmthcm91bmQgZ3RrZG9jIGlzc3VlCgkgIFdpdGggZ3RrZG9jIDEuMjIsIHRoZSBYTUwgZ2VuZXJhdG9yIGZhaWxzIHdoZW4gYSBpdGVtaXplZGxpc3QgaXMKCSAgZm9sbG93ZWQgYnkgYSByZWZzZWN0Mi4gV29ya2Fyb3VuZCB0aGUgaXNzdWUgYnkgd3JhcHBpbmcgdGhlCgkgIHJlZnNlY3QyIGludG8gcGFyYS4KCjIwMTUtMDUtMDYgMTU6MTc6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IGJ1ZmZlciB0aW1lc3RhbXAgbm90IGJlaW5nIGluIHN0cmVhbSB0aW1lCgkgIFRpbWVzdGFtcHMgc2hvdWxkIHN0YXJ0IGF0IHRoZSBzZWdtZW50IHN0YXJ0LCByYXRoZXIgdGhhbiAwLCBzbwoJICB3ZSBuZWVkIHRvIG5vdCBzdWJ0cmFjdCB0aGUgZmlyc3QgdGltZXN0YW1wLiBUaGlzIG1ha2VzIHRoZSBzaW5rCgkgIGNvcnJlY3RseSBhY2NvdW50IGZvciBydW5uaW5nIHRpbWUgd2hlbiBzd2l0Y2hpbmcgUE1UcyB3aGVyZSBhCgkgIHN0cmVhbSBzdGFydHMgbm90IHF1aXRlIGF0IHplcm8sIGNhdXNpbmcgdGltaW5nIG9mZnNldHMgdGhhdCBjYW4KCSAgYmVjb21lIG5vdGljZWFibGUgYW5kIGNhdXNpbmcgZHJvcHBlZCBmcmFtZXMgYWZ0ZXIgYSBmZXcgdGltZXMuCgoyMDE1LTA1LTA2IDE1OjE2OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFjY3VtdWxhdGUgcHJldmlvdXMgc2VnbWVudCBiYXNlIHRpbWUKCjIwMTUtMDQtMjQgMTI6NTY6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogZml4IHJlZmNvdW50aW5nIHdoZW4gYXBwbHlpbmcgYSBuZXcgUE1UCgkgIEEgbmV3IHByb2dyYW0gb2JqZWN0IGlzIGNyZWF0ZWQgdG8gcmVwbGFjZSBhbiBleGlzdGluZyBvbmUKCSAgaW4gdGhlIHByb2dyYW1zIGhhc2ggdGFibGUsIHNvIGl0cyByZWZjb3VudCBuZWVkcyB0byBtYXRjaC4KCSAgV2l0aCB0aGUgZGVmYXVsdCBvZiAwIHJlZmNvdW50IG9uIGNyZWF0aW9uLCB0aGUgbmV4dCBQQVQKCSAgY2hhbmdlIHdpbGwgY2F1c2UgdGhhdCByZWZjb3VudCB0byBiZSBib3RoIGluY3JlbWVudGVkIGFuZAoJICBkZWNyZW1lbnRlZCAoYXNzdW1pbmcgdGhlIG5ldyBQQVQgcmVmZXJlbmNlcyB0aGF0IHN0cmVhbSB0b28pLAoJICB3aGljaCB3aWxsIGNhdXNlIHRoZSBwcm9ncmFtIHRvIGJlIGRlc3Ryb3llZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQxMgoKMjAxNS0wNS0xNCAxNjowNjo1NSArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJICBkdGxzOiBGaXggbWVtb3J5IGxlYWsKCSAgS2V5cyB3ZXJlIG5vdCBjb3JyZWN0bHkgcmVsZWFzZWQgd2hlbiBpdCB3YXMgZ2V0IGFzIGEgcHJvcGVydHkKCSAgbm9yIHdoZW4gYSBzZWNvbmQga2V5IHdhcyByZWNlaXZlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzgwCgoyMDE1LTA1LTE0IDIxOjIxOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZyZWUgdGhlIHZlcnRleCBidWZmZXIgd2hlbiBkb25lCgkgIGZpeGVzIGEgbWVtb3J5IGxlYWsKCjIwMTUtMDEtMjIgMTg6MDA6MzYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2xjb250ZXh0L2NvY29hOiBpbXBsZW1lbnQgR0wzIGNvcmUgY29udGV4dCBzZWxlY3Rpb24KCjIwMTUtMDUtMTQgMTg6MzU6MzUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIHRlc3RzL2dsOiBmaXggdHlwbwoKMjAxNS0wNS0xNCAxNjo0MjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RibHVyLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNvYmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2w6IHJlbW92ZSB1c2VsZXNzIGdse0VuLERpc31hYmxlIChHTF9URVhUVVJFXyopIGNhbGxzCgkgIFdlIGFyZSB1c2luZyBzaGFkZXJzIGV2ZXJ5d2hlcmUgYW5kIHNvIHRoZXkgYXJlIG5vdCBuZWVkZWQKCjIwMTUtMDUtMTQgMTU6MTA6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IGNsZWFudXAgcHJvcGVydGllcwoJICByZW1vdmUgdW51c2VkICJkaXNwbGF5LW5hbWUiCgkgIGVuc3VyZSBkZWZhdWx0cyBiZXR3ZWVuIHRoZSBiaW4vZWxlbWVudCBhcmUgdGhlIHNhbWUKCjIwMTUtMDUtMTQgMTQ6NTY6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiBvbmx5IHRyeSB0aGUgR0wyIHNoYWRlciBpbml0IHBhdGggaWYgd2UgaGF2ZSBhIEdMMiBjb250ZXh0CgoyMDE1LTA1LTEyIDIyOjA0OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgZ2xzaGFkZXI6IGF0dGVtcHQgdG8gZGV0ZWN0IHRoZSBnbGVzMiBpbnNpZGUgb3BlbmdsMyBjYXNlCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IHRvIHVzZSBnbGVzMiBzaGFkZXJzIGluIGEgR0wgMyBjb3JlIGNvbnRleHQgb24KCSAgT1MgWCB3aGljaCBmYWlscyB3aXRob3V0IGEgcHJvcGVyICN2ZXJzaW9uIGJlaW5nIHNldCBvbiB0aGUgc2hhZGVycy4KCjIwMTUtMDUtMTIgMTc6NTU6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogcmVtb3ZlIHJlZmVyZW5jZXMgdG8gZ2wzIHNwZWNpZmljIHNoYWRlcnMKCSAgV2UgcmVseSBzcGVjaWZpY2FsbHkgb24gZ2xlczIgc2hhZGVycyBiZWluZyBzdXBwb3J0ZWQgYnkgdGhlIEdMCgkgIGltcGxlbWVudGF0aW9uIHdpdGggR0wzIGNvcmUgcHJvZmlsZS4KCjIwMTUtMDUtMDEgMTI6MDQ6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2w6IGVsZW1lbnQgYnVmZmVycyBhcmUgcGFydCBvZiB2YW8gc3RhdGUKCSAgVXNlIHRoZW0gYXMgc3VjaC4gIFRoZXkgYXJlIGFsc28gcmVxdWlyZWQgZm9yIEdMMyBjb3JlIHByb2ZpbGUgc3VwcG9ydAoJICB3aXRoIGdsRHJhd0VsZW1lbnRzIG9uIE9TIFguCgoyMDE1LTA1LTA3IDEyOjI1OjEwICswNzAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHByb3Blcmx5IGRldGVjdCAoaG9wZWZ1bGx5KSB0aGUgY29ycmVjdCBleHRfcmcvYXJiX3JnIHZhcmlhbnQKCSAgR0xfRVhUX3RleHR1cmVfcmcgaXMgb25seSB2YWxpZCBmb3IgR0xFUzIuIEdMRVMzIHVzZXMgc2ltaWxhciB3b3JkaW5nIHRvCgkgIHRoZSBHTF9BUkJfdGV4dHVyZV9yZyB3aGljaCByZXF1aXJlcyBhIHNpemVkIGludGVybmFsIGZvcm1hdCB0aGF0IHRoZQoJICBHTF9FWFRfdGV4dHVyZV9yZyBkb2VzIG5vdCByZXF1aXJlLgoJICBodHRwczovL3d3dy5raHJvbm9zLm9yZy9yZWdpc3RyeS9nbGVzL2V4dGVuc2lvbnMvRVhUL0VYVF90ZXh0dXJlX3JnLnR4dAoJICBodHRwczovL3d3dy5vcGVuZ2wub3JnL3JlZ2lzdHJ5L3NwZWNzL0FSQi90ZXh0dXJlX3JnLnR4dAoKMjAxNS0wNS0xNCAxMzowNDoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IGltcGxlbWVudCBwcm9wZXIgcGFyIGhhbmRsaW5nCgkgIFdlIHdlcmUgcHJldmlvdXNseSBmYWlsaW5nIG9uIGRpZmZlcmVudCBpbnB1dCBhbmQgb3V0cHV0IHBhcgoKMjAxNS0wNS0xMiAxMzo0MToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBhdm9pZCBidXN5LWxvb3Bpbmcgd2hlbiB3YWl0aW5nIGZvciBuZXcgZnJhZ21lbnQKCSAgV2hlbiBhbGwgZnJhZ21lbnRzIGhhdmUgYWxyZWFkeSBiZWVuIGRvd25sb2FkZWQgb24gYSBsaXZlIHN0cmVhbQoJICBkYXNoZGVtdXggd291bGQgYnVzeSBsb29wIGFzIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIG9mCgkgIGhhc19uZXh0X2ZyYWdtZW50IHdvdWxkIHJldHVybiBUUlVFLiBJbXBsZW1lbnQgaXQgdG8gY29ycmVjdGx5CgkgIHNpZ25hbCBpZiBhZGFwdGl2ZWRlbXV4IHNob3VsZCB3YWl0IGZvciB0aGUgbWFuaWZlc3QgdXBkYXRlIGJlZm9yZQoJICB0cnlpbmcgdG8gZ2V0IG5ldyBmcmFnbWVudHMuCgoyMDE1LTA1LTExIDE0OjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEltcHJvdmUgbGl2ZSBzdHJlYW0gbWFuaWZlc3QgdXBkYXRlIHJlcG9zaXRpb25pbmcKCSAgV2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QgdGhlIHRpbWVzdGFtcHMgb24gaXQgbWlnaHQgaGF2ZSBjaGFuZ2VkIGEgbGl0dGxlCgkgIGR1ZSB0byByb3VuZGluZyBhbmQgdGltZXNjYWxlIGNvbnZlcnNpb25zLiBJZiB0aGUgY2hhbmdlIG1ha2VzIHRoZSB0aW1lc3RhbXAKCSAgb2YgdGhlIGN1cnJlbnQgc2VnbWVudCB0byBnbyB1cCBpdCBtYWtlcyBkYXNoZGVtdXggcmVwb3NpdGlvbiB0byB0aGUgcHJldmlvdXMKCSAgb25lIGNhdXNpbmcgb25lIGV4dHJhIHVubmVjZXNzYXJ5IGRvd25sb2FkLgoJICBTbyB3aGVuIHJlcG9zaXRpb25pbmcgYWRkIGFuIGV4dHJhIDEwIG1pY3Jvc2Vjb25kcyB0byBjb3ZlciBmb3IgdGhhdCByb3VuZGluZwoJICBpc3N1ZXMgYW5kIGluY3JlYXNlIHRoZSBjaGFuY2Ugb2YgZmFsbGluZyBpbiB0aGUgc2FtZSBzZWdtZW50LgoJICBBZGRpdGlvbmFsbHksIGFsc28gaW1wcm92ZSB0aGUgdGltZSB1c2VkIHdoZW4gdGhlIGNsaWVudCBpcyBhbHJlYWR5IGFmdGVyIHRoZQoJICBsYXN0IHNlZ21lbnQuIEluc3RlYWQgb2YgdXNpbmcgdGhlIGxhc3Qgc2VnbWVudCBzdGFydGluZyB0aW1lc3RhbXAgdXNlIHRoZQoJICBmaW5hbCB0aW1lc3RhbXAgdG8gbWFrZSBpdCByZXBvc2l0aW9uIHRvIHRoZSBuZXh0IG9uZSBhbmQgbm90IHRvIHRoZSBvbmUgdGhhdAoJICBoYXMgYWxyZWFkeSBiZWVuIGRvd25sb2FkZWQuCgoyMDE1LTA1LTExIDEyOjMwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBhZGQgbW9yZSBwcm90ZWN0aW9uIHdoZW4gYWNlc3NpbmcgZ3B0cmFycmF5IGVudHJpZXMKCSAgVGhlIGdsaWIgc3RydWN0dXJlIGRvZXNuJ3QgZG8gcmFuZ2UgY2hlY2tpbmcgc28gd2UgaGF2ZSB0byBkbyBpdAoJICBvdXJzZWx2ZXMuCgkgIEFsc28gYWRkcyBzb21lIG1vcmUgZGVidWdnaW5nIG1lc3NhZ2VzCgoyMDE1LTA1LTA4IDE2OjU4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCSAgVGhlc2UgZnVuY3Rpb25zIG9mIGRpcmVjdGx5IGdldHRpbmcgYW5kIHNldHRpbmcgc2VnbWVudCBpbmRleGVzCgkgIGFyZSBubyBsb25nZXIgdXNlZnVsIGFzIG5vdyB3ZSBuZWVkIDIgaW5kZXhlczogcmVwZWF0IGFuZCBzZWdtZW50CgkgIGluZGV4LgoJICBUaGUgb25seSBvcGVyYXRpb25zIG5lZWRlZCBhcmUgYWR2YW5jZV9zZWdtZW50LCBnb2luZyBiYWNrIHRvIHRoZQoJICBmaXJzdCBvbmUgb3Igc2Vla2luZyBmb3IgYSB0aW1lc3RhbXAuCgoyMDE1LTA1LTA4IDE2OjQ5OjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHJldXNlIHNlZWtpbmcgZnVuY3Rpb24gdG8gcmVkdWNlIHJlcGVhdGVkIGNvZGUKCSAgSW5zdGVhZCBvZiB3cml0aW5nIGEgc2VlayByb3V0aW5lLCBqdXN0IHVzZSB0aGUgbXBkcGFyc2VyIGZ1bmN0aW9uLgoJICBBbHNvIHJlbW92ZSBmdW5jdGlvbiB0aGF0IGlzIG5vdCBuZWVkZWQgYW55bW9yZQoKMjAxNS0wNS0wOCAxNjozMTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciBzZWdtZW50IGl0ZXJhdGlvbiBmb3IgYmV0dGVyIHBlcmZvcm1hbmNlCgkgIFNlZ21lbnRzIGFyZSBub3cgc3RvcmVkIHdpdGggdGhlaXIgcmVwZWF0IGNvdW50cyBpbnN0ZWFkIG9mIHNwYW5kaW5nCgkgIHRoZW0gdG8gbXVsdGlwbGUgc2VnbWVudHMuIFRoaXMgY2F1c2VkIGFkdmFuY2luZyB0byB0aGUgbmV4dCBzZWdtZW50CgkgIHVzaW5nIGEgc2luZ2xlIGluZGV4IHRvIGhhdmUgdG8gaXRlcmF0ZSBvdmVyIHRoZSB3aG9sZSBsaXN0IGV2ZXJ5IHRpbWUuCgkgIFRoaXMgY29tbWl0IGFkZHJlc3NlcyB0aGlzIGJ5IHN0b3JpbmcgYm90aCB0aGUgc2VnbWVudCBpbmRleCBhcyB3ZWxsCgkgIGFzIHRoZSByZXBlYXQgaW5kZXggYW5kIG1ha2VzIGFkdmFuY2luZyB0byBuZXh0IHNlZ21lbnQganVzdCBhbgoJICBpbmNyZW1lbnQgb2YgdGhlIHJlcGVhdCBvciB0aGUgc2VnbWVudCBpbmRleC4KCjIwMTUtMDUtMDcgMTY6MzA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBpbXByb3ZlIG1wZCBwYXJzaW5nIGZvciByZXBlYXRlZCBzZWdtZW50IGVudHJpZXMKCSAgVXNlIGEgc2luZ2xlIHNlZ21lbnQgdG8gcmVwcmVzZW50IGl0IGludGVybmFsbHkgdG8gYXZvaWQgdXNpbmcgdG9vCgkgIG11Y2ggbWVtb3J5LiBUaGlzIGhhcyB0aGUgZHJhd2JhY2sgb2YgaXNzdWluZyBhIGxpbmVhciBzZWFyY2ggdG8KCSAgZmluZCB0aGUgY29ycmVjdCBzZWdtZW50IHRvIHBsYXkgYnV0IHRoaXMgY2FuIGJlIGZpeGVkIGJ5IHVzaW5nCgkgIGJpbmFyeSBzZWFyY2hlcyBvciBjYWNoaW5nIHRoZSBjdXJyZW50IHBvc2l0aW9uIGFuZCBqdXN0IGxvb2tpbmcKCSAgZm9yIHRoZSBuZXh0IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM2OQoKMjAxNS0wNS0xMiAxMjo1NTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkcm9wIGRlYnVnIG1lc3NhZ2UgdGhhdCB3YXMgd3JvbmcKCSAgRU9TIGRvZXNuJ3QgbmVjZXNzYXJpbHkgbWVhbiB0aGF0IG5vIGZyYWdtZW50IHdhcyBkb3dubG9hZGVkCgoyMDE1LTA1LTEyIDEyOjU1OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJ1biBnc3QtaW5kZW50CgkgIFRvIGFsbG93IGNvbW1pdGluZyBvbiB0aGlzIGZpbGUgY2xlYW5seQoKMjAxNS0wNS0xMSAxMTo1Njo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB0aGUgcGFyZW50IGlzIHByb3ZpZGVkIGluIHRoZSBmdW5jdGlvbgoJICBObyBuZWVkIHRvIGdldCBpdCBhZ2FpbgoKMjAxNS0wNS0xMyAxNTo1OTo0OCArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRml4IG1lbW9yeSBsZWFrIHJlbGVhc2luZyBjb25uZWN0aW9uX2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMTgKCjIwMTUtMDUtMTMgMTU6MzM6NDkgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkgIGR0bHNlbmM6IEZpeCBtZW1vcnkgbGVhayB3aGlsZSBzZXR0aW5nIGNvbm5lY3Rpb24taWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMxOAoKMjAxNS0wNS0xMyAxNzoxNTo1NyArMDIwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IG1lbW9yeSBsZWFrLCByZWxlYXNlIHByZXZpb3VzIHBlbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzIyCgoyMDE1LTA1LTEzIDE2OjA2OjUyICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBGaXggbWVtb3J5IGxlYWsgb24gZGlzcG9zZQoJICBQYXJlbnQgZGlzcG9zZSBmdW5jdGlvbiB3YXMgbm90IGNhbGxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzIyCgoyMDE1LTA1LTEzIDE3OjE5OjI1ICswMjAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsc2Nvbm5lY3Rpb246IEZpeCBtZW1vcnkgbGVhayB3aGlsZSBzZXR0aW5nIGNsb3N1cmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTMyNQoKMjAxNS0wNS0xMyAxNjoyMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpeCBmYWFkMiB2ZXJzaW9uIGNoZWNrCgkgIE9uIGZlZG9yYSAyMiwgdGhlIG91dHB1dCBvZiBjcHAgaW5zZXJ0cyBleHRyYSBkZWJ1ZyBjb21tZW50cywgd2hpY2gKCSAgbWFrZXMgb3VyIHJlZ2V4cCBmb3IgdGhlIGZhYWQyIHZlcnNpb24gY2hlY2sgZmFpbC4gVGhpcyBpbiB0dXJuIGNhdXNlcwoJICBpdCB0byBjb21waWxlIHdpdGggdGhlIHdyb25nIGFyZ3VtZW50cyBwYXNzZWQgd2hpY2ggdGhlbiBjYXVzZXMgc3RhY2sKCSAgY29ycnVwdGlvbiBhbmQgY3Jhc2hlcy4KCSAgRml4IHRoaXMgYnkgb25seSBjaGVja2luZyBmb3IgdGhlIHZlcnNpb24gKHdoaWNoIHNob3VsZCBiZSBieSBpdHNlbGYgb24KCSAgYSBzaW5nbGUgbGluZSkuIFRoaXMgaXMgcG90ZW50aWFsbHkgbGVzcyBzYWZlLCBpdCBtaWdodCBiZSBwb3NzaWJsZSB0aGF0CgkgIGEgc2ltaWxhciBzdHJpbmcgd291bGQgYXBwZWFyIGluIGEgbGF0ZXIgdmVyc2lvbiBpbiB0aGUgaGVhZGVyIGZpbGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1NzEKCjIwMTUtMDUtMTMgMjM6NTU6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBwcm9wYWdhdGUgdGhlIHZlcnNpb24vZXh0ZW5zaW9uIGZhaWx1cmUgdXB3YXJkcwoJICBPdGhlcndpc2UgdGhlIGNhbGxpbmcgY29kZSBoYXMgbm8gaWRlYSB0aGF0IHRoZSBjb250ZXh0IGZhaWxlZCB0bwoJICBiZSBjcmVhdGVkIGZ1bGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5Mjg0CgoyMDE1LTA1LTEzIDIzOjU0OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogZG9uJ3QgZGVhZGxvY2sgb24gY29udGV4dCBjcmVhdGlvbiBmYWlsdXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyODQKCjIwMTUtMDUtMTMgMTU6NDI6MTUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlcmJpbi5jOgoJICBnbG1peGVyYmluOiBEb24ndCB1bnJlZiBwYWQgdGVtcGxhdGVzCgkgIE90aGVyd2lzZSB3ZSB1bnJlZiB0aGUgcmVmZXJlbmNlIHRoYXQgaXMgb3duZWQgYnkgdGhlIGVsZW1lbnQgY2xhc3MuCgoyMDE1LTA1LTEzIDEyOjMxOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBmaXggZmFpbHVyZSByZXR1cm4gdmFsdWVzIGZyb20gY3JlYXRlX3Nlc3Npb24oKQoJICBjcmVhdGVfc2Vzc2lvbigpIHJldHVybnMgYW4gZXJyX3N0YXR1c190IHdpdGgKCSAgZXJyX3N0YXR1c19vaz0wIGFuZCBlcnJfc3RhdHVzX2ZhaWw9MSwgc28KCSAgcmV0dXJuaW5nIFRSVUUvRkFMU0UgaXMgbm90IHF1aXRlIHJpZ2h0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MzA0CgoyMDE1LTA1LTEzIDEzOjE0OjE0ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogZml4IG92ZXIgdW5sb2NraW5nCgkgIENhbGxlZCBzaG91bGQgY2FsbCBmdW5jdGlvbiB3aXRoIGxvY2ssIGFuZCBpcwoJICBhbHNvIHJlc3BvbnNpYmxlIGZvciB1bmxvY2tpbmcgaXQgbGF0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkzMDQKCjIwMTUtMDUtMTIgMTU6NDc6MzMgKzA4MDAgIEx5b24gV2FuZyA8bHlvbi53YW5nQGZyZWVzY2FsZS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjdXN0b20gcGljdHVyZSBmb3JtYXQgKENQRk1UKSBwYXJzaW5nCgkgIEluIHRoZSBIMjYzIHNwZWMsIENQRk1UIGlzIHByZXNlbnQgb25seSBpZiB0aGUgdXNlIG9mIGEgY3VzdG9tCgkgIHBpY3R1cmUgZm9ybWF0IGlzIHNpZ25hbGxlZCBpbiBQTFVTRVBUWVBFIGFuZCBVRkVQIGlzICIwMDEiLAoJICBzbyB3ZSBuZWVkIHRvIGNoZWNrIHBhcmFtcy0+Zm9ybWF0IGFuZCBvbmx5IGlmIHRoZSB2YWx1ZSBpcwoJICA2IChjdXN0b20gc291cmNlIGZvcm1hdCkgdGhlIENQRk1UIHNob3VsZCBiZSByZWFkLCBvdGhlcndpc2UKCSAgaXQncyBub3QgcHJlc2VudCBhbmQgd3JvbmcgZGF0YSB3aWxsIGJlIHBhcnNlZC4KCSAgV2hlbiByZWFkaW5nIHRoZSBDUEZNVCwgdGhlIHdpZHRoIGFuZCBoZWlnaHQgd2VyZSBub3QKCSAgY2FsY3VsYXRlZCBjb3JyZWN0bHkgKHdyb25nIGJpdG1hc2spLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTc0OTI1MwoKMjAxNS0wNS0xMyAxNzozODozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IGZpeCByZWN0YW5nbGUgb2JzY3VyZSB0ZXN0IHRvIGNsYW1wIGFnYWluc3QgdGhlIG91dHB1dCBmcmFtZSBzaXplCgkgIFJhdGhlciB0aGFuIG9uZSBvZiB0aGUgaW5wdXQgcGFkIHZpZGVvIGluZm8ncy4KCSAgVGhlIHRlc3QgY2hlY2tpbmcgdGhpcyB3YXMgbm90IGNvbnN0cmFpbmluZyB0aGUgb3V0cHV0IGZyYW1lIHNpemUKCSAgdG8gZW5zdXJlIHRoYXQgdGhlIG91dCBvZiBmcmFtZSBzdHJlYW0gd2FzIG5vdCBiZWluZyBkaXNwbGF5ZWQuCgoyMDE1LTA1LTEzIDE3OjExOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogaW1wbGVtZW50IHBhciBoYW5kbGluZwoJICBXZSB3ZXJlIHByZXZpb3VzbHkgaWdub3JpbmcgaXQgY29tcGxldGVseQoKMjAxNS0wNS0xMyAxNzoxMDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGRvbid0IHVwbG9hZCB0aGUgdmVydGV4IGRhdGEgZXZlcnkgZnJhbWUKCSAgQWRkIHRoZSBtaXNzaW5nIGNhY2hlIHRyYWNraW5nIHN0YXRlbWVudC4KCjIwMTUtMDUtMTIgMTY6MzY6NTggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IFJlbW92ZSB1bmVlZGVkIGhlYWRlciBhbmQgZGVmaW5lcwoKMjAxNS0wNS0xMSAxNTowMjowMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IFVzZSBkZWZhdWx0IGdldF9jYXBzIGltcGxlbWVudGF0aW9uCgkgIFRoZSBjdXN0b20gY29kZSBpcyB3cm9uZyBhcyBpdCBpZ25vcmVzIHRoZSB0ZW1wbGF0ZXMsIHdoaWNoIGxlYWRzIHRvCgkgIG1pc3NpbmcgZmllbGRzIGluIHRoZSByZXN1bHQuIEluc3RlYWQsIHNpbXBseSB1c2UgdGhlIGRlZmF1bHQgZ2V0X2NhcHMKCSAgaW1wbGVtZW50YXRpb24gd2hpY2ggZG9lcyBpdCBjb3JyZWN0bHkgKGdldCB0aGUgdGVtcGxhdGUsIGludGVyc2VjdAoJICB3aXRoIGZpbHRlciBhbmQgcmV0dXJuKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIzNwoKMjAxNS0wNS0xMSAxNTo1NDo1MiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IEltcGxlbWVudCBHc3RWaWRlb0FnZ3JlZ2F0b3I6OmZpbmRfYmVzdF9mb3JtYXQoKQoJICBXaXRob3V0IHRoaXMsIHdlIHdpbGwgZml4YXRlIHdlaXJkIHBpeGVsLWFzcGVjdC1yYXRpb3MgbGlrZSAxLzIxNDc0ODM2NDcuIEJ1dAoJICBpbiB0aGUgZW5kLCBhbGwgdGhlIG5lZ290aWF0aW9uIGNvZGUgaW4gdmlkZW9hZ2dyZWdhdG9yIG5lZWRzIGEgYmlnIGNsZWFudXAKCSAgYW5kIHZpZGVvYWdncmVnYXRvciBuZWVkcyB0byBnZXQgcmlkIG9mIHRoZSBzb2Z0d2FyZS1taXhlciBzcGVjaWZpYyB0aGluZ3MKCSAgZXZlcnl3aGVyZS4KCjIwMTUtMDUtMTEgMjI6NTM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGRlbW90ZSB1cGxvYWQvY29udmVydC9kb3dubG9hZCBlbGVtZW50cyB0byBub25lCgkgIENvcHkgcGFzdGUgZXJyb3IKCjIwMTUtMDUtMTEgMjI6Mzc6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGV4cG9zZSBpbnRlcm5hbCBnbHZpZGVvbWl4ZXJlbGVtZW50XAoJICBXZSBtaWdodCB3YW50IG1vcmUgY29udHJvbCBvdmVyIHRoZSBleGFjdCBwaXBlbGluZQoJICBBbHNvIHJlZHVjZXMgb3ZlcmhlYWQKCjIwMTUtMDUtMTEgMjI6MzU6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGV4cG9zZSBpbnRlcm5hbCBnbGltYWdlc2lua2VsZW1lbnQKCSAgV2UgbWlnaHQgd2FudCBtb3JlIGNvbnRyb2wgb3ZlciB0aGUgZXhhY3QgcGlwZWxpbmUuCgkgIEFsc28gcmVkdWNlcyBvdmVyaGVhZC4KCjIwMTUtMDUtMDcgMjE6MTg6MjcgKzAyMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHVuY29uZGl0aW9uYWwgYnVmZmVyIHF1ZXVlIHVubG9jawoJICBVbmxlc3Mgc3RvcFJlcXVlc3QgaXMgc2V0LCB3ZSBzaG91bGQgdW5sb2NrIGNvbmRpdGlvbmFsbHkgLS0gb3RoZXJ3aXNlLAoJICB0aGUgJ2NyZWF0ZTonIG1ldGhvZCBjYW4gd2FrZSB1cCB0byBhbiBlbXB0eSBidWZmZXIgcXVldWUKCSAgYW5kIHB1bGwgYSBuaWwgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDU0CgoyMDE1LTA1LTExIDEyOjE4OjI4ICswMjAwICBIZWlucmljaCBGaW5rIDxoZmlua0B0b29sc29uYWlyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogUmVuYW1lIG1vZGUgMjA0OHAgdG8gMTU1NnAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0OTIxOAoKMjAxNS0wNS0xMSAxMjowNDo0NyArMDIwMCAgSGVpbnJpY2ggRmluayA8aGZpbmtAdG9vbHNvbmFpci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogVXNlIGNvcnJlY3QgZnJhbWUgcmF0ZSBmb3IgbW9kZSAyMTYwcDUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDkyMTgKCjIwMTUtMDUtMTEgMTI6MDI6NDcgKzAyMDAgIEhlaW5yaWNoIEZpbmsgPGhmaW5rQHRvb2xzb25haXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBSZW5hbWUgbW9kZSAzMTg0cCB0byAyMTYwcAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ5MjE4CgoyMDE1LTAxLTIyIDE1OjQzOjIyICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTLnNraXAgYW5kIFBPVEZJTEVTLmluCgkgIFRoZSBvbmVzIGluIC5za2lwIG5lZWQgdG8gYmUgYWRkZWQgYmFjayB0byBQT1RGSUxFUy5pbgoJICBhZnRlciBwb3J0aW5nIHRvIDEueC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM1MgoKMjAxNS0wNS0wOCAxNDoyMDo0NCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogcmVtb3ZlIGdzdF9yZW1vdmVfc2lsZW5jZV9yZXNldCgpCgkgIE5vIG5lZWQgdG8gY2FsbCBnc3RfcmVtb3ZlX3NpbGVuY2VfcmVzZXQoKSBpbiBnc3RfcmVtb3ZlX3NpbGVuY2VfaW5pdCgpIGJlY2F1c2UKCSAgdmFkX25ldygpIGFscmVhZHkgY2FsbHMgdGhpcyBmdW5jdGlvbi4gU2luY2UgdGhlcmUgYXJlIG5vIG1vcmUgdXNlcyBvZgoJICBfc2lsZW5jZV9yZXNldCgpLCB3ZSBjYW4gcmVtb3ZlIGl0IGFsdG9nZXRoZXIuCgoyMDE1LTA1LTA4IDE0OjU1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFdlIHNob3VsZG4ndCBtYW51YWxseSBjaGVjayByZWNvbmZpZ3VyZSBmbGFnIG9uIHBhZHMgYnV0IGluc3RlYWQgaW1wbGVtZW50IDo6bmVnb3RpYXRlKCkKCSAgQWRkIEZJWE1FIGNvbW1lbnQgcmVsYXRlZCB0byB0aGF0LgoKMjAxNS0wNS0wOCAxMzo1NDowNiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgVXBkYXRlIHJlZmVyZW5jZXMgdG8gZGVjb2RlYmluCgkgIFVwZGF0ZSBvbGQgcmVmZXJlbmNlcyBmb3IgZGVjb2RlYmluMiB0byBkZWNvZGViaW4uCgoyMDE1LTA1LTA4IDEzOjQ5OjM4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJICByZW1vdmVzaWxlbmNlOiB1cGRhdGUgZXhhbXBsZSBsYXVuY2ggbGluZQoKMjAxNS0wNS0wNyAyMTowNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVjLmg6CgkgIGR0bHNzcnRwZGVjOiBEb24ndCBtZXJnZSBSVFAgYW5kIFJUQ1Agc3RyZWFtcyB0aGF0IHdlcmUganVzdCBzcGxpdCBieSBzcnRwZGVjCgkgIFRoZSBmdW5uZWwgaGFzIHNvbWUgb3ZlcmhlYWQsIGFuZCBsYXRlciBydHBiaW4gd2lsbCBoYXZlIHRvIHNwbGl0IGJvdGggc3RyZWFtcwoJICBhZ2FpbiBhbnl3YXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg3MjMKCjIwMTUtMDUtMDYgMTU6NDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBhZGQgcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG9uIHRoZSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQ5NmU0M2IwMzRhMDNmZTU0NjMzOTA3YmMxYmYyYTI2ZmU1Zjk1ZmIuCgoyMDE1LTA1LTA2IDE1OjQ3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFJldmVydCAiUmV2ZXJ0ICJnbGltYWdlc2luazogZm9yd2FyZCBBTEwgdGhlIHByb3BlcnRpZXMgb24gdGhlIGJpbiIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNTlmYjBmODMwZjA4ZTNlNTlmODdmODNkZjhmYTNjMmQ5ZjNkOTc0MS4KCjIwMTUtMDUtMDYgMTU6NDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJSZXZlcnQgImdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4iIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGJlOTM4ZjkyZDk0ZThhY2NjZjU5MzEyODI4MWY2ZTA5MjEzNjAwYTAuCgoyMDE1LTA1LTA2IDE1OjQ2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgUmV2ZXJ0ICJnbDogcmVhZGQgZ2x1cGxvYWQvZG93bmxvYWQgb250byBlbGVtZW50IHBhZHMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgODdkODI3MGYzMDJiMDNmNjNjZTA0Zjk4NmQ4MjQ4OTJhMmMxMzFmZC4KCjIwMTUtMDUtMDYgMTU6NDM6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgIlJldmVydCAiZ2x2aWRlb21peGVyOiBpbXBsZW1lbnQgd2l0aCBnbG1peGVyYmluIiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNGJkMTFmMmYzYTYwMjI0ZDE4OGIyN2FiNTViMjc4MDc3Y2IxMjE3LgoKMjAxNS0wNS0wNiAxMjo1OTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWN0dWFsbHkgc2V0IHRoZSBjYXBzIG9uIHRoZSBzcmNwYWQgaW5zdGVhZCBvZiBqdXN0IGNhbGxpbmcgdGhlIGRlZmF1bHQgZXZlbnQgaGFuZGxlciBmb3IgdGhlIHNpbmtwYWQKCSAgRml4ZXMgdXAgZGFmYTExYjlkMjFkMDZhMDI3MzAwNzYyOGEyYTBiYjRkNzg1ODY1OAoKMjAxNS0wNC0yOSAxODoyMzozMSArMDkwMCAgSmltbXkgT2huIDx5b25namluLm9obkBsZ2UuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBvbmx5IHVwZGF0ZSBzdHJlYW0gcG9zaXRpb24gaWYgcXVlcnkgc3VjY2VzcwoJICBXZSBkb24ndCBuZWVkIHRvIGNoZWNrIGFib3V0IHRoZSBxdWVyeSBmYWlsIGNhc2UuCgkgIGJlY2F1c2UgaXQgaXMgdXBkYXRlIHRvIHNlZ21lbnQgcG9zaXRpb24gZXZlbiB0aG91Z2ggcXVlcnkgZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODUyOQoKMjAxNS0wNS0wNSAxMjo0NToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZGVja2xpbms6IERpc2FibGUgZGVja2xpbmsgcGx1Z2luIG9uIEFuZHJvaWQKCjIwMTUtMDUtMDUgMTQ6NDQ6MjUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGZpeHVwIHNpemUgZGVjbGFyYXRpb24KCjIwMTUtMDUtMDQgMjM6NDI6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogaGFuZGxlIHRoZSBsb2NhbF9jb250ZXh0IHF1ZXJ5CgkgIHNvIHRoYXQgdXBzdHJlYW0gZWxlbWVudHMgY2FuIGdldCB0aGUgR0wgY29udGV4dCBmcm9tIGdsaW1hZ2VzaW5rCgoyMDE1LTA1LTAzIDE0OjU2OjA1ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cG9ydCBmb3IgQ09MT1JfRm9ybWF0WVYxMgoJICBSZWZlcmVuY2U6IGh0dHA6Ly9kZXZlbG9wZXIuYW5kcm9pZC5jb20vcmVmZXJlbmNlL2FuZHJvaWQvZ3JhcGhpY3MvSW1hZ2VGb3JtYXQuaHRtbCNZVjEyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDQtMzAgMTE6NDQ6MDYgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBEZWNsYXJlIFFPTVhfQ09MT1JfRk9STUFUWVZVNDIwUGFja2VkU2VtaVBsYW5hcjMybU11bHRpVmlldyBjb25zdGFudAoJICBUaGlzIGNvbG9yIGZvcm1hdCBpcyB0aGUgc2FtZSBhcyBRT01YX0NPTE9SX0ZPUk1BVFlVVjQyMFBhY2tlZFNlbWlQbGFuYXIzMm0KCSAgYnV0IHN0b3JlcyB0d28gaW1hZ2VzIG9uZSBhZnRlciB0aGUgb3RoZXIgaW4gYSB0b3AtYm90dG9tIGxheW91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzEyNgoKMjAxNS0wNS0wNCAxMToyMzoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJICBvcHVzZGVwYXk6IFNldCBtdWx0aXN0cmVhbT1GQUxTRSBvbiB0aGUgT3B1cyBjYXBzCgkgIFRoZSBSVFAgT3B1cyBtYXBwaW5nIG9ubHkgYWxsb3dzIG1vbm8vc3RlcmVvLCBhbmQgbm90IG11bHRpc3RyZWFtIE9wdXMKCSAgc3RyZWFtcy4KCjIwMTUtMDUtMDQgMTA6MzU6NTUgKzAyMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNoZWFkZXI6IERvIG5vdCBpbmNsdWRlIHJhdGUgaW4gY2FwcyBpZiBpdCBpcyAwCgkgIEFzIGV4cHJlc3NlZCBpbiBnc3Rfb3B1c19oZWFkZXJfY3JlYXRlX2NhcHMsIHZhbHVlIDAgbWVhbnMgdW5zZXQuCgkgIFNldHRpbmcgcmF0ZSB2YWx1ZSB0byAwIG1ha2UgbmVnb3RpYXRpb24gd2l0aCBkZWNvZGVyIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg4NzUKCjIwMTUtMDUtMDQgMDg6MDY6MzUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBzbGljZS1oZWlnaHQgZm9yIFRlZ3JhIDMgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4ODY3CgoyMDE1LTAzLTEzIDE2OjA3OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMtY29uc3RhbnRzLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIHN1cHBvcnQgZm9yIENPTE9SX0Zvcm1hdFlVVjQyMEZsZXhpYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDMtMjUgMTc6NDM6NTkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgc3Vwb3J0IGZvciBJbnRlbCBjb2xvciBmb3JtYXRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjYKCjIwMTUtMDUtMDIgMTg6MDY6MTggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHByb2ZpbGUgYW5kIGxldmVsIHNldHRpbmcgaW4gY2FwcwoJICBEb24ndCB1c2UgdGhlIGFwaXMgaW4gY29kZWMtdXRpbHMgdG8gZXh0cmFjdCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwKCSAgc3ludGF4IGVsZW1lbnRzIHNpbmNlIGl0IGlzIHdyb25nIGlmIHRoZXJlIGFyZSBlbXVsYXRpb24gcHJldmVudGlvbgoJICBieXRlcyBleGlzdGluZyBpbiB0aGUgYnl0ZS1zdHJlYW0gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNS0wMyAyMzowODoxNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsY29sb3Jjb252ZXJ0OiBJbXByb3ZlIHBhc3N0aHJvdWdoIGNoZWNrIHdoZW4gbm8gY29udmVyc2lvbiBpcyBuZWVkZWQuCgkgIE1ha2UgdGhlIHBhc3N0aHJvdWdoIGNoZWNrIGNvbnRpbmdlbnQgb24gb25seSB0aGUgZmllbGRzIHdlCgkgIGNhbiBtb2RpZnkgYmVpbmcgdW5jaGFuZ2VkLCBhbmQgcHJlLWNvbXB1dGUgaXQgd2hlbiBjYXBzCgkgIGNoYW5nZSBpbnN0ZWFkIG9mIGNoZWNraW5nIG9uIGVhY2ggYnVmZmVyLiBNYWtlcyB0aGUgcGFzc3Rocm91Z2gKCSAgbW9yZSBsZW5pZW50IGlmIGNvbnN1bWVycyBhcmUgbGF4IGFib3V0IG1ha2luZyBpbnB1dCBhbmQgb3V0cHV0CgkgIGNhcHMgY29tcGxldGUuCgoyMDE1LTA1LTAxIDE5OjM5OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGhhbmRsZSB3aGVuIHNvdXJjZSBjcmVhdGlvbiBmYWlsCgkgIFJlbWVtYmVyIHRvIHNldCB0aGUgc291cmNlIHRvIE5VTEwgc3RhdGUgYXMgYWRkaW5nIGl0IHRvIHRoZSBwaXBlbGluZQoJICB3aWxsIHNldCBpdCB0byB0aGUgUkVBRFkgc3RhdGUuCgoyMDE1LTA1LTAxIDE5OjMxOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBlbGVtZW50IGxpbmtpbmcgb3JkZXIKCSAgVmlkZW8gc291cmNlIHNob3VsZCBiZSBsaW5rZWQgdG8gdmlkZW9jcm9wIGFuZCBub3QgdG8KCSAgdmlkZW9jb252ZXJ0IGFzIGl0IGlzIGRvbmUgaW4gdGhlIG1haW4gbGlua2luZyBwYXRoCgoyMDE1LTAzLTEzIDA2OjEwOjUyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICB0ZXN0czogQWRkIGEgY2hlY2sgZm9yIHRoZSBuZXcgY29tcG9zaXRvciBwYWQtaXMtb2JzY3VyZWQgb3B0aW1pemF0aW9uCgkgIFdlIHZlcmlmeSB0aGF0IGFsbCB0aGUgYnVmZmVycyBvbiBhbiBvYnNjdXJlZCBzaW5rcGFkIGFyZSBza2lwcGVkIGJ5IG92ZXJyaWRpbmcKCSAgdGhlIG1hcCgpIGZ1bmN0aW9uIGluIHRoZSBHc3RWaWRlb01ldGEgb2YgdGhlIGJ1ZmZlcnMgdG8gc2V0IGEgdmFyaWFibGUgd2hlbgoJICBjYWxsZWQuIFdlIGFsc28gdGVzdCB0aGF0IHRoZSBidWZmZXJzIGRvIGdldCBtYXBwZWQgd2hlbiB0aGV5J3JlIG5vdCBvYnNjdXJlZC4KCSAgQmxhbWVeV0NyZWRpdCBmb3IgdGhlIEdzdFZpZGVvTWV0YSBtYXAoKSBpZGVhIGdvZXMgdG8gVGltLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjEwOjAwICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IE9ubHkgbWFwIHRoZSBmcmFtZSBmcm9tIGEgYnVmZmVyIGlmIGl0IHdpbGwgYmUgdXNlZAoJICBJdCdzIGEgd2FzdGUgb2YgcmVzb3VyY2VzIHRvIG1hcCBpdCBpZiBpdCB3b24ndCBiZSBjb252ZXJ0ZWQKCSAgb3IgdXNlZCBhdCBhbGwuIFNpbmNlIHdlIG1vdmVkIHRoZSBmcmFtZSBtYXBwaW5nIGRvd24sIHdlIG5lZWQKCSAgdG8gdXNlIHRoZSBHU1RfVklERU9fSU5GTyBhY2Nlc3NvciBtYWNyb3Mgbm93IGluIHRoZSBjb2RlIGFib3ZlCgkgIHRoYXQgaW5zdGVhZCBvZiB0aGUgR1NUX1ZJREVPX0ZSQU1FIGFjY2Vzc29yIG1hY3Jvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjE0NwoKMjAxNS0wNC0xOCAxNTowOTowMiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB1c2UgYWNjZXNzb3IgbWFjcm9zIGZvciBjb25zaXN0ZW5jeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTE4IDE1OjA5OjAyICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IFNraXAgcGFkcyB0aGF0IGFyZSBjb21wbGV0ZWx5IG9ic2N1cmVkIGJ5IGEgaGlnaGVyIHpvcmRlciBwYWQKCSAgRm9yIGVhY2ggZnJhbWUsIGNvbXBhcmUgdGhlIGZyYW1lIGJvdW5kYXJpZXMsIGNoZWNrIGlmIHRoZSBmb3JtYXQgY29udGFpbnMgYW4KCSAgYWxwaGEgY2hhbm5lbCwgY2hlY2sgb3BhY2l0eSwgYW5kIHNraXAgdGhlIGZyYW1lIGlmIGl0J3MgZ29pbmcgdG8gYmUgY29tcGxldGVseQoJICBvdmVyd3JpdHRlbiBieSBhIGhpZ2hlciB6b3JkZXIgZnJhbWUuIFRoZSBjaGVjayBpcyBPKG5eMiksIGJ1dCB0aGF0IGRvZXNuJ3QKCSAgbWF0dGVyIGhlcmUgYmVjYXVzZSB0aGUgbnVtYmVyIG9mIHNpbmtwYWRzIGlzIHNtYWxsLgoJICBNb3JlIGNhbiBiZSBkb25lIHRvIGF2b2lkIG5lZWRsZXNzIGRyYXdpbmcsIGJ1dCB0aGlzIGNvdmVycyB0aGUgbWFqb3JpdHkgb2YKCSAgY2FzZXMuIFNlZSBUT0RPcy4gSWRlYWxseSwgYSByZXZlcnNlIHBhaW50ZXIncyBhbGdvcml0aG0gc2hvdWxkIGJlIHVzZWQgZm9yCgkgIG9wdGltYWwgZHJhd2luZywgYnV0IG1lbWNweSBkdXJpbmcgY29tcG9zaXRpbmcgaXMgc21hbGwgY29tcGFyZWQgdG8gdGhlIENQVSB1c2VkCgkgIGZvciBmcmFtZSBjb252ZXJzaW9uIG9uIGVhY2ggcGFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTQ3CgoyMDE1LTA0LTMwIDE5OjA4OjI1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IEZpeCBzb3VyY2UgY2FwcyB0byByZXBvcnQgY3JvcHBlZCBkaW1lbnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTU6MzQ6NDAgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogRml4IHRoZSBtZW1vcnkgZnJlZWluZyBvZiBzdG9yZWQgVlBTIG5hbHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0zMCAxODozNjozNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggcHJvZmlsZSwgdGllciBhbmQgbGV2ZWwgc2V0dGluZyBpbiBjYXBzCgkgIERvbid0IHVzZSB0aGUgYXBpcyBpbiBjb2RlYy11dGlscyB0byBleHRyYWN0IHRoZSBwcm9maWxlLHRpZXIgYW5kIGxldmVsCgkgIHN5bnRheCBlbGVtZW50cyBzaW5jZSBpdCBpcyB3cm9uZyBpZiB0aGVyZSBhcmUgZW11bGF0aW9uIHByZXZlbnRpb24KCSAgYnl0ZXMgZXhpc3RpbmcgaW4gdGhlIGJ5dGUtc3RyZWFtIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTcgMTU6MTU6MzMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IG5hbCB1bml0IHNpemUgY2hlY2tpbmcKCSAgVGhlIEVPUyBhbmQgRU9CIG5hbHMgaGF2ZSB0aGUgc2l6ZSAyIHdoaWNoIGlzIHRoZSBzaXplIG9mCgkgIG5hbCB1bml0IGhlYWRlciBpdHNlbGYuIFRoZSBnc3RfaDI2NV9wYXJzZXJfaWRlbnRpZnlfbmFsdSgpCgkgIGlzIG5vdCByZXF1aXJlZCB0byBzY2FuIHN0YXJ0IGNvZGUgYWdhaW4gaW4gdGhpcyBjYXNlLgoJICBJbiBvdGhlciBjYXNlcywgZm9yIGEgdmFsaWQgbmFsdW5pdCB0aGUgbWluaW11bSByZXF1aXJlZCBzaXplCgkgIGlzIDMgYnl0ZXMgKDIgYnl0ZSBoZWFkZXIgYW5kIGF0IGxlYXN0IDEgYnl0ZSBSQlNQIHBheWxvYWQpCgoyMDE1LTA0LTE3IDE1OjAzOjM0ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyOiBoMjY1OiBDYWxjdWxhdGUgY3JvcCByZWN0YW5nbGUgZGltZW5zaW9ucwoKMjAxNS0wNC0xNyAxNTowMTo1NyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHBhcnNpbmcgbXVsdGlwbGUgU0VJIG1lc3NhZ2VzIGluIGEgc2luZ2xlIFNFSSBOYWwKCSAgQW4gU0VJIE5hbCBjYW4gaGF2ZSBtb3JlIHRoYW4gb25lIFNFSSBtZXNzYWdlLgoJICBDaGFuZ2UgaW4gQVBJOiB0aGUgZ3N0X2gyNjVfcGFyc2VyX3BhcnNlX3NlaSgpCgoyMDE1LTA0LTMwIDIxOjMyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBNYWtlIHN1cmUgdG8gc2VuZCBjYXBzIGV2ZW50cyBkb3duc3RyZWFtIGJlZm9yZSBhbnkgc2VnbWVudCBldmVudHMKCSAgVXBzdHJlYW0gbWlnaHQgbm90IGdpdmUgdXMgYSBjYXBzIGV2ZW50IChkdGxzc3J0cGRlYykgYmVjYXVzZSBpdCBtaWdodCBiZSBhbgoJICBSVFAvUlRDUCBtaXhlZCBzdHJlYW0sIGJ1dCB3ZSBzcGxpdCB0aGUgdHdvIHN0cmVhbXMgYW55d2F5IGFuZCBzaG91bGQgcmVwb3J0CgkgIHByb3BlciBjYXBzIGRvd25zdHJlYW0gaWYgcG9zc2libGUuCgkgIEZpeGVzICJzdGlja3kgZXZlbnQgbWlzb3JkZXJpbmciIHdhcm5pbmdzIHdpdGggZHRsc3NydHBkZWMuCgoyMDE1LTA0LTMwIDEwOjUwOjE5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgcnRqcGVnOiByZW1vdmUgdW51c2VkIHF1YWxpdHkgcHJvcGVydHkKCjIwMTUtMDQtMzAgMTE6MTU6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiByZWFkZCBnbHVwbG9hZC9kb3dubG9hZCBvbnRvIGVsZW1lbnQgcGFkcwoJICBBbGxvd3MgaW5zZXJ0aW9uIG9mIGdsIGVsZW1lbnRzIGludG8gbm9uLWdsIHBpcGVsaW5lcyB3aXRob3V0IGNvbnZlcnRlcgoJICAodXBsb2FkL2Rvd25sb2FkKSBlbGVtZW50cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mzk3NAoKMjAxNS0wNC0yOSAyMjo1NTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgUmV2ZXJ0ICJnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGZiNTY3MzhhMTQzOTFmMjQ4YWEwYmU4NzU2YWRlYWY5NzhiYWEwYy4KCjIwMTUtMDQtMjkgMjI6Mzg6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBpbXBsZW1lbnQgYXMgYSBiaW4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOGEwMDE3ZTIxZDVmOWE4NTA3ZjA1OTNjNmIyNGY3MjNhYTQxNTI1OC4KCjIwMTUtMDQtMjkgMjI6MzI6MzMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBSZXZlcnQgImdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRiZTQ1ZTVmMzBkYzYxMjFmMjc2OTMyMzYwMzQ0N2Y1OTFjYTRhMGEuCgoyMDE1LTA0LTI5IDIyOjMyOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgUmV2ZXJ0ICJnbGltYWdlc2luazogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvbiB0aGUgYmluIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDJiYTZiYjliOTMyNWI2M2Y1OGE5ZmYwYjJjODJmYTI4NzU5ZGNhYmMuCgoyMDE1LTA0LTI5IDA5OjU3OjUyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogZG9uJ3QgdGltZXN0YW1wIGJ1ZmZlcnMgZm9yIG11eGVkIHN0cmVhbXMKCjIwMTUtMDQtMjkgMjE6Mzc6NTYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICBrc3ZpZGVvc3JjOiBmaXggaGVhZGVyIHNpemUgZm9yIG11eGVkIHN0cmVhbXMKCjIwMTUtMDQtMjkgMTk6Mzk6MTQgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBudW1iZXIgb2YgdGlsZSByb3dzL2NvbHVtbnMgcGFyc2luZwoJICBUaGUgcG9zc2libGUgbWluaW11bSB2YWx1ZSBmb3IgbnVtX3RpbGVfY29sdW1uc19taW51czEgYW5kIG51bV90aWxlX3Jvd3NfbWludXMxCgkgIGlzIHplcm8gKDcuNC4zLjMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NjQxCgoyMDE1LTA0LTI5IDE3OjIwOjU4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgbWl4bWF0cml4OiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbXMKCSAgVGhlc2UgdHdvIHByb3BlcnRpZXMgaGF2ZSBiZWVuIHRoZXJlIHNpbmNlIHRoZSBvcmlnaW4gb2YgdGhlIGVsZW1lbnQgYnV0IHRoZXkKCSAgYXJlbid0IHVzZWQuIFJlbW92aW5nIHRoZW0uCgoyMDE1LTA0LTI5IDE1OjQxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBGaXggY29tcGFyaXNpb24gbG9naWMKCSAgV2UgY2FuJ3QgYW5zd2VyIHRoZSBTRUVLSU5HIHF1ZXJ5IGlmIHdlIGRvICpub3QqIGhhdmUgdGhlIG1hbmlmZXN0CgoyMDE1LTA0LTI5IDEwOjU2OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkgIGFpZmY6IFJlLWFkZCBub2luc3RfSEVBREVSUyBpbnN0cnVjdGlvbgoJICBXYXMgcmVtb3ZlZCBpbiB0aGUgcHJldmlvdXMgYW5kcm9pZCBjbGVhbnVwIGNvbW1pdAoKMjAxNS0wNC0yOCAyMTo0Mzo1NiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc2RldmljZXByb3ZpZGVyLmM6CgkqIHN5cy93aW5rcy9rc2RldmljZXByb3ZpZGVyLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJICBHc3REZXZpY2VQcm92aWRlciBpbXBsZW1lbnRhdGlvbiBmb3IgV0lOIEtlcm5lbCBTdHJlYW1pbmcgcGx1Z2luCgkgIGdzdF9rc19kZXZpY2VfcHJvdmlkZXJfcHJvYmUoKSBpcyBhIG5vLWJyYWllciwganVzdCBydW5zIGtzX2VudW1lcmF0ZV9kZXZpY2VzKCkKCSAgYW5kIHJlcG9ydHMgdGhlIHJlc3VsdHMuCgkgIE1vbml0b3JpbmcgaXMgYSBiaXQgbW9yZSB0cmlja3kuIFdlIGhhdmUgdG8gY3JlYXRlIGEgZHVtbXkgbWVzc2FnZS1wcm9jZXNzaW5nCgkgIHdpbmRvdyBhbmQgcmVnaXN0ZXIgZGV2aWNlIGNoYW5nZSBub3RpZmljYXRpb25zIGZvciBpdC4KCSAgQXMga2VybmVsIHN0cmVhbWluZyBjYW4gKGFuZCBzaG91bGQpIGJlIHVzZWQgZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIGF1ZGlvCgkgIHBsYXliYWNrLCB0aGlzIGNoYW5nZSBhbHNvIGhhcyBjZXJ0YWluIHBsYWNlaG9sZGVycyBmb3Igc3VjaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Nzc1NwoKMjAxNS0wNC0yOSAwMjozMDowNSArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBDYWNoZSBjYXBzIGZvciBwYXNzaW5nIHRvIHRoZSBjbGllbnQgZHJhdyBjYWxsCgkgIERvbid0IGNvbnZlcnQgdGhlIEdzdFZpZGVvSW5mbyB0byBjYXBzIG9uIGV2ZXJ5IGRyYXcgY2FsbCwKCSAganVzdCBjYWNoZSB0aGUgY2FwcyBhbmQgcGFzcyB0aGVtIGludG8gdGhlIEdzdFNhbXBsZS4KCjIwMTUtMDQtMjkgMDI6MjA6MDkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBNYWtlIHVwbG9hZCBtZXRob2Qgc3RhdGljIGNhcHMgbm9uLWNvbnN0LgoJICBSZXRyaWV2aW5nIGEgR3N0U3RhdGljQ2FwcyBkb2VzIGEgb25lIHRpbWUgaW50ZXJuYWwKCSAgaW5pdGlhbGlzYXRpb24gYW5kIGNhY2hlcyBpdCAtIHRoZXkgY2FuJ3QgYmUgc3RvcmVkIGFzCgkgIGNvbnN0IHN0cnVjdHVyZXMuCgoyMDE1LTA0LTI4IDE3OjI0OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGZpeCBpbmNsdWRlcyBhbmQgY29tcGlsYXRpb24gYWdhaW5zdCBvcHVzIGluIG5vbi1zdGFuZGFyZCBwcmVmaXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODU5NAoKMjAxNS0wNC0yOCAxNjo1ODoyMSArMDIwMCAgTWVyc2FkIEplbGFjaWMgPG1lcnNhZEBheGlzLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MKCSAgVXNlIHRoZSBoZWxwZXIgZnVuY3Rpb24gYXZhaWxhYmxlIGluIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg1ODUKCjIwMTUtMDQtMjggMTY6MDY6NDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGRlMjY1ZGVjOiB1c2UgZ19nZXRfbnVtX3Byb2Nlc3NvcnMoKSBpZiBhdmFpbGFibGUKCSAgQW5kIHByb3ZpZGUgaG9tZS1tYWRlIGZhbGxiYWNrIGZvciBvbGRlciBHTGliIHZlcnNpb25zLAoJICBzbyB0aGF0IHdlIGNhbiBsYXRlciBmaW5kIHRoZXNlIGFuZCByZW1vdmUgdGhlbSB3aGVuCgkgIHdlIGJ1bXAgdGhlIEdMaWIgcmVxdWlyZW1lbnQgKHdoaWNoIGlzIGNlcnRhaW5seSBnb2luZwoJICB0byBoYXBwZW4gYmVmb3JlIDIuMCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0OTUKCjIwMTUtMDQtMjggMTY6MDI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGdzdDogcmVtb3ZlIHNvbWUgdW5uZWNlc3NhcnkgZ2xpYiB2ZXJzaW9uIGNoZWNrcwoJICBXZSByZXF1aXJlIDIuMzIsIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGFueXRoaW5nIG9sZGVyCgkgIHRoYW4gdGhhdC4KCjIwMTUtMDQtMjggMTE6Mjg6MzkgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IGZpeCBkZXNjcmlwdG9yIGxlYWsKCSAgRnJlZSB0aGUgZXhpc3RpbmcgZGVzY3JpcHRvciBhcnJheSwgaWYgYW55LCBiZWZvcmUgcmVwbGFjaW5nIGl0LgoJICBGaXggbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5wbGF5YmFjay5zY3J1Yl9mb3J3YXJkX3NlZWtpbmcudGVzdC1tcGVnMi1tcDNfbXhmIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTgwCgoyMDE1LTA0LTI4IDEwOjEzOjM1ICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCB0YWdsaXN0IGxlYWsKCSAgSWYgdGhlIHN0cmVhbSB3aGljaCBpcyBhYm91dCB0byBiZSByZW1vdmVkIHN0aWxsIGhhcyBhIHJlZiBvbiBhIHRhZyBsaXN0IHdlCgkgIHNob3VsZCBkcm9wIGl0LgoJICBGaXggYSBsZWFrIHdoaWNoIHdhcyBvY2Nhc2lvbmFsbHkgaGFwcGVuaW5nIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUucGxheWJhY2suY2hhbmdlX3N0YXRlX2ludGVuc2l2ZS50cm9uX2VuX2dlX2FhY19oMjY0X3RzIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTc2CgoyMDE1LTA0LTI3IDIyOjQ0OjI4ICswOTAwICBKaW1teSBPaG4gPHlvbmdqaW4ub2huQGxnZS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggZmluZF9zdWJ0YWJsZSgpIHJldHVybiB2YWx1ZQoJICBmaW5kX3N1YnRhYmxlKCkgcmV0dXJucyBhIHBvaW50ZXIsIHNvIHJldHVybiBOVUxMIGFuZAoJICBub3QgRkFMU0Ugd2hlbiBub3RoaW5nIGlzIGZvdW5kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NTI3CgoyMDE1LTA0LTI4IDE0OjUyOjM2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZGVmcwoKMjAxNS0wNC0yOCAyMDo0Njo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgdW5lZWRlZCB1bnJlZgoJICBUaGUgY2FsbCB0byBfZ2xfbWVtX2FsbG9jX2RhdGEgd2lsbCB1bnJlZiBhbmQgTlVMTGlmeSAnZGVzdCcgZm9yIHVzLgoJICBXZSBqdXN0IG5lZWQgdG8gcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTA0LTI4IDA5OjM3OjU5ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBVc2UgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMgaW4gOjpnZXRfY2FwcygpCgoyMDE1LTA0LTI4IDIwOjExOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsc2lua2Jpbi5jOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsdXBsb2FkOiBwcm92aWRlIHRoZSBzaW5rIHRlbXBsYXRlIGNhcHMgdGhhdCBjb3VsZCBiZSB1c2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzOTkKCjIwMTUtMDQtMjcgMTk6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogYWRkIHpvb20gcHJvcGVydHkgdG8gVUkKCSAgQWRkIGEgc2xpZGVyIHRvIG1vZGlmeSB0aGUgem9vbSBpbiBjYW1lcmFiaW4KCjIwMTUtMDQtMjcgMTg6MzM6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIudWk6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhOiByZW1vdmUgd2lkZ2V0cyBkZXByZWNhdGVkIGluIEdUSzMuMAoJICBWQm94IGFuZCBIQm94IGFyZSBub3cgc2ltcGx5IEJveAoKMjAxNS0wNC0yNyAxNTo0MTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogZ3N0LWNhbWVyYTogdXBkYXRlIHRvIEdUSzMKCSAgV2hlbiBvcGVuaW5nIHRoZSAudWkgZmlsZSBpdCBjb21wbGFpbnMgYWJvdXQgYmVpbmcgZm9yIEdUSyAyIGFuZAoJICBhdXRvbWF0aWNhbGx5IHVwZGF0ZXMgaXQgdG8gR1RLMy4gQ29tbWl0IHRoaXMgdmVyc2lvbiBhbmQgdXBkYXRlCgkgIHRoZSBtYWtlZmlsZQoKMjAxNS0wNC0yNyAxMzo0MTo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgVGhlIHN0cnVjdHVyZSBpcyBjcmVhdGVkIGFuZCBuZXZlciB1c2VkIGFueW1vcmUuIFJlbW92ZSBpdC4KCjIwMTUtMDQtMjcgMTM6MjQ6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1c2UgZGlnaXRhbHpvb20gZWxlbWVudAoJICBSZXBsYWNlIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyIHdpdGggdGhlIGRpZ2l0YWx6b29tCgkgIGJpbiB0aGF0IGhhcyB0aGUgc2FtZSBwaXBlbGluZSBpbnRlcm5hbGx5IGFuZCBhbHJlYWR5IHVwZGF0ZXMKCSAgdGhlIGNhcHNmaWx0ZXIgYXV0b21hdGljYWxseSB3aGVuIGNhcHMgY2hhbmdlLCByZW1vdmluZyB0aGlzIGNvZGUKCSAgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIGFuZCBtYWtpbmcgaXQgY2xlYW5lci4KCjIwMTUtMDQtMjcgMjE6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBjaGFuZ2UgdmlkZW9jcm9wIHBhcmFtZXRlcnMgYmVmb3JlIHBhc3NpbmcgY2FwcyBldmVudAoJICBBdm9pZHMgb25lIGV4dHJhIHVuZWVkZWQgcmVuZWdvdGlhdGlvbiBpZiB0aGUgZWxlbWVudHMgYXJlIGFscmVhZHkKCSAgY29uZmlndXJlZCB0byB0aGVpciBmaW5hbCBwcm9wZXJ0eSB2YWx1ZXMgd2hlbiB0aGUgY2FwcyBldmVudAoJICBnb2VzIHRocm91Z2guCgkgIEFsc28gYXZvaWRzIGhpdHRpbmcgYnVnIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgzNDQKCjIwMTUtMDQtMjIgMTM6MDY6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGRpZ2l0YWx6b29tLmM6CgkgIGRpZ2l0YWx6b29tOiBhbHNvIHNraXAgaW50ZXJuYWwgcGlwZWxpbmUgaW4gdXBzdHJlYW0gY2FwcyBxdWVyeQoJICBUbyBhdm9pZCBnb2luZyB0aHJvdWdoIG91ciBjYXBzZmlsdGVyIHdoaWNoIHdvdWxkIGxpbWl0IHRoZSBjaG9pY2VzLgoKMjAxNS0wNC0yMiAxMzowNTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0ZGlnaXRhbHpvb20uYzoKCSAgZGlnaXRhbHpvb206IHByZXZlbnQgYXNzZXJ0aW9uIHdoZW4gY2FwcyBpcyBhbnkKCjIwMTUtMDQtMjEgMjM6MTA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RkaWdpdGFsem9vbS5oOgoJICBjYW1lcmFiaW46IGRpZ2l0YWx6b29tOiBjcmVhdGUgYSBiaW4gZWxlbWVudCBmb3IgZGlnaXRhbCB6b29taW5nCgkgIEl0IGNvbnRhaW5zIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyIGFuZCBpbXBsZW1lbnRzIGRpZ2l0YWwKCSAgem9vbWluZy4KCSAgQXQgdGhpcyBtb21lbnQsIGl0IGlzIGEgcHJpdmF0ZSBlbGVtZW50IG9mIHRoZSBjYW1lcmFiaW4gcGx1Z2luLgoJICBUaGlzIHdpbGwgcmVtb3ZlIHNvbWUgY29kZSB1c2VkIGluIHdyYXBwZXJjYW1lcmFiaW5zcmMgdG8gbWFrZQoJICBjb2RlIGNsZWFyZXIgYW5kIGRpZ2l0YWx6b29tIGNhbiBwb3RlbnRpYWxseSBiZSB1c2VkIGJ5IG90aGVyCgkgIGFwcGxpY2F0aW9ucyBpbiB0aGUgZnV0dXJlLCBpdCBoYXMgbm90aGluZyBjYW1lcmFiaW4gc3BlY2lmaWMuCgoyMDE1LTA0LTI3IDEwOjExOjQxIC0wNDAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBVc2UgbWF4aW11bSBiaXRzIHBlciBjb2xvciBpbnN0ZWFkIG9mIG1pbmltdW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQyNQoKMjAxNS0wNC0yNiAyMDo1NTowMyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBXMzIgdGhyZWFkIGNvdW50IHN1cHBvcnQKCSAgVGhpcyBjb2RlIGlzIGltcG9ydGVkIGZyb20gR0xpYiBnX2dldF9udW1fcHJvY2Vzc29ycygpLiBUaGlzIGZ1bmN0aW9uCgkgIHdhcyBhZGRlZCBpbiAyLjM2IGJ1dCB3ZSBkZXBlbmQgb24gMi4zMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NQoKMjAxNS0wNC0yNiAyMTowMDowNiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmM6CgkgIGxpYmRlMjY1OiBGaXggZm9ybWF0IHN0cmluZyBmb3IgZ3NpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQ5NgoKMjAxNS0wNC0yNiAyMTowMzo0NSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5kc3A6IERvbid0IHVzZSB0aGUgcHJpdmF0ZSBmaWVsZCAnbWlzc2luZ19zYW1wbGVzJwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDk3CgoyMDE1LTA0LTI3IDE0OjU2OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZW1vdmUgdW51c2VkIHByb3BlcnR5IGVudW0gaXRlbQoJICBUaGUgcHJvcGVydHkgZW51bSBpdGVtIGhhcyBiZWVuIHRoZXJlIHNpbmNlIHRoZSBvcmlnaW4gb2YgdGhlIGVsZW1lbnQgYnV0IGl0CgkgIGhhcyBuZXZlciBiZWVuIHVzZWQuIFJlbW92aW5nIGl0LgoKMjAxNS0wNC0yNyAxNDo0OTo1OSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiBEb24ndCBpbml0aWFsaXplIG11bHRpcGxlIHNoYWRlcnMgb24gcmVuZWdvdGlhdGlvbgoKMjAxNS0wNC0yNyAxMDo1NToxMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgUmVuYW1lIHByb3BlcnR5IGVudW1zIGZyb20gQVJHXyB0byBQUk9QXwoJICBQcm9wZXJ0eSBlbnVtIGl0ZW1zIHNob3VsZCBiZSBuYW1lZCBQUk9QXyBmb3IgY29uc2lzdGVuY3kgYW5kIHJlYWRhYmlsaXR5LgoKMjAxNS0wNC0yNyAxMDoyNDowMCArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogUmVtb3ZlIHVudXNlZCBzdG9wIGZ1bmN0aW9uCgoyMDE1LTA0LTI3IDE2OjA0OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVucmVmIHRoZSBwb29sIGluIHRoZSBjb3JyZWN0IHBsYWNlCgkgIE90aGVyd2lzZSB3ZSBjb3VsZCBob2xkIGEgcG9vbCB0byBhIGNvbnRleHQgdGhhdCBpcyBuZXZlciBnb2luZyB0byBiZSB1c2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA1CgoyMDE1LTA0LTI3IDEwOjAxOjUzICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogVW5yZWYgc2hhZGVyIGluIDo6c3RvcCgpCgoyMDE1LTA0LTI3IDE1OjIwOjU2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbDogdW5yZWYgZGlzcGxheS9vdGhlci1jb250ZXh0IGluIHRoZSBjb3JyZWN0IHBsYWNlCgkgIE90aGVyd2lzZSBzdGF0ZSBjaGFuZ2VzIGZyb20gUExBWUlORy0+UkVBRFktPlBBVVNFRCB3aWxsIGNhdXNlIHRoZXJlIHRvCgkgIHRvIGJlIG5vIGRpc3BsYXkgY29uZmlndXJlZCBvbiB0aGUgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODQwNQoKMjAxNS0wNC0xMCAxNDowODo0MyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjU6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzCgkgIEFkZCB1dGlsaXR5IGZ1bmN0aW9ucyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBmcm9tIHppZy16YWcgc2NhbgoJICBvcmRlciBpbnRvIHJhc3RlciBzY2FuIG9yZGVyIGFuZCB2aWNlLXZlcnNhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDc6NTYgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogc2tpcCBieXRlIGFsaWdubWVudCBiaXRzIHdoaWxlIHBhcnNpbmcgc2xpY2UgaGVhZGVyCgkgIFNraXAgdGhlIGJ5dGUgYWxpZ25tZW50IGJpdHMgYXMgcGVyIHRoZSBsb2dpYyBvZiBieXRlX2FsaWdubWVudCgpCgkgIHByb3ZpZGVkIGluIGhldmMgc3BlY2lmaWNhdGlvbi4gVGhpcyB3aWxsIGZpeCB0aGUgY2FsY3VsYXRpb24gb2YKCSAgc2xpY2UgaGVhZGVyIHNpemUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc2MTMKCjIwMTUtMDQtMTAgMTQ6MDc6MzUgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcjogaDI2NTogRml4IHRoZSBOdW1EZWx0YVBvY3MgY2FsY3VsYXRpb24KCSAgQWx3YXlzIHVzZSB0aGUgZXF1YXRpb24gcHJvdmlkZWQgaW4gc3BlYyAoNy01NykgZm9yIGZpbmRpbmcKCSAgdGhlIE51bURlbHRhUG9jcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDE0OjA0OjE3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCB0aGUgTnVtUG9jVG90YWxDdXJyIGNhbGN1bGF0aW9uCgkgIFRoZSBOdW1Qb2NUb2FsQ3VyciBzaG91bGQgYmUgY2FsY3VsYXRlZCBmb3IgYWxsIEIgYW5kIFAgc2xpY2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NjEzCgoyMDE1LTA0LTEwIDEzOjU5OjUwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IGgyNjU6IEZpeCBuYWwgc2l6ZSBjYWxjdWxhdGlvbiBmb3IgRU9TIGFuZCBFT0IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzYxMwoKMjAxNS0wNC0yNiAyMTo0MjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBEZS1jYW1lbGNhc2Ugb25Jbml0RkJPKCkgdmZ1bmMKCjIwMTUtMDQtMjYgMjE6Mzk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGV4dC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbGZpbHRlcjogUmVtb3ZlIG9uU3RhcnQvb25TdG9wIHZmdW5jcywgYW5kIHVudXNlZCBvblJlc2V0KCkKCSAgb25TdGFydC9vblN0b3AgYXJlIGp1c3QgZHVwbGljYXRlcyBvZiB0aGUgYmFzZXRyYW5zZm9ybSBvbmVzLCBvblJlc2V0CgkgIHdhcyBuZXZlciBjYWxsZWQgYnV0IHdhcyB1c2VkIGV2ZXJ5d2hlcmUgd2hlbiBzdG9wIHNob3VsZCd2ZSBiZWVuIHVzZWQuCgoyMDE1LTA0LTIxIDA5OjQzOjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBkb24ndCBpbml0aWFsaXplIG11bHRpcGxlIHNoYWRlcnMgb24gcmVuZWdvdGlhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4NDA3CgkgICogZGVsZXRlIHNoYWRlciBpZiBvbmUgZXhpc3RzCgkgICogc2V0IGl0IHRvIE5VTEwgYWZ0ZXIgdW5yZWZpbmcKCjIwMTUtMDQtMjYgMjE6MTE6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbGNvbG9yY29udmVydGVsZW1lbnQuYzoyMzA6MTk6IGVycm9yOiB1bnVzZWQgdmFyaWFibGUgJ2luX3N0cnVjdHVyZScKCSAgWy1XZXJyb3IsLVd1bnVzZWQtdmFyaWFibGVdCgkgIEdzdFN0cnVjdHVyZSAqaW5fc3RydWN0dXJlID0gZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSAoY2FwcywgMCk7CgkgIF4KCjIwMTUtMDQtMTUgMDE6MjQ6NDUgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZHJvcCBmcmFtZXMgd2UgZ2V0IGJlZm9yZSB3ZSBoYXZlIGEgY2xvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODA1NAoKMjAxNS0wNC0yNiAyMDozMzo0MSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJICBnbGJhc2VmaWx0ZXI6IFVucmVmIG90aGVyIGNvbnRleHQgaW4gZmluYWxpemUsIGFuZCBkaXNwbGF5IGluIFJFQURZLT5OVUxMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDg0MDUKCjIwMTUtMDQtMTkgMTk6MTY6NTUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBLZWVwIGNvbG9yaW1ldHJ5IGFuZCBjaHJvbWEtc2l0ZSBmaWVsZHMgaWYgcGFzc3Rocm91Z2gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODE0MQoKMjAxNS0wNC0yNiAxODowNDoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZnhiYWQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVybGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSogZ3N0L2pwMmtkZWNpbWF0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc21vb3RoL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIG9ic29sZXRlIEFuZHJvaWQgYnVpbGQgY3J1ZnQKCSAgVGhpcyBpcyBub3QgbmVlZGVkIGFueSBsb25nZXIuCgoyMDE1LTA0LTE5IDAwOjU1OjUwICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICB2dGRlYzogZml4IGJ1aWxkIGVycm9yIHdpdGggY2xhbmcKCSAgVGhpcyBjb21taXQgZml4ZXMgYSBzaW1wbGUgYnVpbGQgZXJyb3IgYnkgY2xhbmcgd2l0aAoJICBieSBjbGFuZyB3aXRoIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLXBvaW50ZXItY29tcGFyZV0gb3B0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODExMAoKMjAxNS0wNC0yNiAxOTowODowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogT25seSBhbnN3ZXIgdGhlIGR1cmF0aW9uIHF1ZXJ5IGluIG5vbi1saXZlIG1vZGUKCjIwMTUtMDQtMjUgMTg6NTA6NTIgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9wbHVnaW4uYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggdGhlIGxpY2Vuc2UgZnJvbSBHUEwgdG8gTEdQTAoJICBUaGlzIHdhcyBhIGNvcHknbidwYXN0ZSBidWYgaW4gdGhlIGluaXRpYWwgY29tbWl0IGRvbmUgYnkgbXlzZWxmLgoKMjAxNS0wNC0yNSAxODo0Njo0MSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXggdGhlIGxpY2Vuc2UgZnJvbSBHUEwgdG8gTEdQTAoJICBUaGlzIHdhcyBhIGNvcHknbidwYXN0ZSBidWYgaW4gdGhlIGluaXRpYWwgY29tbWl0IGRvbmUgYnkgbXlzZWxmLgoKMjAxNS0wNC0yNSAxMzozODowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcmVtb3ZlIEdQTDMgY29kZSB3ZSBkb24ndCBuZWVkCgkgIElmIDk1JSBvZiB0aGUgY29kZSBvZiBhbiBleGFtcGxlIGFwcCBjb25zaXN0cyBvZiBHT2JqZWN0CgkgIGNvZGUsIG1heWJlIHRoYXQncyBkZWZlYXRpbmcgdGhlIHBvaW50IGEgbGl0dGxlLiBTbyBqdXN0CgkgIHJlbW92ZSBhIGxvdCBvZiB0aGF0IGFuZCB0cmltIGRvd24gdGhlIGV4YW1wbGUgdG8gdGhlCgkgIGFic29sdXRlIG1pbmltdW0uIEFsc28gcmVtb3ZlcyB0aGUgbGFzdCByZW1haW5pbmcgR1BMMwoJICBsaWNlbnNlZCBjb2RlIGluIC1iYWQuCgoyMDE1LTA0LTI1IDEyOjUyOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICBleGFtcGxlczogbW90aW9uY2VsbHM6IHNpbXBsaWZ5IHByb3BlcnR5IHNldHRpbmcKCjIwMTUtMDQtMjUgMTI6NDg6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkgIGV4YW1wbGVzOiBtb3Rpb25jZWxsczogcG9ydCB0byAxLngKCjIwMTQtMTEtMjAgMDA6MzM6NDQgKzAxMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuaDoKCSAgZXhhbXBsZXM6IG1vdGlvbmNlbGxzOiByZWxpY2Vuc2Ugb3BlbmN2IGV4YW1wbGUgdG8gTEdQTHYyCgoyMDE1LTA0LTI0IDE0OjA0OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYWRkIHRlc3RzIGZvciBHc3RQaG90b2dyYXBoeSBpbWFnZSBjYXB0dXJlCgkgIEdzdFBob3RvZ3JhcGh5IGVuYWJsZXMgbmV3IHBhdGhzIGluIHdyYXBwZXJjYW1lcmFiaW5zcmMgdGhhdCBhbGxvd3MKCSAgdGhlIHNvdXJjZSB0byBiZSBub3RpZmllZCBhYm91dCB0aGUgY2FwdHVyZSBjYXBzIGFuZCBwcm92aWRlIGFuCgkgIGFsdGVybmF0aXZlIGNhcHMgaWYgZGVzaXJlZCBieXBhc3NpbmcgdGhlIG5lZ290aWF0aW9uICh0aGlzIGRvZXNuJ3QKCSAgc2VlbSBsaWtlIGEgZ29vZCBpZGVhIHRoZXNlIGRheXMpLiBUbyBtYWtlIHN1cmUgaXQga2VlcHMgd29ya2luZwoJICB1bnRpbCB3ZSByZW1vdmUgaXQgZnJvbSB0aGUgQVBJIGluIGZhdm9yIG9mIHN0YW5kYXJkIGNhcHMgbmVnb3RpYXRpb24KCSAgZmVhdHVyZXMgdGhpcyB0ZXN0IHdhcyBhZGRlZC4KCSAgSXQgYWRkcyAzIGV4dHJhIHRlc3RzIHdpdGggYSBzaW1wbGUgdGVzdCBzb3VyY2UgdGhhdCB3aWxsOgoJICAxKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggQU5ZIGNhcHMgd29yawoJICAyKSBUZXN0IHRoYXQgY2FwdHVyaW5nIHdpdGggYSBmaXhlZCBjYXBzIHdvcmsKCSAgMykgVGVzdCB0aGF0IGNhcHR1cmluZyB3aXRoIGEgZml4ZWQgY2FwcyBhbmQgaGF2aW5nIHRoZSBzb3VyY2UKCSAgcGljayBhIGRpZmZlcmVudCByZXNvbHV0aW9uIGZyb20gR3N0UGhvdG9ncmFwaHkgQVBJIHdvcmtzCgkgIGJ5IGhhdmluZyB3cmFwcGVyY2FtZXJhYmluc3JjIGNyb3AgdGhlIGNhcHR1cmUgdG8gdGhlIGZpbmFsCgkgIHJlcXVlc3RlZCBkaW1lbnNpb25zCgoyMDE1LTA0LTI0IDE0OjE5OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmV3b3JrIGNyb3BwaW5nIGZvciB6b29tIGFuZCBkaW1lbnNpb24gcmVkdWN0aW9uCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgaGFzIGEgdmlkZW9jcm9wIGVsZW1lbnQgdG8gYmUgdXNlZCBmb3IKCSAgem9vbWluZyBhbmQgZm9yIGNyb3BwaW5nIHdoZW4gaW5wdXQgY2FwcyBpcyBkaWZmZXJlbnQgd2hlbiB1c2VkCgkgIHdpdGggdGhlIEdzdFBob3RvZ3JhcGh5IGludGVyZmFjZS4gVGhlIHpvb21pbmcgcGFydCBuZWVkcwoJICB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJICBjYXBzZmlsdGVyICEgdmlkZW9jcm9wICEgdmlkZW9zY2FsZSAhIGNhcHNmaWx0ZXIKCSAgVGhlIGNhcHNmaWx0ZXJzIHNob3VsZCBhbHdheXMgaGF2ZSB0aGUgc2FtZSBjYXBzIHRvIGVuc3VyZSB0aGUKCSAgem9vbWluZyBpcyBkb25lIGFuZCBwcmVzZXJ2ZXMgZGltZW5zaW9ucywgdW5sZXNzIHdoZW4gaXQgaXMgbmVlZGVkCgkgIHRvIGRvIG1vcmUgY3JvcHBpbmcgZHVlIHRvIGlucHV0IGRpbWVuc2lvbnMgdGhvc2UgY2FwcwoJICBuZWVkIHRvIGJlIG1vZGlmaWVkIGFjY29yZGluZ2x5IHRvIHByZXNlcnZlIHRoZSBvdXRwdXQgZGltZW5zaW9ucy4KCSAgVGhpcywgaG93ZXZlciwgbWFrZXMgaXQgaGFyZCB0byBnZXQgY2FwcyBuZWdvdGlhdGlvbiB0byB3b3JrIHByb3Blcmx5CgkgIGFzIHdlIG5lZWQgdG8gaGF2ZSBkaWZmZXJlbnQgY2FwcyBpbiB0aGUgY2Fwc2ZpbHRlcnMgdG8gYWNjb3VudCBmb3IKCSAgdGhlIGV4dHJhIGNyb3BwaW5nIG5lZWRlZC4gSXQgY291bGQgYmUgc2ltcGxlIGZvciBmaXhlZCBjYXBzIGJ1dCBpdAoJICBnZXRzIHRyaWNreSB3aXRoIHVuZml4ZWQgb25lcy4KCSAgVG8gc29sdmUgdGhpcywgdGhpcyBwYXRjaCBzcGxpdHMgdGhlIHpvb21pbmcgYW5kIGRpbWVuc2lvbiByZWR1Y3Rpb24KCSAgY3JvcHBpbmcgaW50byAyIHNlcGFyYXRlIHZpZGVvY3JvcCBlbGVtZW50cy4gVGhlIGZpcnN0IG9uZSBkb2VzCgkgIHRoZSBkaW1lbnNpb24gY3JvcHBpbmcsIHdoaWNoIGlzIG9ubHkgbmVlZGVkIHdoZW4gdGhlIEdzdFBob3RvZ3JhcGh5CgkgIEFQSSBpcyB1c2VkIGFuZCB0aGUgc291cmNlIHByb3ZpZGVzIGEgY2FwcyB0aGF0IGlzIGRpZmZlcmVudCB0aGFuCgkgIHdoYXQgaXMgcmVxdWVzdGVkLCB3aGlsZSB0aGUgc2Vjb25kIGlzIGRlZGljYXRlZCB0byB6b29tIGNyb3Agb25seS4KCSAgVGhlIGZpcnN0IHBhcnQgb2YgdGhlIHBpcGVsaW5lIGdvZXMgZnJvbToKCSAgc3JjICEgdmlkZW9jb252ZXJ0ICEgY2Fwc2ZpbHRlciAhIHZpZGVvY3JvcCAhIHZpZGVvc2NhbGUgISBjYXBzZmlsdGVyCgkgIHRvCgkgIHNyYyAhIHZpZGVvY3JvcCAhIHZpZGVvY29udmVydCAhIGNhcHNmaWx0ZXIgISB2aWRlb2Nyb3AgISB2aWRlb3NjYWxlICEgY2Fwc2ZpbHRlcgoJICBJdCBtaWdodCBhZGQgYW4gZXh0cmEgb3ZlcmhlYWQgaW4gdGhlIGltYWdlIGNhcHR1cmUgYXMgdGhlIGltYWdlIG1pZ2h0IG5lZWQKCSAgdG8gYmUgY3JvcHBlZCB0d2ljZSBidXQgdGhpcyBjYW4gYmUgc29sdmVkIGJ5IGVuYWJsaW5nIHZpZGVvY3JvcCB0byB1c2UKCSAgY3JvcCBtZXRhcyBzbyBvbmx5IHRoZSBsYXRlciBvbmUgZG9lcyB0aGUgcmVhbCBjcm9wcGluZy4KCSAgSXQgYWxzbyBtYWtlcyB0aGUgY29kZSBhIGJpdCBzaW1wbGVyLgoKMjAxNS0wNC0yNCAxNDoxNzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiByZW1vdmUgb2Jzb2xldGUgY29tbWVudAoJICBUaGlzIGlzIGFscmVhZHkgaGFuZGxlZCBpbiBhbm90aGVyIHBsYWNlIGFuZCBkb2Vzbid0IG1ha2Ugc2Vuc2UKCSAgaW4gdGhlIGZ1bmN0aW9uIGNvbnRleHQgYW55bW9yZQoKMjAxNS0wNC0yNCAxNDoxNjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBlcnJvciBvdXQgaWYgc291cmNlIGZhaWxzIHRvIHByZXBhcmUgZm9yIGNhcHR1cmUKCSAgUG9zdCBhbiBlcnJvciB3aGVuIHByZXBhcmluZyB0aGUgaW1hZ2UgY2FwdHVyZSB0aHJvdWdoIHBob3RvZ3JhcGh5CgkgIGludGVyZmFjZSBmYWlscwoKMjAxNS0wNC0yNCAxNDoxMzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBpbnRlcnNlY3QgaW5zdGVhZCBvZiBjb21wYXJlIGZvciBlcXVhbGl0eQoJICBJbnRlcnNlY3QgaXMgZW5vdWdoIHRvIGNoZWNrIGlmIHRoZSByZXF1ZXN0ZWQgY2FwcyBhcmUgY29tcGF0aWJsZQoJICB3aXRoIHdoYXQgdGhlIHNvdXJjZSBpcyBnb2luZyB0byBwcm92aWRlLiBFcXVhbGl0eSB3aWxsIGJlIHRvbyBzdHJpY3QuCgoyMDE1LTA0LTI0IDE0OjEzOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCB0eXBvCgoyMDE1LTA0LTI0IDAyOjIyOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB0ZXN0czogcmVtb3ZlIHVudXNlZCBtYWNyb3MKCSAgVGhvc2UgbWFjcm9zIHdlcmUgd2l0aCB0aGUgd3JvbmcgbmFtZSAobGlrZWx5IGEgY29weSBuIHBhc3RlIG1pc3Rha2UpCgkgIGFuZCB3ZXJlIHVudXNlZC4KCjIwMTUtMDQtMjMgMTQ6Mjg6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiByZW1vdmUgb2Jzb2xldGUgY2hlY2sgZm9yIDAuMTAgZmVhdHVyZQoKMjAxNS0wNC0yNCAxNjo0ODoyMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICByZW1vdmUgdW51c2VkIGVudW0gaXRlbXMgUFJPUF9MQVNUCgkgIFRoaXMgd2VyZSBwcm9iYWJseSBhZGRlZCB0byB0aGUgZW51bXMgZHVlIHRvIGNhcmdvIGN1bHQgcHJvZ3JhbW1pbmcgYW5kIGFyZQoJICB1bnVzZWQuCgoyMDE1LTA0LTI0IDE3OjEzOjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGJhbGFuY2UgY2hhbmdlX3N0YXRlIGRpc3BsYXkgcmVmL3VucmVmCgkgIHRoZSBkaXNwbGF5IHdhcyBiZWluZyB1bnJlZmZlZCBvbiB0aGUgaW5jb3JyZWN0IHN0YXRlIGNoYW5nZSBjYXVzaW5nCgkgIGludmFsaWQgc3RhdGUgd2hlbiBjaGFuZ2luZyBmcm9tIFBMQVlJTkcvUEFVU0VELT5SRUFEWS0+UEFVU0VEL1BMQVlJTkcuCgoyMDE1LTA0LTIzIDE3OjQzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBEb24ndCBjbGFpbSB0byBiZSBsaXZlIHdoZW4gYW5zd2VyaW5nIHRoZSBMQVRFTkNZIHF1ZXJ5CgkgIEV2ZW4gZm9yICJsaXZlIiBzdHJlYW1zIHdlIGFyZSBub3QgbGl2ZSBpbiB0aGUgR1N0cmVhbWVyIG1lYW5pbmcgb2YgdGhlIHdvcmQuCgkgIFdlIGRvbid0IHByb2R1Y2UgYnVmZmVycyB0aGF0IGFyZSB0aW1lc3RhbXBlZCBiYXNlZCBvbiB0aGVpciAiY2FwdHVyZSB0aW1lIgoJICBhbmQgb3VyIGNsb2NrLCBidXQganVzdCBiYXNlZCBvbiB3aGF0ZXZlciB0aW1lc3RhbXBzIHRoZSBzdHJlYW0gbWlnaHQgY29udGFpbi4KCSAgQWxzbyBldmVuIGlmIHdlIHdhbnRlZCB0byBjbGFpbSB0byBiZSBsaXZlLCB0aGF0IHdvdWxkbid0IHdvcmsgd2VsbCBhcyB3ZQoJICB3b3VsZCBoYXZlIHRvIHJldHVybiBHU1RfU1RBVEVfQ0hBTkdFX05PX1BSRVJPTEwgd2hlbiBnb2luZyBmcm9tIFJFQURZIHRvCgkgIFBBVVNFRCwgd2hpY2ggd2UgY2FuJ3QuIFdlIGZpcnN0IG5lZWQgZGF0YSB0byBrbm93IGlmIHdlIGFyZSAibGl2ZSIgb3Igbm90LgoKMjAxNS0wNC0yMyAxNzozOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogVXNlIHRoZSBkb3dubG9hZGVyIG9mIHRoZSBiYXNlIGNsYXNzIGluc3RlYWQgb2YgY3JlYXRpbmcgb3VyIG93bgoJICBUaGUgb25lIG9mIHRoZSBiYXNlIGNsYXNzIGlzIGNvbXBsZXRlbHkgdW51c2VkIGJlY2F1c2Ugd2Ugb3ZlcnJpZGUgYWxsCgkgIHRoZSBkb3dubG9hZGluZyBoZXJlLCBzbyBsZXQncyBqdXN0IHVzZSB0aGF0IG9uZSBpbnN0ZWFkLgoKMjAxNS0wNC0yMyAxNzozNjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRG9uJ3QgZXJyb3Igb3V0IGlmIHdlIGNhbid0IG1hdGNoIHZhcmlhbnQgcGxheWxpc3RzIGFmdGVyIHVwZGF0aW5nCgkgIEl0J3MgYmV0dGVyIHRvIGp1c3Qgc2VsZWN0IHNvbWUgcmFuZG9tIHZhcmlhbnQgcGxheWxpc3QgaW5zdGVhZCBvZiBzdG9wcGluZywKCSAgY2hhbmNlcyBhcmUgdGhhdCBpdCdzIHN0aWxsIGNvbnRpbnVpbmcgdG8gd29yayBhbmQgd2UgbWlnaHQganVzdCBoYXZlIHRvCgkgIHNlbGVjdCBhIGRpZmZlcmVudCB2YXJpYW50IGFnYWluIGxhdGVyLgoKMjAxNS0wNC0yMyAxNzozMzowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBob3cgdGhlIHBsYXlsaXN0cyBhcmUgcmVmcmVzaGVkCgkgIFdlIHNob3VsZCBvbmx5IHJlZnJlc2ggdGhlIGN1cnJlbnRseSBzZWxlY3RlZCB2YXJpYW50IHBsYXlsaXN0IChpZiBhbnksCgkgIG90aGVyd2lzZSB0aGUgbWFpbiBwbGF5bGlzdCksIG5vdCB0aGUgbWFpbiBwbGF5bGlzdC4gQW5kIG9ubHkgdHJ5IHRvCgkgIHJlZnJlc2ggdGhlIG1haW4gcGxheWxpc3QgaWYgdXBkYXRpbmcgdGhlIHZhcmlhbnQgcGxheWxpc3QgZmFpbHMuCgkgIFNvbWUgc2VydmVycyAoV293emEpIHVzZSB0aGUgcmVxdWVzdCBvZiB0aGUgbWFpbiBwbGF5bGlzdCB0byBjcmVhdGUgYQoJICAic2Vzc2lvbiIsIHdoaWNoIGlzIHRoZW4gcGFydCBvZiB0aGUgVVJJIG9mIHRoZSB2YXJpYW50IHBsYXlsaXN0IGFuZAoJICBhbHNvIHRoZSBmcmFnbWVudHMuIFJlZnJlc2hpbmcgdGhlIG1haW4gcGxheWxpc3Qgd291bGQgZ2VuZXJhdGUgYSBuZXcKCSAgc2Vzc2lvbiwgYW5kIHRoZSBzZXJ2ZXIgcmF0ZSBsaW1pdHMgdGhhdCB1c3VhbGx5LiBBbmQgYWZ0ZXIgYSBmZXcgcmV0cmllcwoJICB0aGUgc2VydmVyIGp1c3Qga2lja3MgdXMgb3V0LgoJICBBbHNvIGFzIGEgc2lkZSBlZmZlY3Qgd2Ugbm93IHVzZSB0aGUgc2FtZSBkb3dubG9hZGVyIGZvciBhbGwgcGxheWxpc3RzLCBzbwoJICB0aGF0IHdlIG9ubHkgaGF2ZSAyIGluc3RlYWQgb2YgMyBjb25uZWN0aW9ucyB0byB0aGUgc2VydmVyLiBBbmQgYWxzbwoJICBwcmV2aW91c2x5IHdlIGp1c3QgaWdub3JlZCB0aGUgZG93bmxvYWRlZCBkYXRhIGZyb20gdGhlIG1haW4gcGxheWxpc3QgdGhhdAoJICB0aGUgYmFzZSBjbGFzcyBnYXZlIHRvIHVzLgoKMjAxNS0wNC0yMyAxNzoyMjoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogQWxsb3cgc3ViY2xhc3NlcyB0byBvdmVycmlkZSBob3cgYSBuZXcgbWFuaWZlc3Qgd291bGQgYmUgZG93bmxvYWRlZAoKMjAxNS0wNC0yMyAxNzowMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBFeHBvc2UgZG93bmxvYWRlcgoJICBUaGlzIGFsbG93cyBzdWJjbGFzc2VzIHRvIHVzZSBpdCBhbmQgc2hhcmUgY29ubmVjdGlvbnMgaWYgcG9zc2libGUuCgoyMDE1LTA0LTIzIDE2OjQzOjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgVXBkYXRlIC5naXRpZ25vcmUKCjIwMTUtMDQtMjMgMTY6NDA6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGRlZmluZSBHU1RfQ0hFQ0tfVEVTVF9FTlZJUk9OTUVOVF9CRUFDT04KCSAgTWFrZSBzdXJlIHRoZSB0ZXN0IGVudmlyb25tZW50IGlzIHNldCB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6Mzk6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBhdXRvbWFrZSByZXF1aXJlbWVudCB0byAxLjE0IGFuZCBhdXRvY29uZiB0byAyLjY5CgkgIFRoaXMgaXMgb25seSByZXF1aXJlZCBmb3IgYnVpbGRzIGZyb20gZ2l0LCBwZW9wbGUgY2FuIHN0aWxsCgkgIGJ1aWxkIHRhcmJhbGxzIGlmIHRoZXkgb25seSBoYXZlIG9sZGVyIGF1dG90b29scy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03NDc2MjQKCjIwMTUtMDQtMjMgMTY6NDc6NDAgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkOiBSZWxlYXNlIGdsdXBsb2FkIGJ1ZmZlciB3aGVuIGNhcHMgYXJlIGNoYW5nZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODM3MQoKMjAxNS0wNC0yMyAxMTo0NzozNyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkgIGdhdWRpOiBkb24ndCBydW4gZ2F1c3NpYW4gZnVuY3Rpb24gaWYgc2lnbWEgaXMgMAoKMjAxNS0wNC0yMiAxOToyODozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIHRvbyBzaG9ydCBzZWdtZW50cwoJICBXaGVuIHRoZSBzZWdtZW50IGlzIHZlcnkgc2hvcnQgaXQgbWlnaHQgYmUgdGhlIGNhc2UgdGhhdCB0aGUKCSAgdHlwZWZpbmRpbmcgZmFpbHMgYW5kIHdoZW4gZmluaXNoaW5nIHRoZSBzZWdtZW50IGhsc2RlbXV4IHdvdWxkCgkgIGNvbnNpZGVyIHRoZSByZW1haW5pbmcgZGF0YSAocGVuZGluZ19idWZmZXIpIGFzIGFuIGVuY3J5cHRpb24KCSAgbGVmdG92ZXIuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYW5kIG1ha2VzIHN1cmUgYW4gZXJyb3IgaXMgcHJvcGVybHkgcG9zdGVkCgkgIGlmIHR5cGVmaW5kIGZhaWxlZCBieSByZWZhY3RvcmluZyBidWZmZXIgaGFuZGxpbmcgdG8gYSBmdW5jdGlvbgoJICBhbmQgdXNpbmcgaXQgZnJvbSB0aGUgZGF0YV9yZWNlaXZlZCBhbmQgZmluaXNoX2ZyYWdtZW50IGZ1bmN0aW9ucy4KCjIwMTUtMDQtMjIgMTk6MDQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVzZSBjb3JyZWN0IHZhcmlhYmxlIHR5cGUKCSAgZ3N0X2J1ZmZlcl9yZXNpemUgbmVlZHMgZ3NzaXplIGFuZCBub3QgZ3NpemUuIFRoaXMgbWFrZXMgZ2RiCgkgIHByaW50IGl0IGNvcnJlY3RseSB3aGVuIGRlYnVnZ2luZy4KCjIwMTUtMDQtMjIgMTc6MDg6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3NyYzogZml4IG1vZGUgYXV0b2RldGVjdGlvbgoJICBUaGUgYXV0b2RldGVjdGlvbiBtb2RlIHdhcyBicm9rZW4gYmVjYXVzZSBhIHJhY2UgY29uZGl0aW9uIGluIHRoZSBpbnB1dCBtb2RlCgkgIHNldHRpbmcuIFRoZSBtb2RlIGNvdWxkIGJlIHJldmVydGVkIGJhY2sgd2hlbiBpdCB3YXMgcmVwbGFjZWQgaW4KCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgYnkgdGhlIG9sZCBtb2RlIGluIHRoZSBtaWRkbGUgb2YgbW9kZSBjaGFuZ2VkIGNhbGxiYWNrLgoKMjAxNS0wNC0yMiAxNzowNDoyNSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGRvIG5vdCByZXBlYXQgZmlyc3QgdmlkZW8gZm9ybWF0IGluIGNhcHMgdGVtcGxhdGUKCSAgVGhlIGZpcnN0IGVudHJ5IGluIHRoZSBtb2RlcyBhcnJheSBpcyB1c2VkIGFzIGRlZmF1bHQgbW9kZSBmb3IgYXV0b2RldGVjdGlvbi4KCSAgVGhlcmUncyBubyBuZWVkIHRvIGNvcHkgaXQgaW50byB0aGUgY2FwcyB0ZW1wbGF0ZS4KCjIwMTUtMDQtMjIgMTU6MDQ6MDMgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaTogZml4IHRvIDMwNzgwZGIxCgkgIFRoZSBzZWNvbmQgY2hlY2sgZm9yIChmYWN0b3IgPT0gMCkgY3JlZXBlZCBpbiB0aGUgbGFzdCBjb21taXQuCgkgIEFwb2xvZ2llcy4KCjIwMTUtMDQtMjIgMTQ6MzA6NTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaTogZml4IGV4Y2x1c2lvbidzIGZhY3RvciByYW5nZQoJICBBdm9pZCBkaXZpZGluZyBieSB6ZXJvIHdoZW4gdGhlIGZhY3RvciBpcyB6ZXJvLiBJbnN0ZWFkLCBvdXRwdXQgYSBidWZmZXIgd2l0aAoJICBhbGwgY29sb3IgdmFsdWVzIGFzIHplcm8uCgoyMDE1LTA0LTIyIDE0OjE1OjEzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaTogcmVtb3ZlIGZsb29yIHZhcmlhYmxlIGluIHNvbGFyaXplCgkgIEZsb29yIHZhcmlhYmxlIGhhcyBubyBlZmZlY3QgYW5kIGl0IGlzbid0IHdvcnRoIGl0IHRvIGhhdmUgaXQgYWRqdXN0YWJsZS4KCjIwMTUtMDQtMjIgMTM6NTU6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpOiByZW1vdmUgdW51c2VkIHByb3BlcnR5CgoyMDE1LTA0LTIyIDE4OjU0OjQ1ICswOTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IFBvc3NpYmxlIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jZQoJICBXaGlsZSBwcmludGluZyBlcnJvciBtZXNzYWdlIHdoZW4gY29udGV4dCBmYWlscywgZXJyb3IgdmFyaWFibGUgaXMgbm90IGJlaW5nIHVzZWQgYW55bW9yZQoJICBzbyBpdCB3aWxsIGxlYWQgdG8gbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgyODcKCjIwMTUtMDQtMjIgMTA6Mzg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBJTlNUQUxMOgoJICBSZW1vdmUgSU5TVEFMTCBmaWxlCgkgIGF1dG90b29scyBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIHRoaXMsIGFuZCB3aGVuIHVzaW5nIGRpZmZlcmVudCB2ZXJzaW9ucwoJICBmb3IgYXV0b2dlbi5zaCB0aGVyZSB3aWxsIGFsd2F5cyBiZSBjaGFuZ2VzIHRvIGEgZmlsZSB0cmFja2VkIGJ5IGdpdC4KCjIwMTUtMDQtMjIgMTA6Mzg6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSAgUmVtb3ZlIExJQ0VOU0VfcmVhZG1lCgkgIEl0J3MgY29tcGxldGVseSBvdXRkYXRlZCBhbmQganVzdCBjb25mdXNpbmcsIGJldHRlciBpZiBwZW9wbGUgYXJlCgkgIGZvcmNlZCB0byBsb29rIGF0IHRoZSBhY3R1YWwgY29kZSBpbiBxdWVzdGlvbiB0aGFuIHRydXN0aW5nIHRoaXMgZmlsZS4KCjIwMTUtMDQtMjEgMjI6MDQ6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IERvbid0IHN0b3AgYWxsIHRhc2tzIGFuZCBzdHJlYW1zIGZyb20gdGhlIHVwZGF0ZSB0YXNrIG9uIGVycm9ycwoJICBJdCB3aWxsIGRlYWRsb2NrcyBhcyB3ZSB3aWxsIHRoZW4gam9pbigpIHRoZSB1cGRhdGUgdGFzayBmcm9tIGl0c2VsZi4gSW5zdGVhZAoJICBqdXN0IHBvc3QgYW4gYWN0dWFsIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBhbmQgb25seSBzdG9wIHRoZSB1cGRhdGUgdGFzay4KCSAgVGhlIGFwcGxpY2F0aW9uIGlzIHRoZW4gcmVzcG9uc2libGUgZm9yIHNodXR0aW5nIGRvd24gdGhlIGVsZW1lbnQsIGFuZCB0aHVzCgkgIGFsbCB0aGUgb3RoZXIgdGFza3MgYW5kIGV2ZXJ5dGhpbmcsIGJhc2VkIG9uIHRoZSBlcnJvciBtZXNzYWdlIGl0IGdldHMuCgoyMDE1LTA0LTIxIDE4OjI5OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHNlZWtpbmcKCSAgV2UgYWxzbyBoYXZlIHRvIHVwZGF0ZSB0aGUgY3VycmVudF9maWxlIEdMaXN0IHBvaW50ZXIgaW4gdGhlIE0zVSBwbGF5bGlzdAoJICBjbGllbnQsIG90aGVyd2lzZSB3ZSBhcmUganVzdCBjb250aW51aW5nIHBsYXliYWNrIGZyb20gdGhlIGN1cnJlbnQgcG9zaXRpb24KCSAgaW5zdGVhZCBvZiBzZWVraW5nLgoKMjAxNS0wNC0yMSAxODowNTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IGNhbGwgdW5sb2NrKCkganVzdCB0byBjYWxsIGxvY2soKSBpbW1lZGlhdGVseSBhZnRlcndhcmRzCgoyMDE1LTA0LTIwIDA4OjIxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlc2V0IHpvb20gZWxlbWVudCBjYXBzIHRvIGdvIHRvIHZpZXdmaW5kZXIgbW9kZQoJICBBdm9pZHMgbm90LW5lZ290aWF0ZWQgZmFpbHVyZXMgcmVsYXRlZCB0byB1c2luZyBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgc3RpbGwgd2hlbiBhZGp1c3RpbmcgdG8gZ28gYmFjayB0byB2aWV3ZmluZGVyLgoKMjAxNS0wNC0yMCAwODoyMDozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGFkZCB0ZXN0IGZvciBjYXB0dXJlIHdpdGggZGlmZmVyZW50IGNhcHMKCSAgQWRkcyBhIHRlc3QgdG8gdmVyaWZ5IHRoYXQgdmlld2ZpbmRlciBhbmQgaW1hZ2UgY2FwdHVyZSBjYXBzCgkgIGNhbiBiZSBzZXQgdG8gbm9uLWludGVyc2VjdGluZyBjYXBzIGFuZCBzdGlsbCB3b3JrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODY4CgoyMDE1LTA0LTIwIDA4OjQyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGZpeCBsZWFrIG9mIGRyYWluIHF1ZXJ5CgkgIGdzdF9wYWRfcGVlcl9xdWVyeSBkb2Vzbid0IHRha2Ugb3duZXJzaGlwIG9mIHRoZSBxdWVyeSBvYmplY3QKCjIwMTUtMDQtMjAgMDg6NDI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBSZWZhY3RvciBpbnRlcm5hbCBwaXBlbGluZQoJICBSZW1vdmUgdGVlIGFuZCBvdXRwdXQtc2VsZWN0b3IgYW5kIGp1c3QgbGluayB0aGUgc291cmNlCgkgIHBhZCB0byB0aGUgb3V0cHV0cyB3ZSB3YW50IGFzIG5lZWRlZC4KCSAgVGhlIHdheSB3ZSBuZWVkIHRvIHByaW9yaXRpemUgY2FwcyBuZWdvdGlhdGlvbiBhbmQgYWxsb2NhdGlvbgoJICBxdWVyaWVzIGRlcGVuZGluZyBvbiB0aGUgbW9kZSBlbmFibGVkIGlzIHRvbyBjdXN0b20gdG8gYmUKCSAgaGFuZGxlZCB1c2luZyB0ZWUgYW5kIG91dHB1dC1zZWxlY3Rvci4KCSAgVGhpcyBwcm92aWRlcyBtb3JlIGZsZXhpYmlsaXR5IGFuZCBkb2Vzbid0IGdldCBpbiB0aGUgd2F5IG9mIHByb3BlcgoJICBoYW5kbGluZyBvZiBuZWdvdGlhdGlvbiBhbmQgYWxsb2NhdGlvbiBxdWVyaWVzLgoKMjAxNS0wNC0wNSAyMDoxODo1NiArMDIwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xlZmZlY3RzOiBDcmVhdGUgZWxlbWVudCBmb3IgZWFjaCBlZmZlY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToyMjo1MiArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIGxhcGxhY2lhbiBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjIgMTE6MjA6NDkgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGVmZmVjdHM6IE1lcmdlIHNvYmVsIGZpbHRlciBpbnRvIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMiAxMToxMzozMCArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZWZmZWN0czogTWVyZ2UgYmx1ciBmaWx0ZXIgaW50byBlZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyMDkKCjIwMTUtMDMtMjEgMjM6NTA6MzMgKzAxMDAgIE1pY2hhxYIgRMSZYnNraSA8ZGVic2tpLm1pLnpkQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIGdsZWZmZWN0czogQ29ycmVjdCBhdHRyaWJ1dGVzIGZvciBoY29udiBhbmQgdmNvbnYgc2hhZGVycwoJICBXaWR0aCBhbmQgaGVpZ2h0IHdlcmUgc3dpdGNoZWQgZm9yIGdsb3cgc2hhZGVycy4gRm9yIGJsdXIKCSAgZmlsdGVyIGF0dHJpYnV0ZXMgbmFtZXMgd2VyZSBvYnNvbGV0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjIwOQoKMjAxNS0wMy0yMSAyMzoyMToxMyArMDEwMCAgTWljaGHFgiBExJlic2tpIDxkZWJza2kubWkuemRAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IEZpeCBmaXNoZXllIHNoYWRlciAtIHBhc3MgZmxvYXQgdG8gc3FydAoJICBPbiBPU1ggcGFzc2luZyBsaXRlcmFsIGludCB0byBzcXJ0KCkgaW4gR0xTTCByZXN1bHRzIGluIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjA5CgoyMDE1LTA0LTIxIDA3OjI4OjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zei5zYXJuZWNraUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggc2hhZGVyIG1lbW9yeSBsZWFrCgoyMDE1LTA0LTIxIDEyOjI1OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2x3aW5kb3c6IHRyYWNrIGNvbnRleHQgYWN0aXZhdGlvbiBwcm9wZXJseQoJICBXZSBvbmx5IG5lZWQgdG8gZGVhY3RpdmF0ZS9yZWFjdGl2YXRlIHRoZSBjb250ZXh0IGlmZiBpdCB3YXMgYWxyZWFkeQoJICBhY3RpdmUuCgoyMDE1LTA0LTIxIDEyOjE5OjQ2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYmFzZWZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbGRpc3BsYXk6IHN5bmNocm9uaXplIHRoZSBzZWFyY2hpbmcgYW5kIGNyZWF0aW9uIG9mIEdzdEdMQ29udGV4dCdzCgkgIE9vdGhlcndpc2Ugd2UgY291bGQgZW5kIHVwIHdpdGggbXVsdGlwbGUgZWxlbWVudHMgaW4gZGlmZmVyZW50IGNoYWlucwoJICBlYWNoIGNyZWF0aW5nIGEgY29udGV4dC4gIEZpeGVzIGNvbnRleHQgY3JlYXRpb24gd2l0aCBnbHZpZGVvbWl4ZXIuCgoyMDE1LTA0LTIwIDE0OjM1OjE5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZW1vdmUgZGVhZCBjb2RlCgkgIFRoZSBkZXRlY3Rpb24gZm9yIG1pc3NpbmcgZm9ybWF0L2FsaWdubWVudCBpcyBkb25lIHdheSBiZWZvcmUgdGhpcwoJICBjb2RlcGF0aCBpcyByZWFjaGVkIChhdCB3aGljaCBwb2ludCB3ZSBoYXZlIGFscmVhZHkgZGVjaWRlZCBvZiBhCgkgIGZvcm1hdCBhbmQgYWxpZ25tZW50KS4KCSAgQ0lEICMxMjMyODAwCgoyMDE1LTAxLTA3IDE2OjI2OjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBWYXJpYWJsZSBoYW5kcyBpcyBhbHJlYWR5IGNoZWNrZWQgdG8gY29udGFpbiBhIHZhbHVlIHByZXZpb3VzbHkgYXQgdGhlIGJlZ2lubmluZwoJICBvZiB0aGUgY3VycmVudCBibG9jay4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2Fpbi4gVGhpcyBpcyBsb2dpY2FsbHkgZGVhZCBjb2RlLgoJICBDSUQgMTE5NzY5MwoKMjAxNS0wNC0yMCAxNDoyMDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBFbnN1cmUgc3RyaW5nIHJlY2VpdmVkIGZyb20gcmVjdigpIGlzIE5VTEwtdGVybWluYXRlZAoJICBXZSB3aWxsIGJlIGRvaW5nIHN0cmluZyBvcGVyYXRpb25zIG9uIGl0IGxhdGVyLgoJICBDSUQgIzEyOTI4MzAKCjIwMTUtMDQtMjAgMTE6MzA6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjbGVhbiBhc3NpZ25tZW50IHR5cG8KCSAgTm8gbmVlZCB0byBzZXQgdGhlIHZhbHVlIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgkgIENJRCAjMjk1MTIyCgoyMDE1LTA0LTIwIDEwOjU3OjQxICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIGRlYWQgY29kZQoJICBwb3NpdGlvbiBvZiBHc3RTZWdtZW50IGlzIGFuIHVuc2lnbmVkIGludDY0LCBpdCBjYW4gbmV2ZXIgYmUgYmVsb3cgemVyby4KCSAgQ0lEICMxMjk1MTIzCgoyMDE1LTAyLTA5IDExOjI5OjQ2ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSAgZmllbGRhbmFseXNpczogZXhjZXB0aW9uIHdoZW4gYmxvY2sgd2lkdGggdG8gMAoJICBXaGVuIGJsb2NrIHdpZHRoIHByb3BlcnR5IGlzIHNldCB0byAwLCBleGNlcHRpb24gb2NjdXJzLgoJICBUaGlzIGhhcHBlbnMgZHVlIHRvIGRpdmlkZSBieSB6ZXJvIGVycm9ycyBpbiBjYWxjdWxhdGlvbnMuCgkgIGJsb2NrIHdpZHRoIHByb3BlcnR5IGNhbiBuZXZlciBiZSAwLiBIZW5jZSBhZGp1c3RpbmcgdGhlIG1pbmltdW0gdmFsdWUgdG8gMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDE4OAoKMjAxNS0wNC0xNSAxNToyMjozNyArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBmaXggY2FwcyBsZWFrIGluIGdzdF9nbF9taXhlcl9wYWRfc2lua19nZXRjYXBzKCkKCSAgQ2FwcyByZWZjb3VudGluZyB3YXMgYWxsIHdyb25nIGluIHRoaXMgZnVuY3Rpb24uIFJld3JvdGUgaXQgYW5kIGFkZCBzb21lCgkgIGNvbW1lbnRzIHRvIG1ha2UgaXQgY2xlYXJlci4KCSAgRml4IGNhcHMgbGVha3Mgd2l0aCB0aGUKCSAgdmFsaWRhdGUuZmlsZS5nbHZpZGVvbWl4ZXIuc2ltcGxlLnBsYXlfMTVzLnN5bmNocm9uaXplZCBzY2VuYXJpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzkxNQoJICBTaWduZWQtb2ZmLWJ5OiBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCjIwMTUtMDQtMjAgMTc6MDg6MjMgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdm9pZCBpbXBsaWNpdCBjb2xvciBjb252ZXJzaW9ucwoJICBSZXdvcmsgdGhlIEdMIHRleHR1cmUgY29kZSBhIGxpdHRsZSB0byBhdm9pZCBpbXBsaWNpdCBjb2xvciBjb252ZXJzaW9uIGluc2lkZQoJICBBVkYvVlQgb24gYm90aCBpT1MgYW5kIE9TWC4KCjIwMTUtMDQtMTkgMDE6MTU6MDcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSAgY29yZXZpZGVvdGV4dHVyZWNhY2hlOiBmcmVlIHRleHR1cmUgY2FjaGUgb24gaU9TCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjIKCjIwMTUtMDQtMTkgMDE6MjE6NDAgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogY2hlY2sgZm9yIGZhaWx1cmUgdG8gY3JlYXRlIGJ1ZmZlcgoJICBnc3RfY29yZV9tZWRpYV9idWZmZXJfbmV3IGFuZCBnc3RfY29yZV92aWRlb190ZXh0dXJlX2NhY2hlX2dldF9nbF9idWZmZXIKCSAgY2FuIGZhaWwgZm9yIHZhcmlvdXMgcGxhdGZvcm0gcmVhc29ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0ODEyMgoKMjAxNS0wNC0xOSAxMzoxMjowNSArMDkwMCAgWXVqaW4gTGVlIDxzYWRkb3BvcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIGZhaWx1cmUgd2l0aCBjbGFuZwoJICBVc2UgZmFicyBmb3IgZmxvYXRpbmcgcG9pbnQgaW5wdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDgxMjgKCjIwMTUtMDQtMTcgMTM6NTc6MzggLTA2MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgdW51c2VkIGxhdGVuY3kgcXVlcnkgY29kZQoJICBUaGUgYmVoYXZpb3IgY2hhbmdlcyBiYXNlZCBvbiB0aGUgdHlwZSBvZiBzZWdtZW50LAoJICBub3Qgb24gdGhlIGxpdmVuZXNzIG9mIHRoZSBzb3VyY2UuCgoyMDE1LTA0LTE3IDEzOjU1OjI2IC0wNjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQ2xlYW51cCBsYXRlbmN5IHF1ZXJ5IGhhbmRsaW5nCgkgIFRoZSBtaW5pbXVtIGxhdGVuY3kgaXMgYWx3YXlzIDAgb3IgbW9yZS4gQW5kIHdlIHNob3VsZAoJICByZXF1ZXJ5IHVwc3RyZWFtIGFzIGl0IG1heSBoYXZlIGNoYW5nZWQuCgoyMDE0LTA3LTE3IDEwOjUzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFuZGxlIHF1ZXVlL3JlbGVhc2UgZXJyb3JzIG5vbi1mYXRhbAoJICBUaGV5IGNhbiBoYXBwZW4gc29tZXRpbWVzIGFzIGEgdHJhbnNpZW50IHByb2JsZW0sIGUuZy4gaWYgdGhlcmUKCSAgaXMgYSBwcm9ibGVtIGluIHRoZSBzdHJlYW0uIE9ubHkgaGFuZGxlIHRoZW0gYXMgZmF0YWwgaWYgbWFueSBvZgoJICB0aGVtIGhhcHBlbiBpbiBhIHJvdy4KCjIwMTUtMDQtMTEgMTY6NTM6MzggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5oOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0Z3JhYmN1dC5oOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uaDoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBDaGFuZ2Ugb3BlbmN2IHBsdWdpbiB0byB1c2Ugb3BlbmN2Mi1zdHlsZSBpbmNsdWRlcwoJICBJZiBvbGQgb3BlbmN2MS1zdHlsZSBsZWdhY3kgaW5jbHVkZSBkaXJlY3RvcnkgaXMgYXZhaWxhYmxlLAoJICB0aGlzIGNoYW5nZSBiZWNvbWVzIHB1cmVseSBjb3NtZXRpYyAobWF5YmUgd2lsbCBjb21waWxlIGEgYml0IGZhc3RlcikuCgkgIEl0IGJlY29tZXMgYW4gRlRCRlMgZml4IHdoZW4gb3BlbmN2MS1zdHlsZSBpbmNsdWRlIGRpcmVjdG9yeSBpcyBtaXNzaW5nCgkgIChwb3NzaWJseSBiZWNhdXNlIG9wZW5jdiBwYWNrYWdlIG1haW50YWluZXIgZGVjaWRlZCBub3QgdG8gcGFjayBpdCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc3MDUKCjIwMTUtMDQtMTIgMDA6NTY6NDggKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IENoYW5nZSBjb25maWd1cmUgdGVzdCB0byBjaGVjayBmb3IgT3BlbkNWMiBoZWFkZXJzCgkgICogQ2hlY2tzIGZvciBvcGVuY3YyIGhlYWRlcnMgb25seSwgbm90IGZvciBsZWdhY3kgb3BlbmN2MSBoZWFkZXJzCgkgICogQ2hlY2tzIGZvciBldmVyeSBvcGVuY3YyIGhlYWRlciB0aGF0IHRoZSBpbXBsZW1lbnRhdGlvbiBuZWVkcywKCSAgbm90IGp1c3QgaGlnaGd1aV9jLmgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTE2MwoKMjAxNS0wNC0xNyAwNToxMjoxMCArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBnZXQgY29ubmVjdGlvbiBhbmQgaW5wdXQgY2xvY2sgZWFybHkKCjIwMTUtMDQtMTcgMTU6MzI6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVbmlmeSBkZWJ1ZyBzdGF0ZW1lbnRzCgkgIFVzZSAweCUwNHggZm9yIFBJRHMKCjIwMTUtMDQtMTcgMTU6MzA6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBVbmlmeSBkdXJhdGlvbiBxdWVyeWluZyBjb2RlCgkgIEFuZCBwcm9wZXJseSB1c2UgaXQgaW4gdGhlIFNFRUtJTkcgcXVlcnkuCgkgIEZpeGVzIHNlZWtpbmcgd2l0aCBnc3QtcGxheQoKMjAxNS0wNC0xNiAxNDoxNzowNCArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGNhcHMgbGVhayB3aGVuIGVhcmx5IHJldHVybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTkzCgkgIFNpZ25lZC1vZmYtYnk6IEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKMjAxNS0wNC0xNiAxNDoyMToxNiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1bnJlZiBvd25lZCBjYXBzIHdoZW4gZmluYWxpemluZyB0aGUgbWl4ZXIKCSAgRml4IGEgY2FwcyBsZWFrIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTUKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE1IDE1OjE2OjMzICswMjAwICBHdWlsbGF1bWUgRGVzbW90dGVzIDxndWlsbGF1bWUuZGVzbW90dGVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IHBhc3MgdGhlIHByb3BlciBmcmVlIGZ1bmN0aW9uIHRvIGZyYW1lcyBhbmQgYnVmZmVycyBhcnJheQoJICAnYXJyYXlfYnVmZmVycycgY29udGFpbiBib3Jyb3dlZCBHc3RCdWZmZXIgYW5kIHNvIHNob3VsZG4ndCBoYXZlIGEgZnJlZQoJICBmdW5jdGlvbi4gJ2ZyYW1lcycgaXMgdGhlIG9uZSBjb250YWluaW5nIEdzdEdMTWl4ZXJGcmFtZURhdGEgYW5kIHNvIHNob3VsZCB1c2UKCSAgX2ZyZWVfZ2xtaXhlcl9mcmFtZV9kYXRhIGFzIGZyZWUgZnVuY3Rpb24uCgkgIEZpeCBHc3RHTE1peGVyRnJhbWVEYXRhIGxlYWtzIHdpdGggdGhlCgkgIHZhbGlkYXRlLmZpbGUuZ2x2aWRlb21peGVyLnNpbXBsZS5wbGF5XzE1cy5zeW5jaHJvbml6ZWQgc2NlbmFyaW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDc5MTMKCSAgU2lnbmVkLW9mZi1ieTogR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoyMDE1LTA0LTE3IDE1OjIwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50LmM6CgkgIGdsZG93bmxvYWRlbGVtZW50OiBEb3dubG9hZCAqZnJvbSogT3BlbkdMLCBub3QgaW50bwoKMjAxNS0wNC0xNyAwOToyNDoxMiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZXJpY3Nzb24uY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IEFkZCBjb21wbGV4aXR5IHByb3BlcnR5IGZvciBzcGVlZC9xdWFsaXR5IHRyYWRlb2ZmCgoyMDE1LTA0LTE3IDE0OjI0OjI4ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIGdsY29udGV4dDogTWFrZSBnc3RfZ2xfY29udGV4dF9lZ2xfYWN0aXZhdGUgZmFpbCBpZiB0aGUgb2xkIHN1cmZhY2UgY291bGQgbm90IGJlIGRlc3Ryb3llZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjUxCgoyMDE1LTA0LTE3IDEwOjM4OjE2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJICBnbHVwbG9hZGVsZW1lbnQ6IFVucmVmIEdzdEdMVXBsb2FkIG9iamVjdCBhbmQgY2FwcyBpbiA6OnN0b3AoKQoJICBGaXggbGVhayBvZiB0aGUgR3N0R0xVcGxvYWQgb2JqZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ4MDMzCgoyMDE1LTA0LTE3IDE0OjA5OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsYmFzZW1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNyY2Jpbi5jOgoJICBnbDogUmVtb3ZlIHNvbWUgZW1wdHkgOjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9ucwoKMjAxNS0wNC0xNyAxNDowNjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGRvd25sb2FkZWxlbWVudC5jOgoJICBnbGRvd25sb2FkZWxlbWVudDogRml4IGVsZW1lbnQgZGVzY3JpcHRpb24KCjIwMTUtMDQtMTcgMTQ6MDU6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSAgZ2xkb3dubG9hZGVsZW1lbnQ6IFJlbW92ZSB1bnVzZWQgOjpmaW5hbGl6ZSgpIGltcGxlbWVudGF0aW9uCgoyMDE1LTA0LTE3IDE0OjAzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJICBnbGNvbG9yY29udmVydGVsZW1lbnQ6IEFsc28gdW5yZWYgY2FwcyBpbiA6OnN0b3AoKSBhbHJlYWR5CgkgIFRoZXkgYXJlIG5vdCB1c2VmdWwgYW55bW9yZSBhZnRlcndhcmRzLCBzbyBrZWVwaW5nIHRoZW0gdW50aWwgOjpmaW5hbGl6ZSgpCgkgIG1pZ2h0IG9ubHkgY2F1c2Ugc29tZW9uZSB0byB1c2UgdGhlbSBsYXRlciBhbmQgdGhlbiBmYWlsLgoKMjAxNS0wNC0xNSAxNDo0OTowMiArMDIwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkgIGdsY29sb3Jjb252ZXJ0ZWxlbWVudDogZml4IEdzdEdMQ29sb3JDb252ZXJ0IGxlYWsKCSAgY29udmVydC0+Y29udmVydCB3YXMgbmV2ZXIgdW5yZWZmZWQuCgkgIFRoaXMgY2FuIGJlIHJlcHJvZHVjZSB3aXRoIHRoZQoJICB2YWxpZGF0ZS5maWxlLmdsdmlkZW9taXhlci5zaW1wbGUucGxheV8xNXMuc3luY2hyb25pemVkIHNjZW5hcmlvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3OTExCgoyMDE1LTA0LTE2IDIyOjQzOjU0ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJICBhcGV4c2luazogRml4IGJ1ZmZlciBvdmVyZmxvdywgaW4gY2FzZSBhbnlvbmUgZXZlciBwb3J0cyBpdC4KCSAgRml4IGEgc2ltcGxlIGJ1ZmZlciBvdmVyZmxvdyAtIDE2IGJ5dGVzIGlzbid0IGVub3VnaCB0byBob2xkCgkgIHRoZSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBndWxvbmcgb24geDg2XzY0LiBJIGd1ZXNzIHRoZQoJICBpbnRlbnQgd2FzIHRvIGdlbmVyYXRlIGEgMzIgYml0IHJhbmRvbSBrZXksIHNvIGxldCdzIGRvIHRoYXQuCgkgIE9ubHkgbWF0dGVycyBpZiBhbnlvbmUgZXZlciBwb3J0cyB0aGUgc2luayB0byAxLngKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjUyNAoKMjAxNS0wNC0xNiAxMzozNTowMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBwYWQgbGVhayB3aGVuIG5vdCBhZGRpbmcgYSBuZXcgcGFkIGFmdGVyIG5vLW1vcmUtcGFkcwoKMjAxNS0wNC0wOSAxNzozNTo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggc2VnbWVudCBwb3NpdGlvbiB0cmFja2luZyBmb3IgdGhlIGdlbmVyYWwgY2FzZQoJICBEaWZmZXJlbnQgc3RyZWFtcyBjYW4gaGF2ZSBkaWZmZXJlbnQgUFRTL0RUUyBiYXNlcywgYW5kIHNvbWUKCSAgc3RyZWFtcyBtYXkgbm90IGV2ZW4gaGF2ZSBEVFMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDQtMTYgMTA6NDI6NDUgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbGNvbnRleHQ6IE1ha2UgZ3N0X2dsX2NvbnRleHRfZWdsX2FjdGl2YXRlIGZhaWwgaWYgdGhlIHN1cmZhY2UgY291bGQgbm90IGJlIGNyZWF0ZWQKCSAgQWxzbyBhZGQgc29tZSBlcnJvciBsb2dnaW5nLgoKMjAxNS0wNC0xNSAyMTowNzozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG9uJ3QgdW5yZWYgYnVmZmVyIHRoYXQgd2FzIHVucmVmZmVkIGp1c3QgYSBmZXcgbGluZXMgYmVmb3JlIGFscmVhZHkKCjIwMTUtMDQtMTEgMDQ6MjA6NDMgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBBZGQgYWRhcHRpdmVkZW11eCwgYmFkdmlkZW8gYW5kIGJhZGJhc2UgdG8gdGhlIGxpbmstbGlzdCBmb3IgdGhlIGRvY3NjYW5uZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzY5NwoKMjAxNS0wNC0xMiAwMTo1ODozMSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoJICBDb21wbGVtZW50IGNvbW1pdCA1NDk2ZmQzZTc1ZTY1YTRlMzg3NzE1ZDBiYTA3NDA3OTBhZWZhNWY2IGJ5IHJlbW92aW5nCgkgIHRoZSBpbnZvbHZlZCB2YXJpYWJsZXMuCgoyMDE1LTA0LTE0IDIwOjMzOjI1ICsxMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBmaXggR0wgbmVnb3RpYXRpb24KCjIwMTUtMDQtMTQgMTg6MDU6MzEgKzEwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGxvZyB0aW1lc3RhbXBzCgoyMDE1LTA0LTEzIDExOjU1OjQyICswMzAwICBJbHlhIEtvbnN0YW50aW5vdiA8aWx5YS5rb25zdGFudGlub3ZAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHN1YnRyYWN0IHRpbWUgc3BlbnQgaW4gQVZGIHF1ZXVlcwoJICBUaGUgdGltZSBzcGVudCBpbiBBVkYgcXVldWVzIHdhcyBiZWluZyBpbmNvcnJlY3RseSBhZGRlZCB0byBydW5uaW5nIHRpbWUKCSAgcmF0aGVyIHRoYW4gc3VidHJhY3RlZC4KCjIwMTUtMDQtMTEgMDc6Mzg6NTcgKzAzMDAgIElseWEgS29uc3RhbnRpbm92IDxpbHlhLmtvbnN0YW50aW5vdkBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IEdMIHRleHR1cmUgbmVnb3RpYXRpb24KCSAgR1NUX1ZJREVPX0dMX1RFWFRVUkVfVVBMT0FEX01FVEFfQVBJX1RZUEUgc2hvdWxkIG5vIGxvbmdlciBiZSB1c2VkLgoJICBJbnN0ZWFkLCBqdXN0IGdldCB0aGUgR0wgY29udGV4dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzM1MgoKMjAxNS0wNC0xMyAxOTo0MDozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IHR5cG8KCjIwMTUtMDQtMTMgMTk6NDA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJICBkdGxzc3J0cGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDQtMTMgMTk6NDA6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDE1LTA0LTEwIDA5OjM0OjAxICswOTAwICBZdWppbiBMZWUgPHNhZGRvcG9wQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGVuYWJsZSBwbGF5YmFjayBvZiBjb250ZW50IHdpdGggdGV4dCBzdHJlYW1zCgkgIFRoZXJlIGlzIGEgcGxheWJhY2sgZXJyb3Igd2hlbiB0cnlpbmcgdG8gcGxheSBhIGNvbnRlbnQgdGhhdAoJICBoYXMgJ2FwcGxpY2F0aW9uJyBtaW1lVHlwZS4gVGhpcyBjb21taXQgcHJldmVudHMgYW4gZXhjZXB0aW9uIGZyb20KCSAgc2V0dXAgdGV4dCBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NTI1CgoyMDE1LTA0LTEyIDEzOjAxOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IFJlc2V0IERUUyB0byBHU1RfQ0xPQ0tfVElNRV9OT05FCgkgIE90aGVyd2lzZSB3ZSBtaWdodCBnZXQgYSBwcmV2aW91cyBEVFMgc2V0IGZyb20gYSByZWN5Y2xlZCBidWZmZXIgdGhhdCB3ZSBnZXQKCSAgYmFjayBmcm9tIGEgYnVmZmVyIHBvb2wsIHdoaWNoIHRoZW4gY29uZnVzZXMgc3luY2hyb25pemF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ3NzIyCgoyMDE1LTAzLTI4IDE1OjQ0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW1jOiBVc2UgbmV3IEpOSSB1dGlscyBhbG1vc3QgZXZlcnl3aGVyZQoKMjAxNS0wMy0yOCAxNTo0ODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5oOgoJICBhbWM6IEFsbG93IGNyZWF0aW5nIGdsb2JhbCBhbmQgbG9jYWwgcmVmZXJlbmNlcyBvZiBvYmplY3RzCgoyMDE1LTAzLTI4IDE1OjIxOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogTWFrZSBHRXJyb3IgYXJndW1lbnQgb3JkZXIgbW9yZSBjb25zaXN0ZW50CgoyMDE1LTAzLTI4IDE1OjA4OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogQWRkIGhlbHBlciBmdW5jdGlvbiBmb3IgZ2V0dGluZyBhIGRpcmVjdCBidWZmZXIgYXJyYXkKCjIwMTUtMDMtMjggMTU6MDg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW1jOiBKYXZhIGxvbmdzIGFyZSBnaW50NjRzCgoyMDE1LTAzLTI4IDE0OjMxOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFtYzogSW1wcm92ZSBKTkkgdXRpbGl0aWVzIGFuZCBhZGQgc29tZSBtaXNzaW5nIG9uZXMKCSAgV2Ugbm93IGZpbGwgR0Vycm9ycyBmb3IgZXZlcnl0aGluZyB0aGF0IGNvdWxkIHRocm93IGFuIGV4Y2VwdGlvbiwgYW5kIG1ldGhvZAoJICBjYWxscyBub3cgYWx3YXlzIHJldHVybiBhIGdib29sZWFuIGFuZCB0aGVpciB2YWx1ZSBpbiBhbiBvdXQtcGFyYW1ldGVyIHRvCgkgIGRpc3Rpbmd1aXNoIGZhaWx1cmVzIGZyb20gb3RoZXIgdmFsdWVzLgoKMjAxNS0wNC0xMSAxOTozNTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogRml4IGxhc3QgY29tbWl0CgoyMDE1LTA0LTExIDE5OjE3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbDogUmVtb3ZlIGlPUy9FQUdMIHdvcmthcm91bmQgZm9yIFIvUkcgdGV4dHVyZXMKCSAgVGhpcyBzaG91bGQgYmUgdW5uZWVkZWQgbm93IGFmdGVyIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDQtMTEgMTk6MTQ6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFkZCBjb3JyZWN0IGNoZWNrIGZvciBSRy9SIHRleHR1cmVzIGluIGdsY29sb3Jjb252ZXJ0IHRvbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTA3CgoyMDE1LTA0LTExIDEyOjEyOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBmaXggZGVidWcgbWVzc2FnZSBwYXJhbWV0ZXIgZm9ybWF0CgkgIFRoZSBmaXJzdCBwYXJ0IG9mIHRoZSBHVUlEIHN0cnVjdHVyZSBpcyBhIERXT1JECgkgIHdoaWNoIGlzIGRlZmluZWQgYXMgYW4gdW5zaWduZWQgbG9uZywgc28gd2UgbmVlZAoJICB0byBlaXRoZXIgY2FzdCBvciB1c2UgJTA4bHguCgoyMDE1LTA0LTEwIDIwOjI1OjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBUYWtlIGJ1ZmZlciBkaXJlY3RseSBmcm9tIHRoZSBhZGFwdGVyCgkgIE5vIG5lZWQgdG8gbWFrZSBhIGNvcHkgaW50byBhIG5ldyBidWZmZXIsIGp1c3QgdGFrZSB0aGUgZGF0YQoJICBmcm9tIHRoZSBhZGFwdGVyLgoKMjAxNS0wNC0xMCAyMDoxNTo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUHJvZHVjZSBHc3RCdWZmZXJMaXN0CgoyMDE1LTA0LTEwIDE2OjIzOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUgYW5kIHJlbGF0ZWQgcGFkIHByb2JlCgkgIFRoZSB2YXJpYWJsZSB3YXMgbmV2ZXIgc2V0IHRvIHRydWUgYW5kIGNhbiBiZSByZW1vdmVkIGFsb25nCgkgIHdpdGggdGhlIHByb2JlIGluIHdoaWNoIGl0IHVzZWQgdG8gYWN0CgoyMDE1LTAzLTMxIDE3OjEwOjQ1ICswMTAwICBBbnRvbiBPYnpoaXJvdiA8b2J6aGlyb3ZAeWFob28uY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkgIGdsYmFzZWZpbHRlcjogYXZvaWQgc2VnZmF1bHQgd2hlbiBnbCBwbGF0Zm9ybSBpcyBub3QgYXZhaWxhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcxMjQKCjIwMTUtMDQtMDkgMTY6MjA6NDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICB0ZXN0czogZml4IHR5cGUgbWlzbWF0Y2ggaW4gdmFyYXJncyBwYXNzaW5nCgkgIEEgYml0bWFzayBpcyA2NCBiaXRzLCBidXQgaW50ZWdlciBpbW1lZGlhdGVzIGFyZSBwYXNzZWQgYXMgaW50CgkgIGluIHZhcmFyZ3MsIHdoaWNoIGhhcHBlbiB0byBiZSAzMiBiaXQgd2l0aCBoaWdoIHByb2JhYmlsaXR5LgoJICBUaGlzIHRyaWdnZXJlZCBhIHZhbGdyaW5kIGp1bXAtcmVsaWVzLW9uLXVuaW5pdGFsaXplZC12YWx1ZQoJICByZXBvcnQgd2VsbCBhd2F5IGZyb20gdGhlIHNpdGUsIHNpbmNlIGl0IGRvZXNuJ3QgdHJpZ2dlciBvbgoJICBzdGFjayBhY2Nlc3NlcywgYW5kIHRoZXJlIG11c3QgaGF2ZSBiZWVuIGVub3VnaCB6ZXJvZXMgdG8gc3RvcAoJICBnX29iamVjdF9zZXQgYXQgdGhlIHJpZ2h0IHBsYWNlLgoKMjAxNC0wOC0yMCAxMzo0NjoxMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBoYW5kbGUgc2Vla3Mgd2l0aCBubyB0YXJnZXQgKGllLCBrZWVwIGN1cnJlbnQgcG9zaXRpb24pCgkgIFN1Y2ggc2Vla3MgYXJlIHVzZWQgdG8gY2hhbmdlIHBsYXliYWNrIHJhdGUgYW5kIHdlIGRvIG5vdCB3YW50CgkgIHRvIGFsdGVyIHRoZSBwb3NpdGlvbiBpbiB0aGF0IGNhc2UsIHNvIHdlIGJ5cGFzcyB0aGUgZmx1c2gvc2VlawoJICBsb2dpYywgYW5kIHNldCB0aGluZ3MgdXAgc28gYSBuZXcgc2VnbWVudCBpcyBzY2hlZHVsZWQgdG8gYmUKCSAgcmVnZW5lcmF0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMDAKCjIwMTUtMDMtMjYgMTM6NDY6MTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICB0c3BhcnNlOiBmaXggdGltZXN0YW1wcyBub3QgdXBkYXRpbmcgYWZ0ZXIgYSBQTVQgY2hhbmdlCgkgIFRoZSBQQ1JzIHN0YXkgbG9ja2VkIG9udG8gdGhlIHNhbWUgUElEIGFzIGJlZm9yZSB0aGUgY2hhbmdlLAoJICBidXQgdGhlIHJlbGV2YW50IFBJRCBoYXMgbm8gcmVhc29uIHRvIGJlIHRoZSBzYW1lIGFmdGVyIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTAyCgoyMDE1LTAzLTI0IDEyOjU2OjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNlbmQgbmV3IHNlZ21lbnQgd2hlbiBhIHN0cmVhbSBpcyBhZGRlZAoJICBUaGlzIHdpbGwgaGFwcGVuIHdoZW4gdGhlIFBNVCBjaGFuZ2VzLCByZXBsYWNpbmcgc3RyZWFtcyB3aXRoCgkgIG5ldyBvbmVzLiBJbiB0aGF0IGNhc2UsIHdlIG5lZWQgdG8gYWNjdW11bGF0ZSB0aGUgcnVubmluZyB0aW1lCgkgIGZyb20gdGhlIHByZXZpb3VzIGNoYWluIGluIHRoZSBzZWdtZW50IGJhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUxMDIKCjIwMTUtMDMtMDkgMDk6NTY6MzggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDoga2VlcCB0cmFjayBvZiBjdXJyZW50IHBvc2l0aW9uCgkgIFRoaXMgYWxsb3dzIHNlZWtpbmcgdG8gY29ycmVjdGx5IHNldCB0aGUgYmFzZSBvbiB0aGUgc2VnbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwMgoKMjAxNS0wNC0wOSAxNTo0MTo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVjazogRG9uJ3QgcnVuIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdCBvbiB0aGUgZHRscyBlbGVtZW50cwoJICBUaGVyZSBpc24ndCByZWFsbHkgYW55IHdheSB0byB0ZXN0IHRoZSBlbGVtZW50cyBzdGFuZGFsb25lLgoKMjAxNS0wNC0wOCAxOToyOTo0MCAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZW1vdmUgYnJva2VuIHRpbWVzdGFtcHMtZ29pbmctYmFja3dhcmRzIGNoZWNrCgkgIFRoaXMgd291bGQndmUgYWxzbyB0cmlnZ2VyZWQgaWYgZm9yIHNvbWUgcmVhc29uIHRoZSBzZWdtZW50IHdhcyB1cGRhdGVkCgkgIGluIHN1Y2ggYSB3YXkgdGhhdCBQVFMgd2VudCBiYWNrd2FyZHMsIGJ1dCB0aGUgcnVubmluZyB0aW1lIGluY3JlYXNlZC4gTGlrZQoJICB3aGF0IGhhcHBlbnMgd2hlbiBub24tZmx1c2hpbmcgc2Vla3MgYXJlIGRvbmUuCgkgIFdlJ3JlIGRvaW5nIGEgcHJvcGVyIGJ1ZmZlci1mcm9tLXRoZS1wYXN0IGNoZWNrIGEgZmV3IGxpbmVzIGJlbG93IGJhc2VkIG9uIHRoZQoJICBydW5uaW5nIHRpbWUsIHdoaWNoIGlzIHRoZSBvbmx5IHRpbWUgd2Ugc2hvdWxkIGNhcmUgYWJvdXQgaGVyZS4KCjIwMTUtMDQtMDggMTg6NTE6NTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkgIGtzdmlkZW9zcmM6IGZpeCBzdXBwb3J0IGZvciBEViBkZXZpY2VzCgoyMDE1LTAyLTEwIDEzOjMyOjAwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICBrc3ZpZGVvc3JjOiBvbmx5IGxpc3QgY2FwdHVyZSBkZXZpY2VzCgoyMDE1LTA0LTA4IDE2OjQ2OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFVzZSBBTV9URVNUU19FTlZJUk9OTUVOVAoJICBOZWVkZWQgYnkgdGhlIG5ldyBhdXRvbWFrZSB0ZXN0IHJ1bm5lcgoKMjAxNS0wNC0wOCAxMDo1MjoxNyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogRXhwbGljaXRseSBzcGVjaWZ5IGxheW91dD1pbnRlcmxlYXZlZCBpbiBjYXBzCgkgIFRoaXMgaXMgZmluZSB0byBoYXJkLWNvZGUuIFNlY3Rpb24gOS4xLjggb2YgdGhlIE9wZW5TTCBFUyAxLjEKCSAgc3BlY2lmaWNhdGlvbiwgaXQgaXMgZXhwZWN0ZWQgdGhhdCBtdWx0aS1jaGFubmVsIGF1ZGlvIGlzIGFsd2F5cwoJICBpbnRlcmxlYXZlZC4KCjIwMTUtMDQtMDcgMTU6NTc6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRGVwZW5kIG9uIG9wZW5oMjY0ID49IDEuMy4wCgkgIFJlcXVpcmVkIGZvciB0aGUgdmVyc2lvbiBjaGVjayBoZWFkZXIsIGFzIGFncmVlZCB1cG9uIG9uIElSQwoKMjAxNS0wNC0wNSAwNTozNzowOSArMDMwMCAgSWx5YSBLb25zdGFudGlub3YgPGlseWEua29uc3RhbnRpbm92QGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggc2V0dGluZyBvZiBidWZmZXIgb2Zmc2V0IGVuZAoJICBEb24ndCBzZXQgb2Zmc2V0IGVuZCB0byByYW5kb20gdmFsdWVzIG9mZiB0aGUgc3RhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczNTIKCjIwMTUtMDQtMDcgMTE6MDk6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuMjY0OiBGaXggR1R5cGUvZ3NpemUgdXNhZ2UKCSAgZ3N0b3BlbmgyNjRlbmMuY3BwOjEwODo3OiB3YXJuaW5nOiBkZXJlZmVyZW5jaW5nIHR5cGUtcHVubmVkIHBvaW50ZXIgd2lsbCBicmVhayBzdHJpY3QtYWxpYXNpbmcgcnVsZXMgWy1Xc3RyaWN0LWFsaWFzaW5nXQoKMjAxNS0wNC0wNyAxMToyMTo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBEZXRlY3QgMS40IEFQSSBjaGFuZ2UKCSAgQXMgbWVudGlvbm5lZCBpbiByZWxlYXNlIG5vdGVzIDogQWRkZWQgbmV3IFNwcy9QcHMgc3RyYXRlZ2llcyBmb3IgcmVhbC10aW1lCgkgIHZpZGVvIChyZXBsYWNlIHRoZSBvbGQgc2V0dGluZyB2YXJpYWJsZSAnYkVuYWJsZVNwc1Bwc0lkQWRkaXRpb24nIHdpdGgKCSAgJ2VTcHNQcHNJZFN0cmF0ZWd5JykKCjIwMTUtMDQtMDYgMjA6Mjg6MjIgLTA3MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERpc2Nvbm5lY3QgbW91c2Uva2V5IGV2ZW50IHNpZ25hbCBoYW5kbGVycyBmcm9tIHdpbmRvdyB3aGVuIHNodXR0aW5nIGRvd24gY29udGV4dAoKMjAxNS0wNC0wNiAyMDoyNDowNiAtMDcwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogR3VhcmQgYWdhaW5zdCBkaXNjb25uZWN0aW5nIGludmFsaWQgc2lnbmFsIGlkcwoKMjAxNS0wMy0yNiAxMTo1MjozMyArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggbWVtb3J5IGxlYWsKCSAgUmVzZXQgdGhlIGludGVybmFsIHNlZ21lbnQgYmVmb3JlIGZyZWVpbmcgaXQuCgkgIG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKCkgYWxsb2NhdGVzIGRhdGEgaW5zaWRlIHRoZSBzZWdtZW50CgkgIChsaWtlIHNlZ21lbnQtPmRlbHRhX2VudHJpZXMpIHdoaWNoIGhhdmUgdG8gYmUgZnJlZWQgdXNpbmcKCSAgbXhmX2luZGV4X3RhYmxlX3NlZ21lbnRfcmVzZXQoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjgwMwoKMjAxNS0wNC0wNCAxMDo1Njo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IHdyaXRlIHRoZSBwbGF5bGlzdCBlbmQgbWFya2VyIG9uIEVPUwoJICBDYXRjaCBFT1MgZnJvbSB0aGUgbXVsdGlmaWxlc2luayBhbmQgYWRkIHRoZSBlbmRsaXN0IG1hcmtlciB0bwoJICB0aGUgcGxheWxpc3Qgd2hlbiBpdCBoYXBwZW5zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDczMTkKCjIwMTUtMDMtMjkgMTc6NTM6MjMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9jdW1lbnQgZ2FwIGhhbmRsaW5nIGJlaGF2aW9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDMtMjcgMTk6MzY6NDIgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZHJvcCBzdGFsZSB3aGl0ZSBzcGFjZSBhdCB3YXJuaW5nCgoyMDE1LTAzLTI3IDE5OjI4OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IHR5cG8gaW4gdGVzdCBzdWl0ZQoKMjAxNS0wMy0yNyAxODozMjoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGFkZCBnYXAgZXZlbnQgaGFuZGxpbmcgdW5pdCB0ZXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYyNDkKCjIwMTUtMDMtMTcgMjI6MTM6MDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogaW1wbGVtZW50IGdhcCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MjQ5CgoyMDE1LTA0LTAzIDE4OjU3OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiYzc2YThiIHRvIGM4ZmIzNzIKCjIwMTUtMDQtMDMgMTE6NDY6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzOiBGaXggaW5jb3JyZWN0IGZhbGwtdGhyb3VnaCBjb25kaXRpb24gaW4gcHJvcGVydHkgZ2V0dGVyCgoyMDEyLTA0LTI3IDE4OjI5OjE0ICswMjAwICBHdWlsbGF1bWUgRW1vbnQgPGd1aWplbW9udEBpZ2FsaWEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG1zaW5rOiBhZGQgYW4gc2htLWFyZWEtbmFtZSBwcm9wZXJ0eQoJICBUaGUgc2htLWFyZWEtcHJvcGVydHkgdGVsbHMgdGhlIG5hbWUgb2YgdGhlIHNobSBhcmVhIHVzZWQgYnkgdGhlIGVsZW1lbnQuIFRoaXMKCSAgaXMgdXNlZnVsIGZvciBjYXNlcyB3aGVyZSBzaG1zaW5rIGlzIG5vdCBhYmxlIHRvIGNsZWFuIHVwIChjYWxsaW5nCgkgIHNobV91bmxpbmsoKSksIGUuZy4gaWYgaXQgaXMgaW4gYSBzYW5kYm94LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1MTM0CgoyMDE1LTA0LTAxIDIyOjEwOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVbmlmeSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuIGFuZCBmbHVzaGluZwoJICBBbHNvIG1lYW5zIHRoYXQgaGF2aW5nIGEgbm9uLU9LIGRvd25zdHJlYW0gZmxvdyByZXR1cm4KCSAgd2FrZXMgdXAgdGhlIGNoYWluIGZ1bmN0aW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTo0NTowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRmx1c2hpbmcgaXMgYWx3YXlzIGluIHBhZCBsb2NrLCBubyBuZWVkIHRvIGF0b21pY3MKCSAgVGhlIHVzYWdlIG9mIGF0b21pY3Mgd2FzIGFsd2F5cyBkb3VidGZ1bCBhcyBpdCB3YXMgdXNlZCB0byByZWxlYXNlIGEKCSAgR0NvbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzIyMAoKMjAxNS0wNC0wMSAyMTozODoxMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVzZXQgcGVuZGluZ19lb3Mgb24gcGFkIGZsdXNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDEgMjE6Mzc6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuaWZ5IGNvZGUgdG8gc2V0IGEgcGFkIGZsdXNoaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDcyMjAKCjIwMTUtMDQtMDIgMTg6MDU6NTUgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogZml4IHJlbmRlcmluZyBvbiBpT1MKCSAgU3RvcCBhc3N1bWluZyB0aGF0IHRoZSBoYW5kbGUgaGFzIGJlZW4gc2V0IGJ5IHRoZSB0aW1lIC0+Y3JlYXRlX2NvbnRleHQgaXMKCSAgY2FsbGVkLiBBZnRlciBiYzdhNzI1OWYzNTdiMDA2NWRkOTRlMDY2OGI1YTg5NWQ4M2ZhNTNhIHNldF93aW5kb3dfaGFuZGxlIGFsd2F5cwoJICBoYXBwZW5zIGFmdGVyIC0+Y3JlYXRlX2NvbnRleHQgaW4gZmFjdC4KCSAgU2VlIGFsc28gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMy0wNiAyMToxMjo1MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFF1ZXJ5IGxhdGVuY3kgb24gZmlyc3QgaW5jb21pbmcgYnVmZmVyLgoJICBBbmQga2VlcCBvbiBxdWVyeWluZyB1cHN0cmVhbSB1bnRpbCB3ZSBnZXQgYSByZXBseS4KCSAgQWxzbywgdGhlIF9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpIG1ldGhvZCByZXF1aXJlZCBiZWluZyBjYWxsZAoJICB3aXRoIGEgcHJpdmF0ZSBsb2NrLCBzbyByZW1vdmVkIHRoZSBfdW5sb2NrZWQoKSB2YXJpYW50IGZyb20gdGhlIEFQSS4KCSAgQW5kIGl0IG5vdyByZXR1cm5zIEdTVF9DTE9DS19USU1FX05PTkUgd2hlbiB0aGUgZWxlbWVudCBpcyBub3QgbGl2ZSBhcwoJICB3ZSB0aGluayB0aGF0IDAgdXBzdHJlYW0gbGF0ZW5jeSBpcyBwb3NzaWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wNC0wMSAyMDozMjo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBBbGxvdyBkb3duc3RyZWFtIGNhcHMgd2l0aCBhIG5vbi1kZWZhdWx0IGNoYW5uZWwtbWFzawoJICBJbnN0ZWFkIG9mIGZhaWxpbmcsIHRha2UgdGhlIGRvd25zdHJlYW0gY2hhbm5lbCBtYXNrIGlmIHRoZSBjaGFubmVsCgkgIGNvdW50IGlzIDEuCgoyMDE1LTAzLTMxIDE2OjI3OjAwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IERvbid0IHVzZSBjb250ZXh0IGlmIG5vdCBwcmVzZW50CgkgIEF2b2lkcyBhc3NlcnRpb25zIGF0IHJ1bnRpbWUKCjIwMTUtMDMtMzEgMTE6MjQ6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkgIGludHJvc3BlY3Rpb246IERvbid0IHVzZSBnLWlyLXNjYW5uZXIgY2FjaGUgYXQgY29tcGlsZSB0aW1lCgkgIEl0IHBvbGx1dGVzIHVzZXIgZGlyZWN0b3JpZXMgYW5kIHdlIGRvbid0IG5lZWQgdG8gY2FjaGUgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NzA5NQoKMjAxNS0wMy0zMSAxMDo1Mzo1NSArMDEwMCAgVmljdG9yIFRvc28gPHZpY3RvcnRvc29AcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBJbXBsZW1lbnQgdm9sdW1lIGFuZCBtdXRlCgkgIFVzaW5nIHRoZSBNaXhlckFQSSBhcyBJRGlyZWN0U291bmRDYXB0dXJlQnVmZmVyIGRvZXNuJ3QgaW1wbGVtZW50IHZvbHVtZQoJICBjb250cm9sLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MzgzCgoyMDE1LTAzLTMwIDEzOjQ5OjAxICswMTAwICBBbnRvbiBPYnpoaXJvdiA8b2J6aGlyb3ZAeWFob28uY28udWs+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBnbGVmZmVjdHM6IHBvcnQgYWxsIGVmZmVjdHMgdG8gR0xFUzIuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTU1CgoyMDE1LTAzLTI4IDExOjQwOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogaW1wbGVtZW50IGEgY2hhaW5fbGlzdCB0byByZXF1ZXN0IGtleSB1bml0IGZvciBzZWdtZW50cwoJICB1cHN0cmVhbSBtaWdodCBzZW5kIGJ1ZmZlciBsaXN0cyBpbnN0ZWFkIG9mIGJ1ZmZlcnMgYW5kIGhsc3NpbmsncwoJICBwcm9iZSB3b24ndCBnZXQgY2FsbGVkIGFuZCBhIG5ldyBzZWdtZW50IHdvbid0IGJlIGNyZWF0ZWQgd2hlbiBuZWVkZWQuCgkgIFRoaXMgcGF0Y2ggZml4ZXMgaXQgYnkgYWRkaW5nIGEgY2hhaW5fbGlzdCBmdW5jdGlvbiB0byB0aGUgc2luayBwYWQKCSAgdGhhdCB3aWxsIGp1c3QgcGFzcyB0aHJvdWdoIHRoZSB3aG9sZSBidWZmZXJsaXN0IGlmIG5vIHNlZ21lbnQgbmVlZHMKCSAgdG8gYmUgcmVxdWVzdGVkIGF0IHRoZSBtb21lbnQgb3IgY29udmVydCB0aGUgbGlzdCBpbnRvIGJ1ZmZlcnMgdG8KCSAgY2hlY2sgdGhlIHByb3BlciB0aW1lc3RhbXAgdG8gcmVxdWVzdCB0aGUgbmV4dCBrZXktdW5pdCB0aGF0IHdpbGwKCSAgc3RhcnQgdGhlIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY5MDYKCjIwMTUtMDMtMjggMTc6Mjg6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHJlc3VycmVjdCBzb21lIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ1NzIKCjIwMTUtMDMtMjggMTc6Mjg6MjYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogcmVzdXJyZWN0IHNvbWUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU3MgoKMjAxNS0wMy0yNyAwMDoyNzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgdHJ5IHRvIGFkdmFuY2UgZnJhZ21lbnQgaWYgdGhlcmUgaXMgbm9uZQoJICBJdCBtaWdodCByZXR1cm4gT0sgZnJvbSBzdWJjbGFzc2VzIGFuZCBpdCBjb3VsZCBjYXVzZSBhIGJpdHJhdGUKCSAgcmVuZWdvdGlhdGlvbi4gRm9yIERBU0ggYW5kIE1TUyB0aGF0IGlzIG9rIGFzIHRoZXkgd29uJ3QgZXhwb3NlCgkgIG5ldyBwYWRzIGFzIHBhcnQgb2YgdGhpcyBidXQgaXQgY2FuIGNhdXNlIGlzc3VlcyBmb3IgSExTIGFzCgkgIGl0IHdpbGwgZXhwb3NlIG5ldyBwYWRzLCBsZWFkaW5nIHRvIHBhZHMgdGhhdCB3aWxsIG9ubHkgaGF2ZSBFT1MKCSAgdGhhdCBjYXVzZSBkZWNvZGViaW4gdG8gZmFpbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1OTA1CgoyMDE1LTAzLTI0IDEzOjU3OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBGb3J3YXJkIHN0ZXJlbyBwcmVmZXJlbmNlcyBmcm9tIGNhcHMgdXBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjYxNwoKMjAxNS0wMy0yNCAxMzo1NjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogU2V0IHRoZSBudW1iZXIgb2YgY2hhbm5lbHMgdG8gMiBhcyBwZXIgUkZDIGRyYWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDY2MTcKCjIwMTUtMDMtMTcgMjE6NDk6NDAgKzA4MDAgIEp1biBYaWUgPHhpeGkxMDExMTAxMUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBzZXQgZGVmYXVsdCBAc3RhcnROdW1iZXIgYW5kIGFsc28gYXZvaWQgd3Jvbmcgb3ZlcndyaXRlCgkgIFNldCBkZWZhdWx0IEBzdGFydE51bWJlciB0byAxLCBpZiBAc3RhcnROdW1iZXIgaXMgbWlzc2luZyBhdCBhbGwgbGV2ZWwuCgkgIEFsc28gYXZvaWQgaW5jb3JyZWN0IG92ZXJ3cml0aW5nIGluaGVyaXRlZCB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM0NwoKMjAxNS0wMy0yNCAxNjoxODoyMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvYWdncmVnYXRvci5jOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQKCjIwMTUtMDMtMjQgMTY6MTc6MDAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgUmV2ZXJ0ICJhdWRpb2FnZ3JlZ2F0b3I6IGNoZWNrIHNpbmsgY2FwcyBhcmUgdmFsaWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ0ZDBkMWNkZjdjNzUzMWZiZjcyY2UzOWUxZWFiMTI2MGQyMDU1MC4KCSAgTmV2ZXIgcHV0IGNvZGUgd2l0aCBzaWRlIGVmZmVjdHMgaW50byBhbiBhc3NlcnRpb24sIGl0IGNhbiBiZSBjb21waWxlZCBvdXQKCjIwMTUtMDMtMjQgMTU6NDU6MjUgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBjaGVjayBzaW5rIGNhcHMgYXJlIHZhbGlkCgkgIENJRCAjMTI5MTYyMgoKMjAxNS0wMy0yNCAxNToxMzo1MiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZmFsbCB0aHJvdWdoIHN3aXRjaCBzdGF0ZW1lbnQKCSAgQWRkaW5nIGEgY29tbWVudCBtYWtlcyBjb3Zlcml0eSBoYXBweSBhbmQgcXVlbGxzIHRoZSBpc3N1ZS4KCSAgQ0lEIDEyOTE2MjkKCjIwMTUtMDMtMjQgMTk6MDU6MDAgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEb2N1bWVudCB3aHkgYnVmZmVyX3ZpbmZvIGlzIG5lZWRlZAoKMjAxNS0wMy0yNCAxOTowNDoyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IENoZWNrIGlmIHRoZXJlJ3MgYSBwcmV2aW91cyBidWZmZXIgdG8gJ2tlZXAnCgkgIElmIHdlIHdhbnQgdG8ga2VlcCBhIHByZXZpb3VzIGJ1ZmZlciBidXQgdGhlcmUncyBubyBwcmV2aW91cyBidWZmZXIsIHdlIGFjdHVhbGx5CgkgIG5lZWQgbW9yZSBkYXRhIGluc3RlYWQuCgoyMDE1LTAzLTIzIDE2OjQzOjAxICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJICBnbC9kaXNwbWFueDogc3VyZmFjZWxlc3MgRUdMIGNvbnRleHQgc3VwcG9ydAoJICBTaG93IHRoZSBEaXNwbWFuWCB3aW5kb3cgb25seSBpZiB0aGVyZSdzIG5vIHNoYXJlZCBleHRlcm5hbCBHTCBjb250ZXh0CgkgIHNldCB1cC4gV2hlbiBhIHdpbmRvdyBpcyByZXF1aXJlZCBieSB0aGUgY29udGV4dCBhIHRyYW5zcGFyZW50CgkgIERpc3BtYW5YIGVsZW1lbnQgaXMgY3JlYXRlZCBhbmQgbGF0ZXIgb24gbWFkZSB2aXNpYmxlIGJ5IHRoZSA6OnNob3cKCSAgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjMyCgoyMDE1LTAzLTIzIDE1OjA5OjMzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGNsZWFuIHNvbGFyaXplIGNvZGUKCjIwMTUtMDMtMjMgMTQ6Mzk6NTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiByZW1vdmluZyB2YWx1ZXMgb25seSB1c2VkIG9uY2UKCjIwMTUtMDMtMjMgMTE6MTM6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogc21hbGwgY2xlYW51cCBpbiBoZWFkZXJzCgoyMDE1LTAzLTIzIDEzOjE1OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBTZXQgb3V0cHV0IGZvcm1hdCBpbW1lZGlhdGVseSBhZnRlciBjcmVhdGluZyB0aGUgZW5jb2RlciBpbnN0YW5jZQoJICBXZSBrbm93IHRoZSBjYXBzIGJ5IHRoZW4sIHRoZXJlJ3Mgbm8gbmVlZCB0byB3YWl0IHVudGlsIHdlIGFjdHVhbGx5IHJlY2VpdmUKCSAgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTUtMDMtMjMgMTM6MTM6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogUmVtb3ZlIGFub3RoZXIgdW51c2VkIHZhcmlhYmxlCgoyMDE1LTAzLTIzIDEzOjExOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2VuYzogUmVtb3ZlIHVzZWxlc3MgaGVhZGVycyBhbmQgaGVhZGVyX3NlbnQgdmFyaWFibGVzIGZyb20gdGhlIGluc3RhbmNlIHN0cnVjdAoJICBUaGV5IGFyZSBvbmx5IHVzZWQgaW5zaWRlIGEgc2luZ2xlIGZ1bmN0aW9uLgoKMjAxNS0wMy0yMyAxMjoyNDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXM6IEhhbmRsZSBzcHJvcC1zdGVyZW8gYW5kIHNwcm9wLW1heGNhcHR1cmVyYXRlIFJUUCBjYXBzIGZpZWxkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIzIDEyOjA5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUYWtlIGNoYW5uZWxzIGFuZCBzYW1wbGUgcmF0ZSBmcm9tIHRoZSBjYXBzIGlmIHdlIGhhdmUgbm8gc3RyZWFtIGhlYWRlcgoKMjAxNS0wMy0yMyAxMjowNzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogUmVzZXQgdGhlIGRlY29kZXIgaWYgdGhlIGNhcHMgY2hhbmdlCgoyMDE1LTAzLTIzIDExOjU3OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBUYWtlIG91dHB1dCBzYW1wbGUgcmF0ZSBmcm9tIHRoZSBzdHJlYW0gaGVhZGVycyB0b28KCSAgVGhpcyB3YXkgd2UgbGV0IG9wdXNkZWMgZG8gdGhlIHJlc2FtcGxpbmcgaWYgbmVlZGVkIGFuZCBkb24ndCBjYXJyeQoJICBhcm91bmQgYnVmZmVycyB3aXRoIGEgdG9vIGhpZ2ggc2FtcGxlIHJhdGUgaWYgbm90IHJlcXVpcmVkLgoJICBXaGlsZSBPcHVzIGFsd2F5cyB1c2VzIDQ4a0h6IGludGVybmFsbHksIHRoaXMgaW5mb3JtYXRpb24gZnJvbSB0aGUKCSAgaGVhZGVyIHNwZWNpZmllcyB3aGljaCBmcmVxdWVuY2llcyBhcmUgc2FmZSB0byBkcm9wLgoKMjAxNS0wMy0yMyAxMTo1NjowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1c2hlYWRlcjogUHV0IG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlIHJhdGUgaW50byB0aGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2NjE3CgoyMDE1LTAzLTIyIDE5OjEyOjE1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBnbF90aHJlYWQgZmllbGQKCjIwMTUtMDMtMjIgMTk6MDM6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGZpeCBHVGhyZWFkIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MQoKMjAxNS0wMy0yMCAxODozMzo0NSArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBjYXBzIGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjU0MQoKMjAxNS0wMy0xOCAxMToyNTo0MiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTkgMTY6MTc6NTggKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IERvIG5vdCBkcm9wIGFsbCBidWZmZXJzIGluIGJ1ZmZlciBsaXN0IGlmIG9uZSBmYWlscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2Mzg3CgoyMDE1LTAzLTE5IDEzOjU5OjQyICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1cGRhdGUgY29weXJpZ2h0IGRhdGVzIG9mIGRpbGF0ZQoKMjAxNS0wMy0xOSAxMzo1ODoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogZmFjdG9yaXplIHRyYW5zZm9ybSBjb2RlIG9mIGRpbGF0ZQoKMjAxNS0wMy0xOSAxNDowNDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFBhc3MgdGhlIGNvbm5lY3Rpb24gaW5zdGFuY2UgYXMgZGF0YSB0byB0aGUgdGhyZWFkIHBvb2wKCSAgTm8gbmVlZCB0byByZWYvdW5yZWYgdGhlIGNvbm5lY3Rpb24gZXZlcnkgdGltZSB3ZSBwdXNoIHNvbWV0aGluZyBvbiB0aGUgcG9vbC4KCSAgSG93ZXZlciB3ZSBoYXZlIHRvIHByb3ZpZGUgbm9uLU5VTEwgZGF0YSB0byB0aGUgcG9vbCwgc28gbGV0J3MganVzdCBnaXZlIGl0CgkgIHNvbWUgY29mZmVlLgoKMjAxNS0wMy0xOSAxMzo1NTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFJlbW92ZSB1bnVzZWQgdGhyZWFkIHN0cnVjdCBmaWVsZAoKMjAxNS0wMy0xOSAxMzozMDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsczogVXNlIGEgc2hhcmVkIHRocmVhZCBwb29sIGZvciB0aGUgdGltZW91dHMKCSAgVGhpcyB3YXkgd2Ugd2lsbCBzaGFyZSB0aHJlYWRzIHdpdGggb3RoZXIgRFRMUyBjb25uZWN0aW9ucyBpZiBwb3NzaWJsZSwgYW5kCgkgIGRvbid0IGhhdmUgdG8gc3RhcnQvc3RvcCB0aHJlYWRzIGZvciB0aW1lb3V0cyBpZiB0aGVyZSBhcmUgbWFueSB0byBiZSBoYW5kbGVkCgkgIGluIGEgc2hvcnQgcGVyaW9kIG9mIHRpbWUuCgkgIEFsc28gdXNlIHRoZSBzeXN0ZW0gY2xvY2sgYW5kIGFzeW5jIHdhaXRpbmcgb24gaXQgZm9yIHNjaGVkdWxpbmcgdGhlIHRpbWVvdXRzLgoKMjAxNS0wMy0xOCAxODoxNzozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkgIGR0bHM6IFNodXRkb3duIHRpbWVvdXQgdGhyZWFkIHdoZW4gaXQncyBub3QgbmVlZGVkCgkgIEl0IGlzIG5vdCBuZWVkZWQgbW9zdCBvZiB0aGUgdGltZSBhbmQgdXN1YWxseSB3ZSBoYXZlIGEgdGhyZWFkCgkgIGlkbGluZyBhcm91bmQgZG9pbmcgbm90aGluZyBhbGwgdGhlIHRpbWUgYWZ0ZXIgdGhlIGZpcnN0IGZldyBzZWNvbmRzLgoKMjAxNS0wMy0xOCAxMDoxMjo0OSAtMDcwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvZG9jczogdXBkYXRlIHNvbWUgZG9jIGNvbW1lbnRzCgoyMDE1LTAzLTE4IDE3OjQwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5jOgoJICBkdGxzZW5jOiBDbGVhciB0aGUgcXVldWUgd2hlbiBkZWFjdGl2YXRpbmcgdGhlIHBhZAoKMjAxNS0wMy0xOCAxNzozODozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJICBkdGxzZW5jOiBIYW5kbGUgcGFkIGFjdGl2aXR5IHN0YXRlcyBwcm9wZXJseQoKMjAxNS0wMy0xOCAxNzozNToxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSAgZHRsc2VuYzogRG9uJ3QgbWFudWFsbHkgYWN0aXZhdGUvZGVhY3RpdmF0ZSBzcmNwYWQKCjIwMTUtMDMtMTggMTA6NDc6MTUgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFNlcGFyYXRlIGJ1ZmZlciBlbmNvZGluZyBmdW5jdGlvbmFsaXR5IGludG8gYSBkaWZmZXJlbnQgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAxMDoxNjo0MSArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogQWRkIHN1cHBvcnQgZm9yIGJ1ZmZlciBsaXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMDk6Mzk6NDkgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEFkZCBtaXNzaW5nIGxvY2tzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzODcKCjIwMTUtMDMtMTggMDk6MTc6MzEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFNwbGl0IGNoYWluIGZ1bmN0aW9uYWxpdHkgc28gaXQgY2FuIGJlIHJldXNlZCBmb3IgYnVmZmVyIGxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NjM4NwoKMjAxNS0wMy0xOCAxMzo1MjozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJICBkdGxzZW5jOiBVc2UgYSBHUXVldWUgaW5zdGVhZCBvZiBhIEdQdHJBcnJheQoJICBVc2luZyBhIEdQdHJBcnJheSBhcyBhIHF1ZXVlIGlzIG5vdCB2ZXJ5IGVmZmljaWVudCBhcyB0aGUgd2hvbGUKCSAgYXJyYXkgaGFzIHRvIGJlIGNvcGllZCB3aGVuZXZlciBhbiBlbGVtZW50IGlzIHJlbW92ZWQgZnJvbSB0aGUKCSAgYmVnaW5uaW5nLgoKMjAxNS0wMy0xOCAxMDowNjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSAgZHRsc2RlYzogRml4IGxvY2tpbmcKCSAgRXNwZWNpYWxseSBkb24ndCBob2xkIGFueSBtdXRleCB3aGlsZSBhZGRpbmcvcmVtb3ZpbmcgcGFkcyBvciBwdXNoaW5nIGRhdGEuCgoyMDE1LTAzLTE4IDA5OjU3OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJICBkdGxzZGVjOiBBZGQgc3VwcG9ydCBmb3IgYnVmZmVyIGxpc3RzCgoyMDE1LTAzLTE4IDA5OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5oOgoJICBkdGxzOiBGaXggc29tZSBzZWFyY2ggJiByZXBsYWNlIG1pc3Rha2VzIGZyb20gcmVuYW1pbmcgdGhlIGVsZW1lbnRzCgoyMDE1LTAzLTE3IDE2OjQ5OjU0ICswMTAwICBKb3NlIEFudG9uaW8gU2FudG9zIENhZGVuYXMgPHNhbnRvc2NhZGVuYXNAZ21haWwuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBJbXByb3ZlIG1lbW9yeSBtYW5hZ2VtZW50IG9uIGNoYWluIGZ1bmN0aW9uCgkgIEF2b2lkaW5nIGNvcHkgdGhlIGJ1ZmZlciB0d2ljZSwgb25lIHdoaWxlIG1hcHBpbmcgYW5kIG90aGVyIHdpdGggbWVuY3B5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYzNTYKCjIwMTUtMDMtMTcgMTY6NTA6NDEgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IEZpeCB0eXBvIGluIGxvZwoKMjAxNS0wMy0xNyAxMTo0MzowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJICBkdGxzOiBJbml0aWFsaXplIGRlYnVnIGNhdGVnb3J5IGVhcmxpZXIKCSAgT3RoZXJ3aXNlIHRoZSBvcGVuc3NsIGluaXRpYWxpemF0aW9uIHdpbGwgdXNlIGl0IGJlZm9yZSBpbml0aWFsaXphdGlvbgoKMjAxNC0xMS0xMyAyMDozOToxMSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2ludGVybGVhdmUuYzoKCSAgYXVkaW9pbnRlcmxlYXZlOiBBZGQgdW5pdCB0ZXN0cwoJICBBbG1vc3QgYSBjb3B5IG9mIHRoZSAiaW50ZXJsZWF2ZSIgdW5pdCB0ZXN0cywgaW1wcm92ZWQgdG8gc3VwcG9ydAoJICB0aGUgdGhyZWFkIG9uIHRoZSBzcmMgcGFkIG9uIEdzdEFnZ3JlZ2F0b3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDYgMTM6NDk6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9pbnRlcmxlYXZlLmg6CgkgIGF1ZGlvaW50ZXJsZWF2ZTogU2V0IHNyYyBjYXBzIGluIGFnZ3JlZ2F0ZQoJICBUaGlzIHByZXZlbnRzIHJhY2VzIGJldHdlZW4gdGhlIHNldGNhcHMgb2YgdGhlIHNpbmsgcGFkcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE0LTExLTEzIDE1OjQwOjE1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvaW50ZXJsZWF2ZS5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2ludGVybGVhdmUuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb2ludGVybGVhdmU6IEFkZCBpbnRlcmxlYXZlIGVsZW1lbnQgYmFzZWQgb24gYXVkaW9hZ2dyZWdhdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTUtMDMtMDYgMTY6NTE6MTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBQcmludCBhIG1lc3NhZ2Ugd2hlbiBhIGJ1ZmZlciBpcyBsYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzYKCjIwMTQtMTEtMTUgMTc6NTQ6NTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSAgYXVkaW9hZ2dyZWdhdG9yOiBEb24ndCByZS1zZW5kIHRoZSBjYXBzIGlmIHRoZXkgZGlkIG5vdCBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIzNgoKMjAxNC0xMS0wNiAxNzoxNToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb2FnZ3JlZ2F0b3I6IFNwbGl0IGJhc2UgY2xhc3MgZnJvbSBhdWRpb21peGVyCgkgIEFsc286CgkgIC0gIERvbid0IG1vZGlmeSBzaXplIG9uIGVhcmx5IGJ1ZmZlcgoJICBUaGUgc2l6ZSBpcyB0aGUgc2l6ZSBvZiB0aGUgYnVmZmVyLCBub3Qgb2YgcmVtYWluaW5nIHBhcnQuCgkgIC0gVXNlIHRoZSBpbnB1dCBjYXBzIHdoZW4gbWFuaXB1bGF0aW5nIHRoZSBpbnB1dCBidWZmZXIKCSAgQWxzbyBzdG9yZSBpbiBpbiB0aGUgc2luayBwYWQKCSAgLSBSZXBseSB0byB0aGUgcG9zaXRpb24gcXVlcnkgaW4gYnl0ZXMgdG9vCgkgIC0gUHV0IEdBUCBmbGFnIG9uIG91dHB1dCBpZiBhbGwgaW5wdXRzIGFyZSBHQVAgZGF0YQoJICAtIE9ubHkgdHJ5IHRvIGNsaXAgYnVmZmVyIGlmIHRoZSBpbmNvbWluZyBzZWdtZW50IGlzIGluIHRpbWUgb3Igc2FtcGxlcwoJICAtIFVzZSBpbmNvbWluZyBzZWdtZW50IHdpdGggaW5jb21pbmcgdGltZXN0YW1wCgkgIEhhbmRsZSBub24tdGltZSBzZWdtZW50cyBhbmQgTk9ORSB0aW1lc3RhbXBzCgkgIC0gRG9uJ3QgcmVzZXQgdGhlIHBvc2l0aW9uIHdoZW4gcHVzaGluZyBvdXQgbmV3IGNhcHMKCSAgLSBNYWtlIGEgbnVtYmVyIG9mIG1lbWJlciB2YXJpYWJsZXMgcHJpdmF0ZQoJICAtIENvcnJlY3RseSBoYW5kbGUgY2FzZSB3aGVyZSBubyBwYWQgaGFzIGEgYnVmZmVyCgkgIElmIG5vbmUgb2YgdGhlIHBhZHMgaGF2ZSBidWZmZXJzIHRoYXQgY2FuIGJlIGhhbmRsZWQsIGRvbid0IGNsYWltIHRvIGJlIEVPUy4KCSAgLSBFbnN1cmUgcHJvcGVyIGxvY2tpbmcKCSAgLSBPbmx5IHN1cHBvcnQgdGltZSBzZWdtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMjM2CgoyMDE1LTAzLTA3IDIyOjA4OjQwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBvY3JldGUuY2E+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbGVhc2UgcGFkIG9iamVjdCBsb2NrIGJlZm9yZSBkcm9wcGluZyBidWZmZXIKCSAgT3RoZXJ3aXNlLCB0aGUgbG9ja2luZyBvcmRlciBpcyB2aW9sYXRlZCBhbmQgZGVhZGxvY2tzIGhhcHBlbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMDoyMjoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogT25seSBpZ25vcmUgcGFkcyB3aXRoIG5vIGJ1ZmZlcnMgb24gdGltZW91dAoJICBXaGVuIHRoZSB0aW1lb3V0IGlzIHJlYWNoZWQsIG9ubHkgaWdub3JlIHBhZHMgd2l0aCBubyBidWZmZXJzLCBpdGVyYXRlCgkgIG92ZXIgdGhlIG90aGVyIHBhZHMgdW50aWwgYWxsIGJ1ZmZlcnMgaGF2ZSBiZWVuIHJlYWQuIFRoaXMgaXMgaW1wb3J0YW50CgkgIGluIHRoZSBjYXNlcyB3aGVyZSB0aGUgaW5wdXQgYnVmZmVycyBhcmUgc21hbGxlciB0aGFuIHRoZSBvdXRwdXQgYnVmZmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzY4CgoyMDE1LTAzLTA2IDIxOjEyOjEzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBCZSBtb3JlIGFnZ3Jlc3NpdmUgd2l0aCBpbnZhbGlkIHJlcGxpZXMgdG8gb3VyIGxhdGVuY3kgcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0wNiAyMDoyNTowMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogT25seSBhZHZhbmNlIGJ5IHRoZSBidWZmZXIgc2l6ZSB3aGVuIGEgYnVmZmVyIGlzIGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc2OAoKMjAxNS0wMy0xNiAxNzo0OTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSAgZHRsczogbWFrZSBzdXJlIHdlIGFjdHVhbGx5IGxvZyBpbnRvIHRoZSByaWdodCBkZWJ1ZyBjYXRlZ29yeQoJICBHU1RfRFRMU19VU0VfR1NUX0xPRyBpcyBub3QgZGVmaW5lZCBhbnl3aGVyZSwgc28KCSAgd2UnZCBqdXN0IGxvZyBpbnRvIHRoZSBkZWZhdWx0IGNhdGVnb3J5IGJ5IGFjY2lkZW50LgoJICBXZSB1c2UgdGhlIGdzdCBsb2dnaW5nIHN5c3RlbSB1bmNvbmRpdGlvbmFsbHkgbm93LAoJICBzbyBtaWdodCBqdXN0IGFzIHdlbGwgcmVtb3ZlIHRoaXMgI2lmICNlbHNlLgoKMjAxNS0wMy0xNiAxNzozNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBmaXggc29tZSBtb3JlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIGdjYy00LjkuMjoKCSAgZ3N0ZHRsc2FnZW50LmM6MTE0OjE6IGVycm9yOiBvbGQtc3R5bGUgZnVuY3Rpb24gZGVmaW5pdGlvbgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjI1MzozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjI5MTozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjM5MTozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjQzNDozOiBlcnJvcjogSVNPIEM5MCBmb3JiaWRzIG1peGVkIGRlY2xhcmF0aW9ucyBhbmQgY29kZQoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjc3MzoxOiBlcnJvcjogJ0JJT19zX2dzdF9kdGxzX2Nvbm5lY3Rpb24nIHdhcyB1c2VkIHdpdGggbm8gcHJvdG90eXBlIGJlZm9yZSBpdHMgZGVmaW5pdGlvbgoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjc3MzoxOiBlcnJvcjogb2xkLXN0eWxlIGZ1bmN0aW9uIGRlZmluaXRpb24KCjIwMTUtMDMtMTYgMTc6NTM6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSAgZHRsczogVW5jb25kaXRpb25hbGx5IHVzZSBHU3RyZWFtZXIgZGVidWcgbG9nIHN5c3RlbQoKMjAxNS0wMy0xNiAxNzo0ODo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5jOgoJKiBleHQvZHRscy9nc3RkdGxzYWdlbnQuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5oOgoJKiBleHQvZHRscy9nc3RkdGxzY29tbW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb25uZWN0aW9uLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4Lmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZW5jLmg6CgkqIGV4dC9kdGxzL3BsdWdpbi5jOgoJICBkdGxzOiBSZS1uYW1lc3BhY2UgZnJvbSBFciB0byBHc3QKCjIwMTUtMDMtMTYgMTc6MzU6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJICBkdGxzOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBnc3RkdGxzY29ubmVjdGlvbi5jOjEyODozMjogZXJyb3I6IHBhc3NpbmcgJ2NvbnN0IGNoYXIgWzMwXScgdG8gcGFyYW1ldGVyIG9mIHR5cGUgJ3ZvaWQgKicKCSAgZGlzY2FyZHMgcXVhbGlmaWVycyBbLVdlcnJvciwtV2luY29tcGF0aWJsZS1wb2ludGVyLXR5cGVzLWRpc2NhcmRzLXF1YWxpZmllcnNdCgkgIFNTTF9nZXRfZXhfbmV3X2luZGV4ICgwLCAiZ3N0ZHRsc2FnZW50IGNvbm5lY3Rpb24gaW5kZXgiLCBOVUxMLCBOVUxMLAoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIC91c3IvaW5jbHVkZS9vcGVuc3NsL3NzbC5oOjE5ODE6NDM6IG5vdGU6IHBhc3NpbmcgYXJndW1lbnQgdG8gcGFyYW1ldGVyICdhcmdwJyBoZXJlCgkgIGludCBTU0xfZ2V0X2V4X25ld19pbmRleChsb25nIGFyZ2wsIHZvaWQgKmFyZ3AsIENSWVBUT19FWF9uZXcgKm5ld19mdW5jLAoJICBeCgkgIGdzdGR0bHNjb25uZWN0aW9uLmM6ODIyOjQwOiBlcnJvcjogYXJpdGhtZXRpYyBvbiBhIHBvaW50ZXIgdG8gdm9pZCBpcyBhIEdOVSBleHRlbnNpb24KCSAgWy1XZXJyb3IsLVdwb2ludGVyLWFyaXRoXQoJICBtZW1jcHkgKG91dF9idWZmZXIsIHByaXYtPmJpb19idWZmZXIgKyBwcml2LT5iaW9fYnVmZmVyX29mZnNldCwgY29weV9zaXplKTsKCSAgfn5+fn5+fn5+fn5+fn5+fiBeCgoyMDE1LTAzLTE2IDE3OjM0OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNjZXJ0aWZpY2F0ZS5jOgoJKiBleHQvZHRscy9nc3RkdGxzY29ubmVjdGlvbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBiaW4uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZWMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBkZW11eC5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGVuYy5jOgoJKiBleHQvZHRscy9wbHVnaW4uYzoKCSAgZHRsczogRml4IGluZGVudGlvbgoKMjAxNS0wMy0xNiAxNzozMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZHRscy9NYWtlZmlsZS5hbToKCSogZXh0L2R0bHMvZ3N0ZHRsc2FnZW50LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNhZ2VudC5oOgoJKiBleHQvZHRscy9nc3RkdGxzY2VydGlmaWNhdGUuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2NlcnRpZmljYXRlLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNjb21tb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2Nvbm5lY3Rpb24uaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc2RlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzZGVjLmg6CgkqIGV4dC9kdGxzL2dzdGR0bHNlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc2VuYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGJpbi5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5jOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlYy5oOgoJKiBleHQvZHRscy9nc3RkdGxzc3J0cGRlbXV4LmM6CgkqIGV4dC9kdGxzL2dzdGR0bHNzcnRwZGVtdXguaDoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuYzoKCSogZXh0L2R0bHMvZ3N0ZHRsc3NydHBlbmMuaDoKCSogZXh0L2R0bHMvcGx1Z2luLmM6CgkgIGR0bHM6IEFkZCBuZXcgRFRMUyBwbHVnaW4KCSAgVGhpcyBpcyBhIGNvcHkgb2YgdGhlIEVyaWNzc29uIERUTFMgcGx1Z2luIGZyb20KCSAgaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucy90cmVlL21hc3Rlci9leHQvZXJkdGxzL3NyYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NTgyCgoyMDE1LTAzLTE2IDAzOjUzOjMzICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJICBjb21wb3NpdG9yOiBSZXZlcnQgbW9zdCBvZiBwcmV2aW91cyBwYXRjaC4KCSAgVGhlIGNhbGN1bGF0aW9uIGRvZXNuJ3QgcHJvZHVjZSB0aGUgc2FtZSByZXN1bHRzLgoJICBLZWVwIGp1c3QgdGhlIGNoYW5nZSB0byBkaXZpZGUgYWxwaGEgYnkgMjU1IGluc3RlYWQgb2YgMjU2LAoJICBmb3Igc2xpZ2h0bHkgYmV0dGVyIGFjY3VyYWN5CgoyMDE1LTAzLTE1IDE2OjU1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGhlbHBlcnMgZm9yIGNhbGxpbmcgc3RhdGljIG1ldGhvZHMKCjIwMTUtMDMtMTUgMTY6Mzg6MjkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBGaXggaW5kZW50aW9uCgoyMDE0LTA2LTA1IDEwOjMzOjU2ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3Rqbml1dGlscy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmg6CgkgIGFuZHJvaWRtZWRpYTogQWRkIG1vcmUgSk5JIGhlbHBlciBmdW5jdGlvbnMKCjIwMTQtMDYtMDIgMTI6Mzc6MDkgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGpuaXV0aWxzLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0am5pdXRpbHMuaDoKCSAgYW5kcm9pZG1lZGlhOiBTcGxpdCBqbmkgY29kZSB0byBnc3Rqbml1dGlscy5jCgoyMDE1LTAzLTE1IDE2OjEwOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBkcm9wIHNvbWUgc3VwZXJmbHVvdXMgYXNzZXJ0aW9ucwoJICBnX3JldHVybl8qX2lmX2ZhaWwoKSBpcyBmb3IgcHVibGljIEFQSSB0byBjYXRjaAoJICBwcm9ncmFtbWluZyBlcnJvcnMuIEZvciBpbnRlcm5hbCBjb2RlLCB3ZSBzaG91bGQKCSAganVzdCB1c2UgZ19hc3NlcnQoKSB0byBjaGVjayBpbnRlcm5hbCBzdGF0ZS4KCjIwMTUtMDMtMTUgMTU6NTQ6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIHRlc3QgZm9yIGtleWZyYW1lL2RlbHRhIGZsYWcgcHJvcGFnYXRpb24KCSAgVGhlIGZpcnN0IG91dHB1dCBNUEVHLVRTIHBhY2tldCB0aGF0IGNvcnJlc3BvbmRzIHRvIGEgdmlkZW8gaW5wdXQKCSAgYnVmZmVyIHdoaWNoIGhhZCB0aGUgZGVsdGEgZmxhZyBjbGVhcmVkIChpLmUuIHdhcyBhIGtleWZyYW1lKQoJICBzaG91bGQgaGF2ZSB0aGUgZGVsdGEgZmxhZyBjbGVhcmVkIGFzIHdlbGwuCgkgIFRoaXMgaXMgbmVlZGVkIGUuZy4gYnkgdGNwc2VydmVyc2luayBpbiBvcmRlciB0byBrZWVwIHRyYWNrCgkgIG9mIHRoZSBsYXN0IGtleWZyYW1lIGFuZCBiZSBhYmxlIHRvIGJ1cnN0IGRhdGEgdG8gbmV3bHktCgkgIGNvbm5lY3RlZCBjbGllbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2ODcyCgoyMDE1LTAzLTE1IDE0OjM1OjE1ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGdsL2RvY3M6IGFkZCBtaXNzaW5nIGZ1bmN0aW9ucy9vYmplY3RzCgoyMDE1LTAzLTE1IDEyOjU4OjI2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIGdsZGlzcGxheTogdGVudGF0aXZlIHByb3BlciBjb250ZXh0IGNvbGxpc2lvbiBkZXRlY3Rpb24KCSAgRml4ZXMKCSAgdGVlIG5hbWU9dCAhIHF1ZXVlICEgZ2xpYW1nZXNpbmsgdC4gISBxdWV1ZSAhIGdsaW1hZ2VzaW5rCgoyMDE0LTA3LTE4IDEwOjQ0OjU5ICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggbmFtZXNwYWNlIG9mIHNvbWUgaW50ZXJuYWwgZnVuY3Rpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNDcKCjIwMTUtMDMtMTYgMDA6MjI6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy5vcmM6CgkgIGNvbXBvc2l0b3I6IEZpeCBibGVuZGluZyBmdW5jdGlvbnMKCSAgQ29ycmVjdGx5IGNhbGN1bGF0ZSBhbHBoYSBpbiBhIGZldyBwbGFjZXMgYnkgZGl2aWRpbmcgYnkgMjU1LAoJICBub3QgMjU2LgoJICBGaXggdGhlIGFyZ2IgYW5kIGJncmEgYmxlbmRpbmcgZnVuY3Rpb25zIHRvIGF2b2lkIGFuIG9mZi1ieS1vbmUKCSAgZXJyb3IgaW4gdGhlIGNhbGN1bGF0aW9ucywgc28gcGFpbnRpbmcgd2l0aCBhbHBoYSA9IDB4ZmYgZG9lc24ndAoJICBldmVyIGJsZWVkIHRocm91Z2ggZnJvbSBiZWhpbmQKCjIwMTUtMDMtMTUgMTI6MDY6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRkIHVuaXQgdGVzdCBmb3IgImFsaWdubWVudCIgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjEyOQoKMjAxNS0wMy0xNCAxNToyNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbWFrZSAiYWxpZ25tZW50IiBwcm9wZXJ0eSBtb3JlIHVzZWZ1bCBmb3IgcGFja2V0aXNhdGlvbgoJICBDdXJyZW50bHkgdGhlIGFsaWdubWVudCBwcm9wZXJ0eSBqdXN0IG1ha2VzIHN1cmUgdGhhdCB3ZQoJICBvdXRwdXQgdGhpbmdzIGluIG11bHRpcGxlcyBvZiBhbGlnbipwYWNrZXRfc2l6ZSBieXRlcywgYnV0CgkgIHdpdGggbm8gY2xlYXIgbWF4aW11bSBzaXplLiBXaGVuIHN0cmVhbWluZyBNUEVHLVRTIG92ZXIKCSAgVURQIG9uZSB3YW50cyBidWZmZXJzIHdpdGggYSBtYXhpbXVtIHBhY2tldCBzaXplIG9mIDEzMTYuCgkgIFRoZSBhbGlnbm1lbnQgcHJvcGVydHkgc28gZmFyIHdvdWxkIGp1c3Qgb3V0cHV0IGJ1ZmZlcnMKCSAgdGhhdCBhcmUgYSBtdWx0aXBsZSBvZiAxMzE2IHRoZW4uCgkgIEluc3RlYWQgd2Ugbm93IG1ha2UgdGhlIGFsaWdubWVudCBwcm9wZXJ0eSBvdXRwdXQKCSAgaW5kaXZpZHVhbCBidWZmZXJzIHdpdGggdGhlIGFsaWdubWVudCBzaXplLCB3aGljaAoJICBpcyBlbnRpcmVseSBiYWNrd2FyZHMgY29tcGF0aWJsZSB3aXRoIHRoZSBleHBlY3RlZAoJICBiZWhhdmlvdXIgdXAgdW50aWwgbm93LiBGb3IgZWZmaWNpZW5jeSByZWFzb24KCSAgY29sbGVjdCBhbGwgdGhvc2UgYnVmZmVycyBpbiBhIGJ1ZmZlciBsaXN0IGFuZAoJICBzZW5kIHRoYXQgZG93bnN0cmVhbS4KCSAgQWxzbyBjb2xsZWN0IGRhdGEgdG8gcHVzaCBkb3duc3RyZWFtIGluIGEgYnVmZmVyCgkgIGxpc3QgZnJvbSB0aGUgYWRhcHRlciBpZiB3ZSBkb24ndCBhbGlnbiB0aGluZ3MsCgkgIHdoaWNoIGlzIHN0aWxsIG1vcmUgZWZmaWNpZW50IGJlY2F1c2Ugb2YgdGhlCgkgIHNpbGx5IHdheSB0aGUgbXV4ZXIgY3VycmVudGx5IGNyZWF0ZXMgb3V0cHV0CgkgIHBhY2tldHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMjkKCjIwMTUtMDMtMTEgMjM6MDM6MjQgKzA4MDAgIHhpeGkgPHhpeGkxMDExMTAxMUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmZXRjaCB3cm9uZyBzZWdtZW50IGF0IHRoZSBlbmQgb2YgUGVyaW9kCgkgIEZpeCBjaGVjayBmb3IgZW5kIG9mIFBlcmlvZCB0aW1lIHRvIGF2b2lkIHRyeWluZwoJICB0byBmZXRjaCBhIHNlZ21lbnQgdGhhdCBkb2Vzbid0IGV4aXN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYwMzgKCjIwMTUtMDMtMTQgMTk6NDg6MjEgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZXh0L2dsL2dzdGdsdXBsb2FkZWxlbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG1vdmUgbWV0YS1kYXRhIGNvcHkgaW50byBnc3QtZ2wgbGlicmFyeQoJICBJbiBzb21lIHVwbG9hZCBpbXBsZW1lbnRhdGlvbnMgdGhlIG91dCBidWZmZXIgaGFzIG1vcmUgdGhhbiBvbmUgcmVmZXJlbmNlcywKCSAgdHVybmluZyB0aGUgYnVmZmVyIG5vdCB3cml0YWJsZSwgc28gaXQgd29uJ3QgYmUgcG9zc2libGUgdG8gbW9kaWZ5IGl0cwoJICBtZXRhLWRhdGEuCgkgIFRoaXMgcGF0Y2ggbW92ZXMgdGhlIG1ldGEtZGF0YSBjb3B5IGJlZm9yZSBpbmNyZWFzaW5nIHRoZSByZWZlcmVuY2Ugb2YgdGhlIG91dAoJICBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDYxNzMKCjIwMTUtMDMtMTQgMTg6NDU6MDEgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogZml4IHRoZSBzbGlnaHQgZGlmZmVyZW5jZSBiZXR3ZWVuIEVYVF9yZyBhbmQgQVJCX3JnCgkgIEdMX0VYVF90ZXh0dXJlX3JnIGRvZXNuJ3QgdGFrZSBzaXplZCBmb3JtYXRzIGZvciB0aGUgaW50ZXJuYWxmb3JtYXQKCSAgcGFyYW1ldGVyIG9mIFRleEltYWdlKiBidXQgR0xfQVJCX3RleHR1cmVfcmcgYW5kIEdMKEVTKTMgZG8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MDcKCjIwMTUtMDMtMTQgMTc6Mjk6MDIgKzAwMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgaGFjayBhcm91bmQgYnVnIDY0ODM1OQoJICBJdCBpcyBhbHJlYWR5IGZpeGVkCgoyMDE1LTAzLTE0IDEyOjI0OjUzICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGRlcHJlY2F0ZWQgZ19hdG9taWMgZnVuY3Rpb24KCSAgV2UgZGVwZW5kIG9uIDIuMzIgYWxyZWFkeQoKMjAxNS0wMy0xNCAxMTo0NToyMCArMDAwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBmaXggcGFkIGxlYWsKCSAgT25seSBnZXQgdGhlIHBhZCBpZiBpdCBpcyByZWFsbHkgZ29pbmcgdG8gYmUgdXNlZCB0byBhdm9pZAoJICBsZWFraW5nIGl0CgoyMDE1LTAzLTE0IDE4OjEwOjI0ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkgIGdsL2V4YW1wbGVzOiBmaXh1cCBnZW5lcmljIGN1YmUgZXhhbXBsZSBmb3IgTkRDCgkgIHRyYW5zbGF0aW5nIG91dHNpZGUgdGhlIGNsaXAgcmVnaW9uIGRvZXNuJ3Qgd29yawoKMjAxNS0wMy0xNCAxNTozODoyOCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUyLmM6CgkgIGdsL2V4YW1wbGVzOiBhZGQgc2Rsc2hhcmUyIHRoYXQgdXNlcyBnbGltYWdlc2luayB0byBvdXRwdXQgdGV4dHVyZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNjozMDo0MiArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGtlZXAgd2luZG93IGludmlzaWJsZSB3aGVuIHNoYXJpbmcgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk2ODEKCjIwMTUtMDMtMTQgMTU6MTY6NTUgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3BpcGVsaW5lLmNwcDoKCSAgZ2xpbWFnZXNpbms6IHByb3ZpZGUgR3N0U2FtcGxlIGluIGNsaWVudC1kcmF3IHNpZ25hbAoJICBJbnN0ZWFkIG9mIHByaXZpZGluZyB0ZXh0dXJlIGFuZCBzaXplIGRpcmVjdGx5LgoJICBBbmQgYXBwbHkgY2hhbmdlcyB0byBleGFtcGxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTY4MQoKMjAxNS0wMy0xNCAxNTozNzowNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgc2Rsc2hhcmU6IHVzZSBnbHVwbG9hZCBhbmQgdW5tYXAgZnJhbWUKCjIwMTUtMDMtMTQgMTY6MjU6MjkgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuaDoKCSAgZ2xzeW5jbWV0YTogbWFrZSBjb250ZXh0IHRvIHdhaXQgYW5kIHNldCBzeW5jIGV4cGxpY2l0CgkgIG90aGVyd2lzZSB3ZSBtYXkgd2FpdCBvbiBhIHN5bmMgb2JqZWN0IGluIHNhbWUgY29udGV4dCBieSBhY2NpZGVudAoKMjAxNS0wMy0xNCAxNToxNjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQKCSAgV2FzIHN1cHBvc2VkIHRvIGJlIHNxdWFzaGVkIGludG8gZWFybGllciBjb21taXQuCgoyMDE1LTAzLTE0IDE1OjE1OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MKCjIwMTUtMDMtMTQgMTQ6NDM6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJICBSZW1vdmUgdW5wb3J0ZWQgYW5kIHVzZWxlc3Mgb3N4dmlkZW9zcmMgZWxlbWVudAoJICBUaGVyZSBhcmUgb3RoZXIgZWxlbWVudHMgZm9yIHRoaXMgbm93LgoKMjAxNS0wMy0xMyAxODoyNDo0MyArMDAwMCAgUmFtaXJvIFBvbGxhIDxyYW1pcm8ucG9sbGFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogcHJvcGVybHkgZXNjYXBlIHBlcmNlbnQgc2lnbiBpbiBkb2N1bWVudGF0aW9uCgoyMDE1LTAzLTE0IDEyOjU4OjIyICswMDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEFkZCBOVUxMIGNoZWNrIGluIGVycm9yIGNhc2UKCSAgT3RoZXIgY29udGV4dCBtYXkgYmUgTlVMTCBpZiBzb21ldGhpbmcgd2VudCB3cm9uZy4gQXZvaWQgdHJ5aW5nIHRvIHVucmVmCgkgIGEgTlVMTCBwb2ludGVyLgoKMjAxNS0wMy0xNCAxMTowMToxMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogZml4IGEgY291cGxlIG9mIHR5cG9zIGluIGNvbmZpZ3VyZS5hYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MDIwCgoyMDE1LTAzLTE0IDEwOjM5OjA2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuYzoKCSAgZ2x1cGxvYWQvY29sb3Jjb252ZXJ0OiBvbmx5IGNvcHkgdGltZXN0YW1wcyBpZiB0aGUgaW5wdXQgYnVmZmVyICE9IG91dHB1dAoKMjAxNS0wMy0xMSAwMDowNjo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsZGlzcGxheV9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xkaXNwbGF5X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBHc3RHTERpc3BsYXlDb2NvYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDEyCgoyMDE1LTAzLTEzIDA5OjA3OjE2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBleGFtcGxlczogaW5pdGlhbGl6ZSBOU0FwcCBhdCB0aGUgYmVnaW5uaW5nCgoyMDE1LTAzLTE0IDA3OjQ5OjE0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG8gbm90IHRlcm1pbmF0ZSBsb29wIGluIGdzdF9nbF93aW5kb3dfY29jb2FfY2xvc2UKCSAgSXQgaXMgbm93IGRvbmUgaW4gX2ZpbmFsaXplLgoJICBGaXggcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5CgkgICJnbC93aW5kb3c6IGNyZWF0ZSB0aGUgbWFpbiBsb29wL2NvbnRleHQgb24gaW5pdC9maW5hbGl6ZSIKCSAgYmM3YTcyNTlmMzU3YjAwNjVkZDk0ZTA2NjhiNWE4OTVkODNmYTUzYQoKMjAxNS0wMy0xMyAxNTozNDo1NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogYXZvaWQgb3ZlcndyaXRpbmcgZGlzcGxheSBhbmQgY29udGV4dCB0byBOVUxMCgkgIEl0IGhhcHBlbnMgd2hlbiB0aGUgYXBwbGljYXRpb24gcHJvdmlkZXMgZGlzcGxheQoJICBhbmQvb3IgY29udGV4dC4KCjIwMTUtMDMtMTMgMTc6NDE6MTcgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIGdsc2hhZGVyOiBhdHRyaWJ1dGUgbG9jYXRpb25zIGFyZSAtMSBvbiBlcnJvcgoKMjAxNS0wMy0xMyAxNzowNDoxNyArMDAwMCAgTmVvczM0NTIgPG5lb3MzNDUyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBnbHNoYWRlcjogcHJldmVudCBmcm9tIGdldHRpbmcgYXR0cmlidXRlcyB3aXRob3V0IHZlcnRleCBzaGFkZXIKCSAgSXQgZG9lc24ndCBtYWtlIHNlbnNlIHRvIHF1ZXJ5IGZvciB2ZXJ0ZXggYXR0cmlidXRlcyB3aXRob3V0IGEgdmVydGV4CgkgIHNoYWRlci4gTW9yZW92ZXIgdGhpcyBpcyBjYXVzaW5nIGEgY3Jhc2ggb24gT1NYLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MTY4CgoyMDE1LTAzLTE0IDAyOjUzOjAwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJpbi5jOgoJICBHTDogUmVtb3ZlIGFubm95aW5nIHByaW50ZiBpbiB0aGUgZmlsdGVyYmluIGNsYXNzX2luaXQKCjIwMTUtMDMtMTIgMDk6Mjc6MzAgKzAxMDAgIGlqc2YgPGlqc2ZAZ214Lm5ldD4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIFJlc3RyaWN0ZWQgYWN0aXZlVmlkZW9NYXhGcmFtZUR1cmF0aW9uIHRvIGZpeCBmcmFtZSByYXRlCgoyMDE1LTAzLTEzIDEyOjQzOjEzICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGFkZCBwaXhlbC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgb24gdGhlIGJpbgoKMjAxNS0wMy0xMyAxMjo0MDowNCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiB1bnJlZiB0aGUgYnVmZmVycG9vbAoKMjAxNS0wMy0xMyAxMjoyOTo1NCArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBmb3J3YXJkIEFMTCB0aGUgcHJvcGVydGllcyBvbiB0aGUgYmluCgoyMDE1LTAzLTEzIDEyOjI4OjM2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkgIGdsdXBsb2FkZWxlbWVudDogcHJvcGVybHkgdW5yZWYgYnVmZmVycyB0aGF0IGFyZSB0aGUgc2FtZSBhcyB0aGUgaW5wdXQKCSAgYmFzZXRyYW5zZm9ybSBkb2Vzbid0IHVucmVmIGVxdWFsIGlucHV0IGFuZCBvdXRwdXQgYnVmZmVycwoKMjAxNS0wMy0xMyAxMDoyNTozNSArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogZ2V0IHRoZSBjb250ZXh0IGZyb20gYmFzZW1peGVyL2Jhc2VmaWx0ZXIKCjIwMTUtMDMtMTMgMDk6Mzg6NTQgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogcmV0cmVpdmUgdGhlIGdsZGlzcGxheS9hcHAgZ2wgY29udGV4dCBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIGZpeGVzIHRoZSB1c2FnZSBvZiBnc3RfZ2xfZGlzcGxheV9maWx0ZXJfZ2xfYXBpCgoyMDE1LTAzLTEzIDA5OjM3OjQ2ICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbC90ZXN0czogZml4IGRlYWRsb2NrIG9uIGdsY29udGV4dCB3cmFwcGVkIGNvbnRleHQgdGVzdAoKMjAxNS0wMy0xMiAxNjo0Njo0NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGNhY2hlIGluZGljZXMgaW4gYSBidWZmZXIgb2JqZWN0CgoyMDE1LTAzLTEyIDE3OjExOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggZGlzY29udCBkZXRlY3Rpb24gYW5kIGJ1ZmZlciBhbGlnbm1lbnQgY29kZQoJICBBY3R1YWxseSBhY2N1bXVsYXRlIHRoZSBzYW1wbGUgY291bnRlciB0byBjaGVjayB0aGUgYWNjdW11bGF0ZWQgZXJyb3IKCSAgYmV0d2VlbiBhY3R1YWwgdGltZXN0YW1wcyBhbmQgZXhwZWN0ZWQgb25lcyBpbnN0ZWFkIG9mIGp1c3QgcmVzZXR0aW5nCgkgIHRoZSBlcnJvciBiYWNrIHRvIDAgd2l0aCBldmVyeSBuZXcgYnVmZmVyLgoJICBBbHNvIGRvbid0IHJlc2V0IGRpc2NvbnRfdGltZSB3aGVuZXZlciB3ZSBkb24ndCByZXN5bmMuIFRoZSB3aG9sZSBwb2ludCBvZgoJICBkaXNjb250X3RpbWUgaXMgdG8gcmVtZW1iZXIgd2hlbiB3ZSBmaXJzdCBkZXRlY3RlZCBhIGRpc2NvbnQgdW50aWwgd2UgYWN0dWFsbHkKCSAgYWN0IG9uIGl0IGEgYml0IGxhdGVyIGlmIHRoZSBkaXNjb250IHN0YXllZCBhcm91bmQgZm9yIGRpc2NvbnRfd2FpdCB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ2MDMyCgoyMDE1LTAzLTA4IDE4OjE2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsuaDoKCSogZXh0L2dsL2Nhb3BlbmdsbGF5ZXJzaW5rLm06CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgY2FvcGVuZ2xsYXllcnNpbms6IGltcGxlbWVudCBhcyBhIGJpbiBsaWtlIGdsaW1hZ2VzaW5rCgoyMDE1LTAzLTAzIDE4OjA1OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogYXZvaWQgZGVhZGxvY2sgd2hlbiBjcmVhdGluZyBjb250ZXh0IG9uIHRoZSBtYWluIHRocmVhZC4KCSAgTWFrZSB3aW5kb3cvdmlldyBjcmVhdGlvbiBhc3luYyBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlIHRvCgkgIGdzdF9nbF9jb250ZXh0X2NyZWF0ZSBmcm9tIHRoZSBtYWluIHRocmVhZC4KCjIwMTUtMDMtMDMgMTc6MjY6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBnbDogc3RvcmUgdGhlIGxpc3Qgb2YgY29udGV4dHMgd2l0aGluIGdsZGlzcGxheQoJICBSZW1vdmVzIHRoZSByZWxpYW5jZSBvbiB0aGUgYWxsb2NhdGlvbiBxdWVyeSB0byBwcm9wb2dhdGUgR0wgY29udGV4dHMuCgkgIEFsbG93cyB0aHJlYWQgc2FmZWx5IGdldHRpbmcgYSBjb250ZXh0IGZvciB0aGUgYSBzcGVjaWZpYyB0aHJlYWQuCgoyMDE1LTAzLTAzIDE2OjQ4OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVuc2V0IHRoZSBjdXJyZW50IHNoYWRlciBhZnRlciByZW5kZXJpbmcKCSAgZml4ZXMgZ2x0ZXN0c3JjICEgZ2xpbWFnZXNpbmsgd2hlbiBnbHRlc3RzcmMgZG9lc24ndCB1c2UgYSBzaGFkZXIKCjIwMTUtMDMtMDMgMTY6Mzg6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBnbHRlc3RzcmM6IHJlbW92ZSB1c2FnZSBvZiBnbGRvd25sb2FkIGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAyLTI4IDAwOjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBzdG9yZSB0aGUgdGhyZWFkIGN1cnJlbnQgY29udGV4dAoKMjAxNS0wMi0yNiAxODoyNjozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzcmNiaW4uYzoKCSogZXh0L2dsL2dzdGdsc3JjYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbHNyY2JpbiBlbGVtZW50CgoyMDE1LTAyLTI2IDEzOjQ1OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbHZpZGVvbWl4ZXI6IGltcGxlbWVudCB3aXRoIGdsbWl4ZXJiaW4KCSAgVGhlIHJlbGV2YW50IHByb3BlcnRpZXMgYXJlIGZvcndhcmRlZCB0by9mcm9tIHRoZSBjb250YWluaW5nIGJpbgoJICBhbmQgc2luayBwYWRzLgoKMjAxNS0wMi0yNiAwMDoyMDozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogcmVtb3ZlIHVzYWdlIG9mIHVwbG9hZC9kb3dubG9hZCBvYmplY3RzCgoyMDE1LTAyLTI1IDIzOjQ4OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBnbG1peGVyYmluIGVsZW1lbnQKCjIwMTUtMDItMjAgMTY6NDc6MDEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbGltYWdlc2luazogaW1wbGVtZW50IGFzIGEgYmluCgkgIGdsdXBsb2FkICEgZ2xjb2xvcmNvbnZlcnQgISBzaW5rCgkgIFNvbWUgcHJvcGVydGllcyBhcmUgbWFudWFsbHkgZm9yd2FyZGVkLiAgVGhlIHJlc3QgYXJlIGF2YWlsYWJsZSB1c2luZwoJICBHc3RDaGlsZFByb3h5LgoJICBUaGUgdHdvIHNpZ25hbHMgYXJlIGZvcndhcmRlZCBhcyB3ZWxsLgoKMjAxNS0wMi0xOSAxODoyMzozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xzaW5rYmluLmM6CgkqIGV4dC9nbC9nc3RnbHNpbmtiaW4uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogbmV3IGdsc2lua2JpbiBlbGVtZW50CgkgIHNpbWlsYXIgdG8gZ2xmaWx0ZXJiaW4gYnV0IGZvciBzaW5rcwoKMjAxNS0wMi0xOSAxNDoxOTo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBkb24ndCB1c2UgdGhlIGxpYnJhcnkgdXBsb2FkL2NvbnZlcnQgb2JqZWN0cwoKMjAxNS0wMi0xOSAxMzozMzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJiaW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmluLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IG5ldyBlbGVtZW50IGdsZmlsdGVyYmluCgkgIEl0IGVuY2Fwc3VsYXRlcyBhIGNvbmZpdXJhYmxlIEdMIHByb2Nlc3NpbmcgZWxlbWVudCBpbiB0aGUKCSAgdXBsb2FkL2NvbG9yY29udmVydC9kb3dubG9hZCBkYW5jZSByZXF1aXJlZCB0byB0cmFuc3BhcmVudGx5IHByb2Nlc3MKCSAgdGhlIG1ham9yaXR5IG9mIEdzdEJ1ZmZlcidzLgoKMjAxNS0wMi0xOSAxMzoyNDo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2xkb3dubG9hZGVsZW1lbnQuYzoKCSogZXh0L2dsL2dzdGdsZG93bmxvYWRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBuZXcgZ2xkb3dubG9hZGVsZW1lbnQKCSAgU2ltcGx5IHRyYW5zZm9ybXMgY2FwcyB0by9mcm9tIHJhdy9nbG1lbW9yeSBjYXBzZmVhdHVyZXMKCjIwMTUtMDItMTIgMTc6NTk6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsY29sb3Jjb252ZXJ0ZWxlbWVudC5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnRlbGVtZW50Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGFkZCBhIG5ldyBnbGNvbG9yY29udmVydCBlbGVtZW50IGJhc2VkIG9uIHRoZSBnbGNvbG9yY29udmVydCBsaWJyYXJ5IG9iamVjdAoKMjAxNS0wMy0xMSAxNjo1NjoxNiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBpbXBsZW1lbnQgcHJvcG9zZV9hbGxvY2F0aW9uIHBvb2wgaGFuZGxpbmcgZm9yIGdsbWVtb3J5IHVwbG9hZAoKMjAxNS0wMi0xMSAyMzoyOTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x1cGxvYWRlbGVtZW50LmM6CgkqIGV4dC9nbC9nc3RnbHVwbG9hZGVsZW1lbnQuaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogYWRkIGEgbmV3IGdsdXBsb2FkIGVsZW1lbnQgYmFzZWQgb24gdGhlIGdsdXBsb2FkIGxpYnJhcnkgb2JqZWN0CgoyMDE1LTAyLTExIDE0OjQ4OjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGJhc2VtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2xiYXNlbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5oOgoJICBnbDogYWRkIGEgbmV3IGdsYmFzZW1peGVyIGNsYXNzIGJlbG93IGdsbWl4ZXIKCSAgSXQgZGVhbHMgd2l0aCBwcm9wYWdhdGluZyB0aGUgZ2wgZGlzcGxheS9jb250ZXh0cyB0aHJvdWdob3V0IHRoZQoJICBhcHBsaWNhdGlvbi9waXBlbGluZQoKMjAxNS0wMi0xMSAwMTo0ODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xiYXNlZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJhc2VmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBnbDogYWRkIGEgbmV3IGdsYmFzZWZpbHRlciBjbGFzcyBiZWxvdyBnbGZpbHRlcgoJICBJdCBkZWFscyB3aXRoIHByb3BhZ2F0aW5nIHRoZSBnbCBkaXNwbGF5L2NvbnRleHRzIHRocm91Z2hvdXQgdGhlCgkgIGFwcGxpY2F0aW9uL3BpcGVsaW5lCgoyMDE1LTAyLTExIDAxOjI3OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbHV0aWxzOiBleHBvc2UgcnVubmluZyBhIHF1ZXJ5IG9uIGEgc2V0IG9mIHNyYy9zaW5rIHBhZHMKCjIwMTUtMDMtMTIgMTI6NDk6NDAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHJlcGxhY2UgY2JyIGFuZCBjb25zdHJhaW5lZC12YnIgcHJvcGVydGllcyB3aXRoIGFuIGVudW0KCSAgSXQgd2FzIGRlZW1lZCBjb25mdXNpbmcgYmVmb3JlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0OTA5CgoyMDE1LTAzLTEyIDEwOjE0OjUwICswMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGFkdmVydGlzZSByZXNpemUgaW4gdGhlIGNhcHMgbmVnb3RpYXRpb24gcHJvcGVybHkKCjIwMTUtMDMtMTIgMDE6NDk6NTggKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIGxvY2tpbmcgdG8gZmlsbF9idWZmZXIgYW5kIGZpeCBtaXhfYnVmZmVyCgkgIFRoZSBhdWRpb21peGVyIHBhZCBzdHJ1Y3QgZmllbGRzIG1heSBiZSBjaGFuZ2VkIGZyb20gb3RoZXIgdGhyZWFkcwoKMjAxNS0wMy0xMiAwMTo1Njo0NCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IE1hcmsgYSBkaXNjb250IHdoZW4gd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50CgkgIFRoaXMgYWxsb3dzIHVzIHRvIGhhbmRsZSBuZXcgc2VnbWVudCBldmVudHMgY29ycmVjdGx5OyBlaXRoZXIgYnkgZHJvcHBpbmcKCSAgYnVmZmVycyBvciBpbnNlcnRpbmcgc2lsZW5jZTsgZm9yIGV4YW1wbGUgaWYgdGhlIG9mZnNldCBpcyBjaGFuZ2VkIG9uIGFuIHNyY3BhZAoJICBjb25uZWN0ZWQgdG8gYXVkaW9taXhlci4KCjIwMTUtMDMtMTIgMDk6NDY6MDIgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogd2UgZG9uJ3QgZG8gcmVzaXppbmcgb2YgdGhlIHZpZGVvIGZyYW1lcwoJICBBcyB3ZSBjYW5ub3QgZG8gYWNjdXJhdGUgdGV4ZWwgc2FtcGxpbmcgdGhlbiBkdWUgdG8gdGhlIHRleHR1cmUKCSAgY29vcmRpbmF0ZXMgYmVpbmcgaW50ZXJwb2xhdGVkIGJhc2VkIG9uIHRoZSBvdXRwdXQgZnJhbWUgc2l6ZS4KCjIwMTUtMDEtMjAgMTk6NTM6MDkgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBXaGlsZSBhZ2dyZWdhdGluZywgc3luYyB2YWx1ZXMgZm9yIGFsbCBwYWRzIGJlZm9yZSBjb252ZXJ0aW5nIGZyYW1lcwoKMjAxNS0wMy0xMSAxODo0OToyMiArMDAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBkb24ndCBYR2V0V2luZG93QXR0cmlidXRlcyBldmVyeSBYRXZlbnQKCSAgZml4ZXMgYSBkZWFkbG9jayBpbiB4Y2Igd2hlcmUgdGhlIFggd2luZG93IG1heSBub3QgZXhpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU2MzMKCjIwMTUtMDMtMTEgMTQ6NTA6MjggKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvd2luZG93OiBob3BlZnVsbHkgZml4dXAgY29tcGlsZSB3YXJuaW5ncyBvbiBhbmRyb2lkL2lvcwoKMjAxNS0wMy0xMSAxNzoxOToxNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IFJlbW92ZSByZWR1bmRhbnQgY2hlY2sgZm9yIGNsZWFyaW5nIGNvbnRleHQgb24gcmVzZXQuCgkgIFRoZSBjb250ZXh0IGlzIGFscmVhZHkgY2xlYXJlZCBhIGZldyBsaW5lcyBhYm92ZS4KCjIwMTUtMDMtMTEgMTY6NTU6MTQgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0aXNvZmYuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9pbnNlcnRiaW4vZ3N0aW5zZXJ0YmluLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSAgUmVtb3ZlIGEgYnVuY2ggb2Ygc2lsbHkgJzs7JyB0eXBvcyBhdCB0aGUgZW5kIG9mIGxpbmVzCgoyMDE1LTAzLTA2IDE1OjMxOjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC93aW5kb3c6IGNyZWF0ZSB0aGUgbWFpbiBsb29wL2NvbnRleHQgb24gaW5pdC9maW5hbGl6ZQoJICBBdm9pZHMgcmFjZXMgc2V0dGluZyB0aGUgd2luZG93IGhhbmRsZSBmcm9tIHRoZSBtYWluIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTYzMwoKMjAxNS0wMy0wOCAwMjowNDoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yeTogZG9uJ3QgcmVkZWZpbmUgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MKCjIwMTUtMDMtMDQgMTE6MTI6MzIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtb3ZlIHVudXNlZCBsYWJlbC92YXJpYWJsZQoKMjAxNS0wMy0xMCAxNTozMToyMSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQgY2hlY2suCgkgIEFuZCByZXR1cm4gMCBpc250ZWFkIG9mIEZBTFNFLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDU1CgoyMDE1LTAzLTAyIDE0OjAwOjAzICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBnZXRfcHJlc2VudGF0aW9uX29mZnNldC4KCSAgVG8gYWNjb3VudCBmb3IgcHJlc2VudGF0aW9uVGltZU9mZnNldCBhcyBwZXIgc2VjdGlvbiA3LjIuMSAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDIgMTM6NTM6MDMgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBbQVBJXTogZ2V0X3ByZXNlbnRhdGlvbl9vZmZzZXQgdmlydHVhbCBtZXRob2QuCgkgIEFza3MgdGhlIHN1YmNsYXNzIGZvciBhIHBvdGVudGlhbCB0aW1lIG9mZnNldCB0byBhcHBseSB0byBlYWNoCgkgIHNlcGFyYXRlIHN0cmVhbSwgaW4gZGFzaCBzdHJlYW1zIGNhbiBoYXZlICJwcmVzZW50YXRpb24gdGltZSBvZmZzZXRzIiwKCSAgd2hpY2ggY2FuIGJlIGRpZmZlcmVudCBmb3IgZWFjaCBzdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDYgMTI6MjQ6NDQgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBnc3RtcGRwYXJzZXI6IFJlYWxseSBzZXQgdGhlIGRlZmF1bHQgdmFsdWUgZm9yIHN0YXJ0TnVtYmVyLgoJICArIFRoZSBzcGVjcyBhc2sgZm9yIGEgZGVmYXVsdCBvZiAxLCB0aGUgY3VycmVudCBjb2RlIG9ubHkgZGlkCgkgIHNldCBhIGRlZmF1bHQgd2hlbiB0aGUgZmllbGQgd2FzIHByZXNlbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU0NTUKCjIwMTUtMDMtMDkgMTE6MTE6MTYgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyOiB1bnVzZWQgdmFsdWUKCSAgVmFsdWUgc2V0IGluIG9mZiB3aWxsIGJlIGltbWVkaWF0ZWx5IG92ZXJ3cml0dGVuIGFmdGVyIGdvaW5nIHRvIG5leHQuCgkgIENJRCAjMTIyNjQ3NgoKMjAxNS0wMy0wOSAxMjo1MToyMSArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IHJlbW92ZSB1bm5lY2Vzc2FyeSBzZW1pY29sb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTg3NwoKMjAxNS0wMy0wOSAxMjo0MTo1OSArMDkwMCAgaG9vbmhlZS5sZWUgPGhvb25oZWUubGVlQGxnZS5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICB0ZXN0czogZ2xjb250ZXh0OiByZW1vdmUgdW5uZWNlc3Nhcnkgc2VtaWNvbG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU4NzUKCjIwMTUtMDMtMDYgMTQ6NDk6MjAgKzAyMDAgIE1vaGFtbWVkIEhhc3NhbiA8bW9oYW1tZWQuaGFzc2FuQGpvbGxhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgem9vbSBwYXJhbSBzcGVjIGlmIHZpZGVvIHNvdXJjZSBjaGFuZ2VzIGl0cyBtYXgtem9vbQoJICBJZiB0aGUgdmlkZW8gc291cmNlIGhhcHBlbnMgdG8gYWxsb3cgbWF4LXpvb20gdG8gYmUgZ3JlYXRlciB0aGFuIG91ciBtYXhpbXVtIGhhcmQgY29kZWQKCSAgdmFsdWUgb2YgMTAgdGhlbiB0aGUgdXNlciBjYW5ub3Qgc2V0IGFueXRoaW5nIGdyZWF0ZXIgdGhhbiBvdXIgbWF4aW11bSBzcGVjaWZpZWQgaW4gdGhlCgkgIHBhcmFtIHNwZWMuIFdlIGhhdmUgdG8gdXBkYXRlIG91ciBwYXJhbSBzcGVjIHRvIHByZXZlbnQgZ2xpYiBmcm9tIGNhcHBpbmcgdGhlIHZhbHVlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3NDAKCjIwMTUtMDMtMDcgMTA6Mjg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgdnRkZWM6IFJlZ2lzdGVyIGEgaGFyZHdhcmUtb25seSB2dGRlY19odyBvbiBPU1ggYW5kIGdpdmUgaXQgYSBoaWdoZXIgcmFuawoJICB3aGlsZSBoYXZpbmcgdGhlIGRlZmF1bHQgdnRkZWMgYXQgc2Vjb25kYXJ5IHJhbmsuIFRoaXMgYWxsb3dzIGRlY29kZWJpbi9wbGF5YmluCgkgIHRvIHByZWZlciB0aGUgaGFyZHdhcmUgYmFzZWQgZGVjb2RlcnMsIGFuZCBpZiB0aGF0IGZhaWxzIHRvIGluaXRpYWxpemUgYmVjYXVzZQoJICBoYXJkd2FyZSByZXNvdXJjZXMgYXJlIGJ1c3kgdG8gZmFsbCBiYWNrIHRvIGUuZy4gdGhlIGxpYmF2IGJhc2VkIGgyNjQgZGVjb2RlcgoJICBpbnN0ZWFkIG9mIHRoZSBzb2Z0d2FyZSBiYXNlZCB2dGRlYyAod2hpY2ggaXMgc2xvd2VyKSwgYW5kIG9ubHkgZmFsbCBiYWNrIHRvCgkgIHRoZSBzb2Z0d2FyZSBiYXNlZCB2dGRlYyBpZiB0aGVyZSBpcyBubyBoaWdoZXIgcmFua2VkIGRlY29kZXIgYXZhaWxhYmxlLgoKMjAxNS0wMy0wNiAyMDoxMTowMCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogRG9uJ3Qgc2hhcmUgb3VyIGRvd25zdHJlYW0gcG9vbCB3aXRoIHVwc3RyZWFtCgkgIFBvb2wgY2Fubm90IGhhdmUgbXVsdGlwbGUgb3duZXIuIFRoaXMgY2FuIGxlYWQgdG8gc3B1cmlvdXMKCSAgcG9vbCB3YXMgZmx1c2hpbmcgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU3MAoKMjAxNS0wMy0wNSAxNjoyODozNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBEb24ndCBjaGFpbiBkb3duc3RyZWFtIHBvb2wKCSAgQ2hhaW5pbmcgYSBkb3duc3RyZWFtIHBvb2wgd291bGQgbGVhZCB0byB0d28gb3duZXIgb2YgdGhlIHNhbWUKCSAgcG9vbC4gSW4gZHluYW1pYyBwaXBlbGluZSwgaWYgb25lIG93bmVyIGlzIHJlbW92ZWQgZnJvbSB0aGUgcGlwZWxpbmUKCSAgdGhlIHBvb2wgd2lsbCBiZSBzdG9wcGVkLCBhbmQgdGhlIHJlc3Qgb2YgdGhlIHBpcGVsaW5lIHdpbGwgZmFpbAoJICBzaW5jZSB0aGUgcG9vbCB3aWxsIG5vdyBiZSBmbHVzaGluZy4gQWxzbyBmaXggcHJvcG9zZWQgcG9vbCBjYWNoaW5nLAoJICBmaWx0ZXItPnBvb2wgd2FzIG5ldmVyIHNldCwgbmV2ZXIgdW5yZWZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTcwNQoKMjAxNS0wMy0wNSAxNTo0OTo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBPbmx5IGNhY2hlIHBvb2wsIGRvbid0IG1hbmFnZSBpdAoJICBHTEltYWdlIGRvZXMgbm90IHVzZSBhbnkga2luZCBvZiBpbnRlcm5hbCBwb29sLiBUaGVyZSB3YXMgc29tZQoJICByZW1haW5pbmcgY29kZSBhbmQgY29tbWVudCBzdGF0aW5nIHRoYXQgaXQgd2FzIG1hbmFnaW5nIHRoZQoJICBwb29sLCBhbmQgaXQgd2FzIGluIGZhY3Qgc2V0dGluZyB0aGUgYWN0aXZlIHN0YXRlIHdoZW4gZG9pbmcKCSAgdG8gcmVhZHkgc3RhdGUuCgkgICogT25seSBjcmVhdGUgdGhlIHBvb2wgaWYgcmVxdWVzdGVkIGFuZCBpbiBwcm9wb3NlX2FsbG9jYXRpb24KCSAgKiBDYWNoZSB0aGUgcG9vbCB0byBhdm9pZCByZWFsbG9jYXRpb24gb24gc3B1cmlvdXMgcmVjb25maWd1cmUKCSAgKiBEb24ndCB0cnkgdG8gZGVhY3RpdmF0ZSB0aGUgcG9vbCAod2UgZG9uJ3Qgb3duIGl0KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NzA1CgoyMDE1LTAzLTA2IDEyOjA3OjQ3IC0wNTAwICBYYXZpZXIgQ2xhZXNzZW5zIDx4YXZpZXIuY2xhZXNzZW5zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBzdG9wIHNwYW1taW5nIGluZm8gbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTc1NQoKMjAxNS0wMy0wNiAxODo1NDoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIGdsZG93bmxvYWQ6IFNpbXBsaWZ5IGNhcHMgZmVhdHVyZSBzZXR0aW5nIGNvZGUKCjIwMTUtMDMtMDYgMTg6MTU6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBSZW1vdmUgZm9ybWF0IGluZm8gaW4gZ2xjb2xvcmNvbnZlcnQncyB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIG9uIGV2ZXJ5IGNhbGxlcgoJICAuLi4gYW5kIGxldCBnbG1peGVyIGFjdHVhbGx5IHRyYW5zZm9ybSB0aGUgY2FwcyBpdCBpcyBzdXBwb3NlZCB0byB0cmFuc2Zvcm0KCSAgaW5zdGVhZCBvZiBpbnZlbnRpbmcgbmV3IGNhcHMuCgoyMDE1LTAzLTA2IDE4OjQ5OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICBSZXZlcnQgInZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIG5ldyBjYXBzIGZyb20gdGhlIHZpZGVvLWluZm8iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzgyMTViZTBkZmJiNGU4ZWQ0ZjI0OWUxNjFhOTRjNjQ0MzI4ZDI4ZC4KCSAgYmVjYXVzZSBpdCBicm9rZSBnbHZpZGVvbWl4ZXIgd2l0aCBjdXN0b20gY2FwcyBmZWF0dXJlcy4KCjIwMTUtMDMtMDYgMTg6MzY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFNpbXBsaWZ5IGNhcHMgZmVhdHVyZSBzZXR0aW5nIGNvZGUKCjIwMTUtMDMtMDYgMTQ6NTQ6NDEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvcnRwL2dzdHJ0cGgyNjVkZXBheS5jOgoJICBydHA6IGRvbmxfcHJlc2VudCB2YXJpYWJsZSB1bnVzZWQKCSAgZG9ubF9wcmVzZW50IGlzIG5vdCBpbXBsZW1lbnRlZCwgeWV0IHRoZSB2YWx1ZSBpcyBzZXQgYW5kIGNoZWNrZWQgYSBmZXcgdGltZXMuCgkgIENsZWFuaW5nIHRoaXMuCgkgIENJRCAjMTI0OTY4NwoKMjAxNS0wMy0wNiAxNDoyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiBmYWxsIHRocm91Z2ggc3dpdGNoIHN0YXRlbWVudAoJICBBZGRpbmcgYSBjb21tZW50IG1ha2VzIGNvdmVyaXR5IGhhcHB5IGFuZCBxdWVsbHMgdGhlIGlzc3VlLgoJICBDSUQgIzExMzk3NDgKCjIwMTUtMDMtMDYgMTQ6MzY6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ3JlYXRlIG5ldyBjYXBzIGZyb20gdGhlIHZpZGVvLWluZm8KCSAgSW4gY2FzZSB0aGUgb3JpZ2luYWwgY2FwcyB3ZXJlIG1pc3Npbmcgc29tZSBvcHRpb25hbCBmaWVsZHMgbGlrZQoJICBpbnRlcmxhY2UtbW9kZS4gV2UgYXNzdW1lIGRlZmF1bHQgdmFsdWVzIGZvciB0aG9zZSBldmVyeXdoZXJlLAoJICBidXQgdGhleSBjYW4gc3RpbGwgY2F1c2UgbmVnb3RpYXRpb24gdG8gZmFpbCBpZiBhIGRvd25zdHJlYW0gZWxlbWVudAoJICBleHBlY3RzIHRoZSBmaWVsZCB0byBiZSB0aGVyZSBhbmQgYXQgYSBzcGVjaWZpYyB2YWx1ZS4KCjIwMTUtMDItMjUgMTM6NTI6MjEgKzAxMDAgIEZsb3JpYW4gWndvY2ggPGZ6d29jaEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWxsb3cgImNhcHR1cmUtc2NyZWVuIiBtb2RlIHRvIHNlbGVjdCB3aGljaCBzY3JlZW4gdG8gY2FwdHVyZSB2aWEgdGhlICJkZXZpY2UtaW5kZXgiIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTYxCgoyMDE1LTAzLTA1IDE5OjA5OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IE9ubHkgdXNlIGRlYnVnZ2luZyBpZiB3ZSBoYXZlIHZhbGlkIHZhbHVlcwoJICBUaGUgZGVidWcgY2F0ZWdvcnkgd29uJ3QgaGF2ZSBiZWVuIGNyZWF0ZWQvYWN0aXZhdGVkIGlmIGl0J3Mgbm90IGEKCSAgdmFsaWQgZGlzcGxheQoKMjAxNS0wMy0wNSAxNTo1NDo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkgIG1vdGlvbmNlbGxzOiBwcm90ZWN0IGFnYWluc3Qgbm90IGZvdW5kIGlkCgkgIElmIHNlYXJjaElkeCgpIGRvZXNuJ3QgZmluZCB0aGUgaWQgaXQgcmV0dXJucyAtMSwgd2hpY2ggYnJlYWtzCgkgIG1vdGlvbmNlbHNzdmVjdG9yLmF0IChpZHgpLiBDaGVjayBmb3IgaXQgYW5kIHJldHVybiBpZiBub3QgZm91bmQuCgkgIENoYW5naW5nIGEgZmV3IG90aGVyIGxpbmVzIGZvciBzdHlsZSBjb25zaXN0ZW5jeS4KCjIwMTUtMDMtMDUgMTU6MzQ6MDkgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgb3BlbmN2OiByZW1vdmUgYWx3YXlzLXRydWUgY2hlY2sKCSAgZmlsdGVyLT5jdkltYWdlIGhhcyBqdXN0IGJlZW4gdXNlZC9kZXJlZmVyZW5jZWQsIHRoZXJlIHdvdWxkIGJlIGFuIGVycm9yCgkgIHRoZXJlIGlmIHRoZSBwb2ludGVyIHdhcyBOVUxMLiBObyBuZWVkIHRvIGNoZWNrIHNpbmNlIGl0IHdpbGwgYWx3YXlzIGJlIHRydWUuCgoyMDE1LTAzLTA0IDE2OjEzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBDYWxjdWxhdGUgdGhlIGR1cmF0aW9uIG1vcmUgYWNjdXJhdGVseSBmcm9tIHRoZSBjYXB0dXJlIHRpbWUgYW5kIG51bWJlcnMgb2Ygc2FtcGxlcwoJICBUaGlzIHNob3VsZCBwcmV2ZW50IGFueSBhY2N1bXVsYXRpbmcgcm91bmRpbmcgZXJyb3JzIHdpdGggdGhlIGR1cmF0aW9uLgoKMjAxNS0wMy0wNCAxNjowNToyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRml4IHRoZSB0aW1lc3RhbXAgYW5kIG9mZnNldCBjYWxjdWxhdGlvbnMgZXZlbiBtb3JlCgoyMDE1LTAzLTA0IDE2OjA0OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBEb24ndCBzdWJ0cmFjdCB0aGUgZHVyYXRpb24gZnJvbSB0aGUgY2FwdHVyZSB0aW1lCgkgIFdlIGFscmVhZHkgaGF2ZSB0aGUgcmVhbCBjYXB0dXJlIHRpbWUsIG5vdCB0aGUgdGltZSB3aGVuIHdlIHJlY2VpdmVkCgkgIHRoZSBlbmQgb2YgdGhlIHBhY2tldC4KCjIwMTUtMDMtMDQgMTM6MTY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIFJldmVydCAiYXVkaW9taXhlcjogTGF0ZW5jeSBpcyB0d2ljZSB0aGUgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiwgbm90IG9ubHkgb25jZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBkMzg3Y2Y2N2RmOTFiNTk1NDBmMzJlZTE3YjRjMDJmNzQ3OTY5YWRkLgoJICBUaGUgYW5hbHlzaXMgd2FzIHdyb25nOiBUaGUgZmlyc3QgMjBtcyBvZiBsYXRlbmN5IGFyZSBpbnRyb2R1Y2VkIGJ5IHRoZSBzb3VyY2UKCSAgYWxyZWFkeSBhbmQgcHV0IGludG8gdGhlIGxhdGVuY3kgcXVlcnksIG1ha2luZyBpdCBvbmx5IG5lY2Vzc2FyeSB0byBjb3ZlciB0aGUKCSAgYWRkaXRpb25hbCAyMG1zIG9mIGF1ZGlvbWl4ZXIgaW5zaWRlIGF1ZGlvbWl4ZXIuCgoyMDE1LTAzLTA0IDA5OjI0OjI3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogZml4IGxhdGVuY3kgcXVlcnkgaW4gRkVDIGNhc2UKCSAgVGhlIG1heCBsYXRlbmN5IHBhcmFtZXRlciBpcyAidGhlIG1heGltdW0gdGltZSBhbiBlbGVtZW50CgkgIHN5bmNocm9uaXppbmcgdG8gdGhlIGNsb2NrIGlzIGFsbG93ZWQgdG8gd2FpdCBmb3IgcmVjZWl2aW5nIGFsbAoJICBkYXRhIGZvciB0aGUgY3VycmVudCBydW5uaW5nIHRpbWUiIChkb2NzL2Rlc2lnbi9wYXJ0LWxhdGVuY3kudHh0KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDMzOAoKMjAxNS0wMy0wMyAxMTo0MjowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZXNldCB0aGUgcGFyc2VyIGluZm9ybWF0aW9uIHdoZW4gY2FwcyBjaGFuZ2VzCgkgIFRoaXMgcHJldmVudHMgaXQgZnJvbSBnb2luZyBpbnRvIHBhc3N0aHJvdWdoIGFmdGVyIHJlY2VpdmluZyAyCgkgIGJ5dGUtc3RyZWFtIGNhcHMgKGRpZmZlcmVudCBvbmVzKSBhcyBpdCB3b3VsZCBrZWVwIHRoZSBoYXZlX3BwcyBhbmQKCSAgaGF2ZV9zcHMgc2V0IHRvIHRydWUgYW5kIHdvdWxkIGp1c3QgZ28gaW50byBwYXNzdGhyb3VnaCB3aXRob3V0CgkgIHVwZGF0aW5nIGl0cyBjYXBzLgoJICBUaGlzIHBhdGNoIG1ha2VzIGl0IHJlc2V0IGl0cyBzdHJlYW0gaW5mb3JtYXRpb24gdG8gcmVzdGFydCBwcm9wZXJseQoJICB3aGVuIG5ldyBjYXBzIGFyZSByZWNlaXZlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTQwOQoKMjAxNS0wMy0wMyAxNzo0Nzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHRpbWVzdGFtcCBvbiBkaXNjb250IGJ1ZmZlcnMKCSAgTWFrZSBzdXJlIGRpc2NvbnQgYnVmZmVycyBoYXZlIGl0cyB0aW1lc3RhbXAgc2V0IHRvIGFsbG93IGRvd25zdHJlYW0KCSAgdG8gcmVzeW5jIGlmIG5lZWRlZAoKMjAxMi0wMy0yMiAwODo0Nzo1NyArMDEwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBjaGVjayBuZWdvdGlhdGVkIGNhcHMgYXZvaWQgcmVzZXRpbmcgb2YgdGhlIHBpcGUKCSAgVG8gYXZvaWQgdXNlbGVzcyByZW5lZ290aWF0aW9uIG9mIHRoZSBwaXBlIHdlIGNhbiBjaGVjayBmb3IKCSAgbmVnb3RpYXRlZCBjYXBzIG9uIHNyY19maWx0ZXIgYW5kIGNvbXBhcmUgaXQgd2l0aCByZXF1ZXN0ZWQKCSAgZmlsdGVyLiBJZiB0aGUgY2FwcyBpbnRlcnNlY3QsIGF2b2lkIHJlc3RhcnQuCgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzI2MTAKCjIwMTUtMDMtMDIgMDE6MDg6MTUgKzAzMDAgIElseWEgQXZlcnlhbm92IDxpLmF2ZXJ5YW5vdkBnZW9zY2FuLmFlcm8+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFJlbW92ZSBkdXBsaWNhdGUgY29kZQoJICBUaGUgbXV4ZXIgaXMgYWxyZWFkeSBhbGxvY2F0ZWQgaW4gcmVzZXQoKSwgd2hpY2ggaXMgY2FsbGVkIHNvb24gYWZ0ZXJ3YXJkcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTUwNgoKMjAxNS0wMy0wMyAxMDoxMjoxMSArMDgwMCAgU29uZyBCaW5nIDxiMDY0OThAZnJlZXNjYWxlLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogU2V0IHF1ZXJ5IEFMTE9DQVRJT04gbmVlZF9wb29sIHRvIEZBTFNFCgkgIFNldCBxdWVyeSBBTExPQ0FUSU9OIG5lZWRfcG9vbCB0byBGQUxTRSBhcyBpdCBvbmx5IG5lZWQgcXVlcnkgaWYgY2FuCgkgIHN1cHBvcnQgdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbiBtZXRhLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1NDk1CgoyMDE1LTAzLTA0IDE0OjM4OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJICBhcHBsZW1lZGlhL2F2c2FtcGxlc2luazogdXRpbGlzZSBhIHB1bGwgYmFzZWQgYXBwcm9hY2ggb2YgZGlzcGxheWluZyB2aWRlbyBmcmFtZXMKCSAgVXNpbmcgcmVxdWVzdE1lZGlhRGF0YVdoZW5SZWFkeU9uUXVldWUgdGhlIGxheWVyIHdpbGwgZXhlY3V0ZSBhIGJsb2NrCgkgIHdoZW4gaXQgd291bGQgbGlrZSBtb3JlIGZyYW1lcy4gVXNpbmcgdGhpcyB3ZSBjYW4gcHJvdmlkZSB0aGUgY3VycmVudAoJICBmcmFtZSBhbmQgYXZvaWQgbmVlZGxlc3NseSBmaWxsaW5nIHRoZSBsYXllcidzIGJ1ZmZlciBxdWV1ZSBjYXVzaW5nCgkgIG9sZGVyIGZyYW1lcyB0byBiZSBkaXNwbGF5ZWQgd2hlbiB1bmRlciByZXNvdXJjZSBwcmVzc3VyZS4KCjIwMTUtMDMtMDMgMTU6MjI6MzggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBGaXggdXBzaWRlIGRvd24gYW5kIG1pc3MtYWxpZ25lZCBKUEVHCgkgIExpYkpQRUcgdXNlcyBtYWNyb2Jsb2NrIG9mIDh4OCBzYW1wbGUuIEluIHRoaXMgZWxlbWVudCB3ZSB1c2UgUkdCIGFuZAoJICBZNDQ0LCB0d28gMjRiaXQgZm9ybWF0cyB0aGF0IGFyZSBzdG9yZWQgaW4gMzJiaXQgcGl4ZWxzLiBUaGlzIG1lYW4gd2UKCSAgaGF2ZSAzMngzMiBieXRlcyBtYWNyb2Jsb2Nrcy4gRm9yIHRoaXMgcmVhc29uLCB3ZSBuZWVkIHRvIGFsbG9jYXRlCgkgIG91ciBidWZmZXIgc2xpZ2h0bHkgbGFyZ2VyLiBXZSBhbHNvIG5lZWQgdG8gcGFzcyB0aGUgbGluZSBwb2ludGVyIGluCgkgIHRoZSByaWdodCBvcmRlciwgb3RoZXJ3aXNlIHRoZSBpbWFnZSBlbmR1cCB1cHNpZGUtZG93bi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTEwOQoKMjAxNS0wMy0wMyAyMDowMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogTGF0ZW5jeSBpcyB0d2ljZSB0aGUgb3V0cHV0IGJ1ZmZlciBkdXJhdGlvbiwgbm90IG9ubHkgb25jZQoJICBMZXQncyBhc3N1bWUgYSBzb3VyY2UgdGhhdCBvdXRwdXRzIG91dHB1dHMgMjBtcyBidWZmZXJzLCBhbmQgYXVkaW9taXhlciBoYXZpbmcKCSAgYSAyMG1zIG91dHB1dCBidWZmZXIgZHVyYXRpb24uIEhvd2V2ZXIgdGltZXN0YW1wcyBkb24ndCBhbGlnbiBwZXJmZWN0bHksIHRoZQoJICBzb3VyY2UgYnVmZmVycyBhcmUgb2Zmc2V0dGVkIGJ5IDVtcy4KCSAgRm9yIG91ciBBU0NJSSBhcnQgcGljdHVyZSwgZWFjaCBsZXR0ZXIgaXMgNW1zLCBlYWNoIHBpcGUgaXMgdGhlIHN0YXJ0IG9mIGEKCSAgMjBtcyBidWZmZXIuIFNvIHdoYXQgaGFwcGVucyBpcyB0aGUgZm9sbG93aW5nOgoJICAwICAgMjAgIDQwICA2MAoJICBPT09PT09PT09PT09PT09PCgkgIHwgICB8ICAgfCAgIHwKCSAgNSAgIDI1ICA0NSAgNjUKCSAgSUlJSUlJSUlJSUlJSUlJSQoJICB8ICAgfCAgIHwgICB8CgkgIFRoaXMgbWVhbnMgdGhhdCB0aGUgc2Vjb25kIG91dHB1dCBidWZmZXIgKDIwIHRvIDQwbXMpIG9ubHkgZ2V0cyBpdHMgbGFzdCA1bXMKCSAgYXQgdGltZSA0NW1zICh0aGUgdGltZXN0YW1wIG9mIHRoZSBuZXh0IGJ1ZmZlciBpcyB0aGUgdGltZSB3aGVuIHRoZSBidWZmZXIKCSAgYXJyaXZlcykuIEJ1dCBpZiB3ZSBvbmx5IGhhdmUgYSBsYXRlbmN5IG9mIDIwbXMsIHdlIHdvdWxkIHdhaXQgdW50aWwgNDBtcwoJICB0byBnZW5lcmF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBhbmQgbWlzcyB0aGUgbGFzdCA1bXMgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMTUtMDItMTggMjE6MjE6MDEgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkgIGdsdHJhbnNmb3JtYXRpb246IG5vcm1hbGl6ZSB0cmFuc2xhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc2MwoJICAqIEx1Ym9zejogdXNlIG1heGZsb2F0IGZvciB0cmFuc2Zvcm1hdGlvbiByYW5nZQoKMjAxNS0wMi0xOCAyMDo0MToxNCAtMDUwMCAgWGF2aWVyIENsYWVzc2VucyA8eGF2aWVyLmNsYWVzc2Vuc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogRml4IGRvYyB0eXBvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQ3NjMKCjIwMTUtMDMtMDMgMTM6NDU6NDYgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogR2V0IHJpZCBvZiB1cGxvYWRlciBpZiBjYXBzIGhhdmUgY2hhbmdlZAoJICBXZSBuZWVkIHRvIHVwZGF0ZSB0aGUgdXBsb2FkZXIgZm9ybWF0IGlmIHRoYXQgY2FwcyBoYXZlIGNoYW5nZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDU1NDkKCjIwMTUtMDMtMDMgMTY6NTA6MzAgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJICB3YXlsYW5kc2luazogZ19ta3N0ZW1wIGlzIHNhZmVyIHRoYW4gbWtzdGVwCgoyMDE1LTAzLTAzIDE2OjQ5OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgUmV2ZXJ0ICJ3YXlsYW5kc2luazogbWtzdGVtcCByZXF1aXJlcyBzZXR0aW5nIHBlcm1pc3Npb24gbWFzayIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxODkwZTczNTVhNTQ2NGZjZmZmNTg2MzM4NTEyNjViM2ZjN2EzNzMxLgoJICBCZXR0ZXIgdG8gdXNlIGdfbWtzdGVtcCB0aGF0IHRha2VzIGNhcmUgb2YgdGhlIG1hc2sgd2l0aG91dCBhZmZlY3RpbmcgdGhlCgkgIGVudGlyZSBwcm9jZXNzLgoKMjAxNS0wMy0wMyAxNjo1NToyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogRml4IGNvbnRleHQgbGVha3MKCSAgSW50cm9kdWNlZCBieSBhMTJjYTEzNzUwYTE1MzAwYWIzYzcxOGViZGUyOTg0ZGMzZDU4N2IzCgoyMDE1LTAzLTAzIDE2OjIzOjQwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgY29uZGl0aW9uYWwKCSAgVGhlIHR3byBicmFuY2hlcyBvZiB0aGUgaWYgY29uZGl0aW9uYWwgYXJlIGlkZW50aWNhbCwgd2hpY2ggbWVhbnMgaW4gYWxsIGNhc2VzCgkgIHRoZSBzYW1lIGdzdF9hc2ZfcHV0X2d1aWQoKSB3aWxsIGJlIGV4ZWN1dGVkLiBEbyBpdCBkaXJlY3RseS4KCSAgQ0lEICMxMjI2NDQ4CgoyMDE1LTAzLTAzIDE1OjUxOjUwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L3dheWxhbmQvd2xzaG1hbGxvY2F0b3IuYzoKCSAgd2F5bGFuZHNpbms6IG1rc3RlbXAgcmVxdWlyZXMgc2V0dGluZyBwZXJtaXNzaW9uIG1hc2sKCSAgVXNpbmcgbWtzdGVtcCB3aXRob3V0IHNldHRpbmcgdGhlIHBlcm1pc3Npb24gbWFzayBpcyBwb3RlbnRpYWxseSBoYXJtZnVsLgoJICBQT1NJWCBzcGVjaWZpY2F0aW9uIG9mIG1rc3RlbXAoKSBkb2VzIG5vdCBzYXkgYW55dGhpbmcgYWJvdXQgZmlsZSBtb2Rlcywgc28gd2UKCSAgbmVlZCB0byBtYWtlIHN1cmUgaXRzIGZpbGUgbW9kZSBjcmVhdGlvbiBtYXNrIGlzIHNldCBhcHByb3ByaWF0ZWx5IGJlZm9yZQoJICBjYWxsaW5nIGl0LgoKMjAxNS0wMy0wMiAxNjo0NTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IFJlc2V0IHRoZSBjbG9jayBjYWxpYnJhdGlvbiB3aGVuIHVuc2V0dGluZyB0aGUgbWFzdGVyIGNsb2NrCgkgIE90aGVyd2lzZSB0aGUgb2xkIGNhbGlicmF0aW9uIHdpbGwgc3RpY2sgYXJvdW5kIGZvciB0aGUgbmV4dCB0aW1lIHdlIHVzZSBpdCwKCSAgcG90ZW50aWFsbHkgZ2l2aW5nIHVzIGNvbXBsZXRlbHkgd3JvbmcgdGltZXMuCgoyMDE1LTAzLTAyIDEzOjU3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTUtMDItMTIgMTM6NDM6MzAgKzAxMDAgIERhbmllbEQxMCA8ZC5kZWRpc3NlQHZvZ28uZnI+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSW5jb3JyZWN0IGZyYW1lIHJhdGUgZm9yIGludGVybGFjZWQgbW9kZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM4NgoKMjAxNS0wMy0wMSAxOTo1NzoyMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiByZWdpc3RlciBvbmx5IG9uZSBjdXN0b20gbnNhcHAgbG9vcAoJICBPdGhlcndpc2UgdGhlIHBpcGVsaW5lIHN0YWxscyB3aGVuIHJ1bm5pbmcKCSAgbW9yZSB0aGFuIG9uZSBnbGltYWdlc2luayB3aXRoIGdzdC1sYXVuY2guCgkgIEFsc28gb25seSByZWdpc3RlciB0aGUgY3VzdG9tIG5zYXBwIGxvb3AKCSAgd2hlbiBzZXR0aW5nIHVwIHRoZSBuc2FwcCBmcm9tIGdzdGdsLgoKMjAxNS0wMy0wMSAxNjo1NDoxMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBpbnN0ZWFkIG9mIGNsYXNzX2luaXQgdXNlIGdfb25jZSB0byBzZXR1cCBuc2FwcAoKMjAxNS0wMi0yNiAyMzowNDowOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBjaGVjayBmb3IgZGVwcmVjYXRlZCBjb25zdGFudHMgcHJpb3IgdG8gT1NYIDEwLjEwCgoyMDE1LTAzLTAxIDA5OjQzOjMyIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2xidWZmZXJwb29sOiBGaXggb2Zmc2V0IGZvciBvZGQgaGVpZ2h0CgkgIFdlIGFsc28gbmVlZCB0byByZWNhbGN1bGF0ZSB0aGUgb2Zmc2V0LCBzaW5jZSBvdGhlcndpc2UgdGhlIGZyYW1lCgkgIG1hcHBpbmcgd2lsbCBiZSBmb3J3YXJkIHR3byBsaW5lcyBpbiB0aGUgVSBhbmQgViBwbGFuZXMgKEk0MjApIGR1ZQoJICB0byBnc3RfdmlkZW9faW5mb19hbGlnbigpIHJvdW5kIHVwIHRoZSBZIHBsYW5lIHRvIGEgZXZlbiBudW1iZXIgb2YKCSAgbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwNTQKCjIwMTUtMDMtMDEgMDA6MDg6NDIgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICBnbC10ZXN0OiBQb3J0IHVuaXQgdGVzdHMgdG8gbmV3IEFQSQoKMjAxNS0wMi0yOCAxNTowMDoxMyAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFN1cHBvcnQgb2Zmc2V0IHdoZW4gZG93bmxvYWRpbmcKCSAgTWFrZSBzdXJlIHdlIHN1cHBvcnQgb2Zmc2V0IGFuZCB2aWRlbyBhbGlnbm1lbnQgd2hlbiBkb3dubG9hZGluZyB0b28uCgkgIFRoaXMgaXMgY3VycmVudGx5IG5vdCB1c2VkIChwbGFuZV9zdGFydCBpcyBhbHdheXMgMCksIGJ1dCBpdCBtYWtlcwoJICB0aGUgY29kZSBjb3JyZWN0IGlmIHdlIHdhbnQgdG8gdXNlIHRoYXQgbGF0ZXIuCgoyMDE1LTAyLTI4IDEzOjAxOjE2IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogUHJvdmlkZSBjb3JyZWN0IHNpemUgb24gdXBsb2FkCgkgIFByb3ZpZGUgdGhlIHJpZ2h0IHNpemUgdG8gR0wgd2hlbiB1cGxvYWRpbmcuIFVzaW5nIG1heHNpemUgaXMgd3JvbmcKCSAgc2luY2Ugd2Ugb2Zmc2V0IHRoZSBkYXRhIHBvaW50IHdpdGggdGhlIG1lbW9yeSBvZmZzZXQgYW5kIHZpZGVvCgkgIGFsaWduZW1lbnQgb2Zmc2V0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDEyOjQ4OjAzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogUHJvdmlkZSBjb3JyZWN0IHNpemUgb24gZG93bmxvYWQKCSAgUHJvdmlkZSB0aGUgcmlnaHQgc2l6ZSB0byBHTCB3aGVuIGRvd25sb2FkaW5nLiBUaGlzIGZpeGVzIGRvd25sb2FkaW5nCgkgIGZyb20gR0xNZW1vcnkgdGhhdCB3aGVyZSBjcmVhdGVkIGZvciBsaWJhdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDI0NgoKMjAxNS0wMi0yOCAxMTo1NToyNiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsbWVtb3J5OiBVc2UgZmFsbGJhY2sgZm9yIHBhcnRpYWwgY29weQoJICBXaGVuIHRoZSBtZW1vcnkgaXMgcGFydGlhbCBjb3B5LCB0aGUgdGV4dHVyZSBzaXplIGFuZCB2aWRlb2luZm8gbm8KCSAgbG9uZ2VyIG1ha2Ugc2Vuc2UuIEFzIHdlIGNhbm5vdCBndWVzcyB3aGF0IHRoZSBhcHBsaWNhdGlvbiB3YW50cywgd2UKCSAgc2FmZWx5IGNvcHkgaW50byBhIHN5c21lbSBtZW1vcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQyNDYKCjIwMTUtMDItMjUgMTg6MDc6MDMgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbG1lbW9yeTogQWRkIEdzdEFsbG9jYXRpb25QYXJhbXMgYW5kIGFsaWdubWVudCBzdXBwb3J0CgkgIFRoaXMgaW1wbGVtZW50cyBzdXBwb3J0IGZvciBHc3RBbGxvY2F0aW9uUGFyYW1zIGFuZCBtZW1vcnkgYWxpZ25tZW50cy4KCSAgVGhlIHBhcmFtZXRlcnMgd2hlcmUgc2ltcGx5IGlnbm9yZWQgd2hpY2ggY291bGQgbGVhZCB0byBjcmFzaCBvbgoJICBjZXJ0YWluIHBsYXRmb3JtIHdoZW4gdXNlZCB3aXRoIGxpYmF2IGFuZCBubyBsdWNrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjQ2CgoyMDE1LTAyLTI4IDE4OjIxOjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHBlcmZvcm0gZWdsIHVwbG9hZCBvbiB0aGUgZ2wgdGhyZWFkCgkgIEZpeGVzIEVHTEltYWdlIHVzYWdlIG9uIHJhc3BiZXJyeSBwaQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzOTE0CgoyMDE1LTAyLTI3IDExOjA3OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGaXggc2NhbGluZyB3aXRoIHJhdGUgb2YgaW50ZXJuYWwvZXh0ZXJuYWwgY2xvY2sKCjIwMTUtMDItMjcgMDA6MjY6MDAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBVc2Ugc3RhbmRhcmQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYwoJICBUaGUgc2FtZSBmdW5jdGlvbmFsaXR5IGlzIGR1cGxpY2F0ZWQgaW4gdGhlIGRlZmF1bHQgbGF0ZW5jeSBxdWVyeWluZwoJICBub3cuCgoyMDE1LTAyLTI3IDAwOjAxOjQxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogVXNlIGRlZmF1bHQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYwoJICBXZSBjYW4gcmVseSBvbiB0aGUgc3RhbmRhcmQgdXBzdHJlYW0gbGF0ZW5jeSBxdWVyeWluZyBsb2dpYyBhbmQgdGhlbiBhZGQKCSAgb3VyIG93biBsYXRlbmN5LgoKMjAxNS0wMi0yNiAxMzoyMDoyNiArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFNldCBmcmVlZCBtZXRob2QgaW1wbGVtZW50YXRpb24gdG8gTlVMTAoJICBXaGVuIHRyeWluZyB0byByZW5kZXIgYnVmZmVycyB3aXRoIG1ldGE6R0xUZXh0dXJlVXBsb2FkIHRoZSBnbGltYWdlc2luayBjcmFzaGVzCgkgIHdpdGggYSBzZWdtZW50YXRpb24gZmF1bHQuCgkgIFRoaXMgcGF0Y2ggd29ya2Fyb3VuZHMgdGhpcyBjcmFzaCBzZXR0aW5nIHRvIE5VTEwgdGhlIG1ldGhvZCBpbXBsZW1lbnRhdGlvbgoJICBhZnRlciBmcmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MjA2CgoyMDE1LTAyLTI1IDE0OjQ4OjU5ICswMTAwICBSb21hbiBOb3dpY2tpIDxyLm5vd2lja2lAc2ltcy5wbD4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgZXhpc3RpbmcgRDNEIHN3YXAgY2hhaW4gb24gaW5pdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTU5CgoyMDE1LTAyLTI0IDE5OjAxOjQ1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIG9wZW5nbDogQ2xlYW4gTWFrZWZpbGUuYW0KCSAgKyBTcGxpdCBoZWFkZXJzIGZyb20gc291cmNlCgkgICsgUmVtb3ZlIHVuZWVkZWQgQU1fQ0ZMQUdTLCBBTV9MREZMQUdTCgkgICsgQWx3YXlzIHNldCBPQkpDRkxBR1MKCSAgRHVlIHRvIHRoZSBwcmVzZW5jZSBvZiBhIC5tIGFuZCByZWdhcmRsZXNzIG9mIHRoZSBjb25kaXRpb25hbCB2YWx1ZXMsCgkgIGF1dG9tYWtlIHdpbGwgcHJvbW90ZSB0aGUgbGluayBjb21tYW5kIHRvIE9CSkMgdXNpbmcgT0JKQ0ZMQUdTLiBPbmx5CgkgIHRoZSBiYXNpYyBmbGFncyAobGlrZSB3YXJuaW5ncyBhbmQgb3B0aW1pemF0aW9uKSBhcmUgZ29pbmcgdG8gbWFrZSBhCgkgIGRpZmZlcmVuY2UgdGhvdWdoLgoJICBUaGlzIGNsZWFudXAgYnVpbGRzIHVwIHRoZSBtYWtlZmlsZSB3aXRoIGxlc3Mgc3BlY2lmaWMgZmlsZXMgZmlyc3QKCSAgdG93YXJkIG1vcmUgc3BlY2lmaWMgZmlsZS4gRkxBR1MgYXJlIGJ1aWx0IHdpdGggdGhlIGJhc2ljIHRoYXQgdW51c2VkCgkgIGZsYWdzIHdpbGwgaGF2ZSBlbXB0eSB2YXJpYWJsZS4KCjIwMTUtMDItMjQgMTI6NTQ6NTQgLTA1MDAgIFhhdmllciBDbGFlc3NlbnMgPHhhdmllci5jbGFlc3NlbnNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY29zbWV0aWMgY2xlYW51cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ1MTA1CgoyMDE1LTAyLTI0IDE5OjUyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBvcGVuZ2w6IGRvbid0IGFkZCAtLXRhZz1DQyB0d2ljZSB0byBMSUJUT09MRkxBR1MKCjIwMTUtMDItMjQgMTQ6MzU6MzcgLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgb3BlbmdsOiBBZGQgLS10YWc9Q0MgdG8gTElCVE9PTENMRkFHUwoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciBzdGF0aWMgYnVpbGQuCgoyMDE1LTAyLTI0IDE4OjUwOjAzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGludGVybGFjZWQgZG9lc24ndCBtZWFuIHByb2dyZXNzaXZlIHNjYW4KCSAgUmVtb3ZpbmcgaW50ZXJsYWNlZCB2YXJpYWJsZSBzaW5jZSBpdCBpcyBtZWFudCB0byBtZWFuIHByb2dyZXNzaXZlIHNjYW4KCSAgYW5kIHRoYXQgaXNuJ3QgdXNlZC4KCjIwMTUtMDItMjQgMTg6Mzg6MzEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAgUmV2ZXJ0ICJ0ZXN0czogY2hlY2sganBlZ3BhcnNlIGZvciBwcm9ncmVzc2l2ZSBtYXJrZXIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMWM3N2QxMmNlODc3MGYwZTA2NWU5YzAwYzM1ZDcxMWZkZWYxYzlmOC4KCSAgImludGVybGFjZWQiIGluIHRoZSBjYXBzIGRvbid0IG1lYW4gdGhlIHNhbWUgdGhpbmcgYXMgdGhlIFNPRjIgbWFya2VyIGluIHRoZQoJICBKUEVHIGZvcm1hdC4gVGhpcyB0ZXN0IHBhc3NlcyBiZWNhdXNlIG9mIGJyb2tlbiBiZWhhdmlvdXIuCgoyMDE1LTAyLTI0IDE3OjQxOjQzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkgIHRlc3RzOiBjaGVjayBqcGVncGFyc2UgZm9yIHByb2dyZXNzaXZlIG1hcmtlcgoKMjAxNS0wMi0yNCAxNDowMTowNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogRGVhY3RpdmF0ZSB3aW5kb3cgYmVmb3JlIGNoYW5naW5nIGhhbmRsZQoJICBXaGVuIHNldHRpbmcgYSBuZXcgd2luZG93IGhhbmRsZSwgd2UgbmVlZCB0byBlbnN1cmUgYWxsIGltcGxlbWVudGF0aW9ucwoJICB3aWxsIGRldGVjdCB0aGUgY2hhbmdlLgoJICBGb3IgdGhhdCB3ZSBkZWFjdGl2YXRlIHRoZSBjb250ZXh0IGJlZm9yZSBzZXR0aW5nIHRoZSB3aW5kb3cgaGFuZGxlLCB0aGVuCgkgIHJlYWN0aXZhdGUgdGhlIGNvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NTA5MAoKMjAxNS0wMi0yNCAxMzo1ODoyNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSAgZ2wvZWdsOiBEZXRlY3Qgd2luZG93IGhhbmRsZSBjaGFuZ2VzCgkgIFdoZW4gKHJlKWFjdGl2YXRpbmcgdGhlIGNvbnRleHQsIHRoZSBiYWNraW5nIHdpbmRvdyBoYW5kbGUgbWlnaHQgaGF2ZSBjaGFuZ2VkLgoJICBJZiB0aGF0IGhhcHBlbmVkLCBkZXN0cm95IHRoZSBwcmV2aW91cyBzdXJmYWNlIGFuZCBjcmVhdGUgYSBuZXcgb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDUwOTAKCjIwMTUtMDItMjQgMTQ6MjA6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgZ2w6IHJlbW92ZSBkb2Nib29rIHJlbGF0ZWQgd2FybmluZ3MKCjIwMTUtMDItMjQgMTM6NTE6MjQgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE1LTAyLTI0IDEzOjM2OjAwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogbm90IHVzaW5nIGRlcHJlY2F0ZWQgQVBJIGFueW1vcmUKCjIwMTUtMDItMjQgMTM6MTY6MjEgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiB1cGRhdGUgZXhhbXBsZSBwaXBlbGluZSBjb21tYW5kCgoyMDE1LTAyLTI0IDE5OjAzOjQzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IGEgY29tcGlsZXIgd2FybmluZwoJICBDYXVzZXMgdGhlIGZvbGxvd2luZyB3YXJuaW5nIG9uIGNsYW5nOgoJICBnc3QtZHZiLXNlY3Rpb24uYzo1Njc6MzY6IGVycm9yOiBmb3JtYXQgc3BlY2lmaWVzIHR5cGUgJ3Vuc2lnbmVkIGxvbmcnIGJ1dCB0aGUgYXJndW1lbnQgaGFzIHR5cGUgJ2ludCcgWy1XZXJyb3IsLVdmb3JtYXRdCgkgIGRlc2NyaXB0b3JzX2xvb3BfbGVuZ3RoLCBlbmQgLSA0IC0gZGF0YSk7CgkgIH5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Xn5+fn5+fn5+fn5+fn4KCjIwMTUtMDItMjQgMjM6NTQ6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBvbmx5IGF0dGVtcHQgdXNlIG9mIHRoZSB0ZXh0dXJlIGNhY2hlIHdpdGggR0xNZW1vcnkgY2FwcyBmZWF0dXJlcwoJICBPdGhlcndpc2Ugd2Ugc2VuZCByZWN0YW5nbGUgdGV4dHVyZXMgdG8gZ2xpbWFnZXNpbmsKCjIwMTUtMDItMjQgMjM6NTI6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5tOgoJICBjYW9wZW5nbGxheWVyc2luazogcmVuZGVyIGJsYWNrIHdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHRleHR1cmUgdG8gZGlzcGxheQoJICBMaWtlIHdoZW4gdGhlIHdpbnN5cyBhc2tzIHVzIHRvIHJlZHJhdyBiZWZvcmUgdGhlIHBpcGVsaW5lIGhhcyBzdGFydGVkCgoyMDE1LTAyLTI1IDAwOjAwOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IGFsbG93IHNoYXJpbmcgYmV0d2VlbiBidWZmZXJzCgkgIFRoZXJlIHdhcyBubyByZWFsIHJlYXNvbiB3aHkgdGhlIGZsYWcgd2FzIHNldC4gIFdlIHNob3VsZCBiZSBhYmxlCgkgIHRvIGhhbmRsZSBpdC4gIEZpeGVzIGxhc3Qtc2FtcGxlIGhhbmRsaW5nIG9uIGdsIHNpbmtzCgoyMDE1LTAyLTI0IDIwOjM0OjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbHN5bmNtZXRhOiBhZGQgY29tcGF0IGRlZmluaXRpb24gZm9yIGdsZXMyCgoyMDE1LTAyLTI0IDExOjE5OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogRG9uJ3QgaW5pdGlhbGl6ZSB0aGUgcmVuZGVyIHdpbmRvdyBzd2FwIGNoYWluIHdoaWxlIHRoZSBkZXZpY2UgaXMgbG9zdCBhbmQgd2UncmUgd2FpdGluZyBmb3IgcmVzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMi0yNCAxMToxODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRGVhY3RpdmF0ZSB0aGUgZmFsbGJhY2sgYnVmZmVyIHBvb2wgd2hlbiByZXBsYWNpbmcgaXQgZHVyaW5nIGNhcHMgY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0NjE1CgoyMDE1LTAxLTI5IDE3OjQxOjE5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9jYW9wZW5nbGxheWVyc2luay5oOgoJKiBleHQvZ2wvY2FvcGVuZ2xsYXllcnNpbmsubToKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBuZXcgY2FvcGVuZ2xsYXllcnNpbmsgZWxlbWVudAoJICByZW5kZXJzIGdzdHJlYW1lciBnbCBzY2VuZS92aWRlbyBmcmFtZXMgdG8gYSBjYW9wZW5nbGxheWVyIHJldHJlaXZhYmxlCgkgIGZyb20gdGhlICJsYXllciIgcHJvcGVydHkuCgoyMDE1LTAxLTE5IDEyOjQzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdnNhbXBsZXZpZGVvc2luay5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9hdnNhbXBsZXNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2F2c2FtcGxlc2luay9tYWluLm06CgkgIGFwcGxlbWVkaWE6IG5ldyBBVlNhbXBsZUJ1ZmZlckxheWVyU2luawoJICBSZW5kZXJzIGJ1ZmZlcnMgdXNpbmcgdGhlIENBTGF5ZXIgc3ViY2xhc3MgQVZTYW1wbGVCdWZmZXJEaXNwbGF5TGF5ZXIKCSAgd2hpY2ggY2FuIGJlIHBsYWNlZCBpbnNpZGUgYSBDb3JlIEFuaW1hdGlvbiByZW5kZXIgdHJlZS4KCjIwMTUtMDItMjQgMTk6MDY6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FsYXllcjogZG9uJ3QgdXNlIHRoZSBhc3luYyBjYWxsYmFjayB0byByZW5kZXIKCSAgbm90IHVudGlsIHdlIGNhbiBwcm92aWRlIGVxdWl2YWxlbnQgZnVuY3Rpb25hbGl0eSBmb3Igb3RoZXIgd2luZG93CgkgIGltcGxlbWVudGF0aW9ucy4KCjIwMTUtMDItMjQgMDE6MjA6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkgIGdsc3luY21ldGE6IGFsc28gc3VwcG9ydGVkIHdpdGggZ2xlczMKCjIwMTUtMDItMjQgMTQ6MjM6NDkgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJICBsaWJnc3RnbDogZWFnbDogaGFuZGxlIENBTGF5ZXIgcmVzaXplCgoyMDE1LTAyLTIzIDE2OjEzOjMxICswMTAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEZpeCB0cmFuc2Zlcl9wYm8gbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDk3NwoKMjAxNS0wMi0yMiAxMDowMzo1NCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiByZWR1Y2UgY3VzdG9tIG1haW4gbG9vcCBsYXRlbmN5CgkgIFRoaXMgZml4IGEgdmVyeSBzbG93IHJlbmRlcmluZyByYXRlIHJlZ3Jlc3Npb24gdGhhdCBvbmx5CgkgIGhhcHBlbnMgd2hlbiB1c2luZyBnc3QtbGF1bmNoLCBpLmUuIGluIHRoZSBjYXNlIHdoZXJlCgkgIHRoZSBtYWluIHRocmVhZCBkb2VzIG5vdCBydW4gYW55IE5TQXBwIGxvb3AuCgkgIEdpdCBiaXNlY3QgcmVwb3J0ZWQgaXQgaGFzIGJlZW4gaW50cm9kdWNlZCBieSB0aGUgY29tbWl0CgkgIGUxMGQyNDE3ZTJmZTdhYTQ3MzNjMDc2OTg0MzM5YjBkNjFjYWExNjk6CgkgICJtb3ZlIHRvIENHTCBhbmQgQ0FPcGVuR0xMYXllciBmb3IgcmVuZGVyaW5nIi4KCSAgVGhlbiB0aGUgY29tbWl0IDdkNDYzNTc2MjcxZTVhNGNjMTA3MDc4MGJhMWE2OWM5NzFlOGJlMWQ6CgkgICJnc3RnbHdpbmRvd19jb2NvYTogZml4IHNsb3cgcmVuZGVyIHJhdGUiIGF0dGVtcHRlZCB0byBmaXgKCSAgdGhlIHNsb3cgcmVuZGVyaW5nIHJhdGUgcHJvYmxlbSB3aGVuIHVzaW5nIGdzdC1sYXVuY2guCgkgIEF0IGxlYXN0IGZvciBtZSBpdCBkb2VzIG5vdCB3b3JrLiBJIHRyaWVkIHNldmVyYWwKCSAgY29tYmluYXRpb25zLCBmb3IgZXhhbXBsZSB0byBmbHVzaCBDQSB0cmFuc2FjdGlvbnMgaW4gdGhlCgkgIGN1c3RvbSBhcHAgbG9vcCwgYXMgbWVudGlvbmVkIGluIHRoZSBkb2MsIGJ1dCB0aGUgb25seSBzb2x1dGlvbgoJICB0aGF0IGZpeGVzIHRoZSBzbG93IHJlbmRlcmluZyBpcyBieSByZWR1Y2luZyB0aGUgbG9vcCBsYXRlbmN5LgoJICBGcm9tIHdoYXQgSSB0ZXN0ZWQsIG5vIG5lZWQgdG8gcHV0IGxlc3MgdGhhbiA2MG1zLCBldmVuIGlmIHRoZQoJICBmcmFtZXJhdGUgaGFzIGFuIGludGVydmFsIG11Y2ggbG93ZXIgKDE2LjZtcyBmb3IgNjAgZnBzKS4KCjIwMTUtMDItMTcgMjM6NTA6NTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgZ2xtaXhlcjogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIKCSAgZ3N0Z2xtaXhlci5oOjQzOiBlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYg4oCYR3N0R0xNaXhlcuKAmQoJICBnc3RnbG1peGVycGFkLmg6MzI6IGVycm9yOiBwcmV2aW91cyBkZWNsYXJhdGlvbiBvZiDigJhHc3RHTE1peGVy4oCZIHdhcyBoZXJlCgkgIGdzdGdsbWl4ZXIuaDo0NjogZXJyb3I6IHJlZGVmaW5pdGlvbiBvZiB0eXBlZGVmIOKAmEdzdEdMTWl4ZXJGcmFtZURhdGHigJkKCSAgZ3N0Z2xtaXhlcnBhZC5oOjMzOiBlcnJvcjogcHJldmlvdXMgZGVjbGFyYXRpb24gb2Yg4oCYR3N0R0xNaXhlckZyYW1lRGF0YeKAmSB3YXMgaGVyZQoKMjAxNS0wMi0yMSAxOTowNzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSAgZG9jczogdXBkYXRlCgoyMDE1LTAyLTIxIDE5OjA3OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIG9wdXMgZWxlbWVudHMgdG8gZG9jdW1lbnRhdGlvbgoKMjAxNS0wMi0yMSAxODo1MjowMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGRvbid0IHF1aXQgb24gV2FybmluZwoJICBEb24ndCBxdWl0IG9uIFdhcm5pbmcuCgkgIFByaW50IG91dCBhIG1lc3NhZ2Ugd2hlbiB0aGVyZSBpcyBhbiBFcnJvciBvciBXYXJuaW5nLgoKMjAxNS0wMi0yMSAxODo0NzoyOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGFsd2F5cyBzaG93IGd0ayB3aW5kb3cKCSAgU2hvdyBndGsgd2luZG93IGV2ZW4gd2hlbiB0aGVyZSBhcmUgbm8gdGFncywgdG8gYWx3YXlzIGhhdmUgdmlzdWFsIGZlZWRiYWNrCgkgIGFib3V0IHRoZSBwaXBlbGluZSBydW5uaW5nLgoKMjAxNS0wMi0yMSAxNzozNTowMyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IG1lcmdlIHJldHVybnMgaW4gZ192YWx1ZV90b19zdHJpbmcoKQoKMjAxNS0wMi0yMSAxNzoyNTo1MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IG1ha2UgYnVzX2NhbGxiYWNrIGNvbnNpc3RlbnQKCSAgU2ltcGxpZnkgdGhlIGJ1c19jYWxsYmFjayB0byBtYWtlIGl0IGNvbnNpc3RlbiB3aXRoIG90aGVyIGV4YW1wbGVzLgoKMjAxNS0wMi0yMSAxNzoxODowMiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmLWV4YW1wbGU6IGZpeCB1c2FnZSBvZiBhcmdjIGFuZCBhcmd2CgoyMDE1LTAyLTIxIDE3OjAyOjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IHJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZQoJICByZXQgaXMgb25seSB1c2VkIG9uY2UsIHdlIGRvbid0IG5lZWQgdG8gc3RvcmUgaXQgaW4gYSB2YXJpYWJsZSBmb3IgdGhhdC4KCjIwMTUtMDItMjEgMTQ6NDI6MDUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnc3RnbG1lbW9yeTogUmVtb3ZlIG5vdyB1bnVzZWQgdHJhbnNmZXJfdXBsb2FkIGZ1bmN0aW9uLgoKMjAxNS0wMi0yMSAyMzoyOToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBkaXNhYmxlIGF1dG9tYXRpYyBwYm8gdXBsb2FkCgkgIHVudGlsIHdlIGNhbiB0cmFjayB3aGVyZSB0aGUgZGF0YSBpcy9vciBpcyBnb2luZyB0byBiZS4KCjIwMTUtMDItMjAgMTM6NTU6MDUgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogc2VsZWN0IGNvcnJlY3Qgc3RhcnRpbmcgcG9zaXRpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBXaGVuIHBsYXlpbmcgbGl2ZSBITFMgc3RyZWFtcywgdGhlIG1lZGlhIHBsYXliYWNrIHN0YXJ0cyBmcm9tIHRoZQoJICBiZWdpbm5pbmcgb2YgdGhlIG1lZGlhIHBsYXlsaXN0LiBXaGVuIHBsYXlpbmcgYSBsaXZlIEhMUyBzdHJlYW0sCgkgIG1lZGlhIHBsYXliYWNrIHNob3VsZCBzdGFydCBmcm9tIDMgZnJhZ21lbnRzIGZyb20gdGhlIGVuZCBvZiB0aGUKCSAgcGxheWxpc3QuCgkgIFNlZSBzZWN0aW9uIDYuMy4zLiBvZiB0aGUgSExTIGRyYWZ0IFsxXQoJICBUaGlzIGNvbW1pdCBjaGFuZ2VzIHRoZSBsb2dpYyB0byBzZWxlY3QgMyBmcmFnbWVudHMgZnJvbSB0aGUgZW5kIHdoZW4KCSAgcGxheWluZyBhIGxpdmUgc3RyZWFtLgoJICBbMV0gaHR0cDovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtcGFudG9zLWh0dHAtbGl2ZS1zdHJlYW1pbmctMTIjcGFnZS0yOQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NzQyCgoyMDE1LTAyLTIwIDE4OjQyOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsZW1lbW9yeTogb25seSBzdG9yZSBhbmQgYWN0IG9uIHRoZSBtYXAgZmxhZ3Mgb24gZmlyc3QvbGFzdCBtYXAvdW5tYXAKCSAgQW55dGltZSBlbHNlLCB3ZSBoYXZlIG5vIGlkZWEgaG93IHRvIG1hdGNoIHVwIG1hcCBhbmQgdW5tYXBzLgoJICBXZSBhbHNvIGRvbid0IGtub3cgZXhhY3RseSBob3cgdGhlIGNhbGxpbmcgY29kZSBpcyB1c2luZyB1cy4KCSAgQWxzbyBmaXhlcyB0aGUgY2FzZSB3aGVyZSB3ZSdyZSB0cnlpbmcgdG8gdHJhbnNmZXIgd2hpbGUgc29tZW9uZSBlbHNlCgkgIGlzIGFjY2Vzc2luZyBvdXIgZGF0YSBwb2ludGVyIG9yIHRleHR1cmUgcmVzdWx0aW5nIGluIG1pc21hdGNoZWQgdmlkZW8KCSAgZnJhbWVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0ODM5CgoyMDE1LTAyLTE5IDIxOjIxOjU2IC0wNTAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVzZSBzcmNfbG9jayB0byBwcm90ZWN0IGxhdGVuY3kgcmVsYXRlZCBtZW1iZXJzCgkgIE9uZSBoYXMgdG8gdXNlIHRoZSBzcmNfbG9jayBhbnl3YXkgdG8gcHJvdGVjdCB0aGUgbWluL21heC9saXZlIHNvIHRoZXkKCSAgY2FuIGJlIG5vdGlmaWVkIGF0b21pY2FsbHkgdG8gdGhlIHNyYyB0aHJlYWQgdG8gd2FrZSBpdCB1cCBvbiBjaGFuZ2VzLAoJICBzdWNoIGFzIHByb3BlcnR5IGNoYW5nZXMuIFNvIG5vIHBvaW50IGluIGhhdmluZyBhIHNlY29uZCBsb2NrLgoJICBBbHNvLCB0aGUgb2JqZWN0IGxvY2sgd2FzIGJlaW5nIGhlbGQgYWNyb3NzIGEgY2FsbCB0bwoJICBHU1RfRUxFTUVOVF9XQVJOSU5HLCBndWFyYW50ZWVpbmcgYSBkZWFkbG9jay4KCjIwMTUtMDItMTkgMTg6NTM6MzIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbW92ZSB1bnRydWUgY29tbWVudAoKMjAxNS0wMi0xOSAxODozMDozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgdHJ5IHRvIHB1c2ggdGFncyB3aGlsZSBmbHVzaCBzZWVraW5nCgkgIFRoZSBkb3duc3RyZWFtIHNlZ21lbnQgY291bGQgaGF2ZSBiZWVuIGZsdXNoZWQgYWxyZWFkeSwgc28KCSAgbmVlZCB0byByZS1zZW5kIHRoZSBzZWdtZW50IGV2ZW50IGJlZm9yZSByZS1zZW5kaW5nIHRoZSB0YWdzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE5IDE0OjM0OjIzICswMTAwICBHdWlsbGF1bWUgU2VndWluIDxndWlsbGF1bWVAc2VndS5pbj4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiByZWR1Y2UgcGxheWxpc3QncyBFWFQtWC1WRVJTSU9OIHRvIDMKCSAgV2UgYXJlIG5vdCB1c2luZyBhbnkgZmVhdHVyZXMgZ3JlYXRlciB0aGFuIHRoZSAzcmQgdmVyc2lvbiwKCSAgc28gcmVkdWNlIHRvIHdoYXQgd2UgYWN0dWFsbHkgdXNlIHRvIG1ha2UgaXQgY29tcGF0aWJsZSB3aXRoCgkgIG1vcmUgcGxheWVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0Njg5CgoyMDE1LTAyLTE5IDE0OjMwOjEwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1c3BheTogZGVmYXVsdCBlbmNvZGluZyBuYW1lIHRvIE9QVVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNDowNTowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIHJ0cG9wdXNwYXk6IG1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgdHJ1bmNhdGluZyB0aGVtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4MTAKCjIwMTUtMDItMDUgMTA6Mjc6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBuZWdvdGlhdGUgdGhlIGVuY29kaW5nIG5hbWUKCSAgQ2hyb21lIHVzZXMgYSBkaWZmZXJlbnQgZW5jb2RpbmcgbmFtZSB0aGF0IGdzdHJlYW1lci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzgxMAoKMjAxNS0wMi0xOSAxNzoyMTo0NiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkgIHNpbXBsZXZpZGVvbWFya2RldGVjdDogbW92ZSBvZmZzZXQgY2FsY3VsYXRpb25zIG91dCBvZiBpbm5lciBsb29wcwoJICB0aGUgY2FsY3VsYXRpb25zIGZvciBkZXRlY3RpbmcgdGhlIHZpZGVvbWFyayBpcyBiZWluZyByZXBlYXRlZAoJICBpbiBmb3IgbG9vcCB1bm5lY2Vzc2FyaWx5LiBNb3ZpbmcgdGhpcyBvdXRzaWRlIG9mIGZvciBsb29wCgkgIHN1Y2ggdGhhdCB0aGUgY29kZSBuZWVkIG5vdCBiZSBleGVjdXRlZCBldmVydGltZSB0aGUgbG9vcCBpcyBleGVjdXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDc3OAoKMjAxNS0wMi0xOSAxMTowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVXNlIHRoZSBzaW5rcGFkcyBpdGVyYXRvciBkaXJlY3RseSB0byBxdWVyeSB1cHN0cmVhbSBsYXRlbmNpZXMKCSAgV2hpbGUgZ3N0X2FnZ3JlZ2F0b3JfaXRlcmF0ZV9zaW5rcGFkcygpIG1ha2VzIHN1cmUgdGhhdCBldmVyeSBwYWQgaXMgb25seQoJICB2aXNpdGVkIG9uY2UsIGV2ZW4gd2hlbiB0aGUgaXRlcmF0b3IgaGFzIHRvIHJlc3luYywgdGhpcyBpcyBub3QgYWxsIHdlIGhhdmUKCSAgdG8gZG8gZm9yIHF1ZXJ5aW5nIHRoZSBsYXRlbmN5LiBXaGVuIHRoZSBpdGVyYXRvciByZXN5bmNzIHdlIGFjdHVhbGx5IGhhdmUKCSAgdG8gcXVlcnkgYWxsIHBhZHMgZm9yIHRoZSBsYXRlbmN5IGFnYWluIGFuZCBmb3JnZXQgb3VyIHByZXZpb3VzIHJlc3VsdHMuIEl0CgkgIG1pZ2h0IGhhdmUgaGFwcGVuZWQgdGhhdCBhIHBhZCB3YXMgcmVtb3ZlZCwgd2hpY2ggaW5mbHVlbmNlZCB0aGUgcmVzdWx0IG9mCgkgIHRoZSBsYXRlbmN5IHF1ZXJ5LgoKMjAxNS0wMi0xOSAxMDo1NzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTW92ZSBnc3RfYWdncmVnYXRvcl9nZXRfbGF0ZW5jeV91bmxvY2tlZCgpIGEgYml0CgkgIEl0IHdhcyBiZXR3ZWVuIGFub3RoZXIgZnVuY3Rpb24gYW5kIGl0cyBoZWxwZXIgZnVuY3Rpb24gYmVmb3JlLCB3aGljaCB3YXMKCSAgY29uZnVzaW5nIHdoZW4gcmVhZGluZyB0aGUgY29kZSBhcyBpdCBoYWQgbm90aGluZyB0byBkbyB3aXRoIHRoZSBvdGhlcgoJICBmdW5jdGlvbnMuCgoyMDE1LTAyLTE5IDAxOjI4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSAgcnNuaW5wdXRzZWxlY3RvcjogRmFpbCB0aGUgbGF0ZW5jeSBxdWVyeSBpZiBvbmUgb2YgdGhlIHVwc3RyZWFtIHF1ZXJpZXMgZmFpbHMKCjIwMTUtMDItMTkgMDE6Mjg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZhaWwgdGhlIGxhdGVuY3kgcXVlcnkgaWYgb25lIG9mIHRoZSB1cHN0cmVhbSBxdWVyaWVzIGZhaWxzCgoyMDE1LTAyLTE5IDAxOjI4OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGYWlsIHRoZSBsYXRlbmN5IHF1ZXJ5IGlmIG9uZSBvZiB0aGUgdXBzdHJlYW0gcXVlcmllcyBmYWlscwoKMjAxNS0wMi0xOCAxOTowNjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBPbmx5IHNldCBsYXRlbmN5IGlmIHdlIGFscmVhZHkga25vdyBvdXIgY2FwcwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc2V0IGJvZ3VzIHZhbHVlcyBvciBHU1RfQ0xPQ0tfVElNRV9OT05FLgoJICBBbHNvIG1ha2Ugc3VyZSB0byByZXNldCB0aGUgY2FwcyBmaWVsZCB0byBOVUxMIGFmdGVyIHVucmVmZmluZwoJICB0aGUgY2FwcyB0byBwcmV2ZW50IGFjY2lkZW50aWFsIHVzZSBhZnRlcndhcmRzLCBhbmQgdW5yZWYgYW55CgkgIG9sZCBjYXBzIGJlZm9yZSB3ZSByZW1lbWJlciBuZXcgY2Fwcy4KCjIwMTUtMDItMTggMTU6NTM6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgb3JkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNToxMToxNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVuYW1lIGNvbmZ1c2lubHkgbmFtZWQgU1JDX1NUUkVBTV9MT0NLIG1hY3JvcyB0byBTUkNfTE9DSwoJICBUaGlzIHdpbGwgbWF0Y2ggdGhlIG5hbWUgb2YgdGhlIGxvY2sgaXRzZWxmLiBJdCBpcyBhbHNvIG5vdCBhIHN0cmVhbQoJICBsb2NrIGFzIGl0IG5vdCByZWN1cnNpdmUgYW5kIG5vdCBoZWxkIHdoaWxlIHB1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDItMTggMTU6MDY6MDEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlbmFtZSBjb25mdXNpbmdseSBuYW1lZCBzdHJlYW0gbG9jayB0byBmbHVzaCBsb2NrCgkgIFRoaXMgbG9jayBpcyBub3Qgd2hhdCBpcyBjb21tb25seSBrbm93biBhcyBhICJzdHJlYW0gbG9jayIgaW4gR1N0cmVtZXIsCgkgIGl0J3Mgbm90IHJlY3Vyc2l2ZSBhbmQgaXQncyB0YWtlbiBmcm9tIHRoZSBub24tc2VyaWFsaXplZCBGTFVTSF9TVEFSVCBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMi0xOCAxNTowNDowNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IG1hY3JvIGluZGVuZGF0aW9uCgkgIENoYW5nZXMgbm8gY29kZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAyLTE4IDE3OjEwOjQ4IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybTogRml4IGluY2x1ZGVzIG9mIGdyYXBoZW5lIGhlYWRlcnMKCSAgVGhlIGdyYXBoZW5lLTEuMCBwYXJ0IHNob3VsZCBub3QgYmUgaW4gdGhlIHNvdXJjZSBjb2RlLiBUaGlzIGRpcmVjdG9yeQoJICBpcyBwYXJ0IG9mIHRoZSBjZmxhZ3MgaW5jbHVkZS4gVGhpcyBpcyBzaW1pbGFyIHRvIGdzdHJlYW1lci0xLjAvCgkgIGRpcmVjdG9yeS4gVGhpcyBicmVhayBjb21waWxhdGlvbiBpZiB0aGUgaW5jbHVkZSBkaXJlY3Rvcnkgd2hlcmUKCSAgZ3JhcGhlbmUgaXMgaW5zdGFsbGVkIGlzIG5vdCBpbiB5b3VyIGluY2x1ZGUgcGF0aC4KCjIwMTUtMDItMTggMTk6MDc6NDIgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiByZW1vdmUgdW5uZWVkZWQgdmFsdWVzCgkgIE5vIG5lZWQgdG8gc3RvcmUgdGhlIEdzdEZsb3dSZXR1cm4gd2hlbiB3ZSBjYW4gY2hlY2sgaWYgaXQgaXMgbm90IE9LIGRpcmVjdGx5CgoyMDE1LTAyLTE4IDE4OjMzOjIwICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVuYW1pbmcgR3N0Rmxvd1JldHVybiB2YXJpYWJsZQoJICBIYXZpbmcgYSB2YXJpYWJsZSBuYW1lZCByZXQgaW4gYSBzdGF0aWMgdm9pZCBmdW5jdGlvbiBpcyB2ZXJ5IGNvbmZ1c2luZyBzaW5jZQoJICB0aGlzIHVzdWFsbHkgaXMgdG8gc3RvcmUgd2hhdCB0aGUgZnVuY3Rpb24gd2lsbCByZXR1cm4uCgoyMDE1LTAyLTE4IDE4OjAwOjQ4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogcmVtb3ZlIGlnbm9yZWQgdmFsdWUKCSAgVmFsdWUgc3RvcmVkIGluIHJldCB3aWxsIGJlIG92ZXdyaXR0ZW4gaW4gdGhlIG5leHQgaXRlcmF0aW9uIG9mIHRoZSBsb29wLiBXaGljaAoJICBtZWFucyBpdCBpcyBuZXZlciB1c2VkLgoJICBQbHVzIGEgc3R5bGUgaXNzdWUgdG8gbWFrZSBnc3QtaW5kZW50IGhhcHB5IGFuZCBhbGxvdyB0aGUgY29tbWl0LgoKMjAxNS0wMi0xOCAxNzo0MToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogUmVtb3ZlIGdfd2FybmluZ3MoKSBmb3IgdGhlIGRlcHJlY2F0ZWQgYXVkaW8gcHJvcGVydHkKCSAgT3RoZXJ3aXNlIHRoZXJlIGFyZSBnX3dhcm5pbmdzKCkgYWxyZWFkeSB3aGVuIGp1c3QgdXNpbmcgZ3N0LWluc3BlY3Qgb3IKCSAgZHVtcGluZyBhIHBpcGVsaW5lIGdyYXBoLgoKMjAxNS0wMi0xNSAyMzoxNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByb3RlY3QgYWdhaW5zdCBtYWxmb3JtZWQgaXNvbWJmZiBmb3JtYXQKCSAgQmUgbW9yZSBjYXJlZnVsIGFyb3VuZCBtYWxmb3JtZWQgbXBkcyB0aGF0IGFubm91bmNlIHVzaW5nCgkgIGlzb21iZmYgcHJvZmlsZSBidXQgYWN0dWFsbHkgYXJlIHJlZ3VsYXIgbXBkcwoKMjAxNS0wMi0xOCAxMjo0NToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IERlYWN0aXZhdGUgdGhlIGZhbGxiYWNrIHBvb2wgYW5kIHVucmVmIHRoZSBmYWxsYmFjayBidWZmZXIgd2hlbiByZXNldHRpbmcKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgc3RpbGwgaGF2ZSBhIHJlZmVyZW5jZSB0byB0aGUgc3VyZmFjZSBsZWZ0LCB3aGljaCB3b3VsZAoJICBwcmV2ZW50IGFjdGl2YXRpbmcgdGhlIHNpbmsgYWdhaW4gbGF0ZXIuIEUuZy4gYWZ0ZXIgd2UgbG9zdCB0aGUgZGV2aWNlLgoJICBIb3BlZnVsbHkgZml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDYxNQoKMjAxNS0wMi0xNyAxMTo1Mzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBkZWZpbmUKCjIwMTUtMDItMTcgMTE6NDE6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHVzZSBjb3JyZWN0IGZ1bmN0aW9uIHRvIGNsZWFyIGZyYWdtZW50IGluZm8KCSAgSnVzdCBmcmVlaW5nIHRoZSB1cmwgd29uJ3QgcmVzZXQgdGhlIGJ5dGUgcmFuZ2VzIGFuZCBjYW4gbGVhZCB0byB3cm9uZwoJICByYW5nZXMgYmVpbmcgdXNlZC4KCjIwMTUtMDItMTcgMTA6NTA6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBkZXByYWNhdGUgYmFuZHdpZHRoLXVzYWdlIGluIGZhdm9yIG9mIGJpdHJhdGUtbGltaXQKCSAgQml0cmF0ZS1saW1pdCBpcyBhbHJlYWR5IGF2YWlsYWJsZSBpbiB0aGUgYmFzZWNsYXNzIGFuZCwgZXZlbiB0aG91Z2gKCSAgdGhlIGJhbmR3aWR0aC11c2FnZSBuYW1lIGlzIGJldHRlciwgaGxzIGFuZCBtc3MgYWxyZWFkeSB1c2VkCgkgIGJpdHJhdGUtbGltaXQuIFRoaXMgcGF0Y2ggZGVwcmVjYXRlcyB0aGUgYmFuZHdpZHRoLXVzYWdlIGFuZCBtYXBzCgkgIGl0IHRvIHRoZSBiYXNlY2xhc3MgYml0cmF0ZS1saW1pdGUuCgoyMDE1LTAyLTE3IDEwOjQwOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYml0cmF0ZS1saW1pdCBwcm9wZXJ0eQoJICBNb3ZlIHRoZSBwcm9wZXJ0eSBmcm9tIHN1YmNsYXNzZXMgdG8gYWRhcHRpdmVkZW11eCwgaXQgYWxsb3dzCgkgIHNlbGVjaW5nIHRoZSBwZXJjZW50YWdlIG9mIHRoZSBtZWFzdXJlZCBiaXRyYXRlIHRvIGJlIHVzZWQgd2hlbgoJICBzZWxlY3Rpbmcgc3RyZWFtIGJpdHJhdGVzCgoyMDE1LTAyLTE3IDEwOjA0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogYWxsb3cgY3JlYXRpb24gb2YgJ2luZmluaXRlJyBwbGF5bGlzdAoJICBBbGxvdyB0aGUgcGxheWxpc3QtbGVuZ3RoIHRvIGFjY2VwdCAnMCcgYXMgYSB2YWx1ZSwgaW5kaWNhdGluZwoJICB0aGF0IG5vIHNlZ21lbnQgc2hvdWxkIGJlIHJlbW92ZWQgZnJvbSB0aGUgcGxheWxpc3QuIFRoaXMgYWxsb3dzCgkgIGdlbmVyYXRpbmcgcGxheWxpc3RzIHRvIGJlIHVzZWQgYXMgVk9EIHdoZW4gY29tcGxldGUuCgoyMDE1LTAyLTE3IDEwOjA0OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuaDoKCSAgaGxzc2luazogcmVtb3ZlIHVudXNlZCBhdHRyaWJ1dGUKCSAgdGhlIEdGaWxlIGF0dHJpYnV0ZSBpcyBuZXZlciB1c2VkCgoyMDE1LTAyLTE3IDEwOjAzOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBBbGxvd3MgdG8gc2V0IGEgYml0cmF0ZSBkaXJlY3RseSBpbnN0ZWFkIG9mIG1lYXN1cmluZyBpdCBpbnRlcm5hbGx5CgkgIGJhc2VkIG9uIHRoZSByZWNlaXZlZCBjaHVua3MuIFRoZSBjb25uZWN0aW9uLXNwZWVkIHdhcyByZW1vdmVkIGZyb20KCSAgbXNzZGVtdXggYW5kIGhsc2RlbXV4IGFzIGl0IGlzIG5vdyBpbiB0aGUgYmFzZSBjbGFzcwoKMjAxNS0wMi0xNyAwMDozNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogZG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMKCSAgRG9uJ3QgdXNlIHByaXZhdGUgR011dGV4IGltcGxlbWVudGF0aW9uIGRldGFpbHMgdG8gY2hlY2sKCSAgd2hldGhlciBpdCBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IG9yIG5vdC4gSnVzdCBjbGVhciBtdXRleAoJICBhbmQgR0NvbmQgdW5jb25kaXRpb25hbGx5IGluIGZyZWUgZnVuY3Rpb24sIHRoZXkgYXJlIGFsd2F5cwoJICBpbml0ZWQgYW55d2F5LCBhbmQgdGhlIGZyZWUgZnVuY3Rpb24gY2FuJ3QgYmUgY2FsbGVkIG11bHRpcGxlCgkgIHRpbWVzIGVpdGhlci4KCjIwMTUtMDItMTYgMjM6NTQ6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBkb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscwoJICBEb24ndCB1c2UgcHJpdmF0ZSBHTXV0ZXggaW1wbGVtZW50YXRpb24gZGV0YWlscyB0byBjaGVjawoJICB3aGV0aGVyIGl0IGhhcyBiZWVuIGZyZWVkIGFscmVhZHkgb3Igbm90LiBKdXN0IHR1cm4gZGlzcG9zZQoJICBmdW5jdGlvbiBpbnRvIGZpbmFsaXplIGZ1bmN0aW9uIHdoaWNoIHdpbGwgb25seSBiZSBjYWxsZWQKCSAgb25jZSwgdGhhdCB3YXkgd2UgY2FuIGp1c3QgY2xlYXIgdGhlIG11dGV4IHVuY29uZGl0aW9uYWxseS4KCjIwMTUtMDItMTcgMTg6MTc6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBkb24ndCBkZWFkbG9jayBpZiB0aGUgZGlzcGF0Y2hfc3luYyBpcyBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQKCSAgUHJvdmlkZSBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayB3aGV0aGVyIHdlIGFyZSBiZWluZyBjYWxsZWQgZnJvbQoJICB0aGUgbWFpbiB0aHJlYWQgYW5kIGFjdCBhcHByb3ByaWF0ZWx5LgoKMjAxNS0wMi0xNyAxNjo0MToxNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGdsL2NhbGF5ZXI6IG9ubHkgc3RhcnQgZHJhd2luZyBpZiB0aGUgcGFyZW50IGdsIGNvbnRleHQgaXMgcmVhZHkKCSAgb3RoZXJ3aXNlIHdlIG1heSB0cnkgdG8gdXNlIEdzdEdMRnVuY3MgKiB0aGF0IGhhc24ndCBiZWVuIHNldCB5ZXQKCjIwMTUtMDItMTcgMTY6Mzk6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBzbWFsbCByZWZhY3RvciBvZiBsYXllci92aWV3IGNyZWF0aW9uIGludG8gdGhlIHdpbmRvdwoKMjAxNS0wMi0xNyAwMTowNDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbHdpbmRvdzogUmVtb3ZlIGFzc2VydGlvbiBpbiBnc3RfZ2xfd2luZG93X3Nob3coKSBmb3Igc3ViY2xhc3NlcyBub3QgaW1wbGVtZW50aW5nIGl0CgkgIE9uIEFuZHJvaWQgYW5kIGlPUyB3ZSBjYW4ndCBjcmVhdGUgYSB3aW5kb3cgb3Vyc2VsdmVzLCBzbyBhbHNvIGNhbid0IGp1c3Qgc2hvdwoJICBvbmUuIFRoYXQncyBub3QgYSBwcm9ibGVtIGFuZCBhbiBhc3NlcnRpb24gaXMgbm90IHJlYWxseSBuZWVkZWQgaGVyZS4KCjIwMTUtMDItMTYgMTI6MzU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogQ2hlY2sgaWYgVlRTZXNzaW9uQ29weVByb3BlcnR5KCkgc3VjY2VlZHMgYmVmb3JlIHVzaW5nIHRoZSByZXN1bHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDU4NQoKMjAxNS0wMi0xMyAyMzo0NToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZHJvcCBHQVAgZXZlbnRzIHVudGlsIHdlIGhhbmRsZSB0aGVtIHByb3Blcmx5CgoyMDE1LTAyLTEyIDEyOjA0OjQ0ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSAgc2ltcGxldmlkZW9tYXJrOiByZWZhY3RvciBjb2RlCgkgIHRoZSBjYWxjdWxhdGlvbnMgZm9yIGRyYXdpbmcgdGhlIHZpZGVvbWFyayBpcyBiZWluZyByZXBlYXRlZAoJICBpbiBmb3IgbG9vcCB1bm5lY2Vzc2FyaWx5LiBNb3ZpbmcgdGhpcyBvdXRzaWRlIG9mIGZvciBsb29wCgkgIHN1Y2ggdGhhdCB0aGUgY29kZSBuZWVkIG5vdCBiZSBleGVjdXRlZCBldmVydGltZSB0aGUgbG9vcCBpcyBleGVjdXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM3MQoKMjAxNS0wMi0wOSAxMToyMTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogRml4IHNlZ21lbnQgYW5kIHNlZ21lbnQgZXZlbnQgaGFuZGxpbmcgZHVyaW5nIHNlZWtpbmcKCSAgQWx3YXlzIHVwZGF0ZSB0aGUgc2VnbWVudCBhbmQgbm90IG9ubHkgZm9yIGFjY3VyYXRlIHNlZWtpbmcgYW5kIGFsd2F5cwoJICBzZW5kIGEgbmV3IHNlZ21lbnQgZXZlbnQgYWZ0ZXIgc2Vla3MuCgkgIEZvciBub24tYWNjdXJhdGUgZm9yY2UgYSByZXNldCBvZiBvdXIgc2VnbWVudCBpbmZvIHRvIHN0YXJ0IGZyb20KCSAgd2hlcmUgb3VyIHNlZWsgbGVkIHVzIGFzIHdlIGRvbid0IG5lZWQgdG8gYmUgYWNjdXJhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM2MwoKMjAxNS0wMi0xMyAxNjowNjozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNjowMzo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiB1c2UgbmV3IGdzdF9hZ2dyZWdhdG9yX3BhZF9kcm9wX2J1ZmZlcigpCgoyMDE1LTAyLTEzIDE1OjUzOjE5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogdXNlIG5ldyBnc3RfYWdncmVnYXRvcl9wYWRfZHJvcF9idWZmZXIoKQoKMjAxNS0wMi0xMyAxNTo0OTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgZ3N0X2FnZ3JlZ2F0b3JfcGFkX2Ryb3BfYnVmZmVyKCkKCSAgc3RlYWxfYnVmZmVyKCkgKyB1bnJlZiBzZWVtcyB0byBiZSBhIHdpZGUtc3ByZWFkIGlkaW9tCgkgICh3aGljaCBwZXJoYXBzIGluZGljYXRlcyB0aGF0IHNvbWV0aGluZyBpcyBub3QgcXVpdGUKCSAgcmlnaHQgd2l0aCB0aGUgd2F5IGFnZ3JlZ2F0b3IgcGFkIHdvcmtzIGN1cnJlbnRseSkuCgoyMDE1LTAyLTEyIDEzOjMyOjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBvbmx5IHBvc3QgbGF0ZW5jeSBtZXNzYWdlIGlmIGFueXRoaW5nIGNoYW5nZWQKCSAgUGVyaGFwcyB3ZSBzaG91bGQgY2hlY2sgZm9yIGVsZW1lbnQgc3RhdGUgYXMgd2VsbCBhbmQKCSAgb25seSBwb3N0IGl0IGlmIGluIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAyLTEyIDE1OjQ4OjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIHRlc3RzOiByZW1vdmUgR1NUX0RJU0FCTEVfUEFSU0UgZ3VhcmRzIGZyb20gdHdvIHRlc3RzIHRoYXQgZG9uJ3QgcmVxdWlyZSBpdAoKMjAxNS0wMS0yOCAxMjoxMjoyNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogTWFrZSBkZWJ1ZyBjYXRlZ29yeSBuYW1pbmcgYSBiaXQgbW9yZSBjb25zaXN0ZW50CgoyMDE1LTAyLTEzIDE5OjEyOjIwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGF2ZnZpZGVvc3JjOiBmaXggY3Jhc2ggd2hlbiBub24tR0wgbWVtb3J5IGlzIHVzZWQKCjIwMTUtMDItMDUgMTg6MTA6MTUgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IGxvZ2ljIGluIGZyYWdtZW50X2Rvd25sb2FkX2ZpbmlzaC4KCSAgVGhpcyB3YXMgcHJldmVudGluZyB1cyBmcm9tIHN1cmZhY2luZyBhIG1lYW5pbmdmdWwgZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDM3MDMKCjIwMTUtMDItMTIgMjI6MDY6MTcgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBoYW5kbGluZyBvZiBsaXZlIHN0cmVhbXMgd2l0aCB0aW1lc2hpZnQgYnVmZmVycy4KCSAgQnkgaW1wbGVtZW50aW5nIGdldF9saXZlX3NlZWtfcmFuZ2UuCgkgIEFzIHNob3duIGJ5IDoKCSAgZ3N0LXZhbGlkYXRlLTEuMCBwbGF5YmluIFwKCSAgdXJpPWh0dHA6Ly9kZXYtaXBsYXRmb3Jtcy5rdy5iYmMuY28udWsvZGFzaC9uZXdzMjQtYXZjMy9uZXdzMjQucGhwCgkgIFRoaXMgcGF0Y2ggaGFuZGxlcyBsaXZlIHNlZWtpbmcsIGJ5IHNldHRpbmcgYSBsaXZlIHNlZWsgcmFuZ2UKCSAgY29tcHJpc2VkIGJldHdlZW4gbm93IC0gdGltZVNoaWZ0QnVmZmVyRGVwdGggYW5kIG5vdy4KCSAgVGhlIGludGVlcnN0aW5nIHRoaW5nIHdpdGggdGhpcyBzdHJlYW0gaXMgdGhhdCBvbmUgY2FuIGFjdHVhbGx5CgkgIGFzayBmcmFnbWVudHMgdXAgdG8gYXZhaWxhYmlsaXR5U3RhcnRUaW1lLCBidXQgaXQgc2VlbXMgcXVpdGUgY2xlYXIKCSAgaW4gdGhlIHNwZWMgdGhhdCBjb250ZW50IGlzIG9ubHkgZ3VhcmFudGVlZCB0byBleGlzdCB1cCB0bwoJICB0aW1lU2hpZnRCdWZmZXJEZXB0aC4KCSAgT25lIGNhbiB0ZXN0IGxpdmUgc2Vla2luZyB0aGlzIHdheSA6CgkgIGdzdC12YWxpZGF0ZS0xLjAgcGxheWJpbiBcCgkgIHVyaT1odHRwOi8vZGV2LWlwbGF0Zm9ybXMua3cuYmJjLmNvLnVrL2Rhc2gvbmV3czI0LWF2YzMvbmV3czI0LnBocCBcCgkgIC0tc2V0LXNjZW5hcmlvIHNlZWtfYmFjay5zY2VuYXJpbwoJICB3aXRoIHNjZW5hcmlvIGJlaW5nOgoJICBkZXNjcmlwdGlvbiwgc2Vlaz10cnVlCgkgIHNlZWssIHBsYXliYWNrLXRpbWU9cG9zaXRpb24rNS4wLCBzdGFydD0icG9zaXRpb24tNjAwLjAiLAoJICBmbGFncz1hY2N1cmF0ZStmbHVzaAoJICBUaGlzIGV4YW1wbGUgd2lsbCBwbGF5IHRoZSBzdHJlYW0sIHdhaXQgZm9yIGZpdmUgc2Vjb25kcywgdGhlbiBzZWVrIGJhY2sKCSAgdG8gYSBwb3NpdGlvbiAxMCBtaW51dGVzIGVhcmxpZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDQzNjIKCjIwMTUtMDItMTIgMjI6MDQ6MTAgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogU2V0IGZpcnN0IHNlZ21lbnQgdGltZSB0byBzZWdtZW50IHN0YXJ0LgoJICBPdGhlcndpc2UgYXMgbG9uZyBhcyBhIHNlZWsgd2Fzbid0IGV4ZWN1dGVkLCB0aGUgcG9zaXRpb24gd2FzCgkgIHJlcG9ydGVkIGluY29ycmVjdGx5OgoJICBnc3QtdmFsaWRhdGUtMS4wIHBsYXliaW4gXAoJICB1cmk9aHR0cDovL2Rldi1pcGxhdGZvcm1zLmt3LmJiYy5jby51ay9kYXNoL25ld3MyNC1hdmMzL25ld3MyNC5waHAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDM2MgoKMjAxNS0wMi0xMiAxNzozMzo1MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogRml4IGRlYnVnIHN0YXRlbWVudAoKMjAxNS0wMi0xMiAxNTowMjozMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsOiBBZGQvVXBkYXRlIG1vcmUgZGVidWcgc3RhdGVtZW50cwoJICBXaGVyZSBwb3NzaWJsZSwgdXNlIHRoZSBfT0JKRUNUIHZhcmlhbnRzIGluIG9yZGVyIHRvIHRyYWNrIGJldHRlciBmcm9tCgkgIHdoaWNoIG9iamVjdCB0aGUgZGVidWcgc3RhdGVtZW50IGlzIGNvbWluZyBmcm9tCgkgIERlZmluZSAoYW5kIHVzZSkgR1NUX0NBVF9ERUZBVUxUIHdoZXJlIGFwcGxpY2FibGUKCSAgVXNlIEdTVF9QVFJfRk9STUFUIHdoZXJlIGFwcGxpY2FibGUKCjIwMTUtMDItMTIgMTQ6NTg6MTQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbDogTWFrZSBnbGNvbnRleHQgZGVidWcgY2F0ZWdvcnkgdXNlZCBpbiBtb3JlIHBsYWNlcwoJICBBcyBhIGJvbnVzIGl0IG1ha2VzIHRoZSBlZ2wgY29udGV4dCBkZWJ1ZyBtZXNzYWdlcyB2aXNpYmxlIG5vdyA6KQoKMjAxNS0wMi0xMiAxNDo1NjoxMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogU3ByaW5rbGUgbW9yZSBkZWJ1ZwoKMjAxNS0wMi0xMiAxMToxNTozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogc2V0IHByb3BlciBzdHJlYW0gdHlwZSB0byBzdHJlYW1zCgkgIHN0cm5jbXAgcmV0dXJucyAwIHdoZW4gaXQgY29tcGFyZXMgZXF1YWwgYW5kIG5vdCBhCgkgIGJvb2xlYW4KCjIwMTUtMDItMTIgMTE6MjY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGNhbGN1bGF0ZSBzdHJlYW1fdGltZSB1c2VkIHRvIHN5bmMgcGFkIHZhbHVlcyBjb3JyZWN0bHkKCSAgVXNlIHBhZCAoaW5wdXQpIHNlZ21lbnQgdG8gY2FsY3VsYXRlIHRoZSBzdHJlYW0gdGltZSBmcm9tIHRoZQoJICBpbnB1dCB0aW1lc3RhbXAsIG5vdCB0aGUgYWdncmVnYXRvciAob3V0cHV0KSBzZWdtZW50LgoKMjAxNS0wMi0xMiAxMToxMToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBPbmx5IHVzZSB0aGUgZHVyYXRpb24gb2YgdGhlIHNhbXBsZSBpZiBpdCBpcyB2YWxpZAoKMjAxNS0wMS0yNyAxMzo0ODo0MiArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IHRyYWNrIHBlci1mcmFnbWVudCBiaXRyYXRlcy4KCSAgQW5kIHVzZSB0aGUgYXZlcmFnZSB0byBnbyB1cCBpbiByZXNvbHV0aW9uLCBhbmQgdGhlIGxhc3QgZnJhZ21lbnQKCSAgYml0cmF0ZSB0byBnbyBkb3duLgoJICBUaGlzIGFsbG93cyB0aGUgZGVtdXhlciB0byByZWFjdCByYXBpZGx5IHRvIGJpdHJhdGUgbG9zcywgYW5kCgkgIGJlIGNvbnNlcnZhdGl2ZSBmb3IgYml0cmF0ZSBpbXByb3ZlbWVudHMuCgkgICsgQWRkIGEgY29uc3RydWN0IG9ubHkgcHJvcGVydHkgdG8gZGVmaW5lIHRoZSBudW1iZXIgb2YgZnJhZ21lbnRzCgkgIHRvIGNvbnNpZGVyIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGF2ZXJhZ2UgbW92aW5nIGJpdHJhdGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5NzkKCjIwMTUtMDItMTEgMTQ6NDQ6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkgIHgyNjVlbmM6IEFkZCBzdXBwb3J0IGZvciAxMGJpdCA0OjI6MCBhbmQgNDo0OjQgZm9ybWF0cwoKMjAxNS0wMi0xMSAxNDoxNjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgSW1wcm92ZSBhbmQgZml4IExBVEVOQ1kgcXVlcnkgaGFuZGxpbmcKCSAgVGhpcyBub3cgZm9sbG93cyB0aGUgZGVzaWduIGRvY3MgZXZlcnl3aGVyZSwgZXNwZWNpYWxseSB0aGUgbWF4aW11bSBsYXRlbmN5CgkgIGhhbmRsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MTA2CgoyMDE1LTAyLTEwIDE1OjU1OjUwICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4gZXhhbXBsZXM6IG1lbW9yeSBsZWFrIGluIGNhbWVyYWJpbiBleGFtcGxlcyBjb2RlCgkgIHNob3VsZCB1bnJlZiBjYXBzIGFmdGVyIHNldCB0byBwcm9maWxlLiBwcm9maWxlIHdpbGwgcmVmIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQ0MjE5CgoyMDE1LTAyLTEwIDE1OjUzOjIxICswODAwICBTb25nIEJpbmcgPGIwNjQ5OEBmcmVlc2NhbGUuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbiBleGFtcGxlczogbWVtb3J5IGxlYWsgaW4gY2FtZXJhYmluIGV4YW1wbGVzIGNvZGUKCSAgc2hvdWxkIHVucmVmIGFmdGVyIHNldCBvYmplY3QuIFRoZSBvYmplY3Qgd2lsbCBiZSByZWZlZCB3aGVuIHNldAoJICBwcm9wZXJ0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDIxOQoKMjAxNS0wMi0xMCAxNjoxODozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNyaW5nYnVmZmVyOiBPbmx5IGFsbG9jYXRlIGF0IG1vc3QgaGFsZiB0aGUgbnVtYmVyIG9mIGludGVybmFsIGJ1ZmZlcnMgYXMgZXh0ZXJuYWwgYXVkaW9yaW5nYnVmZmVyIG9uZXMKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IGVuZCB1cCByZWFkaW5nIHRvbyBtdWNoIGZyb20gdGhlIGF1ZGlvcmluZ2J1ZmZlciwgd2hpY2gKCSAgd291bGQgcmVzdWx0IGluIHJlYWRpbmcgc2lsZW5jZS4KCjIwMTUtMDItMTAgMTY6MDE6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFwcGx5IHRoZSBkaWZmIGJldHdlZW4gZWxlbWVudCBhbmQgcGlwZWxpbmUgImJhc2UiIHRpbWUgaW4gYWxsIGNhc2VzCgkgIEV2ZW4gaWYgYm90aCBjbG9ja3MgaGF2ZSB0aGUgc2FtZSByYXRlLCB3ZSBuZWVkIHRvIGFwcGx5IHRoaXMgZGlmZi4gT25seSB3aGVuCgkgIGl0J3MgdGhlIHNhbWUgY2xvY2sgd2UgZG9uJ3QsIGFzIGl0J3Mgb3VyIGNsb2NrIHRoZW4uCgoyMDE1LTAyLTEwIDE1OjMwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgdGhlIGRpZmYgYmV0d2VlbiB0aGUgcGlwZWxpbmUgYmFzZSB0aW1lIGFuZCB3aGVuIHdlIHN0YXJ0IHRvIHBsYXkKCSAgQWRkIHRoZSBkaWZmIGJldHdlZW4gdGhlIGV4dGVybmFsIHRpbWUgd2hlbiB3ZSB3ZW50IHRvIHBsYXlpbmcgYW5kCgkgIHRoZSBleHRlcm5hbCB0aW1lIHdoZW4gdGhlIHBpcGVsaW5lIHdlbnQgdG8gcGxheWluZy4gT3RoZXJ3aXNlIHdlCgkgIHdpbGwgYWx3YXlzIHN0YXJ0IG91dHB1dHRpbmcgZnJvbSAwIGluc3RlYWQgb2YgdGhlIGN1cnJlbnQgcnVubmluZwoJICB0aW1lLgoKMjAxNS0wMi0xMCAxNDo1Mzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBY3R1YWxseSBpbmNsdWRlIHRoZSBjaGFuZ2UgbWVudGlvbmVkIGluIHRoZSBsYXN0IGNvbW1pdAoKMjAxNS0wMi0xMCAxNDo0ODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3tzcmMsc2lua306IFNhbXBsZSB0aGUgaW50ZXJuYWwgY2xvY2sgaW1tZWRpYXRlbHkgYWZ0ZXIgc3RhcnRpbmcgdGhlIGRldmljZQoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RheSBhdCAwLjBzIGZvciB0b28gbG9uZyBiZWNhdXNlIHdlIHdpbGwgdGFrZSB0aGUgZmlyc3QKCSAgdGltZXN0YW1wIHdlIGV2ZXIgc2VlIGFzIDAuMC4uLiB3aGljaCB3aWxsIGJlIGFmdGVyIHdlIHN0YXJ0ZWQgdGhlIGRldmljZS4KCjIwMTUtMDItMTAgMTA6NTY6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogV2hlbiByZWNlaXZpbmcgdGltZW91dCBiZWZvcmUgY2FwcywgbWFrZSBzdXJlIHRvIGFsc28gYWR2YW5jZSBvdXIgZnJhbWUgY291bnRlcgoJICBPdGhlcndpc2Ugd2Ugd2lsbCBkaXJlY3RseSBnbyBFT1Mgb24gdGhlIG5leHQgbm9uLXRpbWVvdXQuCgoyMDE1LTAyLTEwIDEwOjQ5OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQYXVzZSBzcmNwYWQgdGFzayBvbiBmbG93IGVycm9ycwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjYWxsIHRoZSB0YXNrIGZ1bmN0aW9uIG92ZXIgYW5kIG92ZXIgYWdhaW4gdW50aWwKCSAgdXBzdHJlYW0gZmluYWxseSBoYW5kbGVkIHRoZSBmbG93IHJldHVybiBhbmQgc2h1dHMgdXMgZG93bi4KCjIwMTUtMDItMDkgMDA6NTk6MzAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggYnVmZmVyIHNlbGVjdGlvbiB3aGVuIGR1cmF0aW9uPS0xCgkgIElmIHRoZSBzcmMgZnJhbWVyYXRlIGFuZCB2aWRlb2FnZ3JlYXRvcidzIG91dHB1dCBmcmFtZXJhdGUgd2VyZQoJICBkaWZmZXJlbnQsIHRoZW4gd2Ugd2VyZSB0YWtpbmcgZXZlcnkgc2luZ2xlIGJ1ZmZlciB0aGF0IGhhZCBkdXJhdGlvbj0tMQoJICBhcyBpdCBjYW1lIGluIHJlZ2FyZGxlc3Mgb2YgdGhlIGJ1ZmZlcidzIHN0YXJ0IHRpbWUuICBUaGlzIGNhdXNlZCB0aGUgc3JjCgkgIHRvIHBvc3NpYmx5IHJ1biBhdCBhIGRpZmZlcmVudCBzcGVlZCB0byB0aGUgb3V0cHV0IGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0NDA5NgoKMjAxNS0wMi0wOSAyMTowNDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggY29tcGlsZXIgd2FybmluZyB3aXRoIGdjYwoJICBnc3RkZWNrbGluay5jcHA6IEluIG1lbWJlciBmdW5jdGlvbiAndmlydHVhbCBIUkVTVUxUIEdTdHJlYW1lckRlY2tsaW5rSW5wdXRDYWxsYmFjazo6VmlkZW9JbnB1dEZyYW1lQXJyaXZlZChJRGVja0xpbmtWaWRlb0lucHV0RnJhbWUqLCBJRGVja0xpbmtBdWRpb0lucHV0UGFja2V0KiknOgoJICBnc3RkZWNrbGluay5jcHA6NDk4OjIyOiBlcnJvcjogY29tcGFyaXNvbiBiZXR3ZWVuIHNpZ25lZCBhbmQgdW5zaWduZWQgaW50ZWdlciBleHByZXNzaW9ucyBbLVdlcnJvcj1zaWduLWNvbXBhcmVdCgkgIGlmIChjYXB0dXJlX3RpbWUgPiBtX2lucHV0LT5jbG9ja19zdGFydF90aW1lKQoJICBeCgkgIGdzdGRlY2tsaW5rLmNwcDo1MDM6MjI6IGVycm9yOiBjb21wYXJpc29uIGJldHdlZW4gc2lnbmVkIGFuZCB1bnNpZ25lZCBpbnRlZ2VyIGV4cHJlc3Npb25zIFstV2Vycm9yPXNpZ24tY29tcGFyZV0KCSAgaWYgKGNhcHR1cmVfdGltZSA+IG1faW5wdXQtPmNsb2NrX29mZnNldCkKCSAgXgoKMjAxNS0wMi0wOSAxNzoxNzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBJbXBsZW1lbnQgY2xvY2sgc2xhdmluZyBpZiB0aGUgcGlwZWxpbmUgY2xvY2sgaXMgbm90IHRoZSBkZWNrbGluayBjbG9jawoKMjAxNS0wMi0wOSAxNzoxNToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3tzcmMsc2lua306IE9ubHkgc3RhcnQgc3RyZWFtcyAvIHNjaGVkdWxlZCBwbGF5YmFjayBpZiB0aGVyZSBpcyBhIHZpZGVvc3JjIGF0IHRoaXMgcG9pbnQKCjIwMTUtMDItMDkgMTc6MDQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zcmM6IERvbid0IHByb3ZpZGUgYSBjbG9jawoJICBUaGUgYXVkaW8gc291cmNlIG9ubHkgd29ya3MgdG9nZXRoZXIgd2l0aCB0aGUgdmlkZW8gc291cmNlLCBhbmQgdGhlIHZpZGVvCgkgIHNvdXJjZSBpcyBhbHJlYWR5IHByb3ZpZGluZyBhIGNsb2NrLgoKMjAxNS0wMi0wOSAxNjoxODowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBUaHJvdHRsZSByZWFkaW5nIGZyb20gdGhlIHJpbmdidWZmZXIKCSAgVGhlIGRyaXZlciBoYXMgYW4gaW50ZXJuYWwgYnVmZmVyIG9mIHVuc3BlY2lmaWVkIGFuZCB1bmNvbmZpZ3VyYWJsZSBzaXplLCBhbmQKCSAgaXQgd2lsbCBwdWxsIGRhdGEgZnJvbSBvdXIgcmluZyBidWZmZXIgYXMgZmFzdCBhcyBpdCBjYW4gdW50aWwgdGhhdCBpcyBmdWxsLgoJICBVbmZvcnR1bmF0ZWx5IHRoYXQgbWVhbnMgdGhhdCB3ZSBwdWxsIHNpbGVuY2UgZnJvbSB0aGUgcmluZ2J1ZmZlciB1bmxlc3MgaXRzCgkgIHNpemUgaXMgYnkgY29uaW5jaWRlbmNlIGxhcmdlciB0aGFuIHRoZSBkcml2ZXIncyBpbnRlcm5hbCByaW5nYnVmZmVyLgoJICBUaGUgZ29vZCBuZXdzIGlzIHRoYXQgaXQncyBub3QgcmVxdWlyZWQgdG8gY29tcGxldGVseSBmaWxsIHRoZSBidWZmZXIgZm9yCgkgIHByb3BlciBwbGF5YmFjay4gU28gd2Ugbm93IHRocm90dGxlIHJlYWRpbmcgZnJvbSB0aGUgcmluZ2J1ZmZlciB3aGVuZXZlcgoJICB0aGUgZHJpdmVyIGhhcyBidWZmZXJlZCBtb3JlIHRoYW4gaGFsZiBvZiBvdXIgcmluZ2J1ZmZlciBzaXplIGJ5IHdhaXRpbmcKCSAgb24gdGhlIGNsb2NrIGZvciB0aGUgYW1vdW50IG9mIHRpbWUgdW50aWwgaXQgaGFzIGJ1ZmZlcmVkIGxlc3MgdGhhbiB0aGF0CgkgIGFnYWluLgoKMjAxNS0wMi0wOSAxNToxOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkgIGRlY2tsaW5rYXVkaW9zaW5rOiBTdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgd2hlbiBnb2luZyB0byBQTEFZSU5HCgkgIFRoZSByaW5nYnVmZmVyJ3MgYWNxdWlyZSgpIGlzIHRvbyBlYXJseSwgYW5kIHJpbmdidWZmZXIncyBzdGFydCgpIHdpbGwgb25seSBiZQoJICBjYWxsZWQgYWZ0ZXIgdGhlIGNsb2NrIGhhcyBhZHZhbmNlZCBhIGJpdC4uLiB3aGljaCBpdCB3b24ndCB1bmxlc3Mgd2Ugc3RhcnQKCSAgc2NoZWR1bGVkIHBsYXliYWNrLgoKMjAxNS0wMi0wOSAyMToxODoyNCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGZpeCB0ZXh0dXJlIHNoYXJpbmcgb24gaU9TCgkgIE1vdmUgR0xFUyBjYWxscyB0byB0aGUgY29udGV4dCB0aHJlYWQuIEZpeAoJICBDVk9wZW5HTEVTVGV4dHVyZUNhY2hlQ3JlYXRlVGV4dHVyZUZyb21JbWFnZSB1c2FnZSBvbiBpT1MuCgoyMDE1LTAyLTA5IDIwOjQ0OjUwICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBsaWJnc3RnbDogc2V0IHVzZXIgZGF0YSBhbmQgR0Rlc3Ryb3lOb3RpZnkgZm9yIHdyYXBwZWQgdGV4dHVyZXMKCjIwMTUtMDItMDggMjE6NTM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5re2F1ZGlvLHZpZGVvfXNyYzogVGFrZSB0aGUgY2FwdHVyZSB0aW1lcyBmcm9tIHRoZSBwaXBlbGluZSBjbG9jawoJICBOb3QgZnJvbSB0aGUgZGVja2xpbmsgY2xvY2suIEJvdGggd2lsbCByZXR1cm4gZXhhY3RseSB0aGUgc2FtZSB0aW1lIG9uY2UgdGhlCgkgIGRlY2tsaW5rIGNsb2NrIGdvdCBzbGF2ZWQgdG8gdGhlIHBpcGVsaW5lIGNsb2NrIGFuZCByZWNlaXZlZCB0aGUgZmlyc3QKCSAgb2JzZXJ2YXRpb24sIGJ1dCB1bnRpbCB0aGVuIGl0IHdpbGwgcmV0dXJuIGJvZ3VzIHZhbHVlcy4gQnV0IGFzIGJvdGggcmV0dXJuCgkgIGV4YWN0bHkgdGhlIHNhbWUgdmFsdWVzLCB3ZSBjYW4gYXMgd2VsbCB1c2UgdGhlIHBpcGVsaW5lIGNsb2NrIGRpcmVjdGx5LgoKMjAxNS0wMi0wOCAxNDozMjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBkb24ndCBzZXQgZWxlbWVudCBmYWN0b3J5IGRldGFpbHMKCSAgVGhpcyBpcyBhbiBhYnN0cmFjdCBiYXNlIGNsYXNzLCBub3QgYW4gZWxlbWVudC4KCjIwMTUtMDItMDggMDE6MTk6NDIgKzExMDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBzb21lIG9wdGltaXphdGlvbnMKCSAgRGV0ZWN0IGludmlzaWJsZSBwaXhlbHMsIGFuZCBza2lwIGdzdHNwdV92b2JzdWJfYmxlbmRfY29tcF9idWZmZXJzKCkKCSAgd2hlbiB0aGVyZSBhcmUgb25seSBpbnZpc2libGUgcGl4ZWxzLiAgVGhpcyBzaWduaWZpY2FudGx5IHJlZHVjZXMgdGhlCgkgIENQVSBsb2FkIGluIGNhc2VzIG9mIERWRHMgd2hpY2ggZG9uJ3QgdXNlIHRoZSBjbGlwX3JlY3QgdG8gZXhjbHVkZQoJICBwcm9jZXNzaW5nIGZvciBwYXJ0cyBvZiB0aGUgc2NyZWVuIHdoZXJlIHRoZSB2aWRlbyBpcyB2aXNpYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIxCgoyMDE1LTAyLTA4IDA1OjA2OjQ4ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogQXZvaWQgd2FybmluZyBpZiB0aGUgdmlkZW8gZm9yIGEgc3RpbGwgZnJhbWUgYXJyaXZlcyBhZnRlciB0aGUgU1BVCgkgIFdoZW4gd2UgZG9uJ3QgaGF2ZSBhIHNlZ21lbnQgb24gdGhlIHZpZGVvIHBhZCB5ZXQgZHVyaW5nIGEgc3RpbGwgZnJhbWUKCSAgZG9uJ3QgZnJlYWsgb3V0LgoKMjAxNS0wMi0wOCAwNDo1MToxMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBEb24ndCBzZW5kIG1lYW5pbmdsZXNzIHNlZ21lbnQgcG9zaXRpb24gZG93bnN0cmVhbQoJICBEb24ndCBwbGFjZSBhIG1lYW5pbmdsZXNzIHZhbHVlIGluIHRoZSBwb3NpdGlvbiBmaWVsZCBpbgoJICBvdXRnb2luZyBzZWdtZW50cyAtIHZhbHVlcyBoYXZlIHRvIGJlIGluIHRoZSByYW5nZSBzdGFydC0+c3RvcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDU1OAoKMjAxNS0wMi0wNiAxNjoyMjoyNiArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBSZXZlcnQgImFpZmZwYXJzZTogbWFrZSBzdXJlIHdlIGhhdmUgZGF0YSBiZWZvcmUgaGFuZGxpbmcgc2luayBldmVudCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhNGJhYWJiNDhkMjUyMjE0ZDM4MzNiNTAyYzc5MDNkOWYxNWYzNTAyLgoKMjAxNS0wMi0wNiAxNToxMDo1NSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRhdGEgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQKCSAgQ2hlY2sgQUlGRl9QQVJTRV9EQVRBIGlzIFRydWUgYmVmb3JlIGhhbmRsaW5nIHNpbmsgZXZlbnQsIGlmIG5vdCBnb3RvIGV4aXQuCgoyMDE1LTAyLTA1IDE1OjU3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiByZW1vdmUgbm93LXVudXNlZCBiYXNlX3RpbWUgZmllbGQgaW4gb2JqZWN0IHN0cnVjdHVyZQoKMjAxNS0wMi0wNiAxMDo1OToyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogU3RyZWFtbGluZSBsYXRlbmN5IGNhbGN1bGF0aW9ucwoJICBNaW4gbGF0ZW5jeSBjYW4gbmV2ZXIgYmUgaW52YWxpZCwgbGF0ZW5jeSBwcm9wZXJ0eSBjYW4gbmV2ZXIgYmUgaW52YWxpZAoJICBlaXRoZXIuIFNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yIGFsbCB0aGVzZSB0aGluZ3MgaW4gdmFyaW91cyBwbGFjZXMuCgoyMDE1LTAyLTA2IDEwOjM2OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBJZiB1cHN0cmVhbSBoYXMgbm8gbWF4IGxhdGVuY3kgYnV0IHRoZSBzdWJjbGFzcyBoYXMsIHRha2UgdGhlIHN1YmNsYXNzIG1heCBsYXRlbmN5CgoyMDE1LTAyLTA2IDEwOjMzOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggbWluPm1heCBsYXRlbmN5IGVycm9yIGNoZWNrCgkgIFdlIGhhdmUgdG8gaW5jbHVkZSB0aGUgdXBzdHJlYW0gbGF0ZW5jeSwgb3VyIG93biBsYXRlbmN5IGFuZCB0aGUgc3ViY2xhc3MKCSAgbGF0ZW5jeSBpbiB0aGUgY2FsY3VsYXRpb25zLgoJICBGSVhNRTogVGhpcyBpcyBzdGlsbCBub3QgZW50aXJlbHkgY29ycmVjdAoKMjAxNS0wMi0wNiAxMDozMDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgYWRkIHRoZSBsYXRlbmN5IHByb3BlcnR5IHRvIHRoZSBtYXggbGF0ZW5jeQoJICBJdCBoYXMgbm8gbWVhbmluZyBmb3IgdGhlIG1heCBsYXRlbmN5IGFuZCBpcyBvbmx5IHVzZWQgdG8gaW5jcmVhc2UgdGhlIG1pbgoJICBsYXRlbmN5LgoKMjAxNS0wMi0wNiAxMjo1MzoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy92YW8uaDoKCSAgZ2xwcm90by92YW86IG9ubHkgc3VwcG9ydGVkIGluIGNvcmUgZm9yIEVTIDMuMCsKCSAgV2FzIGNhdXNpbmcgaG9yaXpvbnRhbGx5IGZsaXBwZWQgdmlkZW8gZm9yIGZyYW1lIDIgb253YXJkIG9uIGFuZHJvaWQKCjIwMTUtMDItMDUgMTM6MzE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVsYWNlIHBhcnNlZCB3aXRoIGZyYW1lZCBpbiBhYWMgY2FwcwoJICBGb3IgQUFDIGl0IHNob3VsZCBhbHdheXMgYmUgJ2ZyYW1lZCcgYW5kIG5vdCAncGFyc2VkJwoKMjAxNS0wMi0wNSAxMTozOTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBmaXggb3V0cHV0IGNhcHMgdG8gbmVnb3RpYXRlIHdpdGggc29tZSBtdXhlcnMKCSAgQWRkIHBhcnNlZC9mcmFtZWQ9dHJ1ZSB0byBhbGxvdyBuZWdvdGlhdGlvbiB3aXRoIHNvbWUKCSAgbXV4ZXJzIHRoYXQgcmVxdWlyZWQgcGFyc2VkIGlucHV0LiBFbmNvZGVycyBhbHJlYWR5IHByb3ZpZGUKCSAgcGFyc2VkL2ZyYW1lZCBvdXRwdXQgc28gaXQgc2hvdWxkIHNheSBzbyBpbiBjYXBzLgoKMjAxNS0wMi0wNSAxNTo0ODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NvbXBvc2l0b3IuYzoKCSAgdGVzdHM6IGNvbXBvc2l0b3I6IGFkZCB1bml0IHRlc3QgZm9yIHByb3BlciBzZWdtZW50LmJhc2UgaGFuZGxpbmcKCSAgQXMgYWRqdXN0ZWQgYnkgZ3N0X3BhZF9zZXRfb2Zmc2V0KCksIG9yIHdoZW4gZG9pbmcgc2VnbWVudCBzZWVrcwoJICBvciBsb29waW5nIGZvciBleGFtcGxlLgoKMjAxNS0wMi0wNSAxNToyMzowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGF1ZGlvbWl4ZXI6IGFkZCB1bml0IHRlc3QgZm9yIHByb3BlciBzZWdtZW50LmJhc2UgaGFuZGxpbmcKCSAgQXMgYWRqdXN0ZWQgYnkgZ3N0X3BhZF9zZXRfb2Zmc2V0KCksIG9yIHdoZW4gZG9pbmcgc2VnbWVudCBzZWVrcwoJICBvciBsb29waW5nIGZvciBleGFtcGxlLiBTZWUgcHJldmlvdXMgYXVkaW9taXhlciBjb21taXQuCgoyMDE1LTAyLTA1IDE2OjAyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgd2VpcmQgYW5kIHdyb25nIHNlZ21lbnQgaGFuZGxpbmcKCSAgVGhlcmUncyBubyByZWFzb24gd2h5IGF1ZGlvbWl4ZXIgc2hvdWxkIG92ZXJyaWRlIHRoZSBzZWdtZW50CgkgIGJhc2Ugb2YgdXBzdHJlYW0gd2l0aCB3aGF0ZXZlciB2YWx1ZSBpdCBnb3QgZnJvbSBhIFNFRUsgZXZlbnQsCgkgIG9yIGV2ZW4gd29yc2UuLi4gd2l0aCAwIGlmIHRoZXJlIHdhcyBubyBTRUVLIGV2ZW50IHlldC4gVGhpcwoJICBicm9rZSBzeW5jaHJvbml6YXRpb24gaWYgdXBzdHJlYW0gcHJvdmlkZWQgYSBzZWdtZW50IGJhc2Ugb3RoZXIKCSAgdGhhbiAwLCBlLmcuIHdoZW4gdXNpbmcgcGFkIG9mZnNldHMuCgkgIEFsc28gdGhhdCB0aGlzIGNvZGUgZGlkIHRoaW5ncyBjb25kaXRpb25hbCBvbiB0aGUgZWxlbWVudCdzIHN0YXRlCgkgIHNob3VsZCd2ZSBiZWVuIGEgYmlnIHdhcm5pbmcgYWxyZWFkeSB0aGF0IHNvbWV0aGluZyBpcyBqdXN0IHdyb25nLgoJICBJZiB0aGlzIGJyZWFrcyBhbnl0aGluZyBlbHNlIG5vdywgbGV0J3MgZml4IGl0IHByb3Blcmx5IDopCgkgIEFsc28gZG9uJ3QgZG8gZmFuY3kgc2VnbWVudCBwb3NpdGlvbiB0cmlja2VyeSB3aGVuIHJlY2VpdmluZyBhCgkgIHNlZ21lbnQgZXZlbnQuIEl0J3MganVzdCBub3QgY29ycmVjdC4KCjIwMTUtMDItMDUgMTI6MjQ6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzcmluZ2J1ZmZlcjogT25seSBwcmUtcm9sbCBhIHNpbmdsZSBidWZmZXIKCSAgVGhlcmUgaXMgbm8gcmVhc29uIHRvIHByZS1yb2xsIG1vcmUgYnVmZmVycyBoZXJlIGFzIHdlIGhhdmUgb3VyIG93biByaW5nYnVmZmVyCgkgIHdpdGggbW9yZSBzZWdtZW50cyBhcm91bmQgaXQsIGFuZCB3ZSBjYW4gaW1tZWRpYXRlbHkgcHJvdmlkZSBtb3JlIGJ1ZmZlcnMgdG8KCSAgT3BlblNMIEVTIHdoZW4gaXQgcmVxdWVzdHMgdGhhdCBmcm9tIHRoZSBjYWxsYmFjay4KCSAgUHJlLXJvbGxpbmcgYSBzaW5nbGUgYnVmZmVyIGJlZm9yZSBzdGFydGluZyBpcyBuZWNlc3NhcnkgdGhvdWdoLCBhcyBvdGhlcndpc2UKCSAgd2Ugd2lsbCBvbmx5IG91dHB1dCBzaWxlbmNlLgoJICBMb3dlcnMgbGF0ZW5jeSBhIGJpdCwgZGVwZW5kaW5nIG9uIGxhdGVuY3ktdGltZSBhbmQgYnVmZmVyLXRpbWUgc2V0dGluZ3MuCgoyMDE1LTAyLTA1IDEyOjIyOjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IEFsbG9jYXRlIGF0IG1vc3QgNCBpbnRlcm5hbCBidWZmZXJzCgkgIDQgaXMgdGhlICJ0eXBpY2FsIiBudW1iZXIgb2YgYnVmZmVycyBkZWZpbmVkIGJ5IEFuZHJvaWQncyBPcGVuU0wgRVMKCSAgaW1wbGVtZW50YXRpb24sIGFuZCBpdHMgY29kZSBpcyBvcHRpbWl6ZWQgZm9yIHRoaXMuIEFsc28gYmVjYXVzZSB3ZQoJICBoYXZlIG91ciBvd24gcmluZ2J1ZmZlciBhcm91bmQgdGhpcywgd2Ugd2lsbCBhbHdheXMgaGF2ZSBlbm91Z2gKCSAgYnVmZmVyaW5nIG9uIG91ciBzaWRlIGFscmVhZHkuCgkgIEFsbG93cyBmb3IgbW9yZSBlZmZpY2llbnQgcHJvY2Vzc2luZy4KCjIwMTUtMDItMDUgMTI6MjE6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlc3Npbmsvc3JjOiBMb3dlciBkZWZhdWx0IGJ1ZmZlciB0aW1lIHRvIDIwMG1zIGxpa2UgYWxzYXNpbmsKCjIwMTUtMDItMDUgMTY6NDY6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZW5zdXJlIHRoYXQgdGhlIGlucHV0IHVwbG9hZC9jb2xvcmNvbnZlcnQgYXJlIGFsd2F5cyBhdmFpbGFibGUKCjIwMTUtMDItMDUgMTE6MDY6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogbG9nIHRoZSBjb252ZXJ0ZWQgY2FwcwoKMjAxNS0wMi0wNSAxMTowNTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiByZXN0cmljdCBFR0wgYW5kIFVwbG9hZE1ldGEgdG8gUkdCQQoJICBvdGhlciBmb3JtYXRzIGFyZSBoaWdobHkgdW50ZXN0ZWQuCgoyMDE1LTAyLTA1IDExOjA0OjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGRvbid0IGludGVyc2VjdCB3aXRoIHRoZSBpbnB1dCBjYXBzCgkgIHRoYXQgbGltaXRzIG91ciBmb3JtYXRzIHRvIHdoYXRldmVyIGlzIGluIHRoZSBpbnB1dCBjYXBzCgoyMDE1LTAyLTA0IDE0OjEwOjEzICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBmaXggbWVtb3J5IGxlYWsKCSAgSW4gZ3N0X2dsX2ZpbHRlcl9maXhhdGVfY2FwcyAoKSBpdCBjYW4gZ290byBkb25lIHdpdGhvdXQgZnJlZWluZyB0aGUgbWVtb3J5IG9mCgkgIHRoZSB0bXAgR3N0U3RydWN0dXJlLiBUaGlzIG1ha2VzIGl0IGdvIG91dCBvZiBzY29wZSBhbmQgbGVhay4KCSAgQ0lEICMxMjY1NzY1CgoyMDE1LTAyLTA0IDExOjUyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBpbml0aWFsaXplIGNsYXNzIHZhcmlhYmxlcwoJICBTb21lIHZhcmlhYmxlcyBhcmUgbm90IGluaXRpYWxpemVkIGluIHRoZSBjb25zdHJ1Y3Rvci4gSXQgaXMgaGlnaGx5IHVubGlrZWx5CgkgIHRoZXkgYXJlIHVzZWQgYmVmb3JlIGJlaW5nIHNldCwgYnV0IGl0IGlzIHNhZmVyIHRvIGluaXRpYWxpemUgdGhlbS4KCSAgQ0lEICMxMTk3NzA0CgoyMDE1LTAyLTAzIDE4OjEzOjI1IC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkgIGtzdmlkZW9zcmM6IEZpeCBtaXNzaW5nIGJyYWNlIHdhcm5pbmcKCSAgVGhlcmUgaXMgbW9yZSBidXQgaXQncyBmcm9tIGtzLmggR1VJRCBpbml0aWFsaXplciwgd2hpY2ggaXMgc2hpcHBlZAoJICB0aGlzIHdheSB3aXRoIG1pbmd3LgoKMjAxNS0wMi0wMyAxNzo0NDozNCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAga3N2aWRlb3NyYzogRml4IGJ1ZmZlciBoYW5kbGluZwoJICBUaGUgcHNldWRvIGJ1ZmZlciBwb29sIGNvZGUgd2FzIHVzaW5nIGdzdF9idWZmZXJfaXNfd3JpdGFibGUoKQoJICBhbG9uZSB0byB0cnkgYW5kIGZpZ3VyZS1vdXQgaWYgY2FjaGVkIGJ1ZmZlciBjb3VsZCBiZSByZXVzZWQuCgkgIEl0IG5lZWRzIHRvIGNoZWNrIGZvciBtZW1vcnkgd3JpdGFiaWxpdHkgdG9vLiBBbHNvIGNoZWNrIG1hcAoJICByZXN1bHQgYW5kIGZpeCBtYXAgZmxhZ3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyNjQKCjIwMTUtMDItMDMgMTc6MDU6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXZvaWQgbGVha2luZyBmb3JjZSBrZXl1bml0IGV2ZW50IHdoZW4gZ29pbmcgdG8gTlVMTAoJICBEbyBub3Qgc2V0IHRvIE5VTEwgYmVmb3JlIHVucmVmZmluZyB0aGUgZXZlbnQgb3IgaXQgd2lsbCBsZWFrCgoyMDEzLTAzLTE4IDA4OjE1OjAwICswMDAwICBBbnRvbiBHcml0c2F5IDxhbnRvbkBhbmdyaS5ydT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogcGFyc2UgZm9yY2Uga2V5IHVuaXQgZXZlbnRzIHdpdGggdGhlIGNvcnJlY3QgZnVuY3Rpb24KCSAgT3RoZXJ3aXNlIGl0IHdvbid0IGJlIHBhcnNlZCBhbmQgYm9ndXMgdmFsdWVzIHdvdWxkIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYwMzIKCjIwMTUtMDEtMjYgMjA6NDI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IHJlbW92ZSB1cGRhdGUgc2VnbWVudCBsb2dpYwoJICBUaGlzIGlzIG5vdCBuZWVkZWQgaW4gMS54IHNlcmllcyBhbnltb3JlCgoyMDE1LTAyLTAzIDEwOjU5OjE2IC0wMzAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBkYXJrb3NwaGVyZS5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvbid0IG1hcmsgc3RyZWFtcyBhcyBuZWVkaW5nIGEgbmV3IHNlZ21lbnQgb24gZmx1c2gKCSAgVGhlIGZsdXNoIGlzIGNhbGxlZCBvbiBkaXNjb250IGFuZCB3ZSBzaG91bGRuJ3Qgb3V0cHV0IGEgbmV3IHNlZ21lbnQKCSAgZWFjaCB0aW1lIGEgZGlzY29udCBoYXBwZW5zLiBTbyB0aGlzIGNvbW1pdCByZW1vdmUgdGhlIG1hcmsgZm9yIGEgbmV3CgkgIHNlZ21lbnQgd2hlbiBmbHVzaGluZyBzdHJlYW1zIGJ5IHByb3BhZ2F0aW5nIHRoZSAnaGFyZCcgZmxhZyBwYXNzZWQKCSAgb24gdGhlIGZsdXNpbmcgZnJvbSB0aGUgYmFzZSBjbGFzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzM2MwoKMjAxNS0wMi0wMyAxNzozMjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IEFkZCBzb21lIGFzc2VydGlvbnMgaW5zdGVhZCBvZiBqdXN0IGRlcmVmZXJlbmNpbmcgTlVMTAoKMjAxNS0wMi0wMyAxNzoyOToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJICBjb3JldmlkZW90ZXh0dXJlY2FjaGU6IERvbid0IHVuY29uZGl0aW9uYWxseSB1c2UgdGhlIENvcmVNZWRpYSBtZXRhIG9uIGlPUwoJICBXZSBtaWdodCBpbnN0ZWFkIGhhdmUgYSBDb3JlVmlkZW8gbWV0YS4KCjIwMTUtMDItMDMgMTQ6NTU6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIFVuZG8gYWNjaWRlbnRhbCBjb21tb24gbW9kdWxlIHJld2luZAoJICBpbiBjb21taXQgN2Q0NjM1NzYKCjIwMTUtMDItMDMgMTU6Mzg6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBmcmFtZXMgd2hlbiBkcmFpbmluZy9mbHVzaGluZwoKMjAxNS0wMi0wMyAxNTozMDowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgZWdsIGNhcHMgZnJvbSB0aGUgc3JjIHBhZHMKCSAgd2UgZG9uJ3QgYWN0dWFsbHkgc3VwcG9ydCBwcm9kdWNpbmcgRUdMSW1hZ2UgYnVmZmVycyBhbnl3aGVyZS4KCjIwMTUtMDItMDMgMTM6MzI6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHB1dCBHc3RHTFN5bmNNZXRhIG9uIG91dHB1dCBidWZmZXJzCgkgIGFsbG93cyB0aHJlYWQgc2FmZWx5IHVzaW5nIHRoZSBwcm92aWRlZCBvdXRwdXQgYnVmZmVyIGluIGEgc2VwYXJhdGUKCSAgdGhyZWFkCgoyMDE1LTAyLTAzIDAwOjM1OjI2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IG9ubHkgdHJ5IHRoZSBnbG1lbW9yeSB1cGxvYWQgZm9yIHN5c21lbS9nbG1lbW9yeSBjYXBzIGZlYXR1cmVzCgkgIEFsbG93cyBzZWxlY3RpbmcvdGVzdGluZyB0aGUgdXBsb2FkIHBhdGggd2l0aCBleHBsaWNpdCBjYXBzIGZlYXR1cmVzLgoKMjAxNS0wMi0wMyAwMDoyNjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBhZGQgbWlzc2luZyBpbml0aWxpc2F0aW9uIG9mIHRleF90YXJnZXQgd2hlbiBjb3B5aW5nCgkgIGZpeGVzOgoJICBnbGNvbG9yc2NhbGUgISB2aWRlby94LXJhd1wobWV0YTpHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGFcKSAhCgkgIGdsaW1hZ2VzaW5rCgoyMDE1LTAyLTAzIDAwOjE1OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGFsbG93IE5VTEwgYnVmZmVyIGZvciBhY2NlcHQgdmZ1bmMKCjIwMTUtMDItMDMgMDA6MTM6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogcmVtb3ZlIHVuc2VkIGNvbnZlcnQgZmllbGQgaW4gcHJpdmF0ZSBzdHJ1Y3QKCjIwMTUtMDItMDMgMDA6MTE6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2x1cGxvYWQvZG93bmxvYWQvY29udmVydDogcHJvdmlkZSB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbnMKCSAgQWxsb3dzIGZpbmVyIGdyYWluIGRlY2lzaW9ucyBhYm91dCBmb3JtYXRzIGFuZCBmZWF0dXJlcyBhdCBlYWNoCgkgIHN0YWdlIG9mIHRoZSBwaXBlbGluZS4KCSAgQWxzbyBwcm92aWRlIHByb3Bvc2VfYWxsb2NhdGlvbiBmb3IgZ2x1cGxvYWQgYmVzZWQgb24gdGhlIHN1cHBvcnRlZAoJICBtZXRob2RzLgoKMjAxNS0wMi0wMyAxMTowNzo1OCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb21tb246CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnc3RnbHdpbmRvd19jb2NvYTogZml4IHNsb3cgcmVuZGVyIHJhdGUKCSAgSW4gZ3N0X2dsX3dpbmRvd19jb2NvYV9kcmF3IHdlIHVzZWQgdG8ganVzdCBjYWxsIHNldE5lZWRzRGlzcGxheTpZRVMuIFRoYXQgd2FzCgkgIGNyZWF0aW5nIGFuIGltcGxpY2l0IENBIHRyYW5zYWN0aW9uIHdoaWNoIHdhcyBnZXR0aW5nIGNvbW1pdHRlZCBhdCB0aGUgbmV4dAoJICBydW5sb29wIGl0ZXJhdGlvbi4gU2luY2Ugd2UgZG9uJ3Qga25vdyBob3cgb2Z0ZW4gdGhlIG1haW4gcnVubG9vcCBpcyBydW5uaW5nLAoJICBhbmQgd2hlbiB3ZSBydW4gaXQgaW1wbGljaXRseSAoZnJvbSBnc3RfZ2xfd2luZG93X2NvY29hX25zYXBwX2l0ZXJhdGlvbikgd2Ugb25seQoJICBkbyBzbyBldmVyeSAyMDBtcywgdXNlIGFuIGV4cGxpY2l0IENBIHRyYW5zYWN0aW9uIGluc3RlYWQgYW5kIGNvbW1pdCBpdAoJICBpbW1lZGlhdGVseS4gQ0EgdHJhbnNhY3Rpb25zIG5lc3QgYW5kIGRlYm91bmNlIGF1dG9tYXRpY2FsbHkgc28gdGhpcyB3aWxsIG5ldmVyCgkgIHJlc3VsdCBpbiBleHRyYSB3b3JrLgoKMjAxNS0wMi0wMiAyMzo0MDoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJICBnc3RnbGNhb3BlbmdsbGF5ZXI6IHVzZSB0aGUgY29ycmVjdCByZWN0YW5nbGUgdHlwZSBmb3IgaU9TIGFuZCBPUyBYCgoyMDE1LTAyLTAyIDIxOjA3OjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSAgZ2xjb2xvcmNvbnZlcnQ6IHVzZSB0aGUgY29ycmVjdCBjYXBzIGZlYXR1cmUgZm9yIHN1cHBvcnRlZCBjYXBzCgkgIGdsY29sb3Jjb252ZXJ0IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIGNvbnZlcnRpbmcgYmV0d2VlbiBHTE1lbW9yeQoJICB0YXJnZXRzLgoKMjAxNS0wMi0wMiAyMDo1MTozMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jbWV0YTogZG9uJ3QgdXNlIHRoZSBnc3QgZGVidWcgb2JqZWN0IHZhcmlhbnRzCgkgIFdlIGFyZSBub3QgYSBHT2JqZWN0IG9yIGFueSBpbmZlcmFibGUgR3N0TWluaU9iamVjdCBzdXBwb3J0ZWQgYnkKCSAgdGhlIGdzdCBkZWJ1ZyBzeXN0ZW0uICBBbHNvIGZpeGVzIGEgc2VnZmF1bHQuCgoyMDE1LTAxLTMwIDE4OjUxOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiB1cGRhdGUgdW5pdCB0ZXN0IGZvciBnbG1lbW9yeSBhcGkgY2hhbmdlCgoyMDE1LTAxLTMwIDE1OjEzOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIGdsaW1hZ2VzaW5rOiBjbG9iYmVyIHRoZSBhbHBoYSBjaGFubmVsIGJ5IGRlZmF1bHQKCSAgdGhpcyBjYW4gYmUgZGlzYWJsZWQgd2l0aCB0aGUgaWdub3JlLWFscGhhIHByb3BlcnR5CgoyMDE1LTAxLTMwIDEyOjMyOjE3ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgUmV2ZXJ0ICJsaWJnc3RnbDogZ3N0Z2xjYW9wZW5nbGxheWVyOiBzZXQgdGhlIGxheWVyIGFzIG9wYXF1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2ZjE1MmQzODFjYTIxNTk1Y2RjODIzZjMyMzQxYzhmMmZlNzFiOWM3LgoJICBUaGUgbGF5ZXIgc2hvdWxkbid0IGJlIGFsd2F5cyBvcGFxdWUsIGl0IHNob3VsZCBiZSBtYWRlIGEgcHJvcGVydHkuCgoyMDE1LTAxLTMwIDEyOjIyOjI1ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgbGliZ3N0Z2w6IGdzdGdsY2FvcGVuZ2xsYXllcjogc2V0IHRoZSBsYXllciBhcyBvcGFxdWUKCjIwMTUtMDEtMjkgMTY6MzA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEFkZCBGSVhNRSBjb21tZW50IGFib3V0IHBvc3NpYmlsaXR5IG9mIG5vbi1BcHBsZSBZQ2JDcjQyMiByZWN0YW5ndWxhciB0ZXh0dXJlcwoKMjAxNS0wMS0yOSAxNjoyNjoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogT25seSB1c2UgR0xfVEVYVFVSRV9SRUNUQU5HTEUgd2l0aCBPcGVuR0wKCSAgSXQncyBub3QgZGVmaW5lZCBmb3IgR0xFUy4KCjIwMTUtMDEtMzAgMDA6Mjg6MTggKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb3RleHR1cmVjYWNoZS5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiByZXdvcmsgR0wgdGV4dHVyZSBzaGFyaW5nCgkgIFVzZSBZVVYgaW5zdGVhZCBvZiBSR0IgdGV4dHVyZXMsIHRoZW4gY29udmVydCB1c2luZyB0aGUgbmV3IGFwcGxlIHNwZWNpZmljCgkgIHNoYWRlciBpbiBHc3RHTENvbG9yQ29udmVydC4gQWxzbyB1c2UgR0xNZW1vcnkgZGlyZWN0bHkgaW5zdGVhZCBvZiB1c2luZyB0aGUKCSAgR0wgdXBsb2FkIG1ldGEsIGF2b2lkaW5nIGFuIGV4dHJhIHRleHR1cmUgY29weSB3ZSB1c2VkIHRvIGhhdmUgYmVmb3JlLgoKMjAxNS0wMS0yOCAwMDo1Mzo1OSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IENNQmxvY2tCdWZmZXJSZWYgbGVhawoJICBGaXggaHVnZSBsZWFrIHRoYXQgd2VudCB1bm5vdGljZWQgZm9yIHRvbyBsb25nLiBPb3BzLgoKMjAxNS0wMS0yOCAwMDo0ODoyNyArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgbGliZ3N0Z2w6IHJ1biBhIGN1c3RvbSBzaGFkZXIgdG8gY29udmVydCBZVVYgdG8gUkdCIG9uIG1hYyBhbmQgaW9zCgkgIFdoZW4gR0xfQVBQTEVfeWNiY3JfNDIyIGlzIGF2YWlsYWJsZSwgcnVuIGEgY3VzdG9tIHNoYWRlciB0byBjb252ZXJ0CgkgIEdMX1RFWFRVUkVfUkVDVEFOR0xFIHRleHR1cmVzIGZyb20gWVVWIHRvIFJHQi4KCSAgU2VlIGh0dHBzOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvc3BlY3MvQVBQTEUveWNiY3JfNDIyLnR4dAoKMjAxNS0wMS0yOCAwMDo0MzowOSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IGRvbid0IGNhbGwgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyB3aGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZwoJICBXaGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZyB3ZSBkb24ndCBuZWVkIHRvIGNhbGwgQ1ZQaXhlbEJ1ZmZlckxvY2tCYXNlQWRkcmVzcyB0bwoJICBtYXAgdGhlIGJ1ZmZlciBpbiBDUFUuIFRoaXMgY3V0cyBhYm91dCAxMCUgcmVsYXRpdmUgY3B1IHRpbWUgZnJvbSBhIHZ0ZGVjICEKCSAgZ2xpbWFnZXNpbmsgcGlwZWxpbmUuCgoyMDE1LTAxLTI4IDAwOjEzOjQ2ICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2w6IGluaXRpYWwgc3VwcG9ydCBmb3IgdGV4dHVyZSB0YXJnZXRzIG90aGVyIHRoYW4gR0xfVEVYVFVSRV8yRAoJICBNYWtlIEdzdEdMTWVtb3J5IGhvbGQgdGhlIHRleHR1cmUgdGFyZ2V0ICh0ZXhfdGFyZ2V0KSB0aGUgdGV4dHVyZSBpdCByZXByZXNlbnRzCgkgICh0ZXhfaWQpIGlzIGJvdW5kIHRvLiBNb2RpZnkgZ3N0X2dsX21lbW9yeV93cmFwcGVkX3RleHR1cmUgYW5kCgkgIGdzdF9nbF9kb3dubG9hZF9wZXJmb3JtX3dpdGhfZGF0YSB0byB0YWtlIHRoZSB0ZXh0dXJlIHRhcmdldCBhcyBhbiBhcmd1bWVudC4KCSAgVGhpcyBjaGFuZ2UgaXMgbmVlZGVkIHRvIHN1cHBvcnQgd3JhcHBpbmcgdGV4dHVyZXMgY3JlYXRlZCBvdXRzaWRlIGxpYmdzdGdsLAoJICB3aGljaCBtaWdodCBiZSBib3VuZCB0byBhIHRhcmdldCBvdGhlciB0aGFuIEdMX1RFWFRVUkVfMkQuIEZvciBleGFtcGxlIG9uIE9TWAoJICB0ZXh0dXJlcyBjb21pbmcgZnJvbSBWaWRlb1Rvb2xib3ggaGF2ZSB0YXJnZXQgR0xfVEVYVFVSRV9SRUNUQU5HTEUuCgkgIFdpdGggdGhpcyBjaGFuZ2Ugd2Ugc3RpbGwga2VlcCAoYW5kIHNvbWV0aW1lcyBpbXBseSkgR0xfVEVYVFVSRV8yRCBhcyB0aGUKCSAgdGFyZ2V0IG9mIHRleHR1cmVzIGNyZWF0ZWQgd2l0aCBsaWJnc3RnbC4KCSAgQVBJOiBtb2RpZnkgR3N0R0xNZW1vcnkKCSAgQVBJOiBtb2RpZnkgZ3N0X2dsX21lbW9yeV93cmFwcGVkX3RleHR1cmUKCSAgQVBJOiBnc3RfZ2xfZG93bmxvYWRfcGVyZm9ybV93aXRoX2RhdGEKCjIwMTUtMDEtMjIgMTM6MTg6MjMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdzdGdsY29sb3Jjb252ZXJ0OiBtaWNybyBvcHRpbWl6YXRpb24KCSAgRG9uJ3QgY2FsbCBnbENsZWFyICYmIGdsQ2xlYXJDb2xvciBhdCBlYWNoIGRyYXcgc2luY2Ugd2UncmUgZ29pbmcgdG8gZHJhdyB0aGUKCSAgd2hvbGUgdmlld3BvcnQgYW55d2F5LiBHZXRzIHJpZCBvZiBhIGdsRmx1c2ggdHJpZ2dlcmVkIGJ5IGdsQ2xlYXIgb24gT1NYLgoKMjAxNS0wMS0yMiAxMzoxNzoxMSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogY29yZXZpZGVvYnVmZmVyOiBtYWtlIG1hcHBpbmcgdGhlIENWUGl4ZWxCdWZmZXIgaW4gQ1BVIG9wdGlvbmFsCgkgIE1hcHBpbmcgaXMgbm90IG5lY2Vzc2FyeSBhbmQgaW1wYWN0cyBwZXJmb3JtYW5jZSB3aGVuIGRvaW5nIHRleHR1cmUgc2hhcmluZyB3aXRoCgkgIGRvd25zdHJlYW0KCjIwMTUtMDEtMjIgMTM6MTE6NDYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdzdGdsY29sb3Jjb252ZXJ0OiByZWxheCBjYXBzIGZlYXR1cmVzIGNoZWNrCgkgIFJlcXVpcmUgY2FwcyB0byBoYXZlIHRoZSBHU1RfQ0FQU19GRUFUVVJFX01FTU9SWV9HTF9NRU1PUlkgZmVhdHVyZSBidXQgYWxsb3cKCSAgdGhlbSB0byBoYXZlIG1vcmUgZmVhdHVyZXMuCgoyMDE1LTAxLTI4IDE2OjQzOjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzZW5jOiBjaGFuZ2UgYXVkaW8gcHJvcGVydHkgdG8gYXVkaW8tdHlwZQoJICBUaGlzIGlzIG5vdyBhbiBlbnVtIHdpdGggdmFsdWVzIGdlbmVyaWMgKGRlZmF1bHQpIGFuZCB2b2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDg5MQoKMjAxNS0wMS0yOSAyMzo0NToxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIGdsL3dpbjMyOiBmaXh1cCBjb21waWxhdGlvbgoKMjAxNS0wMS0yOSAxMTo1NDozNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBkb3VibGUtc2V0dGluZyBvZiByZW5kZXIgZnVuY3Rpb24KCSAgTm8gbmVlZCB0byBzZXQgdGhlIGF1ZGlvdmlzdWFsaXplci0+cmVuZGVyIGZ1bmN0aW9uIHR3aWNlLiBPbmNlIGlzIGVub3VnaC4KCjIwMTUtMDEtMjkgMjI6MjU6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2x3aW5kb3c6IG1ha2Ugc2hvd2luZyBhIHdpbmRvdyBleHBsaWNpdAoJICBBbHNvIGZpeGVzIHRoZSBjZ2wgY29udGV4dCBhbHdheXMgZGlzcGxheWluZyBhIHdpbmRvdyB0byByZW5kZXIgdG8gZm9yCgkgIGV2ZXJ5IEdzdEdMQ29udGV4dENvY29hIGNyZWF0ZWQKCjIwMTUtMDEtMjYgMTc6MDY6MjkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ2xlYW51cCBsb2NraW5nIGFyb3VuZCBBZ2dyZWdhdG9yUGFkIGZsdXNoIHJlbGF0ZWQgZmllbGRzCgkgIEFuZCBkb2N1bWVudCB0aGUgbG9ja2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTI2IDEzOjExOjA1ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGtlZXAgY2hhaW4gZnVuY3Rpb25zIGFzIGR1bWIgYXMgcG9zc2libGUuCgkgICsgQSBwYWQgY2hhaW4gZnVuY3Rpb24gaGFzIG5vIGJ1c2luZXNzIGNoZWNraW5nIG90aGVyIHBhZHMsCgkgIHRoYXQncyB3aGF0IHRoZSBhZ2dyZWdhdGUgdGhyZWFkIGlzIGZvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yNiAxMTozMjo0NyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1vcmUgZml4ZXMgYXJvdW5kIGxvY2tpbmcgd2hlbiBhY2Nlc3NpbmcgcHJvdGVjdGVkIHByaXZhdGUgZmllbGRzCgkgIEluIHNvbWUgbW9yZSBwbGFjZXMgd2Ugd2VyZSBhY2Nlc3NpbmcgR3N0QWdncmVnYXRvci0+c2VnbWVudAoJICBhbmQgR3N0QWdncmVnYXRvci0+c2VxbnVtIHdpdGhvdXQgaG9sZGluZyB0aGUgR1NUX09CSkVDVF9MT0NLCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6Mjk6MDggKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IE1ha2UgdGhlIFBBRF9MT0NLIHByaXZhdGUKCSAgSW5zdGVhZCBvZiB1c2luZyB0aGUgR1NUX09CSkVDVF9MT0NLIHdlIHNob3VsZCBoYXZlCgkgIGEgZGVkaWNhdGVkIG11dGV4IGZvciB0aGUgcGFkIGFzIGl0IGlzIGFsc28gYXNzb2NpYXRlZAoJICB3aXRoIHRoZSBtdXRleCBvbiB0aGUgRVZFTlRfTVVURVggb24gd2hpY2ggd2Ugd2FpdAoJICBpbiB0aGUgX2NoYWluIGZ1bmN0aW9uIG9mIHRoZSBwYWQuCgkgIFRoZSBHc3RBZ2dyZWdhdG9yUGFkLnNlZ21lbnQgaXMgc3RpbGwgcHJvdGVjdGVkIHdpdGggdGhlCgkgIEdTVF9PQkpFQ1RfTE9DSy4KCSAgUmVtb3ZlIHRoZSBnc3RfYWdncmVnYXRvcl9wYWRfcGVha191bmxvY2tlZCBtZXRob2QgYXMgaXQgZG9lcyBub3QgbWFrZQoJICBzZW5zZSBhbnltb3JlIHdpdGggYSBwcml2YXRlIGxvY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjYgMTE6MjU6NTQgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEhpZGUgR3N0QWdncmVnYXRvclBhZCBidWZmZXIgYW5kIEVPUyBmaWxlZHMKCSAgQW5kIGFkZCBhIGdldHRlciBmb3IgdGhlIEVPUy4KCSAgVGhlIHVzZXIgc2hvdWxkIGFsd2F5cyB1c2UgdGhlIHZhcmlvdXMgZ2V0dGVycyB0byBhY2Nlc3MKCSAgdGhvc2UgZmllbGRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTk6MDk6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2UgZmx1c2ggc3RhcnQvc3RvcCB0ZXN0IG5vbi1yYWN5CgkgIFRoZSBmbHVzaCBzdG9wIGNvdWxkIGhhdmUgaGFwcGVuZWQgYmV0d2VlbiB0aGUgc291cmNlIHRyeWluZwoJICB0byBwdXNoIHRoZSBzZWdtZW50IGV2ZW50IGFuZCB0aGUgYnVmZmVyLCB0aGlzIHdvdWxkIGNhdXNlIGEgd2FybmluZy4KCSAgUHJldmVudCB0aGF0IGJ5IHRha2luZyB0aGUgc291cmNlJ3Mgc3RyZWFtIGxvY2sgd2hpbGUgZmx1c2hpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjIgMTc6NDE6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlcGxhY2UgcmFjeSB0aW1lb3V0IGJhc2VkIHRlc3RlZCB3aXRoIGRyYWluIHF1ZXJ5CgkgIFVzaW5nIHRoZSBkcmFpbiBxdWVyeSwgd2UgY2FuIGJlIGNlcnRhaW4gdGhhdCB0aGUgYnVmZmVyIGhhcyBkb25lIGdvaW5nCgkgIHRocm91Z2ggdGhlIGFnZ3JlZ2F0b3IgYnkgdGFraW5nIHRoZSBzdHJlYW0gbG9ja3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2ODQKCjIwMTUtMDEtMjEgMTg6NDE6NDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgb2YgR3N0QWdncmVnYXRvclByaXZhdGUgbWVtYmVycwoJICBNb3N0IG9mIHRoZW0gYXJlIHByb3RlY3RlZCBieSB0aGUgb2JqZWN0IGxvY2ssIHNwZWNpZnkKCSAgd2hpY2ggb25lcyB1c2UgYSBkaWZmZXJlbnQgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0NzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogRG9jdW1lbnQgaG93IHRoZSBzZWdtZW50IGlzIHByb3RlY3RlZAoJICBEb2N1bWVudCB0aGF0IGl0IGNhbiBvbmx5IGJlIGFjY2Vzc2VkIHdpdGggdGhlIG9iamVjdCBsb2NrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjQ0OjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IGFsbCBsYXRlbmN5IHJlbGF0ZWQgbWVtYmVycyB3aXRoIHRoZSBvYmplY3QgbG9jawoJICBUaGUgbG9ja2luZyB3YXMgbm90IGNvbnNpc3RlbnQsIG5vdyBjb25zaXN0ZW50bHkgdXNlIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTo0MzoxMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IERvY3VtZW50IGxvY2tpbmcgZm9yIGdzdF9hZ2dyZWdhdG9yX2dldF9sYXRlbmN5X3VubG9ja2VkKCkKCSAgUmVuYW1lZCBpdCB0byBfdW5sb2NrZWQoKSB0byBtYWtlIGl0IGNsZWFyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjM1OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IHRoZSBzcmNwYWQgY2FwcyBuZWdvdGlhdGlvbiB3aXRoIHRoZSBzdHJlYW0gbG9jawoJICBJbnN0ZWFkIG9mIGFkZGluZyBhbm90aGVyIGxvY2ssIHVzZSB0aGUgc3JjcGFkIHN0cmVhbSBsb2NrLCB3aGljaCBpcyBhbHJlYWR5CgkgIHRha2VuIGFueXdheSB0byBwdXNoIG91dCB0aGUgbmV3IGNhcHMgaWYgbmVlZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE5OjMzOjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcm90ZWN0IHRoZSB0YWdzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoZSB0YWdzIHJlbGF0ZWQgdmFyaWFibGVzIHdlcmUgc29tZXRpbWVzIHByb3RlY3RlZCwgc29tZXRpbWVzIG5vdCBhbmQKCSAgc29tZXRpbWVzIGF0b21pYy4gUHV0IHRoZW0gYWxsIHVuZGVyIHRoZSBvYmplY3QgbG9jay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxOTozMjozNCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQXZvaWQgcmFjZSBpbiBjYXBzIG5lZ290aWF0aW9uCgkgIFdpdGggdGhlIGN1cnJlbnQgYXVkaW9taXhlciwgdGhlIGlucHV0IGNhcHMgbmVlZCB0byBiZSB0aGUgc2FtZSwKCSAgb3RoZXJ3aXNlIHRoZXJlIGlzIGFuIHVuYXZvaWRhYmxlIHJhY2UgaW4gdGhlIGNhcHMgbmVnb3RpYXRpb24uIFNvCgkgIGVuZm9yY2UgdGhhdCB1c2luZyBjYXBzZmlsdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjUzOjIwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBDb25zaXN0ZW5seSBsb2NrIHRoZSBmbG93X3JldHVybiBzdGF0ZQoJICBVc2UgdGhlIG9iamVjdCdzIGxvY2sgdG8gcHJvdGVjdCBpdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0Nzo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQ2xlYXIgR3N0QXVkaW9JbmZvIHRoZSB0aGUgY2FwcwoJICBXaGVuIGNsZWFyaW5nIHRoZSBjYXBzLCBhbHNvIGNsZWFyIHRoZSBtYXRjaGluZyBHc3RBdWRpb0luZm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yMSAxODo0NTozNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQ29uc2lzdGVudGx5IGxvY2sgc29tZSBtZW1iZXJzCgkgIFNvbWUgbWVtYmVycyBzb21ldGltZXMgdXNlZCBhdG9taWMgYWNjZXNzLCBzb21ldGltZXMgd2hlcmUgbm90IGxvY2tlZCBhdAoJICBhbGwuIEluc3RlYWQgY29uc2lzdGVudGx5IHVzZSBhIG11dGV4IHRvIHByb3RlY3QgdGhlbSwgYWxzbyBkb2N1bWVudAoJICB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTIxIDE4OjM5OjI0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb24ndCByZXNldCBjYXBzIG9uIGZsdXNoCgkgIEEgZmx1c2ggZXZlbnQgZG9lc24ndCBpbnZhbGlkYXRlIHRoZSBwcmV2aW91cyBjYXBzIGV2ZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjQ1OjA2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IExvY2sgYWNjZXNzIHRvIG1lbWJlcnMgb2YgR3N0QWdncmVnYXRvclBhZAoJICBUYWtlIHRoZSBwYWQncyBvYmplY3QgbG9jayBiZWZvcmUgYWNjZXNzaW5nIG1lbWJlcnMgb2YgdGhlCgkgIEdzdEFnZ3JlZ2F0b3JQYWQgc3RydWN0dXJlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyNjg0CgoyMDE1LTAxLTE0IDE0OjM4OjA5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IFByb3RlY3QgZXhwb3J0ZWQgcGFkIG1lbWJlcnMgd2l0aCB0aGUgcGFkJ3Mgb2JqZWN0IGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0xNCAxNDozNToxNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlcGxhY2UgZXZlbnQgbG9jayB3aXRoIHBhZCdzIG9iamVjdCBsb2NrCgkgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIGxvY2tzIHNpbXBsaWZ5IGNvZGUsIHdoYXQgaXMgcHJvdGVjdHMKCSAgaXMgZXhwb3NlZCwgYnV0IHRoZSBsb2NrIHdhcyBub3QuCgkgIEFsc28gbWVhbnMgYWRkaW5nIGFuIF91bmxvY2tlZCB2ZXJzaW9uIG9mIGdzdF9hZ2dyZWdhdG9yX3BhZF9zdGVhbF9idWZmZXIoKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0wOSAyMjowMTowMCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUHJvdGVjdCBkYXRhIHdpdGggdGhlIHNhbWUgbXV0ZXggYXMgR0NvbmQKCSAgV2hlbmV2ZXIgYSBHQ29uZCBpcyB1c2VkLCB0aGUgc2FmZXN0IHBhcmFkaWdtIGlzIHRvIHByb3RlY3QKCSAgdGhlIHZhcmlhYmxlIHdoaWNoIGNoYW5nZSBpcyBzaWduYWxsZWQgYnkgdGhlIEdDb25kIHdpdGggdGhlIHNhbWUKCSAgbXV0ZXggdGhhdCB0aGUgR0NvbmQgZGVwZW5kcyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjY4NAoKMjAxNS0wMS0yOSAwMjoyODozOCArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IElmIGdldHRpbmcgYSB0aW1lb3V0IGJlZm9yZSBoYXZpbmcgY2FwcywganVzdCBhZHZhbmNlIG91ciBwb3NpdGlvbgoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhpcyBpcyBhIGxpdmUgcGlwZWxpbmUgYW5kIG5vIHNvdXJjZSBwcm9kdWNlZCBhbnkgYnVmZmVyCgkgIGFuZCBzZW50IG5vIGNhcHMgdW50aWwgYW4gb3V0cHV0IGJ1ZmZlciBzaG91bGQndmUgYmVlbiBwcm9kdWNlZCBhY2NvcmRpbmcgdG8gdGhlCgkgIGxhdGVuY3kuCgkgIFRoaXMgZml4IGlzIHNpbWlsYXIgaW4gc3Bpcml0IHRvIGNvbW1pdCBiZTcwMzRkMSBieSBTZWJhc3RpYW4gZm9yIGF1ZGlvbWl4ZXIuCgoyMDE1LTAxLTI5IDE3OjMxOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NhbGF5ZXI6IGFkZCByZXNpemUgY2FsbGJhY2sgYmFzZWQgb24gdGhlIGJvdW5kcyByZWN0YW5nbGUKCjIwMTUtMDEtMjkgMTU6MjY6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSAgZ2wvY2FvcGVuZ2xsYXllcjogZHJhdyBhc3luY2hyb25vdXNseQoJICBUaGlzIGVzc2VudGlhbGx5IG1ha2VzIHRoZSBDQU9wZW5HTExheWVyIGRyYXcgZXZlcnkgcmVmcmVzaCBjeWNsZS4KCjIwMTUtMDEtMjggMTc6NTk6NDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogZG9uJ3Qgc2VnZmF1bHQgaWYgd2UgaGF2ZSBhIE5VTEwgZHJhdy9yZXNpemUvY2xvc2UgY2FsbGJhY2sKCjIwMTUtMDEtMjggMTc6MTY6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgY2dsL2NhbGF5ZXI6IHVzZSBhIGNhbGxiYWNrIGluc3RlYWQgb2YgaGFyZGNvZGluZyB0aGUgZHJhdyBmdW5jdGlvbmFsaXR5CgoyMDE1LTAxLTI4IDE3OjEzOjA1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkgIGNnbDogaW5zdGFsbCB0aGUgZ2wgY29udGV4dCBhbmQgZ2wgbGF5ZXIgaGVhZGVycwoKMjAxNS0wMS0yOCAxNzowNToxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsX2NvY29hX3ByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY2FvcGVuZ2xsYXllci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkgIGNnbDogYWRkIGEgaGVhZGVyIGZvciB0aGUgQ0FPcGVuR0xMYXllciBzdXBwb3J0CgoyMDE1LTAxLTI4IDE3OjAyOjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFsd2F5cyBsb2NrIHRoZSBtdXRleCBiZWZvcmUgc3RhcnRpbmcgdGhlIHN0cmVhbXMKCjIwMTUtMDEtMjggMTY6NTg6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogRml4IGRlYWRsb2NrCgoyMDE1LTAxLTI4IDE1OjQ4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c2luazogT25seSBzdGFydCBzY2hlZHVsZWQgcGxheWJhY2sgb25jZSBib3RoIHNvdXJjZXMgYXJlIHJlYWR5IGFuZCB3ZSBhcmUgaW4gUExBWUlORwoJICBPdGhlcndpc2Ugd2UgbWlnaHQgc3RhcnQgdGhlIHNjaGVkdWxlZCBwbGF5YmFjayBiZWZvcmUgdGhlIGF1ZGlvIG9yIHZpZGVvIHN0cmVhbXMgYXJlCgkgIGFjdHVhbGx5IGVuYWJsZWQsIGFuZCB0aGVuIGVycm9yIG91dCBsYXRlciBiZWNhdXNlIHRoZXkgYXJlIGVuYWJsZWQgdG8gbGF0ZS4KCSAgV2UgZW5hYmxlIHRoZSBzdHJlYW1zIHdoZW4gZ2V0dGluZyB0aGUgY2Fwcywgd2hpY2ggbWlnaHQgYmUgKmFmdGVyKiB3ZSB3ZXJlCgkgIHNldCB0byBQTEFZSU5HIHN0YXRlLgoKMjAxNS0wMS0yOCAxNToyNjoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt7YXVkaW8sdmlkZW99c3JjOiBPbmx5IHN0YXJ0IHRoZSBzdHJlYW1zIG9uY2UgYm90aCBzb3VyY2VzIGFyZSByZWFkeSBhbmQgd2UgYXJlIGluIFBMQVlJTkcKCSAgT3RoZXJ3aXNlIHdlIG1pZ2h0IHN0YXJ0IHRoZSBzdHJlYW1zIGJlZm9yZSB0aGUgYXVkaW8gb3IgdmlkZW8gc3RyZWFtcyBhcmUKCSAgYWN0dWFsbHkgZW5hYmxlZCwgYW5kIHRoZW4gZXJyb3Igb3V0IGxhdGVyIGJlY2F1c2UgdGhleSBhcmUgZW5hYmxlZCB0byBsYXRlLgoJICBXZSBlbmFibGUgdGhlIHN0cmVhbXMgd2hlbiBnZXR0aW5nIHRoZSBjYXBzLCB3aGljaCBtaWdodCBiZSAqYWZ0ZXIqIHdlIHdlcmUKCSAgc2V0IHRvIFBMQVlJTkcgc3RhdGUuCgoyMDE1LTAxLTI4IDE0OjIxOjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGluazogTWFrZSBzdXJlIG91ciBjbG9jayBuZXZlciByZXR1cm5zIE5PTkUsIGFsd2F5cyBhZHZhbmNlcyBhbmQgZG9lcyBub3QganVtcCB3aGVuIGdvaW5nIGZyb20gUEFVU0VEIHRvIFBMQVlJTkcKCSAgSXQgYmFzaWNhbGx5IGJlaGF2ZXMgdGhlIHNhbWUgYXMgdGhlIGF1ZGlvIGNsb2Nrcy4KCjIwMTUtMDEtMjggMTI6MjA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGlua3ZpZGVvc2luazogSGFuZGxlIHRoZSBjbG9jayByZXR1cm5pbmcgR1NUX0NMT0NLX1RJTUVfTk9ORSBwcm9wZXJseQoKMjAxNS0wMS0yOCAxMTo0MToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbmt2aWRlb3tzaW5rLHNyY306IE1ha2UgZWxlbWVudHMgbW9yZSBzaW1pbGFyIHRvIHRoZSBhdWRpbyBlbGVtZW50cyBieSBlbmFibGluZyB0aGUgdmlkZW8gaW5wdXQvb3V0cHV0IG9ubHkgd2hlbiBnZXR0aW5nIHRoZSBhY3R1YWwgY2FwcwoJICBUaGlzIHdpbGwgYWxzbyBtYWtlIGl0IGVhc2llciBsYXRlciB0byBzdXBwb3J0IGNhcHMgY2hhbmdlcyBhbmQgc3VwcG9ydAoJICBzZWxlY3RpbmcgdGhlIG1vZGUgYmFzZWQgb24gdGhlIGNhcHMgaWYgdGhhdCBzaG91bGQgZXZlciBiZSBpbXBsZW1lbnRlZC4KCjIwMTUtMDEtMjYgMTk6MDI6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IFByb3Blcmx5IHJlcG9ydCBjYXBzIGlmIG1vZGUhPWF1dG8gYW5kIGhhbmRsZSBjYXBzIGNoYW5nZXMgcHJvcGVybHkgZm9yIG1vZGU9YXV0bwoKMjAxNS0wMS0yNiAxODoyNzoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogRG9uJ3QgcmVsZWFzZSBpbnB1dCBkZXZpY2UgdHdpY2Ugb24gZXJyb3JzIGluIHNldF9jYXBzKCkKCjIwMTUtMDEtMjcgMTE6MjU6NTMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkgIGdsL2Rpc3BtYW54OiBmaXggYnVpbGQKCSAgQ29tbWl0IGFiNDhiYjZmMGY1NTA5MTY2MmU1OTVhMDAxZTE3ODE1NGNlNjBjZGIgY2hhbmdlZCB0aGUgQVBJIG9mCgkgIEdzdEdMV2luZG93LgoKMjAxNS0wMS0yNyAxNDo1Mjo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBtb3JlIGNvbXBhdGliaWxpdHkgZGVmaW5lcyBmb3IgZ2xlczIgc3lzdGVtcwoKMjAxNS0wMS0yNyAxMjoxNTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogYWRkIHNvbWUgdGhyZWFkIHNhZmV0eSBmb3IgZ2wgb3BlcmF0aW9ucwoKMjAxNS0wMS0yNyAxMTo1Mzo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogdXNlIHBibydzIGZvciBkb3dubG9hZAoJICBJbiBvcmRlciB0byB1c2UgcGJvJ3MgZWZmaWNpZW50bHksIHRoZSB0cmFuc2ZlciBvcGVyYXRpb24gaGFzIHRvCgkgIGJlIHNlcGFyYXRlZCBmcm9tIHRoZSB1c2Ugb2YgdGhlIGRvd25sb2FkZWQgZGF0YSB3aGljaCByZXF1aXJlcyBzb21lCgkgIHJlYXJjaGl0ZWN0dXJpbmcgYXJvdW5kIGdsY29sb3Jjb252ZXJ0L2dsZG93bmxvYWQgYW5kIGVsZW1lbnRzCgoyMDE1LTAxLTI3IDExOjA0OjA3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2Jhc2UuaDoKCSAgZ2xwcm90b3R5cGVzOiBhZGQgc29tZSAodW4pbWFwIGJ1ZmZlciB2YXJpYW50cyBmb3IgR0wvR0xFUwoKMjAxNS0wMS0yNiAxNzo1MToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHVzZSBhdWRpb18lMDJ1IGFuZCB2aWRlb18lMDJ1IG5hbWVzIGZvciBwYWRzCgkgIEluc3RlYWQgb2YgdXNpbmcgdGhlIGRlZmF1bHQgZ2hvc3RwYWQldSBuYW1pbmcuIFRoZSBhdWRpb18vdmlkZW9fCgkgIG5hbWVzIGFyZSBtb3JlIGNvbW1vbiBpbiBkZW11eGVycwoKMjAxNS0wMS0yNiAxNTozMzoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSAgZGVja2xpbmthdWRpb3NyYzogUmVsZWFzZSB0aGUgYXVkaW8gaW5wdXQgb24gZXJyb3JzLCBub3QgdGhlIHZpZGVvIGlucHV0CgoyMDE1LTAxLTI2IDEzOjQ2OjQ0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogcmVtb3ZlIHVubmVjZXNzYXJ5IHZhcmlhYmxlCgkgIFRoZSBicHMgdmFyaWFibGUgaXMgZGVjbGFyZWQgd2l0aCB2YWx1ZSBhaWZmLT5icHMsIHJlYWQgb25jZSBhbmQgbmV2ZXIgd3JpdHRlbi4KCSAgYWlmZi0+YnBzIGNhbiBiZSB1c2VkIGRpcmVjdGx5IGluc3RlYWQuCgoyMDE1LTAxLTI2IDEyOjQ5OjQ1ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHdoaWNoIHN0b3AgdmFyaWFibGUgaXMgdXNlZCBpbiBhc3NpZ25tZW50CgkgIEFzc2lnbm1lbnQgaXMgZG9uZSB0byB2YXJpYWJsZSBzZWdtZW50LnN0b3Agd2hlbiB0aGUgaW50ZW50aW9uIHdhcyB0byBhc3NpZ24gdG8KCSAgbG9jYWwgdmFyaWFibGUgc3RvcC4gSW5zdGVhZCBvZiBvdmVyd3JpdGluZyBpdCwgdGhlIHZhbHVlIGlzIG5vdyBjbGFtcGVkIGFuZAoJICBzZWdtZW50LnN0b3AgaXMgc2V0IHRvIGl0IHNvb24gYWZ0ZXIuCgkgIENJRCAjMTI2NTc3MgoKMjAxNS0wMS0yNiAwOToyMjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBmaXggY3Jhc2ggd2hlbiByZWNlaXZpbmcgYnVmZmVyIHdpdGhvdXQgdGltZXN0YW1wcwoJICBVbnNldCBvdXQgYnVmZmVyIGluIGNsaXAgZnVuY3Rpb24gd2hlbiB3ZSB1bnJlZiB0aGUgYnVmZmVyIHRvIGJlCgkgIGNsaXBwZWQsIG90aGVyd2lzZSBhZ2dyZWdhdG9yIHdpbGwgY29udGludWUgdG8gdXNlIHRoZSBhbHJlYWR5LQoJICBmcmVlZCBidWZmZXIuIEZpeGVzIGNyYXNoIHdoZW4gYnVmZmVycyB3aXRob3V0IHRpbWVzdGFtcHMgYXJlCgkgIGJlaW5nIGZlZCB0byBhZ2dyZWdhdG9yLiBQYXJ0bHkgYmVjYXVzZSBhZ2dyZWdhdG9yIGlnbm9yZXMgdGhlCgkgIGVycm9yIGZsb3cgcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQzMzM0CgoyMDE1LTAxLTE4IDE4OjA1OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogd2luMzIvTUFOSUZFU1Q6CgkqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcDoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBSZW1vdmUgdW5wb3J0ZWQgZGlyZWN0ZHJhdyBwbHVnaW4KCSAgVGhpcyBBUEkgaGFzIGJlZW4gZGVwcmVjYXRlZCBmb3IgZXRlcm5pdGllcyBhbmQgbWljcm9zb2Z0CgkgIHN0b3BwZWQgc2hpcHBpbmcgdGhlIGhlYWRlcnMgaW4gMjAxMCBhY2NvZGluZyB0byB3aWtpcGVkaWEsCgkgIHNvIGxldCdzIGp1c3QgcmVtb3ZlIGl0IGFuZCBmb2N1cyBvbiBicmluZ2luZyB0aGUgcGx1Z2lucwoJICBiYXNlZCBvbiB0aGUgbmV3ZXIgQVBJcyB1cCB0byBzbnVmZi4KCjIwMTQtMDMtMjYgMTc6NDM6MzMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkgIGFpZmZtdXg6IHdyaXRlIHBhZGRpbmcgYnl0ZSBhdCBlbmQgb2YgU1NORCBjaHVuayBpZiBuZWVkZWQKCSAgQUlGRiBjaHVua3MgYXJlIHN1cHBvc2VkIHRvIGJlIGV2ZW4gYWxpZ25lZC4KCSAgQWxpZ25pbmcgdGhlIFNTTkQgY2h1bmsgd2lsbCBhbGxvdyB0aGUgYWlmZiBtdXhlciB0byBwcm9wZXJseSB3cml0ZQoJICBjaHVua3MgKGxpa2UgdGhlIElEMyBvbmUpIGF0IHRoZSBlbmQgb2YgdGhlIGZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDIKCjIwMTUtMDEtMjMgMTI6NDQ6MjIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRnJlZSBsZWFrZWQgR3N0U3RydWN0dXJlCgkgIENvdmVyaXR5IENJRCA6IDEyNTY1NjUKCjIwMTUtMDEtMjMgMTI6NDE6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogRW5zdXJlIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIGJlZm9yZSB1c2FnZQoJICBDb3Zlcml0eSBDSUQ6IDEyNTY1NjkKCjIwMTUtMDEtMjMgMTI6MjY6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5jOgoJICBjb2RlY3BhcnNlcnM6IEluZGVudCBmaWxlCgkgIFNvbWVvbmUncyBiZWVuIGNvbW1pdGluZyB3aXRob3V0IHVzaW5nIGdzdC1pbmRlbnQgOikKCjIwMTUtMDEtMjMgMTI6MjQ6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBBZGQgUkVBRF9VRV9NQVggbWFjcm8KCSAgUkVBRF9VRV9BTExPV0VEIHdhcyBhbG1vc3QgZXhjbHVzaXZlbHkgdXNlZCB3aXRoIG1pbiA9PSAwLCB3aGljaCBkb2Vzbid0CgkgIG1ha2UgbXVjaCBwb2ludCBmb3IgdW5zaWduZWQgaW50ZWdlcnMuCgkgIEFkZCBhIFJFQURfVUVfTUFYIHZhcmlhbnQgYW5kIHVzZSB0aGF0IGluc3RlYWQuIEFsc28gcmVwbGFjZWQgdHdvIHVzYWdlcwoJICBvZiBDSEVDS19BTExPV0VEIChhLDAsc29tZXRoaW5nKSBieSBDSEVDS19BTExPV0VEX01BWCAoYSwgc29tZXRoaW5nKQoKMjAxNS0wMS0yMyAxMjoyODo0MiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggR0FQIGZsYWcgc2V0dGluZyBvbiBub24tYmxhY2sgZnJhbWVzCgkgIFRoZSBwcmV2aW91cyBjb21taXQgZml4ZWQgc2V0dGluZyB0aGUgR0FQIGZsYWcgb24gYmxhY2sgZnJhbWVzLCBidXQKCSAgaW5jb3JyZWN0bHkgZHJvcHBlZCB0aGUgZmxhZyBvbiByZXBlYXRlZCBwdXNoZXMgb2YgdGhlIHNhbWUgdmlkZW8KCSAgYnVmZmVyLgoKMjAxNS0wMS0yMyAxNzoyNzo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGdsd2luZG93IGFwaSBjaGFuZ2UKCjIwMTUtMDEtMjMgMTY6NTI6MjUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvd2luZG93L2VhZ2w6IGZpeCBhIGNvdXBsZSBvZiB0eXBvcwoKMjAxNS0wMS0yMyAxNjozOTo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBjbGVhbnVwL3Jlb3JnYW5pemUgZnVuY3Rpb25zL21lbWJlcnMgaW50byBsb2dpY2FsIGdyb3VwcwoKMjAxNS0wMS0yMyAxNTowMjo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBmb3IgZ3N0Z2wgY29jb2EgLT4gY2dsIGNoYW5nZQoKMjAxNS0wMS0yMyAxNDoxODoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9jb2NvYV91dGlscy5tbToKCSAgZ2wvcXQvZXhhbXBsZXM6IHVwZGF0ZSBmb3IgTlNPcGVuR0wgLT4gQ0dMIGNoYW5nZQoKMjAxNS0wMS0yMyAxNDoxMTo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNhb3BlbmdsbGF5ZXIubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2x3aW5kb3dfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdzogcmVtb3ZlIHdpZHRoL2hlaWdodCBmcm9tIF9kcmF3KCkKCSAgRGVwZW5kaW5nIG9uIHRoZSBwbGF0Zm9ybSwgaXQgd2FzIG9ubHkgZXZlciBpbXBsZW1lbnRlZCB0byAxKSBzZXQgYQoJICBkZWZhdWx0IHN1cmZhY2Ugc2l6ZSwgMikgcmVzaXplIGJhc2VkIG9uIHRoZSB2aWRlbyBmcmFtZSBvciAzKSBub3RoaW5nLgoJICBJbnN0ZWFkLCBwcm92aWRlIGEgc2V0X3ByZWZlcnJlZF9zaXplICgpIHRoYXQgZWxlbWVudHMvYXBwbGljYXRpb25zCgkgIGNhbiB1c2UgdG8gcmVxdWVzdCBhIGNlcnRhaW4gc2l6ZSB3aGljaCBtYXkgYmUgaWdub3JlZCBmb3IKCSAgdmlkZW9vdmVybGF5L290aGVyIGNhc2VzLgoKMjAxNS0wMS0yMiAyMTo0Mzo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGF2b2lkIGRlc3Ryb3lpbmcgYSBwb3NzaWJseSAwIEdTb3VyY2UgaWQKCjIwMTUtMDEtMjAgMjI6MDE6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjYW9wZW5nbGxheWVyLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtb3ZlIHRvIENHTCBhbmQgQ0FPcGVuR0xMYXllciBmb3IgcmVuZGVyaW5nCgkgIFJlbW92ZXMgdGhlIHVzZSBvZiBOU09wZW5HTCogdmFyaWV0eSBhbmQgZnVuY3Rpb25zLiAgQW55IENvY29hCgkgIHNwZWNpZmljIGZ1bmN0aW9ucyB0aGF0IHRvb2svcmV0dXJuZWQgYSBOU09wZW5HTCogb2JqZWN0IG5vdwoJICB0YWtlL3JldHVybiB0aGUgQ0dMIGVxdWl2YWxlbnRzLgoKMjAxNS0wMS0yMiAxNjowODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbGNvbnRleHQvY29jb2E6IGFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxNS0wMS0yMiAxMDo1MDoyMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBGaXggR0FQIGZsYWcgc2V0dGluZyBvbiBibGFjayBmcmFtZXMgY29ycmVjdGx5CgkgIFRoaXMgZGlkIG5vdCBhY3R1YWxseSB3b3JrIHNpbmNlIHRoZSB2aWRlb19idWZmZXIgd2FzIHNldCB0byBOVUxMIGFmdGVyCgkgIHRoZSBmaXJzdCBibGFjayBmcmFtZS4KCSAgUmVwb3J0ZWQgYnk6IFBhdHJpayBPbGRzYmVyZyA8cGF0cmlrLm9sZHNiZXJnQGVyaWNzc29uLmNvbT4KCjIwMTUtMDEtMjEgMjM6Mzc6MTAgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IG1heCB2YWx1ZSBvZiB0aGUgdGltZW91dCBwcm9wZXJ0eQoJICBSZXBvcnRlZCBieTogUGF0cmlrIE9sZHNiZXJnIDxwYXRyaWsub2xkc2JlcmdAZXJpY3Nzb24uY29tPgoKMjAxNS0wMS0yMSAyMzozNTo1NSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogSW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlCgkgIFdpbGwgYmUgdXNlZnVsIHdoZW4gd2Ugd2FudCB0byBzZXQgcHJlc2V0cyBvbiB0aGUgZW5jb2RlciB2aWEgZW5jb2RlYmluCgkgIG9yIHN1Y2guCgoyMDE1LTAxLTIxIDE1OjMxOjIxICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3luYyB3aXRoIGJhc2UgY2xhc3MgaW4gLWJhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0Mjg3NQoKMjAxNS0wMS0yMSAxNTowNjoyMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGVuc3VyZSBkZWZhdWx0IHF1ZXJ5L2V2ZW50IGhhbmRsZXJzIGFyZSB1c2VkCgkgIFN5bmMgYXVkaW92aXN1YWxpemVyIGNsYXNzIGltcGxlbWVudGF0aW9uIHRvIHRoZSBvbmUgaW4gZ3N0LXBsdWdpbnMtYmFzZS4gVGhpcwoJICBjb21taXQgbWF0Y2hlcyA5ZGQwZTZjY2NjOTcxZDhhNmJjY2E0ZTllNGQyZWUxZGJiMjBmZmZhIGluIHRoYXQgbW9kdWxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQyODc1CgoyMDE1LTAxLTIxIDEwOjE4OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSAgc2lyZW46IE1ha2Ugc29tZSBsb2NhbCB2YXJpYWJsZXMgbm9uLXN0YXRpYyBmb3IgdGhyZWFkLXNhZmV0eQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBvdmVycmlkZSB2YWx1ZXMgZnJvbSBhbm90aGVyIHRocmVhZCBpZiB3ZSBlbmNvZGUKCSAgb3IgZGVjb2RlIGZyYW1lcyBhdCB0aGUgc2FtZSB0aW1lIGluIGRpZmZlcmVudCB0aHJlYWRzLgoKMjAxNS0wMS0yMSAxMDoxNzowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICBDb25zdGlmeSBzb21lIHN0YXRpYyBhcnJheXMgZXZlcnl3aGVyZQoKMjAxNS0wMS0yMSAwODo0OToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogRml4IGxpc3Qgb2YgZmlsZXMgdHJhY2tlZAoJICBzZnNpbmsvc2ZzcmMgaGF2ZW4ndCBiZWVuIHBvcnRlZCAoYW5kIHRoZXJlZm9yZSBkaXN0J2VkKSBpbiAxLngKCjIwMTQtMTItMDkgMDk6NTg6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG1pbm9yIGRlYnVnIHVwZGF0ZQoJICBPbmx5IHNob3cgUFRTL0RUUyB3aGVuIHRoZXkgYXJlIHZhbGlkLCBhbmQgaW5jbHVkZSB0aGUgc3RyZWFtIGlkCgoyMDE1LTAxLTIwIDE0OjU1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGRvIG5vdCBza2lwIHRoZSBmaXJzdCBmcmFnbWVudAoJICBBdm9pZCBhZHZhbmNpbmcgZnJhZ21lbnQgcmlnaHQgYWZ0ZXIgZG93bmxvYWRpbmcgdGhlIGhlYWRlci4gSWYgaXQKCSAgaXMgdGhlIGhlYWRlciwgYnkgZGVmYXVsdCwgZG9uJ3QgYWR2YW5jZSB0byB0aGUgbmV4dCBmcmFnbWVudC4KCjIwMTUtMDEtMjAgMTY6NTc6MTUgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzI1MQoKMjAxNS0wMS0xNiAxOTozMjoxNSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBzdGVyZW8taGlnaCBwcm9maWxlCgkgIEV4cG9zaW5nIHN0ZXJlby1oaWdoIHByb2ZpbGUgYXMgYSBjb21wYXRpYmxlIHByb2ZpbGUgb2YgbXVsdGl2aWV3LWhpZ2gKCSAgaWYgdGhlIG1heGltdW0gbnVtYmVyIG9mIGVuY29kZWQgdmlld3MgaW4gdGhlIHN0cmVhbSBpcyB0d28uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNzQKCjIwMTUtMDEtMTkgMTc6MzE6MjYgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwYXJzZSBTUFMgc3Vic2V0CgkgIFRoaXMgcGF0Y2ggY2FsbHMgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3N1YnNldF9zcHMoKSB3aGVuIGEKCSAgU1BTIHN1YnNldCBOQUwgdHlwZSBpcyBmb3VuZC4KCSAgQWxsIHRoZSBiaXRzIHJlcXVpcmVkIGZvciBwYXJzaW5nIHRoZSBTUFMgc3Vic2V0IGluIE5BTHMgd2VyZQoJICBhbHJlYWR5IHRoZXJlLCBqdXN0IHdlIG5lZWQgdG8gY2FsbCB0aGVtIHdoZW4gdGhlIHRoaXMgTkFMIHR5cGUKCSAgaXMgZm91bmQuCgkgIFdpdGggdGhpcyBwYXJzaW5nLCB0aGUgbnVtYmVyIG9mIHZpZXdzIChtaW51cyAxKSBhdHRyaWJ1dGUgaXMKCSAgZmlsbGVkLCB3aGljaCB3YXMgYSByZXF1aXJlbWVudCBmb3IgbmVnb3RpYXRpbmcgdGhlIHN0ZXJlby1oaWdoCgkgIHByb2ZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNzQKCjIwMTMtMDMtMTkgMTQ6MjM6MDAgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgTVZDIE5BTCB1bml0cy4KCSAgSW5pdGlhbCBzdXBwb3J0IGZvciBNVkMgTkFMIHVuaXRzLiBJdCBpcyBvbmx5IG5lZWRlZCB0byBwcm9wYWdhdGUgdGhlCgkgIGNvbXBsZXRlIHNldCBvZiBOQUwgdW5pdHMgZG93bnN0cmVhbSBhdCB0aGlzIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYxMzUKCSAgU2lnbmVkLW9mZi1ieTogU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE1LTAxLTIwIDA5OjIzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBleHBsaWNpdCBjYXN0IHRvIG1ha2UgY2xhbmcgaGFwcHkKCSAgRml4ZXMgY29tcGlsYXRpb24KCjIwMTUtMDEtMTUgMTc6NDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiByZWZhY3RvciBjaHVuayBkb3dubG9hZGluZyBmbG93CgkgIEFkZCBtb3JlIHBvd2VyIHRvIHRoZSBjaHVua19yZWNlaXZlZCBmdW5jdGlvbiAocmVuYW1lZCB0byBkYXRhX3JlY2VpdmVkKQoJICBhbmQgYWxzbyB0byB0aGUgZnJhZ21lbnRfZmluaXNoIGZ1bmN0aW9uLgoJICBUaGUgZGF0YV9yZWNlaXZlZCBmdW5jdGlvbiBtdXN0IHBhcnNlL2RlY3J5cHQgdGhlIGRhdGEgaWYgbmVjZXNzYXJ5IGFuZAoJICBhbHNvIHB1c2ggaXQgdXNpbmcgdGhlIG5ldyBwdXNoX2J1ZmZlciBmdW5jdGlvbiB0aGF0IGlzIGV4cG9zZWQgbm93LiBUaGUKCSAgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBnZXRzIGRhdGEgZnJvbSB0aGUgc3RyZWFtIGFkYXB0ZXIgKGFsbCBhdmFpbGFibGUpCgkgIGFuZCBwdXNoZXMgaXQuCgkgIFRoZSBmcmFnbWVudF9maW5pc2ggZnVuY3Rpb24gbXVzdCBhbHNvIGFkdmFuY2UgdGhlIGZyYWdtZW50LiBUaGUgZGVmYXVsdAoJICBpbXBsZW1lbnRhdGlvbiBvbmx5IGFkdmFuY2VzIHRoZSBmcmFnbWVudC4KCSAgVGhpcyBhbGxvd3MgdGhlIHN1YnNlZ21lbnQgaGFuZGxpbmcgaW4gZGFzaGRlbXV4IHRvIGNvbnRpbnVvdXNseSBkb3dubG9hZAoJICB0aGUgc2FtZSBmaWxlIGZyb20gdGhlIHNlcnZlciBpbnN0ZWFkIG9mIHN0b3BwaW5nIGF0IGV2ZXJ5IHN1YnNlZ21lbnQKCSAgYm91bmRhcnkgYW5kIHN0YXJ0aW5nIGEgbmV3IHJlcXVlc3QKCjIwMTUtMDEtMTkgMTI6Mzc6MjMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbXBvc2l0b3IvYmxlbmQuYzoKCSAgY29tcG9zaXRvcjogZml4IGlsbGVnYWwgbWVtb3J5IGFjY2VzcyBpbiBibGVuZCBmdW5jdGlvbiB3aXRoIG5lZ2F0aXZlIHlwb3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTExNQoKMjAxNS0wMS0xOSAwODozNzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIGxvZyBtZXNzYWdlIGFib3V0IHNlZ21lbnQgdGltZSBpbmZvcm1hdGlvbgoJICBGb3IgZGVidWdnaW5nIHB1cnBvc2VzCgoyMDE1LTAxLTE5IDA4OjM2OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGZpeCBtdWx0aS1wZXJpb2QgcGxheWJhY2sKCSAgSWYgd2Ugc2F5IGl0IGlzIHRoZSBmaXJzdCBzZWdtZW50IGFmdGVyIGEgbmV3IHBlcmlvZCBpdCB3aWxsIHJlc3luYwoJICB0aGUgc2VnbWVudC5zdGFydCB2YWx1ZSBhbmQgYWxsIGJ1ZmZlcnMgd2lsbCBiZSBsYXRlIGZvciB0aGUgbmV3IHBlcmlvZAoJICB3ZSBhcmUgdHJ5aW5nIHRvIHBsYXkuIE90aGVyd2lzZSB3ZSB3YW50IHRvIGtlZXAgdGhlIHNlZ21lbnQuc3RhcnQgd2l0aAoJICB0aGUgcHJldmlvdXMgdmFsdWUgdG8gYWxsb3cgdGhlIHJ1bm5pbmcgdGltZSB0byBzbW9vdGhseSBpbmNyZWFzZQoKMjAxNS0wMS0xOSAxMToyMzo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBjb21waWxlciB3YXJuaW5nIHdpdGggY2xhbmcKCSAgZ3N0ZGFzaGRlbXV4LmM6MTMzMDoxMzogZXJyb3I6IGltcGxpY2l0IGNvbnZlcnNpb24gZnJvbSBlbnVtZXJhdGlvbiB0eXBlICdlbnVtIF9Hc3RBZGFwdGl2ZURlbXV4Rmxvd1JldHVybicgdG8gZGlmZmVyZW50IGVudW1lcmF0aW9uIHR5cGUKCSAgJ0dzdEZsb3dSZXR1cm4nIFstV2Vycm9yLC1XZW51bS1jb252ZXJzaW9uXQoJICByZXQgPSBHU1RfQURBUFRJVkVfREVNVVhfRkxPV19TVUJTRUdNRU5UX0VORDsKCSAgfiBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoKMjAxNS0wMS0xOCAyMTowNTo0NCArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGZpeCBtZW1sZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDMxNDIKCjIwMTUtMDEtMTggMTc6MjU6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBSZW1vdmUgcmVhbCBwbHVnaW4gd2hpY2ggaXMgbm8gbG9uZ2VyIG5lZWRlZCBhbmQgaGFzIG5ldmVyIGJlZW4gcG9ydGVkCgkgIERlY29kZXJzIGZvciB0aGVzZSBmb3JtYXRzIGV4aXN0IGluIGdzdC1saWJhdiwgaWYgYW55b25lCgkgIHN0aWxsIGhhcyBhIG5lZWQgZm9yIHRoZW0uCgoyMDE1LTAxLTE4IDE3OjEwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBSZW1vdmUgbGliZ215dGgtYmFzZWQgTXl0aFRWIHNvdXJjZSBlbGVtZW50IHdoaWNoIHdhcyBuZXZlciBwb3J0ZWQKCSAgZ215dGggc2VlbXMgdG8gYmUgdW5tYWludGFpbmVkIHVwc3RyZWFtLCBhbmQgbm8gb25lIGhhcyBhc2tlZAoJICBmb3IgdGhpcyB0byBiZSBwb3J0ZWQgZm9yIGEgdmVyeSBsb25nIHRpbWUsIHNvIGxldCdzIGp1c3QKCSAgcmVtb3ZlIGl0LiBOZWl0aGVyIGRlYmlhbiBub3IgRmVkb3JhIHNlZW0gdG8gc2hpcCBsaWJnbXl0aAoJICBhbnkgbG9uZ2VyLCBhbmQgaW4gYW55IGNhc2UgaXQncyBtb3N0IGxpa2VseSBkZXByZWNhdGVkIGJ5CgkgIHRoZSBVUG5QIHN1cHBvcnQgaW4gTXl0aFRWLgoKMjAxNS0wMS0xNyAxMDowNjo0MCArMTEwMCAgTGFzc2UgTGF1cnNlbiA8bGFzc2VAbGFzc2VsYXVyc2VuLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbGFwaTogZml4IGNvbXBpbGF0aW9uIHdpdGggbGF0ZXN0IE1TVkMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MzA0MQoKMjAxNS0wMS0xNSAxMjo1Nzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiB1c2UgdGhlIGNvcnJlY3Qgc2l6ZSBmb3IgdGhlIHBibwoJICBJdCB3YXMgbWlzc2luZyB0aGUgR3N0VmlkZW9BbGlnbm1lbnQgcGFkZGluZyB3aGljaCBjb3VsZCBjYXVzZSBHTAoJICBlcnJvcnMgcmVsYXRlZCB0byBvdmVycnVubmluZyB0aGUgc2l6ZSBvZiB0aGUgcGJvLgoKMjAxNS0wMS0xNiAxNjoxODozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBwcmV2ZW50IGVhcmx5IEVPUyB3aGVuIHN3aXRjaGluZyBhdCBsYXN0IGZyYWdtZW50CgkgIENoZWNrIGlmIHRoZXJlIGlzIGEgbmV4dCBmcmFnbWVudCBiZWZvcmUgYWR2YW5jaW5nIHRvIGF2b2lkIGNhdXNpbmcKCSAgYSBiaXRyYXRlIHN3aXRjaCAoYW5kIG1heWJlIGV4cG9zaW5nIG5ldyBwYWRzKSBvbmx5IHRvIHB1c2ggRU9TLgoJICBUaGlzIGNhdXNlcyBwbGF5YmFjayB0byBzdG9wIHdpdGggYW4gZXJyb3IgaW5zdGVhZCBvZiBwcm9wZXJseQoJICBmaW5pc2hpbmcgd2l0aCBFT1MgbWVzc2FnZS4KCjIwMTUtMDEtMTMgMTQ6MjI6MDIgKzAwMDAgIERhdmlkIFdhcmluZyA8ZGF2aWQud2FyaW5nQHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEZpeCBkZXRlY3Rpb24gZm9yIHRoZSBlbmQgb2Ygc2VnbWVudC4KCSAgVGhlIHNlZ21lbnQgc3RhcnQgdGltZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBvZmZzZXQgaW50byB0aGUgY3VycmVudCBzZWdtZW50LgoJICBUaGUgb2xkIGNvbmRpdGlvbiB0byBkZXRlY3QgdGhlIGVuZCBvZiBwZXJpb2QgKGkuZS4gc2VnbWVudCBzdGFydCB0aW1lID4KCSAgcGVyaW9kIHN0YXJ0ICsgcGVyaW9kIGR1cmF0aW9uKSBmYWlsZWQgd2hlbiB0aGUgcGVyaW9kIHN0YXJ0IHdhcyBub3QgMCBzaW5jZQoJICB0aGUgc2VnbWVudCBzdGFydCB0aW1lIGRvZXMgbm90IHRha2UgdGhlIHBlcmlvZCBzdGFydCB0aW1lIGludG8gYWNjb3VudC4KCSAgRml4IHRoaXMgZGV0ZWN0aW9uIGJ5IG9ubHkgY29tcGFyaW5nIHRoZSBzZWdtZW50IHN0YXJ0IHRvIHRoZSBwZXJpb2QgZHVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzNjkKCjIwMTUtMDEtMTQgMjM6MTE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIHNlZ21lbnQgYXR0cmlidXRlCgkgIEl0IHdhcyBuZXZlciB1c2VkLCBvbmx5IGluaXRpYWxpemVkCgoyMDE1LTAxLTEyIDE3OjQwOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IElTT0JNRkYgcHJvZmlsZSBoYW5kbGluZwoJICBUaGUgSVNPQk1GRiBwcm9maWxlIGFsbG93cyBkZWZpbmluZCBzdWJzZWdtZW50cyBpbiBhIHNlZ21lbnQuIEF0IHRob3NlCgkgIHN1YnNlZ21lbnQgYm91bmRhcmllcyB0aGUgY2xpZW50IGNhbiBzd2l0Y2ggZnJvbSBvbmUgcmVwcmVzZW50YXRpb24gdG8KCSAgYW5vdGhlciBhcyB0aGV5IGhhdmUgYWxpZ25lZCBpbmRleGVzLgoJICBUbyBoYW5kbGUgdGhvc2UgdGhlICdzaWR4JyBpbmRleCBpcyBwYXJzZWQgZnJvbSB0aGUgc3RyZWFtIGFuZCB0aGUKCSAgZW50cmllcyBwb2ludCB0byBwdHMvb2Zmc2V0IG9mIHRoZSBzYW1wbGVzIGluIHRoZSBzdHJlYW0uIEtub3dpbmcgdGhhdAoJICB0aGUgZW50cmllcyBhcmUgYWxpZ25lZCBpbiB0aGUgZGlmZmVyZW50IHJlcHJlc2VudGF0aW9uIGFsbG93cyB0aGUgY2xpZW50CgkgIHRvIHN3aXRjaCBtaWQgZnJhZ21lbnQuIEluIHRoaXMgcHJvZmlsZSBhIHNpbmdsZSBmcmFnbWVudCBpcyB1c2VkIHBlcgoJICByZXByZXNlbnRhdGlvbiBhbmQgdGhlIHN1YnNlZ21lbnRzIGFyZSBjb250YWluZWQgaW4gdGhpcyBmcmFnbWVudC4KCSAgVG8gbm90aWZ5IHRoZSBzdXBlcmNsYXNzIGFib3V0IHRoZSBzdWJzZWdtZW50IGJvdW5kYXJ5IHRoZSBjaHVua19yZWNlaXZlZAoJICBmdW5jdGlvbiByZXR1cm5zIGEgc3BlY2lhbCBmbG93IHJldHVybiB0aGF0IGluZGljYXRlcyB0aGF0LiBJbiB0aGlzIGNhc2UsCgkgIHRoZSBzdXBlciBjbGFzcyB3aWxsIGNoZWNrIGlmIGEgbW9yZSBzdWl0YWJsZSBiaXRyYXRlIGlzIGF2YWlsYWJsZSBhbmQgd2lsbAoJICBjaGFuZ2UgdG8gdGhlIHNhbWUgc3Vic2VnbWVudCBpbiB0aGlzIG5ldyByZXByZXNlbnRhdGlvbi4KCSAgSXQgYWxzbyByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nIG9mIHRoZSBwb3NpdGlvbiBpbiB0aGUgc3RyZWFtIGFzIHRoZQoJICBmcmFnbWVudCBhZHZhbmNpbmcgaXMgbm93IGRvbmUgYnkgaW5jcmVtZW50aW5nIHRoZSBpbmRleCBvZiB0aGUgc3Vic2VnbWVudC4KCSAgSXQgd2lsbCBvbmx5IGFkdmFuY2UgdG8gdGhlIG5leHQgZnJhZ21lbnQgb25jZSBhbGwgc3Vic2VnbWVudHMgaGF2ZSBiZWVuCgkgIGRvd25sb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyNDgKCjIwMTUtMDEtMTIgMTE6NTc6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmM6CgkqIGV4dC9kYXNoL2dzdGlzb2ZmLmg6CgkgIGRhc2hkZW11eDogcGFyc2UgdGhlIHNpZHggaW5kZXggZnJvbSBpc29ibWZmIHN0cmVhbXMKCSAgQWxsb3dzIGRhc2hkZW11eCB0byBpZGVudGlmeSB0aGUgc3Vic2VnbWVudHMgaW4gdGhlIHN0cmVhbSBhbmQKCSAgc3dpdGNoIGJpdHJhdGVzIHdoZW4gbmVlZGVkCgoyMDE1LTAxLTA5IDE2OjQzOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogY2hlY2sgZm9yIHByb2ZpbGVzCgkgIENoZWNrIGZvciBhdmFpbGFibGUgcHJvZmlsZXMgdG8gZW5hYmxlIGNlcnRhaW4gZmVhdHVyZXMgZm9yCgkgIGRhc2ggcGxheWJhY2suIEZvciBub3cgd2UgY2hlY2sgZm9yIHRoZSBJU09GRiBPbiBEZW1hbmQgMjAxMSBwcm9maWxlLgoKMjAxNS0wMS0xMyAxMDoxNjoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4Lmg6CgkgIGFkYXB0aXZlZGVtdXg6IGFkZCBhIHNwZWNpYWwgcmV0dXJuIHRvIHNpZ25hbCBzdWJzZWdtZW50IGJvdW5kYXJ5CgkgIFRoZSBzdWJzZWdtZW50IGJvdW5kYXJ5IHJldHVybiB0ZWxscyB0aGUgYWRhcHRpdmVkZW11eCB0aGF0IGl0IGNhbgoJICB0cnkgdG8gc3dpdGNoIHRvIGFub3RoZXIgcmVwcmVzZW50YXRpb24gYXMgdGhlIHN0cmVhbSBpcyBhdCBhIHN1aXRhYmxlCgkgIHBvc2l0aW9uIGZvciBzdGFydGluZyBmcm9tIGFub3RoZXIgYml0cmF0ZS4KCjIwMTUtMDEtMTMgMTA6MTU6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogQWN0dWFsbHkgdXNlIHRoZSBieXRlIHJhbmdlIGZvciB0aGUgZnJhZ21lbnQgdXJsCgkgIE90aGVyd2lzZSB3ZSB3b3VsZCBhbHdheXMgZG93bmxvYWQgdGhlIGZ1bGwgZnJhZ21lbnQuIFRoaXMgd291bGQKCSAgbWFrZSBoYW5kbGluZyBzdWJzZWdtZW50cyBpbiBEQVNIIGltcG9zc2libGUuCgoyMDE1LTAxLTEzIDEwOjEzOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IGFsbG93IGRvd25sb2FkcyBvZiBoZWFkZXJzIG9ubHkKCSAgSW4gb3JkZXIgdG8gZ2V0IHNvbWUgc3Vic2VnbWVudCBpbmZvcm1hdGlvbiwgc3ViY2xhc3NlcyBtaWdodCB3YW50CgkgIHRvIGRvd25sb2FkIG9ubHkgdGhlIGhlYWRlcnMgdG8gaGF2ZSBlbm91Z2ggZGF0YSAodGhlIGluZGV4KQoJICB0byBkZWNpZGUgd2hlcmUgdG8gc3RhcnQgZG93bmxvYWRpbmcgZnJvbSB0aGUgc3Vic2VnbWVudC4KCjIwMTUtMDEtMTIgMTg6MjI6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVmYWN0b3IgY29tbW9uIGNvZGUgdG8gZnVuY3Rpb24KCSAgUmV1c2UgdGhlIHNhbWUgZnVuY3Rpb24gd2hlbiBmaW5pc2hpbmcgZG93bmxvYWRpbmcgYW5kIHNpZ25hbGluZyB0bwoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gZ2V0IHRoZSBuZXh0IGZyYWdtZW50IG9yIGFib3J0CgoyMDE1LTAxLTA5IDE3OjE5OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogaW5mb3JtIHN1YmNsYXNzIHdoZW4gaGVhZGVycy9pbmRleCBhcmUgYmVpbmcgZG93bmxvYWRlZAoJICBUaGlzIGFsbG93cyB0aGUgc3ViY2xhc3NlcyB0byBrbm93IGlmIHRoZSBjaHVua3MgdGhhdCBhcmUgZG93bmxvYWRlZCBhcmUKCSAgcGFydCBvZiB0aGUgaGVhZGVyIG9yIG9mIHRoZSBpbmRleCBhbmQgd2lsbCBwYXJzZSB0aGUgcGFydHMgdGhhdCBhcmUKCSAgb2YgdGhlaXIgaW50ZXJlc3QuCgoyMDE1LTAxLTE1IDE2OjExOjI0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogYSBmZXcgbGVhayBmaXhlcwoKMjAxNS0wMS0xNSAxMzoxNjowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJICBmcmFnbWVudDogZml4IGNhcHMgYW5kIGJ1ZmZlciBsZWFrcyBpbiBnZXRfcHJvcGVydHkKCjIwMTUtMDEtMTQgMTc6NDM6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcmVtb3ZlIHVudXNlZCBmcmFnbWVudHNfY2FjaGUgZmllbGQKCjIwMTUtMDEtMTQgMTY6NDI6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYSBmZXcgbGVhayBmaXhlcwoKMjAxNS0wMS0xMiAyMToyMjowNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSAgYnMyYjogaW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlCgkgIEluc3RlYWQgb2YgYSBwcmVzZXQgcHJvcGVydHkgaW1wbGVtZW50IHRoZSBwcmVzZXQgaW50ZXJmYWNlIGluIGEgcmVhZC1vbmx5CgkgIGZhc2hpb24uCgoyMDE1LTAxLTEyIDEyOjExOjAxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iczJiLnhtbDoKCSAgZG9jczogYWRkIG5ldyBiczJiIHBsdWdpbiBhbmQgZWxlbWVudAoKMjAxNS0wMS0xMCAyMTo0MToxMiArMDEwMCAgQ2hyaXN0b3BoIFJlaXRlciA8cmVpdGVyLmNocmlzdG9waEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2JzMmIvTWFrZWZpbGUuYW06CgkqIGV4dC9iczJiL2dzdGJzMmIuYzoKCSogZXh0L2JzMmIvZ3N0YnMyYi5oOgoJICBiczJiOiBhZGQgbmV3IHBsdWdpbiAoRWZmZWN0L0F1ZGlvLCBjcm9zc2ZlZWQpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2ODkKCjIwMTUtMDEtMTUgMTM6MTM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXJhdWRpb3Npbms6IE1ha2Ugc3VyZSB0aGF0IGJ1ZmZlciB0aW1lIGlzIGFsd2F5cyBiaWdnZXIgdGhhbiBwZXJpb2QgdGltZQoKMjAxNS0wMS0xNSAxMjo0OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBBbHNvIGNvbnNpZGVyIG1heC1sYXRlbmVzcyBwcm9wZXJ0eSB2YWx1ZSBiZWZvcmUgZHJvcHBpbmcgbGF0ZSBmcmFtZXMKCjIwMTUtMDEtMTUgMTQ6MDk6NDMgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIHZ0ZGVjOiBpbXBsZW1lbnQgdGhlIEdMIHRleHR1cmUgdXBsb2FkIG1ldGEKCjIwMTUtMDEtMDkgMDA6MTY6MTcgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW90ZXh0dXJlY2FjaGUuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvdGV4dHVyZWNhY2hlLm06CgkgIGF2ZnZpZGVvc3JjOiBpbXBsZW1lbnQgdGhlIEdMIHRleHR1cmUgdXBsb2FkIG1ldGEKCjIwMTUtMDEtMTUgMDk6NDc6NDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCB1cGxvYWQgaWYgYWxwaGEgPD0gMAoJICBJbXBsZW1lbnRlZCB1c2luZyBhIHVwbG9hZF9idWZmZXIgdmZ1bmMgd2l0aGluIEdzdEdMTWl4ZXIgYWxsb3dpbmcKCSAgTlVMTCB1cGxvYWRlZCBidWZmZXJzLgoKMjAxNS0wMS0xNSAwOTo0NToyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgc3B1cmlvdXMgZ3N0X3ZpZGVvX2luZm9fYWxpZ24KCSAgVGhhdCB3aWxsIGJlIHRha2VuIGNhcmUgb2YgYnkgdGhlIGNhbGxpbmcgY29kZSAodHlwaWNhbGx5IGEgYnVmZmVycG9vbCkuCgkgIFRoZSBHc3RWaWRlb0FsaWdubWVudCBpcyBwdXJlbHkgaW5mb3JtYXRpb25hbCB0byBjb21wdXRlIHBsYW5lIGRhdGEgc2l6ZXMuCgoyMDE1LTAxLTE0IDIzOjQ4OjE2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvY3VtZW50IHRoZSB6b3JkZXIgcGFkIHByb3BlcnR5IGZyb20gZ3N0dmlkZW9hZ2dyZWdhdG9yCgoyMDE1LTAxLTE0IDIzOjQ3OjE5ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE5pdHBpY2sgc3BhY2luZy9wdW5jdHVhdGlvbiBpbiBkZWJ1ZyBsb2dnaW5nCgoyMDE1LTAxLTE0IDE2OjMzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IFN0b3Agc2NoZWR1bGVkIHBsYXliYWNrIHNob3J0bHkgaW4gUEFVU0VELT5QTEFZSU5HIGlmIGl0IHdhcyBydW5uaW5nIGFscmVhZHkKCSAgVGhpcyBmaXhlcyBoYW5kbGluZyBvZiBmbHVzaGluZyBzZWVrcywgd2hlcmUgd2Ugd2lsbCBnZXQgYSBQQVVTRUQtPlBMQVlJTkcKCSAgc3RhdGUgdHJhbnNpdGlvbiBhZnRlciB0aGUgcHJldmlvdXMgb25lIHdpdGhvdXQgYWN0dWFsbHkgZ29pbmcgdG8gUEFVU0VECgkgIGZpcnN0LgoKMjAxNS0wMS0xNCAxNjowMTowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5oOgoJICBkZWNrbGlua3ZpZGVvc2luazogRG9uJ3Qgc2NoZWR1bGUgdG9vIGxhdGUgZnJhbWVzIGluIHByZXBhcmUoKQoJICBPdGhlcndpc2Ugd2Ugd2lsbCBvdmVyZmxvdyB0aGUgaW50ZXJuYWwgYnVmZmVyIG9mIHRoZSBoYXJkd2FyZQoJICB3aXRoIHVzZWxlc3MgZnJhbWVzIGFuZCBydW4gaW50byBhbiBlcnJvci4gVGhpcyBpcyBuZWNlc3NhcnkgdW50aWwKCSAgdGhpcyBidWcgaW4gYmFzZXNpbmsgaXMgZml4ZWQ6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI5MTYKCjIwMTUtMDEtMTQgMTU6NTQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEtlZXAgdHJhY2sgb2YgdGhlIHRpbWUgd2hlbiB3ZSB3ZW50IHRvIFBMQVlJTkcgZm9yIHRoZSBleHRlcm5hbCBjbG9jayB0b28KCSAgT3RoZXJ3aXNlIHdlJ3JlIGFkZGluZyBhbiBvZmZzZXQgb2YgdGhlIHRpbWUgdGhlIHBpcGVsaW5lIHdhcyBpbiBQTEFZSU5HCgkgIGFscmVhZHkgdG8gdGhlIHJ1bm5pbmcgdGltZSB3aGVuIGNvbnZlcnRpbmcgaXQgdG8gb3VyIGludGVybmFsIGNsb2NrLgoKMjAxNS0wMS0xNCAxMzozMjo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBFbmFibGUgUW9TIGFuZCBzZXQgbWF4LWxhdGVuZXNzIHRvIDIwbXMKCjIwMTUtMDEtMTIgMTc6MjQ6NTIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBzdGFjayBzbWFzaGluZwoJICBFbnN1cmUgdGhhdCB3ZSBkbyBub3QgdHJ1c3QgdGhlIGJpdHN0cmVhbSB3aGVuIGZpbGxpbmcgYSB0YWJsZQoJICB3aXRoIGEgZml4ZWQgbWF4IHNpemUuCgkgIEFkZGl0aW9uYWxseSwgdGhlIGNvZGUgd2FzIG5vdCBxdWl0ZSBtYXRjaGluZyB3aGF0IHRoZSBzcGVjIHNheXM6CgkgIC0gYSB2YWx1ZSBvZiAzIGJyb2tlIGZyb20gdGhlIGxvb3AgYmVmb3JlIGFkZGluZyBhbiBlbnRyeQoJICAtIGFuIHVuaGFuZGxlZCB2YWx1ZSBkaWQgbm90IGFkZCBhbiBlbnRyeQoJICBUaGUgcmVmZXJlbmNlIGFsZ29yaXRobSBkb2VzIHRoZXNlIHRoaW5ncyBkaWZmZXJlbnRseSAoNy4zLjMuMQoJICBpbiBJVFUtVCBSZWMuIEguMjY0ICgwNS8yMDAzKSkuCgkgIFRoaXMgcGxheXMgKGFwcGFyZW50bHkgY29ycmVjdGx5KSB0aGUgb3JpZ2luYWwgcmVwcm8gZmlsZSwgd2l0aAoJICBubyBzdGFjayBzbWFzaGluZy4KCSAgQmFzZWQgb24gYSBwYXRjaCBhbmQgYnVnIHJlcG9ydCBieSBBbmRyw6kgRHJhc3ppayA8Z2l0QGFuZHJlZC5uZXQ+CgoyMDE1LTAxLTE0IDIyOjA4OjQzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVycGFkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2w6IHNwbGl0IGdsY29sb3Jjb252ZXJ0IHVzYWdlIGZyb20gZ2x1cGxvYWQKCSAgdGhlIHNlcGFyYXRpb24gYWxsb3dzIHRoZSB0cmFuc2ZlciBvcGVyYXRpb24gdG8gb2NjdXIgaW4gYSBzZXBhcmF0ZQoJICB0aHJlYWQvdGltZSB3aGljaCBtYXkgaW5jcmVhc2UgcGVyZm9ybWFuY2UgaW4gc3BlY2lmaWMgY2lyY3Vtc3RhbmNlcy4KCjIwMTUtMDEtMTQgMTI6Mzk6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogb2Zmc2V0IHRoZSBkYXRhIHBvaW50ZXIgZm9yIHVwbG9hZCBmb3IgR3N0VmlkZW9BbGlnbm1lbnQKCSAgb3RoZXJ3aXNlIHdlIGF0dGVtcHQgdG8gcmVhZCBmcm9tIHRoZSBwYWRkaW5nIGRhdGEKCjIwMTUtMDEtMTQgMDA6MDg6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IHVzZSBwYm8ncyBmb3IgdXBsb2FkCgoyMDE1LTAxLTEzIDIzOjQ3OjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlbGF4IHRoZSBHTE1lbW9yeSB1cGxvYWRlciBjaGVjayBmb3IgaW5wdXQgY2FwcyBmZWF0dXJlcwoJICBBcyB0aGVyZSBtYXkgYmUgYSBzeXNtZW0gY2FwcyBmZWF0dXJlcyB3aXRoIEdMTWVtb3J5IGZpbGxlZCBidWZmZXJzLgoJICBlLmcuCgkgIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgoyMDE1LTAxLTEzIDExOjMyOjAzIC0wODAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJtZXJhbGlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBSZXZlcnQgIlJldmVydCAib3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbSIiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzI5ZjBjY2JhMWFhNjA0ZGExYmQ4MDI5M2ZkMWZlNzE3NDQ3ZGY1ZC4KCjIwMTQtMTItMTcgMDk6MTk6NTIgLTA4MDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcm1lcmFsaUBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NDogcmVtb3ZlIGFsbCB0cmFjZSBvdXRwdXQgdG8gY29uc29sZSBmcm9tIGVuY29kZXIKCjIwMTUtMDEtMTMgMTk6NTY6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSAgZGVja2xpbms6IFVzZSBCVDIwMjAgY29sb3JzcGFjZSBmb3IgVWx0cmFIRCByZXNvbHV0aW9ucwoKMjAxNS0wMS0xMyAxOTo1NTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uIG9uY2UgYWdhaW4KCjIwMTUtMDEtMTMgMTY6NDk6MDcgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBoYW5kbGUgdGhlIHJldHVybiBvZiB0aGUgc2V0dXAgZnVuY3Rpb24KCSAgTWFrZSB0aGUgY2xhc3MgZnV0dXJlIHByb29mIGJ5IGhhbmRsaW5nIHRoZSBnYm9vbGVhbiByZXR1cm4gb2YgdGhlIHNldHVwCgkgIGZ1bmN0aW9uLiBTbyBpZi93aGVuIGEgY2hpbGQgY2xhc3MgdXNlcyB0aGlzIHRoZSBiYXNlIGNsYXNzIGlzIHJlYWR5LgoKMjAxNS0wMS0xMyAxNjo0NjoxMCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBSZXZlcnQgImF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIHVudXNlZCB2YWx1ZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyNWM5NzU3MDgzNGQ2ZGUxYzE0NDI0ZTcxMjIxZDE5ZWIwZDMzZWUzLgoJICBJdCBpcyBwcmVmZXJhYmxlIHRvIGhhbmRsZSB0aGUgcmV0dW4gb2YgdGhlIHNldHVwIGZ1bmN0aW9uLgoKMjAxNS0wMS0xMyAxNzo0NDoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc2luay5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zaW5rOiBHZXQgb3VyIG93biAic3RhcnQgdGltZSIgaW5zdGVhZCBvZiB0aGUgb25lIG9mIHRoZSBwaXBlbGluZQoJICBkZWNrbGlua3ZpZGVvc2luayBtaWdodCBiZSBhZGRlZCBsYXRlciB0byB0aGUgcGlwZWxpbmUsIG9yIGl0cyBzdGF0ZSBtaWdodAoJICBiZSBoYW5kbGVkIHNlcGFyYXRlbHkgZnJvbSB0aGUgcGlwZWxpbmUuIEluIHdoaWNoIGNhc2UgdGhlIHJ1bm5pbmcgdGltZSB3aGVuCgkgIHdlIChsYXN0KSB3ZW50IGludG8gUExBWUlORyBzdGF0ZSB3aWxsIGJlIGRpZmZlcmVudCBmcm9tIHRoZSBwaXBlbGluZSdzLgoJICBIb3dldmVyIHdlIG5lZWQgb3VyIG93biBzdGFydCB0aW1lIHRvIHRlbGwgdGhlIERlY2tsaW5rIEFQSSwgd2hpY2ggcnVubmluZwoJICB0aW1lIHNob3VsZCBiZSBkaXNwbGF5ZWQgYXQgdGhlIG1vbWVudCB3ZSBnbyB0byBQTEFZSU5HIGFuZCBzdGFydCBzY2hlZHVsZWQKCSAgcmVuZGVyaW5nLgoKMjAxNS0wMS0xMyAxNzowMDo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXI6IFVzZSBhICNkZWZpbmUgZm9yIHRoZSBkZWZhdWx0IHZhbHVlIG9mIHRoZSBjaGFubmVsIHByb3BlcnR5CgoyMDE1LTAxLTEzIDE2OjU4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlb3NyYzogTWFrZSB0aGUgdGltZW91dCBjb25maWd1cmFibGUgYWZ0ZXIgd2hpY2ggd2Ugc3RhcnQgc2hvd2luZyBhIGJsYWNrIGZyYW1lCgoyMDE1LTAxLTEzIDE1OjQyOjI2ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIHVudXNlZCB2YWx1ZQoJICBrbGFzcy0+c2V0dXAgKHNjb3BlKSB3aWxsIGFsd2F5cyByZXR1cm4gVFJVRSBzaW5jZSBhbGwgY2hpbGRyZW4gb2YgdGhpcyBjbGFzcwoJICBkbyBzbywgbm8gbmVlZCB0byBzdG9yZSB0aGUgcmV0dXJuLiBCZXNpZGVzLCB0aGUgdmFsdWUgaXMgb3ZlcndyaXR0ZW4gYSBmZXcKCSAgbGluZXMgZG93biBiZWZvcmUgaXQgaXMgdXNlZC4KCSAgQ2hhbmdlIGhlbHBzIGtlZXAgZmlsZXMgaW4gc3luYyBhZnRlcjoKCSAgLWJhc2UgY29tbWl0IGE5MWQ1MjFhMzYwMmYzMzA4MzQwNTQ2N2RiOTQ1NGQ0MjJiOWRhMWIKCjIwMTUtMDEtMTMgMTQ6NTQ6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvbid0IGRvIGFueSBjb252ZXJzaW9ucyBpZiB0aGUgcGFkIGlzIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgYW55d2F5CgoyMDE1LTAxLTEyIDEyOjU4OjI3ICswMTAwICBCcmFuaXNsYXYgS2F0cmVuaWFrIDxia2F0cmVuaWFrQG51dm90ZWNobm9sb2dpZXMuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBzaWxlbmNlIG1lc3NhZ2VzIGZvciBmbHVzaGVkIC8gY3JlYXRlZCBzYW1wbGVzCgkgIFRoZXNlIG1lc3NhZ2VzIGFyZSBsb2dnZWQgcGVyaW9kaWNhbGx5IGFuZCBwb2x1dGUgdGhlIGxvZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxNTkyCgoyMDE0LTEyLTI1IDIzOjEwOjE5ICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZml4IG1lbWxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTk0MwoKMjAxNC0xMi0yNSAyMjo1OTo0MiArMDEwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IGZpeCBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxOTQzCgoyMDE0LTEyLTMxIDE3OjQ1OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhbGxvdyB3cmFwcGVkIGNvbnRleHRzIHRvIGJlIHV0aWxpc2VkIGxpa2Ugbm9uLXdyYXBwZWQgY29udGV4dHMKCSAgRmlsbCBpbiB0aGUgbWlzc2luZyBwaWVjZXMgbGlrZSBnZXRfcHJvY19hZGRyZXNzLCB0aGUgZ2wgZnVuY3Rpb24gdnRhYmxlCgoyMDE1LTAxLTEyIDIxOjI1OjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvLy5naXRpZ25vcmU6CgkqIGdzdC9jb21wb3NpdG9yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJICBnaXRpZ25vcmU6IGlnbm9yZSBtb3JlIGZpbGVzCgoyMDE1LTAxLTEyIDE1OjMzOjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIHZpc3VhbDogdXNlIHVudXNlZCB2YWx1ZQoJICByZXQgaXMgYXNzaWduZWQgYnV0IG5vdCB1c2VkIGFuZCBpbiB0aGUgbmV4dCBjeWNsZSBvZiB0aGUgbG9vcCBpdCBpcyBvdmVyd3JpdHRlbgoJICB3aXRoIGRlZmF1bHRfcHJlcGFyZV9vdXRwdXRfYnVmZmVyICgpLiBJZiB0aGVyZSBpcyBhIGZsb3cgZXJyb3IgdGhlIGZ1bmN0aW9uCgkgIHNob3VsZCByZXR1cm4gaW5zdGVhZC4KCSAgQ0lEICMxMjI2NDc1CgoyMDE1LTAxLTEyIDE2OjEwOjMxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmMmM2Yjk1IHRvIGJjNzZhOGIKCjIwMTUtMDEtMTIgMTU6NTc6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJICBkZWNrbGluazogSW5pdGlhbGl6ZSByZWZjb3VudCBvZiBvdXIgQysrIGNsYXNzZXMgaW4gdGhlIGNvbnN0cnVjdG9yCgkgIENJRCAxMjYyMjg4CgkgIENJRCAxMjYyMjg3CgkgIENJRCAxMjYyMjg5CgoyMDE1LTAxLTEyIDE0OjIyOjQ3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBzdG9yZWQgdmFsdWUgaXMgb3ZlcndyaXR0ZW4KCSAgVmFsdWUgZnJvbSBsZWZ0X2x1bWluYW5jZSBpcyBhc3NpZ25lZCB0byBvdXRfbHVtaW5hbmNlIGhlcmUsIGJ1dCB0aGF0IHN0b3JlZAoJICB2YWx1ZSBpcyBub3QgdXNlZCBiZWZvcmUgaXQgaXMgb3ZlcndyaXR0ZW4gaW4gdGhlIG5leHQgY3ljbGUgb2YgdGhlIGxvb3AuCgkgIFJlbW92aW5nIGFzc2lnbmF0aW9uLgoJICBDSUQgIzEyMjY0NzMKCjIwMTUtMDEtMTIgMTI6NTA6MzMgKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBkZWFkIGNvZGUKCSAgZm91bmQgaXMgaW5pdGlhbGl6ZWQgdG8gRkFMU0UgdG8gdGhlbiBvbmx5IGJlIHVzZWQgaW4gdHdvIGNvbmRpdGlvbmFsIHN0YXRlbWVudHMKCSAgdGhhdCB3aWxsIGFsd2F5cyBiZSBmYWxzZSwgbWFraW5nIHRoZSBibG9ja3MgaW5zaWRlIHRoZW0gZGVhZCBjb2RlLiBMb29raW5nIGJhY2sKCSAgaW4gdGhlIGZpbGUncyBoaXN0b3J5IHRoZSBzZXR0aW5nIG9mIHRoZSB2YXJpYWJsZSdzIHZhbHVlIGJlZm9yZSBpdCBpcyBjaGVja2VkCgkgIHdhcyBkcm9wcGVkIGFzIHBhcnQgb2YgdGhlIHBvcnQgdG8gMC4xMSwgYnJpbmdpbmcgdGhhdCB2YWx1ZSBzZXR0aW5nIGJhY2suCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDI2MzgKCjIwMTUtMDEtMTEgMjA6NDA6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG1pbm9yIG9wdGltaXNhdGlvbiB3aGVuIHNjYW5uaW5nIGZvciBTQ1JzCgkgIEJhaWwgb3V0IGVhcmx5IHdoZW4gd2UncmUgc2Nhbm5pbmcgZm9yIFNDUiwgbm8gbmVlZCB0bwoJICBwYXJzZSBzdHVmZiB3ZSdyZSBub3QgZ29pbmcgdG8gdXNlIG5vciBpbnRlcmVzdGVkIGluLgoKMjAxNS0wMS0xMSAwMTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBmaXggY29tcGlsZXIgd2FybmluZyBhbmQgc2ltcGxpZnkgY2hlY2tzIGluIHNldF9jYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAxOTUKCjIwMTUtMDEtMDMgMTM6MDY6NDUgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiByZXdvcmsgc2V0X2Zvcm1hdCBjb2RlIHNvIG1wZzEyM2F1ZGlvZGVjIHdvcmtzIHdpdGggZGVjb2RlYmluL3BsYXliaW4KCSAgVGhlIG9sZCBjb2RlIHdhcyB1c2luZyBnc3RfY2Fwc19ub3JtYWxpemUoKSBhbmQgd2FzIGdlbmVyYWxseSBvdmVybHkKCSAgY29tcGxleC4gU2ltcGxpZnkgYnkgcGlja2luZyBzYW1wbGUgcmF0ZSBhbmQgbnVtYmVyIG9mIGNoYW5uZWxzIGZyb20KCSAgdXBzdHJlYW0gYW5kIHRoZSBzYW1wbGUgZm9ybWF0IGZyb20gdGhlIGFsbG93ZWQgY2Fwcy4gSWYgdGhlIGZvcm1hdCBjYXBzCgkgIGlzIGEgbGlzdCBvZiBzdHJpbnMsIGp1c3QgcGljayB0aGUgZmlyc3Qgb25lLiBBbmQgaWYgdGhlIHNyY3BhZCBpc24ndAoJICBsaW5rZWQgeWV0LCB1c2UgdGhlIGRlZmF1bHQgZm9ybWF0IChTMTYpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMTk1CgoyMDE1LTAxLTEwIDE1OjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJICBnbC9jb2NvYTogRGlzYWJsZSBoYWNrIGZvciBOU0FwcCBpdGVyYXRpb24gd2l0aCBhIHNwZWNpYWwgI2RlZmluZQoJICBUaGUgaGFjayBjYXVzZXMgZGVhZGxvY2tzIGFuZCBvdGhlciBpbnRlcmVzdGluZyBwcm9ibGVtcyBhbmQgaXQgcmVhbGx5CgkgIGNhbiBvbmx5IGJlIGZpeGVkIHByb3Blcmx5IGluc2lkZSBHTGliLiBXZSB3aWxsIGluY2x1ZGUgYSBwYXRjaCBmb3IKCSAgR0xpYiBpbiBvdXIgYnVpbGRzIGZvciBub3cgdGhhdCBoYW5kbGVzIHRoaXMsIGFuZCBob3BlZnVsbHkgYXQgc29tZQoJICBwb2ludCBHTGliIHdpbGwgYWxzbyBtZXJnZSBhIHByb3BlciBzb2x1dGlvbi4KCSAgQSBwcm9wZXIgc29sdXRpb24gd291bGQgZmlyc3QgcmVxdWlyZSB0byByZWZhY3RvciB0aGUgcG9sbGluZyBpbgoJICBHTWFpbkNvbnRleHQgdG8gb25seSBwcm92aWRlIGEgc2luZ2xlIGZkLCBlLmcuIHZpYSBlcG9sbC9rcXVldWUKCSAgb3IgYSB0aHJlYWQgbGlrZSB0aGUgb25lIGFkZGVkIGJ5IG91ciBwYXRjaC4gVGhlbiB0aGlzIHNpbmdsZQoJICBmZCBjb3VsZCBiZSByZXRyaWV2ZWQgZnJvbSB0aGUgR01haW5Db250ZXh0IGFuZCBkaXJlY3RseSBpbnRlZ3JhdGVkCgkgIGludG8gYSBOU1J1bkxvb3AuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0NTAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDM3NAoKMjAxNS0wMS0xMCAxNTo0MDozMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogaW50ZXJhdWRpb3NyYyAtIGZpeGF0ZSBsYXlvdXQgZm9yIGRlZmF1bHQgY2FwcwoJICBNYWtlcyBpbnRlcmF1ZGlvc3JjIHByb2R1Y2UgdmFsaWQgYXVkaW8gY2FwcyBpbiB0aGUgYWJzZW5jZSBvZiBhbnkgb3RoZXIKCSAgZ3VpZGFuY2UgYnkgYWRkaW5nIHRvIHRoZSBwYWQgdGVtcGxhdGUgYW5kIGZpeGF0ZSBmdW5jdGlvbgoKMjAxNS0wMS0wOSAyMTo1MTo0MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUmVtb3ZlIHBvaW50bGVzcyBhdG9taWMKCSAgSXQgaXMgb25seSBtb2RpZmllZCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDE1LTAxLTA5IDIxOjMwOjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggcXVlcnkgbGVhawoKMjAxNS0wMS0wOSAxNzo1NjowOSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHJlbW92ZSBjaGVjayBmb3IgYmVsb3cgemVybyBmb3IgdW5zaWduZWQgdmFsdWUKCSAgQ0xBTVAgY2hlY2tzIGJvdGggaWYgdmFsdWUgaXMgJzwgMCcgYW5kICc+IG1heCcuIFZhbHVlIHdpbGwgbmV2ZXIgYmUgYSBuZWdhdGl2ZQoJICBudW1iZXIgc2luY2UgaXQgaXMgYW4gdW5zaWduZWQgaW50ZWdlci4gUmVtb3ZpbmcgdGhhdCBjaGVjayBhbmQgb25seSBjaGVja2luZyBpZgoJICBpdCBpcyBiaWdnZXIgdGhhbiBtYXggYW5kIHNldHRpbmcgaXQgYXBwcm9wcmlhdGVseS4KCSAgQWxzbyBjb252ZXJ0aW5nIHRoZSBwcmV2aW91cyBpbnN0YW5jZSBvZiB0aGlzIGludG8gTUlOKCkgZm9yIGNvbnNpc3RlbmN5LgoJICBDSUQgMTEzOTc5MwoKMjAxNC0xMi0wMiAxMDoxMDozOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgY29tcGF0aWJsZSBwcm9maWxlcyB0byBkb3duc3RyZWFtCgkgIFNvbWUgdmlkZW8gYml0c3RyZWFtcyByZXBvcnQgYSB0b28gcmVzdHJpY3RpdmUgc2V0IG9mIHByb2ZpbGVzLiBJZiBhIHZpZGVvCgkgIGRlY29kZXIgd2FzIHRvIHN0cmljdGx5IGZvbGxvdyB0aGUgaW5kaWNhdGVkIHByb2ZpbGUsIGl0IHdvdWxkbid0IHN1cHBvcnQgdGhhdAoJICBzdHJlYW0sIHdoZXJlYXMgaXQgY291bGQgaW4gdGhlb3J5IGFuZCBpbiBwcmFjdGljZS4gU28gd2Ugc2hvdWxkIHJlbGF4IHRoZQoJICBwcm9maWxlIHJlc3RyaWN0aW9uIGZvciBhbGxvd2luZyB0aGUgZGVjb2RlciB0byBnZXQgY29ubmVjdGVkIHdpdGggcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTkyCgoyMDE1LTAxLTA5IDE2OjQzOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcmludCBqaXR0ZXIgZnJvbSBjbG9jayB3YWl0aW5nIGluIHRoZSBkZWJ1ZyBsb2dzCgoyMDE1LTAxLTA5IDE0OjQyOjM0ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcmVtb3ZlIGNoZWNrIGlmIGJlbG93IHplcm8gZm9yIHVuc2lnbmVkIHZhbHVlCgkgIENMQU1QIGNoZWNrcyBib3RoIGlmIHkgaXMgJzwgMCcgYW5kICc+IGgxJy4geSB3aWxsIG5ldmVyIGJlIGEgbmVnYXRpdmUgbnVtYmVyCgkgIHNpbmNlIGl0IGlzIGFuIHVuc2lnbmVkIGludGVnZXIuIFJlbW92aW5nIHRoYXQgY2hlY2sgYW5kIG9ubHkgY2hlY2tpbmcgaWYgaXQKCSAgYmlnZ2VyIHRoYW4gaDEgYW5kIHNldHRpbmcgaXQgdG8gdGhhdCBtYXggYXBwcm9wcmlldGFseS4KCSAgQ0lEIDExMzk3OTIKCjIwMTUtMDEtMDggMTY6MjQ6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IGNhY2hlIGN1cnJlbnQgZmlsZSBwb3NpdGlvbiBpbiB0aGUgbGlzdAoJICBBdm9pZHMgaXRlcmF0aW5nIHRoZSBsaXN0IGV2ZXJ5dGltZSB0byBsb29rIGZvciB0aGUgbmV4dCBzZWdtZW50CgkgIHRvIGJlIHVzZWQgKG9yIHRvIGFkdmFuY2UgdG8gdGhlIG5leHQgb25lKS4KCjIwMTUtMDEtMDggMTU6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogc2ltcGxpZnkgbmV4dCBzZWdtZW50IGNoZWNraW5nIGZ1bmN0aW9ucwoJICBPcHRpbWl6ZSBsb29wIGJ5IG1vdmluZyBjb25kaXRpb24gb3V0c2lkZSBvZiBpdCBhbmQgcmV1c2UgdGhlCgkgIGZpbmRfbmV4dF9mcmFnbWVudCBmdW5jdGlvbiB0byBjaGVjayBpZiB0aGVyZSBpcyBuZXh0IGluc3RlYWQgb2YKCSAgcmVwbGljYXRpbmcgdGhlIHNhbWUgbG9vcAoKMjAxNS0wMS0wOCAxMzowMzoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogY2FjaGUgdG90YWwgZHVyYXRpb24gdG8gYXZvaWQgaXRlcmF0aW5nIGF0IGV2ZXJ5IHF1ZXJ5CgkgIER1cmF0aW9uIHF1ZXJpZXMgY2FuIGJlIGRvbmUgYSBmZXcgdGltZXMgcGVyIHNlY29uZCBhbmQgd291bGQgY2F1c2UKCSAgdGhlIHNlZ21lbnQgbGlzdCB0byBiZSB0cmF2ZXJzZWQgZm9yIGV2ZXJ5IG9uZS4gQ2FjaGluZyB0aGUgZHVyYXRpb24KCSAgcHJldmVudHMgdGhhdC4KCjIwMTUtMDEtMDggMTg6MTU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IFBvc3QgTEFURU5DWSBtZXNzYWdlIHdoZW4gdGhlIG1vZGUgY2hhbmdlcwoJICBEaWZmZXJlbnQgbW9kZXMgaGF2ZSBkaWZmZXJlbnQgZnJhbWVyYXRlcywgYW5kIHRodXMgZGlmZmVyZW50IGxhdGVuY2llcy4gV2UKCSAgbWlnaHQgbmVlZCB0byByZWNvbmZpZ3VyZSB0aGUgbGF0ZW5jeSBvZiB0aGUgcGlwZWxpbmUuCgoyMDE1LTAxLTA4IDE4OjE0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxNS0wMS0wOCAxNjo0MjozMSArMDEwMCAgRmxvcmlhbiBMYW5nbG9pcyA8Zmxvcmlhbi5sYW5nbG9pc0Bmci50aGFsZXNncm91cC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGlua3ZpZGVvc3JjOiBBZGQgYXV0b21hdGljIG1vZGUgZGV0ZWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyODQKCjIwMTUtMDEtMDggMTU6NTQ6MTggKzAwMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXMuYmdAc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IGdfcmV0dXJuX2lmX2ZhaWwgaW4gZnVuY3Rpb24gd2l0aCByZXR1cm4gdHlwZQoJICBOZWVkIHRvIHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCgpIHdoZW4gdGhlIGZ1bmN0aW9uIHJldHVybnMgYSB0eXBlLCBpbiB0aGlzCgkgIGNhc2UgYSBnYm9vbGVhbgoKMjAxNS0wMS0wOCAxNTozNjowNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5jOgoJICBydHA6IHZhbHVlIHRydW5jYXRlZCB0b28gc2hvcnQgY3JlYXRlcyBkZWFkIGNvZGUKCSAgdHlwZSBpcyB0cnVuY2F0ZWQgdG8gMC0zMSB3aXRoICImIDB4MWYiLCBidXQgcmlnaHQgYWZ0ZXIgdGhhdCBpdCBpcyBjaGVja3MgaWYKCSAgdGhlIHZhbHVlIGlzIGVxdWl2YWxlbnQgdG8gR1NUX0gyNjVfTkFMX1ZQUywgR1NUX0gyNjVfTkFMX1NQUywgYW5kCgkgIEdTVF9IMjY1X05BTF9QUFMgKHdoaWNoIGFyZSAzMiwgMzMsIGFuZCAzNCByZXNwZWN0aXZlbHkpLiBPYnZpb3VzbHksIHRoaXMgd2lsbAoJICBuZXZlciBiZSBUcnVlIGlmIHRoZSB2YWx1ZSBpcyBtYXhpbXVtIDMxIGFmdGVyIHRoZSB0cnVuY2F0aW9uLgoJICBUaGUgaW50ZW50aW9uIG9mIHRoZSBjb2RlIHdhcyB0byB0cnVuY2F0ZSB0byAwLTYzLgoKMjAxNS0wMS0wOCAxNToyNzo0NCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9ydHAvZ3N0cnRwaDI2NWRlcGF5LmM6CgkgIHJ0cDogZml4IG5hbCB1bml0IHR5cGUgY2hlY2sKCSAgQWZ0ZXIgZnVydGhlciBpbnZlc3RpZ2F0aW9uIHRoZSBwcmV2aW91cyBjb21taXQgaXMgd3JvbmcuIFRoZSBjb2RlIGludGVuZGVkIHRvCgkgIGNoZWNrIGlmIHRoZSB0eXBlIGlzIDM5IG9yIHRoZSByYW5nZXMgNDEtNDQgYW5kIDQ4LTU1LiBKdXN0IGxpa2UgZ3N0aDI2NXBhcnNlLmMKCSAgZG9lcy4gVHlwZSA0MCB3b3VsZCBub3QgYmUgY29tcGxldGUuCgoyMDE1LTAxLTA4IDEzOjQ3OjA5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSAgcnRwOiBmaXggZGVhZCBjb2RlIGFuZCBjaGVjayBmb3IgaW1wb3NzaWJsZSB2YWx1ZXMKCSAgbmFsX3R5cGUgaXMgdGhlIGluZGV4IGZvciBhIEdzdEgyNjVOYWxVbml0VHlwZSBlbnVtLiBUaGVyZSBhcmUgdHdvIHR5cGVzIG9mIGRlYWQKCSAgY29kZSBoZXJlOgoJICBGaXJzdCwgYWZ0ZXIgY2hlY2tpbmcgaWYgbmFsX3R5cGUgaXMgPj0gMzkgdGhlcmUgYXJlIHR3byBPUiBjb25kaXRpb25hbHMgdGhhdAoJICBjaGVjayBpZiB0aGUgdmFsdWUgaXMgaW4gcmFuZ2VzIGhpZ2hlciB0aGFuIHRoYXQgbnVtYmVyLCBzbyBpZiBuYWxfdHlwZSA+PSAzOQoJICBmYWxscyBpbiB0aGUgVHJ1ZSBicmFuY2ggdGhvc2Ugb3RoZXIgY29uZGl0aW9ucyBhcmVuJ3QgY2hlY2tlZCBhbmQgaWYgaXQgZmFsbHMKCSAgaW4gdGhlIEZhbHNlIGJyYW5jaCBhbmQgdGhleSBhcmUgY2hlY2tlZCwgdGhleSB3aWxsIGFsd2F5cyBhbHNvIGJlIEZhbHNlLiBUaGV5CgkgIGFyZSByZWR1bmRhbnQuCgkgIFNlY29uZCwgdGhlIGVudW0gaGFzIGEgcmFuZ2Ugb2YgMCB0byA0MC4gU28gdGhlIGNoZWNrcyBmb3IgcmFuZ2VzIGhpZ2hlciB0aGFuIDQxCgkgIHNob3VsZCBuZXZlciBiZSBUcnVlLgoJICBSZW1vdmluZyB0aGlzIHJlZHVuZGFudCBjaGVja3MuCgkgIENJRCAxMjQ5Njg0CgoyMDE1LTAxLTA4IDE0OjQ3OjE2ICswMTAwICBGbG9yaWFuIFp3b2NoIDxmendvY2hAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFVubG9jayB0aGUgc3RyZWFtIGxvY2sgd2hpbGUgd2FpdGluZyBmb3IgcGVuZGluZyBmcmFtZXMgdG8gYmUgY29tcGxldGVkIGluIGZpbmlzaCgpCgkgIFdlIG1pZ2h0IG90aGVyd2lzZSBkZWFkbG9jayBiZWNhdXNlIGdzdF92dGVuY19lbnF1ZXVlX2J1ZmZlcigpIGNhbiBiZQoJICBjYWxsZWQgYWdhaW4gYW5kIHdpbGwgdGFrZSB0aGUgc3RyZWFtIGxvY2sgYWdhaW4gZnJvbSBhbm90aGVyIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MjE3NAoKMjAxNS0wMS0wOCAwODo0Njo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBpbXBsZW1lbnQgX2hhc19uZXh0X2ZyYWdtZW50IHRvIGF2b2lkIGJ1c3kgbG9vcGluZwoJICBJdCB3aWxsIGFsbG93IHRoZSBkZW11eGVyIHRvIHdhaXQgZm9yIGEgZnJhZ21lbnQgdG8gYmUgYXZhaWxhYmxlIGluc3RlYWQKCSAgb2YgYnVzeSBsb29waW5nIHBvbGxpbmcgdGhlIHBsYXlsaXN0IGZvciBhIG5ldyBmcmFnbWVudAoKMjAxNS0wMS0wOCAxMjo1NToxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgYSBkdW1teSB2YWx1ZSB0byB0aGUgdmlkZW8gY29ubmVjdGlvbiBtYXBwaW5nIHRhYmxlIGZvciBhdXRvCgoyMDE1LTAxLTA4IDEyOjQ4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJICBkZWNrbGlua2F1ZGlvc3JjOiBBZGQgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBhdWRpbyBpbnB1dCBjb25uZWN0aW9uCgoyMDE1LTAxLTA4IDEyOjIzOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgWExSIGFuZCBSQ0EgYXVkaW8gY29ubmVjdGlvbiBlbnVtcwoKMjAxNS0wMS0wOCAxMjoxNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rdmlkZW9zcmM6IEFkZCBhdXRvIHZhbHVlIGZvciB0aGUgY29ubmVjdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHdpbGwgdXNlIHRoZSBkZWZhdWx0L2F1dG8gY29ubmVjdGlvbiBmb3IgdmlkZW8gY2FwdHVyaW5nLCBhbmQgY2FuCgkgIGJlIHNldCB2aWEgdGhlIERlY2tsaW5rIGNvbmZpZ3VyYXRpb24gdG9vbHMuCgoyMDE1LTAxLTA4IDEyOjEzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggaW5kZW50aW9uIG9uY2UgYWdhaW4KCjIwMTUtMDEtMDYgMTQ6MDI6MzggKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuaDoKCSAgZGVja2xpbms6IEFkZCBwcm9wZXJ0eSBmb3IgY29uZmlndXJpbmcgdGhlIGlucHV0IGNvbm5lY3Rpb24gb2YgdGhlIHZpZGVvIHNvdXJjZXMKCjIwMTUtMDEtMDggMDk6MzU6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBEb24ndCBpbml0IGFuZCBjbGVhciBzdGF0aWMgR011dGV4IC8gR0NvbmQKCSAgV2Ugd291bGQgcG90ZW50aWFsbHkgdXNlIGl0IGZyb20gdGhlIG1haW4gbG9vcCBsYXRlciBpbgoJICBnc3RfZ2xfd2luZG93X2NvY29hX2luaXRfbnNhcHAoKSBpZiBpdCB0aW1lZCBvdXQgYmVmb3JlLgoKMjAxNS0wMS0wNyAxNjo1Mzo0MSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcmVtb3ZlIGxvZ2ljYWxseSBkZWFkIGNvZGUKCSAgU29vbiBhZnRlciBzZXR0aW5nIHR3byB2YXJpYWJsZXMgdG8gMSwgdGhlIGNvZGUgY2hlY2tzIGlmIHRoZWlyIHZhbHVlcyBhcmUKCSAgZGlmZmVyZW50IGZyb20gZWFjaCBvdGhlci4gVGhpcyB3b3VsZCBuZXZlciBiZSB0cnVlLiBSZW1vdmluZyB0aGlzLgoJICBDSUQgMTIyNjQ0MwoKMjAxNS0wMS0wNyAxNjo0MDoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJICBSZXZlcnQgInBuZ3BhcnNlOiBpbXByb3ZlIHBhcnNpbmcgb2YgdGhlIGltYWdlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU5ZTdmMDU5N2QxY2M1MjQxNzRlODQ3ZGU3YjkxNDA3OTIyMzA0YzguCgkgIFRoaXMgcGF0Y2ggc2hvdWxkIG5vdCBoYXZlIGJlZW4gcHVzaGVkLCBzZWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDA1OCNjMwoKMjAxNS0wMS0wNyAxNjoyNjo1NyArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBoYW5kZGV0ZWN0OiByZW1vdmUgdW5uZWVkZWQgY2hlY2sKCSAgVmFyaWFibGUgaGFuZHMgaXMgYWxyZWFkeSBjaGVja2VkIHRvIGNvbnRhaW4gYSB2YWx1ZSBwcmV2aW91c2x5IGF0IHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIGN1cnJlbnQgYmxvY2sgKGluIGxpbmUgNTA0KS4gVGhlcmUgaXMgbm8gbmVlZCB0byBjaGVjayBhZ2Fpbi4gVGhpcyBpcwoJICBsb2dpY2FsbHkgZGVhZCBjb2RlLgoJICBDSUQgMTE5NzY5MwoKMjAxNC0xMS0xMyAxNTo1NjowNyArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgcG5ncGFyc2U6IGltcHJvdmUgcGFyc2luZyBvZiB0aGUgaW1hZ2UKCSAgRXZlcnl0aW1lIGEgYnVmZmVyIGlzIGJlaW5nIHByb3ZpZGVkIGZyb20gYmFzZXBhcnNlLCB3ZSBhcmUgcGFyc2luZyBhbGwgdGhlIGRhdGEgZnJvbSB0aGUgYmVnaW5uaW5nLgoJICBCdXQgc2luY2Ugd2Ugd291bGQgaGF2ZSBhbHJlYWR5IHBhcnNlZCBzb21lIG9mIHRoZSBkYXRhIGluIHRoZSBwcmV2aW91cyBpdGVyYXRpb25zLAoJICBpdCBkb2VzbnQgbWFrZSBtdWNoIHNlbnNlIHRvIGtlZXAgcGFyc2luZyB0aGUgc2FtZSBldmVyeXRpbWUuCgkgIEhlbmNlIHNraXBwaW5nIHRoZSBkYXRhIHdoaWNoIGlzIGFscmVhZHkgcmVhZCBpbiBwcmV2aW91cyBpdGVyYXRpb25zIHRvIGltcHJvdmUgdGhlIHBhcnNpbmcgcGVyZm9ybWFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwNTgKCjIwMTUtMDEtMDcgMTU6MzI6MDUgKzAxMDAgIEZsb3JpYW4gTGFuZ2xvaXMgPGZsb3JpYW4ubGFuZ2xvaXNAZnIudGhhbGVzZ3JvdXAuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggbGF0ZW5jeSB2YWx1ZXMgZm9yIHNvdXJjZXMKCjIwMTUtMDEtMDcgMTA6MjM6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogcmVtb3ZlIGR1cGxpY2F0ZSBjYWxsIHRvIHVyaV9qb2luCgoyMDE1LTAxLTA3IDA5OjMwOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IHNraXAgY2hlY2tpbmcgJyNFWFQtWC0nIHRva2VuIGZvciBhbGwgZW50cmllcwoJICBQdXQgdGhpcyBjb21tb24gY2hlY2sgYmVmb3JlIHRvIGF2b2lkIHJlcGVhdGluZyBpdCBmb3IgYWxsIHBvc3NpYmxlCgkgIGVudHJpZXMgdG8gc2F2ZSBzb21lIGN5Y2xlcwoKMjAxNS0wMS0wNyAwOToyMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBhdm9pZCB1c2luZyBnX2xpc3RfYXBwZW5kIGZvciBjcmVhdGluZyBzZWdtZW50cyBsaXN0CgkgIFVzZSBnX2xpc3RfcHJlcGVuZCBhbmQgcmV2ZXJzZSBpdCBhdCB0aGUgZW5kIHRvIHNraXAgdHJhdmVyc2luZyB0aGUKCSAgc2FtZSBsaXN0IGZvciBldmVyeSBuZXcgc2VnbWVudAoKMjAxNC0wNi0yMCAxMjozODo1OSAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogRG9uJ3QgdXNlIGFwcHJveGltYXRlIGR1cmF0aW9uIGZvciBmcmFnbWVudCBidWZmZXIgcHRzCgkgIFRoZSBkdXJhdGlvbiB2YWx1ZXMgaW4gcGxheWxpc3RzIGFyZSBhcHByb3hpbWF0ZSBvbmx5LCBhbmQgZm9yCgkgIHBsYXlsaXN0IHZlcnNpb25zIDIgYW5kIG9sZGVyIHRoZXkgYXJlIG9ubHkgcm91bmRlZCBpbnRlZ2VyIHZhbHVlcy4KCSAgVGhleSBjYW5ub3QgYmUgdXNlZCB0byB0aW1lc3RhbXAgYnVmZmVycy4gIFRoaXMgcmVzdWx0ZWQgaW4gcGxheWJhY2sKCSAgZ2FwcyBhbmQgc2tpcHMgYmVjYXVzZSB0aGUgYWN0dWFsIGR1cmF0aW9uIG9mIGZyYWdtZW50cyBpcyBzbGlnaHRseQoJICBkaWZmZXJlbnQuICBUaGUgc29sdXRpb24gaXMgdG8gb25seSBzZXQgdGhlIHB0cyBvZiB0aGUgdmVyeSBmaXJzdAoJICBidWZmZXIgcHJvY2Vzc2VkLCBub3QgZm9yIGVhY2ggZnJhZ21lbnQuCgoyMDE1LTAxLTA2IDE4OjQ0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IG9ubHkgdXBkYXRlIHNlZ21lbnQgaWYgd2UgaGF2ZSBhIHZhbGlkIFBUUwoJICBPdGhlcndpc2Ugd2Ugc2V0IHRoZSBwb3NpdGlvbiB0byBHU1RfQ0xPQ0tfVElNRV9OT05FIGFuZCBpdCBkaXNydXB0cwoJICBiaXRyYXRlIHN3aXRjaGluZwoKMjAxNS0wMS0wNyAxMTozMTozMCArMDUzMCAgUmFqYXQgVmVybWEgPHJhamF0LnZlcm1hQHN0LmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBjcmFzaCB3aGlsZSBzZXR0aW5nIGJpdHJhdGUgaW4gY2FwcyBzdHJ1Y3R1cmUKCSAgcS0+Yml0cmF0ZSBpcyBhIGd1aW50NjQsIGJ1dCBHX1RZUEVfSU5UIG1heSByZWFkIGZld2VyIGJpdHMKCSAgb2ZmIHRoZSBzdGFjaywgYW5kIGlmIHdlIHBhc3MgbW9yZSB0aGVuIHRoZSBOVUxMIHNlbnRpbmVsCgkgIG1heSBub3QgYmUgZm91bmQgYXQgdGhlIHJpZ2h0IHBsYWNlLCB3aGljaCBpbiB0dXJuIG1pZ2h0CgkgIGxlYWQgdG8gY3Jhc2hlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTc1MQoKMjAxNS0wMS0wMiAwMDo1OTowMCArMDAwMCAgRHVuY2FuIFBhbG1lciA8ZHBhbG1lckBkaWdpc29mdC50dj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IHBlcmlvZGljIFNQUy9QUFMgc2VuZGluZyB3b3JrIGFmdGVyIGEgc2VlawoJICBSZXNldCB0aGUgaW50ZXJ2YWwgdmFyaWFibGUgdG8gaGF2ZSBTUFMvUFBTIHNlbmRpbmcgd29yayBhZnRlcgoJICBhIChiYWNrd2FyZHMpIHNlZWsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDIyMTIKCjIwMTUtMDEtMDUgMjE6MjY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZml4IGRlYWRsb2NrIHdpdGggcGFkIG9iamVjdCBsb2NrCgkgIFRoZSBpbWFnZSBjYXB0dXJlIG11dGV4IGFuZCB0aGUgcGFkIG9iamVjdCBsb2NrIHdvdWxkIGNhdXNlIGEgcmFjZQoJICBpZiB0aGUgcGFkIHF1ZXJ5IHdhcyBtYWRlIHJpZ2h0IHdoZW4gdGhlIGltYWdlIHByb2JlIHdhcyBydW5uaW5nLgoJICBUaGUgaW1hZ2UgcHJvYmUgbmVlZHMgdGhlIGNhcHR1cmUgbXV0ZXggYW5kIHRoZSBxdWVyeWluZyB3b3VsZCBuZWVkCgkgIHRoZSBwYWQgb2JqZWN0IGxvY2suCgoyMDE1LTAxLTA1IDE1OjE2OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHNpbXBsaWZ5IHdlaXJkIGlmL2Vsc2UgY2xhdXNlCgkgIEl0IGlzIG5vdCBhbiBpZi9lbHNlIHNpdHVhdGlvbiBidXQgYW4gaWYgZXJyb3IgYWJvcnQgb3RoZXJ3aXNlCgkgIGp1c3QgY29udGludWUuIFJlbW92ZSBlbHNlIHRvIG1ha2UgaXQgbW9yZSByZWFkYWJsZQoKMjAxNC0wNC0wNCAxNjo0NTo1MSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgbGl2ZSBzZWVraW5nCgkgIGhsc2RlbXV4IGFzc3VtZXMgdGhhdCBzZWVraW5nIGlzIG5vdCBhbGxvd2VkIGZvciBsaXZlIHN0cmVhbXMsCgkgIGhvd2V2ZXIgc2VlayBpcyBwb3NzaWJsZSBpZiB0aGVyZSBhcmUgc3VmZmljaWVudCBmcmFnbWVudHMgaW4gdGhlCgkgIG1hbmlmZXN0LiBGb3IgZXhhbXBsZSB0aGUgQkJDIGhhdmUgbGl2ZSBzdHJlYW1zIHRoYXQgY29udGFpbiAyIGhvdXJzCgkgIG9mIGZyYWdtZW50cy4KCSAgVGhlIHNlZWsgY29kZSBmb3IgYm90aCBsaXZlIGFuZCBvbi1kZW1hbmQgaXMgY29tbW9uIGNvZGUuIFRoZQoJICBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSBpcyB0aGF0IGFuIG9mZnNldCBoYXMgdG8gYmUgY2FsY3VsYXRlZAoJICBmb3IgdGhlIHRpbWVjb2RlIG9mIHRoZSBmaXJzdCBmcmFnbWVudCBpbiB0aGUgbGl2ZSBwbGF5bGlzdC4KCSAgV2hlbiBobHNkZW11eCBzdGFydHMgdG8gcGxheSBhIGxpdmUgc3RyZWFtLCB0aGUgcG9zc2libGUgc2VlayByYW5nZQoJICBpcyBiZXR3ZWVuIDAgYW5kIEEgc2Vjb25kcy4gQWZ0ZXIgc29tZSB0aW1lIGhhcyBwYXNzZWQsIHRoZSBiZWdpbm5pbmcgb2YKCSAgdGhlIHN0cmVhbSB3aWxsIG5vIGxvbmdlciBiZSBhdmFpbGFibGUgaW4gdGhlIHBsYXlsaXN0IGFuZCB0aGUgc2VlawoJICByYW5nZSBpcyBiZXR3ZWVuIEIgYW5kIEMgc2Vjb25kcy4KCSAgU2VlayByYW5nZToKCSAgc3RhcnQgICAgICAgICAgMCAuLi4uLi4uLi4uLiBBCgkgIGxhdGVyICAgICAgICAgICAgICAgQiAuLi4uLi4uLi4uLiBDCgkgIFRoaXMgY29tbWl0IGFkZHMgY29kZSB0byBrZWVwIGEgbm90ZSBvZiB0aGUgQiBhbmQgQyB2YWx1ZXMKCSAgYW5kIHRoZSBoaWdoZXN0IHNlcXVlbmNlIG51bWJlciBpdCBoYXMgc2Vlbi4gRXZlcnkgdGltZSBpdCB1cGRhdGVzIHRoZQoJICBtZWRpYSBwbGF5bGlzdCwgaXQgd2Fsa3MgdGhlIGxpc3Qgb2YgZnJhZ21lbnRzLCBzZWVpbmcgaWYgdGhlcmUgaXMgYQoJICBmcmFnbWVudCB3aXRoIHNlcXVlbmNlIG51bWJlciA+IGhpZ2hlc3Rfc2Vlbl9zZXF1ZW5jZS4gSWYgc28sIHRoZSB2YWx1ZXMKCSAgb2YgQiBhbmQgQyBhcmUgdXBkYXRlZC4gVGhlIHZhbHVlIG9mIEIgaXMgdXNlZCB3aGVuIHRpbWVzdGFtcGluZwoJICBidWZmZXJzLgoJICBJdCBhbHNvIG1ha2VzIHN1cmUgdGhlIHNlZWsgcmFuZ2UgaXMgbmV2ZXIgY2xvc2VyIHRoYW4gdGhyZWUgZnJhZ21lbnRzCgkgIGZyb20gdGhlIGVuZCBvZiB0aGUgcGxheWxpc3QgLSBzZWUgNi4zLjMuICJQbGF5aW5nIHRoZSBQbGF5bGlzdCBmaWxlIgoJICBvZiB0aGUgSExTIGRyYWZ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDM1CgoyMDE1LTAxLTA1IDE3OjU4OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguaDoKCSAgYWRhcHRpdmVkZW11eDogcHJlcGFyZSBmb3Igc3VwcG9ydGluZyBzZWVrcyBpbiBsaXZlIHN0cmVhbXMKCSAgQWRkIGZ1bmN0aW9uIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gc3BlY2lmeSBzZWVraW5nIHJhbmdlIGZvcgoJICBsaXZlIHN0cmVhbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTQzNQoKMjAxNS0wMS0wNCAxNzoxNTozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZG9uJ3QgdXNlIGl0ZXJhdG9yIHdoZW4gc2V0dGluZyBmbHVzaCBwZW5kaW5nIG9uIHBhZHMKCjIwMTUtMDEtMDQgMTY6NTc6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGNoZWNrIGlmIHBhZHMgYXJlIHJlYWR5IG1vcmUgZWZmaWNpZW50bHkKCSAgTm8gbmVlZCB0byB1c2UgYW4gaXRlcmF0b3IgZm9yIHRoaXMgd2hpY2ggY3JlYXRlcyBhIHRlbXBvcmFyeQoJICBzdHJ1Y3R1cmUgZXZlcnkgdGltZSBhbmQgYWxzbyBpbnZvbHZlcyB0YWtpbmcgYW5kIHJlbGVhc2luZyB0aGUKCSAgb2JqZWN0IGxvY2sgbWFueSB0aW1lcyBpbiB0aGUgY291cnNlIG9mIGl0ZXJhdGluZy4gTm90IHRvIG1lbnRpb24KCSAgYWxsIHRoYXQgR0xpc3QgaGFuZGxpbmcgaW4gZ3N0X2FnZ3JlZ2F0b3JfaXRlcmF0ZV9zaW5rcGFkcygpLgoKMjAxNS0wMS0wNCAxMjo1OToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbmFtZSB2ZnVuYyBhcmd1bWVudHMgY29uc2lzdGVudGx5CgoyMDE0LTEyLTMxIDIwOjQ3OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IG5vZGlzdCBmb3Igb3JjIGdlbmVyYXRlZCBjb2RlCgoyMDE1LTAxLTAxIDE1OjQ2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgZy1pIHRyYW5zZmVyIGFuZCBzY29wZSBhbm5vdGF0aW9ucwoKMjAxNS0wMS0wMSAxNDoxMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVnaXN0ZXIgbmFtZXMgb2YgaXRlcmF0ZV9zaW5rcGFkcyBmdW5jdGlvbnMgd2l0aCBkZWJ1ZyBzeXN0ZW0KCjIwMTUtMDEtMDEgMTQ6MDM6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlZHVjZSBkZWJ1ZyBtZXNzYWdlcyBmb3IgdGFraW5nL3JlbGVhc2luZyBsb2dzIHRvIFRSQUNFIGxldmVsCgkgIERvbid0IHNwYW0gZGVidWcgbG9nIHdpdGggdGhpcyBzdHVmZi4KCjIwMTQtMTItMzEgMTg6MTY6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbW92ZSBwcm9wZXJ0eSBtZW1iZXIgaW50byBwcml2YXRlIHN0cnVjdHVyZQoJICBPdXIgbG9ja2luZyAob3IgbGFjayB0aGVyZW9mKSB3aGlsZSBhY2Nlc3NpbmcgdGhpcyBhbHNvCgkgIGxvb2tzIGdlbmVyYWxseSBxdWl0ZSBkb2RneS4KCjIwMTQtMTItMzEgMTQ6NTA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBlbXB0eSBkaXNwb3NlIGZ1bmN0aW9uCgoyMDE0LTEyLTMwIDIzOjU4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmg6CgkgIGFnZ3JlZ2F0b3I6IGdpdmUgcHJpdmF0ZSBmdW5jdGlvbnMgbmFtZXNwYWNlIHByZWZpeAoJICBFc3BlY2lhbGx5IHRoZSBHU1RfREVCVUdfRlVOQ1BUUiBvbmVzLgoKMjAxNC0xMi0zMSAxMjozNTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogZml4IHVwIHNvbWUgZG9jcyBjb21tZW50cyBpbiBoZWFkZXIKCjIwMTQtMTItMzAgMjM6NDQ6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIG5vdy11bnVzZWQgc3lzdGVtIGNsb2NrIG1lbWJlcgoKMjAxNC0xMi0zMCAxOTo0Mzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2xtaXhlciwgZ2x2aWRlb21peGVyOiB1cGRhdGUgZm9yIEdzdEFnZ3JlZ2F0b3JQYWRGb3JlYWNoRnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTk6MjY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTk6MjI6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogbWFrZSBHc3RBZ2dyZWdhdG9yUGFkRm9yZWFjaEZ1bmMgdGFrZSBhbiBHc3RBZ2dyZWdhdG9yUGFkCgoyMDE0LTEyLTMwIDE4OjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiB1cGRhdGUgZm9yIGFnZ3JlZ2F0b3Igc3RhcnQvc3RvcCB2ZnVuYyBjaGFuZ2UKCjIwMTQtMTItMzAgMTc6NTY6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogdXBkYXRlIGZvciBhZ2dyZWdhdG9yIHN0YXJ0L3N0b3AgdmZ1bmMgY2hhbmdlCgoyMDE0LTEyLTMwIDE3OjUwOjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBicmluZyBzdGFydC9zdG9wIHZmdW5jIHNlbWFudGljcyBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZWNsYXNzZXMKCSAgU3ViLWNsYXNzIHNob3VsZCBub3QgaGF2ZSB0byBjaGFpbiB1cCB0byBHc3RBZ2dyZWdhdG9yJ3Mgc3RhcnQvc3RvcAoJICB2ZnVuY3MsIHNhbWUgYXMgaW4gR3N0QmFzZVNyYywgR3N0QmFzZVNpbmssIEdzdEJhc2VUcmFuc2Zvcm0gZXRjLgoKMjAxNC0xMi0zMCAxNToyOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogZml4IG91dHB1dC1ibG9jay1zaXplIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDE0LTEyLTMwIDA4OjA3OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBvbmx5IHR5cGVmaW5kIHdoZW4gd2UgaGF2ZSBhIG1pbmltdW0gYW1vdW50IG9mIGRhdGEKCSAgRm9yIHNtYWxsIGFtb3VudHMgc29tZSBkYXRhIG1pZ2h0IGJlIG1pc3R5cGVkIGFuZCBpdCB3b3VsZCBjYXVzZQoJICB0aGUgcGlwZWxpbmUgdG8gZmFpbC4gRm9yIGV4YW1wbGUgaWYgeW91IGhhdmUgQUFDIGluc2lkZSBtcGVndHMsCgkgIGZvciBzbWFsbCBhbW91bnRzLCB0aGUgQUFDIHNhbXBsZXMgd291bGQgY2F1c2UgdGhlIHR5cGVmaW5kZXIgdG8KCSAgdGhpbmsgaXQgaXMgQUFDIGFuZCBub3QgbXBlZ3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDYxCgoyMDE0LTEyLTI5IDExOjQ5OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkgIGRlY2tsaW5rOiBBZGQgc3VwcG9ydCBmb3IgNEsgLyBVSEQgbW9kZXMKCjIwMTQtMTItMjkgMTE6NDk6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRml4IGluZGVudGlvbgoKMjAxNC0xMi0yOSAxMDo0NDo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHRyeSB0byByZWYgbnVsbCBwb2ludGVyCgkgIFBsYXlsaXN0cyBtaWdodCBiZSBtaXNzaW5nIHRoZSBhdmFpbGFiaWxpdHkgc3RhcnQgdGltZSwgc28gY2hlY2sgZm9yCgkgIGl0IGJlZm9yZSB0cnlpbmcgdG8gcmVmIHRoZSBvYmplY3QKCjIwMTQtMTItMjkgMTA6NDQ6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJ1biBnc3QtaW5kZW50IG9uIG1wZHBhcnNlcgoJICBSdW4gZ3N0LWluZGVudCBvbiBtcGRwYXJzZXIgdG8gaGF2ZSBpdCBzdG9wIGNvbXBsYWluaW5nIG9uIGV2ZXJ5CgkgIGNvbW1pdAoKMjAxNC0xMi0yOCAxODoyNjo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogcmVtb3ZlIHBvaW50bGVzcyBHU1RfREVCVUdfRlVOQ1BUUgoJICBOb3QgdXNlZnVsIGZvciBHT2JqZWN0IHZmdW5jcy4KCjIwMTQtMTItMjggMTg6MjQ6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHJlbW92ZSBkdXBsaWNhdGUgcGFkIHBhcmVudF9jbGFzcyB2YXJpYWJsZQoJICBHX0RFRklORV9UWVBFIGFscmVhZHkgcHJvdmlkZXMgb25lLCBqdXN0IG5lZWQgdG8gdXNlIGl0LgoKMjAxNC0xMi0yOCAxODoyMjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIF9DQVNUKCkgdmFyaWFudHMgZm9yIGNhc3QgbWFjcm9zCgoyMDE0LTEyLTI4IDAxOjEzOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgYWdncmVnYXRvcjogbWFrZSBwYWRkaW5nIGxhcmdlcgoJICBFc3AuIHRoZSBjbGFzcyBzdHJ1Y3R1cmVzLCBjYW4ndCBoYXZlIGVub3VnaAoJICBzcGFyZSBzcGFjZSBmb3IgdmlydHVhbCBmdW5jdGlvbnMuCgoyMDE0LTEyLTI4IDAwOjU4OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgc2lyZW46IHJlbW92ZSB1bm5lZWRlZCBzdHJ1Y3R1cmUgcGFkZGluZwoJICBQdWJsaWMgaGVhZGVycyBhcmUgcHJpdmF0ZSBhbmQgbm90IGluc3RhbGxlZC4KCjIwMTQtMTItMjcgMTY6MTU6NDEgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogTG9nIHRvIHRoZSBwYWQgaW5zdGVhZCBvZiB0aGUgZWxlbWVudAoJICBNb3JlIGNvcnJlY3Qgd2F5IG9mIGRvaW5nIHRoZSBzYW1lIHRoaW5nIGFzIGJlZm9yZQoKMjAxNC0xMi0yNyAxNTo1MDoxNyArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IFBvaW50IHRvIGNvbXBvc2l0b3IgZm9yIHRoZSBwYWQgcHJvcGVydGllcyBkb2N1bWVudGF0aW9uCgoyMDE0LTEyLTI3IDE1OjQ5OjQ3ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IERvY3VtZW50IHRoZSBwYWQgcHJvcGVydGllcwoKMjAxNC0xMi0yNyAxNTo0OTozOSArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb2N1bWVudCB0aGUgcGFkIHByb3BlcnRpZXMKCjIwMTQtMTItMjcgMDk6NDk6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSB0aGF0IHRoZSBtaW5pbXVtIGxhdGVuY2llcyBhcmUgbmV2ZXIgR1NUX0NMT0NLX1RJTUVfTk9ORQoKMjAxNC0xMi0yNyAwOTo0Mjo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogV2FpdCBmb3IgdGhlIG1pbmltdW0gbGF0ZW5jeSwgbm90IHRoZSBtYXhpbXVtCgkgIFRoZSBtaW5pbXVtIGxhdGVuY3kgaXMgdGhlIGxhdGVuY3kgd2UgaGF2ZSB0byB3YWl0IGF0IGxlYXN0CgkgIHRvIGd1YXJhbnRlZSB0aGF0IGFsbCB1cHN0cmVhbXMgaGF2ZSBwcm9kdWNlZCBkYXRhLiBUaGUgbWF4aW11bQoJICBsYXRlbmN5IGhhcyBubyBtZWFuaW5nIGxpa2UgdGhhdCBhbmQgc2hvdWxkbid0IGJlIHVzZWQgZm9yIHdhaXRpbmcuCgoyMDE0LTEyLTI3IDA0OjIxOjM2ICswNTMwICBOaXJiaGVlayBDaGF1aGFuIDxuaXJiaGVla0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IENsYW1wIHRoZSBtaW4gbGF0ZW5jeSBhdCB0aGUgbWF4IGlmIGl0J3MgZ3JlYXRlcgoKMjAxNC0xMi0yNyAwNDoyMToyNiArMDUzMCAgTmlyYmhlZWsgQ2hhdWhhbiA8bmlyYmhlZWtAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBQcmludCB0aGUgc2lua3BhZCBuYW1lIHdoaWxlIGxvZ2dpbmcgbGF0ZW5jeSBxdWVyaWVzCgkgIFZlcnkgdXNlZnVsIHdoaWxlIGRlYnVnZ2luZy4KCjIwMTQtMTItMjcgMDQ6MTk6NTIgKzA1MzAgIE5pcmJoZWVrIENoYXVoYW4gPG5pcmJoZWVrQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVGFrZSB0aGUgc3RyZWFtIGxvY2sgd2hlbiBpdGVyYXRpbmcgc2luayBwYWRzCgkgIFdoZW4gaXRlcmF0aW5nIHNpbmsgcGFkcyB0byBjb2xsZWN0IHNvbWUgZGF0YSwgd2Ugc2hvdWxkIHRha2UgdGhlIHN0cmVhbSBsb2NrIHNvCgkgIHdlIGRvbid0IGdldCBzdGFsZSBkYXRhIGFuZCBwb3NzaWJseSBkZWFkbG9jayBiZWNhdXNlIG9mIHRoYXQuIFRoaXMgZml4ZXMKCSAgYSBkZWZpbml0aXZlIGRlYWRsb2NrIGluIF93YWl0X2FuZF9jaGVjaygpIHRoYXQgbWFuaWZlc3RzIHdpdGggaGlnaCBtYXgKCSAgbGF0ZW5jaWVzIGluIGEgbGl2ZSBwaXBlbGluZSwgYW5kIGZpeGVzIG90aGVyIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9ucy4KCjIwMTQtMTItMjYgMjM6MDU6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogZG8gbm90IHNldCBzb3VyY2Ugc3RhdGUgd2l0aCBsb2NrCgkgIEl0IG1pZ2h0IGJlIHJhY3kgd2l0aCB0aGUgaW1hZ2UgcHJvYmUgdGhyZWFkIGFzIGl0IHVzZXMgdGhlIGNhcHR1cmUKCSAgbXV0ZXgganVzdCBsaWtlIHRoZSBzdGFydC1jYXB0dXJlIGhhbmRsZXIgZnJvbSBjYW1lcmFiaW4uIFRoZQoJICBzdGFydC1jYXB0dXJlIHdvdWxkIGJlIHdhaXRpbmcgZm9yIHRoZSBzb3VyY2UncyBzdHJlYW1pbmcgdGhyZWFkCgkgIHRvIHN0b3AgdG8gYmUgYWJsZSB0byBzZXQgdGhlIHNvdXJjZSBzdGF0ZSB0byByZWFkeSB3aGlsZSB0aGUKCSAgcHJvYmUgd291bGQgYmUgYmxvY2tlZCB3YWl0aW5nIHRvIGFjcXVpcmUgdGhlIGNhcHR1cmUgbXV0ZXguCgkgIEl0IGNhdXNlcyBhIGRlYWRsb2NrLgoKMjAxNC0xMi0yNiAxMDoxNzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiB1c2UgdGhlIGRyYWluIHF1ZXJ5IGluc3RlYWQgb2YgZmx1c2gKCSAgVGhlIGZsdXNoIG1pZ2h0IGNsZWFyIGFueSBwZW5kaW5nIGNhcHR1cmVzIHRoYXQgYXJlIHN0aWxsIGluCgkgIHF1ZXVlcyBiZWluZyBwcm9jZXNzZWQgd2hpbGUgdGhlIGRyYWluIHF1ZXJ5IHdpbGwgd2FpdCBmb3IgdGhvc2UKCSAgdG8gYmUgcHJvcGVybHkgZG9uZQoKMjAxNC0xMi0yNiAyMjo0NTo0MSArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW1wcm92ZSB0aW1lc3RhbXAgY29kZQoJICBVc2UgYSBjb21iaW5hdGlvbiBvZiB0aGUgcnVubmluZyB0aW1lIGFuZCBDTUNsb2NrR2V0VGltZSBmcm9tIEFWRiB0byBjb21wdXRlCgkgIHRpbWVzdGFtcHMuCgoyMDE0LTEyLTI2IDExOjQ4OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiB1c2UgcHVibGljIEFQSSBmb3IgYWNjZXNzaW5nIHN0cmVhbSBoZWFkZXIgYXJyYXlzIGluIGNhcHMKCSAgRG9uJ3QgcmVseSBvbiBjb3JlIGltcGxlbWVudGF0aW9uIGRldGFpbHMsIHdoaWNoIGFyZSBwcml2YXRlIGFuZAoJICBtYXkgY2hhbmdlLiBJdCdzIGFsc28gbm90IG5lZWRlZCBoZXJlLCB0aGUgcGVyZm9ybWFuY2UgaW1wYWN0IGlzCgkgIGNsb3NlIHRvIG5vbmUuIEFsc28gY29weSBidWZmZXIgYmVmb3JlIGNoYW5naW5nIGl0cyBtZXRhZGF0YS4KCjIwMTQtMTItMjYgMTE6Mjk6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICB0ZXN0czogZ2RwZGVwYXk6IHVwZGF0ZSBmb3IgaW50ZXJuYWwgZ2RwIHJlZmFjdG9yaW5nCgkgIFRoaXMgdGVzdCB1c2VzIHNvbWUgaW50ZXJuYWwvcHJpdmF0ZSBBUEksIHNvIG5lZWRzIHRvCgkgIGJlIHVwZGF0ZWQgZm9yIHJlY2VudCBjaGFuZ2VzLgoKMjAxNC0xMi0yNiAxMToyNzozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogcmVmYWN0b3IgcGF5bG9hZGluZyBjb2RlIGEgbGl0dGxlCgkgIEdldCByaWQgb2Ygc29tZSBpbmRpcmVjdGlvbnMgYW5kIGluZWZmaWNpZW5jaWVzLAoJICBqdXN0IHBheWxvYWQgdGhpbmdzIGRpcmVjdGx5IHdoaWNoIGdpdmVzIHVzIG1vcmUKCSAgY29udHJvbCBvdmVyIHdoYXQgbWVtb3J5IGlzIGFsbG9jYXRlZCB3aGVyZSBhbmQKCSAgaG93IGFuZCBtYWtlcyB0aGluZ3MgbXVjaCBzaW1wbGVyLiBJbiBwYXJ0aWN1bGFyLAoJICB3ZSBjYW4gbm93IGFsbG9jYXRlIHRoZSBwYXlsb2FkIGhlYWRlciBwbHVzIHRoZQoJICBHc3RNZW1vcnkgdG8gcmVwcmVzZW50IGl0IGluIG9uZSBnby4KCjIwMTQtMTItMTUgMDA6NDE6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBnZHBwYXk6IHJlZmFjdG9yIGEgbGl0dGxlCgkgIEdldCByaWQgb2Ygbm93LXVzZWxlc3MgcGFja2V0aXplciBzdHJ1Y3QgYW5kIGp1c3QKCSAgY2FsbCBpbnRlcm5hbCBmdW5jdGlvbnMgZGlyZWN0bHkuIEFsc28gcmVtb3ZlCgkgIHZlcnNpb24gcHJvcGVydHkgd2hpY2ggaXMgbm93IGRlZnVuY3QsIG5vdCBsZWFzdAoJICBiZWNhdXNlIHdlIGNyZWF0ZSB0aGUgcGFja2V0aXplciB3aXRoIHRoZQoJICB2ZXJzaW9uIGluIHRoZSBpbml0IGZ1bmN0aW9uIGJlZm9yZSBhIHZlcnNpb24KCSAgY2FuIGJlIHNldC4KCjIwMTQtMTItMTMgMTY6NDY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGdkcHBheTogaW5pdGlhbGlzZSBtZW1vcnkgb2YgYnVmZmVycyB1c2VkIGluIHVuaXQgdGVzdAoKMjAxNC0xMi0xMyAxNToyMzo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcHBheTogb3B0aW1pc2UgcGF5bG9hZGluZyBvZiBidWZmZXJzIHdpdGggbXVsdGlwbGUgbWVtb3JpZXMKCSAgQWRkIGZ1bmN0aW9uIHRvIGNhbGN1bGF0ZSBhIHBheWxvYWQgQ1JDIGFjcm9zcyBtdWx0aXBsZSBtZW1vcmllcwoJICBzbyB3ZSBkb24ndCBoYXZlIHRvIG1lcmdlIGJ1ZmZlcnMgd2l0aCBtdWx0aXBsZSBtZW1vcmllcyBqdXN0IHRvCgkgIGNhbGN1bGF0ZSB0aGUgQ1JDLiBBbHNvIG1ha2UgQ1JDIGNhbGN1bGF0aW9uIGZ1bmN0aW9uIHN0YXRpYywKCSAgc2luY2UgaXQncyBub3QgdXNlZCBvdXRzaWRlIGRhdGFwcm90b2NvbC5oIGFuZCBtb3ZlIHNwZWNpYWwtY2FzaW5nCgkgIG9mIGxlbmd0aCA9IDAgLT4gQ1JDID0gMCBpbnRvIENSQyBmdW5jdGlvbiAoZnJvbSBjYWxsZXIpLgoJICBQZXJoYXBzIG1vcmUgaW1wb3J0YW50bHksIHNpbmNlIHBheWxvYWQgQ1JDIGlzIG9mZiBieSBkZWZhdWx0OgoJICBkb24ndCBtYXAgYnVmZmVyIChhbmQgcG9zc2libHkgbWVyZ2UgbWVtb3JpZXMgaW4gdGhlIHByb2Nlc3MpCgkgIGlmIHdlIGFyZSBub3QgZ29pbmcgdG8gdXNlIGl0IHRvIGNhbGN1bGF0ZSBhIENSQyBhbnl3YXkuCgoyMDE0LTEyLTEzIDE1OjE5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwcGF5OiBkYXRhcHJvdG9jb2w6IGRyb3AgYm9ndXMgY29uc3QKCSAgRG9lc24ndCByZWFsbHkgbWFrZSBzZW5zZSBnaXZlbiB0aGF0IHdlIG1hcAoJICBpdCBhbmQgcG9zc2libHkgbWVyZ2UgbWVtb3JpZXMgYW5kIHN1Y2guCgoyMDE0LTExLTI0IDEyOjE4OjM2IC0wNzAwICBWaWpheSBKYXlhcmFtYW4gPFZpamF5LkpheWFyYW1hbkBlY2hvc3Rhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB0eXBlZmluZCBtaWdodCBmYWlsIGlmIGZpcnN0IGJ1ZmZlciBpcyB0b28gc2hvcnQKCSAgSWYgdHlwZWZpbmQgZmFpbHMsIGNoZWNrIHRvIHNlZSBpZiB0aGUgYnVmZmVyIGlzIHRvbyBzaG9ydCBmb3IgdHlwZWZpbmQuIElmIHRoaXMgaXMgdGhlIGNhc2UsCgkgIHByZXBlbmQgdGhlIGRlY3J5cHRlZCBidWZmZXIgdG8gdGhlIHBlbmRpbmcgYnVmZmVyIGFuZCB0cnkgYWdhaW4gdGhlIG5leHQgdGltZSBhcm91bmQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA0NTgKCjIwMTQtMDgtMjcgMTY6MjY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogcG9ydCB0byBhZGFwdGl2ZSBiYXNlIGNsYXNzCgkgIENvbmZsaWN0czoKCSAgZXh0L2hscy9nc3RobHNkZW11eC5jCgkgIGV4dC9obHMvZ3N0aGxzZGVtdXguaAoKMjAxNC0xMi0yMyAwMTo1MTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBjaGVjayBpZiBlbGVtZW50IGV4aXN0cyBiZWZvcmUgc2V0dGluZyBpdCB0byBudWxsCgkgIFVuZGVyIGNlcnRhaW4gZXJyb3IgY29uZGl0aW9ucyBpdCBtaWdodCBoYXBwZW4gdGhhdCB0aGUgZWxlbWVudAoJICBoYXMgYmVlbiBmcmVlZCBhbHJlYWR5IGFuZCB0cnlpbmcgdG8gc2V0IGl0IHRvIE5VTEwgY2F1c2VzIGFuCgkgIGFzc2VydGlvbgoKMjAxNC0xMi0yMyAwMTo1MToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtYWtlIHN1cmUgdGFzayBoYXMgc3RvcHBlZCBiZWZvcmUgZnJlZWluZyBpdAoJICBPdGhlcndpc2UgdGhlIHRocmVhZCB3aWxsIGJlIHJ1bm5pbmcgYW5kIGl0cyBtZW1vcnkgd2lsbCBnZXQgZnJlZWQuCgkgIFRoaXMgbGVhZHMgdG8gbWVtb3J5IGNvcnJ1cHRpb24KCjIwMTQtMTItMjMgMDE6NDg6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IHNlZ21lbnQgc3RhcnQgd2hlbiBleHBvc2luZyBuZXcgc3RyZWFtcwoJICBTZWdtZW50IHN0YXJ0IG5lZWRzIG9ubHkgdG8gYmUgdXBkYXRlZCB3aGVuIHN0YXJ0aW5nIHRoZSBzdHJlYW1zCgkgIG9yIGFmdGVyIGEgc2VlaywgZG9pbmcgaXQgZHVyaW5nIGJpdHJhdGUgY2hhbmdlcyB3aWxsIGNhdXNlIHRoZQoJICBydW5uaW5nIHRpbWUgdG8gZ28gZGlzY29udGludW91cyAoanVtcCBiYWNrIHRvIGEgcHJldmlvdXMgdHMpCgkgIGFuZCBRT1Mgd2lsbCBkcm9wIGJ1ZmZlcnMKCjIwMTQtMTItMTkgMDI6MjI6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsb3cgc3ViY2xhc3MgdG8gdXNlIG5ldyBwYWRzIGdyb3VwIHdoZW4gc3dpdGNoaW5nIGJpdHJhdGUKCSAgRml4IHBhZCBncm91cHMgc3dpdGNoaW5nIHdoZW4gYml0cmF0ZSBjaGFuZ2VzIHRvIGFsbG93IEhMUyB0byB1c2UgdGhpcyBmZWF0dXJlCgoyMDE0LTEyLTIzIDEyOjI0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBJZiBnZXR0aW5nIGEgdGltZW91dCBiZWZvcmUgaGF2aW5nIGNhcHMsIGp1c3QgYWR2YW5jZSBvdXIgcG9zaXRpb24KCSAgVGhpcyBjYW4gaGFwcGVuIGlmIHRoaXMgaXMgYSBsaXZlIHBpcGVsaW5lIGFuZCBubyBzb3VyY2UgcHJvZHVjZWQgYW55IGJ1ZmZlcgoJICBhbmQgc2VudCBubyBjYXBzIHVudGlsIHRoZSBhbiBvdXRwdXQgYnVmZmVyIHNob3VsZCd2ZSBiZWVuIHByb2R1Y2VkIGFjY29yZGluZwoJICB0byB0aGUgbGF0ZW5jeS4KCjIwMTQtMTItMjMgMTI6MTU6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2Ugc3VyZSB0byByZWxlYXNlIHRoZSBjdXJyZW50IGJ1ZmZlciBpbiByZXNldCgpCgkgIElmIHdlIGRpZG4ndCBvdXRwdXQgdGhlIGxhc3Qgb25lIGluIGFnZ3JlZ2F0ZSBiZWNhdXNlIHdlIHdlcmUgc2h1dHRpbmcgZG93bgoJICBlYXJsaWVyIHdlIG1pZ2h0IG90aGVyd2lzZSBsZWFrIGl0LgoKMjAxNC0xMi0yMyAxMTo0NTo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IENoYW5nZSBibG9ja3NpemUgcHJvcGVydHkgdG8gb3V0cHV0LWJ1ZmZlci1kdXJhdGlvbiBpbiB0aW1lIGZvcm1hdAoJICBUaGlzIG1ha2VzIHRoZSBpbnRlcmZhY2Ugb2YgYXVkaW9taXhlciBpbmRlcGVuZGVudCBvZiB0aGUgYWN0dWFsIGNhcHMuCgoyMDE0LTEyLTIzIDExOjQ1OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEb24ndCBsZWFrIGZsdXNoLXN0YXJ0IGV2ZW50cwoKMjAxNC0xMi0yMyAxMDoyNDoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWxzbyBjaGFuZ2UgdGhlIGRlZmF1bHQgbGF0ZW5jeSB0byAwLCBub3QganVzdCB0aGUgbWluaW11bQoKMjAxNC0xMi0yMyAwOTo1MjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IGRvY3MgYW5kIGRlZmF1bHQgdmFsdWUgb2YgdGhlIGxhdGVuY3kgcHJvcGVydHkKCjIwMTQtMTItMjIgMjI6MTk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEFsc28gaW5jbHVkZSB0aGUgc3ViY2xhc3MgbGF0ZW5jeSBpbiB0aGUgcmVzdWx0IG9mIHRoZSBsYXRlbmN5IHF1ZXJ5CgoyMDE0LTEyLTIyIDIyOjExOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IFVzZSB0aGUgc3JjIHF1ZXJ5IGltcGxlbWVudGF0aW9uIG9mIGFnZ3JlZ2F0b3IgYXMgdGhlIGRlZmF1bHQgY2FzZQoKMjAxNC0xMi0yMiAyMjoxMToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogVXNlIHRoZSBzcmMgcXVlcnkgaW1wbGVtZW50YXRpb24gb2YgYWdncmVnYXRvciBhcyB0aGUgZGVmYXVsdCBjYXNlCgoyMDE0LTEyLTIyIDE2OjQ1OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IHRha2UgaW50byBhY2NvdW50IGZpbHRlciBpbiB0cmFuc2Zvcm1fY2FwcyBmdW5jdGlvbgoJICBGaXhlcyBjcml0aWNhbHMgd2hlbiBmaWx0ZXIgY2FwcyBhcmUgcGFzc2VkLgoJICBBbHNvIGZpeCB3cm9uZyBHU1RfREVCVUdfT0JKRUNUIHVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTg2MwoKMjAxNC0xMi0yMiAxNToyNjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUG9zdCBhIGxhdGVuY3kgbWVzc2FnZSBpZiB0aGUgdmFsdWUgb2YgdGhlIGxhdGVuY3kgcHJvcGVydHkgY2hhbmdlcwoKMjAxNC0xMi0yMiAxNTowMzo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogV2FrZSB1cCB0aGUgc3JjIHRocmVhZCBhZnRlciBoYW5kbGluZyBhIGxhdGVuY3kgcXVlcnkKCSAgRHVlIHRvIGNoYW5nZWQgbGF0ZW5jaWVzIG9yIGNoYW5nZWQgbGl2ZS1uZXNzIHdlIG1pZ2h0IGhhdmUgdG8KCSAgYWRqdXN0IGlmIHdlIHdhaXQgb24gYSBkZWFkbGluZSBhdCBhbGwgYW5kIGhvdyBsb25nLgoKMjAxNC0xMi0yMiAxNTowMDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRG9uJ3QgY291bnQgdGhlIG51bWJlciBvZiB0aW1lcyB3ZSBuZWVkIHRvIHdha2UgdXAgYnV0IGluc3RlYWQgY2hlY2sgYWxsIGNvbmRpdGlvbnMgZm9yIHdhaXRpbmcgYWdhaW4KCSAgVGhpcyBzaW1wbGlmaWVzIHRoZSBjb2RlIGFuZCBhbHNvIG1ha2VzIHN1cmUgdGhhdCB3ZSBkb24ndCBmb3JnZXQgdG8gY2hlY2sgYWxsCgkgIGNvbmRpdGlvbnMgZm9yIHdhaXRpbmcuCgkgIEFsc28gZml4IGEgcG90ZW50aWFsIGRlYWRsb2NrIGNhdXNlZCBieSBub3QgY2hlY2tpbmcgaWYgd2UncmUgYWN0dWFsbHkgc3RpbGwKCSAgcnVubmluZyBiZWZvcmUgc3RhcnRpbmcgdG8gd2FpdC4KCjIwMTQtMTItMjIgMTE6NDk6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogSW5zdGVhZCBvZiBjcmFzaGluZyBpZiBubyBjb3JyZXNwb25kaW5nIGZyYW1lIGlzIGZvdW5kLCBpZ25vcmUgdGhpcwoJICAuLi4gYW5kIGhvcGUgdGhhdCBldmVyeXRoaW5nIHdpbGwgYmUgZmluZS4gVGhpcyBzaG91bGRuJ3QgcmVhbGx5IGhhcHBlbiBidXQKCSAgcHJldmlvdXNseSBoYXBwZW5lZCBkdXJpbmcgc2h1dGRvd24uIEl0IHNob3VsZCBiZSBmaXhlZCBpbiB2aWRlb2VuY29kZXIgbm93LAoJICBidXQgYmV0dGVyIGJlIG9uIHRoZSBzYWZlIHNpZGUgaGVyZS4KCjIwMTQtMTItMjIgMTE6NDY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNQUlOVEFJTkVSUzoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0ZSBteSBtYWlsIGFkZHJlc3MKCjIwMTQtMTItMjEgMDc6NDc6MjUgLTA1MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW9taXhlci9NYWtlZmlsZS5hbToKCSAgYXVkaW9taXhlcjogZml4IGJ1aWxkIGZsYWcgb3JkZXIKCSAgSGF2ZSB0aGUgbGlicmFyaWVzL2lubGN1ZGVzIGZyb20gcGx1Z2lucy1iYWQgZmlyc3QgdG8gYXZvaWQgcGlja2luZyB1cCB0aGUgaW5zdGFsbGVkIHZlcnNpb24uCgkgIEZpeGVzIHRoZSBidWlsZCB3aGVuIHRoZSBsb2NhbCBhcGkgY2hhbmdlZC4KCjIwMTQtMTItMjAgMTI6MjQ6NTMgLTA1MDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZnJlZXZlcmIvR3N0RnJlZXZlcmIucHJzOgoJKiBnc3QvZnJlZXZlcmIvTWFrZWZpbGUuYW06CgkgIGZyZWV2ZXJiOiBhZGQgYSBmZXcgcHJlc2V0cwoKMjAxNC0xMi0xOSAxMzoxODo1MCAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbG9yY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x0ZXN0OiBQb3J0IHRvIG5ldyBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxMjoyMjoxMiAtMDUwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbGJ1ZmZlcnBvb2w6IEFsd2F5cyByZWNhbGN1bGF0ZSBidWZmZXIgc2l6ZQoJICBBY3R1YWxseSB3ZSBzaG91bGQgYWx3YXlzIHJlY2FsY3VsYXRlIGJ1ZmZlciBzaXplIHNpbmNlIG91ciBidWZmZXIgc2l6ZQoJICBldmVuIHdoZW4gbm90LXBhZGRlZCBpcyBzbWFsbGVyIGZvciBtYW55IHN1Yi1zYW1wbGVkIGZvcm1hdHMuIFRoaXMgaXMKCSAgYmVjYXVzZSB3ZSBkb24ndCBhZGQgcGFkZGluZyBiZXR3ZWVuIHRoZSBwbGFuZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTkgMTI6MTI6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBnbG1lbW9yeTogTm8gbmVlZCBmb3IgcGFkZGluZwoJICBBIG1lbW9yeSBvYmplY3QgY2Fubm90IGJlIHB1dCBvbiBzdGFjaywgc28gbm8gbmVlZCBmb3IgcGFkZGluZy4KCjIwMTQtMTItMTkgMTI6MTE6MDggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvQWxpZ25tZW50CgkgIFRoaXMgYWxsb3cgc2F2aW5nIGEgY29weSB3aXRoIGxpYmF2IHZpZGVvIGRlY29kZXJzIG9yIGRlY29kZXJzIHdpdGgKCSAgc2ltaWxhciBwYWRkaW5nIHJlcXVpcmVtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTAwCgoyMDE0LTExLTIyIDExOjI1OjIzIC0wNTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgZ2xtZW1vcnk6IEhhbmRsZSB1cGxvYWQvZG93bmxvYWQgZmxhZ3MgZnJvbSBtYXAKCSAgUHJvYmxlbSB3YXMgdGhhdCBpZiBidWZmZXIgd2FzIG1hcHBlZCBSRUFEV1JJVEUgKHN0YXRlIG9mIGJ1ZmZlcnMgZnJvbQoJICBsaWJhdiByaWdodCBub3cpLCBtYXBwaW5nIGl0IFJFQUQvR0wgd2lsbCBub3QgdXBsb2FkLiBUaGlzIGlzIGJlY2F1c2UgdGhlCgkgIGZsYWcgaXMgb25seSBzZXQgd2hlbiB0aGUgYnVmZmVyIGlzIHVubWFwcGVkLiBXZSBjYW4gZml4IHRoaXMgYnkgc2V0dGluZwoJICB0aGUgZmxhZ3MgaW4gbWFwLiBUaGlzIHJlc3VsdCBpbiBhbHJlYWR5IG1hcHBlZCBidWZmZXIgdGhhdCBnZXQgbWFwcGVkCgkgIHRvIGJlIHJlYWQgaW4gR0wgd2lsbCBiZSB1cGxvYWRlZC4gVGhlIHByb2JsZW0gaXMgdGhhdCBpZiB0aGUgd3JpdGUKCSAgbWFwcGVyIG1ha2VzIG1vZGlmaWNhdGlvbiBhZnRlcndhcmQsIHRoZSBtb2RpZmljYXRpb24gd2lsbCBuZXZlciBnZXQKCSAgdXBsb2FkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5MDAKCjIwMTQtMTItMTMgMjE6NDc6MzggLTA1MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBIYW5kbGUgY3VzdG9tIHN0cmlkZSB3aXRoIE9QRU5HTDMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDkwMAoKMjAxNC0xMi0xOSAxNTowNTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbms6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggZ2NjCgoyMDE0LTEyLTE5IDE0OjUwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IFJlLWFkZCB0aGUgQ09NIGluaXRpYWxpemF0aW9uIGNvZGUgZm9yIFdpbmRvd3MKCSAgVW50ZXN0ZWQsIGFuZCB3ZSB3aWxsIG5ldmVyIGRlaW5pdGlhbGl6ZSBDT00gYWdhaW4uCgoyMDE0LTEyLTE5IDE0OjM4OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJICBkZWNrbGluazogUmVtb3ZlIGluLXNhbWUtcGlwZWxpbmUgZGV0ZWN0aW9uIGNvZGUgZm9yIGF1ZGlvL3ZpZGVvIGVsZW1lbnRzIG9mIHRoZSBzYW1lIGRldmljZQoJICBUaGlzIGNhdXNlcyBkZWFkbG9ja3Mgc29tZXRpbWVzIGZvciBzb21lIHJlYXNvbi4KCjIwMTQtMTItMTkgMTQ6MzU6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEltcGxlbWVudCBjbG9jayBzbGF2aW5nCgoyMDE0LTEyLTE5IDEzOjUyOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zaW5rLmNwcDoKCSAgZGVja2xpbmt2aWRlb3Npbms6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0IGZvciB3aGVuIGZyYW1lcyBhcmUgc2NoZWR1bGVkCgoyMDE0LTEyLTE5IDEzOjI4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgZm9yIGNvbmZpZ3VyaW5nIHRoZSBidWZmZXIgc2l6ZSBvZiB0aGUgc291cmNlcwoKMjAxNC0xMi0xOSAxMzoyNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSAgZGVja2xpbmthdWRpb3NyYzogSW1wbGVtZW50IHRpbWVzdGFtcCBqaXR0ZXIgYW5kIGRpc2NvbnQgaGFuZGxpbmcKCjIwMTQtMTItMTkgMTI6Mzc6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmNwcDoKCSAgZGVja2xpbms6IE91ciBjYXB0dXJlIHRpbWUgaXMgdGhlIGVuZCB0aW1lc3RhbXAgb2YgdGhlIGJ1ZmZlciwgc3VidHJhY3QgdGhlIGR1cmF0aW9uCgoyMDE0LTEyLTE5IDEyOjMwOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmthdWRpb3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3ZpZGVvc3JjLmg6CgkgIGRlY2tsaW5rOiBBbGxvdyBmb3IgYSBtYXhpbXVtIG9mIDUgcGFja2V0cyB0byBiZSBxdWV1ZWQgdXAKCSAgSW4gY2FzZSBkb3duc3RyZWFtIGlzIGEgYml0IHNsb3cgd2l0aCBjb25zdW1pbmcgcGFja2V0cyBhdCB0aW1lcy4KCjIwMTQtMTItMTkgMTI6MDM6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBpbiBzb3VyY2VzIGFuZCByZW1lbWJlciBzZWxlY3RlZCBtb2RlCgoyMDE0LTEyLTE4IDE4OjMwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IFJlbW92ZSBvYnNvbGV0ZSBmaWxlcwoKMjAxNC0xMi0xOCAxNzozMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rYXVkaW9zcmMuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rdmlkZW9zcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NyYy5oOgoJICBkZWNrbGluazogQWRkIGluaXRpYWwgdmVyc2lvbiBvZiBhdWRpbyBhbmQgdmlkZW8gc291cmNlcwoKMjAxNC0xMi0xMyAxNzoyMzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua2F1ZGlvc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmt2aWRlb3NpbmsuaDoKCSAgZGVja2xpbms6IEluaXRpYWwgdmVyc2lvbiBvZiB0aGUgYXVkaW8vdmlkZW8gc2luayByZXdyaXRlCgoyMDE0LTEyLTE5IDEzOjA0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmg6CgkgIGF1ZGlvbWl4ZXI6IFRyYWNrIGRpc2NvbnQtdGltZSBwZXIgcGFkIGluc3RlYWQgb2YgZ2xvYmFsbHkKCSAgV2UgZG8gZGlzY29udCBoYW5kbGluZyBwZXIgcGFkLCBub3QgcGVyIGVsZW1lbnQhCgoyMDE0LTEyLTE1IDE2OjI3OjE2ICswMTAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJICBjdXJsc210cHNpbms6IGFkZCBmaW5hbCBib3VuZGFyeSB0byBhbGwgbXVsdGlwYXJ0IGVtYWlscwoJICBDb3JyZWN0ZWQgdGhlIGZpbmFsIGJvdW5kYXJ5IG1lY2hhbmlzbSBzbyB0aGF0IGEgZmluYWwgYm91bmRhcnkgaXMKCSAgYWRkZWQgdG8gZWFjaCBtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQgdGhhdCBpcyBzZW50LAoJICBub3QganVzdCB0byB0aGUgbGFzdCBvbmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE1NTMKCjIwMTQtMTItMTggMjM6MzM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFdlJ3JlIG9ubHkgRU9TIGlmIGFsbCBvdXIgcGFkcyBhcmUgYWN0dWFsbHkgRU9TCgkgIEhhdmluZyBhIGJ1ZmZlciBvciBub3Qgb24gdGhlIHBhZCBpcyBpcnJlbGV2YW50LgoKMjAxNC0xMi0xOCAyMjo0MjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogVGhlIHBhZCdzIHNpemUgaXMgYWx3YXlzIHN1cHBvc2VkIHRvIGJlIHRoZSB3aG9sZSBidWZmZXIgc2l6ZQoJICBBbmQgdGhlIG9mZnNldCB0aGUgb2Zmc2V0IGludG8gdGhhdCBidWZmZXIuIENoYW5naW5nIHRoZSBzaXplIHdpbGwKCSAgY2F1c2UgYWxsIGtpbmRzIG9mIGFzc3VtcHRpb25zIHRvIGZhaWwgYW5kIGNhdXNlIGNyYXNoZXMuCgoyMDE0LTEyLTE4IDIyOjA0OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvbid0IHRyeSB0byBtYXAgTlVMTCBidWZmZXJzCgoyMDE0LTEyLTE4IDIyOjAzOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IE1ha2Ugc3VyZSB0byBhbHdheXMgdXBkYXRlIHRoZSBwYWQncyB2aWRlb2luZm8gdG9nZXRoZXIgd2l0aCBidWZmZXJzCgkgIE90aGVyd2lzZSB0aGUgdmlkZW9pbmZvIGFuZCB0aGUgYnVmZmVyIGNvbnRlbnQgY2FuIGdvIG91dCBvZiBzeW5jLgoKMjAxNC0xMi0xOCAxMTo0ODozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRml4IG1lbW9yeSBsZWFrIHdoZW4gbm8gYnVmZmVyIGlzIGF2YWlsYWJsZSBmb3IgYSBwYWQgY3VycmVudGx5CgkgIENJRCAxMjU4NzE4CgoyMDE0LTEyLTE4IDEwOjU0OjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlZjFmZmRjIHRvIGYyYzZiOTUKCjIwMTQtMTItMTcgMjI6MDE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuYzoKCSAgeDI2NWVuYzogcmV1c2UgdGhlIGdzdHZpZGVvIHByb3h5IGdldGNhcHMKCSAgVGhlIGNhcHMgcXVlcnkgaXMgaW1wbGVtZW50aW5nIHRoZSBzYW1lIGxvZ2ljIGFzIHRoZSBkZWZhdWx0CgkgIGhhbmRsZXIgZnJvbSB0aGUgYmFzZSBjbGFzcy4gUmV1c2UgaXQgdG8gc2ltcGxpZnkgY29kZS4KCjIwMTQtMTItMTcgMjE6NTI6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogcGx1ZyByZWYgbGVhayBvZiB0ZW1wbGF0ZSBjYXBzCgkgIHRoZSBwYWQgdGVtcGxhdGUgY2FwcyBpcyBhbHJlYWR5IGEgbmV3IHJlZi4gTm8gbmVlZCB0byBjb3B5LgoKMjAxNC0xMi0xNyAxOTo1MTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYWdncmVnYXRvcjogQWRkIGZ1bmN0aW9uIHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gc2V0IHRoZWlyIG93biBsYXRlbmN5CgkgIEZvciBhdWRpb21peGVyIHRoaXMgaXMgb25lIGJsb2Nrc2l6ZSwgZm9yIHZpZGVvYWdncmVnYXRvciB0aGlzIHNob3VsZAoJICBiZSB0aGUgZHVyYXRpb24gb2Ygb25lIG91dHB1dCBmcmFtZS4KCjIwMTQtMTItMTcgMTk6Mzc6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IE1ha2Ugc3VyZSB0byBub3QgaGF2ZSBwYWRzIGJlaW5nIGJlaGluZCB0aGUgY3VycmVudCBvZmZzZXQKCSAgV2Ugd291bGQgYnJlYWsgc3luYyBiZXR3ZWVuIHRoZSBkaWZmZXJlbnQgc3RyZWFtcyB0aGVuLgoKMjAxNC0xMi0xNyAxNzo1NDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIGEgdGltZW91dCBwYXJhbWV0ZXIgdG8gOjphZ2dyZWdhdGUoKQoJICBXaGVuIHRoaXMgaXMgVFJVRSwgd2UgcmVhbGx5IGhhdmUgdG8gcHJvZHVjZSBvdXRwdXQuIFRoaXMgaGFwcGVucwoJICBpbiBsaXZlIG1peGluZyBtb2RlIHdoZW4gd2UgaGF2ZSB0byBvdXRwdXQgc29tZXRoaW5nIGZvciB0aGUgY3VycmVudAoJICB0aW1lLCBubyBtYXR0ZXIgaWYgd2UgaGF2ZSBlbm91Z2ggaW5wdXQgb3Igbm90LgoKMjAxNC0xMi0xNyAxODoyMDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIHF1ZXVlcyBhZnRlciB0aGUgKGxpdmUpIHNvdXJjZXMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxNC0xMi0xNyAxMjoyMDo1NCArMTEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogaW1wcm92ZSB0aW1lc3RhbXBpbmcgYW5kIGxhdGVuY3kgcmVwb3J0aW5nCgkgIFVzZSBBVkYgcHJvdmlkZWQgdGltaW5ncyB0byB0aW1lc3RhbXAgb3V0cHV0IGJ1ZmZlcnMuIFVzZSB0aGUgcnVubmluZyB0aW1lIGF0CgkgIHRoZSB0aW1lIHRoZSBmaXJzdCBidWZmZXIgaXMgcHJvZHVjZWQgdG8gYmFzZSB0aW1lc3RhbXBzIG9uLiBSZXBvcnQgMS1mcmFtZQoJICBsYXRlbmN5IGJhc2VkIG9uIHRoZSBuZWdvdGlhdGVkIGZyYW1lcmF0ZSBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgNG1zIGxhdGVuY3kuCgoyMDE0LTEyLTE1IDIyOjI0OjI2IC0wNTAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogUmVtb3ZlIGRlcGVuZGVuY3kgb24gQVRMCgkgIFRoaXMgZml4ZXMgY29tcGlsaW5nIHdpdGggVmlzdWFsIEMrKyBFeHByZXNzCgkgIHRoYXQgZG9lc24ndCBpbmNsdWRlIEFUTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NzIyMwoKMjAxNC0xMi0wNCAyMzozMDoyMyAtMDUwMCAgTWF0dGhldyBCYWRlciA8bWF0dEBoeXBlcmxvYmljLm5ldD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IEFkZGVkIHN1cHBvcnQgZm9yIGltYWdlL2pwZWcgYW5kIGgyNjQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTE4OAoKMjAxNC0xMi0xNiAxOTo0OTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICB0ZXN0czogZml4IGFnZ3JlZ2F0b3IgdW5pdCB0ZXN0IGFmdGVyIHByb3BlcnR5IHJlbmFtaW5nCgoyMDE0LTEyLTE2IDE3OjM3OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBJbXBsZW1lbnQgZ2V0X25leHRfdGltZSgpCgoyMDE0LTEyLTE2IDE3OjMzOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTQtMTItMDUgMTg6MTk6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IG1ha2UgdGhlIHNyYyBwYWQgdGFzayBkcml2ZSB0aGUgcGlwZWxpbmUgZm9yIGxpdmUgcGlwZWxpbmVzCgkgIFRoaXMgcmVtb3ZlcyB0aGUgdXNlcyBvZiBHQXN5bmNRdWV1ZSBhbmQgcmVwbGFjZXMgaXQgd2l0aCBleHBsaWNpdAoJICBHTXV0ZXgsIEdDb25kIGFuZCB3YWtldXAgY291bnQgd2hpY2ggaXMgdXNlZCBmb3IgdGhlIG5vbi1saXZlIGNhc2UuCgkgIEZvciBsaXZlIHBpcGVsaW5lcywgdGhlIGFnZ3JlZ2F0b3Igd2FpdHMgb24gdGhlIGNsb2NrIHVudGlsIGVpdGhlcgoJICBkYXRhIGFycml2ZXMgb24gYWxsIHNpbmsgcGFkcyBvciB0aGUgZXhwZWN0ZWQgb3V0cHV0IGJ1ZmZlciB0aW1lCgkgIGFycml2ZXMgcGx1cyB0aGUgdGltZW91dC9sYXRlbmN5IGF0IHdoaWNoIHRpbWUsIHRoZSBzdWJjbGFzcwoJICBwcm9kdWNlcyBhIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTE0NgoKMjAxNC0xMi0wOCAxNToxODoyNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGFsd2F5cyB0cnkgdG8gdXNlIG5ld2VyIGJ1ZmZlcnMKCSAgaW5zdGVhZCBvZiBkcm9wcGluZyB0aGVtIGZvciBiZWluZyB0b28gb2xkLiAgVGhpcyBlbnN1cmVzIHRoYXQKCSAgdGhlIG5ld2VzdCBidWZmZXIgaXMgYWx3YXlzIHVzZWQgZm9yIHJlbmRlcmluZwoKMjAxNC0xMi0xNiAxMzozNToxNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgcmVjdGFuZ2xlOiBjbGVhciByZWN0YW5nbGUgc3RydWN0IGJlZm9yZSB1c2UKCjIwMTQtMTItMTUgMTU6MjE6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IGZyYW1lIHNpemUgZGV0ZXJtaW5hdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQxMzIxCgoyMDE0LTA2LTE5IDIxOjMyOjA5ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBteGZkZW11eDogVXNlIEluZGV4VGFibGVTZWdtZW50cy4KCSAgVGhpcyBzcGVlZHMgdXAgc2Vla2luZyBkcmFzdGljYWxseS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI5NAoKMjAxNC0xMi0xNCAwMToyOToyNiArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzL2FnZ3JlZ2F0b3I6IFVzZSBjb3JyZWN0IHR5cGUgd2hlbiBzZXR0aW5nIHByb3BlcnR5CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDE0OTUKCjIwMTQtMDUtMDggMTA6NDE6MDMgKzA1MzAgIFN1ZGlwIEphaW4gPHN1ZGlwLmphaW5AbGluYXJvLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IHNjYW4gbW9yZSBieXRlcyB0byBmaW5kIGluaXRpYWwgUENScwoJICBGaXhlcyBwbGF5YmFjayBvZiBTYW1zdW5nLUNvbG9yZnVsLVZhcmlldHktMTA4MGkudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk3NjgKCjIwMTQtMTItMTIgMjA6NTc6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIFJldmVydCAib3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAxNTM5NGFhNzA1NDNmNTVjNTRmYThhNDc0ODA1MjI0ZjQxMzhmNzZjLgoJICBUaGUgbGF0ZXN0IHJlbGVhc2UgKHYxLjEpIGRvZXMgbm90IGhhdmUgcGtnLWNvbmZpZyBzdXBwb3J0CgkgIHlldCwgc28gdGhpcyBwbHVnaW4gd29uJ3QgYmUgYnVpbHQgd2l0aCB0aGUgbGF0ZXN0IHJlbGVhc2UuCgkgIENlcmJlcm8gdXNlcyB0aGUgbGF0ZXN0IHJlbGVhc2UsIHNvIHRoaXMgbWFrZXMgY2VyYmVybwoJICBidWlsZHMgZmFpbCwgd2hpY2ggZXhwZWN0IHRoZSBwbHVnaW4gdG8gYmUgYnVpbHQuCgkgIFdlIGNhbiByZS1jb21taXQgdGhpcyBvbmNlIHRoZXJlJ3MgYSByZWxlYXNlIHRoYXQgaW5jbHVkZXMKCSAgcGtnLWNvbmZpZyBzdXBwb3J0LgoKMjAxNC0xMi0xMiAxMDowNToyMyAtMDgwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjQ6IGZpeCB0byB3b3JrIHdpdGggcmVsZWFzZWQgdmVyc2lvbnMgYW5kIG1hc3RlciBvZiB1cHN0cmVhbQoKMjAxNC0xMi0xMiAxMToyMToyNyArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IEdzdEVsZW1lbnQtPnN0YXRlIGlzIHByb3RlY3RlZCB3aXRoIHRoZSBPQkpFQ1RfTE9DSwoJICBOb3QgdGhlIFNUQVRFX0xPQ0suCgkgIGdzdF93YXRjaGRvZ19mZWVkIHdhcyBhbHJlYWR5IGFsd2F5cyBjYWxsZWQgd2l0aCB0aGUgT0JKRUNUX0xPQ0sgdGFrZW4uCgoyMDE0LTExLTI3IDIwOjQ4OjI0ICswMTAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBIaWRlIHNvbWUgbW9yZSBmaWVsZHMgZnJvbSB0aGUgQVBJCgkgICsgQWRkIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxNC0xMi0xMiAwMDozMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9vbnZpZi9NYWtlZmlsZS5hbToKCSAgb252aWY6IGZpeCAnbWFrZSBkaXN0JwoKMjAxNC0xMi0xMSAyMTowMTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggc2VlayBldmVudCBoYW5kbGluZwoJICBQcm9wZXJseSBkbyBzZWVraW5nIGFuZCBhdm9pZCBvbmx5IHNlZWtpbmcgd2hlbiB0aGUgc2VnbWVudCB3YXMgdXBkYXRlZC4KCSAgSXQgd291bGQgY2F1c2Ugc2Vla3MgYWZ0ZXIgdGhlIHN0cmVhbSB3YXMgRU9TIHRvIGZhaWwsIGZvciBleGFtcGxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4OTIwCgoyMDE0LTExLTE3IDE5OjI2OjUzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmM6CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZnRpbWVzdGFtcC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBydHBvbnZpZnRpbWVzdGFtcDogQXV0b21hdGljYWxseSBkaXNjb3ZlciB0aGUgbnRwLW9mZnNldCBieSBkZWZhdWx0LgoJICBUaGlzIG9ubHkgd29ya3MgaWYgbm8gcGFja2V0cyBhcmUgcHVzaGVkIGluIGJlZm9yZSB0aGUgcGlwZWxpbmUgZ29lcwoJICB0byBwbGF5aW5nLiBTbyBpdCBoZWxwcyB0byBoYXZlIGEgbGl2ZSBzb3VyY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMDYtMDUgMTU6MDY6MzMgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L29udmlmL01ha2VmaWxlLmFtOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWYuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmcGFyc2UuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmcGFyc2UuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwb252aWYuYzoKCSAgYWRkIHJ0cG9udmlmZXh0cmFjdCBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE3NjkKCjIwMTQtMDQtMjggMTE6MDc6MTcgKzAyMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvb252aWYvTWFrZWZpbGUuYW06CgkqIGdzdC9vbnZpZi9nc3RydHBvbnZpZi5jOgoJKiBnc3Qvb252aWYvZ3N0cnRwb252aWZ0aW1lc3RhbXAuYzoKCSogZ3N0L29udmlmL2dzdHJ0cG9udmlmdGltZXN0YW1wLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBvbnZpZi5jOgoJICBhZGQgcnRwb252aWZ0aW1lc3RhbXAgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzY5CgoyMDE0LTEyLTA4IDExOjAyOjUxICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBmaXggcG9zaXRpb24vdGV4Y29vcmQgYXR0cmliIGluZGV4IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEyMzEKCjIwMTQtMTItMTEgMTg6MTc6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgZ2xmaWx0ZXJjdWJlOiB1c2UgYSBzaGFkZXIgZXZlcnl3aGVyZQoKMjAxNC0xMi0xMSAxODoxNTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbDogZml4dXAgdmFvIGFuZCB2Ym8gdXNhZ2UgZm9yIGxlZ2FjeSBHTAoKMjAxNC0xMi0xMSAxNDo1NzoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBnbGVmZmVjdHM6IGRvbid0IGFib3J0IHdoZW4gc2V0dGluZyB0aGUgZWZmZWN0IHRvIDAsMSwyCgoyMDE0LTEyLTEwIDEyOjQ4OjMzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2wvZXhhbXBsZXM6IGZpeHVwIHNkbCBleGFtcGxlIGZvciBnbHVQZXJzcGVjdGl2ZSByZW1vdmFsCgoyMDE0LTEyLTA5IDA4OjM4OjU1IC0wODAwICBOaWNrIFN0b3VnaHRvbiA8bnN0b3VnaHRvbkBhZXRoZXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBzdXBwb3J0IGNvbXBpbGUtdGltZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGJsdWV6NCBhbmQgYmx1ZXo1CgkgIFNpZ25lZC1vZmYtYnk6IE5pY2sgU3RvdWdodG9uIDxuc3RvdWdodG9uQGFldGhlci5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2MjYKCjIwMTQtMTItMTAgMTg6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogY2hlY2sgdGhlIHJldHVybiBmcm9tIHVwZGF0ZV9tYW5pZmVzdCBjb3JyZWN0bHkKCSAgSXQgaXMgYSBHc3RGbG93UmV0dXJuIGFuZCBub3QgYSBib29sZWFuCgoyMDE0LTEyLTEwIDA5OjI0OjE3ICswMDAwICBEYXZpZCBXYXJpbmcgPGRhdmlkLndhcmluZ0ByZC5iYmMuY28udWs+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBDaGFuZ2UgcGVyaW9kIHdoZW4gc2V0dGluZyBieSBwZXJpb2QgaWQuCgkgIE1ha2UgZ3N0X21wZF9jbGllbnRfc2V0X3BlcmlvZF9pZCBzZXQgdGhlIGN1cnJlbnQgcGVyaW9kIGluZGV4IHdoZW4gaXQgZmluZHMgYQoJICBwZXJpb2Qgd2l0aCBhIG1hdGNoaW5nIHBlcmlvZCBpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTMyMgoKMjAxNC0xMi0xMCAxNToyNzo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IHJldmVyc2UgcGxheWJhY2sgZnJhZ21lbnQgdHJhY2tpbmcKCSAgUmV3b3JrIHJldmVyc2UgZnJhZ21lbnQgdHJhdmVyc2luZyB3aXRoIHJlcGV0aXRpb24gZmllbGRzIHRvIHByZXZlbnQKCSAgTlVMTCBwb2ludGVyIGRlcmVmIGFuZCBhdm9pZCBuZXZlciBhZHZhbmNpbmcgYSBmcmFnbWVudCBhcyB0aGUgdmFyaWFibGUKCSAgaXMgdW5zaWduZWQgYW5kIHdvdWxkIGFsd2F5cyBiZSBub24tbmVnYXRpdmUuCgkgIENJRCAjMTI1NzYyNwoJICBDSUQgIzEyNTc2MjgKCjIwMTQtMTItMTEgMDA6MDI6MjYgKzExMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGJ1bXAgcmFuayB0byBQUklNQVJZCgoyMDE0LTEyLTEwIDIyOjM2OjUzICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBuZWdvdGlhdGUgcHJvZmlsZSBhbmQgbGV2ZWwgd2l0aCBkb3duc3RyZWFtCgoyMDE0LTEyLTEwIDE5OjQ0OjAxICsxMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiByZXBvcnQgbGF0ZW5jeQoKMjAxNC0xMi0wNSAxNjoyMDowOCArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRmluZCBjdXJyZW50IHNlZ21lbnQgaW4gdGhlIHN0cmVhbXMgdGhhdCBoYXZlIGp1c3QgYmVlbiBzZXR1cAoJICBVc2luZyBkZW11eC0+c3RyZWFtcyB3aWxsIGp1c3Qgc2tpcCB0aGUgd2hvbGUgbG9vcCBhcyBkZW11eC0+c3RyZWFtcyB3aWxsCgkgIGFsd2F5cyBiZSBOVUxMIGF0IHRoYXQgcG9pbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MTI4NQoKMjAxNC0xMi0wOSAwNTowMzoxMSArMDEwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSAgbWlycm9yOiBOZWVkcyByZW1hcCB3aGVuIHRoZSBtb2RlIGNoYW5nZXMuCgkgIFRoaXMgY2F1c2VkIHRoZSB1c2VyIHRvIHRoaW5rIHRoZSBtb2RlIHdhc24ndCB0YWtlbiBpbnRvIGFjY291bnQuCgoyMDE0LTEyLTA5IDA0OjI4OjE3ICswMTAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBSZXZlcnQgImgyNjRwYXJzZTogZXhwb3NlIGNvbXBhdGlibGUgcHJvZmlsZXMgdG8gZG93bnN0cmVhbSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzOTEwY2JlN2NlMWE2N2VkNTUwNmY4N2U0YzVhMDA1YzE2OGQwZTZjLgoKMjAxNC0xMi0wOCAwODo1MzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBkbyBub3QgdHJ5IHRvIHVubG9jayBub3QgbG9ja2VkIG11dGV4CgkgIEEgbWlzcGxhY2VkIHVubG9jayB3YXMgY2F1c2luZyBhbiBhc3NlcnRpb24gZm9yIHBsYXliYWNrIHdpdGggYQoJICBzZXQgc3RvcCB0aW1lCgoyMDE0LTEyLTA4IDA4OjI0OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBidWlsZCBvcmRlcjogdXJpZG93bmxvYWRlciBiZWZvcmUgYWRhcHRpdmVkZW11eAoJICBPdGhlcndpc2UgbWFrZSBpbnN0YWxsIGZhaWxzCgoyMDE0LTEyLTA1IDE2OjMzOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IEFkZCBwcm9wZXJ0aWVzIHRvIHNwZWNpZnkgdGhlIG1heGltdW0ga2V5ZnJhbWUgaW50ZXJ2YWwgaW4gZnJhbWVzIGFuZCBzZWNvbmRzCgoyMDE0LTEyLTA1IDE2OjE1OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBjb252ZXJzaW9uIG9mIHRoZSBiaXRyYXRlIHByb3BlcnR5IGFuZCBvdXIgaW50ZXJuYWwgYml0cmF0ZSBzdG9yYWdlCgkgIFRoZSBwcm9wZXJ0eSBpcyBpbiBrYml0L3MgYW5kIHdlIHN0b3JlIGl0IGluIGJpdC9zLCBzbyBqdXN0IG11bHRpcGx5IGFuZAoJICBkaXZpZGUgYnkgMTAwMC4gTm8gbmVlZCB0byBwdXQgYSBmYWN0b3Igb2YgOCBpbiB0aGVyZS4KCSAga1ZUQ29tcHJlc3Npb25Qcm9wZXJ0eUtleV9BdmVyYWdlQml0UmF0ZSBpcyBhbHNvIGluIGJpdC9zIGFjY29yZGluZyB0bwoJICBpdHMgZG9jdW1lbnRhdGlvbi4KCjIwMTQtMTItMDUgMTM6MTI6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGdpdEBhcnVucmFnaGF2YW4ubmV0PgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IGEgbWVtb3J5IGxlYWsKCSAgRnJlZXMgdGhlIHNvdXJjZSBBUkdCIGJsYWNrIGZyYW1lIHRoYXQgd2UgdXNlIHRvIGNyZWF0ZSB0aGUgYmxhY2sgZnJhbWUKCSAgaW4gb3VyIHRhcmdldCBmb3JtYXQuCgoyMDE0LTEyLTAyIDEwOjEwOjM5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4cG9zZSBjb21wYXRpYmxlIHByb2ZpbGVzIHRvIGRvd25zdHJlYW0KCSAgU29tZSB2aWRlbyBiaXRzdHJlYW1zIHJlcG9ydCBhIHRvbyByZXN0cmljdGl2ZSBzZXQgb2YgcHJvZmlsZXMuIElmIGEgdmlkZW8KCSAgZGVjb2RlciB3YXMgdG8gc3RyaWN0bHkgZm9sbG93IHRoZSBpbmRpY2F0ZWQgcHJvZmlsZSwgaXQgd291bGRuJ3Qgc3VwcG9ydCB0aGF0CgkgIHN0cmVhbSwgd2hlcmVhcyBpdCBjb3VsZCBpbiB0aGVvcnkgYW5kIGluIHByYWN0aWNlLiBTbyB3ZSBzaG91bGQgcmVsYXggdGhlCgkgIHByb2ZpbGUgcmVzdHJpY3Rpb24gZm9yIGFsbG93aW5nIHRoZSBkZWNvZGVyIHRvIGdldCBjb25uZWN0ZWQgd2l0aCBwYXJzZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTIKCjIwMTMtMDUtMDEgMTE6MTc6MDIgKzA4MDAgIENodW4td2VpIEZhbiA8ZmFuY2h1bndlaUBzcmMuZ25vbWUub3JnPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBQb3J0IHRvIDEuMCBhbmQgbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoJICBUaGlzIHVwZGF0ZXMgdGhlIGRzaG93dmlkZW9zaW5rIHRvIHdvcmsgd2l0aCB0aGUgR1N0cmVhbWVyIDEuMC54IEFQSXMsIGFuZAoJICBhdm9pZHMgdGhlIHVzZSBvZiBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSSB0aGF0IGFyZSBub3cgdXNlZCBzaW5jZQoJICBHTGliIDIuMzIrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTkzNjQKCjIwMTQtMTItMDQgMDE6NDY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgbGl2ZSBzdXBwb3J0CgkgIEltcGxlbWVudCB0aGUgZnVuY3Rpb25zIG9mIGFkYXB0aXZlZGVtdXggdG8gaGF2ZSBsaXZlIHN1cHBvcnQKCSAgZW5hYmxlZC4gVGhpcyBhbGxvd3MgbXNzZGVtdXggdG8gcmVmcmVzaCB0aGUgTWFuaWZlc3QgcGVyaW9kaWNhbGx5CgoyMDE0LTEyLTA0IDE1OjUyOjQ0IC0wNTAwICBNYXR0aGV3IEJhZGVyIDxtYXR0QGh5cGVybG9iaWMubmV0PgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9DTWFrZUxpc3RzLnR4dDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlY3dyYXBwZXI6IFBvcnQgdG8gMS54CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA5NDUKCjIwMTQtMTItMDEgMTY6NDA6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBwb3J0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NDc2NjEKCjIwMTQtMTItMDQgMTI6MjE6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBnZXR0aW5nIGN1cnJlbnQgcG9zaXRpb24gaW4gc2VnbWVudHMgd2hlbiBhZnRlciBsYXN0IG9uZQoJICBGb3IgbGl2ZSBzdHJlYW1zIHRoaXMgbWFrZXMgYSBkaWZmZXJlbmNlIHdoZW4gcmVzeW5jaW5nIGFmdGVyIGEKCSAgTWFuaWZlc3QgcmVmcmVzaCwgb3RoZXJ3aXNlIGl0IGRvZXNuJ3Qga25vdyB3aGVyZSB0byByZXN0YXJ0CgoyMDE0LTEyLTAyIDIzOjI3OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBzdXBwb3J0IG1hbmlmZXN0cyB3aXRoIHJlcGV0aXRpb24gZnJhZ21lbnRzCgkgIFJlYWQgdGhlICJyIiBhdHRyaWJ1dGUgZnJvbSBmcmFnbWVudHMgdG8gc3VwcG9ydCBmcmFnbWVudHMgbm9kZXMKCSAgdGhhdCB1c2UgcmVwZXRpdGlvbiB0byBoYXZlIGEgc2hvcnRlciBNYW5pZmVzdCB4bWwuCgkgIEluc3RlYWQgb2YgZG9pbmc6CgkgIDxjIGQ9IjEwMCIgLz4KCSAgPGMgZD0iMTAwIiAvPgoJICBZb3UgY2FuIHVzZToKCSAgPGMgZD0iMTAwIiByPSIyIiAvPgoKMjAxNC0xMS0yMiAwMTowMTo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogcG9ydCB0byBhZGFwdGl2ZWRlbXV4IGJhc2UgY2xhc3MKCjIwMTQtMTItMDMgMTY6MTM6MTcgLTA1MDAgIE1hdHRoZXcgQmFkZXIgPG1hdHRAaHlwZXJsb2JpYy5uZXQ+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IEZpeGVkIG51bGwgY2FwcyBjb21wYXJpc29uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEwODYKCjIwMTQtMTItMDQgMDI6MTI6MDggLTAyMDAgIEZsw6F2aW8gUmliZWlybyA8ZW1haWxAZmxhdmlvcmliZWlyby5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogcmVtb3ZlIHVubmVjZXNzYXJ5IHRpdGxlIG9uIEVYVElORiB0YWcKCSAgQWNjb3JkaW5nIHRvIHRoZSBITFMgc3BlYyB0aGUgcmVtYWluZGVyIG9mIHRoZSBsaW5lIGZvbGxvd2luZwoJICB0aGUgY29tbWEgb24gRVhUSU5GIHRhZyBpcyBub3QgcmVxdWlyZWQuIFRoaXMgcGF0Y2ggcmVtb3ZlcwoJICB0aGUgZmFrZSB0aXRsZSBhbmQgc2F2ZXMgc29tZSBieXRlcyBvbiB0aGUgcGxheWxpc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDEwOTYKCjIwMTQtMTItMDQgMjA6Mzc6NTEgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogUmVuYW1lIGdzdC1sYXVuY2gtMC4xMCB0byBnc3QtbGF1bmNoLTEuMCBpbiBkb2NzCgoyMDE0LTEyLTA0IDE1OjQyOjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJICBkZWNrbGluazogRml4IG1ha2UgZGlzdGNoZWNrCgkgIEFuZCBwcm9wZXJseSBkaXN0IGFsbCBoZWFkZXJzIGFuZCBzb3VyY2UgZmlsZXMuCgoyMDE0LTEyLTAzIDE4OjMxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJlbGVhc2UgdGhyZWFkcyB3YWl0aW5nIGZvciBtYW5pZmVzdCB1cGRhdGUgb24gc2h1dGRvd24KCSAgRm9yIGxpdmUgc3RyZWFtcywgYWxzbyB1bmJsb2NrIHRocmVhZHMgdGhhdCBtaWdodCBiZSB3YWl0aW5nIGZvciBhIG1hbmlmZXN0CgkgIHVwZGF0ZSB3aGVuIHN0b3BwaW5nIHRoZSBwaXBlbGluZS4KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnIG1lc3NhZ2VzCgoyMDE0LTEyLTAzIDEzOjUyOjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHVzZSBnc3RfdGFza19zdG9wIGluc3RlYWQgb2YgZ3N0X3Rhc2tfcGF1c2UKCSAgVG8gYXZvaWQgcmFjZSBjb25kaXRpb25zIHdpdGggZ3N0X3Rhc2tfc3RvcCgpOyBnc3RfdGFza19qb2luKCkgd2l0aAoJICBhbm90aGVyIHRocmVhZCBkb2luZyBnc3RfdGFza19wYXVzZSgpLCB0aGUgam9pbmluZyB0aHJlYWQgd291bGQgYmUKCSAgd2FpdGluZyBmb3IgdGhlIHRhc2sgdG8gc3RvcCBidXQgaXQgd291bGQgbmV2ZXIgaGFwcGVuLiBTbyBqdXN0CgkgIHVzZSBnc3RfdGFza19zdG9wKCkgZXZlcnl3aGVyZSB0byBwcmV2ZW50IG1vcmUgbXV0ZXhlcwoKMjAxNC0xMi0wMyAxMjo0ODo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBmaXggZGVhZGxvY2sgd2hlbiBzdG9wcGluZyBzdHJlYW1zCgkgIFJlbWVtYmVyIHRvIHVubG9jayB0aGUgbWFuaWZlc3QncyBsb2NrIHdoZW4gbGVhdmluZyB0aGUgZG93bmxvYWQgdGFzay4KCjIwMTQtMTItMDMgMTY6MDE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkgIGRlY2tsaW5rOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgaW4gdGhlIGRpc3BhdGNoZXIKCjIwMTQtMTItMDMgMTU6MzA6NDMgKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxuQGlnYWxpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5oOgoJICBnbHN5bmNtZXRhOiBhZGQgR19FTkRfREVDTFMKCjIwMTQtMTItMDMgMTU6MDc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay93aW4vRGVja0xpbmtBUElfaS5jOgoJICBkZWNrbGluazogVXBkYXRlIFdpbmRvd3MgU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgkgIE5vIGlkZWEgd2hlcmUgdGhlIERlY2tsaW5rQVBJRGlzcGF0Y2guY3BwIGNvbWVzIGZyb20gb24gV2luZG93cywKCSAgYnV0IHRoaXMgc2hvdWxkIHN0aWxsIHdvcmsuIFdpbGwganVzdCBiZWNvbWUgYSBwcm9ibGVtIG9uY2Ugd2UKCSAgdXNlIG90aGVyIHBhcnRzIG9mIHRoZSBBUEkuCgoyMDE0LTEyLTAzIDE0OjQyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElDb25maWd1cmF0aW9uLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEZWNrQ29udHJvbC5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNwYXRjaC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogVXBkYXRlIE9TIFggU0RLIGhlYWRlcnMgdG8gMTAuMy4xCgoyMDE0LTEyLTAzIDE0OjM5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGVja0NvbnRyb2wuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzY292ZXJ5Lmg6CgkqIHN5cy9kZWNrbGluay9saW51eC9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJTW9kZXMuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJVHlwZXMuaDoKCSAgZGVja2xpbms6IFVwZGF0ZSBMaW51eCBTREsgaGVhZGVycyB0byAxMC4zLjEKCjIwMTQtMTItMDMgMTA6MDY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIHVudXNlZCBlcnJvciB2YXJpYWJsZQoJICBDSUQgIzEyNTY1NTYKCjIwMTQtMTItMDMgMDk6NDU6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogcmVtb3ZlIG1vcmUgZ2V0X2R1cmF0aW9uIGNoZWNrcwoJICBTdWJjbGFzc2VzIG11c3QgaW1wbGVtZW50IGdldF9kdXJhdGlvbiBmdW5jdGlvbi4gSWYgdGhleSBkbyBub3Qga25vdwoJICB0aGUgZHVyYXRpb24gdGhleSBjYW4gcmV0dXJuIEdTVF9DTE9DS19USU1FX05PTkUKCjIwMTQtMTItMDMgMDk6NDA6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxsIHN1YmNsYXNzZXMgbXVzdCBpbXBsZW1lbnQgZ2V0X2R1cmF0aW9uCgkgIENJRCAjMTI1NjU1NwoKMjAxNC0xMi0wMiAyMzoyOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5jOgoJICBhZGFwdGl2ZWRlbXV4OiBtYWtlIHN1cmUgdG8gYWx3YXlzIHN0b3AgdGhlIHN0cmVhbSBvbiBFT1MKCSAgRm9yIE9uLURlbWFuZCBzdHJlYW1zLCBhbHdheXMgc3RvcCB0aGUgdGFza3MgZm9yIHN0cmVhbXMgdGhhdCByZWFjaGVkCgkgIEVPUwoKMjAxNC0xMi0wMyAwODowMjo1OCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogdHJ5IGNnbCBiZWZvcmUgZ2x4CgkgIEl0IHdhcyBhbHJlYWR5IGRvbmUgYnkgY29tbWl0CgkgIGY1MDZlODA2ODZlZWRjNjY5MTI1ODNkYjExOTE0ZWMzZjcxM2I0NzgKCSAgYnV0IGl0IGhhcyBiZWVuIGJyb2tlbiBieSBjb21taXQKCSAgNDVlYzc3N2NlYTBlNjliMjU5N2QxZWMwMmIxOGVjMzFkNjE4YzkyMAoKMjAxNC0xMi0wMyAwNzo0Njo1MCArMDAwMCAgSnVsaWVuIElzb3JjZSA8ai5pc29yY2VAc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIGdsaW1hZ2VzaW5rIHVuaXQgdGVzdCB0byAuZ2l0aWdub3JlCgoyMDE0LTEyLTAyIDE1OjUyOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggZG91YmxlIHVucmVmIG9mIG9iamVjdAoJICB0aGUgZGF0ZXRpbWUgaXMgYWxyZWFkeSByZWxlYXNlZCBieSB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbgoKMjAxNC0xMC0xMCAxMToyNDowOCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBGaW5kIHRoZSBjdXJyZW50IHBlcmlvZCBpbiBhIGxpdmUgc3RyZWFtCgkgIFN0YXJ0IGZyb20gdGhlIGNvcnJlY3QgcGVyaW9kIG9uIGEgbGl2ZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzQyMQoKMjAxNC0xMi0wMiAxMDowNjowMCArMDAwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZC53YXJpbmdAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogRml4IHBlcmlvZCBzZWxlY3Rpb24gZm9yIGxpdmUgc3RyZWFtcwoJICBGaXggcGVyaW9kIHNlbGVjdGlvbiBhbmQgcHJvcGVybHkgZXJyb3Igb3V0IHdoZW4gdXBkYXRlIGNhbm5vdCBiZSBkb25lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUyOTgKCjIwMTQtMDctMDkgMTA6MTE6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEltcHJvdmUgbGFzdCBQQ1IgZGV0ZWN0aW9uCgkgIFdoZW4gZGVhbGluZyB3aXRoIHJhbmRvbS1hY2Nlc3MgY29udGVudCAoc3VjaCBhcyBmaWxlcyksIHdlIGluaXRpYWxseQoJICBzZWFyY2ggZm9yIHRoZSBsYXN0IFBDUiBpbiBvcmRlciB0byBmaWd1cmUgb3V0IGR1cmF0aW9uIGFuZCB0byBoYW5kbGUKCSAgb3RoZXIgcG9zaXRpb24gZXN0aW1hdGlvbiBzdWNoIGFzIHRob3NlIHVzZWQgaW4gc2Vla2luZy4KCSAgUHJldmlvdXNseSwgdGhlIGNvZGUgbG9va2luZyBmb3IgdGhhdCBsYXN0IFBDUiB3b3VsZCBzZWFyY2ggaW4gdGhlIGxhc3QKCSAgNjQwa0Igb2YgdGhlIGZpbGUgZ29pbmcgZm9yd2FyZCwgYW5kIHN0b3AgYXQgdGhlIGZpcnN0IFBDUiBlbmNvdW50ZXJlZC4KCSAgVGhlIHByb2JsZW0gd2l0aCB0aGF0IHdhcyB0d28tZm9sZDoKCSAgKiBJdCB3b3VsZG4ndCByZWFsbHkgYmUgdGhlIGxhc3QgUENSIChpdCB3b3VsZCBiZSB0aGUgZmlyc3Qgb25lIHdpdGhpbgoJICB0aG9zZSBsYXN0IDY0MGtCLiBJbiBjYXNlIG9mIFZCUiBmaWxlcywgdGhpcyB3b3VsZCBwdXQgb2ZmIGR1cmF0aW9uCgkgIGFuZCBzZWVrIGNvZGUgc2xpZ2h0bHkuCgkgICogSXQgd291bGQgZmFpbCBvbiBmaWxlcyB3aXRoIGJpdHJhdGVzIGhpZ2hlciB0aGFuIDUyTWJpdC9zIChub3QgY29tbW9uKQoJICBJbnN0ZWFkIHRoaXMgcGF0Y2ggbW9kaWZpZXMgdGhhdCBjb2RlIGJ5OgoJICAqIFNjYW5uaW5nIG92ZXIgdGhlIGxhc3QgMjA0OGtCIChhbGxvd3MgdG8gY29wZSB3aXRoIHN0cmVhbXMgdXAgdG8gMTYwTWJpdC9zKQoJICAqIFN0YXJ0cyBieSB0aGUgZW5kIG9mIHRoZSBmaWxlLCBnb2luZyBvdmVyIGNodW5rcyBvZiAzMDAgTVBFRy1UUyBwYWNrZXRzCgkgICogRG9lc24ndCBzdG9wIGF0IHRoZSBmaXJzdCBQQ1IgZGV0ZWN0ZWQgaW4gYSBjaHVuaywgYnV0IGluc3RlYWQgcmVjb3JkcyBhbGwKCSAgb2YgdGhlbSwgYW5kIG9ubHkgc3RvcCBzZWFyY2hpbmcgaWYgdGhlcmUgd2FzICJhdCBsZWFzdCIgb25lIFBDUiB3aXRoaW4KCSAgdGhhdCBjaHVuawoJICBUaGlzIHNob3VsZCBpbXByb3ZlIGR1cmF0aW9uIHJlcG9ydGluZyBhbmQgc2Vla2luZyBvcGVyYXRpb25zIG9uIFZCUiBmaWxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NTMyCgoyMDE0LTEyLTAxIDExOjQ3OjI5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogT25seSBhY3RpdmF0ZSB3YXJuaW5nIGZvciByZWFsIHN0cmVhbXMKCSAgc3RyZWFtcyB3aXRoIHN0cmVhbV90eXBlIDB4ZmYgYXJlIFBDUi1vbmx5IHN0cmVhbXMsIGl0J3Mgbm9ybWFsIG5vdAoJICB0byBoYXZlIGEgcGFkIGZvciB0aGVtLgoKMjAxNC0xMi0wMSAxMjoxNDoyMCArMDEwMCAgSsO8cmdlbiBTbG93YWNrIDxqdXJnZW4uc2xvd2Fja0BiYXJjby5jb20+CgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmM6CgkqIGV4dC94MjY1L2dzdHgyNjVlbmMuaDoKCSAgeDI2NWVuYzogYWRkIHFwIHByb3BlcnR5CgkgIFFQIHByb3BlcnR5IGVuYWJsZXMgQ1FQIG1vZGUgYW5kIHNldHMgdGhlIFFQIGZvciBQIHNsaWNlcy4KCjIwMTQtMTItMDEgMTA6NTk6MzIgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzLnZlcm1laXJAYmFyY28uY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvY29jb2EtdmlkZW9vdmVybGF5Lm06CgkgIGdsL2NvY29hOiBGaXggZXhhbXBsZSBvbiBNYWMgT1MgWCAxMC4xMAoJICBVc2luZyBOU0FwcCBkaXJlY3RseSBzZWVtcyB0byBjb25mdXNlIHNvbWV0aGluZywgYXMgdGhlIGNvbXBpbGVyCgkgIHdhcyBleHBlY3RpbmcgYW4gaWQ8TlNGaWxlTWFuYWdlckRlbGVnYXRlPi4gU3dpdGNoZWQgdG8gdXNpbmcKCSAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLCBhbmQgc3BlY2lmaWVkIHRoZSBkZWxlZ2F0ZQoJICBwcm90b2NvbCBvbiB0aGUgd2luZG93IGNsYXNzIGFzIHdlbGwuCgkgIFNpbWlsYXIgdG8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODc0MAoKMjAxNC0xMi0wMSAxMDoyNzo0MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkgIGdzdC1saWJzOiBGaXggZGVwZW5kZW5jeSBidWlsZAoJICBhZGFwdGl2ZWRlbXV4IGRlcGVuZHMgb24gdXJpZG93bmxvYWRlciBhbmQgdmlkZW8gZGVwZW5kcyBvbiBiYXNlCgoyMDE0LTEyLTAxIDA5OjQ4OjQxICswMTAwICBUaG9tYXMgS2xhdXNuZXIgPHdpekBkYW5iYWxhLnR1d2llbi5hYy5hdD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEbyBjb21wYXJpc29ucyBpbiBhIHBvcnRhYmxlIHdheSB3aXRoID0gaW5zdGVhZCBvZiA9PQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwOTUzCgoyMDE0LTExLTMwIDIxOjU0OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvYWRhcHRpdmVkZW11eC9nc3RhZGFwdGl2ZWRlbXV4LmM6CgkgIGFkYXB0aXZlZGVtdXg6IHJld29ya2luZyBsaXZlIG1hbmlmZXN0IHVwZGF0ZSB3YWl0CgkgIENoZWNrIGlmIHRoZSBzdHJlYW0gaXMgbGl2ZSBiZWZvcmUgY2hlY2tpbmcgaWYgaXQgaXMgRU9TIGFzIGEgbGl2ZQoJICBzdHJlYW0gbWlnaHQgYmUgY29uc2lkZXJlZCBFT1Mgd2hlbiBpdCBqdXN0IG5lZWRzIHRvIHdhaXQgZm9yIGEgbWFuaWZlc3QKCSAgdXBkYXRlIHRvIHByb2NlZWQgd2l0aCB0aGUgbmV4dCBmcmFnbWVudHMKCjIwMTQtMTEtMjkgMTA6Mjg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogZml4IG1hbmlmZXN0IHVwZGF0ZSBsb2NraW5nCgkgIFRvIGF2b2lkIHVubG9ja2luZyBhIG5vdCBsb2NrZWQgbXV0ZXgKCjIwMTQtMTEtMjkgMTA6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogRml4IHNlZ21lbnQgZm9yIG1hbmlmZXN0cyB0aGF0IHdvbid0IHN0YXJ0IGF0IDAKCSAgRm9yIGxpdmUgc3RyZWFtcywgdGhlIG1hbmlmZXN0IG1pZ2h0IHN0YXJ0IGF0IGFuIGFkdmFuY2VkIHBvc2l0aW9uLiBBdm9pZAoJICB1c2luZyBzZWdtZW50IHN0YXJ0PTAgdG8gaGF2ZSBwbGF5YmFjayBzdGFydCBpbW1lZGlhdGVseQoKMjAxNC0xMS0yOSAxMDoyNjozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVwbGFjZSB0aGUgc3RyZWFtcyB3aXRoIHRoZSBuZXcgbXBkIGNsaWVudCdzIHN0cmVhbXMKCSAgT3RoZXJ3aXNlIGl0IHdvbid0IHVwZGF0ZSB3aXRoIHRoZSBuZXcgc2VnbWVudCBpbmZvIGZyb20gdGhlIHBsYXlsaXN0CgkgIHVwZGF0ZQoKMjAxNC0xMS0yOSAxMDoyNTo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogd2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QsIHNldCB0aGUgdXJpCgkgIFRoaXMgd2lsbCBhbGxvdyBkYXNoZGVtdXggdG8gY3JlYXRlIHRoZSBjb3JyZWN0IGZ1bGwgcGF0aCBVUklzIHRvCgkgIGNvbnRpbnVlIGRvd25sb2FkaW5nIGZyYWdtZW50cwoKMjAxNC0wOC0yNiAxNjo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHBvcnQgdG8gYWRhcHRpdmUgZGVtdXgKCjIwMTQtMTEtMjIgMTc6Mjc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSAgYWRhcHRpdmVkZW11eDogYWxzbyBjbGVhciBmbHVzaGluZyBzdGF0ZSBvbiBwYWRzIGJlZm9yZSByZXN0YXJ0aW5nCgkgIER1cmluZyBmbHVzaGluZyBzZWVrcyB0aGUgZmx1c2hpbmcgZmxvdyByZXR1cm4gd2lsbCBwcm9wYWdhdGUgdXAgdG8gdGhlCgkgIHNvdXJjZSBlbGVtZW50IGFuZCBhbGwgcGFkcyBhcmUgZ29pbmcgdG8gaGF2ZSB0aGUgZmx1c2hpbmcgZmxhZyBzZXQuCgkgIFNvIGJlZm9yZSByZXN0YXJ0aW5nIGFsc28gcmVtb3ZlIHRoYXQgZmxhZyB0b2dldGhlciB3aXRoIHRoZSBFT1Mgb25lLgoJICBXZSBkb24ndCBkbyB0aGF0IHdoZW4gcHVzaGluZyB0aGUgZmx1c2ggc3RvcCBldmVudCBiZWNhdXNlIG91ciBldmVudAoJICBoYW5kbGVyIGZvciB0aGUgcHJveHlwYWQgd2lsbCBkcm9wIGFsbCBldmVudHMuCgoyMDE0LTExLTIxIDIwOjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hZGFwdGl2ZWRlbXV4L2dzdGFkYXB0aXZlZGVtdXguYzoKCSogZ3N0LWxpYnMvZ3N0L2FkYXB0aXZlZGVtdXgvZ3N0YWRhcHRpdmVkZW11eC5oOgoJICBhZGFwdGl2ZWRlbXV4OiBhZGQgYWRhcHRpdmVkZW11eCBiYXNlIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NDgKCjIwMTQtMTEtMjkgMTM6MTY6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IG1pbm9yIGNhcHMgZXZlbnQgcGF5bG9hZGluZyBvcHRpbWlzYXRpb24KCSAgQXZvaWQgY3JlYXRpb24gb2YgYnVmZmVyIHdlJ3JlIGp1c3QgZ29pbmcgdG8gdGhyb3cKCSAgYXdheSB0d28gbGluZXMgbGF0ZXIgYW55d2F5LgoKMjAxNC0xMS0yOSAxMzoxNTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4IHNvbWUgbWVtb3J5IGxlYWtzCgoyMDE0LTExLTMwIDAwOjQyOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogcmVxdWlyZSBHTF9BUkJfRVMyX2NvbXBhdGliaWxpdHkgZm9yIG9wZW5nbDMKCSAgdW50aWwgd2UgZ2VuZXJhdGUgZ2wzIGNvbXBsaWFudCBzaGFkZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAwMTIKCjIwMTQtMTEtMzAgMDA6MTg6NTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHByb3Blcmx5IGhhbmRsZSB0aGUgIW9wZW5nbDMgY2FzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMDEyCgoyMDE0LTExLTI4IDE3OjMxOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogRHJvcCB0b28gbGF0ZSBmcmFtZXMgYW5kIHN0YXJ0IHNjaGVkdWxlZCBwbGF5YmFjayBhdCB0aGUgY29ycmVjdCB0aW1lCgoyMDE0LTExLTI4IDE2OjA0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkgIGdsZmlsdGVyYXBwOiBmaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgV2hlbiBHU1RfR0xfSEFWRV9PUEVOR0wgaXMgMCBvciB1bnNldC4KCjIwMTQtMTEtMjggMTU6MDY6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogRm9yIHRoZSBzb3VyY2UsIHVuc2V0dGluZyB0aGUgY2FsbGJhY2sgYWxyZWFkeSBkZWxldGVzIGl0CgoyMDE0LTExLTE0IDExOjE5OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogV2FpdCBmb3IgdGhlIHBpcGVsaW5lIGNsb2NrIGluc3RlYWQgb2YgdGhlIGRlY2tsaW5rIGNsb2NrCgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBzdGFydmUgb3RoZXIgZWxlbWVudHMgaWYgdGhlIGRlY2tsaW5rIGNsb2NrCgkgIGlzIHNsb3dlciB0aGFuIHRoZSBwaXBlbGluZSBjbG9jaywgb3Igc3RhcnRzIG11Y2ggbGF0ZXIuCgkgIE9mIGNvdXJzZSB0aGlzIHdpbGwgc3RpbGwgY2F1c2UgcHJvYmxlbXMgaWYgdGhlIGRlY2tsaW5rIGNsb2NrIGFuZCBvdXJzIGFyZQoJICBjb21wbGV0ZWx5IG91dCBvZiBzeW5jLCBvciBydW5uaW5nIGF0IGEgdmVyeSBkaWZmZXJlbnQgcmF0ZS4gQnV0IHRoaXMgYXQgbGVhc3QKCSAgd29ya3MgYmV0dGVyIG5vdy4KCjIwMTQtMTEtMTQgMTA6NTg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IFNjaGVkdWxlIHZpZGVvIGZyYW1lcyBhY2NvcmRpbmcgdG8gdGhlaXIgdGltZXN0YW1wcywgbm90IGFjY29yZGluZyB0byBhIGZyYW1lIGNvdW50ZXIKCjIwMTQtMTEtMTQgMTE6MDI6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBBZGQgc29tZSBGSVhNRSBjb21tZW50cyBhYm91dCBzeW5jaHJvbml6YXRpb24KCjIwMTQtMTEtMTQgMTA6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogU2FtcGxlIHRoZSBwaXBlbGluZSBjbG9jayBmb3IgdGhlIHRpbWVzdGFtcHMgaW5zdGVhZCBvZiBjb21pbmcgdXAgd2l0aCBvdXIgb3duCgkgIElmIHdlIGp1c3QgY291bnQgdGhlIGZyYW1lcyBhbmQgY2FsY3VsYXRlIHRpbWVzdGFtcHMgZnJvbSB0aGF0LCBhbGwgZnJhbWVzCgkgIHdpbGwgYXJyaXZlIGxhdGUgaW4gdGhlIHNpbmsgYXMgd2UgaGF2ZSBhIGxpdmUgc291cmNlIGhlcmUuIEluc3RlYWQgdGFrZQoJICB0aGUgcGlwZWxpbmUgY2xvY2sgYXQgY2FwdHVyZSB0aW1lIGFzIHJlZmVyZW5jZS4KCjIwMTQtMTEtMjggMTQ6NTA6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IEhhbmRsZSBjYWxsYmFjay9kZWxlZ2F0ZSBvYmplY3QgdGhlIHNhbWUgd2F5IGFzIGluIHRoZSBzaW5rCgkgIFBvdGVudGlhbGx5IGZpeGVzIGNyYXNoZXMuCgoyMDE0LTExLTI4IDE0OjQ2OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbmtzaW5rOiBEb24ndCBjcmFzaCB3aGVuIGdvaW5nIHRvIFJFQURZIGFub3RoZXIgdGltZQoJICBXZSBoYXZlIHRvIGhhbmRsZSB0aGUgY2FsbGJhY2sgb2JqZWN0IGEgYml0IGRpZmZlcmVudDoKCSAgYSkgaXQgbmVlZHMgYSB2aXJ0dWFsIGRlc3RydWN0b3IKCSAgYikgd2UgbmVlZCB0byBzZXQgdGhlIGNhbGxiYWNrIHRvIE5VTEwgd2hlbiB3ZSdyZSBkb25lIHdpdGggdGhlIG91dHB1dAoJICBjKSBjcmVhdGUgYSBuZXcgb25lIGV2ZXJ5IHRpbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYxNgoKMjAxNC0xMS0yOCAxMDoyMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgY29tcG9zaXRvcjogRmFpbHVyZSB0byBtYXAgYSB2aWRlbyBmcmFtZSBpcyBub3QganVzdCBhIHdhcm5pbmcKCSAgQWxzbyBhZGQgc29tZSB3YXJuaW5nIGRlYnVnIG91dHB1dCBpZiBtYXBwaW5nIGEgb3V0cHV0IGJ1ZmZlciBmYWlscwoKMjAxNC0xMS0yOCAxMDoyMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGYWlsdXJlIHRvIG1hcCBhIHZpZGVvIGZyYW1lIGlzIG5vdCBqdXN0IGEgd2FybmluZwoKMjAxNC0xMS0yOCAxNDowODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJICBnbGZpbHRlcmFwcCBpcyBub3cgYXZhaWxhYmxlIG9uIGdsZXMyIGFzIHdlbGwgc28gYnVpbGQgaXQKCjIwMTQtMTEtMjggMTM6MDQ6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGZpeHVwIGNvbXBhdCBkZWZpbml0aW9uIGZvciBHTHVpbnQ2NCBmb3IgT1MgWAoKMjAxNC0xMS0yOCAxMTo1NjoxMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSAgZ2w6IGFkZCBjb21wYXQgZGVmaW5pdGlvbiBmb3IgR0x1aW50NjQgZm9yIGFuZHJvaWQKCSAgLi4vLi4vLi4vLi4vZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6NDE6MjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAnR0x1aW50NjQnCgkgIEdMdWludDY0IHRpbWVvdXQpKQoKMjAxNC0xMS0yOCAwMjoyMTo0OSArMDkwMCAgRGFubnkgU29uZyA8ZGFubnkuc29uZy5nYUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGZpeCB0eXBvIGluIGRvY3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgxNQoKMjAxNC0xMS0yOCAxMToxMTo0MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc3luY21ldGEuYzoKCSAgZ2xzeW5jOiBmaXggYnVpbGQgd2l0aCBkZXNrdG9wIGdsCgoyMDE0LTExLTI4IDExOjA0OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsOiBmaXggdHlwbyBpbiAjaWYKCSAgR1NUX0dMX0FQSV9IQVZFX09QRU5HTCBkb2Vzbid0IGV4aXN0CgoyMDE0LTExLTI4IDEwOjU5OjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzeW5jbWV0YS5jOgoJICBnbDogZml4IHZhcmlvdXMgYnVpbGQgZXJyb3JzIHdpdGhvdXQgZGVza3RvcCBnbAoKMjAxNC0xMS0yOCAxMDowMzoxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbGRpc3BsYXk6IGZpeCBidWlsZCBlcnJvcgoJICBnc3RnbGRpc3BsYXkuYzoyMzQ6NTQxOiBlcnJvcjogJ3JldHVybicgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkIFstV2Vycm9yXQoJICBnX3JldHVybl9pZl9mYWlsIChHU1RfSVNfR0xfRElTUExBWSAoZGlzcGxheSkpOwoKMjAxNC0xMS0yNyAyMTowNTo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xkaXNwbGF5OiBpbXBsZW1lbnQgcnVudGltZSBHTCBhcGkgZmlsdGVyaW5nCgkgIE5lZWRlZCBzbyB0aGF0IHRoZSBwaXBlbGluZS9hcHBsaWNhdGlvbiBjYW4gbGltaXQgdGhlIGNob2ljZSBvZiBHTCBhcGkKCSAgdG8gd2hhdCBpdCBzdXBwb3J0cwoKMjAxNC0xMS0yNyAxNjoxNzo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgdXNlIG9mIGdsdQoKMjAxNC0xMC0xNyAxNToyMjoyNCArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3N5bmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHN5bmNtZXRhLmg6CgkgIGdsOiBhZGQgYSBzeW5jIG1ldGEgZm9yIHN5bmNocm9uaXppbmcgYWNyb3NzIEdMIGNvbnRleHRzCgkgIEEgY29udGV4dCBjYW4gY3JlYXRlIGEgR0xzeW5jIG9iamVjdCB0aGF0IGNhbiBiZSB3YWl0ZWQgb24gaW4gb3JkZXIKCSAgdG8gZW5zdXJlIHRoYXQgR0wgcmVzb3VyY2VzIGNyZWF0ZWQgaW4gb25lIGNvbnRleHQgYXJlIGFibGUgdG8gYmUKCSAgdXNlZCBpbiBhbm90aGVyIHNoYXJlZCBjb250ZXh0IHdpdGhvdXQgYW55IGNoYW5jZSBvZiByZWFkaW5nIGludmFsaWQKCSAgZGF0YS4KCSAgVGhpcyBtZXRhIHdvdWxkIGJlIHBsYWNlZCBvbiBidWZmZXJzIHRoYXQgYXJlIGtub3duIHRvIGNyb3NzIGZyb20KCSAgb25lIGNvbnRleHQgdG8gYW5vdGhlci4gIFRoZSByZWNlaXZpbmcgZWxlbWVudCB3b3VsZCB0aGVuIHdhaXQKCSAgb24gdGhlIHN5bmMgb2JqZWN0IHRvIGVuc3VyZSB0aGF0IHRoZSBkYXRhIHRvIGJlIHVzZWQgaXMgY29tcGxldGUuCgoyMDE0LTEwLTE3IDE1OjA4OjI5ICswMjAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9zeW5jLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHN5bmMgZnVuY3Rpb24gZGVmaW5pdGlvbnMKCjIwMTQtMTEtMTcgMTg6MDY6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsZmlsdGVyYXBwOiBwb3J0IHRvIGdsZXMyIGFuZCBnbDMKCjIwMTQtMTEtMTQgMjM6MjQ6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBnbG92ZXJsYXk6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTE0IDAwOjIwOjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgc3VwcG9ydCBmb3IgZ2wzCgoyMDE0LTExLTEzIDIxOjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSAgZ2xmaWx0ZXJjdWJlOiBhZGQgYSBnbDMgY29kZSBwYXRoCgoyMDE0LTExLTEzIDE1OjA5OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgZ2xmaWx0ZXJzaGFkZXI6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEzIDEyOjEyOjQ2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBzdXBwb3J0IGdsMwoKMjAxNC0xMS0xMiAyMzo0ODozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBnbGVmZmVjdHM6IHN1cHBvcnQgZ2wzIHdoZXJlZXZlciBnbGVzMiBpcyBzdXBwb3J0ZWQKCjIwMTQtMTEtMTIgMjM6NDc6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBnbGNvbG9yc2NhbGU6IHN1cHBvcnQgZ2wzCgoyMDE0LTExLTEyIDIyOjQ5OjExICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsZmlsdGVyOiBhZGQgYSBnbDMgY29kZSBwYXRoIHVzaW5nIHZhbydzIGFuZCB2Ym8ncwoKMjAxNC0xMS0xMiAyMjo0ODowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2xmcmFtZWJ1ZmZlcjogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0yMyAyMjozNToyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbGNvbG9yY29udmVydDogYWRkIHN1cHBvcnQgZm9yIGdsMwoKMjAxNC0xMC0yMSAyMjoxODo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogdXNlIHZibydzIGFuZCB2YW8ncyBmb3IgZ2wzCgoyMDE0LTEwLTIxIDE5OjMwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkgIGdsc2hhZGVyIGFkZCBzdXBwb3J0IGZvciBnbDMKCjIwMTQtMTAtMTkgMDg6MDk6MzcgKzA0MDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgZ2x4OiBhc2sgZm9yIGEgR0wzIGNvcmUgY29udGV4dAoKMjAxNC0xMS0yNyAyMToyMjo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNaW5vciBjbGVhbnVwCgoyMDE0LTExLTI2IDE1OjAyOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5jOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkgIGNvbXBvc2l0b3I6IEltcGxlbWVudCByZXNjYWxpbmcgb2YgdGhlIGlucHV0IHZpYSBwYWQgcHJvcGVydGllcwoJICBjb21wb3NpdG9yIGhhcyBub3cgdGhlIHNhbWUgaW50ZXJmYWNlIGFzIGdsdmlkZW9taXhlci4KCjIwMTQtMTEtMjcgMjA6MzQ6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQ29weSBvdmVyIG1vcmUgZmllbGRzIGZyb20gdGhlIHJlbGV2YW50IHZpZGVvLWluZm8KCSAgZ3N0X3ZpZGVvX2luZm9fc2V0X2Zvcm1hdCgpIHdpbGwgcmVzZXQgdGhlIGNvbXBsZXRlIHZpZGVvLWluZm8sIGJ1dAoJICB3ZSB3YW50IHRvIGtlZXAgdmFsdWVzIGxpa2UgdGhlIFBBUiwgY29sb3JpbWV0cnkgYW5kIGNocm9tYSBzaXRlLgoJICBPdGhlcndpc2Ugd2UgcmlzayBzZXR0aW5nIGRpZmZlcmVudCB2YWx1ZXMgb24gdGhlIHNyY3BhZCBjYXBzIHRoYW4KCSAgd2hhdCBpcyBhY3R1YWxseSBpbnNpZGUgdGhlIGJ1ZmZlcnMuCgoyMDE0LTExLTI3IDIwOjI1OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERpcmVjdGx5IHVzZSB0aGUgY29udmVydGVycyB2aWRlby1pbmZvIGluc3RlYWQgb2YgcmVjYWxjdWxhdGluZyBpdAoKMjAxNC0xMS0yNyAxOTo1MjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBzb3VyY2UgcGFkIG5lZ290aWF0aW9uIG9ubHkgZnJvbSB0aGUgYWdncmVnYXRlZCBmdW5jdGlvbgoJICBPdGhlcndpc2Ugd2UgbWlnaHQgbmVnb3RpYXRlIGZyb20gdGhlIHNpbmtwYWQgc3RyZWFtaW5nIHRocmVhZHMgYXQKCSAgdGhlIHNhbWUgdGltZSBhcyBvbiB0aGUgc3JjcGFkIHN0cmVhbWluZyB0aHJlYWQsIGFuZCB0aGVuIGFsbCBraW5kcwoJICBvZiBjcmF6eSBidWdzIGhhcHBlbiB0aGF0IGRvbid0IG1ha2UgYW55IHNlbnNlIGF0IGFsbC4KCjIwMTQtMTEtMjcgMTg6NDY6MDMgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvcnBhZC5oOgoJICB2aWRlb2NvbnZlcnQ6IEhpZGUgYWxsIGNvbnZlcnNpb24gcmVsYXRlZCBmaWVsZHMKCSAgQW5kIGRvIG5vdCBkZWxheSB0aGUgc2V0dGluZyBvZiB0aGUgY29udmVyc2lvbl9pbmZvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NjgKCjIwMTQtMTEtMjcgMTY6NDM6MzkgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRG8gbm90IHRyeSB0byByZXNpemUgYSBidWZmZXIgdG8gYSBuZWdhdGl2ZSBzaXplIG9uIEVPUwoKMjAxNC0xMS0yNiAxODoyNDowNSArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBFeHBvc2Ugdm1ldGhvZHMgdG8gc2V0IGNvbnZlcnRlcnMgYW5kIHByZXBhcmUvY2xlYW4gZnJhbWVzCgkgIFRoaXMgZ2l2ZXMgbW9yZSBmbGV4aWJpbGl0eSB0byB0aGUgc3ViY2xhc3NlcyBhbmQgcGVybWl0cyB0byByZW1vdmUgdGhlCgkgIEdzdFZpZGVvQWdncmVnYXRvckNsYXNzLT5kaXNhYmxlX2ZyYW1lX2NvbnZlcnNpb24gdWdseSBBUEkuCgkgIFdBUk5JTkc6IFRoaXMgYnJlYWtzIHRoZSBBUEkgYXMgaXQgcmVtb3ZlcyB0aGUgZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uCgkgIGZpZWxkCgkgIEFQSToKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZmluZF9iZXN0X2Zvcm1hdAoJICArIEdzdFZpZGVvQWdncmVnYXRvclBhZENsYXNzLT5zZXRfZm9ybWF0CgkgICsgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkQ2xhc3MtPnByZXBhcmVfZnJhbWUKCSAgKyBHc3RWaWRlb0FnZ3JlZ2F0b3JQYWRDbGFzcy0+Y2xlYW5fZnJhbWUKCSAgLSBHc3RWaWRlb0FnZ3JlZ2F0b3JDbGFzcy0+ZGlzYWJsZV9mcmFtZV9jb252ZXJzaW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NjgKCjIwMTQtMTEtMjYgMTU6NDE6MzcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmg6CgkgIHdhdGNoZG9nOiBIYW5kbGUgRkxVU0hJTkcgc2VlayBldmVudHMgZXZlbiBpbiBQQVVTRUQgc3RhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDc1NwoKMjAxNC0xMS0yNiAxNTo0MzoxMiArMDEwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IFByb3Blcmx5IGhhbmRsZSBQQVVTRUQgc3RhdGUKCSAgSW4gUEFVU0VEIHN0YXRlIHdlIHNob3VsZCBqdXN0IHByZXJvbGwsIHNvIGdldCBvbmUgYnVmZmVyCgkgIGFuZCBzdG9wIG1vbml0b3JpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA3NTcKCjIwMTQtMTAtMzEgMTE6MDE6NDcgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBMZXQgYSBmdWxsIHJlbmVnb3RpYXRpb24gaGFwcGVuIGFmdGVyIHJlbW92aW5nIHRoZSBsYXN0IHBhZAoJICBXaXRoIHRoZSBjdXJyZW50IGNvZGUsIHdlIHdpbGwgZW5kIHVwIHNldHRpbmcgdGhlIHByZWZlcnJlZCBkb3duc3RyZWFtCgkgIGZvcm1hdCBhcyB0aGUgc3JjcGFkIGZvcm1hdCwgYW5kIGl0IG1pZ2h0IG5vdCBiZSBhY2NlcHRlZCBieSB0aGUgbmV4dAoJICBzaW5rcGFkIHRvIGJlIGFkZGVkLiBXZSBzaG91bGQgaW5zdGVhZCBsZXQgdGhlIG5leHQgc2lua3BhZCByZWNvbmZpZ3VyZQoJICBldmVyeXRoaW5nLgoKMjAxNC0xMS0yNyAxMzo0MDo1NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogYWRkIHF1YWxpdHkgcHJvcGVydHkKCjIwMTQtMTEtMjcgMTM6MzM6MDcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBzZXQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoKMjAxNC0xMS0yNyAxODowOTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogVW5yZWYgYnVmZmVyIHdpdGggdGhlIGNvcnJlY3QgZnVuY3Rpb24KCjIwMTQtMTEtMjcgMTg6MDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEhhbmRsZSBmYWlsdXJlIG9mIG1lbW9yeSBhbGxvY2F0aW9uIGdyYWNlZnVsbHkKCjIwMTQtMTEtMjcgMTg6MDQ6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IFVzZSBnX3RyeV9tYWxsb2MoKSBpbiB0aGUgYXBwcm9wcmlhdGUgcGxhY2VzCgkgIGdfbWFsbG9jKCkgYWJvcnRzIGlmIGFsbG9jYXRpb24gZmFpbHMsIGl0J3MgcG9pbnRsZXNzIHRvIGNoZWNrIGFnYWluc3QgTlVMTAoJICBhZnRlcndhcmRzLiBUaGF0J3Mgd2h5IGdfdHJ5X21hbGxvYygpIGV4aXN0cy4KCjIwMTQtMTEtMjcgMTc6MTE6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGYzMmNmY2QgdG8gZWYxZmZkYwoKMjAxNC0xMS0yNyAxMDo0ODo0MyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogc3VwcG9ydCBSR0IxNi9CR1IxNiB2aWRlbyBmb3JtYXQgZG93bmxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDgwMQoKMjAxNC0xMS0yNyAxMzowMToxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBvbmx5IGF0dGVtcHQgYSByZXNpemUgd2hlbiB0aGUgd2luZG93IGhhcyBhbHJlYWR5IHJlc2l6ZWQKCSAgZml4ZXMgYSBibGFjayBzdGFydHVwIHNjcmVlbiBvbiB3YXlsYW5kCgoyMDE0LTExLTI3IDExOjQ3OjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJICBnbC93YXlsYW5kOiBpbXBsZW1lbnQgcmVzaXppbmcgdGhlIHdpbmRvdyB1c2luZyB0aGUgcmlnaHQgbW91c2UgYnV0dG9uCgoyMDE0LTExLTI2IDIyOjA1OjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxnaXRAYXJ1bnJhZ2hhdmFuLm5ldD4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBidWlsZDogVXNlIG5ld2VyIEFYX1BUSFJFQUQgaW5zdGVhZCBvZiBBQ1hfUFRIUkVBRAoKMjAxNC0xMS0yNiAxNDozNjo0MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzoKCSogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuYzoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkqIHN5cy9xdHdyYXBwZXIvdmlkZW9kZWNvZGVycy5jOgoJICBSZW1vdmUgdW5wb3J0ZWQgYW5kIG9ic29sZXRlIHF0d3JhcHBlciBwbHVnaW4gY29kZQoJICBRdWlja1RpbWUgaXMgZGVwcmVjYXRlZCwgd2Ugd2FudCBuZXcgcGx1Z2lucyBiYXNlZAoJICBvbiBhdmZvdW5kYXRpb24gKG9zeCkgb3IgZHh2YS9tZWRpYWZvdW5kYXRpb24gKHdpbmRvd3MpLgoKMjAxNC0xMS0yNyAwMToyNzoxOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBzdXBwb3J0IGZpeGVkIGRpbWVuc2lvbnMgb24gYm90aCBzaWRlcyBvZiB0aGUgZWxlbWVudAoJICBGaXhlczoKCSAgd2lkdGg9MzIwLGhlaWdodD0yNDAgISBnbGZpbHRlciAhIHdpZHRoPTgwMCxoZWlnaHQ9NjAwCgkgIHdpZHRoPTIzMCxoZWlnaHQ9MjQwICEgZ2xmaWx0ZXIgISB3aWR0aD02MDAKCSAgLi4uICEgZ2xmaWx0ZXIgISB3aWR0aD04MDAKCjIwMTQtMTEtMjUgMTM6MzM6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGZpeCBhdXRvbWFnaWMgZGlzYWJsaW5nIG9mIGRlc2t0b3AgR0wKCSAgSWYgY29uZmlndXJlIGZpbmRzIEdMICsgR0xFUzIgYnV0IHRoZSB1c2VyIHBhc3NlcyAtLWVuYWJsZS1nbGVzMiBhbmQKCSAgdGhlIHR3byBHTCBBUEkncyBjYW5ub3QgYmUgYnVpbHQgYWdhaW5zdCB0b2dldGhlciwgY29uZmlndXJlIHdhcyBzdGlsbAoJICBhbGxvd2luZyB0aGUgZGVza3RvcCBHTCBzdGFjayB0byBiZSBidWlsdC4KCjIwMTQtMTEtMjYgMTM6MDY6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogQWxzbyBzeW5jIHBhZCBwcm9wZXJ0aWVzIHRvIHRoZSBjb250cm9sbGVyIGlmIGNvbnZlcnNpb24gaXMgZGlzYWJsZWQKCjIwMTQtMTEtMjYgMTI6MzU6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JwYWQuaDoKCSAgY29tcG9zaXRvcjogUmVtb3ZlIHVudXNlZCB6b3JkZXIgcGFkIHByb3BlcnR5CgkgIEl0J3MgaGFuZGxlZCBpbiB2aWRlb2FnZ3JlZ2F0b3IgYWxyZWFkeS4KCjIwMTQtMTEtMjMgMjM6NDk6NTAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMiAoR0NDKSA0LjIuMQoJICAid2FybmluZzogY29tcGFyaXNvbiBpcyBhbHdheXMgdHJ1ZSBkdWUgdG8gbGltaXRlZAoJICByYW5nZSBvZiBkYXRhIHR5cGUiCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDA2NzMKCjIwMTQtMTEtMjUgMTg6NTM6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEdzdFZpZGVvTWV0YSBpcyBzdXBwb3J0ZWQganVzdCBmaW5lLCB0ZWxsIHVwc3RyZWFtIGFib3V0IHRoYXQKCSAgQWxzbyBwcm92aWRlIGEgR3N0VmlkZW9CdWZmZXJQb29sIHRvIHVwc3RyZWFtIGp1c3QgaW4gY2FzZS4KCjIwMTQtMTEtMjQgMTM6MjU6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBkZWJ1ZyBtZXNzYWdlIGZvcm1hdCBpc3N1ZXMKCSAgQW5kIHByaW50IGxhc3QgYml0cyBvZiBHVUlEIHByb3Blcmx5IGluc3RlYWQKCSAgb2YgcHJpbnRpbmcgbm9uc2Vuc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMwNTUKCjIwMTQtMTEtMjUgMDg6MjQ6MTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgaTY4Ni1hcHBsZS1kYXJ3aW4xMS1sbHZtLWdjYy00LjIgKEdDQykgNC4yLjEKCSAgIndhcm5pbmc6IGNvbXBhcmlzb24gaXMgYWx3YXlzIHRydWUgZHVlIHRvIGxpbWl0ZWQKCSAgcmFuZ2Ugb2YgZGF0YSB0eXBlIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNjc0CgoyMDE0LTExLTI0IDE5OjUzOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBwa2ctY29uZmlnIHRvIGRldGVjdCBYMTEKCSAgTGlrZSB3ZSBkbyBpbiAtYmFzZSBhbmQgLWdvb2Qgbm93LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDQ3CgoyMDE0LTExLTI0IDE5OjIxOjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFVzZSBhIGZpeGVkIG51bWJlciBvZiBzbGljZXMgYnkgZGVmYXVsdAoKMjAxNC0xMS0yNCAxOToxNjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgc29tZSBtb3JlIGVuY29kaW5nIHByb3BlcnRpZXMKCSAgTWVyZ2VkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL0VyaWNzc29uUmVzZWFyY2gvb3BlbndlYnJ0Yy1nc3QtcGx1Z2lucwoJICBiYXNlZCBvbiBhIHBhdGNoc2V0IGJ5IFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGVyaWNzc29uLmNvbT4KCjIwMTQtMTEtMjQgMTg6NDA6NTMgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBieSBtb3ZpbmcgZGVjbGFyYXRpb24gd2hlcmUgaXQgaXMgYWN0dWFsbHkgdXNlZAoKMjAxNC0xMS0yNCAxNDowNzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIDJrIG1vZGVzCgoyMDE0LTExLTI0IDEzOjU2OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IEhEMTA4MGk1MCBpcyA1MCBmcmFtZXMgcGVyIHNlY29uZAoKMjAxNC0xMS0yNCAxNzo1ODo0MiArMDUzMCAgUmFtcHJha2FzaCBKZWxhcmkgPHJhbXByYWthc2guamVsYXJpQGUtY29uc3lzdGVtcy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5nCgoyMDE0LTExLTI0IDE3OjE4OjQ0ICswNTMwICBSYW1wcmFrYXNoIEplbGFyaSA8cmFtcHJha2FzaC5qZWxhcmlAZS1jb25zeXN0ZW1zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIGR2YnNlY3Rpb246IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTQtMTEtMjQgMTY6NTQ6NDIgKzA1MzAgIFJhbXByYWthc2ggSmVsYXJpIDxyYW1wcmFrYXNoLmplbGFyaUBlLWNvbnN5c3RlbXMuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOjc3ODoxNjogd2FybmluZzogZm9ybWF0IHNwZWNpZmllcyB0eXBlICd1bnNpZ25lZCBsb25nJyBidXQgdGhlIGFyZ3VtZW50IGhhcyB0eXBlICdpbnQnIFstV2Zvcm1hdF0KCjIwMTQtMTEtMjQgMTE6MzI6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCB2YWxpZCBjb21waWxlciB3YXJuaW5nCgkgIGdzdGdsdXBsb2FkLmM6NDQyOjMyOiBlcnJvcjogaWYgc3RhdGVtZW50IGhhcyBlbXB0eSBib2R5IFstV2Vycm9yLC1XZW1wdHktYm9keV0KCSAgaWYgKHVwbG9hZC0+dGV4dHVyZV9pZHNbaV0pOwoJICBeCgoyMDE0LTExLTI0IDEwOjQzOjIzICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwaGlsbkBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IHNoaXAgdGhlIGdzdGdsY29udGV4dF9lZ2wuaCBoZWFkZXIKCSAgSXQgaXMgcmVxdWlyZWQgYnkgZ3N0ZWdsaW1hZ2VtZW1vcnkuaC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDYxMQoKMjAxNC0xMS0yMyAyMTo0MzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbDogc2hhZGVydmFyaWFibGVzOiBtYWtlIHBhcnNpbmcgb2YgZmxvYXRzIGxvY2FsZS1pbmRlcGVuZGVudAoJICBGbG9hdGluZyBwb2ludCBudW1iZXJzIGFyZSB3cml0dGVuIGRpZmZlcmVudGx5IGluIGRpZmZlcmVudAoJICBsb2NhbGVzLCBlLmcuIGluIG1hbnkgY291bnRyaWVzIDEvMiA9IDAsNSBpbnN0ZWFkIG9mIDAuNSwgYW5kCgkgIHN0cnRvZCB3aWxsIG5vdCBiZSBhYmxlIHRvIHBhcnNlICIwLjUiIGNvcnJlY3RseSBpbiBzdWNoIGEKCSAgbG9jYWxlLgoKMjAxNC0xMS0yNCAwMjo1MjoyNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsc2hhZGVydmFyaWFibGVzOiBhbHNvIHRyaW0gXHIgYXMgd2VsbCBhcyBcbgoKMjAxNC0xMS0wNSAyMDoxODowNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IHJlYXJjaGl0ZWN0dXJlIGZvciBub24gR0xNZW1vcnkgaW5wdXRzL291dHB1dHMKCSAgQWxsb3dzIG90aGVyIG1lbW9yeSB0eXBlcyB0byBiZSBpbXBsZW1lbnRlZC9yZXR1cm5lZC91c2VkIGJ5IHRoZSBjYWxsZXIuCgoyMDE0LTExLTE0IDEwOjU1OjE0ICswOTAwICBXb25jaHVsIExlZSA8d29uY2h1bDg2LmxlZUBsZ2UuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBzZW5kIFNFRUtJTkcgcXVlcnkgdXBzdHJlYW0gZmlyc3QKCSAgU29tZXRpbWVzIHJhd3BhcnNlIGRvZXMgbm90IGhhbmRsZSB0aGUgc2Vla2luZyBxdWVyeQoJICBwcm9wZXJseSwgdGhlIHJhd3BhcnNlIHNob3VsZCBzZW5kIHRoZSBxdWVyeSB1cHN0cmVhbQoJICBmaXJzdC4gRm9yIGV4YW1wbGUsIHVwc3RyZWFtIGNvdWxkIHN1cHBvcnQgc2Vla2luZyBpbgoJICBUSU1FIGZvcm1hdCAoYnV0IG5vdCBpbiBCWVRFIGZvcm1hdCksIHNvIHRoZSBCWVRFIGZvcm1hdAoJICBzZWVraW5nIHF1ZXJ5IHRoYXQgcmF3cGFyc2Ugc2VuZHMgaW4gcHVzaCBtb2RlIHdvdWxkCgkgIGZhaWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjI3NjQKCjIwMTQtMTEtMjEgMTU6NDY6NDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGxldCBWVCBwaWNrIHRoZSBiaXRyYXRlIGJ5IGRlZmF1bHQKCjIwMTQtMTEtMjAgMTA6MjM6MzAgLTA4MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBmaXggcnRwL3J0Y3Agc2luayBldmVudCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwNDUxCgoyMDE0LTExLTIwIDE2OjA0OjM0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBzZXQgSDI2NF9CYXNlbGluZV9BdXRvTGV2ZWwgb24gT1NYIGFzIHdlbGwKCjIwMTQtMTEtMjAgMTU6NTA6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGRpc2FibGUgdGhlIHJlb3JkZXIgcXVldWUgZm9yIGJhc2VsaW5lIHN0cmVhbXMKCjIwMTQtMTEtMjAgMDk6NDE6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGRpdmlkZSBieSB6ZXJvIGluIHRoZSBwaWN0dXJlIGJ1ZmZlciBsZW5ndGggY2FsY3VsYXRpb24KCjIwMTQtMTEtMjAgMDk6MTM6NTggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBjcml0aWNhbCBlcnJvciB3aGlsZSBzZWVrIHBsYXliYWNrLXRlc3Qoc3RvcCBzdGF0ZSkKCSAgSWYgd2Ugc2VlayB3aGVuIG1lZGlhIGlzIGluIHN0b3Agc3RhdGUsIHBsYXliYWNrLXRlc3QgZ2l2ZXMKCSAgY3JpdGljYWwgZXJyb3IsIHNpbmNlIGNvbnRleHQgb2YgZ2xpbWFnZXNpbmsgaXMgZGVzdHJveWVkIGR1cmluZyBzdG9wLgoJICBCdXQgc2luY2UgY29udGV4dCBpcyBub3QgcHJlc2VudCwgd2UgbmVlZCBub3QgaGFuZGxlIHNlbmRfZXZlbnQgaW4gZ2xpbWFnZXNpbmsKCSAgSGVuY2UgYWRkaW5nIGEgY29uZGl0aW9uIHRvIGNoZWNrIGlmIGNvbnRleHQgaXMgdmFsaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzMDUKCjIwMTQtMTEtMTkgMTc6MTc6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFVuYmxvY2sgZXZlbnRzL3F1ZXJpZXMgaW1tZWRpYXRlbHkgaWYgdGhlIHBhZCBpcyBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjE1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEcm9wIHNlcmlhbGl6ZWQgZXZlbnRzL3F1ZXJpZXMgaWYgdGhlIHBhZCBpcyBmbHVzaGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzQwMzc2CgoyMDE0LTExLTE5IDE3OjAzOjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBCbG9jayBzZXJpYWxpemVkIGV2ZW50cy9xdWVyaWVzIHVudGlsIHRoZSBwYWQgaGFzIGNvbnN1bWVkIGFsbCBidWZmZXJzCgkgIE90aGVyd2lzZSB0aGUgY2FwcyBvZiB0aGUgcGFkIG1pZ2h0IGNoYW5nZSB3aGlsZSB0aGUgc3ViY2xhc3Mgc3RpbGwgd29ya3Mgd2l0aAoJICBhIGJ1ZmZlciBvZiB0aGUgb2xkIGNhcHMsIGFzc3VtaW5nIHRoZSB0aGUgY3VycmVudCBwYWQgY2FwcyBhcHBseSB0byB0aGF0CgkgIGJ1ZmZlci4gV2hpY2ggdGhlbiBsZWFkcyB0byBjcmFzaGVzIGFuZCBvdGhlciBuaWNlIGVmZmVjdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAzNzYKCjIwMTQtMTEtMTkgMTc6MDI6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogRG9uJ3Qgb3V0cHV0IDAtZHVyYXRpb24gYnVmZmVycyBhdCB0aGUgc2VnbWVudCBlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDM3NgoKMjAxNC0xMS0xOSAxNzowMzozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogRml4IHR5cG8gaW4gZGVidWcgb3V0cHV0CgoyMDE0LTExLTE3IDE0OjA1OjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IHVwIFFvUyBoYW5kbGluZyBmb3IgbGl2ZSBzb3VyY2VzCgkgIE9ubHkgYXR0ZW1wdCBhZGFwdGl2ZSBkcm9wIHdoZW4gd2UgYXJlIG5vdCBsaXZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk5OTYKCjIwMTQtMTEtMTcgMTQ6MDA6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5oOgoJICBhZ2dyZWdhdG9yOiBhZGQgX2dldF9sYXRlbmN5KCkgZm9yIHN1YmNsYXNzIHVzYWdlCgkgIEFQSTogZ3N0X2FnZ3JlZ2F0b3JfZ2V0X2xhdGVuY3kKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTk5NgoKMjAxNC0xMS0xNyAwOTozNjo1MiArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsY29udGV4dDogYnVpbGQgZXJyb3JzIHdoZW4gR1NUX0dMX0hBVkVfT1BFTkdMIGlzIDAKCSAgTW92aW5nIHZhcmlhYmxlcyB3aXRoaW4gI2lmIEdTVF9HTF9IQVZFX09QRU5HTCwgd2hpY2ggYXJlIG5vdCBnb2luZyB0byBiZSB1c2VkIG90aGVyd2lzZS4KCSAgYW5kIHdoaWNoIGFyZSBuZWVkZWQgb25seSB3aGVuIE9wZW5HbCBpcyBwcmVzZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03NDAyMzUKCjIwMTQtMTEtMTcgMTE6MTA6MzUgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgZXhhbXBsZXM6IHJlbGljZW5zZSBvcGVuY3YgZ3N0aGFuZGRldGVjdF90ZXN0IHRvIExHUEx2MisKCSAgVGhlIEdQTDMgbGljZW5zZSBoZWFkZXIgd2FzIGNvcHknbidwYXN0ZWQgZnJvbSBhCgkgIG5laWdoYm91cmluZyBzb3VyY2UgZmlsZSBieSBtaXN0YWtlLCB0aGUgb3JpZ2luYWwKCSAgY29kZSB3YXMgbm90IEdQTDMgbGljZW5zZWQsIGJ1dCBmZWxsIHVuZGVyIHRoZQoJICBkZWZhdWx0IEdTdHJlYW1lciBsaWNlbnNlLCB3aGljaCBpcyBMR1BMdjIrLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDE0LTExLTE3IDE4OjUwOjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGFkZCByZWFkLW9ubHkgY29udGV4dCBwcm9wZXJ0eQoKMjAxNC0xMS0xNyAxODo1MDowNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogYWRkIHJlYWQtb25seSBjb250ZXh0IHByb3BlcnR5CgoyMDE0LTExLTExIDE3OjA4OjI1ICswOTAwICBIeXVuanVuIEtvIDx6em9vbmlzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIG9wZW5jdi1leGFtcGxlOiBVc2UgZ19zbnByaW50ZiBpbnN0ZWFkIG9mIHNwcmludGYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTg0NgoKMjAxNC0xMS0xNiAyMDozMjo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCBleHBsaWNpdCBjb21wYXJpc29ucyBhZ2FpbnN0IDAgZm9yIHRydWUvZmFsc2UKCjIwMTQtMTEtMTYgMTE6MDA6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IE9ubHkgdXNlIGNvbnZlcnRSZWN0VG9CYWNraW5nIG9uIE9TWCA+PSAxMC43CgkgIEl0IGRvZXMgbm90IGV4aXN0IGJlZm9yZSBhbmQgb2xkZXIgdmVyc2lvbnMgYWxzbyBkb24ndCBoYXZlCgkgIHN1cHBvcnQgZm9yIEhpRFBJIGRpc3BsYXlzIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIwMQoKMjAxNC0xMS0xNiAxMDo1Nzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBVc2UgbnVtZXJpYyBPU1ggdmVyc2lvbiBpbnN0ZWFkIG9mIHRoZSBtYWNybwoJICBUaGUgbWFjcm8gaXMgbm90IGRlZmluZWQgb24gb2xkZXIgT1NYIHZlcnNpb25zIGFuZCBldmFsdWF0ZXMgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDIwMQoKMjAxNC0xMS0xNSAyMTo1OTo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggcG9zc2libGUgY3Jhc2ggYnkgcGFzc2luZyA2NCBiaXRzIGZvciA2NC1iaXQgcXVldWUgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTc0MDE5MQoKMjAxNC0xMS0xNCAxMDo0MDozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBpbmRlbnRpb24KCjIwMTQtMTEtMTAgMTA6MDE6MjQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z2IuZGV2ZWxAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGRlcml2YXRpb24gb2YgTWF4UGljTnVtIHZhcmlhYmxlLgoJICBUaGUgbG9naWMgdG8gY29tcHV0ZSB0aGUgTWF4UGljTnVtIHZhcmlhYmxlIHdhcyByZXZlcnNlZC4gSW4gcGFyaWN1bGFyLAoJICBNYXhQaWNOdW0gaXMgZG91YmxlIE1heEZyYW1lTnVtIG9ubHkgaWYgZmllbGRfcGljX2ZsYWcgaXMgc2V0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkyOTEKCjIwMTQtMTEtMTMgMTI6MDE6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IERvbid0IG92ZXJyaWRlIHRoZSBhcHBsaWNhdGlvbiBkZWxlZ2F0ZQoJICBPdGhlcndpc2UgaW50ZXJlc3RpbmcgdGhpbmdzIHdpbGwgaGFwcGVuIGluIENvY29hIGFwcGxpY2F0aW9ucywgbGlrZQoJICBpbmZpbml0ZSBldmVudCBsb29wcyB0aGF0IGJsb2NrIHRoZSBOU0FwcGxpY2F0aW9uIGxvb3AgZm9yZXZlci4KCSAgVGhpcyB3YXMgb25seSBuZWVkZWQgZm9yIEdOVVN0ZXAgYW5kIHRodXMgY2FuIHNhZmVseSBiZSByZW1vdmVkIG5vdy4KCjIwMTQtMTEtMTMgMTE6NTg6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL2NvY29hLXZpZGVvb3ZlcmxheS5tOgoJICBnbC9jb2NvYTogUmVtb3ZlIEdOVVN0ZXAgc3VwcG9ydAoJICBVbnRpbCBnY2MgYW5kIEdOVVN0ZXAgcHJvcGVybHkgc3VwcG9ydCBPYmplY3RpdmUtQyBibG9ja3MgYW5kIG90aGVyCgkgICJuZXciIGZlYXR1cmVzIG9mIE9iamVjdGl2ZS1DIHdlIGNhbid0IHByb3Blcmx5IHN1cHBvcnQgdGhlbSB3aXRob3V0CgkgIG1ha2luZyB0aGUgY29kZSBtdWNoIG1vcmUgdWdseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTE1MgoKMjAxNC0xMS0xMiAxODowNjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSAgaW50ZXJhdWRpb3Npbms6IE1ha2Ugc3VyZSB0byBzdG9yZSBhdCBsZWFzdCBwZXJpb2QtdGltZSBzYW1wbGVzIGF0IG9uY2UgaW4gdGhlIGFkYXB0ZXIKCSAgSXQncyBiZXR0ZXIgdG8gY3JlYXRlIHNvbWUgbW9yZSBzaWxlbmNlIHRoYW4gaGF2aW5nIHRoZSBzb3VyY2UgcHVsbCBtdWx0aXBsZQoJICBzaG9ydCBidWZmZXJzIG91dCBvZiB0aGUgYWRhcHRlciBhbmQgaW5zZXJ0IHNpbGVuY2UgYmV0d2VlbiB0aGVtLgoKMjAxNC0xMS0xMiAxNjo0NToxMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZml4IGJ1aWxkIG9uIGlPUwoKMjAxNC0xMS0xMiAxNTozNTozNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBzZXQgLT5waXhlbF9idWYgZm9yIENWUGl4ZWxCdWZmZXIgYnVmZmVycwoJICBGaXggYSBidWcgZm9yIHdoaWNoIHdlIG5ldmVyIGFjdHVhbGx5IHNldCAtPnBpeGVsX2J1ZiB0byBub24tTlVMTCBmb3IKCSAgQ1ZQaXhlbEJ1ZmZlciBidWZmZXJzLgoKMjAxNC0wNi0wNiAxMzo1NzozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHNldCBjaGFubmVsIHBvc2l0aW9ucyB1c2luZyB0aGUgYXBwcm9wcmlhdGUgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwMzgKCjIwMTQtMTEtMTIgMTM6NTg6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcnZpZGVvc3JjOiBTdG9wIHNob3dpbmcgdGhlIGN1cnJlbnQgZnJhbWUgYWZ0ZXIgMSBzZWNvbmQsIG5vdCBhZnRlciAzMCBmcmFtZXMKCjIwMTQtMTEtMTIgMDk6NDE6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBhZGQgQ0ZMQUdTIGFuZCBMQUREIGZvciBnbGltYWdlc2luayB1bml0IHRlc3QKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMiAxMTo1Mjo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgbmV3IGVuYWJsZS1mcmFtZS1za2lwIHByb3BlcnR5IGFuZCBkaXNhYmxlIGl0IGJ5IGRlZmF1bHQKCSAgT3RoZXJ3aXNlIGUuZy4gdmlkZW90ZXN0c3JjICEgb3BlbmgyNjRlbmMgISAuLi4gd2lsbCBkcm9wIGV2ZXJ5IHNlY29uZCBmcmFtZQoJICBiZWNhdXNlIG90aGVyd2lzZSB0aGUgdGFyZ2V0IGJpdHJhdGUgY2FuJ3QgYmUgcmVhY2hlZCB3aXRob3V0IGxvb3NpbmcgdG9vCgkgIG11Y2ggcXVhbGl0eS4KCjIwMTQtMTEtMTIgMDk6NTk6NTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBjb21waWxhdGlvbiBvbiA8IDEwLjkKCjIwMTQtMTEtMTIgMTE6NDQ6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZG9uJ3Qgc2V0IHRoZSB1cGxvYWQgdG8gTlVMTCBvbiB0aGUgZHJhaW4gcXVlcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY5NAoKMjAxNC0xMS0xMSAxNzowNDo0OCArMDkwMCAgSHl1bmp1biBLbyA8enpvb25pc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSAgZ2w6IENvcnJlY3QgaW52YWxpZCBjb21tZW50IHRleHQKCjIwMTQtMTEtMTEgMjM6NTQ6NDQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGouaXNvcmNlQHNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dsaW1hZ2VzaW5rLmM6CgkgIGdsOiBhZGQgdW5pdCB0ZXN0IHRoYXQgY2hlY2tzIGZvciBnbGltYWdlc2luayBkcmFpbiBxdWVyeSBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDIzOjQ5OjU5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVsZWFzZSBzdG9yZWQgYnVmZmVycyBvbiBkcmFpbiBxdWVyeQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjk0CgoyMDE0LTExLTExIDIzOjQzOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqLmlzb3JjZUBzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogZG8gbm90IHJhaXNlIGEgY3JpdGljYWwgbXNnIGlmIHRoZSBiYWNrZW5kIGRvZXMgbm90IGhhbmRsZSB3aW5kb3cgZXZlbnRzCgkgIEZpeCAiYXNzZXJ0aW9uICd3aW5kb3dfY2xhc3MtPmhhbmRsZV9ldmVudHMgIT0gTlVMTCcgZmFpbGVkIgoJICBpZiBub3QgdXNpbmcgYSBYMTEgd2luZG93LgoKMjAxNC0xMS0xMSAxODowMTo1NCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogZW5hYmxlIHRoZSBodyBlbmNvZGVyIG9uIE9TWAoKMjAxNC0xMS0xMSAxMjowMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IENoZWNrIHRoZSBjb3JyZWN0IHZhcmlhYmxlIGZvciBmYWlsdXJlCgkgIElmIHdlIGNhbid0IGdldCBhbiBvdXRwdXQsIHdlIHdvdWxkIG90aGVyd2lzZSBqdXN0IHVzZSBpdCBsYXRlciBhbmQgY3Jhc2guCgoyMDE0LTExLTExIDExOjE4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpb3NyYzogTWFrZSBzdXJlIHdlIGhhdmUgYSB3cml0YWJsZSBidWZmZXIgYmVmb3JlIHdlIHN0YXJ0IGNoYW5naW5nIG1ldGFkYXRhCgoyMDE0LTExLTExIDExOjE1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogU2V0IHRoZSBHQVAgZmxhZyBvbiByZXBlYXRlZCBidWZmZXJzCgkgIHZpZGVvcmF0ZSBkb2VzIHRoZSBzYW1lIGFuZCBpdCBhbGxvd3Mgb3B0aW1pemF0aW9ucyBkb3duc3RyZWFtLgoKMjAxNC0xMS0xMSAxMToxMjo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IFNldCB0aGUgR0FQIGZsYWcgb24gYnVmZmVycyB0aGF0IG9ubHkgY29udGFpbiBzaWxlbmNlCgoyMDE0LTExLTExIDE0OjIzOjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHJlbW92ZSB0aGUgd2lkdGgvaGVpZ2h0IGZpZWxkcyBmcm9tIHRoZSBjYXBzIHRvIHN1cHBvcnQgZnJhbWUgcmVzaXppbmcKCSAgSXQgd2FzIHByZXZpb3VzbHkgb25seSBvY2N1cmluZyB3aXRoIHN5c21lbSBjYXBzIGZlYXR1cmVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzMzQKCjIwMTQtMTEtMTAgMTc6NDI6MjAgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQGRhcmtvc3BoZXJlLmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IGZpeCBHc3RIMjY0UGFyc2VyUmVzdWx0IGRvY3VtZW50YXRpb24gdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5OTA2CgoyMDE0LTExLTEwIDE2OjAxOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IEFkZCB4MjY1ZW5jIHVuaXQgdGVzdCB0byAuZ2l0aWdub3JlCgoyMDE0LTExLTA5IDIwOjUzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5jOgoJICBwbmdwYXJzZTogb3B0aW1pc2UgcmVhZGluZyBvZiBwbmcgZmlsZXMKCSAgUmVhZCBQTkcgZGF0YSBjaHVuayBpbiBvbmUgZ28gYnkgbGV0dGluZyB0aGUgcGFyc2VyCgkgIGJhc2UgY2xhc3Mga25vdyB0aGUgc2l6ZSB3ZSBuZWVkLCBzbyB0aGF0IGl0IGRvZXNuJ3QKCSAgZHJpcC1mZWVkIHVzIHNtYWxsIGNodW5rcyBvZiBkYXRhIChjYXVzaW5nIGEgbG90IG9mCgkgIHJlYWxsb2NzIGFuZCBtZW1jcHkgaW4gdGhlIHByb2Nlc3MpIHVudGlsIHdlIGhhdmUKCSAgZXZlcnl0aGluZy4KCSAgSW1wcm92ZXMgcGFyc2luZyBwZXJmb3JtYW5jZSBvZiB2ZXJ5IGxhcmdlIFBORyBmaWxlcwoJICAoNjVNQikgZnJvbSB+MTMgc2Vjb25kcyB0byBhIGNvdXBsZSBvZiBtaWxsaXNlY3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYxNzYKCjIwMTQtMTEtMDkgMTk6MjM6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHNtdXgvbXB0c190ZXN0Mi5jOgoJICBleGFtcGxlczogcmVtb3ZlIHBvaW50bGVzcyBtcGVndHNtdXggZXhhbXBsZQoJICBTZXJ2ZXMgbm8gcHVycG9zZSwgaXMgbm90IGV2ZW4gaG9va2VkIHVwIHRvIHRoZQoJICBidWlsZCBzeXN0ZW0sIGhhcyBoYXJkIGNvZGVkIGZpbGUgbmFtZXMgYW5kIHBhdGhzLAoJICBhbmQgY2FuIGVhc2lseSBiZSByZXBsYWNlZCB3aXRoIGEgZ3N0LWxhdW5jaCBsaW5lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5ODQ0CgoyMDE0LTExLTA5IDEwOjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IERvbid0IHByZXRlbmQgdG8gc3VwcG9ydCByZWNvbmZpZ3VyYXRpb24KCSAgV2Ugd2lsbCBydW4gaW50byBhbiBhc3NlcnRpb24gaW4gc2V0X2NhcHMoKSBpZiB3ZSB0cnkgdG8gY2hhbmdlCgkgIGNhcHMgd2hpbGUgdGhlIHNvdXJjZSBpcyBhbHJlYWR5IHJ1bm5pbmcuIERvbid0IHRyeSB0byBmaW5kIG5ldwoJICBjYXBzIGluIEdzdEJhc2VTcmM6Om5lZ290aWF0ZSgpIHRvIHByZXZlbnQgY2FwcyBjaGFuZ2VzLgoKMjAxNC0xMC0wOSAxMzoxMTo0OCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHNldCBzZXFfbGF5ZXJfc2VudCB0byBGQUxTRSBvbiByZXNldCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMDkgMTM6MDM6NTYgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IGltcGxlbWVudCBhc2YgdG8gKi1mcmFtZS1sYXllciBzdHJlYW0tZm9ybWF0CgkgIFRoaXMgY29tbWl0IGFkZCBhbiBoZWxwZXIgdG8gY29udmVydCBhIGZyYW1lIHRvIGZyYW1lLWxheWVyIGZvcm1hdCBhbmQKCSAgdXNlIGl0IHRvIGltcGxlbWVudCB0aGVzZSB0d28gc3RyZWFtLWZvcm1hdCBjb252ZXJzaW9uOgoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItZnJhbWUtbGF5ZXIKCSAgLSBhc2YgLS0+IGZyYW1lLWxheWVyCgkgIEluIHNpbXBsZS9tYWluIHByb2ZpbGUsIHdlIGJhc2ljYWxseSBoYXZlIGEgcmF3IGZyYW1lLCBzbyBidWlsZGluZyBhCgkgIGZyYW1lIGxheWVyIGlzbid0IHRvbyBjb21wbGljYXRlZC4gQnV0IGluIGFkdmFuY2VkIHByb2ZpbGUsIHRoZSBmaXJzdAoJICBmcmFtZS1sYXllciBzaG91bGQgY29udGFpbiBzZXF1ZW5jZS1oZWFkZXIsIGVudHJ5cG9pbnQsIGFuZCBmcmFtZSBhbmQKCSAgZWFjaCBrZXlmcmFtZSBzaG91bGQgY29udGFpbiBlbnRyeXBvaW50LCBzbyB3ZSBoYXZlIHRvIGhhbmRsZSB0aGVzZQoJICBjYXJlZnVsbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMTAtMDkgMTA6Mzg6NDAgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBjaGVjayBvdXRwdXQgZm9ybWF0IGF0IG5lZ290aWF0aW9uIHRpbWUKCSAgQWRkIGFuIGhlbHBlciB0byBjaGVjayB0aGF0IG91dHB1dCBzdHJlYW0tZm9ybWF0IGlzIGNvaGVyZW50IHdpdGgKCSAgcHJvZmlsZSBhbmQgaGVhZGVyLWZvcm1hdC4gSXQgYWxzbyBjaGVjayBpZiB3ZSBrbm93IGhvdyB0byBkbyB0aGUKCSAgY29udmVyc2lvbiBpZiB0aGUgaW5wdXQgc3RyZWFtLWZvcm1hdCBkaWZmZXJzIGZyb20gc2VsZWN0ZWQKCSAgb3V0cHV0LWZvcm1hdC4KCSAgU28sIGluIGNhc2Ugb3V0cHV0IHN0cmVhbS1mb3JtYXQgaXMgbm90IGFsbG93ZWQsIGl0IHdpbGwgbm93IGZhaWwgYXQKCSAgbmVnb3RpYXRpb24gcmF0aGVyIHRoYW4gaW4gcHJlX3B1c2hfZnJhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTU6MzU6MzggKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBhZGQgc29tZSBhc2YgcmVsYXRlZCBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb25zCgkgIFRoaXMgY29tbWl0IGludHJvZHVjZXMgYW4gaGVscGVyIHRvIGNvbnZlcnQgYW4gQVNGIGZyYW1lIHRvIEJEVXMgZm9ybWF0IHdpdGgKCSAgc3RhcnRjb2RlcyBhbmQgdXNlIHRoaXMgaGVscGVyIHRvIGltcGxlbWVudHMgZm9sbG93aW5nIHN0cmVhbS1mb3JtYXQKCSAgY29udmVyc2lvbnM6CgkgIC0gYXNmIC0tPiBiZHUKCSAgLSBhc2YgLS0+IHNlcXVlbmNlLWxheWVyLWJkdQoJICAtIGFzZiAtLT4gc2VxdWVuY2UtbGF5ZXItcmF3LWZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg1MjYKCjIwMTQtMDktMzAgMTU6Mjg6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIHNpbXBsZSBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24KCSAgSXQgYWRkIHRoZSBzdXBwb3J0IG9mIGZvbGxvd2luZyBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb246CgkgIC0gYmR1IC0tPiBzZXF1ZW5jZS1sYXllci1iZHUKCSAgLSBiZHUtZnJhbWUgLS0+IHNlcXVlbmNlLWxheWVyLWJkdS1mcmFtZQoJICAtIGZyYW1lLWxheWVyIC0tPiBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllcgoJICBGb3IgdGhlc2UgY29udmVyc2lvbiwgdGhlIG9ubHkgcmVxdWlyZW1lbnRzIGlzIHRvIHB1c2ggYSBzZXF1ZW5jZS1sYXllcgoJICBidWZmZXIgcHJpb3IgdG8gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0zMCAxNDo1MzoyNSArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IHByZXBhcmUgdGhlIHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbiBjb2RlIGFuZCBhZGQgdGhlIHNpbXBsZXN0IG9uZXMKCSAgSXQgcHJlcGFyZXMgdGhlIHRlbXBsYXRlIGZvciBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gYW5kIGl0IGltcGxlbWVudHMKCSAgdGhlIGZvbGxvd2luZyBjb252ZXJzaW9uOgoJICAtIHNlcXVlbmNlLWxheWVyLWJkdSAtLT4gYmR1CgkgIC0gc2VxdWVuY2UtbGF5ZXItYmR1LWZyYW1lIC0tPiBiZHUtZnJhbWUKCSAgLSBzZXF1ZW5jZS1sYXllci1mcmFtZS1sYXllciAtLT4gZnJhbWUtbGF5ZXIKCSAgV29yayBpcyBkb25lIGluIHRoZSBwcmVfcHVzaF9mcmFtZSgpIG1ldGhvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0wOS0wNSAxNzo1Nzo0NyArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBvdmVycmlkZSBsYXN0IGtub3duIHN0cmVhbSBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTQxCgoyMDE0LTExLTA3IDE5OjMwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogc2Vla3MgaW4gdGhlIG1hbmlmZXN0IG5ldmVyIGZhaWwKCSAgU2V0IHZvaWQgYXMgdGhlIHJldHVybiBhbmQgcmVtb3ZlIGVycm9yIGhhbmRsaW5nIGFzIGl0IGNvdWxkCgkgIG5ldmVyIGZhaWwKCjIwMTQtMTEtMDcgMTk6MTY6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1ha2Ugc3VyZSBmbHVzaGVzIGhhdmUgdGhlIHNhbWUgc2VxbnVtIGFzIHRoZSBzZWVrIGV2ZW50CgkgIFRoZXkgYXJlIHBhcnQgb2YgdGhlIHNhbWUgb3BlcmF0aW9uIGFuZCBzaG91bGQgcHJlc2VydmUgdGhlIHNlcW51bQoKMjAxNC0xMS0wNyAxOTowOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc2ltcGxpZnkgc2VlayB0byBlb3MgaGFuZGxpbmcKCSAgUmVtb3ZlIHJlZHVuZGFudCBmbHVzaCBzdG9wIHB1c2hpbmcgYW5kIHJlbW92ZSBhIGdvdG8gdG8gbWFrZQoJICB0aGUgY29kZSBmbG93IHNpbXBsZXIKCjIwMTQtMDktMTcgMTU6MjI6NTkgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIG1pc3NpbmcgRkxVU0hfU1RPUC9FT1Mgd2hlbiBubyBzZWVraW5nIHBlcmlvZCBpcyBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2ODAwCgoyMDE0LTExLTA3IDE1OjUwOjUxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHNldCB0aGUgSEVBREVSIGZsYWcgb24gYnVmZmVycyBjb250YWluaW5nIFNQUyBvciBQUFMKCjIwMTQtMTEtMDcgMTU6NDE6MTUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmg6CgkgIGgyNjVwYXJzZTogc2V0IHRoZSBIRUFERVIgZmxhZyBvbiBidWZmZXJzIGNvbnRhaW5pbmcgVlBTLCBTUFMgb3IgUFBTCgoyMDE0LTExLTA3IDExOjQxOjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJICBnc3RnbGNvbmZpZzogUHV0IGdzdGdsY29uZmlnLmggaW50byAkKGxpYmRpcikvZ3N0cmVhbWVyLTEuMC9pbmNsdWRlCgkgIEl0J3MgYXJjaGl0ZWN0dXJlIGRlcGVuZGVudCBhbmQgc2hvdWxkIG5vdCBiZSBwbGFjZWQgaW50byB0aGUgaW5jbHVkZQoJICBkaXJlY3RvcnkgYXMgdGhlIGFzc3VtcHRpb24gaXMgdGhhdCBhbGwgdGhvc2UgaGVhZGVycyBhcmUgYXJjaGl0ZWN0dXJlCgkgIGluZGVwZW5kZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5NzY3CgoyMDE0LTExLTA3IDAwOjE2OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGluaXRpYWxpc2UgbmV3IEdzdEgyNjROYWxVbml0IGZpZWxkcwoJICBDSUQgIzEyNTExMDcuCgoyMDE0LTExLTA2IDIzOjU4OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZG9uJ3QgbWFrZSBnc3RfZ2xpbWFnZV9zaW5rX2hhbmRsZV9ldmVudHMgY2FsbCBfZW5zdXJlX2dsX3NldHVwCgkgIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cyBjYW4gYmUgY2FsbGVkIGZyb20gdGhlIG92ZXJsYXkgaW50ZXJmYWNlIGFuZCBmcm9tCgkgIHRoZSBtYWluIHRocmVhZCBiZWZvcmUgR0wgaXMgc2V0dXAuIEJlZm9yZSB0aGlzIGNoYW5nZSwgdGhhdCB3b3VsZCBjYWxsCgkgIF9lbnN1cmVfZ2xfc2V0dXAoKSBhbmQgZGVhZGxvY2sgb24gT1NYLgoJICBDaGFuZ2UgdGhpbmdzIHNvIHRoYXQgaXQncyBhbHdheXMgc2FmZSB0byBjYWxsIGdzdF9nbGltYWdlX3NpbmtfaGFuZGxlX2V2ZW50cygpCgkgIHdpdGhvdXQgc3R1ZmYgZGVhZGxvY2tpbmcuCgoyMDE0LTExLTA2IDIzOjU1OjIwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogZml4IHBvc3NpYmxlIGRlYWRsb2NrIG9uIG9zeAoJICBSZW1vdmUgZ3N0X2dsaW1hZ2Vfc2lua19oYW5kbGVfZXZlbnRzIGNhbGwgaW4gZ3N0X2dsaW1hZ2Vfc2lua19pbml0LiBJdCB3YXMKCSAgdW5uZWNlc3NhcnkgYW5kIHdoZW4gdGhlIGVsZW1lbnQgd2FzIGluc3RhbnRpYXRlZCBmcm9tIHRoZSBtYWluIHRocmVhZCwgY2F1c2VkIGEKCSAgZGVhZGxvY2sgaW4gT1NYIGNyZWF0aW5nIHRoZSBjb250ZXh0ICh0aHJlYWQpLgoKMjAxNC0xMS0wNiAxMzoyMjoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogYWRkIHJlYWx0aW1lIGFuZCBhbGxvdy1mcmFtZS1yZW9yZGVyaW5nIHByb3BlcnRpZXMKCjIwMTQtMTEtMDcgMTA6MDE6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogY2xhbXAgdGhlIHJlc2l6ZSB3aWR0aC9oZWlnaHQgdG8gPj0gMSB0byBhdm9pZCBhIEdMIGVycm9yCgoyMDE0LTExLTA2IDE3OjM2OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogUHJpbnQgYSB3YXJuaW5nIGludG8gdGhlIGRlYnVnIGxvZyBvbiBnZW5lcmF0aW5nIGJsYWNrIGZyYW1lcwoKMjAxNC0xMS0wNiAxNzoyMTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJICBpbnRlcnZpZGVvc2luazogQWRkIHNvbWUgZGVidWcgb3V0cHV0IGluIHRoZSByZW5kZXIgZnVuY3Rpb24KCjIwMTQtMTEtMDYgMTE6NTM6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJICBoMjY1cGFyc2U6IGRvbid0IHVubmVjZXNhcmlseSBzZXQgc3JjX2NhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM3NAoKMjAxNC0xMC0yOSAyMjo1NTo0NyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgdW5uZWNlc2FyaWx5IHNldCBzcmNfY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mzc0CgoyMDE0LTExLTA2IDE4OjQzOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbHV0aWxzOiBvbmx5IGF0dGVtcHQgZ2V0dGluZyB0aGUgYXBwIGNvbnRleHQgd2hlbiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYSBkaXNwbGF5CgkgIGF2b2lkcyBxdWVyeWluZy9tZXNzYWdpbmcgdGhlIHdvcmxkIG9uIGVhY2ggZnJhbWUKCjIwMTQtMTEtMDYgMTg6Mzc6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmYWlsIGNvbnRleHQgY3JlYXRpb24gaWYgZ2xHZXRTdHJpbmcgcmV0dXJucyBOVUxMCgoyMDE0LTEwLTI5IDEyOjI0OjE2ICswMTAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2xpbWFnZXNpbms6IGltcGxlbWVudCBnc3RfdmlkZW9fb3ZlcmxheV9oYW5kbGVfZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMzUKCjIwMTQtMTEtMDQgMTU6MTY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bnVzZWQgdmFyaWFibGVzCgkgIGdzdGludGVyYXVkaW9zcmMuYzogSW4gZnVuY3Rpb24gJ2dzdF9pbnRlcl9hdWRpb19zcmNfY3JlYXRlJzoKCSAgZ3N0aW50ZXJhdWRpb3NyYy5jOjMzOToyNzogZXJyb3I6IHZhcmlhYmxlICdidWZmZXJfc2FtcGxlcycgc2V0IGJ1dCBub3QgdXNlZCBbLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZV0KCSAgZ3VpbnQ2NCBwZXJpb2Rfc2FtcGxlcywgYnVmZmVyX3NhbXBsZXM7CgkgIF4KCjIwMTQtMTEtMDQgMTQ6NTY6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyYXVkaW86IE1ha2UgYnVmZmVyIHNpemUgYW5kIGxhdGVuY3kgaGFuZGxpbmcgbW9yZSBleHBsaWNpdCBhbmQgYWRkIHByb3BlcnRpZXMgZm9yIHRoZW0KCSAgVGhpcyBub3cgbWFrZXMgYXVkaW8gd29yayBtb3JlIHJlbGlhYmxlIHdpdGhvdXQgZGlzY29udHMuCgoyMDE0LTExLTA0IDEzOjU5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBVc2UgdGhlIGJwZiBmcm9tIHRoZSBhdWRpbyBpbmZvIGluc3RlYWQgb2YgaGFyZGNvZGluZyA0CgoyMDE0LTExLTA0IDEzOjU4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogT25seSBmbHVzaCB0aGUgcmluZ2J1ZmZlciBvbiB0aGUgc2luayBzaWRlCgoyMDE0LTExLTA0IDEzOjQ2OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBGbHVzaCB0aGUgYWRhcHRlciB3aGVuIHdlIGdldCBuZXcgY2FwcwoJICBJZGVhbGx5IHdlIHdvdWxkIGRyYWluIHRoZSBzb3VyY2UgYnV0IHRoYXQgd291bGQgcmVxdWlyZSBtb3JlIGNvb3JkaW5hdGlvbgoJICBiZXR3ZWVuIHNpbmsgYW5kIHNvdXJjZSB0aGFuIHdoYXQgd2UgY3VycmVudGx5IGhhdmUuCgoyMDE0LTExLTA0IDA5OjUyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC9jb2NvYTogaW5jbHVkZSBnbDMuaCBpbiBjb25maWd1cmUgdG9vIGZvciBjb25zaXN0ZW5jeSB3aXRoIGdzdGdsYXBpLmgKCjIwMTQtMTEtMDMgMjA6NDU6MDMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFkZCBkb2MgZm9yIHRoZSBpZ25vcmVkIHVzZXItZGF0YSBpbiBhY3Rpb24gc2lnbmFscwoKMjAxNC0xMS0wMyAyMzoyNDozMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IHVzZSBOU0F1dG9yZWxlYXNlUG9vbCB0byBmcmVlIHJlc2l6ZSBkYXRhCgkgIE90aGVyd2lzZSB3aGVuIHJlc2l6aW5nIHRoZSB3aW5kb3cgeW91IHdpbGwgYWxzbyBnZXQgbWVzc2FnZXMgbGlrZToKCSAgY2xhc3MgTlNDb25jcmV0ZU1hcFRhYmxlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgTlNDb25jcmV0ZVZhbHVlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgTlNDb25jcmV0ZVZhbHVlIGF1dG9yZWxlYXNlZCB3aXRoIG5vIHBvb2wgaW4gcGxhY2UgLSBqdXN0IGxlYWtpbmcKCSAgY2xhc3MgX19OU0NGRGljdGlvbmFyeSBhdXRvcmVsZWFzZWQgd2l0aCBubyBwb29sIGluIHBsYWNlIC0ganVzdCBsZWFraW5nCgoyMDE0LTExLTAzIDIzOjA4OjA5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJICBnbC9jb2NvYTogaW5jbHVkZSBnbDMuaCB0byBoYXZlIEdMX0NPTlRFWFRfUFJPRklMRV9NQVNLCgoyMDE0LTExLTAzIDIzOjA3OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogbWFrZSBzdXJlIHRvIHR1cm4gb24gZnJhbWUgcmVjdGFuZ2xlIGNoYW5nZXMgbm90aWZpY2F0aW9ucwoJICBEZWZhdWx0IHZhbHVlIG9mIHByb3BlcnR5IHBvc3RzRnJhbWVDaGFuZ2VkTm90aWZpY2F0aW9ucyBpcyBZRVMKCSAgYnV0IGl0IGlzIHdvcnRoIHRvIGV4cGxpY2l0bHkgZW5hYmxlIGl0LgoKMjAxNC0xMS0wMyAyMzowMjoxNyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGZpeCB1bmNhdWdodCBleGNlcHRpb24gJ3VucmVjb2duaXplZCBzZWxlY3RvciBzZW50IHRvIGluc3RhbmNlJwoJICBOZWVkIHRvIHNldCB0aGUgJzonIGFzIHRoZSByZXNoYXBlIG1ldGhvZCBub3cgdGFrZXMgb25lIHBhcmFtZXRlci4KCSAgRm9yIHRoZSBzdG9yeSwgdGhlIEdzdEdMTlNWaWV3IHdhcyBwcmV2aW91c2x5IGluaGVyaXRpbmcgZnJvbQoJICBOU09wZW5HTFZpZXcgd2hpY2ggaGFzIGEgcmVzaGFwZSBmdW5jdGlvbiB3aXRob3V0IGFueSBwYXJhbWV0ZXIuCgkgIE5vdyB0aGUgR3N0R0xOU1ZpZXcgaW5oZXJpdHMgZnJvbSBOU1ZpZXcgYW5kIHdlIHJlLXVzZSB0aGUgcmVzaGFwZQoJICBmdW5jdGlvbiBtYW51YWxseS4KCjIwMTQtMTEtMDMgMjI6NTk6NDEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBVc2UgdGhlIHJlc2hhcGUgZnVuY3Rpb24gYWZ0ZXIgYmVpbmcgZGVmaW5lZC4gVGhlIG90aGVyIHdheQoJICB3b3VsZCBoYXZlIGJlZW4gdG8gZGVjbGFyZSB0aGUgcmVzaGFwZSBmdW5jdGlvbiBpbiB0aGUgaGVhZGVyLgoJICBnc3RnbHdpbmRvd19jb2NvYS5tOiBJbiBmdW5jdGlvbiAnLVtHc3RHTE5TVmlldyBkcmF3UmVjdDpdJzoKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICdHc3RHTE5TVmlldycgbWF5IG5vdCByZXNwb25kIHRvICctcmVzaGFwZScKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IChNZXNzYWdlcyB3aXRob3V0IGEgbWF0Y2hpbmcgbWV0aG9kIHNpZ25hdHVyZQoJICBnc3RnbHdpbmRvd19jb2NvYS5tOjU1NTogd2FybmluZzogd2lsbCBiZSBhc3N1bWVkIHRvIHJldHVybiAnaWQnIGFuZCBhY2NlcHQKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6ICcuLi4nIGFzIGFyZ3VtZW50cy4pCgoyMDE0LTExLTAzIDE2OjU0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogTmVnb3RpYXRlIGZyYW1lcmF0ZSB3aXRoIGRvd25zdHJlYW0KCSAgUHJlZmVyIHRoZSBjbG9zZXN0IGZyYW1lcmF0ZSB0byB0aGUgaW5wdXQgZnJhbWVyYXRlIHRob3VnaC4KCjIwMTQtMTEtMDMgMTY6MjQ6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcipzcmM6IE5vIG5lZWQgdG8gc2V0IGNhcHMgbWFudWFsbHkgb24gdGhlIHBhZAoJICBiYXNlc3JjIGRvZXMgdGhhdCBmb3IgdXMgYWxyZWFkeS4KCjIwMTQtMTEtMDMgMTY6MTM6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogU3dhcCBzb3VyY2UvZGVzdGluYXRpb24gcGFyYW1ldGVycyBvZiBnc3RfdmlkZW9fY29udmVydGVyX2ZyYW1lKCkKCjIwMTQtMTEtMDMgMTU6MTk6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IGZpeCBvcmRlciBvZiBhcmd1bWVudHMKCjIwMTQtMTEtMDMgMTA6MDU6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXJhdWRpbzogU2V0IGFsbCByZXF1aXJlZCBmaWVsZHMgb24gdGhlIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTU0MgoKMjAxNC0xMS0wMyAwMDoxNzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogZml4IFNpbmNlIG1hcmtlciBmb3IgZ3N0X2dsX3dpbmRvd19ydW5fbmF2aWdhdGlvbigpCgoyMDE0LTExLTAyIDIzOjI0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJICBpbnRlcjogZG9uJ3QgbGVhayBzdXJmYWNlIG5hbWUKCjIwMTMtMDktMDMgMTE6MTE6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IHN0YXJ0IHB1c2hpbmcgZGF0YSBhZ2FpbiB3aGVuIGEgcGFkIGdldHMgbGlua2VkIGxhdGVyCgkgIFRoZSB3aG9sZSBub3RfbGlua2VkIG9wdGltaXNhdGlvbiBpcyByZWFsbHkgYSBiaXQgZG9kZ3kgaGVyZSwgYnV0CgkgIGxldCdzIGxlYXZlIGl0IGluIHBsYWNlIGZvciBub3cgYW5kIGF0IGxlYXN0IHN0YXJ0IHB1c2hpbmcgZGF0YQoJICBhZ2FpbiB3aGVuIGEgcGFkIGdvdCBsaW5rZWQgbGF0ZXIsIGluIHdoaWNoIGNhc2Ugd2Ugc2hvdWxkIGdldCBhCgkgIFJFQ09ORklHVVJFIGV2ZW50LgoKMjAxMy0wOS0wMiAyMzozNjo0MyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvcGx1Z2luLmM6CgkgIG1wZWdkZW11eDogbmFtZXNwYWNlIGZpeGVzCgoyMDE0LTExLTAyIDE5OjI2OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogcG9zdCBRb1MgbWVzc2FnZXMgd2hlbiBkcm9wcGluZyBmcmFtZXMgZHVlIHRvIFFvUwoKMjAxNC0xMS0wMiAxOToxMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBib2lsZXJwbGF0ZSBtYWNyb3MKCjIwMTQtMTEtMDIgMTc6MTg6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBTcHJpbmtsZSBzb21lIEdfUEFSQU1fREVQUkVDQVRFRCBhbmQgI2lmbmRlZiBHU1RfUkVNT1ZFX0RFUFJFQ0FURUQKCjIwMTQtMTEtMDIgMTc6MTc6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsczogZml4IGluZGVudGF0aW9uCgoyMDE0LTEwLTI5IDE4OjE4OjA3ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIGdsc2hhZGVyOiBGaXggbWVtb3J5IGxlYWsKCSAgTWVtb3J5IGlzIG9ubHkgZnJlZWQgaW4gdGhlIFRSVUUgY2xhdXNlIG9mIHRoZSBpZiBjb25kaXRpb25hbC4gRnJlZSBpbiB0aGUgZWxzZQoJICBjbGF1c2UgYXMgd2VsbC4KCSAgQWxzbywgY29uc29saWRhdGUgZ19tYWxsb2MgKyBzcHJpbnRmIGludG8gYSBnX3N0cmR1cF9wcmludGYoKS4KCSAgQ0lEICMxMjEyMTcxCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNjgKCjIwMTQtMTEtMDEgMTA6MTA6MjcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5LmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgcnRwb3B1czogVXNlIE9QVVMgZW5jb2RpbmcgbmFtZQoJICBCb3RoIEZpcmVmb3ggYW5kIENocm9tZSB1c2VzIE9QVVMgYXMgdGhlIGVuY29kaW5nIGluIHRoZWlyIFNEUC4KCSAgQWRkaW5nIHRoaXMgbm93IGRlZmFjdG8gc3RhbmRhcmQgbmFtZSByZW1vdmUgdGhlIG5lZWQgZm9yIHNwZWNpYWwKCSAgY2FzZSBpbiBTRFAgcGFyc2luZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3ODEwCgoyMDE0LTEwLTMxIDE3OjMyOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgdHlwZSBvZiBzdHJlYW0gdG8gZGVidWcgbG9nCgkgIE1ha2VzIGl0IGZhc3RlciB0byBkZWJ1ZyB3aHkgY2VydGFpbiBzdHJlYW1zIGFyZSBub3Qgc2hvd2luZwoKMjAxNC0xMC0zMSAxNzozMjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHVubG9jayBub3QgbG9ja2VkIG11dGV4CgoyMDE0LTEwLTMxIDEwOjQ1OjE5ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggY29tbWVudHMgdGhhdCBjb25mdXNlIGd0ay1kb2MKCSAgR1RLLURvYyB1c2VzIGEgc3BlY2lhbCBzeW50YXggZm9yIGNvZGUgZG9jdW1lbnRhdGlvbi4gQSBtdWx0aWxpbmUgY29tbWVudCB0aGF0CgkgIHN0YXJ0cyB3aXRoIGFuIGFkZGl0aW9uYWwgJyonIG1hcmtzIGEgZG9jdW1lbnRhdGlvbiBibG9jayB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkCgkgIGJ5IHRoZSBHVEstRG9jIHRvb2xzLiBTbyBHVEstRG9jIGlzIGNvbmZ1c2VkIGlmIGEgY29tbWVudCBibG9jayBzdGFydHMgd2l0aCB0aGF0CgkgIGFkZGl0aW9uYWwgJyonIGJ1dCBpc24ndCBtZWFudCB0byBiZSBwcm9jZXNzZWQuIFJlbW92aW5nIHRoaXMgYWRkaXRpb25hbCAnKicuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzk0NDQKCjIwMTQtMTAtMzEgMTI6NTI6NTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlc2l6ZSB0aGUgdmlld3BvcnQgY29ycmVjdGx5IG9uIGEgY2FwcyBjaGFuZ2UKCSAgd2l0aCBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZSwgaWYgdGhlIHdpZHRoIG9yIGhlaWdodCBjaGFuZ2VkLCB0aGUKCSAgdmlld3BvcnQgd2Fzbid0IGJlaW5nIHVwZGF0ZWQgdG8gcmVzcGVjdCB0aGUgbmV3IHZpZGVvIHdpZHRoIGFuZCBoZWlnaHQKCSAgdW50aWwgYSByZXNpemUgb2NjdXJlZC4KCjIwMTQtMTAtMzEgMTI6NTI6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGFkdmVydGlzZSBzdXBwb3J0IGZvciBjaGFuZ2luZyBpbnB1dCBjYXBzIG1pZC1zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTMzNAoKMjAxNC0xMC0zMSAxMjozMDo1MyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogc3ByaW5rbGUgc29tZSBTaW5jZSBtYXJrZXJzCgoyMDE0LTEwLTMwIDE0OjI3OjM4ICswMDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogcmVtb3ZlIHN0b3JhZ2Ugb2YgbmV2ZXIgdXNlZCB2YWx1ZXMKCSAgQm90aCBfcGFyc2VfYXRzY19tZ3QoKSBhbmQgIF9wYXJzZV9hdHNjX3ZjdCAoKSBjaGFuZ2UgdGhlIHZhbHVlIG9mIHRoZSB2YXJpYWJsZQoJICBkYXRhIGp1c3QgYmVmb3JlIHJldHVybmluZy4gVGhlIG5ldyB2YWx1ZSBpcyBuZXZlciB1c2VkIHNpbmNlIGRhdGEgaXMgYSBwb2ludGVyCgkgIGRlY2xhcmVkIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uIGFuZCBnb2luZyBvdXQgb2Ygc2NvcGUganVzdCBhZnRlciB0aGUKCSAgbmV3IHZhbHVlIGlzIHN0b3JlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTQwNAoKMjAxNC0xMC0zMCAxNzowNjowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiByZW1vdmUgPCAwIGNvbXBhcmlzb24gb24gZ3VpbnQzMgoJICBDdXJyZW50IENMQU1QIGNoZWNrcyBib3RoIGlmIHRoZSB2YWx1ZSBpcyBiZWxvdyAwIG9yIGFib3ZlIDI1NS4gQ29uc2lkZXJpbmcgaXQKCSAgaXMgYW4gdW5zaWduZWQgdmFsdWUgaXQgY2FuIG5ldmVyIGJlIGxlc3MgdGhhbiB6ZXJvLCBzbyB0aGF0IGNvbXBhcmlzb24gaXMKCSAgdW5uZWNlc3NhcnkuIFN3aXRjaGluZyB0byB1c2luZyBpZiBqdXN0IGZvciB0aGUgdXBwZXIgYm91bmQuCgkgIENJRCAjMTEzOTc5NgoKMjAxNC0xMC0zMCAxNjowNToxNCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSAgZ2F1ZGllZmZlY3RzOiBkZWNsYXJlIGZsb29yIGFuZCBjZWlsaW5nIGFzIGNvbnN0YW50cwoKMjAxNC0xMC0zMCAxNTo0OTowMSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkgIGdhdWRpZWZmZWN0czogc3RvcmVkIHZhbHVlIGlzIG92ZXJ3cml0dGVuCgkgIFZhbHVlIGZyb20gbGVmdF9sdW1pbmFuY2UgaXMgYXNzaWduZWQgdG8gb3V0X2x1bWluYW5jZSBoZXJlLCBidXQgdGhhdCBzdG9yZWQKCSAgdmFsdWUgaXMgbm90IHVzZWQgYmVmb3JlIGl0IGlzIG92ZXJ3cml0dGVuIGluIHRoZSBuZXh0IGN5Y2xlIG9mIHRoZSBsb29wLgoJICBSZW1vdmluZyBhc3NpZ25hdGlvbi4KCSAgQ0lEICMxMjI2NDczCgoyMDE0LTEwLTI0IDE2OjUyOjQyICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZG8gbm90IHJlbW92ZSBwcm9ncmFtcyBvbiBFT1MKCSAgQXMgYSBjb25zZXF1ZW5jZSwgdHNkZW11eCB3b24ndCByZW1vdmUgaXRzIHBhZHMgYW55bW9yZSBvbiBFT1MuCgkgIEZpeGVzIHRoZSBjYXNlIHdoZW4gbXBlZ3RzYmFzZSBpcyBub3QgYWJsZSB0byBwcm9jZXNzIG5ldyBwYWNrZXRzCgkgIGFmdGVyIEVPUyBhcyB0aGUgY29ycmVzcG9uZGluZyBwaWRzIGFyZW4ndCBrbm93biBhbnltb3JlIGJlY2F1c2UKCSAgdGhlIHByb2dyYW1zIHdlcmUgcmVtb3ZlZCBhbmQgdGhlIHBlcy9wc2kgd2VyZSBrZXB0LCBwcmV2ZW50aW5nIHRoZQoJICBQQVQgdG8gYmUgcGFyc2VkIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njk1CgoyMDE0LTA0LTIxIDExOjQ4OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSAgc2lyZW46IGZpeCBzYW1wbGUgcmF0ZSBsaXN0CgkgIEl0IHdhcyB1c2luZyBhIDI0MDAwLzI0MDAwLzQ4MDAwLCBidXQgSSB0aGluayBpdCBtZWFudCB0byB1c2UKCSAgMjQwMDAvMzIwMDAvNDgwMDAuIE5vdCAxMDAlIHN1cmUuLi4KCSAgaHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvRy43MjIuMSBoYXMgdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkCgkgIGJpdHJhdGVzLiBJdCdzIG5vdCBjbGVhciB3aGV0aGVyIHRoZSAiZmxhZyIgY29kZSBtYXBzIHRvIHRoaXMsCgkgIGhvd2V2ZXIuCgkgIENvdmVyaXR5IDIwNjA3MgoKMjAxNC0xMC0zMCAxNDo0OTowNSArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZW1vdmUgc3RvcmFnZSBvZiBuZXZlciB1c2VkIHZhbHVlcwoJICBUaGVzZSB0d28gdmFsdWVzIGFyZSBzdG9yZWQganVzdCBiZWZvcmUgdGhlIGZ1bmN0aW9uIHJldHVybnMgYW5kIHRoZXkgZ28gb3V0IG9mCgkgIHNjb3BlLgoKMjAxNC0wNi0xMCAwOTozMzo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogdXBkYXRlIG91dHB1dCBzZWdtZW50IHN0b3AgdGltZSB0byBtYXRjaCBjbGlwcGVkIHNhbXBsZXMKCSAgVGhpcyB3aWxsIGxldCBvZ2dtdXggZ2VuZXJhdGUgYSBncmFucG9zIG9uIHRoZSBsYXN0IHBhZ2UgdGhhdCBwcm9wZXJseQoJICByZXByZXNlbnRzIHRoZSBjbGlwcGVkIHNhbXBsZXMgYXQgdGhlIGVuZCBvZiB0aGUgc3RyZWFtLgoKMjAxNC0xMC0zMCAxODo0NTowNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFRyaXZpYWwgZG9jdW1lbnRhdGlvbiBmaXgKCjIwMTQtMTAtMzAgMjM6MDg6MDAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGRvbid0IGdldCB0aGUgY3VycmVudCBjYXBzIGZyb20gR3N0VmlkZW9JbmZvIGZvciB0aGUgc3JjcGFkCgkgIEl0J3MgbWlzc2luZyB0aGUgY2FwcyBmZWF0dXJlcyBuZWVkZWQuCgoyMDE0LTEwLTMwIDE4OjU3OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzOiB1cGRhdGUgZm9yIG90aGVyLWNvbnRleHQgcHJvcGVydHkgcmVtb3ZhbAoKMjAxNC0xMC0zMCAxNjo0ODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSAgZ2xjb250ZXh0OiBhZGQgbW9yZSBmdW5jdGlvbmFsaXR5IHRvIHdyYXBwZWQgY29udGV4dHMKCSAgSW1wbGVtZW50cyBnZXRfY3VycmVudF9jb250ZXh0KCkgYW5kIGdldF9wcm9jX2FkZHJlc3MoKSBmb3Igd3JhcHBlZAoJICBjb250ZXh0cy4KCjIwMTQtMTAtMzAgMTI6NDM6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgZ2xzaGFkZXI6IGFkdmVydGlzZSB0aGUgZGVmYXVsdCB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlcnMgb24gZGVza3RvcCBHTAoKMjAxNC0wNS0yMiAxMzoxMzoxNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29nbml6ZSBTVkMgTkFMIHVuaXRzLgoJICBJZGVudGlmeSBTVkMgTkFMIHVuaXRzIGFuZCB0YWcgdGhlbSBhcyBzdWNoLiBUaGlzIGlzIG5lY2Vzc2FyeSBmb3IKCSAgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NsaWNlX2hkcigpIHRvIGZhaWwgZ3JhY2VmdWxseSwgaWYgdGhlIHVzZXIKCSAgZGlkIG5vdCBwZXJmb3JtIHRoZSBjaGVjayBoaW1zZWxmLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTEwLTI5IDE0OjUzOjE1ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggbnVtYmVyIG9mIGxpc3QwIHssbm9uLX1hbmNob3IgcmVmcy4KCSAgRml4IGNvcHktcGFzdGUgZXJyb3IgaW4gZ3N0X2gyNjRfc3BzX212Y19jb3B5KCkgd2hlcmUgbnVtX2FuY2hvcl9yZWZzX2wwCgkgIGFuZCBudW1fbm9uX2FuY2hvcl9yZWZzX2wwIHdlcmUgaW5jb3JyZWN0bHkgaW5pdGlhbGl6ZWQgZnJvbSBsaXN0MS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0xMC0yOSAxMzo1MTo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICBVcGRhdGUgLmRlZiBmb3IgbmV3IEFQSQoKMjAxNC0xMC0yOSAxMzoxNTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBzcHJpbmtsZSBzb21lIGd0ay1kb2MgU2luY2U6IG1hcmtlcnMgZm9yIG5ldyBBUEkKCjIwMTQtMTAtMjkgMTI6MjI6MTQgKzAxMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBzYXRpc2Z5IGdzdC1pbmRlbnQKCjIwMTQtMTAtMjkgMjI6MjM6MTMgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBnbGZpbHRlcmN1YmU6IEZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDE0LTEwLTI5IDIyOjIzOjAyICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IEluaXRpYWxpc2UgbmFsdSBleHRlbnNpb24gdHlwZSB0byBOT05FCgkgIEFsd2F5cyBzZXQgYSBkZWZhdWx0IE5BTFUgZXh0ZW5zaW9uIHR5cGUsIGFuZCBvdmVycmlkZSBpdAoJICB3aGVuIHdlIGZpbmQgYSBzdXBwb3J0ZWQgZXh0ZW5zaW9uLCB0byBhdm9pZCBoYXZpbmcgaXQgdW5zZXQvcmFuZG9tCgkgIGZvciB1bnN1cHBvcnRlZCBOQUxVIGV4dGVuc2lvbnMKCjIwMTQtMTAtMDcgMTY6Mjg6MDMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IEZpeCBmcmFtZSBwYWNraW5nIFNFSSBwYXJzaW5nCgoyMDE0LTAzLTI1IDE0OjA4OjQ0ICswMTAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIEZyYW1lIFBhY2tpbmcgQXJyYW5nZW1lbnQgU0VJIG1lc3NhZ2UuCgkgIFRoaXMgcGFyc2VzIHRoZSBmcmFtZV9wYWNraW5nX2FycmFnZW1lbnQoKSBwYXlsb2FkIGluIFNFSSBtZXNzYWdlLgoJICBUaGlzIGluZm9ybWF0aW9uIGNhbiBiZSB1c2VkIGJ5IGRlY29kZXJzIHRvIGFwcHJvcHJpYXRlbHkgcmVhcnJhbmdlIHRoZQoJICBzYW1wbGVzIHdoaWNoIGJlbG9uZyB0byBTdGVyZW9zY29waWMgYW5kIE11bHRpdmlldyBIaWdoIHByb2ZpbGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMy0wOCAxODoxNzoxNiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBzdXBwb3J0IGZvciBTdGVyZW8gVmlkZW8gSW5mb3JtYXRpb24gU0VJIG1lc3NhZ2UuCgkgIEFkZCB0aGUgbmVjZXNzYXJ5IHBheWxvYWQgcGFyc2luZyBzdXBwb3J0IGZvciBzdGVyZW9fdmlkZW9faW5mby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDEzOjM2OjQ1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcGFyc2Ugc2VxX3BhcmFtZXRlcl9zZXRfbXZjX2V4dGVuc2lvbigpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjYgMTg6NDY6MzYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBwYXJzZSBNVkMgc3ludGF4IGVsZW1lbnRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MjE1CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMTAtMjkgMjI6NTg6MzcgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRzcGFyc2U6IEhhbmRsZSBiYWNrd2FyZCBhbmQgZGlzY29udCB0aW1lc3RhbXBzIGJldHRlci4KCSAgQXNzdW1lIHRoYXQgc21hbGwgYmFja3dhcmQgUENSIGp1bXBzIGFyZSBqdXN0IGZyb20gdXBzdHJlYW0gcGFja2V0CgkgIG1pcy1vcmRlcmluZyBhbmQgZG9uJ3QgcmVzZXQgdGltZXN0YW1wIHRyYWNraW5nIHN0YXRlIC0gYXNzdW1pbmcgdGhhdAoJICB0aGluZ3Mgd2lsbCBiZSBPSyBhZ2FpbiBzaG9ydGx5LgoJICBNYWtlIHRoZSB0aHJlc2hvbGQgZm9yIGRldGVjdGluZyBkaXNjb250IGJldHdlZW4gc2VxdWVudGlhbCBidWZmZXJzCgkgIGNvbmZpZ3VyYWJsZSBhbmQgbWF0Y2ggdGhlIHNtb290aGluZy1sYXRlbmN5IHNldHRpbmcgb24gdHNwYXJzZQoJICB0byBiZXR0ZXIgY29wZSB3aXRoIGRhdGEgYnVyc3RzLgoKMjAxNC0xMC0yOSAyMjo1ODozNyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEltcGxlbWVudCB0aW1lc3RhbXAvcmV0aW1lc3RhbXBpbmcgb2Ygb3V0cHV0IGJ1ZmZlcnMKCSAgV2hlbiB0aGUgc2V0LXRpbWVzdGFtcHMgcHJvcGVydHkgaXMgc2V0LCB1c2UgUENScyBvbiB0aGUgcHJvdmlkZWQKCSAgKG9yIGF1dG9kZXRlY3RlZCkgcGNyLXBpZCB0byBhcHBseSAob3IgcmVwbGFjZSkgdGltZXN0YW1wcyBvbiB0aGUKCSAgb3V0cHV0IGJ1ZmZlcnMsIHVzaW5nIHBpZWNlLXdpc2UgbGluZWFyIGludGVycG9sYXRpb24uCgkgIFRoaXMgYWxsb3dzIHRzcGFyc2UgdG8gYmUgdXNlZCB0byBzdHJlYW0gYW4gYXJiaXRyYXJ5IG1wZWctdHMgZmlsZSwKCSAgb3IgdG8gc21vb3RoIGppdHRlcnkgcmVjZXB0aW9uIHRpbWVzdGFtcHMgZnJvbSBhIG5ldHdvcmsgc3RyZWFtLgoJICBUaGUgcmVwb3J0ZWQgbGF0ZW5jeSBpcyBpbmNyZWFzZWQgdG8gbWF0Y2ggdGhlIHNtb290aGluZyBsYXRlbmN5IGlmCgkgIG5lY2Vzc2FyeS4KCjIwMTQtMTAtMjkgMTA6MDk6MzUgKzAxMDAgIFZpbmNlbnQgQWJyaW91IDx2aW5jZW50LmFicmlvdUBzdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYXV0byBkZWNpc2lvbiB0byBpbmNsdWRlIEdMIGxpYnJhcnkgZmFpbHMKCSAgVGhlIHBhcnQgb2YgdGhlIGNvbmZpZ3VyZS5hYyB0aGF0IGNvbnNpc3QgdG8gY2hlY2sgaWYgd2UKCSAgY2FuIGluY2x1ZGUgYm90aCBHTCBhbmQgR0xFUzIgYXQgdGhlIHNhbWUgdGltZSBpcyBmYWlsaW5nLgoJICBJbmRlZWQsIGluIHRoZSBjYXNlIE5FRURfR0xFUzI9eWVzIGFuZCBORUVEX09QRU5HTD1hdXRvLAoJICBIQVZFX09QRU5HTCB2YXJpYWJsZSBpcyB1cGRhdGVkIHdoZXJlYXMgaXQgc2hvdWxkIGJlIEhBVkVfR0wKCSAgdmFyaWFibGUgdGhhdCBoYXMgdG8gYmUgdXBkYXRlZCAoSEFWRV9PUEVOR0wgdmFyaWFibGUgaXMgbm90CgkgIHVzZWQgaW4gdGhlIHJlc3Qgb2YgdGhlIGNvbmZpZ3VyZS5hYykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzkzNDgKCSAgU2lnbmVkLW9mZi1ieTogVmluY2VudCBBYnJpb3UgPHZpbmNlbnQuYWJyaW91QHN0LmNvbT4KCSAgUmV2aWV3ZWQtYnk6IEJlbmphbWluIEdBSUdOQVJEIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKMjAxNC0xMC0yOSAxMDozNzozOCArMDAwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiByZW1vdmUgaWdub3JlZCBpbmNyZW1lbnQgb2YgcmV0dXJuCgkgICdyZXR1cm4gdmFsKys7JyByZXR1cm5zIHRoZSB2YWx1ZSBiZWZvcmUgaXQgaXMgaW5jcmVtZW50ZWQgYmVjYXVzZSB0aGUgcG9zdAoJICBpbmNyZW1lbnQgaGFwcGVucyBhZnRlciB0aGUgc3RhdGVtZW50LiBSZW1vdmluZyB0aGUgdW51c2VkIGluY3JlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczOTM0NQoKMjAxNC0xMC0yOSAwODoyNzo1NyArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6Zml4IGluY29ycmVjdCBwYXJhbWV0ZXIgcGFzc2VkIHRvIGhhbmRsZV9zZXRfY29udGV4dAoKMjAxNC0xMC0yOCAyMTo0MjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC93ZWJwL2dzdHdlYnBkZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkgIEFkZCBzb21lIG1pc3NpbmcgR19FTkRfREVDTFMKCjIwMTQtMTAtMjggMTc6NDQ6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGZpeCB3cm9uZyB1bnJlZnMgaW4gc2V0X2Zvcm1hdCBlcnJvciBjb2RlIHBhdGgKCjIwMTQtMTAtMjggMTg6Mjc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogZ2V0IHRoZSBjb25maWcgZnJvbSB0aGUgY29ycmVjdCBwb29sCgoyMDE0LTEwLTI4IDE4OjAxOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGF2b2lkIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgc2l6ZSB3aGVuIGNoYWluaW5nIG11bHRpcGxlIGdsZmlsdGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM5Mjc3CgoyMDE0LTEwLTI4IDE4OjAxOjAxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGdzdC1pbmRlbnQgZmlsZQoKMjAxNC0xMC0yOCAxNzozMTozNyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsY29udGV4dF9lYWdsLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBhZGQgYXBpIGZvciByZXRyZWl2aW5nIHRoZSBjdXJyZW50IGNvbnRleHQgYW5kIGFwaQoJICB0aGF0IGlzIGN1cnJlbnQgaW4gdGhlIGNhbGxpbmcgdGhyZWFkLgoKMjAxNC0xMC0yMSAxOTowMzowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvdmFvLmg6CgkgIGdscHJvdG90eXBlczogYWRkIHZlcnRleCBhdHRyaWJ1dGUgYXJyYXkgZGVmaW5pdGlvbnMKCjIwMTQtMTAtMjcgMTc6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDg0ZDA2Y2QgdG8gN2JiMmJjZQoKMjAxNC0xMC0yNyAxNTozNDo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBVc2UgNjQtYml0IHNhZmUgc2NhbGluZyBmdW5jdGlvbnMKCjIwMTQtMTAtMjcgMTI6NDM6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHJlZmxvdyBzd2l0Y2ggY2FzZSBzdGF0ZW1lbnQgYSBiaXQKCSAgTWFrZSBpdCBjbGVhciB0aGVyZSdzIG5vICdicmVhaycgbWlzc2luZyBhdCB0aGUgZW5kCgkgIG9mIHRoZSBjYXNlIFNZU19EVkJULCBhbmQgcGFjaWZ5IGNvdmVyaXR5IChDSUQgMTI0OTY4OSkuCgoyMDE0LTA2LTEyIDE2OjU5OjQ2ICswMjAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJICBjdXJsc3Noc2luazogdXNlIHRoZSBsb2NhbGx5IGRlZmluZWQgdHlwZXMKCSAgSnVzdCBhIG1hdHRlciBvZiBjb2Rpbmcgc3R5bGUsIG1ha2VzIHRoZSBjb2RlIGEgYml0IHRpZGllci4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTgxCgoyMDE0LTEwLTI2IDE1OjQ1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogTWFrZWZpbGUuYW06CgkgIFBhcmFsbGVsaXNlICdtYWtlIGNoZWNrLXZhbGdyaW5kJwoKMjAxNC0xMC0yNiAxNTo0NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBjaGVjayBmb3IgbW9yZSBvcGVuaDI2NCBBUEkgdGhhdCB3ZSBuZWVkCgoyMDE0LTEwLTI1IDE4OjUwOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdHM6IGZpeCBhdWRpb21peGVyIHRlc3Qgb24gYmlnIGVuZGlhbiBzeXN0ZW1zCgoyMDE0LTEwLTI0IDIxOjQyOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGNvcnJlY3RseSBjYXBpdGFsaXplIERpU0VxQwoKMjAxNC0xMC0yNCAyMDoxMjoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZXdvcmsgX291dHB1dF9mcm9udGVuZF9zdGF0cygpCgkgIFJldHJ5IHN0YXQgcmVwb3J0aW5nIGlvY3RscyBvbiBFSU5UUgoKMjAxNC0xMC0yNCAxOTozMDoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgY2hlY2tzIG9uIGFsbG93ZWQgRFZCLVQgYmFuZHdpZHRocwoKMjAxNC0xMC0yNCAxOToxMjozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgZml4bWUgbm90ZSBvbiBEVFZfTE5BIHNldHRpbmcKCSAgUmVwaHJhc2UgYW5vdGhlciBjb21tZW50IHdoaWxlIGF0IGl0CgoyMDE0LTEwLTI0IDE4OjU3OjQwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIGxvZ2ljIGZvciBhZGRpdGlvbmFsIGJhbmR3aWR0aHMKCSAgTmV3IDEuNzEyLCA1IGFuZCAxMCBNSHogYmFuZHdpZHRocyB3ZXJlIGJlZW4gaWdub3JlZAoJICBhdCBzZXQvZ2V0IHByb3AuCgoyMDE0LTEwLTI0IDE1OjUzOjU5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFVzZSBsaWJzcnRwLnBjIGlmIHByZXNlbnQKCjIwMTQtMTAtMjMgMTc6NDI6MjcgKzAzMDAgIFZvb3RlbGUgVmVzdGVyYmxvbSA8dm92QGJhbmctb2x1ZnNlbi5kaz4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGhhbmRsaW5nIG9mIHNlZ21lbnQgZXZlbnQgaW4gc2luayBldmVudCBoYW5kbGVyCgoyMDE0LTEwLTI0IDAwOjM1OjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBvdmVycmlkZSB0aGUgY2FwcyBxdWVyeSBpbiBvcmRlciB0byAnY29udmVydCcgY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSwgaXQgaXMgb25seSBwb3NzaWJsZSBmb3IgdGhlIHNpbmsgcGFkcyBhbmQgdGhlIHNyYyBwYWRzIHRvCgkgIGhhdmUgdGhlIGV4YWN0IHNhbWUgY2FwcyBmZWF0dXJlcy4gIFdlIGNhbiBjb252ZXJ0IGZyb20gYW55IGZlYXR1cmUKCSAgdG8gYW5vdGhlciBmZWF0dXJlIHNvIHN1cHBvcnQgdGhhdC4KCjIwMTQtMTAtMjMgMjM6NTU6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IG92ZXJyaWRlIHRoZSBhY2NlcHQgY2FwcyBxdWVyeSBpbiBvcmRlciB0byAnY29udmVydCcgY2Fwc2ZlYXR1cmVzCgkgIE90aGVyd2lzZSwgaXQgaXMgb25seSBwb3NzaWJsZSBmb3IgdGhlIHNpbmsgcGFkcyBhbmQgdGhlIHNyYyBwYWRzIHRvCgkgIGhhdmUgdGhlIGV4YWN0IHNhbWUgY2FwcyBmZWF0dXJlcy4gIFdlIGNhbiBjb252ZXJ0IGZyb20gYW55IGZlYXR1cmUKCSAgdG8gYW5vdGhlciBmZWF0dXJlIHNvIHN1cHBvcnQgdGhhdC4KCjIwMTQtMDgtMTQgMjM6Mjk6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkgIGdsOiBwcm9wb2dhdGUgb3RoZXItY29udGV4dCB1c2luZyBHc3RDb250ZXh0CgoyMDE0LTEwLTIwIDAzOjA3OjA4IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZXh0L2Rhc2gvUkVBRE1FOgoJICBkYXNoOiBSZW1vdmUgb2Jzb2xldGUgUkVBRE1FLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4ODQ4CgoyMDE0LTEwLTIyIDE5OjM0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IEFkZCBzdXBwb3J0IGZvciBhcmJpdHJhcnkgcmF3IGF1ZGlvIGZvcm1hdHMKCjIwMTQtMTAtMjIgMTk6MzE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXJ2aWRlbzogQWRkIHN1cHBvcnQgZm9yIGFyYml0cmFyeSB2aWRlbyBmb3JtYXRzCgoyMDE0LTEwLTIyIDE5OjI4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFRydW5jYXRlIHRoZSBjYXBzIGFzIHBhcnQgb2YgdGhlIGZpeGF0aW5nCgoyMDE0LTEwLTIyIDE5OjA4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW86IEZpeCB0aW1lc3RhbXAsIGxhdGVuY3kgYW5kIHBlcmlvZCBoYW5kbGluZwoKMjAxNC0xMC0yMiAxODo0MTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvOiBVc2UgR1NUX0RFQlVHX09CSkVDVCgpIGluc3RlYWQgb2YgR1NUX0RFQlVHKCkKCjIwMTQtMTAtMjIgMTg6NDA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSAgaW50ZXJhdWRpbzogUHJvcGVybHkgcGFzcyB0aHJvdWdoIGNhcHMgZnJvbSB0aGUgc2luayB0byB0aGUgc291cmNlCgkgIE90aGVyd2lzZSBhIG1hZ2ljIGNhcHNmaWx0ZXIgYWZ0ZXIgdGhlIHNvdXJjZSBpcyByZXF1aXJlZCB3aXRoCgkgIGV4YWN0bHkgdGhlIHNhbWUgY2FwcyBhcyB0aGUgaW5wdXQuCgoyMDE0LTEwLTIyIDE4OjEzOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyOiBDbGVhbiB1cCBzdXJmYWNlcyBhZnRlciB0aGUgbGFzdCB1c2VyIGlzIGdvbmUKCjIwMTQtMTAtMjIgMTg6MDc6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXI6IFdoaXRlc3BhY2UgY2xlYW51cAoKMjAxNC0xMC0yMiAxODowMzoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcnZpZGVvOiBQcm9wZXJseSBwYXNzIHRocm91Z2ggY2FwcyBmcm9tIHRoZSBzaW5rIHRvIHRoZSBzb3VyY2UKCSAgT3RoZXJ3aXNlIGEgbWFnaWMgY2Fwc2ZpbHRlciBhZnRlciB0aGUgc291cmNlIGlzIHJlcXVpcmVkIHdpdGgKCSAgZXhhY3RseSB0aGUgc2FtZSBjYXBzIGFzIHRoZSBpbnB1dC4KCSAgVGhpcyB3b3VsZCd2ZSBmYWlsZWQgYmVmb3JlIHdpdGggaW52YWxpZCBidWZmZXIgc2l6ZXM6CgkgIGdzdC1sYXVuY2gtMS4wIHZpZGVvdGVzdHNyYyAhIGludGVydmlkZW9zaW5rICBpbnRlcnZpZGVvc3JjICEgInZpZGVvL3gtcmF3LHdpZHRoPTY0MCxoZWlnaHQ9NDgwIiAhIHh2aW1hZ2VzaW5rCgoyMDE0LTEwLTIyIDE1OjA3OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBDaGVjayBmb3IgMC1zaXplIGFmdGVyIGFkanVzdGluZyB0aGUgc2l6ZSBmb3IgdGhlIGZyYW1lIHNpemUKCSAgSWYgd2UgZG9uJ3QgaGF2ZSBhIGNvbXBsZXRlIHJhdyBhdWRpbyBmcmFtZSB3ZSB3b3VsZCBvdGhlcndpc2Ugc3RpbGwKCSAgYXNrIGZvciBhIDAgc2l6ZWQgYnVmZmVyIGZyb20gdGhlIGFkYXB0ZXIuCgoyMDE0LTEwLTIyIDE0OjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBEb24ndCB0cnkgdG8gcmV0cmlldmUgMCBieXRlIGJ1ZmZlcnMgZnJvbSB0aGUgYWRhcHRlciBpbiBtdWx0aS1mcmFtZSBtb2RlCgoyMDE0LTEwLTIyIDEzOjAzOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGltcHJvdmUgb3BlbmgyNjQgY2hlY2sKCSAgVGhlIG9wZW5oMjY0IEFQSSBpcyBzdGlsbCB1bnN0YWJsZSwgc28gY2hlY2sgZm9yCgkgIHN0cnVjdHVyZSBtZW1iZXIgdGhhdCB3ZSBuZWVkIHRvIHByZXZlbnQgYnVpbGRpbmcKCSAgYWdhaW5zdCBhbiBvbGRlciBpbmNvbXBhdGlibGUgdmVyc2lvbi4KCjIwMTQtMTAtMjIgMTI6MzY6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc2ltcGxpZnkgb3BlbmgyNjQgY2hlY2sKCSAgT2YgY291cnNlIFBUSFJFQURTX0NGTEFHUyBpcyBub3QgdXNlZCBhbnl3aGVyZSBub3cKCSAgZm9yIHRoZSBjaGVjaywgYnV0IHRoYXQgd2FzIHRoZSBjYXNlIGJlZm9yZSBhcyB3ZWxsLgoKMjAxNC0xMC0yMSAxNjoyMTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTogSW4gZnVuY3Rpb24gJy1bR3N0R0xOU1ZpZXcgZHJhd1JlY3Q6XSc6CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnR3N0R0xOU1ZpZXcnIG1heSBub3QgcmVzcG9uZCB0byAnLXJlc2hhcGUnCgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAoTWVzc2FnZXMgd2l0aG91dCBhIG1hdGNoaW5nIG1ldGhvZCBzaWduYXR1cmUKCSAgZ3N0Z2x3aW5kb3dfY29jb2EubTo1NTU6IHdhcm5pbmc6IHdpbGwgYmUgYXNzdW1lZCB0byByZXR1cm4gJ2lkJyBhbmQgYWNjZXB0CgkgIGdzdGdsd2luZG93X2NvY29hLm06NTU1OiB3YXJuaW5nOiAnLi4uJyBhcyBhcmd1bWVudHMuKQoKMjAxNC0xMC0yMSAxNTo0MjozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBGaXggbG9ja2luZwoJICBUaGUgb2JqZWN0IGxvY2sgb25seSBwcm90ZWN0cyB0aGUgc2Vzc2lvbiwgYXMgd2UgbW9kaWZ5CgkgIHRoZSBzZXNzaW9uIGZyb20gb3RoZXIgdGhyZWFkcyB3aGVuIHRoZSBiaXRyYXRlIHByb3BlcnR5CgkgIGlzIGNoYW5nZWQuIERvbid0IGhvbGQgaXQgbXVjaCBsb25nZXIgdGhhbiBmb3Igc2Vzc2lvbgoJICByZWxhdGVkIHRoaW5ncy4KCSAgQW5kIHdlIG5lZWQgdG8gcmVsZWFzZSB0aGUgdmlkZW8gZGVjb2RlciBzdHJlYW0gbG9jayBiZWZvcmUKCSAgZW5xdWV1ZWluZyBhIGZyYW1lcy4gSXQgbWlnaHQgd2FpdCBmb3Igb3VyIGNhbGxiYWNrIHRvIGRlcXVldWUKCSAgYSBmcmFtZSBmcm9tIGFub3RoZXIgdGhyZWFkLCB3aGljaCB3aWxsIHRoZW4gdGFrZSB0aGUgc3RyZWFtCgkgIGxvY2sgdG9vIGFuZCBkZWFkbG9jay4KCjIwMTQtMTAtMjEgMTM6MDE6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE4Yzg5MzkgdG8gODRkMDZjZAoKMjAxNC0xMC0yMSAxMzoyODo1MCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgYSBtYWNybyB0byBjaGVjayBmb3IgcHRocmVhZAoJICBSZXBsYWNlIHRoZSBoYXJkY29kZWQgLWxwdGhyZWFkIGluIG1vc3Qgb2YgdGhlIHBsYWNlcyB3aXRoICRQVEhSRUFEX0xJQlMuIEZvcgoJICBvcGVuaDI2NCBhbHNvIGFkZCAkUFRIUkVBRF9MSUJTIHRvIE9QRU5IMjY0X0xJQlMgdW50aWwgdXBzdHJlYW0gc2hpcHMgYSAucGMKCSAgZmlsZS4KCjIwMTQtMTAtMjEgMTI6NTg6MzkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzYzODhhMSB0byBhOGM4OTM5CgoyMDE0LTEwLTIxIDEyOjM5OjE0ICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVzZXQgZW5kX29mX3BsYXlsaXN0IGF0dHJpYnV0ZSB3aGVuIHdlIHJlY2VpdmUgYSBzZWVrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg2OTYKCjIwMTQtMTAtMjAgMTg6MjU6MDggKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IGNyaXRpY2FsIGVycm9yIGZvciBibG9ja3NpemUsIHRpbWVvdXQgbWluL21heCB2YWx1ZXMKCSAgQXVkaW9taXhlciBibG9ja3NpemUsIGNhbnQgYmUgMCwgaGVuY2UgYWRqdXN0aW5nIHRoZSBtaW5pbXVtIHZhbHVlIHRvIDEKCSAgdGltZW91dCB2YWx1ZSBvZiBhZ2dyZWdhdG9yIGlzIGRlZmluZWQgd2l0aCBNQVggb2YgTUFYSU5UNjQsCgkgIGJ1dCBpdCBjYW5ub3QgY3Jvc3MgR19NQVhMT05HICogR1NUX1NFQ09ORCAtIDEKCSAgSGVuY2UgY2hhbmdlZCB0aGUgbWF4IHZhbHVlIG9mIHRoZSBzYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDUKCjIwMTQtMTAtMjEgMDY6MDQ6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGZpeHVwIGVnbGltYWdlIGluY2x1ZGUgcGF0aAoKMjAxNC0xMC0yMSAwMjo1MjowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeGF0ZSB0aGUgcGFydHMgb2YgdGhlIGNhcHMgd2UgZG9uJ3Qga25vdyBob3cgdG8gZGVhbCB3aXRoCgkgIGZpeGVzIGdsdmlkZW9taXhlciB3aXRoIHZpZGVvL3gtcmF3LHdpZHRoPWZvbyBpLmUuIG5vIGZvcm1hdCBmaWVsZC4KCjIwMTQtMTAtMTggMTA6MDM6NDMgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xidWZmZXJwb29sOiBhZGQgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBidWZmZXIgcG9vbCBvcHRpb24KCjIwMTQtMTAtMjAgMTA6MzQ6MjcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBvcGVyYXRlIG9uIGNhcHMgcmF0aGVyIHRoYW4gdmlkZW8gaW5mbwoJICBPdGhlcndpc2UgdGhlIENhcHNGZWF0dXJlcyB3aWxsIGJlIGxvc3QgYWxvbmcgd2l0aCB0aGUgcG9zc2liaWxpdHkKCSAgb2YgbXVsdGlwbGUgb3V0cHV0IHR5cGVzIGFuZCBmb3JtYXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MTI5CgoyMDE0LTA5LTE5IDExOjM3OjU2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogaW50cm9kdWNlIGEgaGVscGVyIHRvIG1ha2Ugc2VxdWVuY2UtbGF5ZXIKCSAgSXQgd2lsbCBiZSB1c2VmdWwgdG8gaW1wbGVtZW50IHN0cmVhbS1mb3JtYXQgY29udmVyc2lvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODUyNgoKMjAxNC0xMC0yMCAwMjoyNzoxNSAtMDYwMCAgQnJlbmRhbiBMb25nIDxzZWxmQGJyZW5kYW5sb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IENoZWNrIGZvciBHTFUgYmVmb3JlIHRyeWluZyB0byB1c2UgaXQgaW4gY29uZmlndXJlLmFjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4MTYKCjIwMTQtMTAtMjAgMTU6MDI6MjggKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbGNvbG9yY29udmVydDogc3VwcG9ydCBSR0IxNi9CR1IxNiB2aWRlbyBmb3JtYXQgdXBsb2FkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg4NDIKCjIwMTQtMTAtMDkgMTU6MTI6MDEgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGZpeCBleHBlY3RlZCBsZXZlbCBpbiBzZXF1ZW5jZS1sYXllciBwYXJzaW5nIHVuaXQgdGVzdAoJICBTZXF1ZW5jZS1sYXllciB1c2VkIGZvciB1bml0IHRlc3QgaGF2ZSBhIGxldmVsIHNldCB0byAyIHdoaWNoIHNob3VsZAoJICBtYXRjaCB0aGUgbWVkaXVtIGxldmVsLCBub3QgdGhlIGhpZ2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzAKCjIwMTQtMTAtMDkgMTU6MDU6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICB2YzFwYXJzZXI6IGZpeCBsZXZlbCB2YWx1ZXMgZm9yIHNpbXBsZS9tYWluIHByb2ZpbGUKCSAgSW4gc2ltcGxlIHByb2ZpbGUsIGxldmVsIHNldCB0byAwIG9yIDIgaW5kaWNhdGUgbG93IGFuZCBtZWRpdW0gbGV2ZWwKCSAgcmVzcGVjdGl2ZWx5LiBJbiBtYWluIHByb2ZpbGUsIGxldmVsIHNldCB0byAwLCAyIG9yIDQgaW5kaWNhdGUgbG93LAoJICBtZWRpdW0gYW5kIGhpZ2ggbGV2ZWwgcmVzcGVjdGl2ZWx5LgoJICBMZXZlbCB2YWx1ZXMgYXJlIGRlZmluZWQgaW4gQW5uZXggSi4xLjIgb2YgdGhlIFNNUFRFIDQyMU0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzgyMzAKCjIwMTQtMDgtMDIgMTE6Mjk6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZW5kIGluaXRpYWwgR0FQIGV2ZW50IG9uIHNwYXJzZSBzdHJlYW1zIGZvciBmYXN0ZXIgc3RhcnR1cCB3aXRoIHBsYXliaW4KCSAgU2lnbmFsIHNwYXJzZSBzdHJlYW1zIHByb3Blcmx5IGluIHN0cmVhbS1zdGFydCBldmVudCBhbmQgZm9yY2Ugc2VuZGluZwoJICBvZiBwZW5kaW5nIHN0aWNreSBldmVudHMgd2hpY2ggaGF2ZSBiZWVuIHN0b3JlZCBvbiB0aGUgcGFkIGFscmVhZHkgYW5kCgkgIHdoaWNoIG90aGVyd2lzZSB3b3VsZCBvbmx5IGJlIHNlbnQgb24gdGhlIGZpcnN0IGJ1ZmZlciBvciBzZXJpYWxpemVkCgkgIGV2ZW50ICh3aGljaCBtZWFucyB2ZXJ5IGxhdGUgaW4gY2FzZSBvZiBzdWJ0aXRsZSBzdHJlYW1zKS4gUGxheXNpbmsgaW4KCSAgcGxheWJpbiB3YWl0cyBmb3Igc3RyZWFtLXN0YXJ0IG9yIGFub3RoZXIgc2VyaWFsaXplZCBldmVudCwgYW5kIGlmIHdlCgkgIGRvbid0IGRvIHRoaXMgaXQgd2lsbCB3YWl0IGZvciB0aGUgbXVsdGlxdWV1ZSB0byBydW4gZnVsbCBiZWZvcmUKCSAgc3RhcnRpbmcgcGxheWJhY2ssIHdoaWNoIG1pZ2h0IHRha2UgYSBjb3VwbGUgb2Ygc2Vjb25kcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA0MAoKMjAxNC0xMC0yMCAxMjozMDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEdBUCBkZXRlY3Rpb24KCSAgQWxsIHBhZHMgb2YgYSBzdHJlYW0gYXJlIG5vdyBhZGRlZCBhdCB0aGUgYmVnaW5uaW5nLiBJbiBvcmRlciB0byBjb3BlIHdpdGgKCSAgc3RyZWFtcyB0aGF0IGRvbid0IGdldCBhbnkgZGF0YSAoZm9yZXZlciBvciBmb3IgYSBsb25nIHRpbWUpIHdlIGRldGVjdCBnYXBzCgkgIGFuZCBwdXNoIG91dCBHQVAgZXZlbnRzIHdoZW4gbmVlZGVkLgoJICBDbGVhbnVwcyBhbmQgY29tbWVudGluZyBieSBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDA0MAoKMjAxNC0xMC0wMSAxNjoxNzo0NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogc2VsZWN0IGNhcHMgYWNjb3JkaW5nIHRvIHdtdiBmb3JtYXQgYXQgbmVnb3RpYXRpb24KCSAgU29tZSBWQzEgZGVjb2RlciBjYW4gaGF2ZSBkaWZmZXJlbnQgY2FwcyBhY2NvcmRpbmcgdG8gd212IGZvcm1hdCwgaWUKCSAgV01WMyBvciBXVkMxLgoJICBTbyBpbnN0ZWFkIG9mIGtlZXBpbmcgdGhlIGZpcnN0IGF2YWlsYWJsZSBjYXBzLCB3ZSBpbnRlcnNlcmN0IHdpdGgKCSAgY3VycmVudCBXTVYgZm9ybWF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTMyCgoyMDE0LTEwLTIwIDExOjIyOjU0ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBwdGhyZWFkIHRvIHRoZSBjb25maWd1cmUgY2hlY2sgZm9yIG9wZW5oMjY0CgoyMDE0LTEwLTIwIDA5OjQ3OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IERlY2xhcmUgc2luayB2YXJpYWJsZSB0aGF0IHdhcyBmb3Jnb3R0ZW4gaW4gbGFzdCBjb21taXQKCjIwMTQtMTAtMTkgMjA6MzU6NDEgKzAyMDAgIEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBGcmVlIFVSSSBzdHJpbmcgaW4gZmluYWxpemUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4Njc0CgoyMDE0LTEwLTE3IDIxOjI2OjUyIC0wNzAwICBCcmlvbiBWaWJiZXIgPGJyaW9uQHBvYm94LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogRml4IGZvciBidWlsZGluZyBvbiBNYWMgT1MgWCAxMC4xMAoJICBVc2luZyBOU0FwcCBkaXJlY3RseSBzZWVtcyB0byBjb25mdXNlIHNvbWV0aGluZywgYXMgdGhlIGNvbXBpbGVyCgkgIHdhcyBleHBlY3RpbmcgYW4gaWQ8TlNGaWxlTWFuYWdlckRlbGVnYXRlPi4gU3dpdGNoZWQgdG8gdXNpbmcKCSAgW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dLCBhbmQgc3BlY2lmaWVkIHRoZSBkZWxlZ2F0ZQoJICBwcm90b2NvbCBvbiB0aGUgd2luZG93IGNsYXNzIGFzIHdlbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg3NDAKCjIwMTQtMTAtMTkgMTQ6NTc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIGtWVFByb2ZpbGVMZXZlbF9IMjY0X0Jhc2VsaW5lX0F1dG9MZXZlbCBvbmx5IG9uIGlPUwoJICBJdCBpcyBub3QgcmVxdWlyZWQgb24gT1NYIGFwcGFyZW50bHkgYW5kIHdhcyBvbmx5IGFkZGVkIGluIDEwLjkuNiB0aGVyZS4KCSAgQ2FsY3VsYXRpbmcgdGhlIGNvcnJlY3QgbGV2ZWwgZnJvbSB0aGUgY29uZmlndXJhdGlvbiBpcyBub3QgdHJpdmlhbCwgc28gbGV0J3MKCSAganVzdCBub3Qgc2V0IGEgbGV2ZWwgYXQgYWxsIGhlcmUuCgoyMDE0LTEwLTE5IDE0OjUxOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVlRDb21wcmVzc2lvblNlc3Npb25QcmVwYXJlVG9FbmNvZGVGcmFtZXMgb25seSBleGlzdHMgc2luY2UgMTAuOS42CgkgIENoZWNrIHdpdGggY29uZmlndXJlIGZvciBpdCBpbnN0ZWFkIG9mIHVzaW5nIG9uZSBvZiB0aGUgYXZhaWxhYmlsaXR5IG1hY3JvcwoJICBhcyB0aG9zZSB3b3VsZG4ndCB3b3JrIGFzIGV4cGVjdGVkIHdpdGggbWlub3IgdmVyc2lvbnMuCgoyMDE0LTEwLTE5IDE0OjMyOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFJlbW92ZSB1bnVzZWQgI2RlZmluZQoKMjAxNC0xMC0xOSAxMzo0NDozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgIHJ0cGJhZDogRml4IG1ha2UgZGlzdCBieSByZW1vdmluZyBub24tZXhpc3RpbmcgZmlsZSBmcm9tIEVYVFJBX0RJU1QKCSAgSXQncyB1c2VkIGJ5IHRoZSBydHAgcGx1Z2luIGluIGdzdC1wbHVnaW5zLWdvb2QgZm9yIFZQOCBidXQgbm90IG5lZWRlZAoJICBvciB1c2VkIGhlcmUuCgoyMDE0LTEwLTE3IDE2OjUxOjI3ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgcnRwYmFkOiBpbmNsdWRlIHBsdWdpbnMgYmFzZSBjZmxhZ3MgKGZpeCBidWlsZCBvbiBqZW5raW5zKQoKMjAxNC0xMC0xNiAxMDozNDowMSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cC9nc3RydHAuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuYzoKCSogZ3N0L3J0cC9nc3RydHBoMjY1ZGVwYXkuaDoKCSogZ3N0L3J0cC9nc3RydHBoMjY1cGF5LmM6CgkqIGdzdC9ydHAvZ3N0cnRwaDI2NXBheS5oOgoJICBydHA6IGFkZCBoMjY1IFJUUCBwYXlsb2FkZXIgKyBkZXBheWxvYWRlcgoKMjAxNC0xMC0xNSAxNToyNTo1NSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsYmFzZXNpbms6IHN0cmlwIG5ld2xpbmVzIGZyb20gY3VybCBkZWJ1ZyBtZXNzYWdlcwoJICBUaGUgbWVzc2FnZXMgd2UgcmVjZWl2ZSBpbiB0aGUgY3VzdG9tIGxvZyBoYW5kbGVyIG1pZ2h0IGVuZCB3aXRoIGEgbmV3bGluZSBhbmQKCSAgYXJlIG5vdCBcMCB0ZXJtaW5hdGVkLiBDb3B5IHRoZSBtZXNzYWdlcywgdHJpbSBhbmQgdGVybWluYXRlIHRoZW0uCgoyMDE0LTEwLTE1IDE1OjI0OjEyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogc21hbGwgY29kZSBjbGVhbnVwCgkgIFVzZSBhIGxvY2FsIHZhciBhbmQgc2F2ZSBhIGxvY2FsIHZhci4KCjIwMTQtMTAtMTUgMTY6NTI6MDkgKzAyMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NWVuYy5jOgoJICB0ZXN0cy94MjY1ZW5jOiBhZGQgc2ltcGxlIHVuaXQgdGVzdAoKMjAxNC0wMy0wNSAxNjozOTozMCArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQveDI2NS9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjUvZ3N0eDI2NWVuYy5jOgoJKiBleHQveDI2NS9nc3R4MjY1ZW5jLmg6CgkgIHgyNjVlbmM6IGFkZCB4MjY1IGVuY29kZXIgZWxlbWVudAoKMjAxNC0xMC0xNCAxNDowMDoxMSArMDIwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgZ2xkZWludGVybGFjZTogcmVmIHRoZSB1cGxvYWRlZCBidWZmZXIKCSAgSW5zdGVhZCBvZiB0aGUgcG9zc2libHkgbm9uLUdMIGlucHV0IGJ1ZmZlci4KCjIwMTQtMTAtMTQgMTY6NDE6NTEgKzAyMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgZ2xmaWx0ZXI6IGFkZCB1cGxvYWRlZF9idWZmZXIgZmllbGQKCjIwMTQtMDktMjIgMDk6NDQ6MTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBwYXJzZSBmcmFtZSBoZWFkZXIgd2hlbiBzdHJlYW0gZm9ybWF0IGlzIEFTRi9yYXcgZm9yIHNpbXBsZS9tYWluIHByb2ZpbGUKCSAgV2hlbiBzdHJlYW0tZm9ybWF0IGlzIEFTRiBvciBzZXF1ZW5jZS1sYXllci1yYXctZnJhbWUsIHdlIGJhc2ljYWxseSBoYXZlCgkgIGEgcmF3IGZyYW1lIHNvIHdlIGNhbiBwYXJzZSBpdCB0byBleHRyYWN0IHNvbWUgaW5mb3JtYXRpb24gc3VjaCB0aGUKCSAga2V5ZnJhbWUgZmxhZy4gVGhlIG9ubHkgcmVxdWlyZW1lbnQgaXMgdG8gaGF2ZSBhIHZhbGlkIHNlcXVlbmNlLWhlYWRlci4KCSAgVGhpcyBjb21taXQgcGFyc2UgdGhlIGZyYW1lIGhlYWRlciBhbmQgc2V0IHRoZSBERUxUQV9VTklUIGJ1ZmZlciBmbGFnIGluCgkgIGNhc2UgdGhlIGZyYW1lIGlzIG5vdCBhIGtleWZyYW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4NTE5CgoyMDE0LTEwLTE0IDEwOjUxOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJICBsaWJkZTI2NTogQ2hhbmdlIHJhbmsgdG8gU0VDT05EQVJZLCBnc3QtbGliYXYgaGFzIFBSSU1BUlkgcmFuawoKMjAxNC0wOS0xNyAxMDozODo0NCArMDIwMCAgSm9hY2hpbSBCYXVjaCA8YmF1Y2hAc3RydWt0dXIuZGU+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYmRlMjY1L01ha2VmaWxlLmFtOgoJKiBleHQvbGliZGUyNjUvZ3N0bGliZGUyNjUuYzoKCSogZXh0L2xpYmRlMjY1L2xpYmRlMjY1LWRlYy5jOgoJKiBleHQvbGliZGUyNjUvbGliZGUyNjUtZGVjLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBJbnRlZ3JhdGUgbGliZGUyNjUgaW50byBnc3QtcGx1Z2lucy1iYWQuCgoyMDE0LTEwLTEzIDE0OjA1OjI0ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZToganVzdCBhc3N1bWUgbm9uZSBoZWFkZXItZm9ybWF0IHdoZW4gbm8gY29kZWNfZGF0YSBpcyBwcmVzZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzg0NDkKCjIwMTQtMTAtMTQgMDk6MTk6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogU2V0IHJlb3JkZXIgbGVuZ3RoIHRvIDAgaWYgd2UgY2FuJ3QgY2FsY3VsYXRlIGl0CgkgIEluc3RlYWQgb2YgbGVhdmluZyBpdCBhdCB3aGF0ZXZlciB2YWx1ZSBpdCBoYWQgYmVmb3JlLgoKMjAxNC0xMC0xMyAxMzoyODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogT25seSBmaW5hbGl6ZSB0aGUgb3RoZXIgY29udGV4dCBpbiBmaW5hbGl6ZSgpCgkgIE90aGVyd2lzZSB3ZSBjaGFuZ2UgYSB2YWx1ZSBvZiBhIHByb3BlcnR5IHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUsCgkgIHdoaWNoIGlzIHVuZXhwZWN0ZWQgYmVoYXZpb3VyLgoKMjAxNC0xMC0xMyAxMzoyNzo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IENhbGwgdGhlIHBhZCdzIHBhcmVudCBjbGFzcyBmaW5hbGl6ZSBtZXRob2QKCjIwMTQtMTAtMTMgMTM6Mjc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBPbmx5IGZpbmFsaXplIHRoZSBvdGhlciBjb250ZXh0IGluIGZpbmFsaXplKCkKCSAgT3RoZXJ3aXNlIHdlIGNoYW5nZSBhIHZhbHVlIG9mIGEgcHJvcGVydHkgd2hlbiBnb2luZyB0byBSRUFEWSBzdGF0ZSwKCSAgd2hpY2ggaXMgdW5leHBlY3RlZCBiZWhhdmlvdXIuCgoyMDE0LTEwLTEzIDEzOjI1OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogQWRkIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCjIwMTQtMTAtMTMgMTE6NTY6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IERvbid0IGxlYWsgb3RoZXItY29udGV4dAoKMjAxNC0xMC0xMyAxMTo1Mzo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IEFkZCBvdGhlci1jb250ZXh0IHByb3BlcnR5CgoyMDE0LTEwLTEyIDIxOjI1OjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZiOiBtYWtlIGludGVybGVhdmluZyBhIHByb3AgYW5kIHByb3h5IG9uIGR2YmJhc2ViaW4KCSAgRFRWX0lOVEVSTEVBVklORyBpcyBjdXJyZW50bHkgdXNlZCBvbmx5IGZvciBEVEJNLiBUaGlzIGlzCgkgIGNvbmdydWVudCB3aXRoIHRoZSB2NGwgZHZiIEFQSSB3aGVyZSB0aGUgZGlmZmVyZW50IGludGVybGVhdmluZwoJICBtb2RlcyB3aGVyZSBhZGRlZCBmb3IgdjUuNwoKMjAxNC0xMC0xMiAxODozMDozOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgdHJhbnNtaXNzaW9uIG1vZGUgY2hlY2tzIGZvciBEVkItVC9UMgoJICBUaGVzZSBhbmQgZXZlcnkgc2FuaXR5IGNoZWNrIGxlYWRpbmcgdG8gYSB3YXJuaW5nCgkgICh3ZSBoYXZlIGEgZmV3IGluIHBsYWNlKSBzaG91bGQgY29tZSBoYW5keSB3aGVuCgkgIGRlYnVnaW5nIGZhaWxlZCB0dW5uaW5nIHNjZW5hcmlvcy4KCjIwMTQtMTAtMTIgMTM6MzQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZG9jcywgZHJvcCB2NSBBUEkgY2hhbmdlIGhpc3RvcnkgY29tbWVudHMgPCAuNQoJICBXZSBvbmx5IHN1cHBvcnQgZnJvbSBtaW5vciA1IGFuZCB1cCBub3cuIEFsc28gYWRkIGEKCSAgbm90ZSBhYm91dCB0aGUgcmVjZW50bHkgYWRkZWQgcHJlbGltaW5hciBEVE1CIHN1cHBvcnQuCgoyMDE0LTEwLTEyIDEzOjA4OjEzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERWQi1UMiBiYW5kd2lkdGggdHlwZXMKCSAgRFZCLVQyIHN1cHBvcnRzIDUsIDEwIGFuZCAxLjcxMiBNSHoKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgdmFsdWVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5CgoyMDE0LTEwLTA3IDEwOjM3OjMzICswMjAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgcmVuZGVyIHR3aWNlIHRoZSBzYW1lIGJ1ZmZlcgoJICBEbyBub3QgdHJ5IHRvIHJlbmRlciBhIGJ1ZmZlciB0aGF0IGlzIGFscmVhZHkgYmVpbmcgcmVuZGVyZWQuCgkgIFRoaXMgaGFwcGVucyB0eXBpY2FsbHkgZHVyaW5nIHRoZSBpbml0aWFsIHJlbmRlcmluZyBzdGFnZSBhcyB0aGUgZmlyc3QKCSAgYnVmZmVyIGlzIHJlbmRlcmVkIHR3aWNlOiBmaXJzdCBieSBwcmVyb2xsKCksIHRoZW4gYnkgcmVuZGVyKCkuCgkgIFRoaXMgY29tbWl0IGF2b2lkcyB0aGlzIGFzc2VydGlvbiBmYWlsdXJlOgoJICBDUklUSUNBTDogZ3N0X3dheWxhbmRfY29tcG9zaXRvcl9hY3F1aXJlX2J1ZmZlcjogYXNzZXJ0aW9uCgkgICdtZXRhLT51c2VkX2J5X2NvbXBvc2l0b3IgPT0gRkFMU0UnIGZhaWxlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDY5CgkgIFNpZ25lZC1vZmYtYnk6IEZhYmllbiBEZXNzZW5uZSA8ZmFiaWVuLmRlc3Nlbm5lQHN0LmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTA3LTI0IDE2OjUzOjUzICswMjAwICBUaWZhaW5lIEluZ3VlcmUgPHRpZmFpbmUuaW5ndWVyZUBzdC5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luayA6IEFsbG93IHN1cmZhY2UgdG8gY2F0Y2ggaW5wdXQgZXZlbnRzCgkgIElmIHdheWxhbmRzaW5rIGlzIHRoZSBvd25lciBvZiB0aGUgZGlzcGxheSB0aGVuIGl0IGlzIGluIGNoYXJnZQoJICBvZiBjYXRjaGluZyBpbnB1dCBldmVudHMgb24gdGhlIHN1cmZhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM2ODIKCSAgU2lnbmVkLW9mZi1ieTogVGlmYWluZSBJbmd1ZXJlIDx0aWZhaW5lLmluZ3VlcmVAc3QuY29tPgoJICBSZXZpZXdlZC1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoyMDE0LTA3LTAyIDEzOjI5OjU1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xidWZmZXIuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogdGFrZSBpbnRvIGFjY291bnQgdGhlIGNhc2Ugd2hlcmUgYSBwb29sIG1heSBiZSBkZXN0cm95ZWQgdG9nZXRoZXIgd2l0aCBHc3RXbERpc3BsYXkKCSAgVGhlcmUgYXJlIHR3byBjYXNlcyBjb3ZlcmVkIGhlcmU6CgkgIDEpIFRoZSBHc3RXbERpc3BsYXkgZm9yY2VzIHRoZSByZWxlYXNlIG9mIHRoZSBsYXN0IGJ1ZmZlciBhbmQgdGhlIHBvb2wKCSAgZ2V0cyBkZXN0cm95ZWQgaW4gdGhpcyBjb250ZXh0LCB3aGljaCBtZWFucyBpdCB1bnJlZ2lzdGVycyBhbGwgdGhlCgkgIG90aGVyIGJ1ZmZlcnMgZnJvbSB0aGUgR3N0V2xEaXNwbGF5IGFzIHdlbGwgYW5kIHRoZSBkaXNwbGF5LT5idWZmZXJzCgkgIGhhc2ggdGFibGUgZ2V0cyBjb3JydXB0ZWQgYmVjYXVzZSBpdCBpcyBpdGVyYXRpbmcuCgkgIDIpIFRoZSBwb29sIGFuZCBpdHMgYnVmZmVycyBnZXQgZGVzdHJveWVkIGNvbmN1cnJlbnRseSBmcm9tIGFub3RoZXIKCSAgdGhyZWFkIHdoaWxlIEdzdFdsRGlzcGxheSBpcyBmaW5hbGl6aW5nIGFuZCBtYW55IHRoaW5ncyBnZXQgY29ycnVwdGVkLgoKMjAxNC0wNy0wMSAxMTo0MzoyMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmg6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IHN0YWNrIHRoZSB2aWRlbyBzdWJzdXJmYWNlIGludG8gYW5vdGhlciBzdWJzdXJmYWNlIHRoYXQgY292ZXJzIHRoZSB3aG9sZSByZW5kZXIgcmVjdGFuZ2xlCgkgIFRoZSBtYWluIHJlYXNvbiBiZWhpbmQgdGhpcyBpcyB0aGF0IHdoZW4gdGhlIHZpZGVvIGNhcHMgY2hhbmdlIGFuZCB0aGUgdmlkZW8KCSAgc3Vic3VyZmFjZSBuZWVkcyB0byByZXNpemUgYW5kIGNoYW5nZSBwb3NpdGlvbiwgdGhlIHdsX3N1YnN1cmZhY2Uuc2V0X3Bvc2l0aW9uCgkgIGNhbGwgbmVlZHMgYSBjb21taXQgaW4gaXRzIHBhcmVudCBpbiBvcmRlciB0byB0YWtlIGVmZmVjdC4gUHJldmlvdXNseSwKCSAgdGhlIHBhcmVudCB3YXMgdGhlIGFwcGxpY2F0aW9uJ3Mgc3VyZmFjZSwgb3ZlciB3aGljaCB0aGVyZSBpcyBubyBjb250cm9sLgoJICBOb3csIHRoZSBwYXJlbnQgaXMgaW5zaWRlIHRoZSBzaW5rLCBzbyB3ZSBjYW4gY29tbWl0IGl0IGFuZCBjaGFuZ2Ugc2l6ZSBzbW9vdGhseS4KCSAgQXMgYSBzaWRlIGVmZmVjdCwgdGhpcyBhbHNvIGFsbG93cyB0aGUgc2luayB0byBkcmF3IGl0cyBibGFjayBib3JkZXJzIG9uCgkgIGl0cyBvd24sIHdpdGhvdXQgdGhlIG5lZWQgZm9yIHRoZSBhcHBsaWNhdGlvbiB0byBkbyB0aGF0LiBBbmQgYW5vdGhlciBzaWRlCgkgIGVmZmVjdCBpcyB0aGF0IHRoaXMgY2FuIG5vdyBhbGxvdyByZXNpemluZyB0aGUgc2luayB3aGVuIGl0IGlzIGluIHRvcC1sZXZlbAoJICBtb2RlIGFuZCBoYXZlIGl0IHJlc3BlY3QgdGhlIGFzcGVjdCByYXRpby4KCjIwMTQtMDYtMjAgMTY6MjQ6MzYgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSAgd2F5bGFuZHNpbms6IHJlbmFtZSB2aWRlbyBmb3JtYXQgY29udmVyc2lvbiBmdW5jdGlvbnMgdG8gaW5kaWNhdGUgdGhleSBhcmUgYWJvdXQgd2xfc2htCgkgIE5lZWRlZCB0byBhZGQgbGludXhfZG1hYnVmIGZvcm1hdCBjb252ZXJzaW9uIGZ1bmN0aW9ucyBsYXRlcgoKMjAxNC0wNi0yMyAxNzoyNzowMSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsYnVmZmVyLmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSB0aGUgdWdseSBnc3Rfd2xfZGlzcGxheV9zdG9wKCkgbm93IHRoYXQgdGhpcyBtZWNoYW5pc20gaXMgbm90IG5lZWRlZCBhbnltb3JlCgkgIEJlY2F1c2Ugd2Ugbm8gbG9uZ2VyIGhhdmUgYSBjdXN0b20gYnVmZmVyIHBvb2wgdGhhdCBob2xkcyBhIHJlZmVyZW5jZQoJICB0byB0aGUgZGlzcGxheSwgdGhlcmUgaXMgbm8gd2F5IGZvciBhIGN5Y2xpYyByZWZlcmVuY2UgdG8gaGFwcGVuIGxpa2UKCSAgYmVmb3JlLCBzbyB3ZSBubyBsb25nZXIgbmVlZCB0byBleHBsaWNpdGx5IGNhbGwgYSBmdW5jdGlvbiBmcm9tIHRoZQoJICBkaXNwbGF5IHRvIHJlbGVhc2UgdGhlIHdsX2J1ZmZlcnMuCgkgIEhvd2V2ZXIsIHRoZSBnZW5lcmFsIG1lY2hhbmlzbSBvZiByZWdpc3RlcmluZyBidWZmZXJzIHRvIHRoZSBkaXNwbGF5CgkgIGFuZCBmb3JjaWJseSByZWxlYXNpbmcgdGhlbSB3aGVuIHRoZSBkaXNwbGF5IGlzIGRlc3Ryb3llZCBpcyBzdGlsbAoJICBuZWVkZWQgdG8gYXZvaWQgcG90ZW50aWFsIG1lbW9yeSBsZWFrcy4gVGhlIGNvbW1lbnQgaW4gd2xidWZmZXIuYwoJICBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGN1cnJlbnQgc2l0dWF0aW9uLgoKMjAxNC0wNi0yMyAxNjo0MDowMiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5jOgoJKiBleHQvd2F5bGFuZC93bHNobWFsbG9jYXRvci5oOgoJICB3YXlsYW5kc2luazogcmVwbGFjZSB0aGUgY3VzdG9tIGJ1ZmZlciBwb29sIHdpdGggYW4gYWxsb2NhdG9yCgkgIFRoaXMgcmVkdWNlcyB0aGUgY29tcGxleGl0eSBvZiBoYXZpbmcgYSBjdXN0b20gYnVmZmVyIHBvb2wsIGFzCgkgIHdlIGRvbid0IHJlYWxseSBuZWVkIGl0LiBXZSBvbmx5IG5lZWQgdGhlIGN1c3RvbSBhbGxvY2F0aW9uIHBhcnQuCgkgIEFuZCBzaW5jZSB0aGUgd2xfYnVmZmVyIGlzIG5vIGxvbmdlciBzYXZlZCBpbiBhIEdzdE1ldGEsIHdlIGNhbgoJICBjcmVhdGUgaXQgYW5kIGFkZCBpdCBvbiB0aGUgYnVmZmVycyBpbiB0aGUgc2luaydzIHJlbmRlcigpCgkgIGZ1bmN0aW9uLCB3aGljaCByZW1vdmVzIHRoZSByZWZlcmVuY2UgY3ljbGUgY2F1c2VkIGJ5IHRoZSBwb29sCgkgIGhvbGRpbmcgYSByZWZlcmVuY2UgdG8gdGhlIGRpc3BsYXkgYW5kIGFsc28gYWxsb3dzIG1vcmUgZ2VuZXJpYwoJICBzY2VuYXJpb3MgKHRoZSBhbGxvY2F0b3IgYmVpbmcgdXNlZCBpbiBhbm90aGVyIHBvb2wsIG9yIGJ1ZmZlcnMKCSAgYmVpbmcgYWxsb2NhdGVkIHdpdGhvdXQgYSBwb29sIFtpZiBhbnl0aGluZyBzdHVwaWQgZG9lcyB0aGF0XSkuCgkgIFRoaXMgY29tbWl0IGFsc28gc2ltcGxpZmllcyB0aGUgcHJvcG9zZV9hbGxvY2F0aW9uKCkgZnVuY3Rpb24sCgkgIHdoaWNoIGRvZXNuJ3QgcmVhbGx5IG5lZWQgdG8gZG8gYWxsIHRoZXNlIGNvbXBsaWNhdGVkIGNoZWNrcywKCSAgc2luY2UgdGhlcmUgaXMgYWx3YXlzIGEgY29ycmVjdCBidWZmZXIgcG9vbCBhdmFpbGFibGUsIGNyZWF0ZWQKCSAgaW4gc2V0X2NhcHMoKS4KCSAgVGhlIG90aGVyIHNpZGUgZWZmZWN0IG9mIHRoaXMgY29tbWl0IGlzIHRoYXQgYSBuZXcgd2xfc2htX3Bvb2wKCSAgaXMgbm93IGNyZWF0ZWQgZm9yIGV2ZXJ5IEdzdE1lbW9yeSwgd2hpY2ggbWVhbnMgdGhhdCB3ZSB1c2UKCSAgYXMgbXVjaCBzaG0gbWVtb3J5IGFzIHdlIGFjdHVhbGx5IG5lZWQgYW5kIG5vIG1vcmUuIFByZXZpb3VzbHksCgkgIHRoZSBjcmVhdGVkIHdsX3NobV9wb29sIHdvdWxkIGFsbG9jYXRlIHNwYWNlIGZvciAxNSBidWZmZXJzLCBubwoJICBtYXR0ZXIgaWYgdGhleSB3ZXJlIGJlaW5nIHVzZWQgb3Igbm90LgoKMjAxNC0wNi0yMCAxNDo0Nzo1NyArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5jOgoJKiBleHQvd2F5bGFuZC93bGJ1ZmZlci5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiByZXdvcmsgdGhlIG1lY2hhbmlzbSBmb3Iga2VlcGluZyBidWZmZXJzIG91dCBvZiB0aGUgcG9vbCB1bnRpbCB3bF9idWZmZXI6OnJlbGVhc2UKCSAgVGhpcyBhbHNvIHJlbW92ZXMgdGhlIEdzdFdsTWV0YSBhbmQgYWRkcyBhIHdyYXBwZXIgY2xhc3MgZm9yIHdsX2J1ZmZlcgoJICB3aGljaCBpcyBzYXZlZCBpbiB0aGUgR3N0QnVmZmVyIHFkYXRhIGluc3RlYWQgb2YgYmVpbmcgYSBHc3RNZXRhLgoJICBUaGUgbW90aXZhdGlvbiBiZWhpbmQgdGhpcyBpcyBtYWlubHkgdG8gYWxsb3cgYXR0YWNoaW5nIHdsX2J1ZmZlcnMgb24KCSAgR3N0QnVmZmVycyB0aGF0IGhhdmUgbm90IGJlZW4gYWxsb2NhdGVkIGluc2lkZSB0aGUgR3N0V2F5bGFuZEJ1ZmZlclBvb2wsCgkgIHNvIHRoYXQgaWYgZm9yIGV4YW1wbGUgYW4gdXBzdHJlYW0gZWxlbWVudCBpcyBzZW5kaW5nIHVzIGEgYnVmZmVyCgkgIGZyb20gYSBkaWZmZXJlbnQgcG9vbCwgd2hpY2ggaG93ZXZlciBkb2VzIG5vdCBuZWVkIHRvIGJlIGNvcGllZAoJICB0byBhIGJ1ZmZlciBmcm9tIG91ciBwb29sIGJlY2F1c2UgaXQgbWF5IGJlIGEgaGFyZHdhcmUgYnVmZmVyCgkgIChoZWxsbyBkbWFidWYhKSwgd2UgY2FuIGNyZWF0ZSBhIHdsX2J1ZmZlciBkaXJlY3RseSBmcm9tIGl0IGFuZCBmaXJzdCwKCSAgYXR0YWNoIGl0IG9uIGl0IHNvIHRoYXQgd2UgZG9uJ3QgaGF2ZSB0byByZS1jcmVhdGUgYSB3bF9idWZmZXIgZXZlcnkKCSAgdGltZSB0aGUgc2FtZSBHc3RCdWZmZXIgYXJyaXZlcyBhbmQgc2Vjb25kLCBmb3JjZSB0aGUgd2hvbGUgbWVjaGFuaXNtCgkgIGZvciBrZWVwaW5nIHRoZSBidWZmZXIgb3V0IG9mIHRoZSBwb29sIHVudGlsIHRoZXJlIGlzIGEgd2xfYnVmZmVyOjpyZWxlYXNlCgkgIG9uIHRoYXQgZm9yZWlnbiBHc3RCdWZmZXIuCgoyMDE0LTEwLTA5IDA4OjIwOjE1ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IG9wdGltaXplIHBhcnNlIGxvZ2ljCgkgIEhlYWRlciB3aWxsIGJlIHJlYWQgZWFjaCBhbmQgZXZlcnl0aW1lIHBhcnNlIGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkCgkgIHdoaWNoIGlzIG5vdCBuZWNlc3Nhcnkgc2luY2UgdW50aWwgd2UgaGF2ZSBjb21wbGV0ZSBkYXRhLAoJICB3ZSBuZWVkIG5vdCBwYXJzZSB0aGUgaGVhZGVyIGFnYWluLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3OTg0CgoyMDE0LTEwLTEwIDEzOjA1OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRkZWMuYzoKCSAgZmx1aWRkZWM6IGRvbid0IGxlYWsgaW5jb21pbmcgY2FwcyBldmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjkxCgoyMDE0LTEwLTA5IDE4OjE4OjAyICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IGZyYW1lc2l6ZSB3aGVuIGlucHV0IGlzIGZyYW1lLWxheWVyCgkgIGZyYW1lLWxheWVyIGhlYWRlciBpcyByZXByZXNlbnRlZCBhcyBhIHNlcXVlbmNlIG9mIDMyIGJpdCB1bnNpZ25lZAoJICBpbnRlZ2VyIHNlcmlhbGl6ZWQgaW4gbGl0dGxlLWVuZGlhbiBieXRlIG9yZGVyLCBzbyBmcmFtZXNpemUgaXMgb24gdGhlCgkgIGZpcnN0IDMgYnl0ZXMuCgkgIFNNUFRFIDQyMU0gQW5uZXggTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODI0MwoKMjAxNC0xMC0wNyAxNzowNTowNCArMDIwMCAgQW50b25pbyBPc3BpdGUgPGFvMkBhbzIuaXQ+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBtZW50aW9uIGZsdWlkZGVjIGluc3RlYWQgb2YgZmx1aWRzeW50aAoJICBUaGUgZWxlbWVudCBuYW1lIGlzIGFjdHVhbGx5IGZsdWlkZGVjIGV2ZW4gaWYgaXQgdXNlcyBmbHVpZHN5bnRoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjIzCgoyMDE0LTEwLTA5IDExOjUxOjE2ICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8YW8yQGFvMi5pdD4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkgIGZsdWlkZGVjOiBmaXggc29tZSBtZW1vcnkgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIyMwoKMjAxNC0xMC0wOSAwNDoxMTowMCAtMDQwMCAgRGF2aWQgV29vZGhvdXNlIDxkd213MkBpbmZyYWRlYWQub3JnPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgcGNhcHBhcnNlOiBBZGQgc3VwcG9ydCBmb3IgTElOS1RZUEVfUkFXCgkgIEFsc28sIHN0cmljdGx5IHNwZWFraW5nLCB0aGVzZSBudW1iZXJzIGFyZW4ndCBETFRfKjsgdGhleSBhcmUgTElOS1RZUEVfKiBiZWNhdXNlCgkgIGxpYnBjYXAgdHJhbnNsYXRlcyBmcm9tIGludGVybmFsIE9TLXNwZWNpZmljIERMVF8gbnVtYmVyaW5nIHRvIHRoZSBwb3J0YWJsZQoJICBMSU5LVFlQRV8gbnVtYmVyIHNwYWNlIHdoZW4gd3JpdGluZyBmaWxlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczODIwNgoKMjAxNC0xMC0wOSAxNDo1MTo1NiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgdGVzdDogdXNlIEdfR1NJWkVfRk9STUFUIGluIGF1ZGlvbWl4ZXIgdGVzdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MjI3CgoyMDE0LTEwLTA3IDE2OjU3OjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgdGVzdHMvYWdncmVnYXRvcjogYWRkIHRpbWVvdXQgaGFuZGxpbmcgdGVzdCBmb3IgdGhlIHRpbWVvdXQgcGFyYW1ldGVyCgoyMDE0LTEwLTA2IDIxOjQ2OjI0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhZ2dyZWdhdG9yOiBhZGQgbGF0ZW5jeSBxdWVyeSBoYW5kbGluZwoKMjAxNC0xMC0wNiAxODozMzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IHN1cHBvcnQgdW5yZXNwb25zaXZlIHBhZHMKCSAgUmVuZGVyIHVucmVzcG9uc2l2ZSBwYWRzIHdpdGggdGhlIGxhc3QgdmlkZW8gZnJhbWUgcmVjZWl2ZWQuCgoyMDE0LTEwLTA2IDE4OjIzOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgYWdncmVnYXRvcjogYWRkIGEgdGltZW91dCBwcm9wZXJ0eSBkZXRlcm1pbmluZyBidWZmZXIgd2FpdCB0aW1lCgkgIERldGVybWluZXMgdGhlIGFtb3VudCBvZiB0aW1lIHRoYXQgYSBwYWQgd2lsbCB3YWl0IGZvciBhIGJ1ZmZlciBiZWZvcmUKCSAgYmVpbmcgbWFya2VkIHVucmVzcG9uc2l2ZS4KCSAgTmV0d29yayBzb3VyY2VzIG1heSBmYWlsIHRvIHByb2R1Y2UgYnVmZmVycyBmb3IgYW4gZXh0ZW5kZWQgcGVyaW9kIG9mIHRpbWUsCgkgIGN1cnJlbnRseSBjYXVzaW5nIHRoZSBwaXBlbGluZSB0byBzdGFsbCBwb3NzaWJseSBpbmRlZmluaXRlbHksIHdhaXRpbmcgZm9yCgkgIHRoZXNlIGJ1ZmZlcnMgdG8gYXBwZWFyLgoJICBTdWJjbGFzc2VzIHNob3VsZCByZW5kZXIgdW5yZXNwb25zaXZlIHBhZHMgd2l0aCBlaXRoZXIgc2lsZW5jZSAoYXVkaW8pLCB0aGUKCSAgbGFzdCAodmlkZW8pIGZyYW1lIG9yIHdoYXQgbWFrZXMgdGhlIG1vc3Qgc2Vuc2UgaW4gdGhlIGdpdmVuIGNvbnRleHQuCgoyMDE0LTEwLTA2IDE4OjEwOjM4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgdmlkZW9hZ2dyZWdhdG9yOiByZW1vdmUgdGhlIHVzZSBvZiB0aGUgcXVldWVkIGJ1ZmZlciBvbiBzaW5rIHBhZHMKCSAgVGhhdCBkYXRhIGlzIG5vdyBoZWxkIGJ5IHRoZSBhZ2dyZWdhdG9yIGNsYXNzCgoyMDE0LTEwLTA5IDExOjQ2OjIzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBleHBvc2UgcGFyc2VkIHByb2ZpbGUsIHRpZXIgYW5kIGxldmVsIHRvIGRvd25zdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzOQoKMjAxNC0xMC0wOSAwMToxODoxNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBleHBvc2UgcGFyc2VkIHByb2ZpbGUgYW5kIGxldmVsIHRvIGRvd25zdHJlYW0KCSAgU2V0IHBhcnNlZCBwcm9maWxlIGFuZCBsZXZlbCBpbiBzcmMgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIzOQoKMjAxNC0xMC0wOSAxMDo1NDozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQWRkIHN1cHBvcnQgZm9yIEhpRFBJIGRpc3BsYXlzCgkgIFdpdGhvdXQgdGhpcyBvdXIgR0wgc3VyZmFjZSB3b3VsZCBiZSB1cHNjYWxlZCBhZnRlciByZW5kZXJpbmcKCSAgYnkgQ29jb2EsIHdoaWNoIHdvdWxkIHJlZHVjZSBpbWFnZSBxdWFsaXR5LgoKMjAxNC0xMC0wOSAxMjoyODoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBvdXRwdXQgd2h5IHdlIGNhbm5vdCBjb252ZXJ0IGEgYnVmZmVyCgoyMDE0LTEwLTA5IDEyOjI1OjU1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBwbGFuYXIgWVVWIGRvd25sb2FkCgkgIC0gc2FtcGxlIHRoZSB1IGFuZCB2IHBsYW5lcyBwcm9wZXJseQoJICAtIG91dHB1dCB0aGUgY29ycmVjdGx5IHNjYWxlZCB1IGFuZCB2IHBsYW5lcyBmb3IgZGlmZmVyZW50IGNocm9tYSBibG9jayBzaXplcwoKMjAxNC0xMC0wOCAyMTo1MToxMiArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogQW5kIGZpeCBhbm90aGVyIHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTEwLTA4IDIxOjQ5OjI1ICswMzAwICBWaXZpYSBOaWtvbGFpZG91IDxuLnZpdmlhQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBGaXggdW51c2VkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aG91dCBkZXNrdG9wIEdMCgoyMDE0LTA5LTI2IDEzOjU1OjIwICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogQWRkIFlWVTkgYW5kIFlVVjkgdG8gWkJBUl9ZVVZfQ0FQUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NDA3CgoyMDE0LTA5LTI4IDEwOjUxOjA5ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IGNoZWNrZXJzIHBhdHRlcm4gd2l0aCBHTFNMCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1MDUKCjIwMTQtMTAtMDcgMTU6MjQ6MTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9obHNkZW11eF9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggTTNVOCBwYXJzaW5nIHVuaXQgdGVzdCBhZnRlciBBUEkgY2hhbmdlcwoKMjAxNC0xMC0wMiAxMDozNzo1NyAtMDYwMCAgVGhvbWFzIEJsdWVtZWwgPHRibHVlbWVsQGNvbnRyb2w0LmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBGaXggYWNjZXNzaW5nIGludmFsaWRhdGVkIG1lbW9yeQoJICBJbiBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50KCkgdGhlIG5leHQgZnJhZ21lbnQgVVJJIGdldHMKCSAgc3RvcmVkIGluIG5leHRfZnJhZ21lbnRfdXJpLCBidXQgdGhlIGdzdF9obHNfZGVtdXhfdXBkYXRlc19sb29wKCkKCSAgY2FuIGF0IGFueSB0aW1lIHVwZGF0ZSB0aGUgcGxheWxpc3QsIHJlbmRlcmluZyB0aGlzIHN0cmluZyBpbnZhbGlkLgoJICBUaGVyZWZvcmUsIGFueSBkYXRhIChsaWtlIGtleSwgaXYsIFVSSXMpIHRoYXQgaXMgdGFrZW4gZnJvbSBhCgkgIEdzdE0zVThDbGllbnQgbmVlZHMgdG8gYmUgY29waWVkLiBJbiBhZGRpdGlvbiwgYWNjZXNzaW5nIHRoZQoJICBpbnRlcm5hbHMgb2YgYSBHc3RNM1U4Q2xpZW50IHJlcXVpcmVzIGxvY2tpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3OTMKCjIwMTQtMTAtMDcgMTI6MTI6MDQgKzAyMDAgIEZlbGl4IFNjaHdhcnogPGZlbGl4LnNjaHdhcnpAb3NzLnNjaHdhcnouZXU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IGZpeCB0eXBvcyBpbiBjb21tZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM4MDcyCgoyMDE0LTEwLTA3IDIzOjA0OjMwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IGZpeCBVWVZZIGRvd25sb2FkIGdyZWVuIHNjcmVlbgoKMjAxNC0xMC0wNyAyMjo1MDoyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29scmNvbnZlcnQ6IGZpeCBZVVkyIGRvd25sb2FkCgkgIC0gVGhlIHNoYWRlciB3YXMgb3V0cHV0aW5nIHRoZSB3cm9uZyB2YWx1ZXMgY29tcGFyZWQgd2l0aCByYXcKCSAgdmlkZW90ZXN0c3JjLgoJICAtIGRlYWwgd2l0aCB0aGUgdGV4dHVyZSBlZGdlIHByb3Blcmx5LgoJICAtIHByb3Blcmx5IHNhbXBsZSB0aGUgMngxIHJlY3RhbmdsZSBmb3IgdGhlIHUgYW5kIHYgdmFsdWVzCgkgIC0gZG9uJ3QgZG91YmxlIHNhbXBsZSB0aGUgeSB2YWx1ZQoKMjAxNC0xMC0wNiAyMToyNTozMCArMDMwMCAgVml2aWEgTmlrb2xhaWRvdSA8bi52aXZpYUBnbWFpbC5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiBTZXQgQ1VSTE9QVF9VUExPQUQgdG8gMSB0byBub3QgdXNlIFZSRlkgYW5kIG90aGVyIHVubmVlZGVkIGNvbW1hbmRzCgkgIEZpeGVzIHRoZSBzaW5rIHdpdGggU01UUCBzZXJ2ZXJzIHRoYXQgZGlzYWJsZSBWUkZZIGZvciBzcGFtIHByb3RlY3Rpb24uCgkgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9jdXJsL2J1Z3MvMTM4OS8KCjIwMTQtMDktMTcgMTY6NDg6MDIgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlcGxhY2UgR01haW5Db250ZXh0IHdpdGggR0FzeW5jUXVldWUgKHYyKQoJICBUaGUgcHJldmlvdXMgaW1wbGVtZW50YXRpb24ga2VwdCBhY2N1bXVsYXRpbmcgR1NvdXJjZXMsCgkgIHNsb3dpbmcgZG93biB0aGUgaXRlcmF0aW9uIGFuZCBsZWFraW5nIG1lbW9yeS4KCSAgSW5zdGVhZCBvZiB0cnlpbmcgdG8gZml4IHRoZSBtYWluIGNvbnRleHQgZmx1c2hpbmcsIHJlcGxhY2UKCSAgaXQgd2l0aCBhIEdBc3luY1F1ZXVlIHdoaWNoIGlzIHNpbXBsZSB0byBmbHVzaCBhbmQgaGFzCgkgIGxlc3Mgb3ZlcmhlYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3ODIKCjIwMTQtMTAtMDYgMTM6MDk6MDAgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogSGFuZGxlIHNlZWsgZXZlbnQgaW4gUkVBRFkgc3RhdGUKCjIwMTQtMDctMjEgMTE6MDc6MTkgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5oOgoJICBhdWRpb21peGVyOiBTZXQgdGhlIHNpbmtwYWQgc2VnbWVudHMgYmFzZXRpbWUgYWZ0ZXIgc2Vla2luZwoJICBPdGhlcndpc2Ugc3RyZWFtIG9mZnNldCBhbmQgcnVubmluZyB0aW1lIGNvbXBhcmlzb24gd2lsbCBub3QgYmUKCSAgY29ycmVjdCwgbGVhZGluZyB0byBzZWdmYXVsdHMgYWZ0ZXIgc2Vla3MKCjIwMTQtMDUtMjggMTY6Mjk6MzcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBQb3J0IHRvIEdzdEFnZ3JlZ2F0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzE4MwoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKMjAxNC0wOS0yMyAxNTo1OToxMCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IERvIG5vdCB3cm9uZ2x5IHNldCB0aGUgYWdncmVnYXRvci5zZWdtZW50CgkgIFRoZSBhZ2dyZWdhdG9yLnNlZ21lbnQgaXMgbm90IHRvIGJlIGluaXRpYWxpemVkIGJ5IHRoZSBzdWJjbGFzc2VzIGJ1dAoJICBieSB0aGUgYWdncmVnYXRvciBpdHNlbGYuIE1vcmVvdmVyLCBpbml0aWFsaXppbmcgaXQgb24gc3RhcnQgd291bGQgbWFrZQoJICB1cyBsb29zZSB0aGUgaW5mb3JtYXRpb24gY29taW5nIGZyb20gdGhlIGluaXRpYWwgc2Vlay4KCjIwMTQtMDctMzAgMTE6NTc6NDYgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBNYWtlIHN1cmUgbm90IHRvIHVucmVmIGEgTlVMTCBwb2ludGVyCgoyMDE0LTA4LTA1IDE1OjM2OjMwICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFNldCBzZXFudW0gb25seSB3aGVuIHNlZ21lbnRzIGFyZSByZWNlaXZlZC4KCjIwMTQtMDgtMDIgMTg6MjU6MDEgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQWRkIGEgc3RyZWFtaW5nIGxvY2sgc28gdG8gc2VjdXJlIGZsdXNoIHN0YXJ0IGFjdGlvbgoJICBXaXRob3V0IGEgbG9jayB0aGF0IGlzIHRha2VuIGluIEZMVVNIX1NUQVJUIHdlIGhhZCBhIHJhcmUgcmFjZSB3aGVyZSB3ZQoJICBlbmQgdXAgYWdncmVnYXRpbmcgYSBidWZmZXIgdGhhdCB3YXMgYmVmb3JlIHRoZSB3aG9sZSBGTFVTSF9TVEFSVC9TVE9QCgkgIGRhbmNlLiBUaGF0IGNvdWxkIGxlYWQgdG8gdmVyeSB3cm9uZyBiZWhhdmlvdXIgaW4gc3ViY2xhc3Nlcy4KCjIwMTQtMDctMTggMTM6NTg6NTUgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogUXVlcnkgc2Vla2luZyB3aGVuIGEgc2VlayBmYWlsZWQgdG8gc2VlIGlmIGl0IHdhcyBleHBlY3RlZAoJICBBbmQgZG8gbm90IHdvcnJ5IGlmIHNlZWtpbmcgZmFpbGVkIG9uIGEgc3RyZWFtIHRoYXQgaXMgbm90IHNlZWthYmxlCgoyMDE0LTA3LTE4IDAxOjQxOjI2ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHNldCBmdXR1cmUgc2VxbnVtIGJlZm9yZSBwcm9wYWdhdGluZyB0aGUgc2VlayBldmVudC4KCSAgU28gdGhlIHNlcW51bSBpcyBwcm9wZXJseSBzZXQgZm9yIHRoZSBmb2xsb3dpbmcgZXZlbnRzLgoKMjAxNC0wNy0wOCAxNjoxNjo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBTdG9yZSBzZWdtZW50IHdoZW4gc2Vla2VkIGluIFJFQURZIGZvciBsYXRlciB1c2UKCjIwMTQtMTAtMDYgMTY6NDQ6NTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IFVzZSBhIE1BUkdJTkFMIHJhbmsgZm9yIHRoZSBlbmNvZGVyIGFuZCBkZWNvZGVyCgkgIFRoZXkgd29yayBidXQgZm9yIG5vdyB3ZSBwcmVmZXIgb3RoZXJzIHVudGlsIHRoZXNlIGFyZSBleHRlbnNpdmVseSB0ZXN0ZWQuCgoyMDE0LTEwLTAxIDEwOjU3OjI2ICswMjAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEVtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQtdHlwZSBzaG91bGQgZW5kIHdpdGggYSBmaW5hbCBib3VuZGFyeQoJICBBZGQgZmluYWwgYm91bmRhcnkgZm9yIGVhY2ggb2YgdGhlIHNlbmRpbmcgb3V0IGVtYWlscyBmcm9tIHNtdHBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTM0CgoyMDE0LTEwLTA2IDExOjQ0OjEyICswMTAwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2aWRlb3BhcnNlcjogY29tbWVudCB1bnVzZWQgR1NUX0JBU0VfUEFSU0VfRlJBTUVfRkxBR19QQVJTSU5HCgkgIEdTVF9CQVNFX1BBUlNFX0ZSQU1FX0ZMQUdfUEFSU0lORyB2YWx1ZSBpcyB3cm9uZywgYW5kIHRoZSBzYW1lIGZsYWcgaXMKCSAgbm90IGJlaW5nIHVzZWQgcHJlc2VudGx5LiBIZW5jZSBjaGFuZ2luZyB0aGUgdmFsdWUgYW5kIGNvbW1lbnRpbmcgaXQgb3V0LgoJICBUaGlzIG5lZWRzIHRvIGJlIGluY2x1ZGVkIGluIGJhc2VwYXJzZS5oIGxhdGVyIG9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc0MTEKCjIwMTQtMTAtMDQgMjA6NTU6MDggKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IG1ha2UgZGVub2lzZSB3b3JrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc4OTQKCjIwMTQtMTAtMDYgMTA6MTE6NDcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogVW5tYXAgYW5kIGZyZWUgR3N0VmlkZW9GcmFtZXMgYXMgbmVlZGVkIGFmdGVyIGNvbnZlcnNpb24gYW5kIGVycm9ycwoKMjAxNC0xMC0wNiAxMDoxMToyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogVW5yZWYgdGhlIHRhZ2xpc3QgaW4gR3N0QWdncmVnYXRvcjo6c3RvcCgpCgoyMDE0LTEwLTAzIDIwOjQyOjU4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBwcmVsaW1pbmFyeSBzdXBwb3J0IGZvciBEVE1CCgkgIFByZXZpb3VzbHkga25vd24gYXMgRE1CLVQvSCwgdGhpcyBpcyB0aGUKCSAgdGVycmVzdGlhbCBEVFYgYnJvYWRjYXN0IHN0YW5kYXJkIGN1cnJlbnRseQoJICB1c2VkIGJ5IHRoZSBQZW9wbGUncyBSZXB1YmxpYyBvZiBDaGluYSwKCSAgSG9uZyBLb25nLCBMYW9zIGFuZCBNYWNhdSAob2ZmaWNpYWxseSksCgkgIGFuZCBieSBNYWxheXNpYSwgSXJhcSwgSm9yZGFuLCBTeXJpYSBhbmQKCSAgTGViYW5vbiAoZXhwZXJpbWVudGFsbHkpLgoKMjAxNC0xMC0wMyAyMDoyMDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgbWlzc2luZyBzdGFuZGFyZCB0cmFuc21pc3Npb24gbW9kZXMKCSAgVGhlc2UgYXBwbHkgdG8gSVNEQi1ULCBEVkItVDIgYW5kIERUTUIKCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTEwLTAzIDIwOjAzOjI3IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERUTUIgZ3VhcmQgaW50ZXJ2YWxzCgoyMDE0LTEwLTAzIDE5OjU1OjAyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBtaXNzaW5nIERWQi1UMiBndWFyZCBpbnRlcnZhbHMKCSAgQWNjb3JkaW5nIHRvIHRoZSB2NGwtZHZiIEFQSSBkb2NzLCB0aGVzZSBhcmUgb25seQoJICB1c2VkIGZvciBEVkItVDIgYXQgdGhlIG1vbWVudC4KCSAgT3JkZXIgb2YgdGhlIGVudW0gdmFsdWVzIChuZXcgcmF0ZXMgYWZ0ZXIgX0FVVE8pCgkgIGhhcyBiZWVuIGtlcHQgY29uZ3J1ZW50IHdpdGggdGhlIG9uZSBpbiB0aGUgdjRsCgkgIEFQSSBmb3IgY29uc2lzdGVuY3kuCgoyMDE0LTEwLTAzIDE5OjIwOjAzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGZpeCB0eXBvIGluIEdzdE1wZWd0c0V4dGVuZGVkRXZlbnREZXNjcmlwdG9yIGRvYwoKMjAxNC0xMC0wMyAxOTowNjoyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgX01VVEFCTEVfUExBWUlORyB0byB0dW5pbmcgcHJvcHMKCSAgVGhlIGVsZW1lbnQgY2FuIChyZSl0dW5lIHdoaWxlIHBsYXlpbmcgc28gYmFzaWNhbGx5CgkgIGV2ZXJ5IHByb3BlcnR5IHVzZWQgYXQgc2V0X2ZlX3BhcmFtcygpIGNhbiBiZSBzZXQKCSAgaW4gc3RhdGUgPD0gUExBWUlORy4KCjIwMTQtMTAtMDMgMTc6MjI6MjMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogVGhlIGNvZGVjIGNhbiBvbmx5IGRvIGJhc2VsaW5lIHNvIHNpbXBsaWZ5IHRoZSBjb2RlIGEgYml0CgkgIGFuZCBkZWNsYXJlIHRoaXMgYWxzbyBvbiB0aGUgc3JjcGFkIGNhcHMuCgkgIFdpdGggYmFzZWxpbmUgcHJvZmlsZSB0aGVyZSBhcmUgbm8gQi1mcmFtZXMgb3IgZnJhbWUgcmVvcmRlcmluZy4KCjIwMTQtMTAtMDMgMTc6MjA6MjggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogT24gOjpmaW5pc2goKSBzdG9wIHRyeWluZyBpZiB0aGUgZGVjb2RlciByZXR1cm5lZCB0aGF0IG5vIG91dHB1dCBpcyBhdmFpbGFibGUKCjIwMTQtMTAtMDMgMTM6NTQ6MjIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRwbHVnaW4uYzoKCSAgb3BlbmgyNjQ6IFJ1biBnc3QtaW5kZW50IG92ZXIgZXZlcnl0aGluZwoKMjAxNC0xMC0wMyAxMzo1MjozMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9NYWtlZmlsZS5hbToKCSAgb3BlbmgyNjQ6IFJlbW92ZSB1bnVzZWQgY29kZWNwYXJzZXJzIGxpYgoKMjAxNC0xMC0wMiAxNjo0NjoyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0OiBBZGQgRklYTUUgY29tbWVudCBhYm91dCBtaXNzaW5nIEFQSSBpbiBvcGVuaDI2NAoKMjAxNC0xMC0wMiAxNjozMzozMCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBUcnkgdG8gaGFuZGxlIGZyYW1lIHJlb3JkZXJpbmcKCSAgQXMgb3BlbmgyNjQgaGFzIG5vIHdheSB0byBhdHRhY2ggYW55IElEcyB0byBpbnB1dCBmcmFtZXMgdGhhdCB3ZSB0aGVuIGdldCBvbgoJICB0aGUgb3V0cHV0IGZyYW1lcywgd2UgaGF2ZSB0byBhc3N1bWUgdGhhdCB0aGUgaW5wdXQgaGFzIHZhbGlkIFBUUy4gV2UganVzdAoJICB0YWtlIHRoZSBmcmFtZSB3aXRoIHRoZSBvbGRlc3QgUFRTLCBhbmQgaWYgdGhlcmUgaXMgbm8gUFRTIGluZm9ybWF0aW9uIHdlIHRha2UKCSAgdGhlIG9uZSB3aXRoIHRoZSBvbGRlc3QgRFRTLgoKMjAxNC0xMC0wMiAxNjoyMzozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBEb24ndCBkcm9wIHZpZGVvY29kZWMgZnJhbWVzIGlmIHdlIGNhbid0IGRlY29kZSB0aGVtICp5ZXQqCgkgIEZpeGVzIGppdHRlcnkgcGxheWJhY2sgb2Ygc3RyZWFtcyB3aXRoIEIgZnJhbWVzLgoKMjAxNC0xMC0wMiAxNjoyMTozNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBHc3RWaWRlb0RlY29kZXIgd29ya3Mgb24gZnJhbWVzLCBub3Qgc3ViLWZyYW1lcyAoZS5nLiBOQUxzKQoJICBBbmQgd2UgY2FuIGp1c3QgcGFzcyBjb21wbGV0ZSBBVXMgdG8gdGhlIGRlY29kZXIgd2l0aG91dCBwcm9ibGVtcy4KCjIwMTQtMTAtMDIgMTY6MTk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogQXMgd2UgcmVxdWlyZSBOQUwgYWxpZ25tZW50IGZyb20gdXBzdHJlYW0gd2UgZG9uJ3QgbmVlZCB0byBwYXJzZSBhbnl0aGluZwoKMjAxNC0xMC0wMiAxNTo0ODo1MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBQcm9wZXJseSBkcmFpbiBjb2RlYyBvbiA6OmZpbmlzaCgpCgoyMDE0LTEwLTAyIDE1OjIyOjE0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IFByb3Blcmx5IGRyYWluIHRoZSBlbmNvZGVyIG9uIDo6ZmluaXNoKCkKCjIwMTQtMTAtMDIgMTQ6MzY6NDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogV2UgYWx3YXlzIGdldCBhIHNpbmdsZSBmcmFtZSBhcyBvdXRwdXQsIG5vdCBhIE5BTAoJICBObyBuZWVkIHRvIGFjY3VtdWxhdGUgTkFMcy4KCjIwMTQtMTAtMDIgMTQ6MjA6MjEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJICBvcGVuaDI2NGVuYzogRml4IHVwIGNhcHMgYW5kIHN0cmlkZSBoYW5kbGluZwoKMjAxNC0xMC0wMiAxNDoxNTo0OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGVuYy5jcHA6CgkgIG9wZW5oMjY0ZW5jOiBBZGQgc3VwcG9ydCBmb3IgR3N0VmlkZW9NZXRhCgkgIFRoaXMgd2lsbCBhbGxvdyB1cHN0cmVhbSBlbGVtZW50cyB0byB3b3JrIG1vcmUgZWZmaWNpZW50bHkuCgoyMDE0LTEwLTAyIDE0OjEyOjExICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEKCSAgVGhpcyB3aWxsIG1ha2Ugb3BlcmF0aW9uIHdpdGggdmFyaW91cyBzaW5rcyBmYXN0ZXIgZm9yIGZyZWUuCgoyMDE0LTEwLTAyIDE0OjA4OjQ5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IE9wdGltaXplIGZyYW1lIGNvcHlpbmcgYSBiaXQKCjIwMTQtMTAtMDIgMTQ6MDY6NTggKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRG9uJ3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBpbnB1dCBzdGF0ZQoKMjAxNC0xMC0wMiAxNDowMzo0MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkgIG9wZW5oMjY0ZGVjOiBGaXggdmFyaW91cyBjcmFzaGVzIG9uIDo6c3RvcCgpCgoyMDE0LTEwLTAyIDE0OjAwOjA2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZGVjLmNwcDoKCSAgb3BlbmgyNjRkZWM6IFJlbW92ZSBpbnZhbGlkIHNwcm9wcy1wYXJhbWV0ZXItc2V0IGhhbmRsaW5nCgkgIFRoaXMgb25seSBleGlzdHMgb24gUlRQIGNhcHMsIG5vdCBIMjY0IGNhcHMuCgoyMDE0LTEwLTAyIDEzOjUzOjAxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0ZW5jLmNwcDoKCSAgb3BlbmgyNjRlbmM6IERvbid0IHNldCBjYXBzIG1hbnVhbGx5CgkgIFRoaXMgd2lsbCBicmVhayB0aGUgb3JkZXIgb2YgZXZlbnRzIGluIEdTdHJlYW1lci4KCjIwMTQtMTAtMDIgMTM6NDk6MTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRkZWMuY3BwOgoJICBvcGVuaDI2NGRlYzogRml4IGlucHV0IHN0YXRlIGhhbmRsaW5nIGFuZCBwcm9wYWdhdGlvbiBvZiB1cHN0cmVhbSBjYXBzIGZpZWxkcwoKMjAxNC0xMC0wMyAxMzo0NToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmgyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5jcHA6CgkqIGV4dC9vcGVuaDI2NC9nc3RvcGVuaDI2NGRlYy5oOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuY3BwOgoJKiBleHQvb3BlbmgyNjQvZ3N0b3BlbmgyNjRlbmMuaDoKCSogZXh0L29wZW5oMjY0L2dzdG9wZW5oMjY0cGx1Z2luLmM6CgkgIG9wZW5oMjY0OiBBZGQgT3BlbkgyNjQgYmFzZWQgZW5jb2Rlci9kZWNvZGVyIGVsZW1lbnRzCgkgIFRoZXNlIGFyZSB0aGUgb3BlbmgyNjQgZWxlbWVudHMgcmVsZWFzZWQgdW5kZXIgdGhlIEJTRC0yIGxpY2Vuc2UKCSAgYnkgRXJpY3Nzb24gYXMgcGFydCBvZiB0aGUgT3BlbldlYlJUQyBwcm9qZWN0LgoJICBodHRwczovL2dpdGh1Yi5jb20vRXJpY3Nzb25SZXNlYXJjaC9vcGVud2VicnRjLWdzdC1wbHVnaW5zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc3ODgKCjIwMTQtMDktMTggMTc6MTQ6MjIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBEbyBub3QgdG8gcmVsZWFzZSBWSURFT19BR0dSRUdBVE9SX0xPQ0sgd2hpbGUgc2V0dGluZyBmb3JtYXQgaW5mbwoJICBXZSBzaG91bGQgYmUgYWJsZSB0byBhbHdheXMga2VlcCB0aGUgVklERU9fQUdHUkVHQVRPUl9MT0NLIHdoaWxlCgkgIG5lZ290aWF0aW5nIGNhcHMsIHRoaXMgcGF0Y2ggaW50cm9kdWNlIHRoYXQgY2hhbmdlLgoJICBUaGF0IGFsc28gaW1wbGllcyB0aGF0IHdlIGRvIG5vdCBuZWVkIHRoZSBTRVRDQVBTX0xPQ0sgYW55bW9yZSBiZWNhdXNlCgkgIG5vdyBWSURFT19BR0dSRUdBVE9SX0xPQ0sgZ3VhcmFudGVlcyB0aGF0IHNldGNhcHMgaXMgbm90IGNhbGxlZCBmcm9tCgkgIHNldmVyYWwgdGhyZWFkcyBhbmQgdGhlIGdzdF9hZ2dyZWdhdG9yX3NldF9jYXBzIG1ldGhvZCBpcyBub3cKCSAgcHJvdGVjdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDQyCgoyMDE0LTEwLTAzIDEyOjM0OjE1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFRha2UgbG9jayB0byBlbnN1cmUgc2V0X2NhcHMgaXMgbm90IGNhbGxlZCBjb25jdXJlbnRseQoJICBBdm9pZGluZyB0byBiZSBpbiBhbiBpbmNvbnNpc3RlbnQgc3RhdGUgd2hlcmUgd2UgZG8gbm90IGhhdmUKCSAgYWN0dWFsIG5lZ290aWF0ZSBjYXBzIHNldCBhcyBzcmNjYXBzIGFuZCBsZWFkaW5nIHRvIHBvaW50IHdoZXJlIHdlCgkgIHRyeSB0byB1bnJlZiAtPnNyY2NhcHMgd2hlbiB0aGV5IGhhdmUgYWxyZWFkeSBiZWVuIHNldCB0byBOVUxMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDQyCgoyMDE0LTA5LTI5IDEwOjE1OjM5ICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIGdzdDogcmVtb3ZlIHVubmVjZXNzYXJ5IEdMSUJfRElTQUJMRV9ERVBSRUNBVElPTl9XQVJOSU5HUwoJICBUaGVyZSBhcmUgdW5uZWNlc3NhcnkgZGVmaW5pdGlvbnMgZm9yIGRpc2FibGluZyBkZXByZWNhdGlvbiB3YXJuaW5ncy4KCSAgU2luY2UgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBpbiB0aGVzZSBmaWxlcywKCSAgcmVtb3ZpbmcgdGhlIHNhbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc1NTkKCjIwMTQtMTAtMDEgMTY6MTk6MDIgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiB1bnJlZiBjYXBzIHdoZW4gaXQgaXMgZW1wdHkgaW4gcmVuZWdvdGlhdGUoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3NzI0CgoyMDE0LTEwLTAyIDEwOjI2OjQzICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBGaXggY2FsY3VsYXRpb24gb2YgdGhlIGZyYW1lIHNpemUgZm9yIENPTE9SX0Zvcm1hdFlVVjQyMFBsYW5hcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MTU2CgoyMDE0LTEwLTAxIDE3OjIyOjU5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEFsc28gY29weSBvdmVyIHRoZSBjaHJvbWEgc2l0aW5nIGFuZCBjb2xvcmltZXRyeSB3aGVuIGRlY2lkaW5nIG9uIGEgY29udmVyc2lvbgoKMjAxNC0xMC0wMSAxNzoxODowNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBSZXZlcnQgdGhlIGxhc3QgY29tbWl0IGFuZCBoYW5kbGUgcmVzb2x1dGlvbnMgZGlmZmVyZW5jZXMgcHJvcGVybHkKCSAgVGhpcyBpcyBhYm91dCBjb252ZXJ0aW5nIHRoZSBmb3JtYXQsIG5vdCBhYm91dCBjb252ZXJ0aW5nIGFueSB3aWR0aHMgYW5kCgkgIGhlaWdodHMuIFN1YmNsYXNzZXMgYXJlIGV4cGVjdGVkIHRvIGhhbmRsZXIgZGlmZmVyZW50IHJlc29sdXRpb25zIHRoZW1zZWx2ZXMsCgkgIGxpa2UgdGhlIHZpZGVvbWl4ZXJzIGFscmVhZHkgZG8gcHJvcGVybHkuCgoyMDE0LTEwLTAxIDE3OjExOjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IEdzdFZpZGVvQ29udmVydGVyIGN1cnJlbnRseSBjYW4ndCByZXNjYWxlIGFuZCB3aWxsIGFzc2VydAoJICBMZWFkcyB0byB1Z2x5IGFzc2VydGlvbnMgaW5zdGVhZCBvZiBwcm9wZXJseSBlcnJvcmluZyBvdXQ6CgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0xMC0wMSAxNjowNDozNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQWx3YXlzIHVwZGF0ZSBvdXIgdmlld3BvcnQgaWYgQ29jb2EgdGVsbHMgdXMgc29tZXRoaW5nIGhhcyBjaGFuZ2VkCgkgIFRoZSB2aXNpYmxlIHJlY3QgYW5kIGJvdW5kcyBtaWdodCBiZSB0aGUgc2FtZSBhcyBiZWZvcmUsIGJ1dCBDb2NvYQoJICBtaWdodCd2ZSBjaGFuZ2VkIG91ciB2aWV3cG9ydCB3aXRob3V0IHVzIG5vdGhpbmcuIFRoaXMgaGFwcGVucyBpZgoJICB5b3UgaGlkZSB0aGUgdmlldyBhbmQgc2hvdyBpdCBhZ2Fpbi4KCjIwMTQtMTAtMDEgMTE6NTU6MTMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEhhbmRsZSBOU1ZpZXc6OnJlbmV3R1N0YXRlKCkgcHJvcGVybHkKCSAgRG9uJ3QgdXBkYXRlIHRoZSBzY3JlZW4gdW50aWwgd2UgcmVkcmF3LCB0aGlzIHByZXZlbnRzIGZsaWNrZXJpbmcgZHVyaW5nCgkgIHNjcm9sbGluZywgY2xpcHBpbmcsIHJlc2l6aW5nLCBldGMKCjIwMTQtMTAtMDEgMDA6NTM6NTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogZG9uJ3QgY3Jhc2ggb24gMC1zaXplZCBpbnB1dCBidWZmZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mzc2NTgKCjIwMTQtMDktMzAgMTQ6NTg6MDYgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2x0cmFuc2Zvcm1hdGlvbjogcmVxdWlyZXMgZ3JhcGhlbmUgMS4wLjAKCjIwMTQtMDktMjUgMTc6MDE6MzEgKzAyMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRyYW5zZm9ybWF0aW9uLmM6CgkgIGdsdHJhbnNmb3JtYXRpb246IGdyYXBoZW5lIG11bHRpcGxpY2F0aW9uIG9yZGVyIGhhcyBjaGFuZ2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM1MTAKCjIwMTQtMDktMzAgMjA6Mzk6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiB1cGRhdGUgZWxlbWVudCBkb2N1bWVudGF0aW9uCgoyMDE0LTA5LTMwIDE4OjI2OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIHRlc3RzL2dsY29sb3Jjb252ZXJ0OiBkbyByZW9yZGVyIGNoZWNraW5nIGZvciByZ2JhIGZvcm1hdHMKCjIwMTQtMDktMzAgMTQ6NDY6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogY29udmVydCB4UkdCIGludG8gQVJHQiBwcm9wZXJseQoJICBUaGUgYWxwaGEgY2hhbm5lbCBtaWdodCBub3QgYmUgdGhlIGxhc3QgY29tcG9uZW50IHNvIGNoZWNrIHdoaWNoIG9uZQoJICBpdCBpcyBpbiBhbmQgY2xvYmJlciB0aGF0IG9uZSBpbnN0ZWFkLgoKMjAxNC0wOS0zMCAwMTo0NToyMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJICB0ZXN0cy9nbG1lbW9yeTogYWRkIHNpbXBsZSB0cmFuc2ZlciB0ZXN0CgkgIHRlc3RzIHRyYW5zZmVycmluZyB0by9mcm9tIHRoZSBHTCB3aXRoIGEgMXgxIFJHQkEgcGl4ZWwuCgoyMDE0LTA5LTMwIDAxOjM4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IHVuc2V0IHRoZSBvcHBvc2l0ZSBjb3JyZXNwb25kaW5nIHRyYW5zZmVyIGZsYWdzIHdoZW4gbWFwcGVkIHdpdGggd3JpdGUKCSAgZml4ZXMgY29uc2lzdGVuY3kgd2l0aCBjb25zZWN1dGl2ZSBnc3RfbWVtb3J5X21hcCgpJ3Mgd2l0aAoJICBmbGFncyAmIEdTVF9NQVBfV1JJVEUKCjIwMTQtMDktMjkgMDk6MzM6NDIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IFVwZGF0ZSB2aWV3cG9ydCBhY2NvcmRpbmcgdG8gdGhlIGN1cnJlbnQgY2xpcHBpbmcKCSAgV2UgaGF2ZSB0byB1cGRhdGUgdGhlIEdMIHZpZXdwb3J0IGlmIHRoZSBOU1ZpZXcgaXMgb25seSBwYXJ0aWFsbHkKCSAgdmlzaWJsZS4gT3RoZXJ3aXNlIHRoZSBjb250ZW50IG9mIHRoZSBmcmFtZSB3aWxsIGJlIHZpc2libHkgb2Zmc2V0LgoKMjAxNC0wOS0yOSAxMDowMToyNyArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCBkaXNjYXJkIG9uIGRpc2NvbnQgaWYgUEVTIHN0YXJ0CgkgIElmIGEgZGlzY29udGludWl0eSBpbiB0aGUgc3RyZWFtIGlzIGRldGVjdGVkLCBkYXRhIGlzIGRpc2NhcmRlZCB1bnRpbAoJICBhIG5ldyBQRVMgc3RhcnRzLiBJZiB0aGUgZmlyc3QgcGFja2V0IGFmdGVyIHRoZSBkaXNjb250aW51aXR5IGlzIGFsc28KCSAgdGhlIHN0YXJ0IG9mIGEgUEVTLCB0aGVyZSBpcyBubyByZWFzb24gdG8gZGlzY2FyZCB0aGUgcGFja2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzU2OQoKMjAxNC0wNy0zMSAyMjo1Nzo0MCArMDEwMCAgRGF2aWQgV2FyaW5nIDxkYXZpZGp3QHJkLmJiYy5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogVXNlIEdzdFVyaSB0byBqb2luIFVSSXMKCjIwMTQtMDktMjkgMTA6NDk6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBJbXByb3ZlIHRoZSBOU0FwcGxpY2F0aW9uIGluaXRpYWxpemF0aW9uCgkgIFRoaXMgaXMgb25seSBmb3Igbm9uLUNvY29hIGFwcHMgYnV0IHByZXZpb3VzbHkgY2F1c2VkIGEgMiBzZWNvbmQKCSAgd2FpdGluZyBkdXJpbmcgc3RhcnR1cCBmb3IgQ29jb2EgYXBwcy4gVGhpcyBpcyB1bmFjY2VwdGFibGUuCgkgIEluc3RlYWQgd2Ugbm93IGNoZWNrIGEgYml0IG1vcmUgZXh0ZW5zaXZlIGlmIHNvbWV0aGluZyBhY3R1YWxseQoJICBydW5zIG9uIHRoZSBHTGliIGRlZmF1bHQgbWFpbiBjb250ZXh0LCBhbmQgaWYgbm90IGRvbid0IGV2ZW4KCSAgYm90aGVyIHdhaXRpbmcgZm9yIHNvbWV0aGluZyB0byBoYXBwZW4gZnJvbSB0aGVyZS4KCjIwMTQtMDktMjkgMDk6MjQ6NDkgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IE5TVmlldzo6ZHJhd1JlY3QoKSBzaG91bGQgY2FsbCBpbnRvIHJlc2hhcGUgdG9vCgkgIFdlIGEpIG5lZWQgdG8gcmVuZGVyIGFnYWluIGJlY2F1c2UgcGFydCBvZiB0aGUgd2luZG93IHdhcwoJICBvYnNjdXJlZCBhbmQgYikgbWlnaHQgbmVlZCB0byByZXNoYXBlIGJlY2F1c2Ugb2YgY2xpcHBpbmcKCSAgY2hhbmdlcy4KCjIwMTQtMDktMjYgMTQ6MjE6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogQ2FsbCBVSSByZWxhdGVkIEFQSSBmcm9tIHRoZSBhcHBsaWNhdGlvbiBtYWluIHRocmVhZAoKMjAxNC0wOS0yNiAxMzowNToyNyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBTd2l0Y2ggdG8gYSBwbGFpbiBOU1ZpZXcgc3ViY2xhc3MgaW5zdGVhZCBvZiBOU09wZW5HTFZpZXcKCSAgV2UgZG9uJ3QgYW5kIGNhbid0IHVzZSBOU09wZW5HTFZpZXcgYXMgaXQncyBzdXBwb3NlZCB0byBiZSB1c2VkIGFuZAoJICBpdCBnZXRzIGludG8gb3VyIHdheSBieSBiZWluZyB0byBjbGV2ZXIgaW4gdmFyaW91cyBzaXR1YXRpb25zLgoKMjAxNC0wOS0yOSAwODo1NDoyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBJbml0aWFsaXplIHZhcmlhYmxlCgkgIEF2b2lkcyB0aGUgZm9sbG93aW5nIHdhcm5pbmc6CgkgIGdzdGdsY29udGV4dC5jOjY0Nzo1ODogZXJyb3I6ICdwcmV2JyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluCgkgIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9bWF5YmUtdW5pbml0aWFsaXplZF0KCjIwMTQtMDktMjggMTg6MDM6MDkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IGZpeCBidWlsZCBpbiBnc3QtdW5pbnN0YWxsZWQgc2V0dXAKCSAgSW5jbHVkZSB0aGUgYmFzZSB2aWRlbyBsaWIgYXBwcm9wcmlhdGVseSBhbmQgcmVzb3J0IGFsbCBvZiB0aGVtIGFzCgkgIHRoYXl0YW4gc3VnZ2VzdGVkLgoKMjAxNC0wOS0yOSAwMDoyMzo1NyArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nc3R0aHJlYWQuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSAgZXhhbXBsZXM6IEZpeCBRdC9HTCBxZ2x3dGV4dHVyZXNoYXJlIGV4YW1wbGUgZm9yIFgxMQoJICBXZSBuZWVkIHRvIHBhc3MgdGhlIFgxMSBkaXNwbGF5IHRvIEdzdEdMIG9yIGVsc2UgaXQgd2lsbAoJICB1c2UgaXRzIG93biBYMTEgRGlzcGxheSBwb2ludGVyLCBhbmQgdGhlIEdMIENvbnRleHQgd29uJ3QgZ2V0IHNoYXJlZAoJICBjb3JyZWN0bHkgb24gbmV3ZXIgWCBzZXJ2ZXJzCgoyMDE0LTA5LTI4IDIwOjIxOjUwICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnBybzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9xcmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmUucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvRGVidWcvdmlkZW9vdmVybGF5OgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnBybzoKCSAgZXhhbXBsZXM6IHBvcnQgR0wvUXQgZXhhbXBsZXMgdG8gUXQ1CgkgIFVwZGF0ZSB0aGUgR0wgUXQgaW50ZWdyYXRpb24gZXhhbXBsZXMgZm9yIFF0NSBjaGFuZ2VzIGFuZCBmb3IgR3N0R0wKCSAgc2lnbmFsIHNpZ25hdHVyZSBjaGFuZ2VzLgoKMjAxNC0wOS0yOSAwMDozMjowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGZpeHVwIGVycm9yIGluIHNoYXJlZ3JvdXAgY29tbWVudAoKMjAxNC0wOS0yOSAwMDoyNzozMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFJldmVydCBhY2NpZGVudGFsIHB1c2g6ICJnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlYWUwOTE3OWYwYjRlYjU4NGM4ZmM3YjY1NjBkOGZjOGU4NmVlZDRjLgoKMjAxNC0wOS0yOSAwMDoyNDoyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGRldGVjdCB0aGUgc2hhcmVncm91cCBjYXNlIHdoZXJlIHRoZSBjb250ZXh0IGFyZSBpbiBkaWZmZXJlbnQgY2hhaW5zCgkgIEluIHRoZSBlbmQgdGhleSB3aWxsIGxlYWQgdG8gdGhlIHNhbWUgcm9vdCBjb250ZXh0IGluIHRoZSB0cmVlIHNvIGNoZWNrIHRoYXQKCSAgZm9yIGVxdWFsaXR5LgoKMjAxNC0wOS0yOCAxMDo1MTowOSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IGltcGxlbWVudCBjaGVja2VycyBwYXR0ZXJuIHdpdGggR0xTTAoKMjAxNC0wOS0yOCAyMToxODozMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBzaWxlbmNlIGEgd2FybmluZyB3aXRoIGVtcHR5IGlucHV0IGNhcHMKCSAgZGlzY292ZXJlZCB3aXRoIHRoZSBkb3VibGVjdWJlIGV4YW1wbGUKCSAgZ3N0X2NhcHNfZ2V0X2ZlYXR1cmVzOiBhc3NlcnRpb24gJ2luZGV4IDwgR1NUX0NBUFNfTEVOIChjYXBzKScgZmFpbGVkCgoyMDE0LTA5LTI4IDIwOjM3OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvbWFpbi5jcHA6CgkgIGV4YW1wbGVzL2dsOiB1cGRhdGUgZm9yIHNpZ25hbCBzaWduYXR1cmUgY2hhbmdlCgoyMDE0LTA5LTI4IDE2OjU4OjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3QgY3JlYXRlIGNvbnZlcnRlcnMgd2hlbiB0aGUgc3ViY2xhc3MgZG9lc24ndCB3YW50IHRoZW0KCSAgZml4ZXMgYSBjcml0aWNhbCB3aXRoIGdsdmlkZW9taXhlciBhZnRlcgoJICAzNWJkMTk2OWY5MTJjZWNkYTBmYjVkZjk1OTVhMDA1ZTZkZGY0ZTdhCgkgIENSSVRJQ0FMICoqOiBnc3RfdmlkZW9fY29udmVydGVyX25ldzogYXNzZXJ0aW9uICdpbl9pbmZvLT53aWR0aCA9PSBvdXRfaW5mby0+d2lkdGgnIGZhaWxlZAoKMjAxNC0wOS0yNiAyMjoyOTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBnbG92ZXJsYXk6IGZpeCB6ZXJvIG91dHB1dCBmcmFtZXMgd2l0aCBZVVkyL1VZVlkKCSAgYWxzbywgYmUgbmljZSBhbmQgZGlzYWJsZSBibGVuZGluZyBmb3Igb3RoZXIgZWxlbWVudHMKCjIwMTQtMDktMjYgMjI6MjI6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgZ2xvdmVybGF5OiBwcm90ZWN0IGRlc2t0b3AgZ2wgc3BlY2lmaWMgdG9rZW5zIHdpdGggI2lmCgoyMDE0LTA5LTI2IDEyOjI4OjEwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8bWF0dGhld0BjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIGdsb3ZlcmxheTogZnJlZSB0aGUgaW1hZ2UgbWVtb3J5IGV2ZXJ5IHRpbWUgdGhlIGxvY2F0aW9uIGNoYW5nZXMKCSAgZml4ZXMgYSBtZW1vcnkgbGVhawoKMjAxNC0wOS0yNSAyMDo0ODo1OSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2xvdmVybGF5OiBJbmNsdWRlIGludG8gdGhlIGJ1aWxkIHdpdGggR0xFUzIgb25seSB0b28KCjIwMTQtMDktMjYgMDE6NDU6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBmcmVlIHRoZSBzaGFkZXIgb24gc3RvcAoKMjAxNC0wOS0yNiAwMTozNDo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGZpeCBibGVuZGluZyB3aXRoIGxvdy1hbHBoYSBzb3VyY2VzCgkgIFdlIGFsc28gbmVlZCB0byBhcHBseSB0aGUgYmxlbmQgcGFyYW1hdGVycyB0byB0aGUgYWxwaGEgY2hhbm5lbCBvdGhlcndpc2UKCSAgdGhlIG91dHB1dCBvZiB0aGUgYmxlbmQgd2lsbCBhcHBlYXIgYmxhY2sgYXQgbG93IGFscGhhIHZhbHVlcyAoPCAwLjIpLgoKMjAxNC0wOS0yNiAwMToxNDozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPG1hdHRoZXdAY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xvdmVybGF5OiByZWltcGxlbWVudCBldmVyeXRoaW5nCgkgIC0gdXBkYXRlIGZvciBzaGFkZXJzCgkgIC0gYWRkIGFscGhhIHByb3BlcnR5CgkgIC0gaW1hZ2UgcGxhY2VtZW50IHByb3BlcnRpZXMgc2hhbWVsZXNzbHkgYm9ycm93ZWQgZnJvbSBnZGtwaXhidWZvdmVybGF5CgkgIC0gaW1hZ2UgcGxhY2VtZW50IHByb3BlcnRpZXMgYXJlIEdzdENvbnRyb2xsZXIgYWJsZQoJICAtIHVzZSBHc3RHTE1lbW9yeSBmb3IgdGhlIG92ZXJsYXkgaW1hZ2UgZGF0YQoJICAtIGFkZCBzdXBwb3J0IGZvciBnbGVzMgoKMjAxNC0wOS0yNSAxNjowNDozMyArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgc3R5bGU6IHJlbW92ZSB1bm5lY2Vzc2FyeSBicmVhayBzdGF0ZW1lbnRzCgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZXNlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvcyBwcmVjZWRpbmcKCSAgdGhlbS4gU28gdGhlIGJyZWFrcyBhcmUgdW5uZWNlc3NhcnksIGFzIGRpc2N1c3NlZCBpbiBidWcgNzM2OTQyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MzcwCgoyMDE0LTA5LTI1IDE1OjQ1OjU3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmJnQHNhbXN1bmcuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYnJlYWsgc3RhdGVtZW50IHVubmVjZXNzYXJ5CgkgIENvZGUgZmxvdyBuZXZlciBhcnJpdmVzIHRvIHRoZSBicmVhayBzdGF0ZW1lbnRzIGR1ZSB0byB0aGUgZ290bydzLiBTbyB0aGUKCSAgYnJlYWtzIGFyZSB1bm5lY2Vzc2FyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MgoKMjAxNC0wOS0yNSAxNjoxMzoxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBnbC9jb2NvYTogU3dpdGNoIGZyb20gb3VyIGN1c3RvbSBtYWluIGxvb3AgdG8gYSBHTWFpbkxvb3AKCSAgU2ltcGxpZmllcyBjb2RlIGEgbG90IGFuZCBtYWtlcyBpdCBtb3JlIHNpbWlsYXIgdG8gdGhlIG90aGVyIGJhY2tlbmRzLgoKMjAxNC0wOS0yNSAxNjoxMjoyNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgZ2wvY29jb2E6IENsZWFyIHRoZSBjdXJyZW50IEdMIGNvbnRleHQgd2hlbiBpdCBzaG91bGQgaGFwcGVuCgoyMDE0LTA5LTI0IDEyOjQyOjIzICswMjAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEVtYWlsIHdpdGggbXVsdGlwYXJ0IGNvbnRlbnQtdHlwZSBzaG91bGQgZW5kIHdpdGggYSBmaW5hbCBib3VuZGFyeQoJICBBZGQgZmluYWwgYm91bmRhcnkgZm9yIGVhY2ggb2YgdGhlIHNlbmRpbmcgb3V0IGVtYWlscyBmcm9tIHNtdHBzaW5rLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MTM0CgoyMDE0LTA5LTI1IDEwOjE0OjQxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsKnNpbms6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTQtMDktMjUgMDg6MDU6NTAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSAgY3VybGJhc2VzaW5rOiBhZGQgYSBkZWJ1ZyBmdW5jdGlvbgoJICBJZiBnc3RyZWFtZXIgaXMgYnVpbGQgd2l0aCBsb2dnaW5nIGVuYWJsZWQsIGFkZCBhIGRlYnVnIGZ1bmN0aW9uIGFuZCBvdXRwdXQKCSAgdmVyYm9zZSBtZXNzYWdlcyB0byB0aGUgbG9nIGluc3RlYWQgb2Ygc3RkZXJyLgoKMjAxNC0wOS0yNCAyMjoyNDo0OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJICBjdXJsaHR0cHNpbms6IG9ubHkgYWRkIGNvbnRlbnQtZGlzcG9zaXRpb24gaGVhZGVyIGlmIGEgZmlsZW5hbWUgaXMgc2V0CgkgIFRoZSBoZWFkZXIgaXMgb3B0aW9uYWwgYW5kIHRoZXJlZm9yZSB3ZSBiZXR0ZXIgb21pdCBpdCBpZiB3ZSBkb24ndCBoYXZlIGEgZmlsZW5hbWUuCgoyMDE0LTA5LTI0IDIyOjA2OjIxICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkgIGN1cmxiYXNlc2luazogZG9uJ3QgcmVwbGFjZSBzcGVjaWZpYyBlcnJvciBtZXNzYWdlcyB3aXRoIGEgZ2VuZXJpYyBvbmUKCSAgT25seSBzZXQgYW4gZXJyb3IgaWYgd2UgaGF2ZW4ndCBzZXQgb25lIGFscmVhZHkuCgoyMDE0LTA5LTI0IDIxOjA3OjIwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSAgY3VybHRsc3Npbms6IHN3YXAgY2hlY2sKCSAgTGV0cyBjaGVjayBmb3IgTlVMTCBmaXJzdCwgYXMgdGhhdCBpcyB0aGUgZGVmYXVsdCBhbnl3YXkuCgoyMDE0LTA3LTI5IDE2OjEyOjI2ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFJldHVybiBmbHVzaGluZyBpZiB3ZSBnZXQgY2hhaW5lZCB3aGlsZSBiZWluZyBzZXQgdG8gUkVBRFkKCSAgT3Igbm90IG5lZ290aWF0ZWQgaW4gdGhlIGNhc2Ugd2Ugd291bGQgYmUgYWN0dWFsbHkgbm90IG5lZ290aWF0ZWQKCSAgQ3VycmVudGx5IHdlIGFyZSBnZXR0aW5nIGFzc2VydGlvbnMgZnJvbQoJICBnc3RfcGJfdXRpbHNfYWRkX2NvZGVjX2Rlc2NyaXB0aW9uX3RvX3RhZ19saXN0IGJlY2F1c2Ugb2YgTlVMTAoJICBjYXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM3MTg2CgoyMDE0LTA5LTA5IDEzOjEyOjMxICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IG1hcmsgZmlyc3QgYnVmZmVyIGFzIGRpc2NvbnQgYWZ0ZXIgcmVzdGFydGluZyBhIGRvd25sb2FkIHRhc2sKCSAgTWFyayBmaXJzdCBidWZmZXIgYXMgZGlzY29udCBhZnRlciByZXN0YXJ0aW5nIGEgZG93bmxvYWQgdGFzaywgc28KCSAgZG93bnN0cmVhbSBjYW4gcmVzZXQgaXRzIHN0YXRlIHRvIHByb3Blcmx5IGhhbmRsZSB0aGUgbmV3IGZyYWdtZW50LgoJICBSZWxhdGVkIGlzc3VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzE4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYzMTkKCjIwMTQtMDktMTkgMjI6MzI6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHB1c2ggYSB0aW1lIHNlZ21lbnQgd2hlbiByZXN0YXJ0aW5nIHN0cmVhbWluZwoJICBUaGlzIHNob3VsZCBpbmZvcm0gZGVtdXhlcnMvZGVjb2RlcnMgZG93bnN0cmVhbSB0aGF0IHRoZSBzdHJlYW0gaXMKCSAgYWJvdXQgdG8gc3RhcnQgZnJvbSBhIG5ldyBwb3NpdGlvbiBhbmQgdGhleSBzaG91bGQgZmx1c2ggYWNjb3JkaW5nbHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjMxOQoKMjAxNC0wOS0yNCAxNjo1NTo0OSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy5vcmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5oOgoJICB2aWRlbzogdXNlIHZpZGVvIGxpYiBjb252ZXJzaW9uIGNvZGUgaW5zdGVhZCBvZiBjb3B5CgoyMDE0LTA5LTE4IDE3OjI2OjM3ICswNTMwICBBbnVqIEphaXN3YWwgPGFudWouamFpc3dhbEBzYW1zdW5nLmNvbT4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBPbmUgbW9yZSBjb2RlIGZsb3cgaXNzdWUgd2hlcmUgaXQgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50IGR1ZSB0bwoJICB0aGUgZ290by4gU28gdGhlIGJyZWFrIGlzIHVubmVjZXNzYXJ5LgoJICBQbHVzIHR3byBjb2Rpbmcgc3R5bGUgZml4ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4OTUKCjIwMTQtMDktMjQgMjI6NDI6NTggKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSAgY2hvcG15ZGF0YTogVHJhbnNmZXIgdGltZXN0YW1wcyB0byBvdXRwdXQgYnVmZmVycwoJICBBbGxvd3MgdXNpbmcgY2hvcG15ZGF0YSBhcyBhIHNpbXBsZSByZXBhY2tldGl6ZXIKCjIwMTQtMDktMTkgMDk6NTE6NDggKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGJyZWFrIHN0YXRlbWVudHMgdW5uZWNlc3NhcnkKCSAgQ29kZSBmbG93IG5ldmVyIGFycml2ZXMgdG8gdGhlIGJyZWFrIHN0YXRlbWVudHMgZHVlIHRvIHRoZSBnb3RvJ3MuIFNvIHRoZQoJICBicmVha3MgYXJlIHVuZWNlc3NhcnkuIFNlY29uZCBwYXJ0IHRvIGNvbW1pdCBhMzk1OGFlNjViCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5NDAKCjIwMTQtMDktMTkgMDk6NTk6NDEgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGJyZWFrIHN0YXRlbWVudCB1bm5lY2Vzc2FyeQoJICBDb2RlIGZsb3cgbmV2ZXIgYXJyaXZlcyB0byB0aGUgYnJlYWsgc3RhdGVtZW50cyBkdWUgdG8gdGhlIGdvdG8ncy4gU28gdGhlCgkgIGJyZWFrcyBhcmUgdW5lY2Vzc2FyeS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk0MgoKMjAxNC0wOS0xOCAxNjoxMzo1OCAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogYXZvaWQgZXJyb3Igd2hlbiBzZXRfY2FwcyBjYWxsZWQgdHdpY2UKCSAgSWYgc2V0X2NhcHMgaXMgY2FsbGVkIGluIGEgcnVubmluZyBzdGF0ZSwgcmV0dXJuIGltbWVkaWF0ZWx5IGlmIHRoZSBjYXBzCgkgIGhhdmVuJ3QgY2hhbmdlZC4gSWYgdGhlIHBpbnMgYXJlIGFscmVhZHkgY29ubmVjdGVkLCBkaXNjb25uZWN0IHRoZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY5MjYKCjIwMTQtMDktMjQgMTQ6Mjk6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBza2lwIGlucHV0IGZyYW1lcyB3aXRoIGFuIGFscGhhIG9mIDAKCjIwMTQtMDktMjQgMTM6MTM6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDxtYXR0aGV3QGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmg6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIGdsOiBkb3dubG9hZCB3aGVuZXZlciB3ZSBoYXZlIHN5c21lbSBjYXBzZmVhdHVyZXMKCSAgT3RoZXJ3aXNlIHdlIGNvdWxkIHBhc3Mgb24gYSBSR0JBIGZvcm1hdHRlZCBidWZmZXIgYW5kIGRvd25zdHJlYW0gd291bGQKCSAgbWlzaW50ZXJwcmV0IHRoYXQgYXMgc29tZSBvdGhlciB2aWRlbyBmb3JtYXQuCgkgIEZpeGVzIHBpcGVsaW5lcyBvZiB0aGUgZm9ybQoJICBnbGVmZmVjdHMgISB0ZWUgISB4dmltYWdlc2luawoKMjAxNC0wOS0xOSAwMToyMjoxNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkgIGdzZXR0aW5nczogRml4IHR5cG8gaW4gZGVzY3JpcHRpb24KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkzMwoKMjAxNC0wOS0yMyAxNzozMjo1OSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpcy5iZ0BzYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3BzbXV4OiByZWZhY3RvciBkdXBsaWNhdGUgZWxzZSBicmFuY2hlcwoJICBVbmtub3duIGNhc2Ugc2hvdWxkIGFzc2VydCBpZiByZWFjaGVkIGluc3RlYWQgb2YganVzdCBhc3N1bWluZyB0aGUgbWF4IGJ1ZmZlcgoJICBzaXplLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDYwCgoyMDE0LTA5LTE5IDA5OjU0OjExICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogaW5pdGlhbGl6ZSBzZW50X2NvZGVjX3RhZyBiZWZvcmUgdXNpbmcgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjk1MQoKMjAxNC0wOS0yMiAxNzoxNDoyOSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkgIHZpZGVvZmlsdGVyczogQWRkIHN1cHBvcnQgZm9yIG1vcmUgWVVWIGZvcm1hdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNzExMQoKMjAxNC0wOC0yMSAwMjoxNDo0MCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogYWRkIE1hbmRlbGJyb3QgZnJhY3RhbCBwYXR0ZXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MTMxCgoyMDE0LTA4LTIxIDAyOjEzOjU4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIGdsdGVzdHNyYzogaW1wbGVtZW50IHNub3cgcGF0dGVybiB3aXRoIEdMU0wuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzUxMzEKCjIwMTQtMDktMjMgMTI6MDI6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBmYWxsYmFjayB0byB1cGxvYWQgaWYgY29udGV4dHMgY2Fubm90IHNoYXJlIEdMIHJlc291cmNlcwoJICBGaXhlcyBwaXBlbGluZXMgb2YgdGhlIGZvcm0KCSAgZ2xlZmZlY3RzICEgdGVlICEgZ2xpbWFnZXNpbmsKCSAgYXMgdGVlIGRvZXMgbm90IHBhc3Mgb24gdGhlIGFsbG9jYXRpb24gcXVlcnkuCgoyMDE0LTA5LTIzIDEyOjAxOjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbGNvbnRleHQ6IGFkZCBnc3RfZ2xfY29udGV4dF9jYW5fc2hhcmUKCSAgV2hpY2ggZGV0ZXJtaW5lcyB3aGV0aGVyIHR3byBHc3RHTENvbnRleHQncyBjYW4gc2hhcmUgc2hhcmFibGUKCSAgT3BlbkdMIHJlc291cmNlcy4KCjIwMTQtMDktMjIgMjA6MDE6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC90ZXN0czogdXBkYXRlIGZvciB1cGxvYWQgQVBJIGNoYW5nZXMKCjIwMTQtMDktMjIgMTA6MDg6MTcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBMZXQgZ3N0X2dsX2NvbnRleHRfZ2V0X3RocmVhZCgpIHJldHVybiBhIG5ldyByZWZlcmVuY2UgdG8gdGhlIEdUaHJlYWQKCSAgT3RoZXJ3aXNlIGl0IG1pZ2h0IGdvIGF3YXkgaW4gdGhlIG1lYW50aW1lIGFuZCB0aGUgY2FsbGVyIGhhcyBzb21lIHJhbmRvbSBwb2ludGVyLgoKMjAxNC0wOS0yMiAxMToxMDo0MiArMDUzMCAgQW51aiBKYWlzd2FsIDxhbnVqLmphaXN3YWxAc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IGNvbnNlY3V0aXZlIHJldHVybiwgYnJlYWsgc3RhdGVtZW50CgkgIFNpZ25lZC1vZmYtYnk6IEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTM5CgoyMDE0LTA5LTIyIDEyOjIxOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZGVidWcuaDoKCSAgZ2wvZGVidWc6IGRlc2t0b3AgR0wgZG9lcyBub3QgaGF2ZSB0aGUgS0hSIHN1ZmZpeGVzCgoyMDE0LTA5LTIyIDExOjU5OjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkgIGV4YW1wbGVzL2dsL2d0azogdXNlIHRoZSBzeW5jIGJ1cyBjYWxsYmFjayB0byBzZXQgdGhlIHdpbmRvdyBoYW5kbGUKCSAgQW5kIG91dHB1dCBlcnJvciBtZXNzYWdlcy4KCjIwMTQtMDktMTkgMTg6NTk6MDEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogYWRkIG1pc3NpbmcgRkVDIHJhdGVzCgkgIE9yZGVyIG9mIHRoZSBlbnVtIHZhbHVlcyAobmV3IHJhdGVzIGFmdGVyIF9BVVRPKQoJICBoYXMgYmVlbiBrZXB0IGNvbmdydWVudCB3aXRoIHRoZSBvbmUgaW4gdGhlIHY0bAoJICBBUEkgZm9yIGNvbnNpc3RlbmN5LgoKMjAxNC0wOS0yMSAxMzozMjoyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGFkZCBzaW5jZSBtYXJrZXJzIGZvciBuZXcgQVBJCgoyMDE0LTA5LTIxIDIxOjQyOjQxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogYWRkIGRlYnVnIGxpbmUgZm9yIGZyZWVpbmcgdGV4dHVyZXMKCjIwMTQtMDktMjEgMjE6MzY6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbHVwbG9hZDogcHJvdmlkZSB0aGUgb3V0cHV0IGJ1ZmZlciB0aGF0IGlzIHJlbmRlcmVkIGludG8KCSAgQWxsb3dzIGNhbGxlcnMgdG8gcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50IHRoZSBidWZmZXJzIHVzZWQgZm9yCgkgIHJlbmRlcmluZy4KCSAgRml4ZXMgYSByZWRyYXcgcmFjZSBpbiBnbGltYWdlc2luayB3aGVyZSB0aGUgcHJldmlvdXMgYnVmZmVyCgkgICh0aGUgb25lIHVzZWQgZm9yIHJlZHJhdyBvcGVyYXRpb25zKSBpcyBmcmVlZCBhcyBzb29uIGFzIHRoZSBuZXh0CgkgIGJ1ZmZlciBpcyB1cGxvYWRlZC4KCSAgMS4gZ2xpbWFnZXNpbmsgdXBsb2FkcyBpbiBfcHJlcGFyZSgpIHRvIHRleHR1cmUgbgoJICAxLjEgZ2x1cGxvYWQgaG9sZHMgYnVmZmVyIG4KCSAgMi4gZ2xpbWFnZXNpbmsgX3JlbmRlcigpcyB0ZXh0dXJlIG4KCSAgMy4gZ2xpbWFnZXNpbmsgdXBsb2FkcyB0ZXh0dXJlIG4rMQoJICAzLjEgZ2x1cGxvYWQgZnJlZSBwcmV2aW91cyBidWZmZXIgd2hpY2ggZGVsZXRlcyB0ZXh0dXJlIG4KCSAgMy4yIGdsdXBsb2FkIGhvbGRzIGJ1ZmZlciBuKzEKCSAgNC4gZ2x3aW5kb3cgcmVzaXplL2V4cG9zZQoJICA1LiBnbGltYWdlc2luayByZWRyYXdzIHdpdGggdGV4dHVyZSBuCgkgIFRoZSByYWNlIGlzIHRoYXQgdGhlIGJ1ZmZlciBuICh0aGUgb25lIHVzZWQgZm9yIHJlZHJhd2luZykgaXMgZnJlZWQgYXMgc29vbiBhcwoJICB0aGUgYnVmZmVyIG4rMSBhcnJpdmVzLiAgVGhlcmUgY291bGQgYmUgYW55IGFtb3VudCBvZiB0aW1lIGFuZCBudW1iZXIgb2YKCSAgcmVkcmF3cyBiZXR3ZWVuIHRoaXMgZXZlbnQgYW5kIHdoZW4gYnVmZmVyIG4rMSBpcyBhY3R1YWxseSByZW5kZXJlZCBhbmQgdGh1cwoJICByZXBsYWNlcyBidWZmZXIgbiBhcyB0aGUgcmVkcmF3IHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc0MAoKMjAxNC0wOS0yMSAyMTozMDo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgQVBJIHRvIHJldHJlaXZlIHRoZSB0aHJlYWQgdGhhdCBjb250ZXh0IGlzIGFjdGl2ZSBpbgoKMjAxNC0wOS0xOSAxNTozMjozMyArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2w6IFJlbW92ZWQgdW5yZWFjaGFibGUgYnJlYWssIHVudXNlZCB2YXJpYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2OTU3CgoyMDE0LTA5LTE5IDE0OjM2OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEZpeCBlbmNvZGVyIHRvIHdvcmsgb24gaU9TCgkgIGlPUyBoYXMgc3BlY2lhbCBzdHJpZGUgcmVxdWlyZW1lbnRzIHRoYXQgd2UgZG9uJ3Qga25vdyB5ZXQsIHNvIGNvcHkKCSAgaW5wdXQgYnVmZmVycyBpbnRvIGJ1ZmZlcnMgYWxsb2NhdGVkIGJ5IGlPUyBmb3Igbm93LgoJICBMYXRlciB3ZSBzaG91bGQgY2hlY2sgdGhlIHN0cmlkZSBhbmQgcHJvYmFibHkgcHJvdmlkZSBhIGJ1ZmZlciBwb29sIGZvciB0aGVzZQoJICBidWZmZXJzIHNvIHVwc3RyZWFtIGNhbiBkaXJlY3RseSB3cml0ZSBpbiB0aGVyZS4KCjIwMTQtMDktMTkgMTQ6MzI6NDYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IFdlIG5lZWQgdG8gbWFwIHRoZSBjb3JlbWVkaWEgYnVmZmVycyBpbiBub24tcmVhZG9ubHkgbW9kZQoJICBPdXIgYnVmZmVycyBjbGFpbSB0byBiZSB3cml0YWJsZSBzbyBvdGhlciBlbGVtZW50cyBleHBlY3QgdG8gYmUgYWJsZQoJICB0byB3cml0ZSB0aGVyZSB3aXRob3V0IGxvc2luZyB0aGVpciBjaGFuZ2VzLgoKMjAxNC0wOS0xOCAxODoxNjo1OSArMDIwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbG5AaWdhbGlhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgY2xpZW50IG11dGV4IGJlZm9yZSBlbnRlcmluZyB0aGUgcmV0cnlfZmFpbG92ZXIgYmxvY2sKCSAgVGhpcyBpcyBjb25zaXN0ZW50IHdpdGggdGhlIGNhc2Ugd2hlcmUgdGhlIGJsb2NrIGV4ZWN1dGlvbiBpcwoJICB0cmlnZ2VyZWQgYnkgdGhlIGdvdG8gaW52b2tlZCBhZnRlciB0aGUgY3VycmVudF92YXJpYW50IHVwZGF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjkxOQoKMjAxNC0wOS0xMiAwMjozNjo0NyAtMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOS0xMiAwMjozNTo0NCAtMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogc3luY2hyb25pemUgd2l0aCB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgdG8gc2lnbmFsIGl0IHRvIGNvbnRpbnVlCgkgIElmIEVPUyBvciBFUlJPUiBoYXBwZW5zIGJlZm9yZSB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgaGFzIHJlYWNoZWQgaXRzCgkgIGdfY29uZF93YWl0KCkgY2FsbCwgdGhlbiB0aGUgZ19jb25kX3NpZ25hbCBkb2Vzbid0IGhhdmUgYW55IGVmZmVjdCBhbmQKCSAgdGhlIGRvd25sb2FkIGxvb3AgdGhyZWFkIHN0dWNrcyBsYXRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTY2MwoKMjAxNC0wOC0yOSAxMjozODoxMiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBzeW5jaHJvbml6ZSB3aXRoIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCB0byBzaWduYWwgaXQgdG8gY29udGludWUKCSAgSWYgRU9TIG9yIEVSUk9SIGhhcHBlbnMgYmVmb3JlIHRoZSBkb3dubG9hZCBsb29wIHRocmVhZCBoYXMgcmVhY2hlZCBpdHMKCSAgZ19jb25kX3dhaXQoKSBjYWxsLCB0aGVuIHRoZSBnX2NvbmRfc2lnbmFsIGRvZXNuJ3QgaGF2ZSBhbnkgZWZmZWN0IGFuZAoJICB0aGUgZG93bmxvYWQgbG9vcCB0aHJlYWQgc3R1Y2tzIGxhdGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NjYzCgoyMDE0LTA5LTE3IDE3OjI3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggY2xlYXJpbmcgb2YgZW9zIHN0YXRlIGluIHBhZHMKCSAgVGhlIGludGVybmFsIHBhZCBzdGlsbCBrZWVwcyBpdHMgRU9TIGZsYWcgYW5kIGV2ZW50IGFzIGl0IGNhbiBiZSBhc3NpZ25lZAoJICBhZnRlciB0aGUgZmx1c2gtc3RhcnQvc3RvcCBwYWlyIGlzIHNlbnQuIFRoZSBFT1MgaXMgYXNzaWduZWQgZnJvbSB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCBzbyB0aGlzIGlzIHJhY3kuCgkgIFRvIGJlIHN1cmUgdG8gY2xlYXIgaXQsIGl0IGhhcyB0byBiZSBkb25lIGFmdGVyIHNldHRpbmcgdGhlIHNvdXJjZSB0byBSRUFEWSB0bwoJICBiZSBzdXJlIHRoYXQgaXRzIHN0cmVhbWluZyB0aHJlYWQgaXNuJ3QgcnVubmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0xNyAxNzoyNzoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IGNsZWFyaW5nIG9mIGVvcyBzdGF0ZSBpbiBwYWRzCgkgIFRoZSBpbnRlcm5hbCBwYWQgc3RpbGwga2VlcHMgaXRzIEVPUyBmbGFnIGFuZCBldmVudCBhcyBpdCBjYW4gYmUgYXNzaWduZWQKCSAgYWZ0ZXIgdGhlIGZsdXNoLXN0YXJ0L3N0b3AgcGFpciBpcyBzZW50LiBUaGUgRU9TIGlzIGFzc2lnbmVkIGZyb20gdGhlIHN0cmVhbWluZwoJICB0aHJlYWQgc28gdGhpcyBpcyByYWN5LgoJICBUbyBiZSBzdXJlIHRvIGNsZWFyIGl0LCBpdCBoYXMgdG8gYmUgZG9uZSBhZnRlciBzZXR0aW5nIHRoZSBzb3VyY2UgdG8gUkVBRFkgdG8KCSAgYmUgc3VyZSB0aGF0IGl0cyBzdHJlYW1pbmcgdGhyZWFkIGlzbid0IHJ1bm5pbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYwMTIKCjIwMTQtMDktMTcgMTQ6NTE6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCBjbGVhcmluZyBvZiBlb3Mgc3RhdGUgaW4gcGFkcwoJICBUaGUgaW50ZXJuYWwgcGFkIHN0aWxsIGtlZXBzIGl0cyBFT1MgZmxhZyBhbmQgZXZlbnQgYXMgaXQgY2FuIGJlIGFzc2lnbmVkCgkgIGFmdGVyIHRoZSBmbHVzaC1zdGFydC9zdG9wIHBhaXIgaXMgc2VudC4gVGhlIEVPUyBpcyBhc3NpZ25lZCBmcm9tIHRoZSBzdHJlYW1pbmcKCSAgdGhyZWFkIHNvIHRoaXMgaXMgcmFjeS4KCSAgVG8gYmUgc3VyZSB0byBjbGVhciBpdCwgaXQgaGFzIHRvIGJlIGRvbmUgYWZ0ZXIgc2V0dGluZyB0aGUgc291cmNlIHRvIFJFQURZIHRvCgkgIGJlIHN1cmUgdGhhdCBpdHMgc3RyZWFtaW5nIHRocmVhZCBpc24ndCBydW5uaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MDEyCgoyMDE0LTA5LTE4IDE3OjQ5OjQ2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IExldCB0aGUgZW5jb2RlciBhdXRvbWF0aWNhbGx5IGNob29zZSBhIGgyNjQgbGV2ZWwKCSAgV2Ugc2hvdWxkIG5lZ290aWF0ZSB0aGVzZSB0aGluZ3MgdmlhIGNhcHMuLi4KCjIwMTQtMDktMTggMTM6NDU6MzMgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIDAgaW5zdGVhZCBvZiBHX01BWERPVUJMRSBhcyB0aGUgbWF4IGtleWZyYW1lIGludGVydmFsCgkgIDAgbWVhbnMgbm8gbGltaXQsIHdoaWNoIHdhcyBtZWFudCBoZXJlIHdpdGggR19NQVhET1VCTEUgcHJvYmFibHkuCgoyMDE0LTA5LTE4IDEzOjQyOjI0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IEV4cGVjdGVkIGR1cmF0aW9uIGlzIHN1cHBvc2VkIHRvIGJlIHRoZSBkdXJhdGlvbiBvZiB0aGUgc3RyZWFtLCBub3QgYSBmcmFtZQoJICBKdXN0IGRvbid0IHNldCBpdCBmb3Igbm93LCBpdCBpc24ndCByZWFsbHkgbmVlZGVkLgoKMjAxNC0wOS0xOCAxMTozOTo1MyArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogYWRkIHVuaXQgdGVzdCBmb3Igc2VxdWVuY2UtbGF5ZXIgcGFyc2luZwoJICBDaGVjayB0aGF0IGEgc2VxdWVuY2UtbGF5ZXIgaGVhZGVyIGlzIHN1Y2Nlc3NmdWxseSBwYXJzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzEKCjIwMTQtMDktMTggMTE6NDk6MTMgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IHRha2UgY2FyZSBvZiBlbmRpYW5uZXNzIHdoZW4gcGFyc2luZyBzZXF1ZW5jZS1sYXllcgoJICBzZXF1ZW5jZS1sYXllciBpcyBzZXJpYWxpemVkIGluIGxpdHRsZS1lbmRpYW4gYnl0ZSBvcmRlciBleGNlcHQgZm9yCgkgIFNUUlVDVF9DIHdoaWNoIGlzIHNlcmlhbGl6ZWQgaW4gYmlnLWVuZGlhbiBieXRlIG9yZGVyLgoJICBCdXQgc2luY2UgU1RSVUNUX0EgYW5kIFNUUlVDVF9CIGZpZWxkcyBhcmUgZGVmaW5lZCBhcyB1bnNpZ25lZCBpbnQgbXNiCgkgIGZpcnN0LCB3ZSBoYXZlIHRvIHBhc3MgdGhlbSBhcyBiaWctZW5kaWFuIHRvIHRoZWlyIHBhcnNpbmcgZnVuY3Rpb24uIFNvCgkgIHdlIGJhc2ljYWxseSB1c2UgdGVtcG9yYXJ5IGJ1ZmZlcnMgdG8gY29udmVydCB0aGVtIGluIGJpZy1lbmRpYW4uCgkgIFNlZSBTTVBURSA0MjFNIEFubmV4IEogYW5kIEwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NzEKCjIwMTQtMDktMTggMTM6MTE6MDUgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICB2dGVuYzogUHJvcGVybHkgaGFuZGxlIGtleWZyYW1lcwoJICBFc3BlY2lhbGx5IHNldCB0aGUgU1lOQ19QT0lOVCBmbGFnIG9uIGtleWZyYW1lcy4KCjIwMTQtMDktMTggMTQ6MjQ6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZW1vdmVkIGFuIHVud2FudGVkIGluaXRpYWxpemF0aW9uIGFuZCBhIHZhcmlhYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NjMKCjIwMTQtMDktMTcgMTI6MjQ6MzkgKzAyMDAgIEplcm9tZSBMYWhldXJ0ZSA8amxhaGV1cnRlQHF1aXZpZGkuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9CVUlMRC50eHQ6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvQ01ha2VMaXN0cy50eHQ6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogUG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjI4MwoKMjAxNC0wOS0xOCAxMjo1MzoxMSArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZWQgcmVkdW5kYW50IGluaXRpYWxpemF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY4NTMKCjIwMTQtMDktMTcgMTU6NTA6MjMgKzA1MzAgIEFudWogSmFpc3dhbCA8YW51ai5qYWlzd2FsQHNhbXN1bmcuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBsb2dpY2FsIGRpc2p1bmN0aW9uIGNvbnNlY3V0aXZlIHJldHVybiwgYnJlYWsgdW5uZWNlc3NhcnkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjc5MAoKMjAxNC0wOS0xNyAxMTo0OToyMiArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGVuYWJsZSBoZWFkZXItZm9ybWF0IGNvbnZlcnNpb24KCSAgSW4gZmFjdCB3ZSBzdXBwb3J0IGhlYWRlci1mb3JtYXQgY29udmVyc2lvbiB3aGljaCBpcyBkb25lIGluCgkgIHVwZGF0ZV9jYXBzKCkgbWV0aG9kLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2Nzg2CgoyMDE0LTA5LTE4IDEwOjMwOjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxhdGlvbgoKMjAxNC0wOS0xOCAwOTo0NzowNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBIYW5kbGUgMC8xIGZyYW1lcmF0ZXMgY29ycmVjdGx5IGJ5IG5vdCBjYWxjdWxhdGluZyB0aGVpciBmcmFtZSBkdXJhdGlvbgoKMjAxNC0wOS0xNyAxNzozNzoxMiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBGaXggc29tZSBjb21waWxlciB3YXJuaW5ncyB3aXRoIG5ld2VyIGNsYW5nCgoyMDE0LTA5LTE3IDE3OjEwOjU4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IFByZXBhcmUgZW5jb2RlciBhZnRlciBzZXR1cAoJICBUaGlzIHdpbGwgYWxsb3cgZW5jb2RpbmcgdG8gaGFwcGVuIGZhc3RlciBvbiB0aGUgZmlyc3QgZnJhbWUuCgoyMDE0LTA5LTE3IDE3OjA4OjU3ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IE9ubHkgZHJhaW4gdGhlIGVuY29kZXIgaW4gOjpmaW5pc2goKSwgbm90IG9uIGV2ZXJ5IGZyYW1lCgkgIE90aGVyd2lzZSBxdWFsaXR5IGFuZCBiaXRyYXRlIHdpbGwgYmUgYmFkLgoKMjAxNC0wOS0xNyAxNTozOToyNiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBFcnJvciBvdXQgaWYgZW5jb2RpbmcgcmV0dXJuZWQgYW4gZXJyb3IKCSAgT3RoZXJ3aXNlIHdlIHdpbGwganVzdCBjb250aW51ZSBjb25zdW1pbmcgZnJhbWVzIHVudGlsIGFsbCBtZW1vcnkgaXMgZmlsbGVkCgkgIHVwIGFuZCB0aGUgYXBwIGNyYXNoZXMuCgoyMDE0LTA5LTE3IDE0OjU2OjA1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IENoZWNrIGZvciBlcnJvcnMgZnJvbSBWVENvbXByZXNzaW9uU2Vzc2lvbkNvbXBsZXRlRnJhbWVzKCkKCjIwMTQtMDktMTcgMTQ6NTU6MjQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogUHJvcGVybHkgc2NhbGUgdGltZXN0YW1wcyBmb3IgdGhlIEFQSSBhbmQgc2V0IGludmFsaWQgdmFsdWVzCgoyMDE0LTA5LTE3IDE0OjU0OjM5ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IFByb3Blcmx5IHNjYWxlIHRpbWVzdGFtcHMgZm9yIHRoZSBBUEkgYW5kIHNldCBpbnZhbGlkIHZhbHVlcwoKMjAxNC0wOS0xNyAxMzoxOTowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkgIGFwcGxlbWVkaWE6IFJlbW92ZSBvbGQgY29kZSB0aGF0IGlzIG9mIG5vIHVzZSBhbnltb3JlCgoyMDE0LTA5LTE2IDE3OjM4OjUzICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZm9yZ2Ugc2VxdWVuY2UtbGF5ZXIgZnJvbSBzZXFfaGRyIGluc3RlYWQgb2Ygc2VxX2xheWVyCgkgIElmIHdlIGRvbid0IGhhdmUgYSBzZXFfbGF5ZXJfYnVmZmVyLCB3ZSBhbHNvIGRvbid0IGhhdmUgYSB2YWxpZAoJICBzZXFfbGF5ZXIgYmVjYXVzZSB0aGVyZSBhcmUgc2V0IHRvZ2V0aGVyIGluCgkgIGdzdF92YzFfcGFyc2VfaGFuZGxlX3NlcV9sYXllcigpLgoJICBTbyB3aGVuIG91dHB1dCBoZWFkZXIgZm9ybWF0IGlzIHNlcXVlbmNlLWxheWVyIGFuZCB3aGVuIHdlIGRvbid0IGhhdmUgYQoJICBzZXFfbGF5ZXJfYnVmZmVyLCB3ZSBmb3JnZSBvbmUgZnJvbSBzZXFfaGRyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzgxCgoyMDE0LTA5LTE3IDEwOjM5OjI2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBhcHBsZW1lZGlhOiBVbmNvbmRpdGlvbmFsbHkgdXNlIFZpZGVvVG9vbGJveCBvbiBpT1MgaWYgYXZhaWxhYmxlCgkgIEJlY2F1c2Ugd2UgZG8gd2VhayBsaW5raW5nIG5vdyB3ZSBjYW4gYWx3YXlzIGNvbXBpbGUgaXQgaW4gYW5kIGNoZWNrIGF0CgkgIHJ1bnRpbWUgaWYgaXQgaXMgYWN0dWFsbHkgYXZhaWxhYmxlIG9yIG5vdC4KCjIwMTQtMDktMTcgMTA6Mzg6MjAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IERvIHdlYWsgbGlua2luZyB3aXRoIHRoZSBWaWRlb1Rvb2xib3ggZnJhbWV3b3JrCgkgIEl0IGRvZXMgbm90IGV4aXN0IG9uIG9sZGVyIE9TWCBhbmQgaU9TIGJ1dCB3ZSBzdGlsbCB3YW50IHRvCgkgIGJlIGFibGUgdG8gdXNlIGl0IHdoZW4gaXQncyBhdmFpbGFibGUuCgoyMDE0LTA5LTE2IDEyOjA2OjM1ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGRvIG5vdCBsZWFrIGJ1ZmZlciBwb29sIGluIGVycm9yIGNhc2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczNQoKMjAxNC0wOS0xNiAxNTo1OTo1OCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGZpeCBzZXF1ZW5jZS1sYXllci9mcmFtZS1sYXllciBlbmRpYW5uZXNzCgkgIFNlcXVlbmNlLWxheWVyIGFuZCBmcmFtZS1sYXllciBhcmUgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUKCSAgb3JkZXIgZXhjZXB0IGZvciBTVFJVQ1RfQyBhbmQgZnJhbWVkYXRhIGZpZWxkcyBhcyBkZXNjcmliZWQgaW4gU01QVEUgNDIxTSBBbm5leAoJICBMLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzUwCgoyMDE0LTA5LTE2IDE2OjUxOjI4ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IFBvcnQgdG8gR3N0VmlkZW9FbmNvZGVyIGJhc2UgY2xhc3MKCjIwMTQtMDktMTYgMTY6MTM6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICB2dGVuYzogVXNlIGNvcnJlY3QgaW5zdGFuY2Ugc3RydWN0IHNpemUKCjIwMTQtMDktMTYgMTU6NDg6MTEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIHZhbHVlcyBvZiB0eXBlICdPU1N0YXR1cycgc2hvdWxkIG5vdCBiZSB1c2VkIGFzIGZvcm1hdCBhcmd1bWVudHM7IGFkZCBhbiBleHBsaWNpdCBjYXN0IHRvICdpbnQnIGluc3RlYWQgWy1XZm9ybWF0XQoKMjAxNC0wOS0xNiAxNTowMjo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBQb3J0IHRvIHRoZSByZWFsIFZpZGVvVG9vbGJveCBBUEkgaW5zdGVhZCBvZiB1c2luZyBvdXIgZGxvcGVuKCkgd3JhcHBlcgoJICBJdCdzIGEgcHVibGljIGZyYW1ld29yayBzaW5jZSBhIGxvbmcgdGltZS4KCjIwMTQtMDktMTYgMTE6NDI6MzQgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IGRvIG5vdCBsZWFrIHBvb2wgaW4gZXJyb3IgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMgoKMjAxNC0wOS0xNiAxMTo0MzowMiArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGRlY29kZXI6IGRvIG5vdCBsZWFrIHBvb2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjczMwoKMjAxNC0wOS0xNiAxMTo0MTo0MyArMDIwMCAgT2dueWFuIFRvbmNoZXYgPG9nbnlhbkBheGlzLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgZ2x0ZXN0c3JjOiBkbyBub3QgbGVhayBwb29sIGluIGVycm9yIGNhc2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY3MzAKCjIwMTQtMDktMTYgMTE6NDI6MTMgKzAyMDAgIE9nbnlhbiBUb25jaGV2IDxvZ255YW5AYXhpcy5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogZG8gbm90IGxlYWsgcG9vbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzMxCgoyMDE0LTA5LTE2IDExOjQxOjE2ICswMjAwICBPZ255YW4gVG9uY2hldiA8b2dueWFuQGF4aXMuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogZG8gbm90IGxlYWsgcG9vbCBpbiBlcnJvciBjYXNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NzI5CgoyMDE0LTA5LTE2IDEzOjIxOjIyICswNTMwICBWaW5lZXRoIFQgTSA8dmluZWV0aC50bUBzYW1zdW5nLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogbW9kaWZ5IHdyb25nIHBhY2tldGl6ZWQgbW9kZSBsb2dpYwoJICBwYWNrZXRpemVkIG1vZGUgaXMgYmVpbmcgc2V0IHdoZW4gZnJhbWVyYXRlIGlzIGJlaW5nIHNldAoJICB3aGljaCBpcyBub3QgY29ycmVjdC4gQ2hhbmdpbmcgdGhlIHNhbWUgYnkgY2hlY2tpbmcgdGhlCgkgIGlucHV0IHNlZ2VtZW50IGZvcm1hdC4gSWYgaW5wdXQgc2VnbWVudCBpcyBpbiBUSU1FIGl0IGlzCgkgIFBhY2tldGl6ZWQsIGFuZCBpZiBpdCBpcyBpbiBCWVRFUyBpdCBpcyBub3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzYyNTIKCjIwMTQtMDktMTYgMTE6MjQ6MzcgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmM6CgkgIHdlYnBkZWM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTQtMDktMTYgMTM6MTk6MjUgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBtb2RpZnkgd3JvbmcgcGFja2V0aXplZCBtb2RlIGxvZ2ljCgkgIHBhY2tldGl6ZWQgbW9kZSBpcyBiZWluZyBzZXQgd2hlbiBmcmFtZXJhdGUgaXMgYmVpbmcgc2V0CgkgIHdoaWNoIGlzIG5vdCBjb3JyZWN0LiBDaGFuZ2luZyB0aGUgc2FtZSBieSBjaGVja2luZyB0aGUKCSAgaW5wdXQgc2VnZW1lbnQgZm9ybWF0LiBJZiBpbnB1dCBzZWdtZW50IGlzIGluIFRJTUUgaXQgaXMKCSAgUGFja2V0aXplZCwgYW5kIGlmIGl0IGlzIGluIEJZVEVTIGl0IGlzIG5vdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjI1MgoKMjAxNC0wOS0xNiAwMToxNTozMSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogQ29tcGFyZSB0aGUgY29ycmVjdCBsb29wIHZhcmlhYmxlcwoKMjAxNC0wOS0xNSAxNTo0Mjo0MSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIHZ0ZGVjOiBObyBuZWVkIHRvIHNldCBrVlRWaWRlb0RlY29kZXJTcGVjaWZpY2F0aW9uX0VuYWJsZUhhcmR3YXJlQWNjZWxlcmF0ZWRWaWRlb0RlY29kZXIgb24gaU9TCgoyMDE0LTA5LTE1IDE1OjM2OjQ0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFuZCBtYWtlIHRoZSBwcmVwcm9jZXNzb3IgY2hlY2sgd29yayBwcm9wZXJseQoKMjAxNC0wOS0xNSAxNToyNTo0NiArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBEbyB0aGUgQU1fQ09ORElUSU9OQUwoKSBhZnRlciBmaW5hbGx5IHNldHRpbmcgdGhlIHZhcmlhYmxlCgoyMDE0LTA5LTE1IDE1OjEyOjMxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBEb24ndCBpbmNsdWRlIFZpZGVvVG9vbGJveCBvbiBpT1MgPCA4LjAKCSAgSXQncyBwcml2YXRlIEFQSSBhbmQgZG9lcyBub3Qgd29yayB3aXRob3V0IGEgamFpbGJyb2tlbiBkZXZpY2UuCgoyMDE0LTA5LTE1IDEzOjMzOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWxzbyByZWZldGNoIHRoZSBwbGF5bGlzdCBhZnRlciB0aGUgZmlyc3QgZnJhZ21lbnQgZmFpbHVyZQoJICBQcmV2aW91c2x5IHdlIG9ubHkgcmVmZXRjaGVkIHRoZSBwbGF5bGlzdCBpZiBkb3dubG9hZGluZyBhIGZyYWdtZW50CgkgIGhhcyBmYWlsZWQgb25jZS4gV2Ugc2hvdWxkIGFsc28gZG8gdGhhdCBpZiBpdCBmYWlsZWQgYSBzZWNvbmQgb3IgdGhpcmQgdGltZSwKCSAgY2hhbmNlcyBhcmUgdGhhdCB0aGUgcGxheWxpc3Qgd2FzIHVwZGF0ZWQgbm93IGFuZCBjb250YWlucyBuZXcgVVJJcy4KCjIwMTQtMDktMTUgMTE6NTk6MzIgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaDogQWN0dWFsbHkgcmV0cnkgMyB0aW1lcyBhcyBhZHZlcnRpc2VkIGluc3RlYWQgb2YgMgoKMjAxNC0wOS0xNSAxMTo1OToxOSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBBY3R1YWxseSByZXRyeSAzIHRpbWVzIGFzIGFkdmVydGlzZWQgaW5zdGVhZCBvZiAyCgoyMDE0LTA5LTEzIDIwOjQ5OjE2ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IEZpeCBjb21waWxhdGlvbiBvbiBpT1MgOC4wCgoyMDE0LTA5LTExIDE0OjM2OjMxICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZml4IG1hbGZvcm1lZCBzZXF1ZW5jZSBsYXllciBoZWFkZXIgYW5kIFNUUlVDVF9DCgkgIFRoaXMgY29tbWl0IGZpeCBzZXZlcmFsIGlzc3VlcyB3aXRoIHNlcXVlbmNlIGxheWVyIGhlYWRlciBmb3JnaW5nIG9uCgkgIHVwZGF0ZV9jYXBzKCk6CgkgIC0gMHgwMDAwMDAwNCB1bnNpZ25lZCBpbnRlZ2VyIGlzIGJlZm9yZSBTVFJVQ1RfQy4KCSAgLSBTZXQgcmVzZXJ2ZWQgYml0cyBvZiBTVFJVQ1RfQyB0byB0aGVpciB2YWx1ZXMgZm9yIHNpbXBsZS9tYWluCgkgIHByb2ZpbGVzIGluIHNlcXVlbmNlIGxheWVyIGhlYWRlciBmb3JtYXQgYW5kIEFTRiBoZWFkZXIgZm9ybWF0LgoJICAtIFNlcXVlbmNlIGxheWVyIHNoYWxsIGJlIHJlcHJlc2VudGVkIGFzIGEgc2VxdWVuY2Ugb2YgMzIgYml0cyB1bnNpZ25lZAoJICBpbnRlZ2VycyBhbmQgc2hhbGwgYmUgc2VyaWFsaXplZCBpbiBsaXR0bGUtZW5kaWFuIGJ5dGUgb3JkZXIgZXhjZXB0CgkgIGZvciBTVFJVQ1RfQyB3aGljaCBzaGFsbCBiZSBzZXJpYWxpemVkIGluIGJpZy1lbmRpYW4gYnl0ZS1vcmRlci4KCSAgU2VlIFNNUFRFIDQyMU0gQW5uZXggTCBmb3IgbW9yZSBkZXRhaWxzIGFib3V0IHNlcXVlbmNlIGxheWVyIGZvcm1hdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQ3NAoKMjAxNC0wOS0xMiAxNDo0OTo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogVXNlIHByb3BlciB2YXJpYWJsZSBmb3IgZGVsaXZlcnkgc3lzdGVtCgkgIFdlIHdhbnQgdG8gY2hlY2sgdGhlIGRlbGl2ZXJ5IHN5c3RlbSBpcyBJU0RCVCAoYW5kIG5vdCB0aGUgbW9kdWxhdGlvbgoJICB3aGljaCB3ZSBjaGVjayBsYXRlciBpbiB0aGF0IGNhc2UpLgoJICBDSUQgIzEyMzg0MzkKCjIwMTQtMDktMTIgMDk6MzA6MDQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdHJpdmlhbCBjb2Rpbmcgc3R5bGUgaXNzdWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjUzMQoKMjAxNC0wOS0xMSAxODozMzoyMCArMDIwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICB0c2RlbXV4OiBmaXggb3ZlcmZsb3cgb2YgcGFja2V0X2xlbmd0aCBmaWVsZCBvZiBQRVNIZWFkZXIKCSAgcGFja2V0X2xlbmd0aCBpcyBkZWZpbmVkIGFzIGEgZ3VpbnQxNiBpbiB0aGUgUEVTSGVhZGVyIHN0cnVjdHVyZS4gVGhpcwoJICBkZWZpbml0aW9uIG1hdGNoIHRoZSBzcGVjaWZpY2F0aW9uLiBCdXQgc2luY2Ugd2UgYWRkIDYgYnl0ZXMgdG8gdGhlCgkgIHBhY2tldF9sZW5ndGggdmFsdWUgKGxlbmd0aCBvZiBzdGFydF9jb2RlICsgc3RyZWFtX2lkICsgcGFja2V0X2xlbmd0aCksCgkgIHdlIGNhbiBvdmVyZmxvdyB0aGUgZ3VpbnQxNiB3aGVuIHRoZSB2YWx1ZSBpbiB0aGUgUEVTIGhlYWRlciBpcyBncmVhdGVyCgkgIHRoYW4gNjU1MjkuCgkgIFNvIHVzZSBhIGd1aW50MzIgaW5zdGVhZCBvZiBhIGd1aW50MTYgdG8gYXZvaWQgb3ZlcmZsb3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzY0OTAKCjIwMTQtMDktMTAgMTU6Mzk6NDQgLTAzMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBpbXByb3ZlIHBvc2l0aW9uIGRldGVjdGlvbiB3aGVuIGEgZG93bmxvYWQgcmVzdGFydAoJICBRdWVyeSBvdGhlciBzcmMgcGFkcyBiZWZvcmUgZmFsbGluZyBiYWNrIHRvIHRoZSBwb3NpdGlvbiBvZiB0aGUgbGFzdAoJICBrbm93biBwdXNoZWQgc2VnbWVudCAod2hpY2ggY2FuIGJlIGZhciBhaGVhZCBpbiB0aW1lKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyMQoKMjAxNC0wOS0xMCAxNTo0MzowNSArMDIwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcHJvdmUgcG9zaXRpb24gZGV0ZWN0aW9uIHdoZW4gYSBkb3dubG9hZCByZXN0YXJ0CgkgIFF1ZXJ5IG90aGVyIHNyYyBwYWRzIGJlZm9yZSBmYWxsaW5nIGJhY2sgdG8gdGhlIHBvc2l0aW9uIG9mIHRoZSBsYXN0CgkgIGtub3duIHB1c2hlZCBzZWdtZW50ICh3aGljaCBjYW4gYmUgZmFyIGFoZWFkIGluIHRpbWUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2NDIxCgoyMDE0LTA5LTExIDE2OjIxOjMwICswNDAwICBCZWxvem9yb3YgU2VtZW4gPHNraW1pbm9rREBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkgIG1wZWdwc211eDogZml4IG1lbW9yeSBsZWFrIHdoZW4gY29udmVydGluZyBILjI2NCBhdmMgdG8gYnl0ZS1zdHJlYW0gZm9ybWF0CgkgIEZpeCBtZW1vcnkgbGVhayBmb3IgaW5wdXQgc3RyZWFtIHdpdGggY2FwcyAidmlkZW8veC1oMjY0LHN0cmVhbS1mb3JtYXQ9YXZjIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjQyNgoKMjAxNC0wOS0xMCAxOToyNzoyNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogYWxsb2NhdGUgYnl0ZSB3cml0ZXIgb24gc3RhY2sKCjIwMTQtMDktMTAgMTk6MTk6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZtdXg6IGFsbG9jYXRlIGJ5dGUgcmVhZGVycyBvbiB0aGUgc3RhY2sKCjIwMTQtMDktMTAgMTA6NTg6MDMgKzAyMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBjbGVhciBtdXRleCByZXNvdXJjZXMgaW4gZGlzcG9zZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM2MzkwCgoyMDE0LTA5LTEwIDE3OjI0OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgRml4IHVwIG9uZS1lbGVtZW50IGxpc3RzIGluIHRlbXBsYXRlIGNhcHMKCjIwMTQtMDktMTAgMTY6Mzg6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJvZ3VzIEJHUkEgY2FwcwoJICBSZW1vdmUgMC4xMC1zdHlsZSBlbmRpYW5uZXNzLypfbWFzay9icHAvZGVwdGggZmllbGRzLgoKMjAxNC0wOS0xMCAxOToxNjo1MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBkb24ndCBBQ19TVUJTVCBpbnRlcm1lZGlhdGUgdmFsdWVzCgoyMDE0LTA5LTA5IDEyOjAxOjQ3ICswMjAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIEdzdEdMV2luZG93OiBJbnRyb2R1Y2UgbmF2aWdhdGlvbiB0aHJlYWQKCSAgVGhpcyB0aHJlYWQgZGlzcGF0Y2hlcyBuYXZpZ2F0aW9uIGV2ZW50cy4gSXQgaXMgbmVlZGVkIHRvIGF2b2lkIGRlYWRsb2NrcwoJICBiZXR3ZWVuIHdpbmRvdyBiYWNrZW5kIHRocmVhZHMgdGhhdCBlbWl0IG5hdmlnYXRpb24gZXZlbnRzIChlLmcuIFgxMS9HTWFpbkxvb3AKCSAgdGhyZWFkKSBhbmQgY29uc3VtZXJzIG9mIG5hdmlnYXRpb24gZXZlbnRzIHN1Y2ggYXMgZ2xpbWFnZXNpbmssIHNlZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNjYxCgkgIEdzdEdsV2luZG93X3gxMSB0aHJlYWQgaXMgY2hhbmdlZCB0byBpbnZva2UgdGhlIG5hdmlnYXRpb24gdGhyZWFkIGZvciBuYXZpZ2F0aW9uCgkgIGRpc3BhdGNoaW5nLCBpbnN0ZWFkIG9mIGVtaXRpbmcgdGhlIGV2ZW50IGl0c2VsZi4gT3RoZSBiYWNrZW5kcyBiZXNpZGUgWDExIGRvCgkgIG5vdCBkaXNwYXRjaCBuYXZpZ2F0aW9uIGV2ZW50cyB5ZXQsIGJ1dCBzaG91bGQgdXNlIHRoaXMgdGhyZWFkIHdoZW4gZGlzcGF0Y2hpbmcKCSAgdGhlc2UgZXZlbnRzIGluIHRoZSBmdXR1cmUuCgkgIFRoZSBuYXZpZ2F0aW9uIHRocmVhZCBpcyBjdXJyZW50bHkgcGFydCBvZiBHc3RHTFdpbmRvdyBhbmQgbm90IGltcGxlbWVudGVkIGluCgkgIHNlcGFyYXRlIHN1YmNsYXNzZXMgLyBiYWNrZW5kcy4gVGhpcyB3aWxsIGJlIG5lZWRlZCBpbiB0aGUgZnV0dXJlLgoJICBnc3RfZ2xfd2luZG93X3gxMV9nZXRfc3VyZmFjZV9kaW1lbnNpb25zIGlzIGFsc28gY2hhbmdlZCB0byB1c2UgYSBjYWNoZWQgdmFsdWUKCSAgb2YgdGhlIHdpbmRvdydzIHdpZHRoLCBoZWlnaHQuIFRoZXNlIHZhbHVlcyBhcmUgbm93IHJldHJpZXZlZCBpbiB0aGUgWDExCgkgIHRocmVhZCwgZnVuY3Rpb24gZ3N0X2dsX3dpbmRvd194MTFfaGFuZGxlX2V2ZW50LiBUaGlzIGNoYW5nZSBpcyBuZWVkZWQgYmVjYXVzZQoJICBvdGhlcndpc2UgdGhlIFhHZXRXaW5kb3dBdHRyaWJ1dGVzIGdldHMgY2FsbGVkIGZyb20gdGhlIG5hdmlnYXRpb24gdGhyZWFkLAoJICBsZWFkaW5nIHRvIHhsaWIgYWJvcnRpbmcgZHVlIHRvIG11bHRpdGhyZWFkZWQgYWNjZXNzIChpZiBYSW5pdFRocmVhZHMgaXMgbm90CgkgIGNhbGxlZCBiZWZvcmUsIGFzIGlzIHRoZSBjYXNlIGZvciBnc3QtbGF1bmNoKQoKMjAxNC0wOS0wNSAxMzo1ODoxOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZXRyeSBvcGVuaW5nIHRoZSBmcm9udGVuZCBvbiBFSU5UUgoKMjAxNC0wOS0wNSAxMzozMjowOSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhc3NvcnRlZCBkb2MgJiBzcGVsbGluZyBmaXhlcwoKMjAxNC0wOS0wNyAwMTozMDoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBSZXZlcnQgImRhdGF1cmlzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBlbHNlIGlmIGNvbmRpdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAzMDI0YWU5YzM4NDkwODE3YTc2YzgzZmVhYjNjODQ3Mjk4OWNhZmFkLgoJICBUaGUgKmJ1ZiBjYW4gYmUgTlVMTCBvciBub3QgZGVwZW5kaW5nIGlmIHRoZSBjYWxsZXIgb2YgZ3N0X3BhZF9nZXRfcmFuZ2UKCSAgZnVuY3Rpb24gcHJvdmlkZWQgb3Igbm90IGEgYnVmZmVyLgoKMjAxNC0wOS0wNSAxNjoxMTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICB0ZXN0czogaGxzZGVtdXg6IGZpeCBjb21waWxhdGlvbgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gL2hvbWUvdGhpYWdvc3MvZ3N0L2hlYWQvZ3N0cmVhbWVyL2dzdC9nc3QuaDo1NDowLAoJICBmcm9tIC9ob21lL3RoaWFnb3NzL2dzdC9oZWFkL2dzdHJlYW1lci9saWJzL2dzdC9jaGVjay9nc3RjaGVjay5oOjM0LAoJICBmcm9tIGVsZW1lbnRzL2hsc2RlbXV4X20zdTguYzoyNzoKCSAgLi4vLi4vZXh0L2hscy9nc3RmcmFnbWVudGVkLmg6ODoyODogZXJyb3I6IHJlZHVuZGFudCByZWRlY2xhcmF0aW9uIG9mIOKAmGZyYWdtZW50ZWRfZGVidWfigJkgWy1XZXJyb3I9cmVkdW5kYW50LWRlY2xzXQoJICBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIChmcmFnbWVudGVkX2RlYnVnKTsKCSAgTW92ZSB0aGUgZGVmaW5pdGlvbiBvZiB0aGUgY2F0ZWdvcnkgdG8gYWZ0ZXIgdGhlIGRlY2xhcmF0aW9uLgoKMjAxNC0wOS0wNSAxMjo1NjoxMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQW5kIGZpeCBNYWtlZmlsZSB5ZXQgYWdhaW4KCjIwMTQtMDktMDUgMTI6MjU6MDEgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogSW5jbHVkZSB0aGUgbTN1OC5jIGZpbGUgZGlyZWN0bHkgaW4gdGhlIHRlc3QgYmVjYXVzZSBvZiBhbiBhdXRvbWFrZSBidWcKCSAgJCh0b3Bfc3JjZGlyKSBkb2Vzbid0IHNlZW0gdG8gd29yayB3aXRoIF9TT1VSQ0VTIGJlY2F1c2UgdGhhdCB3b3VsZCBiZSB0b28KCSAgb2J2aW91cy4KCSAgaHR0cDovL2xpc3RzLmdudS5vcmcvYXJjaGl2ZS9odG1sL2F1dG9tYWtlLzIwMTMtMDkvbXNnMDAwMDUuaHRtbAoKMjAxNC0wOS0wNSAwOTo1MzoxNSArMDUzMCAgVmluZWV0aCBUIE0gPHZpbmVldGgudG1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBGaXggaGFuZGxpbmcgb2YgNjQgYml0IGZsb2F0aW5nIHBvaW50IGRhdGEKCSAgSW4gZ3N0X2FpZmZfcGFyc2VfY3JlYXRlX2NhcHMgaWYgYW5kIGVsc2UtaWYgY29uZGl0aW9ucwoJICBhcmUgZHVwbGljYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjA5MAoKMjAxNC0wOS0wNSAwODo1MTozMCArMDIwMCAgTmljb2xhIE11cmlubyA8bmljb2xhLm11cmlub0BnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEFkZCBuZXcgcHJvcGVydHkgbWluLXN0ZGRldgoJICBmYWNlIGRldGVjdGlvbiB3aWxsIGJlIHBlcmZvcm1lZCBvbmx5IGlmIGltYWdlIHN0YW5kYXJkIGRldmlhdGlvbiBpcwoJICBncmVhdGVyIHRoYXQgbWluLXN0ZGRldi4gRGVmYXVsdCBtaW4tc3RkZGV2IGlzIDAgZm9yIGJhY2t3YXJkCgkgIGNvbXBhdGliaWxpdHkuIFRoaXMgcHJvcGVydHkgd2lsbCBhdm9pZCB0byBwZXJmb3JtIGZhY2UgZGV0ZWN0aW9uIG9uCgkgIGltYWdlcyB3aXRoIGxpdHRsZSBjaGFuZ2VzIGltcHJvdmluZyBjcHUgdXNhZ2UgYW5kIHJlZHVjaW5nIGZhbHNlCgkgIHBvc2l0aXZlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTEwCgoyMDE0LTA3LTA3IDEwOjUyOjU3ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5jOgoJKiBleHQvZ2wvZ3N0Z2x0cmFuc2Zvcm1hdGlvbi5oOgoJICBnbHRyYW5zZm9ybWF0aW9uOiBmaXggaXNzdWVzIGFuZCBleHBvc2UgbXZwIG1hdHJpeAoJICAqIGFzcGVjdCBzaG91bGQgbm90IGJlIDAgb24gaW5pdAoJICAqIHJlbmFtZSBmb3Z5IHRvIGZvdgoJICAqIGFkZCBtdnAgdG8gcHJvcGVydGllcyBhcyBib3hlZCBncmFwaGVuZSB0eXBlCgkgICogZml4IHRyYW5zZm9ybWF0aW9uIG9yZGVyLiBzY2FsZSBmaXJzdAoJICAqIGNsZWFyIGNvbG9yIHdpdGggMS4wIGFscGhhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQyMjMKCjIwMTQtMDktMDQgMjE6NDE6NTQgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgaGxzZGVtdXg6IEFsc28gZ2V0IHRoZSBtM3U4LmMgc291cmNlIGZpbGUgZnJvbSB0aGUgJCh0b3Bfc3JjZGlyKSBmb3IgdGhlIHRlc3QKCSAgU2hvdWxkIGZpeCBtYWtlIGRpc3RjaGVjayBmb3IgcmVhbCBub3cuCgoyMDE0LTA5LTA0IDE5OjAxOjQ1ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGhsc2RlbXV4OiBVc2UgJCh0b3Bfc3JjZGlyKSBpbnN0ZWFkIG9mICQodG9wX2J1aWxkZGlyKSBmb3IgdGhlIGluY2x1ZGUgcGF0aAoKMjAxNC0wOS0wNCAxODoyMTozOCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxODoyMToyNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxODoyMDo1OCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvbid0IHNlbmQgZmx1c2ggZXZlbnRzIHRvIGRlYWN0aXZhdGVkIHBhZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNjAxMgoKMjAxNC0wOS0wNCAxNzo1MjozNSArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBobHNkZW11eDogQ29tcGlsZSB0aGUgbTN1OC5jIGRpcmVjdGx5IGluc3RlYWQgb2YgcmUtdXNpbmcgdGhlIC5vIGZpbGUKCjIwMTQtMDktMDQgMTc6NTA6MTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaGxzZGVtdXhfbTN1OC5jOgoJICBobHNkZW11eDogQWRkIHVuaXQgdGVzdCBmb3IgcGFyc2luZyBvZiBNM1U4IHBsYXlsaXN0cwoJICBQb3J0ZWQgZnJvbSBodHRwczovL2dpdGh1Yi5jb20veWxhdHV5YS9nc3QtcGx1Z2lucy1iYWQKCSAgVGhpcyBzdGlsbCBoYXMgc29tZSB1bml0IHRlc3RzIGZvciBhbHRlcm5hdGl2ZSByZW5kaXRpb25zIGFuZAoJICBzZWVraW5nLCB3aGljaCBhcmUgY29tbWVudGVkIG91dCBmb3IgdGhlIHRpbWUgYmVpbmcgdW50aWwgd2UKCSAgc3VwcG9ydCB0aGVtIHByb3Blcmx5LgoKMjAxNC0wOS0wNCAxNzo0OToyMyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogUHJvcGVybHkgYXNzaWduIG9mZnNldHMgdG8gdGhlIGZpbGVzIGlmIHdlIGFjY3VtdWxhdGUgdGhlbSBpbnN0ZWFkIG9mIHJlYWRpbmcgZnJvbSB0aGUgcGxheWxpc3QKCjIwMTQtMDktMDQgMTM6Mzg6MjEgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBSZW1vdmUgdW5uZWNlc3NhcnkgZWxzZSBpZiBjb25kaXRpb24KCSAgSW4gZ3N0X2RhdGFfdXJpX3NyY19jcmVhdGUoKSwgYnVmIGNhbm5vdCBiZSBOVUxMLCBoZW5jZQoJICBlbHNlIGlmICgqYnVmICE9IE5VTEwpIHdpbGwgYmUgaW52YWxpZCBzbyByZW1vdmluZyB0aGUKCSAgZWxzZSBpZiBjb25kaXRpb24gYW5kIGFkZGluZyBhIGNoZWNrIHRvIHVucmVmZXJlbmNlIGJ1ZgoJICBpbiBlbHNlIGNvbmRpdGlvbiwganVzdCBpbiBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NjEKCjIwMTQtMDktMDIgMTg6MDY6NTMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc2ltcGxpZnkgSVNEQi1UIGxhdW5jaCBsaW5lIGV4YW1wbGUKCjIwMTQtMDktMDIgMTI6MTM6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZGVsYXkgbG9ja2luZyB0aWxsIGFjdHVhbGx5IG5lZWRlZAoJICBHZXQgcmlkIG9mIHVubmVlZGVkIGxvY2tpbmcgYXQgcHJvcCBzZXR0aW5nIGJ5IGRvaW5nCgkgIGl0IG9ubHkgd2hlbiB0dW5pbmcgdGhlIGZyb250ZW5kIGF0IF90dW5lX2ZlKCkKCjIwMTQtMDktMDIgMTI6MTE6NDQgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBNYWtlIGdldF91cmkoKSB0aHJlYWRzYWZlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU4NjEKCjIwMTQtMDktMDEgMTc6NDE6NTAgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgYW1jYXVkaW9kZWM6IFJlbW92ZSBoYWNrIGZvciBHb29nbGUgTVAzIGRlY29kZXIKCSAgVGhlIGZpcnN0IGJ1ZmZlciBkb2VzIG5vdCBjb250YWluIG1vcmUgZ2FyYmFnZSB0aGFuIGFueSBvdGhlciBNUDMgZGVjb2RlcgoJICBvdXRwdXRzIGFuZCB3ZSBkb24ndCByZWFsbHkga25vdyBob3cgbXVjaCB3ZSBoYXZlIHRvIGRyb3Agb3Igbm90LgoJICBBZnRlciB0aGlzIGNoYW5nZSB0aGUgb3V0cHV0IGhhcyB0aGUgc2FtZSBkdXJhdGlvbiBhcyB3aXRoIG1hZC4KCjIwMTQtMDktMDEgMDg6MjQ6NTcgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJICB6ZWJyYXN0cmlwZTogUmVmYWN0b3IgdG8gcmVtb3ZlIGR1cGxpY2F0ZSBjb2RlCgkgIGdzdF96ZWJyYV9zdHJpcGVfdHJhbnNmb3JtX2ZyYW1lX2lwX3BsYW5hclkKCSAgZ3N0X3plYnJhX3N0cmlwZV90cmFuc2Zvcm1fZnJhbWVfaXBfWVVZMgoJICBnc3RfemVicmFfc3RyaXBlX3RyYW5zZm9ybV9mcmFtZV9pcF9BWVVWCgkgIGFsbCBhYm92ZSAzIGZ1bmN0aW9ucyBkbyB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5IGV4Y2VwdCBmb3Igb2Zmc2V0IGFuZCBwaXhlbCBzdHJpZGUuCgkgIEhlbmNlIG1vdmluZyB0aGUgZnVuY3Rpb25hbGl0eSB0byBhIHNpbmdsZSBmdW50aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MDMyCgoyMDE0LTA4LTI5IDE4OjU1OjMyIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBkZXNjcmlwdGlvbiBmb3IgbW9kdWxhdGlvbiBwcm9wCgoyMDE0LTA4LTI5IDE3OjE2OjA5IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGFkZCBiYXNpYyBjaGVja3Mgb24gSVNEQi1UIHBhcmFtZXRlcnMKCSAgQWxzbyBhZGQgYSByb3V0aW5lIGZvciBjaGVja2luZyB3cm9uZyBkZWxzeXMvbW9kdWxhdGlvbgoJICBjb21iaW5hdGlvbnMgcmlnaHQgYmVmb3JlIHR1bmluZyAob25seSBpbXBsZW1lbnRlZCBmb3IKCSAgSVNEQi1UIGZvciBub3cpLgoKMjAxNC0wOC0yOSAxODowOTowNyAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBhZGQgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBtb2R1bGF0aW9uIHR5cGVzCgoyMDE0LTA4LTI5IDEzOjI2OjEyIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgRklYTUUgb24gX0lTREJUX0xBWUVSX0VOQUJMRUQgcHJvcAoJICBWYWxpZCB2YWx1ZXMgcmFuZ2UgZnJvbSAxIHRvIDcgYXMgc3RhdGVkLgoJICBEVFZfSVNEQlRfTEFZRVJfRU5BQkxFRCBiaXRtYXNrIGlzIGJ1aWx0IGZyb20KCSAgT1ItaW5nIDB4MSAweDIgMHg0LiBJZiBhbGwgYml0cyBhcmUgc2V0CgkgICgweDAwMDAwMTExID0gNykgaXQgbWVhbnMgYWxsIGxheWVycyBzaG91bGQgYmUKCSAgZGVtb2R1bGF0ZWQuCgoyMDE0LTA4LTI5IDE5OjI2OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiByZW1vdmUgY29kZSB0aGF0IGNhbid0IGJlIHJlYWNoZWQKCSAgSWYgdGhpcyBjb2RlIGNvdWxkIGV2ZXIgYmUgcmVhY2hlZCwgaXQgd291bGQgbGVhawoJICBtZW1vcnkgKENJRCAxMjMxOTc5KSwgYnV0IGdzdF9jYXBzX2dldF9mZWF0dXJlcygpCgkgIG5ldmVyIHJldHVybnMgTlVMTCwgc28gdGhhdCBjYW4ndCBoYXBwZW4uCgoyMDE0LTA4LTI5IDE5OjI0OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgY29kZSB0aGF0IGNhbid0IGJlIHJlYWNoZWQKCSAgSWYgdGhpcyBjb2RlIGNvdWxkIGV2ZXIgYmUgcmVhY2hlZCwgaXQgd291bGQgbGVhawoJICBtZW1vcnkgKENJRCAxMjMxOTc3KSwgYnV0IGdzdF9jYXBzX2dldF9mZWF0dXJlcygpCgkgIG5ldmVyIHJldHVybnMgTlVMTCwgc28gdGhhdCBjYW4ndCBoYXBwZW4uCgoyMDE0LTA4LTI4IDIwOjEyOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdXAgaGFuZGxpbmcgb2YgaW5wdXQgY2FwcyBjb3JuZXIgY2FzZXMKCSAgRG8gbW9yZSBlbGFib3JhdGUgdmFsaWRhdGlvbiBvZiB0aGUgaW5wdXQgY2Fwczogd2hhdCBmaWVsZHMKCSAgYXJlIHJlcXVpcmVkIGFuZC9vciBub3QgYWxsb3dlZC4gRG9uJ3QgYXNzdW1lIEFWQzMgZm9ybWF0CgkgIGlucHV0IHdpdGhvdXQgY29kZWNfZGF0YSBmaWVsZCBpcyBieXRlLXN0cmVhbSBmb3JtYXQuIEZpeAoJICB1cCBzb21lIG5vdy11bnJlYWNoYWJsZSBjb2RlIChDSUQgMTIzMjgwMCkuCgoyMDE0LTA4LTI4IDE2OjQyOjMwICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBBZGQgbWlzc2luZyBicmVhayB0byBzd2l0Y2gKCSAgQ0lEIDEyMzI4MDEKCjIwMTQtMDgtMjggMTE6Mzc6NTYgKzAzMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IFJlc2V0IG5lZ290aWF0aW9uIHN0YXRlIHdoZW4gZ29pbmcgYmFjayB0byBSRUFEWQoJICBBZnRlciBnb2luZyBiYWNrIHRvIFJFQURZIHdlIGNhbiBhY2NlcHQgbmV3IGZvcm1hdCBzZXR0aW5ncyBhZ2Fpbi4KCjIwMTQtMDgtMjIgMTU6MTg6NTkgLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU3VwcG9ydCBPcGVuU1NMIGZvciBBRVMgZGVjcnlwdGlvbiBvZiBITFMgZnJhZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM1MjQ4CgoyMDE0LTA4LTI2IDE2OjIxOjQyICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2x3dGV4dHVyZXNoYXJlLnBybzoKCSAgZ2w6IHFnbHd0ZXh0dXJlc2hhcmUgZGVtbyBmaXhlcyBhbmQgY2xlYW51cAoJICAxLiBnbGNvbnRleHRpZCBmdW5jdGlvbiBpcyByZXBsYWNlZCBieSBnc3RyZWFtZXIgZ3N0X2dsX2NvbnRleHRfbmV3X3dyYXBwZWQgLgoJICAyLiBjYWxsIGdzdF9pbml0IGJlZm9yZSBnc3RfZ2xfZGlzcGxheV9uZXcgLCBzZWVtcyBnc3RfZ2xfZGlzcGxheV9uZXcgZGVwZW5kcwoJICBvbiBnc3RfYWxsb2NhdG9yX3JlZ2lzdGVyICwgd2hpY2ggb25seSB3b3JrZWQgYWZ0ZXIgZ3N0X2luaXQgY2FsbGVkCgkgIDMuIGZsdXNoIGdzdHJlYW1lciBPcGVuR0wgY29udGV4dCBiZWZvcmUgdXNpbmcgc2hhcmVkIHRleHR1cmUsIGZpeAoJICBmbGlja2VyIHByb2JsZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzU1NjYKCjIwMTQtMDgtMjcgMTM6NDA6NDIgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBBZGQgR1NUR0xBUEkgbWFjcm8gdG8gdGhlIGRlYnVnIGNhbGxiYWNrIGZ1bmN0aW9uCgkgIEZpeGVzIHRoZSBXaW5kb3dzIGJ1aWxkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM1NTY1CgoyMDE0LTA4LTI4IDA5OjUzOjE3ICswMzAwICBCbGFrZSBUcmVncmUgPGJsYWtlLnRyZWdyZUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBDbGFtcCBvdXQgb2YgYm91bmRzIHJlc29sdXRpb25zIHRvIHByZXZlbnQgc2VnZmF1bHRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY4MDEKCjIwMTQtMDgtMjcgMTQ6NDc6MjUgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvIG5vdCBjaGVjayBmb3IgR0wvR0xVL0VHTC9HTEVTMiBsaWJzIGlmIGRpc2FibGVkIGluIGNvbmZpZ3VyYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNTUyMgoKMjAxNC0wOC0yNiAxMjozODo1MiArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBXcmFwIEtIUl9jcmVhdGVfY29udGV4dCBmbGFncyBpbiBhbiBpZmRlZgoJICBFR0xfQ09OVEVYVF9GTEFHU19LSFIgYW5kIEVHTF9DT05URVhUX09QRU5HTF9ERUJVR19CSVRfS0hSCgkgIGRvbid0IGV4aXN0IGluIHRoZSBBbmRyb2lkIE5ESy4gV3JhcCB0aGVpciB1c2FnZSBpbiBhbiAjaWZkZWYKCSAgRUdMX0tIUl9jcmVhdGVfY29udGV4dCB0byBmaXggdGhlIGJ1aWxkIHRoZXJlLgoKMjAxNC0wOC0yMSAxMjozMjoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCBjb25zaWRlciB1bmtub3duIHN0cmVhbS1mb3JtYXQgYXMgYXZjCgkgIEl0IHNob3VsZCB0cnkgdG8gdXNlIGJ5dGVzdHJlYW0gaW4gdGhlc2UgY2FzZXMgdGhhdCB0aGUgZm9ybWF0CgkgIGlzIHNldCB0byBfRk9STUFUX05PTkUgYXMgaXQgc2VlbXMgdGhhdCBpcyB3aGF0IHRoZSAnZWxzZScgY2xhdXNlCgkgIGZvciBieXRlc3RyZWFtIGNhbiBoYW5kbGUgKGJ5IGRlZmF1bHRpbmcgdG8gX0ZPUk1BVF9CWVRFU1RSRUFNKS4KCjIwMTQtMDgtMjUgMTM6MzM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHRlc3RzOiBmaXggY2FwcyBmb3IgYXZjIGZvcm1hdAoJICBJZiBpdCBoYXMgYSBjb2RlY19kYXRhIGZpZWxkLCBpdCBzaG91bGQgYWxzbyB1c2UgdGhlIHN0cmVhbS1mb3JtYXQ9YXZjIGFzCgkgIGNvZGVjX2RhdGEgZG9lc24ndCBtYWtlIHNlbnNlIG90aGVyd2lzZSBhbmQgdGhlIGRlZmF1bHQgc2hvdWxkCgkgIGJlIGJ5dGVzdHJlYW0KCjIwMTQtMDgtMjUgMTU6MjE6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSAgZG9jczogYWRkIG1wZWdwc211eCBhbmQgbXBlZ3RzbXV4CgoyMDE0LTA4LTI1IDE1OjIwOjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvbWl4ZXIueG1sOgoJICBkb2NzOiBhZGQgYXVkaW9taXhlciB0byBkb2NzCgoyMDE0LTA4LTI1IDE1OjIwOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJICBkb2NzOiBhZGQgYWlmZiBlbGVtZW50cyB0byBkb2NzCgoyMDE0LTA4LTI1IDE0OjU2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIGRvY3M6IHBsdWdpbnM6IG1pc2MgdXBkYXRlcwoKMjAxNC0wOC0yNSAxNDo0Mzo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy50eXBlczoKCSAgZG9jczogbW92ZSBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2UgZG9jcyBpbnRvIHRoZSBsaWJyYXJ5IGRvY3MKCSAgTm93IHRoYXQgd2UgaGF2ZSBkb2NzIGZvciB0aGUgbGlicy4KCjIwMTQtMDgtMjUgMTI6MjE6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICBzbmRmaWxlOiBkb24ndCBkZWNvZGUgZm9ybWF0cyB0aGF0IGFyZSBiZXR0ZXIgaGFuZGxlZCBieSBvdGhlciBlbGVtZW50cwoJICBJbiBwYXJ0aWN1bGFyOiBmbGFjLCBvZ2csIHBjbSwgYXUsIGFpZmYsIHdhdi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxNgoKMjAxNC0wOC0yMiAxNjo0OToxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZWdsOiBmYWxsYmFjayB0byBhIG5vbi1kZWJ1ZyBjb250ZXh0IGlmIGEgZGVidWcgb25lIGZhaWxzCgkgIFRoZSB0ZXh0IGZvciBFR0xfS0hSX2NyZWF0ZV9jb250ZXh0IGFkZGVkIHRoZSBwb3NzaWJsaXR5IGZvciBFUwoJICBjb250ZXh0cyB0byBhc2sgZm9yIGEgZGVidWcgY29udGV4dCBob3dldmVyIHRoYXQgaGFzIG5vdCBiZWVuCgkgIGZ1bGx5IHJlYWxpemVkIGJ5IGFsbCBpbXBsZW1lbnRhdGlvbnMuICBGYWxsYmFjayB0byBhIG5vbi1kZWJ1ZwoJICBjb250ZXh0IHdoZW4gdGhlIGltcGxlbWVudGF0aW9uIGVycm9ycy4KCjIwMTQtMDgtMDUgMTQ6MDY6MDcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDxrYWthcm90b0BrYWthcm90by5ob21lbGludXgubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBBZGQgc3VwcG9ydCBmb3IgUlRQL1JUQ1AgbWl4aW5nIGlmIGRhdGEgYXJyaXZlcyBvbiBSVENQIHBhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MzIxCgoyMDE0LTA4LTIxIDE2OjI0OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZml4IGFib3J0IGluIGVycm9yIGNvZGUgcGF0aCB3aXRoIG5ld2VyIGdsaWIKCSAgRG9uJ3QgZm9yZ2V0IHRvIHVubG9jayBtcGQgY2xpZW50IGFnYWluIHdoZW4gZXJyb3Jpbmcgb3V0LgoJICBGaXhlcyBhYm9ydCB3aGVuIGdfbXV0ZXhfY2xlYXIoKSBpcyBjYWxsZWQgb24gYSBsb2NrZWQgbXV0ZXguCgoyMDE0LTA3LTAyIDEyOjQ5OjQ0ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdzdG9wZW5nbDogYWRkIGludHJvc3BlY3Rpb24gc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA4LTA1IDEyOjA3OjA4ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJICBleGFtcGxlczogZml4IGd0aysgMy4xNCBkZXByZWNhdGlvbiBlcnJvcgoJICBodHRwczovL2RldmVsb3Blci5nbm9tZS5vcmcvZ3RrMy8zLjEzL0d0a1dpZGdldC5odG1sI2d0ay13aWRnZXQtc2V0LWRvdWJsZS1idWZmZXJlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDgyCgoyMDE0LTA3LTA3IDEwOjUyOjA2ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGV4cG9zZSBjb250ZXh0CgkgICogZXhwb3NlIGNvbnRleHQgaW4gZHJhdyAvIHJlc2hhcGUgY2FsbGJhY2tzCgkgICogYWRkIGNvbnRleHQgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDQ4MgoKMjAxNC0wNy0wNyAxMDo1MToyOCArMDIwMCAgTHVib3N6IFNhcm5lY2tpIDxsdWJvc3pAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbHNoYWRlcjogZXhwb3NlIG9wZW5nbCBoYW5kbGUgaW4gZ2V0dGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0ODIKCjIwMTQtMDgtMjAgMDk6Mzc6MDEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogY2hlY2sgbnVsbCBiZWZvcmUgdW5yZWYgR3N0R0xEaXNwbGF5CgoyMDE0LTA4LTIxIDEwOjAzOjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZGVidWcuaDoKCSAgZ2w6IGFkZCBwcm90b3R5cGUgZGVmaW5pdGlvbiBmb3IgS0hSX2RlYnVnCgoyMDE0LTA4LTIwIDIzOjI0OjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xjb250ZXh0X2dseC5jOgoJICBnbGNvbnRleHQ6IGltcGxlbWVudCB0aGUgZGVidWcgY2FsbGJhY2sKCSAgRm9yIGJvdGggR0xfS0hSX2RlYnVnIGFuZCBBUkJfZGVidWdfb3V0cHV0LiAgVGhpcyBhbGxvd3MgdXMgdG8KCSAgcmVjZWl2ZSBlcnJvcnMgYW5kIG90aGVyIGhpbnRzIGZyb20gdGhlIEdMIGluc3RlYWQgb2YgcXVlcnlpbmcgYWZ0ZXIKCSAgZXZlcnkgR0wgb3BlcmF0aW9uLgoKMjAxNC0wOC0yMCAyMzoyMzowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2FsbF9mdW5jdGlvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBhZGQgcHJvdG90eXBlcyBmb3IgS0hSX2RlYnVnL0FSQl9kZWJ1Z19vdXRwdXQKCjIwMTQtMDgtMTkgMTc6MTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHVucmVmIHBhZCByZWZlcmVuY2Ugd2hlbiByZW1vdmluZyBpbnRlcm5hbCBzb3VyY2UgaW4gZXJyb3IKCSAgQXZvaWRzIGxlYWtpbmcgdGhlIHBhZCBpbiBlcnJvciBzaXR1YXRpb25zCgoyMDE0LTA4LTE5IDE2OjAxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZWFkIGxhbmd1YWdlIGZyb20gQ29udGVudENvbXBvbmVudCBub2RlIGFzIGEgZmFsbGJhY2sKCSAgSWYgdGhlIGxhbmd1YWdlIGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIEFkYXB0YXRpb25TZXQsIHVzZSB0aGUgQ29udGVudENvbXBvbmVudAoJICBub2RlIHRvIGdldCBpdC4gV2Ugb25seSBnZXQgaXQgaWYgdGhlcmUgaXMgb25seSBhIHNpbmdsZSBDb250ZW50Q29tcG9uZW50IGFzCgkgIGl0IGRvZXNuJ3Qgc2VlbSBjbGVhciBvbiB3aGF0IHRvIGRvIGlmIHRoZXJlIGFyZSBtdWx0aXBsZSBlbnRyaWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzcKCjIwMTQtMDYtMjUgMTU6NTU6MzIgKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHB1c2ggbGFuZ3VhZ2UgY29kZSB0YWcKCSAgTGFuZ3VhZ2UgY29kZSB0YWcgaXMgcmV0cmlldmVkIGZyb20gdGhlIEFkYXB0YXRpb25TZXQgbGFuZ3VhZ2UKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMzcKCjIwMTQtMDgtMTkgMjA6MTQ6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2w6IGRvbid0IHRha2UgYW4gZXh0cmEgcmVmIG9uIHRoZSBkaXNwbGF5IG9uIHNldF9jb250ZXh0CgkgIGdzdF9jb250ZXh0X2dldF9nbF9kaXNwbGF5KCkgcmV0dXJucyBhIHJlZi4gIERvbid0IHRha2UgYW5vdGhlciBpbgoJICBnc3Rfb2JqZWN0X3JlcGxhY2UoKS4KCjIwMTQtMDgtMTkgMTc6MDE6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogdW5yZWYgdGhlIEdzdEdMVXBsb2FkIGluIHRoZSBwYWQgaWYgZnJlZWQgd2hpbGUgcnVubmluZwoJICBEeW5hbWljIHBpcGVsaW5lcyB0aGF0IGdldCBhbmQgcmVsZWFzZSB0aGUgc2luayBwYWRzIHdpbGwgZmluYWxpemUKCSAgdGhlIHBhZCB3aXRob3V0IGdvaW5nIHRocm91Z2ggZ3N0X2dsX21peGVyX3N0b3AoKSB3aGljaCBpcyB3aGVyZSB0aGUKCSAgdXBsb2FkIG9iamVjdCBpcyB1c3VhbGx5IGZyZWVkLiAgRG9uJ3QgbGVhayBvYmplY3RzIGluIHN1Y2ggY2FzZS4KCjIwMTQtMDgtMTQgMjM6NTE6MjEgLTA0MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IGF2b2lkIGdsIHJlc291cmNlIHJhY2UgY29uZGl0aW9uIGJldHdlZW4gZGlmZmVyZW50IHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0ODMwCgoyMDE0LTA4LTE5IDE0OjQ0OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBkb24ndCBjbG9iYmVyIHVubmVjZXNzYXJ5IEdzdFZpZGVvSW5mbyBmaWVsZHMKCSAgb3RoZXJ3aXNlIHdlIG1pZ2h0IGNsb2JiZXIgb3RoZXIgaW1wb3J0YW50IGZpZWxkcyBzdWNoIGFzIHRoZSBmcmFtZSByYXRlLgoKMjAxNC0wOC0xOSAxNDo0Mzo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZ2V0IHRoZSBhdHRyaWJ1dGUgZnJvbSB0aGUgY29ycmVjdCBzaGFkZXIKCjIwMTQtMDgtMTkgMTQ6MjM6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiB1bnJlZiB0aGUgd2luZG93IG9uIG5hdmlnYXRpb24gZXZlbnQKCSAgcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxNC0wOC0xOSAwMDowMToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVtb3ZlIHBhZHMgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQKCSAgT3RoZXJ3aXNlIHRoZSBwYWRzIHdpbGwgYmUgdGhlcmUgaWYgaXQgaXMgcmVzdGFydGVkIGFuZCB0aGUgc3RyZWFtCgkgIGNhbiBiZSBhIGNvbXBsZXRlbHkgZGlmZmVyZW50IG9uZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDM5NAoKMjAxNC0wOC0xNyAwMTo0MjowNSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcjogaDI2NDogVXNlIHByb3BlciBiaXRfcmVhZGVyIGFwaSB3aGlsZSBwYXJzaW5nIGJ1ZmZlcmluZ19wZXJpb2QgU0VJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ5NzAKCjIwMTQtMDgtMTQgMTA6MTk6MTMgKzA1MzAgIFZpbmVldGggVCBNIDx2aW5lZXRoLnRtQHNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJICBzY2VuZWNoYW5nZTogZml4IGNyYXNoIG9uIHN0YXJ0dXAKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdhcyB1c2luZyB0aGUgb2xkaW5mbyBHc3RWaWRlb0luZm8KCSAgYmVmb3JlIGl0J3MgYmVlbiBwb3B1bGF0ZWQsIHJlc3VsdGluZyBpbiBhIGNyYXNoIHJpZ2h0CgkgIGF0IHRoZSBzdGFydC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDc2MwoKMjAxNC0wOC0xNCAxNToyNjo1MyArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogTWFrZSBzdXJlIHRvIHVuYmxvY2sgYW55IHRocmVhZCB3YWl0aW5nIG9uIHRoZSBkcmFpbiBjb25kaXRpb24gdmFyaWFibGUgd2hlbiBlcnJvcnMgaGFwcGVuCgoyMDE0LTA4LTE0IDE1OjI0OjIxICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBGaXggZHJhaW5pbmcgbG9naWMgdG8gbGV0IHRoZSBiYXNlIGNsYXNzIGhhbmRsZSBFT1MgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzM0Nzc1CgoyMDE0LTA4LTExIDIxOjI1OjQxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiYmFzZWJpbjogZml4IHBhcnNpbmcgb2YgZnJlcXMgaW4gc29tZSBaQVAgZmlsZXMKCSAgQ2hhbmdlIGF2b2lkcyBhdHRlbXB0aW5nIHRvIGNvbnZlcnQgdG8ga0h6IGlmIHVubmVlZGVkLgoJICBUaGVyZSBhcmUgcXVpdGUgc29tZSBaQVAgZm9ybWF0IHZhcmlhbnRzIG91dCB0aGVyZS4gQW1vbmcKCSAgdGhlaXIgc3VidGxlIGxpdHRsZSBkaWZmZXJlbmNlcywgc29tZSBzdG9yZSB0cmFuc3BvbmRlcgoJICBmcmVxdWVuY2llcyBpbiBNaHogYW5kIG90aGVycyBpbiBrSHouIFRoZSBsYXR0ZXIgYmVlbiB0aGUKCSAgbW9zdCBjb21tb24gdmFyaWFudC4KCjIwMTQtMDgtMDcgMTk6Mzc6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZ2V0IHJpZCBvZiByZW1haW5pbmcgdHJhaWxpbmcgd2hpdGVzcGFjZQoKMjAxNC0wOC0wNyAxOToxOTozNiAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9Ab3NnLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB3cmFwIGFyb3VuZCBrbm93bi1pbnRlcnJ1cHRpYmxlIGlvY3RscwoJICBBbHNvIGdldCByaWQgb2YgdGhlIGFzdW1wdGlvbiB0aGF0IHNvbWUgcmVxdWVzdHMgbGlrZQoJICBGRV9TRVRfVE9ORSBvciBGRV9TRVRfVk9MVEFHRSBvbmx5IGVycm9yIG91dCB3aXRoIC0xCgoyMDE0LTA4LTA3IDE0OjAwOjQwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRyb3AgZ3N0X2R2YnNyY19yZXRyeV9pb2N0bCBmb3IgcmV0cnkgbWFjcm8KCSAgTE9PUF9XSElMRV9FSU5UUiBtYWNybyBtYWtlcyBpdCBlYXNpZXIgdG8gaGFuZGxlCgkgIGFzc29ydGVkIGlvY3RsIGFyZ3AgdHlwZXMuIEZ1bmN0aW9uYWxpdHkgaXMgb3RoZXJ3aXNlCgkgIGVxdWl2YWxlbnQuCgoyMDE0LTA4LTEyIDEyOjM1OjAwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogZHZiYmFzZWJpbjogYWRkICd0dW5lJyBzaWduYWwKCSAgSXQgd29ya3MgdGhlIHNhbWUgYXMgdGhlICd0dW5lJyBwcm9wZXJ0eSB0aGF0IGlzIHVzZWQgb25seSB0byBzaWduYWwKCSAgdGhlIGVsZW1lbnQgdGhhdCBpdCBzaG91bGQgdHVuZSwgYnV0IGl0IGlzIG1vcmUgbmF0dXJhbCB0byBiZSB1c2VkCgkgIGFzIGEgc2lnbmFsIHJhdGhlciB0aGFuIGEgcHJvcGVydHkuCgkgIEl0IGlzIGFsc28gcHJveGllZCBhdCB0aGUgZHZiYmFzZWJpbiBlbGVtZW50CgoyMDE0LTA4LTA3IDE1OjI1OjMyICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3Qgc3dpdGNoIHBsYXlsaXN0IG9uIHRyaWNrIG1vZGVzCgkgIEluc3RlYWQgYWx3YXlzIHVzZSB0aGUgbG93IGJhbmR3aXRoIHBsYXlsaXN0IG1ha2luZyB0aGluZ3MgZ28gc21vb3RoZXIKCSAgYXMgdGhlIGN1cnJlbnQgaGV1cmlzdGljIGlzIHJhdGhlciBzZXQgZm9yIG5vcm1hbCBwbGF5YmFjaywgYW5kCgkgIGN1cnJlbnRseSBpdCBkb2VzIG5vdCBiZWhhdmUgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDctMjEgMTQ6NDI6NDcgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE5vIG5lZWQgdG8gaGF2ZSBhIEktRnJhbWUgbGlzdCB0byBkbyB0cmljayBtb2RlcwoJICBJdCBqdXN0IHdvcmtzIGNsZWFubHkgd2l0aG91dCBhbnkgaW5kZXggYW5kIHRoZXJlIGlzIG5vIHJlYWwgcmVhc29uIGZvcgoJICB0aGF0IGxpbWl0YXRpb24uIEFsc28sIHRoZXJlIGFyZSB2ZXJ5IGZldyBzdHJlYW0gd2l0aCB0aGF0IGZlYXR1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ0NDUKCjIwMTQtMDgtMDUgMTc6MTM6MTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvIG5vdCB0d2VhayBzZWdtZW50cyBvbiByZXZlcnNlIHBsYXliYWNrCgkgIFdlIGNhbid0IGNvbXBhcmUgdGhlIGZpcnN0IGJ1ZmZlciBzdGFydCBhbmQgdGhlIHNlZ21lbnQgc3RhcnQgaW4gdGhhdAoJICBjYXNlLi4uIHBsYXliYWNrIGlzIGdvaW5nIGJhY2t3YXJkIQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NDQ1CgoyMDE0LTA4LTEzIDE2OjU3OjE1ICswMjAwICBWYWxlbnRpbiBQT05TIDx2YWx4NzZAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IFVzZSBOVUxMIHRvIGRpc2FibGUgZXllcy9ub3NlL21vdXRoCgkgIFdpdGhvdXQgcHJpbnRpbmcgYSB3YXJuaW5nIGFib3V0IGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ2MjMKCjIwMTQtMDgtMTAgMjI6NTg6MjIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkgIGdsYnVmZmVycG9vbDogZml4IGFsbG9jYXRvciBsZWFrIGluIHNvbWUgY2FzZXMKCSAgU3BvdHRlZCBieSBTZWJhc3RpYW4gUmFzbXVzc2VuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIzCgoyMDE0LTA4LTExIDEyOjMyOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHNhdmUgYSBmZXcgcmVmL3VucmVmIHBhaXJzCgkgIFRoZSBldmVudC9xdWVyeSBmdW5jdGlvbnMgYWxyZWFkeSBoYXZlIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50LCBhdm9pZAoJICByZWYvdW5yZWYgaW4gdGhlIGZ1bmN0aW9ucyBoYW5kbGluZyBjYXBzIHF1ZXJpZXMgYW5kIGV2ZW50cy4KCjIwMTQtMDgtMTEgMTI6MzE6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVtb3ZlIG9ic29sZXRlIGZpeG1lCgoyMDE0LTA4LTExIDEyOjIyOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGltcHJvdmUgbmVnb3RpYXRpb24KCSAgQ2hlY2sgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyBvdmVybGF5IG1ldGEsIGlmIHBvc3NpYmxlIHVzZSBpdCBhbmQKCSAgaWYgbm90IGZhbGxiYWNrIHRvIG5vLW92ZXJsYXkgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDEyOjIxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0Bvc2cuc2Ftc3VuZy5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IGFsd2F5cyBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyIGNhcHMKCSAgQXZvaWRzIHJldHVybmluZyB2YWx1ZXMgdGhhdCBwZWVycyBjYW4ndCB1c2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMTozNTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBpbXByb3ZlIG5lZ290aWF0aW9uCgkgIENoZWNrIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgb3ZlcmxheSBtZXRhLCBpZiBwb3NzaWJsZSB1c2UgaXQgYW5kCgkgIGlmIG5vdCBmYWxsYmFjayB0byBuby1vdmVybGF5IGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzkxNgoKMjAxNC0wOC0xMSAxMTozMzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBhbHdheXMgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBpbiBnZXRjYXBzCgkgIEF2b2lkcyByZXR1cm5pbmcgdW5zdXBwb3J0ZWQgY2FwcyB0byBwZWVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTE2CgoyMDE0LTA4LTExIDIzOjM4OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogZml4IHVwIGRvYyBjb21tZW50IGZvciBzZXRfc3JjX2NhcHMKCSAgSXQgZG9lcyBub3Qgb2NjdXIgJ2xhdGVyJyBhbnltb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI2NjIKCjIwMTQtMDgtMDcgMTk6NTQ6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcHVzaCB0aGUgY2FwcyBldmVudCBhcyBzb29uIGFzIHdlIHJlY2VpdmUgaXQKCSAgQWxvbmcgd2l0aCB0aGUgcmVxdWlyZWQgbWFuZGF0b3J5IGRlcGVuZGVudCBldmVudHMuCgkgIFNvbWUgZWxlbWVudHMgbmVlZCB0byBwZXJmb3JtIGFuIGFsbG9jYXRpb24gcXVlcnkgaW5zaWRlCgkgIDo6bmVnb3RpYXRlZF9jYXBzKCkuICBXaXRob3V0IHRoZSBjYXBzIGV2ZW50IGJlaW5nIHNlbnQgcHJpb3IsCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgd2lsbCBiZSB1bmFibGUgdG8gYW5zd2VyIGFuZCB3aWxsIHJldHVybgoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MgoKMjAxNC0wOC0xMSAxNjowMTozMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dlYnAvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL2dzdHdlYnAuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGVuYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZW5jLmg6CgkgIHdlYmVuYzogQWRkIFdlYlAgaW1hZ2UgZW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDg3CgoyMDE0LTA4LTA5IDAxOjI5OjMwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmNlbmM6IFVucmVmIG91dHB1dCBjYXBzIGluIGVycm9yIGNhc2VzCgkgIGdzdF9jYXBzX2ludGVyc2VjdCgpIHJldHVybnMgYSByZWZlcmVuY2UgdG8gYSBjYXBzIG9iamVjdCB3aGljaCBpbgoJICB0aGUgbm9ybWFsIGNhc2UgaXMgY29uc3VtZWQsIGJ1dCBpbiBlcnJvciBjYXNlcyBtdXN0IGJlIHVucmVmZXJlbmNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMQoKMjAxNC0wOC0wOCAxNDowODoxOSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE3CgoyMDE0LTA4LTA5IDExOjQxOjE3ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkgIGludGVyOiBVbnJlZiBidXMgYWZ0ZXIgdXNhZ2UKCSAgZ3N0X3BpcGVsaW5lX2dldF9idXMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIGEgYnVzIHRoYXQgbmVlZHMgdG8KCSAgYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI1CgoyMDE0LTA4LTA5IDExOjQ1OjQxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBleGFtcGxlcy9nbDogdW5yZWYgYnVzIGFuZCBlbGVtZW50IGFmdGVyIHVzYWdlCgkgIGdzdF9waXBlbGluZV9nZXRfYnVzKCkgYW5kIGdzdF9iaW5fZ2V0X2J5X2ludGVyZmFjZSgpIGJvdGgKCSAgcmV0dXJuIHJlZmVyZW5jZXMgdGhhdCBuZWVkIHRvIGJlIHVucmVmZXJlbmNlZCBhZnRlciB1c2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyNwoKMjAxNC0wOC0xMCAxOToxMjowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciBnaXQgbWFzdGVyCgoyMDE0LTA4LTEwIDE5OjA1OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkgIGRvY3M6IHJlbW92ZSBydHB2cDggcGx1Z2luIGRvY3MsIHRoZSBlbGVtZW50cyBhcmUgbm93IGluIC1nb29kCgoyMDE0LTA4LTEwIDE4OjA3OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIG9wZW5nbDogdXBkYXRlIGVsZW1lbnQgZG9jcyBmb3IgMS54CgoyMDE0LTA4LTEwIDE3OjQ4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSAgZG9jczogcmVtb3ZlIGVnbGdsZXNzaW5rIGZyb20gZG9jcyBhcyBpdCBubyBsb25nZXIgZXhpc3RzCgoyMDE0LTA4LTA5IDExOjM2OjM4ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFVucmVmIGVsZW1lbnRzIGFmdGVyIHVzYWdlCgkgIGdzdF9iaW5fZ2V0X2J5X25hbWUoKSBhbmQgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlKCkgYm90aCByZXR1cm4KCSAgcmVmZXJlbmNlcyB0byBlbGVtZW50cyB0aGF0IG5lZWQgdG8gYmUgdW5yZWZlcmVuY2VkIGFmdGVyIHVzYWdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTI0CgoyMDE0LTA4LTA5IDAxOjI3OjUzICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzcmMuYzoKCSAgb3BlbmFsOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTIwCgoyMDE0LTA4LTEwIDEyOjI5OjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBmaXggdXAgYnJva2VuIHBhdGNoIG1lcmdlCgkgIFNvcnJ5LCBzaG91bGQndmUgYmVlbiBjb21taXQgLS1hbWVuZAoKMjAxNC0wOC0wOSAxMzoyNDowMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJICBwdnJ2aWRlb3Npbms6IEF2b2lkIGxlYWtpbmcgYnVmZmVycG9vbCBjb25maWd1cmF0aW9uCgkgIGdzdF9idWZmZXJfcG9vbF9nZXRfY29uZmlnKCkgcmV0dXJucyBhIGNvcHkgdG8gdGhlIGJ1ZmZlcnBvb2wncwoJICBjb25maWd1cmF0aW9uLCB3aGljaCBtdXN0IGJlIHBhc3NlZCB0byBnc3Rfc3RydWN0dXJlX2ZyZWUoKSBhZnRlcgoJICB1c2UgaWYgbm90IGdpdmVuIGF3YXkgdG8gZ3N0X2J1ZmZlcl9wb29sX3NldF9jb25maWcoKS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNwoKMjAxNC0wOC0wOSAxMzoyMjo0MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzYKCjIwMTQtMDgtMDkgMTM6MjA6NDEgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBdm9pZCBsZWFraW5nIGNhcHMgb2JqZWN0IGFuZCBpdHMgY29weQoJICBnc3RfcGFkX2dldF9wYWRfdGVtcGxhdGVfY2FwcygpIHJldHVybnMgYSByZWZlcmVuY2Ugd2hpY2ggaXMgdW5yZWZlcmVuY2VkLAoJICBzbyBjcmVhdGluZyBhIGNvcHkgdXNpbmcgZ3N0X2NhcHNfY29weSgpIHJlc3VsdHMgaW4gYSByZWZlcmVuY2UgbGVhay4gQWxzbwoJICB0aGUgY2FwcyBhcmUgcHVzaGVkIGFzIGFuIGV2ZW50IGRvd25zdHJlYW0sIGJ1dCB0aGlzIGRvZXNuJ3QgY29uc3VtZSB0aGUKCSAgY2FwcyBzbyBpdCBtdXN0IHN0aWxsIGJlIHVucmVmZXJlbmNlZC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzNAoKMjAxNC0wOC0wOSAxMzoxNzoxNyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbWN2aWRlb2VuYzogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBBbHNvIHJlbW92ZSB0aGUgaW5jb3JyZWN0IGNvbW1lbnQgdG8gYXZvaWQgY29uZnVzaW9uIGluIHRoZSBmdXR1cmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzMKCjIwMTQtMDgtMDkgMTM6MTI6MTQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogZml4IGNhcHMgcmVmY291bnRpbmcKCSAgdGNhcHMgd2FzIHVucmVmZWQgd2hlbiBpdCBzaG91bGRuJ3QgaGF2ZSBiZWVuIHVucmVmZWQKCSAgaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUzMQoKMjAxNC0wOC0wOSAxMzowOTo1MiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBBdm9pZCBsZWFraW5nIGNvcHkgb2YgY2FwcyBvYmplY3QKCSAgZ3N0X3BhZF9nZXRfcGFkX3RlbXBsYXRlX2NhcHMoKSByZXR1cm5zIGEgcmVmZXJlbmNlIHdoaWNoIGlzIHVucmVmZXJlbmNlZCwKCSAgc28gY3JlYXRpbmcgYSBjb3B5IHVzaW5nIGdzdF9jYXBzX2NvcHkoKSByZXN1bHRzIGluIGEgcmVmZXJlbmNlIGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MjgKCjIwMTQtMDgtMDkgMTE6MTc6NDQgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBVbnJlZiBhbGxvd2VkIGNhcHMgYWZ0ZXIgdXNhZ2UKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDUyMgoKMjAxNC0wOC0wOSAwMToyNToyMSArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSAgbGFkc3BhOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE5CgoyMDE0LTA4LTA5IDAxOjI1OjIxICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYWZpbHRlci5jOgoJICBsYWRzcGE6IFVucmVmIHBhZCB0ZW1wbGF0ZSBjYXBzIGFmdGVyIHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MTkKCjIwMTQtMDgtMDkgMDE6MjM6NTAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBVbnJlZiBwYWQgdGVtcGxhdGUgY2FwcyBhZnRlciB1c2FnZQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTE4CgoyMDE0LTA4LTEwIDExOjM1OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogcmVtb3ZlIGRlZnVuY3QgdGVzdCBjb2RlIGZvciBvbGQgY29sb3JzcGFjZSBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQ1MzgKCjIwMTQtMDgtMDkgMTM6Mjc6MDAgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSAgZWxlbWVudC1tYWtlcjogQXZvaWQgbGVha2luZyBjb3B5IG9mIGNhcHMgb2JqZWN0CgkgIGdzdF9wYWRfZ2V0X3BhZF90ZW1wbGF0ZV9jYXBzKCkgcmV0dXJucyBhIHJlZmVyZW5jZSB3aGljaCBpcyB1bnJlZmVyZW5jZWQsCgkgIHNvIGNyZWF0aW5nIGEgY29weSB1c2luZyBnc3RfY2Fwc19jb3B5KCkgcmVzdWx0cyBpbiBhIHJlZmVyZW5jZSBsZWFrLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTM5CgoyMDE0LTA4LTA5IDE0OjI3OjM0ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc3Rnc21lbmM6IFVucmVmIGNhcHMgb2JqZWN0IGFmdGVyIHVzYWdlCgkgIGdzdF9hdWRpb19lbmNvZGVyX3NldF9vdXRwdXRfZm9ybWF0KCkgZG9lcyBub3QgY29uc3VtZSBjYXBzLCBzbwoJICB1bnJlZmVyZW5jZSB0aGF0IG9iamVjdCBpbnN0ZWFkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQ0CgoyMDE0LTA4LTA5IDE0OjI0OjU5ICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXM6IEltcHJvdmUgYW5ub3RhdGlvbiBvZiBpbnRlcm5hbCBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0NTQzCgoyMDE0LTA4LTA2IDE4OjExOjIwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBzdXBwb3J0IGRvd25sb2FkaW5nIHNlZ21lbnRzIGluIHJldmVyc2Ugb3JkZXIKCSAgV2hlbiBhIHNlZWsgd2l0aCBhIG5lZ2F0aXZlIHJhdGUgaXMgcmVxdWVzdGVkLCBmaW5kIHRoZSB0YXJnZXQKCSAgc2VnbWVudCB3aGVyZSBnc3RzZWdtZW50LnN0b3AgYmVsb25ncyBpbiBhbmQgdGhlbiBkb3dubG9hZCBmcm9tCgkgIHRoaXMgc2VnbWVudCBiYWNrd2FyZHMgdW50aWwgdGhlIGZpcnN0IHNlZ21lbnQuCgkgIFRoaXMgYWxsb3dzIHByb3BlciByZXZlcnNlIHBsYXliYWNrLgoKMjAxNC0wOC0wNyAxOToxODo0OSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgYSBiYWNrZ3JvdW5kIHByb3BlcnR5CgkgIFRoYXQncyBjb21wYXRpYmxlIHdpdGggdGhlIGNvbXBvc2l0b3IvdmlkZW9taXhlciBwcm9wZXJ0eQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTU0CgoyMDE0LTA4LTA2IDEzOjI3OjA0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGV4dDpmYWFkOiBTZXQgcmFuayB0byBTRUNPTkRBUlkgYXMgdGhlIGxpYmF2IGRlY29kZXIgaXMgY29uY2lkZXJlZCBiZXR0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjEzMQoKMjAxNC0wOC0wNiAxNjo0ODowMyArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgR3N0R0xXaW5kb3csIEdzdEdMSW1hZ2VzaW5rLCB4MTE6IFNjYWxlIG5hdmlnYXRpb24gZXZlbnRzIG9uIHJlc2l6ZWQgd2luZG93cwoJICBJZiB3aW5kb3cgaXMgcmVzaXplZCwgR3N0U3RydWN0dXJlIHBvaW50ZXIgdmFsdWVzIGhhdmUgdG8gYmUgcmVzY2FsZWQgdG8KCSAgb3JpZ2luYWwgZ2VvbWV0cnkuIEEgZ2V0X3N1cmZhY2VfZGltZW5zaW9ucyBHTFdpbmRvdyBjbGFzcyBtZXRob2QgaXMgYWRkZWQgZm9yCgkgIHRoaXMgcHVycG9zZSBhbmQgdXNlZCBpbiB0aGUgbmF2aWdhdGlvbiBzZW5kX2V2ZW50IGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNDg2CgoyMDE0LTA4LTA2IDA4OjE1OjM4IC0wNDAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBkb24ndCBkZXRlcm1pbmUgaWYgZnJhbWUgbmVlZHMgdXBsb2FkIGJ5IHBvaW50ZXIgY29tcGFyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzM0MjY5CgoyMDE0LTA4LTA1IDExOjQ1OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3RvcmUgUENSIHRpbWUvYnl0ZSBvZmZzZXRzIGluIDY0IGJpdCBpbnRlZ2VycwoJICAzMiBiaXQgaW50ZWdlcnMgYXJlIGdvaW5nIHRvIG92ZXJmbG93LCBlc3BlY2lhbGx5IHRoZSBQQ1Igb2Zmc2V0IHRvCgkgIHRoZSBmaXJzdCBQQ1Igd2lsbCBvdmVyZmxvdyBhZnRlciBhYm91dCAxNTkgc2Vjb25kcy4gVGhpcyBtYWtlcyBwbGF5YmFjawoJICBvZiBzdHJlYW1zIHN0b3AgYXQgMTU5IHNlY29uZHMgYXMgc3VkZGVubHkgdGhlIHRpbWVzdGFtcHMgYXJlIHN0YXJ0aW5nCgkgIGFnYWluIGZyb20gMC4gTm93IHdlIGhhdmUgYSBmZXcgbW9yZSB5ZWFycyB0aW1lIHVudGlsIGl0IGhhcHBlbnMgYWdhaW4KCSAgYW5kIDY0IGJpdHMgYXJlIHRvbyBzbWFsbC4KCjIwMTQtMDgtMDUgMTA6NDI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZXZlcnQgIm1wZWd0c3BhY2tldGl6ZXI6IENvbnZlcnQgUENSIHRpbWVzIHRvIEdTdHJlYW1lciB0aW1lcyBiZWZvcmUgY29tcGFyaW5nIHRoZW0gYWdhaW5zdCA1MDAgKiBHU1RfTVNFQ09ORCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5ZjE4NmM2YWIzMmMxZTk0OTkxNmQzODUxODZiMmQ0MDAxOTBhZGQ2LgoJICBUaGF0IGNvbW1pdCB3YXMgYWN0dWFsbHkgY29tcGxldGVseSB3cm9uZywgbmV2ZXJtaW5kLgoKMjAxNC0wOC0wNSAxMDozNjoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IENvbnZlcnQgUENSIHRpbWVzIHRvIEdTdHJlYW1lciB0aW1lcyBiZWZvcmUgY29tcGFyaW5nIHRoZW0gYWdhaW5zdCA1MDAgKiBHU1RfTVNFQ09ORAoJICBPdGhlcndpc2UgaXQgd2lsbCBiZWxpZXZlIHRvIGRldGVjdCBQQ1IgZ2FwcyBhbHJlYWR5IHdoZW4gdGhlcmUncyBhIHZlcnkgc21hbGwKCSAgZ2FwIG9mIGEgZmV3IG1pbGxpc2Vjb25kcywgYnJlYWtpbmcgcGxheWJhY2sgb2Ygc29tZSBmaWxlcy4KCjIwMTQtMDctMzEgMTc6NDA6MzAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQG9zZy5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogcmVtb3ZlIHNyY3BhZCBsZWZ0b3ZlcgoJICBUaGUgZWxlbWVudCBpcyBpbmhlcml0aW5nIGl0cyBzcmNwYWQgZnJvbSBiYXNlc3JjCgoyMDE0LTA4LTAxIDE4OjAyOjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogSW5pdGlhbGl6ZSBwaXhlbCBmb3JtYXQgdG8gYm1kRm9ybWF0OEJpdFlVVgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODcxCgoyMDE0LTA4LTAxIDE2OjQwOjQ5ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2Vyc19oMjY0OiBpbml0aWFsaXplIHNvbWUgZmllbGRzIG9mIHBpY190aW1pbmcgc3RydWN0dXJlCgkgIE90aGVyd2lzZSBwaWMgdGltaW5nIHN0cnVjdHVyZSBjYW4gaGF2ZSBpbnZhbGlkIGNwYl9yZW1vdmFsX2RlbGF5LAoJICBkcGJfb3V0cHV0X2RlbGF5IG9yIHBpY19zdHJ1Y3RfcHJlc2VudF9mbGFnIHdoaWNoIGFyZSBibGluZGx5IHJldHJpZXZlZAoJICBpbiBoMjY0cGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzQxMjQKCjIwMTQtMDgtMDEgMTY6NTg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBDYXRjaCBlcnJvcnMgZHVyaW5nIGRhdGEgZmxvdyBhbmQgZXJyb3Igb3V0IHByb3Blcmx5CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGp1c3QgZGVhZGxvY2sgdGhlIHRocmVhZCBpZiBlLmcuIHNjaGVkdWxpbmcgYSB2aWRlbwoJICBmcmFtZSBmYWlscyBmb3Igd2hhdGV2ZXIgcmVhc29uLgoKMjAxNC0wNy0zMSAyMDo1MjozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAb3NnLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmV0dXJuIHRoZSBlcnJvciB0byB0aGUgc291cmNlIGltbWVkaWF0ZWx5IHRvIHN0b3AgZmFzdGVyCgkgIFdoZW4gZmx1c2hpbmcsIHRoaXMgd2lsbCBwcmV2ZW50IGRhc2hkZW11eCBmcm9tIHRyeWluZyB0byBkb3dubG9hZCBtb3JlCgkgIGZyYWdtZW50cyBvciBtb3JlIGNodW5rcyBvZiB0aGUgc2FtZSBmcmFnbWVudCBiZWZvcmUgc3RvcHBpbmcuCgkgIEFsc28gaW1wcm92ZXMgdGhlIGVycm9yIGhhbmRsaW5nIHRvIG5vdCB0cmFuc2Zvcm0gZXZlcnl0aGluZyBub24tb2sgaW50bwoJICBhbiBlcnJvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczNDAxNAoKMjAxNC0wNy0yOSAwMjoxMTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogYXZvaWQgdGltZXN0YW1wIG92ZXJmbG93cwoJICBDYXVzZSB0aW1pbmcgdG8gYnJlYWsgaW4gdGhlIHBpcGVsaW5lIHRoYXQgY2FuIGxlYWQgdG8gYSBzdGFsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzODM3CgoyMDE0LTA4LTAxIDEzOjE0OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogUmVtb3ZlIGZpbGVzIG5vIGxvbmdlciBwcmVzZW50CgkgIFRoZXkgd2VyZSByZW1vdmVkIHdoZW4gc25kZmlsZSB3YXMgcG9ydGVkIHRvIDEueAoKMjAxNC0wOC0wMSAxMjozODo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkgIGRlY2tsaW5rOiA1OS45NGZwcyBpcyA2MDAwMC8xMDAxLCBub3QgMzAwMDAvMTAwMQoJICBBbmQgYWxzbyBjaGFuZ2UgMzAvMSB0byA2MC8xIGZvciBvbmUgNjBmcHMgbW9kZS4KCjIwMTQtMDgtMDEgMTc6NTE6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kb2NzOiByZW1vdmUgc3VwZXJmbG91cyAndGhlJwoKMjAxNC0wOC0wMSAxNjo0MToxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbDogZG9jdW1lbnQgR1NUX0dMXyogZW52aXJvbm1lbnQgdmFyaWFibGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMyNDUKCjIwMTQtMDgtMDEgMTA6MDE6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3Rlc3RzOiB1cGRhdGUgZm9yIEFQSSBjaGFuZ2VzCgoyMDE0LTA3LTMxIDE4OjU1OjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIE1ha2VmaWxlOiBBZGQgdXNhZ2Ugb2YgYnVpbGQtY2hlY2tzIHN0ZXAKCSAgQWxsb3dzIGJ1aWxkaW5nIGNoZWNrcyB3aXRob3V0IHJ1bm5pbmcgdGhlbQoKMjAxNC0wNy0zMSAxODo0NjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2xjb250ZXh0OiBhZGQgYSBkZXN0cm95IGZ1bmN0aW9uCgkgIHRoYXQganVzdCBjYWxscyB0aGUgc3ViY2xhc3MKCjIwMTQtMDctMzEgMTg6MzY6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBzaWxlbmNlIHJ1bnRpbWUgd2FybmluZwoJICBnX21haW5fbG9vcF9xdWl0OiBhc3NlcnRpb24gJ2xvb3AgIT0gTlVMTCcgZmFpbGVkCgoyMDE0LTA3LTMxIDE1OjE4OjA0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogdXNlIHRoZSBwbGFuZSBvZmZzZXRzIHRvIGNvbXB1dGUgdGhlIHNpemUgb2YgdGhlIGRhdGEgcG9pbnRlcgoJICBDZXJ0YWluIGVsZW1lbnRzIGV4cGVjdCB0aGF0IHRoZXJlIGJlIGEgY2VydGFpbiBudW1iZXIgb2YgbGluZXMKCSAgdGhhdCB0aGV5IGNhbiB3cml0ZSBpbnRvLiAgZS5nLiBmb3Igb2RkIGhlaWdodHMsIEk0MjAsIFlWMTIsIE5WMTIsCgkgIE5WMjEgKGFuZCBvdGhlcnMpIFkgbGluZXMgYXJlIGV4cGVjdGVkIHRvIGhhdmUgZXhhY3RseSB0d2ljZSB0aGUKCSAgbnVtYmVyIG9mIFUvVVYgbGluZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MTcKCjIwMTQtMDctMzEgMTQ6MDc6MjkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSAgZ2xtZW1vcnk6IHVzZSBHc3RWaWRlb0luZm8gZXZlcnl3aGVyZQoJICBTaW1wbGlmaWVzIGEgbG90IG9mIHRoZSBjYWxsaW5nIGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzcxNwoKMjAxNC0wNy0zMCAxNjozMjowMSAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VibHVyOiBmYWNlZGV0ZWN0OiBhZGQgcHJvcGVydGllcyB0byBmYWNlYmx1cgoJICBNYWtlcyBmYWNlYmx1ciBoYXZlIHRoZSBzYW1lIHByb3BlcnRpZXMgYXMgZmFjZWRldGVjdC4gQWxzbyBpbXByb3ZlcwoJICB0aGUgc3RhbmRhcmQgZGVmYXVsdHMgYW5kIG1ha2VzIHRoZW0gdGhlIHNhbWUgaW4gdGhlIDIgZWxlbWVudHMKCjIwMTQtMDctMzAgMTY6MzA6MzkgLTAzMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSAgZmFjZWJsdXI6IHBvc3QgbWVzc2FnZSB3aGVuIHByb2ZpbGUgbG9hZGluZyBmYWlscwoKMjAxNC0wNy0zMCAxNjowNzoxNyAtMDMwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGZhY2VibHVyOiB1cGRhdGUgbGF1bmNoIGxpbmUgZXhhbXBsZXMKCSAgUmVmbGVjdCAxLjAgYW5kIG1vcmUgdXNlZnVsIGV4YW1wbGVzCgoyMDE0LTA3LTI5IDEzOjI1OjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazoga2VlcCB0aGUgdXBsb2FkZWQgYnVmZmVyIGFyb3VuZCBvbiBzdWNjZXNzZnVsIHJlZGlzcGxheQoJICBXZSBtaWdodCBuZWVkIGl0IGxhdGVyIHRvIHBlcmZvcm0gYSByZWRpc3BsYXkuICBHc3RHTFVwbG9hZCB3aWxsIHRha2UKCSAgb2YgcmVsZWFzaW5nIHRoZSBwcmV2aW91cyBidWZmZXIgd2hlbiBpdCByZWNlaXZlcyBhIG5ldyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM3MjYKCjIwMTQtMDctMjkgMTE6NDc6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbG1lbW9yeTogcmVlbmFibGUgdGhlIHRleHR1cmVfcmcgc3VwcG9ydCBmb3IgIWVhZ2wKCSAgVGhlIEdTVF9HTF9IQVZFX1BMQVRGT1JNX0VBR0wgaXMgYWx3YXlzIGRlZmluZWQgd2UgbmVlZCB0byBjb21wYXJlCgkgIGFnYWluc3QgdGhlIHZhbHVlIGluc3RlYWQuCgoyMDE0LTA3LTI4IDE5OjExOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBnaXRpZ25vcmU6IHVwZGF0ZSB3aXRoIG5ldyB0ZXN0cwoKMjAxNC0wNy0yOCAxNjo1NToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZmlsZXMvYmx1ZS1zcXVhcmUucG5nOgoJICB0ZXN0czogZmlsZXM6IGFkZHMgbWlzc2luZyBmaWxlIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIFRoaXMgaXMgcmVxdWlyZWQgZm9yIHRoZSB0ZW1wbGF0ZW1hdGNoIHRlc3QgdG8gd29yawoKMjAxNC0wNy0yOCAxNTo0NTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RlbXBsYXRlbWF0Y2guYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB0ZW1wbGF0ZW1hdGNoOiBhZGQgdGVzdCB0byBjaGVjayB0aGF0IHdlIHVzZSB0aGUgY29ycmVjdCByZ2IgZm9ybWF0CgkgIHRlbXBsYXRlbWF0Y2ggc2hvdWxkIHVzZSB0aGUgc2FtZSBSR0IgZm9ybWF0IHRoYXQgb3BlbmN2IHVzZXMgKEJHUiksIG1ha2Ugc3VyZQoJICB3ZSBrZWVwIGl0IHRoYXQgd2F5IHdpdGggdGhpcyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4NDg1CgoyMDEyLTA2LTE1IDEzOjE5OjA2ICswMTAwICBEYXZpZCBSb3RobGlzYmVyZ2VyIDxkYXZpZC5yb3RobGlzYmVyZ2VyQHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdiB0ZW1wbGF0ZW1hdGNoOiBTZXQgY2FwcyB0byBCR1Igb3JkZXIKCSAgdGVtcGxhdGVtYXRjaCBvcGVyYXRlcyBvbiBCR1IgZGF0YS4gSW4gZmFjdCwgT3BlbkNWJ3MgSXBsSW1hZ2UgYWx3YXlzCgkgIHN0b3JlcyBjb2xvciBpbWFnZSBkYXRhIGluIEJHUiBvcmRlciAtLSB0aGlzIGlzbid0IGRvY3VtZW50ZWQgYXQgYWxsIGluCgkgIHRoZSBPcGVuQ1Ygc291cmNlIGNvZGUsIGJ1dCB0aGVyZSBhcmUgaGludHMgYXJvdW5kIHRoZSB3ZWIgKHNlZSBmb3IKCSAgZXhhbXBsZQoJICBodHRwOi8vd3d3LmNzLmlpdC5lZHUvfmFnYW0vY3M1MTIvbGVjdC1ub3Rlcy9vcGVuY3YtaW50cm8vb3BlbmN2LWludHJvLmh0bWwjU0VDVElPTjAwMDQxMDAwMDAwMDAwMDAwMDAwCgkgIGFuZCBodHRwOi8vd3d3LmNvbXAubGVlZHMuYWMudWsvdmlzaW9uL29wZW5jdi9pcGxpbWFnZS5odG1sICkuCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUgbG9hZHMgdGhlIHRlbXBsYXRlICh0aGUgaW1hZ2UgdG8gZmluZCkKCSAgZnJvbSBkaXNrIHVzaW5nIE9wZW5DVidzIGN2TG9hZEltYWdlLCBzbyBpdCBpcyBzdG9yZWQgaW4gYW4gSXBsSW1hZ2UgaW4KCSAgQkdSIG9yZGVyLiBCdXQgaW4gZ3N0X3RlbXBsYXRlbWF0Y2hfY2hhaW4sIG5vIE9wZW5DViBjb252ZXJzaW9uCgkgIGZ1bmN0aW9ucyBhcmUgdXNlZDogdGhlIGltYWdlRGF0YSBwb2ludGVyIG9mIHRoZSBJcGxJbWFnZSBmb3IgdGhlIHZpZGVvCgkgIGZyYW1lICh0aGUgaW1hZ2UgdG8gc2VhcmNoIGluKSBpcyBqdXN0IHNldCB0byBwb2ludCB0byB0aGUgcmF3IGJ1ZmZlcgoJICBkYXRhLiBXaXRob3V0IHRoaXMgZml4LCB0aGF0IHJhdyBkYXRhIGlzIGluIFJHQiBvcmRlciwgc28gdGhlIGNhbGwgdG8KCSAgY3ZNYXRjaFRlbXBsYXRlIGVuZHMgdXAgY29tcGFyaW5nIHRoZSB0ZW1wbGF0ZSdzIEJsdWUgY2hhbm5lbCBhZ2FpbnN0CgkgIHRoZSBmcmFtZSdzIFJlZCBjaGFubmVsLCBwcm9kdWNpbmcgdmVyeSBwb29yIHJlc3VsdHMuCgoyMDE0LTA3LTI4IDEzOjEwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAb3NnLnNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogbWFyayBwYWRzIGFzIHByb3h5IGNhcHMKCSAgQWxsb3dzIG5lZ290aWF0aW9uIHRvIGhhcHBlbiBwcm9wZXJseQoKMjAxMi0wNi0yNSAyMDozNzowMSArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFByb2R1Y2UgYSB3YXJuaW5nIG1lc3NhZ2UgaWYgd2UgY2FuJ3QgbG9hZCBhIHRlbXBsYXRlIGltYWdlCgoyMDEyLTA2LTIwIDE1OjIyOjUyICswMTAwICBXaWxsaWFtIE1hbmxleSA8d2lsbGlhbS5tYW5sZXlAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogTWF0Y2ggcmVjdGFuZ2xlIGdyb3dzIHJlZGRlciB3aXRoIGluY3JlYXNlZCBtYXRjaCBjZXJ0YWludHkKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGRlYnVnZ2luZyB5b3VyIG1hdGNoZXMgYXMgaXQgaW5kaWNhdGVzIGhvdyBjZXJ0YWluIHRoZQoJICBtYXRjaCB3YXMgaW4gYWRkaXRpb24gdG8gaXRzIHBvc2l0aW9uLgoKMjAxMi0wNi0yMCAxNTowNTo0MCArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSAgdGVtcGxhdGVtYXRjaDogQWxsb3cgY2hhbmdpbmcgdGVtcGxhdGUgcHJvcGVydHkgb24gdGhlIGZseQoJICBQcmV2aW91c2x5IGNoYW5naW5nIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eSByZXN1bHRlZCBpbiBhbiBleGNlcHRpb24KCSAgdGhyb3duIGZyb20gY3ZNYXRjaFRlbXBsYXRlLCBiZWNhdXNlICJkaXN0X2ltYWdlIiAodGhlIGludGVybWVkaWF0ZQoJICBtYXRjaC1jZXJ0YWludHktZGlzdHJpYnV0aW9uKSB3YXMgdGhlIHdyb25nIHNpemUgKGJlY2F1c2UgdGhlCgkgIHRlbXBsYXRlIGltYWdlIHNpemUgaGFkIGNoYW5nZWQpLgoJICBMb2NraW5nIGhhcyBhbHNvIGJlZW4gYWRkZWQgdG8gYWxsb3cgY2hhbmdpbmcgdGhlIHByb3BlcnRpZXMgKGUuZy4gdGhlCgkgIHBhdHRlcm4gdG8gbWF0Y2gpIHdoaWxlIHRoZSBwaXBlbGluZSBpcyBwbGF5aW5nLgoJICAqIGdzdF9lbGVtZW50X3Bvc3RfbWVzc2FnZSBpcyBtb3ZlZCBvdXRzaWRlIG9mIHRoZSBsb2NrLCBiZWNhdXNlIGl0IHdpbGwKCSAgY2FsbCBpbnRvIGFyYml0cmFyeSB1c2VyIGNvZGUgKG90aGVyd2lzZSwgaWYgdGhhdCB1c2VyIGNvZGUgY2FsbHMgaW50bwoJICBnc3RfdGVtcGxhdGVtYXRjaF9zZXRfcHJvcGVydHkgb24gdGhpcyBzYW1lIHRocmVhZCBpdCB3b3VsZCBkZWFkbG9jaykuCgkgICogZ3N0X3RlbXBsYXRlX21hdGNoX2xvYWRfdGVtcGxhdGU6IElmIHdlIGZhaWwgdG8gbG9hZCB0aGUgbmV3IHRlbXBsYXRlCgkgIHdlIHN0aWxsIHVubG9hZCB0aGUgcHJldmlvdXMgdGVtcGxhdGUsIHNvIHRoaXMgZWxlbWVudCBiZWNvbWVzIGEgbm8tb3AKCSAgaW4gdGhlIHBpcGVsaW5lLiBUaGUgYWx0ZXJuYXRpdmUgd291bGQgYmUgdG8ga2VlcCB0aGUgcHJldmlvdXMgdGVtcGxhdGU7CgkgIEkgYmVsaWV2ZSB1bmxvYWRpbmcgdGhlIHByZXZpb3VzIHRlbXBsYXRlIGlzIGEgYmV0dGVyIGNob2ljZSwgYmVjYXVzZSBpdAoJICBpcyBjb25zaXN0ZW50IHdpdGggdGhlIHN0YXRlIHRoaXMgZWxlbWVudCB3b3VsZCBiZSBpbiBpZiBpdCBmYWlscyB0bwoJICBsb2FkIHRoZSB2ZXJ5IGZpcnN0IHRlbXBsYXRlIGF0IHN0YXJ0LXVwLgoJICBUaGFua3MgdG8gV2lsbCBNYW5sZXkgZm9yIHRoZSBidWxrIG9mIHRoaXMgd29yazsgYW55IGVycm9ycyBhcmUgcHJvYmFibHkKCSAgbWluZS4KCjIwMTItMDYtMDEgMTY6MDc6MzQgKzAxMDAgIERhdmlkIFJvdGhsaXNiZXJnZXIgPGRhdmlkLnJvdGhsaXNiZXJnZXJAeW91dmlldy5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgdGVtcGxhdGVtYXRjaDogUGFzcyB2aWRlbyB0aHJvdWdoIHdoZW4gbm90aGluZyB0byBtYXRjaCBhZ2FpbnN0CgkgIFRoZSBlYXJseSByZXR1cm4gd2FzIGJ5cGFzc2luZyB0aGUgY2FsbCB0byBnc3RfcGFkX3B1c2guIFdpdGggbm8KCSAgZmlsdGVyLT50ZW1wbGF0ZSAoYW5kIHRodXMgbm8gZmlsdGVyLT5jdlRlbXBsYXRlSW1hZ2UpIHRoZSByZXN0IG9mIHRoaXMKCSAgZnVuY3Rpb24gaXMgZXNzZW50aWFsbHkgYSBuby1vcCAoZXhjZXB0IGZvciB0aGUgY2FsbCB0byBnc3RfcGFkX3B1c2gpLgoJICBUaGlzIChwbHVzIHRoZSBwcmV2aW91cyBjb21taXQpIGFsbG93cyB0ZW1wbGF0ZW1hdGNoIHRvIGJlCgkgIGVuYWJsZWQvZGlzYWJsZWQgd2l0aG91dCByZW1vdmluZyBpdCBlbnRpcmVseSBmcm9tIHRoZSBwaXBlbGluZSwgYnkKCSAgc2V0dGluZy91bnNldHRpbmcgdGhlIHRlbXBsYXRlIHByb3BlcnR5LgoKMjAxMi0wNi0yMCAxNTowNTowNiArMDEwMCAgV2lsbGlhbSBNYW5sZXkgPHdpbGxpYW0ubWFubGV5QHlvdXZpZXcuY29tPgoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIHRlbXBsYXRlbWF0Y2g6IFJlbW92ZSBuby1vcCBjYWxsIHRvIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUKCSAgV2UgaGF2ZSBqdXN0IHNldCBmaWx0ZXItPnRlbXBsYXRlIHRvIE5VTEwsIHNvCgkgIGdzdF90ZW1wbGF0ZW1hdGNoX2xvYWRfdGVtcGxhdGUgZGlkIG5vdGhpbmcuCgoyMDE0LTA3LTA4IDE5OjE4OjQ4IC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogY2xhcmlmeSB1bml0cyBmb3IgZnJlcSBhbmQgc3ltYm9sLXJhdGUKCjIwMTQtMDctMDcgMTg6NTI6MjAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogYWRkIHByZWxpbWluYXJ5ICBzdXBwb3J0IGZvciBJU0RCLVQvVGIKCSAgSVNEQi1UIGFuZCBJU0RCLVRiICh0aGUgQnJhemlsaWFuIHZhcmlhbnQpIGFyZSB0aGUKCSAgdGVycmVzdGlhbCBEVFYgc3RhbmRhcmRzIHVzZWQgYnkgSmFwYW4sIFBoaWxpcHBpbmVzLAoJICBNYWxkaXZlcywgVGhhaWxhbmQsIG1vc3QgU291dGggQW1lcmljYW4gY291bnRyaWVzCgkgIGFuZCBCb3Rzd2FuYS4gQ2hhbmdlc2V0IGFkZHMgdGhlIHNldCBvZiBwcmV2aW91c2x5CgkgIG1pc3NpbmcgKGFuZCByZXF1aXJlZCkgSVNEQi1UIHBhcmFtZXRlcnMsIGFkYXB0ZXIKCSAgYW5kIGZyb250ZW5kIHNldHVwIGxvZ2ljIGFuZCBwcm94aWVzIHRoZSBuZXcKCSAgcHJvcGVydGllcyBvbiBkdmJiYXNlYmluLgoJICBUZXN0ZWQgdG8gd29yayB3aXRoIHRoZSBsaXZlIGFlcmlhbCBicm9hZGNhc3QgYnkKCSAgVHYgUGFyYcOtYmEgSEQgaW4gQ2FtcGluYSBHcmFuZGUgKEJyYXppbCkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI4NzUKCjIwMTQtMDctMDUgMDM6MDg6MDAgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogbWFrZSBzbG9mL2xvZjEvbG9mMiBzZXR0YWJsZSBwcm9wZXJ0aWVzCgkgIEFsbG93cyBwcm9wZXIgdHVuaW5nIGFyb3VuZCBoaWdoL2xvdyBiYW5kIGJvdW5kYXJpZXMgd2hlbiB1c2luZwoJICBub24gInN0YW5kYXJkIiBMTkJzLgoJICBOb3QgYWxsIExOQnMgKExvdyBub2lzZSBibG9jayBkb3duIGNvbnZlcnRlcnMpIGFyZSBtYWRlIGVxdWFsLgoJICBUaGlzIGlzIHBhcnRpY3VsYXJseSB0cnVlIGZvciB1bml2ZXJzYWwgTE5CRnMsIHdoZXJlLCBldmVuIHRob3VnaAoJICB0aGVyZSBhcmUgc2VlbWluZ2x5IHN0YW5kYXJkIHZhbHVlcyBmb3IgdGhlIGxvY2FsIG9zY2lsbGF0b3IKCSAgZnJlcXVlbmNpZXMsIHRoZXNlIGNhbiB2YXJ5IGZyb20gbWFudWZhY3R1cmVyIHRvIG1hbnVmYWN0dXJlcgoJICBhbmQgTE5CIG1vZGVsLiBDaGFuZ2UgYWxzbyBwcm94aWVzIHRoZSBuZXcgTE5CIHByb3BlcnRpZXMgaW4KCSAgZHZiYmFzZWJpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjgxOAoKMjAxNC0wNy0yNyAxMzoyNjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHNpbGVuY2UgZ3NpZ25hbCB3YXJuaW5nCgkgIGluc3RhbmNlICcweGJsYWgnIGhhcyBubyBoYW5kbGVyIHdpdGggaWQgJzEzJwoKMjAxNC0wNy0yNiAxMzoyNzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBkbyBub3QgZ2l2ZSByZWZlcmVuY2VzIHRvIHByb2JlcwoJICBUaGV5IGFyZSBrZXB0IHVudGlsIHRoZSBwcm9iZXMgYXJlIHJlbW92ZWQgYnV0IHRoZXkgd2lsbCBuZXZlciBiZQoJICByZW1vdmVkIGFzIHRoZSByZWZjb3VudCBvZiB0aGUgZWxlbWVudCB3b24ndCBnZXQgdG8gMCBiZWNhdXNlIHRoZQoJICBwcm9iZXMgb3duIHJlZmVyZW5jZXMgKGN5Y2xpYyByZWZzKS4gQXMgdGhlIHByb2JlcyBzaG91bGQgb25seSBiZQoJICBydW5uaW5nIGFzIGxvbmcgYXMgdGhlIGVsZW1lbnQgaXMgcnVubmluZyB0aGVyZSBpcyBubyBuZWVkIHRvCgkgIHNlY3VyZSBhIHJlZiBmb3IgdGhlbS4KCSAgUmVtb3ZlcyAzIGxlYWtlZCByZWZzIG9mIHdyYXBwZXJjYW1lcmFiaW5zcmMKCjIwMTQtMDctMjYgMTI6NDY6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiB1c2UgZ3N0X29iamVjdF9yZWYgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdHJhY2sgcmVmcwoJICBIZWxwcyBkZWJ1Z2dpbmcKCjIwMTQtMDctMjYgMTI6Mzg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0Bvc2cuc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogdW5yZWYgcmVxdWVzdCBwYWRzCgkgIERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgb3V0cHV0LXNlbGVjdG9yIHJlcXVlc3RlZCBwYWRzCgoyMDE0LTA0LTIxIDIzOjA1OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuaDoKCSAganBlZ3BhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzU2CgoyMDE0LTA3LTI0IDEyOjI1OjM2ICswMzAwICBWYXNpbGlzIExpYXNrb3ZpdGlzIDx2bGlhc2tvdkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbHdpbmRvdy8xMTogRW1pdCBzaWduYWxzIGZvciBtb3VzZSBhbmQga2V5IG5hdmlnYXRpb24gZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMjQgMTI6MjM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkgIGdsd2luZG93OiBDb25zdGlmeSBzdHJpbmcgcGFyYW1ldGVycyB0byB0aGUgc2VuZF8qX2V2ZW50KCkgZnVuY3Rpb25zCgoyMDE0LTA3LTI0IDEzOjA1OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogcmVtb3ZlIGV4dHJhIGFyZ3VtZW50IGZyb20gZGVidWcgY2FsbAoKMjAxNC0wNy0wNyAwMDoyMDowMSArMDMwMCAgVmFzaWxpcyBMaWFza292aXRpcyA8dmxpYXNrb3ZAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogQWRkIG5hdmlnYXRpb24gaW50ZXJmYWNlIGFuZCBjYWxsYmFja3MgZm9yIEdzdEdMV2luZG93IG1vdXNlL2tleSBzaWduYWxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMDYgMjM6Mzk6NDcgKzAzMDAgIFZhc2lsaXMgTGlhc2tvdml0aXMgPHZsaWFza292QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgR3N0R0xXaW5kb3cgOiBBZGQgbW91c2UtZXZlbnQgYW5kIGtleS1ldmVudCBzaWduYWxzIGZvciBuYXZpZ2F0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0ODYKCjIwMTQtMDctMjMgMTA6MjU6MzEgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGV4dC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSAgZ2w6IGZpeCBtdWx0aSBnbCBvYmplY3QgbGVha3MKCSAgMS4gZml4IEZCTyBsZWFrcyBpbiBkZWNpZGVfYWxsb2NhdGlvbgoJICAyLiBmaXggdGV4dHVyZSBsZWFrcyBpbiBkZWNpZGVfYWxsb2NhdGlvbiBhbmQgcmVzZXQKCSAgMy4gZml4IHRleHR1cmUgbGVha3MgaW4gRkJPIGluY29tcGxldGUgZXJyb3IgcGF0aAoKMjAxNC0wNy0yMyAxMzo1NTowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogb25seSBmbHVzaCBidWZmZXJzIGlmIHJlbmVnb3RpYXRpb24gaXMgbmVlZGVkCgkgIFRoaXMgYXZvaWQgZXh0cmEgb3ZlcmhlYWQgd2hlbiB0YWtpbmcgc2VxdWVudGlhbCBwaWN0dXJlcyB0aGF0IHdvdWRsbid0CgkgIG5lZWQgcmVuZWdvdGlhdGlvbgoKMjAxNC0wNy0yMyAxMzozNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQG9zZy5zYW1zdW5nLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IGhhbmRsZSBFT1Mgb24gdGhlIHBpcGVsaW5lCgkgIE1ha2UgY2FtZXJhYmluIGhhbmRsZSBFT1MgdG8gdGhlIHBpcGVsaW5lIHRvIGFsbG93IHN0YW5kYXJkIHBpcGVsaW5lCgkgIGNsb3NlIHdoZXJlIGFuIEVPUyBpcyBzZW50IHRvIHRoZSB3aG9sZSBwaXBlbGluZSBiZWZvcmUgc2V0dGluZyBpdCB0byBOVUxMLgoKMjAxNC0wNy0yMSAxODoyMjoxOCArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG8gbm90IHNjYW4gZm9yIGtleWZyYW1lIHdoZW4gaW4gcHVzaCBtb2RlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDkwCgoyMDE0LTA3LTIxIDE4OjIxOjQxICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEbyBub3Qgc2NhbiBmb3IgYSBrZXlmcmFtZSBpbiBub24tYWNjdXJhdGUgbW9kZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzQ5MAoKMjAxNC0wNy0wMSAxMDoyNDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHJlbW92ZSBvYnNvbGV0ZSBjb2RlCgkgIEJ1ZmZlcnMgaGF2ZSBubyBjYXBzIGluIDEuMAoKMjAxNC0wNy0wMSAxMDowNzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwcGF5OiBwdXQgYWxsIHN0aWNreSBldmVudHMgaW4gc3RyZWFtaGVhZGVyCgkgIFVzZSB0aGUgc3RpY2t5IGV2ZW50cyB0byBjb21wb3NlIHRoZSBzdHJlYW1oZWFkZXIgYXMgdGhleSBhcmUgdGhlCgkgIG9uZXMgdGhhdCBhcmUgcGVyc2lzdGVkIHRvIGNvbmZpZyBuZXcgcGFkcyBsaW5rZWQuIEluc3RlYWQgb2Ygc3RvcmluZwoJICB0aGVtIG91cnNlbHZlcyByZWx5IG9uIHRoZSBwYWQgc3RvcmFnZSB0aGF0IGFscmVhZHkgb3JkZXJzIGl0IGZvciB1cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTk2CgoyMDE0LTA3LTIxIDIxOjAzOjI2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBpbXByb3ZlIGVudW0gR3N0RmFjZURldGVjdFVwZGF0ZXMgZGVzY3JpcHRpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MDkKCjIwMTQtMDUtMjEgMTI6NTk6NTcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IG1ha2UgdXBkYXRlcyBvbl9jaGFuZ2Ugd29ya3MgYXMgZXhwZWN0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUwOQoKMjAxNC0wNy0yMiAxMjo0MjozNiArMDUzMCAgU2FuamF5IE5NIDxzYW5qYXkubm1Ac2Ftc3VuZy5jb20+CgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJICBwbm1lbmM6IFBvcnQgUE5NIEVuY29kZXIgdG8gdXNlIEdzdFZpZGVvRW5jb2RlciBDbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTQzCgoyMDE0LTA2LTE4IDExOjQ0OjU0ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuYzoKCSAgcG5tZGVjOiBQYXRjaCB0byBoYW5kbGUgbWF4IHZhbHVlCgkgIENvbnZlcnQgdGhlIGltYWdlIHZhbHVlcyBmcm9tIDAtbWF4dmFsdWUgdG8gMC0yNTUgd2hlbgoJICAnZGVjb2RpbmcnIHRoZSBwbm0gaW1hZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc3MwoKMjAxNC0wNy0xNSAxNjo0Mjo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGVkZWM6IGhhbmRsZSBzZWdtZW50IGV2ZW50IGVhcmxpZXIKCSAgRGVsYXlpbmcgdGhlIHNlZ21lbnQgZXZlbnQgdG8gd2hlbiBjYXBzIGFyZSBkZWNpZGVkIGNhbiBjYXVzZSBpc3N1ZXMgYXMKCSAgdGhlIGZpcnN0IHRoaW5nIGthdGVkZWMgZG9lcyBvbiBpdHMgY2hhaW4gZnVuY3Rpb24gaXQgZG9pbmcgYSBzZWdtZW50IGNsaXAuCgkgIEl0IHdpbGwgbGVhZCB0byBhbiBhc3NlcnRpb24gaWYgdGhlIHNlZ21lbnQgZm9ybWF0IGlzIHVuZGVmaW5lZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMjI2CgoyMDE0LTA3LTE1IDE2OjQxOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogaGFuZGxlIHN0cmVhbWhlYWRlcnMgaW4gY2FwcwoJICBQcm9wZXJseSBoYW5kbGUgdGhlIGNhcHMgZXZlbnQgYnkgY29uZmlndXJpbmcgdGhlIGthdGUgZGVjb2RpbmcgbGliIHVzaW5nIHRoZQoJICBhdmFpbGFibGUgc3RyZWFtaGVhZGVycy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSB0byBkZWNvZGUga2F0ZSBzdWJ0aXRsZXMgd2hlbgoJICB0aGUgc3RyZWFtIGlzIHNlZWtlZCBiZWZvcmUga2F0ZWRlYyBnZXRzIHRoZSBpbml0aWFsIGJ1ZmZlcnMgdGhhdCBhcmUgdXN1YWxseQoJICB0aGUgc3RyZWFtaGVhZGVycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzIyNgoKMjAxNC0wNy0yMSAxNzozNDo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmpwZWc6IERvbid0IHJlbWVtYmVyIC1sb3BlbmpwMiBhcyBsaWJzIHdoZW4gZmFsbGluZyBiYWNrIHRvIG9wZW5qcGVnMQoKMjAxNC0wNy0yMSAxMTowNzoyOCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsOiBSZW9yZGVyIENGTEFHUyB0byBpbmNsdWRlIGluLXNvdXJjZSBkaXJzIGZpcnN0IGluIGV4YW1wbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzM0MjYKCjIwMTQtMDUtMDYgMDk6Mjg6MTQgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuanBlZzogV2luMzItY29tcGF0aWJsZSBPcGVuSlBFRy0yLjAgZGV0ZWN0aW9uCgkgIE9wZW5KUEVHIDIuMCBBUEkgdXNlcyBzdGRjYWxsIG9uIFczMiBieSBkZWZhdWx0LiBUaGlzIHByZXZlbnRzIG5vcm1hbAoJICBhdXRvY29uZiBsaWJyYXJ5IG1hY3JvcyBmcm9tIGZpbmRpbmcgaXRzIGZ1bmN0aW9ucy4KCSAgQSBtb3JlIGNvbXBhdGlibGUgY2hlY2sgaXMgdG8gYWN1dGFsbHkgbGluayBhIHByb2dyYW0gdGhhdCBpbmNsdWRlcyBhCgkgIHJlYWwgaGVhZGVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzNDg3CgoyMDE0LTA3LTIxIDEwOjE0OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogZXJyb3I6IHZhcmlhYmxlICdvbmlfdHMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlciAnaWYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3NTI6MjY6IG5vdGU6IHVuaW5pdGlhbGl6ZWQgdXNlIG9jY3VycyBoZXJlCgkgIEdTVF9CVUZGRVJfUFRTIChidWYpID0gb25pX3RzIC0gc3JjLT5vbmlfc3RhcnRfdHM7CgkgIF5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTA6IG5vdGU6IHJlbW92ZSB0aGUgJ2lmJyBpZiBpdHMgY29uZGl0aW9uIGlzIGFsd2F5cyB0cnVlCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjcyMToxNDogZXJyb3I6IHZhcmlhYmxlICdvbmlfdHMnIGlzIHVzZWQgdW5pbml0aWFsaXplZCB3aGVuZXZlciAnJiYnIGNvbmRpdGlvbiBpcyBmYWxzZSBbLVdlcnJvciwtV3NvbWV0aW1lcy11bmluaXRpYWxpemVkXQoJICB9IGVsc2UgaWYgKHNyYy0+Y29sb3ItPmlzVmFsaWQgKCkgJiYgc3JjLT5zb3VyY2V0eXBlID09IFNPVVJDRVRZUEVfQ09MT1IpIHsKCSAgXn5+fn5+fn5+fn5+fn5+fn5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3NTI6MjY6IG5vdGU6IHVuaW5pdGlhbGl6ZWQgdXNlIG9jY3VycyBoZXJlCgkgIEdTVF9CVUZGRVJfUFRTIChidWYpID0gb25pX3RzIC0gc3JjLT5vbmlfc3RhcnRfdHM7CgkgIF5+fn5+fgoJICBnc3RvcGVubmkyc3JjLmNwcDo3MjE6MTQ6IG5vdGU6IHJlbW92ZSB0aGUgJyYmJyBpZiBpdHMgY29uZGl0aW9uIGlzIGFsd2F5cyB0cnVlCgkgIH0gZWxzZSBpZiAoc3JjLT5jb2xvci0+aXNWYWxpZCAoKSAmJiBzcmMtPnNvdXJjZXR5cGUgPT0gU09VUkNFVFlQRV9DT0xPUikgewoJICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+CgkgIGdzdG9wZW5uaTJzcmMuY3BwOjY0MjoxODogbm90ZTogaW5pdGlhbGl6ZSB0aGUgdmFyaWFibGUgJ29uaV90cycgdG8gc2lsZW5jZSB0aGlzIHdhcm5pbmcKCSAgdWludDY0X3Qgb25pX3RzOwoJICBeCgkgID0gMAoKMjAxNC0wNy0xNyAxNjoyNTo1NCArMDIwMCAgRmFicmljZSBCZWxsZXQgPGZhYnJpY2VAYmVsbGV0LmluZm8+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIHBhcnNlcjogbXBlZzQ6IGZpeCB2bGMgdGFibGUgdXNlZCBmb3Igc3ByaXRlIHRyYWplY3RvcnkKCSAgVGhlIHZsYyB0YWJsZSBtZW1iZXJzIGNiaXRzLCBjd29yZCBhbmQgdmFsdWVzIHdlcmUgYXNzaWduZWQgaW4gdGhlIHdyb25nCgkgIG9yZGVyLCBjYXVzaW5nIHRoZSBtcGVnNCBwYXJzZXIgdG8gZmFpbCB3aGVuIGhhbmRsaW5nIHNwcml0ZQoJICB0cmFqZWN0b3JpZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzMzMjIKCjIwMTQtMDctMTggMTU6MDk6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHN0YXRpc3RpY3MgbWVzc2FnZSBtb3JlIGdlbmVyaWMgZm9yIG90aGVyIGFkYXB0aXZlIHN0cmVhbWluZyBkZW11eGVycyB0byByZXVzZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1ODI4CgoyMDE0LTAyLTI1IDExOjU4OjU3ICswMTAwICBBbGV4YW5kZXIgWmFsbGVzb3YgPHphbGxlc292QGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3ZpZGUgc3RhdGlzdGljcyBhYm91dCB0aW1lIHRvIGRvd25sb2FkIHBsYXlsaXN0cyBhbmQgZnJhZ21lbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4MjgKCjIwMTQtMDctMTkgMTg6MDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuNC4wID09PQoKMjAxNC0wNy0xOSAxNzoyNzoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS40LjAKCjIwMTQtMDctMTkgMTY6NDU6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNy0xOSAxMjo0Nzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNy0xNiAxODoyNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHNldCBzcmMgdG8gcmVhZHkgd2hlbiB0aGVyZSBhcmUgbm8gcGVuZGluZyBidWZmZXJzCgkgIFNldHRpbmcgdG8gcmVhZHkgd2lsbCBibG9jayB3YWl0aW5nIGZvciBidWZmZXJzIHRvIGJlIHJlY2xhaW1lZCwgc28gZmx1c2gKCSAgYmVmb3JlIHNldHRpbmcgdG8gbnVsbCB0byBtYWtlIHN1cmUgbm8gYnVmZmVycyBhcmUgcGVuZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDcyCgoyMDE0LTA3LTE3IDEwOjA1OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIGV4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gb2YgZ2wgZnh0ZXN0IGV4YW1wbGUgb24gd2luMzIgd2l0aCBHdGsrIDMuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDYzCgoyMDE0LTA3LTE3IDAwOjExOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlc3JpbmdidWZmZXI6IFByb3ZpZGUgdGhlIHNpemUgb2Ygb3VyIGFycmF5IHRvIEdldERlc3RpbmF0aW9uT3V0cHV0RGV2aWNlSURzCgkgIE90aGVyd2lzZSBpdCBkb2VzIG5vdCBhbmQganVzdCBmYWlscy4gSXQgbmVlZHMgdG8ga25vdyB0aGUgc2l6ZSBvZiB0aGUKCSAgYXJyYXkgdG8gbm90IHdyaXRlIHRvbyBtdWNoIHRvIGl0LgoKMjAxNC0wNy0xNyAwMDoxMToyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXNzaW5rOiBTaWxlbmNlIHNvbWUgZXJyb3IgZGVidWcgb3V0cHV0IHRvIGxvZyBvdXRwdXQKCSAgVGhlc2UgYXJlIG5vdCByZWFsbHkgZXJyb3JzLCBqdXN0IHVuc3VwcG9ydGVkIGZlYXR1cmVzIHdlIGRvbid0CgkgIG5lY2Vzc2FyaWx5IG5lZWQuCgoyMDE0LTA3LTE2IDE2OjU3OjM1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IFJlc2V0IGZsb3dfcmV0dXJuICphZnRlciogc3RvcHBpbmcgdGhlIHNyY3BhZCB0YXNrLgoJICBPdGhlcndpc2UgaXQgbWlnaHQgYmUgc2V0IGluIGFuIGFscmVhZHkgcnVubmluZyBhZ2dyZWdhdGUgZnVuY3Rpb24uCgoyMDE0LTA3LTEwIDEzOjE4OjIxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEZsdXNoIHNpbmtwYWRzIHdoZW4gc3RvcHBpbmcKCSAgQWxsIHZhbHVlcyBhcmUgbWVhbmluZ2xlc3MgaW4gdGhhdCBjYXNlLCBzbyB3ZSBzaG91bGQgbWFrZSBzdXJlIHRoYXQKCSAgd2UgY2xlYW4gZXZlcnl0aGluZwoKMjAxNC0wNy0xMCAxMzoxNTo1NSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBEbyBub3QgZm9yZ2V0IHRvIHJlc2V0IHRoZSBmbG93IHJldHVybiB3aGVuIHN0b3BpbmcKCSAgU2V0dGluZyBpdCB0byBGTFVTSElORyB3aGVuIHRoZSBlbGVtZW50IGlzIG5vdCBzdGFydGVkLCBhbmQgdG8gT0sKCSAgd2hlbiBpdCBzdGFydHMuCgoyMDE0LTA3LTA4IDE2OjQ4OjA4ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IEhhbmRsZSBldmVudCBzZXFudW0KCjIwMTQtMDctMTMgMTY6MDc6MDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14Zm11eDogQXZvaWQgdGFraW5nIHVubmVjZXNzYXJ5IHJlZgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMTIzCgoyMDE0LTA3LTE2IDE2OjMxOjI3ICswMzAwICBNYXJ0IFJhdWRzZXBwIDxsZWlvQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBJbmNsdWRlIEdMX0NGTEFHUyB3aGlsZSBjaGVja2luZyBmb3IgR0wgdHlwZWRlZnMKCSAgT3RoZXJ3aXNlIHRob3NlIGNoZWNrcyBtYXkgZmFpbCBhdCBjb25maWd1cmUgdGltZSBpZiB0aGV5IGNvbnRhaW4gZXh0cmEKCSAgaW5jbHVkZSBwYXRocywgd2hpbGUgYXQgYnVpbGQgdGltZSB0aGV5IGFyZSBpbmNsdWRlZCwgcG90ZW50aWFsbHkgY2F1c2luZwoJICBpbmNvbXBhdGlibGUgdHlwZWRlZnMgYmV0d2VlbiBzeXN0ZW0gR0wgaGVhZGVycyBhbmQgZ3N0cmVhbWVyIGNvbXBhdGliaWxpdHkKCSAgcHJvdG90eXBlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzI0OAoKMjAxNC0wNy0xNiAxNjoyOToxMCArMDMwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogQWx3YXlzIGluY2x1ZGUgRUdMX0NGTEFHUyBpbiBHTF9DRkxBR1Mgd2hlbiBFR0xfTElCUyBpcyBhZGRlZCB0byBHTF9MSUJTCgkgIFRoZXkgc2hvdWxkIGJlIGhhbmRsZWQgaW4gdGFuZGVtLCBpbiBjYXNlIGFueSBFR0wgcHJvdmlkZXIgY291bGQgcmVxdWlyZSBzb21lCgkgIENGTEFHUyBhbmQgc2V0IHRoZW0gKHBvc3NpYmx5IG9uY2UgbW92ZWQgdG8gcHJlZmVyIHBrZy1jb25maWcgZmlsZXMpLAoJICBzdWNoIGFzIGZvciBhIGN1c3RvbSBoZWFkZXIgbG9jYXRpb24uCgoyMDE0LTAzLTE3IDE2OjA5OjQ2ICswMTAwICBQaW90ciBEcsSFZyA8cGlvdHJkcmFnQGdtYWlsLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJICBwbzogdXBkYXRlIFBPVEZJTEVTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjY1NTUKCjIwMTQtMDctMTUgMTM6Mjk6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBPcGVuIERpcmVjdDNEIGRldmljZXMgaW4gYSB0aHJlYWRzYWZlIHdheQoJICBPdGhlcndpc2Ugd2UnbGwgZ2V0IGNyYXNoZXMgd2hlbiB1c2luZyB0aGUgZGV2aWNlIGZyb20gbXVsdGlwbGUKCSAgdGhyZWFkcywgZS5nLiB3aGVuIHVzaW5nIG11bHRpcGxlIHNpbmtzIGF0IG9uY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc1MjMKCjIwMTQtMDctMTEgMjE6MTU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IEluY2x1ZGUgZ3N0LmggYW5kIG90aGVyIHN0dWZmIGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDE0LTA3LTExIDEwOjQwOjQyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IGNhcHMgZmlsdGVyIGNhcHMgcHJveHlpbmcKCSAgVGhlIG5vdGlmeSBzaWduYWwgaXMgdHJpZ2dlcmVkIHdoZW4gY2FwcyBpcyBjaGFuZ2VkLiBCdXQgaW5zdGVhZCBvZgoJICBwcm94eWluZyB0aGUgZml4ZWQgY2Fwcywgd2UgcXVlcnkgZm9yIHRoZSBjYXBzLiBIZW5jZSwgd2hlbiB3ZSBnbyB0bwoJICBSRUFEWSBzdGF0ZSwgd2UgZW5kdXAgc2V0dGluZyB0ZW1wbGF0ZSBjYXBzIG9uIHRoZSBwcm94aWVkIGNhcHMKCSAgZmlsdGVyIGluc3RlYWQgb2YgTlVMTCwgd2hpY2ggbGVhZHMgdG8gbmVnb2l0YXRpb24gZmFpbHVyZS4gQ29ycmVjdGx5CgkgIHByb3h5IE5VTEwgY2FwcyBpZiB0aGlzIGlzIHRoZSBuZXcgY2Fwcy4gRml4ZXMgbm90IG5lZ290aWF0ZWQgZXJyb3IKCSAgd2hlbiBydW5uaW5nIGluIGNoZWVzZS4gQWxzbyBmaXggYSBsZWFrIG9mIGNhcHMgc3RyaW5nIGluIG9uZSBvZiB0aGUKCSAgdHJhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDEKCjIwMTQtMDctMTEgMTM6NTg6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBBbHdheXMgYnVpbGQgZ3N0Z2xtaXhlciwgbm90IG9ubHkgd2hlbiBmdWxsIE9wZW5HTCBzdXBwb3J0IGlzIGVuYWJsZWQKCjIwMTQtMDctMTEgMTM6MjU6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybDogVXNlIHdpbnNvY2syIGluc3RlYWQgYW5kIHRoZSBHTGliIG1hY3JvIGZvciBjaGVja2luZyBpZiB3ZSdyZSBvbiBXaW5kb3dzCgoyMDE0LTA3LTExIDEzOjI1OjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIG1vdGlvbmNlbGxzOiBVc2Ugbm8gbmV0d29yayBBUEkgaWYgbm90IHJlcXVpcmVkCgoyMDE0LTA3LTExIDEzOjIxOjIxICswMjAwICBBbGV4ZXkgUGF2bG92IDxhbGV4cHV4QGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSAgZXh0OiBJbmNsdWRlIHdpbnNvY2suaCBvbiBXaW5kb3dzIHdoZW4gcmVxdWlyZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMzA1MgoKMjAxNC0wNy0xMSAxMjoxMzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjkxCgoyMDE0LTA3LTExIDEyOjA0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGdsOiBMaW5rIHRvIGFsbCByZXF1aXJlZCBsaWJyYXJpZXMgYnV0IG5vdCBtb3JlCgoyMDE0LTA3LTExIDEyOjAxOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICB2aWRlbzogUHJvcGVybHkgaW5jbHVkZSBoZWFkZXJzIGluIE1ha2VmaWxlLmFtCgkgIGFuZCBkb24ndCBzZXQgbm9pbnN0X0hFQURFUlMgdHdpY2UuCgoyMDE0LTA3LTExIDExOjA1OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTQtMDctMTEgMDk6NDM6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXRkZWM6IENoYW5nZSByYW5rIHRvIE1BUkdJTkFMIHVudGlsIGl0IGNhbiBwcm9wZXJseSBoYW5kbGUgbXVsdGljaGFubmVsIGF1ZGlvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc3NTcKCjIwMTQtMDctMTEgMDk6NDE6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZXh0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZXh0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSAgZ2w6IE1vdmUgR3N0R0xNaXhlciB0byB0aGUgcGx1Z2luIGZvciBub3cKCSAgSXQgZGVwZW5kcyBvbiBHc3RBZ2dyZWdhdG9yIGFuZCB3ZSBkb24ndCB3YW50IHRvIGluc3RhbGwgaGVhZGVycwoJICBmb3IgdGhhdCB5ZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDcKCjIwMTQtMDctMTEgMDk6MzM6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJICBsaWJzOiBEb24ndCBpbnN0YWxsIGhlYWRlcnMgYW5kIHBjIGZpbGVzIGZvciBsaWJnc3R3YXlsYW5kL2JhZHZpZGVvL2JhZGJhc2UKCSAgVGhlc2Ugd2lsbCBkaXNhcHBlYXIgYWZ0ZXIgMS40LjAgYW5kIGl0IHdvdWxkIGJlIHJhdGhlciBhbm5veWluZyBpZgoJICBwZW9wbGUgc3RhcnRlZCBkZXBlbmRpbmcgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwNwoKMjAxNC0wNy0xMCAxNTo1Mjo0NiArMDEwMCAgUGhpbGlwIFdpdGhuYWxsIDxwaGlsaXAud2l0aG5hbGxAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBGaXggYSBkb3VibGUtdW5yZWYgaW4gdGhlIE9wdXMgaGVhZGVyIGNvZGUKCSAgVGhlIGhlYWRlcnMgd2VyZSBuZXZlciBnZXR0aW5nIHJlZmZlZCB3aGVuIGJlaW5nIGFkZGVkIHRvIHRoZSBoZWFkZXJzCgkgIGxpc3QsIHdoaWNoIGlzIGxhdGVyIHVucmVmZmVkLWFuZC1mcmVlZCBieSB0aGUgY2FsbGVyIChlLmcuCgkgIGdzdF9vcHVzX3BhcnNlX3BhcnNlX2ZyYW1lKCkpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzMDEzCgoyMDE0LTA3LTExIDA4OjU0OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogcG8vdmkucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA3LTEwIDExOjI5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIENBVCBzZWN0aW9uIGFuZCBDQSBkZXNjcmlwdG9yIHN1cHBvcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk4NgoKMjAxNC0wNy0xMCAxMToyNDoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgcGFyc2luZyBmb3IgQ0EgZGVzY3JpcHRvciAoMHgwNSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjk4NgoKMjAxNC0wNy0wNyAxMTo1MjoxOCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEZsdXNoIGRvd25zdHJlYW0gYWZ0ZXIgc2V0dGluZyBzcmMgdG8gUkVBRFkKCSAgdjRsMnNyYyByZXF1aXJlcyBhbGwgYnVmZmVycyB0byBjb21lIGJhY2sgaW4gb3JkZXIgdG8gY2xlYW5seSBzdG9wCgkgIHN0cmVhbWluZy4gRmx1c2hpbmcgdGhlIHBpcGxpbmUgc2hvdWxkIGZvcmNlIGFsbCBidWZmZXJzIHRvIGNvbWUKCSAgYmFjay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc0MQoKMjAxNC0wNy0wNiAxMToyODozNCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BDbGllbnQuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL0RDQ1BTZXJ2ZXIuYzoKCSAgdGVzdHMvaWNsZXMvZGNjcDogUmVsZWFzZSByZWZlcmVuY2UgdG8gcGFyZW50CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI5NzcKCjIwMTQtMDctMDkgMTU6MDM6NDIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBLZWVwIGFzcGVjdCByYXRpbyBieSBkZWZhdWx0CgkgIFRoZSBleHBlY3RlZCBkZWZhdWx0IGJlaGF2aW91ciBmb3IgdmlkZW8gc2luayBpcyB0byBtYWludGFpbiB0aGUKCSAgYXNwZWN0IHJhdGlvLiBGaXggdGhlIGRlZmF1bHQgdmFsdWUgdG8gcmVmbGVjdCB0aGlzLiBUaGUgcHJvcGVydHkKCSAgZGVmYXVsdCB3YXMgYWxyZWFkeSBUUlVFLCBidXQgdGhlIHZhbHVlIHdhcyBub3QgaW5pdGlhbGx5IFRSVUUuCgoyMDE0LTA3LTA2IDAxOjU1OjUwICswMjAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAaG90bWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IE5vIG5lZWQgdG8gY2hlY2sgZm9yIE5VTEwgYmVmb3JlIGNhbGxpbmcgZ19mcmVlKCkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc4OQoKMjAxNC0wNy0wNiAwMTo1NToxNiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBEb24ndCBjb25mdXNlIHNsaWNlIGFsbG9jYXRvciB3aXRoIHJlZ3VsYXIgb25lCgkgIFByZXZpb3VzbHkgc2VsZWN0b3JfYnl0ZXMgYW5kIHByaXZhdGVfZGF0YV9ieXRlcyB3ZXJlIHNvbWV0aW1lcyBhbGxvY2F0ZWQgYW5kCgkgIGZyZWUgdXNpbmcgdGhlIG5vcm1hbCBhbGxvY2F0b3IgYW5kIHNvbWV0aW1lcyB1c2luZyB0aGUgc2xpY2UgYWxsb2NhdG9yLgoJICBBZGRpdGlvbmFsbHkgcHJlZmVyIGdfc3RyZHVwKCkgdG8gZ19tZW1kdXAoKSBmb3Igc3RyaW5ncy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjc4OQoKMjAxNC0wNy0wOSAwNzo1MDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBkdmIgbGlua2FnZSBsZWFrcwoJICBDSUQgIzEyMjQxMzAKCjIwMTQtMDctMDQgMTQ6MDQ6NDcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IHVzZSBnZXR0ZXIgZm9yIGVnZGUgbGlua2FnZSBkZXNjcmlwdG9yIHR5cGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNy0wNCAxNDowMjoyMiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBtcGVndHM6IGRvY3M6IGFkZCBtaXNzZWQgKl9mcmVlIG1ldGhvZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yNCAxOToxODo1NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGZpeCBhbm5vdGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDkgMDc6Mzg6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBwYWRkaW5nIHRvIHB1YmxpYyBzdHJ1Y3R1cmVzCgkgIEFsbG93cyB1c2UgdG8gYWRkIEFQSSBpbiB0aGUgZnV0dXJlIHdpdGhvdXQgYnJlYWtpbmcgQUJJLiBXZSBicm9rZSB0aGUgQVBJL0FCSQoJICBvbmNlIGJldHdlZW4gMS4yIGFuZCAxLjQsIGxldCdzIHRyeSB0byBhdm9pZCB0aGlzIGluIHRoZSBmdXR1cmUgZXZlbiBpZiB0aGlzCgkgIGlzIGFuIHVuc3RhYmxlIGxpYnJhcnkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDctMDggMTU6NDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogZml4IGxlYWsgb2Ygc2hvcnQgbmFtZQoKMjAxNC0wNy0wOCAxNDo1NjoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGZpeCBsZWFrIG9mIGxhbmd1YWdlIGNvZGUKCjIwMTQtMDctMDYgMjM6MzA6NTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBGaXggc29tZSBtb3JlIHRoZSBsb2NraW5nIGxvZ2ljIGluIHVwZGF0ZV9zcmNfY2FwcwoJICBXZSBuZWVkIHRoZSBHU1RfT0JKRUNUX0xPQ0sgb25seSB0byBpdGVyYXRlIHRoZSBzaW5rcGFkcywgbm90aGluZyBlbHNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNzUwCgoyMDE0LTA3LTA2IDIyOjE2OjQ4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCBicm9rZW4gbG9ja2luZyBpbiB1cGRhdGVfc3JjX2NhcHMgZnVuY3Rpb24KCSAgV2Ugd291bGQgdW5sb2NrIGFuIGFscmVhZHktdW5sb2NrZWQgbXV0ZXggdGhhdCB3ZSBuZXZlciByZS1sb2NrZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTAKCjIwMTQtMDctMDYgMTY6MTc6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IGZpeCBsb2NraW5nCgkgIFdlIHdvdWxkIHVubG9jayBhIG11dGV4IHdlIG5ldmVyIGxvY2tlZCBvbiBTRUdNRU5UCgkgIGV2ZW50cy4KCjIwMTQtMDctMDQgMjE6MDA6MzggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IE1ha2UgY2FzY2FkZXMgZGlyIGEgbGl0dGxlIG1vcmUgcG9ydGFibGUKCjIwMTQtMDctMDQgMjA6NTU6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJICBoYW5kZGV0ZWN0OiBVc2UgYWxyZWFkeSBtYXBwZWQgaW1hZ2UKCSAgTm8gbmVlZCB0byBtYXAgYWdhaW4gdGhlIGltYWdlLCBpdCdzIGFscmVhZHkgaGFuZGxlZCBieSB0aGUgYmFzZSBjbGFzcy4KCjIwMTQtMDctMDQgMjA6Mzk6NDkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkgIGhhbmRkZXRlY3Q6IE1vdmUgc2l6ZSB3YXJuaW5nIGluIHNldF9jYXBzIHNvIGl0J3MgY2FsbGVkIG9uY2UKCjIwMTQtMDctMDQgMjA6MzM6NDEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkgIGZhY2VibHVyOiBQb3J0IHRvIE9wZW5jdlZpZGVvRmlsdGVyIGJhc2UgY2xhc3MKCSAgVGhpcyBmaXhlcyBpc3N1ZSB3aGl0IGJsYWNrIGZyYW1lcyB3aGVuIHNwZWNpYWwgbWVtb3J5LCBsaWtlIEdsTWVtb3J5IGlzCgkgIGluIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMjA6MzE6NTAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBjdnZpZGVvZmlsdGVyOiBEb24ndCB0cnkgdG8gbWFrZSBidWZmZXIgd3JpdGFibGUKCSAgRmlyc3QgdGhpcyBpcyBoYW5kbGUgYnkgYmFzZSB0cmFuc2Zvcm0sIGhlbmNlIHRoaXMgaXMgYSBuby1vcCwgYW5kIGlmIGl0IHdhc24ndCBpdAoJICB3b3VsZCBsZWFkIHRvIGEgYnVmZmVyIGNvcHkgYmVpbmcgbGVha2VkLCBhbmQgdGhlbiBhbiB1bnJlZmZlZCBidWZmZXIgYmVpbmcKCSAgcHVzaGVkIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMjA6MzA6MjAgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJICBjdnZpZGVvZmlsdGVyOiBDaGVjayBidWZmZXJfbWFwIHJldHVybiB2YWx1ZQoJICBDaGVjayB0aGUgcmVzdHVybiB2YWx1ZSBhbmQgY2xlYW5seSBmYWlsIGlmIHdlIGNvdWxkIG5vdCBtYXBwZWQgdGhlIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NTYKCjIwMTQtMDctMDQgMDM6MTk6NDIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJhc0Bob3RtYWlsLmNvbT4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBQcmludCBpbnZhbGlkIGZvdXJjYyBpbiBlcnJvciBtZXNzYWdlIGluIGhleAoJICBQcmV2aW91c2x5IHRoaXMgd2FzIHByaW50ZWQgYXMgY2hhcmFjdGVycyB3aGljaCBjYXVzZWQgbGF0ZXIgcHJvY2Vzc2luZwoJICBvZiB0aGUgZXJyb3IgbWVzc2FnZSB0byBzb21ldGltZXMgd2FybiBhYm91dCBub24tVVRGLTggY2hhcmFjdGVycy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjcxNQoKMjAxNC0wNy0wNCAwMzoyMDoyMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogUHJpbnQgaW52YWxpZCBmb3VyY2MgaW4gZXJyb3IgbWVzc2FnZSBpbiBoZXgKCSAgUHJldmlvdXNseSB0aGlzIHdhcyBwcmludGVkIGFzIGNoYXJhY3RlcnMgd2hpY2ggY2F1c2VkIGxhdGVyIHByb2Nlc3NpbmcKCSAgb2YgdGhlIGVycm9yIG1lc3NhZ2UgdG8gc29tZXRpbWVzIHdhcm4gYWJvdXQgbm9uLVVURi04IGNoYXJhY3RlcnMuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3MTUKCjIwMTQtMDctMDQgMTc6NTE6NTggKzAyMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGVzIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI3NDQKCjIwMTQtMDctMDEgMTI6MzQ6NDQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEFkZCBwcm9wZXIgY2xlYW4gdXAgb2YgT3Blbk5JMiBvYmplY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTI6MTg6NDUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuaDoKCSAgb3Blbm5pMnNyYzogRG9uJ3QgZW1iZWQgQysrIG9iamVjdHMgaW4gb3VyIEdPYmplY3QKCSAgU2luY2UgQysrIG9iamVjdHMgc2hvdWRsIGJlIHByb3Blcmx5IGNvbnN0cnVjdGVkLCB3ZSBrZWVwIG9ubHkgcG9pbnRlcnMKCSAgdG8gdGhlbSBhbmQgbWFudWFsbHkgY29uc3RydWN0IHRoZW0gb24gdGhlIGhlYXAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTI6MTg6MTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENsb3NlIGRldmljZSB3aGVuIHN0b3BwaW5nIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1ODozNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBGaXggdGltZXN0YW1waW5nCgkgIE9wZW5OSTIgbWFrZXMgbm8gZ3VhcmFudGVlcyBvZiB0aW1lc3RhbXAgc3RhcnRpbmcgZnJvbSB6ZXJvLCBqdXN0IHRoYXQKCSAgaXQgd2lsbCBiZSBhIG1pbGxpc2Vjb25kIHRpbWVzdGFtcC4gTWFrZSB0aW1lc3RhbXBzIHN0YXJ0IGZyb20gemVybwoJICBtYW51YWxseSBzbyB0aGluZ3Mgd29yayBjb3JyZWN0bHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTY6NTkgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE1ha2UgdGhlIGxvY2F0aW9uIHByb3BlcnR5IG5vdCBiZSBtYW5kYXRvcnkKCSAgT3VyIGNhbGxzIHRvIGRldmljZSBvcGVuIGFscmVhZHkgaGFuZGxlIHRoZSB1bnNldCBsb2NhdGlvbiBjYXNlIChieQoJICBvcGVuaW5nIGFueSBhdmFpbGFibGUgZGV2aWNlKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1NjoxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogT3BlbiBkZXZpY2Ugb24gTlVMTC0+UkVBRFkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjUzNQoKMjAxNC0wNy0wMSAxMTo1Mzo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bkBhY2Nvc3RlZC5uZXQ+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IGRlYWRsb2NrIHdoZW4gX2dldF9jYXBzKCkgaXMgY2FsbGVkIGJlZm9yZSBSRUFEWQoJICBUaGUgb2JqZWN0IGxvY2sgd2FzIG5vdCBiZWluZyBkcm9wcGVkIGluIHRoZSBlbXB0eSBjYXNlLiBSZXN0cnVjdHVyZWQKCSAgdGhlIGNvZGUgYSBiaXQgdG8gbWFrZSB0aGlzIHNvcnQgb2YgZXJyb3IgbGVzcyBsaWtlbHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDEgMTE6NTE6MjEgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW5AYWNjb3N0ZWQubmV0PgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IE1hcmsgZWxlbWVudCBhcyBhIGxpdmUgc291cmNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzI1MzUKCjIwMTQtMDctMDMgMTk6MTA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbHdheXMgbG9jayB0aGUgRDNEIHN1cmZhY2VzIGluIHdyaXRlIG1vZGUKCSAgTG9ja2luZyB0aGVtIGluIHJlYWRvbmx5IG1vZGUgY2FuIGdpdmUgZGlmZmVyZW50IHN0cmlkZSB0byBtYXBwaW5nCgkgIGluIHdyaXRlIG1vZGUsIHdoaWNoIHRoZW4gY2F1c2VzIHJlbmRlcmluZyB0byBiZSBicm9rZW4uCgkgIEhhcHBlbmVkIG9uIGFsbCAobWFueT8pIE5WSURJQSBHUFVzLgoJICBUaGFua3MgdG8gdm9za2F0ZXIxNUBnbWFpbC5jb20gZm9yIGhpbnRpbmcgYXQgdGhlIHByb2JsZW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI4MDkKCjIwMTQtMDctMDMgMTk6MDU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkaGVscGVyczogU3dhcCBVViBwbGFuZXMgcHJvcGVybHkgZm9yIFlWMTIgYXMgY29tcGFyZWQgdG8gSTQyMAoJICBJZiB3ZSBvbmx5IGRvIGl0IGluIG9uZSBwbGFjZSBjb2xvcnMgd2lsbCBsb29rIGZ1bm55LgoKMjAxNC0wNy0wMyAxNzo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFtYzogUHJvcGVybHkgaW50ZWdyYXRlIENPTE9SX1FDT01fRm9ybWF0WVZVNDIwU2VtaVBsYW5hcjMybSBhZ2FpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNjgzCgoyMDE0LTA3LTAzIDE1OjA3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW1jYXVkaW9kZWM6IGF1ZGlvL21wZWcgaXMgYWx3YXlzIE1QRUcgMSBsYXllciAzCgkgIENvbmZpZ3VyaW5nIGUuZy4gbGF5ZXIgMiBvbiBzdWNoIGEgZGVjb2RlciB1c3VhbGx5IGZhaWxzIHVubGVzcwoJICBpdCBhZGRpdGlvbmFsbHkgYWxzbyBhY2NlcHRzIGF1ZGlvL21wZWctTDIuCgoyMDE0LTA3LTAzIDE0OjE1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiB3ZSBoYXZlIG5vIFBDUiB5ZXQKCSAgQ2FuIGhhcHBlbiBzb21ldGltZXMgaWYgdGhlIGR1cmF0aW9uIGlzIHJlcXVlc3RlZCBiZWZvcmUgd2UKCSAgcmVjZWl2ZWQgZW5vdWdoIGRhdGEgd2l0aCBhIFBDUi4KCjIwMTQtMDctMDMgMjE6Mzk6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgdHNkZW11eDogQWRkIGxvY2tpbmcgYXJvdW5kIG1wZWd0c3BhY2tldGlzZXIgZ3JvdXBzLgoJICBPdGhlcndpc2Ugb2NjYXNpb25hbGx5IERVUkFUSU9OIHF1ZXJpZXMgY2FuIGNyYXNoLCBpZiB0aGV5IGhhcHBlbiBhdAoJICB0aGUgd3JvbmcgbW9tZW50LgoKMjAxNC0wNy0wMyAwOTowMDozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsY29jb2E6IGluaXRhbGl6ZSBOU0FwcCBhc2FwIHdoZW4gdXNpbmcgZ3N0LWxhdW5jaAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjY2MQoKMjAxNC0wNy0wMiAxMjo1NDo0NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogZW5hYmxlIHZ0ZGVjIGFuZCB2dGVuYyBvbmx5IG9uID49IDEwLjggd2hlcmUgVmlkZW9Ub29sYm94IGlzIHB1YmxpYwoJICBGaXhlczogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzY3MAoKMjAxNC0wNy0wMiAwNDo1NDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogYXZvaWQgc2VnZmF1bHQgd2hlbiBvdXRwdXQgaXNuJ3QgY29uZmlndXJlZAoJICBUaGlzIGNhbiBoZWxwIHdoZW4gdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBkdXJpbmcvYWZ0ZXIgdmlkZW9kZWNvZGVyCgkgIGJhc2UgY2xhc3Mgc2h1dCBkb3duCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MzUKCjIwMTQtMDctMDIgMDA6Mjc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgdnRkZWM6IGlnbm9yZSB0aGUgZHJvcHBlZCBmbGFnIGlmIGJ1ZmZlciB3YXMgcmVjZWl2ZWQKCSAgQXBwYXJlbnRseSB0aGVyZSBpcyBzb21lIGlzc3VlIHdpdGggVlQgdGhhdCBtYWtlcyBpdCBtYXJrIHRoZSBkcm9wcGVkCgkgIGZsYWcgZXZlbiB0aG91Z2ggdGhlIGJ1ZmZlciB3YXMgZGVjb2RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQzNQoKMjAxNC0wNy0wMiAxMDozMTo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGxlYWsgYWxsIHN1cmZhY2VzCgkgIFRoaXMgd2FzIGJyb2tlbiB3aGVuIGRpc2FibGluZyB0aGUgYnVmZmVyIHBvb2wgZXhwb3J0aW5nLgoJICBBbHNvIGRpc2FibGUgYnVmZmVyIHBvb2wgYSBiaXQgbW9yZSBlZmZpY2llbnQuLi4KCjIwMTQtMDctMDIgMTA6MDE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBQb3N0TWVzc2FnZSgpIHRha2VzIGludGVnZXJzIGFzIGxhc3QgcGFyYW1ldGVycywgbm90IHBvaW50ZXJzCgoyMDE0LTA3LTAyIDA5OjU5OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxNC0wNy0wMiAxNzozODoxMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmU6CgkgIGdsL2V4YW1wbGVzOiBnaXRpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDE0LTA3LTAxIDA4OjM2OjUzICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSAgZ2wgOiBmaXggcWdsd3RleHR1cmVzaGFyZSBkZW1vCgoyMDE0LTA2LTIzIDExOjUzOjExICswMjAwICBHw7ZyYW4gSsO2bnNzb24gPGdvcmFuam5AYXhpcy5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJICB3YXRjaGRvZzogT25seSBjcmVhdGUgYSBuZXcgR1NvdXJjZSBpZiB3ZSBoYXZlIGEgbWFpbiBjb250ZXh0CgkgIFdlIGNhbiBzdGlsbCBnZXQgT09CIGV2ZW50cyB3aGlsZSBzdG9wcGluZyB0aGUgd2F0Y2hkb2cgZWxlbWVudCwgYW5kIHdoaWxlCgkgIHN0b3BwaW5nIGl0IHdlIGRlc3Ryb3kgdGhlIG1haW4gY29udGV4dC4KCSAgQWxzbyBsZXQgdGhlIEdTb3VyY2Ugb3duIGEgcmVmZXJlbmNlIHRvIHRoZSBlbGVtZW50IGZvciBhZGRpdGlvbmFsIHNhZmV0eS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1NAoKMjAxNC0wNy0wMSAxMjo1MjozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogcmVzZXQgUW9TIG9uIHNlZ21lbnQgZXZlbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU0MAoKMjAxNC0wNy0wMSAxNjo1NDowMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2VyOiBhZGQgdGVzdCB0byBpZGVudGlmeSBFT1NFUSAvIEVPUyBOQUxzLgoJICBDaGVjayB0aGF0IGVuZF9vZl9zZXEoKSBbRU9TRVFdIGFuZCBlbmRfb2Zfc3RyZWFtIFtFT1NdIE5BTCB1bml0cwoJICBhcmUgY29ycmVjdGx5IHBhcnNlZCBhbmQgdGhlIHJlcG9ydGVkIE5BTCB1bml0IHNpemUgeWllbGRzIDEgYnl0ZSwKCSAgaS5lLiB0aGUgb25seSBOYWxIZWFkZXJCeXRlcyBpbiB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjU1MwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDE3OjE5OjAwICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogYWRkIHRlc3QgZm9yIGJ5dGUtc3RyZWFtL2F1IG91dHB1dC4KCSAgQ2hlY2sgdGhhdCBjb252ZXJzaW9uIHRvIGJ5dGUtc3RyZWFtL2F1IGZvcm1hdHMgd29yayBhbmQgdGhhdCB3ZQoJICBjYW4gZWZmZWN0aXZlbHkgZHJvcCBicm9rZW4vaW52YWxpZCBOQUwgdW5pdHMgZnJvbSB0aGUgcmVzdWx0aW5nCgkgIGFjY2VzcyB1bml0IGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjIwMwoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI1IDE4OjQ3OjU1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogY2hlY2sgU0VJIGJ1ZmZlcmluZ19wZXJpb2QoKSBtZXNzYWdlIGlzIG91dHB1dC4KCSAgSWYgYW4gU0VJIE5BTCB1bml0IHdpdGggYSBidWZmZXJpbmdfcGVyaW9kKCkgbWVzc2FnZSBpcyBpbnNlcnRlZAoJICBiZXR3ZWVuIGFuIFNQUyBhbmQgUFBTIE5BTCB1bml0LCBjaGVjayB0aGF0IHRoZSBvdXRwdXQgYnVmZmVyIHN0aWxsCgkgIGNvbnRhaW4gaXQuIGkuZS4gbWFrZSBzdXJlIHRoYXQgdGhpcyBTRUkgbWVzc2FnZSBpcyBub3QgZHJvcHBlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMjE1NgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDA5OjQ0OjI2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjb2xsZWN0aW9uIG9mIGFjY2VzcyB1bml0cyB0byBwcmVzZXJ2ZSBjb25maWcgaGVhZGVycy4KCSAgQWx3YXlzIHVzZSBhIEdzdEFkYXB0ZXIgd2hlbiBjb2xsZWN0aW5nIGFjY2VzcyB1bml0cyAoYWxpZ25tZW50PSJhdSIpCgkgIGluIGVpdGhlciBieXRlLXN0cmVhbSBvciBhdmNDIGZvcm1hdC4gVGhpcyBpcyByZXF1aXJlZCB0byBwcm9wZXJseQoJICBwcmVzZXJ2ZSBjb25maWcgaGVhZGVycyBsaWtlIFNQUyBhbmQgUFBTIHdoZW4gaW52YWxpZCBvciBicm9rZW4gTkFMCgkgIHVuaXRzIGFyZSBzdWJzZXF1ZW50bHkgcGFyc2VkLgoJICBNb3JlIHByZWNpc2VseSwgdGhpcyBmaXhlcyBzY2VuYXJpbyBsaWtlOgoJICA8U1BTPiA8UFBTPiA8aW52YWxpZC1OQUw+IDxzbGljZT4KCSAgd2hlcmUgd2UgdXNlZCB0byByZXNldCB0aGUgb3V0cHV0IGZyYW1lIGJ1ZmZlciB3aGVuIGFuIGludmFsaWQgb3IKCSAgYnJva2VuIE5BTCBpcyBwYXJzZWQsIGkuZS4gU1BTIGFuZCBQUFMgTkFMIHVuaXRzIHdlcmUgbG9zdCwgdGh1cwoJICBwcmV2ZW50aW5nIHRoZSBuZXh0IHNsaWNlIHVuaXQgdG8gYmUgZGVjb2RlZCwgc2hvdWxkIHRoaXMgYWxzbwoJICByZXByZXNlbnQgYW55IHZhbGlkIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxMzoxNDoxMCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBpbXByb3ZlIGNvbmRpdGlvbnMgZm9yIHNraXBwaW5nIE5BTCB1bml0cy4KCSAgQ2FyZWZ1bGx5IHRyYWNrIGNhc2VzIHdoZW4gc2tpcHBpbmcgYnJva2VuIG9yIGludmFsaWQgTkFMIHVuaXRzIGlzCgkgIG5lY2Vzc2FyeS4gSW4gcGFydGljdWxhciwgYWx3YXlzIGFsbG93IE5BTCB1bml0cyB0byBiZSBwcm9jZXNzZWQKCSAgYW5kIGxldCB0aGF0IGdzdF9oMjY0X3BhcnNlX3Byb2Nlc3NfbmFsKCkgZnVuY3Rpb24gZGVjaWRlIG9uIHdoZXRoZXIKCSAgdGhlIGN1cnJlbnQgTkFMIG5lZWRzIHRvIGJlIGRyb3BwZWQgb3Igbm90LgoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb2Ygc3RyZWFtcyB3aXRoIFNFSSBOQUwgYnVmZmVyaW5nX3BlcmlvZCgpIG1lc3NhZ2UKCSAgaW5zZXJ0ZWQgYmV0d2VlbiBTUFMgYW5kIFBQUywgb3IgU1BTLUV4dCBOQUwgZm9sbG93aW5nIGEgdHJhZGl0aW9uYWwKCSAgU1BTIE5BTCB1bml0LCBhbW9uZyBvdGhlciBjYXNlcyB0b28uCgkgIFByYWN0aWNhbCBleGFtcGxlcyBmcm9tIHRoZSBILjI2NCBBVkMgY29uZm9ybWFuY2Ugc3VpdGUgaW5jbHVkZQoJICBhbHBoYWNvbmZvcm1hbmNlRywgQ1ZTRTJfU29ueV9CLCBDVlNFM19Tb255X0gsIENWU0VGREZUM19Tb255X0UKCSAgd2hlbiBwYXJzaW5nIGluIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0sYWxpZ25tZW50PWF1IG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIyMDMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNSAxMTowNjo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBpbnRyb2R1Y2UgbmV3IHN0YXRlIHRyYWNraW5nIHZhcmlhYmxlcy4KCSAgSW1wcm92ZSBwYXJzZXIgc3RhdGUgdHJhY2tpbmcgYnkgaW50cm9kdWNpbmcgbmV3IGZsYWdzIHJlZmxlY3RpbmcKCSAgaXQ6ICJnb3Qtc3BzIiwgImdvdC1wcHMiIGFuZCAiZ290LXNsaWNlIi4gVGhpcyBpcyBhbiBhZGRpdGlvbiBmb3IKCSAgcm9idXN0bmVzcyBwdXJwb3Nlcy4KCSAgT2xkZXIgaGF2ZV9zcHMgYW5kIGhhdmVfcHBzIHZhcmlhYmxlcyBhcmUga2VwdCBiZWNhdXNlIHRoZXkgaGF2ZQoJICBhIGRpZmZlcmVudCBtZWFuaW5nLiBpLmUuIHRoZXkgYXJlIHVzZWQgZm9yIGRlY2lkaW5nIG9uIHdoZW4gdG8KCSAgc3VibWl0IHVwZGF0ZWQgY2FwcyBvciBub3QsIGFuZCByYXRoZXIgbWVhbiAiaGF2ZSBuZXcgU1BTL1BQUyB0bwoJICBiZSBzdWJtaXR0ZWQ/IgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI0IDEzOjU1OjEzICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBhbmQgb3B0aW1pemUgTkFMIGNvbGxlY3Rpb24gZnVuY3Rpb24uCgkgIFVzZSBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFsdV91bmNoZWNrZWQoKSB0byBpZGVudGlmeSB0aGUgbmV4dAoJICBOQUwgdW5pdC4gV2UgZG9uJ3Qgd2FudCB0byBwYXJzZSB0aGUgZnVsbCBOQUwgdW5pdCwgYnV0IG9ubHkgdGhlCgkgIGhlYWRlciBieXRlcyBhbmQgcG9zc2libHkgdGhlIGZpcnN0IFJCU1AgYnl0ZSBmb3IgaWRlbnRpZnlpbmcgdGhlCgkgIGZpcnN0X21iX2luX3NsaWNlIHN5bnRheCBlbGVtZW50LgoJICBBbHNvIGZpeCBjaGVjayBmb3IgZmFpbHVyZSB3aGVuIHJldHVybmluZyBmcm9tIHRoYXQgZnVuY3Rpb24uIFRoZQoJICBvbmx5IHN1Y2Nlc3MgY29uZGl0aW9uIGZvciB0aGF0IGlzIEdTVF9IMjY0X1BBUlNFUl9PSywgc28gdXNlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTU0CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDctMDEgMTY6MDk6MjggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGNsYXJpZmljYXRpb25zIGFuZCBkb2N1bWVudGF0aW9uIGZpeGVzLgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgR3N0SDI2NE5hbFVuaXQuIFRoZSBAcmVmX2lkYyBwYXJ0IHdhcyB0b3RhbGx5CgkgIHVuYmFsYW5jZWQuIEFsc28gYWRkIGEgbm90ZSBhYm91dCBAb2Zmc2V0IGFuZCBAc2l6ZSBmaWVsZHMgdG8gcmVtaW5kCgkgIHRoYXQgdGhpcyBpcyByZWxhdGl2ZSB0byB0aGUgc3RhcnQgb2YgdGhlIE5BTCB1bml0LCB0aHVzIGluY2x1ZGluZwoJICB0aGUgaGVhZGVyIGJ5dGVzLgoKMjAxNC0wNy0wMSAxNTo0NjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGlkZW50aWZpY2F0aW9uIG9mIEVPU0VRIGFuZCBFT1MgTkFMcy4KCSAgQW4gZW5kX29mX3NlcSgpIFtFT1NFUV0gb3IgZW5kX29mX3N0cmVhbSgpIFtFT1NdIE5BTCB1bml0IGlzIHJlYWxseQoJICBvbmUgYnl0ZSBsb25nIGJlY2F1c2UgdGhpcyBzaGFsbCBpbmNsdWRlIHRoZSBOYWxIZWFkZXJCeXRlcyAoMSkgdG9vLgoJICBUaGUgTkFMVS5vZmZzZXQgc3RhcnRzIGZyb20gdGhlIGZpcnN0IGJ5dGUgb2YgdGhlIGhlYWRlci4KCSAgVGhpcyBpcyB0aGUgcHJvcGVyIGZpeCB0byBjb21taXQgZDM3Zjg0Mi4gSW4gcHJhY3RpY2UsIHRoaXMgZml4ZXMKCSAgcGFyc2luZyBvZiBGUkV4dDFfUGFuYXNvbmljX0QgYW5kIEZSRXh0Ml9QYW5hc29uaWNfQywgdGhhdCBpbmNsdWRlCgkgIGFkZGl0aW9uYWwgZnJhbWVzIGFmdGVyIGFuIEVPU0VRLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNTUzCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDYtMjcgMTI6MjQ6NDkgKzAyMDAgIEphbiBBbGV4YW5kZXIgU3RlZmZlbnMgKGhlZnRpZykgPGphbi5zdGVmZmVuc0BnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IFJlcG9ydCBsaW1pdGVkIGJhbmR3aWR0aAoJICBNYWtlcyB1cmlkZWNvZGViaW4gdHJlYXQgdGhpcyBzb3VyY2UgYXMgYSBzdHJlYW0gc291cmNlLAoJICBhbGxvd2luZyB0aW1lc2hpZnRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIzMzUKCjIwMTQtMDctMDEgMTA6MDM6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRXhwb3NlIEdzdE1wZWd0c0Rlc2NyaXB0b3IgZnJlZSBmdW5jdGlvbgoJICBOb3RoaW5nIGVhcnRoIHNoYXR0ZXJpbmcsIGJ1dCBhdm9pZHMgcGVvcGxlIGhhdmluZyB0byB1c2UgZ19ib3hlZF9mcmVlKCkKCjIwMTQtMDYtMzAgMTk6MTU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGVhZ2w6IERpc2FibGUgdXNhZ2Ugb2YgUiBhbmQgUkcgdGV4dHVyZXMgb24gaU9TCgkgIFRoZXkgZG9uJ3Qgd29yayBjdXJyZW50bHkgYW5kIGp1c3QgcmVuZGVyIHplcm9lcywgd2hpbGUgdGhlCgkgIGZhbGxiYWNrIGNvZGUgcGF0aCB3aXRoIExVTSBhbmQgTFVNX0FMUEhBIHRleHR1cmVzIHN0aWxsIHdvcmtzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMzkwCgoyMDE0LTA2LTMwIDExOjU0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IHJlbGVhc2UgdGhlIGhhYXIgY2FzY2FkZQoKMjAxNC0wNi0zMCAxMjoyMjowNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2FnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogQXZvaWQgZGVzdHJveWluZyBzb3VyY2VzIHdlIGRvIG5vdCBvd24KCSAgKyBVbnJlZiB0aGUgbWFpbmNvbnRleHQgaW4gYSBuZXcgZGlzcG9zZSBmdW5jdGlvbgoJICArIE1ha2Ugc3VyZSB0byByZW1vdmUgYWxsIHNvdXJjZXMgb24gZGlzcG9zZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyNDQ1CgoyMDE0LTA2LTE2IDEyOjM1OjEzICswMjAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGZpeCBtZW1vcnkgbGVhawoJICBUaGUgcGl4ZWwgYnVmZmVyIHJlbGVhc2UgY2FsbGJhY2sgaXMgY2FsbGVkIGlmIHRoZSB2b2lkICoKCSAgZGF0YVB0ciBnaXZlbiB0byB0aGUgQ1ZQaXhlbEJ1ZmZlckNyZWF0ZVdpdGhQbGFuYXJCeXRlcwoJICBpcyBub3QgTlVMTC4KCSAgQWNjb3JkaW5nIHRvIHRoZSBkb2N1bWVudGF0aW9uIGRhdGFQdHIgaXMgc3VwcG9zZWQgdG8gYmUgYQoJICAicGxhbmUgZGVzY3JpcHRpb24gYmxvY2siIGJ1dCBubyBzcGVjaWZpYyB0eXBlIGlzIGdpdmVuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExODQ3CgoyMDE0LTA2LTMwIDAwOjIyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJICBzZWdtZW50YXRpb246IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UgaW4gZmluYWxpemUKCjIwMTQtMDYtMzAgMDA6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIGFuZCByZXNpemUgaW1hZ2Ugd2hlbiBjYXBzIGNoYW5nZQoKMjAxNC0wNi0zMCAwMDoxNTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICB0ZW1wbGF0ZW1hdGNoOiBSZWxlYXNlIGN2SW1hZ2VzIHdoZW4gcmVsb2FkaW5nIHRlbXBsYXRlcyBhcmUgY2hhbmdpbmcgY2FwcwoKMjAxNC0wNi0zMCAwMDoxMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSAgcHlyYW1pZHNlZ21lbnQ6IFJlbGVhc2UgaW1hZ2Ugd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHJldXNpbmcgdGhlIGVsZW1lbnQKCjIwMTQtMDYtMzAgMDA6MDk6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuYzoKCSAgaGFuZGRldGVjdDogUmVsZWFzZSBtZW1vcnkgc3RvcmFnZQoKMjAxNC0wNi0zMCAwMDowNzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IFJlbGVhc2UgbWVtb3J5IHN0b3JhZ2UKCSAgQW5kIGFsc28gcmVsZWFzZSBjdkltYWdlcyBhbmQgbWVtb3J5IHN0b3JhZ2Ugd2hlbiBjaGFuZ2luZyBjYXBzIG9yIHJldXNpbmcgdGhlCgkgIGVsZW1lbnQuCgoyMDE0LTA2LTMwIDAwOjA1OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IERvbid0IGxlYWsgY3ZJbWFnZXMgd2hlbiBjYXBzIGFyZSBjaGFuZ2luZyBvciB0aGUgZWxlbWVudCBpcyByZXVzZWQKCjIwMTQtMDYtMjkgMjM6NDI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBSZWxlYXNlIG1lbW9yeSBzdG9yYWdlIHdoZW4gZmluYWxpemluZwoKMjAxNC0wNi0yOSAyMzozMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFJlbW92ZSBvYnNvbGV0ZSBGSVhNRSBjb21tZW50CgoyMDE0LTA2LTI5IDIzOjMxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogRG9uJ3QgbGVhayBhbGwgaW5wdXQgYnVmZmVycwoKMjAxNC0wNi0yOSAyMzoyMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjI6MzA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkgIHRleHRvdmVybGF5OiBGcmVlIHRleHQgYnVmZmVyIGluIGZpbmFsaXplCgoyMDE0LTA2LTI5IDIyOjI2OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBmaW5hbGl6ZSBmdW5jdGlvbgoKMjAxNC0wNi0yOSAyMjoyNTo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogTWFrZSBzdXJlIHRvIGFsd2F5cyB1bnJlZiB0aGUgZGlzcGxheQoJICBFdmVuIGlmIHdlIGRpZG4ndCBjcmVhdGUgYSBjb250ZXh0IHlldC4KCjIwMTQtMDYtMjkgMjI6MjA6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmg6CgkgIGludGVyc3Vic3JjOiBiYXNlc3JjIGlzIGFscmVhZHkgY3JlYXRpbmcgYSBwYWQgZm9yIHVzLCBubyBuZWVkIHRvIGRvIGl0IHR3aWNlCgoyMDE0LTA2LTI5IDIyOjE4OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJICB5YWRpZjogYmFzZXRyYW5zZm9ybSBpcyBjcmVhdGluZyBwYWRzIGZvciB1cyBhbHJlYWR5LCBkb24ndCBkbyBpdCB0d2ljZQoKMjAxNC0wNi0yOSAyMTo1NzozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IEZpeCBtZW1vcnkgbGVhayBpbiB1bml0IHRlc3QKCjIwMTQtMDYtMjkgMjE6NTM6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IEZpeCBtZW1vcnkgbGVha3MgaW4gdW5pdCB0ZXN0CgoyMDE0LTA2LTI5IDIxOjM0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIG1wZWd0czogRml4IG1lbW9yeSBsZWFrcyBpbiB0aGUgdGVzdCBhbmQgdGhlIGxpYnJhcnkKCSAgQ3VycmVudGx5IHVzZXMgZ19ib3hlZF9mcmVlKCkgaW4gdGhlIHVuaXQgdGVzdCwgdGhpcyBuZWVkcyB0bwoJICBiZSBmaXhlZCBwcm9wZXJseSB3aGVuIGNsZWFuaW5nIHVwIHRoZSBBUEkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MTQKCjIwMTQtMDYtMjkgMjE6MDU6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2Ugc3RhdGljIGNhcHMgYWN0dWFsbHkgc3RhdGljCgkgIE90aGVyd2lzZSB3ZSBsZWFrIG9uY2UgY2FwcyBpbnN0YW5jZSBvbiBldmVyeSBmdW5jdGlvbiBjYWxsLgoKMjAxNC0wNi0yOSAyMTowMTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IEZyZWUgcHJvcGVydHkgc3RyaW5ncyB3aGVuIGRpc3Bvc2luZyB0aGUgaW5zdGFuY2UKCjIwMTQtMDYtMjkgMjA6NTg6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJICBpbnRlcnN1YnNpbmsvc3JjOiBGcmVlIGNoYW5uZWwgc3RyaW5nIHdoZW4gZmluYWxpemluZyB0aGUgaW5zdGFuY2UKCjIwMTQtMDYtMjkgMjA6MTM6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBGaXggY29tcGlsZXIgd2FybmluZyB3aGVuIGNvbXBpbGluZyB3aXRoIEdfRElTQUJMRV9BU1NFUlQKCjIwMTQtMDYtMjkgMjA6MTE6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2hlbiBjb21waWxpbmcgd2l0aCBHX0RJU0FCTEVfQVNTRVJUCgoyMDE0LTA2LTI4IDIzOjI2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiB1bnBvcnRhYmxlICV6dQoKMjAxNC0wNi0yOCAxNzowMjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMtZGlzdC5oOgoJICBiYWR2aWRlbzogVXBkYXRlIGRpc3QgZ2VuZXJhdGVkIE9SQyBmaWxlcwoKMjAxNC0wNi0yOCAxNzowMTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLm9yYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGNtcy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkgIGJhZHZpZGVvOiBSZW5hbWUgdmlkZW9jb252ZXJ0IGZ1bmN0aW9ucyB0byBwcmV2ZW50IGNvbmZsaWN0cyB3aXRoIHN0YXRpYyBsaW5raW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0NDMKCjIwMTQtMDYtMjggMTE6MjA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9hZ2dyZWdhdG9yLmM6CgkgIHRlc3RzOiBhZ2dyZWdhdG9yOiBmaXggdmFyaW91cyBsZWFrcyBpbiB0aGUgdGVzdHMKCjIwMTQtMDYtMjggMDk6NDM6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY29tcG9zaXRvci5jOgoJICBjb21wb3NpdG9yOiB0ZXN0czogRml4IHBhZCBsZWFrCgkgIFJlbWVtYmVyIHRvIHVucmVmIHJlcXVlc3RlZCBwYWQKCjIwMTQtMDYtMjggMDk6MzU6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBmaXggbGVhayBhcyBnc3RfYnVmZmVyX3JlcGxhY2UgYWRkcyBpdHMgb3duIHJlZgoJICBTbyB1bnJlZiB0aGUgYnVmZmVyIGFmdGVyIHRoYXQgb3RoZXJ3aXNlIGl0IGxlYWtzCgoyMDE0LTA2LTI4IDA5OjM0OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWx3YXlzIHN0b3JlIG9yIHVucmVmIHRoZSBidWZmZXIgb24gdGhlIF9jaGFpbiBmdW5jdGlvbgoJICBPdGhlcndpc2UgaXQgbGVha3MsIGFuZCBpdCBpcyB2ZXJ5IGNvbW1vbiB0byBnbyB0byBmbHVzaGluZyB3aGVuIHRoZQoJICBwaXBlbGluZSBpcyBzdG9wcGluZywgbGVha2luZyBhIGJ1ZmZlci4KCjIwMTQtMDYtMjggMDk6MzI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBhbHdheXMgdW5yZWYgdGhlIGJ1ZmZlciBvbiBfZmluaXNoIGZ1bmN0aW9uCgkgIE90aGVyd2lzZSB0aGUgdXNlciBkb2Vzbid0IGtub3cgaWYgaXQgd2FzIHVucmVmJ2Qgb3Igbm90CgoyMDE0LTA2LTI4IDA5OjMxOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuYzoKCSAgYWdncmVnYXRvcjogYWRkIGRpc3Bvc2UvZmluYWxpemUgZnVuY3Rpb25zCgkgIEFkZCBmdW5jdGlvbnMgdG8gYmUgYWJsZSB0byBjbGVhbnVwIHRoZSBtdXRleC9jb25kIGFuZCBwZW5kaW5nIGJ1ZmZlcnMKCSAgb24gdGhlIGFnZ3JlZ2F0b3IgYW5kIG9uIGl0cyBwYWQKCj09PSByZWxlYXNlIDEuMy45MCA9PT0KCjIwMTQtMDYtMjggMTE6MzA6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjMuOTAKCjIwMTQtMDYtMjggMTE6Mjc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yOCAxMDo0Mzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkgIGludGVyYXVkaW9zcmM6IEZhaWwgaW4gc2V0X2NhcHMoKSBpZiB0aGUgY2FwcyBjYW4ndCBiZSBwYXJzZWQKCjIwMTQtMDYtMjcgMTc6MzU6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW46IGZpeCBjYXBzIGxlYWsgaW4gdGVzdAoJICBUaGUgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdCBkb2Vzbid0IHRha2Ugb3duZXJzaGlwIG9mIGNhcHMKCjIwMTQtMDYtMjcgMTc6Mjc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmM6CgkgIGF1ZGlvdmlzdWFsaXplcjogZml4IGNhcHMgbGVha3MKCSAgRml4IGxlYWsgb2YgY2FwcyBldmVudCBhbmQgb2YgY2FwcyBvYmplY3RzIHdoZW4gc2V0dGluZyBjYXBzIG9uCgkgIHNpbmsgYW5kIHNyYyBwYWRzCgoyMDE0LTA2LTI3IDE3OjAwOjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVucmVmIGV2ZW50cyB3aGVuIGZyZWVpbmcgZXZlbnRzIGxpc3QKCSAgSW5zdGVhZCBvZiBqdXN0IGZlZWluZyB0aGUgcXVldWUgc3RydWN0cwoKMjAxNC0wNi0yNyAxNjo1ODo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IGZpeCBzZWdtZW50IGV2ZW50IGxlYWsKCSAgZ3N0X2V2ZW50X3JlcGxhY2UgaW5jcmVtZW50cyB0aGUgcmVmY291bnQKCjIwMTQtMDYtMjcgMTI6NTA6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogYXZvaWQgY2FsbGluZyBnX2NvbnZlcnQgd2l0aCAwLXNpemVkIGlucHV0CgkgIEF2b2lkcyBhbiBhc3NlcnRpb24uIFRoZSBjYWNoZWQgc3RyaW5nIHdpbGwgYmUgYXNzaWduZWQgYW4gZW1wdHkgc3RyaW5nCgkgIGFzIGl0cyB2YWx1ZSB3aGVuIHNpemUgaXMgMC4KCjIwMTQtMDYtMjcgMTA6NTM6MjAgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IG1lbW9yeSBsZWFrIGluIEdzdEgyNjRQUFMuCgkgIFRoZSBnc3RfaDI2NF9wYXJzZV9wcHMoKSBmdW5jdGlvbiBkeW5hbWljYWxseSBhbGxvY2F0ZXMgdGhlIHNsaWNlCgkgIGdyb3VwIGlkcyBtYXAgYXJyYXksIHNvIHRoYXQgbmVlZHMgdG8gYmUgY2xlYXJlZCBiZWZvcmUgcGFyc2luZyBhCgkgIG5ldyBQUFMgTkFMIHVuaXQgYWdhaW4sIG9yIHdoZW4gaXQgaXMgbm8gbG9uZ2VyIG5lZWRlZC4KCSAgTGlrZXdpc2UsIGEgY2xlYW4gY29weSB0byB0aGUgaW50ZXJuYWwgTkFMIHBhcnNlciBzdGF0ZSBuZWVkcyB0byBiZQoJICBwZXJmb3JtZWQgc28gdGhhdCB0byBhdm9pZCBhIGRvdWJsZS1mcmVlIGNvcnJ1cHRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcyODIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNiAxNzoxODo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHR5cG8gaW4gR3N0SDI2NFZVSVBhcmFtcyBkZXNjcmlwdGlvbi4KCjIwMTQtMDEtMzEgMTc6MDc6NDIgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIHN1cHBvcnQgZm9yIFJlY292ZXJ5IFBvaW50IFNFSSBtZXNzYWdlLgoJICBUaGUgcmVjb3ZlcnkgcG9pbnQgU0VJIG1lc3NhZ2UgaGVscHMgYSBkZWNvZGVyIGluIGRldGVybWluaW5nIGlmIHRoZQoJICBkZWNvZGluZyBwcm9jZXNzIHdvdWxkIHByb2R1Y2UgYWNjZXB0YWJsZSBwaWN0dXJlcyBmb3IgZGlzcGxheSBhZnRlcgoJICB0aGUgZGVjb2RlciBpbml0aWF0ZXMgcmFuZG9tIGFjY2VzcyBvciBhZnRlciB0aGUgZW5jb2RlciBpbmRpY2F0ZXMKCSAgYSBicm9rZW4gbGluayBpbiB0aGUgY29kZWQgdmlkZW8gc2VxdWVuY2UuCgkgIFRoaXMgaXMgbm90IHVzZWQgaW4gdGhlIGgyNjRwYXJzZSBlbGVtZW50LCBidXQgaXQgY291bGQgaGVscCBkZWJ1Z2dpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzODAKCjIwMTQtMDMtMjUgMTI6MDE6NTUgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgbmFsX3JlYWRlcl9za2lwX2xvbmcoKSBoZWxwZXIuCgkgIEFkZCBuYWxfcmVhZGVyX3NraXBfbG9uZygpIGhlbHBlciBmdW5jdGlvbiB0byBhbGxvdyBhbiBhcmJpdHJhcnkgbnVtYmVyCgkgIG9mIGJpdHMgdG8gYmUgc2tpcHBlZC4gVGhlIGZvcm1lciBuYWxfcmVhZGVyX3NraXAoKSBmdW5jdGlvbiBpcyB0b28KCSAgbGltaXRlZCB0byB0aGUgYWN0dWFsIGNhY2hlIHNpemUuCgkgIFVzZSB0aGlzIG5ldyBmdW5jdGlvbiB0byBzaW1wbGlmeSBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpX21lc3NhZ2UoKQoJICBkZWZhdWx0IGNhc2UsIHRoYXQgc2tpcHMgdW5zdXBwb3J0ZWQgcGF5bG9hZHMuCgkgIHYyOiBtYWRlIGFyZ3MgY29uc2lzdGVudCBmcm9tIGhlYWRlciB0byBzb3VyY2UgZmlsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNi0yNyAwMDowOTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZml4IGEgcmVmY291bnQgZXJyb3Igd2hlbiBrZWVwaW5nIHRoZSBidWZmZXIKCSAgV2UgdGFrZSBhIHJlZiBvbiB0aGUgcGFkJ3MgYnVmZmVyIGF0IHRoZSBiZWdpbm5pbmcgc28gd2UgbmVlZCB0bwoJICB1bnJlZiB3aGVuIHdlIGFyZSBkb25lIGluIGFsbCBjYXNlcy4KCjIwMTQtMDYtMjYgMTU6NTk6MzUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cmFuZ2VkZWNvZGVyLmM6CgkgIGNvZGVjcGFyc2VyczogdnA4OiBtb3ZlIHVwIGJ1aWx0LWluIHJhbmdlIGRlY29kZXIgcHJpdmF0ZSBkYXRhLgoJICBVc2UgdGhlIGZpcnN0IF9nc3RfcmVzZXJ2ZWRbXcKgc2xvdCB0byBob2xkIHRoZSBidWlsdC1pbiByYW5nZSBkZWNvZGVyCgkgIHByaXZhdGUgZGF0YS4gVGhlIGZpcnN0IHNsb3Qgd2FzIGZvcm1lcmx5IHRoZSBidWZmZXIgc2l6ZSwgd2hpY2ggd2FzCgkgIHRoZW4gcHJvbW90ZWQgdG8gc2VtaS1wdWJsaWMgbmFtZXNwYWNlIHdoZW4gaXQgZ290IGludGVncmF0ZWQgYXMgZ2l0CgkgIGNvbW1pdCAyOTQwYWM2LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTI2IDExOjI1OjM3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbGNvbG9yY29udmVydDogZnJlZSBwaXhlbCBzd2l6emxpbmcgaW5mb3JtYXRpb24KCjIwMTQtMDYtMjYgMTE6MTU6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSAgZ2xtaXhlcjogcmVtb3ZlIHJlZHVuZGFudC91bnVzZWQgbG9jawoJICBVc2UgdGhlIEdzdE9iamVjdCBsb2NrIGluc3RlYWQKCjIwMTQtMDYtMjYgMTE6MTI6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgZ2xtaXhlcjogcmVtb3ZlIHJlZHVuZGFudCBjcmVhdGlvbiBhbmQgZnJlZSBvZiBHUHRyQXJyYXlzCgkgIEFsc28gcGx1Z3MgYSBtZW1vcnkgbGVhawoKMjAxNC0wNi0yNiAxMDo1NDozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBwbHVnIGEgbWVtb3J5IGxlYWsgZm9yIHRoZSBjYXBzCgkgIGdzdF9xdWVyeV9zZXRfY2Fwc19yZXN1bHQoKSB0YWtlcyBhIHJlZiBvbiB0aGUgY2FwcwoKMjAxNC0wNi0yNiAxMDo1MzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkgIGFnZ3JlZ2F0b3I6IHBsdWcgYSBtZW1vcnkgbGVhayBvZiB0aGUgc3JjY2FwcwoKMjAxNC0wNi0yNiAxMDozMTowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbG1peGVyOiBpbnRlcnNlY3Qgd2l0aCB0aGUgZmlsdGVyY2FwcyBpZiBhdmFpbGFibGUKCjIwMTQtMDYtMjYgMTA6MzA6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9nbGVzMmNvbXBhdC5oOgoJICBnbDogdXBkYXRlIGdsZXMyIGNvbXBhdGFiaWxpdHkgaGVhZGVyCgoyMDE0LTA2LTI1IDE0OjUwOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IFVuaWZ5IEFQSSA6IEdzdE1wZWd0cyAvIGdzdF9tcGVndHNfIC8gR1NUXypfTVBFR1RTXwoJICBJdCB3YXMgcHJldmlvdXNseSBhIG1peCBhbmQgbWF0Y2ggb2YgYm90aCB2YXJpYW50cywgaW50cm9kdWNpbmcganVzdCB0b28gbXVjaAoJICBjb25mdXNpb24uCgkgIFRoZSBwcmVmaXggYXJlIGZyb20gbm93IG9uOgoJICAqIEdzdE1wZWd0cyBmb3Igc3RydWN0dXJlcyBhbmQgdHlwZSBuYW1lcyAoYW5kIG5vdCBHc3RNcGVnVHMpCgkgICogZ3N0X21wZWd0c18gZm9yIGZ1bmN0aW9ucyAoYW5kIG5vdCBnc3RfbXBlZ190c18pCgkgICogR1NUX01QRUdUU18gZm9yIGVudW1zL2ZsYWdzIChhbmQgbm90IEdTVF9NUEVHX1RTXykKCSAgKiBHU1RfVFlQRV9NUEVHVFNfIGZvciB0eXBlcyAoYW5kIG5vdCBHU1RfVFlQRV9NUEVHX1RTXykKCSAgVGhlIHJhdGlvbmFsZSBmb3IgY2hvc2luZyB0aGF0IGlzOgoJICAqIHRoZSBuYW1lc3BhY2UgaXMgc2hvcnRlci9kaXJlY3QgKGl0J3MgbXBlZ3RzLCBub3QgbXBlZ190cyBub3IgbXBlZy10cykKCSAgKiB0aGUgbmFtZXNwYWNlIGlzIG9uZSB3b3JkIHVuZGVyIEdzdAoJICAqIGl0J3Mgc2hvcnRlciAoeWFoKQoKMjAxNC0wNi0yNSAxNDoxMzo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHNzZWN0aW9uOiBGcmVlIGRhdGEgaW4gZXJyb3IgY2FzZXMKCSAgRGF0YSBpcyBtYXJrZWQgYXMgInRyYW5zZmVyIGZ1bGwiLCBpZiB3ZSBoYXZlIGFuIGVycm9yIHdlIG5lZWQgdG8KCSAgZnJlZSBpdC4KCjIwMTQtMDYtMjUgMjI6MDU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBwYXNzIHRocm91Z2ggdGhlIGFsbG9jYXRpb24gcXVlcnkgd2hlbiBpbiBwYXNzdGhyb3VnaCBtb2RlCgkgIE90aGVyd2lzZSB0d28gR0wgZWxlbWVudHMgb24gZWl0aGVyIHNpZGUgd2lsbCBmYWlsIHRvIHVzZSB0aGUgc2FtZQoJICBHTCBjb250ZXh0LgoKMjAxNC0wNi0yNSAyMTo1MDo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHByZWZlciBwYXNzdGhyb3VnaCBmb3Igbm9uLXN5c21lbSBjYXBzCgoyMDE0LTA2LTI1IDE4OjIzOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2xzaGFkZXI6IGVuYWJsZSBnbHNoYWRlciBvbiBHTEVTMgoKMjAxNC0wNi0yNCAxOTozNzoxNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIGdsY29sb3JzY2FsZTogZG8gcGFzc3Rocm91Z2ggb24gc2FtZSBjYXBzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTI0IDE5OjM1OjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogaGFuZGxlIE5VTEwgZGVjaWRlX3F1ZXJ5IHdoaWNoIG1lYW5zIHBhc3N0aHJvdWdoCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc4CgoyMDE0LTA2LTI0IDE5OjIzOjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbGZpbHRlcjogcHJlcGVuZCBpbnRlcnNlY3Rpb24gdG8gc3JjIGNhcHMKCSAgUHJlZmVyIHRvIHN0YXkgaW4gdGhlIHNhbWUgbWVtb3J5IHNwYWNlIGlmIHBvc3NpYmxlLgoJICBBbHNvIGl0IGxldCBhIGNoYW5jZSB0byBkbyBwYXNzdGhyb3VnaC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzIxNzgKCjIwMTQtMDYtMjIgMTM6MTQ6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL01ha2VmaWxlLmFtOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgZ2w6IGVuYWJsZSBnbHZpZGVvbWl4ZXIgb24gR0xFUzIKCjIwMTQtMDYtMjQgMjI6MTU6NTMgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhZGQgY29weXJpZ2h0L2xpY2Vuc2Ugc3R1YiB0byBoZWFkZXIKCjIwMTQtMDYtMjQgMjA6NTI6NTQgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDE0LTA2LTI1IDEyOjAwOjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiBiYXMgb3V0cHV0IHdpZHRoL2hlaWdodCBvbiB0aGUgcGFkIHByb3BlcnRpZXMKCSAgQWxsb3dzIGF1dG9tYXRpYyBuZWdvdGlhdGlvbiBvZiB0aGUgc2l6ZSBpbiB0aGUgZm9sbG93aW5nIGNhc2U6CgkgIGdzdC1sYXVuY2gtMS4wIGdsdmlkZW9taXhlciBuYW1lPW0gc2lua18wOjp4cG9zPTAgc2lua18xOjp4cG9zPTMyMCAhIGdsaW1hZ2VzaW5rIFwKCSAgdmlkZW90ZXN0c3JjICEgbS4gXAoJICB2aWRlb3Rlc3RzcmMgcGF0dGVybj0xICEgbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTg3OAoKMjAxNC0wNi0yNSAxMDoxODo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsdmlkZW9taXhlcjogZG9uJ3QgY2xvYmJlciBhbHJlYWR5IGFsbG9jYXRlZCBzaGFkZXIKCjIwMTQtMDYtMjQgMTY6MzI6MjIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkgIGN1cmxzP2Z0cHNpbms6IEZpeCBtZW1vcnkgbGVha3MgZHVlIHRvIG5ldyBlcnJvciBoYW5kbGluZwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMyMTc0CgoyMDE0LTA2LTI0IDE2OjA0OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBNb3JlIGRvYyBmaXhlcwoJICBTdGlsbCBub3QgZG9uZSA6KAoKMjAxNC0wNi0yNCAxNTo0MTozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBtb3JlIGFubm90YXRpb24gZml4ZXMKCjIwMTQtMDYtMDEgMTA6NDQ6MjMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBjaGFuZ2UgdG8gR1R5cGUgYW5kIGZyb20gZ2NoYXJbXSB0byBnY2hhcioKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDkxNAoKMjAxNC0wNi0yNCAyMzo1MToyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkgIGdsOiBYSW5pdFRocmVhZHMgd2hlbiBlbnYgdmFyaWFibGUgaXMgc2V0CgkgIFRoaXMgaXMgdG9vIGFsbG93IGdzdC1sYXVuY2ggZGVidWdnaW5nIHdpdGggbXVsdGlwbGUgR0wgY29udGV4dHMgYXMKCSAgd2VsbCBhcyBhdm9pZGluZyBzZWdmYXVsdGluZyBpbm5vY2VudCBndGsrIGFwcHMgdGhhdCBoYXZlIG5vdCBjYWxsZWQKCSAgWEluaXRUaHJlYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI1CgoyMDE0LTA2LTI0IDIzOjMzOjMwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2w6IGFkZCBhIHNjYXJ5IG5vdGUgYWJvdXQgaW5pdGlhbGl6aW5nIHRocmVhZCBzdXBwb3J0IGZvciB0aGUgd2luc3lzCgkgIFdlIGNhbm5vdCBkbyBpdCBhcyB0aGUgd2luc3lzIG1heSBjcmFzaCBpZiB3ZSBpbml0aWFsaXplIHRvbyBsYXRlLgoJICBFeGFtcGxlLCBHTFggY29udGV4dHMgd2l0aCBJbnRlbCBkcml2ZXJzOgoJICBJbnRlbCByZXF1aXJlcyB0aGUgWCBEaXNwbGF5IHRvIGJlIHRoZSBzYW1lIGluIG9yZGVyIHRvIHNoYXJlIEdMCgkgIHJlc291cmNlcyBhY3Jvc3MgR0wgY29udGV4dHMuICBUaGVzZSBHTCBjb250ZXh0cyBhcmUgZ2VuZXJhbGx5CgkgIGFjY2Vzc2VkIGZyb20gZGlmZmVyZW50IHRocmVhZHMuICBXaXRob3V0IHdpbnN5cyBzdXBwb3J0IGl0IGlzCgkgIG5lYXJseSBpbXBvc3NpYmxlIHRvIGd1YXJlbnRlZSB0aGF0IGNvbmN1cnJlbnQgYWNjZXNzIHdpbGwgbm90CgkgIG9jY3VyLiAgVGhpcyBjb25jdXJyZW50IGFjY2VzcyBjb3VsZCByZXN1bHQgaW4gY3Jhc2hlcyBvciBhYm9ydGlvbgoJICBieSB0aGUgd2luc3lzICh4Y2IpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNTI1CgoyMDE0LTA2LTI0IDE0OjA1OjE0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgbXBlZ3RzOiBGaXggZGVzY3JpcHRvcl9mcm9tX2R2Yl9zZXJ2aWNlCgkgIFZhcmlvdXMgbGVha3Mvb3ZlcndyaXRlcyBpc3N1ZXMKCjIwMTQtMDYtMjQgMTM6NDY6MTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkgIGFsbDogRG9uJ3QgZGVjbGFyZSB2YXJpYWJsZXMgaW4gJ2ZvcicgbG9vcHMKCjIwMTQtMDYtMjQgMTE6Mjc6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSAgYmFkYmFzZTogVXNlIHRoZSBjb3JyZWN0IExERkxBR1MgZm9yIGNyZWF0aW5nIGxpYnJhcmllcwoJICBPdGhlcndpc2Ugd2Ugd29uJ3QgZS5nLiBjcmVhdGUgLmRsbHMgb24gV2luZG93cwoKMjAxNC0wNi0yNCAwODowMToyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY29tcG9zaXRvci9NYWtlZmlsZS5hbToKCSAgY29tcG9zaXRvcjogRml4IE1ha2VmaWxlIENGTEFHUy9MSUJBREQgb3JkZXJpbmcKCSAgV2Ugd2FudCB0byB1c2UgdGhlIGxpYnJhcmllcyBmcm9tIC1iYWQgaWYvd2hlbiBwcmVzZW50CgoyMDE0LTA2LTIzIDIwOjQ0OjIzICswMjAwICBFcmljIFRyb3Vzc2V0IDxldHJvdXNzZXRAYXdveC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogUmVsZWFzZSBEM0Qgc3VyZmFjZXMgd2hlbiBzaHV0dGluZyBkb3duIHRoZSBzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwMjYKCjIwMTQtMDYtMjMgMjA6MzM6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXNzcmM6IENsYXNzaWZpY2F0aW9uIG9mIHRoZSBlbGVtZW50IGZhY3Rvcnkgc2hvdWxkIGJlIFNvdXJjZS8gbm90IFNyYy8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgxMQoKMjAxNC0wNi0yMyAyMjo0MDoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkgIHZpZGVvYWdncmVnYXRvcjogZG9uJ3QgY2xvYmJlciBhbHJlYWR5IGhlYXAgYWxsb2NhdGVkIHZpZGVvIGZyYW1lCgkgIENJRCAjIDEyMjM0NDAKCjIwMTQtMDYtMjMgMjI6MzY6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJICB2aWRlb2FnZ3JlZ2F0b3I6IGZpeCB1cCB0aGUgcGFyZW50IGNoYWluaW5nIGZvciBkaXNwb3NlIGFuZCBmaW5hbGl6ZQoKMjAxNC0wNi0yMyAyMTo0MzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmM6CgkgIGdsdXBsb2FkbWV0YTogcmVlbmFibGUgR0xNZW1vcnkgdXBsb2FkIHBhdGgKCjIwMTQtMDYtMjIgMjM6Mzk6MTQgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggZGlzZXFjLXNvdXJjZSBwcm9wIG5hbWUgaW4gZXhhbXBsZQoKMjAxNC0wNi0yMiAyMTowNDo0NSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCBuaXQgb24gd2FybmluZyBtZXNzYWdlCgoyMDE0LTA2LTIyIDIyOjA0OjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAkRVJST1JfQ0ZMQUdTIGluc3RlYWQgb2YgaGFyZC1jb2RpbmcgLVdlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTczMTY5MgoKMjAxNC0wNi0xNSAyMToxNTo1MSArMDIwMCAgS29vcCBNYXN0IDxrd21AcmFpbmJvdy1ydW5uZXIubmw+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXNlIC1XZXJyb3IgdG8gbWFrZSB0aGUgaW5jbHVkZSBHTCBhbmQgR0xFUzIgaGVhZGVyIGNoZWNrIGd1YXJhbnRlZWQgZmF0YWwKCSAgQ2xhbmcgd2lsbCBvbmx5IGdpdmUgYSB3YXJuaW5nIGZvciB0aGUgcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYgR0xlbnVtLgoJICBTaW5jZSBtYXN0ZXIgaXMgYnVpbGQgd2l0aCAtV2Vycm9yIHRoaXMgd2lsbCByZXN1bHQgaW4gYSBidWlsZCBmYWlsdXJlCgkgIGxhdGVyIGluIHRoZSBnbCBwbHVnaW4uIEFkZCAtV2Vycm9yIHRvIHRoZSB0ZXN0LCBzbyB0aGUgdGVzdCByZXN1bHQgaXMgYXMKCSAgZXhwZWN0ZWQuIFRoaXMgd2lsbCBhbGxvdyB0aGUgZ2wgcGx1Z2lucyB0byBidWlsZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE2OTIKCjIwMTQtMDYtMTcgMTQ6MjM6NDMgKzAxMDAgIENocmlzIEJhc3MgPGZsb29ibGVmbGFtQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NXBhcnNlLmM6CgkgIGgyNjVwYXJzZTogZml4IGh2Y0Mgc2l6ZSBjaGVjawoJICBJbiBJU08vSUVDIDE0NDk2LTE1LCB0aGUgbWluaW11bSBzaXplIG9mIGEgSEVWQ0RlY29kZXJDb25maWd1cmF0aW9uUmVjb3JkCgkgIChpLmUuLCB0aGUgY29udGVudHMgb2YgYSBodmNDIGJveCkgaXMgMjMgYnl0ZXMuIEhvd2V2ZXIsIHRoZSBjb2RlIGluIGgyNjVwYXJzZQoJICBjaGVja3MgdGhhdCB0aGUgc2l6ZSBvZiB0aGlzIGRhdGEgaXMgbm90IGxlc3MgdGhhbiAyOCBieXRlcywgYW5kIGl0IHJlZnVzZXMgdG8KCSAgYWNjZXB0IGNhcHMgaWYgdGhlIGNoZWNrIGZhaWxzLiBUaGUgcmVzdWx0IGlzIHRoYXQgc3RhbmRhcmRzLWNvbmZvcm1hbnQgc3RyZWFtcwoJICB0aGF0IGRvbid0IGNhcnJ5IGFueSBwYXJhbWV0ZXIgc2V0cyBpbiB0aGVpciBodmNDIGJveGVzIHdvbid0IHBsYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnLy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzgzCgoyMDE0LTA2LTE5IDIwOjE1OjA1ICswMjAwICBLb29wIE1hc3QgPGt3bUByYWluYm93LXJ1bm5lci5ubD4KCgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBtb2RwbHVnOiBkb24ndCBoYXJkY29kZSBjKysgc3RhbmRhcmQgbGlicmFyeQoJICBGaXhlcyBidWlsZCB3aXRoIGxsdm0gb24gRnJlZUJTRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvL3Nob3dfYnVnLmNnaT9pZD03MzE5MzAKCjIwMTQtMDYtMjIgMTk6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4zID09PQoKMjAxNC0wNi0yMiAxOToyMjoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjMKCjIwMTQtMDYtMjIgMTk6MDk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNi0yMiAxODo1ODo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSAgZ2w6IE5lZWQgdG8gbGluayB0byBuZXcgYmFkdmlkZW8gbGlicmFyeSBmb3IgdGhlIHZpZGVvIGFnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoKMjAxNC0wNi0yMiAxODo1MTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgdmlkZW86IExpbmsgd2l0aCAkKExJQk0pIGZvciByaW50KCkgYW5kIG90aGVycwoKMjAxNC0wNi0yMiAxNDoyNTo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zci5wbzoKCSogcG8vdWsucG86CgkgIHBvOiBVcGRhdGUgdHJhbnNsYXRpb25zCgoyMDE0LTA2LTIwIDA4OjIwOjU1IC0wNjAwICBUaG9tYXMgQmx1ZW1lbCA8dGJsdWVtZWxAY29udHJvbDQuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBGaXggZGVjcnlwdGluZyBmcmFnbWVudHMKCSAgT25seSByZXNldCB0aGUgZGVjcnlwdGlvbiBlbmdpbmUgb24gdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50LAoJICBub3QgYWdhaW4gZm9yIHRoZSBzZWNvbmQgYnVmZmVyLiAgVGhpcyBmaXhlcyBjb3JydXB0aW5nIHRoZSBzZWNvbmQKCSAgYnVmZmVyIG9mIGEgZnJhZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5NjgKCjIwMTQtMDYtMjIgMTQ6MTI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IFVzZSB0aGUgcGFkIHBhc3NlZCB0byB1cyBkaXJlY3RseSBmb3IgZGVmYXVsdCBldmVudCBoYW5kbGluZwoKMjAxNC0wNi0xOSAxNzoyNDoyNiArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZGVmYXVsdCBxdWVyeSBzaG91bGQgYmUgZm9yd2FyZCBvbiB0YXJnZXQgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE4OTkKCjIwMTQtMDYtMjIgMTI6MzI6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmaXggdXAgY29tbWVudAoKMjAxNC0wNi0yMiAwOTo0NDoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ3N0Z2xfZ2xlczJjb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBtb3ZlIGdsZXMyIGNvbXBhdCBoZWFkZXIgdG8gZ2xwcm90b3R5cGVzCgoyMDE0LTA2LTIyIDA5OjM2OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBnbGJ1ZmZlcnBvb2w6IHByb3ZpZGUgYSBjb25zaXN0ZW50IEFQSSByZWdhcmRsZXNzIG9mIHBsYXRmb3JtCgoyMDE0LTA2LTIyIDA5OjIyOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJICBnbDogbWFyayBsaWJyYXJ5IGFzIEFQSSB1bnN0YWJsZQoKMjAxNC0wNi0yMSAxNjo1NzozNCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBsaWJzOnVyaWRvd25sb2FkZXI6IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1Mjo1MSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkgIGxpYnM6dmlkZW86IFByb3Blcmx5IGRlY2xhcmUgQVBJcyBhcyBVTlNUQUJMRQoKMjAxNC0wNi0yMSAxNjo1MTowMSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSAgbGliczpiYXNlOiBQcm9wZXJseSBkZWNsYXJlIEFQSXMgYXMgVU5TVEFCTEUKCjIwMTQtMDYtMjEgMTY6NTc6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0d2F5bGFuZHNpbmsuYzo0ODA6MTQ6IGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbiBvZgoJICB0eXBlICdlbnVtIHdsX3NobV9mb3JtYXQnIGlzIGFsd2F5cyBmYWxzZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb25zdGFudC1vdXQtb2YtcmFuZ2UtY29tcGFyZV0KCSAgaWYgKGZvcm1hdCA9PSAtMSkKCSAgfn5+fn5+IF4gIH5+CgoyMDE0LTA2LTIxIDE2OjU1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXBkYXRlIGNvbW1lbnRzIHRvIHRoZSBuZXcgcmVhbGl0eSBhbmQgcmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTQtMDYtMjEgMTU6NDA6NTggKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgbGliczp2aWRlbzogQWRkIC1JJCh0b3Bfc3JjZGlyKS9nc3QtbGlicyB0byBmaXggZGlzdGNoZWNrCgoyMDE0LTA2LTIxIDE1OjI2OjE0ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZS9NYWtlZmlsZS5hbToKCSAgbGliczpiYXNlOiBGaXggaW5jbHVkZWRpcgoKMjAxNC0wNi0yMSAxMzo0NToxMyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2UvZ3N0YWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBGaXggcmVxdWVzdGVkIHBhZCBuYW1lCgoyMDE0LTA2LTIwIDIyOjAyOjA3ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSAgbGliczogdmlkZW9hZ2dyZWdhdG86IERvIG5vdCBpbXBvcnQgdmlkZW9jb252ZXJ0LmggaW4gZ3N0dmlkZW9hZ2dyZWdhdG9ycGFkLmgKCSAgKyBBZGQgYSBQcml2YXRlIHN0cnVjdHVyZSB0byB0aGUgR3N0VmlkZW9BZ2dyZWdhdG9yUGFkCgkgICsgQWRkIHNvbWUgcGFkZGluZwoKMjAxNC0wNi0yMCAyMToxODo1OCArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJICBGaW5hbCBmaXggY29tcGlsYXRpb24KCjIwMTQtMDYtMjAgMjA6MTE6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IHJlbW92ZSBnc3QtbGlicy9nc3QvdmlkZW8vIGZyb20gQ1JVRlRfRElSUwoJICBJdCB3YXMgZ29uZSwgYnV0IG5vdyBpdCdzIGJhY2suCgoyMDE0LTA2LTIwIDIwOjIzOjMwICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkgIGxpYnM6dmlkZW86Rml4IGNvbXBpbGF0aW9uCgoyMDE0LTA2LTIwIDExOjEwOjQ1ICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkgIGdsOmdsdmlkZW9taXhlcjogQWRkIHRoZSBDb21wb3NpdG9yIGluIHRoZSBlbGVtZW50IG1ldGFkYXRhIGNsYXNzCgkgIFNvIGl0IGlzIHBvc3NpYmxlIHRvIHBpY2sgb25lIGNvbXBvc2l0aW5nIGVsZW1lbnQgZnJvbSB0aGUgcmVnaXN0cnkKCjIwMTQtMDUtMjIgMTk6NDY6MDIgKzAyMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2NvbXBvc2l0b3IvTWFrZWZpbGUuYW06CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmM6CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kLmg6CgkqIGdzdC9jb21wb3NpdG9yL2JsZW5kb3JjLmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3IuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvci5oOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9yb3JjLWRpc3QuYzoKCSogZ3N0L2NvbXBvc2l0b3IvY29tcG9zaXRvcm9yYy1kaXN0Lmg6CgkqIGdzdC9jb21wb3NpdG9yL2NvbXBvc2l0b3JvcmMub3JjOgoJKiBnc3QvY29tcG9zaXRvci9jb21wb3NpdG9ycGFkLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jb21wb3NpdG9yLmM6CgkgIGNvbXBvc2l0b3I6IEFkZCBhIG5ldyBjb21wb3NpdG9yIGJhc2VkIG9uIHRoZSBuZXcgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2UgY2xhc3MKCSAgSXQgaXMgYSByZXBsYWNlbWVudCBmb3IgdmlkZW9taXhlciB3aXRoIGEgc2ltaWxhcmUgQVBJCgkgIENvLUF1dGhvcmVkIGJ5OiBUaGliYXVsdCBTYXVuaWVyIDx0c2F1bmllckBnbm9tZS5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE5MTkKCjIwMTQtMDYtMTAgMTE6MjY6NTMgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGV4dC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgZ2w6IFBvcnQgZ2xtaXhlciB0byB0aGUgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2VjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTIxCgoyMDE0LTA2LTAzIDE5OjAwOjM0ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQG9wZW5jcmVlZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vYmFkLXZpZGVvLW9yYy1kaXN0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9iYWQtdmlkZW8tb3JjLWRpc3QuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2JhZC12aWRlby1vcmMub3JjOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0Y21zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RjbXMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHZpZGVvYWdncmVnYXRvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0dmlkZW9hZ2dyZWdhdG9yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3R2aWRlb2FnZ3JlZ2F0b3JwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb252ZXJ0Lmg6CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFkLXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhZC12aWRlby5wYy5pbjoKCSAgdmlkZW9hZ2dyZWdhdG9yOiBDcmVhdGUgYSBuZXcgR3N0VmlkZW9BZ2dyZWdhdG9yIGJhc2VjbGFzcwoJICBUaGlzIGJhc2UgY2xhc3MgaGFzIGJlZW4gYWRkZWQgdG8gYSBuZXdseSBjcmVhdGVkIGxpYmdzdGJhZHZpZGVvIGxpYnJhcnkKCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTkxOAoKMjAxNC0wNS0yMiAxOTo0NDozNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZS9nc3RhZ2dyZWdhdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlL2dzdGFnZ3JlZ2F0b3IuaDoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYWQtYmFzZS5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvYWdncmVnYXRvci5jOgoJICBhZ2dyZWdhdG9yOiBBZGQgbmV3IEdzdEFnZ3JlZ2F0b3IgYmFzZSBjbGFzcwoJICBUaGlzIGJhc2UgY2xhc3MgaGFzIGJlZW4gYWRkZWQgdG8gYSBuZXdseSBjcmVhdGVkIGxpYmdzdGJhZGJhc2UgbGlicmFyeQoJICBDby1BdXRob3JlZCBieTogTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxOTE3CgoyMDE0LTA2LTIwIDE0OjU5OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBDbGVhciBleGNlcHRpb25zIGFsc28gd2hlbiB3ZSBkaWQgbm90IHByb3ZpZGUgYSBHRXJyb3IKCjIwMTQtMDYtMTkgMTE6MjY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFsc28gZG9uJ3QgcmVwb3J0IHdhcm5pbmdzIGZvciBxdWV1ZS9kZXF1ZXVlIGVycm9ycyBkdXJpbmcgZmx1c2hpbmcgaW4gZXJyb3IgY2FzZXMKCSAgLi4uIGFuZCBmaXggYSBjYXNlIHdoZXJlIHdlIHJlbGVhc2VkIGFuIGludmFsaWQgYnVmZmVyIGluZGV4LgoKMjAxNC0wNi0xOSAxMToxNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogRG9uJ3QgY29uc2lkZXIgaW5wdXQgYnVmZmVyIHF1ZXVlaW5nIGZhaWx1cmVzIGFzIGFuIGVycm9yIGR1cmluZyBmbHVzaGluZwoKMjAxNC0wNi0xOSAxMToxMjo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYW4gdXAgZmx1c2hpbmcgY29kZSBhbmQgZG9uJ3QgY29uc2lkZXIgb3V0cHV0IGJ1ZmZlciByZWxlYXNpbmcgZmFpbHVyZXMgZHVyaW5nIGZsdXNoaW5nIGFzIGFuIGVycm9yCgoyMDE0LTA2LTE5IDA5OjU3OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBJbmNsdWRlIHRoZSBkZWJ1ZyBzdHJpbmcgaW4gdGhlIGVycm9yIG1lc3NhZ2VzIHdlIHByb3BhZ2F0ZSBmcm9tIHQgc291cmNlCgoyMDE0LTA2LTE5IDA5OjU2OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5jbHVkZSB0aGUgZGVidWcgc3RyaW5nIGluIHRoZSBlcnJvciBtZXNzYWdlcyB3ZSBwcm9wYWdhdGUgZnJvbSB0aGUgc291cmNlCgoyMDE0LTA2LTE5IDA5OjU0OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW5jbHVkZSBhIG1vcmUgZGVzY3JpcHRpdmUgZXJyb3IgbWVzc2FnZQoKMjAxNC0wNi0xOSAwOTo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUHJvcGFnYXRlIGVycm9yIG1lc3NhZ2VzIGZyb20gdGhlIHNvdXJjZSBlbGVtZW50IHVwIGluIHRoZSBoaWVyYXJjaHkKCSAgSW5zdGVhZCBvZiBpbnZlbnRpbmcgb3VyIG93biBnZW5lcmljIGVycm9yIHN0cmluZ3Mgd2hpY2ggYXJlIG1vc3RseSB1c2VsZXNzLgoKMjAxNC0wNi0xOSAwOTo0MDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERpcmVjdGx5IGNvbnZlcnQgR0Vycm9ycyB0byBlcnJvciBtZXNzYWdlcwoJICBUaGlzIHdpbGwgbWFrZSBzdXJlIHRoYXQgd2UgZG9uJ3QgbGVhayBkZWJ1ZyBpbmZvcm1hdGlvbiBpbnRvIHRoZSBhY3R1YWwKCSAgZXJyb3IgbWVzc2FnZSBzdHJpbmcgYW5kIGtlZXAgaXQgYmVoaW5kIHRoZSBkZWJ1ZyBzdHJpbmcuCgoyMDE0LTA2LTE3IDExOjQ4OjEyICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgZ3N0c3J0cGVuYzogdW5yZWYgZXZlbnQgd2hlbiBuZWVkZWQKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTc2OAoKMjAxNC0wNi0xOCAxNTozNjowOSArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IGltcHJvdmUgcHJvcGVydHkgY29tbWVudHMKCSAgQWRkIGEgTm90ZSB0byB0aGUgYWxsb3ctcmVwZWF0LXR4IHByb3BlcnR5IGJlY2F1c2UgaXQgaXMgcG90ZW50aWFsbHkKCSAgaW5zZWN1cmUgd2hlbiB1c2VkIGluY29ycmVjdGx5LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNzE0CgoyMDE0LTA2LTEzIDExOjE1OjI1ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBnc3RzcnRwZW5jOiBhZGQgYWxsb3ctcmVwZWF0LXR4IHByb3BlcnR5CgoyMDE0LTA1LTI3IDEyOjQwOjA5ICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9NYWtlZmlsZS5hbToKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uYzoKCSogZXh0L2dsL2dzdGdsdHJhbnNmb3JtYXRpb24uaDoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBvcGVuZ2w6IGFkZCBlbGVtZW50IGZvciB0cmFuc2Zvcm1pbmcgdmlkZW8gZ2VvbWV0cnkKCSAgKiBhZGQgZ3JhcGhlbmUgYXMgc29mdCBkZXBlbmRlbmN5IGZvciBsaW5lYXIgYWxnZWJyYQoKMjAxNC0wNi0xOCAxMDoxMzoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkgIHBubTogbGluayBhZ2FpbnN0IGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDUyMwoKMjAxNC0wNi0xNyAyMzoyMDowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJICBnbGZyYW1lYnVmZmVyOiBkb24ndCBzZWdmYXVsdCBuZWVkbGVzc2x5IHdpdGggR0xFUzIKCSAgZ3N0X2dsX2ZyYW1lYnVmZmVyX3VzZV92MiB3YXMgdXNpbmcgYSBmdW5jdGlvbiB0aGF0IGlzIG5vdCBhdmFpbGFibGUKCSAgd2l0aCBHTEVTMgoKMjAxNC0wNi0xNiAyMDozNjowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkgIGdsZmlsdGVyc2hhZGVyOiBwb3J0IHRvIEdMRVMyCgkgIFByb3ZpZGUgYSB0aW1lIHZhcmlhYmxlCgoyMDE0LTA2LTE3IDEzOjQ4OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIHdpbjMyOiB1cGRhdGUgZXhwb3J0cyBmb3IgY2hhbmdlZCBoMjY0IGNvZGVjIHBhcnNlciBBUEkKCjIwMTQtMDYtMTcgMTI6NTA6MTcgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJICBwbm1kZWM6IEFkZGVkIFBCTSBTdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1MjMKCjIwMTQtMDYtMTcgMTM6MTU6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IGFkZCB1bnN0YWJsZSBBUEkgZ3VhcmRzIHRvIHdheWxhbmQgbGlicmFyeSBoZWFkZXIKCjIwMTQtMDYtMTcgMTM6MTE6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgZ3N0LWxpYnM6IGZpeCB1bmluc3RhbGxlZCBidWlsZCBvZiBuZXcgd2F5bGFuZCBsaWIKCjIwMTQtMDYtMTYgMTg6NTM6NTMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSAgd2F5bGFuZHNpbmsvd2xkaXNwbGF5OiB2ZXJpZnkgdGhhdCBhbGwgdGhlIHJlcXVpcmVkIGludGVyZmFjZXMgaGF2ZSBiZWVuIGZvdW5kIG9uIHRoZSBjb21wb3NpdG9yCgkgIFRoaXMgYWxsb3dzIHdheWxhbmRzaW5rIHRvIGZhaWwgZ3JhY2VmdWxseSBiZWZvcmUgZ29pbmcgdG8gUkVBRFkKCSAgaW4gY2FzZSBvbmUgb2YgdGhlIHJlcXVpcmVkIGludGVyZmFjZXMgZG9lcyBub3QgZXhpc3QuIE5vdCBhbGwKCSAgaW50ZXJmYWNlcyBhcmUgbmVjZXNzYXJ5IGZvciBhbGwgbW9kZXMgb2Ygb3BlcmF0aW9uLCBidXQgaXQgaXMKCSAgYmV0dGVyIGltaG8gdG8gZmFpbCBiZWZvcmUgZ29pbmcgdG8gUkVBRFkgaWYgYXQgbGVhc3Qgb25lIGZlYXR1cmUKCSAgaXMgbm90IHN1cHBvcnRlZCwgdGhhbiB0byBmYWlsIGFuZC9vciBjcmFzaCBhdCBzb21lIGxhdGVyIHBvaW50LgoJICBJbiB0aGUgZnV0dXJlIHdlIG1heSB3YW50IHRvIHJlbGF4IHRoaXMgcmVzdHJpY3Rpb24gYW5kIGFsbG93IGNlcnRhaW4KCSAgaW50ZXJmYWNlcyBub3QgdG8gYmUgcHJlc2VudCB1bmRlciBjZXJ0YWluIGNpcmN1bXN0YW5jZXMsIGZvciBleGFtcGxlCgkgIGlmIHRoZXJlIGlzIGFuIGFsdGVybmF0aXZlIHNpbWlsYXIgaW50ZXJmYWNlIGF2YWlsYWJsZSAoZm9yIGluc3RhbmNlLAoJICB4ZGdfc2hlbGwgaW5zdGVhZCBvZiB3bF9zaGVsbCksIGJ1dCBmb3Igbm93IGxldCdzIHJlcXVpcmUgdGhlbSBhbGwuCgkgIFdlc3RvbiBzdXBwb3J0cyB0aGVtIGFsbCwgd2hpY2ggaXMgZW5vdWdoIGZvciB1cyBub3cuIE90aGVyIGNvbXBvc2l0b3JzCgkgIHNob3VsZCByZWFsbHkgaW1wbGVtZW50IHRoZW0gaWYgdGhleSBkb24ndCBhbHJlYWR5LiBJIGRvbid0IGxpa2UgdGhlCgkgIGlkZWEgb2Ygc3VwcG9ydGluZyBtYW55IGRpZmZlcmVudCBjb21wb3NpdG9ycyB3aXRoIGRpZmZlcmVudCBzZXRzIG9mCgkgIGludGVyZmFjZXMgaW1wbGVtZW50ZWQuIHdsX3N1YmNvbXBvc2l0b3IsIHdsX3NobSBhbmQgd2xfc2NhbGVyIGFyZQoJICByZWFsbHkgZXNzZW50aWFsIGZvciBoYXZpbmcgYSBuaWNlIHZpZGVvIHNpbmsuIEVub3VnaCBzYWlkLgoKMjAxNC0wNi0xNiAxODowMzo1MSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIGJ1ZmZlciBmcm9tIHRoZSBzdXJmYWNlIHdoZW4gZ29pbmcgUEFVU0VEIC0+IFJFQURZCgkgIFRoaXMgZXNzZW50aWFsbHkgaGlkZXMgdGhlIHZpZGVvIGFuZCBhbGxvd3MgdGhlIGFwcGxpY2F0aW9uIHRvCgkgIHBvdGVudGlhbGx5IGRyYXcgYSBibGFjayBiYWNrZ3JvdW5kIG9yIHdoYXRldmVyIGVsc2UgaXQgd2FudHMuCgkgIFRoaXMgYWxsb3dzIHRvIGRpZmZlcmVudGlhdGUgdGhlICJwYXVzZWQiIGFuZCAic3RvcHBlZCIgbW9kZXMKCSAgZnJvbSB0aGUgdXNlcidzIHBvaW50IG9mIHZpZXcuCgkgIEFsc28gcmV3b3JkZWQgYSBjb21tZW50IHRoZXJlIHRvIG1ha2UgbXkgdGhpbmtpbmcgbW9yZSBjbGVhciwKCSAgc2luY2UgdGhlICJyZWFzb24gZm9yIGtlZXBpbmcgdGhlIGRpc3BsYXkgYXJvdW5kIiBpcyBub3QgcmVhbGx5CgkgIHRoZSBleHBvc2VkKCkgY2FsbHMsIGFzIHRoZXJlIGlzIG5vIGJ1ZmZlciBzaG93biBpbiBSRUFEWS9OVUxMCgkgIGFueW1vcmUuCgoyMDE0LTA2LTEyIDE3OjQzOjQwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXdheWxhbmQtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItd2F5bGFuZC5wYy5pbjoKCSAgd2F5bGFuZDogaW5zdGFsbCAucGMgZmlsZQoKMjAxNC0wNi0xMyAxNjozNzozOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiBkbyBub3QgY29tbWl0IGEgcmVzaXplIHdoZW4gaXQgaGFwcGVucyBkdWUgdG8gYSB2aWRlbyBpbmZvIGNoYW5nZQoJICAxKSBXZSBrbm93IHRoYXQgZ3N0X3dheWxhbmRfc2lua19yZW5kZXIoKSB3aWxsIGNvbW1pdCB0aGUgc3VyZmFjZQoJICBpbiB0aGUgc2FtZSB0aHJlYWQgYSBsaXR0bGUgbGF0ZXIsIGFzIGdzdF93bF93aW5kb3dfc2V0X3ZpZGVvX2luZm8oKQoJICBpcyBhbHdheXMgY2FsbGVkIGZyb20gdGhlcmUsIHNvIHdlIGNhbiBzYXZlIHRoZSBjb21wb3NpdG9yIGZyb20KCSAgc29tZSBleHRyYSBjYWxjdWxhdGlvbnMuCgkgIDIpIFdlIHNob3VsZCBub3QgY29tbWl0IGEgcmVzaXplIHdpdGggdGhlIG5ldyB2aWRlbyBpbmZvIHdoaWxlIHdlIGFyZSBzdGlsbAoJICBzaG93aW5nIHRoZSBidWZmZXIgb2YgdGhlIHByZXZpb3VzIHZpZGVvLCB3aXRoIHRoZSBvbGQgY2FwcywgYXMgdGhhdAoJICB3b3VsZCBwcm9iYWJseSBiZSBhIHZpc2libGUgcmVzaXplIGdsaXRjaC4KCjIwMTQtMDYtMTMgMTY6Mjk6MzIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luay93bHdpbmRvdzogdGFrZSBpbnRvIGFjY291bnQgdGhlIHZpZGVvIGFzcGVjdCByYXRpbyB3aGVuIGRldGVybWluaW5nIHRoZSBzaXplIG9mIHRoZSBzdXJmYWNlCgoyMDE0LTA2LTEzIDE1OjU4OjA4ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuaDoKCSAgd2F5bGFuZHNpbms6IGltcHJvdmUgdGhlIHdheSB0aGUgdmlkZW8gc2l6ZSBpcyBwYXNzZWQgdG8gd2x3aW5kb3cgYW5kIGFsc28gaW1wcm92ZSB0aGUgY29kZSBmb3Igd2luZG93IGNyZWF0aW9uCgoyMDE0LTA2LTA2IDEyOjQ5OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmRzaW5rOiByZW5hbWUgcGF1c2UvcmVzdW1lX3JlbmRlcmluZyB0byBiZWdpbi9lbmRfZ2VvbWV0cnlfY2hhbmdlIGFuZCB1cGRhdGUgdGhlaXIgZG9jdW1lbnRhdGlvbgoKMjAxNC0wNS0yOSAxMjoyNzo0NiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIG1hbnVhbCBzeW5jaHJvbml6YXRpb24gZnJvbSBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIGFuZCB1c2Ugc3Vic3VyZmFjZSBzeW5jL2Rlc3luYwoJICBQcmV2aW91c2x5LCBpbiBvcmRlciB0byBjaGFuZ2UgdGhlIHN1cmZhY2Ugc2l6ZSB3ZSBoYWQgdG8gbGV0IHRoZSBwaXBlbGluZQoJICByZWRyYXcgaXQsIHdoaWNoIGF0IGZpcnN0IGFsc28gaW52b2x2ZWQgcmUtbmVnb3RpYXRpbmcgY2FwcywgZXRjLCBzbyBhCgkgIHN5bmNocm9uaXphdGlvbiB3aXRoIHRoZSBwaXBlbGluZSB3YXMgYWJzb2x1dGVseSBuZWNlc3NhcnkuCgkgIEF0IHRoZSBtb21lbnQsIHdlIGFyZSB1c2luZyB3bF92aWV3cG9ydCwgd2hpY2ggc2VwYXJhdGVzIHRoZSBzdXJmYWNlIHNpemUKCSAgZnJvbSB0aGUgYnVmZmVyIHNpemUgYW5kIGl0IGFsc28gYWxsb3dzIHVzIHRvIGNvbW1pdCBhIHN1cmZhY2UgcmVzaXplIHdpdGhvdXQKCSAgYXR0YWNoaW5nIGEgbmV3IGJ1ZmZlciwgc28gaXQgaXMgZW5vdWdoIHRvIGp1c3QgZG86CgkgIGdzdF93YXlsYW5kX3ZpZGVvX3BhdXNlX3JlbmRlcmluZygpOgoJICB3bF9zdWJzdXJmYWNlX3NldF9zeW5jKCkKCSAgZ3N0X3ZpZGVvX292ZXJsYXlfc2V0X3JlbmRlcl9yZWN0YW5nbGUoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfcG9zaXRpb24oKQoJICB3bF92aWV3cG9ydF9zZXRfZGVzdGluYXRpb24oKQoJICB3bF9zdXJmYWNlX2RhbWFnZSgpCgkgIHdsX3N1cmZhY2VfY29tbWl0KCkKCSAgLi4uIGNvbW1pdCB0aGUgcGFyZW50IHN1cmZhY2UgLi4uCgkgIGdzdF93YXlsYW5kX3ZpZGVvX3Jlc3VtZV9yZW5kZXJpbmcoKToKCSAgd2xfc3Vic3VyZmFjZV9zZXRfZGVzeW5jKCkKCSAgVGhpcyBpcyBlbm91Z2ggdG8gc3luY2hyb25pemUgYSBzdXJmYWNlIHJlc2l6ZSBhbmQgdGhlIHBpcGVsaW5lIGNhbiBjb250aW51ZQoJICBkcmF3aW5nIGluZGVwZW5kZW50bHkuIE5vdyBvZiBjb3Vyc2UsIHRoZSBuYW1lcyBwYXVzZS9yZXN1bWVfcmVuZGVyaW5nIGFyZQoJICBiYWQuIEkgd2lsbCByZW5hbWUgdGhlbSBpbiBhbm90aGVyIGNvbW1pdC4KCjIwMTQtMDYtMDYgMTI6MTA6MjQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogcHJvdGVjdCBhY2Nlc3MgdG8gcHJvcGVydGllcyB3aXRoIHRoZSBPQkpFQ1RfTE9DSwoKMjAxNC0wNi0wNiAxMjowNDo0NCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBwcm90ZWN0IGFjY2VzcyB0byB0aGUgZGlzcGxheSB3aXRoIGEgbmV3IGRpc3BsYXlfbG9jawoJICBBY2Nlc3MgaXMgcHJvdGVjdGVkIG9ubHkgZm9yIHNldHRpbmcvY3JlYXRpbmcvZGVzdHJveWluZyB0aGUgZGlzcGxheQoJICBoYW5kbGUuIHNldF9jYXBzKCkgZm9yIGV4YW1wbGUgaXMgbm90IHByb3RlY3RlZCBiZWNhdXNlIGl0IGNhbm5vdCBiZQoJICBjYWxsZWQgYmVmb3JlIGNoYW5naW5nIHN0YXRlIHRvIFJFQURZLCBhdCB3aGljaCBwb2ludCB0aGVyZSB3aWxsIGJlCgkgIGEgZGlzcGxheSBoYW5kbGUgYXZhaWxhYmxlIGFuZCB3aGljaCBjYW5ub3QgY2hhbmdlIGJ5IGFueSB0aHJlYWQgYXQKCSAgdGhhdCBwb2ludAoKMjAxNC0wNi0wNiAxMDozNToyMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIE9CSkVDVF9MT0NLIGZyb20gc2V0X2NhcHMoKQoJICBJdCdzIG5vdCByZWFsbHkgbmVjZXNzYXJ5LCB0aGlzIG1ldGhvZCBpcyBwcm90ZWN0ZWQgZnJvbSBHc3RCYXNlU2luayB3aXRoIHRoZSBQUkVST0xMX0xPQ0sKCjIwMTQtMDUtMjggMTM6MTA6NDMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogUmVwbGFjZSB0aGUgT0JKRUNUX0xPQ0sgd2l0aCBhIHByaXZhdGUgcmVuZGVyX2xvY2sgdG8gbG9jayByZW5kZXIgb3BlcmF0aW9ucwoJICBUaGlzIGlzIGJlY2F1c2U6CgkgICogR1NUX0VMRU1FTlRfV0FSTklORy9FUlJPUiBkbyBsb2NrIHRoZSBPQkpFQ1RfTE9DSyBhbmQgd2UgZGVhZGxvY2sgaW5zdGFudGx5CgkgICogSW4gZnV0dXJlIGNvbW1pdHMgSSB3YW50IHRvIG1ha2UgdXNlIG9mIEdzdEJhc2VTaW5rIGZ1bmN0aW9ucyB0aGF0IGFsc28KCSAgbG9jayB0aGUgT0JKRUNUX0xPQ0sgaW5zaWRlIHRoaXMgY29kZQoKMjAxNC0wNS0yNiAxNDoxMzo1NiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBtb3ZlIHN1cmZhY2UgcmVzaXppbmcgbG9naWMgdG8gdGhlIEdzdFdsV2luZG93IGFuZCBtYWtlIGl0IGJlIGNhbGxlZCBmcm9tIHRoZSBtYWluIHRocmVhZAoKMjAxNC0wNS0yNiAxMjo1NDoxMCArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBjbGVhbnVwIEdzdFdsV2luZG93IGEgYml0IGFmdGVyIHRoZSBvdmVybGF5aW5nIHNlbWFudGljcyBjaGFuZ2UKCSAgKiBvd25fc3VyZmFjZSBpcyBub3QgbmVlZGVkIGFueW1vcmUKCSAgKiBnc3Rfd2xfd2luZG93X2Zyb21fc3VyZmFjZSBpcyBub3QgdXNlZCBleHRlcm5hbGx5IGFueW1vcmUKCSAgKiBtYW55IGluaXRpYWxpemF0aW9ucyB0byAwIGFyZSBub3QgbmVlZGVkIChHT2JqZWN0IGRvZXMgdGhlbSkKCjIwMTQtMDUtMjYgMTE6MzQ6NTEgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmM6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZDogcmVtb3ZlIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUoKQoJICBOb3QgbmVlZGVkIGFueW1vcmUsIHNpbmNlIHdlIHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZSgpCgoyMDE0LTA1LTIzIDE4OjE4OjMyICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogY3JlYXRlIGFuZCBtYWludGFpbiB0aGUgc3Vic3VyZmFjZSBpbnNpZGUgdGhlIHNpbmsKCSAgVGhpcyBtZWFucyB0aGF0IHRoZSBnaXZlbiBzdXJmYWNlIGluIHNldF93aW5kb3dfaGFuZGxlIGNhbiBub3cgYmUKCSAgdGhlIHdpbmRvdydzIHRvcC1sZXZlbCBzdXJmYWNlIG9uIHRvcCBvZiB3aGljaCB3YXlsYW5kc2luayBjcmVhdGVzCgkgIGl0cyBvd24gc3Vic3VyZmFjZSBmb3IgcmVuZGVyaW5nIHRoZSB2aWRlby4KCSAgVGhpcyBoYXMgbWFueSBhZHZhbnRhZ2VzOgoJICAqIFdlIGNhbiBtYWludGFpbiBhc3BlY3QgcmF0aW8gYnkgb3ZlcmxheWluZyB0aGUgc3Vic3VyZmFjZSBpbgoJICB0aGUgY2VudGVyIG9mIHRoZSBnaXZlbiBhcmVhIGFuZCBmaWxsIHRoZSBwYXJlbnQgc3VyZmFjZSdzIGFyZWEKCSAgYmxhY2sgaW4gY2FzZSB3ZSBuZWVkIHRvIGRyYXcgYm9yZGVycyAoaW5zdGVhZCBvZiBhZGRpbmcgYW5vdGhlcgoJICBzdWJzdXJmYWNlIGluc2lkZSB0aGUgc3Vic3VyZmFjZSBnaXZlbiBmcm9tIHRoZSBhcHBsaWNhdGlvbiwKCSAgc28sIGxlc3Mgc3Vic3VyZmFjZXMpCgkgICogV2UgY2FuIG1vcmUgZWFzaWx5IHN1cHBvcnQgdG9vbGtpdHMgd2l0aG91dCBzdWJzdXJmYWNlcyAoc2VlIGd0aykKCSAgKiBXZSBjYW4gZ2V0IHByb3Blcmx5IHVzZSBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfcmVuZGVyX3JlY3RhbmdsZQoJICBhcyBvdXIgYXBpIHRvIHNldCB0aGUgdmlkZW8gYXJlYSBzaXplIGZyb20gdGhlIGFwcGxpY2F0aW9uIGFuZAoJICB0aGVyZWZvcmUgcmVtb3ZlIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUuCgoyMDE0LTA1LTIzIDEzOjA5OjI3ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5jOgoJKiBnc3QtbGlicy9nc3Qvd2F5bGFuZC93YXlsYW5kLmg6CgkgIHdheWxhbmQ6IGFkZCBwdWJsaWMgQVBJIGZvciBjcmVhdGluZyAmIHVzaW5nIHRoZSBkaXNwbGF5IGhhbmRsZSBHc3RDb250ZXh0CgoyMDE0LTA1LTIxIDE4OjI3OjI4ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kc2luazogZ2V0IHRoZSBleHRlcm5hbCBkaXNwbGF5IGhhbmRsZSB1c2luZyBHc3RDb250ZXh0CgkgIFRoaXMgZHJvcHMgdGhlIHVnbHkgR3N0V2F5bGFuZFdpbmRvd0hhbmRsZSBzdHJ1Y3R1cmUgYW5kIGlzIG11Y2gKCSAgbW9yZSBlbGVnYW50IGJlY2F1c2Ugd2UgY2FuIG5vdyByZXF1ZXN0IHRoZSBkaXNwbGF5IHNlcGFyYXRlbHkKCSAgZnJvbSB0aGUgd2luZG93IGhhbmRsZS4gVGhlcmVmb3JlIHRoZSB3aW5kb3cgaGFuZGxlIGNhbiBiZSByZXF1ZXN0ZWQKCSAgaW4gcmVuZGVyKCksIGkuZS4gd2hlbiBpdCBpcyByZWFsbHkgbmVlZGVkIGFuZCB3ZSBjYW4gc3RpbGwgb3BlbgoJICB0aGUgY29ycmVjdCBkaXNwbGF5IGZvciBnZXR0aW5nIGNhcHMgYW5kIGNyZWF0aW5nIHRoZSBwb29sIGVhcmxpZXIuCgkgIFRoaXMgY2hhbmdlIGFsc28gc2VwYXJhdGVzIHNldHRpbmcgdGhlIHdsX3N1cmZhY2UgZnJvbSBzZXR0aW5nIGl0cyBzaXplLgoJICBBcHBsaWNhdGlvbnMgc2hvdWxkIGRvIHRoYXQgYnkgY2FsbGluZyB0d28gZnVuY3Rpb25zIGluIHNlcXVlbmNlOgoJICBnc3RfdmlkZW9fb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZSAob3ZlcmxheSwgc3VyZmFjZSk7CgkgIGdzdF93YXlsYW5kX3ZpZGVvX3NldF9zdXJmYWNlX3NpemUgKG92ZXJsYXksIHcsIGgpOwoKMjAxNC0wNS0yMSAxMzoxNDoxNSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBkcm9wIHdpZHRoL2hlaWdodCBhcmd1bWVudHMgZnJvbSBnc3Rfd2xfd2luZG93X25ld19mcm9tX3N1cmZhY2UoKQoKMjAxNC0wNS0yMiAxMDoxMDo1MSArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBhZGQgR19CRUdJTi9FTkRfREVDTFMgb24gYWxsIGhlYWRlcnMgZm9yIGNvbnNpc3RlbmN5CgoyMDE0LTA1LTIxIDEyOjU4OjEwICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZpeCBhc3NlcnRpb24gZmFpbHVyZSB3aGVuIHN0b3BwaW5nIGltbWVkaWF0ZWx5IGFmdGVyIHN0YXJ0aW5nLCB3aXRob3V0IGRpc3BsYXlpbmcgYW55dGhpbmcKCSAgVGhpcyB3YXMgdHJpZ2dlcmVkIGluIHNjZW5hcmlvcyBsaWtlCgkgIGZpbGVzcmMgbG9jYXRpb249bm9uZXhpc3RlbnRfZmlsZSAhIGRlY29kZWJpbiAhIHdheWxhbmRzaW5rCgoyMDE0LTA1LTIxIDExOjU1OjQ1ICswMzAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvc2NhbGVyLnhtbDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rOiBVcGRhdGUgd2xfc2NhbGVyIHRvIHZlcnNpb24gMgoKMjAxNC0wNS0yMCAxOTowNDoxNiArMDMwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL01ha2VmaWxlLmFtOgoJICB3YXlsYW5kL01ha2VmaWxlLmFtOiBsaW5rIHdpdGggZ3N0dmlkZW8gdG8gYXZvaWQgaW50cm9zcGVjdGlvbiBlcnJvcnMKCjIwMTQtMDUtMjAgMTk6MDM6MzkgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSAgd2F5bGFuZHNpbmsvTWFrZWZpbGUuYW06IEZpeCBzY2FsZXItY2xpZW50LXByb3RvY29sLmggZ2VuZXJhdGlvbgoKMjAxNC0wMy0xMyAxMzoxMzowOCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogcmVtb3ZlIHVudXNlZCBmdW5jdGlvbnMKCjIwMTQtMDMtMTIgMTk6MjU6MDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogQWRkIG15c2VsZiB0byB0aGUgYXV0aG9ycyBsaXN0CgoyMDE0LTAzLTEyIDE3OjAzOjEwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkgIHdheWxhbmRzaW5rL3dsZGlzcGxheTogYmluZCB0byB0aGUgbGF0ZXN0IGF2YWlsYWJsZSB3bF9jb21wb3NpdG9yIHZlcnNpb24KCjIwMTQtMDMtMTIgMTQ6Mjg6NDQgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogY3JlYXRlL2Rlc3Ryb3kgdGhlIGRpc3BsYXkgd2hlbiBlbnRlcmluZy9sZWF2aW5nIHRoZSBSRUFEWSBzdGF0ZSBpbnN0ZWFkIG9mIFBBVVNFRAoJICBUaGlzIGlzIHRoZSBvbmx5IHdheSB0byBnZXQgdGhlIG5lZ290aWF0aW9uIHdvcmtpbmcgd2l0aCB0aGUgZHluYW1pYwoJICBkZXRlY3Rpb24gb2YgZm9ybWF0cyBmcm9tIHRoZSBkaXNwbGF5LCBiZWNhdXNlIHRoZSBwaXBlbGluZSBuZWVkcwoJICB0byBrbm93IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cyBpbiB0aGUgUkVBRFkgc3RhdGUgYW5kIHRoZSBzdXBwb3J0ZWQKCSAgZm9ybWF0cyBjYW4gb25seSBiZSBrbm93biBpZiB3ZSBvcGVuIHRoZSBkaXNwbGF5LgoJICBVbmZvcnR1bmF0ZWx5LGluIHdheWxhbmQgd2UgY2Fubm90IGhhdmUgYSBzZXBhcmF0ZSBjb25uZWN0aW9uIHRvCgkgIHRoZSBkaXNwbGF5IGZyb20gdGhlIHJlc3Qgb2YgdGhlIGFwcGxpY2F0aW9uLCBzbyB3ZSBuZWVkIHRvIGFzayBmb3IgYQoJICB3aW5kb3cgaGFuZGxlIHdoZW4gZ29pbmcgdG8gUkVBRFkgaW4gb3JkZXIgdG8gZ2V0IHRoZSBkaXNwbGF5IGZyb20gaXQuCgkgIEFuZCBzaW5jZSBpdCdzIHRvbyBlYXJseSB0byBjcmVhdGUgYSB0b3AgbGV2ZWwgd2luZG93IGZyb20gdGhlIHN0YXRlCgkgIGNoYW5nZSB0byBSRUFEWSwgY3JlYXRlIGl0IGluIHJlbmRlcigpIHdoZW4gdGhlcmUgaXMgbm8gb3RoZXIgd2luZG93LgoJICBUaGlzIGFsc28gY2hhbmdlcyBzZXRfd2luZG93X2hhbmRsZSgpIHRvIG5vdCBzdXBwb3J0IHdpbmRvdyBoYW5kbGUKCSAgY2hhbmdlcyBpbiBQQVVTRUQvUExBWUlORyAoYmVjYXVzZSBpdCdzIGNvbXBsZXggdG8gaGFuZGxlIGFuZCB1c2VsZXNzCgkgIGluIHByYWN0aWNlKSBhbmQgbWFrZSBzdXJlIHRoYXQgdGhlcmUgaXMgYWx3YXlzIGEgdmFsaWQgZGlzcGxheSBwb2ludGVyCgkgIGFyb3VuZCBpbiB0aGUgUkVBRFkgc3RhdGUuCgoyMDE0LTAzLTEyIDE0OjEzOjQ5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IFN1cHBvcnQgYWxsIHZpZGVvIGZvcm1hdHMgc3VwcG9ydGVkIGJ5IHRoZSBkaXNwbGF5CgoyMDE0LTAzLTEyIDEzOjU0OjQ0ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGZpeCBjcmFzaCBpbiBjYXNlIHRoZXJlIGlzIG5vIHBvb2wgYmVjYXVzZSBvZiBhIGNhcHMgbmVnb3RpYXRpb24gZXJyb3IKCjIwMTQtMDMtMTEgMTk6NDc6NTIgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJICB3YXlsYW5kc2luazogc2V0IGFuIGVtcHR5IGlucHV0IHJlZ2lvbiBvbiB0aGUgdmlkZW8gc3VyZmFjZQoKMjAxNC0wMy0xMSAxOTo0Njo1NiArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rL3dsd2luZG93OiByZXVzZSBjb2RlIGJldHdlZW4gdGhlIHR3byBjb25zdHJ1Y3RvcnMKCjIwMTQtMDMtMTEgMTg6NDU6MjMgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogaW5jcmVhc2UgZGVidWcgbWVzc2FnZXMKCjIwMTQtMDMtMTEgMTc6NDg6NDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogVXNlIGEgYm9vbGVhbiBpbiBjb21iaW5hdGlvbiB3aXRoIHJlbmRlcl9jb25kIHRvIGNvbXBseSB3aXRoIEdDb25kJ3MgdXNhZ2UgZG9jdW1lbnRhdGlvbgoKMjAxNC0wMy0xMSAxNzo0NTowNSArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBJbXBsZW1lbnQgZXhwb3NlKCkgYW5kIGhhbmRsZSByZXNpemluZyBwcm9wZXJseSBpbiBub24tUExBWUlORyBzdGF0ZXMKCjIwMTQtMDMtMTEgMTM6MTQ6MDAgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkgIHdheWxhbmRzaW5rOiBVc2Ugd2xfc2NhbGVyL3dsX3ZpZXdwb3J0IHRvIHNjYWxlIHRoZSBzdXJmYWNlIGluIHRoZSBjb21wb3NpdG9yL2hhcmR3YXJlCgoyMDE0LTAzLTExIDEzOjA1OjU2ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC8uZ2l0aWdub3JlOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvc2NhbGVyLnhtbDoKCSAgd2F5bGFuZHNpbms6IEJ1aWxkIGJpbmRpbmdzIGZvciB0aGUgdW5zdGFibGUgd2xfc2NhbGVyIHNwZWMKCjIwMTQtMDMtMTAgMTM6NTA6MDYgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogU2V0IGV4dGVybmFsIHN1cmZhY2VzIGFuZCB0aGVpciBjaGlsZCBvYmplY3RzIHRvIHVzZSBvdXIgb3duIGV2ZW50IHF1ZXVlCgkgIFRoaXMgZml4ZXMgd2VpcmQgZnJlZXplcyBiZWNhdXNlIG9mIGZyYW1lX3JlZHJhd19jYWxsYmFjaygpIG5vdCBiZWluZwoJICBjYWxsZWQgZnJvbSB0aGUgbWFpbiB0aHJlYWQgd2hlbiBpdCBzaG91bGQgd2l0aCB3ZXN0b24ncyB0b3kgdG9vbGtpdC4KCSAgSXQncyBhbHNvIHNhZmVyIHRvIGtub3cgdGhhdCBmcmFtZV9yZWRyYXdfY2FsbGJhY2soKSB3aWxsIGFsd2F5cyBiZQoJICBjYWxsZWQgZnJvbSBvdXIgZGlzcGxheSB0aHJlYWQuLi4gT3RoZXJ3aXNlIGl0IGNvdWxkIGJlIGNhbGxlZCBhZnRlcgoJICB0aGUgc2luayBoYXMgYmVlbiBkZXN0cm95ZWQgZm9yIGV4YW1wbGUuCgoyMDE0LTAzLTA3IDE3OjI1OjAwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IFdhaXQgZm9yIHRoZSBmcmFtZV9jYiB0byByZWRyYXcgYW5kIGRyb3AgZnJhbWVzIG1lYW53aGlsZQoJICBXZSBhcmUgbm90IHN1cHBvc2VkIHRvIHJlZHJhdyB1bnRpbCB3ZSByZWNlaXZlIGEgZnJhbWUgY2FsbGJhY2sgYW5kIHRoaXMKCSAgaXMgZXNwZWNpYWxseSB1c2VmdWwgdG8gYXZvaWQgYWxsb2NhdGluZyB0b28gbWFueSBidWZmZXJzIHdoaWxlIHRoZQoJICB3aW5kb3cgaXMgbm90IHZpc2libGUsIGJlY2F1c2UgdGhlIGNvbXBvc2l0b3IgbWF5IG5vdCBjYWxsIHdsX2J1ZmZlci5yZWxlYXNlCgkgIHVudGlsIHRoZSB3aW5kb3cgYmVjb21lcyB2aXNpYmxlIChvaywgdGhpcyBpcyBhIHdheWxhbmQgYnVnLCBidXQuLi4pLgoKMjAxNC0wMy0wNyAxNjoxNjozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiBIYW5kbGUgd2xfYnVmZmVyOjpyZWxlYXNlIGFuZCBkb24ndCByZXVzZSBidWZmZXJzIHRoYXQgYXJlIG5vdCByZWxlYXNlZAoJICBUaGlzIGlzIGFjaGlldmVkIGJ5IGFkZGluZyBhbiBleHRyYSByZWZlcmVuY2Ugb24gdGhlIGJ1ZmZlcnMsIHdoaWNoIGRvZXMKCSAgbm90IGFsbG93IHRoZW0gdG8gcmV0dXJuIHRvIHRoZSBwb29sLiBXaGVuIHRoZXkgYXJlIHJlbGVhc2VkLCB0aGlzIHJlZmVyZW5jZQoJICBpcyBkcm9wcGVkLgoJICBUaGUgcmVzdCBjb21wbGV4aXR5IG9mIHRoaXMgcGF0Y2ggKGhhc2ggdGFibGUsIG11dGV4LCBmbGFnLCBleHBsaWNpdCByZWxlYXNlIGNhbGxzKQoJICBtZXJlbHkgZXhpc3RzIHRvIGFsbG93IGEgc2FmZSwgZ3VhcmFudGVlZCBhbmQgZGVhZGxvY2stZnJlZSBkZXN0cnVjdGlvbiBzZXF1ZW5jZS4KCSAgU2VlIHRoZSBhZGRlZCBjb21tZW50IG9uIGdzdHdheWxhbmRzaW5rLmMgZm9yIGRldGFpbHMuCgoyMDE0LTAzLTA2IDE3OjAzOjUwICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlbW92ZSB1c2VsZXNzIG11bm1hcCBjYWxsCgkgIFRoaXMgZGF0YSBwb2ludGVyIGlzIHBhcnQgb2YgYSBiaWdnZXIgbW1hcCdlZCByZWdpb24sCgkgIGl0IGhhcyBub3QgYmVlbiByZXR1cm5lZCBmcm9tIG1tYXAgaXRzZWxmLgoKMjAxNC0wMi0yOCAxMzozNzozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiBjYWxsIHRoZSBzdGFydC9zdG9wIG1ldGhvZHMgb2YgdGhlIHBhcmVudCBjbGFzcwoJICBzdGFydCgpIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBhbW1vdW50IG9mIGJ1ZmZlcnMgcmVxdWVzdGVkIGlzIGFsbG9jYXRlZC4KCSAgc3RvcCgpIG1ha2VzIHN1cmUgdGhhdCBidWZmZXJzIGFyZSBhY3R1YWxseSBkZXN0cm95ZWQgYW5kIHByZXZlbnRzCgkgIGZpbGxpbmcgdGhlIGZpbGUgc3lzdGVtIHdoZW4gcmVzaXppbmcgdGhlIHN1cmZhY2UgYSBsb3QsIGJlY2F1c2UgdGhlCgkgIHdheWxhbmQtc2htLSogZmlsZXMgd2lsbCBzdGF5IG9uIHRoZSBmaWxlIHN5c3RlbSBhcyBsb25nIGFzIHRoZSB3bF9idWZmZXJzCgkgIGNyZWF0ZWQgb3V0IG9mIHRoZW0gYXJlIGFsaXZlLgoKMjAxNC0wMi0yOCAxMzozNjo0MyArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkgIHdheWxhbmRzaW5rL3dheWxhbmRwb29sOiB1bmxpbmsgbW1hcGVkIHNobSBmaWxlcyBzbyB0aGF0IHRoZXkgZG9uJ3QgcmVtYWluIG9uIHRoZSBmaWxlIHN5c3RlbQoKMjAxNC0wMi0yOCAxMTo0ODozMCArMDIwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuaDoKCSAgd2F5bGFuZHNpbms6IGltcGxlbWVudCB0aGUgR3N0VmlkZW9PdmVybGF5ICYgR3N0V2F5bGFuZFZpZGVvIGludGVyZmFjZXMKCSAgVGhpcyBpcyB0aGUgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbiwgd2l0aG91dCB0aGUgR3N0VmlkZW9PdmVybGF5LmV4cG9zZSgpCgkgIG1ldGhvZC4gSXQgb25seSBpbXBsZW1lbnRzIHVzaW5nIGFuIGV4dGVybmFsIChzdWIpc3VyZmFjZSBhbmQgcmVzaXppbmcKCSAgaXQgd2l0aCBHc3RXYXlsYW5kVmlkZW8uCgoyMDE0LTAyLTE0IDE2OjA4OjU2ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBpbXBsZW1lbnQgd2l0aCBzdHVicyB0aGUgR3N0V2F5bGFuZFZpZGVvICYgR3N0VmlkZW9PdmVybGF5IGludGVyZmFjZXMKCjIwMTMtMDUtMDYgMTM6MTY6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC93YXlsYW5kL3dheWxhbmQuYzoKCSogZ3N0LWxpYnMvZ3N0L3dheWxhbmQvd2F5bGFuZC5oOgoJICB3YXlsYW5kOiBBZGQgbmV3IGdzdC13YXlsYW5kIGxpYnJhcnkgY29udGFpbmluZyBhIG5ldyBHc3RXYXlsYW5kVmlkZW8gaW50ZXJmYWNlCgkgIFRoaXMgaW50ZXJmYWNlIGlzIG5lZWRlZCB0byBiZSBhYmxlIHRvIGVtYmVkIHdheWxhbmRzaW5rIGludG8KCSAgb3RoZXIgd2F5bGFuZCBzdXJmYWNlcy4gRHVlIHRvIHRoZSBzcGVjaWFsIG5hdHVyZSBvZiB3YXlsYW5kLAoJICBHc3RWaWRlb092ZXJsYXkgaXMgbm90IGVub3VnaCBmb3IgdGhpcyBqb2IuCgoyMDE0LTAyLTI2IDE4OjM1OjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5oOgoJICB3YXlsYW5kc2luazogaGFuZGxlIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzIHByb3Blcmx5CgkgIGVudW0gd2xfc2htX2Zvcm1hdCBpcyBub3QgYSBmbGFncyBlbnVtLCBhcyBpdCBtYXkgaGF2ZSBiZWVuIGluIHRoZSBwYXN0LAoJICBzbyBtdWx0aXBsZSBmb3JtYXRzIGNhbm5vdCBiZSBzdG9yZWQgaW4gYSBiaXRmaWVsZC4gVXNlIGFuIGFycmF5IGluc3RlYWQuCgoyMDE0LTAyLTI2IDE3OjQxOjExICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2x2aWRlb2Zvcm1hdC5jOgoJICB3YXlsYW5kc2luay93bHZpZGVvZm9ybWF0OiBhZGQgbWFwcGluZ3MgZm9yIG1hbnkgY29tbW9uIGZvcm1hdHMKCjIwMTQtMDItMjYgMTY6MjA6NDEgKzAyMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogdW5yZWYgdGhlIGJ1ZmZlciBwb29sCgoyMDE0LTAyLTI2IDE2OjExOjI5ICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IHJlZiB0aGUgZGlzcGxheSBpbnN0ZWFkIG9mIHRoZSBzaW5rIHRvIGF2b2lkIGN5Y2xpYyByZWZlcmVuY2VzCgkgIFRoZSByZWZlcmVuY2UgdG8gdGhlIHNpbmsgaXMgbm90IHJlYWxseSBuZWVkZWQgYW55d2F5IGluIHdheWxhbmRwb29sLAoJICB3aGF0IG1hdHRlcnMgYmFzaWNhbGx5IGlzIHRoYXQgdGhlIGRpc3BsYXkgaXMgYWN0aXZlIGFzIGxvbmcgYXMgdGhlCgkgIHBvb2wgaXMgYWN0aXZlLCBzbyB3ZSByZWFsbHkgd2FudCB0byByZWZlcmVuY2UgdGhlIGRpc3BsYXkgb2JqZWN0CgkgIGluc3RlYWQgb2YgdGhlIHNpbmsuCgoyMDE0LTAyLTI2IDE0OjU2OjIxICswMjAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IG1ha2UgdGhlIGRpc3BsYXkgcHJvcGVydHkgdXNlZnVsCgkgIExldCB0aGUgZGlzcGxheSBwcm9wZXJ0eSBjb250cm9sIHRoZSBuYW1lIG9mIHRoZSBkaXNwbGF5LAoJICBsaWtlIGluIHgodilpbWFnZXNpbmsuCgoyMDE0LTAyLTE0IDE3OjIwOjQyICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IGFjY2VzcyBzaW5rLT5wb29sIGluIGEgbW9yZSBhdG9taWMgZmFzaGlvbgoKMjAxNC0wMi0xNCAxNjozMzoxMCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdGhlIHVzZWxlc3Mgd2F5bGFuZF9sb2NrCgoyMDE0LTAyLTEzIDEzOjI4OjQwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuYzoKCSogZXh0L3dheWxhbmQvd2x3aW5kb3cuYzoKCSAgd2F5bGFuZHNpbms6IGFwcGx5IHRoZSBzYW1lIGRlYnVnIGNhdGVnb3J5IHRvIGFsbCB0aGUgc3Vib2JqZWN0cwoKMjAxNC0wMi0xMyAxMzoxNTozMSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC93YXlsYW5kL3dsZGlzcGxheS5jOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsd2luZG93LmM6CgkgIHdheWxhbmRzaW5rOiBjbGVhbnVwIGhlYWRlciBpbmNsdWRlcwoKMjAxNC0wMi0xMyAxMTo1OTo0NSArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5jOgoJKiBleHQvd2F5bGFuZC93bHdpbmRvdy5oOgoJICB3YXlsYW5kc2luazogc3BsaXQgd2luZG93LXJlbGF0ZWQgY29kZSBvdXQgdG8gYSBuZXcgR3N0V2xXaW5kb3cgY2xhc3MKCSAgR3N0V2xXaW5kb3cgYWxzbyBoYXMgQVBJIHJlYWR5IHRvIHN1cHBvcnQgc3Vic3VyZmFjZXMuCgoyMDE0LTAyLTEzIDExOjMyOjAwICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgd2F5bGFuZHNpbms6IHJlbW92ZSBjYWxsYmFjayBhbmQgcmVkcmF3X3BlbmRpbmcgdmFyaWFibGVzIGZyb20gdGhlIHdpbmRvdyBzdHJ1Y3R1cmUKCjIwMTQtMDItMTMgMTA6NTE6NTkgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogaW1wcm92ZSBkZWJ1ZyBtZXNzYWdlCgoyMDE0LTAyLTEzIDEwOjM3OjAxICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IGZpbmQgdGhlIHZpZGVvIGZvcm1hdCBmcm9tIHRoZSBHc3RWaWRlb0luZm8gaW5zdGVhZCBvZiBhY2Nlc3NpbmcgdGhlIHNpbmsKCSAgRm9yIHRoZSBzYWtlIG9mIGlzb2xhdGlvbiBvbmx5LiBUaGUgZm9ybWF0IHNob3VsZCBiZSB0aGUgc2FtZS4KCjIwMTQtMDItMTMgMTA6Mjk6MDggKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJICB3YXlsYW5kc2luay93YXlsYW5kcG9vbDogcmVmYWN0b3IgY29kZQoJICAqIG1ha2UgdXNlIG9mIEdzdEJ1ZmZlclBvb2w6OnN0YXJ0L3N0b3AgZnVuY3Rpb25zIHRvIGFsbG9jYXRlL2RlYWxsb2NhdGUgbWVtb3J5CgkgICogZ2V0IHJpZCBvZiBzdHJ1Y3Qgc2htX3Bvb2wgYW5kIGRvIGFsbCBvcGVyYXRpb25zIGNsZWFubHkgaW5zaWRlIFdheWxhbmRCdWZmZXJQb29sCgkgICogc3RvcmUgYSBHc3RWaWRlb0luZm8gZHVyaW5nIGNvbmZpZ3VyYXRpb24gaW5zdGVhZCBvZiB0aGUgd2lkdGggJiBoZWlnaHQKCSAgYW5kIHVzZSB0aGUgc3RyaWRlIGZyb20gdGhlIHZpZGVvIGluZm8gaW5zdGVhZCBvZiBoYXJkY29kaW5nIGl0cyB2YWx1ZQoKMjAxNC0wMi0xMyAxMDowMjo1NCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93bHZpZGVvZm9ybWF0LmM6CgkqIGV4dC93YXlsYW5kL3dsdmlkZW9mb3JtYXQuaDoKCSAgd2F5bGFuZHNpbms6IHNwbGl0IHZpZGVvIGZvcm1hdCByZWxhdGVkIGZ1bmN0aW9ucyBvdXQgdG8gYSBzZXBhcmF0ZSBmaWxlCgoyMDE0LTAyLTEyIDE1OjE2OjA4ICswMTAwICBHZW9yZ2UgS2lhZ2lhZGFraXMgPGdlb3JnZS5raWFnaWFkYWtpc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZHNpbmsvd2F5bGFuZHBvb2w6IG1vdmUgY29kZSBhcm91bmQgZm9yIGJldHRlciByZWFkYWJpbGl0eQoKMjAxNC0wMi0xMiAxNDo0MTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiBtb3ZlIHN0cnVjdCBzaG1fcG9vbCBhbmQgaXRzIHJlbGF0ZWQgZnVuY3Rpb25zIHRvIHdheWxhbmRwb29sLmMKCSAgQW5kIGFsc28gbWFrZSB0aGUgaW5zdGFuY2Ugb2YgdGhpcyBzdHJ1Y3QgdG8gYmUgb3duZWQgYnkgdGhlIGJ1ZmZlcgoJICBwb29sIGluc3RlYWQgb2YgdGhlIGVsZW1lbnQsIGZvciB0aGUgc2FrZSBvZiBpc29sYXRpb24KCjIwMTMtMDUtMTQgMTk6MzU6MzMgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJICB3YXlsYW5kc2luazogVXNlIFhER19SVU5USU1FX0RJUiBpbnN0ZWFkIG9mIC90bXAgZm9yIHRoZSBzaG0gZmlsZQoKMjAxNC0wMi0xMiAxNDoxNTo1MiArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkgIHdheWxhbmRzaW5rOiByZW1vdmUgdW51c2VkIHZhcmlhYmxlcwoKMjAxNC0wMi0xMiAxMToyODo0MCArMDEwMCAgR2VvcmdlIEtpYWdpYWRha2lzIDxnZW9yZ2Uua2lhZ2lhZGFraXNAY29sbGFib3JhLmNvbT4KCgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBleHQvd2F5bGFuZC93bGRpc3BsYXkuYzoKCSogZXh0L3dheWxhbmQvd2xkaXNwbGF5Lmg6CgkgIHdheWxhbmRzaW5rOiBwcm9jZXNzIGRpc3BsYXkgZXZlbnRzIGluIGEgc2VwYXJhdGUgdGhyZWFkCgkgIFRoaXMgYWxzbyBtb3ZlcyB0aGUgZGlzcGxheS1yZWxhdGVkIGNvZGUgaW50byBhIG5ldyBHc3RXbERpc3BsYXkgY2xhc3MsCgkgIHdoaWNoIHRha2VzIGNhcmUgb2YgdGhlIG5ldyB0aHJlYWQKCjIwMTQtMDItMDQgMTY6MzI6MzEgKzAxMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5oOgoJICB3YXlsYW5kc2luazogdGlkeSB1cCB0aGUgaGVhZGVyIGZpbGVzCgoyMDE0LTA2LTEyIDE2OjM4OjM1ICswNTMwICBTYW5qYXkgTk0gPHNhbmpheS5ubUBzYW1zdW5nLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmg6CgkgIHBubWRlYzogdXNlIEdzdFZpZGVvRGVjb2RlciBDbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxNDAwCgoyMDE0LTA2LTE2IDA3OjQyOjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERvbid0IG92ZXJ3cml0ZSBvcmlnaW5hbCBzZWVrIHZhbHVlCgkgIEluIGFjY3VyYXRlIG1vZGUsIHdlJ2xsIGJlIHVzaW5nIHN0YXJ0IHRvIGZpbGwgaW4gdGhlIHNlZWsgc2VnbWVudCwKCSAgdGhlcmVmb3JlIGRvbid0IG92ZXJ3cml0ZSBpdCB3aXRoIHRoZSBzaGlmdGVkIHNlZWsgcG9zaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE2OTgKCjIwMTQtMDYtMTUgMTU6MTg6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHNpbGVuY2UgaW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMgaW4gZm9ybWF0IHdhcm5pbmcKCjIwMTQtMDYtMTUgMTU6MTc6MDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgZ2xkb3dubG9hZDogcGx1ZyBhIG1lbW9yeSBsZWFrCgoyMDE0LTA2LTE1IDEzOjU5OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2x2aWRlb21peGVyOiB3aXJlIHVwIHRoZSBhbHBoYSBwYWQgcHJvcGVydHkKCjIwMTQtMDYtMTUgMTM6NDQ6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbHZpZGVvbWl4ZXI6IHN1cHBvcnQgaW5wdXQgZnJhbWUgc2NhbGluZwoKMjAxNC0wNi0xNSAxMjoyNjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgZ2x2aWRlb21peGVyOiBhZGQgcG9zaXRpb25pbmcgb2YgaW5wdXQgc3RyZWFtcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5Nzk4CgoyMDE0LTA2LTE1IDEyOjI0OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IGFsbG93IHRoZSBzdWJjbGFzcyB0byBjaG9vc2UgdGhlIHNpbmsgcGFkIHR5cGUKCSAgQWxsb3dzIGN1c3RvbSBwcm9wZXJ0aWVzIHRvIGJlIHBsYWNlZCBvbiB0aGUgc2luayBwYWRzIGJ5IHN1YmNsYXNzZXMKCjIwMTQtMDYtMTMgMTE6NDY6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBsaXZlOiBoYW5kbGUgcGNyL2R0cyBkaXNjcmVwYW5jaWVzIHNvbWUgbW9yZQoJICBXaGVuIHdyYXBvdmVyL3Jlc2V0IG9jY3VyLCB3ZSBlbmQgdXAgd2l0aCBhIHNtYWxsIHdpbmRvdyBvZiB0aW1lIHdoZXJlCgkgIHRoZSBQVFMvRFRTIHdpbGwgc3RpbGwgYmUgdXNpbmcgdGhlIHByZXZpb3VzL25leHQgdGltZS1yYW5nZS4KCSAgSW4gb3JkZXIgbm90IHRvIHJldHVybiBib2d1cyB2YWx1ZXMsIHJldHVybiBHU1RfQ0xPQ0tfVElNRV9OT05FIGlmIHRoZQoJICBQVFMvRFRTIHZhbHVlIHRvIGNvbnZlcnQgZGlmZmVycyBieSBtb3JlIHRoYW4gMTVzIGFnYWluc3QgdGhlIGxhc3Qgc2VlbgoJICBQQ1IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxNC0wNi0xMyAxMDozNzo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCB3cmFwYXJvdW5kIGRldGVjdGlvbiBpc3N1ZQoJICBVc2luZyAzMmJpdCB1bnNpZ25lZCB2YWx1ZXMgZm9yIGNvcnJlY3RlZCBwY3Ivb2Zmc2V0IG1lYW50IHRoYXQgd2UKCSAgcG90ZW50aWFsbHkgZW5kZWQgdXAgaW4gYm9ndXMgdmFsdWVzCgkgIEZ1cnRoZXJtb3JlLCByZWZwY3IgLSByZWZwY3JvZmZzZXQgY291bGQgZW5kIHVwIGJlaW5nIG5lZ2F0aXZlLCB3aGljaAoJICBQQ1JUSU1FX1RPX0dTVFRJTUUoKSBjYW4ndCBoYW5kbGUgKGFuZCByZXR1cm5lZCBhIG1hc3NpdmUgcG9zaXRpdmUgdmFsdWUpCgoyMDE0LTA2LTEzIDExOjI2OjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBnc3RlZ2xpbWFnZW1lbW9yeQoKMjAxNC0wNi0xMyAwOTo1NTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJICBkb2NzOiBhZGQgZ2xmcmFtZWJ1ZmZlciBvYmplY3QKCjIwMTQtMDYtMTMgMDk6NTI6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogbWlzYyBhZGRzIGZvciBnbCBmdW5jdGlvbnMKCjIwMTQtMDYtMTMgMDk6NDE6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogYWRkIGdsdXBsb2FkbWV0YSBvYmplY3QKCjIwMTQtMDYtMTMgMDk6MzI6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogdXBkYXRlIGZvciBzb21lIGdsIGZ1bmN0aW9uIG5hbWUgY2hhbmdlcwoKMjAxNC0wNi0xMiAyMzoxNDo0NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkgIGdsZmlsdGVyYXBwOiBhY3R1YWxseSBlbWl0IHRoZSBjbGllbnQtZHJhdyBzaWduYWwKCjIwMTQtMDYtMTIgMjM6MTM6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogdXBkYXRlIGZvciBURVhUVVJFXzJEIGNoYW5nZQoKMjAxNC0wNS0zMCAxNjo1MjowOSArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBvcGVuY3JlZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBpbXBsZW1lbnQgcHJvcGVyIHNlZWtpbmcgZm9yIGgyNjQgc3RyZWFtcy4KCSAgQ28tQXV0aG9yZWQgYnk6IFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCSAgRnJvbSBhIGhpZ2ggbGV2ZWwgcGVyc3BlY3RpdmUsIHRoZSBuZXcgcHJvY2VzcyBmb3Igc2Vla2luZyBoMjY0CgkgIHN0cmVhbXMgaXMgYXMgZm9sbG93czoKCSAgMSkgUmV3aW5kIHRoZSBzdHJlYW0gdW50aWwgd2UgZmluZCB0aGUgZmlyc3QgSS1zbGljZSBvZiBhIGZyYW1lLAoJICBhbmQgbWFyayBpdHMgb2Zmc2V0IGluIHRoZSBzdHJlYW0uCgkgIDIpIFJld2luZCB0aGUgc3RyZWFtIHVudGlsIHdlIGZpbmQgU1BTIGFuZCBQUFMgaW5mb3JtYXRpb25zLAoJICB0byBtYWtlIHN1cmUgdGhlIHN1YnNlcXVlbnQgcGFyc2VyIGlzIHVwIHRvIGRhdGUuCgkgIDMpIEFjY3VtdWxhdGUgb3B0aW9ubmFsIFNFSSBOQUwgdW5pdHMgb24gdGhlIHdheS4KCSAgNCkgUHVzaCB0aGUgU1BTLCBQUFMgYW5kIFNFSSB1bml0cyBiZWZvcmUgdGhlIG5ldyBrZXlmcmFtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NTEzMgoKMjAxNC0wNi0xMiAxMDoxNDoyNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGRvIG5vdCB0cnkgdG8gY2xvc2UgbmVnYXRpdmUgZmlsZSBkZXNjcmlwdG9ycwoJICBJbnRlcmVzdGluZ2x5LCBDb3Zlcml0eSBpbXBsaWVzIHRoYXQgY2xvc2UgdGFrZXMgYW4gdW5zaWduZWQKCSAgYXJndW1lbnQsIHdoaWxlIG15IGNsb3NlKDIpIG1hbiBwYWdlIHNob3dzIGl0IHRha2luZyBhIHNpZ25lZAoJICBhcmd1bWVudC4gSSBndWVzcyBpdCBtYXkgYmUgcGxhdGZvcm1zIHNwZWNpZmljLgoJICBDb3Zlcml0eSAxMjE0NjAyCgoyMDE0LTA2LTEyIDEwOjE3OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogZml4IGJ1aWxkIHdpdGggR0xpYiAyLjMyCgkgIFByb3ZpZGUgaW50ZXJuYWwgY29weSBvZiBnX2xpc3RfY29weV9kZWVwKCkgdW50aWwgd2UKCSAgYnVtcCB0aGUgR0xpYiByZXF1aXJlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTU1NQoKMjAxNC0wNi0xMiAxMDowMDo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBiYWlsIG91dCBlYXJseSB3aGVuIGJ5dGVzIHBlciBzYW1wbGUgaXMgbm90IHNldAoJICBUaGlzIHNob3VsZCBhbHdheXMgYmUgc2V0IGZvciB2YWxpZCBmaWxlcyB3aGVuIHdlIGdldCB0aGVyZSwKCSAgYW5kIGNoZWNraW5nIHRoaXMgYXZvaWRzIGhhdmluZyBhZCBob2MgY2hlY2tzIGZ1cnRoZXIgZG93bgoJICBpbiBzZXZlcmFsIHBsYWNlcy4KCSAgQ292ZXJpdHkgMTEzOTY5OAoKMjAxNC0wNi0xMSAxNToxMTo0MCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBxdWFudGl6YXRpb24gbWF0cml4IGNvbnZlcnNpb24gcm91dGluZSBuYW1lcy4KCSAgRml4IHJvdXRpbmUgbmFtZXMgZm9yIHppZ3phZy9yYXN0ZXIgc2NhbiBvcmRlciBjb252ZXJzaW9uIHJvdXRpbmVzIGZvcgoJICBxdWFudGl6YXRpb24gbWF0cmljZXMuIFRoaXMgb3VnaHQgdG8gdXNlIHRoZSBnc3RfaDI2NF9xdWFudF9tYXRyaXhfKigpCgkgIG5hbWluZyBjb252ZW50aW9uIGluc3RlYWQgb2YgZ3N0X2gyNjRfdmlkZW9fcXVhbnRfbWF0cml4XyooKSwgd2hpY2gKCSAgZGVyaXZlZCBmcm9tIHRoZSBNUEVHLTIgZnVuY3Rpb24gbmFtZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzE1MjQKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNS0yNiAxODoyOToyMSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dnA4cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIEMrKyBndWFyZHMgZm9yIE1QRUctNCBhbmQgVlA4IHBhcnNlcnMuCgkgIEZpeCBNUEVHLTQgYW5kIFZQOCBBUElzIHRvIGV4cG9ydCB0aGVpciBleHRlcm5hbCBzeW1ib2xzIGFzIHB1cmUgQwoJICBzeW1ib2xzLCBpLmUuIHVuLW1hbmdsZWQgZm9yIEMrKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTUyMgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTA2LTEyIDE0OjU4OjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkgIGdsbWl4ZXI6IHNlbmQgdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBhbmQgdGhlIGNhcHMgZXZlbnQgYWZ0ZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5NDQKCjIwMTQtMDYtMTIgMTM6Mzc6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkgIGdsL2V4YW1wbGVzOiBhZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MKCjIwMTQtMDYtMTIgMTM6MTU6MTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL21haW4uY3BwOgoJICBnbC9leGFtcGxlczogcmVtb3ZlIHNwdXJpb3VzIGluY2x1ZGUgZm9yIGRvdWJsZWN1YmUgZXhhbXBsZQoKMjAxNC0wNi0xMiAxMzowNjozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jbHV0dGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9zd2l0Y2h2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSAgZ2wvZXhhbXBsZXM6IGFkZCB0aGUgc3JjZGlyIGFuZCBidWlsZGRpciBpbmNsdWRlcwoJICBBbmQgcmVtb3ZlIHJlZmVyZW5jZXMgdG8gJChHU1RfUExVR0lOU19HTF8qKQoKMjAxNC0wNi0xMiAxMjo0OTo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9tYWluLmNwcDoKCSAgZ2xmaWx0ZXJhcHA6IHJlbW92ZSB0aGUgcmVzaGFwZS9kcmF3IHByb3BlcnRpZXMKCSAgVGhlIHJlc2hhcGUgcHJvcGVydHkgd2FzIG5ldmVyIHVzZWQuCgkgIFJlcGxhY2UgdGhlIGRyYXcgcHJvcGVydHkgd2l0aCBhIHNpZ25hbC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTEyIDEyOjE0OjM1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsbWl4ZXI6IGxvY2sgdGhlIHNpemUgb2YgbWl4LT5mcmFtZXMgdG8gdGhlIG51bWJlciBvZiBwYWRzCgkgIEZpeGVzIGEgc2VnZmF1bHQgd2l0aCBkZWNvZGViaW4gISBnbG1peGVyIHdoZXJlIHRoZSByZXF1ZXN0IHBhZHMgb24KCSAgYm90aCBzaWRlcyB3ZXJlIGJlaW5nIHJlcXVlc3RlZCBhZnRlciB0aGUgc3RhdGUgY2hhbmdlIHRvIFBBVVNFRC4KCSAgQWxzbyBmaXhlcyBkeW5hbWljYWxseSBhZGRpbmcgYW5kIHJlbW92aW5nIHBhZHMgd2hpbGUgZ2xtaXhlciBpcwoJICBpbiBhIHN0YXRlID49IFBBVVNFRC4KCjIwMTQtMDYtMTIgMTI6MDk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcGlwZWxpbmUuaDoKCSAgZ2wvZXhhbXBsZXM6IFBvcnQgdG8gdXNpbmcgc2lnbmFscyBpbnN0ZWFkIG9mIHByb3BlcnRpZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA3CgoyMDE0LTA2LTAxIDE1OjAyOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IHJlcGxhY2UgcG9pbnRlciBwcm9wZXJ0aWVzIHdpdGggc2lnbmFscwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1MDcKCjIwMTQtMDYtMTEgMDk6Mzg6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGZpcnN0IGdyb3VwIGZvciBoYW5kbGluZyByZWZlcmVuY2UgcGNyCgkgIElmIF9zZXRfY3VycmVudF9wY3Jfb2Zmc2V0IGdldHMgY2FsbGVkIGFmdGVyIGEgZmx1c2hpbmcgc2Vlaywgd2UgZW5kZWQKCSAgdXAgdXNpbmcgdGhlIGN1cnJlbnQgZ3JvdXAgZm9yIGRlbHRhIGNhbGN1bGF0aW9uIC4uLiB3aGVyZWFzIHdlIHNob3VsZAoJICBiZSB1c2luZyB0aGUgZmlyc3QgZ3JvdXAgdG8gY2FsY3VsYXRlIHNoaWZ0cy4KCSAgQWxzbyBhZGQgYW4gZWFybHkgZXhpdCBpZiB0aGVyZSBhcmUgbm8gY2hhbmdlcyB0byBhcHBseQoKMjAxNC0wNi0xMCAxNDo1MDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgkgIFRoZSBzZWVrc2VnbWVudCB3YXMgbm8gbG9uZ2VyIHVzZWQgc2luY2UgdGhlIHN3aXRjaCB0byBjYWxjdWxhdGluZyBzZWdtZW50cwoJICB3aGVuIHdlIHNlZSBkYXRhLgoKMjAxNC0wNi0xMCAxNDoyNzo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggZGVidWcgc3RhdGVtZW50CgoyMDE0LTA2LTEwIDE0OjI3OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBkdXJhdGlvbiBldmFsdWF0aW9uIGluIHB1c2ggbW9kZQoJICBXaGVuIHdvcmtpbmcgaW4gcHVzaCBtb2RlLCB3ZSBuZWVkIHRvIGJlIGFibGUgdG8gZXZhbHVhdGUgdGhlIGR1cmF0aW9uCgkgIGJhc2VkIG9uIGEgc2luZ2xlIGdyb3VwIG9mIG9ic2VydmF0aW9ucy4KCSAgVG8gZG8gdGhhdCB3ZSB1c2UgdGhlIGN1cnJlbnQgZ3JvdXAgdmFsdWVzCgoyMDE0LTA2LTAyIDExOjA3OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogSGFuZGxlIGVhcmx5IFBUUyBjb252ZXJzaW9uCgkgIFdoZW4gaGFuZGxpbmcgdGhlIFBUUy9EVFMgY29udmVyc2lvbiBpbiBuZXcgZ3JvdXBzLCB0aGVyZSdzIGEgcG9zc2liaWxpdHkKCSAgdGhhdCB0aGUgUFRTIG1pZ2h0IGJlIHNtYWxsZXIgdGhhbiB0aGUgZmlyc3QgUENSIHZhbHVlIG9ic2VydmVkLCBkdWUgdG8KCSAgcmUtb3JkZXJpbmcuCgkgIFdoZW4gdXNpbmcgdGhlIGN1cnJlbnQgZ3JvdXAsIG9ubHkgYXBwbHkgdGhlIHdyYXBhcm91bmQgY29ycmVjdGlvbiB3aGVuIHdlCgkgIGFyZSBjZXJ0YWluIGl0IGlzIG9uZSAoaS5lLiBkaWZmZXJzIGJ5IG1vcmUgdGhhbiBhIHNlY29uZCkgYW5kIG5vdCB3aGVuIGl0J3MKCSAganVzdCBhIHNtYWxsIGRpZmZlcmVuY2UgKGxpa2Ugb3V0LW9mLW9yZGVyIFBUUykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwODgKCjIwMTQtMDYtMDkgMTA6MTA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRvbid0IHByaW50IGFscmVhZHktZnJlZWQgc3RyaW5nCgkgIENJRCAxMjIxOTg3CgoyMDE0LTA2LTA5IDEwOjU2OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBGaXggcG9zaXRpb24gcXVlcnkgc29tZSBtb3JlCgkgIEZvcmdvdCB0byByZW1vdmUgY29kZSBpbiAxNmZkOTE3NjMyYzA5OTIzNDljYTI4Y2Y5MTA4ZTk1NjJjNDkzYWQ3CgkgIENJRCAjMTEzOTY3NwoKMjAxNC0wNi0wNyAwNzoxMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRml4IHN0aWNreSBldmVudCBoYW5kbGluZwoJICBXaGVuIHdlIHJlY2VpdmUgc3RpY2t5IGV2ZW50cyBmcm9tIHVwc3RyZWFtLCBhbHdheXMgcmV0dXJuIFRSVUUuCgkgIEZpeGVzIHRoZSBpc3N1ZSB3aGVyZSB3ZSByZWNlaXZlIGN1c3RvbSBzdGlja3kgZXZlbnRzIChzdWNoIGFzICJ1cmkiKQoJICBhbmQgbm8gcGFkcyBhcmUgY3JlYXRlZCB5ZXQuCgoyMDE0LTA2LTA0IDE4OjM0OjQ0ICswMTAwICBEYW1pYW4gWmlvYnJvIDxkYW1pYW5AeG1lbWVudG9pdC5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEltcHJvdmUgcGFyc2luZyBxdW90ZWQga2V5IFVSSXMgYW5kIGFwcGx5IGl0IGZvciBJLWZyYW1lLWJhc2VkIHN0cmVhbSBVUkkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgzMAoKMjAxNC0wNi0wNiAxMzowODowNCArMDMwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IERvbid0IHN0b3JlIHRoZSBjdXJyZW50IGtleSBpbiB0aGUgcGxheWxpc3QKCSAgSXQncyBwZXIgZnJhZ21lbnQgYW5kIGFwcGx5aW5nIHRvIGFsbCBmb2xsb3dpbmcgZnJhZ21lbnRzCgkgIHVudGlsIHRoZSBuZXh0IGtleSBpcyBzcGVjaWZpZWQuCgoyMDE0LTA2LTA2IDEzOjA0OjA0ICswMzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTQtMDUtMzAgMTY6MzQ6MTggLTA2MDAgIFRob21hcyBCbHVlbWVsIDx0Ymx1ZW1lbEBjb250cm9sNC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFJlbG9hZCB0aGUgdmFyaWFudCBwbGF5bGlzdCBpZiByZWZyZXNoaW5nIGEgcGxheWxpc3Qgb3IgZG93bmxvYWRpbmcgYSBmcmFnbWVudCBmYWlscwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIHBsYXlsaXN0cyBoYXZlIG1vdmVkIGR1ZSB0byB0aGUgdmFyaWFudCBwbGF5bGlzdAoJICBub3cgYmVpbmcgcmVkaXJlY3RlZCB0byBhbm90aGVyIHRhcmdldC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3JrcyBhcyBsb25nCgkgIGFzIHRoZSByZWZlcmVuY2VkIHBsYXlsaXN0cyBkb24ndCBjaGFuZ2UgaW4gcmVsYXRpb24gdG8gdGhlIHZhcmlhbnQKCSAgcGxheWxpc3QsIGFuZCB0aGUgbmV3IGxvY2F0aW9uIGlzIHB1cmVseSBkdWUgdG8gYSBuZXcgcGF0aCB0cmlnZ2VyZWQgYnkgYQoJICBuZXcgcmVkaXJlY3Rpb24gdGFyZ2V0IG9mIHRoZSB2YXJpYW50IHBsYXlsaXN0LCBvciBhIG5ldyByZWRpcmVjdGlvbgoJICB0YXJnZXQgb2YgdGhlIHBsYXlsaXN0IGl0c2VsZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMTE2NAoKMjAxNC0wNi0wNSAxNjo0NToxMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFVzZSBhbiBhcmJpdHJhcnkgZnJhbWVyYXRlIGlmIG5vbmUgaWYgZ2l2ZW4KCSAgVGhlIHNjaHJvIGVuY29kZXIgYWx3YXlzIHJlcXVpcmVzIGEgZnJhbWVyYXRlLCBidXQgc29tZSBzb3VyY2UgbWF0ZXJpYWwsCgkgIHN1Y2ggYXMgUlRQIGRvZXNuJ3QgaGF2ZSBhIGZpeGVkIG9uZSwgc28ganVzdCBmYWtlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MDU0CgoyMDE0LTA2LTA0IDE0OjM1OjUxIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyLnZlcmRlam9Ac2lzYS5zYW1zdW5nLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZHJvcCByZWR1bmRhbnQgYXNzaWdubWVudAoKMjAxNC0wNi0wNCAwMTowMjoyMCAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGltcHJvdmUgdGltZW91dCBoYW5kaW5nIGF0IGxvY2tpbmcgbG9vcAoJICBOZXcgYXBwcm9hY2ggYXR0ZW1wdHMgdG8gYmUgbW9yZSBhY2N1cmF0ZSBieSBtZWFzdXJpbmcKCSAgdGhlIGVsYXBzZWQgdGltZSBieSBpdGVyYXRpb24uIEFsc286CgkgICogVXNlIGEgMTAgc2Vjb25kcyBkZWZhdWx0IHRpbWVvdXQgYW5kIGEgaGFsZiBhIHNlY29uZAoJICBwb2xsaW5nIHN0ZXAuIE5ldyB2YWx1ZXMgc2hvdWxkIGJldHRlciBtYXRjaCB0aGUgdHVuaW5nCgkgIHByb2Nlc3Mgb24gcmVhbC1saWZlIHNjZW5hcmlvcy4KCSAgKiBDb3JyZWN0IGVsYXBzZWRfdGltZSBjb21wdXRhdGlvbi4KCSAgKiBBZGQgX3JldHJ5X2lvY3RsKCkgdG8gYXZvaWQgYmFpbGluZyBvdXQgb24gdGVtcG9yYXJ5CgkgIGlvY3RsIEVJTlRSIGZhaWx1cmVzIChubyBuZWVkIHRvIGNoZWNrIGZvciBFQUdBSU4gY2F1c2UKCSAgd2UgYXJlIG9wZW5pbmcgdGhlIGZyb250ZW5kIG9uIGJsb2NraW5nIG1vZGUpCgkgICogU21hbGwgY29ycmVjdGlvbnMgdG8gZmFpbCBjb25kaXRpb24gaGFuZGxpbmcKCjIwMTQtMDYtMDUgMTg6NDM6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC93YXlsYW5kOiBjcmVhdGUgYSBkdW1teSBkaXNwbGF5IGluc3RlYWQgb2YgYW4gRUdMRGlzcGxheQoJICBDdXJyZW50bHksIEdzdEdMV2luZG93V2F5bGFuZEVHTCBob2xkcyB0aGUgd2F5bGFuZCBkaXNwbGF5IGNvbm5lY3Rpb24KCSAgSWYgd2UgY3JlYXRlIHRoZSBFR0xEaXNwbGF5IGF0IHRoZSBHc3REaXNwbGF5IGNyZWF0aW9uIHRpbWUsIHRoZW4KCSAgbGliRUdMIHdpbGwgaW50ZXJuYWxseSBvcGVuIGFub3RoZXIgY29ubmVjdGlvbiB0byB0aGUgd2F5bGFuZCBzZXJ2ZXIuCgkgIFRoZXNlIHR3byBkaXNwbGF5IGNvbm5lY3Rpb25zIGFyZSB1bmFibGUgdG8gY29tbXVuaWNhdGUgcmVzdWx0aW5nIGluCgkgIG5vIHdpbmRvdyBvdXRwdXQvZGlzcGxheSBhbmQgaGFuZ3MgaW5zaWRlIGxpYkVHTC4KCSAgRXZlbnR1YWxseSB3ZSB3aWxsIG1vdmUgdGhlIHdsX2Rpc3BsYXkgZnJvbSBHc3RHTFdpbmRvdyB0byBHc3RHTERpc3BsYXkuCgoyMDE0LTA2LTA1IDA5OjQwOjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJICBydG1wOiBwcm94eSBsb2dnaW5nIGZyb20gbGlicnRtcAoJICBIZWxwcyB3aXRoIGRlYnVnZ2luZyB2YXJpb3VzIGxpYnJ0bXAgaXNzdWVzCgoyMDE0LTA2LTA1IDA4OjI5OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggcG9zaXRpb24gcXVlcnlpbmcKCSAgSXQncyB0aGUgcG9zaXRpb24gd2UncmUgcXVlcnlpbmcsIG5vdCB0aGUgZHVyYXRpb24gOikKCjIwMTQtMDYtMDQgMjE6Mzk6NDggKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIGV4dHJhbmVvdXMgZXh0cmEgcGFyYW1ldGVyIGZyb20gY2hlY2tfcGVuZGluZ19idWZmZXJzIGZ1bmN0aW9uCgoyMDE0LTA2LTA0IDIxOjMxOjIxICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGlzZXI6IEFsd2F5cyBpbml0aWFsaXNlIHBhY2tldCBBRkMgZmxhZ3MgYW5kIFBDUiBmaWVsZHMKCSAgQWxzbyBmaXggYSBzbGlnaHQgdHlwbyBpbiBhIGNvbW1lbnQgYWJvdXQgdGhlIHNtb290aGluZyBhbGdvcml0aG0KCjIwMTQtMDUtMjMgMTU6MDc6MTkgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVzZXQgcGVuZGluZ190cyBvbiBhIGRpc2NvbnQsIHRvIHJlLW1lYXN1cmUgaW5pdGlhbCB0aW1lc3RhbXBzCgkgIFNpbmNlIGFsbCB0aGUgb3RoZXIgdGltZXN0YW1wIHRyYWNraW5nIG5vdyBnZXRzIHJlc2V0IG9uIGEgZGlzY29udCwKCSAgaXQgbWFrZXMgc2Vuc2UgdG8gd2FpdCBmb3IgYSBQQ1IgYW5kIHRpbWVzdGFtcCBidWZmZXJzIGxpa2Ugd2hlbgoJICBwbGF5YmFjayBmaXJzdCBzdGFydHMKCjIwMTQtMDMtMjEgMjI6MTY6NDEgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdcOpIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5oOgoJICBzcnRwOiBhZGQgc3VwcG9ydCBmb3Igcm9sbG92ZXIgY291bnRlcnMgYW5kIHJlcGxheSBwcm90ZWN0aW9uIHdpbmRvdyBzaXplCgkgIFdlIGFkZCBhIG5ldyBzaWduYWwsIGdldC1yb2xsb3Zlci1jb3VudGVyLCB0byB0aGUgU1JUUCBlbmNvZGVyLiBHaXZlbiBhCgkgIHNzcmMgdGhlIHNpZ25hbCB3aWxsIHJldHVybiB0aGUgY3VycmVudGx5IGludGVybmFsIFNSVFAgcm9sbG92ZXIgY291bnRlcgoJICBmb3IgdGhlIGdpdmVuIHN0cmVhbS4KCSAgRm9yIHRoZSBTUlRQIGRlY29kZXIgd2UgaGF2ZSBhIG5ldyBTUlRQIGNhcHMgcGFyYW1ldGVyICJyb2MiIHRoYXQgbmVlZHMKCSAgdG8gYmUgc2V0IHdoZW4gYSBuZXcgU1JUUCBzdHJlYW0gaXMgY3JlYXRlZCBmb3IgYSBnaXZlbiBTU1JDLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODYxCgoyMDEzLTEwLTE0IDE2OjE0OjQyICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogaGFuZGxlIGdhcCBidWZmZXIgZmxhZwoJICBSZW1vdmUgR0FQIGZsYWcgdW5sZXNzIGJvdGggc2lkZXMgaGF2ZSBnYXAgZGF0YSwgaWdub3JlCgkgIGluY29taW5nIGRhdGEgaWYgaXQgaXMgZ2FwIGRhdGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzOTcKCjIwMTQtMDUtMjUgMjE6NDM6MjIgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IGltcHJvdmUgc3RhdGUgY2hhbmdlIGRlYnVnIG1lc3NhZ2UKCjIwMTQtMDYtMDMgMTM6NTk6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsdXBsb2FkOiBhbHdheXMgcmVsZWFzZSB0aGUgcHJldmlvdXMgYnVmZmVyCgkgIEZpeGVzIHRoZSBjYXNlIHdoZXJlIF9wZXJmb3JtX3dpdGhfYnVmZmVyKCkgaXMgY2FsbGVkIHdpdGhvdXQKCSAgaW50ZXJ2ZW5pbmcgY2FsbHMgdG8gX3JlbGVhc2VfYnVmZmVyKCkgYXMgaXMgdGhlIGNhc2Ugb24gc3RhcnQgdXAKCSAgd2l0aCBnbGltYWdlc2luay4KCSAgQWxzbyByZWxlYXNlIHRoZSBidWZmZXIgd2hlbiByZXNldGluZyB0aGUgdXBsb2FkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMTA3CgoyMDE0LTA2LTAyIDIxOjUxOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBUYWtlIGFjY291bnQgb2YgbWVtb3J5IGFsaWdubWVudCBpbiBzaG0gdGVzdAoKMjAxNC0wNi0wMiAyMTo0Mzo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogRmFpbCBncmFjZWZ1bGx5IGlmIGV2ZW50IGNhbid0IGJlIHBhcnNlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMxMDkzCgoyMDE0LTA2LTAyIDIxOjQzOjM0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IEFsbG9jYXRlIGVub3VnaCBtZW1vcnkgdG8gZG8gYWxpZ25tZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzEwOTMKCjIwMTQtMDYtMDIgMTI6Mzk6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFjdHVhbGx5IHByaW50IHRoZSBzdGFja3RyYWNlIGludG8gdGhlIGVycm9yIHN0cmluZwoKMjAxNC0wNi0wMiAxMToyODo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogQ2xlYXIgdGhlIGV4Y2VwdGlvbiBiZWZvcmUgdHJ5aW5nIHRvIGNhbGwgSmF2YSBtZXRob2RzIHRvIGNvbnZlcnQgaXQgdG8gYSBzdHJpbmcKCjIwMTQtMDYtMDIgMTE6MTY6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEZpeCBjcmFzaGVzIHdoZW4gbG9hZGluZyB0aGUgcGx1Z2luIGluIGEgc3RhbmRhbG9uZSBhcHBsaWNhdGlvbiBvbiBBbmRyb2lkID49IDQuNAoJICBDaGVjayBpZiBsaWJuYXRpdmVoZWxwZXIgaXMgbG9hZGVkIGluIHRoZSBwcm9jZXNzIGFuZCBpZgoJICBpdCBoYXMgdGhlc2UgYXdmdWwgd3JhcHBlcnMgZm9yIEpOSV9DcmVhdGVKYXZhVk0gYW5kCgkgIEpOSV9HZXRDcmVhdGVkSmF2YVZNcyB0aGF0IGNyYXNoIHRoZSBhcHAgaWYgeW91IGRvbid0CgkgIGNyZWF0ZSBhIEpuaUludm9jYXRpb24gaW5zdGFuY2UgZmlyc3QuIElmIGl0IGlzbid0IHdlCgkgIGp1c3QgZmFpbCBoZXJlIGFuZCBkb24ndCBpbml0aWFsaXplIGFueXRoaW5nLgoJICBTZWUgdGhpcyBjb2RlIGZvciByZWZlcmVuY2U6CgkgIGh0dHBzOi8vYW5kcm9pZC5nb29nbGVzb3VyY2UuY29tL3BsYXRmb3JtL2xpYm5hdGl2ZWhlbHBlci8rL21hc3Rlci9KbmlJbnZvY2F0aW9uLmNwcAoKMjAxNC0wNi0wMiAxMDoxMTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogbWFrZSBwb3NpdGlvbiBxdWVyeSBhYmxlIHRvIGNvbnZlcnQgYnl0ZXMgdG8gdGltZQoJICAoc2FtZSBhcyA3NDRjNThkNzFiMjE0NzVkMmVkZDViOTMzNGUyNzdjZmE0YzUzMjYwIGJ1dCBmb3IgdGhlCgkgIHBvc2l0aW9uIHF1ZXJ5KQoJICBJdCB3YXMgb25seSBxdWVyeWluZyBpbiB0aW1lLCBidXQgdGhlbiB0cnlpbmcgdG8gdXNlIGRlYWQgYnl0ZXMKCSAgdG8gdGltZSBjb252ZXJzaW9uIGNvZGUuCgkgIENvdmVyaXR5IDExMzk2NzcKCjIwMTQtMDYtMDIgMDk6NDI6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGF2b2lkIGNyYXNoaW5nIGluIHBhdGhvbG9naWNhbCBjYXNlCgkgIChJZGVudGljYWwgdG8gY29tbWl0IDYxMmNkZWVjODBkYTk1YjEyZjlmYWQ5Mjg0MTljN2RlMmJlMjBkNjggd2hpY2gKCSAgd2FzIGZvciByZXNpbmR2ZCkKCSAgV2hlbiB3ZSdkIHNlZSBhbiB1bmtub3duIHN0cmVhbSB0eXBlLCB0aGVuIGEgU0REUyBzdHJlYW0uCgkgIFRoZW4gd2UnZCBnZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3dpdGNoIHdpdGggYSBOVUxMIHRlbXAgc3RyZWFtCgkgIHBvaW50ZXIsIGFuZCBkZXJlZmVyZW5jZSBpdC4KCSAgQ292ZXJpdHkgMTEzOTcwOAoKMjAxNC0wNi0wMiAwOToyMzozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBIYW5kbGUgKHVubGlrZWx5KSBOVUxMIHJldHVybiBvZiBnbC0+R2V0U3RyaW5nIChHTF9WRVJTSU9OKSBtb3JlIGdyYWNlZnVsbHkKCSAgQ0lEIDEyMTk4NTgKCjIwMTQtMDYtMDIgMDg6MjI6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogUmVtb3ZlIHVubmVlZGVkIE5VTEwgY2hlY2sKCSAgQWxsb2NhdGluZyB0aG9zZSBzdHJ1Y3R1cmVzIGlzIGRvbmUgaW4gYWxsIGNvZGUgcGF0aHMgbGVhZGluZyB0aGVyZQoJICBDSUQgIzEyMTk4NjAKCSAgQ0lEICMxMjE5ODYxCgkgIENJRCAjMTIxOTg2MgoJICBDSUQgIzEyMTk4NjMKCSAgQ0lEICMxMjE5ODY0CgoyMDE0LTA2LTAxIDEwOjQzOjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IGluY3JlYXNlIG1heC4gYWxsb3dlZCB2YWx1ZSBmb3IgYml0cmF0ZSBwcm9wZXJ0eQoJICBGb3IgRFZEIHRoZSBsaW1pdCBpcyBhcm91bmQgMTBNYml0L3MsIGJ1dCBmb3IgZS5nLiBBVFNDCgkgIGl0IGNvdWxkIGJlIG11Y2ggaGlnaGVyLgoKMjAxNC0wNS0yNSAxMzowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBiZXR0ZXIgZXJyb3IgaGFuZGxpbmcgaW4gY2FzZSB0c3BhcnNlIGlzIG1pc3NpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MQoKMjAxNC0wNS0zMCAxNzozNTo0OSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8ci52ZXJkZWpvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiYmFzZWJpbjogYWRkIHByb3Agc2V0dXAgY29kZSBmb3IgZ3VpbnQ2NAoJICBOZWVkZWQgc2luY2Ugd2UgYXJlIG5vdyBwcm94eWluZyB0dW5pbmctdGltZW91dAoJICBmcm9tIGR2YnNyYy4KCjIwMTQtMDUtMjAgMDc6MzQ6NTYgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgbW90aW9uY2VsbHM6IGltcHJvdmUgbG9nZ2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwMTQxCgoyMDE0LTA1LTIwIDA3OjI5OjE2ICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJICBtb3Rpb25jZWxsczogbWFrZSBmcmFtZWRyb3Agd29yayBhdCAzMCBmcHMgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6MjU6MjAgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBtb3Rpb25jZWxsczogdXNlIHN0YW5kYXJkIG1hY3JvIGZvciBib29sZWFuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjAgMDc6MTg6MzkgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IG1ha2UgdGhlIHBsdWdpbiBjb21waWxlIHdpdGggYWxsIDIuNC54IHZlcnNpb25zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAxNDEKCjIwMTQtMDUtMjYgMjI6MzQ6MDEgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2Yi9jYW0qOiB1c2UgZ19zdHJlcnJvciBhbmQgb3RoZXIgZmV3IG5pdHMKCjIwMTQtMDUtMzAgMTE6MDA6MDYgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBkdmJzcmMgc2lnbmFsIHByb3h5aW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMzAgMDA6NDk6NDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHByb3h5IG5ldyBwcm9wcy9zaWduYWxzIGZyb20gZHZic3JjCgkgIFByb3h5IHR1bmluZyBzdGFydC9kb25lL2ZhaWwgc2lnbmFscyBhbmQgdHVuaW5nLXRpbWVvdXQKCSAgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMDEgMTg6MjU6MDUgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHIudmVyZGVqb0BzaXNhLnNhbXN1bmcuY29tPgoKCSAgZHZic3JjOiBzbWFydGVuIHVwIHR1bmluZyBsb2dpYwoJICAqIERyb3AgcmVtYWluaW5nIHNsZWVwKCkgbG9naWMgaW4gZmF2b3Igb2YgcG9sbGluZwoJICAqIFVzZSBiZXN0IGd1ZXNzIGRlbGl2ZXJ5IHN5c3RlbSBpZiBub25lIGlzIHNldAoJICAqIE1ha2UgdHVuaW5nL2xvY2tpbmcgdGltZW91dCBjb25maWd1cmFibGUKCSAgKiBBZGQgc2lnbmFscyBmb3IgdHVuaW5nIHN0YXJ0LCBkb25lIGFuZCBmYWlsCgkgICogRHJvcCBnc3RfZHZic3JjX2Zyb250ZW5kX3N0YXR1cygpLiBJdCB3YXMgdXNlZCBvbmx5CgkgIGZvciBzaWduYWwgTE9DSyBjaGVja2luZy4gVGhpcyBpcyBub3cgcGFydCBvZiB0aGUKCSAgdHVuaW5nL2xvY2tpbmcgbG9vcAoJICAqIEJyZWFrIHVwIGZyb250ZW5kIGNvbmZpZ3VyYXRpb24gYW5kIHR1bmluZwoJICBvbiBzZXBhcmF0ZSBmdW5jdGlvbnMKCSAgUGx1czoKCSAgKiBBZGQgc29tZSBtb3JlIHVzZWZ1bCBERUJVRy9UUkFDRSBtZXNzYWdlcwoJICAqIE1vdmUgb3ZlciBtaXNwbGFjZWQgRFZCIEFQSSBtZXNzYWdlCgkgICogRml4IHdyb25nIGNvbW1lbnQgZm9yIGRlZmF1bHQgRFZCIGJ1ZmZlciBzaXplIChodHRwOi8vbGludXh0di5vcmcvZG93bmxvYWRzL3Y0bC1kdmItYXBpcy9kbXhfZmNhbGxzLmh0bWwjRE1YX1NFVF9CVUZGRVJfU0laRSkKCSAgVGhpcyBwYXRjaCBidWlsZHMgdXAgb24gcHJldmlvdXMgd29yayBkb25lIGJ5CgkgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTIwNAoKMjAxNC0wNS0zMCAxNjozNTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogQWRkIGV4Y2VwdGlvbnMgZnJvbSB0aGUgSmF2YSBBUEkgdG8gZXJyb3IgbWVzc2FnZXMsIGFuZCBwb3N0IG1vcmUgZXJyb3Ivd2FybmluZyBtZXNzYWdlcyBvdmVyYWxsCgoyMDE0LTA1LTMwIDE1OjI0OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYSBHRXJyb3IgYXJndW1lbnQgdG8gYWxsIGFtYyBtZXRob2RzIGFuZCBjYXRjaCBleGNlcHRpb25zIHRoZXJlCgoyMDE0LTA1LTMwIDE1OjI0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEZXNjcmliZSBleGNlcHRpb25zIGhhcHBlbmluZyB3aGVuIHNjYW5uaW5nIGFsbCBjb2RlY3MKCjIwMTQtMDUtMzAgMTI6MTk6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBBUEkgdG8gY29udmVydCBhbiBleGNlcHRpb24gaW50byBhIHN0cmluZwoKMjAxNC0wNS0zMCAxMjo0MDowOCArMDIwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWxlYXNlIHRoZSBjb2RlYyBiZWZvcmUgZnJlZWluZyBpdAoJICBPbiBTYW1zdW5nIEdhbGF4eSBTNCBpdCBpcyBpbXBvc3NpYmxlIHRvIGhhdmUgbW9yZSB0aGFuIG9uZQoJICBoYXJkd2FyZSBkZWNvZGVyIGF0IHRoZSBzYW1lIHRpbWUuIElmIHdlIGRvIG5vdCByZWxlYXNlIGl0CgkgIGV4cGxpY2l0bHkgdGhlIEdDIG9ubHkgcmVsZWFzZXMgaXQgd2hlbmV2ZXIgdGhlIHdob2xlIGFwcGxpY2F0aW9uCgkgIGlzIGZpbmlzaGVkIG5vdCB3aGVuZXZlciB0aGUgYWN0aXZpdHkgaXMgZmluaXNoZWQgYW5kIHRodXMgYSBwbGF5ZXIKCSAgd2lsbCBub3QgYmUgYWJsZSB0byB3b3JrIGNvcnJlY3RseQoKMjAxNC0wNS0zMCAwMjoxMDoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogZml4IHN0cnVjdHVyZSBoYW5kbGluZyBpbiBwcmV2aWV3IG1lc3NhZ2UKCSAgQXZvaWQgdHJ5aW5nIHRvIG1vZGlmeSB0aGUgbWVzc2FnZSBzdHJ1Y3R1cmUgYXMgaXQgaXNuJ3QgbXV0YWJsZS4KCSAgVXNlIGEgY29weSBhbmQgcG9zdCBhIG5ldyBtZXNzYWdlIGlmIG5lY2Vzc2FyeS4KCSAgRml4ZXMgZmFpbGluZyB0ZXN0cy4KCjIwMTQtMDUtMzAgMTI6MjM6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiByZW1vdmUgdW5lZWRlZCBnbCBhcGkgaWZkZWZzCgoyMDE0LTA1LTMwIDExOjUxOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIGdsd2luZG93X3gxMTogYWxsb3cgZXhwb3NlIGV2ZW50cyB0byByZWRyYXcgb3VyIHdpbmRvdwoJICBvdGhlcndpc2Ugd2Ugd2lsbCBub3QgdXBkYXRlIHRoZSB3aW5kb3cgY29udGVudHMgb24gbG93IGZyYW1lcmF0ZQoJICBzdHJlYW1zIHVudGlsIHRoZSBuZXh0IGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDExOjQ2OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogdW5yZWYgdGhlIG9sZCBidWZmZXIgb3V0c2lkZSB0aGUgbG9jawoJICBpdCBjb3VsZCB2ZXJ5IHdlbGwgZGVhZGxvY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzUyOQoKMjAxNC0wNS0zMCAxMTozNTowNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFJldmVydCAiWzg4MC85MDZdIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHN0b3JlZF9idWZmZXIgZmllbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYWYzYTY4ZGI3ZGM0NzNmYjY5MDNjMTg5NjZiMzllNGMzZjE0NjRkNy4KCSAgQ29uZmxpY3RzOgoJICBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTI5CgoyMDE0LTA1LTMwIDEwOjQ2OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBmaXggdXAgYXNzZXJ0aW9uCgkgIGVycm9yOiAncmV0dXJuJyB3aXRoIG5vIHZhbHVlLCBpbiBmdW5jdGlvbiByZXR1cm5pbmcgbm9uLXZvaWQKCjIwMTQtMDUtMzAgMTA6Mjc6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2JsZW5kaW5nLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9mYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9maXhlZGZ1bmN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL3NoYWRlcnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsZmVhdHVyZTogcmVtb3ZlIEdTVF9HTF9BUElfR0xFUzMKCSAgaW5zdGVhZCBjaGVjayB0aGUgZ2wgdmVyc2lvbiB1c2luZyBnc3RfZ2xfY29udGV4dF9jaGVja19nbF92ZXJzaW9uKCkKCjIwMTQtMDUtMzAgMTA6MjU6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IGNoZWNrIGZvciBHTEVTIHZlcnNpb25zCgoyMDE0LTA1LTI5IDIwOjM1OjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBhZGQgY2hlY2tfZ2xfdmVyc2lvbgoKMjAxNC0wNS0yOSAxNzowOToyNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBUcnkgR0xYIHN1cHBvcnQgYmVmb3JlIEVHTCBzdXBwb3J0CgkgIElmIGF2YWlsYWJsZSwgZ2x4IGhhcyBnb3QgYSBiZXR0ZXIgY2hhbmNlIG9mIGJlaW5nIHRoZSBHbCBwbGF0Zm9ybQoJICB3ZSB3YW50IHRvIHVzZSBjb21wYXJlZCB0byBFR0wKCjIwMTQtMDUtMjkgMTY6NTk6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbGNvbnRleHQ6IFRyeSB0byBvcGVuIGxpYntFR0x8R0x8R0xFU3YyfS5zby4xIGJlZm9yZSBsaWJ7RUdMfEdMfEdMRVN2Mn0KCSAgRml4ZXMgaXNzdWVzIHdpdGggLnNvICh3aXRob3V0IG51bWJlcmluZykgYmVpbmcgaW5zdGFsbGVkIGZvciBkZXZlbG9wbWVudAoJICAoc3VjaCBhcyBmcm9tIG1lc2EtZGV2KSBidXQgYWN0dWFsIGRyaXZlciAod2l0aCBudW1iZXJpbmcpIGNvbWluZyBmcm9tCgkgIHNvbWUgb3RoZXIgcGxhY2UgKGxpa2UgbnZpZGlhIGRyaXZlcnMpCgoyMDE0LTA1LTI5IDE2OjAxOjIyICswMjAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbmcub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAxNC0wNS0yOSAxMjozMDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5oOgoJICBhdHNjLXNlY3Rpb246IEZpeCBhbm5vdGF0aW9uCgoyMDE0LTA1LTI5IDEyOjI5OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IEZpeCBtdWx0aWxpbmd1YWwgc2VydmljZSBuYW1lIHBhcnNpbmcKCSAgdGhlIHByb3ZpZGVyIGFuZCBzZXJ2aWNlIG5hbWUgd2FzIGludmVydGVkCgoyMDE0LTA1LTI4IDE2OjQ3OjUzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgcGFyZW50aWFsIHJhdGluZyBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTY6NDc6MjggKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjYSBpZGRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MjM6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBzdHJlYW0gaWRlbnRpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjggMTI6MjM6MTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCBjb250ZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDg1NAoKMjAxNC0wNS0yOCAxMjoxOTo0MyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGU6IHRzLXBhcnNlcjogYWRkIGNvbXBvbmVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NTQKCjIwMTQtMDUtMjkgMTE6NTU6NTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBmYWN0b3IgZHVtcGluZyBjb2RlCgkgIFdlIGNhbiBqdXN0IHJlLXVzZSB0aGUgbmV3IGZ1bmN0aW9uIGluc3RlYWQgb2YgaGF2aW5nIHR3byBkdXBsaWNhdGVzCgoyMDE0LTA1LTI5IDEwOjUwOjU4ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBhZGQgbGlua2FnZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA5MDEKCjIwMTQtMDUtMjggMjA6NDI6MDUgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBidWdmaXggbW9iaWxlIGhhbmQgb3ZlciBsaW5rYWdlIHBhcnNlIG1pc3NtYXRjaAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwOTAxCgoyMDE0LTA1LTI4IDE2OjM0OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBtaXNzaW5nIGZpZWxkIHRvIEVUVCB0YWJsZQoJICBTZXQgdGhlIHN1YnRhYmxlX2V4dGVuc2lvbiBhcyBldHRfdGFibGVfaWRfZXh0ZW5zaW9uCgkgIGZvciBFVFQgdGFibGVzIGFzIGl0IGlzIHVzZWQgYnkgaXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yOCAxNTo1OToyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGF0c2M6IGFkZCBhdHNjJ3MgRUlUIHRhYmxlIHBhcnNpbmcKCSAgQVRTQyBoYXMgaXRzIG93biB2ZXJzaW9uIG9mIHRoZSBFSVQgdGFibGUgKERWQiBhbHNvIGhhcyBvbmUpLgoJICBUaGlzIHBhdGNoIGFkZHMgcGFyc2luZyBmb3IgdGhlIEFUU0MgRUlUIHRhYmxlIGFuZCBhbHNvIGZpeGVkCgkgIHRoZSBzZWN0aW9uIGlkZW50aWZpY2F0aW9uIHRvIG1hcmsgaXQgYXMgdGhlIEFUU0Mgb25lLgoJICBUaGUgaW1wbGVtZW50YXRpb24gYXdzIHJlZmFjdG9yZWQgdG8gcmV1c2Ugc29tZSBjb21tb24gaW50ZXJuYWwKCSAgc3RydWN0dXJlcyBmcm9tIEVUVC4KCSAgQWxzbyBhZGRzIGl0cyBkdW1waW5nIGZ1bmN0aW9uIHRvIHRzLXBhcnNlciBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMjIgMTc6NDk6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdHM6IG1wZWd0czogYWRkIHRlc3QgZm9yIFNUVCBwYXJzaW5nCgkgIFNwZWNpYWxseSBmb3IgdGhlIHRpbWUgdG8gVVRDIGRhdGV0aW1lIGNvbnZlcnNpb24KCSAgRXhhbXBsZSB0YWtlbiBmcm9tIHRoZSBBNjUgc3BlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTIyIDAxOjQ3OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIFNUVCB0YWJsZSBwYXJzaW5nCgkgIEFkZHMgdGhlIHN5c3RlbSB0aW1lIHRhYmxlIHN0cnVjdHVyZSBhbmQgZnVuY3Rpb25zIGZvciBjb252ZW5pZW50IHBhcnNpbmcgb2YKCSAgaXQgYW5kIGZvciBnZXR0aW5nIHRoZSBVVEMgZGF0ZXRpbWUgdGhhdCBpdCByZXByZXNlbnRzLiBBbHNvIGFkZHMgaXRzCgkgIGluZm9ybWF0aW9uIGR1bXBpbmcgdG8gdGhlIHRzLXBhcnNlciBleGFtcGxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0MzUKCjIwMTQtMDUtMTkgMTY6MjA6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkgIG1wZWd0czogYXRzYzogYWRkIGVuY29kaW5nIGNvbnZlcnNpb24gZm9yIFVURi0xNiBFVFQgc3RyaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDE0OjUwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IG1wZWd0czogYWRkIGZ1bmN0aW9uIHRvIGR1bXAgRVRUIHRhYmxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE5IDEzOjQ2OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IGF0c2M6IGFkZCBFVFQgc3RydWN0dXJlcyBhbmQgcGFyc2luZwoJICBFVFQgKGV4dGVuZGVkIHRleHQgdGFibGUpIGNvbnRhaW5zIEFUU0MgdGV4dCBpbmZvcm1hdGlvbiB3aXRoIGRlc2NyaXB0aW9ucwoJICBvZiB2aXJ0dWFsIGNoYW5uZWxzIGFuZCBldmVudHMuIFRoZSB0ZXh0IGNhbiBiZSBpbnRlcm5hdGlvbmFsaXplZCBhbmQgYWxzbwoJICBjb21wcmVzc2VkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNDM1CgoyMDE0LTA1LTE2IDE1OjM5OjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogcGFyc2UgdGhlIG1ndCBhbmQgYWRkIGxpc3RlZCBFSVQvRVRUIHBpZHMgdG8gdGhlIGtub3duIHBzaQoJICBUaGlzIHdpbGwgbWFrZSB0c2Jhc2UgYWxzbyBwYXJzZSB0aGUgRUlUcyBhbmQgRVRUcyBmcm9tIEFUU0Mgc3RyZWFtcyB0aGF0IGhhdmUKCSAgdGhlaXIgcGlkcyByZXBvcnRlZCBvbiB0aGUgTUdUIGFuZCBwb3N0IHRvIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0xNSAxMjozMTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IGFkZCBhdHNjIE1HVCBzZWN0aW9uIHBhcnNpbmcKCSAgQWRkIGEgcGFyc2luZyBmdW5jdGlvbiBmb3IgTUdUIGFuZCBhbHNvIGRldGVjdCB0aGUgRUlUIHRhYmxlcwoJICBmb3IgQVRTQywgdGhlIEVJVCBwaWRzIGFyZSByZXBvcnRlZCBpbnNpZGUgdGhlIE1HVCBhbmQgd2UgYXJlIHN0aWxsCgkgIG9ubHkgcmVseWluZyBvbmx5IG9uIHRoZSB0YWJsZSBpZCBmb3IgZGV0ZWN0aW5nIGl0LiBJbiB0aGUgZnV0dXJlIHdlCgkgIHdvdWxkIHdhbnQgdG8gYWxzbyBjaGVjayB0aGUgcGlkIGFuZCBjb21wYXJlIHdpdGggd2hhdGV2ZXIgdGhlIE1HVAoJICBwcmV2aW91c2x5IHJlcG9ydGVkIHRvIGNvbmZpcm0gdGhhdCBpdCBpcyBpbmRlZWQgdGhlIEVJVC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDQzNQoKMjAxNC0wNS0yMyAwMTo0MToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhdHNjOiByZW5hbWUgVFZDVCB0byBWQ1QgYXMgaXQgaXMgdGhlIHNhbWUgYXMgQ1ZDVAoJICBNYWtlIHRoZSBBVFNDIHNlY3Rpb24gcGFyc2UgaGFuZGxlIGJvdGggVFZDVCBhbmQgQ1ZDVCBhcyB0aGV5IGFyZQoJICBuZWFybHkgdGhlIHNhbWUgc3RydWN0IChDVkNUIHVzZXMgMiByZXNlcnZlZCBiaXRzIHRoYXQgYXJlIGlnbm9yZWQKCSAgaW4gVFZDVCkuCgkgIFRoaXMgaXMgY2hhbmdpbmcgdGhlIGdsaWIgdHlwZSBhbmQgdGhlIHN0cnVjdCBuYW1lIGJ1dCBUVkNUIHdhc24ndAoJICByZWxlYXNlZCBpbiBhIHN0YWJsZSBwYWNrYWdlIHlldCBzbyB0aGVyZSBzaG91bGQgYmUgbm8gcHJvYmxlbS4KCSAgQWxzbyBpbmNsdWRlcyBzb21lIHBhcnNpbmcgZml4ZXMgYW5kIGNoYW5nZXMgc2hvcnRfbmFtZSB0byBiZQoJICBkaXJlY3RseSBzdG9yZWQgYXMgdXRmOCByYXRoZXIgdGhhbiB1dGYxNgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNjQyCgoyMDE0LTA1LTI4IDEzOjExOjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogYWRkIFRWQ1QgYW5kIENWQ1QgdGFibGVzIGR1bXBpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY0MgoKMjAxNC0wNS0yOSAxMDozNzowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRml4IGFzc2VydGlvbiBhZnRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0yOSAxODozMzoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiBrZWVwIG91ciBwcml2YXRlIHBvaW50ZXIKCSAgYWdhaW4sIGF2b2lkIHRvIG11Y2ggdHJpZ2dlcgoKMjAxNC0wNS0yOSAxODozMjo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIGdsdXBsb2FkIGNoYW5nZXMKCjIwMTQtMDUtMjkgMTc6Mjk6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJICBnbC9jb2xvcmNvbnZlcnQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3VyIG93bgoKMjAxNC0wNS0yOSAxNzoxMjowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiByZW1vdmUgdW5uZWNhc3NhcnkgcG9pbnRlciBpbmRlcmVjdGlvbgoKMjAxNC0wNS0yOSAxNjo0NTozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiByZSBhZGQgdGhlIHVwbG9hZCBtZXRhIHRvIHRoZSBwcml2YXRlIHN0cnVjdAoJICB0cnkgYW5kIGF2b2lkIGJlaW5nIHRvIHRyaWdnZXIgaGFwcHkKCjIwMTQtMDUtMjkgMTY6Mjk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogc21hbGwgY29kZSBjbGVhbnVwIGFuZCBnc3QtaW5kZW50CgoyMDE0LTA1LTI5IDE2OjIyOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIGdsL2Rvd25sb2FkOiB1c2UgR3N0T2JqZWN0J3MgbG9jayBpbnN0ZWFkIG9mIG91dCBvd24KCjIwMTQtMDUtMjkgMTY6MjA6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IHVzZSBHc3RPYmplY3QncyBsb2NrIGluc3RlYWQgb2Ygb3VyIG93bgoKMjAxNC0wNS0yOSAxNjoxODowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBhbHNvIHJlbW92ZSB0aGUgd2lkdGgvaGVpZ2h0IGluIHRyYW5zZm9ybV9jYXBzCgkgIGFsbG93cyBzY2FsaW5nIGluIHRoZSBmaWx0ZXJzCgoyMDE0LTA1LTI5IDE2OjExOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IG9wdGltaXNlIHRoZSBzYW1lIGZvcm1hdCBjYXNlCgkgIHNpbXBseSByZXR1cm4gdGhlIGlucHV0IGJ1ZmZlciB1bmNoYW5nZWQKCjIwMTQtMDUtMjkgMTY6MDc6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogZml4IFlVWTIvVVlWWSBkb3dubG9hZCBmb3IgUkcvTEEgdGV4dHVyZXMKCjIwMTQtMDUtMjkgMTU6NTA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL2NvbG9yY29udmVydDogYWxsb2NhdGUgb3V0cHV0IGJ1ZmZlcnMKCSAgQWxsb3dzIHRoZSBub3Agb3B0aW1pc2F0aW9uIGJ5IHNpbXBseSByZWZmaW5nIHRoZSBpbnB1dCBidWZmZXIuCgoyMDE0LTA1LTI4IDE2OjE4OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQXZvaWQgc2hhZG93aW5nIG1haW4gbG9vcCB2YXJpYWJsZQoJICBXZSBlbmQgdXAgd2l0aCBpbnRlcmVzdGluZyByZXN1bHRzIG90aGVyd2lzZSA6KQoKMjAxNC0wNS0yOCAxNTo1MzoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBwcml2YXRlLWRhdGEtc3BlY2lmaWVyIGFuZCBmcmVxdWVuY3ktbGlzdAoKMjAxNC0wNS0yOCAxNTo1Mjo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogTWFrZSBzb21lIGZpZWxkcyBvcHRpb25hbAoJICBTb21lIHBlb3BsZSBtaWdodCBqdXN0IG5vdCBjYXJlIGFib3V0IHRoZSBjb250ZW50cwoKMjAxNC0wNS0yOCAxNTo1MjowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogVXBkYXRlIGRvY3MgZm9yIERWQiBmcmVxdWVuY3kgbGlzdAoKMjAxNC0wNS0yOCAyMzoyMTowNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsdXBsb2FkLmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIHJlY2VudCBnbHVwbG9hZCBjaGFuZ2VzCgkgIEdzdEdMVXBsb2FkTWV0YSBvYmplY3QgaXMgbm93IHRoZSBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCSAgcHJvdmlkZXIuCgoyMDE0LTA1LTI4IDEyOjU2OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMTI6NDM6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IEFsd2F5cyB1c2UgdGhlIHJlZGlyZWN0IHRhcmdldCB0byByZXNvbHZlIHJlbGF0aXZlIFVSSXMKCSAgQnV0IHJlZG93bmxvYWQgdGhlIHBsYXlsaXN0cyBmcm9tIHRoZSBvcmlnaW5hbCBVUkkgaWYgaXQncyBub3QKCSAgYSBwZXJtYW5lbnQgcmVkaXJlY3QuCgoyMDE0LTA1LTI4IDEyOjQ0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IGJhc2UgVVJJIGlmIHRoZXJlIHdhcyBubyByZWRpcmVjdAoKMjAxNC0wNS0yOCAwOToxODo0OSArMDEwMCAgRGFtaWFuIFppb2JybyA8ZGFtaWFuQHhtZW1lbnRvaXQuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBNYWtlIHBhcnNpbmcgb2YgIi1xdW90ZWQga2V5IFVSSXMgbW9yZSByZXNpbGllbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgzMAoKMjAxNC0wNS0yOCAxMDoxOTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWx3YXlzIHVzZSB0aGUgcmVkaXJlY3QgdGFyZ2V0IHRvIHJlc29sdmUgcmVsYXRpdmUgVVJJcwoJICBCdXQgcmVkb3dubG9hZCB0aGUgcGxheWxpc3RzIGZyb20gdGhlIG9yaWdpbmFsIFVSSSBpZiBpdCdzIG5vdAoJICBhIHBlcm1hbmVudCByZWRpcmVjdC4KCjIwMTQtMDUtMjggMDk6NDI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFN0b3JlIFVSSSBhbmQgcmVkaXJlY3QgdGFyZ2V0IGluIHRoZSBkb3dubG9hZGVkIGZyYWdtZW50cwoKMjAxNC0wNS0yOCAwNzo0MDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBMb2dpY2FsIENoYW5uZWwgRGVzY3JpcHRvciBwYXJzaW5nCgkgIE5vIHdvbmRlciB3ZSB3ZXJlIGdldHRpbmcgZ2FyYmFnZSAuLi4KCjIwMTQtMDUtMjcgMjA6Mzc6MjYgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlOiB0cy1wYXJzZXI6IGFkZCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwODQ3CgoyMDE0LTA1LTI3IDIwOjMyOjQyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZTogdHMtcGFyc2VyOiBwcmludGluZyBlbnVtIHR5cGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA4NDcKCjIwMTQtMDUtMjggMTQ6NDM6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsL3VwbG9hZDogZml4IGluY29ycmVjdCB0eXBlIGluIG1hY3JvcwoKMjAxNC0wNS0yOCAxNDo0MDoxMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWRtZXRhLmg6CgkgIGdsL3VwbG9hZDogYWRkIEdzdEdMVXBsb2FkTWV0YSBvYmplY3QKCSAgVGhhdCBzaW1wbHkgZGVhbHMgd2l0aCB0aGUgcHJvdmlkZXIgYXNwZWN0IG9mIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YS4KCjIwMTQtMDUtMjcgMTc6MzQ6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgRFZCIEV4dGVuZGVkIGV2ZW50IHBhcnNpbmcKCjIwMTQtMDUtMjcgMTc6MzI6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEVuc3VyZSBOVUxMLXRlcm1pbmF0ZWQgbGFuZ3VhZ2UgY29kZQoJICBZdXAsIGl0IGJyZWFrcyBBUEkgYW5kIEFCSSwgSSBrbm93LiBCdXQgbGV0J3MgYXZvaWQgcGVvcGxlIGFuZCBiaW5kaW5ncwoJICBwcmludGluZyBvdXQgZ2FyYmFnZQoKMjAxNC0wNS0yNyAxNzoyNToyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogRml4IEV4dGVuZGVkIERWQiBkZXNjcmlwdG9yIHBhcnNpbmcKCSAgV2Ugd2VyZSBvdmVyLXJlYWRpbmcgZGF0YSwgYW5kIHRoZSBuYl9pdGVtcyBmaWVsZCBpc24ndCBuZWVkZWQsCgkgIGl0J3MgYSBwcm9wZXJ0eSBvZiB0aGUgR1B0ckFycmF5CgoyMDE0LTA1LTI4IDAwOjU2OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBnbC93aW4zMjogbWFrZSBzZW5kX21lc3NhZ2UgcmVlbnRyYW50CgkgIEkgY291bGQgbm90IGZpbmQgYSBjb21wYXJhYmxlIHdpbjMyQVBJIGZ1bmN0aW9uIHNvIGtlZXAgdGhlIHJ1bm5pbmcKCSAgdGhyZWFkIHBvaW50ZXIgdG8gY29tcGFyZSBhZ2FpbnN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzgyCgoyMDE0LTA1LTI3IDE2OjE3OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggdXNhZ2Ugb2YgbWVtY3B5CgkgIHNvdXJjZSBhbmQgZGVzdGluYXRpb24gd2VyZSBpbnZlcnRlZAoKMjAxNC0wNS0yNiAyMDozODo0NSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI2IDIwOjM4OjE5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBzdXBwb3J0IGZvciBEVkIgbXVsdGlsaW5ndWFsIHNlcnZpY2UgbmFtZSBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg0MjkKCjIwMTQtMDUtMjYgMjA6Mzc6NTMgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBtdWx0aWxpbmd1YWwgYm91cXVldCBuYW1lIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQyOQoKMjAxNC0wNS0yNiAyMDozNzoyMSArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBBZGQgc3VwcG9ydCBmb3IgRFZCIG11bHRpbGluZ3VhbCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjIwOjM5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBjb21wb25lbnQgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjIwOjAzICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBzZXJ2aWNlIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjEwOjUxICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA0LTE3IDE4OjA3OjUyICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIG11bHRpbGluZ3VhbCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4NDI5CgoyMDE0LTA1LTI3IDEwOjIxOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGFkZC9yZW1vdmUgcGFkcyB0byBmbG93Y29tYmluZXIgZGlmZmVyZW50bHkgZHVlIHRvIHN0cmVhbWluZyBuYXR1cmUKCSAgRHVlIHRvIG1wZWd0cyBzdHJlYW1pbmcgbmF0dXJlIHNvbWUgcGFkcyBhcmUgY3JlYXRlZCBidXQgYXJlIG9ubHkgYWRkZWQKCSAgbGF0ZXIgdG8gdGhlIGVsZW1lbnQuIFRoaXMgY2FuIGNhdXNlIGEgc2NlbmFyaW8gd2hlcmUgdGhlIGZpcnN0IHN0cmVhbQoJICBkb2Vzbid0IGhhdmUgYW4gYXZhaWxhYmxlIGRlY29kZXIgKHdoaWxlIHRoZSBuZXh0IG9uZXMgc3RpbGwgcGVuZGluZwoJICB3b3VsZCBoYXZlKSBhbmQgdHNkZW11eCB3aWxsIGZhaWwgd2l0aCBub3QtbGlua2VkIGFzIHRoZSBmaXJzdCBzdHJlYW0KCSAgYWRkZWQgd291bGRuJ3QgYmUgbGlua2VkLgoJICBUbyBhdm9pZCB0aGlzIHRzZGVtdXggbmVlZHMgdG8gYWRkIHBhZHMgdG8gdGhlIGZsb3djb21iaW5lcgoJICB3aGVuIHRoZXkgYXJlIGNyZWF0ZWQgaW5zdGVhZCBvZiBvbmx5IHdoZW4gYWRkaW5nIHRoZW0gdG8gdGhlCgkgIGVsZW1lbnQuCgoyMDE0LTA1LTI3IDEzOjU2OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RnbGNvbG9yY29udmVydC5jOjExMzM6MTE6IGVycm9yOiAnaicgbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCBpbiB0aGlzIGZ1bmN0aW9uCgkgIFdhcyB1c2VkIHVuaW5pdGlhbGl6ZWQgd2hlbiBqdW1waW5nIHRvIG91dCBsYWJlbAoJICBpbiBlcnJvciBjYXNlLgoKMjAxNC0wNS0yNyAxODoyMDoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IG9wZXJhdGUgb24gYnVmZmVycyBpbnN0ZWFkIG9mIG1lbW9yaWVzCgoyMDE0LTA1LTI3IDA3OjQyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogcmVtb3ZlIHVucmVhZCBsYXN0X2Zsb3cgdmFyaWFibGUKCSAgaXQgaXNuJ3QgbmVjZXNzYXJ5IGFueW1vcmUgYW5kIGlzIGFscmVhZHkgdW51c2VkCgoyMDE0LTA1LTI3IDExOjI4OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogbWFrZSBpdCBhY3R1YWxseSBob25vciBzaG93LXByZXJvbGwtZnJhbWUgcHJvcGVydHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDgwMgoKMjAxNC0wNS0yNyAxMjowODo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvbXBhcmUgcG9zaXRpb25zIHRvIGZpbmQgdGhlIGVhcmxpZXN0IHBhZCwgbm90IGZsb3cgcmV0dXJucwoKMjAxNC0wNS0yNyAwODo1NDoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkgIGdsOiBhZGQgbWlzc2luZyBjZ2wgYW5kIGVhZ2wgY29udGV4dCB0eXBlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDUKCjIwMTQtMDUtMjcgMDg6NDY6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ2xjb250ZXh0aWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5jcHA6CgkgIGdsOiByZW5hbWUgcGxhdGZvcm0gY29jb2EgdG8gY2dsCgkgIEJlZm9yZToKCSAgR1NUX0dMX1BMQVRGT1JNPWNvY29hIEdTVF9HTF9XSU5ET1c9Y29jb2EKCSAgZ3N0LWxhdW5jaC0xLjAgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgQWZ0ZXI6CgkgIEdTVF9HTF9QTEFURk9STT1jZ2wgR1NUX0dMX1dJTkRPVz1jb2NvYQoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISBnbGltYWdlc2luawoJICBidXQgc3RpbGwgcGFzcyAtLWVuYWJsZS1jb2NvYSB0byBjb25maWd1cmUgc2NyaXB0CgkgIGJlY2F1c2UgY3VycmVudGx5IGl0IGNhbiBvbmx5IGJlIHVzZWQgd2l0aCBjb2NvYSBBUEkuCgkgIFdlIGNvdWxkIGxhdGVyIGhhdmUgY2dsL2dzdGdsY29udGV4dF9jZ2wuaCB0aGF0IG1hbmFnZXMKCSAgYSBDR0xDb250ZXh0T2JqIGRpcmVjdGx5IGFuZCBjb2NvYS9nc3RnbGNvbnRleHRfY29jb2EuaAoJICB3b3VsZCBqdXN0IHdyYXAgaXQuCgkgIFNvIHRoYXQgaXQgY291bGQgYmUgdXNlZCB3aXRoIG90aGVyIEFwcGxlJ3Mgd2luZG93IEFQSXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNDUKCjIwMTQtMDUtMjcgMDg6NTE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBSZXZlcnQgImFuZHJvaWRtZWRpYTogUGxhY2Ugc29tZSBjb25zdCBrZXl3b3JkcyBpbiBhIGZldyBwbGFjZXMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMzA3OGIzYTM0YzFmNzViODZiZDYyOWRmMWNkN2MwODlhMGY2OTk5OS4KCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIGRvZXNuJ3QgdGFrZSBhIGNvbnN0IEdzdFZpZGVvSW5mbyosIHNvCgkgIGFsbCB0aGlzIGlzIHJhdGhlciB1c2VsZXNzLgoKMjAxNC0wNS0yNyAxMzo1NToxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9taXhlcjogZG9uJ3Qgc2VnZmF1bHQgd2hlbiB3ZSBkb24ndCBoYXZlIGEgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNTcKCjIwMTQtMDUtMjcgMTM6MDQ6MzkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wvd2luZG93X3gxMTogYXZvaWQgQmFkRHJhd2FibGUgZXJyb3Igb24gc2h1dGRvd24KCjIwMTQtMDUtMjYgMTc6MzQ6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIG14ZmRlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjI0CgoyMDE0LTA1LTI2IDE3OjE4OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogdXNlIEdzdEZsb3dDb21iaW5lcgoJICBSZW1vdmVzIGZsb3cgcmV0dXJuIGNvbWJpbmF0aW9uIGNvZGUgdG8gdXNlIHRoZSBuZXdseSBhZGRlZCBHc3RGbG93Q29tYmluZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTIyNAoKMjAxNC0wNS0yMyAxODoyNjo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiB1c2UgR3N0Rmxvd0NvbWJpbmVyCgkgIFJlbW92ZXMgZmxvdyByZXR1cm4gY29tYmluYXRpb24gY29kZSB0byB1c2UgdGhlIG5ld2x5IGFkZGVkIEdzdEZsb3dDb21iaW5lcgoKMjAxNC0wNS0yNyAxMDo0NzoyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgZ2wvY29udGV4dF9lZ2w6IHBhc3MgdGhlIHZhcnMgaW4gdGhlIHJpZ2h0IG9yZGVyIHRvIERlc3Ryb3lTdXJmYWNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg1MTQKCjIwMTQtMDUtMjYgMTY6MzE6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBhbmRyb2lkbWVkaWE6IFBsYWNlIHNvbWUgY29uc3Qga2V5d29yZHMgaW4gYSBmZXcgcGxhY2VzCgoyMDEzLTExLTEzIDE4OjQxOjMzICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuaDoKCSAgYW5kcm9pZG1lZGlhOiBhZGQgZ3N0X2FtY19jb2xvcl9mb3JtYXRfY29weQoJICBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9jb3B5IHdpbGwgY29weSBpbi9vdXQgYSBmcmFtZSByZXNpZGVzIGF0IGEKCSAgR3N0QW1jQnVmZmVyLiBMb3RzIG9mIGNvZGVzIGluIGdzdF9hbWNfdmlkZW9fKl9maWxsX2J1ZmZlciBhcmUgbW92ZWQgdG8KCSAgdGhpcyBuZXcgZnVuY3Rpb24uCgoyMDEzLTEwLTA4IDIxOjExOjQ4ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZW5jLmM6CgkgIGFuZHJvaWRtZWRpYTogbW92ZSBjcmVhdGVfc3JjfHNpbmtfY2FwcyB0byBnc3RhbWMuYwoJICBTb21lIGhhY2sgbG9naWMgbmVlZHMgYWxzbyB0byBiZSBwcmVzZW50IGluIGNyZWF0ZV9zcmN8c2lua19jYXBzLCBmb3IKCSAgd29ya2luZyBhcm91bmQgc29tZSBicm9rZW4gY29kZWNzLiBUaGVzZSBoYWNrcyBhcmUgaGlkZGVuCgkgIGluIGNvbG9yX2Zvcm1hdC92aWRlb19mb3JtYXQgY29udmVyc2lvbiAtLSB0aGUgcHJvdG90eXBlcyBvZiB0aGVzZQoJICBmdW5jdGlvbnMgYXJlIGFsc28gY2hhbmdlZCB0byBpbmNsdWRlIG1vcmUgYXJncyBmb3IgaGFjayBqdWRnZW1lbnQuCgkgIEFsc28gaW4gY2FzZSBvZiBtdWx0aS1jb2xvcl9mb3JtYXRzIG1hcHBlZCB0byBvbmUgdmlkZW9fZm9ybWF0LCB0aGVuCgkgIG1hcCB0aGF0IHZpZGVvX2Zvcm1hdCBiYWNrIHdpbGwgbm90IGdpdmUgdGhlIG9yaWdpbmFsIGNvbG9yX2Zvcm1hdCwgd2hpY2gKCSAgY2F1c2VzIGdzdF9hbWNfY29kZWNfY29uZmlndXJlIGZhaWxlZCB3aXRoIHNvbWV0aGluZyBsaWtlCgkgICdkb2VzIG5vdCBzdXBwb3J0IGNvbG9yIGZvcm1hdCBOJy4KCSAgVGhlIG5ldyBwcm90b3R5cGUgaW52b2x2ZXMgd2l0aCBHc3RBbWNDb2RlY0luZm8gYW5kIG1pbWUsIHdoaWNoCgkgIGVuc3VyZXMgdGhlIGNvbnZlcnRlZCBjb2xvcl9mb3JtYXQgaXMgc3VwcG9ydGVkIGJ5IHRoZSBjb2RlYy4KCSAgQSBDT0xPUl9Gb3JtYXRZQ2JZQ3IgdG8gR1NUX1ZJREVPX0ZPUk1BVF9ZVVkyIG1hcHBpbmcgaXMgYWxzbyBhZGRlZCwgaW4KCSAgb3JkZXIgdG8gd29yayBhcm91bmQgYnVncyBpbiBPTVguazMudmlkZW8uZGVjb2Rlci5hdmMod2hpY2ggaW5jb3JyZWN0bHkKCSAgcmVwb3J0cyBzdXBwb3J0aW5nIENPTE9SX0Zvcm1hdFlDYllDciwgd2hpY2ggaXMgYWN0dWFsbHkKCSAgQ09MT1JfRm9ybWF0WVVWNDIwU2VtaVBsYW5hcikuIFRoZXJlIGFyZSBhbHJlYWR5IGhhY2tzIGZvciB0aGlzIGluCgkgIGdzdF9hbWNfdmlkZW9fZm9ybWF0X3RvX2NvbG9yX2Zvcm1hdCwgZ3N0X2FtY19jb2xvcl9mb3JtYXRfdG9fdmlkZW9fZm9ybWF0CgkgIGFuZCBnc3RfYW1jX2NvbG9yX2Zvcm1hdF9pbmZvX3NldCwgYnV0IHRoZSBjb2RlYyB3aWxsIHN0aWxsIG5vdCB3b3JrKGJlCgkgIGlnbm9yZWQgYmVjYXVzZSBvZiAiaGFzIHVua25vd24gY29sb3IgZm9ybWF0cyIpIHdpdGhvdXQgYWRkaW5nIHRoaXMgbWFwcGluZy4KCjIwMTQtMDQtMTEgMTU6MTQ6MTcgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogcGFyc2VjaGFubmVsczogYWRkIGRlbHN5cyBwcm9wZXJ0eQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxNC0wNS0yNiAxMzoyOTo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHdpbjMyL2NvbW1vbi9saWJnc3Rjb2RlY3BhcnNlcnMuZGVmOgoJICB3aW4zMjogdXBkYXRlIC5kZWYgZm9yIG5ldyBzeW1ib2xzCgoyMDE0LTA0LTExIDE1OjM4OjE2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbWFwIFNZU19EVkJDX0FOTkVYX0EgU1lTX0RWQkNfQU5ORVhfQUMgZm9yIERWQiBBUEkgPCA1LjYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTg2OQoKMjAxNC0wNC0xNSAwOTozMTowMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB0eXBvIGluIHRlc3RpbmcgZmxhZwoJICAlIGluc3RlYWQgb2YgJgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxODY5CgoyMDE0LTA1LTI1IDE1OjE2OjEzICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSAgYW1jdmlkZW9lbmM6IFVuaXQgb2YgYml0cmF0ZSBwcm9wZXJ0eSBpcyBub3cgYml0L3NlYwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTI5CgoyMDE0LTA1LTI2IDExOjU1OjMxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBCb3VxdWV0IE5hbWUgcGFyc2luZwoKMjAxNC0wNS0yNiAxMTo1NDo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogRml4IEJvdXF1ZXQgTmFtZSBwYXJzaW5nCgkgIHRoZSBmaWVsZCBpcyBub3QgbGVuZ3RoIHByZWZpeGVkCgoyMDE0LTA1LTI2IDExOjQyOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIHN1cHBvcnQgZm9yIERWQiBTZXJ2aWNlIExpc3QgZGVzY3JpcHRvcgoKMjAxNC0wNC0xNyAxNDo1NjoyMyArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBib3VxdWV0IG5hbWUgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA0LTE3IDE0OjU1OjI5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHN0dWZmaW5nIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODM2NAoKMjAxNC0wNC0xNyAxNDo1NDoyOCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBzZXJ2aWNlIGxpc3QgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MzY0CgoyMDE0LTA1LTEwIDE4OjMyOjI4ICswMjAwICBNaWd1ZWwgUGFyw61zIETDrWF6IDxtcGFyaXNkaWF6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogVXNlIGF1eCB2YXJzIHRvIG1pbmltaXplIGNyaXRpY2FsIHJlZ2lvbgoJICBUaGlzIGF2b2lkIGRlYWQgbG9jayBiZXR3ZWVuIGdzdF9hdWRpb19lbmNvZGVyX2ZpbmlzaF9mcmFtZSgpIGFuZAoJICBnc3Rfb3B1c19lbmNfZ2V0X3Byb3BlcnR5KCkuCgkgIEFsc28sIG5vdyBieXRlcyB2YXIgaXMgc2V0IGludG8gcHJvdGVjdGVkIHNlY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4ODIKCjIwMTQtMDUtMjQgMTk6NTE6MTIgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBBZGQgbWlzc2luZyB0b25lIGlvY3RsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA2OTIKCjIwMTQtMDUtMjUgMDk6MDM6MzIgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsZmlsdGVyOiBSZW1vdmUgZm9ybWF0IGluZm9ybWF0aW9uIHRvIGFsbG93IGNvbG9yIGNvbnZlcnQgYWdhaW4KCSAgV2UgYWxzbyBuZWVkIHRvIHJlbW92ZSB0aGUgZm9ybWF0IGluZm9ybWF0aW9uLCAgYXMgZ2xmaWx0ZXIgY2FuIGRvCgkgIGNvbG9yIGNvbnZlcnRpb24uIFRoaXMgY29kZSB3YXMgaW1wb3J0ZWQgZnJvbSB2aWRlb2NvbnZlcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk4NjEKCjIwMTQtMDUtMjUgMTE6NDQ6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsL21lbW9yeTogYWxsb2NhdGUgdGhlIGNvcnJlY3QgbWVtb3J5IHNpemUKCSAgYW5kIGF2b2lkIHdhc3RpbmcgcmVzb3VyY2VzIHdlIHdpbGwgbmV2ZXIgbmVlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNzAzCgoyMDE0LTA1LTIzIDIzOjAyOjMyIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2xjb2xvcmNvbnZlcnQ6IEZpeCBZVVkyIGFuZCBVWVZZIHN1cHBvcnQgd2l0aCBsdW1pbmFuY2VfYWxwaGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDY2NgoKMjAxMy0xMi0wMyAxMjowOTo1OCArMDEwMCAgSm9yZ2UgWmFwYXRhIDxqb3JnZWx1aXMuemFwYXRhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IEFkZCBhIG5ldyBRQ09NIGNvbG9yIGZvcm1hdAoJICBJdCBpcyBhIE5WMTIgYmFzZWQsIGFsaWduZWQgdG8gMzIgYnl0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDYzNQoKMjAxNC0wNS0yMyAxNTowMDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogRmlyc3QgdHJ5IHRvIGdldCBzeW1ib2xzIGZyb20gdGhlIGN1cnJlbnQgcHJvZ3JhbSwgdGhlbiBsb2FkIGxpYmR2bQoJICBJZiB0aGUgYXBwbGljYXRpb24gaXMgdXNpbmcgdGhlIG5ldyBBUlQgcnVudGltZSBpdCB3aWxsIG90aGVyd2lzZQoJICBsb2FkIGRhbHZpayBhbmQgc3RhcnQgYSBkYWx2aWsgVk0gbmV4dCB0byB0aGUgQVJUIFZNLgoJICBEb2VzIG5vdCB3b3JrIHZlcnkgd2VsbCBvYnZpb3VzbHkuCgoyMDEzLTA0LTAxIDA3OjQ5OjAxICswMDAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9lbmMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2VuYy5oOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBzdXBwb3J0IGZvciB2aWRlbyBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MTI5CgoyMDE0LTA1LTIzIDEyOjA3OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW1vcnk6IHByb3ZpZGUgY29tcGF0YWJpbGl0eSBkZWZpbmVzCgkgIGZpeGVzIGJ1aWxkIG9uIGFuZHJvaWQvT1MgWAoKMjAxNC0wNS0yMyAxMTowMTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3Jjb252ZXJ0OiByZW1vdmUgc2NyYXRjaCB0ZXh0dXJlIGZvciBZVVkyL1VZVlkKCSAgV2UgY2FuIGdldCBhbGwgb3VyIGRhdGEgZnJvbSB0aGUgb25lIFJHL0xBIHRleHR1cmUgd2l0aCBzb21lIHNoYWRlciBtYWdpYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0yMyAxMDo1OTowNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBSR0JBL1VOU0lHTkVEX0JZVEUgb25seSBmb3JtYXQgc3VwcG9ydGVkIGJ5IFJlYWRQaXhlbHMgR0xFUzIKCSAgRXJyb3Igb3V0IGluIGNhc2Ugd2UgYXR0ZW1wdCB0byByZWFkIHdpdGggYW55IG90aGVyIGludmFsaWQgZm9ybWF0LgoKMjAxNC0wNS0yMyAxMDo1NzoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2wvbWVtb3J5OiBnZW5lcmF0ZSB0ZXh0dXJlcyB3aXRoIGEgc2l6ZWQgaW50ZXJuYWwgZm9ybWF0CgkgIFJlcXVpcmVkIGluIG9yZGVyIHRvIGdlbmVyYXRlIFJHIGFuZCBSRUQgdGV4dHVyZWQgd2l0aCBHTEVTMy4KCjIwMTQtMDUtMjEgMjE6NDc6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL21lbW9yeTogaW1wbGVtZW50IEdMX0VYVF90ZXh0dXJlX3JnIHN1cHBvcnQKCSAgV2hpY2ggaXMgdXNlZCBieSBkZWZhdWx0IG92ZXIgdGhlIEx1bWluYW5jZSBmb3JtYXRzIGR1ZSB0byBpdAoJICBiZWluZyBjb2xvciByZW5kZXJhYmxlIHdpdGggZmJvcyAoYW5kIGRlcHJlY2F0aW9uL3JlbW92YWwgd2l0aAoJICBHTCAzLngpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzUwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQyMjIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODg5MAoKMjAxNC0wNS0yMiAxMTo1MDoxNiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBSZXZlcnQgImgyNjRwYXJzZXI6IFJlbW92ZSB1bnVzZWQgZnBzX251bS9mcHNfZGVuIGZpZWxkcyIKCSAgVGhpcyBicmVha3MgdGhlIGJ1aWxkIHNpbmNlIG1zcyBoYXMgbm90IGJlZW4gcG9ydGVkLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFlYjZhNTIwNzQyZmQ4Mjg4OGU0MWVhMjNmOWEzOWFkZDUxMTI1YTAuCgoyMDE0LTA1LTIyIDE2OjEyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW51c2VkIGZwc19udW0vZnBzX2RlbiBmaWVsZHMKCSAgSW5zdGVhZCB0aGUgbmV3bHkgYWRkZWQgZnVuY3Rpb24gc2hvdWxkIGJlIHVzZWQgdG8gY2FsY3VsYXRlCgkgIHRoZSBmcmFtZXJhdGUgcHJvcGVybHkuCgoyMDE0LTA1LTE5IDE3OjUyOjM4ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgbmV3IGdzdF9oMjY0X3ZpZGVvX2NhbGN1bGF0ZV9mcmFtZXJhdGUoKSB0byBnZXQgZnJhbWVyYXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzNTIKCjIwMTQtMDUtMTkgMTc6NDM6NTQgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2Vyc19oMjY0OiBhZGQgZ3N0X2gyNjRfdmlkZW9fY2FsY3VsYXRlX2ZyYW1lcmF0ZSgpCgkgIEFkZCBhIG5ldyBmdW5jdGlvbiB0byBjYWxjdWxhdGUgdmlkZW8gc3RyZWFtIGZyYW1lcmF0ZSB3aGljaCByZWx5IG9uCgkgIFNQUywgc2xpY2UgaGVhZGVyIGFuZCBwaWMgdGltaW5nIHVzaW5nIGZvcm11bGE6CgkgIHRpbWVfc2NhbGUgICAgICAgICAgICAgICAgMSAgICAgICAgICAgICAgICAgICAgICAgICAxCgkgIGZwcyA9IC0tLS0tLS0tLS0tLS0tLS0tICB4ICAtLS0tLS0tLS0tLS0tLS0gIHggIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQoJICBudW1fdW5pdHNfaW5fdGljayAgICAgRGVsdGFUZmlEaXZpc29yICAgICAoZmllbGRfcGljX2ZsYWcgPyAyIDogMSkKCSAgU2VlIHNlY3Rpb24gRTIuMSBvZiBIMjY0IHNwZWNpZmljYXRpb24gZm9yIGRlZmluaXRpb24gb2YgdmFyaWFibGVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMzUyCgoyMDE0LTA1LTIxIDIxOjQ0OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2wvY29udGV4dDogYWRkIGdsIGV4dGVuc2lvbiBjaGVja2luZyB0byBjaGVja19mZWF0dXJlKCkKCSAgVXNlZnVsIGZvciBleHRlbnNpb25zIHRoYXQgZG8gbm90IGRlZmluZSBhbnkgbmV3IEdMIEFQSSBlbnRyeXBvaW50cwoJICBidXQgY2FuIHN0aWxsIG1vZGlmeSBiZWhhdmlvdXIgd2hlbiB1c2VkLgoKMjAxNC0wNS0yMSAyMDozNjozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbC9kb3dubG9hZDogZml4dXAgWVVZMi9VWVZZIGRvd25sb2FkCgkgIFJlZ3Jlc3Npb24gZnJvbSAyZGE5Nzk4MzFlYzNiMWE4ZDk5M2ViNmYyZDM5OTljNTgxMGM0ZDY3IGFzIGl0IGRpZAoJICBub3QgdXBkYXRlIHRoZSBkb3dubG9hZCBjb2RlIHRvIHJlZmxlY3QgdGhlIGNoYW5nZSBpbiB0ZXh0dXJlIGZvcm1hdC4KCjIwMTQtMDUtMTkgMTE6NDg6NTUgKzAyMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNldCBmaWVsZF9waWNfZmxhZyB3aGVuIHBhcnNpbmcgYSBzbGljZSBoZWFkZXIKCSAgZmllbGRfcGljX2ZsYWcgd2FzIHVzZWQgYnV0IG5ldmVyIHNldCB0byBvdGhlciB2YWx1ZSB0aGFuIGl0cyBkZWZhdWx0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzAzNjMKCjIwMTQtMDUtMjIgMTE6NTQ6NDAgKzAxMDAgIERhbWlhbiBaaW9icm8gPHppb2Jyby5kYW1pYW5AZ21haWwuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggc3RvcmluZyBvZiB0aGUgSVYgYmFzZWQgb24gdGhlIG1lZGlhIHNlcXVlbmNlIG51bWJlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMwNTc0CgoyMDE0LTA1LTIyIDEyOjIzOjU3ICswMjAwICBNaWNoYWVsIE9sYnJpY2ggPG0ub2xicmljaEBwZW5ndXRyb25peC5kZT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogZml4IGJ1aWxkaW5nIHdpdGggbmV3ZXIga2VybmVsIGhlYWRlcnMKCSAgYzQwMGVlZjM3NzJiN2RjNDcwZWVmYWUwMmExMjg4YzJiMTI1ZTI1YyBpbnRyb2R1Y2VkIHNvbWUgZGVmaW5lcyB0byBoYW5kbGUKCSAgb2xkZXIga2VybmVsIGhlYWRlcnMuIEhvd2V2ZXIsIHRoZSBjaGVjayBpcyBkb25lIGJlZm9yZSB0aGUgY29ycmVzcG9uZGluZwoJICBrZXJuZWwgaGVhZGVyIChkdmIvZnJvbnRlbmQuaCkgaXMgaW5jbHVkZWQuIEFzIGEgcmVzdWx0IHRoZSBtYWNyb3MgYXJlCgkgIGFsd2F5cyBkZWZpbmVkIHdpdGggcmVzdWx0cyBpbiAncmVkZWZpbmVkJyBlcnJvcnMgd2l0aCBuZXdlciBrZXJuZWwKCSAgaGVhZGVycy4KCSAgTW92ZSB0aGUgY2hlY2sgYWZ0ZXIgdGhlIGluY2x1ZGUgdG8gZml4IHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA1NzAKCjIwMTQtMDUtMjEgMTM6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4yID09PQoKMjAxNC0wNS0yMSAxMzowNjozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0LWJ1aWxkLnN0YW1wOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4zLjIKCjIwMTQtMDUtMjEgMTI6NDI6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0yMSAxOTo0NzoyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZmlsdGVyOiBmaXh1cCBwYXNzdGhyb3VnaCBidWZmZXJwb29sCgkgIEluIGEgcGlwZWxpbmUgbGlrZSBzbzoKCSAgdmlkZW90ZXN0c3JjICEgZ2xlZmZlY3RzICEgdmlkZW9jb252ZXJ0ICEgc2luawoJICBnbGVmZmVjdHMgd2FzIHNpbXBseSBwYXNzaW5nIHRoZSB2aWRlb2NvbnZlcnQgYnVmZmVycG9vbCB0byB2aWRlb3Rlc3RzcmMKCSAgYW5kIG5vdCBjcmVhdGluZyBhIGdsYnVmZmVycG9vbC4gdmlkZW9idWZmZXJwb29sIHdvdWxkIHRoZW4gZmFpbAoJICB0byBhbGxvY2F0ZSBmcm9tIHRoZSBnbGFsbG9jYXRvci4KCjIwMTQtMDUtMjEgMTA6NTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDIxMWZhNWYgdG8gMWY1ZDNjMwoKMjAxNC0wNS0yMSAwODo1MzowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIGR2Yi1zZWN0aW9uOiBEb24ndCBjb21wYXJlIHVuc2lnbmVkIGludGVnZXJzIGZvciA+PSAwCgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjEyOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fiBeICB+CgkgIGdzdC1kdmItc2VjdGlvbi5jOjkzOjQwOiBlcnJvcjogY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uID49IDAgaXMgYWx3YXlzIHRydWUKCSAgWy1XZXJyb3IsLVd0YXV0b2xvZ2ljYWwtY29tcGFyZV0KCSAgaWYgKGhvdXIgPj0gMCAmJiBob3VyIDwgMjQgJiYgbWludXRlID49IDAgJiYgbWludXRlIDwgNjAgJiYgc2Vjb25kID49IDAKCSAgfn5+fn5+IF4gIH4KCSAgZ3N0LWR2Yi1zZWN0aW9uLmM6OTM6NzA6IGVycm9yOiBjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZQoJICBbLVdlcnJvciwtV3RhdXRvbG9naWNhbC1jb21wYXJlXQoJICBpZiAoaG91ciA+PSAwICYmIGhvdXIgPCAyNCAmJiBtaW51dGUgPj0gMCAmJiBtaW51dGUgPCA2MCAmJiBzZWNvbmQgPj0gMAoJICB+fn5+fn4gXiAgfgoKMjAxNC0wNS0yMCAxNzowOTo0MyArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNzaHNpbmsuYzoKCSAgY3VybHNzaHNpbms6IHBvc3QgZXJyb3Igb24gYnVzIGluIGVsZW1lbnQsIG5vdCB0cmFuc2ZlciB0aHJlYWQKCSAgTG9va3MgbGlrZSB0aGlzIGZpbGUgd2FzIG1pc3NlZCBpbiBCdWcgNzI4OTYwOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4OTYwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MzA0NTkKCjIwMTQtMDUtMjEgMTA6MjY6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzd2l0Y2ggdGhlICdtYXN0ZXInIHRleHR1cmUgZm9yIFlVWTIsIFVZVlkKCSAgRnJvbSBkNGJjZWYzMjA0NzA5MTU5NzEzZmYxNjMwOTc4ZWNhYzBiZDkxZGM5IG9uLCB1c2luZyBhIFJHQkEKCSAgdGV4dHVyZSB0byBob2xkIHRoZSBkYXRhIGNhdXNlcyB0aGUgZ2xtZW1vcnkgdG8gaGF2ZSBoYWxmIHdpZHRoCgkgIGFuZCBhIHNjYWxpbmcgb2YgWzIsIDFdLiAgVXNpbmcgYSBMQSB0ZXh0dXJlIHNvbHZlcyB0aGlzIHByb2JsZW0KCSAgaG93ZXZlciBjYW5ub3QgYmUgYXR0YWNoZWQgdG8gdGhlIGZyYW1lYnVmZmVyIGZvciBjb3B5aW5nIGludG8KCSAgYSBSR0JBIHRleHR1cmUuICBXaGljaCB3aWxsIGJlIHNvbHZlZCBieSBtb3ZpbmcgdG8gRVhUX3RleHR1cmVfcmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4OTAKCjIwMTQtMDUtMTQgMTc6NTk6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2wvZWdsaW1hZ2U6IGFkZCBlZ2xpbWFnZSBjb250ZXh0IGZlYXR1cmUKCSAgQWxsb3dzIHVzIHRvIHNlbGVjdGl2ZWx5IHVzZSBFR0xJbWFnZXMgb25seSB3aGVuIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MjM0CgoyMDE0LTA1LTE0IDE3OjMzOjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBnbC9jb250ZXh0OiBhZGQgZ2VuZXJpYyBmZWF0dXJlIGNoZWNraW5nCgkgIEF0IHRoZSBtb21lbnQgaXQgc2ltcGx5IGRlbGVnYXRlcyB0byB0aGUgc3ViY2xhc3MuCgoyMDE0LTA1LTIwIDExOjQyOjM1ICswMjAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy5vcmM6CgkgIGJheWVyOiBmaXggdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAxLTI4IDE0OjA0OjExICswMTAwICBMLiBTb3JpbiA8c29yaW5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSAgY3VybHNmdHBzaW5rOiBhdXRoZW50aWNhdGUgcmVtb3RlIGhvc3QgdmlhIHB1YmxpYyBrZXkgZmluZ2VycHJpbnQKCSAgRXhwb3NlIG9uZSBtb3JlIGxpYmN1cmwgb3B0aW9uOiBDVVJMT1BUX1NTSF9IT1NUX1BVQkxJQ19LRVlfTUQ1LgoJICBUaGlzIGFsbG93cyBhdXRoZW50aWNhdGluZyB0aGUgc2VydmVyIGJ5IHRoZSBNRDUgZmluZ2VycHJpbnQgb2YKCSAgdGhlIHNlcnZlcidzIHB1YmxpYyBrZXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxNjcKCjIwMTQtMDUtMTkgMTM6NDM6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSAgbXBlZ3RzOiBDaGVjayBob3VyOm1pbnV0ZTpzZWNvbmQgdmFsdWVzIGJlZm9yZSBjcmVhdGluZyBkYXRldGltZQoJICBBdm9pZHMgYXNzZXJ0aW9ucyB3aGVuIHRoZSBwYWNrZXRzIGFyZSBtYWxmb3JtZWQgYW5kIGFsc28gYWRkIHRoZSBjYXNlCgkgIHdoZXJlIHRoZSB0aW1lIGlzbid0IHNwZWNpZmllZCwgb25seSB0aGUgZGF0ZS4KCjIwMTQtMDUtMTkgMTI6MjU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENoZWNrIGlmIGNvbnRleHQgY3JlYXRpb24gZmFpbGVkIGJlZm9yZSB0cnlpbmcgdG8gdXNlIGl0CgkgIE90aGVyd2lzZSB3ZSB3aWxsIGNhdXNlIGFzc2VydGlvbnMgZXZlcnl3aGVyZSBieSBwYXNzaW5nIE5VTEwgdG8gZnVuY3Rpb25zCgkgIGFuZCBldmVudHVhbGx5IGNyYXNoIHdoZW4gZGVyZWZlcmVuY2luZyBhIE5VTEwgcG9pbnRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDA2OQoKMjAxNC0wNS0xOSAxMjoyMToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2xjb250ZXh0OiBBZGQgbW9yZSBhc3NlcnRpb25zIHRvIG1ha2Ugc3VyZSB0aGF0IGV2ZXJ5dGhpbmcgc2V0cyB0aGUgR0Vycm9yIGR1cmluZyBjb250ZXh0IGNyZWF0aW9uIGlmIHNvbWV0aGluZyBmYWlscwoKMjAxNC0wNS0xOSAxMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogRG9uJ3QgcGFzcyBmbG9hdHMgdG8gYWJzKCkgYnV0IGluc3RlYWQgY2FzdCB0aGVtIHRvIGludHMgZmlyc3QKCSAgZ3N0ZnJlZXZlcmIuYzo3ODE6Mjk6IGVycm9yOiB1c2luZyBpbnRlZ2VyIGFic29sdXRlIHZhbHVlIGZ1bmN0aW9uICdhYnMnIHdoZW4KCSAgYXJndW1lbnQgaXMgb2YgZmxvYXRpbmcgcG9pbnQgdHlwZSBbLVdlcnJvciwtV2Fic29sdXRlLXZhbHVlXQoJICBpZiAoYWJzIChvdXRfbDIpID4gMCB8fCBhYnMgKG91dF9yMikgPiAwKQoKMjAxNC0wNS0xOSAwOToxMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogVW5yZWYgaGFuZGxlIGFuZCBvdXRwdXQgc3RhdGUgb24gZXJyb3IgcGF0aHMKCSAgQ0lEIDEyMTQ2MDQKCjIwMTQtMDUtMTYgMDk6MTA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBXb3JrIGFyb3VuZCByYWNlIGNvbmRpdGlvbiBpbiBBbmRyb2lkIDwgNC4yIHRoYXQgbGVhZHMgdG8gZGVhZGxvY2tzIG9uIHNodXRkb3duCgkgIFdlIG5lZWQgdG8gc2xlZXAgYSBiaXQgYmVmb3JlIGRlc3Ryb3lpbmcgdGhlIHBsYXllciBvYmplY3QKCSAgYmVjYXVzZSBvZiBhIGJ1ZyBpbiBBbmRyb2lkIGluIHZlcnNpb25zIDwgNC4yLgoJICBPcGVuU0xFUyBpcyB1c2luZyBBdWRpb1RyYWNrIGZvciByZW5kZXJpbmcgdGhlIHNvdW5kLiBBdWRpb1RyYWNrCgkgIGhhcyBhIHRocmVhZCB0aGF0IHB1bGxzIHJhdyBhdWRpbyBmcm9tIHRoZSBidWZmZXIgcXVldWUgYW5kIHRoZW4KCSAgcGFzc2VzIGl0IGZvcndhcmQgdG8gQXVkaW9GbGluZ2VyIChBdWRpb1RyYWNrOjpwcm9jZXNzQXVkaW9CdWZmZXIoKSkuCgkgIFRoaXMgdGhyZWFkIGlzIGNhbGxpbmcgdmFyaW91cyBjYWxsYmFja3Mgb24gZXZlbnRzLCBlLmcuIHdoZW4KCSAgYW4gdW5kZXJydW4gaGFwcGVucyBvciB0byByZXF1ZXN0IGRhdGEuIE9wZW5TTEVTIHNldHMgdGhpcyBjYWxsYmFjawoJICBvbiBBdWRpb1RyYWNrIChhdWRpb1RyYWNrX2NhbGxCYWNrX3B1bGxGcm9tQnVmZlF1ZXVlKCkgZnJvbQoJICBhbmRyb2lkX0F1ZGlvUGxheWVyLmNwcCkuIEFtb25nIG90aGVyIHRoaW5ncyB0aGlzIGlzIHRha2luZyBhIGxvY2sKCSAgb24gdGhlIHBsYXllciBpbnRlcmZhY2UuCgkgIE5vdyBpZiB3ZSBkZXN0cm95IHRoZSBwbGF5ZXIgaW50ZXJmYWNlIG9iamVjdCwgaXQgd2lsbCBmaXJzdCBvZiBhbGwKCSAgdGFrZSB0aGUgcGxheWVyIGludGVyZmFjZSBsb2NrIChJT2JqZWN0X0Rlc3Ryb3koKSkuIFRoZW4gaXQgZGVzdHJveXMKCSAgdGhlIGF1ZGlvIHBsYXllciBpbnN0YW5jZSAoYW5kcm9pZF9hdWRpb1BsYXllcl9kZXN0cm95KCkpIHdoaWNoIHRoZW4KCSAgY2FsbHMgc3RvcCgpIG9uIHRoZSBBdWRpb1RyYWNrIGFuZCBkZWxldGVzIGl0LiBOb3cgdGhlIGRlc3RydWN0b3Igb2YKCSAgQXVkaW9UcmFjayB3aWxsIHdhaXQgdW50aWwgdGhlIHJlbmRlcmluZyB0aHJlYWQgKEF1ZGlvVHJhY2s6OnByb2Nlc3NBdWRpb0J1ZmZlcigpKQoJICBoYXMgZmluaXNoZWQuCgkgIElmIGFsbCB0aGlzIGhhcHBlbnMgd2l0aCBiYWQgdGltaW5nIGl0IGNhbiBoYXBwZW4gdGhhdCB0aGUgcmVuZGVyaW5nCgkgIHRocmVhZCBpcyBjdXJyZW50bHkgZS5nLiBoYW5kbGluZyB1bmRlcnJ1biBidXQgZGlkIG5vdCBsb2NrIHRoZSBwbGF5ZXIKCSAgaW50ZXJmYWNlIG9iamVjdCB5ZXQuIFRoZW4gZGVzdHJveWluZyBoYXBwZW5zIGFuZCB0YWtlcyB0aGUgbG9jayBhbmQgd2FpdHMKCSAgZm9yIHRoZSB0aHJlYWQgdG8gZmluaXNoLiBUaGVuIHRoZSB0aHJlYWQgdHJpZXMgdG8gdGFrZSB0aGUgbG9jayBhbmQgd2FpdHMKCSAgZm9yZXZlci4KCSAgV2Ugd2FpdCBhIGJpdCBiZWZvcmUgZGVzdHJveWluZyB0aGUgcGxheWVyIG9iamVjdCB0byBtYWtlIHN1cmUgdGhhdAoJICB0aGUgcmVuZGVyaW5nIHRocmVhZCBmaW5pc2hlZCB3aGF0ZXZlciBpdCB3YXMgZG9pbmcsIGFuZCB0aGVuIHN0b3BzCgkgIChub3RlOiB3ZSBjYWxsZWQgZ3N0X29wZW5zbGVzX3JpbmdidWZmZXJfc3RvcCgpIGJlZm9yZSB0aGlzIGFscmVhZHkpLgoKMjAxNC0wNS0xNSAyMDozNDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBtcGVndHNkZXNjcmlwdG9yOiBmaXggZ29iamVjdC1pbnRyb3NwZWN0aW9uIHdhcm5pbmdzCgkgIEFkZHMgbWlzc2luZyA6IHRvIGdvYmplY3QtaW50cm9zcGVjdGlvbiBtYXJrZXJzCgoyMDE0LTA1LTE1IDE5OjE2OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWF0c2Mtc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBzZWN0aW9uczogcHJldmVudCBhc3NlcnRpb24gd2hlbiBwYWNrZXQgcGFyc2luZyBmYWlscwoJICB0aGUgZGVzY3JpcHRvcnMgZW50cnkgY2FuIGJlIGxlZnQgYXMgTlVMTCBhbmQgZnJlZWluZyB0aGUgc3RydWN0dXJlCgkgIHdpbGwgZmFpbCAoYXNzZXJ0aW9uIGhhcHBlbnMpCgoyMDE0LTA1LTE0IDIxOjMyOjEwICswMjAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgbW90aW9uY2VsbHM6IGZpeCBtZW1sZWFrCgkgIENoZWNrIGdzdF9idWZmZXJfbWFwIHJldHVybiBhbmQgcmVtZW1iZXIgdG8gdW5tYXAgYW5kIGZyZWUgbWVtb3J5IGJlZm9yZQoJICByZXR1cm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTczMDEzMwoKMjAxNC0wNS0xNCAxMTo0NzowMyArMDIwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBmaXggcHJvcGVydHkgbmFtZXMKCSAgVGhlc2Ugd2VyZSBmb3Jnb3R0ZW4gd2hlbiB0aGV5IGdvdCByZW5hbWVkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzMxCgoyMDE0LTA1LTEzIDE0OjEzOjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsL2Rvd25sb2FkOiB1cGRhdGUgdG8gYmUgc2ltaWxhciB0byB0aGUgZ2x1cGxvYWQgc2VtYW50aWNzCgoyMDE0LTA1LTEzIDE0OjA3OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcmNvbnZlcnQ6IGZpeCB1cCBhbHBoYSBjbG9iYmVyaW5nCgkgIFByZXZpb3VzbHkgaXQgd291bGQgb25seSB3b3JrIGlmIHRoZSBhbHBoYSB2YWx1ZSB3YXMgaW4gdGhlIGxhc3QKCSAgY29tcG9uZW50IChSR0J4LCBCR1J4KS4gIE5vdyBpdCB3b3JrcyB3aGVyZXZlciB0aGUgYWxwaGEgdmFsdWUgbWF5CgkgIGJlICh4UkdCLCB4QkdSLCBldGMpLgoKMjAxNC0wNS0xNCAwMDoyMzozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIGVycm9yaW5nIG91dCBvbiB1bnN1cHBvcnRlZCBlc3NlbmNlIHdyYXBwaW5nCgoyMDE0LTA0LTEwIDE2OjEwOjA2ICswMjAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgQWRkIG1pc3NpbmcgYmFja3NsYXNoIGluIEFuZHJvaWQubWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk2OAoKMjAxNC0wNS0xMyAxNjoyOTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogZG8gbm90IGxlYWsgcGxheWxpc3Qgb2JqZWN0CgkgIEluIGZpbmFsaXplLCBhbHNvIHJlbGVhc2UgdGhlIHBsYXlsaXN0CgoyMDE0LTA1LTEzIDEzOjE2OjM0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IEZpeCBidWlsZGluZyB3aXRob3V0IEVHTCBzdXBwb3J0CgkgIFRoaXMgZml4ZXMgdGhlIE9TWCBidWlsZCBhbmQgYW55IGJ1aWxkcyB3aXRoIC0tZGlzYWJsZS1lZ2wuIFRoYXQgaXNzdWUKCSAgd2FzIGludHJvZHVjZWQgaW4gImdsZmlsdGVyOiByZXdyaXRlIHRyYW5zZm9ybV9jYXBzIHRvIHByZXNlcnZlIGNhcHMgZmllbGRzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0xMyAxMzozMDo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IHJld3JpdGUgdHJhbnNmb3JtX2NhcHMgdG8gcHJlc2VydmUgY2FwcyBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTg2MQoKMjAxNC0wNS0xMyAxMDo1MzoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0Lmg6CgkgIGdsL2NvbG9yY29udmVydDogdXNlIHRoZSB0ZXh0dXJlIHNjYWxpbmcgZnJvbSB0aGUgZ2wgbWVtb3J5CgkgIFRoZSBjb2xvcmNvbnZlcnQgdmFsdWVzIHdlcmUgbm90IGJlaW5nIHVzZWQgYXQgYWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEyIDE5OjI5OjQ1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2xtZW1vcnk6IEZpeCBoYW5kbGluZyBvZiBzdHJpZGUgd2l0aCBhbGlnbmVtZW50IGxhcmdlciB0aGVuIDgKCSAgU2V0dGluZyBhIHNjYWxlZCBmYWN0b3IgZm9yIFggY29vcmRpbmF0ZSBpcyBub3QgZW5vdWdoIGFzIHRoZSBpbmRleGVyCgkgIHdpbGwgc3RpbGwgdGhpbmsgc3RyaWRlIGlzIHNob3J0ZXIgYW5kIHdpbGwgbm90IGZ1bGx5IHNraXAgaXQuIEluc3RlYWQsCgkgIHVwZGF0ZSB3aWR0aCwgc28gdGhlIGxpbmVzIGFyZSBhcyBleHBlY3RlZC4gQ29tYmluZWQgd2l0aCB0aGUgc2NhbGUsIGl0CgkgIHdpbGwgaGlkZSB0aGUgY3JvcHBlZCBwb3J0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEzIDExOjIyOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IG1wZHBhcnNlcjogcHJvcGVybHkgdW5yZWYgZ3N0ZGF0ZXRpbWUKCSAgQXZvaWQgbGVha2luZyB0aGUgR3N0RGF0ZVRpbWUgaW5zdGFuY2VzIHdoZW4gc3VtbWluZyBkYXRlcwoJICBDSUQgIzEyMTIxNDMKCjIwMTQtMDUtMTMgMTA6MjQ6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkcGFyc2VyOiBhdm9pZCBkb3VibGUgZnJlZSBvZiBzZWdtZW50IHRpbWVsaW5lIG5vZGUKCSAgVGhlIHBhcnNpbmcgZnVuY3Rpb24gYWxyZWFkeSBmcmVlcyB0aGUgb2xkIHZhbHVlIChpZiBhbnkpLCBhdm9pZCBhIGRvdWJsZQoJICBmcmVlIGJ5IG5vdCBmcmVlaW5nIGl0IGJlZm9yZSBjYWxsaW5nIHRoZSBmdW5jdGlvbiB3aXRob3V0IHNldHRpbmcgdGhlCgkgIHBvaW50ZXIgdG8gTlVMTAoJICBDb3Zlcml0eSBJRDogMTIxMjE3OAoKMjAxNC0wNS0xMyAxMDoxMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBtcGRwYXJzZXI6IGF2b2lkIGRvdWJsZSBmcmVlCgkgIFRoZSBfcGFyc2VfdXJsIGZ1bmN0aW9uIGFscmVhZHkgZnJlZXMgdGhlIHByZXZpb3VzIHBvaW50ZXIsIGF2b2lkCgkgIGZyZWVpbmcgaXQgYmVmb3JlIHdpdGhvdXQgc2V0dGluZyB0byBudWxsIG9yIHdlIGhhdmUgYSBkb3VibGUgZnJlZS4KCSAgQ292ZXJpdHkgSUQ6IDEyMTIxODEKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxODAKCSAgQ292ZXJpdHkgSUQ6IDEyMTIxNzkKCjIwMTQtMDUtMTMgMTQ6MjE6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogVXNlIHBvb2wgY29uZmlndXJhdGlvbgoJICBJdCB3YXMgbGVha2luZyB0aGUgY29uZmlnLCBidXQgYWxzbyBub3QgdXNpbmcgaXQuLi4KCSAgQ0lEICMxMjEyMTU1CgoyMDE0LTA1LTEzIDE0OjE1OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2ZzogRG9uJ3QgbGVhayBHc3RWaWRlb0NvZGVjU3RhdGUKCSAgQW5kIGF2b2lkIHVzZWxlc3MgY2FsbCB0byBfZ2V0X291dHB1dF9zdGF0ZSAoc2V0X291dHB1dF9zdGF0ZSgpIGFscmVhZHkKCSAgcmV0dXJucyBpdCkuCgkgIENJRCAjMTIxMjE2MAoJICBDSUQgIzEyMTIxNjEKCjIwMTQtMDUtMTMgMTM6NTQ6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBTbWFsbCByZXdyaXRlCgkgIFNldHRpbmcgZG9uZSB3YXMgdXNlbGVzcyBhbnl3YXkKCjIwMTQtMDUtMTMgMTM6NTI6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IERvbid0IGxlYWsgR3N0QWN0aXZlU3RyZWFtCgkgIENJRCAjMTIxMjE0MgoKMjAxNC0wNS0xMyAxMTo0MTo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IERvbid0IGxlYWsgR3N0U2htUGlwZQoJICBCeSByZW9yZGVyaW5nIHRoZSBsZWFraW5nIGNvZGUgcGF0aCB0byBiZWZvcmUgdGhlIGFsbG9jYXRpb24KCSAgQ0lEICMxMjEyMTUzCgoyMDE0LTA1LTEzIDExOjM4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uZGVjOiBEb24ndCBsZWFrIG91dHB1dCBzdGF0ZQoJICBfc2V0X291dHB1dF9zdGF0ZSByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBjb2RlYyBzdGF0ZS4KCSAgQ0lEICMxMjEyMTcwCgoyMDE0LTA1LTEzIDExOjM1OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IERvbid0IGxlYWsgYWRhcHRlciBkYXRhCgkgIENJRCAjMTIxMjE1OAoKMjAxNC0wNS0xMyAxMTozMDozNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDsgRml4IHN0cmVhbSBsZWFrCgkgIENJRCAjMTIxMjE2NAoKMjAxNC0wNS0xMyAxMToyMzo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvanAya2RlY2ltYXRvci9qcDJrY29kZXN0cmVhbS5jOgoJICBqcDJrZGVjaW1hdG9yOiBEb24ndCBsZWFrIHZhcmlvdXMgc2xpY2VzIGFuZCBhcnJheXMKCSAgQ0lEICMxMjEyMTM5CgkgIENJRCAjMTIxMjE0MAoJICBDSUQgIzEyMTIxNDEKCjIwMTQtMDUtMTMgMTE6MTk6MjQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogRG9uJ3QgbGVhayBieXRlcmVhZGVyCgkgIEJ5IG1ha2luZyBpdCBnbyB0aHJvdWdoIHRoZSBlcnJvciBwYXRoIHRoYXQgdGFrZXMgY2FyZSBvZiBjbGVhbnVwcwoJICBDSUQgIzEyMTIxNjgKCjIwMTQtMDUtMTIgMTM6NTA6NDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbHVwbG9hZDogRW5zdXJlIHdlIHN0aWxsIGhhdmUgYSB0ZXh0dXJlIGFmdGVyIHVwbG9hZF9zZXRfZm9ybWF0KCkKCSAgZ3N0X2dsX3VwbG9hZF9zZXRfZm9ybWF0KCkgcmVzZXRzIHRoZSB1cGxvYWQsIGhlbmNlIHRoZSB0ZXh0dXJlLgoJICBTbyB3ZSBuZWVkIHRvIGVuc3VyZSB3ZSBoYXZlIGEgdGV4dHVyZSBhZnRlciB0aGlzIGNhbGwgd2hlbgoJICB1cGxvYWRpbmcuCgoyMDE0LTA1LTEyIDEyOjU5OjU5IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENvcnJlY3RseSB1cGRhdGUgdGhlIHZpZGVvIGluZm8gZnJvbSB2aWRlbyBtZXRhCgkgIFVzaW5nIGdzdF92aWRlb19pbmZvX3NldF9mb3JtYXQoKSBpc24ndCBjb21wbGV0ZSB3aGVuIHVwZGF0aW5nCgkgIGEgdmlkZW8gaW5mbyBmcm9tIHZpZGVvIG1ldGEuCgoyMDE0LTA1LTEyIDEyOjU3OjE4IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IENvcnJlY3RseSB1cGRhdGUgdmlkZW8gaW5mbyBpbiB1cGxvYWQgZmFsbGJhY2sKCSAgV2hlbiB0aGUgdXBsb2FkIGFjY2VsZXJhdGVkIG1ldGhvZCBmYWlscywgd2UgZmFsbGJhY2sgdG8gYW4gdXBsb2FkLAoJICBidXQgdGhlIHZpZGVvIGluZm8gd2FzIG5vdCBjb3JyZWN0bHkgdXBkYXRlZC4KCjIwMTQtMDUtMTIgMTg6Mjg6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYXZvaWQgZGVhZGxvY2tpbmcgd2hlbiBlcnJvcmluZwoJICBJdCBtaWdodCBnZXQgc3R1Y2sgd2hlbiBwb3N0aW5nIHRoZSBtZXNzYWdlIHdoaWxlCgkgIGEgcmVjb25maWd1cmUgZXZlbnQgaXMgYmVpbmcgcHVzaGVkIHVwc3RyZWFtCgoyMDE0LTA1LTEyIDE3OjM3OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBjYXBzIGxlYWsKCjIwMTQtMDUtMTIgMTU6NDM6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaGFuZGxlIGVycm9yIG1lc3NhZ2VzIGZyb20gaW50ZXJuYWwgc291cmNlCgkgIHNldCB1cCBhIGJpbiBtZXNzYWdlIGhhbmRsZXIgdG8gZ2V0IG5vdGlmaWVkIG9mIGVycm9yIG1lc3NhZ2VzIGZyb20KCSAgdGhlIGludGVybmFsIHNvdXJjZSBlbGVtZW50CgoyMDE0LTA1LTEyIDE0OjU4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFsd2F5cyBhY2NlcHQgdGhlIGxhdGVuY3kgY29uZmlndXJlIGV2ZW50CgkgIFVwc3RyZWFtIG9yIGludGVybmFsIGVsZW1lbnRzIGFyZSBpcnJlbGV2YW50IGFuZCB3ZSBzaG91bGQKCSAgYWx3YXlzIHN1Y2NlZWQuCgoyMDE0LTA1LTEyIDE0OjUxOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVlbmFibGUgc2VnbWVudCB0cmFja2luZyBmb3Igc3RyZWFtcwoJICBTdG9yZSB0aGUgbGF0ZXN0IHB1c2hlZCB0aW1lc3RhbXAgc28gdGhhdCBtc3NkZW11eCBzdHJlYW1zIGtub3cKCSAgd2hlcmUgdGhleSBhcmUgaW4gdGltZQoKMjAxNC0wNS0xMiAxNDoyMzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkZXByZWNhdGUgdW51c2VkIG1heC1xdWV1ZS1zaXplLWJ1ZmZlcnMKCSAgVGhlcmUgaXMgbm8gaW50ZXJuYWwgc3RvcmFnZSBvZiBidWZmZXJzIGFueW1vcmUKCjIwMTQtMDUtMTIgMTQ6MTg6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBtZWFzdXJlIGJpdHJhdGUgc2ltaWxhcmx5IHRvIGhsc2RlbXV4CgkgIG5ldyBiaXRyYXRlID0gKG9sZCBiaXRyYXRlICsgKGxhc3QgZnJhZ21lbnQgYml0cmF0ZSAqIDMpKSAvIDQKCjIwMTQtMDUtMTIgMTM6NDA6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiByZW1vdmUgdXJpZG93bmxvYWRlciBpbiBmYXZvciBvZiBpbnRlcm5hbCBzb3VyY2UKCSAgUmVmYWN0b3IgbXNzZGVtdXggdG8gcmVtb3ZlIHVyaWRvd25sb2FkZXIgdG8gdXNlIGFuIGludGVybmFsCgkgIHNvdXJjZSBlbGVtZW50IHdoaWNoIHJlZHVjZXMgc3RhcnR1cCBsYXRlbmN5IGFuZCBwcm92aWRlcyBzbWFsbGVyCgkgIGJ1ZmZlcnMgZm9yIGJldHRlciBidWZmZXJpbmcgbWFuYWdlbWVudCBkb3duc3RyZWFtCgoyMDE0LTA1LTEyIDEzOjI4OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGluaXRpYWxpemUgdGhlIG11dGV4IGFuZCBjb25kIGZvciBmcmFnbWVudCBkb3dubG9hZAoKMjAxNC0wNS0xMiAxMzozMjozMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzZXQgb3V0X3RleCBhZnRlciByZXNldCwgbm90IGJlZm9yZQoJICBGaXggYSByZWdyZXNzaW9uIGludHJvZHVjZWQgcmVjZW50bHkgd2l0aCB0aGUgbGF6eSBpbml0LgoJICBJdCB3YXMgaGFwcGVuaW5nIHdoZW4gY2FsbGluZyBnc3RfdmlkZW9fZ2xfdGV4dHVyZV91cGxvYWRfbWV0YV91cGxvYWQKCSAgZnJvbSBhbiBhcGxpY2F0aW9uLiBTbyBub3QgdXNpbmcgZ3N0X2dsX3VwbG9hZF9wZXJmb3JtX3dpdGhfYnVmZmVyLgoKMjAxNC0wNS0xMSAxMjo0ODo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiB1cGRhdGUgdGhlIHZpZGVvIGluZm8gb24gbWFwcGluZyBhIHZpZGVvIGZyYW1lCgkgIFRoZSBidWZmZXIgc2hvdWxkIGNvbnRhaW4gdGhlIG1vc3Qgc3BlY2lmaWMgZGF0YSBvbiBob3cgdGhlIGRhdGEgaXMKCSAgZm9ybWF0dGVkLiAgV2Ugc2hvdWxkIHVzZSB0aGlzIGluZm9ybWF0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5ODk2CgoyMDE0LTA1LTEyIDIxOjU2OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb252ZXJ0OiBjbG9iYmVyIGFscGhhIGNoYW5uZWwgd2hlbiBuZWVkZWQKCSAgTmVlZGVkIGluIHRoZSBjb252ZXJzaW9uIGZyb20gcGFkZGVkIFJHQiBmb3JtYXRzIHRvIGZvcm1hdHMgd2l0aCBhbgoJICBhbHBoYSBjaGFubmVsLiAgZS5nLiBCR1J4IC0+IEFCR1IsIGV0YwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzQyCgoyMDE0LTA1LTEyIDIxOjUxOjM4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGF2b2lkIHBlcmZvcm1pbmcgY29sb3IgY29udmVyc2lvbiB3aGVuIHRoZXJlIGlzIG5vIG5lZWQKCSAgT25lIHN1Y2ggZXhhbXBsZSBpcyB3aGVuIHRoZSBidWZmZXIgY29udGFpbnMgR3N0R0xNZW1vcnkgaW4gdGhlCgkgIFJHQkEgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyNzgKCjIwMTQtMDUtMTIgMTA6MDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IGZyZWUgc3RyaW5nIHdlJ3JlIHN0aWxsIHVzaW5nCgkgIENJRCAxMjEzNzgwCgoyMDE0LTA1LTExIDE1OjI2OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZW1vdmUgdW51c2VkIHN0cmVhbSB1cmlkb3dubG9hZGVyCgkgIFRoZSB1cmlkb3dubG9hZGVyIGZvciB0aGUgc3RyZWFtIGZyYWdtZW50cyBpc24ndCB1c2VkIGFueW1vcmUuCgoyMDE0LTA1LTExIDA3OjU2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBEbyBub3QgdHJ5IHRvIGFkZCBhIGZlYXR1cmUgdG8gYSBjYXBzIGZlYXR1cmVzIEFOWQoJICBJdCBkb2VzIG5vdCBtYWtlcyBzZW5zZSBhbmQgYXNzZXJ0cwoJICBCYXNlZCBvbiA3ZjlhYWMzODZmZDVkNTkyMWM4MDEwMDg4OWE1ZjIxMmMwMTQ4YTg4IGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMTQtMDUtMTEgMDc6NTU6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvIG5vdCB0cnkgdG8gYWRkIGEgZmVhdHVyZSB0byBhIGNhcHMgZmVhdHVyZXMgQU5ZCgkgIEl0IGRvZXMgbm90IG1ha2VzIHNlbnNlIGFuZCBhc3NlcnRzLgoJICBCYXNlZCBvbiA3ZjlhYWMzODZmZDVkNTkyMWM4MDEwMDg4OWE1ZjIxMmMwMTQ4YTg4IGZyb20gZ3N0LXBsdWdpbnMtYmFzZS4KCjIwMTQtMDUtMTEgMTQ6MDI6MzQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogY2hvb3NlIHRoZSByaWdodCBhbHBoYSBjb21wb25lbnQgZm9yIEFZVVYgLT4gUkdCQQoKMjAxNC0wNS0xMSAxMDoyNzowMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiB1cGRhdGUgdGhlIHJlc3BlY3RpdmUgc3RhdGUgd2hlbiB3ZSBjYWNoZSB0ZXh0dXJlcy9kYXRhCgoyMDE0LTA1LTAxIDAyOjEwOjIwIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBkcm9wIEMrKyBzdHlsZSBjb21tZW50cwoJICBUaGlzIHBhdGNoIGJ1aWxkcyBvbiBwcmV2aW91cyB3b3JrIGRvbmUgYnkKCSAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMjA0CgoyMDE0LTA1LTAxIDAxOjU4OjAzIC0wNDAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggdXAgZXJyb3IgcmVwb3J0aW5nCgkgIFRoaXMgcGF0Y2ggYnVpbGRzIG9uIHByZXZpb3VzIHdvcmsgZG9uZSBieQoJICBGYWJyaXppbyAoTWlzdG8pIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDEyMDQKCjIwMTQtMDUtMTAgMjM6MzM6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogY2FjaGUgdGhlIHRleHR1cmVzIHRoYXQgd2UgYXJlIHVzaW5nCgoyMDE0LTA1LTEwIDIyOjQ4OjA1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGF2b2lkIHJlY3JlYXRpbmcgdGhlIEdMTWVtb3J5IHN0cnVjdCBmb3Igb3V0cHV0IHRleHR1cmVzCgoyMDE0LTA0LTExIDE5OjM4OjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBlcnJvciBvdXQgaWYgd2UgZ2V0IEVPUyBpbW1lZGlhdGVseSB3aXRob3V0IGFueSBkYXRhCgkgIEl0J3Mgbm90IHJlYWxseSByaWdodCB0byBqdXN0IGdvIEVPUyBhcyBpZiBub3RoaW5nIHdhcyB3cm9uZy4KCjIwMTQtMDUtMTAgMTI6NTQ6NTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZW1vdmUgY29uZnVzaW5nIGRlYnVnIGxvZyBsaW5lCgoyMDE0LTA1LTA3IDIwOjA4OjA4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogZmFjdG9yaWVzIGRvbid0IG5lZWQgdGhlIGxvY2sKCSAgQW4gYXRvbWljIGlzIGVub3VnaCwgdGhleSBjYW4gb25seSBiZSBzZXQgb25jZS4KCjIwMTQtMDUtMDkgMjA6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgUmV2ZXJ0ICJhdXRvY29udmVydDogSGFuZGxlIGNhcHMgcXVlcnkgb24gaW50ZXJuYWwgc3JjcGFkIgoJICBUaGlzIGlzIG5vdCBuZWVkZWQgYW55bW9yZSBpZiB0aGUgZ3N0X3BhZF9saW5rIGNoZWNrcyBub3RoaW5nLgoJICBUaGlzIHJldmVydHMgY29tbWl0IGEzMDMzNzVhM2Y1YzEyZTk3Y2E4YmY1MGI1YTkzY2U4NjUyZmFmMjMuCgoyMDE0LTA1LTA5IDIwOjEyOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBObyBuZWVkIHRvIGNoZWNrIGFueXRoaW5nIHdoZW4gbGlua2luZyBpbnRlcm5hbCBwYWRzCgoyMDE0LTA1LTA5IDIwOjA1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBpZ25vcmUgZWxlbWVudHMgYWNjZXB0ZWQgQU5ZLCBpdCBpcyB2YWxpZAoKMjAxNC0wNS0wOSAxODo0OToxNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIGJyb2tlbiB1c2FnZSBvZiB0aGUgaXRlcmF0b3IKCSAgV2UncmUgYSBzdWJjbGFzcywgc28gd2UgY2FuIGp1c3QgdGFrZSB0aGUgb2JqZWN0IGxvY2sgYW5kIGl0ZXJhdGUgdGhlIGxpc3QKCSAgZGlyZWN0bHkuCgoyMDE0LTA1LTA4IDE5OjM1OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBQcm9jZXNzIHVwc3RyZWFtIGdldGNhcHMKCSAgUHJvY2VzcyBpdCBsaWtlIGRvd25zdHJlYW0gZ2V0Y2FwcwoKMjAxNC0wNS0wNyAyMDowMDowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmV0dXJuIHRoZSBHTGlzdCBvZiBmYWN0b3JpZXMsIHRvIGEgcG9pbnRlciB0byBpdC4KCjIwMTQtMDUtMDcgMTk6NTQ6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBzdWJlbGVtZW50IGNhbiBvbmx5IGJlIGNoYW5nZSB3aXRoIHN0cmVhbSBsb2NrIGhlbGQKCSAgSXQgd2FzIGFscmVhZHkgdGhlIGNhc2UsIG5vdyBiZSBtb3JlIGV4cGxpY2l0IGFib3V0IHRoYXQsIGFuZCByZW1vdmUgdXNlbGVzcwoJICBsb2NrL3JlZi91bmxvY2svdW5yZWYgZGFuY2VzLgoKMjAxNC0wNS0wNyAxOTo0ODo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogS2VlcCBhIHJlZiB0byB0aGUgcGFkcyB0b28KCSAgU2ltcGxpZmllcyB0aGUgY29kZQoKMjAxNC0wNS0wNyAxOTo0NzowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogUmVtb3ZlIHVuZWVkZWQgaWYoKQoJICBOVUxMIGlzIHZhbGlkIEdMaXN0CgoyMDE0LTA1LTA3IDE5OjQ0OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBbHdheXMgcHVzaCByZWNvbmZpZ3VyZSB1cHN0cmVhbSB0b28KCSAgQSByZWNvbmZpZ3VyZSBjb3VsZCB0cmlnZ2VyIGEgY2hhbmdlIG9mIGNvbnRlbnRzIGluc3RlYWQgb2YganVzdCByZWNvbmZpZ3VyaW5nIHRoZSBpbnRlcm5hbCBlbGVtZW50CgoyMDE0LTA1LTA3IDE5OjQzOjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBSZW1vdmUgdW51c2VkIGludGVybmFsIHBhcmFtZXRlcgoKMjAxNC0wNS0wOSAxODo1OTo0NiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogRml4IHNvbWUgb2YgdGhlIGVycm9yIGhhbmRsaW5nCgoyMDE0LTA1LTA5IDE3OjU5OjQzIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2x1cGxvYWQ6IFVwZGF0ZSBHc3RWaWRlb0luZm8gYWZ0ZXIgdGhlIGJ1ZmZlciBpcyBtYXBwZWQKCSAgZ3N0X3ZpZGVvX2ZyYW1lX21hcCgpIHdpbGwgc3RvcmUgYW4gdXBkYXRlZCB2aWRlbyBpbmZvIGJhc2UKCSAgb24gdGhlIHZpZGVvIG1ldGEuIEluIG9yZGVyIHRvIGhhdmUgdGhlIHJpZ2h0IHN0cmlkZSBhbmQgb2Zmc2V0CgkgIHdlIHNob3VsZCB1cGRhdGUgdGhhdCB2aWRlbyBpbmZvIGFjY29yZGluZ2x5LgoKMjAxNC0wNS0wOSAxNTo0MjowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBnbDogRml4IG1lbW9yeSBsZWFrCgkgIENJRCAjMTIxMjE3MQoKMjAxNC0wNS0wOSAxNToyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IFJlbW92ZSBpbnZhbGlkIGZyZWUKCSAgZGF0YSBkb2VzIG5vdCBoYXZlIHRvIGJlIGZyZWVkIGF0IGFsbCBoZXJlLCBpdCdzIGEgcG9pbnRlciB0bwoJICBhbiBhcmJpdHJhcnkgcG9zaXRpb24gaW5zaWRlIHRoZSBjdXJyZW50IGxpbmUuIEFsc28gZG9uJ3QgcmV1c2UKCSAgdGhlIGRhdGEgdmFyaWFibGUgZm9yIGFueXRoaW5nIGVsc2UsIHRoYXQgd2lsbCBjYXVzZSBjcmFzaGVzCgkgIGluIHBsYXlsaXN0cyB0aGF0IGhhdmUgdGhlIEktZnJhbWUgcGxheWxpc3QgVVJJIGZvbGxvd2VkIGJ5CgkgIG90aGVyIGF0dHJpYnV0ZXMuCgkgIENJRCAxMjEyMTI3CgoyMDE0LTA1LTA5IDE0OjMxOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBGaXggbGVhawoJICBUaGUgY2VsbCBleHRlbnNpb24gd2FzIG5ldmVyIGFkZGVkIHRvIHRoZSBwYXJlbnQgY2VsbAoJICBDSUQgIzEyMTIxNjIKCjIwMTQtMDUtMDkgMjI6MjI6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yY29udmVydDogcHJlc2VydmUgYWxwaGEgaW4gQVlVViA8LT4gUkdCQSBjb252ZXJzaW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NzQzCgoyMDE0LTA1LTA5IDE4OjA3OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yY29udmVydDogaW1wbGVtZW50IGxhenkgaW5pdAoKMjAxNC0wNS0wOCAxNTozODoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiBzZXQgaW5pdHRlZCB0byBUUlVFIHdoZW4gX2luaXRfdXBsb2FkIHN1Y2NlZWRlZAoKMjAxNC0wNS0wOCAyMjo0OTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2xkaXNwbGF5OiBVc2UgR1NUX1NUUl9OVUxMKCkgZm9yIHByaW50aW5nIHBvc3NpYmx5IE5VTEwgc3RyaW5ncyBhbmQgcHJpbnQgYWxsIHZhcmlhYmxlcyB3ZSB1c2UKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBhYm91dCBzZXQgYnV0IG5vdCB1c2VkIHBsYXRmb3JtX2Nob2ljZSB2YXJpYWJsZQoJICBhbW9uZyBvdGhlciB0aGluZ3MuCgoyMDE0LTA1LTA4IDE2OjA4OjA4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgZ2xlZmZlY3RzOiB1c2UgZ2xfdnRhYmxlCgoyMDE0LTA1LTA4IDE3OjI4OjExICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGZpeCBjb21waWxhdGlvbiBvbiBPUyBYCgoyMDE0LTA1LTA4IDE1OjQwOjMzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGZhaWwgcHJvcG9lcmx5IGlmIGluaXQgZmFpbHMKCjIwMTQtMDUtMDggMTU6MzA6NDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBnbDogbWFrZSBhbGwgR09iamVjdHMgaW5oZXJpdCBmcm9tIEdzdE9iamVjdAoJICBBaWRzIG1lbW9yeSBsZWFrIGRlYnVnZ2luZyB3aXRoIEdTVF9UUkFDRT1tZW0tbGl2ZQoKMjAxNC0wNS0wOCAxMzo0NjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC91cGxvYWQ6IGltcGxlbWVudCBsYXp5IGluaXQKCSAgUmVuYW1lIGluaXRfZm9ybWF0IHRvIHNldF9mb3JtYXQKCjIwMTQtMDUtMDggMDA6NTk6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbC91cGxvYWQ6IGFkZCBnZXRfZm9ybWF0IG1ldGhvZAoJICBTaW1wbHkgcmV0cmVpdmVzIHRoZSBmb3JtYXQgc2V0IGJ5IGluaXRfZm9ybWF0CgoyMDE0LTA1LTA4IDAwOjQ4OjA3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBnbC9maWx0ZXI6IGF0dGVtcHQgdG8gcGFzc3Rocm91Z2ggdGhlIHBvb2wgaWYgdGhlIGNhcHMgYXJlIHRoZSBzYW1lCgkgIFJlZHVjZXMgdGhlIG51bWJlciBvZiBnbGJ1ZmZlcnBvb2wgaW5zdGFuY2VzIHJlcXVpcmVkIGZvciA+PTIKCSAgY29uc2VjdXRpdmUgR0wgZWxlbWVudHMgaW4gYSBwaXBlbGluZS4KCjIwMTQtMDUtMDggMDA6NDM6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsL2ZpbHRlcjogYWx3YXlzIGluaXRpYWxpemUgdGhlIHVwbG9hZCBvYmplY3QKCjIwMTQtMDUtMDcgMjE6NDU6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbDogYWR2ZXJ0aXNlIEdzdEdMTWVtb3J5IHVzYWdlIGluIHRoZSBjYXBzIGFzIGNhcHNmZWF0dXJlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjU4CgoyMDE0LTA1LTA3IDIwOjEyOjIzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIGdsL2V4YW1wbGVzOiBmaXggY29tcGlsYXRpb24gZm9yIGNsdXR0ZXIgZXhhbXBsZXMKCSAgQ2x1dHRlclgxMVRleHR1cmVQaXhtYXAgaXMgZGVwcmVjYXRlZCBpbiBDbHV0dGVyIDEuNiBhbmQgd2UgYXNrIGZvcgoJICBhdCBsZWFzdCAxLjgKCjIwMTQtMDUtMDcgMTk6MDU6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBnbC9kaXNwbGF5OiBhdm9pZCBlbmRsZXNzIHJlY3Vyc2lvbiBmb3IgY29jb2EKCjIwMTQtMDUtMDYgMDg6NTI6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZGVwcmVjYXRlIG1heC1idWZmZXJpbmctdGltZSBwcm9wZXJ0eQoJICBJdCBpcyBub3QgdXNlZCBhcyBkYXNoZGVtdXggZG9lc24ndCBoYXZlIGEgaW50ZXJuYWwgYnVmZmVyCgkgIGZvciBmcmFnbWVudHMgYW55bW9yZQoKMjAxNC0wNS0wNiAwMTo1NjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmluZyBvbGQgdW51c2VkIGNvZGUKCSAgVGhlICdjYXRjaCB1cCBtb2RlJyBpc24ndCBuZWVkZWQgYW55bW9yZSBzaW5jZSBkYXNoZGVtdXgKCSAgaXMgZG93bmxvYWRpbmcgYW5kIHB1c2hpbmcgZnJvbSB0aGUgc2FtZSB0aHJlYWQKCjIwMTQtMDUtMDUgMTA6MTM6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtZW1iZXIgdG8gc2V0IHN0YXJ0aW5nIGZyYWdtZW50IHRvIG5ldyBmcmFnbWVudHMKCjIwMTQtMDUtMDIgMTg6MzQ6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaGFuZGxlIGEgZmV3IG1vcmUgZXJyb3IgY2FzZXMKCSAgcmVsYXRlZCB0byBtaXNzaW5nIHBsdWdpbnMsIGJhZCBVUkkgYW5kIGEgbG9ja3VwIG9uIGRlYWxpbmcgd2l0aAoJICBlcnJvcnMgZnJvbSB0aGUgc291cmNlLgoKMjAxNC0wNS0wMiAxODozMjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBPbmx5IHNldCB0aW1lc3RhbXAgdG8gdGhlIGZpcnN0IGJ1ZmZlciBvZiBmcmFnbWVudHMKCSAgU2V0dGluZyBpdCB0byB0aGUgb3RoZXIgcGFydHMgb2YgdGhlIGZyYWdtZW50IGlzIHNsaWdodGx5IHdyb25nCgkgIGFuZCBtaXNsZWFkaW5nIGFzIGl0IGlzbid0IGFjY3VyYXRlIGVub3VnaC4KCjIwMTQtMDUtMDIgMTg6MzA6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IGhhbmRsZSBlcnJvciBtZXNzYWdlcyBmcm9tIHRoZSBzb3VyY2VzCgkgIFNldCB1cCBhIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gdG8gYmUgYWJsZSB0byBjYXRjaCBlcnJvcnMKCSAgZnJvbSB0aGUgc291cmNlIGVsZW1lbnQgYW5kIHNpZ25hbCB0aGUgY29uZCB0byBhbGxvdyB0aGUgZG93bmxvYWQKCSAgbG9vcCB0byByZXRyeSB0aGUgZG93bmxvYWQuCgoyMDE0LTA1LTAxIDIxOjA0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGNoZWNrIGZvciBlcnJvcnMgYmV0d2VlbiBkb3dubG9hZHMKCSAgVG8gYWJvcnQgZWFybGllciBpbiBjYXNlIG9mIGZhaWx1cmVzCgoyMDE0LTA1LTAxIDIxOjAwOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEFsd2F5cyBhY2NlcHQgdGhlIGxhdGVuY3kgY29uZmlndXJlIGV2ZW50CgkgIFVwc3RyZWFtIG9yIGludGVybmFsIGVsZW1lbnRzIGFyZSBpcnJlbGV2YW50IGFuZCB3ZSBzaG91bGQKCSAgYWx3YXlzIHN1Y2NlZWQuCgoyMDE0LTA1LTAxIDEyOjA0OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSAgZGFzaGRlbXV4OiBtZWFzdXJlIGRvd25sb2FkIHJhdGUganVzdCBsaWtlIGhsc2RlbXV4CgkgIG5ldyBiaXRyYXRlID0gKG9sZCBiaXRyYXRlICsgKGxhc3QgZnJhZ21lbnQgYml0cmF0ZSAqIDMpKSAvIDQKCjIwMTQtMDQtMjUgMDg6NTA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1cmlkb3dubG9hZGVyIGZyb20gZnJhZ21lbnRzIGRvd25sb2FkCgkgIEluc3RlYWQsIHVzZSBhIHNvdXJjZSBlbGVtZW50IGxpbmtlZCB0byBhIGdob3N0cGFkIHRvIHByb3ZpZGUKCSAgc21hbGxlciBidWZmZXJzIGFuZCBtb3JlIGdyYW51bGFyIGNvbnRyb2wgZm9yIGRvd25zdHJlYW0KCSAgYnVmZmVyaW5nIGVsZW1lbnRzIHdoaWxlIGFsc28gcmVkdWNpbmcgc3RhcnR1cCBsYXRlbmN5CgoyMDE0LTA1LTA3IDA5OjExOjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbC9zaW5rOiBtYWtlIHN1cmUgd2UgYWx3YXlzIGluaXRpYWxpemUgdGhlIHVwbG9hZCBvYmplY3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU0MgoKMjAxNC0wNS0wNiAxOToyNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaW50ZXJuYWwgc291cmNlIGV2ZW50IGxlYWtzCgoyMDE0LTA1LTA2IDExOjU5OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBnbDogZG8gbm90IGFsbG9jYXRlIHRoZSB0YXJnZXQgdGV4dHVyZSBvZiBhbiBFR0xJbWFnZQoJICBUaGUgdGFyZ2V0IHRleHR1cmUgb2YgYW4gRUdMSW1hZ2UgaXMgdGhlIHRleHR1cmUgYmluZCBqdXN0CgkgIGJlZm9yZSBjYWxsaW5nIGdsRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkQuCgkgIEFzIHdlIGN1cnJlbnRseSBvbmx5IHN1cHBvcnQgYSBnbCB0ZXh0dXJlIGFzIHRoZSBzb3VyY2Ugb2YgYW4gRUdMSW1hZ2UKCSAgdGhlIGdsIHRleHR1cmUgaXMgYWN0dWFsbHkgYWxyZWFkeSBhbGxvY2F0ZWQgd2hlbiBjcmVhdGluZyB0aGUgZWdsaW1hZ2UuCgkgIEkgYWxzbyBzZWUgc29tZSBjYXNlcyB3aGVyZSBpdCBmYWlscyB0byB1cGxvYWQgYW4gZWdsaW1hZ2Ugd2hlbgoJICBnbFRleEltYWdlMkQgaXMgY2FsbGVkIG9uIHRoZSB0YXJnZXQuCgoyMDE0LTA1LTA2IDExOjUxOjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBhbGxvdyB0byBhdm9pZCBjYWxsaW5nIGdsVGV4SW1hZ2UyRCh3LCBoLCBOVUxMKSB3aGVuIGdlbmVyYXRpbmcgYSB0ZXh0dXJlCgkgIEp1c3QgcGFzcyAwIGFzIHdpZHRoIG9yIGhlaWdodCB0byBnc3RfZ2xfY29udGV4dF9nZW5fdGV4dHVyZS4KCjIwMTQtMDUtMDYgMTE6Mjc6NDcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJICBnbDogbm8gbmVlZCB0byBpbml0aWFsaXplIGEgZnJhbWUgYnVmZmVyIG9iamVjdCB0byB1cGxvYWQgYW4gZWdsaW1hZ2UKCSAgRml4IGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk1ODgKCjIwMTQtMDUtMDYgMTE6MjE6NTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RlZ2xpbWFnZW1lbW9yeS5jOgoJICBnbDogdXNlIEdTVF9DQVRfRVJST1IgaW5zdGVhZCBvZiBHU1RfRVJST1JfT0JKRUNUCgkgIEl0IGZpeGVzIHNlZ2F1bHQgd2hlbiBHU1RfREVCVUcgaXMgYXQgbGVhc3QgbGV2ZWwgMSBhbmQgZWdsQ3JlYXRlSW1hZ2UgZmFpbHMKCjIwMTQtMDUtMDYgMTA6MTQ6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBkZWxldGUgdGV4dHVyZSB1c2VkIHdpdGggR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhCgoyMDE0LTA1LTA2IDE0OjIzOjM0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogdXNlIGdzdF9nbF9jb250ZXh0X2dlbl9zaGFkZXIgaGVscGVyIGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZQoKMjAxNC0wNS0wNiAwOTo1NTowNSAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogcmVtb3ZlIGVtcHR5IGxpbmUKCSAgUmVtb3ZlIHRyYWlsaW5nIGVtcHR5IGxpbmUgZnJvbSBjb21taXQgYmZkYzU0Mzk1MjM4YzA0ZmM2ZTViNTE4ODBjMmQ3MDZmMzNlOTAxMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDEzLTExLTIwIDEyOjE2OjE3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogUmVtb3ZlIHVudXNlZCBkYXRhIGluIFRzTXV4U2VjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxNjg1CgoyMDE0LTA1LTA2IDIxOjE3OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogcmVlbmFibGUgY2FtZXJhYmluIGVsZW1lbnQgdGVzdAoKMjAxNC0wNS0wNiAxNjozOTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZ2wvZGlzcGxheTogY2xlYW4gdXAgcHJlIGdzdGdsY29udGV4dCBhcGkgYW5kIHN0cnVjdCBmaWVsZHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyOTU1MQoKMjAxNC0wNS0wNiAxNzoyNzoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2wvZGlzcGxheTogYWRkIGdldF9oYW5kbGVfdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE3OjA4OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogYXZvaWQgb3BlbmluZyB0aGUgWDExIGRpc3BsYXkgb24gc3lzdGVtcyB3aXRoIENvY29hIChPUyBYKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDE2OjM5OjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbC93aW5kb3c6IGZpeCBzdHJpbmcgbGVuZ3RoIGNoZWNrIGZvciBlYWdsCgoyMDE0LTA1LTA2IDE2OjMxOjI4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgZ2wvZGlzcGxheTogY2hlY2sgdGhlIGNvcnJlY3QgZW52IHZhcmlhYmxlIGZvciBjaG9vc2luZyBhbiBlZ2wgZGlzcGxheQoJICBHU1RfR0xfV0lORE9XIGlzIHVzZWQgZm9yIHdpbmRvdyBzeXN0ZW0gc3BlY2lmaWMgY2hvaWNlcy4KCSAgQW4gRUdMRGlzcGxheSBjYW4gYmUgY3JlYXRlZCBmcm9tIHdpbmRvdyBzeXN0ZW1zIHdpdGggZWdsIHN1cHBvcnQgYnkgdXNpbmcKCSAgZWdsR2V0RGlzcGxheSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NTUxCgoyMDE0LTA1LTA2IDEyOjU2OjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbC9jb2NvYTogVXNlIE9CSkNGTEFHUyB3aGVyZSBuZWVkZWQKCSAgU2hvdWxkIGZpeCB1c2FnZSBvZiBjLWNvbXBpbGVyLW9ubHkgZmxhZ3Mgd2l0aCBhbiBvYmplY3RpdmUtYyBjb21waWxlcgoKMjAxNC0wNS0wNiAwOTo0ODo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubWVuYzogZml4IGZsb3cgcmV0dXJuIGFuZCBidWZmZXIgbGVhayBpbiBub3QtbmVnb3RpYXRlZCBjYXNlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjk2MTQKCjIwMTQtMDUtMDYgMDk6NDA6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJICB0ZXN0czogYWRkIG5ldyB2cDhwYXJzZXItdGVzdCBiaW5hcnkgdG8gLmdpdGlnbm9yZQoKMjAxNC0wNS0wNSAxNzoyMDo0NSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgcmVzZXQgc3RyZWFtIGlmIHRoZSBrZXkgaGFzbid0IGNoYW5nZWQKCjIwMTQtMDUtMDUgMTc6MDA6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuaDoKCSAgc3J0cGRlYzogQWRkICJyZW1vdmUta2V5IiBhY3Rpb24gc2lnbmFsIHRvIHJlbW92ZSBhIHNpbmdsZSBrZXkKCSAgUmVtb3ZpbmcgYWxsIHRoZSBrZXlzIGNhbiBiZSBhIHByb2JsZW0gYXMgaXQgYWxzbyByZXNldHMgdGhlIHZhcmlvdXMKCSAgY291bnRlcnMsIHNvIGluc3RlYWQgYWRkIGFuIG9wdGlvbiB0byByZW1vdmUgYSBzaW5nbGUga2V5LgoKMjAxNC0wNS0wNSAyMjoyNTowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cGVuYzogVXNlICV1IGluIHRlbXBsYXRlcyB0byBtYXRjaCBydHBiaW4KCjIwMTQtMDUtMDYgMDA6MTE6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFJlbW92ZSB1bnVzZWQgZmllbGQKCjIwMTQtMDUtMDYgMDk6MjM6MTMgKzA1MzAgIFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgRml4IGZvciBub3QgY2hlY2tpbmcgemVybyB3aWR0aCBhbmQgaGVpZ2h0CgkgIFNpZ25lZC1vZmYtYnk6IFNhbmpheSBOTSA8c2FuamF5Lm5tQHNhbXN1bmcuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5NjE0CgoyMDE0LTA1LTA1IDExOjEzOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgc2V0IHRoZSBzZWdtZW50IHBvc2l0aW9uIGlmIHRoZXJlIGlzIGEgdGltZXN0YW1wCgkgIE9ubHkgdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50IGhhcyBpdHMgdGltZXN0YW1wIHNldCwgc28gb25seQoJICB1cGRhdGUgdGhlIHNlZ21lbnQucG9zaXRpb24gd2hlbiBwdXNoaW5nIHRob3NlIGJ1ZmZlcnMgdG8gYXZvaWQKCSAgaGF2aW5nIEdTVF9DTE9DS19USU1FX05PTkUgc2V0IHRvIHRoZSBwb3NpdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI5MzY0CgoyMDE0LTA1LTA1IDEyOjMwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSB0aGUgc2FtZSBpbmNsdWRlcyBmb3IgR0wgdGhhdCB3ZSB3b3VsZCB1c2UgbGF0ZXIgaW4gdGhlIGNvZGUgZm9yIGNoZWNraW5nIGlmIEdMRVMyIGFuZCBPcGVuR0wgaGVhZGVycyBjYW4gYm90aCBiZSBpbmNsdWRlZAoKMjAxNC0wNS0wNSAyMDowNjoyOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBjaGVjayBpZiB3ZSBjYW4gaW5jbHVkZSBib3RoIEdMIGFuZCBHTEVTMiBoZWFkZXJzIGF0IHRoZSBzYW1lIHRpbWUKCSAgSWYgd2UgY2Fubm90LCB0aGVuIGRlZmF1bHQgdG8gR0wgb3ZlciBHTEVTMiB1bmxlc3MgR0xFUzIgaXMgcmVxdWlyZWQuCgoyMDE0LTA1LTA1IDA5OjQ2OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IENhY2hlLUNvbnRyb2wgaGVhZGVyIGFjY29yZGluZyB0byB0aGUgY2FjaGluZyByZXF1aXJlbWVudHMgb2YgdGhlIHBsYXlsaXN0CgoyMDE0LTA1LTA1IDA5OjM4OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogVXBkYXRlIGZvciB1cmkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoKMjAxNC0wNS0wNSAwOTozNzo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IFVwZGF0ZSBmb3IgdXJpIGRvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDUtMDUgMDk6MzY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHBhcmFtZXRlciB0byBkaXNhbGxvdyBjYWNoaW5nIGFzIHJlcXVpcmVkIGJ5IEhMUwoKMjAxNC0wNS0wNSAwOTozNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzOiBTdG9yZSBhbGxvd2NhY2hlIHBsYXlsaXN0IGZpZWxkIGluIGEgYm9vbGVhbgoKMjAxNC0wNS0wNCAyMjoyMjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgdGhlIHNhbWUgI2luY2x1ZGVzIGZvciBjaGVja2luZyBHTCB0eXBlcyBhcyBsYXRlciBpbiB0aGUgY29kZQoKMjAxNC0wNS0wMyAyMTozODo0MiAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIGdsL2NsdXR0ZXI6IHNhZmVyIGNoZWNrIGZvciBjb2dsIHZlcnNpb24KCSAgVXNlIENPR0xfVkVSU0lPTl9FTkNPREUgdG8gY2hlY2sgZm9yIHRoZSBtaW5pbXVtIHJlcXVpcmVkIGFuZCBtYXhpbXVtIGFsbG93ZWQKCSAgY29nbCB2ZXJzaW9uLiBJbiBjZXJ0YWluIHNpdHVhdGlvbnMganVzdCB1c2luZyB0aGUgQ09HTF9WRVJTSU9OXyogbWFjcm8gbmFtZSBjYW4KCSAgZ2l2ZSB5b3UgdGhlIGZvbGxvd2luZyBlcnJvcjoKCSAgZXJyb3IgIkNPR0xfVkVSU0lPTl9NQVhfQUxMT1dFRCBtdXN0IGJlID49IENPR0xfVkVSU0lPTl9NSU5fUkVRVUlSRUQiCgoyMDE0LTA1LTAzIDIxOjA1OjE5IC0wNDAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJICBnbC9leGFtcGxlcy9nZW5lcmljOiByZW1vdmUgdHJhaWxpbmcgd2hpdGVzcGFjZXMKCjIwMTQtMDUtMDMgMjA6NDg6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMy4xID09PQoKMjAxNC0wNS0wMyAxODoxNjoyMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWNjdXJpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSogd2luMzIvY29tbW9uL2xpYmdzdGNvZGVjcGFyc2Vycy5kZWY6CgkgIFJlbGVhc2UgMS4zLjEKCjIwMTQtMDUtMDMgMTg6MTY6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxNC0wNS0wMyAxOTo0NTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBGaXggQ0ZMQUdTIGluIGNsdXR0ZXIgR0wgZXhhbXBsZXMKCjIwMTQtMDUtMDMgMTk6NDI6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEFkZCBhbGwgZ2wgc3ViZGlycyB0byBESVNUX1NVQkRJUlMgdG8gZml4IHRoZSBidWlsZAoKMjAxNC0wNS0wMyAxNzoyNDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxNC0wNS0wMyAxMzoxMjo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9maW1jL2ZpbWMuaDoKCSogc3lzL21mYy9nc3RtZmMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogUmVtb3ZlIG1mYyBwbHVnaW4sIGl0IGlzIG9ic29sZXRlZCBieSB0aGUgdjRsMnZpZGVvZGVjIGVsZW1lbnQgZnJvbSBnc3QtcGx1Z2lucy1nb29kCgoyMDE0LTA1LTAzIDEyOjAyOjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogVXNlIGNvbXBsZXRlIGNhcHMgZm9yIHNldHRpbmcgdXAgdGhlIHN0cmVhbXMgaW4gdGhlIHRlc3QKCjIwMTQtMDUtMDMgMTA6MTU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJjYjE1MTggdG8gMjExZmE1ZgoKMjAxNC0wMy0xOSAwOToyMjowOCArMDEwMCAgUGVyIHggSm9oYW5zc29uIDxwZXJ4am9oQGF4aXMuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IEFkZCBoYW5kbGluZyBvZiBQQVVTRUQgc3RhdGUKCSAgQWxzbyBhbGxvdyBkaXNhYmxpbmcgdGhlIHRpbWVvdXQgYnkgc2V0dGluZyBpdCB0byAwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MTU2CgoyMDE0LTA1LTAyIDE3OjI3OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IEFkZCBjb25maWcgZm9yIHRoZSByZXBsYXkgd2luZG93IHNpemUKCjIwMTQtMDUtMDIgMTc6MjQ6NDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IFJlbW92ZSB1bnVzZWQgb2JqZWN0IG1lbWJlcnMKCjIwMTQtMDUtMDIgMTc6MTk6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSB1c2VsZXNzIHN0cnVjdHVyZQoJICBSZW1vdmUgbm93IHVzZWxlc3Mgc3RydWN0dXJlCgoyMDE0LTA1LTAyIDE3OjE0OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiBSZW1vdmUgc3NyYyBwYXJzaW5nIGZyb20gc3RyZWFtCgkgIEl0J3Mgbm8gbG9uZ2VyIHVzZWQKCjIwMTQtMDUtMDIgMTc6MTM6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFJlbW92ZSBTU1JDIGZyb20gc2lnbmFsLCBpdCdzIG1lYW5pbmdsZXNzCgoyMDE0LTA1LTAyIDE3OjA3OjIxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmg6CgkgIHNydHBlbmM6IFNldCB0aGUgU1JUUCBrZXkgYXMgYSBzaGFyZWQga2V5IGZvciBhbGwgU1NSQ3MKCSAgVGhpcyBpcyBhbHJlYWR5IGhvdyBpdCB3YXMgdXNlZC4KCjIwMTQtMDUtMDIgMTQ6MjA6NTggKzAyMDAgIEJsYWtlIFRyZWdyZSA8Ymxha2UudHJlZ3JlQGdtYWlsLmNvbT4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIHJmYnNyYzogU2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgaW4gdGhlIGJlZ2lubmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODAyCgoyMDE0LTA1LTAyIDEwOjQ0OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgbWFrZSBzdXJlIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgcGxheWxpc3QuCgoyMDE0LTA1LTAyIDEwOjQzOjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgaW5jbHVkZSB0aGUgbWFuaWZlc3QgZmlsZSBhcyByZWZlcmVyIGluIHJlcXVlc3RzLCBhbmQgbWFrZSBzdXJlCgkgIHRvIHNldCByZWZyZXNoPVRSVUUgd2hlbiB1cGRhdGluZyB0aGUgbWFuaWZlc3QuCgoyMDE0LTA1LTAyIDEwOjM5OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogVXBkYXRlIGZvciBVUkkgZG93bmxvYWRlciBBUEkgY2hhbmdlcwoJICBBbmQgaW5jbHVkZSB0aGUgTVBEIGZpbGUgYXMgcmVmZXJlciBpbiByZXF1ZXN0cywgYW5kIG1ha2Ugc3VyZQoJICB0byBzZXQgcmVmcmVzaD1UUlVFIHdoZW4gdXBkYXRpbmcgdGhlIE1QRC4KCjIwMTQtMDUtMDIgMTA6MzY6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIHJlZnJlc2ggcGFyYW1ldGVyIHRvIGhpbnQgY2FjaGVzIHRoYXQgdGhleSBzaG91bGQgY2hlY2sgaWYgdGhleSdyZSB1cCB0byBkYXRlCgoyMDE0LTA1LTAyIDE1OjU2OjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IHVzZSB0aGUgYnVmZmVycG9vbCdzIHVwbG9hZCB3aGVuIGF2YWlsYWJsZQoJICBBdm9pZHMgZHVwbGljYXRpbmcgR0wgcmVzb3VyY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg4NzIKCjIwMTQtMDUtMDIgMDU6NTc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsOiBzaG93IGludGVybmFsIGNvY29hIHdpbmRvdyBvbiB0b3Agb2Ygb3RoZXJzCgkgIFVzZWZ1bCB3aGVuIHlvdXIgT1NYIHRlcm1pbmFsIGlzIGZ1bGxzY3JlZW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODEyNwoKMjAxNC0wNS0wMiAwNTo1MTozNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2w6IHBhc3MgTlNWaWV3IGluc3RlYWQgb2YgTlNXaW5kb3cgaW4gY29jb2EtdmlkZW9vdmVybGF5IGV4YW1wbGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ1MQoKMjAxNC0wNS0wMiAwNTo1MDoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSAgZ2w6IGFkZCBjb3B5cmlnaHQgdG8gY29jb2EgZXhhbXBsZQoKMjAxNC0wNS0wMiAwNTo0NjoxOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9jb2NvYS12aWRlb292ZXJsYXkubToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgZ2w6IHJlbmFtZSBjb2NvYSBleGFtcGxlIGFuZCBtb3ZlIGl0IHRvIGl0cyBwYXJlbnQgZGlyZWN0b3J5CgoyMDE0LTA1LTAyIDA1OjI5OjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NvY29hL1JFQURNRToKCSAgZ2w6IHJlbW92ZSB1bnVzZWZ1bCBSRUFETUUgZm9yIGNvY29hIGV4YW1wbGUKCjIwMTQtMDUtMDEgMTY6MDc6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkgIGdsL3Bvb2w6IGluaXQgdGhlIHVwbG9hZCBvYmplY3Qgb24gc3RhcnQKCSAgVGhlb3JldGljYWxseSwgc2V0X2NvbmZpZyBjb3VsZCBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMKCjIwMTQtMDUtMDEgMTk6MTY6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IE9ubHkgY2xlYXIgc3RyZWFtcyBpZiB0aGV5IGhhdmUgYmVlbiBjcmVhdGVkCgoyMDE0LTA1LTAxIDE5OjEwOjQzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBVc2Ugb2JqZWN0IGRlYnVnCgoyMDE0LTA1LTAxIDE1OjU5OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWx3YXlzIHN1Y2NlZWQgdGhlIExBVEVOQ1kgZXZlbnQKCSAgVXBzdHJlYW0gYW5kIG91ciBpbnRlcm5hbCBzb3VyY2UgaXMgaXJyZWxldmFudCBmb3IgdGhlIGxhdGVuY3kKCSAgYW5kIHdlIGRvbid0IHdhbnQgdGhlIExBVEVOQ1kgZXZlbnQgdG8gZXZlciBmYWlsLgoKMjAxNC0wNS0wMSAxNTo1Njo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IHRoZSBsYXN0IGZsb3cgcmV0dXJuIGJlZm9yZSByZXN0YXJ0aW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UKCSAgT3RoZXJ3aXNlIHdlIHdpbGwgbmV2ZXIgcmVjb3ZlciBmcm9tIHByZXZpb3VzIGVycm9ycywgYW5kIGVzcGVjaWFsbHkKCSAgd2lsbCBuZXZlciBzdGFydCBhZ2FpbiBhZnRlciBhIGZsdXNoaW5nIHNlZWsgaWYgZG93bnN0cmVhbSByZXR1cm5lZAoJICBHU1RfRkxPV19GTFVTSElORyB0byB1cy4KCjIwMTQtMDUtMDEgMTU6Mjk6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHNldCBQVFMgb24gdGhlIGZpcnN0IGJ1ZmZlciBvZiBhIGZyYWdtZW50IGluc3RlYWQgb2Ygc2V0dGluZyB0aGUgc2FtZSBvbiBhbGwgb2YgdGhlbQoKMjAxNC0wNC0zMCAxNzo1OToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFsd2F5cyBmbHVzaCB0aGUgaW50ZXJuYWwgcHJveHkgcGFkcyBiZWZvcmUgZG93bmxvYWRpbmcKCSAgaGxzZGVtdXggY2FuJ3QgcmVseSBvbiB0aGUgc291cmNlIHRvIHB1c2ggZmx1c2hlcyBvbiBhIHNlZWsgb24gcmVhZHkKCSAgYXMgdGhhdCBtaWdodCBub3QgbWFrZSBzZW5zZS4gU28gYWx3YXlzIHJlc29ydCB0byBmbHVzaGluZyB0aGUKCSAgaW50ZXJuYWwgcHJveHkgcGFkcyBieSBwdXNoaW5nIGZsdXNoIGV2ZW50cyBmcm9tIHRoZSBzb3VyY2UncyBzcmMgcGFkLgoJICBBbHNvIGFzIHRoZSBzZWVraW5nIGlzIG5vdCByZXF1aXJlZCBhbnltb3JlLCBvbmx5IHNlZWsgaWYgdGhlcmUgaXMKCSAgcmVhbGx5IGEgYnl0ZSByYW5nZSB0byBiZSB1c2VkLiBBbmQgc3RvcmUgYSByZWYgdG8gdGhlIHNvdXJjZSdzCgkgIHNyYyBwYWQgdG8gYXZvaWQgZG9pbmcgZ2V0X3N0YXRpY19wYWQgZm9yIGV2ZXJ5IGZyYWdtZW50LgoKMjAxNC0wNS0wMSAxNDozNjo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsOiBUcnkgaGFyZGVyIHRvIGxvYWQgc3ltYm9scyBmcm9tIHRoZSBjb3JyZWN0IHBsYWNlCgkgIFRoaXMgY29tbWl0IG1ha2VzIHRoZSBsb2FkaW5nIG9mIHRoZSBHTW9kdWxlcyB0aHJlYWRzYWZlLCBhbmQKCSAgYWx3YXlzIGZpcnN0IHRyaWVzIHRvIGxvYWQgdGhlIHN5bWJvbCBmb3IgdGhlIEdMIGxpYnJhcnkgdGhhdAoJICBpcyBzZWxlY3RlZCBmb3IgdGhlIGN1cnJlbnQgY29udGV4dC4gT25seSB0aGVuIGl0IGZhbGxzIGJhY2sKCSAgdG8gbG9va2luZyBpbnRvIHRoZSBjdXJyZW50IG1vZHVsZSAoTlVMTCksIGFuZCBvbmx5IGFzIGEgbGFzdAoJICByZXNvcnQgdGhlIGNvbnRleHQgc3BlY2lmaWMgZnVuY3Rpb24gKGUuZy4gZWdsR2V0UHJvY0FkZHJlc3MoKSkKCSAgaXMgY2FsbGVkLgoJICBBbHNvIGFkZCBjb25maWd1cmUgcGFyYW1ldGVycyB0byBzZWxlY3QgdGhlIG5hbWVzIG9mIHRoZSBsaWJyYXJ5CgkgIG1vZHVsZXMgaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdHMsIGFuZCBsZXQgdGhlIGRlZmF1bHRzIGJlCgkgIGluZGVwZW5kZW50IG9mIHRoZSBHX01PRFVMRV9TVUZGSVguCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg3NTMKCjIwMTQtMDUtMDEgMTQ6MTE6MDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJICBnbGNvbG9yc2NhbGU6IGZpeCBvcGVyYXRpb24gd2l0aCBkdWFsIEdMLCBHTEVTMiBsaWJnc3RnbAoKMjAxNC0wNS0wMSAxMzo1NzoxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvbWVtOiBpbXBsZW1lbnQgdGV4dHVyZSBjb3B5aW5nIGJldHdlZW4gZm9ybWF0cyB3aXRoIHN0cmlkZXMgcHJvcGVybHkKCSAgUHJldmlvdXNseSwgd2UgdXNlZCB0aGUgd2lkdGggdG8gZGV0ZXJtaW5lIHRoZSBhbW91bnQgb2YgZGF0YSB0byBiZQoJICBjb3BpZWQgdXNpbmcgcGJvcy4gIFRoaXMsIG1ha2VzIGl0IGFsbG9jYXRlIGVub3VnaCBkYXRhIGZvciB0aGUKCSAgdGhlIHN0cmlkZXMgYXMgd2VsbC4KCjIwMTQtMDUtMDEgMTI6NTE6MDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsL21lbTogcGFkIHRoZSBwdWJsaWMgc3RydWN0CgoyMDE0LTA0LTMwIDE4OjM3OjI3ICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsOiBubyBuZWVkIHRvIHByb3ZpZGUgZnVsbCBsaWIgcGF0aCB0byBsb2FkIHN5bWJvbHMKCSAgLSBNYWtlIGdzdGdsIHdvcmsgb24gTWFsaQoJICAtIEtlZXAgaXQgd29yayBvbiBSUEkKCSAgLSBmYWxsYmFjayB0byBOVUxMIG5hbWUgbW9kdWxlIGlmIGZhaWxzIHdpdGggdXN1YWwgbGliIG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc1MwoKMjAxNC0wNC0zMCAxMDowNToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGF2b2lkIHJlYWQgYnVmZmVyIG92ZXJmbG93IGluIGNyYWZ0ZWQgc3RyZWFtCgkgIENvdmVyaXR5IDEyMDg3NzcKCjIwMTQtMDQtMzAgMTc6MzA6MDYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBleHQvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIGdsY29sb3JzY2FsZTogdXNlIGEgc2hhZGVyIG9uIEdMRVN2MgoJICBPdGhlcndpc2UgeW91IG9ubHkgc2VlIGJsYWNrIGZyYW1lcwoJICBGaXggaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk0NwoKMjAxNC0wNC0zMCAxNTozMDo1MyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IHVzZSBuZXcgaGVscGVyIGZ1bmN0aW9uIHRvIGF2b2lkIGR1cGxpY2F0aW5nIGRlZmF1bHQgc2hhZGVyIHRleHQKCjIwMTQtMDQtMzAgMTU6Mjg6MzUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIGdsZWZmZWN0czogdXNlIG5ldyBoZWxwZXIgZnVuY3Rpb25zIHRvIGF2b2lkIGR1cGxpY2F0aW5nIHRoZSBzYW1lIHZlcnRleCBzaGFkZXIgdGV4dAoJICBBbmQgYWxzbyB1c2UgdGhlIGRlZmF1bHQgZnJhZ21lbnQgc2hhZGVyIHRleHQgZm9yIHRoZSBpZGVudGl0eSBlZmZlY3QKCjIwMTQtMDQtMzAgMTU6MjA6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJICBnbDogYWRkIGNvbnZlbmllbnQgZnVuY3Rpb25zIHRvIHNldHVwIGRlZmF1bHQgdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzCgkgIE1vc3Qgb2Ygb3VyIDJEIGZpbHRlcnMgdXNlIHRoZSBzYW1lIHNpbXBsZSB2ZXJ0ZXggc2hhZGVyLgoJICBBbHNvIGRlZmluZSB0aGUgZGVmYXVsdCBmcmFnbWVudCBzaGFkZXIgYXMgdGhlIGlkZW50aXR5LgoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgc2FtZSB2ZXJ0ZXggYW5kIGZyYWdtZW50IHNoYWRlciB0ZXh0LgoKMjAxNC0wNC0zMCAwODo1MzoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE9ubHkgdW5yZWYgcGVuZGluZyBidWZmZXIgaWYgdGhlcmUgaXMgb25lCgoyMDE0LTA0LTI5IDE4OjE1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBwdXNoIGxhc3QgYnVmZmVyIGFmdGVyIGVycm9yCgkgIEluIGRlY3J5cHRpb24gc2NlbmFyaW8sIGEgYnVmZmVyIGlzIGFsd2F5cyBzdG9yZWQgdG8gYmUgc2VudCBsYXRlcgoJICB0byB3YWl0IGZvciBtb3JlIGRhdGEgb3IgRU9TIHRvIGJlIGFibGUgdG8gc3RyaXAgdGhlIGZpbmFsIGJ5dGVzCgkgIGlmIHJlcXVlc3RlZC4gSW4gY2FzZSBhbiBlcnJvciBoYXBlbm5lZCB0aGlzIGJ1ZmZlciBjYW4gYmUgaWdub3JlZAoJICBhbmQgbm90IHB1c2hlZCBkb3duc3RyZWFtLgoKMjAxNC0wNC0yOSAxODoxNDoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmbHVzaCB0aGUgYWRhcHRlciBpbiB0aGUgZW5kIG9mIGEgZnJhZ21lbnQKCSAgSW4gY2FzZSBvZiBlcnJvciB0aGVyZSBtaWdodCBiZSBzb21lIGRhdGEgbGVmdCBpbiB0aGUKCSAgYWRhcHRlciB3aGVuIEVPUyBpcyByZWNlaXZlZC4gQ2xlYXIgdGhlIGFkYXB0ZXIgdG8gYmUKCSAgYWJsZSB0byByZXN0YXJ0IGFnYWluIGxhdGVyIGlmIHJlcXVlc3RlZC4KCjIwMTQtMDQtMjkgMTg6MTQ6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaGFuZGxlIG1vcmUgZXJyb3IgY2FzZXMKCSAgSGFuZGxlIHNvbWUgbW9yZSBlcnJvciBjYXNlczoKCSAgMSkgV2hlbiB0aGUgc291cmNlIGVsZW1lbnQgZmFpbHMgdG8gZ28gdG8gcmVhZHkKCSAgMikgV2hlbiBkZWNyeXB0aW9uIGZhaWxzCgkgIDMpIFdoZW4gdGhlcmUgaXMgbm8gc291cmNlIHRvIGhhbmRsZSBhIHNwZWNpZmljIFVSSQoJICA0KSBXaGVuIHRoZSBVUkkgaXMgaW52YWxpZAoKMjAxNC0wNC0yOSAxNToxOTo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGhhbmRsZSBlcnJvcnMgZnJvbSBpbnRlcm5hbCBzb3VyY2UKCSAgU2V0IHVwIGEgbWVzc2FnZSBoYW5kbGluZyBmdW5jdGlvbiB0byBjYXRjaCBlcnJvcnMgZnJvbSB0aGUgaW50ZXJuYWwKCSAgc291cmNlIGFuZCBzdG9yZSB0aGUgbGFzdCByZXR1cm4gY29kZSB0byBpZGVudGlmeSBlcnJvciBzaXR1YXRpb25zCgkgIHdoZW4gcmV0dXJuaW5nIGZyb20gYSBmcmFnbWVudCBkb3dubG9hZC4KCSAgQWxzbyBtb3ZlcyB0aGUgZHVyYXRpb24gaW5jcmVhc2UgdG8gYWZ0ZXIgdGhlIGRvd25sb2FkIHdoZW4gd2UKCSAga25vdyBpZiBpdCB3YXMgc3VjY2Vzc2Z1bCBvciBub3QKCjIwMTQtMDQtMjkgMTU6MTc6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBJbXByb3ZlIHBhZCBzd2l0Y2hpbmcgY29uZGl0aW9ucwoJICBXaGVuIHVzaW5nIHRoZSBpbnRlcm5hbCBzb3VyY2UsIGhsc2RlbXV4IGRvZXNuJ3Qga25vdyB0aGUgY2FwcyBvZgoJICB0aGUgaW5wdXQgYmVmb3JlIGFkZGluZyB0aGUgcGFkLCBzbyByZW1vdmUgdGhlIGFyZ3VtZW50cyB0aGF0IHdvdWxkCgkgIHVzZSB0aGF0IGFzIGl0IGlzIGFsd2F5cyBOVUxMLgoJICBBbmQgdXNlIGFuIHNwZWNpZmljIGZsYWcgdG8gc2lnbmFsIHdoZW4gYSBwYWQgc3dpdGNoIGlzIHJlcXVpcmVkLgoJICBVc2luZyB0aGUgZGlzY29udCBmbGFnIGlzIGEgYmFkIGlkZWEgbm93IGJlY2F1c2Ugd2hlbiBhIGZyYWdtZW50CgkgIGRvd25sb2FkIGZhaWxzIGl0IHdpbGwgbGVhZCB0byBleHBvc2luZyBhIHBhZCBncm91cCB3aXRob3V0IGFueQoJICBkYXRhLCBjYXVzaW5nIGRlY29kZWJpbiB0byBhYm9ydC4KCjIwMTQtMDQtMjggMjA6MDE6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcHJvcGVybHkgZmx1c2ggZGVjcnlwdGlvbiBzdGF0dXMgb24gc2Vla3MKCSAgQXZvaWRzIG1peGluZyBkZWNyeXB0aW9uIG9mIGRpZmZlcmVudCBmcmFnbWVudHMgd2hlbiBzZWVraW5nIGhhcHBlbnMKCSAgYW5kIGxlYWRpbmcgdG8gYnJva2VuIHN0cmVhbSBvdXRwdXQuCgoyMDE0LTA0LTI4IDE5OjEwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogVHJhY2sgZnJhZ21lbnRzIGR1cmF0aW9uCgkgIFdoZW4gcmVjZXZpbmcgRU9TIGZyb20gdGhlIGludGVybmFsIHNyYywgaW5jcmVhc2UgdGhlIGN1cnJlbnQgcG9zaXRvbgoJICBieSB0aGUgZnJhZ21lbnQgZHVyYXRpb24gdG8gYWxsb3cgY29ycmVjdCByZXN0b3Jpbmcgb2YgZG93bmxvYWQgcG9zaXRpb24KCSAgaWYgdGhlIGJpdHJhdGUgY2hhbmdlcwoKMjAxNC0wNC0yNSAxMjo1NTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBwcm9wZXJseSBzdG9wIHRhc2tzIGJ5IHN0b3BwaW5nIGZyYWdtZW50IGRvd25sb2FkCgkgIElzc3VlIGEgc2lnbmFsIHRvIHRoZSBmcmFnbWVudCBkb3dubG9hZCBjb25kIHRvIHN0b3AKCSAgdGhlIHRhc2sgZWFybGllcgoKMjAxNC0wNC0yNSAxMDo0MDo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkZWNyeXB0IGJlZm9yZSB0eXBlZmluZGluZwoJICBNYWtlIHN1cmUgdHlwZWZpbmRpbmcgZ2V0cyB0aGUgZGVjcnlwdGVkIGNvbnRlbnQgaW5zdGVhZCBvZgoJICB0cnlpbmcgdG8gdHlwZWZpbmQgdGhlIGVuY3J5cHRlZCBkYXRhLgoKMjAxNC0wNC0yNSAxMDozOToxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggZGVjcnlwdGlvbiBmdW5jdGlvbiByZXR1cm4KCSAgQ29ycmVjdGx5IHJldHVybiB0aGUgZGVjcnlwdGVkIGJ1ZmZlciB3aGVuIGl0IHN1Y2NlZWRzIGFuZAoJICByZXR1cm4gTlVMTCBvdGhlcndpc2UKCjIwMTQtMDQtMjIgMjA6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDoga2VlcCBjb25uZWN0aW9uIGFsaXZlIGJldHdlZW4gZG93bmxvYWRzCgkgIFVzZSB0aGUgc2FtZSBwcm9wZXJ0aWVzIGFzIHVyaWRvd25sb2FkZXIgdG8ga2VlcCBjb25uZWN0aW9ucyBhbGl2ZQoJICBiZXR3ZWVuIGNvbnNlY3V0aXZlIGZyYWdtZW50cyBkb3dubG9hZHMuCgkgIDEpIHNldCBrZWVwLWFsaXZlIHByb3BlcnR5IHRvIHRydWUKCSAgMikga2VlcCB0aGUgZWxlbWVudCBpbiBSRUFEWSBpbnN0ZWFkIG9mIGluIE5VTEwKCjIwMTQtMDQtMTYgMjA6MDI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY3JlYXRlIHNvdXJjZXMgZnJvbSB1cmkKCSAgSW5zdGVhZCBvZiB1c2luZyBhbHdheXMgYW4gaHR0cCBzb3VyY2UsIGNyZWF0ZSBpdCBkeW5hbWljYWxseSBmcm9tCgkgIHVyaSB3aGVuIG5lZWRlZC4gSWYgbm90IG5lZWRlZCBqdXN0IHJlcGxhY2UgdGhlIFVSSSBvbiB0aGUgY3VycmVudAoJICBlbGVtZW50CgoyMDE0LTA0LTE2IDE4OjA0OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvIG5vdCB0cnkgdG8gcnVuIHR5cGVmaW5kIGFnYWluIGlmIGNhcHMgaXMgdGhlIHNhbWUKCSAgQWx3YXlzIHJlc2V0IHRoZSBkb190eXBlZmluZCBmbGFnIGlmIGhscyBkaWQgdHlwZWZpbmQgYmVjYXVzZQoJICB0cnlpbmcgaXQgb24gbm9uLXplcm8gb2Zmc2V0cyBkb2Vzbid0IG1ha2Ugc2Vuc2UgYW5kIHdpbGwgY2F1c2UKCSAgYXNzZXJ0aW9ucwoKMjAxNC0wNC0xNiAwNjoxMjo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IGVuYWJsZSBkb3dubG9hZCBiaXRyYXRlIG1lYXN1cmUKCSAgTWVhc3VyZSB0aGUgZG93bmxvYWQgYml0cmF0ZSB0byBiZSBhYmxlIHRvIHNlbGVjdAoJICB0aGUgYmVzdCBwbGF5bGlzdC4KCSAgQXMgdGhlIGJ1ZmZlcnMgYXJlIGRpcmVjdGx5IHB1c2hlZCBkb3duc3RyZWFtIGFuZCBpdAoJICBtaWdodCBibG9jay4gVGhlIHRpbWUgaXMgb25seSBtZWFzdXJlZCBmcm9tIHRoZSBkb3dubG9hZAoJICB1bnRpbCB0aGUgcGFkIHB1c2ggYW5kIGl0IGlzIHN0YXJ0ZWQgYWdhaW4gYWZ0ZXIgdGhlIHB1c2gKCSAgcmV0dXJucy4KCjIwMTQtMDQtMDggMTc6MzE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZS1lbmFibGUgZGVjcnlwdGlvbiBhZnRlciB1cmlkb3dubG9hZGVyIHJlbW92YWwKCSAgTm93IHRoZSBkZWNyeXB0aW9uIGlzIGRvbmUgYnVmZmVyIGJ5IGJ1ZmZlciBpbnN0ZWFkIG9mIG9uIHRoZQoJICB3aG9sZSBmcmFnbWVudCBhdCBvbmNlLiBBcyBpdCBleHBlY3RzIG11bHRpcGxlcyBvZiAxNiBieXRlcyBhCgkgIEdzdEFkYXB0ZXIgd2FzIGFkZGVkIHRvIHByb3Blcmx5IGNodW5rIHRoZSBidWZmZXJzLgoJICBBbHNvIHRoZSBsYXN0IGJ1ZmZlciBtdXN0IGJlIHJlc2l6ZWQgZGVwZW5kaW5nIG9uIHRoZSB2YWx1ZSBvZiB0aGUKCSAgbGFzdCBieXRlIG9mIHRoZSBmcmFnbWVudCwgc28gaGxzZGVtdXggYWx3YXlzIGtlZXBzIGEgcGVuZGluZyBidWZmZXIKCSAgYXMgaXQgZG9lc24ndCBrbm93IGlmIGl0IGlzIHRoZSBsYXN0IG9uZSB5ZXQKCjIwMTQtMDQtMDcgMTM6NTc6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiByZXBsYWNlIHVyaWRvd25sb2FkZXIgd2l0aCBhIEdzdEVsZW1lbnQKCSAgVGhlIEdzdEVsZW1lbnQgaXMgZGlyZWN0bHkgbGlua2VkIGludG8gYSBnaG9zdCBwYWQgYW5kCgkgIGl0cyBidWZmZXJzIGFyZSBwdXNoZWQgYXMgcmVjZWl2ZWQgZG93bnN0cmVhbS4gVGhpcyB3YXkgdGhlCgkgIGJ1ZmZlcnMgYXJlIHNtYWxsIGVub3VnaCBhbmQgbm90IGEgd2hvbGUgZnJhZ21lbnQgdGhhdCB1c3VhbGx5CgkgIGNhdXNlcyBleHRyYSBsYXRlbmN5IGFuZCBtYWtlcyBidWZmZXJpbmcgaGFyZGVyCgoyMDE0LTA0LTI5IDE5OjI0OjA4ICswMTAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgZ2w6IGFkZCBtaXNzaW5nIEdfQkVHSU4vRU5EX0RFQ0xTIGluIHV0aWxzIGhlYWRlcgoKMjAxNC0wNC0yOSAxMzoyMToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBnbDogYWRkIG1pc3NpbmcgZW50cnkgdG8gY2ZsYWdzIHRvIGZpbmQgZ3N0L2dsL2dsLmgKCSAgT3RoZXJ3aXNlIGJ1aWxkIGZhaWxzCgoyMDE0LTA0LTI5IDE2OjQ0OjU5ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2dzdGd0ay5jOgoJICB0ZXN0czogZHJvcCBkaXJlY3QgaW5jbHVkZQoJICBJdCBpcyBvbmx5IGFsbG93ZWQgdG8gaW5jbHVkZSBnZGsvZ2RreC5oIGFuZCB0aGF0IHdpbGwgYnJpbmcgYWxsIHRoZSB4MTEgdGhpbmdzLgoKMjAxNC0wMS0wNiAyMjoxMzoyMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNuZGZpbGU6IHNlbmQgYSB0b2MgZm9yIHRoZSBzZWdtZW50cyBpbiB0aGUgYXVkaW8gZmlsZQoKMjAxNC0wNC0yOSAxNTowNjowMCArMDAwMCAgSGFha29uIFNwb3JzaGVpbSAoaWVlaSkgPGhhYWtvbi5zcG9yc2hlaW1AZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1bnJlZi9yZXBsYWNlIGZvcmNlX2tleV91bml0X2V2ZW50IGluIGdzdF9oMjY0X3BhcnNlX3Jlc2V0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjkyMDAKCjIwMTQtMDQtMjkgMjI6MTg6MTQgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL01ha2VmaWxlLmFtOgoJICBnbC9zZGwgZXhhbXBsZTogRml4IHVuaW5zdGFsbGVkIGJ1aWxkCgoyMDE0LTA0LTIzIDIwOjI5OjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBSZWR1Y2Ugbm9pc3kgSW5mbyBsZXZlbCBvdXRwdXQgdG8gTE9HCgoyMDE0LTA0LTI5IDE4OjMyOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLmM6CgkgIGdsL2V4YW1wbGVzL3NkbDogdXBkYXRlIGZvciB0aGUgbGF0ZXN0IGdzdGdsIGNoYW5nZXMKCjIwMTQtMDQtMjkgMTY6Mzg6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2NsdXR0ZXIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY2x1dHRlci9jbHV0dGVyc2hhcmUuY2JwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvY29jb2EvdmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9jb2NvYS92aWRlb292ZXJsYXkvbWFpbi5tOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJlL2N1YmUudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2N1YmV5dXYvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvY3ViZXl1di9jdWJleXV2LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9jdWJleXV2L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9kb3VibGVjdWJlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL2RvdWJsZWN1YmUvZG91YmxlY3ViZS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvZG91YmxlY3ViZS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9nZW5lcmljLnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2dlbmVyaWMvcmVjb3JkZ3JhcGhpYy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ2VuZXJpYy9yZWNvcmRncmFwaGljL21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9nZW5lcmljL3JlY29yZGdyYXBoaWMvcmVjb3JkZ3JhcGhpYy52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJub3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L2ZpbHRlcm5vdmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcm5vdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZmlsdGVydmlkZW9vdmVybGF5Ly5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9maWx0ZXJ2aWRlb292ZXJsYXkvZmlsdGVydmlkZW9vdmVybGF5LnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2ZpbHRlcnZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2Z4dGVzdC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZnh0ZXN0L2Z4dGVzdC52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9nc3RndGsuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0ay5zbG46CgkqIHRlc3RzL2V4YW1wbGVzL2dsL2d0ay9ndGt2aWRlb292ZXJsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL2d0a3ZpZGVvb3ZlcmxheS9ndGt2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvZ3RrdmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvcGl4YnVmZHJvcC9waXhidWZkcm9wLnZjcHJvajoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvZ3RrL3N3aXRjaHZpZGVvb3ZlcmxheS8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L21haW4uY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9ndGsvc3dpdGNodmlkZW9vdmVybGF5L3N3aXRjaHZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9SRUFETUU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tYWluLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9tb3VzZXZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L21vdXNldmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvbW91c2V2aWRlb292ZXJsYXkvbW91c2V2aWRlb292ZXJsYXkudmNwcm9qOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9tb3VzZXZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3BpcGVsaW5lLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L21vdXNldmlkZW9vdmVybGF5L3FyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L2dzdHRocmVhZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdscmVuZGVyZXIuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS5wcmk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHdpZGdldHZpZGVvb3ZlcmxheS9xZ2x3aWRnZXR2aWRlb292ZXJsYXkucHJvOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3aWRnZXR2aWRlb292ZXJsYXkvcWdsd2lkZ2V0dmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd2lkZ2V0dmlkZW9vdmVybGF5L3FnbHdpZGdldHZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvQXN5bmNRdWV1ZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL1JFQURNRToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9jb2NvYV91dGlscy5tbToKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9nbGNvbnRleHRpZC5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvZ3N0dGhyZWFkLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbWFpbi5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX2dzdHRocmVhZC5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvbW9jX3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9tb2NfcWdscmVuZGVyZXIuY3BwOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3BpcGVsaW5lLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9waXBlbGluZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvcWdsd3RleHR1cmVzaGFyZS9xZ2xyZW5kZXJlci5oOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC9xZ2x3dGV4dHVyZXNoYXJlL3FnbHd0ZXh0dXJlc2hhcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3FnbHd0ZXh0dXJlc2hhcmUvcWdsd3RleHR1cmVzaGFyZS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9EZWJ1Zy92aWRlb292ZXJsYXk6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfZ3N0dGhyZWFkLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L0dlbmVyYXRlZEZpbGVzL2RlYnVnL21vY19waXBlbGluZS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS9HZW5lcmF0ZWRGaWxlcy9kZWJ1Zy9tb2NfcXJlbmRlcmVyLmNwcDoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS5jcHA6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb292ZXJsYXkucHJpOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9xdC92aWRlb292ZXJsYXkvdmlkZW9vdmVybGF5LnNsbjoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvcXQvdmlkZW9vdmVybGF5L3ZpZGVvb3ZlcmxheS52Y3Byb2o6CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3F0L3ZpZGVvb3ZlcmxheS92aWRlb3ZpZGVvb3ZlcmxheS5wcm86CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2dsL3NkbC9zZGwuc2xuOgoJKiB0ZXN0cy9leGFtcGxlcy9nbC9zZGwvc2Rsc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ2wvc2RsL3NkbHNoYXJlLnZjcHJvajoKCSAgZ2wvZXhhbXBsZXM6IG1vdmUgdG8gLWJhZAoJICAtIGZpeCBhbGwgdGhlIGNvbXBpbGVyIGVycm9ycwoJICAtIGdpdmUgdGhlbSB0aGVpciBvd24gZ2wgZGlyZWN0b3J5CgoyMDE0LTA0LTI4IDE1OjU2OjA2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWVnbC5wYy5pbjoKCSAgZWdsOiByZW1vdmUgcGMgZmlsZXMKCSAgRm9yZ290IHRvIGRvIHRoYXQgaW4gMDkxMTZiZjEwZDUxNWQ1MGJkZDFlOWEyMDI3OGJlODE2Y2I3NjJhYToKCSAgImVnbC9lZ2xnbGVzc2luazogcmVtb3ZlIHNpbmNlIEVHTEltYWdlIGFuZCBpT1Mgc3VwcG9ydCBoYXZlIGJlZW4gYWRkZWQgaW4gZ2xpbWFnZXNpbmsiCgoyMDE0LTA0LTI4IDE1OjUyOjQxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIGdsOiBhcHBlbmQgR0xfTElCIGFuZCBHTF9DRkxBR1MgaW4gcGMgZmlsZXMKCjIwMTQtMDQtMjggMTU6NDc6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYXBwZW5kIEVHTF9MSUIgdG8gR0xfTElCCgoyMDE0LTA0LTI4IDE1OjE1OjIwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiB1c2UgZ3N0X2dsX3BsYXRmb3JtX2Zyb21fc3RyaW5nIGJlY2F1c2Ugd2Ugc3VwcG9ydCBnbCBzaGFyZUxpc3Qgb24gYWxsIHBsYXRmb3JtcwoKMjAxNC0wNC0yOCAxNTowNzozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2xmaWx0ZXI6IG9ubHkgd2FybiB3aGVuIG90aGVyX2NvbnRleHQgYXR0cmlidXRlIGlzIHNldAoJICBGaXggZmFsc2UgcG9zaXRpdmUKCjIwMTQtMDQtMjggMTQ6NTQ6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXggc3RyaW5nIGxpdGVyYWwgd2FybmluZwoJICB3YXJuaW5nOiBmb3JtYXQgbm90IGEgc3RyaW5nIGxpdGVyYWwsIGFyZ3VtZW50IHR5cGVzIG5vdCBjaGVja2VkIFstV2Zvcm1hdC1ub25saXRlcmFsXQoKMjAxNC0wNC0yOCAxMDoxMjo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogVW5zZXQgcmVmZXJlciBpZiBub25lIHdhcyBzcGVjaWZpZWQgbGF0ZXIgb24KCjIwMTQtMDQtMjggMDk6MzI6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IFNldCBSZWZlcmVyIGluIHJlcXVlc3RzIHRvIHRoZSBwbGF5bGlzdCBVUkkKCjIwMTQtMDQtMjggMDk6MjM6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogQWRkIEFQSSB0byBzcGVjaWZ5IHRoZSByZWZlcmVyIG9mIGEgcmVxdWVzdAoKMjAxNC0wNC0yNyAyMzoyOTo0MSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHBhcnNpbmcgb2Ygc2xpY2UgZ3JvdXBzIGZvciBtYXAgdHlwZSA9IDIuCgkgIFdoZW4gcGFyc2luZyBzbGljZSBncm91cHMgaW5mb3JtYXRpb24gZm9yIHNsaWNlX2dyb3VwX21hcF90eXBlID0gMiwgd2UKCSAgc2hvdWxkIG9ubHkgYmUgcmVhZGluZyB1cCB0byBudW1fc2xpY2VfZ3JvdXBzX21pbnVzMSBncm91cHMgc2luY2UgdGhlcmUKCSAgaXMgYWx3YXlzIGEgImxlZnRvdmVyIiBzbGljZSBncm91cCBhbmQgYXMgbWFueSAiZm9yZWdyb3VuZCIgc2xpY2UgZ3JvdXBzCgkgIGFzIG5lZWRlZC4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIGZvciBTVkNCTVQtNSBhbmQgU1ZDQk1ULTEyIHdoZXJlYnkgdGhlIGJhc2UgbGF5ZXIgd291bGQKCSAgaGF2ZSBpbmNvcnJlY3RseSBiZWVuIHBhcnNlZCB0byBoYXZlIHVwIHRvIDM4IHJlZmVyZW5jZSBmcmFtZXMgaW4gbGlzdDAsCgkgIHdoaWNoIGlzIG5vdCBwb3NzaWJsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0yNyAwOToyNTo1MCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogRG9uJ3QgZmFpbCBpZiBIVyBkb2VzIG5vdCBoYXZlIGFsbCBpbnRlcmZhY2VzCgkgIFRoaXMgcGF0Y2ggY29tcGxldGVzIDFjMWNjNzNhM2IyMzA0NTQ2NjM5NzE2NTY1MTUyOTdmOWVlOGJkOWYuIFRoZXNlCgkgIGNoYW5nZXMgd2hlcmUgYWNjaWRlbnRhbGx5IHB1c2hlZCBhcyBhIHNlcGFyYXRlIHBhdGNoIHdpdGggd3JvbmcgY29tbWl0CgkgIG1lc3NhZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczCgoyMDE0LTA0LTI3IDEzOjA5OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgUmV2ZXJ0ICJ5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4MzA5YmQyMTU5MmE5NmRjODI0MTcwMmYxN2RlZDRlNWY1NDVmMzMuCgkgIENvbW1pdCBtZXNzYWdlIGFuZCBmaWxlcyBjaGFuZ2VkIGRvIG5vdCBtYXRjaC4KCjIwMTQtMDQtMjcgMDA6MzY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICBkb2NzOiByZW1vdmUgb3V0ZGF0ZWQgYW5kIHBvaW50bGVzcyAnTGFzdCByZXZpZXdlZCcgbGluZXMgZnJvbSBkb2NzCgkgIFRoZXkgYXJlIHZlcnkgY29uZnVzaW5nIGZvciBwZW9wbGUsIGFuZCBtb3JlIG9mdGVuIHRoYW4gbm90CgkgIGFsc28ganVzdCBub3QgdmVyeSBhY2N1cmF0ZS4gU2VlaW5nICdsYXN0IHJldmlld2VkOiAyMDA1JyBpbgoJICB5b3VyIGRvY3MgaXMgbm90IHZlcnkgY29uZmlkZW5jZS1pbnNwaXJpbmcuIExldCdzIGp1c3QgcmVtb3ZlCgkgIHRob3NlIGNvbW1lbnRzLgoKMjAxNC0wNC0yNiAwODowODo1NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGRlcml2YXRpb24gb2YgZGVmYXVsdCBzY2FsaW5nIGxpc3RzLgoJICBXaGVuIHVzZURlZmF1bHRTY2FsaW5nTWF0cml4RmxhZyBpcyBjb21wdXRlZCB0byBiZSAxIHdoaWxlIHBhcnNpbmcKCSAgc2NhbGluZ19saXN0KCksIHRoZW4gdGhlIHNjYWxpbmcgbGlzdCBzaGFsbCBiZSBpbmZlcnJlZCB0byBiZSBlcXVhbAoJICB0byB0aGUgZGVmYXVsdCBsaXN0ICg3LjQuMi4xLjEuMSkuIFRoYXQgZGVmYXVsdCBsaXN0IGlzIHJlYWxseSBvbmUKCSAgb2YgRGVmYXVsdF80eDRfe0ludHJhLEludGVyfSBvciBEZWZhdWx0Xzh4OF97SW50cmEsSW50ZXJ9IGFuZCBub3QKCSAgb25lIGZyb20gZmFsbC1iYWNrIHJ1bGUgc2V0cyBBIG9yIEIuCgkgIFRoaXMgZml4ZXMgcGFyc2luZyBmb3IgRlJFeHQxX1BhbmFzb25pY19ELCBGUkV4dDJfUGFuYXNvbmljX0MsCgkgIEZSRXh0M19QYW5hc29uaWNfRSBhbmQgRlJFeHQ0X1BhbmFzb25pY19CLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NTE4CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTYgMDE6NTA6MTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkgIGN1cmwqc2luazogcmVwb3J0IGVycm9ycyBmcm9tIGN1cmwgd2hlbiBzZXR0aW5nIG9wdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0xNSAyMzo1MzozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsKnNpbms6IHBvc3QgZXJyb3Igb24gYnVzIGluIGVsZW1lbnQsIG5vdCB0cmFuc2ZlciB0aHJlYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjozMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSAgY3VybGh0dHBzaW5rOiBhbGxvdyBmb3IgdW5jb25kaXRpb25hbGx5IGRpc2FibGluZyBwcm94eWluZwoJICBQcmV2aW91c2x5IGlmIHRoZSBwcm94eSBzZXJ2ZXIgaG9zdG5hbWUgd2FzIHRoZSBlbXB0eSBzdHJpbmcKCSAgY3VybGh0dHBzaW5rIHdvdWxkIG5ldmVyIGV2ZW4gc2V0IHRoZSBsaWJjdXJsIG9wdGlvbi4gRm9yIGxpYmN1cmwKCSAgaG93ZXZlciwgaGF2aW5nIGEgcHJveHkgc2VydmVyIGhvc3RuYW1lIGJlIHRoZSBlbXB0eSBzdHJpbmcgbWVhbnMgdGhhdAoJICBwcm94eWluZyBzaG91bGQgYmUgZGlzYWJsZWQgZXZlbiBpZiBlbnZpcm9ubWVudCB2YXJpYWJsZXMgbWlnaHQgYmUgc2V0LgoJICBOb3cgd2l0aCB0aGUgcmVzdHJpY3Rpb24gbGlmdGVkLCBkb2luZyB0aGlzIGlzIGFsbG93ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMjIgMjI6MjY6NTYgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmdHBzaW5rLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxodHRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybHNtdHBzaW5rLmM6CgkgIGN1cmwqc2luazogaW1wcm92ZSByZXR1cm4gdmFsdWUgY2hlY2tzIGluIHRlc3QgY2FzZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yMiAyMjoyNjoxMiArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsYmFzZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHRsc3NpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZpbGVzaW5rLmM6CgkgIGN1cmwqc2luazogZml4IHR5cG9zCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjg5NjAKCjIwMTQtMDQtMTYgMDE6NTA6MDMgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc3Noc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsKnNpbms6IGZpeCBzb21lIGdzdC1pbmRlbnQgcHJvYmxlbXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODk2MAoKMjAxNC0wNC0yNSAxNjoxODowNyAtMDQwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgZ2w6IGNoZWNrIHRoZSBjb3JyZWN0IEdzdEdMTWVtb3J5IGluIGJhc2ljX3Rlc3QKCjIwMTQtMDQtMjUgMTc6NDA6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IE9ubHkgcmVxdWlyZSBhbGlnbm1lbnQgYW5kIHN0cmVhbS1mb3JtYXQgZm9yIGgyNjQsIHBhcnNlZCBpcyBpbXBsaWNpdAoKMjAxNC0wNC0yNSAxNDo0MToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2V0IHNvdXJjZSBzdGF0ZSB0byBOVUxMIGlmIGRvd25sb2FkaW5nIGZhaWxlZCBmb3Igd2hhdGV2ZXIgcmVhc29uCgoyMDE0LTA0LTI0IDEzOjU5OjM1IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBnbC94MTE6IFJlbW92ZWQgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTA0LTI0IDE4OjMzOjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgZ2wveDExOiBHZXQgcmlkIG9mIHVubmVlZGVkIHNlY29uZCBkaXNwbGF5IGNvbm5lY3Rpb24gYW5kIGRvIGV2ZXJ5dGhpbmcgZnJvbSB0aGUgbWFpbiBsb29wCgoyMDE0LTA0LTI0IDE4OjI4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgZ2wveDExOiBCbG9jayByZW5kZXJpbmcgdW50aWwgc3dhcGJ1ZmZlcnMgaXMgY2FsbGVkIGFuZCBkb24ndCBnbyB2aWEgWDExIGV2ZW50cyBhcyB1bm5lZWRlZCBpbmRpcmVjdGlvbgoJICBUaGlzIHNob3VsZCBmaXggUW9TIHByb2JsZW1zLCB3aGVyZSBiYXNlc2luayBiZWxpZXZlZCBpdCB3YXMgcmVuZGVyaW5nIHdpdGgKCSAgMjBGUFMgYnV0IGFjdHVhbGx5IHdlIHdlcmUganVzdCBxdWV1ZWluZyB1cCBYMTEgRXhwb3NlIGV2ZW50cyBhbmQgb25seSBvbmNlCgkgIGluIGEgd2hpbGUgc29tZXRoaW5nIHdhcyByZW5kZXJlZC4KCjIwMTQtMDQtMjQgMTY6MDU6MzIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsOiBmYWlscyBnbGltYWdlc2luayB3aGVuIHNoYWRlciBjb21waWxhdGlvbiB3ZW50IHdyb25nCgkgIFRob3NlIHNoYWRlcnMgYXJlIGZpeGVkIGFuZCB2ZXJ5IHNpbXBsZSBzbyBpdCBzaG91bGQgbm90IGZhaWwKCSAgYnV0IGl0J3Mgd29ydGggdG8gaGFuZGxlIGEgc3VjaCBjYXNlLgoKMjAxNC0wNC0yNCAxNTozNjo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGNhbGwgZ2xDbGVhckNvbG9yIGJlZm9yZSBnbENsZWFyCgoyMDE0LTA0LTI0IDE2OjMzOjU2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IGZpeCBnc3RyZWFtZXItZ2wgdW5pbnN0YWxsZWQKCSAgRW5zdXJlIHRvIHByb3ZpZGUgbGliZ3N0Z2wgYWxzbyBpbiB0aGUgdW5pbnN0YWxsZWQgc2V0dXAuCgkgIEZpeGVzIGJ1aWxkIG9mIGdzdC1vbXggZm9yIFJQSSBpbiB1bmluc3RhbGxlZCBzZXR1cC4KCjIwMTQtMDQtMjQgMTU6MTc6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJICBnbC9ycGk6IGRvIG5vdCBzY2FsZSB0byBmdWxsIHNjcmVlbgoJICBIYXZpbmcgYSA2NDB4MzYwIG1vdmllIGJlaW5nIHNjYWxlZCB0byAxOTAweDEyMDAgZG9lcyBub3QgbG9vayBuaWNlCgoyMDE0LTA0LTI0IDE0OjUwOjU3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBjaGFuZ2UgZGlzcG1hbnggYXR0cmlidXRlcyBvZiBleGlzdGluZyBlbGVtZW50IGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lCgkgIEkgd2FzIGx1Y2t5IHRoYXQ6CgkgIGUxID0gdmNfZGlzcG1hbnhfZWxlbWVudF9hZGQgKCkKCSAgZWdsQ3JlYXRlV2luZG93U3VyZmFjZSAoZTEpCgkgIHZjX2Rpc3BtYW54X2VsZW1lbnRfcmVtb3ZlIChlMSkKCSAgZTIgPSB2Y19kaXNwbWFueF9lbGVtZW50X2FkZCAoKQoJICByZXN1bHRlZCBpbiBoYXZpbmcgZTIgZXF1YWwgdG8gZTEuIEFuZCBhbHNvIGhhdmluZyB0aGUgZWdsIHN1cmZhY2UKCSAgdGhhdCBkb2VzIG5vdCBhbGxvY2F0ZSBpdHMgYnVmZmVycyBiZWZvcmUgdGhlIGZpcnN0IGRyYXcuCgoyMDE0LTA0LTI0IDE0OjM4OjQwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSAgZ2wvcnBpOiBlbnN1cmUgdGhlIGRpc3BtYW54IGVsZW1lbnQgdG8gYmUgb3BhcXVlCgkgIFNvIHRoYXQgd2UgZW5zdXJlIGl0IGRvZXMgbm90IGdldCBhbHBoYSBjb21wb3NpdGVkIHdpdGggb3RoZXIKCSAgZGlzcG1hbnggZWxlbWVudHMgbGlrZSB0aGUgZGVza3RvcC4KCjIwMTQtMDQtMTggMjA6MDQ6MjUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXZmYXNzZXRzcmM6IGRvd25ncmFkZSByYW5rIHRvIFNFQ09OREFSWSBpbiBPUyBYCgoyMDE0LTA0LTE4IDIwOjAzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmYXNzZXRzcmMubToKCSAgYXZmYXNzZXRzcmM6IHJlbmFtZSByZWZlcmVuY2VzIHRvIGlPUwoKMjAxNC0wNC0xNCAxOTowODowMSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgaW9zYXZhc3NldHNyYzogcmVuYW1lIGVsZW1lbnQgdG8gYXZmYXNzZXRzcmMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxNC0wNC0wMyAxNDowMjoxOCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3Nhc3NldHNyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lvc2F2YXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2F2YXNzZXRzcmM6IFBvcnQgdG8gMS4wCgkgIEFsc28gZW5hYmxlcyB0aGlzIGVsZW1lbnQgb24gT1NYID49IDEwLjcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgyNDkKCjIwMTMtMDUtMTEgMDM6NDE6MzYgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXZhc3NldHNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9pb3NhdmFzc2V0c3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhZGQgbmV3IHNvdXJjZS9kZWNvZGVyIGVsZW1lbnQgZm9yIGlPUyBhc3NldHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODI0OQoKMjAxNC0wNC0wOSAxMDo1NTowMyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgY29yZW1lZGlhYnVmZmVyOiBoYW5kbGUgc3RyaWRlIGFsaWdubWVudAoJICBIYW5kbGUgc3RyaWRlIGFsaWdubWVudCB0aHJvdWdoIHRoZSB1c2Ugb2YgdGhlIHZpZGVvIG1ldGEgQVBJLiBUaGUKCSAgY29kZSBpcyBiYXNlZCBvbiB0aGUgY29yZXZpZGVvYnVmZmVyIGltcGxlbWVudGF0aW9uLgoJICBJZiB0aGUgdmlkZW8gbWV0YSBBUEkgaXMgbm90IHN1cHBvcnRlZCBhbmQgdGhlIHVuZGVybHlpbmcgYnVmZmVyCgkgIGNvbnRhaW5zIHBhZGRpbmcsIHRoZSBjb3JlIG1lZGlhIGJ1ZmZlciBpcyBjb3BpZWQgdG8gYSBzeXN0ZW0gbWVtb3J5CgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg4NQoKMjAxNC0wNC0wOSAxMTo0NzoxMiArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSB2aWRlbyBtZXRhIEFQSQoJICBDaGVjayBpZiBkb3duc3RyZWFtIHN1cHBvcnRzIHRoZSB2aWRlbyBtZXRhIEFQSSwgc28gd2UgY2FuIHVzZSBpdCBsYXRlcgoJICB3aXRoIHRoZSBjb3JlIG1lZGlhIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc5NTMKCjIwMTQtMDQtMjQgMTA6Mzc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBwYXNzIGEgTlNWaWV3IHRvIHNldF93aW5kb3dfaGFuZGxlIGluc3RlYWQgb2YgYSBOU1dpbmRvdwoJICBGaXggYmFja3dhcmRzIGNvbXBhdGliaWxpdHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODQ1MQoKMjAxNC0wNC0yNCAwOTowMzozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IG9ubHkgZHJhdyBvbmNlIHRoZSB3aW5kb3cgaGFzIGJlZW4gcmVzaXplZAoJICBJdCBhdm9pZHMgdG8gZHJhdyB0aGUgZmlyc3QgZnJhbWUgd2l0aCBhbiBpbmNvcnJlY3QgdmlldyBwb3J0LgoKMjAxNC0wNC0yNCAwODo0OTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBzZXQgdGhlIHZpZXcgdG8gdXNlIGZvciBkcmF3aW5nIGJ5IHRoZSBjb250ZXh0CgkgIEl0IGF2b2lkcyB0byBkcmF3IHRvIGFuIGludmFsaWQgYnVmZmVyLgoJICBXaXRodG91dCB0aGlzIHRoZSBkZWZhdWx0IGZyYW1lIGJ1ZmZlciBpcyB1bmRlZmluZWQ6CgkgIGdsQmluZEZyYW1lYnVmZmVyIChHTF9GUkFNRUJVRkZFUiwgMCkKCSAgVmlzdWFsbHkgeW91IGNvdWxkIHNlZSBzb21lIHdoaXRlIGZyYW1lcyBhdCB0aGUgYmVnaW5uaW5nCgkgIHdoZW4gbHVuY2hpbmcgdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsKCSAgV2l0aCBPcGVuR0wgUHJvZmlsZXIgZnJvbSBYQ29kZSB5b3UgY291bGQgc2VlIHNvbWUKCSAgR0xfSU5WQUxJRF9GUkFNRUJVRkZFUl9PUEVSQVRJT04gZm9yIHRoZSBmaXJzdCBmcmFtZXMKCjIwMTQtMDQtMjMgMTQ6NDE6MjEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsOiBmaXggZGVjbGFyYXRpb24tZGVmaW5pdGlvbiBtaXNtYXRjaCBmb3IgX2luaXRfdXBsb2FkCgoyMDE0LTA0LTIzIDEzOjM0OjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSAgZ2wvYnVmZmVycG9vbDogZG8gbm90IHJlc2V0IHVwbG9hZCB3aGVuIHNldF9jb25maWcgZG9lcyBub3QgY2hhbmdlIHRoZSBjYXBzCgkgIFdpdGggdmlkZW90ZXN0c3JjICEgZ2xpbWFnZXNpbmsgaXQgd2FzIHJlc2V0IDMgdGltZXMKCjIwMTQtMDQtMjMgMTM6MzA6MjcgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiB1c2UgI2lmZGVmIGluc3RlYWQgb2YgI2lmIGZvciBfX0FQUExFX18KCSAgd2FybmluZzogIl9fQVBQTEVfXyIgaXMgbm90IGRlZmluZWQgWy1XdW5kZWZdCgkgIHdpdGggZ2NjIHZlcnNpb24gNC43LjIgMjAxMjA3MzEgKHByZXJlbGVhc2UpCgkgIChjcm9zc3Rvb2wtTkcgbGluYXJvLTEuMTMuMStienIyNDU4IC0gTGluYXJvIEdDQyAyMDEyLjA4KQoKMjAxNC0wNC0yMyAxMjo0MjozMiAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsbWVtb3J5OiBVc2VyIGdfc2xpY2VfbmV3MCB0byBlbnN1cmUgZnVsbHkgaW5pdGlsaXplZCBzdHJ1Y3R1cmUKCSAgVGhlIHBibyBwb2ludGVyIG5vdCBiZWluZyBpbml0aWFsaXplZCB3b3VsZCB0cmlnZ2VyIGEgdXNlIG9mIHVuaXRpbGlhbGl6ZWQgdmFyaWFibGUKCSAgaW4gdmFsZ3JpbmQuCgoyMDE0LTAzLTI5IDE4OjM0OjI2IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IEZpeCBzdXBwb3J0IGZvciBIVyB3aXRob3V0IG91dHB1dAoJICBEZXZpY2VzIHN1aXRhYmxlIGZvciBkZWNrbGlua3NyYyBtYXkgbm90IGhhdmUgYW55IG91dHB1dCwgaGVuY2UgcXVlcnlpbmcKCSAgdGhlIGlucHV0IHJldHVybnMgTlVMTC4gQWRkIHN1cHBvcnQgZm9yIGFsbCBjYXNlcyB3aGVyZQoJICBpbnB1dC9vdXRwdXQvY29uZmlnIG1heSBiZSBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzA2CgoyMDE0LTAzLTE1IDE1OjE3OjQzICswMTAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICB5NG1kZWM6IGNoZWNrIGZvciBWSURFTyBtZXRhIGluc3RlYWQgb2YgQ1JPUCBtZXRhCgkgIFRoaXMgZWxlbWVudCBvbmx5IG5lZWQgc3RyaWRlIHN1cHBvcnQsIGJ1dCBjaGVja3MgZm9yIENST1BfTUVUQSwgd2hpY2gKCSAgaXMgYSBiaXQgdG9vIG11Y2gsIGV2ZW4gdGhvdWdoIHRoaXMgd29ya3MgYXMgQ1JPUCBpbXBseSBoYXZpbmcgVklERU8KCSAgbWV0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjI1NQoKMjAxNC0wNC0yMyAxMToxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogVXNlIHRoZSBwaXhlbC1hc3BlY3QtcmF0aW8gYWRqdXN0ZWQgd2lkdGgvaGVpZ2h0IHdoZW4gY2VudGVyaW5nIHRoZSBmcmFtZSBpbiB0aGUgZGlzcGxheSBhcmVhCgkgIE1ha2VzIHN1cmUgd2UgYWN0dWFsbHkga2VlcCB0aGUgZGlzcGxheSBhc3BlY3QgcmF0aW8KCjIwMTQtMDQtMjMgMTA6NTU6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IEJ5IGRlZmF1bHQga2VlcCB0aGUgZGlzcGxheSBhc3BlY3QgcmF0aW8KCSAgQWxzbyB0aGUgZGVmYXVsdCBmb3IgdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBzaG91bGQgYmUgMS8xLCBub3QgMC8xLgoKMjAxNC0wNC0yMyAxMDo0Mjo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogRmx1c2ggcHJvZ3JhbSBlbmQgY29kZSBieXRlcwoJICBUaGlzIHNob3VsZCBub3QgaGFybSByZWd1bGFyIGZpbGVzLCBzaW5jZSB0aG9zZSBhcmUgdGhlIGxhc3QgNCBieXRlcyBvZgoJICBhIG5vcm1hbCBmaWxlLgoJICBUaGlzIGFsbG93cyB0byBoYW5kbGUgcGxheWJhY2sgb2YgY29uY2F0ZW5hdGVkIG1wZWctcHMgZmlsZXMuIFNlZWtpbmcgYW5kCgkgIGR1cmF0aW9uIHJlcG9ydGluZyBpcyBzdGlsbCB3cm9uZyB0aG91Z2guCgoyMDE0LTA0LTIzIDEwOjI3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBnbHRlc3RzcmM6IFVucmVmIGNvbnRleHQgd2hlbiBjcmVhdGlvbiBmYWlsZWQgYW5kIGd1YXJkIGFnYWluc3QgdGhhdCBpbiBmaWxsKCkKCjIwMTQtMDQtMjMgMTA6MjQ6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2xpbWFnZXNpbms6IENhbGwgZ3N0X29iamVjdF91bnJlZigpIG9uIHRoZSBHc3RHTCBHT2JqZWN0cyBhZ2FpbgoJICBXaGlsZSB0aGV5J3JlIHBsYWluIEdPYmplY3RzIGl0IGRvZXMgbm90IGh1cnQgdG8gY2FsbCBnc3Rfb2JqZWN0X3VucmVmKCkKCSAgb24gdGhlbSBhbmQgcG90ZW50aWFsbHkgYWxsb3dzIHRvIGRlYnVnIHJlZmVyZW5jZSBsZWFrcyBhIGJpdCBlYXNpZXIuCgoyMDE0LTA0LTIzIDEwOjAwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBJZiBjcmVhdGluZyBhIGNvbnRleHQgb3IgdXBsb2FkIGZhaWxlZCwgZGVzdHJveSBpdAoJICBGaXhlcyBkZWFkbG9ja3MgaW4gZXJyb3IgY2FzZXMgd2hlbiBsYXRlciBjb2RlIGFzc3VtZXMgdGhlIGJyb2tlbgoJICBjb250ZXh0IGlzIGFjdHVhbGx5IHVzYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyODc2MQoKMjAxNC0wNC0yMiAxMjo1Njo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBkZWFkIGNvZGUgYW5kIHNpbXBsaWZ5IGlmIHN0YXRlbWVudAoJICBDSUQgMTIwNDI3NAoKMjAxNC0wNC0yMSAxMzoxNTozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBmaXggTVAyIGNhc2UKCSAgVGVzdGluZyBtcGVndmVyc2lvbiB3aGVuIG1wZWdhdWRpb3ZlcnNpb24gd2FzIGxpa2VseSBtZWFudC4KCSAgU2ltaWxhciB0ZXN0cyBpbiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmMgYWxzbyB0ZXN0CgkgIG1wZWdhdWRpb3ZlcnNpb24gd2l0aCB0aGUgc2FtZSBjb25kaXRpb25hbCBjb2RlLgoJICBDb3Zlcml0eSAyMDYwNzEKCjIwMTQtMDQtMjEgMTA6MzY6NTUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogZ3VhcmQgYWdhaW5zdCBkaXZpZGluZyBieSB6ZXJvCgkgIElmIGZyYW1lcmF0ZSBpcyB1bmtub3duLCB3ZSB3cml0ZSB0aGUgbWF4aW11bSBmcmFtZXJhdGUKCSAgYWxsb3dlZCBmb3IgdGhpcyBwcm9maWxlL2xldmVsOgoJICBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvZHJhZnQtaWV0Zi1hdnQtcnRwLXZjMS0wNiNzZWN0aW9uLTYuMQoJICBodHRwOi8vd2lraS5tdWx0aW1lZGlhLmN4L2luZGV4LnBocD90aXRsZT1WQy0xI1NldHVwX0RhdGFfLjJGX1NlcXVlbmNlX0xheWVyCgkgIENvdmVyaXR5IDExMzk2OTQKCjIwMTQtMDQtMjEgMTA6MDc6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBndWFyZCBhZ2FpbnN0IGRpdmlkaW5nIGJ5IDAKCSAgVXNlIGEgcGxhY2Vob2xkZXIgdmFsdWUgaW4gdGhhdCBjYXNlLCBpdCdzIGJldHRlciB0aGFuIGNyYXNoaW5nLgoJICBDb3Zlcml0eSAxMTM5Njk3CgoyMDE0LTA0LTIxIDA5OjUxOjE5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbDogYSBjb3VwbGUgc3BlbGxpbmcvZ3JhbW1hciBmaXhlcwoKMjAxNC0wNC0yMSAwOTo1MDoxOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgZ2w6IGd1YXJkIGFnYWluc3QgdXNpbmcgYSBOVUxMIHdpbmRvdyBwb2ludGVyCgkgIENvdmVyaXR5IDExOTUxNDUKCjIwMTQtMDQtMjEgMDk6NDc6MDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIGdsOiBwcmV2ZW50IGRpdmlzaW9uIGJ5IDAgb24gdW5zdXBwb3J0ZWQgdGV4dHVyZSB0eXBlCgkgIENvdmVyaXR5IDExOTk2OTcKCjIwMTQtMDQtMjEgMjI6MDE6NDcgKzEwMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsY29sb3Jjb252ZXJ0OiBGaXggYnQ3MDkgY29udmVyc2lvbiBtYXRyaWNlcy4KCSAgRml4IHRoZSBzaWduIG9uIG9uZSBlbnRyeSBpbiB0aGUgYnQuNzA5IFlVVi0+UkdCIGNvbnZlcnNpb24KCSAgbWF0cml4LCBhbmQgdGhlIGNvcnJlc3BvbmRpbmcgaW52ZXJzZSBtYXRyaXguIEZpeGVzIHJlYWxseQoJICB3cm9uZyBjb2xvdXJpbmcgb2Ygc29tZSB2aWRlb3MuCgoyMDE0LTA0LTE3IDA5OjU4OjQ3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggdGVzdCBmb3IgcHJvcGVyIHVzZSBjb3VudCBiYWxhbmNpbmcKCSAgdXNlY291bnQgaXMgdW5zaWduZWQsIHNvIHRvbyBtYW55ICJ1bnVzZSIgd2lsbCB3cmFwIHRoZSBjb3VudGVyCgkgIGFyb3VuZCBhbmQgdGhlID49IDAgY2hlY2sgd2lsbCBhbHdheXMgYmUgZmluZS4KCSAgSXQgd291bGQgYmUgbXVjaCBzaW1wbGVyIHRvIGp1c3QgbWFrZSB0aGUgY291bnRlciBzaWduZWQsIGJ1dAoJICBtb3ZpbmcgdGhlIGNoZWNrcyB3aGVyZSB0aGUgZGVjcmVtZW50cyBoYXBwZW4gYWxsb3cgYSBtaXN0YWtlCgkgIHRvIGJlIGRldGVjdGVkIGVhcmxpZXIsIGFuZCB0aHVzIGVhc2llciB0byBkZWJ1Zy4KCSAgQ292ZXJpdHkgMTEzOTc5MQoKMjAxNC0wNC0xNyAwOTozNTozNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBndWFyZCBhZ2FpbnN0IE5VTEwgbm9uIHNvdXJjZSBjb21wb25lbnRzCgkgIFRoaXMgY29tcG9uZW50IGlzIGRlcmVmZXJlbmNlZCwgYW5kIGxhdGVyIGNvZGUgY2hlY2tpbmcgZm9yCgkgIE5VTEwgaW4gcGFydGljdWxhciBjYXNlcyBpbXBsaWVzIGl0IGNhbiBiZSBOVUxMLiBUaGlzIGxpa2VseQoJICBkb2VzIG5vdCBmaXggdGhlIGNvdmVyaXR5IHdhcm5pbmcgYXMgaXQgd2FzIHNlZWluZyBhbm90aGVyCgkgIHBhdGggc2V0dGluZyBjb21wb25lbnQgdG8gTlVMTCBleHBsaWNpdGVseSwgYnV0IHRoaXMgd2FzCgkgIHNwb3R0ZWQgYnkgbG9va2luZyBhdDoKCSAgQ292ZXJpdHkgMTEzOTczNgoJICBXaGljaCBpcyBhY3R1YWxseSBPSyBmcm9tIHdoYXQgSSBjYW4gc2VlIHNpbmNlIHRoZSBhY3R1YWwKCSAgZGVyZWZlcmVuY2Ugb2YgdGhlIGV4cGxpY2l0IE5VTEwgcG9pbnRlciB3aWxsIG5vdCBoYXBwZW4KCSAgaWYgdGhlIGNvbmRpdGlvbiB0aGF0IGxlZCB0byB0aGUgTlVMTCBwb2ludGVyIGFzc2lnbm1lbnQKCSAgaXMgbWV0LCBzaW5jZSB0aGUgYXNzaWdubWVudCBhbmQgZGVmZWZlcmVuY2UgaGF2ZSBtdXR1YWxseQoJICBleGNsdXNpdmUgdGVzdHMuCgoyMDE0LTA0LTE3IDA5OjI2OjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBjYXRjaCBlcnJvcnMgaW4gY2FwcyBtYW5pcHVsYXRpb24KCSAgQ292ZXJpdHkgMTEzOTYyMgoKMjAxNC0wNC0xOCAyMDoxMjozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBmaXggY29tcGxpZXIgZXJyb3IgdXNpbmcgZml4ZWQgbGVuZ2h0IGFycmF5cwoKMjAxNC0wNC0xOCAxODoxMjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogZGV0ZWN0IGFuZCBwcm9wYWdhdGUgcmVzb2x1dGlvbiBjaGFuZ2VzLgoJICBEZXRlY3QgcmVzb2x1dGlvbiBjaGFuZ2VzIG9uIGtleSBmcmFtZXMsIGFuZCBwcm9wYWdhdGUgdGhlIHJlc3VsdGluZwoJICBjYXBzIHRvIHRoZSBzcmMgcGFkLiBPbmx5IHRoZSB1bmNvbXByZXNzZWQgZGF0YSBjaHVuayBpcyBkZWNvZGVkLCBzbwoJICBhdm9pZCB1c2luZyB0aGUgbmV3IFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5IGZvciBub3cuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDQtMTggMTc6MzQ6MDggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IGF2b2lkIHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8gd2hlbiBjYWxjdWxhdGluZyBQVFMuCgkgIEF2b2lkIHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8gd2hpbGUgZGVyaXZpbmcgdGhlIHByZXNlbnRhdGlvbiB0aW1lc3RhbXAKCSAgb2YgdGhlIGJ1ZmZlci4gVGhlIGJhc2UgY2xhc3Mgd2lsbCB0YWtlIGNhcmUgb2YgYW55IGludGVycG9sYXRpb24gbmVlZHMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMTAtMjUgMDc6Mzg6NTMgKzA4MDAgIEhhbGxleSBaaGFvIDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGl2ZnBhcnNlOiBlbmFibGUgYnVpbGQuCgkgIERyb3AgYGl2ZnBhcnNlJyBlbGVtZW50IGZyb20gdGhlIG5vbi1wb3J0ZWQgc2V0IG9mIHBsdWdpbnMgaW4gY29uZmlndXJlLgoKMjAxNC0wMy0wNCAxNTo0Njo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA4NTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0yNCAwODozNzoxNiArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdnA4cGFyc2VyLXRlc3QuYzoKCSAgdGVzdHM6IGFkZCBzdGFuZGFsb25lIHByb2dyYW0gZm9yIFZQOCBwYXJzZXIuCgkgIEFkZCBzdGFuZGFsb25lIHRlc3QgYXBwbGljYXRpb24gdGhhdCBkZW1vbnN0cmF0ZXMgaG93IHRvIHVzZSB0aGUgbmV3CgkgIFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5LCB3aGlsZSBhbHNvIGFsbG93aW5nIHNpbXBsZSBkZWJ1Z2dpbmcvCgkgIHRyYWNpbmcgb2YgSVZGIGZpbGVzLgoJICBbY2xlYW4tdXBzLCB1cGRhdGVkIHRvIG5ldyBwYXJzZXIgQVBJXQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAxLTA4IDAyOjQ5OjAwICswODAwICBaaGFvLCBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZwOHBhcnNlci5jOgoJICB0ZXN0czogYWRkIHRlc3QgZm9yIFZQOCBiaXRzdHJlYW0gcGFyc2luZyBsaWJyYXJ5LgoJICBbdXBkYXRlZCB0byBuZXcgcGFyc2VyIEFQSV0KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0wOSAwOToyMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIGNvZGVjcGFyc2VyczogdnA4OiByZW5hbWUgZGJvb2xodWZmIHN5bWJvbHMuCgkgIFJlbmFtZSBWUDggZGJvb2xodWZmIHN5bWJvbHMgc28gdGhhdCB0byBhdm9pZCBjbGFzaGVzIHdpdGggbGlidnB4IHdoZW4KCSAgc3RhdGljIGxpbmtpbmcuCgoyMDE0LTA0LTA4IDEwOjMwOjA5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5BVVRIT1JTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5QQVRFTlRTOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2Rib29saHVmZi5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogdnA4OiBhZGQgR1N0cmVhbWVyIG5hdGl2ZSB1dGlsaXRpZXMuCgkgIEltcG9ydCBsaWJ2cHggMS4zLjAgcmFuZ2UgZGVjb2RlciBmaWxlcyAoZGJvb2xodWZmLltjaF0pIHRvIGltcGxlbWVudAoJICB0aGUgVlA4IHV0aWxpdGllcyBuYXRpdmUgaW50ZXJmYWNlLiBMaWtld2lzZSwgY29weSBhbmQgdXNlIHRoZSBkZWZhdWx0CgkgIGxpYnZweCBnZW5lcmF0ZWQgZW50cm9weSBwcm9iYWJpbGl0aWVzIHRhYmxlcy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMS0wOCAwMjo0OTowMCArMDgwMCAgWmhhbywgSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZwOHJhbmdlZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3ZwOHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIFZQOCBiaXRzdHJlYW0gcGFyc2VyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNzYwCgkgIFtyZWZhY3RvcmVkLCBhbW9uZyBvdGhlciBmaXhlc10KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wNC0xOCAxNjoyMzo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEltcHJvdmUgdHNfdG9fb2Zmc2V0IGNvZGUKCSAgKiBTZWFyY2ggaW4gY3VycmVudCBwZW5kaW5nIHZhbHVlcyBmaXJzdC4gRm9yIENCUiBzdHJlYW1zIHdlIGNhbiB2ZXJ5CgkgIGVhc2lseSBlbmQgdXAgaGF2aW5nIGp1c3Qgb25lIGluaXRpYWwgb2JzZXJ2YXRpb25zIGFuZCB0aGVuIG5vdGhpbmcKCSAgZWxzZSAoc2luY2UgdGhlIGJpdHJhdGUgZG9lc24ndCBjaGFuZ2UpLgoJICAqIFVzZSBvbmUgZ3JvdXAgd2hldGhlciB3ZSBhcmUgaW4gdGhhdCBncm91cCAqT1IqIGlmIHRoZXJlIGlzIG9ubHkKCSAgb25lIGdyb3VwLgoJICAqIElmIHRoZSBncm91cCB0byB1c2UgaXNuJ3QgY2xvc2VkIChwb2ludHMgYXJlIGJlaW5nIGFjY3VtdWxhdGVkIGluIHRoZQoJICBQQ1JPZmZzZXRDdXJyZW50KSwgdXNlIHRoZSBsYXRlc3QgZGF0YSBhdmFpbGFibGUgZm9yIGNhbGN1bGF0aW9uCgkgICogSWYgaW4gdGhlIHVubGlrZWx5bmVzcyB0aGF0IGFsbCBvZiB0aGlzICpzdGlsbCogZGlkbid0IHByb2R1Y2UgbW9yZQoJICB0aGFuIG9uZSBkYXRhIHBvaW50LCBqdXN0IHJldHVybiB0aGUgaW5pdGlhbCBvZmZzZXQKCjIwMTQtMDQtMTggMTY6MjA6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgdHNkZW11eDogRml4IHNjYWxpbmcgbWFjcm9zCgkgIFdoaWxlIHRoZSBjYWxjdWxhdGlvbiBkb25lIGluIHRoZXNlIG1hY3JvcyB3aWxsIHdvcmsgd2l0aCA2NGJpdAoJICBpbnRlZ2VycywgdGhleSB3aWxsIGZhaWwgaWYgd29ya2luZyB3aXRoIDMyYml0IGludGVnZXJzLgoJICBGb3JjZSB0aGUgc2NhbGluZyB1cCB0byBzb2x2ZSB0aGF0LgoJICBUaGlzIGFtYXppbmdseSBkaWRuJ3QgaW50cm9kdWNlIG1ham9yIGlzc3VlcyB1cCB0byBub3csIGJ1dCByZXN1bHRlZAoJICBpbiBib2d1cyB2YWx1ZXMgaW4gZGVidWcgbG9ncy4KCjIwMTQtMDQtMTggMTY6MTg6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBoYXJkLWZsdXNoIHRoZSBwYWNrZXRpemVyIG9uIGRpc2NvbnQgYnVmZmVycwoJICBEb2luZyBhIGhhcmQgZmx1c2ggb24gdGhlIHBhY2tldGl6ZXIgd2lsbCBkcm9wIGFsbCBvYnNlcnZhdGlvbnMsIHdoaWNoCgkgIHdpbGwgZXZlbnR1YWxseSBicmVhayBwdXNoLWJhc2VkIHNlZWtpbmcgKHdpdGggQllURVMgc2VnbWVudCkgc2luY2UKCSAgd2Ugd29uJ3Qga25vdyB3aGVyZSB0byBzZWVrIHRvIGFueW1vcmUgKG5ldyBkYXRhIHdvdWxkIGFsd2F5cyBiZQoJICBjb25zaWRlcmVkIGFzIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbSkuCgoyMDE0LTA0LTE2IDE2OjI1OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBjb3B5L3Bhc3RlIGVycm9yCgkgIFdlIHdhbnQgdG8gY2hlY2sgd2hldGhlciB0aGUgcmF0ZSBpcyBkaWZmZXJlbnQuIFdlIGNoZWNrIGNoYW5nZXMgaW4KCSAgbnVtZXJhdG9yICphbmQqIGRlbm9taW5hdG9yLgoJICBDSUQgIzExMzk2MzEKCSAgQ0lEICMxMTM5NjQyCgoyMDE0LTA0LTE2IDE2OjE5OjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBIYW5kbGUgZnJhY3Rpb24gcGFyc2luZyBmYWlsdXJlCgkgIEFuZCBwcm9wZXJseSBjbGVhbnVwL3Jlc2V0IHRoZSBzZWdtZW50IGJlZm9yZSByZXR1cm5pbmcgb24gZXJyb3JzCgkgIENJRCAjMjA2MDEyCgoyMDE0LTA0LTE2IDE2OjEyOjAyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBSZW1vdmUgdXNlbGVzcyBjaGVjawoJICBhIGd1aW50IHdpbGwgYWx3YXlzIHNtYWxsZXIgb3IgZXF1YWwgdG8gdGhlIG1heGltdW0gdmFsdWUgaXQgY2FuCgkgIGNvbnRhaW4KCSAgQ0lEICMyMDYwNDkKCjIwMTQtMDQtMDkgMTI6Mjc6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IGF2b2lkIGRlcmVmZXJlbmNpbmcgTlVMTCBtYXBwaW5nIGRhdGEgcG9pbnRlcgoJICBBbHNvIHVucmVmIGJ1ZmZlcnMgb24gZXJyb3IsIGFzIGl0IHNlZW1zIHRvIGJlIGRvbmUgaW4gb25lLCBidXQKCSAgbm90IGFsbCwgZXJyb3IgcGF0aHMuCgkgIFRoZSBOVUxMIHBvaW50ZXIgcGFydCBpcyBDb3Zlcml0eSAyMDYxMTIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg4OQoKMjAxNC0wNC0xNiAxNjowNzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogRml4IGlmKCkgY2hlY2sKCSAgaW50cm9kdWNlZCBieSBteSBwcmV2aW91cyBjb21taXQgOigKCjIwMTQtMDQtMTYgMTU6NDM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERldGVjdCBFR0wgaGVhZGVyIHByZXNlbmNlCgkgIEZpeGVzIHRoZSBidWlsZCBmb3IgQW5kcm9pZCwgYW5kIEkgc3VzcGVjdCBmb3Igb3RoZXIgc3lzdGVtcyB0b28uLi4KCjIwMTQtMDQtMTYgMTU6Mzc6NTcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkgIGR2Yi9jYW1zZXNzaW9uOiBEb24ndCBkbyBvcGVyYXRpb25zIG9uIHVuZXhpc3Rpbmcgc2Vzc2lvbnMKCSAgQ0lEICMyMDYxMTQKCjIwMTQtMDQtMTYgMTU6MzI6MzIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IEhhbmRsZSBzb2NrZXQoKSBmYWlsdXJlCgkgIENJRCAjMjA2MTc4CgoyMDE0LTA0LTE2IDE1OjIzOjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogSGFuZGxlIGZhaWx1cmUgdG8gZ2V0IHN0YXRpc3RpY3MgZnJvbSB0aGUgZGV2aWNlCgkgIENoZWNrIHRoZSBpb2N0bCByZXR1cm4gdmFsdWUgYW5kIGRvbid0IG91dHB1dCBib2d1cyB2YWx1ZXMuCgkgIENJRCAjMjA2MDE2CgoyMDE0LTA0LTE2IDE1OjE4OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogRG9uJ3QgY2xvc2UgYSBmZCB0aGF0IHdhc24ndCBvcGVuCgkgIFdlIGFyZSBoYW5kbGluZyB0aGUgZmFpbHVyZSBjYXNlcyBpbiB0aGlzIGJsb2NrIHdoZXJlIHRoZSBvcGVuIGZhaWxlZAoJICBDSUQgIzIwNjE3OQoKMjAxNC0wNC0xNiAxNToxNzowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IERvbid0IHRyeSB0byBhY2Nlc3MgTlVMTCBzdHJpbmcKCSAgQW5kIHJlZmFjdG9yIHRoZSBwaWQgc2V0dGluZyBjb2RlIHRvIGJlIGluIGl0cyBvd24gZnVuY3Rpb24gZm9yIGNsYXJpdHkKCSAgQ0lEICMyMDYzNzQKCjIwMTQtMDQtMTAgMTY6MDQ6MjEgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgZHZiIGNhIGlkZW50aWZpZXIgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAzOjA3ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHNjcmFtYmxpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NTYwCgoyMDE0LTA0LTEwIDE2OjAyOjA5ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzU2MAoKMjAxNC0wNC0xMCAxNjowMDo1MCArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IGFkZCBkYXRhIGJyb2FkY2FzdCBpZCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTAgMTU6NTk6NTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBhZGQgcHJpdmF0ZSBkYXRhIHNwZWNpZmllciBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc0MDMKCjIwMTQtMDQtMTYgMDk6MjA6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmI6IE1pbm9yIGNvZGUgc3R5bGUgZml4CgoyMDE0LTA0LTEwIDE1OjU4OjU1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIHBhcmVudGlhbCByYXRpbmcgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTEwIDE1OjU4OjA0ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogYWRkIGxpbmthZ2UgZGVzY3JpcHRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3NDAzCgoyMDE0LTA0LTE2IDAwOjI1OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZm9yIGxvb3AgaW5pdGlhbCBkZWNsYXJhdGlvbnMgYXJlIG9ubHkgYWxsb3dlZCBpbiBDOTkgbW9kZQoJICBGaXhlcyBjb21waWxlciB3YXJuaW5ncy4KCjIwMTQtMDQtMTUgMjA6NDc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSAgZWdsOiBBZGQgbGliZ3N0ZWdsIGFuZCBlZ2xnbGVzIHBsdWdpbiB0byB0aGUgQ1JVRlQgZGlyZWN0b3JpZXMKCjIwMTQtMDQtMTUgMTc6NTg6MzQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvQW5kcm9pZC5tazoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL1RPRE86CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGVnbC9lZ2xnbGVzc2luazogcmVtb3ZlIHNpbmNlIEVHTEltYWdlIGFuZCBpT1Mgc3VwcG9ydCBoYXZlIGJlZW4gYWRkZWQgaW4gZ2xpbWFnZXNpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjowODo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgZ2w6IGFsbG93IHRvIGluY2x1ZGUgR0xFUy9nbC5oCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDQtMTQgMDc6NTY6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoJICBXZSBzZXQgaXQganVzdCBhZnRlciB2YXJpYWJsZSBkZWNsYXJhdGlvbgoJICBDSUQgIzExOTc3MDkKCjIwMTQtMDQtMTMgMTk6MjA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLm06CgkgIGdsL2VhZ2w6IEZpeCBjb21waWxhdGlvbgoKMjAxNC0wNC0xMyAxNjo1Mzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSAgZ2wvZWFnbDogTm90aWZ5IHRoZSB3aW5kb3cncyByZXNpemUgY2FsbGJhY2sgYWJvdXQgc3VyZmFjZSBkaW1lbnNpb24gY2hhbmdlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI4MTA3CgoyMDE0LTA0LTEzIDE2OjQ2OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wuaDoKCSAgZ2wvZWFnbDogUmVtb3ZlIHNwdXJpb3VzIHByaXZhdGUgc3RydWN0IHBvaW50ZXIKCjIwMTQtMDQtMTMgMTY6NDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJICBnbC9hbmRyb2lkOiBOb3RpZnkgdGhlIHdpbmRvdydzIHJlc2l6ZSBjYWxsYmFjayBhYm91dCBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjgxMDcKCjIwMTQtMDQtMTMgMjI6MTY6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBnbGltYWdlc2luazogcmVtb3ZlIHVudXNlZCB0ZXh0dXJlCgoyMDE0LTA0LTEzIDIyOjE0OjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgZ2xpbWFnZXNpbms6IG1vdmUgdXBsb2FkIGludG8gX3ByZXBhcmUoKQoKMjAxNC0wNC0xMyAxMzo0OToyMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIGdsL2NvbnRleHQ6IG91dHB1dCBhdmFpbGFibGUgZXh0ZW5zaW9ucwoKMjAxNC0wNC0xMyAxMzozOToxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSAgZ2wvY29udGV4dDogcHJvdmlkZSBnZXRfZ2xfdmVyc2lvbgoKMjAxNC0wNC0xMyAwMDoyMTowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuYzoKCSAgZ2wvY29sb3I6IHJlc3RvcmUgdmlld3BvcnQgZGltZW5zaW9ucyB3aGVuIGZibyBkb25lCgkgIFJlZ3Jlc3Npb24gaW50cm9kdWNlZCBieSA5NWFiZmRhMTM5OWJjZGRiZWUzNDVkNDU0MmU4NTdkNzQzOTY1NDc3LgoJICBJdCBjYXVzZWQgdG8gZGlzcGxheSB0aGUgd3JvbmcgZnJhbWUgc2l6ZSB3aGVuIHJlc2l6aW5nIHRoZSB3aW5kb3cuCgoyMDE0LTA0LTEyIDIyOjQ1OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VhZ2wvZ3N0Z2xjb250ZXh0X2VhZ2wubToKCSAgZ2w6IEltcG9ydCBRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaCBmb3IgQ0FFQUdMTGF5ZXIgb24gb2xkZXIgaU9TIHZlcnNpb25zCgoyMDE0LTA0LTEyIDIyOjE1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdG9wZW5nbC5jOgoJICBnbDogU2V0IGdsaW1hZ2VzaW5rIHJhbmsgdG8gU0VDT05EQVJZCgkgIFRoaXMgaXMgYSBmdWxsLWZlYXR1cmVkIHZpZGVvIHNpbmsgbm93IGFuZCBlc3BlY2lhbGx5IHNob3VsZCBiZQoJICB1c2VkIGluc3RlYWQgb2Ygb3N4dmlkZW9zaW5rIG9uIE9TWCBpZiBhdmFpbGFibGUuCgoyMDE0LTA0LTEyIDIxOjQzOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbGNvbnRleHRfZWFnbC5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWFnbC9nc3RnbHdpbmRvd19lYWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lYWdsL2dzdGdsd2luZG93X2VhZ2wubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBnbDogQWRkIHN1cHBvcnQgZm9yIGlPUyBFQUdMIHBsYXRmb3JtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDEKCjIwMTQtMDQtMTIgMTc6MzM6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIGdsL2NvY29hOiBtYWtlIGdzdF9nbF93aW5kb3dfY29jb2Ffc2VuZF9tZXNzYWdlX2FzeW5jIHJlLWVudHJhbnQKCSAgQmFja2VuZHMgdGhhdCB1c2UgZ19tYWluX2NvbnRleHRfaW52b2tlIGFyZSByZS1lbnRyYW50LgoJICBJbCBhbGxvd3MgdG8gY2FsbCB0d28gbmVzdGVkIGdzdF9nbF9jb250ZXh0X3RocmVhZF9hZGQuCgkgIGV4OiBpbml0X3VwbG9hZCAvIGluaXRfY29sb3Jjb252ZXJ0CgoyMDE0LTA0LTEyIDE3OjAxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIGdsaW1hZ2VzaW5rOiBGaXJzdCBoYW5kbGUgR0wgd2luZG93IHNldHVwLCB0aGVuIGNyZWF0ZSB0aGUgY29udGV4dCBhbmQgaXRzIHRocmVhZAoKMjAxNC0wNC0xMiAxNTo1MTo0NyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkgIGdsL2NvY29hOiBmaXggTlNBdXRvcmVsZWFzZVBvb2wgaW5pdGlhbGl6YXRpb24KCjIwMTQtMDQtMTIgMTI6NDI6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IGVuc3VyZSB0byBjYWxsIE5TQXBwbGljYXRpb246c2hhcmVkQXBwbGljYXRpb24gaW4gdGhlIG1haW4gdGhyZWFkCgkgICIoTlNBcHBsaWNhdGlvbiAqKXNoYXJlZEFwcGxpY2F0aW9uIFRoaXMgbWV0aG9kIGFsc28gbWFrZXMgYSBjb25uZWN0aW9uCgkgIHRvIHRoZSB3aW5kb3cgc2VydmVyIGFuZCBjb21wbGV0ZXMgb3RoZXIgaW5pdGlhbGl6YXRpb24iCgkgIFRoZSBpbXBsaWNpdCB0aGluZyB3aGljaCBpcyBub3QgbWVudGlvbmVkIGlzIHRoYXQgaXQgcmVxdWlyZWQKCSAgdG8gYmUgY2FsbGVkIGluIHRoZSBtYWluIHRocmVhZC4KCSAgRml4IGEgcmVncmVzc2lvbiBpbnRyb2R1Y2VzIGJ5IDgyYjdjOTE1YmIwMmE5NzkwZDI1NmQ1OTk0NTJlNWE1NGFmZGE2MzMKCSAgV2hlbiB1c2luZyB3aXRoIGdzdC1sYXVuY2gsIGl0IHdhcyBub3QgcG9zc2libGUgdG8gY2xpY2sgb24gdGhlIGNsb3NlCgkgIGNyb3NzIG9mIHRoZSB3aW5kb3cgYW55bW9yZSB3aGljaCBpcyBhIGJpdCBhbm95aW5nIGFuZCBhbHNvIGJlY2F1c2UKCSAgaXQncyB3YXMgcG9zc2libGUgYmVmb3JlLgoJICBQcmlvciB0byB0aGlzIGNvbW1pdCB0aGUgR3N0R0xDb250ZXh0Q29jb2FDbGFzcyB3YXMgaW5pdGlhbGl6ZWQKCSAgaW4gdGhlIG1haW4gdGhyZWFkIGJlY2F1c2UgZ3N0X2dsX2NvbnRleHRfbmV3IHdhcyBjYWxsZWQgaW4gdGhlCgkgIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmcm9tIGdvaW5nIGZyb20gcmVhZHkgdG8gcGF1c2VkLgoJICBGcm9tIHRoaXMgY29tbWl0IHRoaXMgY2FsbCBpcyBkb25lIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIFNvIHRoYXQgdGhlIGNhbGwgdG8gW05TQXBwbGljYXRpb24gc2hhcmVkQXBwbGljYXRpb25dOwoJICB3YXMgbm90IGRvbmUgaW4gdGhlIG1haW4gdGhyZWFkIGFueW1vcmUuCgkgIFdlIG5vdyBlbnN1cmUgdGhhdCBieSBhc3N1bWluZyB0aGVyZSBpcyBhIEdNYWluTG9vcCBydW5uaW5nLgoJICBJdCdzIGZvciBkZWJ1Z2dpbmcgcHVycG9zZSBzbyB0aGF0J3Mgb2sgdG8gZG8gdGhhdC4gQWxzbwoJICBub3RlIHdlIGFscmVhZHkgZG8gdGhpcyBhc3N1bXRpb24gdG8gcnVuIGFwcCBpdGVyZWF0aW9ucy4KCSAgVGhlIHJlZ3Jlc3Npb24gaGFkIG5vIGNvbnNlcXVlbmNlIG9uIHRoZSBjb2NvYS92aWRlb292ZXJsYXkgZXhhbXBsZQoJICAodGhhdCBzaG91bGQgYmUgbW92ZWQgZnJvbSBnc3QtcGx1Z2lucy1nbCB0byAtYmFkKSBiZWNhdXNlIHRoZQoJICBhcHBsaWNhdGlvbiBpcyByZXNwb25zaWJsZSBmb3IgdGhhdCBuZWNlc3NhcnkgY2FsbC4KCjIwMTQtMDQtMTIgMTQ6NDA6NDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBmaXggd2FybmluZyB0eXBlIHF1YWxpZmllcnMgaWdub3JlZAoJICBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICAid2FybmluZzogdHlwZSBxdWFsaWZpZXJzIGlnbm9yZWQgb24gZnVuY3Rpb24gcmV0dXJuIHR5cGUiCgoyMDE0LTA0LTEyIDE4OjI0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbC9jb2xvcjogcmVtb3ZlIGlmIHN0YXRlbWVudCB3aXRoIG5vIGVmZmVjdAoJICBDb3Zlcml0eSAxMTk5Njk4CgoyMDE0LTA0LTEyIDE4OjE2OjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb2xvcmNvbnZlcnQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL2NvbG9yOiBwYXNzIGxhcmdlIHZhbHVlIGJ5IHJlZmVyZW5jZQoJICBDb3Zlcml0eSAxMTk5NzAwCgoyMDE0LTA0LTAyIDEyOjU5OjU4IC0wNzAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cGRlYzogZml4IGFzc2VydGlvbiBjaGVja2luZyBzc3JjIGZyb20gcnRjcCBwYWNrZXRzCgkgIHJ0Y3BfYnVmZmVyX2dldF9zc3JjIGlzIGNhbGxlZCBldmVuIHdpdGggUlRQIGJ1ZmZlcnMuIHRoaXMgbWVhbnMgd2UKCSAgbWlnaHQgZW5kIHVwIHdpdGggYW4gZXhjZXB0aW9uIGFuZCBub3QgZmluZCBhbnkgdmFsaWQgUlRDUCBwYWNrZXQgdHlwZQoJICBhbmQgdGh1cyBoaXQgR1NUX1JUQ1BfVFlQRV9JTlZBTElELiB3ZSBub3cgdGFrZSBjYXJlIG9mIHRoaXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03Mjc1MTIKCjIwMTQtMDQtMTEgMTI6Mjk6MTcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkgIGpwMmtkZWNpbWF0b3I6IGZpeCBtYXliZS11bmluaXRpYWxpemVkIGNvbXBpbGVyIGVycm9yCgoyMDE0LTA0LTExIDExOjM0OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBtcGVndHNtdXg6IFJlbW92ZSB1bm5lZWRlZCB1bnJlZgoJICBwYWNrZXRfYnVmZmVyIGhhcyBhbHJlYWR5IGJlZW4gY2xlYXJlZCBpbiBhbGwgY29kZSBwYXRocyBsZWFkaW5nCgkgIHRvIHRoaXMgcG9pbnQuCgkgIENJRCAjMTE5OTY5NgoKMjAxNC0wNC0xMSAwODozOToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEhhbmRsZSBzeW1ib2xzIGFkZGVkIGluIG1pbm9yIHZlcnNpb24gNyBhbmQgOAoJICBTb21lIHN5bWJvbHMgd2VyZSByZS1kZWZpbmVkIGluIG1pbm9yIHY4IChHTyBURUFNIEJBQ0tXQVJEUyBDT01QQVRJQkxFISkKCSAgU29tZSBzeW1ib2xzIHdlcmUgYWRkZWQgaW4gbWlub3IgdjcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzk3NwoKMjAxNC0wNC0xMSAxNzoyNDozOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIGdsL21lbTogY2FjaGUgdGhlIHN0cmlkZS91bnBhY2sgbGVuZ3RoIGZvciB1cGxvYWQKCjIwMTQtMDQtMTEgMTc6MjM6MzIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBleHBsaWNpdGx5IG1hcCB0aGUgYnVmZmVycyB3ZSBhcmUgY29weWluZyBpbnRvCgkgIE90aGVyd2lzZSBpdCBtYXkgbm90IGJlIGRvd25sb2FkZWQgYXQgYWxsLgoKMjAxNC0wNC0xMSAwODoxNjowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEFkZCBjb21tZW50IHdpdGggYWxsIERWQiBBUEkgdjUgbWlub3IgY2hhbmdlcwoJICBUaGVyZSB3YXNuJ3QgYSBkZWZpbml0ZSBsaXN0IGFueXdheSwgc28gSSBqdXN0IGRvdmUgaW4gdGhlIGtlcm5lbAoJICBhbmQgZXh0cmFjdCBhbGwgdGhhdCBpbmZvcm1hdGlvbi4KCjIwMTQtMDQtMTEgMTY6MDk6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsL2NvbG9yOiBjYWNoZSB0aGUgdGVtcG9yYXJ5IHRleHR1cmVzCgoyMDE0LTA0LTExIDExOjA0OjQzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBnbC9tZW06IHByb3ZpZGUgZGVmaW5lcyBmb3IgdG9rZW5zIG5vdCBkZWZpbmVkIGluIEdMRVMyL2FuY2llbnQgcGxhdGZvcm1zCgoyMDE0LTA0LTExIDExOjAzOjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5jOgoJICBnbDogZml4dXAgaW5jb3JyZWN0IG51bWJlciBvZiBhcmd1bWVudHMKCjIwMTQtMDQtMTEgMTA6NTU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkgIGdsOiBmaXggaW5jb3JyZWN0IHVzYWdlIG9mIGdfcmV0dXJuX2lmX2ZhaWwKCjIwMTQtMDQtMDIgMTc6NDM6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbC9tZW06IGFsbG9jYXRlIHRoZSBtZW1vcnkgcGVyIHBsYW5lCgkgIFRoaXMgcGF0Y2ggcHJvdmlkZXMgdGhlIGJhc2ljIGluZnJhc3RydWN0dXJlIHJlcXVpcmVkIGZvciB0aGlzLgoJICBVcGxvYWQgYW5kIERvd25sb2FkIGhhcyBiZWVuIHBvcnRlZCB0byB0aGlzLgoJICBIYXMgdGhlIG5pY2UgZWZmZWN0IG9mIGFsbG93aW5nIEdzdEdMTWVtb3J5IHRvIGJlIG91cgoJICByZWZjb3VudGVkIHRleHR1cmUgb2JqZWN0IGZvciBhbnkgdGV4dHVyZSB0eXBlIChub3QganVzdCBSR0JBKS4KCSAgU2hvdWxkIG5vdCBsb3NlIGFueSBmZWF0dXJlcy92aWRlbyBmb3JtYXRzLgoKMjAxNC0wNC0wMSAxNToxMDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGVnbGltYWdlbWVtb3J5LmM6CgkgIGdsL2VnbGltYWdlOiAjaWYgMCB1bnVzZWQgY29kZQoKMjAxNC0wNC0wMSAxMzozMDo1MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29sb3Jjb252ZXJ0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbG9yY29udmVydC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBnbDogYWRkIGNvbG9yY29udmVydCBvYmplY3QgdGhhdCBjb252ZXJ0cyBiZXR3ZWVuIGNvbG9yIHNwYWNlcy9mb3JtYXRzCgkgIEN1cnJlbnRseSB1c2VkIGJ5IGJvdGggdXBsb2FkIGFuZCBkb3dubG9hZCBvYmplY3RzIHNlcGFyYXRlbHkuCgoyMDE0LTA0LTEwIDE3OjU1OjIxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IGZhYWMgQVBJIGVycm9yIGNoZWNraW5nCgkgIENvdmVyaXR5IDExMzk3OTAKCjIwMTQtMDQtMTAgMTc6NTI6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIGRhc2hkZW11eDogZG8gbm90IGlnbm9yZSBmYWlsdXJlIHRvIHJlZ2lzdGVyIHR5cGVmaW5kZXIKCSAgQ292ZXJpdHkgMTEzOTYyOQoKMjAxNC0wNC0xMCAxNzo0ODowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdGltZSBsZWFrCgkgIENvdmVyaXR5IDExNDcwMTYKCjIwMTQtMDQtMTAgMTc6NDQ6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGRlYWQgY29kZSBhbmQgdmFyaWFibGUKCSAgQSByZWNlbnQgY29tbWl0IG1hZGUgc3RyZWFtIG5vdCBhYmxlIHRvIGJlIE5VTEwsIGVuZGluZyB1cCB3aXRoCgkgIGEgZmxhZyBiZWluZyBhbHdheXMgc2V0IHRvIEZBTFNFIHdoZW4gaXQgbWF0dGVycy4KCSAgQ292ZXJpdHkgMTE0Njk2OCwgMTE0NzAxMgoKMjAxNC0wNC0xMCAxNzozNzoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybDogcmVtb3ZlIHVubmVlZGVkIE5VTEwgY2hlY2sKCSAgV2UganVzdCBjaGVja2VkIGZvciBOVUxMIGFuZCBhbGxvY2F0ZWQgaWYgaXQgd2FzLiBBbmQgZ2xpYiBhYm9ydHMKCSAgaWYgaXQgY2FuJ3QgYWxsb2NhdGUsIEknbSB0b2xkLgoJICBDb3Zlcml0eSAxMTM5ODQxCgoyMDE0LTA0LTEwIDE3OjMzOjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsOiByZW1vdmUgZHVwbGljYXRlIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTE5NzcwOAoKMjAxNC0wNC0xMCAxNjo1Mzo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gdXBkYXRlIHRoZSBzZXF1ZW5jZSBwb3NpdGlvbiB3aGVuIHVwZGF0aW5nIG5vbi1saXZlIHBsYXlsaXN0cwoKMjAxNC0wNC0xMCAxNDo1OTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFRyeSByZWxvYWRpbmcgdGhlIHBsYXlsaXN0IGZpcnN0IGlmIGRvd25sb2FkaW5nIGEgZnJhZ21lbnQgZmFpbHMKCSAgQnV0IG9ubHkgYWRkIHRoaXMgZm9yIG5vbi1saXZlIHBsYXlsaXN0cy4gRm9yIGxpdmUgcGxheWxpc3RzIHdlIGFscmVhZHkKCSAgaGF2ZSBhbm90aGVyIHRocmVhZCB0aGF0IGlzIHBlcmlvZGljYWxseSB1cGRhdGluZyBwbGF5bGlzdHMuCgkgIFJlYXNvbiBmb3IgdGhpcyBpcyB0aGF0IHNvbWV0aW1lcyBkb3dubG9hZGluZyBhIGZyYWdtZW50IGNhbiBmYWlsIGJlY2F1c2UKCSAgdGhlIFVSSXMgaGF2ZSBjaGFuZ2VkIG9yIGV4cGlyZWQgc2luY2UgbGFzdCB0aW1lLgoKMjAxNC0wNC0xMCAxNDo0NjowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdoZW4gdXBkYXRpbmcgYSBub24tbGl2ZSBwbGF5bGlzdCBtYWtlIHN1cmUgdG8gZmluZCB0aGUgY3VycmVudCBzZXF1ZW5jZSBieSB0aW1lCgkgIFNlcXVlbmNlIG51bWJlcnMgaW4gZGlmZmVyZW50IHBsYXlsaXN0cyBhcmUgbm90IGd1YXJhbnRlZWQgdG8gYmUgdGhlIHNhbWUgZm9yIHRoZQoJICBzYW1lIHBvc2l0aW9uLCBlLmcuIGZyYWdtZW50cyBjb3VsZCBoYXZlIGRpZmZlcmVudCBkdXJhdGlvbnMgaW4gZGlmZmVyZW50IHBsYXlsaXN0cy4KCSAgSW4gdGhlb3J5IHdlIHNob3VsZCBkbyBleGFjdGx5IHRoZSBzYW1lIGZvciBsaXZlIHBsYXlsaXN0cywgYnV0IHVuZm9ydHVuYXRlbHkgd2UgY2FuJ3QKCSAgYmVjYXVzZSBkb2luZyB0aGlzIGtpbmQgb2Ygc2Vla2luZyByZXF1aXJlcyB0aGUgY29tcGxldGUgcGxheWxpc3Qgc2luY2Ugd2Ugc3RhcnRlZAoJICBwbGF5YmFjay4gRm9yIGxpdmUgcGxheWxpc3RzIHRoZSBzZXJ2ZXIgaXMgaG93ZXZlciBkcm9wcGluZyBmcmFnbWVudHMgaW4gdGhlIGJlZ2lubmluZwoJICBvdmVyIHRpbWUgYW5kIHdlIGhhdmUgbm8gYWJzb2x1dGUgdGltZSByZWZlcmVuY2VzLgoKMjAxNC0wNC0wOSAxNzoyODo0OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIHNtb290aHN0cmVhbWluZzogYXZvaWQgdXNpbmcgYW4gdW5pbml0aWFsaXplZCBtYW5pZmVzdAoJICBJZiB3ZSBkaWQgbm90IHNldCB0aGUgbWFuaWZlc3QgeWV0LCBlYXJseSBvdXQgaW4gdGhlIHNlZWtpbmcgcXVlcnkuCgkgIENvdmVyaXR5IDExMzk3MzcKCjIwMTQtMDMtMTcgMTY6Mzk6NDIgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRzYXVuaWVyQGdub21lLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IFNldCBmcmFtZXJhdGUgZXZlbiBmb3IgaW50ZXJsYWNlZCB2aWRlb3MKCSAgQ28tQXV0aG9yZWQgYnk6IE1hdGhpZXUgRHVwb25jaGVsbGUgPG1hdGhpZXUuZHVwb25jaGVsbGVAb3BlbmNyZWVkLmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjc1MgoKMjAxNC0wNC0wOSAxMDowNDo0NiArMDIwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1hdHNjLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBhZGQgYXRzYyB0ZXJyZXN0cmlhbCB2aXJ0dWFsIGNoYW5uZWwgdGFibGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzQ2MAoKMjAxNC0wNC0wOSAxNTowNzoxOSArMDIwMCAgU2FudGlhZ28gQ2Fyb3QtTmVtZXNpbyA8c2FuY2FuZUBnbWFpbC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IGZpeCBtZW1vcnkgbGVhayBxdWVyeWluZyBzaW5rIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg5NAoKMjAxNC0wNC0wOSAxODo0NDozOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogY2F0Y2ggZmFpbHVyZSB0byB3cml0ZSBwbGF5bGlzdCBmaWxlCgkgIENvdmVyaXR5IDExMzk2MTMKCjIwMTQtMDQtMDkgMTg6MzE6MzEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBmaXggaW1wbGljaXQgcHJvbW90aW9uIHRvIHNpZ25lZCBpbnQgYnJlYWtpbmcgb24gbGFyZ2Vpc2ggaW5wdXRzCgkgIENvdmVyaXR5IDExMzk4NTgsIDExMzk4NTcKCjIwMTQtMDQtMDkgMTg6MTY6NTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkgIGxhZHNwYTogcmVtb3ZlIGR1cGxpY2F0ZSBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExMzk3MDYKCjIwMTQtMDQtMDkgMTg6MTI6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IGZpeCBvcGVuIGVycm9yIGNoZWNraW5nCgkgIENvdmVyaXR5IDIwNjM2NAoKMjAxNC0wNC0wOSAxNzozNzo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgVGhlIHRhZyB3YXMgZGVyZWZlcmVuY2VkIGVhcmllci4gRnJvbSB0aGUgbGlic2Nocm9lZGluZ2VyIGNvZGUsCgkgIGl0J3Mgbm90IG9idmlvdXMgdG8gc2VlIHdoZXRoZXIgdGFnIGFuZCBmcmFtZSB3b3VsZCBiZSBOVUxMIGF0CgkgIHRoZSBzYW1lIHRpbWUuIEkgdGhpbmsgaXMgbGlrZWx5IHRoYXQgYm90aCB3aWxsIGJlIG5vbiBOVUxMCgkgIGhlcmUsIGJ1dCB0aGF0J3Mgbm90IGNlcnRhaW4uIEFkZGl0aW9uYWwgdGVzdHMgbWF5IGJlIG5lZWRlZAoJICB0byBhdm9pZCBkZXJlZmVyZW5jaW5nIHRhZyBhbmQvb3IgZnJhbWUsIGJ1dCB3aGF0IHRvIGRvIGlmCgkgIG9ubHkgb25lIGlzIE5VTEwgaXNuJ3Qgb2J2aW91cywgYXMgdGhlIF9nZXRfdGFnIGZ1bmN0aW9uIGRvZXMKCSAgdHJhbnNmZXIgb3duZXJzaGlwIHNvIGlzbid0IHVuZG9hYmxlLgoJICBDb3Zlcml0eSAxMTM5ODUwCgoyMDE0LTA0LTA5IDE3OjEwOjA2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgc21vb3Roc3RyZWFtaW5nOiByZW1vdmUgdW5uZWNlc3NhcnkgY2hlY2sKCSAgVGhlIGZ1bmN0aW9uIGlzIHN0YXRpYywgdGhlIG9ubHkgY2FsbCBzaXRlIHBhc3NlcyBhIG5vbiBOVUxMCgkgIHBvaW50ZXIsIGFuZCB0aGUgcG9pbnRlciBpcyBkZXJlZmVyZW5jZWQgYmVmb3JlIGFueXdheS4KCSAgQ292ZXJpdHkgMTEzOTgzOQoKMjAxNC0wNC0wOSAxNjo1NTozMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHA6IHJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCSAgQ292ZXJpdHkgMTE5NzcwNwoKMjAxNC0wNC0wOSAxNTo1NDoxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJICBtcGVndHM6IGZpeCBzZHQgbGVuZ3RoIGNoZWNrCgkgIEl0IHdhcyBvcmlnaW5hbGx5IHRlc3QgZm9yIDkgYnl0ZXMgKGFzIHRoZSBjb21tZW50IHNheXMpIGFuZCB3YXMKCSAgcmV3cml0dGVuIGJ1Z2dpbHkuIFNvIHJld3JpdGUgaXQgYSB0aGlyZCB3YXksIHdoaWNoIGlzIG5vdwoJICBob3BlZnVsbHkgY29uc2lzdGVudCB3aXRoIHRoZSBvcmlnaW5hbCBhbmQgdGhlIGNvbW1lbnQsIHdoaWxlCgkgIGJlaW5nIG1vcmUgc2Vuc2UtbWFraW5nIHRvIGh1bWFucy4KCSAgQ292ZXJpdHkgMTEzOTY1NAoKMjAxNC0wNC0wOSAxNjowMDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIFJldmVydCAidHNtdXg6IGNhdGNoIGFsbG9jIGZhaWx1cmUiCgkgIFR1cm5zIG91dCBnbGliIGFib3J0cyBvbiBhbGxvY2F0aW9uIGZhaWx1cmUsIHNvIHRoaXMgaXMgcG9pbnRsZXNzLgoJICBXZSdsbCBqdXN0IGlnbm9yZSBDb3Zlcml0eSB3YXJuaW5ncyBvbiBzdWNoIGNvbnN0cnVjdHMuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDM0NzgwOWE4MmUyNDA1NzMwMmY5NDgyNjkzOTJlNzZhYWFjZWExMC4KCjIwMTQtMDQtMDkgMTU6NTg6MzcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogdHVybnMgb3V0IGdsaWIgYWJvcnRzIG9uIGFsbG9jYXRpb24gZmFpbHVyZQoJICBTbyB0aGlzIGlzIGFjdHVhbGx5IHBvaW50bGVzcy4gV2UnbGwganVzdCBoYXZlIHRvIGlnbm9yZQoJICBDb3Zlcml0eSBtb2FuaW5nIG9uIHRob3NlLgoJICBSZXZlcnQgIm1wZWd0czogdGVzdCBmb3IgYWxsb2NhdGlvbiBmYWlsdXJlIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDIyNGNiODFiOGZjYmYwM2RmNWUwN2YwNDVlY2I5ZWNmNjQxODk0MDAuCgoyMDE0LTA0LTA5IDE1OjQ0OjEwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IHRlc3QgZm9yIGFsbG9jYXRpb24gZmFpbHVyZQoJICBXaGlsZSBpdCdzIHVubGlrZWx5IHRvIGdldCB0aGVyZSwgaXQgc2lsZW5jZXMgdGhlIGNvdmVyaXR5IHdhcm5pbmcKCSAgb24gdGhlIGVycm9yIGNvZGUgcGF0aCB0aGF0IHdlIHRlc3QgZm9yIE5VTEwgYmVmb3JlIGZyZWVpbmcsIHdoZW4KCSAgYWxsIGJyYW5jaGVzIHRoZXJlIGFyZSBmcm9tIGxvY2F0aW9ucyB3aGVyZSBwbXQgY2Fubm90IGJlIE5VTEwsCgkgIGFuZCByZW1vdmluZyB0aGUgTlVMTCBjaGVjayBtYWtlcyB0aGUgY29kZSBtb3JlIHZ1bG5lcmFibGUgdG8gYQoJICBoeXBvdGhldGljYWwgZnV0dXJlIGJyYW5jaCBmcm9tIHNvbWV3aGVyZSB3aGVyZSBpdCBjYW4gYmUuCgkgIENvdmVyaXR5IDExMzk4NTIKCjIwMTQtMDQtMDkgMTU6NDE6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiByZW1vdmUgdW5uZWNlc3NhcnkgdGVzdAoJICBXZSd2ZSBiZWVuIGRlcmVmZXJlbmNpbmcgdGhhdCBvYmplY3QgbGlrZSB0aGVyZSdzIG5vIHRvbW9ycm93CgkgIGluIHRoZSBjb2RlIGp1c3QgYmVmb3JlIHRoYXQuCgkgIENvdmVyaXR5IDIwNjM2OQoKMjAxNC0wNC0wOSAxNTozNzo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSAgYXNmbXV4OiByZW1vdmUgc3RyYXkgZ3N0X2J1ZmZlcl91bm1hcCBvbiBlcnJvciBwYXRoCgkgIEEgcHJldmlvdXMgY29tbWl0IHJlbW92ZWQgdGhlIG1hcCwgYW5kIHRoZSB1bm1hcCBvbiB0aGUgbWFpbgoJICBjb2RlIHBhdGgsIGJ1dCBub3QgdGhlIG9uZSBvbiB0aGUgZXJyb3IgcGF0aC4KCSAgQ292ZXJpdHkgMTEzOTkzMAoKMjAxNC0wNC0wOSAxNToyODowNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IHJlbW92ZSBkZWFkIGNvZGUKCSAgVGhvc2UgZXZlbnRzIHdlcmUgcHJldmlvdXNseSB0YWtlbiBmcm9tIGEgY2FjaGVkIGV2ZW50cyBsaXN0LAoJICB3aGljaCB3YXMgcmVtb3ZlZCBkdXJpbmcgdGhlIHBvcnQgdG8gMC4xMSwgYnV0IHRoaXMgYml0IHN0YXllZC4KCSAgQ292ZXJpdHkgMTEzOTY4NAoKMjAxNC0wNC0wOSAxNToyNDoxMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHJlbW92ZSB1bm5lZWRlZCBjaGVjawoJICBBIG1lc3NhZ2UgbWF5IG5vdCBiZSBOVUxMIGluIHRoZSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uCgkgIChhbmQgbm90aGluZyB0aGVyZSBzZXRzIGl0IHRvIE5VTEwpLgoJICBDb3Zlcml0eSAxMTM5ODQ4CgoyMDE0LTA0LTA5IDE1OjE4OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSAgY29tcGFyZTogc3BlY2lhbCBjYXNlIGVtcHR5IHJlZ2lvbnMgd2l0aCAxIFNTSU0gdG8gYXZvaWQgZGl2aWRpbmcgYnkgMAoJICBDb3Zlcml0eSAxMTM5Njg5LCAxMTM5Njg4CgoyMDE0LTA0LTA5IDE1OjA5OjI1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSAgaW50ZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgQ292ZXJpdHkgMTEzOTY2NgoKMjAxNC0wNC0wOSAxNTowMzo0NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHJlbW92ZSBkZWFkIGNvZGUKCSAgRnJvbSB0aGUgMC4xMSBwb3J0CgkgIENvdmVyaXR5IDExMzk2NzYKCjIwMTQtMDQtMDkgMTQ6Mzc6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogYXZvaWQgY3Jhc2hpbmcgaW4gcGF0aG9sb2dpY2FsIGNhc2UKCSAgV2hlbiB3ZSdkIHNlZSBhbiB1bmtub3duIHN0cmVhbSB0eXBlLCB0aGVuIGEgU0REUyBzdHJlYW0uCgkgIFRoZW4gd2UnZCBnZXQgdG8gdGhlIGVuZCBvZiB0aGUgc3dpdGNoIHdpdGggYSBOVUxMIHRlbXAgc3RyZWFtCgkgIHBvaW50ZXIsIGFuZCBkZXJlZmVyZW5jZSBpdC4KCSAgQ292ZXJpdHkgMTEzOTcwOAoKMjAxNC0wNC0wOSAxNDoxMzo0NiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogY2F0Y2ggcHJldi1ub3QtZm91bmQgd2hlbiBpbnNlcnRpbmcgaW4gdGhlIGdyb3VwIGxpc3QKCSAgV2hpbGUgdGhpcyBwcm9iYWJseSBzaG91bGQgbmV2ZXIgaGFwcGVuIGlmIGNhbGxlcnMgYXJlIHdlbGwgYmVoYXZlZCwKCSAgdGhpcyBhdm9pZHMgYSBjcmFzaCBpZiBpdCBkb2VzLiBXaXRoIGEgd2FybmluZyBhYm91dCBpdC4gVW5zdXJlIGlmCgkgIGl0J2QgYmUgYmV0dGVyIHRvIG5vdCBhZGQgYXQgYWxsLCBidXQgaXQgc2hvdWxkIG5vdCBoYXBwZW4uLi4KCSAgQ292ZXJpdHkgMTEzOTcxMwoKMjAxNC0wNC0wOSAxMzo1MTo0MSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGd1YXJkIGFnYWluc3QgX2Rpc3Bvc2UgYmVpbmcgY2FsbGVkIG11dGlwbGUgdGltZXMKCSAgX2Rpc3Bvc2UgY2FsbHMgX3Jlc2V0LCBzbyB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSBfcmVzZXQgaGFuZGxlcwoJICBhbHJlYWR5IE5VTExlZCBmaWVsZHMuCgkgIENvdmVyaXR5IDExMzk4NDMKCjIwMTQtMDQtMDkgMTM6NDM6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICB0c211eDogcHJldmVudCBwb3NzaWJsZSBkb3VibGUgZnJlZSBvbiBlcnJvciBwYXRoCgkgIFNwb3R0ZWQgd2hpbGUgbG9va2luZyBhdCBhIENvdmVyaXR5IGlzc3VlIGluIHRoZSBhcmVhLgoKMjAxNC0wNC0wOSAxMzo0MTozNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIHRzbXV4OiBjYXRjaCBhbGxvYyBmYWlsdXJlCgkgIFdoaWxlIGl0IHdpbGwgcHJvYmFibHkgbm90IHRyaWdnZXIsIGl0IHNob3VsZCBzaWxlbmNlIGEgQ292ZXJpdHkKCSAgd2FybmluZyBhYm91dCB0aGUgZmFpbCBjb2RlIHBhdGggdGVzdGluZyBmb3IgTlVMTG5lc3MgYmVmb3JlCgkgIGZyZWVpbmcsIHdoZXJlIHRoZSBidWZmZXIgd2FzIGFscmVhZHkgZGVyZWZlcmVuY2VkLiBJdCBzZWVtcwoJICBzYWZlc3QgdG8ga2VlcCB0aGF0IHRlc3QsIGluIGNhc2UgZnV0dXJlIGdvdG8gZmFpbCBzdGF0ZW1lbnRzCgkgIGhhcHBlbiB0byBoYXZlIGEgTlVMTCBidWZmZXIgdGhlcmUuCgkgIENvdmVyaXR5IDExMzk4NTEKCjIwMTQtMDQtMDkgMTE6NDM6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJICBkZWNrbGluazogaW5pdGlhbGl6ZSBwcml2IHRvIE5VTEwKCSAgV2hpbGUgdGhlIGNvZGUgdGhhdCBjcmVhdGVzIHRoZSBvYmplY3Qgc2V0cyBwcml2IHRvIHNvbWUgZXhpc3RpbmcKCSAgcG9pbnRlciBhZnRlciBuZXcsIHRoaXMgZW5zdXJlcyBhbnkgZnV0dXJlIG5ldyBub3QgZG9pbmcgdGhpcyB3aWxsCgkgIGhpdCB0aGUgdmFyaW91cyBwcml2IT1OVUxMIGFzc2VydHMgaW4gdGhlIGNvZGUuCgkgIENvdmVyaXR5IDExMzk5MzUKCjIwMTQtMDQtMDkgMTE6MTU6MTAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBtYWtlIGR1cmF0aW9uIHF1ZXJ5IGFibGUgdG8gY29udmVydCBieXRlcyB0byB0aW1lCgkgIEl0IHdhcyBvbmx5IHF1ZXJ5aW5nIGluIHRpbWUsIGJ1dCB0aGVuIHRyeWluZyB0byB1c2UgZGVhZCBieXRlcwoJICB0byB0aW1lIGNvbnZlcnNpb24gY29kZS4KCSAgQ292ZXJpdHkgMTEzOTY3NwoKMjAxNC0wNC0wOSAxMTowNDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IGZpeCBsZWZ0IGNyb3AgY2hhbmdlIHRlc3QKCSAgSXQgd2FzIHRlc3RpbmcgYSBub29wCgkgIENvdmVyaXR5IDExMzk2NDMKCjIwMTQtMDQtMDkgMTE6MDI6MDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBhZGQgbWlzc2luZyB2YV9lbmQgaW4gdmFyaWFkaWMgZnVuY3Rpb24KCSAgQ292ZXJpdHkgMTEzOTk0NAoKMjAxNC0wNC0wOSAxMTowMDoyMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiByZW1vdmUgZGVhZCBjb2RlCgkgIENvdmVyaXR5IDExMzk2ODMKCjIwMTQtMDQtMDkgMTA6NTY6MTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJICBtZmM6IHJlc2V0ICJpbiB1c2UiIGZsYWcgb24gZmFpbHVyZSB0byBpbml0aWFsaXplCgoyMDE0LTA0LTA5IDEwOjU1OjQ2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiB0ZXN0IGZvciBhbGxvY2F0aW9uIGZhaWx1cmUgYmVmb3JlIGRlcmVmZXJlbmNpbmcKCSAgQ292ZXJpdHkgMTEzOTg0OQoKMjAxNC0wNC0wOSAxMDozMzoxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiByZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIENvdmVyaXR5IDExMzk4MjkKCjIwMTQtMDQtMDkgMTA6Mjg6NDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgZ2w6IHBhc3MgbGFyZ2Ugc3RydWN0dXJlIGJ5IGNvbnN0IHBvaW50ZXIsIG5vdCB2YWx1ZQoJICBBdm9pZHMgbGFyZ2UgcG9pbnRsZXNzIG1lbWNweS4KCSAgQ292ZXJpdHkgMjA2MjM2LCAyMDYyMzcKCjIwMTQtMDQtMDggMjE6Mzk6MjAgKzAzMDAgIE1vaGFtbWVkIFNhbWVlciA8bXNhbWVlckBmb29sYWIub3JnPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBhbnkgZmVhdHVyZSB0byB2aWV3ZmluZGVyYmluIHN0YXRpYyBwYWQgdGVtcGxhdGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzg1NwoKMjAxNC0wNC0wOCAyMDo1NDoyNiArMDMwMCAgTW9oYW1tZWQgU2FtZWVyIDxtc2FtZWVyQGZvb2xhYi5vcmc+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVwb3J0IGFuIGVycm9yIGlmIHdlIGZhaWwgdG8gbGluayB2ZnNyYyBhbmQgdmlld2ZpbmRlciBxdWV1ZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3ODU1CgoyMDE0LTA0LTA4IDE3OjQ1OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogcG9zdCBwcm9wZXIgZXJyb3IgbWVzc2FnZSB3aGVuIHdpbmRvdyBkaXNhcHBlYXJzCgoyMDE0LTA0LTA4IDE3OjM0OjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGZpeCBvZmYgYnkgb25lIGluIGNoYW5uZWwgbWFzayBidWlsZGluZwoJICBUaGUgZmlyc3QgbG9vcCB3b3VsZCBzaGlmdCAxIGJ5IDY0LCB3aGljaCBpcyBlaXRoZXIgdW5kZWZpbmVkCgkgIG9yIGltcGxlbWVudGF0aW9uIGRlZmluZWQsIGluc3RlYWQgb2YgY2xlYXJpbmcgdGhlIHRvcCBiaXQuCgkgIENvdmVyaXR5IDExOTc2OTEKCjIwMTQtMDQtMDggMTc6MTA6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsczogcmVzdG9yZSBOVUxMIHRlc3QgbWlzdGFrZW5seSByZW1vdmVkCgkgIFRoYW5rcyB0byB0cG0gZm9yIHBvaW50IG91dCBJJ20gYW4gaWRpb3QuCgoyMDE0LTA0LTA4IDE2OjUzOjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzOiBvbmx5IHNldCBESVNDT05UIGZsYWcgb24gYSB2YWxpZCBidWZmZXIKCSAgUmVjZW50IHJlZmFjdG9yaW5nIGNhdXNlcyB0aGlzIGNvZGUgdG8gYmUgY2FsbGVkIHdpdGggZWl0aGVyIGEgTlVMTAoJICBmcmFnbWVudCwgb3IgYSBub24gTlVMTCBmcmFnbWVudC4gSW4gdGhlIGZvcm1lciBjYXNlLCB3ZSBkb24ndCBoYXZlCgkgIGEgYnVmZmVyLiBJbiB0aGUgbGF0dGVyIGNhc2UsIHRoZSBvcmlnaW5hbCBjb2RlIGRlYWxpbmcgd2l0aCBESVNDT05UCgkgIGFzc3VtZWQgdGhlIGJ1ZmZlciB3YXMgdmFsaWQuIFRlc3RpbmcgZm9yIGEgTlVMTCBidWZmZXIgaGVyZSB0aHVzCgkgIGRvZXMgbm90IHNlZW0gdG8gY2hhbmdlIHRoZSBpbnRlbnQsIGFuZCBmaXhlczoKCSAgQ292ZXJpdHkgMTE5NTE0NwoKMjAxNC0wNC0wOCAxNjo1Mzo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGd1YXJkIGFnYWluc3QgTlVMTCBtYXRlcmlhbCB0cmFjawoJICBKdXN0IHRvIGJlIG9uIHRoZSBzYWZlIHNpZGUuCgoyMDE0LTA0LTA4IDE2OjQ2OjU2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHM6IGJyaW5nIE5VTEwgdGVzdCBiZWZvcmUgZGVyZWZlcmVuY2UKCSAgQ292ZXJpdHkgMTE5NTE2OAoKMjAxNC0wNC0wOCAxNjoyMzo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogdGVzdCBmb3IgZnJhbWUgTlVMTG5lc3MgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQKCSAgQ292ZXJpdHkgMTE5NTE3MiwgMTE5NTE3MQoKMjAxNC0wNC0wOSAwMDo0NDowOCArMTAwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEF2b2lkIGluZmluaXRlIGxvb3BzIG9uIHNob3J0IGRhdGEKCjIwMTQtMDQtMDggMTY6MDk6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgIGR2YjogZml4IGNvbXBpbGF0aW9uCgoyMDE0LTA0LTA4IDE1OjU0OjAxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0ZWdsaW1hZ2VtZW1vcnkuYzoKCSAgZ2w6IGZpeCBsZWFrcwoJICBBcyB0aGUgcmVsZXZhbnQgdmFyaWFibGVzIGFyZSBpbml0aWFsaXplZCB0byAwL05VTEwsIHdlIGNhbiBsb29wCgkgIG92ZXIgdGhlIGZ1bGwgcmFuZ2UgYW5kIG1ha2Ugc3VyZSB3ZSBmcmVlIHBhcnRpYWwgYWxsb2NhdGlvbnMKCSAgd2hlbiBhbiBlcnJvciBoYXBwZW5zIHBhcnR3YXkgdGhyb3VnaCBpbml0aWFsaXphdGlvbi4KCjIwMTQtMDQtMDggMTU6MjY6MDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJICBkdmI6IHJlamVjdCB0b28gbG9uZyBzb2NrZXQgcGF0aHMKCSAgQ292ZXJpdHkgMjA2MDA0CgoyMDE0LTA0LTA4IDE0OjMzOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogaW1wbGVtZW50IHNpbXBsZSBLRVlfVU5JVCBzZWVraW5nCgkgIElmIGEgS0VZX1VOSVQgc2VlayB3YXMgcmVxdWVzdGVkLCBhZGp1c3Qgc2VnbWVudAoJICBzdGFydCB0byBwb3NpdGlvbiBvZiB0aGUga2V5IGZyYW1lLgoKMjAxNC0wNC0wOCAxNDoyNDozMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgb3ZlcmZsb3cgaW4gYXVkaW8gc3VidGl0bGUgc3RyZWFtcwoJICBUdXJucyBvdXQgdGhlcmUgd2FzIHRoZSBzYW1lIGlzc3VlIGFzIHdpdGggc3VidGl0bGVzLgoJICBUaGVyZSBpcyBzcGFjZSBmb3IgYSBzaW5nbGUgYXVkaW8gc3RyZWFtLCBidXQgdXAgdG8gMjU1CgkgIG1heSBiZSB1c2VkIGJhc2VkIG9uIGEgdWludDhfdCB2YWx1ZSBpbiBhIHN0cnVjdCwgd2hpY2ggbWF5CgkgIG9yIG1heSBub3QgYmUgcmVhZCBmcm9tIHRoZSAodW50cnVzdGVkKSBkYXRhLgoJICBBIGNvbW1lbnQgaW4gaWZvX3R5cGVzLmggc2F5cyB0aGlzIHZhbHVlIGlzIGVpdGhlciAwIG9yIDEsIHNvCgkgIHdlIGNhbiBlbnN1cmUgdGhpcyBoZXJlIHdpdGhvdXQgZHJhd2JhY2tzLgoJICBDb3Zlcml0eSAxMTM5NTg1CgoyMDE0LTA0LTA4IDE0OjE5OjI5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogZ3VhcmQgYWdhaW5zdCBvdmVyZmxvdyBpbiBtZW51IHN1YnRpdGxlIHN0cmVhbXMKCSAgVGhlcmUgaXMgc3BhY2UgZm9yIGEgc2luZ2xlIHN1YnRpdGxlIHN0cmVhbSwgYnV0IHVwIHRvIDI1NQoJICBtYXkgYmUgdXNlZCBiYXNlZCBvbiBhIHVpbnQ4X3QgdmFsdWUgaW4gYSBzdHJ1Y3QsIHdoaWNoIG1heQoJICBvciBtYXkgbm90IGJlIHJlYWQgZnJvbSB0aGUgKHVudHJ1c3RlZCkgZGF0YS4KCSAgQSBjb21tZW50IGluIGlmb190eXBlcy5oIHNheXMgdGhpcyB2YWx1ZSBpcyBlaXRoZXIgMCBvciAxLCBzbwoJICB3ZSBjYW4gZW5zdXJlIHRoaXMgaGVyZSB3aXRob3V0IGRyYXdiYWNrcy4KCSAgQ292ZXJpdHkgMTEzOTU4NgoKMjAxNC0wNC0wOCAxMzoyNjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBzZWVraW5nLCBzZW5kIGRhdGEgc3RhcnRpbmcgZnJvbSBhIGtleSB1bml0CgkgIEZpeGVzIG11bHRpcGxlIHNlZWtpbmcgaXNzdWVzLiBXaGVuIGRvaW5nIEFDQ1VSQVRFIG9yIG5vcm1hbAoJICBub24tS0VZVU5JVCBzZWVrcywgbXhmZGVtdXggd291bGQganVzdCBzZW5kIGRhdGEgZnJvbSB0aGUKCSAgZWRpdCB1bml0IHRoYXQgY292ZXJlZCB0aGUgc2VlayBwb3NpdGlvbiwgd2hldGhlciB0aGF0J3MKCSAgYSBrZXlmcmFtZSBvciBub3QuIERlY29kZXJzIHdvdWxkIG9ubHkgb3V0cHV0IHRoaW5ncyBmcm9tCgkgIHRoZSBuZXh0IGtleWZyYW1lIHRoZW4sIHdoaWNoIG1lYW5zIHRoZXJlJ3MgYSBnYXAgYmV0d2VlbgoJICB0aGUgc3RhcnQgb2YgdGhlIHNlZ21lbnQgYW5kIHRoZSBmaXJzdCBkZWNvZGVkIGRhdGEgaW4KCSAgc29tZSBjYXNlcy4gSW4gY29tYmluYXRpb24gd2l0aCBnc3QtZWRpdGluZy1zZXJ2aWNlcyB0aGlzCgkgIG1pZ2h0IHJlc3VsdCBpbiBhIGZyb3plbiBwaWN0dXJlIGZvciB0aGUgZHVyYXRpb24gb2YgdGhhdAoJICBnYXAgYXQgdGhlIGJlZ2lubmluZyAoaWYgdmlkZW9yYXRlIGZpeGVzIHVwIHRoZSBmaXJzdAoJICBidWZmZXIncyBzdGFydCB0aW1lc3RhbXAgdG8gY292ZXIgdGhlIGVudGlyZSBnYXApLCBvcgoJICBhIGJsYWNrIGZyYW1lIChpZiBubyB2aWRlb3JhdGUgaXMgdXNlZCBhbmQgdmlkZW9taXhlcgoJICBmaWxscyB0aGUgZ2FwKS4gQWxzbyBmaXhlcyBBL1Ygc3luYyBpc3N1ZSB3aGVuIHJlcXVlc3RpbmcKCSAgYSBLRVlVTklUIHNlZWsuCgoyMDE0LTA0LTA4IDEyOjM3OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogZml4IGJ1ZmZlciBvdmVyZmxvd3MKCSAgQ2hhbm5lbHMgY2FuIGJlIHVwIHRvIDcuIEFsc28gYWRkIGEgZ3VhcmQgaW4gY2FzZSBtb3JlIGNhbiBiZQoJICByZXR1cm5lZCBpbiB0aGUgZnV0dXJlLgoJICBDb3Zlcml0eSAxMTM5ODIwLCAxMTM5ODIxCgoyMDE0LTA0LTA4IDEzOjIwOjU0ICswMjAwICBYYXZpIEFydGlnYXMgPHhhcnRpZ2FzQGZsdWVuZG8uY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggY3JpdGljYWwgZHVlIHRvIG1pc3NpbmcgZGVidWcgY2F0ZWdvcnkgaW5pdGlhbGl6YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzgxMgoKMjAxNC0wNC0wOCAxMjoyMDo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGZpeCBmZCBsZWFrCgkgIENvdmVyaXR5IDExMzk4MzEKCjIwMTQtMDQtMDggMTE6MjY6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBDbGFyaWZ5IHBhc3N0aHJvdWdoIGluIHN3aXRjaCBzdGF0ZW1lbnQKCSAgV2UgZG8gd2FudCB0aGUgY2FwcyBldmVudCB0byBiZSBmb3J3YXJkZWQgZG93bnN0cmVhbQoJICBDSUQgIzExMzk3NTQKCjIwMTQtMDQtMDggMTE6MjM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBXaG9vcHMsIG1vZGlmeWluZyB0aGUgcGl0Y2ggd2hlbiBtb2RpZnlpbmcgdGhlIG91dHB1dCByYXRlIC4uLgoJICBDSUQgIzExMzk3NDkKCjIwMTQtMDQtMDggMTE6MjE6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2ZzogQWRkIG1pc3NpbmcgYnJlYWsgaW4gc3dpdGNoIHN0YXRlbWVudAoJICBUaGlzIHdhc24ndCBmYXRhbCBiZWZvcmUgKHdvcnN0IGNhc2UgaXQgd291bGQgY2xlYXIgYW4gYWxyZWFkeSBlbXB0eQoJICBhZGFwdGVyKS4KCSAgQ0lEICMxMTM5NzU4CgoyMDE0LTA0LTA4IDExOjIwOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgbXBlZzJlbmM6IEFkZCBtaXNzaW5nIGJyZWFrIGluIHN3aXRjaAoJICBRVUVSWV9DQVBTIGlzIGZ1bGx5IGhhbmRsZWQsIHdlIGRvbid0IG5lZWQgdG8gcGFzc3Rocm91Z2ggdG8gdGhlIGRlZmF1bHQKCSAgaGFuZGxlci4KCSAgQ0lEICMxMTM5NzU2CgoyMDE0LTA0LTA4IDA5OjUxOjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogSW5pdGlhbGl6ZSB2YXJpYWJsZXMKCSAgVGhlcmUgaXMgYSBzbWFsbCBjaGFuY2UgdGhhdCB3ZSBtaWdodCBlbmQgdXAgaW4gdGhlIGRvbmUgc3RlcCB3aXRob3V0CgkgIGhhdmluZyBhbnkgb3V0cHV0IGF2YWlsYWJsZS4KCSAgRnVydGhlcm1vcmUsIHdoZW4gZ29pbmcgdGhyb3VnaCBub3RfcmVhZHksIHdlIG5lZWQgdG8gZW5zdXJlIGdzdF9idWZmZXJfdW5tYXAKCSAgaGFzIGEgcHJvcGVybHkgaW5pdGlhbGl6ZWQgR3N0TWFwSW5mby4KCSAgQ0lEICMxMTM5OTIzCgkgIENJRCAjMTEzOTkyNAoJICBDSUQgIzExMzk5MTkKCSAgQ0lEICMxMTM5OTIwCgoyMDE0LTA0LTA4IDA3OjQ4OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICBjaGVjazogRml4IG1wZWd0c211eCBjYXBzCgkgIEluY29taW5nIHN0cmVhbXMgbmVlZCB0byBiZSBwYXJzZWQuIERvZXNuJ3QgZml4IHRoZSB0ZXN0IGNvbXBsZXRlbHkgdGhvdWdoCgoyMDE0LTA0LTA4IDA3OjQ3OjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogSW5pdGlhbGl6ZSBoZWxwZXIgbXBlZ3RzIGxpYnJhcnkKCSAgV2Ugbm93IHVzZSB0aGF0IGxpYnJhcnksIHdlIG5lZWQgdG8gaW5pdGlhbGl6ZSBpdCBzbyB0aGF0IGRlYnVnCgkgIGNhdGVnb3JpZXMgKGFtb25nc3Qgb3RoZXIgdGhpbmdzKSBnZXQgcHJvcGVybHkgaW5pdGlhbGl6ZWQKCjIwMTQtMDQtMDcgMTM6MjU6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkgIG14ZjogZml4IHN0b3AgZGF0ZSBwYXJzaW5nIHVzaW5nIHRoZSB3cm9uZyBpbnB1dAoJICBDb3Zlcml0eSAxMTM5NjQ1CgoyMDE0LTA0LTA3IDEzOjIyOjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IGZpeCBjb3B5L3Bhc3RlIGVycm9ycyBpbiBleHByZXNzaW9ucwoJICBDb3JyZWN0IGZvcm11bGFlIGZvdW5kIGluIElUVSBULjgwMCwgQi4xMi4xLlszNDVdCgkgIENvdmVyaXR5IDExMzk2NDksIDExMzk2NTAsIDExMzk2NTEKCjIwMTQtMDQtMDQgMTU6MzA6MjAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBmaXggc2htIHRlc3QgZGVhZGxvY2sKCSAgVGhlIHRlc3Qgd2FzIG5vdCBicmluZ2luZyB0aGUgc291cmNlIGJhY2sgdG8gTlVMTCwgc28gaXRzIHRocmVhZAoJICBjb3VsZCBzdGFydCBjcmVhdGluZyBhIGJ1ZmZlciB3aGlsZSB0aGUgcGFkcyB3ZXJlIGJlaW5nIHNodXRkb3duLgoKMjAxNC0wNC0wNiAxMTo1NzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBnbGltYWdlc2luazogQ3JlYXRlIEdMIGNvbnRleHQgYW5kIHNldCB1cCB3aW5kb3cgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZAoJICBnc3RfZ2xfY29udGV4dF9jcmVhdGUoKSBtaWdodCBuZWVkIHRvIGRpc3BhdGNoIHNvbWUgb3BlcmF0aW9ucyB0byB0aGUKCSAgYXBwbGljYXRpb24ncyBtYWluIHRocmVhZCwgYW5kIGNhbGxpbmcgdGhpcyBpbiB0aGUgY2hhbmdlX3N0YXRlIGZ1bmN0aW9uCgkgIGNhbiBjYXVzZSBkZWFkbG9ja3MuCgoyMDE0LTA0LTA0IDA5OjE5OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBjaGVjayBmb3IgaU9TIGZvciB0aGUgT3BlbkdMIHN1cHBvcnQKCSAgVGhlcmUgaXMgYWxzbyBhbiBpMzg2IHZlcnNpb24gb2YgaU9TLCB3aGljaCBpcyBmb3IgdGhlIHNpbXVsYXRvci4KCSAgQmV0dGVyIHVzZSBvdXIgYWxyZWFkeSBleGlzdGluZyBIQVZFX0lPUyBjaGVjayBpbnN0ZWFkIG9mIHJlbHlpbmcKCSAgb24gdGhlIGhvc3QgdHJpcGxldC4KCjIwMTQtMDQtMDMgMTE6NTQ6NDEgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggcG9zc2libGUgdW5pbml0aWFsaXplZCB2YXJpYWJsZXMKCjIwMTQtMDQtMDMgMTE6NDg6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlOiBvbmx5IGFkZCBsb2NhdGlvbiB3aGVuIG5vZGUgZXhpc3RlZAoJICBBY3R1YWxseSByZXR1cm4gRkFMU0Ugd2hlbiB0aGUgbG9jYXRpb24gbm9kZSB3YXMgbm9uLWV4aXN0aW5nCgkgIE9ubHkgYWRkIHRoZSBsb2NhdGlvbiBub2RlIHdoZW4gaXQgZXhpc3RlZAoKMjAxNC0wNC0wMiAyMzo0OTozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUmVxdWlyZSBwYXJzZWQvZnJhbWVkIGlucHV0IGZvciBtb3N0IG9mIHRoZSBzdXBwb3J0ZWQgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NTE5CgoyMDE0LTA0LTAyIDIzOjA4OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBwYXNzIGEgZGVzdCByZWN0YW5nbGUgaWYgc2V0LCBvdGhlcndpc2UgcGFzcyBOVUxMCgkgIENhbGwgd2l0aCBhbiB1bmluaXRpYWxpemVkIHJlY3RhbmdsZSB3aWxsIGNhdXNlIGVycm9ycy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxNDk5OAoKMjAxNC0wNC0wMiAxMzo0ODowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICB0ZXN0czogZml4IGdsIHVuaXQgdGVzdHMgZm9yIHJlY2VudCBBUEkgY2hhbmdlcwoKMjAxNC0wNC0wMiAyMzowNTo0NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIGdsOiBwYXNzIHZpZGVvIGluZm8ncyBieSByZWZlcmVuY2UKCjIwMTQtMDQtMDIgMjM6MDU6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGV4dC9nbC9nc3RnbHZpZGVvbWl4ZXIuYzoKCSAgZ2w6IGZpeCBhcnJheSBpbml0aWFsaXphdGlvbgoKMjAxNC0wNC0wMiAyMjo1NDo1NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSAgZ2xidW1wZXI6IHJlbW92ZSByZWR1bmRhbnQgY2hlY2sKCjIwMTQtMDQtMDIgMjI6NTM6MTAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIGdsL2dseDogdXNlIHRoZSBjb250ZXh0J3MgZGlzcGxheSByYXRoZXIgdGhhbiBhc2tpbmcgZm9yIHRoZSB3aW5kb3cncwoKMjAxNC0wNC0wMiAyMjo0Mzo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBnbDogZml4IGFzc2lnbm1lbnQgb2YgdGVtcG9yYXJ5IHZhcmlhYmxlcwoKMjAxNC0wNC0wMiAyMjo0Mjo1MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBhdm9pZCBhZGRpbmcgYSBOVUxMIHBvb2wgdG8gcHJvcG9zZSBhbGxvY2F0aW9uCgoyMDE0LTA0LTAyIDEyOjM4OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGFjdHVhbGx5IGJ1aWxkIHRoZSBnbCBwbHVnaW5zIG9uIHdpbjMyCgkgIFJlZ3Jlc3Npb24gZnJvbSBjOGZmMjE1YjAyZWUxNzg1MTNlMDc2ZTJkZmJkMTRlOWNlNzdlYzQ5CgoyMDE0LTA0LTAyIDA5OjI5OjU2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2wvd2luMzI6IGZpeCBkZXRlY3Rpb24gb2YgR0wvd2dsZXh0LmgKCSAgV2FzIHJlc3VsdGluZyBpbiAncHJlc2VudCBidXQgY2Fubm90IGJlIGNvbXBpbGVkJyBlcnJvcnMKCjIwMTQtMDQtMDEgMjE6NDg6MjYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZml4IGRldGVjdGlvbiBvZiBleHRlbnNpb25zIHdpdGggR0wgdmVyc2lvbnMgPCAzCgkgIE1lc2EsIGZvciBleGFtcGxlIHJldHVybnMgdmFsaWQgcG9pbnRlcnMgZm9yIGdsR2V0SW50ZWdlcnYgYW5kCgkgIGdsR2V0U3RyaW5naSBldmVuIGlmIHRoZSBnbCB2ZXJzaW9uIGlzIGxlc3MgdGhhbiB0aGF0IHJlcXVpcmVkIGZvcgoJICBib3RoIHRob3NlIGZ1bmN0aW9ucyB0byBzdXBwb3NlZGx5IGV4aXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MzI0CgoyMDE0LTAzLTMwIDIxOjAyOjQ1ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogZml4IGRvY3MKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczNTYKCjIwMTQtMDMtMzAgMjE6MDI6MTAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJICBtcGVndHM6IGFkZCBkdmItdDIgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjczNTYKCjIwMTQtMDMtMjQgMTc6NDQ6NDcgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBidWdmaXggZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3JzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2OTc5CgoyMDE0LTAzLTI3IDIxOjIyOjMyICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogdXNlIEdTVF9SRUFEX1VJTlQzMl9CRQoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzE4NwoKMjAxNC0wMy0yNyAyMToyMToyMyArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBhZGQgcGFyc2luZyBkYXRhIGJyb2FkY2FzdCBkZXNjcmlwdG9yCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDIxOjE4OjM2ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IGFkZCBwYXJzaW5nIHN0cmVhbSBpZGVudGlmaWVyCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTg3CgoyMDE0LTAzLTI3IDEzOjU2OjI2ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkgIG1wZWd0czogdXNlIGdsaWIgYWxsb2MgYW5kIGZyZWUKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjcxNTkKCjIwMTQtMDMtMjkgMTc6MjY6MDMgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgY29ycmVjdCBwcmludCBmb3JtYXQgZm9yIGdpbnQ2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3Mzg1CgoyMDE0LTAzLTMwIDE4OjUyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSGFuZGxlIGVycm9ycyB3aGVuIHN3aXRjaGluZyBwbGF5bGlzdHMgcHJvcGVybHkKCjIwMTQtMDMtMzAgMTg6MTI6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBHbyBFT1MgaWYgdGhlIGVuZCBvZiB0aGUgc2VnbWVudCBpcyByZWFjaGVkCgoyMDE0LTAzLTMwIDE4OjA2OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RvcmUgYnVmZmVyIGVuZCBwb3NpdGlvbiBpbiBzZWdtZW50LnBvc2l0aW9uCgoyMDE0LTAzLTI5IDEwOjE5OjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IHR5cG8gaW4gZGVidWcgb3V0cHV0CgoyMDE0LTAzLTI4IDE4OjI3OjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBDb3B5IG92ZXIgRElTQ09OVCBmbGFnIGZyb20gaW5wdXQgYnVmZmVycwoKMjAxNC0wMy0yOCAxODoxMToyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFB1c2ggbmV4dCBidWZmZXIgYWZ0ZXIgYSBkaXNjb250IHdpdGggdGhlIERJU0NPTlQgZmxhZwoKMjAxNC0wMy0yOCAxNzozMjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERyYWluIHJlbWFpbmluZyBkYXRhIG9uIGRpc2NvbnRzCgoyMDE0LTAzLTI4IDE3OjI1OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggaWYgd2UgcmVjZWl2ZSBhIGRpc2NvbnQgYnVmZmVyCgoyMDE0LTAzLTI4IDE3OjI0OjQ2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgZGVyZWZlcmVuY2UgTlVMTCBpZiBmbHVzaGVkIGJlZm9yZSBhIHByb2dyYW0gd2FzIHNlbGVjdGVkCgoyMDE0LTAzLTI3IDE5OjQyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRW5zdXJlIHRoYXQgYWxsIHBlbmRpbmcgZGF0YSBpcyBwdXNoZWQgZXZlbiBpZiB0aGUgc3RyZWFtIHdhcyBub3QgYWN0aXZhdGVkIGJlZm9yZQoJICBnc3RfdHNfZGVtdXhfcHVzaF9wZW5kaW5nX2RhdGEoKSB3aWxsIGNoZWNrIGlmIGl0IG5vdyBjYW4gYWN0aXZhdGUgdGhlCgkgIHN0cmVhbSBhbmQgYWRkIHRoZSBwYWQsIHdlIGRvbid0IGhhdmUgdG8gY2hlY2sgdGhhdCBvdXJzZWx2ZXMuCgkgIEZpeGVzIHBsYXliYWNrIG9mIHZlcnkgc2hvcnQgTVBFRyBUUyBmaWxlcy4KCjIwMTQtMDMtMjcgMTk6MjI6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBGaXggcHVsbCBtb2RlIHNjYW5uaW5nIGZvciBQQ1Igb24gc21hbGwgZmlsZXMKCSAgSWYgYSBmaWxlIGRvZXMgbm90IGNvbnRhaW4gNSBQQ1JzIHVudGlsIGl0IGlzIEVPUywgb3IgZG9lcyBub3QKCSAgY29udGFpbiBtb3JlIHRoYW4gNjU1MzYwIGJ5dGVzIHRoZSBQQ1Igc2Nhbm5pbmcgYWxnb3JpdGhtIGp1c3QKCSAgYWJvcnRlZC4KCjIwMTQtMDMtMjYgMjI6MjU6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEb24ndCBzZXQgdGhlIHNlZ21lbnQgb2Zmc2V0CgkgIEl0J3MgY2F1c2luZyB3cm9uZyBydW5uaW5nIHRpbWVzIGFmdGVyIHNlZWtzIG9yIGJpdHJhdGUKCSAgc3dpdGNoZXMuCgoyMDE0LTAzLTI2IDA3OjMyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU2V0IERJU0NPTlQgZmxhZyBvbiBhbGwgYnVmZmVycyBpbiByZXZlcnNlIHBsYXliYWNrIG1vZGUKCjIwMTQtMDMtMjYgMDc6MjU6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBmb3J3YXJkcyBhbmQgYmFja3dhcmRzIHNlYXJjaGluZyBpbiB0aGUgZmlsZXMgbGlzdAoKMjAxNC0wMy0yNiAwNzoyNDoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFVuc2V0IERUUyBvZiBhbGwgYnVmZmVycwoJICBXZSB3b24ndCBnZXQgYSB2YWxpZCBEVFMgZnJvbSB0aGUgc291cmNlLgoKMjAxNC0wMy0yNiAwNzoyMjo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgZmx1c2ggc3RhcnQgZXZlbnQgYmVmb3JlIHdhaXRpbmcgZm9yIHRoZSB0YXNrcyB0byBmaW5pc2gKCSAgT3RoZXJ3aXNlIHdlJ2xsIHdhaXQgdW50aWwgYnVmZmVycyBhcmUgY29tcGxldGVseSBwcm9jZXNzZWQgZG93bnN0cmVhbSwKCSAgd2hpY2ggbWlnaHQgdGFrZSBxdWl0ZSBzb21lIHRpbWUuCgoyMDE0LTAzLTA5IDE5OjMxOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgdHJpY2sgbW9kZXMgdmlhIEktZnJhbWUgdmFyaWFudCBsaXN0cwoKMjAxNC0wMy0wOSAxODoyNDo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwYXJzaW5nIG9mICNFWFQtWC1JLUZSQU1FLVNUUkVBTS1JTkYKCSAgVGhlc2UgYXJlIEktZnJhbWUtb25seSB2YXJpYW50IGxpc3RzIHRoYXQgY2FuIGJlIHVzZWQKCSAgZm9yIHRyaWNrIG1vZGUgcGxheWJhY2suCgoyMDE0LTAzLTI4IDIwOjIyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9NYWtlZmlsZS5hbToKCSAgZ2w6IGVnbDogZml4IGRpc3RjaGVjayBhbmQgb3V0IG9mIHNvdXJjZSBidWlsZAoKMjAxNC0wMy0yOCAyMDo0NzozNiArMDEwMCAgUmljbyBUenNjaGljaGhvbHogPHJpY290ekB1YnVudHUuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBGaXggbWFrZSBkaXN0CgoyMDE0LTAzLTI4IDE5OjQ2OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaXggTERBREQgb3JkZXIgZm9yIGluc2VydGJpbiB0ZXN0CgoyMDE0LTAzLTI4IDE5OjQxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkb24ndCBsaW5rIGNvZGVjcGFyc2VyIHRlc3RzIHR3aWNlIHRvIHRoZSBsaWIKCjIwMTQtMDMtMjggMTk6MzA6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBidWlsZCBvZiBnbCB1bml0IHRlc3RzIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIFB1dCBsb2NhbCAubGEgZmlsZXMgZmlyc3QsIGFuZCBhZGQgbGluayB0byBsaWJnc3R2aWRlbwoJICBmb3IgdGVzdHMgdGhhdCB1c2UgdGhlIGxpYmdzdHZpZGVvIEFQSSBkaXJlY3RseS4KCjIwMTQtMDMtMjcgMjI6NDE6MDIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbC93aW4zMjogYWxsb3cgbm90IGJ1aWxkaW5nIHRoZSBnbCBwbHVnaW5zCgkgIEZpeGVzIGJ1aWxkIG9uIHdpbmRvd3MgaWYgPEdML3dnbGV4dC5oPiBoZWFkZXJzIGFyZSBub3QgcHJlc2VudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNzEyNQoKMjAxNC0wMy0yOCAxMTo1NDo0NSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogdW5yZWYgbGFzdCBidWZmZXIgb24gRFJBSU4KCSAgU2ltaWxhciB0byAwOTM1NzQwNTNmYWUyNDNlYzVmY2ZkNmFkYWU4MTg1MDUzYjFlODk2CgkgIGluIGdzdGJhc2VzaW5rCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYxMDcKCjIwMTQtMDMtMjcgMTg6NTE6NTkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IHdyb25nIGRvYyBibG9jayBmb3IgY3JlYXRlX3dpbmRvdwoJICBXcm9uZyBzaW5jZSAxYWQyNTNiOSB3aGVuIHByb3AgbmFtZSB3YXMgY2hhbmdlZCBmcm9tCgkgIGNhbl9jcmVhdGVfd2luZG93IHRvIGNyZWF0ZV93aW5kb3cuCgoyMDE0LTAzLTI3IDIyOjAyOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvbid0IGZhaWwgY29uZmlndXJlIGlmIHdlIGRvIG5vdCB1bmRlcnN0YW5kIHRoZSBwbGF0Zm9ybQoKMjAxNC0wMy0yNSAxNTo0MDoxNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSAgZ2w6IGZpeCBvdXQtb2Ytc291cmNlIGJ1aWxkcyBwdDIKCSAgMjFiODk3ZGUyZjc2MmJlZTUwNGNiYzAwN2ZkMTA4MTQ4ZWU1YWUyNCBkaWQgdGhpcyBmb3IgeDExIGFuZCB3YXlsYW5kLgoJICBEbyBpdCBmb3IgdGhlIG90aGVyIGJhY2tlbmRzIGFzIHdlbGwuCgoyMDE0LTAzLTI2IDIzOjEzOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgZ2w6IG9ubHkgc2V0IENBUFNfRkVBVFVSRV9NRU1PUllfRUdMX0lNQUdFIG9uIGVnbCBwbGF0Zm9ybQoKMjAxNC0wMy0yNiAxNzoxNDo0MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggT1NYIGhvc3QgY2hlY2sKCSAgTWFrZXMgdGhlIGNoZWNrIHdvcmtzIHdpdGggKGkzODZ8eDg2XzY0KS1hcHBsZS1kYXJ3aW4qIGhvc3RzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI3MTA0CgoyMDE0LTAzLTI2IDE5OjE3OjAzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIGdsOiBsZXQgdGhlIHVzZXIgaW5jbHVkZXMgaXRzZWxmIG91ciBlZ2wgaGVhZGVycyBpZiBuZWVkZWQKCSAgRm9yZ290IHRvIGFkZHJlc3MgdGhpcyBjaGFuZ2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjIgMjI6MDE6NDkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSAgZ2w6IGFkZCBFR0xJbWFnZSBzdXBwb3J0CgkgICogcGlja2VkIGZyb20gb2xkIGxpYmdzdGVnbDoKCSAgLSBHc3RFR0xJbWFnZU1lbW9yeQoJICAtIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIC0gbGFzdF9idWZmZXIgbWFuYWdlbWVudCBmcm9tIHJlbW92ZWQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sCgkgICogYWRkLW9uczoKCSAgLSBHc3RFR0xJbWFnZU1lbW9yeSBub3cgb2xkIGEgcmVmZXJlbmNlIG9uIEdzdEdMQ29udGV4dAoJICBzbyB0aGF0IGl0IGNhbiBkZWxldGUgdGhlIEVHTEltYWdlIGFuZCBpdHMgZ2x0ZXh0dXJlIHNvdXJjZQoJICB3aGlsZSBoYXZpbmcgdGhlIGFzc29jaWF0ZWQgZ2wgY29udGV4dCBiZWluZyBjdXJyZW50LgoJICAtIGFkZCBFR0xJbWFnZSBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEgd2hpY2gKCSAgbWFpbmx5IGNhbGwgRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkQKCSAgLSBHc3RHTEJ1ZmZlclBvb2wgbm93IHN1cHBvcnRzIEdzdEVHTEltYWdlQWxsb2NhdG9yCgkgIC0gZ2xpbWFnZXNpbmsgLyBnbGZpbHRlcnMgLyBldGMuLiBub3cgcHJvcG9zZSBHc3RFR0xJbWFnZUFsbG9jYXRvcgoJICB0byB1cHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjEyOjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL01ha2VmaWxlLmFtOgoJICBnbDogZGVwbG95IGVnbCBoZWFkZXJzIGluIGdzdC9nbC9lZ2wgaW5zdGVhZCBvZiBnc3QvZ2wKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNCAxMjoxMDowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBnbDogcmVtb3ZlIGNvbW1lbnRlZCBhbmQgdW5zdWVkIGNvZGUgaW4geDExIE1ha2VmaWxlLmFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDMKCjIwMTQtMDMtMjMgMjE6NTU6MzQgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgIHBrZ2NvbmZpZzogYWRkIGdzdHJlYW1lci1nbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzMzQzCgoyMDE0LTAzLTI0IDEyOjA0OjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGZpeCBjcmFzaCBpZiBfYnVpbGRfZXh0ZW5zaW9uX3N0cmluZyBpcyBub3QgY2FsbGVkCgkgIE9uIEdMRVMyIHRoZW4gKGdsLT5HZXRJbnRlZ2VydiAmJiBnbC0+R2V0U3RyaW5naSkgaXMgZmFsc2UKCSAgcmVncmVzc2lvbiBpbnRyb2R1Y2VkIGJ5IGNjNmRmMjA0ZTJmNThmZmZkYTVjYmU5MGYzNDUwYWViYTk1ODg5YzQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MwoKMjAxNC0wMy0yNiAxMDoxNDozNiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IE9ubHkgZW5hYmxlZCBjb2NvYSBiYWNrZW5kIG9uIG9zeCAoYW5kIG5vdCBpb3MpCgkgIGlvcyByZXF1aXJlcyB1c2luZyBFQUdMCgoyMDE0LTAzLTI2IDA5OjA1OjE1ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBSZW1vdmUgVVJMIGNoZWNrIGZvciB2YWxpZCBwbGF5cGF0aC4KCSAgVGhlIHBsYXlwYXRoIGlzIGFuIG9wdGlvbmFsIGNvbXBvbmVudCBvZiB0aGUgVVJMIC0gZG9uJ3QgcmVxdWlyZSBpdC4KCjIwMTQtMDMtMjUgMTc6Mzk6MTggKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwZW5jOiB1bmxvY2sgb2JqZWN0IGxvY2sgYmVmb3JlIHBvc3RpbmcgZXJyb3IKCSAgUG9zdGluZyBhbiBlcnJvciB3aXRoIHRoZSBvYmplY3QgbG9jayB3aWxsIGRlYWRsb2NrLiBSZXdvcmsgdGhlIGNvZGUKCSAgYSBiaXQgdG8gbWFrZSB0aGluZ3MgbW9yZSBzaW1wbGUuCgoyMDE0LTAzLTI1IDE1OjA0OjE0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBjb3NtZXRpY3M6IGRyb3AgVEFCIGNoYXJhY3RlcnMuCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjUgMjE6NDA6MTEgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBDbGFyaWZ5IGNvbmZ1c2luZyBkZWJ1ZyBtZXNzYWdlCgkgIFRoZSBtZXNzYWdlIGlzIGRlc2NyaWJpbmcgdGhlIG51bWJlciBvZiBieXRlcyByZW1haW5pbmcgZm9yCgkgIHBhcnNpbmcsIG5vdCAnbWlzc2luZycuCgoyMDE0LTAzLTI1IDIxOjQwOjExICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBtcGVndHNfcGFja2V0aXplcl9zZXRfY3VycmVudF9wY3Jfb2Zmc2V0KCkKCSAgV2hlbiBhZGp1c3RpbmcgdGhlIFBDUiBvZmZzZXQgb2YgZ3JvdXBzLCBhZGp1c3QgdGhlIGNvcnJlY3QgZ3JvdXAKCSAgZW50cnkgZnJvbSB0aGUgbGlzdCAtIG5vdCB0aGUgY3VycmVudCBncm91cCByZXBlYXRlZGx5LgoKMjAxNC0wMy0yNSAyMTo0MDoxMSArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbW92ZSB3YXJuaW5nIGZvciAyLWJpdCBhbmQgOC1iaXQgc3VicGljdHVyZXMKCSAgQm90aCAyLWJpdCBhbmQgOC1iaXQgbW9kZSBub3cgc2VlbSBmaW5lLCBzbyByZW1vdmUgdGhlIHdhcm5pbmcKCSAgbWVzc2FnZXMgYWJvdXQgdGhlbQoKMjAxNC0wMy0yNSAyMTo0MDoxMCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCA4LWJpdCBzdWJwaWN0dXJlIHJlbmRlcmluZy4KCSAgRml4IDIgc21hbGwgZmxhd3MgaGFuZGxpbmcgOC1iaXQgc3VicGljdHVyZXMgdGhhdCBtYWtlcwoJICBteSBvbmUgdGVzdCBmaWxlIHdvcmsuCgoyMDEzLTAzLTA4IDA5OjU3OjIyICswODAwICBMaSBYaWFvd2VpIDx4aWFvd2VpLmEubGlAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNsaWNlX2hlYWRlcigpIHBhcnNpbmcgZm9yIE1WQy4KCSAgVGhlIGlkcl9waWNfaWQgc3ludGF4IGVsZW1lbnQgZGVwZW5kcyBvbiBJZHJQaWNGbGFnLCB3aGljaCBpcyBhIGNhbGN1bGF0ZWQKCSAgdmFsdWUgdGhhdCBkb2VzIG5vdCBvbmx5IGRlcGVuZCBvbiBOQUwgdW5pdCB0eXBlIChJRFIpLCBidXQgcG9zc2libHkgYWxzbwoJICBvbiBNVkMgbm9uX2lkcl9mbGFnIHN5bnRheCBlbGVtZW50LgoJICBUaGUgY29tcHV0ZWQgaWRyX3BpY19mbGFnIGlzIGFscmVhZHkgc3RvcmVkIGluIEdzdEgyNjROYWxVbml0IHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTc3MgoJICBTaWduZWQtb2ZmLWJ5OiBMaSBYaWFvd2VpIDx4aWFvd2VpLmEubGlAaW50ZWwuY29tPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDA5OjQ4OjA2ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgZ3N0X2gyNjRfcGFyc2VfbmFsdV9oZWFkZXIoKSBoZWxwZXIuCgkgIEFkZCBoZWxwZXIgdG8gcGFyc2UgdGhlIE5BTFUgaGVhZGVyLiBNb3ZlIGJvdW5kcyBjaGVja2luZyB0byB0aGVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTIxNQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTAxIDA5OjM3OjIxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgZ3N0X2gyNjRfcGFyc2Vfc3BzX2RhdGEoKSBoZWxwZXIuCgkgIFNwbGl0IHNlcV9wYXJhbWV0ZXJfc2V0X2RhdGEoKSBwYXJzaW5nIG9mZiBnc3RfaDI2NF9wYXJzZV9zcHMoKSBzbwoJICB0aGF0IGl0IGNvdWxkIGJlIHJlLXVzZWQgbGF0ZXIgb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUyMTUKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wOS0yNiAxODo0NjozNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY29tcGxldGUgc2V0IG9mIE5BTCB1bml0IHR5cGVzLgoJICBBZGQgbWlzc2luZyBOQUwgdW5pdCB0eXBlcy4gVGhleSBhcmUgbW9zdGx5IHJlbGF0ZWQgdG8gYWxwaGEgYmxlbmRpbmcsCgkgIHNjYWxhYmxlIHZpZGVvIGNvZGluZyBleHRlbnNpb25zIChTVkMsIEFubmV4LkcpLCBhbmQgbXVsdGl2aWV3IHZpZGVvCgkgIGNvZGluZyBleHRlbnNpb25zIChNVkMsIEFubmV4LkgpLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI0IDE5OjI3OjQ0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGVhbi11cCBnc3RfaDI2NF9wYXJzZXJfcGFyc2Vfc2VpX21lc3NhZ2UoKS4KCSAgRml4IGJ1aWxkIHdoZW4gR1NUX0RJU0FCTEVfR1NUX0RFQlVHIGlzIG5vdCBkZWZpbmVkLiBVc2UgYSBzd2l0Y2gKCSAgc3RhdGVtZW50IHRvIGRpc3BhdGNoIHRvIHRoZSB2YXJpb3VzIFNFSSBwYXlsb2FkIGhhbmRsZXJzLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTIxIDE3OjA3OjE5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHNraXBwaW5nIG9mIHVuc3VwcG9ydGVkIFNFSSBtZXNzYWdlcy4KCSAgVGhlIHBheWxvYWRTaXplIGRvZXMgbm90IGFjY291bnQgZm9yIGVtdWxhdGlvbiBwcmV2ZW50aW9uIGJ5dGVzLiBTbywKCSAganVzdCB1c2UgbmFsX3JlYWRlcl9za2lwKCkgZm9yIHNraXBwaW5nIHBheWxvYWRfc2l6ZSBiaXRzLiBJdCBzaG91bGQKCSAgYmUgcG9zc2libGUgdG8gZnVydGhlciBvcHRpbWl6ZSB0aGlzIGNvZGUgc2luY2UgdGhlIE5BTCByZWFkZXIgc2hhbGwKCSAgYmUgYWxpZ25lZCB0byBieXRlIGJvdW5kYXJ5IGFscmVhZHkuCgkgIEtpbGwgdGhlIG5vdyB1bnVzZWQgbmFsX3JlYWRlcl9za2lwX3RvX25leHRfYnl0ZSgpIGZ1bmN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2ODI5CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTQtMDMtMjEgMTc6MDM6MzYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBTRUkgYnVmZmVyaW5nX3BlcmlvZCgpIHBhcnNpbmcuCgkgIEZpeCBwYXJzaW5nIG9mIGJ1ZmZlcmluZ19wZXJpb2QoKSBTRUkgbWVzc2FnZXMuIFRoZSBudW1iZXIgb2YgYml0cwoJICB1c2VkIHRvIGV4cHJlc3Mge25hbCx2Y2x9X2luaXRpYWxfY3BiX3JlbW92YWxfZGVsYXl7LF9vZmZzZXR9IHN5bnRheAoJICBlbGVtZW50cyBpcyBub3QgNSBidXQgMSArIGluaXRpYWxfY3BiX3JlbW92YWxfZGVsYXlfbGVuZ3RoX21pbnVzMS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjgyOAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTEwLTEwIDE2OjE5OjQ5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IHJic3BfbW9yZV9kYXRhKCkgaW1wbGVtZW50YXRpb24uCgkgIEFjY291bnQgZm9yIHRyYWlsaW5nIHplcm8gYml0cyB3aGVuIGNoZWNraW5nIGZvciByYnNwX21vcmVfZGF0YSgpLgoJICBJbiBwYXJ0aWN1bGFyLCBmaXggYW4gaHlwb3RoZXRpY2FsIHN0cmVhbSB3aGVyZWJ5IHJic3BfbW9yZV9kYXRhKCkKCSAgaXMgY2FsbGVkIGluIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBmb3IgUFBTIGhlYWRlcjogTmFsUmVhZGVyCgkgIHJlYWNoZWQgcG9zaXRpb24gMjAsIDEyIGJpdHMgYXJlIHJlbWFpbmluZyBhbmQgdHJhaWxpbmcgZGF0YSBhdAoJICBjdXJyZW50IGJ5dGUgcG9zaXRpb24gaXMgYzggMDAuCgkgIHJic3BfbW9yZV9kYXRhKCkgdXNlZCB0byByZXR1cm4gVFJVRSB3aGVyZWFzIGl0IHNob3VsZCBvYnZpb3VzbHkKCSAgcmV0dXJuIEZBTFNFIGJlY2F1c2UgeDggMDAgcmVwcmVzZW50cyBhIHZhbGlkIHJic3BfdHJhaWxpbmdfYml0cygpCgkgIHN0cnVjdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg5MAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDE0LTAzLTI0IDE3OjMzOjAwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiBmaXggb3V0LW9mLXNvdXJjZSBidWlsZHMuCgkgIEFsd2F5cyB1c2UgdGhlIGxvY2FsbHkgZ2VuZXJhdGVkIDxnc3QvZ2wvZ3N0Z2xjb25maWcuaD4gZmlsZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxNC0wMy0yNSAwMDo1MDozMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBnbC9kb3dubG9hZDogYWRkIHN1cHBvcnQgZm9yIHRoZSBidDcwOSBjb2xvciBtYXRyaXgKCjIwMTQtMDMtMjUgMDA6MzQ6MTMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIGdsL3VwbG9hZDogYWRkIHN1cHBvcnQgZm9yIHRoZSBidDcwOSBjb2xvciBtYXRyaXgKCjIwMTQtMDMtMjQgMjM6MDk6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvTWFrZWZpbGUuYW06CgkgIGdsOiByZW1vdmUgZXhwbGljaXQgcmVmZXJlbmNlIHRvIFhfQ0ZMQUdTCgkgIFRoZXkgYXJlIGluIEdMX0NGTEFHUyBpZiByZXF1aXJlZAoKMjAxNC0wMy0yMyAyMzo0MzoyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgZ2wvdXBsb2FkOiByZW1vdmUgdGhlIGxlZ2FjeSBHTCAxLnggdXBsb2FkIHBhdGgKCSAgdXBsb2FkaW5nIHJlcXVpcmVzIHNoYWRlcnMgYW5kIGZib3MgYXZhaWxhYmxlIGluIEdMMi4KCjIwMTQtMDMtMjMgMTE6MDI6MDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBnbDogZmFsbGJhY2sgdG8gZ2xHZXRTdHJpbmcgaWYgR0xfTlVNX0VYVEVOU0lPTlMgZmFpbHMKCSAgTmVlZCBpdCBvbiBNYWNPU1ggMTAuNy41CgoyMDE0LTAzLTIzIDAxOjAyOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJICBnbDogYW5kIHVwZGF0ZSB0aGUgTWFrZWZpbGUKCjIwMTQtMDMtMjMgMDA6Mzg6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9hbGxfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYmFzZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2JsZW5kaW5nLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZWdsaW1hZ2UuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9mYm8uaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9maXhlZGZ1bmN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvc2hhZGVycy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgZ2w6IHJlb3JnYW5pemUgdGhlIGV4dGVuc2lvbiBoZWFkZXJzIGJ5IGZ1bmN0aW9uIHJhdGhlciB0aGFuIGFwaQoKMjAxNC0wMy0yMSAyMDoyOTo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJICBnbC93aW4zMjogdXNlIHRoZSBjb3JyZWN0IGluY2x1ZGUgYW5kIGdzdC1pbmRlbnQKCjIwMTQtMDMtMjEgMTU6NTY6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgY2hlY2s6IGZpeCBtYWtlIGNoZWNrCgkgIFRoZSBtcGVnIHBhcnNlciBub3cgZmxhZ3MgdGhlIHN0cmVhbSBhcyBtcGVnMiBpZiB0aGVyZSBpcyBhIHBpY3R1cmUKCSAgZXh0ZW5zaW9uIGhlYWRlciwgc28gcmVtb3ZlIGl0IGZvciBtcGVnMSBkYXRhLgoKMjAxNC0wMy0xOCAwOToxNjoyNSArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbGNvbnRleHRfd2dsLmM6CgkgIGdsOiB1c2Ugd2dsQ3JlYXRlQ29udGV4dEF0dHJpYnNBUkIgdG8gY3JlYXRlIHNoYXJlIGNvbnRleHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjQ5NAoKMjAxNC0wMy0xNyAyMDo0MzozNSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBnbC9taXhlcjogZml4IGRvd25sb2FkIGNoZWNrIGZvciBmYWlsdXJlCgoyMDE0LTAzLTE3IDIwOjQwOjUxICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIGdsOiBzaWxlbmNlIGEgY3JpdGljYWwgaWYgdXBzdHJlYW0gZG9lcyBub3QgcHJvdmlkZSB1cyB3aXRoIG1ldGEgcGFyYW1zCgoyMDE0LTAzLTE5IDEzOjQ4OjEwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIGdsOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoJICBTaW1pbGFyIHRoYW4gMTE5MGE3OWIxOTk1ODRjZmM0ZGQ2MmM0NzQ1MzFjMzJjZmJiYTQyNQoKMjAxNC0wMy0xOSAxMzo0NTozNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsZGlzcGxheV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgZ2w6IGtlZXAgb25seSBvbmUgb2NjdXJlbmNlIG9mICcjaW5jbHVkZSA8RUdML2VnbC5oPicKCSAgVG8gc2ltcGx5IG1haW50YWluYW5jZSBpZiB3ZSBuZWVkIHRvIHB1dCBzcGVjaWZpYyBpbmNsdWRlcyBhcm91bmQgaXQuCgoyMDE0LTAzLTE2IDAxOjI1OjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRG9uJ3QgZm9yd2FyZCB0ZXh0IGdhcCBldmVudHMgZG93bnN0cmVhbQoJICBUaGF0IGdhcCBpcyBvbmx5IGZvciB0aGUgc3VidGl0bGUgc3RyZWFtIGFuZCBub3QgZm9yIHRoZSB2aWRlbyBzdHJlYW0uCgoyMDE0LTAzLTE4IDAwOjExOjA5ICswMDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2w6IGRvbid0IGRlZmF1bHQgdG8gR1NUX0dMX0hBVkVfV0lORE9XX0RJU1BNQU5YPTEKCSAgTWlzdGFrZSBpbnRyb2R1Y2VkIGJ5IDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowODo1MCArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBnbDogZml4IHRoZSB1c2Ugb2YgYWx3YXlzLWRlZmluZWQgbWFjcm9zCgkgIEFmdGVyIDJhMGYwMzk5YWUyMjYwODljMmJhMDdiMWI5MDQ3NDFiODU2ZjM3YWYgR1NUX0dMXyogbWFjcm9zIGFyZSBhbHdheXMKCSAgZGVmaW5lZCB0byAwIG9yIDEuIERvbid0IHVzZSAjaWZkZWYgLi4uIG9yICNpZiBkZWZpbmVkKCkgb24gdGhlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xOCAwMDowNzo0MyArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBjaGVjayBmb3IgWCB1bmNvbmRpdGlvbmFsbHkKCSAgV2l0aG91dCB0aGlzIHRoZSBIQVZFX1ggbWFjcm8gaXMgZW1wdHksIG5vdCAibm8iIG9yICJ5ZXMiLCB3aGljaCBpcyBub3QKCSAgd2hhdCB0aGUgbGF0ZXIgY29kZSBpcyBjb3VudGluZyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjU5MQoKMjAxNC0wMy0xNyAxNzozNToyMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgZGVmYXVsdCB2YWx1ZSB0byAwIGZvciBhbGwgZGVmaW5pdGlvbnMgdGhhdCBnbyB0byBnc3RnbGNvbmZpZy5oCgkgIFRvIGF2b2lkIHdhcm5pbmdzIGxpa2UgIkdTVF9HTF9IQVZFX09QRU5HTCBpcyBub3QgZGVmaW5lZCIuCgkgIEFzIHdlIGFyZSB1c2luZyAjaWYgaW5zdGVhZCBvZiAjaWZkZWYKCjIwMTQtMDMtMTcgMTU6NDk6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBnbDogYWxsb3cgbm90IGJ1aWxkaW5nIHRoZSBnbCBsaWJyYXJ5IHBsdWdpbnMKCjIwMTQtMDMtMTcgMTU6MTY6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIEdNb2R1bGUgbGlicyBmb3Igd2luMzIKCjIwMTQtMDMtMTcgMTU6MDY6MjUgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogb25seSBsaW5rIGFnYWluc3QgZ3N0ZWdsIGlmIHdlIGFyZSB1c2luZyBlZ2wKCSAgQXNzdW1pbmcgaWYgd2UgYXJlIGJ1aWxkaW5nIGVnbCB0aGF0IHRoZSBlZ2wgbGlicmFyeSBpcyBidWlsdAoKMjAxNC0wMy0xNyAxNTowNToyNCArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBhZGQgdGhlIG9wdGlvbiBvZiBkaXNhYmxpbmcgY29jb2Egb24gT1MgWCB1c2luZyAtLWRpc2FibGUtY29jb2EKCjIwMTQtMDMtMTcgMTQ6Mzc6MTMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIHBhdGggb2YgdGhlIGdzdGVnbCBsaWJyYXJ5CgkgIFRlbXBvcmFyeSB1bnRpbCB3ZSBtZXJnZSB0aGUgdHdvIGxpYnJhcmllcwoKMjAxNC0wMy0xNyAxNDoyNjozMSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFJldmVydCAiZ2w6IGFkZCBkZXAgb24gZ3N0ZWdsIgoJICBJdCB3YXMgYWxyZWFkeSBpbiBfTElCQURECgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYjEwYTM1MzA4MDQzMzVmYzNiOTQ5NDYwM2VmNzhjZTk0MTdjM2JjOC4KCjIwMTQtMDMtMTcgMTQ6MTE6MTQgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBnbDogYWRkIGRlcCBvbiBnc3RlZ2wKCSAgVGVtcG9yYXJ5IHVudGlsIHdlIG1lcmdlIHRoZSB0d28gbGlicmFyaWVzCgoyMDE0LTAzLTE3IDE0OjA2OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsY29udGV4dF9jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgZ2wvY29jb2E6IEZpeCBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBwbGF0Zm9ybQoKMjAxNC0wMy0xNyAxMjozMjoyNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGdsOiBzZXQgSEFWRV9FR0xfUlBJIHRvIHllcyBpZiBIQVZFX0dMIGFuZCBSUEkKCSAgV2hpY2ggZml4ZXMgYnVpbGQgb24gUmFzcGJlcnJ5IFBpIHNpbmNlIC1nbCBoYXMgYmVlbiBtb3ZlZCB0byAtYmFkCgoyMDE0LTAzLTE3IDEyOjA0OjQwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJICBnbDogRml4IHN0YXRpYyBidWlsZCB3aXRoIG9iamVjdGl2ZS1DCgkgIC0tdGFnPUNDIGlzIG5lZWRlZCBmb3Igc3RhdGljIGJ1aWxkCgoyMDE0LTAzLTE3IDEyOjAwOjA5ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIG1ha2U6IHdoaXRlc3BhY2UgY2xlYW51cHMKCjIwMTQtMDMtMTcgMTA6NTY6MzkgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGRpc3BsYXlfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xkaXNwbGF5X2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgZ2w6IEFkZCBFR0xEaXNwbGF5IGRpc3BsYXkgc3ViY2xhc3MKCjIwMTQtMDMtMTcgMTA6NDQ6MzIgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIGdsL3dpbmRvdzogYWRkIGEgZHVtbXkgd2luZG93IGNsYXNzCgkgIEVmZmVjdGl2ZSBmb3IgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBhIHBsYXRmb3JtIHRoYXQgZG9lcyBub3QKCSAgcmVxdWlyZSBhIG5hdGl2ZSB3aW5kb3cuICBXZSByZXF1aXJlIGEgbWFpbmxvb3AgdG8gcnVuIHRoZSBHTAoJICBjb21tYW5kcyB3aGljaCBpcyBjdXJyZW50bHkgb3BlcmF0ZWQgYnkgR3N0R0xXaW5kb3cuCgoyMDE0LTAzLTE3IDA4OjEwOjUwICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBmaXggdW5kZWNsYXJlZCBzeW1ib2wgd2hlbiBidWlsZGluZyB3aXRob3V0IEdTVF9ERUJVRwoKMjAxNC0wMy0xNiAxODo1NTowMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBnbDogZml4IGEgZG91YmxlIHVucmVmIG9mIHRoZSBxdWVyeSB3aGVuIGJ1aWxkaW5nIHdpdGhvdXQgWAoKMjAxNC0wMy0xNiAxNjozNjowNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaGFuZGxlIHZpZGVvL3gtcmF3KEFOWSkgaWYgZG93bnN0cmVhbSBzdXBwb3J0cyB0aGUgR3N0VmlkZW9PdmVybGF5Q29tcG9zaXRpb25NZXRhIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2NDYzCgoyMDE0LTAzLTE2IDE3OjIxOjM4ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIGdsOiBzaWxlbmNlIGEgY29tcGlsZXIgd2FybmluZyBhYm91dCBtaXNzaW5nIHByb3RvdHlwZXMKCjIwMTQtMDMtMTQgMTk6MDM6MzYgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgZ2wvdXRpbHM6IGFkZCB4MTEgR3N0Q29udGV4dCBoYW5kbGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI2MzYwCgoyMDE0LTAzLTE2IDE1OjM0OjExICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgZ2w6IGRlZmluZSBHTF9OVU1fRVhURU5TSU9OUyBpZiBub3QgZGVmaW5lZAoKMjAxNC0wMy0xNiAxNTowODoyMyArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvLmdpdGlnbm9yZToKCSAgTW92ZSBnc3QtcGx1Z2lucy1nbCB0byBiYWQKCjIwMTQtMDMtMTYgMTU6MDY6MzcgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0b3BlbmdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBnbDogc2lsZW5jZSBhbGwgdGhlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTAzLTE2IDExOjIzOjE2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9nbC9CVUdTOgoJKiBleHQvZ2wvTWFrZWZpbGUuYW06CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBleHQvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGV4dC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZXh0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGV4dC9nbC9nbHRlc3RzcmMuYzoKCSogZXh0L2dsL2dsdGVzdHNyYy5oOgoJKiBleHQvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZXh0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGV4dC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZXh0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBleHQvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJKiBleHQvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZXh0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGV4dC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZXh0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmN1YmUuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkqIGV4dC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBleHQvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuaDoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZXh0L2dsL2dzdGdsZmlsdGVyc29iZWwuaDoKCSogZXh0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGV4dC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBleHQvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZXh0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGV4dC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZXh0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBleHQvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGV4dC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZXh0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBleHQvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGV4dC9nbC9nc3RvcGVuZ2wuYzoKCSAgbW92ZSBnbCBlbGVtZW50cyB0byBleHQgc3ViZGlyZWN0b3J5CgoyMDE0LTAzLTE1IDE1OjU1OjQ2ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbOTA2LzkwNl0gZmlsdGVyOiB3YXJuIGFib3V0IHRyeWluZyB0byBzaGFyZSB3aXRoIG11bHRpcGxlIGNvbnRleHRzIGF0IG9uY2UKCjIwMTQtMDMtMTUgMTQ6MDY6NDAgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs5MDUvOTA2XSBBZGQgR0wgY29udGV4dCBzaGFyaW5nIHN1cHBvcnQgZm9yIG5vbi1nc3RnbCBlbGVtZW50cwoKMjAxNC0wMy0xNSAxMzo1NTozOSArMDEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbOTA0LzkwNl0gbWl4ZXI6IGFzayBmb3IgZGlzcGxheSBoYW5kbGVzIG9uIHBhZCBhY3RpdmF0aW9uCgoyMDE0LTAzLTE1IDEzOjUxOjQ0ICswMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzkwMy85MDZdIGFwaTogYWRkIEdzdEdMUGxhdGZvcm0gdG8vZnJvbSBzdHJpbmcKCjIwMTQtMDMtMTUgMTE6MjU6NDMgKzAxMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbOTAyLzkwNl0gY29udGV4dDogaW1wbGVtZW50IGdsR2V0U3RyaW5naSBoYW5kbGluZyBmb3IgR0wgY29yZSBjb250ZXh0cy9HTEVTMwoKMjAxNC0wMy0xMiAyMzo0Njo1OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzkwMS85MDZdIGdseDogdXNlIHRoZSBkaXNwbGF5IGhhbmRsZSBmcm9tIHRoZSBnbG9iYWwgZGlzcGxheQoJICBJbnRlbCBkcml2ZXJzIHJlcXVpcmUgdGhlIGRpc3BsYXkgaGFuZGxlcyBiZSB0aGUgc2FtZSBmb3IgY29udGV4dAoJICBzaGFyaW5nIHRvIG9jY3VyLiAgQWxzbyBzb2x2ZXMgc29tZSBjYXNlcyBvZiB1c2UgYWZ0ZXIgZnJlZSBvZiB0aGUKCSAgZGlzcGxheSB3aGVuIGludGVncmF0aW5nIHdpdGggZ3N0cmVhbWVyLXZhYXBpLgoJICBTZWUgaHR0cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NDE3MzYgZm9yIHRoZSBpbnRlbCBidWcuCgoyMDE0LTAzLTEyIDIzOjQ0OjI4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs5MDAvOTA2XSB0ZXN0cy9nc3RnbGNvbnRleHQ6IHJlZHVjZSB0aGUgbnVtYmVyIG9mIGZyYW1lcyBkaXNwbGF5ZWQKCSAgV2FzIGNhdXNpbmcgdGltZW91dHMgb24gaW50ZWwgaGFyZHdhcmUgZHVlIHRvIHZzeW5jIGhhbmRsaW5nLgoKMjAxNC0wMy0xMiAyMzo0MzoxMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSAgWzg5OS85MDZdIGVnbDogd2FybiBpZiB3ZSByZXNvcnQgdG8gZGlzcGxheSBoYW5kbGVzIGZyb20gdGhlIHdpbmRvdwoKMjAxNC0wMy0wNiAxODoxMToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs4OTgvOTA2XSBnbGltYWdlc2luazogYWRkIGFuIG90aGVyLWNvbnRleHQgcHJvcGVydHkKCSAgQWxsb3dzIGFwcGxpY2F0aW9ucyB0byBwcm92aWRlIHVzIHdpdGggYW4gT3BlbkdMIGNvbnRleHQgd2l0aCB3aGljaAoJICB0byBzaGFyZSB3aXRoLgoKMjAxNC0wMy0wNCAyMzoyODowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSAgWzg5Ny85MDZdIGFwaTogcGx1Z2luIGEgc21hbGwgbWVtb3J5IGxlYWsKCSAgRm91bmQgYnkgYWRyaWVuLnNjaHdhcnR6ZW50cnViZXJAZ21haWwuY29tCgoyMDE0LTAzLTAyIDExOjQ4OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkgIFs4OTYvOTA2XSB1dGlsczogdXNlIHRoZSB2dGFibGUgZm9yIGRlbGV0aW5nIHRoZSB0ZXh0dXJlCgoyMDE0LTAyLTI4IDE3OjQyOjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg5NS85MDZdIGNvbnRleHQ6IGNhbGwgd2luZG93X2NsYXNzLT5jbG9zZSBsYXN0CgkgIFdlIHNob3VsZCBkZXN0cm95IHJlc291cmNlcyBiZWZvcmUgY2xvc2luZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwNDgKCjIwMTQtMDItMjUgMDk6Mjc6MjYgKzA4MDAgIFdhbmcgWGluLXl1ICjnjovmmJXlrocpIDxjb21pY2ZhbnM0NEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkgIFs4OTQvOTA2XSBnbDogYWRkIG1pc3NpbmcgR19CRUdJTl9ERUNMUy9HX0VORF9ERUNMUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTExCgoyMDE0LTAyLTI0IDIzOjU1OjU4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4OTMvOTA2XSB4MTE6IGNsb3NlIGJvdGggb2YgdGhlIGRpc3BsYXkncyB3ZSB1c2UKCSAgKHRoZSBjb21tZW50IGRvZXNuJ3Qgc2VlbSB0byBhcHBseSBhbnltb3JlKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MDQ4CgoyMDE0LTAyLTIzIDExOjQ0OjUxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg5Mi85MDZdIHNpbGVuY2UgYSBjb21waWxlciB3YXJuaW5nIG9uIG9sZGVyIGdjYyB2ZXJzaW9ucyAoNC42KQoKMjAxNC0wMi0xMSAwODo1NzoyOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4OTEvOTA2XSBjb250ZXh0OiBhZGQgc3VwcG9ydCBmb3Igd3JhcHBpbmcgZXh0ZXJuYWwgY29udGV4dHMKCjIwMTMtMTEtMjcgMTc6NTI6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGRpc3BsYXlfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2xkaXNwbGF5X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL3gxMV9ldmVudF9zb3VyY2UuYzoKCSAgWzg5MC85MDZdIHgxMTogYWRkIGRpc3BsYXkgc3ViY2xhc3MKCSAgR3N0R0xEaXNwbGF5WDExIGhvbGRzIHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24gYW5kIG5hbWUuICBFYWNoIHRocmVhZCByZXF1aXJlcwoJICBpdCdzIG93biBYMTEgRGlzcGxheSBjb25uZWN0aW9uIChpbml0aWFsaXNlZCBmcm9tIG5hbWUpIGR1ZSB0byB0aGUgZmFjdCB0aGF0CgkgIHdlIGRvIG5vdCB3YW50IHRvIGNhbGwgWEluaXRUaHJlYWRzKCkuICBEb2luZyBzbyB3b3VsZCByZXN1bHQgaW4gc2VnZmF1bHRzCgkgIHdoZW4gaW50ZWdyYXRpbmcgd2l0aCBHVUkgdG9vbGtpdHMgR3RrLCBRdCwgZXRjLgoJICBUaGUgRGlzcGxheSBjb25uZWN0aW9uIGlzIGZvciBPcGVuR0wgcGxhdGZvcm1zIHdoZXJlIGEgY29uc3RhbnQgZGlzcGxheSBpcwoJICByZXF1aXJlZCBpbiBvcmRlciB0byBzaGFyZSBjb250ZXh0cyAoZWdsKS4gIEluIHRoZSBjYXNlIG9mIGEgd3JhcHBlZCBjb250ZXh0CgkgIChhZGRlZCBsYXRlciksIHdlIGRvIG5vdCBoYXZlIEdzdEdMV2luZG93IHRvIHJldHJlaXZlIHRoZSBkaXNwbGF5IGZyb20gc28gYQoJICAnbWFzdGVyJyBjb25uZWN0aW9uIGlzIHVzZWQgaW5zdGVhZC4KCjIwMTQtMDEtMTUgMTA6MjE6NTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs4ODkvOTA2XSBkaXNwbGF5OiBhZGQgZGlzcGxheSB0eXBlIGVudW0KCjIwMTQtMDItMjMgMTE6Mjc6MjMgKzExMDAgIEFkcmllbiBTQ0ggPGFkcmllbi5zY2h3YXJ0emVudHJ1YmVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs4ODgvOTA2XSBjb3JyZWN0IGVycm9yIGhhbmRsaW5nIGluIGdzdGdsZG93bmxvYWQuYwoKMjAxNC0wMi0yMyAxMDozNjo1NyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODg3LzkwNl0gbWl4ZXI6IGZpeHVwIGEgbWVtb3J5IGxlYWsgb2YgdGhlIGNvbnRleHQgaW4gdGhlIEdMVGV4dHVyZVVwbG9hZE1ldGEgcGF0aAoJICBnc3Rfc3RydWN0dXJlX2dldCByZXR1cm5zIGEgcmVmZXJlbmNlIHRvIHRoZSBvYmplY3QgYW5kIHdlIGFza2VkCgkgIGZvciBhbm90aGVyIHdpdGggZ3N0X29iamVjdF9yZXBsYWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIzIDAxOjMyOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4ODYvOTA2XSBmaXh1cCBhIG1lbW9yeSBsZWFrIG9mIHRoZSBjb250ZXh0IGluIHRoZSBHTFRleHR1cmVVcGxvYWRNZXRhIHBhdGgKCSAgZ3N0X3N0cnVjdHVyZV9nZXQgcmV0dXJucyBhIHJlZmVyZW5jZSB0byB0aGUgb2JqZWN0IGFuZCB3ZSBhc2tlZAoJICBmb3IgYW5vdGhlciB3aXRoIGdzdF9vYmplY3RfcmVwbGFjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDgxNgoKMjAxNC0wMi0yMSAxNToyNToyMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzg4NS85MDZdIGZpbHRlcjogZnJlZSBvdXIgZGF0YQoJICBwbHVncyBzb21lIG1lbW9yeSBsZWFrcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0ODE2CgoyMDE0LTAyLTIxIDEzOjI4OjE2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODg0LzkwNl0gZmlsdGVyOiByZXR1cm4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGluIHRyYW5zZm9ybV9jYXBzCgkgIFdlIGNhbiB0cmFuc2Zvcm0gZnJvbSBhbnkgaW5wdXQgaW4gb3VyIGNhcHMgdG8gYW55IG91dHB1dC4KCSAgV2l0aCB0aGUgZm9sbG93aW5nIHBpcGVsaW5lIHNuaXBwZXQ6CgkgIC4uLiAhIHZhYXBpZGVjb2RlICEgZ2xjb2xvcnNjYWxlICEgeHZpbWFnZXNpbmsKCSAgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIHdhcyBiZWluZyB1c2VkIG9uIGJvdGggc3JjIGFuZCBzaW5rCgkgIHBhZHMgY2F1c2luZyBsaW5raW5nIHRvIGZhaWwuICBUaGlzIGFsbG93cyB0aGUgdXNhZ2Ugb2YgdGhlIG1ldGEKCSAgb24gZWl0aGVyIHBhZCB3aXRob3V0IGFmZmVjdGluZyB3aGV0aGVyIHRoZSBtZXRhIGlzIGNob3NlbiBvbiB0aGUKCSAgb3RoZXIgcGFkLgoKMjAxNC0wMi0xMSAwODoyMzozOSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSAgWzg4My85MDZdIGFwaTogcHJvdmlkZSBmcm9tX3N0cmluZygpCgkgIEFsc28gcy9nc3RfZ2xfYXBpX3N0cmluZy9nc3RfZ2xfYXBpX3RvX3N0cmluZy9nCgoyMDE0LTAyLTExIDA3OjI0OjQwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4ODIvOTA2XSBwb3J0IGdsY29sb3JzY2FsZSB0byBHTEVTMgoKMjAxNC0wMi0wNiAyMTo0Mzo0NSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg4MS85MDZdIHVwbG9hZDogcmVzdG9yZSBkZWZhdWx0IHZhbHVlcyBmb3IgdW5wYWNrX2xlbmd0aAoJICBmaXhlcyBlbGVtZW50cyB0aGF0IHVwbG9hZCBhIHN1cHBsZW1lbnRhcnkgdGV4dHVyZSAoZ2xidW1iZXIsCgkgIGdsZGlmZmVyZW5jZW1hdHRlLCBldGMpCgoyMDE0LTAyLTA1IDAwOjQ0OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzg4MC85MDZdIGdsaW1hZ2VzaW5rOiByZW1vdmUgdW51c2VkIHN0b3JlZF9idWZmZXIgZmllbGQKCSAgSXQgaGFzIHRoZSBwb3RlbnRpYWwgdG8gY2F1c2UgZGVhZGxvY2tzLgoKMjAxNC0wMi0yMCAyMjo0MDowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzg3OS85MDZdIGJ1aWxkOiBkb24ndCBhZGQgWF9DRkxBR1MgdG8gQ0ZMQUdTCgkgIEl0IHNob3VsZCBhbHJlYWR5IGJlIGluY2x1ZGVkIGlmIG5lZWRlZCBpbnNpZGUgR0xfQ0ZMQUdTCgoyMDE0LTAyLTA1IDAxOjUzOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBbODc4LzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgZ2xtZW0gYXBpIGNoYW5nZQoKMjAxNC0wMi0wNCAxMzo0OTozNSArMDEwMCAgQ2hyaXMgUGF1bHNvbi1FbGxpcyA8Y2hyaXNAZWRlc2l4LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4NzcvOTA2XSB4MTE6IFVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmcgZm9yIGd1aW50cHRyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM1MzcKCjIwMTQtMDItMDEgMDM6MTQ6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODc2LzkwNl0gZ2xtZW06IHVzZSBHc3RWaWRlb0luZm8gZm9yIGZvcm1hdCBjb25maWd1cmF0aW9uCgkgIEFsbG93cyB1c2Ugb2Ygc3RyaWRlcwoKMjAxNC0wMS0zMSAwNjo1Mzo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3NS85MDZdIHVwbG9hZDogc3VwcG9ydCBmb3IgYXJiaXRyYXJ5IHN0cmlkZXMKCSAgVXNpbmcgR0xfVU5QQUNLX0FMSUdOTUVOVCBmb3IgR0xFUzIgYW5kIEdMX1VOUEFDS19ST1dfTEVOR1RIIGZvciBldmVyeXRoaW5nIGVsc2UKCjIwMTQtMDEtMzAgMDc6NDk6MjAgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbODc0LzkwNl0gZmlsdGVyOiBpbXBsZW1lbnQgZHJhd190ZXh0dXJlIGZvciBHTEVTMgoJICAodGFrZW4gZnJvbSBnbGVmZmVjdHMpCgoyMDE0LTAxLTI5IDE5OjE0OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzg3My85MDZdIHVwbG9hZDogdXNlIEdzdFZpZGVvSW5mbyBmb3IgY2hvb3NpbmcgdGhlIGZvcm1hdAoKMjAxNC0wMS0yOSAwNjo0Mjo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3Mi85MDZdIHVwbG9hZDogY29uc29saWRhdGUgZGF0YSBfZmlsbAoKMjAxNC0wMS0yOSAwMjo1MToyMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg3MS85MDZdIHVwbG9hZDogZml4IHRleHR1cmUgc2NhbGluZyBmb3IgWVVZMi9VWVZZIHdpdGggR0xFUzIKCSAgQW5vdGhlciBhcnRpZmFjdCBmcm9tIHRoZSB0cmFuc2l0aW9uIHRvIEdMX1RFWFRVUkVfMkQKCjIwMTQtMDEtMjkgMDE6MDI6NTcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs4NzAvOTA2XSB1cGxvYWQ6IHJlbW92ZSBzdXBlcmZsb3VzIGdfbXV0ZXhfaW5pdAoKMjAxNC0wMS0zMCAwODoyODo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbHVwbG9hZC5jOgoJICBbODY5LzkwNl0gdGVzdHM6IGFkZCBzb21lIHVwbG9hZCB0ZXN0cwoKMjAxNC0wMS0yOCAwNzo1MDoxMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzg2OC85MDZdIHVwbG9hZDogZml4IGNvbXBpbGF0aW9uIGZvciBHTEVTMgoKMjAxNC0wMS0xNyAwODo0NjowMiArMDgwMCAgV2FuZyBYaW4teXUgKOeOi+aYleWuhykgPGNvbWljZmFuczQ0QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzg2Ny85MDZdIGdsdXBsb2FkOiBBZGQgR1JBWTgvR1JBWTE2TEUvQkUgdXBsb2FkIHN1cHBvcnQgdG8gZ2xpbWFnZXNpbmsKCSAgdGhlIDE2Yml0IGRhdGEgaXMgdXBsb2FkZWQgYXMgTFVNSU5BTkNFX0FMUEhBLCB0aGVuIGV4cGFuZGVkLCBjb21wb3NlZAoJICBpbiBzaGFkZXIuIHZhbHVlIHdlaWdodCBpcyBhIGxpdHRsZSBjb21wbGljYXRlLCBoaWdoIGJ5dGUgd2VpZ2h0IGlzCgkgIDI1NSoyNTYvNjU1MzUgKGRlbm9ybWFsaXplIHRvIFswfjI1NV0gLHNoaWZ0IHRvIGhpZ2ggYnl0ZSx0aGVuIG5vcm1hbGl6ZQoJICB0byBbMH4xXSksIGxvdyBieXRlIHdlaWdodCBpcyAyNTUvNjU1MzUoc2ltaWxhcikKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY3MAoKMjAxMy0xMS0yMyAyMjo1NzowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs4NjYvOTA2XSB1cGxvYWQ6IHVwZGF0ZSBzb21lIGRvY3MKCjIwMTMtMTEtMjMgMjI6MTk6MTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs4NjUvOTA2XSBnbG1lbTogcmVwb3J0IHN1Y2Nlc3NmdWwgY29weSB0byB0aGUgY2FsbGVyCgoyMDEzLTEyLTI5IDE3OjI5OjUzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs4NjQvOTA2XSBleGFtcGxlczogdXBkYXRlIHRvIGd0azMKCjIwMTMtMTEtMjYgMDk6MzI6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbODYzLzkwNl0gd2luZG93OiBob2xkIGEgcmVmIHRvIG91ciBHc3RHTERpc3BsYXkKCjIwMTMtMTEtMjUgMjA6MzQ6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9nc3RnbHdpbmRvd19kaXNwbWFueF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzg2Mi85MDZdIHdpbmRvdzogcmVtb3ZlIHNldF9uZWVkX2xvY2sKCSAgTm8tb25lIGlzIHVzaW5nIGl0LiAgVGhlIG9ubHkgY29kZSB0aGF0IGRpZCB3YXMgdGhlIHgxMSBvbmUgd2hpY2gKCSAgZG9lc24ndCBuZWVkIGl0IGFueW1vcmUuCgoyMDE0LTAxLTEwIDAyOjUwOjE0ICswODAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgWzg2MS85MDZdIGdscHJvdG90eXBlczogQWRkIG1pc3NpbmcgZ2xTY2FsZWYgZGVjbGFyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxOTAzCgoyMDEzLTExLTIzIDIyOjU4OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs4NjAvOTA2XSBkb2NzOiBtaXNjIHVwZGF0ZXMKCjIwMTMtMTEtMjMgMjI6NTc6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJICBbODU5LzkwNl0gd2luZG93OiBwcm92aWRlIHNvbWUgZG9jdW1ldGF0aW9uCgoyMDEzLTExLTIzIDIyOjU2OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSAgWzg1OC85MDZdIGdsbWVtOiB1cGRhdGUgdGhlIGRvY3MKCjIwMTMtMTEtMjMgMjI6NTQ6NDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs4NTcvOTA2XSBkaXNwbGF5OiBkb2N1bWVudCB0aGUgbmV3IEdzdENvbnRleHQgYXBpCgoyMDEzLTExLTIzIDIyOjUzOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJICBbODU2LzkwNl0gY29udGV4dDogZG9jdW1lbnQgaXQKCjIwMTMtMTEtMTQgMTU6Mjc6NTIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzg1NS85MDZdIHVwbG9hZDogYWRkIHN1cHBvcnQgZm9yIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YQoKMjAxMy0xMS0xMyAwMDo0MTowMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzg1NC85MDZdIHVzZSB0aGUgYWxsb2NhdGlvbiBxdWVyeSB0byBwcm9wb2dhdGUgR3N0R0xDb250ZXh0CgkgIHVzZXMgdGhlIEdzdFZpZGVvR0xUZXh0dXJlVXBsb2FkTWV0YSBhcGkgdHlwZSBmb3IgdGhlIHF1ZXJ5CgoyMDEzLTEwLTI0IDIyOjMwOjQ1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4NTMvOTA2XSBkaXNwbGF5OiByZW1vdmUgX3tzZXQsZ2V0fV9jb250ZXh0CgkgIEEgR3N0R0xEaXNwbGF5IGRvZXNuJ3QgbmVlZCBhIEdzdEdMQ29udGV4dCBhbmQgaXRzIHVzZQoJICB3YXMgY2F1c2UgYSByZWZlcmVuY2UgY3ljbGUKCjIwMTMtMTEtMTMgMTA6NDM6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs4NTIvOTA2XSB1c2UgR3N0Q29udGV4dCBmb3IgR3N0R0xEaXNwbGF5IHByb3BvZ2F0aW9uCgkgIGltcGxlbWVudHMgdGhlIGhvb2tzIHJlcXVpcmVkIGluIEdzdEVsZW1lbnQ6OnNldF9jb250ZXh0IGFuZCB0aGUgY29udGV4dCBxdWVyeQoKMjAxMy0xMi0yMCAxNToxODozOCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFs4NTEvOTA2XSBkZWludGVybGFjZTogZml4IHRleHR1cmUgY29vcmRpbmF0ZXMgY29tcHV0YXRpb24KCSAgRml4ZXMgYSByZWdyZXNzaW9uIGludHJvZHVjZWQgYnkgZmZmZGNiZGQzZGRlNDM3ZTEwY2Y2ZTFiNWU0MGM2OTU4ZDQxZTZjMQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwODI2CgoyMDEzLTExLTE1IDE4OjI4OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbODUwLzkwNl0gZ2x1cGxvYWQ6IFJlbW92ZSB0ZXh0dXJlIHNjYWxpbmcgYXJ0aWZhY3RzIGZyb20gdGhlIFRFWFRVUkVfUkVDVEFOR0xFIC0+IFRFWFRVUkVfMkQgdHJhbnNpdGlvbgoJICBmaXhlcyB0aGUgZnVua3kgY29sb3VycyBpbiBzb21lIG9mIHRoZSB5dXYgZm9ybWF0cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMTU1CgoyMDEzLTEwLTI2IDAyOjIwOjE3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSAgWzg0OS85MDZdIHRlc3RzcmM6IHVzZSBfY29udGV4dF9nZXRfZ2xfYXBpCgoyMDEzLTEwLTI0IDIyOjI4OjU3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbODQ4LzkwNl0gZmlsdGVyOiBhIGxpdHRsZSBjb2RlIGNsZWFudXAKCjIwMTMtMTEtMTMgMTU6NTc6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzg0Ny85MDZdIG1peGVyOiB1bm1hcCB0aGUgdmlkZW8gZnJhbWVzIHdlIG1hcAoJICBwbHVncyBhIG1lbW9yeSBsZWFrCgoyMDEzLTExLTE1IDIwOjUwOjI3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFs4NDYvOTA2XSBtaXhlcjogaGFuZGxlIDAvMSBmcmFtZXJhdGUgYmV0dGVyIGluIGNhcHMKCjIwMTMtMTEtMTUgMjA6NDk6NDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs4NDUvOTA2XSBmaWx0ZXI6IGhhbmRsZSBjYXBzZmVhdHVyZXMgcHJvcGVybHkKCjIwMTMtMTEtMTQgMTU6MDg6NDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWl4ZXIuaDoKCSAgWzg0NC85MDZdIG1peGVyOiBnaXZlIGFjY2VzcyB0byB0aGUgcGFkcyBhdCByZW5kZXIgdGltZQoJICBhbGxvd3MgdXMgdG8gbW92ZSB0aGUgdmlkZW8gZnJhbWUgbWFwcGluZyBzb21ld2hlcmUgZWxzZQoKMjAxMy0xMS0xMyAyMzoyNDowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs4NDMvOTA2XSBtZW1vcnk6IHByb3ZpZGUgY29weV9pbnRvX3RleHR1cmUKCjIwMTMtMTItMjUgMjM6MzU6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs4NDIvOTA2XSBGaXggZ3N0Z2xjb25maWcuaC1yZWxhdGVkICdtYWtlIGRpc3RjaGVjaycgaXNzdWVzCgkgIEZpeCBzcmNkaXIgdnMuIGJ1aWxkZGlyIGlzc3VlIGluIGRvY3MgYW5kICdmaWxlcyBsZWZ0IGFmdGVyCgkgIGRpc2NsZWFuJyBpc3N1ZSBmb3IgZ3N0Z2xjb25maWcuaAoKMjAxMy0xMS0zMCAwOTo1MTo0OSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODQxLzkwNl0gb3N4OiBhbGxvdyB4MTEvZ2x4IGJhY2tlbmQgYW5kIHNldCBkZWZhdWx0IHJ1bnRpbWUgdG8gY29jb2EvbnNnbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzU3CgoyMDEzLTEyLTE0IDE5OjEyOjA5ICswMTAwICBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJICBbODQwLzkwNl0gZ2x2aWRlb21peGVyOiBVc2UgY29ycmVjdCBjb29yZGluYXRlcyBhZnRlciB0aGUgc3dpdGNoIGZyb20gR0xfVEVYVFVSRV9SRUNUQU5HTEUgdG8gR0xfVEVYVFVSRV8yRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMTc3CgoyMDEzLTExLTMwIDE2OjM4OjEzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbODM5LzkwNl0gY29jb2E6IGFsbG93IHRvIGNhbGwgc2V0X3dpbmRvd19oYW5kbGUgYmVmb3JlIHRvIGNyZWF0ZSBnbGNvbnRleHQKCSAgU28gdGhhdCBpdCBhY3R1YWxseSBtYWtlIGNvY29hIHZpZGVvb3ZlcmxheSBleGFtcGxlIHdvcmsgYWdhaW4uCgkgIEZpeGVzIGJ1ZyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NzU4CgoyMDEzLTExLTE1IDE4OjI4OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xjb250ZXh0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbODM4LzkwNl0gZ2w6IFVzZSBHTF9URVhUVVJFXzJEIGluc3RlYWQgb2YgR0xfVEVYVFVSRV9SRUNUQU5HTEUKCSAgV2UgY3JlYXRlIG91ciB0ZXh0dXJlcyAoaW4gRGVza3RvcCBHTCkgd2l0aCBHTF9URVhUVVJFX1JFQ1RBTkdMRSwKCSAgdmFhcGkgYXR0ZW1wdHMgdG8gYmluZCBvdXIgdGV4dHVyZSB0byBHTF9URVhUVVJFXzJEIHdoaWNoIHRocm93cyBhCgkgIEdMX0lOVkFMSURfT1BFUkFUSU9OIGVycm9yIGFuZCBhcyB0aHVzLCBubyB2aWRlby4KCSAgQWxzbywgYnkgbW92aW5nIGV4Y2x1c2l2ZWx5IHRvIEdMX1RFWFRVUkVfMkQgYW5kIHRoZSBucG90IGV4dGVuc2lvbgoJICB3ZSBhbHNvIHJlbW92ZSBhIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgRGVza3RvcCBHTCBhbmQgR0xFUzIgY29kZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjI4NwoKMjAxMy0xMS0wOCAxMjoxMjoyNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbF9jb2NvYV9wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbODM3LzkwNl0gY29jb2E6IHJlc2l6ZSBPcGVuR0wgdmlldyBzaXplIGVhY2ggdGltZSB0aGUgd2luZG93IGlzIHJlc2l6ZWQKCSAgRml4ZXMgZ2xpdGNoZXMgdGhhdCBjYW4gYXBwZWFyIHdoZW4gdGhlIE9wZW5HTCB2aWV3IGhhcyBub3QgYmVlbiByZXNpemVkCgkgIGFmdGVyIGEgd2luZG93IHJlc2l6ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTY3MgoKMjAxMy0xMS0wMSAxNjozNTo0NiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSAgWzgzNi85MDZdIGNvY29hOiBvbmx5IHVzZSBHU1JlZ2lzdGVyQ3VycmVudFRocmVhZCB3aXRoIEdOVVN0ZXAgZW52aXJvbm1lbnQKCjIwMTMtMTEtMDYgMjI6MTY6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MzUvOTA2XSBnc3RnbHdpbmRvdzogcmVtb3ZlIHVudXNlZCBmaWVsZHMKCjIwMTMtMTEtMDYgMjI6MTM6MjAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MzQvOTA2XSBnc3RnbHdpbmRvdzogY2xlYXIgbXV0ZXgKCjIwMTMtMTEtMDYgMjI6MTI6MDIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJICBbODMzLzkwNl0gZ3N0Z2xjb250ZXh0OiBpbml0aWFsaXplIHdpbmRvdyB0byBOVUxMCgoyMDEzLTExLTA2IDIxOjU5OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs4MzIvOTA2XSB4MTE6IGlnbm9yZSBFeHBvc2UgZXZlbnRzIG5vdCBpbml0aWF0ZWQgYnkgZ3N0X2dsX3dpbmRvd19kcmF3CgoyMDEzLTExLTA2IDIxOjU1OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs4MzEvOTA2XSBnbGltYWdlc2luazogYXZvaWQgdG8gb3ZlcmxvYWQgdGhlIGRyYXdlciBpZiBhbHJlYWR5IGRyYXdpbmcKCSAgRXNwZWNpYWxseSBpZiB0aGUgYXBwbGljYXRpb24gY2FsbHMgZ3N0X3ZpZGVvX292ZXJsYXlfZXhwb3NlIGEgbG90CgoyMDEzLTEwLTIzIDIxOjQ2OjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsdmlkZW9taXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21peGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzgzMC85MDZdIGdsdmlkZW9taXhlcjogQWRkIGEgbmV3IHNpbXBsZSBnbHZpZGVvbWl4ZXIgZWxlbWVudAoJICB0aGF0IHNpbXBseSB1c2VzIGdsQmxlbmRGdW5jIHRvIGJsZW5kIGVhY2ggaW1wdXQgZnJhbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDcxNAoKMjAxMy0xMC0yMyAyMDozODo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODI5LzkwNl0gbWl4ZXI6IGVycm9yIG91dCBwcm9wZXJseSBvbiBmbHVzaGluZwoKMjAxMy0xMC0yMiAyMTo0ODowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkgIFs4MjgvOTA2XSBjb250ZXh0OiByZWZjb3VudCB0aGUgZGlzcGxheQoKMjAxMy0xMC0yNiAwMjoyMDo1NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODI3LzkwNl0gbWl4ZXI6IGRvbid0IHVucmVmIHRoZSBxdWVyeSBpbiB0aGUgZGVmYXVsdCBjYXNlCgkgIFRoZSBlbGVtZW50L2FwcGxpY2F0aW9uIHBlcmZvcm1pbmcgdGhlIHF1ZXJ5IGlzIHJlc3BvbnNpYmxlIGZvciB0aGUKCSAgZGUvYWxsb2NhdGlvbgoKMjAxMy0xMC0yNCAyMToyNDowMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzgyNi85MDZdIHVwbG9hZDogZnJlZSBvdXIgbXV0ZXgKCjIwMTMtMTAtMTEgMTY6MDA6MjMgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgyNS85MDZdIGdsd2luZG93X3gxMTogY2hlY2sgaWYgdGhlIGxvb3AgZXhpc3RzCgkgIEl0IGhhcHBlbnMgd2hlbiBjYWxsaW5nIHNldF93aW5kb3dfaGFuZGxlIGJlZm9yZSB0byByZWFjaCBHU1RfU1RBVEVfUkVBRFkuCgkgIEluIHRoaXMgY2FzZSB0aGUgcGFyZW50IGlzIHNldCB3aGVuIGNyZWF0aW5nIHRoZSBpbnRlcm5hbCB3aW5kb3cuCgoyMDEzLTEwLTAxIDIzOjQ3OjU0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmM6CgkgIFs4MjQvOTA2XSBhbmRyb2lkOiBCdWlsZCBmaXhlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Nzg2CgoyMDEzLTEwLTAxIDExOjQ2OjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs4MjMvOTA2XSB3YXlsYW5kX2VnbDogbWFrZSB0aGUgd2F5bGFuZCBiYWNrZW5kIGFjdHVhbGx5IHdvcmsgb24gUmFzcGJlcnJ5IFBpCgkgIEZpeCByZXNpemluZyBhbmQgY2FuIG5vdyBtb3ZlIHRoZSB3aW5kb3cKCjIwMTMtMTAtMDEgMTE6NDQ6MDAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4MjIvOTA2XSBnc3RnbGNvbnRleHRfZWdsOiBhdm9pZCBub24gd29ya2luZyBFR0wgY29uZnMgb24gcnBpL3dheWxhbmQKCjIwMTMtMTAtMDEgMTE6NDI6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgyMS85MDZdIHRlc3RzOiBmaXggdGVzdF9zaGFyZSBvbiBHTEVTdjIKCjIwMTMtMTAtMDEgMTE6Mjc6MDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs4MjAvOTA2XSBnc3RnbHdpbmRvdzogaWYgYXZhaWxhYmxlIHVzZSB3YXlsYW5kIGluc3RlYWQgZGlzcG1hbnggb24gcnBpCgoyMDEzLTA5LTI3IDAxOjE1OjI1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJICBbODE5LzkwNl0gbWFrZSBnZW5fdGV4dHVyZS9kZWxfdGV4dHVyZSB0aHJlYWRzYWZlCgkgIFVzZSBzdGFjayBhbGxvY2F0ZWQgaW5zdGVhZCBvZiBzdGF0aWMgdmFyaWFibGVzCgkgIENvbmZsaWN0czoKCSAgZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYwoKMjAxMy0wOS0yNSAxMjoyNjo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgxOC85MDZdIHdpbmRvdzogYWRkIHNlbmRfbWVzc2FnZV9hc3luYyB2bWV0aG9kCgkgIC0gcHJvdmlkZSBhIGRlZmF1bHQgc3luY2hyb25vdXMgc2VuZF9tZXNzYWdlCgkgIC0gbWFrZSBjb250ZXh0IGNyZWF0aW9uIHRocmVhZHNhZmUgYWdhaW4KCjIwMTMtMDktMjQgMTY6Mzc6MTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzgxNy85MDZdIG1ha2UgdGhlIHN0YXRlIGNoYW5nZSB0ZXN0IHBhc3MKCjIwMTMtMDktMjQgMTQ6MDc6NTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzgxNi85MDZdIHgxMTogZml4IG1ha2UgY2hlY2sgc2VnZmF1bHQKCjIwMTMtMDktMjAgMTE6NTU6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzgxNS85MDZdIGZpeCBzb21lIHJlZmNvdW50IGVycm9ycwoKMjAxMy0wOS0yMCAxMTo1NDo0MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbODE0LzkwNl0gbWl4ZXI6IHRpbWVzdGFtcCBidWZmZXJzCgoyMDEzLTA5LTE2IDE5OjA3OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODEzLzkwNl0gdW5yZWYgdGhlIHBvb2wgb24gc2h1dGRvd24KCjIwMTMtMDktMTUgMTQ6MjM6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZnJhbWVidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4MTIvOTA2XSBtb3ZlIHRoZSBHTCB2dGFibGUgZnJvbSBHc3RHTERpc3BsYXkgdG8gR3N0R0xDb250ZXh0CgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYwoKMjAxMy0wOC0yMiAxNTo1NTozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs4MTEvOTA2XSB0ZXN0czogdXBkYXRlIGZvciBHc3RHTENvbnRleHQgYWRkaXRpb24KCjIwMTMtMDktMjYgMTQ6NDY6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSAgWzgxMC85MDZdIGdzdGdsdXRpbHM6IHVzZSBnbF92dGFibGUgZm9yIGdsRGVsZXRlVGV4dHVyZXMKCjIwMTMtMDktMjYgMTQ6NDM6MTkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbGNvbnRleHQuYzoKCSAgWzgwOS85MDZdIHRlc3RzOiBwb3J0IHRlc3Rfc2hhcmUgdG8gR0xFUzIKCSAgQWxzbyBhZGQgYSBkZWluaXQgZnVuY3Rpb24gdG8gcmVsZWFzZSBmYm8sIHRleCBhbmQgc2hhZGVyLgoKMjAxMy0wOS0wMyAyMjowMzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbODA4LzkwNl0geDExOiByZW1vdmUgZGVhZCBjb2RlCgoyMDEzLTA5LTAzIDIxOjQ5OjE4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsY29udGV4dF93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4LmM6CgkgIFs4MDcvOTA2XSBjb250ZXh0OiBNb3ZlIHNvbWUgd2luZG93IGVycm9yIGVudW1zIHRvIGNvbnRleHQKCjIwMTMtMDgtMzAgMDA6Mjg6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkgIFs4MDYvOTA2XSBlZ2w6IGRvZXNuJ3QgcmVxdWlyZSB0aGUgRUdMQ29uZmlnIGZyb20gdGhlIG90aGVyIGNvbnRleHQKCSAgbGliRUdMIHNob3VsZCBnaXZlIHVzIHRoZSBzYW1lIG9yIHNpbWlsYXIgRUdMQ29uZmlnIGZyb20gdGhlCgkgIEVHTERpc3BsYXkgd2UgaGF2ZS4KCjIwMTMtMDgtMzAgMDA6MjI6MzEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbODA1LzkwNl0gZ2xmaWx0ZXI6IHJlbmFtZSBleHRlcm5hbC1vcGVuZ2wtY29udGV4dCBwcm9wIHRvIG90aGVyLWNvbnRleHQKCSAgSXQgbm93IHJlcXVpcmVzIGEgR3N0R0xDb250ZXh0IGluc3RlYWQgb2YgYSBoYW5kbGUKCjIwMTMtMDgtMzAgMTU6NTM6NDEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs4MDQvOTA2XSBycGk6IGNhbGwgYmNtX2hvc3RfaW5pdCBpbiBwbHVnaW5faW5pdAoKMjAxMy0wOC0zMCAxNDoxMjozNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9kaXNwbWFueC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2Rpc3BtYW54L2dzdGdsd2luZG93X2Rpc3BtYW54X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZGlzcG1hbngvZ3N0Z2x3aW5kb3dfZGlzcG1hbnhfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9lZ2wvZ3N0Z2xjb250ZXh0X2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbODAzLzkwNl0gcmFzcGJlcnJ5cGk6IGFkZCBzdXBwb3J0IGZvciBkaXNwbWFueAoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzM0MgoKMjAxMy0wOC0yOSAyMDoxMjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsY29udGV4dC5jOgoJICBbODAyLzkwNl0gYWRkIEdzdEdMQ29udGV4dCB0ZXN0IHRoYXQgdGVzdHMgY29udGV4dCBzaGFyaW5nCgoyMDEzLTA4LTI5IDIwOjEwOjQyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSAgWzgwMS85MDZdIGNvbnRleHQ6IFJlaW1wbGVtZW50IEdMIGNvbnRleHQgc2hhcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0ODA2CgoyMDEzLTA4LTI4IDEwOjMyOjI5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbODAwLzkwNl0gZ2xpbWFnZXNpbms6IGF2b2lkIHRvIGRyYXcgdGV4dHVyZSB3aGlsZSByZWxlYXNpbmcgc3RvcmVkIGJ1ZmZlcgoJICBTcG90ZWQgYnkgZ2VuZXJpYy9jdWJlIGV4YW1wbGUgd2l0aCBDbGllbnREcmF3Q2FsbGJhY2sgc2V0IHRvCgkgIHJldHVybmluZyBUUlVFIChpdCBtZWFucyBkcmF3aW5nIGFzIGZhc3QgYXMgcG9zc2libGUpCgoyMDEzLTA4LTI4IDEwOjA3OjI0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc5OS85MDZdIGdsaW1hZ2VzaW5rOiBmaXggYXN5bmNocm9uZSBkcmF3aW5nCgkgIFNpbXBsaWZ5IGdzdF9nbGltYWdlX3NpbmtfcmVkaXNwbGF5IHdoaWNoIGlzIHRoZXJlCgkgIG9ubHkgdG8gYXNrIHRoZSB3aW5kb3cgZm9yIGEgcmVkcmF3LgoJICBQdXQgYSBsb2NrIHRvIG1ha2Ugc3VyZSB3ZSBhcmUgbm90IHJlYWxlYXNpbmcKCSAgdGhlIHN0b3JlZCBidWZmZXIgd2hpbGUgc3RpbGwgZHJhd2luZyB0aGUgY29ycmVzcG9uZGluZwoJICB0ZXh0dXJlCgoyMDEzLTA4LTIyIDAwOjI5OjM2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvTWFrZWZpbGUuYW06CgkgIFs3OTgvOTA2XSBidWlsZDogaW5zdGFsbCBuZWVkZWQgaGVhZGVyCgoyMDEzLTA4LTIxIDE1OjQwOjUyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3OTcvOTA2XSB4MTE6IGZpeCBidWlsZCBmb3IgY2xhbmcKCjIwMTMtMDgtMjEgMTQ6MDU6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9nc3RnbHdpbmRvd19hbmRyb2lkX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZWdsL2dzdGdsY29udGV4dF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2VnbC9nc3RnbGNvbnRleHRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSAgWzc5Ni85MDZdIG1vdmUgZWdsIGludG8gaXRzIG93biBkaXJlY3RvcnkKCjIwMTMtMDgtMjEgMTM6NTc6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSAgWzc5NS85MDZdIGFuZHJvaWQ6IHBvcnQgdG8gR3N0R0xDb250ZXh0CgkgIG5vdCB0ZXN0ZWQKCjIwMTMtMDgtMTUgMTc6MDk6MDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xfY29jb2FfcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2xjb250ZXh0X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbGNvbnRleHRfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGNvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2xjb250ZXh0X3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsY29udGV4dF9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbGNvbnRleHRfZ2x4Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNzk0LzkwNl0gY29udGV4dDogYWRkIHN1YmNsYXNzZXMgZm9yIHRoZSBkaWZmZXJlbnQgcGxhdGZvcm1zIChlZ2wsIGdseCwgd2dsLCBldGMpCgkgIC0gbW9zdCBjb2RlIHRha2VuIGZyb20gdGhlIFdpbmRvdyBzdWJjbGFzc2VzCgkgIC0gdGVzdGVkIGNvbWJpbmF0aW9uczogeEVHTCwgR0xYLCBXYXlsYW5kK0VHTCwgQ29jb2EgKHVuZGVyIEdOVVN0ZXApLCBXR0wgKFdpbmUpCgoyMDEzLTA4LTE0IDEwOjQ0OjE5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbF9md2QuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xjb250ZXh0Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3OTMvOTA2XSBhZGQgYSBHc3RHTENvbnRleHQgb2JqZWN0IHRoYXQgd2lsbCBiZSB0aGUgYmFzaXMgb2YgT3BlbkdMIGNvbnRleHRzCgkgIEF0IHRoZSBtb21lbnQgaXQganVzdCBzaXRzIGluIGJldHdlZW4gR3N0R0xEaXNwbGF5IGFuZCBHc3RHTFdpbmRvdwoJICBwZXJmb3JtaW5nIHNvbWUgb2YgdGhlIHN0dWZmIHRoYXQgR3N0R0xXaW5kb3cgdXNlZCB0byBkby4KCjIwMTMtMDgtMTMgMjA6MTA6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNzkyLzkwNl0gYnVpbGQ6IHVzZSBvdXIgb3duIGluIHRyZWUgaGVhZGVycyBiZWZvcmUgc3lzdGVtIG9uZXMKCSAgYWxsb3dzIHVzIHRvIGRldmVsb3AgYWdhaW5zdCB0aGUgdHJlZSByYXRoZXIgdGhhbiB3aGF0IG1heSBiZSBpbnN0YWxsZWQKCjIwMTMtMDgtMTYgMTY6Mjk6MTIgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkgIFs3OTEvOTA2XSBnbHdpbmRvdy94MTE6IHJlbW92ZSBYMTFFdmVudFNvdXJjZSBhcyBzb29uIGFzIHRoZSB3aW5kb3cgaXMgZGVsZXRlZAoJICBnc3RfZ2xfd2luZG93X3gxMV9zZW5kX21lc3NhZ2UgZG8gbm90IHVzZSBYU2VuZEV2ZW50IGFueW1vcmUKCjIwMTMtMDgtMTYgMTU6MjY6MjggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3OTAvOTA2XSBnbGltYWdlc2luazogcmV0cmlldmUgd2luZG93IG9ubHkgd2hlbiBjbGllbnREcmF3Q2FsbGJhY2sgcmV0dXJuIHRydWUKCjIwMTMtMDgtMDcgMTc6MTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzg5LzkwNl0gZWdsOiBDcmVhdGUgYSB3aW5kb3cgc3VyZmFjZSBpZiBuZWNlc3NhcnkKCjIwMTMtMDgtMDcgMTE6NDY6NDkgKzAyMDAgIFRvbnUgSmFhbnNvbyA8Y2hhaW5AYnNkLmVlPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFs3ODgvOTA2XSBvc3g6IEZpeCBjb21waWxhdGlvbgoKMjAxMy0wOC0wNyAxMTo0Mjo0NiArMDIwMCAgVG9udSBKYWFuc29vIDxjaGFpbkBic2QuZWU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3ODcvOTA2XSBnbDogVGhlIEdMU0wgcmVjdGFuZ2xlIHJlc2FtcGxlciBkb2VzIG5vdCBhbHdheXMgd29yayB3aXRoIGludCB0ZXggY29vcmRzCgkgIFVzZSBmbG9hdHMgaW5zdGVhZC4KCjIwMTMtMDctMjQgMTM6MzU6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczNvcGVuZ2wuaDoKCSAgWzc4Ni85MDZdIGdscHJvdG90eXBlczogQWRkIHN1cHBvcnQgZm9yIE5WIGV4dGVuc2lvbnMgZm9yIERyYXdCdWZmZXJzIGFuZCBSZWFkQnVmZmVyCgoyMDEzLTA3LTI0IDEzOjM0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuYzoKCSAgWzc4NS85MDZdIGVnbDogVXNlIEVHTF9LSFJfc3VyZmFjZWxlc3NfY29udGV4dCBpbnN0ZWFkIG9mIGNyZWF0aW5nIGEgdXNlbGVzcyBzdXJmYWNlIGlmIGF2YWlsYWJsZQoKMjAxMy0wNy0yMiAxOTowMDo0MiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs3ODQvOTA2XSBnbG92ZXJsYXk6IGFkZCBHX0JFR0lOL0VORCBkZWNsYXJhdGlvbgoKMjAxMy0wNy0xOSAxNjoyODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3ODMvOTA2XSBnbGltYWdlc2luazogRml4IGZvcm1hdCBzdHJpbmcgd2FybmluZwoKMjAxMy0wNy0xOSAxMDowNzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc4Mi85MDZdIGdsZG93bmxvYWQ6IFVzZSBzdHJsZW4oKSBpbnN0ZWFkIG9mIHNpemVvZihjaGFyKikKCSAgZ3N0Z2xkb3dubG9hZC5jOjg0NjoyMjogZXJyb3I6IGFyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1jcHknIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgc291cmNlOyBkaWQgeW91IG1lYW4gdG8gcHJvdmlkZSBhbiBleHBsaWNpdCBsZW5ndGg/IFstV2Vycm9yPXNpemVvZi1wb2ludGVyLW1lbWFjY2Vzc10KCjIwMTMtMDctMTkgMTY6NDg6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc4MS85MDZdIGRvd25sb2FkOiBwcm9wb2dhdGUgZXJyb3JzIGZyb20gdGhlIEdMIHRocmVhZAoKMjAxMy0wNy0xOCAyMDoyMTo1NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs3ODAvOTA2XSB1cC9kb3dubG9hZDogY2hlY2sgcmV0dXJuIHZhbHVlcwoJICBTbyB3ZSBmYWlsIHByb3Blcmx5CgoyMDEzLTA3LTE4IDE5OjM3OjMyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkgIFs3NzkvOTA2XSBkb3dubG9hZDogcmVtb3ZlIF90aHJlYWQgdmFyaWFudHMgb2YgdGhlIEFQSQoKMjAxMy0wNy0xOCAxOTozNjoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs3NzgvOTA2XSB1cGxvYWQ6IHJlbW92ZSBfdGhyZWFkIHZhcmlhbnRzIG9mIHRoZSBBUEkKCjIwMTMtMDctMTggMTk6MTc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzc3LzkwNl0gdXBsb2FkOiBvdmVyaGF1bCBhbmQgYWRkaXRpb24gb2YgbmV3IHZpZGVvIGZvcm1hdHMKCSAgdXNlIHRoZSBzaGFkZXJzIGZyb20gZWdsZ2xlc3NpbmsgKGFkYXB0ZWQgZm9yIERlc2t0b3AgR0wpCgkgIGVycm9yIG91dCBwcm9wZXJseQoKMjAxMy0wNy0xNyAyMToxNzowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzc2LzkwNl0gZG93bmxvYWQ6IGZpeCBjb21waWxlciB3YXJuaW5nIGFib3V0IG1pc3Npbmcgc3RyaW5nIGZvcm1hdAoKMjAxMy0wNy0xOSAwOToyMDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3NzUvOTA2XSBjb25maWd1cmU6IENoZWNrIGZvciBHTGVnbEltYWdlT0VTIGFuZCBvdGhlcnMgYWdhaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDQ5OAoKMjAxMy0wNy0xOCAyMDoyNjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs3NzQvOTA2XSB3aW4zMjogRml4IHNvbWUgY29tcGlsZXIgZXJyb3JzL3dhcm5pbmdzCgoyMDEzLTA3LTE4IDAxOjQyOjMxICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzc3My85MDZdIGdsZmlsdGVyczogTWFyayB3cml0YWJsZS1vbmx5IHByb3BlcnRpZXMgYXMgcmVhZGFibGUgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDI5CgoyMDEzLTA3LTE4IDAxOjQxOjA1ICswMjAwICBNYXRoaWV1IER1cG9uY2hlbGxlIDxtYXRoaWV1LmR1cG9uY2hlbGxlQGVwaXRlY2guZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNzcyLzkwNl0gZ2xmaWx0ZXJzOiBNYXJrIHRoZW0gYXMgVmlkZW8gZmlsdGVycyBpbiB0aGVpciBjbGFzc2lmaWNhdGlvbgoJICBJdCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgYXBwbGljYXRpb25zIGxpa2UgcGl0aXZpIHRvCgkgIHVzZSB0aGVtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NDI5CgoyMDEzLTA3LTE3IDExOjIyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJICBbNzcxLzkwNl0gZ2w6IFNvbWUgbGVzcyBsb25nL3Vsb25nL2d1bG9uZyB1c2FnZQoKMjAxMy0wNy0xNiAxODoyODozMyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzc3MC85MDZdIHRlc3RzL2V4YW1wbGVzOiBwb3J0IHNvbWUgb2YgdGhlIGV4YW1wbGVzLgoJICBUaGlzIGNvbW1pdCBpcyBhIGZpcnN0IHN0ZXAsIHJlbW92ZXMgZ2x1cGxvYWQsIHN3aXRjaCBuZXctZGVjb2RlZC1wYWQKCSAgdG8gcGFkLWFkZGVkLCBidXQgdGhlc2UgZXhhbXBsZXMgc3RpbGwgZmFpbCBmb3IgdmFyaW91cyByZWFzb25zLgoKMjAxMy0wNy0xNiAxODoyNzowNyArMDIwMCAgTWF0aGlldSBEdXBvbmNoZWxsZSA8bWF0aGlldS5kdXBvbmNoZWxsZUBlcGl0ZWNoLmV1PgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzY5LzkwNl0gdGVzdHMvZXhhbXBsZXM6IGZpeCBhbmQgcG9ydCBzb21lIG9mIHRoZSBleGFtcGxlcy4KCSAgUmVhbGl6ZSB3aWRnZXRzLCByZW1vdmUgZ2x1cGxvYWQgZWxlbWVudC4KCjIwMTMtMDctMTYgMTY6MTc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzc2OC85MDZdIGdsdGVzdHNyYzogRml4IHVzYWdlIG9mIEZCTyBBUEkKCjIwMTMtMDctMTYgMTQ6MjI6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc2Ny85MDZdIGdsaW1hZ2VzaW5rOiBSZW1vdmUgR1ZhbHVlIHVzYWdlIGZvciBmcmFjdGlvbiBoYW5kbGluZwoKMjAxMy0wNy0wNCAxMDowMTo1MiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJICBbNzY2LzkwNl0gdXRpbHM6IGdlbmVyYXRlIGEgUkdCQSB0ZXh0dXJlIGluIGFsbCBjYXNlcwoKMjAxMy0wNy0wMyAyMTowMToyNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzY1LzkwNl0gd2F5bGFuZDogcmVtb3ZlIGZ1bGxzY3JlZW4KCjIwMTMtMDctMDMgMTQ6Mzc6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkgIFs3NjQvOTA2XSBmaWx0ZXI6IGZpeCBwYWQgdGVtcGxhdGUgY2FwcwoJICB1cGxvYWQgaXMgZm9yIHRoZSBzaW5rIHRlbXBsYXRlCgkgIGRvd25sb2FkIGlzIGZvcm0gdGhlIHNyYyB0ZW1wbGF0ZQoKMjAxMy0wNy0wMyAxNDoxMzowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzc2My85MDZdIG1lbW9yeTogY29weSBwcm9wZXJseSBkZXBlbmRpbmcgb24gd2hlcmUgdGhlIG1vc3QgcmVjZW50IGRhdGEgaXMKCjIwMTMtMDctMTYgMTQ6MTE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzc2Mi85MDZdIGdsaW1hZ2VzaW5rOiBGaXggc29tZSBtZW1vcnkgbGVha3MgYW5kIHByb3Blcmx5IHNldCB1cCB0aGUgYnVmZmVyIHBvb2wKCjIwMTMtMDctMTYgMTM6Mjg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkgIFs3NjEvOTA2XSB4MTE6IFByb3RlY3QgZXZlbnQgZGlzcGxheSBjb25uZWN0aW9uIHdpdGggYSBtdXRleAoJICBXZSB1c2UgaXQgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhbmQgbmVlZCB0byBzZXJpYWxpemUgdGhlCgkgIGFjY2Vzc2VzIHRvIGl0LgoKMjAxMy0wNy0xNiAxMzoyMzo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc2MC85MDZdIHgxMTogQWx3YXlzIHVzZSB0aGUgc2FtZSBkaXNwbGF5IGNvbm5lY3Rpb24gZnJvbSB0aGUgR0wgdGhyZWFkCgkgIFRoZSBvdGhlciBkaXNwbGF5IGNvbm5lY3Rpb24gbWlnaHQgYmUgdXNlZCBieSBhc3luYyBjYWxscyBmcm9tIGVsc2V3aGVyZQoJICBhdCB0aGUgc2FtZSB0aW1lLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjQ3CgoyMDEzLTA3LTE1IDIxOjQ0OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU5LzkwNl0gZ2xkb3dubG9hZDogI2lmZGVmIHNvbWUgR0xFUzIgc3BlY2lmaWMgY29kZSB0byBmaXggY29tcGlsYXRpb24KCjIwMTMtMDctMTUgMTg6MDc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9hbmRyb2lkL2dzdGdsd2luZG93X2FuZHJvaWRfZWdsLmM6CgkgIFs3NTgvOTA2XSBhbmRyb2lkOiBEb24ndCByZXF1aXJlIGEgd2luZG93IHRvIGJlIHNldAoJICBUaGlzIGFsbG93cyB0aGUgZmlsdGVycyB0byBiZSB1c2FibGUgd2l0aG91dCBhIEdMIHNpbmsgZG93bnN0cmVhbS4KCjIwMTMtMDctMTUgMTg6MDE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJICBbNzU3LzkwNl0gZWdsOiBDcmVhdGUgYW4gb2Zmc2NyZWVuIHN1cmZhY2UgaWYgbm8gd2luZG93IHdhcyBwcm92aWRlZAoKMjAxMy0wNy0xNSAxNzoyMDowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc1Ni85MDZdIGdsZG93bmxvYWQ6IFJlc2V0IHRoZSB2aWV3cG9ydCBhZnRlciBkb3dubG9hZCBSR0IgdmlhIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjExOjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNzU1LzkwNl0gZ2xkb3dubG9hZDogVW5iaW5kIGZyYW1lYnVmZmVyIGFmdGVyIGRvd25sb2FkaW5nIFJHQiB3aXRoIEdMRVMyCgoyMDEzLTA3LTE1IDE3OjA4OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJICBbNzU0LzkwNl0gZ2xkb3dubG9hZDogQWRkIHN1cHBvcnQgZm9yIFJHQiByZW9yZGVyaW5nIHdoZW4gdXNpbmcgR0xFUzIKCjIwMTMtMDctMTUgMTc6MDg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzc1My85MDZdIGdsZGlzcGxheTogU2VuZGluZyBhIG1lc3NhZ2UgaXMgc3luY2hyb25vdXMsIHdlIGNhbiBhbGxvY2F0ZSB0aGUgbWVtb3J5IG9uIHRoZSBzdGFjawoKMjAxMy0wNy0xNSAxNTo1ODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbNzUyLzkwNl0gZ2x3aW5kb3c6IEFkZCBkZXN0cm95IG5vdGlmaWVzIGZvciB0aGUgZGF0YSBvZiB0aGUgY2FsbGJhY2tzCgkgIEFuZCBhY3R1YWxseSBjYWxsIHRoZSBjbG9zZSBjYWxsYmFjayB3aGVuIHRoZSB3aW5kb3cgaXMgY2xvc2VkLgoKMjAxMy0wNy0xNSAxNToyNTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNzUxLzkwNl0gZ2xkaXNwbGF5OiBEb24ndCBob2xkIGxvY2sgd2hpbGUgc2VuZGluZyBhIG1lc3NhZ2UgdG8gdGhlIEdMIHRocmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MjQ3CgoyMDEzLTA3LTE1IDE0OjExOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNzUwLzkwNl0gZ2x1cGxvYWQ6IEFkZCBzdXBwb3J0IGZvciBSR0IgcmVvcmRlcmluZyB3aGVuIHVzaW5nIEdMRVMyCgoyMDEzLTA3LTE1IDA3OjM5OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzc0OS85MDZdIGdsc2hhZGVyOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMy0wNy0xMiAxNDozMTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzc0OC85MDZdIGdsdXBsb2FkOiBHTF9TVEVOQ0lMX0FUVEFDSE1FTlQgaXMgbmVlZGVkIGZvciBkZXNrdG9wIEdMLCBub3QgR0xFUwoKMjAxMy0wNy0xMiAxNDoyNjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs3NDcvOTA2XSBnbDogQ29uc3RpZnkgWVVWIGNvbnZlcnNpb24gc2hhZGVycwoKMjAxMy0wNy0xMiAxNDoyMDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSAgWzc0Ni85MDZdIGFuZHJvaWQ6IEFkZCBjb21tZW50IHRvIGNsYXJpZnkgdGhlIHR5cGUgb2YgYSB2YXJpYWJsZQoKMjAxMy0wNy0xMiAxNDoyMDowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs3NDUvOTA2XSBnbDogU2ltcGxpZnkgYW5kIG9wdGltaXplIFlVViBjb252ZXJzaW9uIHNoYWRlcnMgYSBiaXQKCjIwMTMtMDctMTIgMTE6MzU6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJICBbNzQ0LzkwNl0gZ2w6IFVzZSBfX0dTVF9HTF9IX18gaW5zdGVhZCBvZiBfX0dMX0hfXyBhcyBhIG11bHRpLWluY2x1ZGUgZ3VhcmQKCSAgR0wvZ2wuaCBtaWdodCB1c2UgdGhlIGxhdHRlciBhbHJlYWR5LgoKMjAxMy0wNy0xMSAyMTozMDo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJICBbNzQzLzkwNl0gd2luMzI6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjE6MjI6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNzQyLzkwNl0gY29jb2E6IEFsbG93IHNldHRpbmcgd2luZG93IGhhbmRsZSBiZWZvcmUgY3JlYXRpbmcgdGhlIGNvbnRleHQKCjIwMTMtMDctMTEgMjE6MTc6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkgIFs3NDEvOTA2XSB3YXlsYW5kOiBEb24ndCBsZWFrIG1haW4gY29udGV4dCBhbmQgbG9vcAoKMjAxMy0wNy0xMSAyMToxNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzc0MC85MDZdIHgxMTogQWxsb3cgc2V0dGluZyB3aW5kb3cgaGFuZGxlIGJlZm9yZSBjcmVhdGluZyB0aGUgY29udGV4dAoKMjAxMy0wNy0xMSAyMDo1ODozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzczOS85MDZdIHgxMTogRG9uJ3QgbGVhayBtYWluIGNvbnRleHQgYW5kIG1haW4gbG9vcAoKMjAxMy0wNy0xMSAyMDo1MTo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkgIFs3MzgvOTA2XSBnbDogSW5jbHVkZSBnbHUuaCBhZnRlciBnbC5oCgoyMDEzLTA3LTExIDE2OjIxOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzczNy85MDZdIGdsaW1hZ2VzaW5rOiBSZXF1ZXN0IGFuZCBzZXQgdGhlIHdpbmRvdyBoYW5kbGUgbXVjaCBlYXJsaWVyCgoyMDEzLTA3LTExIDE2OjA1OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs3MzYvOTA2XSBnbGltYWdlc2luazogR2l2ZSBNQVJHSU5BTCByYW5rIHRvIGJlIGFibGUgdG8gYXV0b3BsdWcgaXQgaWYgbm90aGluZyBlbHNlIGlzIGF2YWlsYWJsZQoKMjAxMy0wNy0xMCAxMTozMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvYW5kcm9pZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2FuZHJvaWQvZ3N0Z2x3aW5kb3dfYW5kcm9pZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJICBbNzM1LzkwNl0gZ2w6IEFkZCBzdXBwb3J0IGZvciBBbmRyb2lkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNDAKCjIwMTMtMDctMTEgMTE6Mzc6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9NYWtlZmlsZS5hbToKCSAgWzczNC85MDZdIHdpbjMyOiBNYWtlIGF1dG9tYWtlIGhhcHB5IGJ5IHVzaW5nIG5vaW5zdF9IRUFERVJTCgoyMDEzLTA3LTExIDExOjAzOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nc3RnbF9jb21wYXQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsX2Z3ZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzczMy85MDZdIGdsOiBNYWpvciBoZWFkZXIgYW5kIGluY2x1ZGUgY2xlYW51cAoKMjAxMy0wNy0xMCAxNjowMzowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xfZndkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs3MzIvOTA2XSBidWlsZDogZml4IHJlcGVhdGVkIHR5cGVkZWZzCgkgIFdyaXRlIGZvcndhcmQgZGVjbGFyYXRpb25zIGluIGFub3RoZXIgd2F5IHRvIGF2b2lkCgkgIHJlcGVhdGVkIHR5cGVkZWZzICJlcnJvcjogcmVkZWZpbml0aW9uIG9mIHR5cGVkZWYiLgoJICBSYWlzZWQgd2hlbiB1c2luZyBpNjg2LWFwcGxlLWRhcndpbjExLWxsdm0tZ2NjLTQuMgoJICBJdCBzZWVtcyB0aGF0IEMgYXBwbGUgY29tcGlsZXIgZG9lcyBub3Qgc3VwcG9ydAoJICBDMTEgZmVhdHVyZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzg4NQoKMjAxMy0wNy0xMCAxNTo0NzoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzczMS85MDZdIGNvY29hOiBmaXggYnVpbGQgd2hlbiBHTlVTVEVQIGlzIG5vdCBkZWZpbmVkCgoyMDEzLTA3LTEwIDExOjMwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJICBbNzMwLzkwNl0gZ2xjb21wYXQ6IFByb3Blcmx5IGNoZWNrIGZvciBHTGNoYXIgYW5kIG90aGVyIHR5cGVzCgkgIE9uIEFuZHJvaWQgZm9yIGV4YW1wbGUgdGhlc2UgYXJlIG5vICNkZWZpbmVzIGJ1dCB0eXBlZGVmcwoKMjAxMy0wNy0xMCAxMToyNDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZyYW1lYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2luLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNzI5LzkwNl0gZ2w6IEluY2x1ZGUgY29uZmlnLmggZXZlcnl3aGVyZQoKMjAxMy0wNy0wMyAxNDoxMzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzcyOC85MDZdIGdsaW1hZ2VzaW5rOiBmaXggZm9yIGdsZXMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM1MDgKCjIwMTMtMDctMDMgMDk6MTI6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkgIFs3MjcvOTA2XSBlZ2w6IFJlZmFjdG9yIEVHTCBsb2dpYyBpbnRvIGEgaGVscGVyIG9iamVjdAoKMjAxMy0wNy0wMiAyMjo0NTowOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs3MjYvOTA2XSB3aW5kb3c6IGRvbid0IGNhbGwgYSBOVUxMIGRlc3Ryb3kgZnVuY3Rpb24KCjIwMTMtMDctMDIgMjI6MDY6MDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS94MTFfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEveDExX2V2ZW50X3NvdXJjZS5oOgoJICBbNzI1LzkwNl0geDExOiB1c2UgR01haW5Db250ZXh0L0dNYWluTG9vcAoJICBhbGxvd3MgdXMgdG8gYmUgcmVlbnRyYW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0NDUKCjIwMTMtMDctMDIgMTg6MzM6NDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzcyNC85MDZdIHdheWxhbmQ6IG1ha2UgcmVlbnRyYW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM0NDUKCjIwMTMtMDctMDEgMTQ6NDM6MTQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MjMvOTA2XSBnc3RnbHdpbmRvdzogY2xvc2UgaGFzIHRvIGJlIGNhbGxlZCBpbiB0aGUgZ2x0aHJlYWQuCgkgIEluZGVlZCAnZ2xYTWFrZUN1cnJlbnQgKHdpbmRvd194MTEtPmRldmljZSwgTm9uZSwgTlVMTCk7JwoJICBoYXMgdG8gYmUgY2FsbGVkIGluIHRoZSB0aHJlYWQgd2hlcmUgdGhlIGdsY29udGV4dCBpcyBhY3R1YWxseQoJICBjdXJyZW50LgoJICBPdGhlcndpc2UgZ2xYRGVzdHJveUNvbnRleHQgbWF5IGNyYXNoLgoKMjAxMy0wNy0wMSAwMTozNjozNSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzcyMi85MDZdIGdsOiBGaXggYnVpbGQgb24gV2luMzIKCSAgMSkgTmVlZCB0byBpbmNsdWRlIEdML2dsZXh0Lmggb24gVzMyIHRvIHByb3ZpZGUgbmVjZXNzYXJ5IG1hY3JvcwoJICAyKSBXMzIgbWFjcm9zIHRoYXQgcHJlLXByb2Nlc3NvciBoYXMgYnkgZGVmYXVsdCBhcmUgZGlmZmVyZW50IGZvciBkaWZmZXJlbnQKCSAgdG9vbGNoYWlucy4gQm9ybGFuZCB1c2VzIF9fV0lOMzJfXywgZXZlcnlvbmUgZWxzZSBoYXMgX1dJTjMyLCBzbyBjaGVjayBib3RoLgoJICBTaWRlLW5vdGU6IGdsZXh0LmggaXMgbm90IHN1cHBsaWVkIGJ5IG1pbmd3LXc2NCBhdCB0aGUgbW9tZW50LCBidXQgY2FuIGJlCgkgIGRvd25sb2FkZWQgZnJvbSBodHRwOi8vd3d3Lm9wZW5nbC5vcmcvcmVnaXN0cnkvCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDMzNjQKCjIwMTMtMDYtMjggMTE6MTA6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbNzIxLzkwNl0gZ2xmaWx0ZXI6IFVzZSB1aW50NjQgZm9yIHRoZSBPcGVuR0wgY29udGV4dCBwcm9wZXJ0eQoJICB1bG9uZy9sb25nIHByb3BlcnRpZXMgYXJlIGRlcHJlY2F0ZWQgYW5kIHNob3VsZCBub3QgYmUgdXNlZCBhbnltb3JlCgkgIGZvciBwb3J0YWJpbGl0eSByZWFzb25zLgoKMjAxMy0wNi0yOCAxMTowMDo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs3MjAvOTA2XSBleGFtcGxlczogU3RvcCB1c2luZyBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoKMjAxMy0wNi0yOCAxMTowMDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs3MTkvOTA2XSBnbDogRml4IGNvbXBpbGF0aW9uIHdpdGggR0xFUzIKCjIwMTMtMDYtMjggMDA6MzQ6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHV0aWxzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzcxOC85MDZdIHNoYWRlcjogbWFrZSBpdCBwb3NzaWJsZSB0byB1bnJlZiBpbiB0aGUgbm9uLUdMIHRocmVhZAoKMjAxMy0wNi0yOCAwMDozMTozNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzcxNy85MDZdIHJlbW92ZSBvdXRkYXRlZCBjbWFrZSBidWlsZCBmaWxlcwoKMjAxMy0wNi0xNyAxOTo0NToyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSAgWzcxNi85MDZdIHdheWxhbmQ6IHByb3Blcmx5IGNob29zZSBFR0xfUkVOREVSQUJMRV9UWVBFCgkgIGJhc2VkIG9uIHRoZSBnbCBhcGkgd2UgY2hvc2UKCjIwMTMtMDYtMTYgMjA6NDc6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbNzE1LzkwNl0gZGlzcGxheTogaW5oZXJpdCBmcm9tIHRoZSByaWdodCBvYmplY3QgY2xhc3MKCjIwMTMtMDYtMTYgMjA6NDQ6NDcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmcmFtZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJICBbNzE0LzkwNl0gQWRkIEdzdEdMRnJhbWVidWZmZXIgdG8gcmVwbGFjZSBfZGlzcGxheV9nZW5fZmJvIGFuZCBmcmllbmRzCgkgIFRoaXMgdmVyc2lvbiBpcyBzaW1wbHkgQVBJIGNvbXBhdGlibGUgd2l0aCBfZGlzcGxheV9nZW5fZmJvLgoJICBUaGUgbmV4dCB2ZXJzaW9uIHdpbGwgbGlrZWx5IHJldmFtcCB0aGUgQVBJCgoyMDEzLTA2LTE2IDIwOjQxOjI5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNzEzLzkwNl0gc2hhZGVyOiBtYWtlIGl0IHBvc3NpYmxlIHRvIGNyZWF0ZSB0aGUgb2JqZWN0IGluIGEgbm9uLUdMIHRocmVhZAoKMjAxMy0wNi0xNiAyMDozODoyNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJICBbNzEyLzkwNl0gd2F5bGFuZDogc2h1dGRvd24gcHJvcGVybHkKCSAgV2UgY2Fubm90IHVzZSBfZmluYWxpemUgYXMgdGhpcyB3aWxsIGJlIGNhbGxlZCBiZWZvcmUgR3N0R0xXaW5kb3cncwoJICBfZmluYWxpemUuICBUaGlzIGNhdXNlcyB1cyB0byB0cnkgYW5kIHBlcmZvcm0gb3BlcmF0aW9ucyB3aXRoIHRoZQoJICB3YXlsYW5kIHNlcnZlciB3aGVuIHRoZSBjb25uZWN0aW9uIGhhcyBiZWVuIHNldmVyZWQuCgoyMDEzLTA2LTE2IDIwOjM3OjA2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJICBbNzExLzkwNl0gd2F5bGFuZDogc3VwcG9ydCBjaG9vc2luZyBEZXNrdG9wIEdMIGFzIHRoZSBhcGkKCjIwMTMtMDYtMTYgMjA6MzQ6MTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MTAvOTA2XSB3aW5kb3c6IGZhaWwgaWYgdGhlIHVzZXIgc3BlY2lmaWVzIGFuIEdMIGFwaSB0aGF0IHdlIGNhbm5vdCB3b3JrIHdpdGgKCSAgSXQgd291bGQndmUgYmVlbiBjYXVnaHQgbGF0ZXIgaW4gYW4gZ19hc3NlcnQgYW55d2F5LgoKMjAxMy0wNi0xMyAxODozMzo0NyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzcwOS85MDZdIGRpc3BsYXk6IHNvbWUgbW9yZSBjbGVhbnVwcwoKMjAxMy0wNi0xMyAxNzo1NzozNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkgIFs3MDgvOTA2XSBkaXNwbGF5OiBhIGNsZWFudXAgYW5kIHJlbW92YWwgb2Ygb2xkIGNvZGUKCjIwMTMtMDYtMTMgMTY6NTU6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzcwNy85MDZdIGRpc3BsYXk6IG1vdmUgZXJyb3JfbWVzc2FnZSB0byB1dGlscwoKMjAxMy0wNi0xMyAxNjozMTozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcwNi85MDZdIGRpc3BsYXk6IG1vdmUgYWN0aXZhdGVfY29udGV4dCBpbnRvIHV0aWxzCgoyMDEzLTA2LTEzIDE2OjA0OjQwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzcwNS85MDZdIHgxMTogZG9uJ3Qgc2h1dGRvd24gaW4gX2ZpbmFsaXplCgkgIFRoZSB3aW5kb3cncyBsb29wIGNvdWxkIGJlIHN0aWxsIHJ1bm5pbmcgd2hlbiBfZmluYWxpemUgaXMgY2FsbGVkCgkgIGFuZCBpZiB3ZSBkZXN0cm95IHRoZSBkaXNwbGF5IGNvbm5lY3Rpb24gaXQgd2lsbCBuZXZlciBiZSBjbG9zZWQuCgkgIEFkZCBfb3BlbiBhbmQgX2Nsb3NlIHZmdW5jcyB0byBHc3RHTFdpbmRvdyBzbyB0aGF0IHN1YmNsYXNzZXMgY2FuCgkgIHN0YXJ0IHVwIGFuZCBzaHV0ZG93biBhdCB0aGUgcmlnaHQgdGltZS4KCjIwMTMtMDYtMTMgMTQ6MzY6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFs3MDQvOTA2XSBVc2UgZ3N0X29iamVjdF9bdW5dcmVmIHNvIHdlIGNhbiBnZXQgcmVmY291bnRzIGluIHRoZSBsb2cKCjIwMTMtMDYtMTMgMTQ6MTg6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs3MDMvOTA2XSB4MTE6IGRvbid0IHNlZ2ZhdWx0IGlmIGRlc3Ryb3lfY2IgaXMgTlVMTAoKMjAxMy0wNi0xMiAyMzoyMToxNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJICBbNzAyLzkwNl0geDExOiBmaXggc2VnZmF1bHQgaWYgdGhlIHgxMSBiYWNrZW5kIGlzIGluc3RhbnRpYXRlZCBidXQgbm90IHVzZWQKCjIwMTMtMDYtMTIgMjM6MTc6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzcwMS85MDZdIGRpc3BsYXk6IG1vdmUgY29udGV4dCBjcmVhdGlvbiBpbnRvIHdpbmRvdwoKMjAxMy0wNi0xMiAwMTowNDo1NSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXRpbHMuaDoKCSAgWzcwMC85MDZdIGRpc3BsYXk6IG1vdmUgbW9zdCBvZiB0aGUgY29kZSBpbnRvIHV0aWxzIGZvciBzb3J0aW5nIGxhdGVyCgkgIFRoaXMgY29udGFpbnMgYSBoYWNrIHRoYXQgZXNzZW50aWFsbHkgcmVxdWlyZXMgb25lIEdzdEdMRGlzcGxheQoJICBwZXIgcHJvY2Vzcy4KCjIwMTMtMDYtMTEgMTg6NTA6MTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbNjk5LzkwNl0gZGlzcGxheTogcmVtb3ZlIGxpc3Qgb2YgdXBsb2FkIGFuZCBkb3dubG9hZCBvYmplY3RzCgkgIGFuZCBvbmx5IGNyZWF0ZSBhbiB1cC9kb3dubG9hZCBvYmplY3Qgd2hlbiBuZWVkZWQuCgoyMDEzLTA2LTExIDEyOjI2OjUwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFs2OTgvOTA2XSBtb3ZlIHNpbmstc3BlY2lmaWMgc3R1ZmYgZnJvbSBHc3RHTERpc3BsYXkgaW50byBnbGltYWdlc2luawoKMjAxMy0wNi0xMSAxMToyNzo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2OTcvOTA2XSBkaXNwbGF5OiBhbGxvdyB0aGUgdXNlciB0byB0cnkgYW5kIGNob29zZSB0aGUgR0wgYXBpIHdlIHVzZSB2aWEgZW52IHZhcmlhYmxlCgkgIEdTVF9HTF9BUEk9b3BlbmdsLG9wZW5nbDMsZ2xlczIsZ2xlczMKCjIwMTMtMDYtMTEgMTE6MjY6MzggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkgIFs2OTYvOTA2XSBnbGFwaTogZml4IG1lbW9yeSBsZWFrIGZyb20gbm90IGZyZWVpbmcgYSBzdHJpbmcKCjIwMTMtMDYtMDQgMjI6MTg6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJICBbNjk1LzkwNl0gYnVpbGQ6IHJlbW92ZSBsaWJ0b29sIHdhcm5pbmcgYWJvdXQgLXZlcnNpb24taW5mbyBub3QgdXNlZCBpbiBjb252ZW5pZW5jZSBsaWJyYXJpZXMKCjIwMTMtMDYtMDQgMjI6MTc6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjk0LzkwNl0gYnVpbGQ6IGFkZCBzdXBwb3J0IGZvciBzdGF0aWMgcGx1Z2lucwoKMjAxMy0wNi0wNCAyMjoxNjowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzY5My85MDZdIHgxMV9nbHg6IGFzayBmb3IgYSAzLjAgR0wgQ29udGV4dAoJICAoZmFsbGluZyBiYWNrIGlmIG5lZWRlZCkKCjIwMTMtMDYtMDMgMTg6MTU6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSAgWzY5Mi85MDZdIHdpbmRvd194MTE6IGFkZCBYRXJyb3IgdHJhcHBpbmcKCSAgc29tZSBmdW5jdGlvbnMgaW4gR0xYIGNhbiBmYWlsIGlmIHRoZSBpbXBsZW1lbnRhdGlvbiBkb2VzIG5vdCBzdXBwb3J0CgkgIGNlcnRhaW4gZmVhdHVyZXMgd2UgYXNrIGZvciAoaS5lLiBHTCAzKSBicmluZ2luZyBkb3duIHRoZSBlbnRpcmUKCSAgYXBwbGljYXRpb24KCjIwMTMtMDYtMDMgMTg6MTM6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjkxLzkwNl0gZmVhdHVyZTogbWFrZSBnc3RfZ2xfY2hlY2tfZXh0ZW5zaW9uIHB1YmxpYwoJICBwcmV2ZW50cyBkdXBsaWNhdGlvbiBvZiBjb2RlIG9mIGV4dGVuc2lvbiBzdHJpbmcgcGFyc2luZyBpbiBHc3RHTFdpbmRvdydzCgoyMDEzLTA2LTAyIDIxOjQ3OjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzY5MC85MDZdIHdpbmRvd3gxMWdseDogdXNlIGZiY29uZmlncyBpZiBzdXBwb3J0ZWQKCjIwMTMtMDQtMjUgMTI6MDQ6MjMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs2ODkvOTA2XSBidW1wZXI6IG5pY2VyIGVycm9yIGZvciBubyBidW1wbWFwIGZpbGUgcHJvdmVkZWQKCjIwMTMtMDQtMjQgMTQ6MjU6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNjg4LzkwNl0gZGlzcGxheTogcHJvcGVybHkgc2h1dGRvd24gaWYgd2UgZXJyb3IgYWZ0ZXIgY29udGV4dCBjcmVhdGlvbgoJICBUaGUgX2ZpbmFsaXplKCkgY29kZSBjaGVja3MgdG8gc2VlIGlmIHRoZSBjb250ZXh0IHdhcyBjcmVhdGVkIGJlZm9yZQoJICBhdHRlbXB0aW5nIHRvIGRlc3Ryb3kgaXQuICBXZSBuZXZlciBkaWQgc2F5IHRoYXQgd2UgaGFkIGNyZWF0ZWQgdGhlIGNvbnRleHQuCgoyMDEzLTA0LTI0IDE0OjI0OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjg3LzkwNl0gYnVtcGVyOiBlcnJvciBvdXQgcHJvcGVybHkgaWYgd2UgY2Fubm90IGxvYWQgdGhlIHBuZyBmaWxlCgoyMDEzLTA0LTI0IDE0OjIzOjE2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjg2LzkwNl0gZmlsdGVyc2hhZGVyOiBmaXggc3RyaW5nIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wNC0yNCAxNDoyMjo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzY4NS85MDZdIGZpbHRlcjogaW1wcm92ZSBlcnJvciBoYW5kbGluZwoKMjAxMy0wNC0yNCAxMjoxODoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2ODQvOTA2XSBkaXNwbGF5OiBsYWNrIG9mIGZvcm1hdC1zdHJpbmcgY2F1c2luZyBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTMtMDQtMjQgMTI6MTc6MzYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBbNjgzLzkwNl0gZmVhdHVyZTogcmVtb3ZlIGRvdWJsZSBmcmVlCgoyMDEzLTAzLTExIDE1OjUxOjA2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzY4Mi85MDZdIG92ZXJsYXk6IGZpeCB2aWRlby10b3AgcHJvcGVydHkKCjIwMTMtMDYtMDIgMDc6NTI6MzAgKzAwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbNjgxLzkwNl0gd2luMzI6IGZpeCBnbCBhcGkgY2FsbHMgb24gMzItYml0CgkgIHdpbiBoYXMgdGhlIGJyaWdodCBpZGVhIG9mIGhhdmluZyA1IGRpZmZlcmVudCBjYWxsaW5nIGNvbnZlbnRpb25zLgoJICB3ZSBzaG91bGQgcHJvYmFibHkgdXNlIHRoZSByaWdodCBvbmUgc28gd2UgZG9uJ3QgY3Jhc2ggZnJvbSBzdGFjawoJICBjb3JydXB0aW9uLgoKMjAxMy0wMy0xMCAxMzozNzo0OCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL29wZW5nbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs2ODAvOTA2XSBvdmVybGF5OiB0ZW50YXRpdmUgcG9ydCB0byBuZXcgR3N0R0xGdW5jcyBBUEkKCjIwMTMtMDMtMTAgMTM6MzQ6MTUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNjc5LzkwNl0gb3BlbmdsOiBmaXggcGx1Z2lucyBub3QgYmVpbmcgcmVnaXN0ZXJlZCB3aGVuIHRoZXkgc2hvdWxkIGJlCgoyMDEzLTAzLTA5IDIzOjM2OjM2ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSAgWzY3OC85MDZdIHdpbmRvd193aW4zMl93Z2w6IGltcGxlbWVudCB3Z2xHZXRQcm9jQWRkcmVzcyBmb3IgZXh0ZW5zaW9uIGZ1bmN0aW9ucwoKMjAxMy0wMy0wOSAyMjo1Mzo0MSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzY3Ny85MDZdIG1lbW9yeTogZml4IEdTSVpFIHByaW50ZiBmb3JtYXQgb24gd2luMzIKCjIwMTMtMDMtMDkgMjI6NTM6MDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmg6CgkgIFs2NzYvOTA2XSB3aW5kd29fd2luMzI6IHBvcnQgdG8gbmV3IEFQSQoKMjAxMy0wMy0wOSAyMjo0NzoxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzY3NS85MDZdIHVwbG9hZDogcHJvdmlkZSBuaWNlciBkZWJ1Z2dpbmcKCjIwMTMtMDMtMDkgMjI6NDU6MjMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJICBbNjc0LzkwNl0gZmVhdHVyZTogdHJ5IGFuZCBjYXRjaCBtb3JlIEdMIGV4dGVuc2lvbiBmdW5jdGlvbnMKCSAgaWYgd2UgZG9uJ3QgZmluZCB0aGUgZXh0ZW5zaW9uIGluIGNvcmUgR0wsIHRyeSB0aGUgZXh0ZW5zaW9uIHZlcnNpb24gYW55d2F5CgoyMDEzLTAzLTA5IDIyOjM3OjM0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzY3My85MDZdIGZlYXR1cmU6IGFkZCBnc3RyZWFtZXIgbGljZW5zZQoKMjAxMy0wMy0wOSAyMjowNToyOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NzIvOTA2XSBkaXNwbGF5OiBjb25zdGlmeSBHc3RHTEZ1bmNzICpnbAoKMjAxMy0wMy0wOSAyMTo1OTowMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dzdGdsX2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSAgWzY3MS85MDZdIHdpbjMyOiAjaW5jbHVkZSBHTC9nbGV4dC5oIG9uIHdpbmRvd3MKCSAgYWxzbyBhZGQgc29tZSBHTCBkZWZhdWx0IHZhcmlhYmxlcyBpZiBzb21lIEdMIHR5cGVzIGFyZSBub3QgZGVmaW5lZAoKMjAxMy0wMi0xOCAyMTo0MDozNCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzY3MC85MDZdIGRpc3BsYXk6IHJlcGxhY2UgZ2xpYiBkZXByZWNhdGVkIGFwaQoKMjAxMy0wMi0xMiAyMzo0ODozNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5oOgoJICBbNjY5LzkwNl0gd2luZG93OiBzZXBlcmF0ZSBvYmplY3QgY3JlYXRpb24gYW5kIGNvbnRleHQgY3JlYXRpb24KCjIwMTMtMDItMDQgMjE6MzA6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2NjgvOTA2XSBzaGFkZXI6IGZpeCBnbGVzMiBzZWdmYXVsdAoKMjAxMy0wMi0wNCAyMToyOTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs2NjcvOTA2XSBmaWx0ZXJjdWJlOiBmaXggZm9yIGdsZXMyIGNvbXBpbGF0aW9uCgoyMDEzLTAyLTAxIDE4OjIwOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkgIFs2NjYvOTA2XSBzb2JlbDogcG9ydCBmb3Igbm9uLWdsZXcKCjIwMTMtMDItMDEgMDA6MDg6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkgIFs2NjUvOTA2XSBtb3NhaWM6IGZpeCBhIGNvdXBsZSBvZiBhc3NlcnRpb25zCgoyMDEzLTAyLTAxIDAwOjA2OjU0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjY0LzkwNl0gZmlsdGVyc2hhZGVyOiBpbXByb3ZlIGVycm9yIGNoZWNraW5nCgoyMDEzLTAxLTMxIDIzOjUxOjA0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJICBbNjYzLzkwNl0gZmlsdGVyc2hhZGVyOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjQ2OjM3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNjYyLzkwNl0gbGFwbGFjaWFuOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjQzOjUyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkgIFs2NjEvOTA2XSBnbGFzczogcG9ydCB0byBub24tZ2xldyArIHNoYWRlciBtYXRyaWNlcwoKMjAxMy0wMS0zMSAyMzozOTo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFs2NjAvOTA2XSBjdWJlOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzozNDo0MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs2NTkvOTA2XSBibHVyOiBwb3J0IGZvciBub24tZ2xldwoKMjAxMy0wMS0zMSAyMzozMjo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNjU4LzkwNl0gbWl4ZXI6IGZpeCBlb3MgdGltZXN0YW1wIGNoZWNrCgoyMDEzLTAxLTMxIDIzOjMxOjA5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbNjU3LzkwNl0gZmlsdGVyYXBwOiBwb3J0IHRvIG5vbi1nbGV3CgoyMDEzLTAxLTMxIDIzOjI5OjEzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjU2LzkwNl0gYnVtcGVyOiB1c2UgRHJhd0VsZW1lbnRzIGZvciBzZW1pLWNvbXBhdGFiaWxpdHkgd2l0aCBFUwoJICBhbHNvIEdMX1FVQURTIGlzbid0IGF2YWlsYWJsZSB3aXRoIEVTIGNvbnRleHRzCgoyMDEzLTAxLTE3IDIzOjQ1OjU5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs2NTUvOTA2XSBkb3dubG9hZDogcmVtb3ZlIGVycm9ub3VzIFJlYWRCdWZmZXIgY2FsbAoJICAtIGl0IHdhcyBjYXVzaW5nIHNlZ2ZhdWx0cyBpbiBtZXNhCgkgIC0gd2UgZGlkbid0IHNldCB0aGUgcmVhZGJ1ZmZlciBzbyB3ZSBzaG91bGRuJ3QgcmVzZXQgaXQKCjIwMTMtMDEtMTcgMjM6MTc6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs2NTQvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IHBvcnQgdG8gbm9uLUdMRVcKCjIwMTMtMDEtMTcgMjM6MTY6MDcgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSAgWzY1My85MDZdIGRlaW50ZXJsYWNlOiBwb3J0IHRvIG5vbi1HTEVXICsgYXJyYXlzCgoyMDEzLTAxLTE3IDIzOjE0OjQ5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsLmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNjUyLzkwNl0gYnVtcGVyOiBwb3J0IHRvIG5vbi1HTEVXICsgYXJyYXlzCgoyMDEzLTAxLTE3IDIzOjEyOjM1ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNjUxLzkwNl0gdXAvZG93bmxvYWQ6IGZpeCBzb21lIHR5cG9zIHdoZW4gcmVtb3ZpbmcgR0xFVwoKMjAxMy0wMS0xNiAyMjo0MToxOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzY1MC85MDZdIGZpbHRlcjogZml4IF9kcmF3X3RleHR1cmUoKSdzIHdyb25nIHZlcnRpY2VzCgoyMDEzLTAxLTE2IDIyOjI3OjEwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJICBbNjQ5LzkwNl0gZWZmZWN0czogZml4ZXMgZm9yIG1pcnJvcigxKSBhbmQgc3F1ZWV6ZSgyKSBwcm9kdWNpbmcgYmxhY2sKCjIwMTMtMDEtMTYgMTU6MjM6NDkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzY0OC85MDZdIHRlc3RzL2V4YW1wbGVzOiByZW1vdmUgZGVwZW5kZW5jeSBvbiBnbGV3CgoyMDEzLTAxLTE2IDE1OjIxOjQ0ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMzb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvb3BlbmdsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzY0Ny85MDZdIHJlbW92ZSBkZXBlbmRlY3kgb24gZ2xldwoKMjAxMy0wMS0xMyAwMDowOTozMyArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMm9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxb3BlbmdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSAgWzY0Ni85MDZdIHNvbWUgZ2wgaGVhZGVyIGZpeGVzL2FkZGl0aW9ucwoKMjAxMy0wMS0xMCAxMzozMjoxNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2NDUvOTA2XSBmaXggZ2xlczIgY29tcGlsYXRpb24KCjIwMTMtMDEtMTAgMTA6NTc6MTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsLy5naXRpZ25vcmU6CgkgIFs2NDQvOTA2XSB1cGRhdGUgLmdpdGlnbm9yZSBmb3Igc29tZSBuZXcgZmlsZXMKCjIwMTMtMDEtMTAgMDE6NDQ6NTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs2NDMvOTA2XSBkaXNwbGF5OiBwcml2YXRpc2UgbW9zdCBvZiB0aGUgc3RydWN0CgoyMDEzLTAxLTEwIDAxOjEzOjIzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgWzY0Mi85MDZdIGFkZCBnc3RnbGNvbmZpZy5oIGZvciBhcHBzIHRvIGZpbmQgb3V0IHdoYXQgb3VyIGNhcGFiaWxpdGVzIGFyZQoJICBpZSBsaWJnc3RnbCBjYW4gYmUgY29tcGlsZWQgd2l0aCBhbnkgY29tYmluYXRpb24gb2Ygb3BlbmdsL2dsZXMyCgoyMDEzLTAxLTEwIDAwOjMwOjAzICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzY0MS85MDZdIGRpc3BsYXk6IGZlYXR1cmUgY2hlY2sgZm9yIEdMIGV4dGVuc2lvbiBmdW5jdGlvbnMKCjIwMTMtMDEtMTAgMDA6MjU6MDYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNjQwLzkwNl0gYnVpbGQ6IGFkZCBtaXNzaW5nIGZpbGUgdG8gYnVpbHQgc291cmNlcwoKMjAxMy0wMS0xMCAwMDoyMzozMiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkgIFs2MzkvOTA2XSBhZGQgZ2V0X3Byb2NfYWRkcmVzcyBpbXBsZW1lbnRhdGlvbnMgZm9yIGVnbCBhbmQgZ2x4CgoyMDEzLTAxLTA4IDE3OjQwOjM5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSAgWzYzOC85MDZdIHdpbmRvdzogYWRkIGdldF9wcm9jX2FkZHJlc3MgKyBzdHViIGZvciByZXRyaWV2aW5nIGdsIGZ1bmN0aW9ucwoKMjAxMy0wMS0wOCAxNzozODo0MCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkgIFs2MzcvOTA2XSB4MTFfZWdsOiBhZGQgcHJlbGltIHN1cHBvcnQgZm9yIGNob29zaW5nIG9wZW5nbCBvciBnbGVzCgoyMDEzLTAxLTA4IDE3OjM2OjE4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MzYvOTA2XSB3aW5kb3dfeDExOiBjb21wYWN0IGRlYnVnIGluZm8KCjIwMTMtMDEtMDcgMTQ6MDg6MzkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjM1LzkwNl0gZml4dXAgY29tcGlsZSBlcnJvcnMKCjIwMTItMTItMTkgMTQ6NTQ6MjEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuYzoKCSAgWzYzNC85MDZdIHdheWxhbmQgZWdsOiBkZWFjdGl2YXRlIGNvbnRleHQgYmVmb3JlIHdlIGRlc3Ryb3kgaXQKCSAgYXZvaWRzIGEgc2VnZmF1bHQgd2l0aCBkcmkgZHJpdmVycwoKMjAxMi0xMi0xOSAxNDozMjoyMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs2MzMvOTA2XSBkaXNwbGF5OiBmYWlsIHByb3Blcmx5IGluIGNvbnRleHQgY3JlYXRpb24gaW4gb3JkZXIgdG8gbWluaW1pemUgYSByYWNlIGNvbmRpdGlvbgoJICBwcmV2aW91c2x5LCBvbiBjb250ZXh0IGNyZWF0aW9uLCB3aGVuIHdlIGZhaWxlZCB0byBnZXQgYSB2YWxpZCBjb250ZXh0CgkgIHdlIHdvdWxkIHN0aWxsIGF0ZW1wdCB0byBydW4gdGhlIHdpbmRvdyBtYWlubG9vcCBhcyB3ZWxsIGFzIHNldHRpbmcgYW4gZXJyb3IKCSAgb24gdGhlIGRpc3BsYXkuIFRoaXMgd291bGQgY2F1c2UgdGhlIGNhbGxpbmcgZWxlbWVudCB0byBmaW5hbGl6ZSB0aGUgZGlzcGxheQoJICBhbmQgdGhlcmVmb3JlIGF0dGVtcHQgdG8gcXVpdCB0aGUgd2luZG93IG1haW5sb29wLiAgSG93ZXZlciB0aGUgbWFpbmxvb3AKCSAgbWF5IG5vdCBoYXZlIHN0YXJ0ZWQgcnVubmluZy4gIFRodXMgd2hlbiB0aGUgd2luZG93IG1haW5sb29wIHJhbiBpdCB3b3VsZAoJICBuZXZlciBhIGdldCBhIHF1aXQgbWVzc2FnZSBhbmQgbmV2ZXIgZW5kLgoKMjAxMi0xMi0xOCAxODozMTowMCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs2MzIvOTA2XSByZW1vdmUgc3RyYXkgKQoJICBUaGUgcmVzdCBpcyBpbmRlbnQgc3R1ZmYgZnJvbSB0aGUgc3RyYXkgKQoKMjAxMi0xMi0xOCAxODoyOToxMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgWzYzMS85MDZdIHJlbW92ZSByZWRlZmluaXRpb24gd2FybmluZ3MgaW4gY29tcGlsaW5nIHRlc3RzCgoyMDEyLTEyLTA5IDA5OjMyOjQ4ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYXBpLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmVhdHVyZS5oOgoJICBbNjMwLzkwNl0gZGlzcGxheTogYWRkIGdsIGFwaSBjaGVja2luZwoJICBpLmUuIGNoZWNrIGZvciBjYXNlcyB3aGVyZSB0aGUgd2luZG93IHdhbnRzIGEgZGlmZmVyZW50IEFQSSB0aGFuCgkgIHdoYXQgdGhlIGxpYnJhcnkgd2FzIGNvbXBpbGVkIHdpdGgKCjIwMTItMTItMDkgMDk6MzA6NDggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2F5bGFuZC9nc3RnbHdpbmRvd193YXlsYW5kX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfd2dsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2VnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjkvOTA2XSB3aW5kb3c6IGFkZCBHRXJyb3IgZm9yIGVycm9yIGhhbmRsaW5nIG9mIGNvbnRleHQgY3JlYXRpb24KCjIwMTItMTItMDkgMDk6MDQ6MzIgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkgIFs2MjgvOTA2XSBzaGFkZXIgZmlsdGVyOiBkb24ndCBkbyBhbnl0aGluZyBpZiB3ZSBkb24ndCBoYXZlIGEgc2hhZGVyIGZpbGUKCjIwMTItMTItMDcgMTM6MzI6MjggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2MjcvOTA2XSBzaGFkZXI6IGNoZWNrIGZvciBpbnZhbGlkIG9iamVjdHMKCjIwMTItMTItMDcgMDA6MjA6NTggKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbNjI2LzkwNl0gZml4IGJ1aWxkIGZhaWx1cmUgZnJvbSB1bmRlZmluZWQgbWFjcm8KCjIwMTItMTItMDcgMDA6MTY6MDQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9SRUFETUU6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvYWxsX2Z1bmN0aW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczFnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMxZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9nbGVzMW9wZW5nbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xwcm90b3R5cGVzL2dsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHByb3RvdHlwZXMvZ2xlczJvcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dscHJvdG90eXBlcy9vcGVuZ2xfZnVuY3Rpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmZWF0dXJlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZlYXR1cmUuaDoKCSAgWzYyNS85MDZdIGFkZCB2dGFibGUgZm9yIG9wZW5nbCBmdW5jdGlvbnMKCSAgVGhlIHZ0YWJsZSBwcm92aWRlcyB0aGUgYWJpbGl0eSBmb3Igb25lIHRvIGNvbXBpbGUgKGJ1dCBub3QgbGluaykKCSAgYWdhaW5zdCBib3RoIE9wZW5HTCBhbmQgR0x8RVMgYW5kIHN0YXJ0cyB0aGUgbW92ZSBhd2F5IGZyb20gR0xFVwoKMjAxMi0xMi0wNiAxODo0MDoyNiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6CgkgIFs2MjQvOTA2XSBPUEVOR0xfRVMyID0+IEhBVkVfR0xFUzIgYW5kIGFkZCBIQVZFX09QRU5HTAoJICB1c2UgR3N0R0xBUEkgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvZGUgcGF0aHMgdG8gZXhlY3V0ZS4KCSAgcGVyZm9ybSBzb21lIGNsZWFudXBzCgoyMDEyLTEyLTA2IDE3OjQwOjQ3ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xhcGkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvZ3N0Z2x3aW5kb3dfd2F5bGFuZF9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkgIFs2MjMvOTA2XSBtb3ZlIEdMIGluY2x1ZGVzIGludG8gYSBzaW5nbGUgZmlsZQoKMjAxMi0xMi0wNSAxNzoyMzoyMSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSAgWzYyMi85MDZdIGFkZCBtaXNzaW5nIEdMX1NURU5DSUxfQVRUQUNITUVOVCBmb3IgZ2xlczIgY29tcGF0YWJpbGl0eQoKMjAxMi0xMi0wMyAxNTowNDo0OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2NvY29hL2dzdGdsd2luZG93X2NvY29hLm06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGFwaS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYyMS85MDZdIEdzdEdMUmVuZGVyZXJBUEkgPT4gR3N0R0xBUEkgYW5kIGdldCBHc3RHTEFQSSBmcm9tIGEgd2luZG93CgoyMDEyLTExLTMwIDE3OjA5OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkgIFs2MjAvOTA2XSB3YXlsYW5kX2VnbDogYXR0ZW1wdCBhdCByZXNpemluZyB0aGUgdmlkZW8KCjIwMTItMTEtMjkgMTM6MDY6MjQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl9lZ2wuYzoKCSAgWzYxOS85MDZdIGZpeCB0eXBvIGZvciB3aW4zMiBkZWJ1ZyB2YXJpYWJsZXMKCjIwMTItMTEtMjkgMDE6MDE6NTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL2dzdGdsd2luZG93X3dheWxhbmRfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmM6CgkqIGdzdC1saWJzL2dzdC9nbC93YXlsYW5kL3dheWxhbmRfZXZlbnRfc291cmNlLmg6CgkgIFs2MTgvOTA2XSBhZGQgd2F5bGFuZC1lZ2wgd2luZG93IGJhY2tlbmQKCjIwMTItMTEtMjAgMDA6MTU6MDUgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzYxNy85MDZdIGZpeCAnc2V0IGJ1dCBub3QgdXNlZCcgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTEtMTkgMjI6NTQ6MTkgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9jb2NvYS9nc3RnbHdpbmRvd19jb2NvYS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvY29jb2EvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvd2luMzIvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC93aW4zMi9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3dpbjMyL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL3gxMS9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC94MTEvZ3N0Z2x3aW5kb3dfeDExX2dseC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wveDExL2dzdGdsd2luZG93X3gxMV9nbHguaDoKCSAgWzYxNi85MDZdIG1vdmUgd2luZG93LXNwZWNpZmljIGNvZGUgaW50byBzZXBlcmF0ZSBzdWJmb2xkZXJzCgoyMDEyLTExLTE5IDIxOjUyOjIyICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzJfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl9lZ2wuaDoKCSAgWzYxNS85MDZdIHByZWxpbWluYXJ5IHN1cHBvcnQgZm9yIFdpbjMyIEVHTAoKMjAxMi0xMS0xOCAwMToyMzo1MiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFs2MTQvOTA2XSB0cnkgR0xYIGZpcnN0IHdoZW4gdXNpbmcgQU5ZIHwgT1BFTkdMIHwgT1BFTkdMMwoKMjAxMi0xMS0xOCAwMToxNjo0NCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzYxMy85MDZdIHdpbmRvd19jb2NvYTogZml4IHNlZ2ZhdWx0IHdpdGggZ3N0LWxhdW5jaC0xLjAgLWUgLi4uIGFuZCBzZW5kaW5nIFNJR0lOVCAoQ3RybC1DKQoJICBHTlVzdGVwIGhhcyBhIHNpZ25hbCBoYW5kbGVyIGZvciBTSUdJTlQgd2hpY2ggcnVucyBpbiB0aGUgbWFpbiB0aHJlYWQuCgkgIEhvd2V2ZXIgdGhhdCB0aHJlYWQgaGFzIG5ldmVyIGJlZW4gJ3JlZ2lzdGVyZWQnIHdpdGggR05Vc3RlcCBzbwoJICB0aGUgYXV0b3JlbGVhc2UgbWFnaWMgb2Ygb2JqZWN0aXZlLWMgY2F1c2VzIGEgc2VnZmF1bHQgZnJvbSBhY2Nlc3NpbmcKCSAgYSBudWxsIE5TVGhyZWFkIG9iamVjdCBzb21ld2hlcmUgZGVlcCBpbiBHTlVzdGVwLgoKMjAxMi0xMS0xNiAxODowMTowOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs2MTIvOTA2XSByZW1vdmUgR05Vc3RlcCBtYWtlZmlsZXMKCjIwMTItMTEtMTYgMTc6MTM6MDMgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbNjExLzkwNl0gY29jb2EgcG9ydCBvZiBkZXRlcm1pbmluZyBnbCBwbGF0Zm9ybSBhdCBydW50aW1lCgoyMDEyLTExLTE1IDIxOjQ2OjIxICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkgIFs2MTAvOTA2XSBXaW5kb3dYMTFFR0w6IHJlbW92ZSBnZXRfcGxhdGZvcm0gY2FsbAoKMjAxMi0xMS0xNSAxMzoxNzo1OSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMl93Z2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyX3dnbC5oOgoJICBbNjA5LzkwNl0gd2luMzIgcG9ydCBvZiBkZXRlcm1pbmluZyBHTCBwbGF0Zm9ybSBhdCBydW50aW1lCgkgIC0gYWRkIEdzdEdMV2luZG93V2luMzIgYW5kIEdzdEdMV2luZG93V2luMzJXR0wgYWxvbmcgdGhlIHNhbWUgbGluZXMgYXMgdGhlCgkgIFgxMSB2YXJpYW50cwoKMjAxMi0xMS0xNCAyMDozOTozOCArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdscmVuZGVyZXIuaDoKCSAgWzYwOC85MDZdIGFkZCBHU1RfR0xfUExBVEZPUk1fQU5ZIGZvciBjaG9vc2luZyBhbnkgcGxhdGZvcm0KCjIwMTItMTEtMTQgMjA6MzY6MTYgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMV9nbHguYzoKCSAgWzYwNy85MDZdIHJlbW92ZSBnZXRfcGxhdGZvcm0gYW5kIGdldF93aW5kb3dfaGFuZGxlIHZmdW5jcwoJICAtIHJlbmFtZSBjaG9vc2VfdmlzdWFsKCkgdG8gY2hvb3NlX2Zvcm1hdCgpIGZvciBsYXRlciBpbmNvcnBvcmF0aW5nCgkgIHdpbjMyIGNoYW5nZXMgYW5kIG5ldyBHc3RHTFBsYXRmb3JtIGZvciBXR0wsIEVHTCwgR0xYLCBldGMuCgoyMDEyLTExLTEzIDIyOjEyOjIwICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xyZW5kZXJlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZWdsLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFfZ2x4Lmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzYwNi85MDZdIGRldGVybWluZSB0aGUgR0wgcGxhdGZvcm0gdG8gdXNlIGF0IHJ1bnRpbWUKCSAgLSBNYWtlIEdzdEdMV2luZG93IHN1YmNsYXNzYWJsZXJhdGhlciB0aGFuIHNwZWNpZmllZCBhdCBjb21waWxlIHRpbWUuCgkgIC0gQWRkIEdzdEdMV2luZG93WDExIGZvciB4MTEgd2luZG93cyBhbmQgdHdvIHN1YmNsYXNzZXMsIEdzdEdMV2luZG93WDExR0xYCgkgIGFuZCBHc3RHTFdpbmR3WDExRUdMIGZvciBHTFggYW5kIEVHTCByZXBlY3RpdmVseS4gKHdpbjMyIGFuZCBjb2NvYQoJICBwb3J0cyB0byBjb21lKQoJICAtIEFsc28gY2xlYW51cCBHTCBsaWJyYXJ5IGRldGVjdGlvbiBpbiBjb25maWd1cmUuYWMKCjIwMTItMTItMDIgMTQ6NTg6MTQgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkgIFs2MDUvOTA2XSBzaGFkZXI6IG1vdmUgdG8gZ3N0IGRlYnVnZ2luZwoKMjAxMi0xMS0yMSAxMzozNDoxNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs2MDQvOTA2XSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKSA9PiBnc3RfZWxlbWVudF9jbGFzc19zZXRfbWV0YWRhdGEoKQoKMjAxMi0xMS0wOCAyMjo1Mzo1NiArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVydmFyaWFibGVzLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogdGVzdHMvY2hlY2svbGlicy9nc3RnbG1lbW9yeS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2dzdGd0ay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzYwMy85MDZdIHVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMi0xMS0wNCAxOToxNTowNSArMTEwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNjAyLzkwNl0gaGlkZSBkZXByZWNhdGlvbiB3YXJuaW5ncyB3aXRoIG5ld2VyIGNsdXR0ZXIgdmVyc2lvbnMKCjIwMTItMTAtMTEgMDA6MjQ6NTEgKzExMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs2MDEvOTA2XSBmaXggdHlwbyBjYXVzaW5nIHNoYWRlciBjb21waWxhdGlvbiBmYWlsdXJlIGZvciB1cGxvYWRpbmcgSTQyMAoKMjAxMi0wOS0yNyAxNTo1Mzo0NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNjAwLzkwNl0gZG9jczogYWRkIGRvY3MgZm9yIG5ldyBvYmplY3RzIGFuZCBleHBhbmQgb24gc29tZSBleGlzdGluZyBvbmVzCgoyMDEyLTA5LTI2IDA3OjE4OjUzICswMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNTk5LzkwNl0gR0x8RVMyOiBmaXggdHlwb3MgZnJvbSByZWNlbnQgY2hhbmdlcyBhbmQgbWFrZSBkb3dubG9hZGluZyBSR0IgZm9ybWF0cyB3b3JrIGFnYWluCgoyMDEyLTA5LTI1IDE5OjI2OjE3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFs1OTgvOTA2XSBleGFtcGxlczogZml4IGNvbXBpbGF0aW9uIG9mIGNsdXR0ZXJzaGFyZQoKMjAxMi0wOS0yNSAxODoxMzo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbNTk3LzkwNl0gdGVzdHM6IGFkZCBzb21lIHNpbXBsZSBwaXBlbGluZSB0ZXN0cyB0byBjaGVjawoKMjAxMi0wOS0yNSAxODowNzoyMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSAgWzU5Ni85MDZdIGNvbG9yc2NhbGU6IHBvcnQgb3ZlciB0byBmaWx0ZXIgYmFzZSBjbGFzcwoKMjAxMi0wOS0yNSAxODowNjoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTk1LzkwNl0gdXBkYXRlIGZvciBmaWx0ZXIgQVBJIGNoYW5nZQoJICBnbGVmZmVjdHMgbmVlZGVkIGEgc2ltaWxhciBjaGFuZ2UKCjIwMTItMDktMjUgMTc6NTk6MjcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTk0LzkwNl0gZmlsdGVyOiB1cGRhdGUgZm9yIHVwL2Rvd25sb2FkIEFQSSBjaGFuZ2VzIGFuZCBzY2FsaW5nIGZpeGVzCgoyMDEyLTA5LTI1IDE2OjAzOjAxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs1OTMvOTA2XSB0ZXN0c3JjL2ltYWdlc2luazogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcwoKMjAxMi0wOS0yNSAxNjowMTo1NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU5Mi85MDZdIG1lbW9yeTogdXBkYXRlIGZvciB1cC9kb3dubG9hZCBBUEkgY2hhbmdlcwoKMjAxMi0wOS0yNSAxNjowMDo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJICBbNTkxLzkwNl0gbWl4ZXI6IHNhdmUgdGhlIHVwbG9hZCBvYmplY3QgaW5zdGVhZCBvZiBxdWVyeWluZyBmb3IgaXQgZXZlcnkgZnJhbWUKCjIwMTItMDktMjUgMTU6MjA6MjEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU5MC85MDZdIHVwL2Rvd25sb2FkOiBmaXggc2NhbGluZyBvbiB0cmFuc2ZlcgoJICBpLmUuIHVwbG9hZGluZyBmcm9tIGEgMTB4MTAgdmlkZW8gZnJhbWUgdG8gYSAyMHgyMCB0ZXh0dXJlIGludG8gYW5vdGhlciAzMHgzMCB2aWRlb2ZyYW1lCgoyMDEyLTA5LTIwIDIzOjQ1OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5oOgoJICBbNTg5LzkwNl0gUmV2ZXJ0ICJHTENvbG9yc2NhbGU6IGNvbnZlcnQgdG8gYSBiaW4gb2YgZ2x1cGxvYWQgISBnbGRvd25sb2FkIgoJICBUaGUgZWxlbWVudHMgbm8gbG9uZ2VyIGV4aXN0IHNvIHdlIGhhdmUgdG8gZG8gc29tZXRoaW5nIGRpZmZlcmVudAoKMjAxMi0wOS0yMCAyMzo0MTowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmg6CgkgIFs1ODgvOTA2XSBtb3NhaWM6IHVwZGF0ZSBmb3IgbWl4ZXIgY2hhbmdlcyBhbmQgY29udmVuaWVuY2UgQVBJCgoyMDEyLTA5LTIwIDIzOjI3OjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVycGFkLmg6CgkgIFs1ODcvOTA2XSBtaXhlcjogbWlycm9yIHRoZSBjaGFuZ2VzIGRvbmUgZm9yIGZpbHRlcgoKMjAxMi0wOS0yMCAyMzoyMToxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5jOgoJICBbNTg2LzkwNl0gZml4IHVwIHNvbWUgZGVidWcgc3RhdGVtZW50cyB0byBnZXQgdGhlbSBpbnRvIHRoZSByaWdodCBjYXRlZ29yaWVzCgoyMDEyLTA5LTIwIDIzOjIwOjAwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTg1LzkwNl0gZ2x0ZXN0c3JjOiB1cGRhdGUgZm9yIG5ldyBHTERvd25sb2FkIGluIGxpYnMKCjIwMTItMDktMjAgMjM6MTY6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJICBbNTg0LzkwNl0gZ2xpbWFnZXNpbms6IHVwZGF0ZSBmb3IgbmV3IEdMVXBsb2FkIG9iamVjdCBpbiBsaWJzCgoyMDEyLTA5LTIwIDIzOjA2OjQ5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzU4My85MDZdIGRlaW50ZXJsYWNlOiBjaGFuZ2UgZm9yIG5ldyBBUEkKCSAgYWxzbyBhbGxvdyBlbGVtZW50cyB0byBjYWxsIHRoZSBfZmlsdGVyX3RleHR1cmUgdmZ1bmMgaWYgdGhleSB3YW50CgoyMDEyLTA5LTIwIDIzOjAzOjU1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU4Mi85MDZdIGZpbHRlcnM6IGNoYW5nZXMgZm9yIG5ldyBBUEkKCjIwMTItMDktMTkgMDA6MzI6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTgxLzkwNl0gZmlsdGVyOiBhZGQgc2VwZXJhdGUgZmlsdGVyIGZ1bmN0aW9uIGZvciBvcGVyYXRpbmcgb24gdGV4dHVyZXMgaW5zdGVhZCBvZiBidWZmZXJzCgoyMDEyLTA5LTE5IDAwOjI5OjU3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBbNTgwLzkwNl0gYnVmZmVycG9vbDogcmVtb3ZlIG9ic2VsZXRlIGdsIG1ldGEgYnVmZmVyIHBvb2wgb3B0aW9ucwoKMjAxMi0wOS0xOCAyMTo0MjoyNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTc5LzkwNl0gZG93bmxvYWQ6IGZpeCBZVjEyIGZvcm1hdAoJICBzYW1lIGFzIEk0MjAgYnV0IHBsYW5lIDErMiBzd2FwcGVkCgoyMDEyLTA5LTE4IDIxOjM5OjIxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3OC85MDZdIHt1cCxkb3dufWxvYWQ6IGFkZCB2YXJpYW50cyB0aGF0IGNhbiBiZSBjYWxsZWQgaW4gdGhlIGdsIHRocmVhZAoKMjAxMi0wOS0xNyAxMDozNzozNyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs1NzcvOTA2XSByZW1vdmUgdXBsb2FkIGFuZCBkb3dubG9hZCBlbGVtZW50cyBmcm9tIHRoZSBidWlsZCBzeXN0ZW0KCjIwMTItMDktMTcgMTA6MzA6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXJwb29sLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRvd25sb2FkLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzU3Ni85MDZdIHJlbW92ZSB1bmVlZGVkIEdzdEdMTWV0YSAodXNlIEdzdFZpZGVvTWV0YSkKCjIwMTItMDktMTYgMjE6NDI6MDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJICBbNTc1LzkwNl0gZmlsdGVyOiBwb3J0IHRvIG5ldyB1cGxvYWQvZG93bmxvYWQKCjIwMTItMDktMTYgMjE6MzY6MDkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJICBbNTc0LzkwNl0gbWVtb3J5OiBpbXBsZW1lbnQgdHJhbnNwZXJlbnQgdXBsb2FkL2Rvd25sb2FkIGZvciBkYXRhCgkgIChub3QgYXN5bmMgeWV0KQoKMjAxMi0wOS0xNiAyMToyMzowOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTczLzkwNl0gYWRkIHVwbG9hZCBhbmQgZG93bmxvYWQgbGlicmFyeSBvYmplY3RzCgkgIGFsbG93cyBtdWx0aXBsZSB1cGxvYWQgcGlwZWxpbmVzIHRoYXQgcHJldmlvdXNseSB3YXNuJ3QgcG9zc2libGUKCSAgKGkuZS4gdXBsb2FkIFJHQiBhbmQgSTQyMCBhbmQgLi4uIG9uIHRoZSBzYW1lIEdzdEdMRGlzcGxheSkKCjIwMTItMDktMTYgMjE6MTE6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs1NzIvOTA2XSByZW1vdmUgdXBsb2FkIGFuZCBkb3dubG9hZCBlbGVtZW50cwoJICB0byBiZSByZXBsYWNlZCBieSB1cGxvYWQgYW5kIGRvd25sb2FkIGluIG1lbW9yeQoKMjAxMi0wOS0wNSAxNDo1ODozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTcxLzkwNl0gbWl4ZXI6IGZpeCBkZWFkbG9jayBvbiBzaHV0ZG93bgoJICBkaWRuJ3QgcmVpdGVyYXRlIG92ZXIgdGhlIHNpbmtwYWQncyBkaXNwbGF5cyBhbmQgcmVhY3RpdmF0ZSB0aGVtIGNhdXNpbmcgYSBkZWFkbG9jawoKMjAxMi0wOS0wNCAyMjo1MDowMCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NzAvOTA2XSByZW1vdmUgdGhlIHJlcXVpcmVtZW50IGZvciBWaWRlb01ldGEgdG8gYmUgcHJlc2VudCBvbiBub24tR0wgYnVmZmVycwoKMjAxMi0wOC0yMCAxNjo1NTo0MSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzU2OS85MDZdIGRpZmZlcmVuY2VtYXR0ZTogcHJldmVudCBkb3VibGUgdW5yZWYgb2Ygc2hhZGVyIGFuZCBtaWR0ZXh0dXJlCgoyMDEyLTA4LTI3IDE0OjA4OjE2ICswMDAwICBNYXR0aGV3IDxtYXR0QG1hdHQtYnVudC1sYXB0Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNTY4LzkwNl0gd2luZG93OiBmaXggcHVibGljIGRlZmluaXRpb25zCgoyMDEyLTA4LTI3IDE0OjA3OjMxICswMDAwICBNYXR0aGV3IDxtYXR0QG1hdHQtYnVudC1sYXB0Lihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNTY3LzkwNl0gZml4IE9wZW5HTHxFUzIgaWZkZWYnZWQgY29kZQoKMjAxMi0wOC0yMCAxMzoyNzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs1NjYvOTA2XSBlZmZlY3RzOiBhdm9pZCB1c2luZyB0YW5oIGluIHNpbl9mcmFnbWVudAoJICBJdCBwcm9kdWNlcyB3ZWlyZCByZXN1bHRzIG9uIG5vdXZlYXUuCgkgIFByb3ZpZGUgYW4gYWx0ZXJuYXRpdmUgaW1wbGVtZW50YXRpb24gd2l0aCAoMS1zaW5oKSpjb3NoCgoyMDEyLTA4LTIwIDEzOjA2OjI3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzU2NS85MDZdIGVmZmVjdHM6IGZpeCBzaGFkZXIgY29tcGlsYXRpb24gd2l0aCBtZXNhIGRyaXZlcnMKCjIwMTItMDgtMTUgMjE6Mzc6MDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkgIFs1NjQvOTA2XSBnbG1lbW9yeTogcmVtb3ZlIHVudXNlZCB0eXBlZGVmCgoyMDEyLTA4LTE1IDE2OjUyOjQ4ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU2My85MDZdIHJlYWRkIHN1cHBvcnQgZm9yIGhhbmdpbmcgR0wgcGlwZWxpbmVzIGUuZy4gLi4uICEgZ2xlZmZlY3RzICEgZmFrZXNpbmsKCjIwMTItMDgtMTUgMTU6MzU6NDYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTYyLzkwNl0gZ2xkaXNwbGF5OiBmaXggZG93bmxvYWQgb2YgWVVWIGZvcm1hdHMKCjIwMTItMDgtMTQgMjM6NTU6MTQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTYxLzkwNl0gZ2xkaXNwbGF5OiBmaXggZW5kaWFuZXNzIGlzc3VlcyBvbiBSR0IgZG93bmxvYWQKCjIwMTItMDgtMTQgMTQ6NDE6MTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs1NjAvOTA2XSBleGFtcGxlczogdXBkYXRlIGZvciBidXMgYXBpIGNoYW5nZXMgYW5kIGdsaW1hZ2VzaW5rIGNoYW5nZXMKCjIwMTItMDgtMTQgMDI6MDU6MTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSAgWzU1OS85MDZdIGdsbWl4ZXI6IHBhc3MgdGhlIG1peHBhZCdzIGRpc3BsYXkgdG8gdGhlIHF1ZXJ5aW5nIGVsZW1lbnQKCjIwMTItMDgtMTIgMTk6MDM6NDggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbNTU4LzkwNl0gYWRkIG1pc3NpbmcgaW5jbHVkZXMgZm9yIF9wb3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlIGluIGdsY29sb3JzcGFjZQoKMjAxMi0wOC0xMCAxNjo0MToxMiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs1NTcvOTA2XSBGaXggcGx1Z2luIGRlZmluZSBhbmQgcmVtb3ZlIHdhcm5pbmcKCjIwMTItMDgtMTAgMTU6NTU6NTEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkgIFs1NTYvOTA2XSBHTENvbG9yc2NhbGU6IGNvbnZlcnQgdG8gYSBiaW4gb2YgZ2x1cGxvYWQgISBnbGRvd25sb2FkCgoyMDEyLTA4LTEwIDE1OjMxOjIwICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzU1NS85MDZdIE1ha2UgdGhlIHF1ZXJ5IGZvciBhIEdzdEdMRGlzcGxheSBhIHBhZCBwZWVyIHF1ZXJ5CgkgIEFsbG93cyB0aGUgcXVlcnkgdG8gcGFzcyB0aHJvdWdoIGJpbiBib3VuZGFyaWVzIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSBmb3IKCSAgYXJiaXRyYXJ5IGdsIGVsZW1lbnRzIHRvIGJlIHBsYWNlZCBpbiBiaW5zLgoKMjAxMi0wOC0wOCAxNjowODo0MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZW1vcnkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5Lmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvZ3N0Z2xtZW1vcnkuYzoKCSAgWzU1NC85MDZdIEdzdEdMTWVtb3J5OiB1cGRhdGUgZm9yIEdzdEFsbG9jYXRvciBBUEkgY2hhbmdlcwoKMjAxMi0wNy0xNiAyMzozMTozMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzU1My85MDZdIEdzdEdMRmlsdGVyU2hhZGVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAyMzoyMjo1OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzU1Mi85MDZdIEdzdEdMRmlsdGVyQXBwOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0xNiAyMjo0MDoxNSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFs1NTEvOTA2XSBHc3RHTE92ZXJsYXk6IGZpeCBsb2FkaW5nIG9mIG5vbi1zcXVhcmUgb3ZlcmxheXMKCSAgbGlianBlZyBjb21wbGFpbnMgYWJvdXQgIkFwcGxpY2F0aW9uIHJlYWQgdG9vIHttYW55LGZld30gc2NhbiBsaW5lcyIgaW4gbm9uLXNxdWFyZSBpbWFnZXMKCjIwMTItMDctMTYgMjE6NDA6NTkgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJICBbNTUwLzkwNl0gR3N0R0xPdmVybGF5OiBmaXggbGliUE5HIGNvbXBsYWluaW5nIGFib3V0IHVuc2lnbmVkIGludGVnZXIgYmVpbmcgb3V0IG9mIHJhbmdlCgoyMDEyLTA3LTE2IDIxOjM1OjI2ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzU0OS85MDZdIEdzdEdMT3ZlcmxheTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMTU6MDY6NTAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFs1NDgvOTA2XSBHc3RHTERpZmZlcmVuY2VNYXR0ZTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTYgMDA6MzY6MzAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs1NDcvOTA2XSBHc3RHTEJ1bXBlcjogZml4IGxpYlBORyBjb21wbGFpbmluZyBhYm91dCBpbnZhbGlkIHBuZyBmaWxlcwoJICBXZSBmYWlsZWQgdG8gaW5mb3JtIGxpYlBORyB0aGF0IHdlIGhhZCBhbHJlYWR5IHJlYWQgdGhlIGhlYWRlcgoKMjAxMi0wNy0xNiAwMDowMzo1MCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNTQ2LzkwNl0gR3N0R0xGaWx0ZXJTb2JlbDogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTMgMDE6MDc6MzcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkgIFs1NDUvOTA2XSBHc3RHTEJ1bXBlcjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTMgMDE6MDQ6MjIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1NDQvOTA2XSBmaXggbWVtb3J5IGxlYWtzIGZyb20gbm90IGdfZnJlZSgpaW5nIHN0cmluZyByZXR1cm5lZCBieSBnc3RfZWxlbWVudF9nZXRfbmFtZQoKMjAxMi0wNy0xMiAxODoyMjowMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs1NDMvOTA2XSBHc3RHTERpc3BsYXk6IGZpeCBzZWdmYXVsdCBmcm9tIEdTVF9QVFJfRk9STUFUIHRyeWluZyB0byBleHBhbmQgdGhlIG9iamVjdAoKMjAxMi0wNy0xMiAxODoxOTo0NCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5oOgoJICBbNTQyLzkwNl0gR3N0R0xNaXhlcjogYWRkIGFsbG9jYXRpb24gYW5kIGJ1ZmZlcnBvb2wgbWV0aG9kcwoJICBiYXNlZCBvZmYgR3N0QmFzZVRyYW5zZm9ybQoKMjAxMi0wNy0xMiAxODoxMToxMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkgIFs1NDEvOTA2XSBHc3RHTFRlc3RTcmM6IGdlbmVyYXRlIGEgR0xCdWZmZXJQb29sIGluc3RlYWQgb2YgYSBWaWRlb0J1ZmZlclBvb2wgaW4gZGVjaWRlX2FsbG9jYXRpb24KCjIwMTItMDctMTIgMTg6MDk6NTcgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5oOgoJICBbNTQwLzkwNl0gR3N0R0xNb3NhaWM6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTEyIDE4OjA3OjM0ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUzOS85MDZdIEdzdEdMSW1hZ2VTaW5rOiBmb2xkIG11bHRpcGxlIGZpZWxkcyBpbnRvIG9uZSBhbmQgdXNlIFZJREVPX1NJTktfKiBmb3Igd2luZG93IHdpZHRoL2hlaWdodAoJICByZXBsYWNlIHRoZSBjYXBzIGluZm9ybWF0aW9uIHdpdGggYSBHc3RWaWRlb0luZm8KCSAgcGxhY2UgdGhlIHdpbmRvdyB3aWR0aC9oZWlnaHQgaW5mb3JtYXRpb24gd2lkdGggVklERU9fU0lOSwoKMjAxMi0wNy0xMSAxNDoyMDoxNCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5oOgoJICBbNTM4LzkwNl0gR3N0R0xEZWludGVybGFjZTogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6NTU6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkgIFs1MzcvOTA2XSBHc3RHTEZpbHRlclJlZmxlY3RlZFNjcmVlbjogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMTM6Mzc6NTUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSAgWzUzNi85MDZdIEdzdEdMRmlsdGVyR2xhc3M6IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDEzOjExOjU5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbNTM1LzkwNl0gR3N0R0xGaWx0ZXJMYXBsYWNpYW46IHVwZGF0ZSBmb3IgR3N0R0xNZXRhCgoyMDEyLTA3LTExIDAxOjI1OjAzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzUzNC85MDZdIEdzdEdMRmlsdGVyQ3ViZTogVXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMTEgMDE6MTA6NDMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNTMzLzkwNl0gR3N0R0xGaWx0ZXJCbHVyOiB1cGRhdGUgZm9yIEdzdEdMTWV0YQoKMjAxMi0wNy0wOSAyMjoyNzo0OCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkgIFs1MzIvOTA2XSBHc3RHTEZpbHRlcjogaW1wbGVtZW50IGFsbG9jYXRpb24gdmZ1bmNzCgoyMDEyLTA3LTA5IDIyOjI2OjEyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzUzMS85MDZdIEdzdEdMRWZmZWN0czogdXBkYXRlIGZvciBHc3RHTE1ldGEKCjIwMTItMDctMDkgMTY6MTc6MTggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MzAvOTA2XSBHc3RHTFVwbG9hZDogZml4IHZpZGVvIHNjYWxpbmcgYW5kIHVzZSBHTF9VUExPQURfQ0FQUwoKMjAxMi0wNy0wOSAxNjoxNToyOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTI5LzkwNl0gR3N0R0xEb3dubG9hZDogZml4IHZpZGVvIHNjYWxpbmcgYW5kIHVzZSBHTF9ET1dOTE9BRF9DQVBTCgoyMDEyLTA3LTA5IDE2OjEzOjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1ldGEuaDoKCSAgWzUyOC85MDZdIEdzdEdMTWV0YTogc2VwZXJhdGUgdXBsb2FkL2Rvd25sb2FkL25vcm1hbCBHTCBjYXBzIHZpZGVvIGZvcm1hdHMKCSAgZGlmZmVyZW50aWF0ZSBiZXR3ZWVuIHVwbG9hZCwgZG93bmxvYWQgYW5kIEdMIGNhcHMKCjIwMTItMDctMDkgMTY6MTI6NTMgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTI3LzkwNl0gR3N0R0xEaXNwbGF5OiBhZGQgc29tZSB0cmFjZSBkZWJ1Z2dpbmcKCjIwMTItMDctMDggMTM6MTE6MDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkgIFs1MjYvOTA2XSBHc3RHTFRlc3RTcmM6IHVwZGF0ZSBmb3IgMS4wCgkgIGltcGxlbWVudCBkZWNpZGVfYWxsb2NhdGlvbgoJICByZW5hbWUgcHVzaF9zcmNfY3JlYXRlIHRvIF9maWxsCgkgIHVzZSBHc3RWaWRlb0luZm8gdG8gY29udmVydCB0aW1lcwoJICBtYWtlIHVzZSBvZiBHc3RHTE1ldGEgYW5kIGZyaWVuZHMKCjIwMTItMDctMDggMDE6NTA6NDEgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSAgWzUyNS85MDZdIEdzdEdMRG93bmxvYWQ6IGFkZCBhbGxvY2F0aW9uIG1ldGhvZHMgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSBHc3RHTERvd25sb2FkIHdvcmsgd2l0aCB0aGUgbmV3IEdzdEdMTWV0YSBhbmQgZnJpZW5kcwoKMjAxMi0wNy0wOCAwMTo0OTowNiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzUyNC85MDZdIEdzdEdMRGlzcGxheTogcmV3b3JrIHRoZSBkb3dubG9hZCBjb2RlCgkgIGRhdGEgcGFyYW1hdGVycyBub3cgdGFrZSBHc3RWaWRlb0ZyYW1lCgkgIHJlbW92ZSByZWR1bmRhbnQgcGFyYW1ldGVycwoKMjAxMi0wNy0wOCAwMToxMTo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs1MjMvOTA2XSB1cGRhdGUgZm9yIG1ldGEgQVBJIGNoYW5nZXMKCjIwMTItMDctMDggMDE6MTA6NDAgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbNTIyLzkwNl0gR3N0R0xEaXNwbGF5OiBhZGQgZm9yZ290dGVuIGZ1bmN0aW9uIGRlZmluaXRpb24KCjIwMTItMDctMDggMDE6MDk6NTYgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkgIFs1MjEvOTA2XSBHc3RHTE1lbW9yeTogdXBkYXRlIGZvciBHc3RBbGxvY2F0b3IgY2hhbmdlcwoKMjAxMi0wNy0wNyAyMjo1NjozMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNTIwLzkwNl0gR3N0R0xNaXhlcjogZml4IGZvciBHc3RDaGlsZFByb3h5IGNoYW5nZXMKCjIwMTItMDctMDYgMTk6MTA6NDUgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJICBbNTE5LzkwNl0gR3N0R0xVcGxvYWQ6IGltcGxlbWVudCB0aGUgYWxsb2NhdGlvbiBmdW5jcyBhbmQgdXNlIEdzdEdMTWV0YQoJICBtYWtlIHVzZSBvZiB0aGUgbmV3IEdzdEdMTWV0YSwgR3N0R0xNZW1vcnkgYW5kIEdzdEdMQnVmZmVyUG9vbCBvYmplY3RzCgoyMDEyLTA3LTA2IDE5OjA3OjQ1ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUxOC85MDZdIEdzdEdMSW1hZ2VTaW5rOiBhZGQgcHJvcG9zZV9hbGxvY2F0aW9uIGltcGwgYW5kIHVzZSBHc3RHTE1ldGEKCSAgbWFrZSB1c2Ugb2YgR3N0R0xNZXRhIGFuZCBHc3RHTE1lbW9yeQoKMjAxMi0wNy0wNiAxOTowNTowMyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlcnBvb2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVycG9vbC5oOgoJICBbNTE3LzkwNl0gYWRkIEdzdEdMQnVmZmVyUG9vbAoJICB3aGljaCBhZGRzIEdzdEdMTWV0YSB0byBidWZmZXJzCgoyMDEyLTA3LTA2IDE4OjU3OjM5ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtZXRhLmg6CgkgIFs1MTYvOTA2XSBhZGQgc2tlbGV0b24gR3N0R0xNZXRhCgkgIHRoZSBHc3RWaWRlb01ldGEgX21hcC91bm1hcCBmdW5jdGlvbnMgc3RpbGwgbmVlZCBpbXBsZW1lbnRpbmcKCjIwMTItMDctMDYgMTg6NTE6MDIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFs1MTUvOTA2XSBHc3RHTERpc3BsYXk6IHJld29yayBnZW5fdGV4dHVyZSBhbmQgdXBsb2FkCgkgIHJlbmFtZSBmdW5jdGlvbnMgc28gdGhhdCBvdGhlciBjb2RlIGNhbiBjcmVhdGUgdGV4dHVyZXMgaW4gdGhlIEdMIHRocmVhZAoJICBjaGFuZ2UgdXBsb2FkIGZ1bmN0aW9ucyB0byB0YWtlIGEgR3N0VmlkZW9GcmFtZQoJICBkZWZhdWx0IHRvIEdMU0wgZm9yIHVwbG9hZCBjb252ZXJzaW9uCgoyMDEyLTA3LTA2IDE4OjIyOjIyICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWVtb3J5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1lbW9yeS5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL2dzdGdsbWVtb3J5LmM6CgkgIFs1MTQvOTA2XSBhZGQgR3N0R0xNZW1vcnkgYW5kIGFsbG9jYXRvcgoJICBpbXBsZW1lbnQgY3VzdG9tIEdzdE1lbW9yeSBmb3IgR0wgdGV4dHVyZXMKCSAgY3VycmVudGx5IG1hcC91bm1hcCByZXR1cm5zIE5VTEwgYWx0aG91Z2ggaXQgbWlnaHQgYmUgZmF2b3VyYWJsZSB0byB1cGxvYWQvZG93bmxvYWQvY2FjaGUgdGhlIGltYWdlIGRhdGEKCjIwMTItMDYtMTkgMTg6NDA6MjggKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlcnBhZC5oOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFs1MTMvOTA2XSBSZW1vdmUgR3N0R0xCdWZmZXIgKHRvIGJlIHJlcGxhY2VkIGJ5IEdzdEdMTWV0YSkKCjIwMTItMDYtMTkgMTU6NTQ6MjQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSAgWzUxMi85MDZdIEdzdEdMTWl4ZXI6IHVwZGF0ZSBmb3IgMS4wIGJhc2VkIG9uIHRoZSB2aWRlb21peGVyMiBlbGVtZW50IGluIC1nb29kCgoyMDEyLTA2LTA3IDAwOjUxOjQ3ICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNTExLzkwNl0gdGVzdHM6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTA1IDIyOjU5OjMxICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzUxMC85MDZdIEdzdEdMSW1hZ2VTaW5rOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxOToxMDoxOSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNTA5LzkwNl0gR3N0R0xEaXNwbGF5OiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxODo1MzozOCArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJICBbNTA4LzkwNl0gR3N0R0xEb3dubG9hZDogdXBkYXRlIGZvciAxLjAKCjIwMTItMDYtMDUgMTU6NDA6NTIgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbNTA3LzkwNl0gR3N0R0xUZXN0U3JjOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNSAxMzo1Njo0MyArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzUwNi85MDZdIEdzdEdMVXBsb2FkOiB1cGRhdGUgZm9yIDEuMAoKMjAxMi0wNi0wNCAxODo0NDo1NiArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkgIFs1MDUvOTA2XSBHc3RHTENvbG9yc2NhbGU6IHVwZGF0ZSBmb3IgMS4wCgoyMDEyLTA2LTAzIDIwOjQwOjUzICsxMDAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzUwNC85MDZdIEdzdEdMRmlsdGVyOiB1cGRhdGUgZm9yIDEuMAoJICAtZml4IHVwIGZ1bmN0aW9uIGRlZmluaXRpb25zCgkgIC1yZW1vdmUgX3ByZXBhcmVfb3V0cHV0X2J1ZmZlciAoZnVuY3Rpb25hbGl0eSB0YWtlbiBvdmVyIGJ5IEdzdEJ1ZmZlclBvb2wpLgoKMjAxMi0wNS0zMCAxMzo0NjoyMSArMTAwMCAgTWF0dGhldyBXYXRlcnMgPHlzdHJlZXQwMEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNTAzLzkwNl0gUmVuYW1lIEdTVF9CT0lMRVJQTEFURV8qIHRvIEdfREVGSU5FX1RZUEVfKiBhbmQgbW92ZSBfYmFzZV9pbml0IGludG8gX2NsYXNzX2luaXQKCjIwMTItMDUtMjkgMTc6NTU6NDQgKzEwMDAgIE1hdHRoZXcgV2F0ZXJzIDx5c3RyZWV0MDBAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wucGMuaW46CgkgIFs1MDIvOTA2XSBVcGRhdGUgdmVyc2lvbmluZyBmb3IgZ3N0cmVhbWVyIDEuMAoJICBSZW5hbWVzIEdTVF9NQUpPUk1JTk9SIHRvIEdTVF9BUElfVkVSU0lPTiBpbiBidWlsZCBmaWxlcwoJICByZW1vdmVzIC1sZ3N0aW50ZXJmYWNlcyBmcm9tIF9MREFERCBmbGFncwoKMjAxMi0wNS0yMCAxODo0NTowNiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFs1MDEvOTA2XSBGaXggYnVpbGRpbmcgb24gNjQgYml0IG1pbmd3LXc2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2NDI4CgoyMDEyLTA0LTIwIDEyOjMzOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzUwMC85MDZdIGdsZGlzcGxheTogZG8gbm90IGNhbGwgZ2xDaGVja0ZyYW1lYnVmZmVyU3RhdHVzIGlmIDAgaXMgYm91bmQKCSAgSW5kZWVkIGl0IG1heSByZXR1cm4gR0xfRlJBTUVCVUZGRVJfVU5ERUZJTkVEIGlmIHRoZXJlIGlzIG5vCgkgIGRlZmF1bHQgZnJhbWVidWZmZXIuCgkgIEl0IHNlZW1zIHRvIGJlIHRoZSBjYXNlIG9uIE1hY09TWAoKMjAxMi0wNC0yMCAxMToxOTozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFs0OTkvOTA2XSBleGFtcGxlczogZml4IGJ1aWxkIG9uIE1hY09TWAoKMjAxMi0wNC0yMCAxMDo0MTo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ5OC85MDZdIGdsZGlzcGxheTogZG9uJ3QgcGFzcyBub24tY29uc3RhbnQgc3RyaW5ncyBhcyBwcmludGYgZm9ybWF0IHN0cmluZ3MKCSAgRml4ZXMgJ2Zvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cycgb24gZGFyd2luCgoyMDEyLTA0LTIwIDEwOjMyOjIzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNDk3LzkwNl0gZmlsdGVyc2hhZGVyOiBmaXggZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEyLTA0LTIwIDEwOjI2OjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzQ5Ni85MDZdIGNtYWtlIGJ1aWxkOiBhZGQgcGF0aCB0byBjb25maWcuaCBvbiBBUFBMRQoKMjAxMi0wNC0xOCAxNTo0NDowNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzQ5NS85MDZdIGdsRVMyLjA6IHByb3Blcmx5IHVzZSBnbERlbGV0ZVNoYWRlcgoKMjAxMi0wNC0xNyAxODoyNTo1NSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSAgWzQ5NC85MDZdIGNtYWtlIGJ1aWxkOiB1c2UgY29uZmlnLmggZnJvbSB3aW4zMi9jb21tb24gYW5kIGFkZCBzb21lIGd1aWRlbGluZXMKCjIwMTMtMDYtMjggMDA6MDQ6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzQ5My85MDZdIGdsZmlsdGVyc2hhZGVyOiBmaXggY3Jhc2ggd2hlbiBsb2FkaW5nIHNoYWRlciBmaWxlCgkgIEp1c3QgdXNlIGdfZmlsZV9nZXRfY29udGVudHMoKSBpbnN0ZWFkIG9mIGhvbWUtbWFkZSBmaWxlIGxvYWRpbmcuCgkgIEZpeGVzIHR3byBpc3N1ZXMgLSBvbmUgaXMgdGhhdCB3ZSBzaG91bGQgcGFzcyAiciIgdG8gZm9wZW4gYW5kCgkgIG5vdCBPX1JET05MWSwgdGhlIG90aGVyIGlzIHRoYXQgYW4gaW5jb3JyZWN0IHZhcmlhYmxlIHdhcyB1c2VkCgkgIHRvIHJlYWQgdGhlIGZpbGUgbGVuZ3RoLCBsZWFkaW5nIHRvIGFuIGVtcHR5IHNoYWRlciBmaWxlLgoJICBTcG90dGVkIGJ5OiBXYW5nIFhpbi15dSAo546L5piV5a6HKSA8Y29taWNmYW5zNDRAZ21haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyODQ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4NDUKCSAgQ29uZmxpY3RzOgoJICBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYwoKMjAxMi0wNC0xMyAxNTowODowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbNDkyLzkwNl0gZ2x3aW5kb3c6IHByb3Blcmx5IGZhaWxzIGlmIHJlc291cmNlIG5vdCBmb3VuZAoKMjAxMi0wNC0xMyAxMjozODoxMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1ZWV6ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ5MS85MDZdIGdsRVMyLjA6IHByb3Blcmx5IGZhaWxzIGlmIGRyaXZlci9rZXJuZWwgaW5jb25zaXN0ZW5jeQoKMjAxMi0wNC0xMSAxMDo0NDoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzQ5MC85MDZdIGdsZGlzcGxheTogZXJyb3Igb3V0IGluc3RlYWQgb2YgZ19hc3NlcnQKCjIwMTItMDQtMTAgMTY6MTI6MTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFs0ODkvOTA2XSBnbGltYWdlc2luazogcGl4ZWwtYXNwZWN0LXJhdGlvIHByb3BlcnR5IG5vdyByZXR1cm5zICIxLzEiIGJ5IGRlZmF1bHQKCSAgUHJldmlvdXNseSBpdCB3YXMgbm90IHNldAoJICBGaXggYnVnICM2NzE3MzQgKGNvbXBhdGliaWxpdHkgd2l0aCBUb3RlbSkKCjIwMTItMDQtMDQgMTY6MjI6NDAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFs0ODgvOTA2XSBsaWJ2aXN1YWwtZ2w6IGZ1bGwgY29tcGF0aWJpbGl0eSB3aXRoIHByb2plY3RNLWxpYnZpc3VhbCBpZiBsaWJwcm9qZWN0TSA+PSAyLjAuMQoJICBGaXggYnVnICMzMTA3NzUKCjIwMTItMDMtMDYgMTQ6MzE6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSAgWzQ4Ny85MDZdIGdsOiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgJ2lmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keScsIHdoaWNoIHdlcmUgcmVhbCBidWdzIGFuZAoJICAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UnLCB3aGljaCB3YXMKCSAgb25seSBhbiB1bm5lZWRlZCBjb21wYXJpc29uLgoKMjAxMS0xMi0yMiAxNTozMDozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvbGlidmlzdWFsL3Zpc3VhbC1nbC5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0ODYvOTA2XSBsaWJ2aXN1YWwtZ2w6IGFkZCBtaW5pbWFsIHN1cHBvcnQgdG8gbGlidmlzdWFsIHBsdWdpbnMgdGhhdCB1c2VzIEZyYW1lYnVmZmVyIG9iamVjdHMKCSAgRml4IGJ1ZyAjMzEwNzc1CgkgIGdzdC1sYXVuY2ggYXVkaW90ZXN0c3JjICEgbGlidmlzdWFsX2dsX3Byb2plY3RNICEgZ2xpbWFnZXNpbmsgaXMgd29ya2luZwoJICBidXQgZm9yIG5vdyB5b3UgY2Fubm90IGFwcGVuZCBhbnkgb3RoZXIgb3BlbmdsIGZpbHRlcnMgYmV0d2VlbgoJICBsaWJ2aXN1YWxfZ2xfcHJvamVjdE0gYW5kIGdsaW1hZ2VzaW5rIGJlY2F1c2Ugb3VyIEZCTyBpcyB0dXJuZWQgT0ZGLgoJICBJdCB3b3VsZCByZXF1aXJlIHRoYXQgbGlidmlzdWFsIGFsbG93cyB0byBzcGxpdCByZW5kZXJpbmcgYmV0d2VlbgoJICBwYXNzMSwyLDMuLi4gYW5kIGZpbmFsIHJlbmRlcmluZy4gSW4gb3JkZXIgdG8gdW5iaW5kIG91ciBGQk8gYmVmb3JlCgkgIHRoZSBwYXNzTiwgYW5kIHRoZW4gcmViaW5kIGl0IGp1c3QgYmVmb3JlIHRoZSBmaW5hbCBsaWJ2aXN1YWwgcmVuZGVyaW5nLgoKMjAxMS0xMi0xNSAxODoxMzowMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0ODUvOTA2XSBnc3RnbGRpc3BsYXk6IHR1cm4gb2ZmIHRleHR1cmUgYmluZGluZyBhbmQgcmVhZCBidWZmZXIgd2hlbiBkb3dubG9hZGluZyByZ2IgaXMgZG9uZQoJICBJdCBmaXhlczogKGJsYWNrIGltYWdlIGJlZm9yZSkKCSAgZ3N0LWxhdW5jaC0wLjEwIGF1ZGlvdGVzdHNyYyAhIGxpYnZpc3VhbF9nbF9sdl9nbHRlc3QgISBnbGRvd25sb2FkICEgeGltYWdlc2luawoJICBhbmQKCSAgZ3N0LWxhdW5jaC0wLjEwICBhdWRpb3Rlc3RzcmMgISBsaWJ2aXN1YWxfZ2xfbHZfZ2x0ZXN0ICEgZ2xkb3dubG9hZCAhIGdsaW1hZ2VzaW5rCgoyMDExLTEyLTE1IDE4OjA4OjQ4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGV4dC9saWJ2aXN1YWwvdmlzdWFsLWdsLmM6CgkgIFs0ODQvOTA2XSBsaWJ2aXN1YWxfZ2w6IGNvcnJlY3RseSBzZXR1cCBkZXB0aCBhbmQgYmxlbmQgZnVuY3Rpb25zCgoyMDExLTEyLTE1IDE2OjE4OjM2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDgzLzkwNl0gZ2xlbGVtZW50czogZG8gbm90IGxlYWsgcGFyZW50IHdoZW4gdXNpbmcgZ3N0X3BhZF9nZXRfcGFyZW50CgoyMDExLTExLTI1IDE2OjUxOjU5ICswMTAwICBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnRAZ21haWwuY29tPgoKCSogZXh0L2xpYnZpc3VhbC9DTWFrZUxpc3RzLnR4dDoKCSogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSogZXh0L2xpYnZpc3VhbC92aXN1YWwtZ2wuYzoKCSAgWzQ4Mi85MDZdIGV4dDogQWRkIGEgbGlidmlzdWFsIHBsdWdpbiB3cmFwcGluZyBvcGVuZ2wgbGlidmlzdWFsCgkgIEZpeCBidWcgIzIwMjA2OQoKMjAxMS0xMS0yNCAxNjowMjozMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkZWludGVybGFjZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsbW9zYWljLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0ODEvOTA2XSBmZWF0dXJlIGNoZWNraW5nOiBlcnJvciBvdXQgaW5zdGVhZCBvZiBkb2luZyBub3RoaW5nIGlmIGFuIE9wZW5HTCBmZWF0dXJlIGlzIG5vdCBwcmVzZW50CgkgIEZpeCBidWcgIzU3Mjc2NwoKMjAxMS0xMS0yMSAxNjo0Njo1MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQ4MC85MDZdIHdpbjMyIGJ1aWxkczogYWRkIGdsc2hhZGVyIGZpbHRlciBzb3VyY2VzIHRvIHZzOSBhbmQgY29kZWJsb2NrcwoJICBBbHNvIGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkgYW5kIG1pbmd3LTMuNC41CgoyMDExLTExLTIxIDE1OjA0OjE2ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJICBbNDc5LzkwNl0gZ3N0Z2xzaGFkZXJ2YXJpYWJsZXM6IHN0cnRva19yIGlzIG5vdCBtdWx0aXBsYXRmb3JtCgkgIEZpeCBidWcgIzY2NDM2NwoKMjAxMS0xMS0xOCAxNzozMjowNSArMDEwMCAgV2VpIEZlbmcgPHdlaS5mZW5nLndheW5lQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJICBbNDc4LzkwNl0gT3BlbkdMIEVTIDIuMDogaW5jbHVkZSBnbGliLmggdG8gdXNlIEdfQkVHSU5fREVDTFMgaW4gZ3N0Z2xlczIuaAoJICBGaXggYnVnICM2MzEwMTkKCjIwMTEtMTEtMTggMTc6Mjc6NDUgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSAgWzQ3Ny85MDZdIE9wZW5HTCBFUyAyLjA6IGZpeCBidWlsZCBzaW5jZSBnbGZpbHRlcnNoYWRlciBjaGFuZ2VzCgoyMDExLTExLTE4IDE3OjI2OjM1ICswMTAwICBBbnRvbmkgU2lsdmVzdHJlIDxhbnRvbmkuc2lsdmVzdHJlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSAgWzQ3Ni85MDZdIE9wZW5HTCBFUyAyLjA6IGZpeCBidWlsZCBhbmQgZGlzYWJsZSBzb21lIGV4YW1wbGVzCgkgIEZpeCBidWcgIzYzMTAxOQoKMjAxMS0xMS0xOCAxMjoxNjoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzQ3NS85MDZdIGRvY3M6IGFkZCBnbG1vc2FpYyBhbmQgZ2xzaGFkZXIgdG8gZG9jcwoKMjAxMS0xMS0xOCAxMTo1MjoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3NC85MDZdIGJ1aWxkOiBtYWtlIGxpYmpwZWcgdXNlIGNvbmRpdGlvbmFsCgkgIERpc2FibGUgZ2xvdmVybGF5IGVsZW1lbnQgaWYgd2UgZG8gbm90IGh2ZSBsaWJqcGVnCgoyMDExLTExLTE4IDEwOjEwOjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzQ3My85MDZdIGNtYWtlIGJ1aWxkOiAyLjggaXMgbm93IHJlcXVpcmVkIGFuZCBhZGQganBlZwoJICBqcGVnIGFuZCBwbmcgc2hvdWxkIGJlIG9wdGlvbmFsIGJ1dCBvdXIgY21ha2UgYnVpbGQgaXMgc3RpbGwgaW4gcHJlLWFscGhhCgoyMDExLTExLTE4IDA4OjA4OjE4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFs0NzIvOTA2XSBsaW5wbmc6IG1ha2UgbGlicG5nIHVzZSBjb25kaXRpb25hbAoJICBEaXNhYmxlIDMgZWxlbWVudHMgaWYgd2UgZG9uJ3QgaGF2ZSBsaWJwbmcuCgoyMDExLTExLTE3IDE3OjM2OjQ0ICswMTAwICBMdWMgRGVzY2hlbmF1eCA8bHVjLmRlc2NoZW5hdXhAZnJlZXN1cmYuY2g+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlcnZhcmlhYmxlcy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXJ2YXJpYWJsZXMuaDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzaGFkZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc2hhZGVyLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzQ3MS85MDZdIGdsc2hhZGVyOiBhZGQgZHluYW1pYyBmcmFnbWVudCBzaGFkZXIgZmlsdGVyCgkgIEFsc28gYWRkIGZyYWdtZW50IHNoYWRlciBwYXJzZXIKCSAgRml4IGJ1ZyAjNjAwMTk1CgoyMDExLTExLTE3IDE1OjIyOjA2ICswMTAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDcwLzkwNl0gZ2xvdmVybGF5OiBhZGQganBlZyBzdXBwb3J0CgkgIEZpeCBidWcgIzYzNjA3MAoKMjAxMS0xMS0xNyAxMTozOTo1MCArMDEwMCAgQW50aG9ueSBWaW9sbyA8YW50aG9ueS52aW9sb0B1YmljYXN0LmV1PgoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5Lmg6CgkgIFs0NjkvOTA2XSBnbG92ZXJsYXk6IG1hbmFnZSByYXRpbyB0ZXh0dXJlCgkgIEZpeCBidWcgIzYzMDUyNQoKMjAxMS0xMS0xNyAxMTozNDoyMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJICBbNDY4LzkwNl0gdGVzdHM6IGZpeCBjb21tZW50YXJ5IGluIGNsdXR0ZXJhY3RvciBleGFtcGxlCgoyMDExLTExLTE2IDE2OjUzOjI1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbNDY3LzkwNl0gdGVzdHM6IHZhcmlvdXMgYnVpbGQgZml4ZXMKCSAgLSBjbWFrZSBjb3VsZCBub3QgZmluZCBnbGliCgkgIC0gcHV0IGd0ayB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyB0byBhdm9pZCBHTCBjb25mbGljdHMKCSAgLSB1cGRhdGUgZXhhbXBsZXMgdG8gY2x1dHRlci0xLjgKCSAgLSB1c2UgY29uc3QgaW5zdGVhZCBvZiBkZXByZWNhdGVkIEdfQ09OU1RfUkVUVVJOCgkgIC0gc2V0IG1heCBwZW5kaW5nIGV2ZW50cyB0byAwIHRvIG1ha2UgY3ViZSBleGFtcGxlIHdvcmtzIGFnYWluCgoyMDExLTA4LTAzIDA5OjA4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFs0NjYvOTA2XSB0ZXN0czogRml4IHZhcmlhYmxlIHVudXNlZCBidXQgc2V0IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDgtMDMgMDk6MDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFs0NjUvOTA2XSBnbDogRml4IHZhcmlhYmxlIHVudXNlZCBidXQgc2V0IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA1LTI1IDExOjIxOjE5ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzQ2NC85MDZdIGdsaW1hZ2VzaW5rOiBJbnRlcmZhY2UgcXVlcnkgc2hvdWxkIHJldHVybiBGQUxTRSBpZiB0aGUgc3VwcGxpZWQgaW50ZXJmYWNlIGlzIG5vdCBHU1RfVFlQRV9YX09WRVJMQVkKCjIwMTAtMTItMTQgMjM6NTY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkgIFs0NjMvOTA2XSBBZGQgc29tZSBtb3JlIEdfe0JFR0lOLEVORH1fREVDTFMgdG8gcHVibGljIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzI2MAoKMjAxMC0xMC0xOSAxODowMDozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NjIvOTA2XSB2YXJpb3VzOiBhZGQgbWlzc2luZyBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGZsYWdzCgkgIENhbm9uaWNhbGl6ZSBwcm9wZXJ0eSBuYW1lcyBhcyBuZWVkZWQuIEluY2x1ZGVzIHNvbWUgZ3N0LWluZGVudCBjaGFuZ2VzIGFzIHdlbGwgOi8KCjIwMTAtMDktMTYgMTU6MDA6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFs0NjEvOTA2XSB4b3ZlcmxheTogcmVxdWlyZSBiYXNlIGZyb20gZ2l0IGFuZCB1cGRhdGUgdG8gbmV3IEFQSQoKMjAxMC0wOS0wOCAyMDozODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQ2MC85MDZdIGdzdGdsZWZmZWN0czogRml4IHVwcGVyIGJvdW5kIG9mIGFuIGFycmF5IGl0ZXJhdGlvbgoJICAxMCBpcyBhYm92ZSBORUVERURfVEVYVFVSRVMgKGN1cnJlbnRseSA1KSBhbmQgbWFrZXMgdGhlIGNvZGUgY29uc2lzdGVudAoJICB3aXRoIHRoZSByZXN0IG9mIHRoZSB1c2FnZSBpbiB0aGUgZmlsZS4KCjIwMTAtMDgtMTEgMDA6NDc6NDIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzQ1OS85MDZdIEZpeCBkaXN0Y2hlY2suCgoyMDEwLTA3LTIzIDIyOjEyOjE1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDU4LzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGZpeCBzb21lIHdhcm5pbmdzIGZyb20gbXN2YzkKCjIwMTAtMDctMTIgMTg6Mzg6NTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9waXhidWZkcm9wLmM6CgkgIFs0NTcvOTA2XSBndGsgZXhhbXBsZXM6IGFkYXB0IGNvZGUgc2luY2UgdGhlIG5hdGl2ZS13aW5kb3cgY2hhbmdlcyBmcm9tIGd0awoJICBGaXhlcyBidWcgIzU5OTg4NQoKMjAxMC0wNS0wNSAxMToyMTozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzQ1Ni85MDZdIGdsZmlsdGVyL2dsbWl4ZXIvZ2x0ZXN0c3JjL2dsdXBsb2FkOiB0aHJvdyBhbiBlbGVtZW50IGVycm9yIGlmIG5vIHBhcmVudCBiaW4KCSAgRml4ZXMgYnVnICM2MDIxNTMKCjIwMTAtMDUtMDQgMTE6Mzc6MzggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzQ1NS85MDZdIGdsaW1hZ2VzaW5rOiBoYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvCgoyMDEwLTA1LTAxIDExOjE5OjU1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ1NC85MDZdIGJsdXI6IGZpeCBnYXVzc2lhbiBrZXJuZWwgY29tcHV0YXRpb24KCjIwMTAtMDQtMjkgMjA6NDk6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSAgWzQ1My85MDZdIGJsdXI6IGdpdmUgdXAgc29tZSBhY2N1cmFjeSBmb3Igc3BlZWQKCSAgU2V0dGxlIHdpdGggN3g3IGdhdXNzaWFuIGNvbnZvbHV0aW9uIGtlcm5lbHMsIG1heWJlIHNsaWdodGx5IGxlc3MKCSAgYWNjdXJhdGUgdGhhbiBwcmV2aW91cyA5eDkgYnV0IGZhc3QgZW5vdWdoIHRvIGJlIGFibGUgdG8gdXNlIGl0IG9uIGk5MTUuCgkgIEFib3V0IGEgMjAlIHBlcmNlbnQgc3BlZWQgZ2FpbiAoYWdhaW4sIHJvdWdobHkgbWVhc3VyZWQgd2l0aAoJICB2aWRlb3Rlc3RzcmMgYW5kIGdsaW1hZ2VzaW5rIHN5bmM9ZmFsc2UpLiBObyBub3RpY2VhYmxlIHJlbmRlcmluZwoJICBkaWZmZXJlbmNlIHdpdGggY3VycmVudCBlZmZlY3RzLgoKMjAxMC0wNC0yOCAxNzowODo0NSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0NTIvOTA2XSBzaW46IGdldCByaWQgb2YgaGxzIGNvbnZlcnNpb24gY29kZQoJICBHZXQgcmlkIG9mIGJ1Z2d5IGFuZCBjb21wbGljYXRlZCBobHMgY29udmVyc2lvbiBjb2RlIGZvciB0aGUgc2luIGVmZmVjdC4KCSAgVGhlIG9ubHkgdGhpbmcgbmVlZGVkIHdhcyBodWUgYW55d2F5IGFuZCBpdCBpcyBlYXNpbHkgY2FsY3VsYXRlZCB1c2luZwoJICBQcmV1Y2lsIGZvcm11bGEgZm9yIHJnYiB0byBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uLgoJICBOb3cgd29ya3Mgb24gaTkxNSAocmVtb3ZlZCBhbGwgdGhlIElGIGJsb2NrcykuIFN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLAoJICBJIHdvbmRlciBpZiBpdCB3aWxsIGV2ZXIgd29yayBwcm9wZXJseS4KCjIwMTAtMDQtMzAgMTE6NDQ6MjYgKzAyMDAgIFJvbGFuZCBQZWZmZXIgPFJvbGFuZC5QZWZmZXJAY2xpeHh1bi5kZT4KCgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDUxLzkwNl0gZ2x1cGxvYWQ6IHBhciBpcyBhbHJlYWR5IGhhbmRsZWQgaW4gZml4YXRlX2NhcHMgZnVuY3Rpb24KCSAgRml4ZXMgYnVnICM1OTMxNjUKCjIwMTAtMDQtMzAgMTE6NDI6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0NTAvOTA2XSBpbmRlbnQ6IGdzdGdsdXBsb2FkLmMKCjIwMTAtMDQtMjkgMTQ6MjE6MjggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkgIFs0NDkvOTA2XSBzb2JlbDogZHJvcCB1bnVzZWQgc2luZ2xlIHBhc3Mgc29iZWwgc2hhZGVyCgkgIERyb3AgdW51c2VkIHNvYmVsIHNoYWRlciwgaWYgYW55b25lIHN0aWxsIG5lZWRzIGl0LCBnaXQgbG9nIGlzIHlvdXIKCSAgZnJpZW5kLgoKMjAxMC0wNC0yOSAxNDoyMDo1NiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgWzQ0OC85MDZdIHhyYXk6IGluY3JlYXNlIGVkZ2VzIHZpc2liaWxpdHkKCSAgU29tZSBsaXR0bGUgZmluZSB0dW5pbmcsIHN0aWxsIG5vdCBjb21wbGV0ZWx5IHNhdGlzZmllZCB5ZXQuCgoyMDEwLTA0LTI5IDEyOjU5OjQyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0eHJheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFs0NDcvOTA2XSB4cmF5OiBwb3J0IHRvIHRoZSBuZXcgc2VwYXJhYmxlIHNvYmVsIGNvbnZvbHV0aW9uCgkgIFBvcnQgeHJheSBlZmZlY3QgdG8gdXNlIHRoZSBzYW1lIHNvYmVsIGNvbnZvbHV0aW9uIGp1c3QgdXNlZCBpbgoJICBnbGZpbHRlcnNvYmVsLiBOb3cgeHJheSB0b28gd29ya3Mgb24gaTkxNSAoYSBiaXQgc2xvdykuCgoyMDEwLTA0LTI5IDEwOjU3OjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQ0Ni85MDZdIGJsdXI6IGZvcmdvdCB0byBhZGQgYWxsIHRoZSBjaGFuZ2VzIGluIHByZXZpb3VzIGNvbW1pdAoKMjAxMC0wNC0yOSAwOToxNToyMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFs0NDUvOTA2XSBibHVyOiB1c2UgZHJhd190ZXh0dXJlIGZyb20gZ2xmaWx0ZXIKCjIwMTAtMDQtMjkgMDk6MDI6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0NDQvOTA2XSBsYXBsYWNpYW46IHByZWNhbGN1bGF0ZSBjb29yZGluYXRlcwoJICBQcmVjYWxjdWxhdGUgY29vcmRpbmF0ZXMgdG8gYXZvaWQgdW5uZWVkZWQgdGV4dHVyZSBpbmRpcmVjdGlvbnMuCgkgIE5vdyBsYXBsYWNpYW4gd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjkgMDg6Mjc6MjkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbNDQzLzkwNl0gc29iZWw6IG1vdmUgc29tZSBoaWdobHkgZHVwbGljYXRlZCBjb2RlIGludG8gZ2xmaWx0ZXIKCSAgQWRkIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uIGluIEdzdEdMRmlsdGVyIHRoYXQganVzdCBkcmF3cyBhbiBpbnB1dAoJICB0ZXh0dXJlIHRvIGEgdGFyZ2V0IHRleHR1cmUgdXNpbmcgYSBzaW1wbGUgc2hhZGVyIHdpdGgganVzdCBhICJ0ZXgiCgkgIHVuaWZvcm0gc2FtcGxlci4KCSAgTW92ZSBkcmF3X3RleHR1cmUgZnJvbSBnbGZpbHRlcnNvYmVsIHRvIGdsZmlsdGVyLiBTdGlsbCBuZWVkIHRvIHVwZGF0ZQoJICBvdGhlciBwbHVnaW5zIHRvIHRoaXMuCgoyMDEwLTA0LTI3IDIxOjU2OjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQ0Mi85MDZdIGJsdXI6IG9wdGltaXplIGNvb3JkaW5hdGVzIGNhbGN1bGF0aW9ucwoJICBTYXZlIDI4IGluc3RydWN0aW9ucyBvbiBpOTE1IChtYWlubHkgcmVkdW5kYW50IE1PVnMpIGFuZCBnYWluIGEgMjUlCgkgIChyb3VnaGx5IG1lYXN1cmVkIHdpdGggdmlkZW90ZXN0c3JjIGFuZCBnbGltYWdlc2luayBzeW5jPWZhbHNlKSBzcGVlZAoJICBidW1wCgoyMDEwLTA0LTI3IDE5OjM4OjMzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJICBbNDQxLzkwNl0gc29iZWw6IGNvbnZvbHZlIG9ubHkgbHVtYQoJICBSZXdvcmsgU29iZWwgYSBsaXR0bGUgYml0IGFnYWluIG1ha2luZyBpdCB3b3JrIGFzIHRoZSBvbGQgb25lOgoJICAxLiBkZXNhdHVyYXRlIGlucHV0IHRleHR1cmUKCSAgMi4gY2FsY3VsYXRlIGhvcml6b250YWwgY29udm9sdXRpb24gZm9yIHggZ3JhZGllbnQgYW5kIHZlcnRpY2FsCgkgIGNvbnZvbHV0aW9uIGZvciB5IGdyYWRpZW50IGF0IHRoZSBzYW1lIHRpbWUgKGhhbHZlcyB0aGUgbnVtYmVyIG9mCgkgIG5lZWRlZCB0ZXh0dXJlIGxvb2t1cHMpCgkgIDMuIHN0b3JlIHJlc3VsdHMgaW4gYSBzaW5nbGUgdGV4dHVyZSAocmVkIGFuZCBncmVlbiBjaGFubmVsKQoJICA0LiBjYWxjdWxhdGUgcmVtYWluaW5nIGNvbnZvbHV0aW9uIChzYW1lIGFzIGFib3ZlIHN3aXRjaGluZyB2ZXJ0aWNhbCBhbmQKCSAgaG9yaXpvbnRhbCkKCSAgNS4gY2FsY3VsYXRlIGxlbmd0aCBvZiBncmFkaWVudCB1c2luZyByZWQgYW5kIGdyZWVuIGFzIHggYW5kIHkKCSAgY29tcG9uZW50cy4KCSAgT3B0aW1pemUgd2hlcmV2ZXIgcG9zc2libGUsIHN0b3JlIGtlcm5lbHMgYXMgY29uc3RhbnRzIGluIHRoZSBzaGFkZXJzLAoJICByZW1vdmUgdW5uZWVkZWQgdW5pZm9ybXMuIFJlc3RvcmUgaW52ZXJ0IHByb3BlcnR5IGNhcmVmdWxseSBhdm9pZGluZwoJICB1c2luZyBJRi4KCSAgU3RpbGwgbm90IHN1cmUgaWYgImZ1bGwgY29sb3IiIGNvbnZvbHV0aW9uIHdpbGwgYmUgbmVlZGVkLCBnbGZpbHRlcnNvYmVsCgkgIGlzIHRvIGJlIGludGVuZGVkIGFzIGEgZGVtbyBmaWx0ZXIgYW5kIHhyYXksIHRoZSBvbmx5IGVmZmVjdCB3aGljaCB1c2VzCgkgIHNvYmVsIG9ubHkgbmVlZHMgZWRnZSBpbnRlbnNpdHkuIERyb3BwaW5nIGl0IGZvciBub3cuCgoyMDEwLTA0LTI3IDA5OjA4OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJICBbNDQwLzkwNl0gc29iZWw6IGltcGxlbWVudCBzb2JlbCBmaWx0ZXIgdXNpbmcgc2VwYXJhYmxlIGtlcm5lbHMKCSAgUmVpbXBsZW1lbnQgc29iZWwgaW4gYSBtdWx0aXBhc3MgZnVsbHkgc2VwYXJhdGVkIGNvbnZvbHV0aW9uOgoJICAtIGNhbGN1bGF0ZSB4IGdyYWRpZW50IG1hcCBjb252b2x2aW5nIGZpcnN0IGhvcml6b250YWxseSB3aXRoIGJsdXJyaW5nCgkgIGtlcm5lbCBhbmQgdGhlbiB2ZXJ0aWNhbGx5IHdpdGggZGlmZmVyZW50aWF0aW5nIGtlcm5lbAoJICAtIGNhbGN1bGF0ZSB5IGdyYWRpZW50IG1hcCBjb252b2x2aW5nIGZpcnN0IHZlcnRpY2FsbHkgd2l0aCBibHVycmluZwoJICBrZXJuZWwgYW5kIHRoZW4gaG9yaXpvbmFsbHkgd2l0aCBkaWZmZXJlbnRpYXRpbmcga2VybmVsCgkgIC0gY2FsY3VsYXRlIGxlbmd0aCBvZiB0aGUgZ3JhZGllbnQgdmVjdG9yCgkgIFBhcnRpY3VsYXIgY2FyZSB3YXMgbmVlZGVkIHdpdGggbm9ybWFsaXphdGlvbiBvZiB0aGUgYmx1cnJpbmcga2VybmVsIGFuZAoJICB3aXRoIGdyZXkgbGV2ZWwgb2Zmc2V0IG9mIHRoZSBkaWZmZXJlbnRpYXRpbmcgb25lIHRvIHByZXZlbnQgb3ZlcmZsb3cgb2YKCSAgcmdiIHZhbHVlcyBmcm9tIHRoZSBbMC4wLDEuMF0gcmFuZ2UgaW4gaW50ZXJtZWRpYXRlIHBhc3Nlcy4KCSAgTm93IHdvcmtzIG9uIGk5MTUuCgoyMDEwLTA0LTI2IDEzOjIwOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQzOS85MDZdIHNvYmVsOiBnZXQgcmlkIG9mICN2ZXJzaW9uIDEyMCBkZXBlbmRlbnQgYXJyYXkgY29uc3RydWN0b3JzCgoyMDEwLTA0LTI3IDExOjA3OjA0ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkgIFs0MzgvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogaW1wcm92ZSBiZWhhdmlvciBhbmQgYWRkIHNvbWUgcHJvcGVydGllcwoJICBGaXhlcyBidWcgIzYxMjE2MwoKMjAxMC0wNC0yNiAyMzo0ODoxNSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSAgWzQzNy85MDZdIGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuOiByZW1vdmUgdW51c2VkIGNvZGUgKGNvcGllZC9wYXN0ZWQgZnJvbSBnbGZpbHRlcmdsYXNzKQoKMjAxMC0wNC0yNiAyMzo0MjozOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbi5jOgoJICBbNDM2LzkwNl0gZ2xlZmZlY3Rzc291cmNlczogZml4IHNvbWUgd2FybmluZ3MgZnJvbSBtc3ZjOQoKMjAxMC0wNC0yNiAyMzozODo1OSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzQzNS85MDZdIEdOVVN0ZXAgYnVpbGQ6IGFkZCBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbiBzb3VyY2VzCgoyMDEwLTA0LTI2IDE0OjQxOjE3ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVycmVmbGVjdGVkc2NyZWVuLmg6CgkgIFs0MzQvOTA2XSBnbGZpbHRlcnJlZmxlY3RlZHNjcmVlbjogZm9yZ290IHRvIGFkZCBzb3VyY2VzCgoyMDEwLTA0LTI2IDE0OjMyOjI4ICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDMzLzkwNl0gZ2xmaWx0ZXJyZWZsZWN0ZWRzY3JlZW46IGFkZCBuZXcgT3BlbkdMIFJlZmxlY3RlZCBTY3JlZW4gZmlsdGVyCgkgIEZpeGVzIGJ1ZyAjNjEyMTYzCgoyMDEwLTA0LTI2IDE0OjExOjI4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzQzMi85MDZdIEdzdEdMRGlzcGxheTogdGhpcyBpcyBHTF9ERVBUSDI0X1NURU5DSUw4X0VYVCwgbm90IEdMX0RFUFRIMjRfU1RFTkNJTDhfRVhUCgoyMDEwLTA0LTI2IDEzOjU3OjAwICswMjAwICBQaWVycmUgUG91em9sIDxwaWVycmUucG91em9sQGhvdG1haWwuZnI+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MzEvOTA2XSBHc3RHTERpc3BsYXk6IGVuYWJsZSBzdGVuY2lsIGJ1ZmZlciB3aGVuIHVzaW5nIGZyYW1lYnVmZmVyIG9iamVjdHMuCgkgIEZpeGVzIEJ1ZyAjNjEyMTU5CgoyMDEwLTA0LTI2IDEyOjQ1OjU3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQzMC85MDZdIGNvbnZvbHV0aW9uOiBzYXZlIHNvbWUgaW5kaXJlY3Rpb24gZ3JvdXBpbmcgbWF0aCBhbmQgc2FtcGxpbmcKCSAgVGhhbmtzIHRvIEVyaWMgQW5ob2x0IEkndmUgZmluYWxseSB1bmRlcnN0b29kIChhdCBsZWFzdCBJIGhvcGUpIGhvdyB0bwoJICBjb3VudCB0ZXh0dXJlIGluZGlyZWN0aW9ucyBhbmQgc2F2ZSB1cCBzb21lLiAgVGV4dHVyZSBzYW1wbGluZyBkZXBlbmRlbnQKCSAgb24gdGhlIHJlc3VsdCBvZiBzb21lIG1hdGggY291bnRzIGFzIGFuIGluZGlyZWN0aW9uIHBoYXNlLiBHcm91cGVkCgkgIHRleHR1cmUgbG9va3VwcyB3aXRoIG5vIG1hdGggaW52b2x2ZWQgY291bnQgYXMgYSBzaW5nbGUgaW5kaXJlY3Rpb24uCgkgIE1hdGggb24gdGhlIGNvb3JkaW5hdGVzIGNvdW50IGFzIGluZGlyZWN0aW9uLgoJICBTbyB0aGUgYmVzdCB0aGluZyBpcyB0byBncm91cCBhbGwgdGhlIG1hdGggaW52b2x2aW5nIGNvb3JkaW5hdGVzIGFuZAoJICB0aGVuIGRvIGFsbCB0aGUgbG9va3Vwcy4KCSAgVGhpcyBzYXZlcyBlbm91Z2ggaW5kaXJlY3Rpb25zIHRvIG1ha2UgZ2xmaWx0ZXJibHVyIGFuZCBnbG93IGVmZmVjdAoJICB3b3JrLCBhbGJlaXQgYSBiaXQgc2xvd2x5LCBvbiBpOTE1LgoKMjAxMC0wNC0yNSAxMDo1NTo0MyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzQyOS85MDZdIGxhcGxhY2lhbjogcmVtb3ZlIHVudXNlZCBub3JtX2NvbnN0IGFuZCBub3JtX29mZnNldCB1bmlmb3JtcwoJICBSZW1vdmUgdW51c2VkIHVuaWZvcm1zIGZyb20gdGhlIGxhcGxhY2lhbiBmaWx0ZXIuIEFsc28gcmVtb3ZlIGlmCgkgIGtlcm5lbFtpXSAhPSAwIGNoZWNrcyBzbyB0aGF0IGl0IGNvbXBpbGVzIHdoZXJlIElGIGlzIG5vdCBhdmFpbGFibGUuCgkgIEFnYWluLCBiaWcgdGhhbmtzIHRvIEVyaWMgQW5ob2x0IGZvciB0aGUgaGludHMuCgoyMDEwLTA0LTEzIDE2OjIwOjAyIC0wNzAwICBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkgIFs0MjgvOTA2XSBsYXBsYWNpYW46IEF2b2lkIHVzaW5nIEdMU0wgMS4yMCBmZWF0dXJlcyBpbiBhIG5vbi0jdmVyc2lvbmVkIHNoYWRlci4KCSAgRml4ZXMgY29tcGlsZSBvbiBNZXNhLgoKMjAxMC0wNC0yNSAxMDozMTowMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjcvOTA2XSByZ2JfdG9fY3VydmU6IHNhdmUgdXAgYSB0ZXh0dXJlIGluZGlyZWN0aW9uCgkgIEFwcGFyZW50bHkgYXNzaWduaW5nIGdsX1RleENvb3JkIHRvIGEgdGVtcCBjb3VudCBhcyBhbiBpbmRpcmVjdGlvbi4KCSAgVXNpbmcgaXQgZGlyZWN0bHkgYXZvaWRzIGl0IGFuZCBsaW1pdHMgaW5kaXJlY3Rpb25zIHRvIGZvdXIgbm90CgkgIGV4Y2VlZGluZyBpOTE1IGxpbWl0LiBOb3cgeHBybyBlZmZlY3Qgd29ya3Mgb24gaTkxNS4KCjIwMTAtMDQtMjUgMTA6MDQ6MjggKzAyMDAgIFZpbnNvbiBMZWUgPHZsZWVAdm13YXJlLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNi85MDZdIG11bHRpcGx5OiBmaXggYSBjb21waWxhdGlvbiBlcnJvciB3aXRoIEFwcGxlIGNvbXBpbGVyCgkgIEZpeCBtdWx0aXBseV9mcmFnbWVudF9zb3VyY2UgdG8gY29tcGlsZSB3aXRoIEFwcGxlIEdMU0wgY29tcGlsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY3NDgKCjIwMTAtMDQtMjQgMjE6MTE6MzUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbNDI1LzkwNl0gdHdpcmw6IGdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgY29udmVyc2lvbgoJICBHZXQgcmlkIG9mIHBvbGFyIGNvb3JkaW5hdGVzIGluIHRoZSB0d2lybCBlZmZlY3QuIFRoZSBzYW1lIGNhbiBiZSBkb25lCgkgIHVzaW5nIGEgcm90YXRpb24gbWF0cml4LCBzYXZpbmcgYWx1IGluc3RydWN0aW9ucyBhbmQsIG1vc3Qgb2YgYWxsLAoJICBhdm9pZGluZyB0aGUgdXNlIG9mIHRoZSBldmlsIGF0YW4oKSBmdW5jdGlvbiAod2hpY2ggdXNlcyBJRiBvcGVyYXRvcnMpLgoJICBDYWxjdWxhdGUgcm90YXRpb24gYW5nbGUgaW4gYSBzYW5lciwgdW5kZXJzdGFuZGFibGUgd2F5LgoJICBXb3JrcyBvbiBpOTE1ISAoSG9wZSBpdCBzdGlsbCB3b3JrcyBlbHNld2hlcmUgdG9vIGFzIEknbSBub3QgYWJsZSB0bwoJICB0ZXN0IGF0IHRoZSBtb21lbnQpCgoyMDEwLTA0LTI0IDIwOjQzOjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyNC85MDZdIHR1bm5lbDogZ2V0IHJpZCBvZiBwb2xhciBjb29yZGluYXRlcyBjb252ZXJzaW9uCgkgIEdldCByaWQgb2YgcG9sYXIgY29vcmRpbmF0ZXMgaW4gdGhlIHR1bm5lbCBlZmZlY3QgYXMgdGhlIHNhbWUgY2FuIGVhc2lseQoJICBiZSBkb25lIGp1c3QgY2xhbXBpbmcgdGhlIHJhZGl1cyBhbmQgbXVsdGlwbHlpbmcuCgkgIFJlbW92ZSB0aGUgZXZpbCBhdGFuKCkgY2FsbCB0aGF0IHVzZXMgYnJhbmNoaW5nIGFuZCBhIGxvdCBvZiB1bm5lZWRlZCBhbHUKCSAgaW5zdHJ1Y3Rpb25zLiBOb3cgd29ya3Mgb24gaTkxNSEKCjIwMTAtMDQtMjMgMjA6MDY6NDggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSAgWzQyMy85MDZdIGNvbnZvbHV0aW9uOiBnZW5lcmF0ZSBnYXVzc2lhbiBrZXJuZWwgb24gdGhlIGZseQoJICBHZW5lcmF0ZSBhIG5vcm1hbGl6ZWQgZ2F1c3NpYW4ga2VybmVsIHdpdGggZ2l2ZW4gc2l6ZSBhbmQgc3RhbmRhcmQKCSAgZGV2aWF0aW9uIG9uIHRoZSBmbHkuCgkgIFJlbW92ZSAibm9ybV9jb25zdCIgdW5pZm9ybSBmcm9tIGNvbnZvbHV0aW9uIHNoYWRlcnMgYW5kIHByb3ZpZGUgYQoJICBub3JtYWxpemVkIGtlcm5lbCBpbnN0ZWFkLiBSZW1vdmUgbm9ybV9vZmZzZXQgdW5pZm9ybSBhcyBpdCB3YXMgYWx3YXlzCgkgIHplcm8sIHdpbGwgcmVpbnRyb2R1Y2UgaXQgaWYgcmVhbGx5IG5lZWRlZCBpbiB0aGUgZnV0dXJlLiBUaGFua3MgdG8gRXJpYwoJICBBbmhvbHQgZm9yIHN1Z2dlc3RpbmcgaXQuCgkgIFNhdmUgc29tZSBBTFUgaW5zdHJ1Y3Rpb24gY2FsY3VsYXRpbmcgZGlyZWN0bHkgdGhlIGNvb3JkaW5hdGUgZm9yCgkgIHRleHR1cmUgbG9va3VwIGluc3RlYWQgb2Ygc3VtbWluZyBhbiBvZmZzZXQuCgkgIFN0aWxsIGV4Y2VlZCBtYXhpbXVtIGluZGlyZWN0IHRleHR1cmUgbG9va3VwcyBvbiBpOTE1LCB0aGUgb25seSBzb2x1dGlvbgoJICBJIHNlZSBpcyB1c2luZyBhIDN4MyBrZXJuZWwuCgoyMDEwLTA0LTIzIDE3OjQ5OjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQyMi85MDZdIGNvbnZvbHV0aW9uOiByZWR1Y2UgdGhlIG51bWJlciBvZiByZWdpc3RlciB1c2VkCgkgIFJlZHVjZSB0aGUgbnVtYmVyIG9mIHJlZ2lzdGVyIGNhbGN1bGF0aW5nIHRleHR1cmUgbG9va3VwIG9mZnNldCBvbiB0aGUKCSAgZmx5LiBJdCB3YXMganVzdCBhIHNpbXBsZSBzZXF1ZW5jZSwgbm8gbmVlZCB0byBzdG9yZSBpdCBpbiBhIGFycmF5LgoJICBGaXhlcyBtYXhpbXVtIG51bWJlciBvZiByZWdpc3RlcnMgZXhjZWVkZWQgZXJyb3Igd2l0aCBpOTE1LiBTdGlsbAoJICBleGNlZWQgbWF4aW11bSBpbmRpcmVjdCB0ZXh0dXJlIGxvb2t1cHMgYW5kIG1heGltdW0gQUxVIGluc3RydWN0aW9ucy4KCSAgTWF5YmUgd2Ugc2hvdWxkIGdhdmUgdXAgc29tZSBibHVyIGdvb2RuZXNzIGFuZCB1c2UgbGlnaHRseSBtb3JlIGxpdHRsZQoJICBrZXJuZWxzLgoKMjAxMC0wNC0yMyAxNzozNzoyMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFs0MjEvOTA2XSBjb252b2x1dGlvbjogZG9uJ3QgY2hlY2sga2VybmVsW2ldIHRvIGJlIG5vbiB6ZXJvCgkgIEFwcGFyZW50bHkgc2F2aW5nIHVwIHNvbWUgdGV4dHVyZSBsb29rdXAgZm9yIHplcm8ga2VybmVsIGVsZW1lbnRzIGlzCgkgIGRlZmluaXRlbHkgbm90IHdvcnRoIHRoZSB1c2Ugb2YgYnJhbmNoaW5nLiBUaGlzIHdheSBjb252b2x1dGlvbgoJICBmcmFnbWVudCBwcm9ncmFtcyBhbHNvIHdvcmsgd2hlcmUgSUYgb3BlcmF0b3IgaXMgbm90IHN1cHBvcnRlZCAodGVzdGVkCgkgIG9uIGk5MTUgYW5kIG5vdXZlYXUpLiBTZWUgYWxzbyBkaXNjdXNzaW9uIG9uIGJ1ZyAjNjE1Njk2LgoJICBUaGFua3MgdG8gRXJpYyBBbmhvbHQgZm9yIHNwb3R0aW5nIHRoaXMuCgoyMDEwLTA0LTIzIDE3OjMwOjQ1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzQyMC85MDZdIGJsdXI6IHVzZSBjb21tb24gc2hhZGVyIHNvdXJjZXMKCSAgUG9ydCBibHVyIGZpbHRlciB0byB1c2UgdGhlIGNvbW1vbiBjb252b2x1dGlvbiBzaGFkZXJzIGluCgkgIGdzdGdsZWZmZWN0c3NvdXJjZXMuYy4gVGhpcyByZWR1Y2VzIGNvZGUgZHVwbGljYXRpb24gYW5kLCBpbmNpZGVudGFsbHksCgkgIHRoZSBzaGFkZXJzIGluIHRoZSBjb21tb24gZmlsZSB3ZXJlIGFscmVhZHkgdXBkYXRlZCB0byBub3QgdXNlIGFycmF5CgkgIGNvbnN0cnVjdG9yIGFuZCB0byBub3QgZGVwZW5kIG9uICN2ZXJzaW9uIDEyMC4KCSAgRmlyc3Qgc3RlcCB0b3dhcmRzIGJ1ZyAjNjE1Njk2IGZpeGluZy4KCjIwMTAtMDQtMjMgMTc6MTk6NTAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbNDE5LzkwNl0gYmx1cjogcmVtb3ZlIGhvcml6b250YWwgZmxpcAoJICBBcHBhcmVudGx5IHRoZXJlIHdhcyBzb21lIHN0YWxlIGhvcml6b250YWwgZmxpcCBmdW5jdGlvbiBzdGlsbCB0aGVyZQoJICBmcm9tIG15IHN1bW1lciBvZiBjb2RlIGV4cGVyaW1lbnRzLiBSZW1vdmUgaXQuCgoyMDEwLTA0LTIzIDE3OjE0OjU5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzQxOC85MDZdIGVmZmVjdHM6IGRpc2FibGUgZ3N0LWluZGVudCBpbiB0aGUgc291cmNlcwoJICBGaXggc29tZSBjcmF6eSBmb3JtYXR0aW5nIGNhdXNlZCBieSBnc3QtaW5kZW50IHByZXZpb3VzIHJ1bnMgYW5kIGRpc2FibGUKCSAgdGhlIHNjcmlwdCBmb3IgdGhpcyBmaWxlLiBUaGUgYmVzdCB3b3VsZCBiZSB0byBtb3ZlIHNoYWRlcnMgaW50bwoJICBzZXBhcmF0ZSBmaWxlcyBhbmQgbG9hZCB0aGVtIGF0IHJ1bnRpbWUgb3IgaGFyZGNvZGUgdGhlbSBhdCBjb21waWxlCgkgIHRpbWUuCgoyMDEwLTAzLTMxIDEyOjQwOjEyICswMjAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbNDE3LzkwNl0gZ2xidW1wZXI6IFVzZSBwbmdfc2lnX2NtcCgpIGluc3RlYWQgb2YgcG5nX2NoZWNrX3NpZygpCgkgIEZpeGVzIGJ1ZyAjNjEzMTg2CgoyMDEwLTAzLTI0IDExOjEwOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZ2xhc3MuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcnNvYmVsLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbNDE2LzkwNl0gZ2w6IHVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKQoJICBGaXhlcyAjNjEzMzcxLgoKMjAxMC0wMy0wOSAwMTozNTo0MiArMDEwMCAgTmljaG9sYXMgUGFuYXlpcyA8bmlja0Btb3ZlbmN5LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbNDE1LzkwNl0gZ3N0Z2x3aW5kb3dfd2luMzI6IHNoYXJlIG9wZW5nbCBjb250ZXh0IGluIGNvcnJlY3Qgb3JkZXIKCSAgQWxsb3cgdG8gdXNlIHRoZSBvcGVuZ2wgY29udGV4dCBzaGFyaW5nIGZlYXR1cmUgaWYgdGhlIG9yaWdpbmFsCgkgIGNvbnRleHQgaGFzIGJlZW4gdXNlZCBhbHJlYWR5LgoJICBUaGlzIGlzIG9ubHkgcG9zc2libGUgb24gd2luMzIgd2l0aCB3Z2xTaGFyZUxpc3RzIGJlY2F1c2Ugb24gb3RoZXIKCSAgYmFja2VuZHMsIHRoZSBzaGFyaW5nIGlzIG1hZGUgd2hlbiBhIGNvbnRleHQgaXMgY3JlYXRlZC4KCSAgVGhpcyBuZXcgZmVhdHVyZSBpcyBvbmx5IHVzZWZ1bGwgd2hlbiB1c2luZyBleHRlcm5hbCBjb250ZXh0CgkgIGJlY2F1c2UgZ3N0LWdsIGludGVybmFsbHkgbWFrZXMgc3VyZSB0aGF0IHRoZSBvcmdpbmFsIGNvbnRleHQgaXMgbm90CgkgIGFscmVhZHkgdXNlZCB3aGVuIHNoYXJpbmcgaXQuCgkgIEZpeCBidWcgIzYxMTA2NwoKMjAxMC0wMy0wOSAwMToyNDowNiArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQxNC85MDZdIGdsYnVtcGVyL2dsZGlmZmVyZW5jZW1hdHRlL2dsb3ZlcmxheTogbGlicG5nIDEuNC54IGNvbXBhdGlibGUKCSAgRml4IGJ1ZyAjNjA4NjQzCgoyMDEwLTAxLTEyIDE4OjMyOjM5ICswMzAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbNDEzLzkwNl0gRml4IFdpbmRvd3MgY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0L2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jCgoyMDEwLTAxLTA2IDAwOjEzOjQ2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlLmdudXN0ZXA6CgkgIFs0MTIvOTA2XSBDb2NvYSBiYWNrZW5kOiBpbXByb3ZlIHN1cHBvcnQgb24gR05VU3RlcAoKMjAwOS0xMi0xOCAwMDozNDoxMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDExLzkwNl0gZ3N0Z2xtaXhlcjogY29weS9wYXN0IHJlY2VudCBjaGFuZ2VzIGZyb20gZ3N0dmlkZW9taXhlcgoKMjAwOS0xMi0xNiAwMTozMzozOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDEwLzkwNl0gZ3N0Z2xtaXhlcjogaW5hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dCBiZWZvcmUgdG8gcmVsZWFzZSBvdXJzCgkgIEZpcnN0LCBpbmFjdGl2YXRlIHNoYXJlZCBnbCBjb250ZXh0cyBrbm93biBieSBlYWNoIHNpbmsgcGFkLgoJICBUaGVuLCBkZXN0cm95IHRoZSBnbCBjb250ZXh0IGtub3duIGJ5IHRoZSBnbG1peGVyLgoJICBGaW5hbGx5LCByZS1hY3RpdmF0ZSBzaGFyZWQgZ2wgY29udGV4dHMuCgkgIFRoaXMgaXMgdG8gc2F0aXNmeSB0aGUgZmFjdCB0aGF0IG5vIHNoYXJlZCBnbCBjb250ZXh0IG11c3QgYmUgY3VycmVudAoJICB3aGVuIGFuIG9wZW5nbCBjb250ZXh0IGlzIGRlc3Ryb3llZC4KCSAgTW9yZW92ZXIgdGhlIGFwcGxpY2F0aW9uIG1heSBoYW5nIG9yIGNyYXNoIHdpdGhvdXQgdGhvc2Ugc3RlcHMuCgoyMDA5LTExLTI1IDEwOjI0OjM3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzQwOS85MDZdIGdsZWZmZWN0czogaW5kZW50IGFuZCBmaXggc29tZSB3YXJuaW5ncyBpbiBFUyAyLjAgbW9kZQoKMjAwOS0xMS0yMSAyMTo0MDoxNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbNDA4LzkwNl0gZ2xlZmZlY3RzOiBzdGFydCB0byBtYWtlIGl0IGNvbXBhdGlibGUgd2l0aCBPcGVuR0wgRVMgMi4wCgkgIEZvciBub3cgb25seSBpZGVudGl0eSwgbWlycm9yIGFuZCBzcXVlZXplIGVmZmVjdHMgYXJlIGF2YWlsYWJsZS4KCSAgTWF5YmUgc29tZSBmYWN0b3JpemF0aW9uIGlzIG5lZWRlZCBhYm91dCBjb21waWxhdGlvbiBzaGFkZXIKCSAgYmVmb3JlIHRvIHB1dCB0aGUgb3RoZXIgZWZmZWN0cyBzaW5jZSBvbmx5IGEgY29weS9wYXN0IGlzIG5lZWRlZCwKCSAgYXQgbGVhc3QgdW50aWwgZWZmZWN0IG51bWJlciA5OiBoZWF0LgoJICBUaGUgZWZmZWN0cyBmcm9tIDEwOnNlcGlhIHRvIDE1Omdsb3cgcmVxdWlyZSBtb3JlIHdvcmsuCgoyMDA5LTExLTIxIDEzOjMyOjU5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJICBbNDA3LzkwNl0gd2luQ0UgYmFja2VuZDogZml4IGJ1aWxkCgoyMDA5LTExLTIxIDEzOjIxOjU0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzQwNi85MDZdIGdsaW1hZ2VzaW5rOiBhZGQgYSBjbGllbnQtZGF0YSBwcm9wZXJ0eQoJICBBbHNvIGFkZCBpdCB0byBnbGZpbHRlcmFwcC4KCSAgRml4ZXMgIzU1OTEzMQoKMjAwOS0xMS0xNyAyMzo0NzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbNDA1LzkwNl0gZ2xmaWx0ZXI6IGFkZCBleHRlcm5hbC1vcGVuZ2wtY29udGV4dCBwcm9wZXJ0eQoJICBJdCByZXBhaXJzIHRoZSBjbHV0dGVyc2hhcmUgYW5kIHNkbHNoYXJlIGV4YW1wbGUKCjIwMDktMTEtMTcgMjI6NTQ6MzkgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFs0MDQvOTA2XSBnbHVwbG9hZDogcmVwYWlyIGV4dGVybmFsX29wZW5nbF9jb250ZXh0IHByb3BlcnR5CgkgIHFnbHd0ZXh0dXJlc2hhcmUgbm93IHdvcmtzIGFnYWluLiBJbiB0aGlzIGV4YW1wbGUsCgkgIHRoZSBwaXBlbGluZSBpcyBzcmMgISBnbHVwbG9hZCAhIGZha2VzaW5rLgoJICBTbyBpbiB0aGlzIGNhc2UgdGhlIGdsdXBsb2FkIGVsZW1lbnQgaXMgYSBzaW5rIGluCgkgIHRlcm1zIG9mIGdsIGNoYWluLgoJICBCdXQgdGhlIHByb2JsZW0gaXMgc3RpbGwgdGhlcmUgaWYgdGhlIHBpcGVsaW5lIGlzCgkgIHNyYyAhIGdsdXBsb2FkICEgZ2xmaWx0ZXIgISBmYWtlc2luawoJICAoaXQncyB0aGUgY2FzZSBpbiBzZGxzaGFyZSBhbmQgY2x1dHRlcnNoYXJlIGV4YW1wbGVzKQoJICBiZWNhdXNlIHNpbmNlIHJlY2VudCBjaGFuZ2VzIGFib3V0IGhvdyB0aGUgZ3N0Z2xkaXNwbGF5CgkgIGlzIHRyYW5zbWl0dGVkIHRvIHRoZSBnbCBlbGVtZW50LCB0aGUgY29udGV4dCBpcyB1c3VhbGx5CgkgIGNyZWF0ZWQgYnkgdGhlIHNpbmsgaW4gdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEEgc29sdXRpb24gd291bGQgYmUgdG8gYWxzbyBpbnN0YWxsIHRoaXMgcHJvcGVydHkgb24gZ2xmaWx0ZXIuCgoyMDA5LTExLTE3IDAyOjE2OjAxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xtaXhlci5jOgoJICBbNDAzLzkwNl0gZ3N0Z2xtaXhlcjogSW5pdGlhbGlzZSB0aGUgZGVidWcgY2F0ZWdvcnkKCSAgSW5pdGlhbGlzZSB0aGUgZ3N0Z2xtaXhlciBkZWJ1ZyBjYXRlZ29yeSBiZWZvcmUgdXNpbmcgaXQuCgoyMDA5LTExLTE3IDAxOjA4OjA5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzQwMi85MDZdIGdsb3ZlcmxheTogZml4IHNvbWUgd2FybmluZ3MKCjIwMDktMTEtMTYgMTQ6MzI6MTYgKzAxMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbNDAxLzkwNl0gZ2xvdmVybGF5OiBBZGRlZCByb3RhdGUgdGV4dHVyZQoJICBmaXggIzYwMTI3NwoKMjAwOS0xMS0wNSAxNDo1MzozNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFs0MDAvOTA2XSBnc3RnbGRpc3BsYXk6IG5vIG5lZWQgdGhlIEk0MjAgd29yayBhcm91bmQgaWYgQVRJIE1vYmlsaXR5CgkgIGZpeCAjNTg4NjUzCgoyMDA5LTExLTA0IDIzOjQ0OjQ2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkgIFszOTkvOTA2XSBnbG1peGVyOiBmaXggd2hlbiBubyBtb3JlIGdsIGVsZW1lbnRzIGFmdGVyIGl0CgkgIEZvciBleGFtcGxlOgoJICB2aWRlb3Rlc3RzcmMgISBnbHVwbG9hZCAhIC4uLiAhIGdsZml0ZXIgISAuLi4gISBnbG1vc2FpYyAhIGZha2VzaW5rCgkgIFVzZWZ1bGwgd2hlbiB1c2luZyBnbG1peGVyIGluc2lkZSBjbHV0dGVyc2hhcmUgb3Igc2Rsc2hhcmUgY2FzZXMuCgoyMDA5LTExLTA0IDIzOjEyOjQyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFszOTgvOTA2XSBnbGRvd25sb2FkOiBkbyBub3QgZm9yZ290IHRvIGNyZWF0ZSB0aGUgZ2wgY29udGV4dAoJICBmaXggIzYwMDYzMAoKMjAwOS0xMS0wNCAyMzoxMTo1NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzM5Ny85MDZdIGdsbW9zYWljOiBmaXggYSBjb21wYXJpc29uIHdhcm5pbmcKCjIwMDktMTEtMDQgMjM6MTA6MTYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFszOTYvOTA2XSBnbGRpZmZlcmVuY2VtYXR0ZTogZml4IHNvbWUgd2FybmluZ3MgZnJvbSB2YzkKCjIwMDktMTAtMjggMTA6NDE6NTMgKzAxMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkgIFszOTUvOTA2XSBkaWZmZXJlbmNlbWF0dGU6IGZpeCByZWdyZXNzaW9ucyBmcm9tIGdka3BpeGJ1ZiB0byBsaWJwbmcgbWlncmF0aW9uCgkgIFRoZSBiYWNrZ3JvdW5kIGltYWdlIG5lZWRzIHRvIGJlIHNjYWxlZCB0byBmaXQgY3VycmVudCB0ZXh0dXJlIHNpemUuCgkgIFByZXZpb3VzbHkgdGhpcyB3YXMgZG9uZSBieSBnZGtfcGl4YnVmX3NjYWxlX3NpbXBsZSBidXQgdGhhdCdzIGJlZW4KCSAgcmVtb3ZlZC4KCSAgQ3JlYXRlIGEgdGV4dHVyZSBmcm9tIHRoZSBiYWNrZ3JvdW5kIHBpeGJ1ZiB3aXRoIGNvcnJlY3QgZGltZW5zaW9ucyBhbmQKCSAgdXNlIGludGVycG9sYXRpb24gc2hhZGVyIHRvIHNjYWxlIGl0IHRvIHRoZSByaWdodCBzaXplLiBJbnRlcnBvbGF0aW9uCgkgIGZyYWdtZW50IHNoYWRlciBkb2Vzbid0IGhhdmUgdG9vIG11Y2ggc2Vuc2UgaWYgYWxsIHRoZSB0ZXh0dXJlcyBkb24ndAoJICBoYXZlIHRoZSBzYW1lIHNpemUgc28gdGhpcyBzZWVtZWQgdGhlIG1vc3QgbmF0dXJhbCBwbGFjZSB0byBkbyB0aGUKCSAgc2NhbGluZy4gSXQgY291bGQgcHJvYmFibHkgYmUgZG9uZSB3aXRoIHNvbWUgY3VzdG9tIHRleHR1cmUgbWFwcGluZwoJICBvdXRzaWRlIHRoZSBzaGFkZXIgYnV0IGl0IGludm9sdmVkIG1vcmUgY29kZS4KCSAgRml4ZXMgYnVnICM1OTk4ODMuCgoyMDA5LTEwLTI3IDE3OjAyOjIzICswMTAwICBQcmF0aGVlc2ggR2FuZ2FkaGFyIDxwcmF0aGVlc2guZ2FuZ2FkaGFyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzM5NC85MDZdIGdzdGdsZGlzcGxheTogdXNlIG9mIEdMX0RFUFRIX0NPTVBPTkVOVDE2IGlmIE9wZW5HTCBFUyAyLjAKCSAgZ2xSZW5kZXJidWZmZXJTdG9yYWdlIGRvZXMgbm90IGFjY2VwdCBHTF9ERVBUSF9DT01QT05FTlQgaW4KCSAgT3BlbkdMIEVTIDIuMC4KCSAgRml4IGJ1ZyAjNTkzNzg2CgoyMDA5LTEwLTI3IDE1OjI3OjE0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmg6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSAgWzM5My85MDZdIGdsbW9zYWljOiBmb3Igbm93IGl0J3MgYSBjdWJlIG1vc2FpYwoJICBBbHNvIHVzZSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkgaW4gZ2xtaXhlci4KCSAgQW5kIGFkZCBhIHBpcGVsaW5lIHRvIHRlc3RzL3BpZXBsaW5lcwoKMjAwOS0xMC0yNyAxMToxNDozOCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuYzoKCSAgWzM5Mi85MDZdIGdsbW9zYWljOiBkZXNhY3RpdmF0ZSBzaGFkZXIgd2hlbiBkb25lCgoyMDA5LTEwLTI2IDExOjQ0OjM1ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzkxLzkwNl0gQ29jb2E6IGZpeCBiYWNrZW5kIHNpbmNlIHJlY2VudCBjaGFuZ2VzCgkgIEJlZm9yZSwgdGhlIHdpbmRvdyBzaXplIHdhcyBnaXZlbiBhdCBpdHMgY3JlYXRpb24uIE5vdywgaXQncyBkb25lIGF0CgkgIHRoZSBkcmF3aW5nIHN0ZXAgYmVjYXVzZSBpdCdzIG9ubHkgcmVsZXZhbnQgd2hlbiB0aGVyZSBpcyBhIGdsaW1hZ2VzaW5rCgkgIGVsZW1lbnQgaW4gdGhlIHBpcGVsaW5lLgoKMjAwOS0xMC0yMyAyMDo1MzozMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszOTAvOTA2XSByZW1vdmUgd2FybmluZ3MgZnJvbSB2czkKCjIwMDktMTAtMjMgMjA6NTI6MzIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFszODkvOTA2XSBmaXggY29kZWJsb2NrcyBidWlsZCBvbiB3aW4zMgoKMjAwOS0xMC0yMyAxMDo1MjozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbG1peGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbMzg4LzkwNl0ganVzdCBmaXggYnVpbGRzIGFuZCBpbmRlbnQKCjIwMDktMTAtMjMgMDE6MTE6MjcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsbWl4ZXJwYWQuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbG1vc2FpYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xtb3NhaWMuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMzg3LzkwNl0gZ2xtaXhlcjogYWRkIGEgZ2xtaXhlciBiYXNlIGVsZW1lbnQKCSAgZ2xtaXhlciBjYW4gYmUgc2VlbiBhcyBhIGdsZmlsdGVyIGV4Y2VwdCBpdCBoYW5kbGVzIE4gcmVxdWVzdGVkCgkgIHNpbmsgcGFkcy4KCSAgRWFjaCBzaW5rIHBhZCBhbmQgdGhlIHNyYyBwYWQgYXJlIHZpZGVvL3gtcmF3LWdsLgoJICBnbG1peGVyIGlzIHJlc3BvbnNpYmxlIGZvciBtYW5hZ2luZyBkaWZmZXJlbnQgZnJhbWVyYXRlcyBmcm9tIGlucHV0cy4KCSAgSXQgdXNlcyBPcGVuR0wgY29udGV4dCBzaGFyaW5nLiBJdCBtZWFucyB0aGF0IGVhY2ggaW5wdXQgaXMgaW4gaXRzCgkgIG93biBPcGVuR0wgY29udGV4dCBzaGFyZWQgdG9nZXRoZXIgYW5kIHNoYXJlZCB3aXRoIHRoZSBPcGVuR0wgY29udGV4dAoJICBvZiB0aGUgb3VwdXQgZ2wgY2hhaW4uCgkgIEFsc28gYWRkIGEgZ2xtb3NhaWMgd2hpY2ggaXMgYW4gZXhhbXBsZSBvZiBpbXBsZW1lbnRhdGlvbiBvZiBnbG1peGVyLgoJICBGb3Igbm93IGdsbW9zYWljIGlzIGEgY3ViZSBidXQgaXQgd2lsbCBiZSBmaXhlZCBpbiB0aGUgbmV4dCBjb21taXRzLgoJICBGb3Igbm93IHRoZSBnbG1peGVyIGhhcyBzb21lIHdlaXJkIGJlaGF2aW91cnMgaW4gc29tZSBjb25maWd1cmF0aW9ucwoJICBidXQgaXQgd2lsbCBiZSBpbXByb3ZlZCBpbiB0aGUgbmV4dCBjb21taXRzLgoJICBUaGUgYXV0b3Rvb2xzIGJ1aWxkcyBpcyB0ZW1wb3Jhcmx5IGJyb2tlbiBzaW5jZSB0aG9zZSBjaGFuZ2VzCgkgIGhhdmUgYmVlbiBtYWRlIG9uIHdpbjMyLgoKMjAwOS0xMC0yMyAwMTowNzoyOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzM4Ni85MDZdIHBpeGJ1ZmRyb3A6IGZpeCBleGFtcGxlIG9uIHdpbjMyCgoyMDA5LTEwLTA0IDAyOjIzOjQ1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzM4NS85MDZdIHJld3JpdGUgdGhlIHdheSBhIGdzdGdsZGlzcGxheSBpcyB0cmFuc21pdGVkIHRvIHRoZSBnbCBlbGVtZW50cwoJICBCZWZvcmUsIGEgZ3N0Z2xkaXNwbGF5IHdhcyBpbnN0YW5jaWVkIGJ5IHRoZSBnbCBzcmMgaW4gdGVybXMgb2YgZ2wgY2hhaW4uCgkgIEFuZCB0aGVuIHRoZSBuZXh0IGVsZW1lbnQgZ290IGl0IHRocm91Z2ggdGhlIGZpcnN0IGdzdGdsYnVmZmVyLgoJICBOb3csIHRoaXMgaXMgZG9uZSB0aG91Z2ggcXVlcmllcy4KCSAgQWxsIGdsZWxlbWVudHMgZ2V0IHRoZWlyIHJlZiBvbiBhIGdzdGdsZGlzcGxheSBpbiBSRUFEWSBzdGF0ZS4KCSAgVGhpcyByZXdyaXRlIGlzIG1haW5seSBhIGZpcnN0IHN0ZXAgdG8gYmUgYWJsZSB0byBzaGFyZSBPcGVuR0wgY29udGV4dCBob2xkCgkgIGJ5IHRoZSBnc3RnbGRpc3BsYXkgdXNpbmcgbW9yZSBjb21wbGV4IGdsZWxlbWVudHMuCgkgIEZvciBleGFtcGxlLCB3aXRoIGEgZ2x2aWRlb21peGVyLiBUaGUgYXNzb2NpYXRlZCBnc3RnbGRpc3BsYXkgb2YgZWFjaCBnbCBjaGFpbgoJICBvZiB0aGUgc2luayBwYWRzIHdpbGwgc2hhcmUgdGhlaXIgT3BlbkdMIGNvbnRleHQuCgoyMDA5LTEwLTE2IDE4OjA4OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszODQvOTA2XSBidWlsZDogdXNlIDxzdGRpby5oPiAvICJzdGRpby5oIgoKMjAwOS0xMC0xNiAxNzoyOTowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzgzLzkwNl0gYnVpbGQ6IGluY2x1ZGUgPHN0ZGlvLmg+IHdoZW4gdXNpbmcgcHJpbnRmICYgY28uCgoyMDA5LTEwLTE1IDE1OjQwOjExICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZXMyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzM4Mi85MDZdIEVTMi4wOiByZW1vdmUgd2FybmluZ3MKCSAgUGFydGlhbGx5IGZpeCAjNTkzNzg2CgoyMDA5LTEwLTE1IDE0OjU5OjA4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzgxLzkwNl0gRUdMIGFuZCBHTFg6OiBzZXQgYSBtaW5pbXVtIGRlcHRoIHNpemUKCjIwMDktMDktMjEgMTU6MDA6MDIgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5oOgoJICBbMzgwLzkwNl0gZ2xvdmVybGF5OiBjYW4gcHV0IHZpZGVvIG92ZXIgcG5nIGltYWdlcwoJICBGaXggYnVnICM1OTUzMDMKCjIwMDktMDktMjEgMTA6NTE6NDcgKzAyMDAgIEFudGhvbnkgVmlvbG8gPGFudGhvbnkudmlvbG9AdWJpY2FzdC5ldT4KCgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSAgWzM3OS85MDZdIGdsb3ZlcmxheTogYWRkIHN1cHBvcnQgdG8gdXNlIFJHQiBwbmcgaW1hZ2VzCgkgIFByZXZpb3VzbHkgcmVzdHJpY3RlZCB0byBSR0JBLCBub3cgZ2xvdmVybGF5IGNhbiBhbHNvIGhhbmRsZSBhIFJHQiBpbWFnZS4KCjIwMDktMDktMTkgMTQ6MzE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFszNzgvOTA2XSBnbGRpc3BsYXk6IGF2b2lkIHRvIHJlcXVlc3QgZ2wgdGhyZWFkIHdoZW4gZGVsZXRpbmcgYSB0ZXh0dXJlCgkgIEEgdGV4dHVyZSBpcyBub3QgZGVzdHJveWVkIHdoZW4gd2hlbiB3ZSBhcmUgZG9uZSB3aXRoIGl0LgoJICBUaGlzIHRleHR1cmUgaXMganVzdCBhZGRlZCB0byB0aGUgdGV4dHVyZSBwb29sIGluIG9yZGVyIHRvIGJlCgkgIHJlLXVzZWQuIEluIHRoaXMgY2FzZSBubyBPcGVuR0wgY29kZSBpcyBleGVjdXRlZCBzbyB3ZSBkbyBub3QgbmVlZCB0bwoJICByZXF1ZXN0IGdsIHRocmVhZC4KCjIwMDktMDktMTkgMTQ6MTY6MjUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMzc3LzkwNl0gZ2xkaXNwbGF5OiBhdm9pZCB0byByZXF1ZXN0IGdsIHRocmVhZCB3aGVuIGdlbmVyYXRpbmcgYSB0ZXh0dXJlCgkgIFRoYW5rcyB0byB0aGUgdGV4dHVyZSBwb29sIHRoZSBnbCB0ZXh0dXJlcyBhcmUgcmUtdXNlZC4KCSAgV2hlbiByZS11c2luZyBvbmUsIG5vIG9wZW5nbCBjb2RlIGlzIGV4ZWN1dGVkIHNvIGRvIG5vdCBuZWVkCgkgIHRvIHJlcXVlc3QgZ2wgdGhyZWFkLgoKMjAwOS0wOS0wMSAxNToyMTozOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFszNzYvOTA2XSBidWlsZDogc3VwcG9ydCBvcGVuR0xFUyBvbiBsaW51eCB2aWEgYXV0b2Zvby4gUGFydGlhbHkgZml4ZXMgIzU5Mzc4NgoJICBBZGQgYSBwa2ctY29uZmlnIGNoZWNrIGZvciBvcGVuZ2wgYW5kIGlmIG5vdCBmb3VuZCBhc3N1bWUgb3BlbmdsLWVzLiBJZiB1c2VyIGhhcwoJICBub25lIG9mIGJvdGggb25lIHN0aWxsIGdldCBidWlsZCBlcnJvciBsYXRlciBvbiAodGhlcmUgaXMgbm8gcGtnLWNvbmZpZyBmb3IKCSAgb3BlbmdsLWVzKS4KCSAgQWRkIG1vcmUgZmlsZXMgdG8gRVhUUkEgZGlzdCBhbmQgYnVpbGQgdGhlIG9wZW5nbGVzIHZhcmlhbnQgaWYgc2VsZWN0ZWQuCgkgIFNpbW1pbGFyIGNoYW5nZXMgY291bGQgYmUgZG9uZSBmb3IgdGhlIHdpbkNFIGJhY2tlbmQuCgoyMDA5LTA5LTAyIDEwOjA2OjM2ICswMjAwICBBbnRob255IFZpb2xvIDxhbnRob255LnZpb2xvQHViaWNhc3QuZXU+CgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM3NS85MDZdIGdsb3ZlcmxheTogY2FuIGNvbnRyb2wgaW1hZ2Ugc2l6ZSBhbmQgcG9zaXRpb24KCSAgRml4IGJ1ZyAjNTkxNTkxCgoyMDA5LTA5LTAxIDE5OjQ2OjEwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzc0LzkwNl0gc2Rsc2hhcmUgZXhhbXBsZTogZml4IGJ1aWxkIG9uIHdpbjMyCgoyMDA5LTA4LTMxIDE3OjI2OjM0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL3NkbC9zZGxzaGFyZS5jOgoJICBbMzczLzkwNl0gc2Rsc2hhcmUgZXhhbXBsZTogcmV2aWV3IGluY2x1ZGVzIG9yZGVyIGFuZCBmaXggY2xvc3VyZQoKMjAwOS0wOC0zMSAxNzoxODowMSArMDIwMCAgTWlxdWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9zZGwvc2Rsc2hhcmUuYzoKCSAgWzM3Mi85MDZdIG1ha2Ugc2Rsc2hhcmUgZXhhbXBsZSB3b3JrIG9uIGxpbnV4LiBGaXggYnVnICM1OTM0ODYKCjIwMDktMDgtMjYgMjM6NDM6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2RsL3NkbHNoYXJlLmM6CgkgIFszNzEvOTA2XSB0ZXN0czogYWRkIHNkbHNoYXJlIGV4YW1wbGUKCSAgSXQgc2hvd3MgaG93IHRvIHVzZSBnbCB0ZXh0dXJlcyB0aGF0IGNvbWUKCSAgZnJvbSBnc3QgZ2wgZWxlbWVudHMgaW5zaWRlIGEgU0RMIE9wZW5HTCBzY2VuZQoKMjAwOS0wOC0xNyAxNTo0ODowOSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzcwLzkwNl0gQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUgdG8gTWFrZWZpbGUuYW0gYW5kIHVwZGF0ZSBzcGVjIGZpbGUgdG8gYWN0dWFsbHkgYmUgZm9yIHRoaXMgcGFja2FnZQoKMjAwOS0wOC0wMyAxNzo1MjozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNjkvOTA2XSBkZWZpbmUgbWlzc2luZyBnbGV3IG1hY3JvIG9uIG9sZGVyIHZlcnNpb25zCgoyMDA5LTA4LTAzIDEwOjEzOjAyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzY4LzkwNl0gQ29jb2EgYmFja2VuZDogZml4IGNyYXNoIHdoZW4gcmVzaXppbmcKCSAgRGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBvZiBOU09wZW5nbFZpZXc6OnVwZGF0ZSBpcyBub3Qgc2FmZSBiZWNhdXNlIGl0CgkgIGp1c3QgY2FsbHMgdXBkYXRlIG9uIHRoZSBvcGVuZ2wgY29udGV4dCB3aGVyZWFzIHdlIGFyZSBub3QgaW4gdGhlIGdsIHRocmVhZC4KCSAgQWxzbyBmaXggdGhlIHdoaXRlIGZsaWNrZXJpbmcgd2hlbiByZXNpemluZywgYmVjYXVzZSBub3cgd2UgbmVlZCB0byBjYWxsCgkgIHRoZSBkcmF3IGNhbGxiYWNrIG1hbnVhbGx5IHdoZW4gcmVzaXppbmcuCgoyMDA5LTA3LTMxIDE4OjE3OjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzM2Ny85MDZdIGRvY3M6IGZpeCBHc3RYdkltYWdlU0luayAtPiBHc3RHTEltYWdlU2luayBhbmQgcmVpbmRlbnQKCjIwMDktMDctMzAgMDA6MzY6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5oOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuaDoKCSAgWzM2Ni85MDZdIGRvY3M6IG1ha2UgcmVtYWluaW5nIGVsZW1lbnRzIHNob3cgdXAgaW4gZG9jcwoJICBTcGxpdCBvdXQgZGVjbGFyYXRpb25zIGludG8gaGVhZGVyIGZpbGVzIGFuZCBob29rIGV2ZXJ5dGhpbmcgdXAgc28KCSAgdGhhdCBmaXZlIG1vcmUgZWxlbWVudHMgc2hvdyB1cCBpbiB0aGUgcGx1Z2luIGRvY3MuIEZpeGVzICM1NTkxMzUuCgoyMDA5LTA3LTI3IDA5OjU4OjIwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzY1LzkwNl0gQ29jb2EgYmFja2VuZDogbWFrZSBzdXJlIHRoYXQgbnNhcHAgaXMgaW5pdGlhbGl6ZWQKCSAgZ3N0LWxhdW5jaC0wLjEwIHZpZGVvdGVzdHNyYyAhIHRlZSBuYW1lPXQgISBxdWV1ZSAhIGdsaW1hZ2VzaW5rIHQuICEgcXVldWUgISBnbGltYWdlc2luawoJICBub3cgd29ya3MgcHJvcGVybHkgb24gTWFjT1NYCgoyMDA5LTA3LTI0IDEwOjMzOjQ3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzY0LzkwNl0gbWFrZSB0aGUgY21ha2UgYnVpbGQgd29yayBvbiBNYWNPU1gKCSAgV2UgY2FuIG5vdyBnZW5lcmF0ZSBhIFhjb2RlIHByb2plY3QgKG9yIFVuaXggTWFrZmlsZXMpLAoJICBzZWUgSU5TVEFMTCBmaWxlCgoyMDA5LTA3LTI0IDEwOjEyOjA3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzYzLzkwNl0gQ29jb2EgYmFja2VuZDogZml4IGNyYXNoIHdoZW4gY2xvc2luZwoJICAtIEFsbCBnc3RnbHdpbmRvdyBtZW1iZXJzIGFyZSBub3cgbW9kaWZpZWQgb25seSBpbiB0aGUgZ2wgdGhyZWFkCgkgIHRvIGF2b2lkIHRocmVhZCBjb25jdXJyZW5jeQoJICAtIE9wZW5HTCBjb250ZXh0IGlzIG5vdyBwcm9wZXJseSBjbGVhbgoJICAtIGZpeCBhIGNvdXBsZSBvZiB0aGluZ3MgaW4gaW1wbGVtZW50YXRpb24gb2YgeG92ZXJsYXkgaW50ZXJmYWNlCgoyMDA5LTA3LTE3IDE2OjQ3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzYyLzkwNl0gbWFrZSBjb2NvYSBiYWNrZW5kIHdvcmsgb24gTWFjT1NYCgkgIEl0IHdvcmtzIHdpdGggYm90aCBnc3QtbGF1bmNoIGFuZCBhIGNvY29hIGFwcCAobm9uLWVtYmVkZGVkIGFuZCBlbWJlZGRlZCkKCSAgQnV0IHRoZXJlIGlzIHN0aWxsIHNvbWUgcHJvYmxlbXM6CgkgIC0gc29tZXRpbWVzIGNyYXNoIHdoZW4gY2xvc2luZwoJICAtIGZsaWNrZXJpbmcgd2hlbiByZXNpemluZwoJICAtIGVtYmVkZGVkIG1vZGUgbm90IHBlcmZlY3QKCSAgSSB3aWxsIGZpcnN0IG1ha2UgdGhlIENNYWtlIGJ1aWxkIHdvcmsgd2l0aCBjb2NvYSBiYWNrZW5kCgkgIGluIG9yZGVyIHRvIGdlbmVyYXRlIGEgWENvZGUgcHJvamVjdC4KCSAgVGhlbiBpdCBzaG91bGQgYmUgZWFzaWVyIHRvIGZpeCB0aG9zZSBpc3N1ZXMuCgoyMDA5LTA3LTE0IDIwOjM2OjEzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9nc3RndGsuYzoKCSAgWzM2MS85MDZdIGdzdGd0azogYWRkIG1pc3NpbmcgbGljZW5zZSBhbmQgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTA3LTE0IDIwOjI1OjI4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzYwLzkwNl0gZXhhbXBsZXM6IGFkZCBtaXNzaW5nIGNvcHlyaWdodC9saWNlbnNlIHRvIG15IGV4YW1wbGVzCgoyMDA5LTA3LTEzIDE2OjMyOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM1OS85MDZdIGdsOiBMaW5rIHdpdGggLWxtIGFuZCBmaXggaW5kZW50aW9uCgoyMDA5LTA3LTEzIDEyOjUzOjE3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszNTgvOTA2XSBnc3RnbGRpc3BsYXk6IENsb3NlIGEgc21hbGwgcmFjZSBzdGFydGluZyB0aGUgZGlzcGxheSB0aHJlYWQKCSAgVGFrZSB0aGUgZGlzcGxheSBsb2NrIGJlZm9yZSBzaWduYWxsaW5nIHRoZSBjcmVhdGUtY29udGV4dCBjb25kCgkgIHRvIGVuc3VyZSB0aGUgY2FsbGVyIGhhcyBkcm9wcGVkIHRoZSBsb2NrIGFuZCBpcyB0aGVyZWZvcmUgbGlzdGVuaW5nCgkgIGZvciB0aGUgc2lnbmFsLgoKMjAwOS0wNy0xMyAxMjo1MjozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMzU3LzkwNl0geDExOiBEb24ndCBjcmFzaCB3aGVuIHRoZSBYMTEgZGlzcGxheSBpcyBub3QgYXZhaWxhYmxlLgoJICBFcnJvciBvdXQgY2xlYW5seSBpbnN0ZWFkIG9mIGNyYXNoaW5nIHdoZW4gdGhlIFgxMSBkaXNwbGF5IGNhbid0CgkgIGJlIGNvbnRhY3RlZC4KCjIwMDktMDctMTMgMTI6MDg6MTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzM1Ni85MDZdIGJ1aWxkOiBGaXggdHlwbzogZ3N0Z2xidW1iZXIuaCAtPiBnc3RnbGJ1bXBlci5oCgoyMDA5LTA2LTI1IDIxOjMyOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkgIFszNTUvOTA2XSBzYW1lIG1vdGlvbiBjb21wZW5zYXRpb24KCjIwMDktMDYtMjUgMDE6MzA6NDQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGRlaW50ZXJsYWNlLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzM1NC85MDZdIGZpeCBhbmQgYWRkIGdsZGVpbnRlcmxhY2UgZmlsdGVyIHRvIHRoZSBidWlsZHMKCjIwMDktMDYtMjQgMTc6NTg6MzUgKzAyMDAgIGp1bGllbiA8anVsaWVuQEtKSVMuKG5vbmUpPgoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuYzoKCSogZ3N0L2dsL2dzdGdsZGVpbnRlcmxhY2UuaDoKCSAgWzM1My85MDZdIGFkZCBhIGdsZGVpbnRlcmxhY2UgZmlsdGVyCgkgIEdyZWVkeWggb3BlcmF0aW9uIGltcGxlbWVudGVkIHVzaW5nIE9wZW5HTCBTaGFkaW5nIExhbmd1YWdlLgoJICBXZSBjb3VsZCBhZGQgb3RoZXIgb3BlcmF0aW9ucyBsYXRlci4KCSAgRG9lcyBzb21lIGdvb2QgcmVzdWx0cyBidXQgc3RpbGwgbm90IGFzIGV4cGVjdGVkLgoJICBUaGF0J3Mgd2h5IEkgZG8gbm90IGFkZCBpdCB5ZXQgdG8gdGhlIGJ1aWxkLgoKMjAwOS0wNi0xMiAxMTozMzowMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMzUyLzkwNl0gZml4IHR5cG8KCSAgQ2hhbmdlIEdTVF9HTF9ESVNQTEFZX1BST0pFQ1RJT05fUEVSU1BFQ0lWRSB0bwoJICBHU1RfR0xfRElTUExBWV9QUk9KRUNUSU9OX1BFUlNQRUNUSVZFLgoJICBSZS1pbmRlbnQgYSBjb3VwbGUgb2YgZmlsZXMgdGhhdCBuZWVkZWQgaXQuCgoyMDA5LTA2LTA5IDIwOjM1OjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMzUxLzkwNl0gYWxsb3cgdG8gc3dpdGNoIHhvdmVybGF5IHdoaWxlIGJlaW5nIGluIHBhdXNlZCBzdGF0ZQoKMjAwOS0wNi0wNyAyMDoxOTowMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTFFUzIuYzoKCSAgWzM1MC85MDZdIGZpeCB3aW5kb3cgcG9zaXRpb24gd2hlbiB1c2luZyB4b3ZlcmxheQoJICB4LCB5IGFyZSB0aGUgY29vcmRpbmF0ZXMgb2YgdGhlIHBvc2l0aW9uIGluc2lkZQoJICB0aGUgbmV3IHBhcmVudCB3aW5kb3cuCgkgIEZpeGVzICM1ODQ4NzcKCjIwMDktMDYtMDYgMTQ6MzQ6NTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmg6CgkgIFszNDkvOTA2XSBjYW4gc3dpdGNoIHhvdmVybGF5cyB3aGlsZSBwbGF5aW5nCgkgIEZpeGVzIGJ1ZyAjNTg0ODc3CgkgIEJlZm9yZSB0aGlzIGNvbW1pdCBjYWxsaW5nICJnc3RfeF9vdmVybGF5X3NldF94d2luZG93X2lkIiBtb3JlCgkgIHRoYW4gb25lIHRpbWUsIGhhZCBubyBlZmZlY3QuCgkgIEl0IG1haW5seSBhZmZlY3RzIHRoZSBnbGltYWdlc2luayBpbXBsZW1lbnRhdGlvbi4KCSAgQnV0IG9uIHdpbjMyIChhbmQgQ0UpLCBzb21lIHN0dWZmIGhhcyB0byBiZSBkb25lIHRvCgkgIHJlbGVhc2UgdGhlIG9sZCBwYXJlbnQuCgkgIEFuZCBhZGQgYSBzd2l0Y2h4b3ZlcmxheSBleGFtcGxlIHdoZXJlIHRoZSB1c2VyCgkgIGNhbiBjbGljayBvbiBsZWZ0L3JpZ2h0IHBhcnQgb2YgdGhlIG1haW4gd2luZG93IHRvCgkgIHN3aXRjaCB0aGUgeG92ZXJsYXkuCgoyMDA5LTA2LTA0IDA5OjUwOjUyICswMjAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzQ4LzkwNl0gQWRkIGdzdHZpZGVvIHRvIGdsaW1hZ2VzaW5rIExJQkFERC4gRml4ZXMgYnVnICM1ODQ2ODAKCjIwMDktMDYtMDQgMDA6Mjc6NDQgKzAyMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzM0Ny85MDZdIGZpeCBtaXNjYXN0IG9mIGEgcG9pbnRlciBpbiBTZXRXaW5kb3dMb25nUHRyCgkgIEdDQyA0LjQuMCBjb21wbGFpbnMgZXJyb3I6IGNhc3QgZnJvbSBwb2ludGVyIHRvIGludGVnZXIgb2YgZGlmZmVyZW50IHNpemUKCSAgRml4ZXMgIzU4NDY3OC4KCjIwMDktMDUtMTIgMTE6NDE6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzQ2LzkwNl0gRml4IGxpbmtpbmcgYnkgcHJvdmlkaW5nIGxpYnRvb2wgdGhlIGNvcnJlY3QgLS10YWcgcGFyYW1ldGVyCgoyMDA5LTA1LTExIDE4OjA2OjE4ICswMjAwICBqdWxpZW4gPGp1bGllbkBLSklTLihub25lKT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDUvOTA2XSBjaGFuZ2Ugcm90YXRpb24gY2VudGVyIGluIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA1LTA5IDIxOjMwOjMwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmM6CgkgIFszNDQvOTA2XSBVc2UgYSBtb3JlIGNvbXBsZXggZ3N0IGdsIHBpcGVsaW5lIGluIHRoZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOSAyMToyNjo0MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQzLzkwNl0gQWRkIGEgc2lnbmFsIHdhdGNoIGJ1cyBjYWxsYmFjayB0byBjaGVjayBnc3QgbWVzc2FnZXMKCjIwMDktMDUtMDkgMjA6NTE6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzM0Mi85MDZdIEZpeCB0ZXh0dXJlIGFjdG9yIHVwZGF0ZSBkdWUgdG8gYSB0b28gc3Ryb25nIHRocmVhZCBsb2NraW5nLgoJICBPbiBsaW51eCwgdGhlIEdTb3VyY2UgZnVuYyBhdHRhY2hlZCB0byB0aGUgY2x1dHRlcl90aHJlYWRzX2FkZF9pZGxlCgkgIHdhcyBub3QgZ2V0dGluZyB0aGUgY3B1IHJlc3NvdXJjZSBwZXJpb2RpY2FsbHkuCgkgIEJlY2F1c2UgdGhlIHVzZSBvZiBjbHV0dGVyX3RocmVhZHNfZW50ZXIvbGVhdmUgaW5zaWRlIHRoZSBmYWtlc2luawoJICBjYWxsYmFjayBzZWVtcyB0byBiZSB0b28gc3Ryb25nLgoJICBTbyByZW1vdmUgdGhlIHVzZSBpZiBjbHV0dGVyX3RocmVhZHNfZW50ZXIvbGVhdmUgaW4gdGhlIGZha2VzaW5rIGNhbGxiYWNrLgoJICBUaGVuIHJlcGxhY2UgR1F1ZXVlIGJ5IEdBc3luY1F1ZXVlIHRvIGtlZXAgdGhyZWFkIHNhZmUgYWNjZXNzIHRvIHRoZQoJICBjb21tdW5pY2F0aW9uIHF1ZXVlcyBiZXR3ZWVuIGNsdXR0ZXIgYW5kIGdzdC1nbC4KCSAgQ2FsbCBjbHV0dGVyX3RocmVhZHNfYWRkX2lkbGUgd2l0aCBoaWdoIHByaW9yaXR5LgoKMjAwOS0wNS0wOSAxNTo0NDowOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQxLzkwNl0gUHJvcGVybHkgY2xlYW4gdXAgcGVuZGluZyBnc3QgZ2wgYnVmZmVycyBpbiBjbHV0dGVyc2hhcmUgZXhhbXBsZQoKMjAwOS0wNS0wOCAyMTo0Mzo1NiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzQwLzkwNl0gRml4IGNsdXR0ZXJzaGFyZSBleGFtcGxlLgoJICBJdCByZXF1aXJlcyBhdCBsZWFzdCBjbHV0dGVyIDAuOC42IHNpbmNlIGxvd2VyIGNsdXR0ZXIgdmVyc2lvbnMgYXJlCgkgIG5vdCBjb21wYXRpYmxlIHdpdGggR0xfVEVYVFVSRV9SRUNUQU5HTEVfQVJCLgoJICBSZW1vdmUgdXNlIG9mIENsdXR0ZXJFZmZlY3RUZW1wbGFjZSBzaW5jZSBpdCBkb2VzIG5vdCBleGlzdCBpbgoJICBjbHV0dGVyIDAuOS4KCjIwMDktMDUtMDQgMTE6MjQ6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzOS85MDZdIENhc3QgdG8gYSBHc3RCdWZmZXIqIGJlZm9yZSBwYXNzaW5nIHRvIGdzdF9idWZmZXJfdW5yZWYgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDUtMDIgMTQ6Mjc6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzOC85MDZdIFVzZSBHUXVldWUgaW4gdGhlIGNsdXR0ZXJzaGFyZSBleGFtcGxlCgoyMDA5LTA0LTMwIDIzOjQwOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW5DRS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzM3LzkwNl0gSW1wcm92ZSBjbHV0dGVyc2hhcmUgZXhhbXBsZQoJICBVc2UgY2x1dHRlcl90aHJlYWRzX0FQSS4KCSAgV2hlbiBqdXN0IHVzaW5nIGdsdXBsb2FkIGZyb20gcmdiLCB3ZSBoYXZlIHRvIGJlIHN1cmUgdGhhdAoJICB0aGUgdXBsb2FkIHRleHR1cmUgaXMgbm90IGluIHVzZSBpbiBvdXIgZ3N0IGdsIGNvbnRleHQuCgoyMDA5LTA0LTIwIDE4OjE3OjU0IC0wNDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzM2LzkwNl0gW3gxMS94MTFFU10gZml4IHNvbWUgcG9pbnRlciBjYXN0IHdhcm5pbmdzCgoyMDA5LTA0LTIwIDIzOjU1OjUxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJICBbMzM1LzkwNl0gW2NvY29hXSB1cGRhdGUgc2luY2UgaW50ZXJmYWNlIGNoYW5nZWQKCjIwMDktMDQtMjAgMjM6NDg6MTUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzNC85MDZdIFt3aW4zMi93aW5DRV0gZml4IHNvbWUgcG9pbnRlciBjYXN0IHdhcm5pbmdzIHdpdGggbWluZ3cKCSAgQW5kIHR1cm4gb2ZmIGRlcHJlY2F0ZWQgV3A2NCBtc3ZjIGNvbXBpbGVyIG9wdGlvbi4KCjIwMDktMDQtMjAgMDA6NTI6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSAgWzMzMy85MDZdIGFkZCBmb3JjZS1hc3BlY3QtcmF0aW8gc3VwcG9ydAoKMjAwOS0wNC0xOCAxNjowODoyMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJzaGFyZS5jOgoJICBbMzMyLzkwNl0ganVzdCBnc3QtaW5kZW50IGFuZCBDOTAgb24gY2x1dHRlcnNoYXJlIGV4YW1wbGUKCjIwMDktMDQtMTggMDg6NDA6NTEgLTA0MDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExRVMyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMzMxLzkwNl0gaW5kZW50IGFuZCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wNC0xOCAxMzo1Nzo0NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyc2hhcmUuYzoKCSAgWzMzMC85MDZdIENhbiBub3cgc2hhcmUgdGV4dHVyZXMgd2l0aCBhbiBleHRlcm5hbCBnbCBjb250ZXh0CgkgIFRoZSBleHRlcm5hbCBvcGVuZ2wgY29udGV4dCBtdXN0IGJlIHNwZWNpZnkgd2hlbiBjcmVhdGluZwoJICBvdXIgT3BlbkdMIGNvbnRleHQgKGdseCkgb3IganVzdCBhZnRlciAod2dsKS4KCSAgV2hlbiBjYWxsaW5nIGdsWENyZWF0ZUNvbnRleHQgb3Igd2dsU2hhcmVMaXN0cywgdGhlCgkgIGV4dGVybmFsIG9wZW5nbCBjb250ZXh0IG11c3Qgbm90IGJlIGN1cnJlbnQuCgkgIFRoZW4gb3VyIGdsIGNvbnRleHQgY2FuIGJlIGN1cnJlbnQgaW4gdGhlIGdsIHRocmVhZCB3aGlsZQoJICB0aGUgZXh0ZXJuYWwgZ2wgY29udGV4dCBpcyBjdXJyZW50IGluIGFuIG90aGVyIHRocmVhZC4KCSAgU2VlIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcnNoYXJlLmMKCjIwMDktMDQtMTIgMjI6MjQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLTIubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvdy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfY29jb2EubToKCSAgWzMyOS85MDZdIEJ1aWxkIGZvciBDb2NvYSBvbiBkYXJ3aW4sIHdpdGggdmFyaW91cyBmaXhlcwoKMjAwOS0wNC0xMiAyMDowMzozMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gtMi5sb2NhbD4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZ3N0Z3RrLmM6CgkgIFszMjgvOTA2XSBDb252ZXJ0IGd0ayBleGFtcGxlcyB0byB1c2UgaGVscGVyIGxpYnJhcnkKCSAgSGVscGVyIGxpYiBpbXBsZW1lbnRzIGdzdC1ndGsgZ2x1ZSBvbiBhbGwgcGxhdGZvcm1zCgoyMDA5LTA0LTEwIDIwOjQyOjU5ICswMjAwICBKdWxpZW4gPGp1bGllbkBKdWxpZW4tS3VidW50dS4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszMjcvOTA2XSBmaXggaW5pdCBGQk8ncyB0ZXh0dXJlIGF0dGFjaG1lbnQgb24gRVMgMi4wCgoyMDA5LTA0LTEwIDIwOjMwOjQ2ICswMjAwICBKdWxpZW4gPGp1bGllbkBKdWxpZW4tS3VidW50dS4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGVzMi5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luQ0UuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMUVTMi5jOgoJICBbMzI2LzkwNl0gYWRkIFggYmFja2VuZCBmb3IgT3BlbkdMIEVTIDIuMAoKMjAwOS0wMy0yOSAxNTo0MDoxNiArMDAwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMzI1LzkwNl0gUmVzdG9yZSBnbGltYWdlc2luayBpbnN0ZWFkIG9mIHhpbWFnZXNpbmsKCSAgUGFydGlhbGx5IHJldmVydCBwcmV2aW91cyBjb21taXQuIEl0J3Mgbm90IGFuIGlzc3VlIHdpdGggZ2xpbWFnZXNpbmsKCSAgWG92ZXJsYXkgaW50ZXJmYWNlLiBJdCdzIGFsd2F5cyB0aGUgc2FtZSBpbnRlbCBidWcgd2l0aCBkaXJlY3QKCSAgcmVuZGVyaW5nIHJlZGlyZWN0aW9uICh0aGUgb25lIHRoYXQgYWZmZWN0cyBlYWNoIG9wZW5nbCBhcHBsaWNhdGlvbgoJICB3aXRoIGNvbXBvc2l0aW5nIG1hbmFnZXJzKS4gSXQgd29ya3MgZmluZSB3aXRoIERSSTIgYW5kIFVYQQoJICBhY2NlbGVyYXRpb24uIFN0aWxsIGxlYXZpbmcgZWZmZWN0cyBkaXNhYmxlZCBiZWNhdXNlIEknbSB0ZXN0aW5nIGludGVsCgkgIGhhcmR3YXJlIHRoYXQgZG9lc24ndCBzdXBwb3J0IEZCT3MuCgoyMDA5LTAzLTI5IDA5OjAxOjU1ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjQvOTA2XSBUZW1wb3JhcnkgZGlzYWJsZSBnbGltYWdlc2luayBpbiBjbHV0dGVyYWN0b3J0ZWUKCSAgR0xpbWFnZXNpbmsgWE92ZXJsYXkgaW50ZXJmYWNlIGRvZXNuJ3Qgc2VlbSB0byB3b3JrIHdpdGggY29tcG9zaXRlCgkgIHJlZGlyZWN0aW9uIG9uIGludGVsIChhbmQgSSBiZWxpZXZlIGF0aSB0b28pLiBXaW5kb3dzIGFyZW4ndAoJICByZWRpcmVjdGVkIG9mZnNjcmVlbiBhdCBhbGwuICBUaGlzIGNvbW1pdCBqdXN0IHNob3dzIHRoYXQgdGhlIGV4YW1wbGUKCSAgY29ycmVjdHkgd29ya3Mgd2l0aCB4aW1hZ2VzaW5rLiBUaGUgbW9zdCBldmlkZW50IGRpZmZlcmVuY2UgSSBzZWUgaXMKCSAgdGhhdCBnbGltYWdlc2luayByZXBhcmVudHMgdGhlIHhvdmVybGF5IHdpbmRvdyBpbnRvIGl0cyBvd24gd2hpbGUgYm90aAoJICB4IGFuZCB4dmltYWdlc2luayBkZXN0cm95IHRoZWlyIHdpbmRvdyBhbmQgcmVuZGVyIGRpcmVjdGx5IHRvIHRoZQoJICB4b3ZlcmxheSBvbmUuCgoyMDA5LTAzLTI5IDA4OjUxOjE2ICswMDAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFszMjMvOTA2XSBSZW1vdmUgcmVkdW5kYW50IFhNb3ZlV2luZG93IGNhbGwKCSAgUmV2ZXJ0IHRoZSAibW92ZSB3aW5kb3dzIiB0aGluZyBmcm9tIGNvbW1pdAoJICAxNzVmN2E3MDdiYzkyMmYzZmFjYzYzZTdkOWI2ZDAxZjliYjZiMWIwCgkgIFdpbmRvd3MgYXJlIG9mZnNjcmVlbiB3aG8gY2FyZXMgYWJvdXQgdGhlaXIgcG9zaXRpb24/IElmIHlvdSBzZWUgdGhlCgkgIHdpbmRvd3Mgc29tZXRoaW5nIGlzIGdvaW5nIHdyb25nIHdpdGggY29tcG9zaXRlIHJlZGlyZWN0aW9uLgoKMjAwOS0wMy0xOCAyMjo0Njo1NiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFszMjIvOTA2XSBbZG93bmxvYWQgWVVZMi9VWVZZXSBmaXggYSByZWdyZXNzaW9uCgkgIFRoZSBjYWxsIHRvIGdsTG9hZElkZW50aXR5IHdhcyByZW1vdmVkIGJ5IG1pc3Rha2UgZHVyaW5nCgkgIE9wZW5HTCBFUyAyLjAgaW50ZWdyYXRpb24uCgoyMDA5LTAzLTE1IDE0OjQ4OjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xlczIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbkNFLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMyMS85MDZdIGFkZCBPcGVuR0wgRVMgMi54IHN1cHBvcnQuCgkgIEluIE9wZW5HTCAyLnggZm9yIEVtYmVkZGVkIFN5c3RlbSwgYSBsb3Qgb2YgYmFzaWMgc2NlbmUvZHJhdyBmdW5jdGlvbnMKCSAgaGF2ZSBiZWVuIHJlbW92ZWQuIEl0IG1lYW5zIHRoYXQgZXZlcnl0aGluZyBpcyBtYWRlIHVzaW5nIHZlcnRleCBhbmQKCSAgZnJhZ21lbnQgc2hhZGVycy4KCSAgSSBoYXZlIGFsc28gYWRkZWQgYSBnc3RnbHdpbmRvdyBiYWNrZW5kIGZvciB3aW5DRSB0aGF0IHVzZXMgRUdMCgkgIChOYXRpdmUgUGxhdGZvcm0gR3JhcGhpY3MgSW50ZXJjYWNlKSAod2hpY2ggaXMgYSBmdWxsIHBhcnQgb2YKCSAgT3BlbkdMIEVTIHNwZWNpZmljYXRpb24pLiBJdCByZW1vdmUgdGhlIHVzZSBvZiB3Z2wvZ2x4IGZ1bmN0aW9ucy4KCjIwMDktMDMtMDcgMDM6MTM6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X2NvY29hLm06CgkgIFszMjAvOTA2XSBmaXggcG9zaXRpb24gYW5kIGNvbnRlbnQgcmVjdAoKMjAwOS0wMy0wNiAyMjo0Mzo0MSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzMxOS85MDZdIFt3aW4zMiBiYWNrZW5kXSBmaXggdHJhbnNtaXRpb24gbWVzc2FnZSB0byB0aGUgcGFyZW50LgoJICBUaGUgUXQgbW91dmV4b3ZlcmxheSBleGFtcGxlIHNob3dzIGhvdyB0byByb3RhdGUgdGhlIGN1YmUKCSAgYnkgbW92aW5nICgrY2xpY2spIHRoZSBtb3V2ZSBvdmVyIGEgcXdpZGdldCB1c2luZyB4b3ZlcmxheQoJICBpbnRlcmZhY2UuCgoyMDA5LTAyLTI2IDE3OjQ1OjIxIC0wNTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZS5nbnVzdGVwOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGUuZ251c3RlcDoKCSogZ3N0L2dsL2VmZmVjdHMvR05VbWFrZWZpbGUuZ251c3RlcDoKCSAgWzMxOC85MDZdIHJlbmFtZSBHTlVtYWtlZmlsZShzKSB0byBHTlVtYWtlZmlsZShzKS5nbnVzdGVwCgoyMDA5LTAyLTI2IDAxOjA2OjU4ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd19jb2NvYS5tOgoJKiBnc3QvZ2wvR05VbWFrZWZpbGU6CgkgIFszMTcvOTA2XSBpbXBsZW1lbnQgZ3N0Z2x3aW5kb3cgZm9yIENvY29hIChNYWNPUyBhbmQgR05Vc3RlcCkKCjIwMDktMDItMjUgMDA6Mzk6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzE2LzkwNl0gcmVtb3ZlIHNvbWUgdW51c2VkIEhBVkVfTElCUE5HOiBsaWJwbmcgaXMgYSByZXF1aXJlZCBwYWNrYWdlCgoyMDA5LTAyLTI1IDAwOjEyOjEyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9HTlVtYWtlZmlsZToKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvR05VbWFrZWZpbGU6CgkqIGdzdC9nbC9lZmZlY3RzL0dOVW1ha2VmaWxlOgoJICBbMzE1LzkwNl0gYWRkIEdOVXN0ZXAgYnVpbGQKCjIwMDktMDItMjMgMTE6MDc6MjIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1nbC11bmluc3RhbGxlZC5wYy5pbjoKCSAgWzMxNC85MDZdIEFkZCBzcmNkaXIgdG8gaW5jbHVkZXMgZm9yIG91dC1vZi1zb3VyY2UgYnVpbGRzCgkgIFdoZW4geW91IHVzZSBnc3RyZWFtZXIgdW5pbnN0YWxsZWQgYW5kIGJ1aWxkIG91dHNpZGUKCSAgdGhlIHNvdXJjZSB0cmVlLCB0aGUgaW5jbHVkZXMgbmVlZCB0byBiZSBzcGVjaWZpZWQgZm9yCgkgIGJvdGggdGhlIHNvdXJjZSB0cmVlIGFuZCB0aGUgYnVpbGQgdHJlZS4KCjIwMDktMDItMjMgMTM6Mzk6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSAgWzMxMy85MDZdIGluZGVudDogZG9uJ3QgdXNlIHRhYnMgaW5zaWRlIHByb3BlcnR5IGRlc2NyaXB0aW9ucwoKMjAwOS0wMi0yMyAxMzozNTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xvdmVybGF5LmM6CgkgIFszMTIvOTA2XSBidWlsZDogaW5jbHVkZSBzdGRsaWIuaCB3aGVuIHVzaW5nIGZyZWUoKS4KCjIwMDktMDItMjIgMTk6MzY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMzExLzkwNl0gQ2FzdCBHc3RCdWZmZXIgc3ViY2xhc3NlcyB0byBHc3RCdWZmZXIgKiBiZWZvcmUgcGFzc2luZyB0byBnc3RfYnVmZmVyX3VucmVmKCkKCjIwMDktMDItMTAgMjI6Mzk6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGdsb3cuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RpZGVudGl0eS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHN0cmV0Y2guYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0dW5uZWwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R0d2lybC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzEwLzkwNl0gR2xvYmFsIHJlaW5kZW50CgkgIEluZGVudCBwYXJhbWV0ZXJzOgoJICBJTkRFTlRfUEFSQU1FVEVSUz0iLS1icmFjZXMtb24taWYtbGluZSBcCgkgIC0tY2FzZS1icmFjZS1pbmRlbnRhdGlvbjAgXAoJICAtLWNhc2UtaW5kZW50YXRpb24yIFwKCSAgLS1icmFjZXMtYWZ0ZXItc3RydWN0LWRlY2wtbGluZSBcCgkgIC0tbGluZS1sZW5ndGg4MCBcCgkgIC0tbm8tdGFicyBcCgkgIC0tY3VkZGxlLWVsc2UgXAoJICAtLWRvbnQtbGluZS11cC1wYXJlbnRoZXNlcyBcCgkgIC0taG9ub3VyLW5ld2xpbmVzIFwKCSAgLS1jb250aW51YXRpb24taW5kZW50YXRpb240IFwKCSAgLS10YWItc2l6ZTggXAoJICAtLWluZGVudC1sZXZlbDIiCgoyMDA5LTAyLTAzIDE4OjU4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzMwOS85MDZdIFJlcGxheTogRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzCgkgIEFsdGhvdWdodCB0aGUgWEV2ZW50J3MgeGNsaWVudC5kYXRhLmwgYXJyYXkgaXMgYW4gYXJyYXkgb2YKCSAgbG9uZ3MgdGhleSB3aWxsIGJlIGNvbnN0cmFpbmVkIHRvIDMyIGJpdCBieSB0aGUgWDExIHByb3RvY29sLgoJICBPbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcyB1c2UgdHdvIGVsZW1lbnRzIG9mIHRoZSBhcnJheSB0byBzdG9yZQoJICBvbmUgcG9pbnRlci4KCSAgVGhpcyBmaXhlcyBzZWdmYXVsdHMgdGhhdCBoYXBwZW4gYXQgbGVhc3QgZm9yIGV2ZXJ5IGV4YW1wbGUKCSAgb24gc3RhcnR1cC4KCjIwMDktMDItMDUgMTM6MTM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbG92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzMwOC85MDZdIFJlbmFtZSBnbHBpeGJ1Zm92ZXJsYXkgdG8gZ2xvdmVybGF5CgoyMDA5LTAyLTA0IDE2OjU3OjE0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDcvOTA2XSBSZW1vdmUgY29uZGl0aW9uYWxzIG9uIGdka3BpeGJ1ZgoKMjAwOS0wMi0wOCAwMTo1MDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzMwNi85MDZdIGZpeCBDTWFrZSBidWlsZCBhbmQgZnJvemVuIENvZGVCbG9ja3MgYnVpbGQKCjIwMDktMDItMDcgMjE6MTk6MjQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMzA1LzkwNl0gQ01ha2UgYnVpbGQgbm93IGNoZWNrcyBmb3IgbGlicG5nCgoyMDA5LTAyLTA1IDE5OjU5OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFszMDQvOTA2XSBvbmx5IGxvYWQgUkdCQSBmaWxlcy5wbmcKCjIwMDktMDItMDQgMTY6MTg6MTUgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMzAzLzkwNl0gQWRkIGxpYnBuZyBkZXBlbmRlbmN5CgoyMDA5LTAxLTI2IDE2OjMwOjIyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkgIFszMDIvOTA2XSBGaXggc29tZSB3YXJuaW5ncwoKMjAwOS0wMS0yMyAwMjowNDoyMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvcGl4YnVmZHJvcC5jOgoJICBbMzAxLzkwNl0gZGVwZW5kcyBvbiBsaWJwbmcgaW5zdGVhZCBvZiBnZGtfcGl4YnVmCgoyMDA5LTAxLTIyIDAyOjE5OjMxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzMwMC85MDZdIHVzZSBsaWJwbmcgaW4gZ2xwaXhidWZvdmVybGF5IGZpbHRlci4KCjIwMDktMDEtMjIgMDE6MTY6MzggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjk5LzkwNl0gdXNlIGxpYnBuZyB0byBsb2FkIHRoZSBub3JtYWwgbWFwIGluc3RlYWQgb2YgdXNpbmcgZ2RrcGl4YnVmCgoyMDA5LTAyLTEwIDIxOjU3OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5OC85MDZdIFJldmVydCAiRml4IGluZGVudGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA5NmU0YWIxOGMyY2Y5ODc2ZjZjMDMxYjlhYmE2MjgyZDBiZDQ1YTkzLgoJICBZb3Ugc2hvdWxkIGhhdmUgYXNrZWQgZmlyc3QuICBBbmQgeW91IHdvdWxkIGhhdmUgYmVlbiB0b2xkICJubyIsCgkgIGJlY2F1c2UgaXQgY2F1c2VzIHBlb3BsZSBvbiBkZXZlbG9wbWVudCBicmFuY2hlcyB0byBkbyBhIGh1Z2UKCSAgYW1vdW50IG9mIGV4dHJhIHdvcmsuCgoyMDA5LTAyLTEwIDIxOjU3OjA4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ny85MDZdIFJldmVydCAiRml4IGNhbGxiYWNrcyBwYXNzZWQgb3ZlciBYRXZlbnRzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDI4MDc3MWQwOWI1ODYxN2IyNzIwMTAyN2RlMGUxMTk0ZGEzNzZlNzIuCgoyMDA5LTAyLTAzIDE4OjU4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI5Ni85MDZdIEZpeCBjYWxsYmFja3MgcGFzc2VkIG92ZXIgWEV2ZW50cyBvbiA2NCBiaXQgYXJjaGl0ZWN0dXJlcwoJICBBbHRob3VnaHQgdGhlIFhFdmVudCdzIHhjbGllbnQuZGF0YS5sIGFycmF5IGlzIGFuIGFycmF5IG9mCgkgIGxvbmdzIHRoZXkgd2lsbCBiZSBjb25zdHJhaW5lZCB0byAzMiBiaXQgYnkgdGhlIFgxMSBwcm90b2NvbC4KCSAgT24gNjQgYml0IGFyY2hpdGVjdHVyZXMgdXNlIHR3byBlbGVtZW50cyBvZiB0aGUgYXJyYXkgdG8gc3RvcmUKCSAgb25lIHBvaW50ZXIuCgkgIFRoaXMgZml4ZXMgc2VnZmF1bHRzIHRoYXQgaGFwcGVuIGF0IGxlYXN0IGZvciBldmVyeSBleGFtcGxlCgkgIG9uIHN0YXJ0dXAuCgoyMDA5LTAyLTAzIDE4OjMzOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0aWRlbnRpdHkuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzaW4uYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVhcmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3R4cmF5LmM6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzI5NS85MDZdIEZpeCBpbmRlbnRpb24KCjIwMDktMDItMDMgMTE6MjM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjk0LzkwNl0gRml4IGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgYnkgdXNpbmcgR19HVUlOVDY0X0ZPUk1BVAoKMjAwOS0wMS0xNSAxODozOTo0OCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjkzLzkwNl0gbWluaW1hbCBndGsgZG9jCgoyMDA5LTAxLTA5IDE3OjQ2OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BodXRjaC0yLmxvY2FsPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMjkyLzkwNl0gQWRkICdleHRlcm4nIGZvciBkYXRhIHN5bWJvbHMgaW4gaGVhZGVycwoKMjAwOS0wMS0wOSAxNzoyMDoyNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyOTEvOTA2XSBBZGQgY2hlY2sgZm9yIEdMRVdfRVhUX2ZyYW1lYnVmZmVyX29iamVjdAoKMjAwOS0wMS0wOCAxOToxODo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsyOTAvOTA2XSBTZXQgR0xfTElCUyBjb3JyZWN0bHkgaW4gY29uZmlndXJlLmFjCgkgIFRoaXMgZG9lc24ndCBkZXRlY3QgdGhlIGV4aXN0ZW5jZSBvZiBsaWJyYXJpZXMsIHdoaWNoIG5lZWRzIHRvCgkgIGJlIGZpeGVkLgoKMjAwOS0wMS0wNyAxOToxMTowMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI4OS85MDZdIGJ1aWxkIGZpeGVzIGZvciBXaW5kb3dzIGxpYnJhcmllcwoKMjAwOC0xMi0xNCAxMjowNjowNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyODgvOTA2XSBhZGQgbW9yZSBkZWJ1ZyBvdXB1dHMgYWJvdXQgR0xTTCBhbmQgbWVzYQoKMjAwOC0xMi0xMyAxOTozNjozMiAtMDUwMCAganVsaWVuIDxqdWxpZW5AanVsaWVuLWRlc2t0b3AuKG5vbmUpPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjg3LzkwNl0gZml4IGEgcmVncmVzc2lvbiBhYm91dCBnbFhDaG9vc2VWaXN1YWwgd2hpY2ggZmFpbGVkIHdoZW4gdXNpbmcgbWVzYSwgc28gYXR0cmlidXRlcyBtdXN0IGJlIGxlc3MgcmVzdHJpY3RpdmVzLgoKMjAwOC0xMi0xMyAwMDo1MDoxNiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfd2luMzIuYzoKCSAgWzI4Ni85MDZdIFt3aW4zMl0gUmVnaXN0ZXIgd2luZG93IGNsYXNzIGluIGdzdF9nbF93aW5kb3dfY2xhc3NfaW5pdAoKMjAwOC0xMi0wNyAwMzoyNTo1OSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMjg1LzkwNl0gZml4IGdsIGZyYW1lcmF0ZSBpbiBnc3QgY2Fwcy4gQ29uc2lkZXIgcG9zaXRpb24gaW4geG92ZXJsYXkuIEZpeCBpbnZlcnNpb24gYmV0dHdlZW4gQ09MUyBhbmQgUk9XUywgYW5kIG1vdmUgd2luZG93cy4KCjIwMDgtMTEtMjkgMjI6MTY6NDQgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODQvOTA2XSB3b3JrYXJvdW5kIGFib3V0IHRoZSBBVEkgc2hhZGVyIGNvbXBpbGVyIG9uIGxpbnV4IChzZXRsb2NhbGUpCgoyMDA4LTExLTI1IDAxOjAxOjAxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI4My85MDZdIGJldHRlciByZXN1bHQgaW4gY3ViZSBhbmQgZG91YmxlY3ViZSBleGFtcGxlLiBBbmQgc29tZSBjbGVhbiB1cCBkZWJ1ZyBhbmQgY29tbWVudHMKCjIwMDgtMTEtMjMgMTY6MTQ6MjYgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjgyLzkwNl0gdXBkYXRlIENNYWtlIGJ1aWxkCgoyMDA4LTExLTIzIDE2OjA0OjI3ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyODEvOTA2XSBNYWtlIGN1YmUgZXhhbXBsZSB3b3JrIG9uIHgxMS4gRmluaXNoIFRPRE8gdGFzayA5LgoKMjAwOC0xMS0yMiAxNjo0MzoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjgwLzkwNl0gUmVtb3ZlIHNldF92aXNpYmxlLCBiZWNhdXNlIGl0J3Mgbm93IGF1dG9tYXRpY2FsbHkgZG9uZSB3aGVuIHRoZSBmaXJzdCBwb3N0IHJlZGlzcGxheSBjb21lcy4KCjIwMDgtMTEtMjIgMDA6NTE6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc5LzkwNl0gZmluaXNoIHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5faWQpOiBjaGlsZCBpcyByZXNpemVkIGF0IHRoZSBzYW1lIHRpbWUgYXMgdGhlIHBhcmVudCBpcy4KCjIwMDgtMTEtMjEgMjA6NTE6NDggKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjc4LzkwNl0gSW1wbGVtZW50IHNldF94d2luZG93X2lkIChnc3RfZ2xfd2luZG93X3NldF9leHRlcm5hbF93aW5kb3dfaWQpLgoKMjAwOC0xMS0yMSAxOTozNzoyMSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzcvOTA2XSBvcGVuIHggY2xpZW50IGNvbm5lY3Rpb24gZm9yIHNlbmRlciBvbmx5IGF0IHN0YXJ0IHVwCgoyMDA4LTExLTIxIDE5OjExOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Ni85MDZdIGJldHRlciBkZWFsIHdpdGggbGFzdCBwZW5kaW5nIGN1c3RvbSBjYiBhbmQgZGVzdHJveV9jb250ZXh0X2NiCgoyMDA4LTExLTIxIDAxOjMxOjE5ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzUvOTA2XSBNYWtlIHN1cmUgdGhlIGdsIHJlc3NvdXJlcyBhcmUgZGVzdHJveWVkIGJlZm9yZSB0byBkZXN0cm95IGdsIHdpbmRvdwoKMjAwOC0xMS0yMCAwMToyNDoxMCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3NC85MDZdIGFkZCBzb21lIG90aGVyIGRlYnVnIG91dHB1dHMgYW5kIGNoZWNrcwoKMjAwOC0xMS0xOSAwMDowNzoyMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMjczLzkwNl0gYWRkIHNvbWUgZGVidWcgb3V0cHV0cyBhYm91dCBWaXN1YWwgYW5kIFhWaXN1YWxJbmZvCgoyMDA4LTExLTE3IDAxOjA0OjMyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI3Mi85MDZdIGFkZCBhIHZpc2libGUgbWVtYmVyIHRvIGRlYWwgYmV0dGVyIHdpdGggdGhlIGZpcnN0IGV4cG9zZSBldmVudHMKCjIwMDgtMTEtMTYgMTY6NTc6MDAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjcxLzkwNl0gcmV2ZXJ0IGxhc3QgY29tbWl0IGJlY2F1c2UgdGhlIGNyYXNoIGNvbWVzIGZyb20gbGlic2VsaW51eAoKMjAwOC0xMS0xNSAyMzozMjowNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNzAvOTA2XSBmaXggdXNlIG9mIGRpZmZlcmVudCBEaXNwbGF5IHN0cnVjdHVyZXMgd2hpY2ggcG9pbnQgb24gdGhlIHNhbWUgZGlzcGxheSBuYW1lCgoyMDA4LTExLTE1IDE4OjUxOjQ0ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2OS85MDZdIEJldHRlciBkZWFsIHdpdGggWE5leHRFdmVudCBhbmQgWFNlbmRFdmVudAoKMjAwOC0xMS0xNSAwMjoyNDowNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjgvOTA2XSBCZXR0ZXIgZGVhbCB3aXRoIEF0b21zCgoyMDA4LTExLTE0IDAxOjAwOjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2Ny85MDZdIEdldCByaWRlIG9mIGNhbGxpbmcgc2xlZXAgaW4gZ2wgdGhyZWFkIFggbG9vcAoKMjAwOC0xMS0xMyAwMjowNTozMyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyNjYvOTA2XSBzZWN1cmUgY2xvc2Ugd2hlbiBjbGlja2luZyBvbiB0aGUgY3Jvc3MKCjIwMDgtMTEtMTMgMDE6Mjk6MTAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgWzI2NS85MDZdIENSTEYgLT4gTEYKCjIwMDgtMTEtMTMgMDE6MjM6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSAgWzI2NC85MDZdIFJld3JpdGUgZ3N0Z2x3aW5kb3dfeDExLmMgYmVjYXVzZSBYIEFQSSBpcyBub3QgdGhyZWFkIHNhZmUuCgoyMDA4LTExLTExIDAzOjE5OjUxICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2My85MDZdIGRpc2NhcmQgeCBjdXN0b20gbWVzc2FnZXMgd2hpY2ggYXJlIG9mIGRhdGUKCjIwMDgtMTEtMDkgMjM6MjM6MzAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzI2Mi85MDZdIFdvcmtzIG9uIGxpbnV4IGJ1dCBzdGlsbCBzb21lIGJ1Z3MuIEZpeCBhdXRvdG9vbHMgIGJ1aWxkLgoKMjAwOC0xMS0wOSAyMjoxNDoyOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3dfeDExLmM6CgkgIFsyNjEvOTA2XSBpbXBsZW1lbnQgcXVpdCB4IG1lc3NhZ2UgbG9vcAoKMjAwOC0xMS0wOSAwMjo0NDoyNSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI2MC85MDZdIHRyeSB0byBtYWtlIFhTZW5kRXZlbnQgYmxvY2tlciAoYXMgd2luMzIgU2VuZE1lc3NhZ2UgaXMpCgoyMDA4LTExLTA2IDIzOjQxOjExICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJICBbMjU5LzkwNl0gY29udGludWUgeCBpbXBsZW1lbnRhdGlvbiAoYnV0IHN0aWxsIG5vdCB0ZXN0ZWQpCgoyMDA4LTExLTA2IDAxOjI4OjI2ICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd194MTEuYzoKCSAgWzI1OC85MDZdIHNldHVwIHggbWVzc2FnZSBsb29wCgoyMDA4LTExLTA1IDAyOjA2OjMzICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3gxMS5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzI1Ny85MDZdIGJlZ2luIGdzdGdsd2luZG93X3gxMS5jIGltcGxlbWVudGF0aW9uCgoyMDA4LTEwLTI5IDIzOjUzOjIyICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzI1Ni85MDZdIGZpeCBDTWFrZSBhbiBDb2RlQmxvY2tzIGJ1aWxkcwoKMjAwOC0xMC0yOCAyMTo0NDowOSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjU1LzkwNl0gZml4IHdpbmRvdyBjbG9zdXJlIHdoZW4gdXNpbmcgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoKMjAwOC0xMC0yOCAwMTozODo0NSArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2x3aW5kb3cuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTQvOTA2XSBCZXR0ZXIgaGFuZGxlIHdoZW4gdGhlIHBhcmVudCB3aW5kb3cgaXMgcmVzaXppbmcsIGFuZCBjbGVhbnVwIHNvbWUgY29kZQoKMjAwOC0xMC0yOCAwMDoyMjoyNyArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUzLzkwNl0gd2luMzI6IHJlLWltcGxlbWVudCBzdXBwb3J0cyBmb3IgZ3N0IHhvdmVybGF5IGludGVyZmFjZSwgb24gdGhpcyBicmFuY2gKCjIwMDgtMTAtMjUgMTY6MTg6MjMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjUyLzkwNl0gYXZvaWQgYSBkZWFkIGxvY2sgb24gd2luZG93IGNsb3N1cmUKCjIwMDgtMTAtMjUgMDI6MDM6MTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjUxLzkwNl0gUHJvcGVybHkgY2xlYW4gT3BlbkdMIGNvbnRleHRzCgoyMDA4LTEwLTI0IDAxOjM5OjAwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93X3dpbjMyLmM6CgkgIFsyNTAvOTA2XSB3aW4zMjogYmFzaWMgc3R1ZmZzIGFyZSB3b3JraW5nIG5vdyBvbiB0aGlzIGJyYW5jaCB3aXRoIHRoaXMgbmV3IGRlZXAgZGVzaWduIChnc3RnbHdpbmRvdykKCjIwMDgtMTAtMjMgMDE6NDA6NTIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsd2luZG93Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHdpbmRvd193aW4zMi5jOgoJICBbMjQ5LzkwNl0gYmVnaW4gR3N0R0xXaW5kb3cgaW4gb3JkZXIgdG8gdG90YWxseSByZW1vdmUgZ3N0ZnJlZWdsdXQKCjIwMDgtMTAtMTYgMjM6NDc6MDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSAgWzI0OC85MDZdIGZpeCBtc3ZjIHdhcm5pbmdzIGFuZCB1cGRhdGUgQ01ha2UgYnVpbGQsIHdpbjMyIENvZGVCbG9ja3MgYnVpbGQgYW5kIHZzOCBidWlsZAoKMjAwOC0xMC0xNSAxNjoxODoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHhyYXkuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsyNDcvOTA2XSBJbXBvcnQgeHJheSBlZmZlY3QKCSAgQWRkIHhyYXkgZWZmZWN0LiBNYXBzIGx1bWEgdG8gYSBuZWdhdGl2ZSwgc2xpZ2h0bHkgY3lhbiB0aW50ZWQsIGN1cnZlLAoJICBhcHBsaWVzIHNvbWUgbGlnaHQgZ2F1c3NpYW4gYmx1ciBhbmQgbXVsdGlwbGllcyBpdCB3aXRoIGl0cyBzb2JlbCBlZGdlcy4gTm90CgkgIHN1cmUgYWJvdXQgdGhlIG5hbWUsIGxpa2VseSB0byBjaGFuZ2UuIFByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgdHVuaW5nLgoKMjAwOC0xMC0xNSAxNjoxNDo1MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSAgWzI0Ni85MDZdIEFkZCBtdWx0aXBseSBmcmFnbWVudCBzaGFkZXIKCSAgQWRkIGEgZnJhZ21lbnQgc2hhZGVyIHRvIGJsZW5kIHR3byB0ZXh0dXJlcyB3aXRoIG11bHRpcGx5IGJsZW5kIG1vZGUKCjIwMDgtMTAtMTUgMTU6NDk6MTIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJzb2JlbC5jOgoJICBbMjQ1LzkwNl0gQWRkIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbCBmaWx0ZXIKCSAgQWRkIGFuIGludmVydCBwcm9wZXJ0eSB0byBzb2JlbF9mcmFnbWVudF9zb3VyY2UgYW5kIFNvYmVsIGZpbHRlci4gVXNlZnVsCgkgIHRvIGhhdmUgZGFyayBlZGdlcyB3aXRoIHdoaXRlIGJhY2tncm91bmQuCgoyMDA4LTEwLTE1IDEyOjUwOjA3ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5oOgoJICBbMjQ0LzkwNl0gTWFrZSBsdW1hX3RvX2N1cnZlIG5vbi1zdGF0aWMKCSAgTWFrZSBsdW1hX3RvX2N1cnZlIHB1YmxpYyBzbyB0aGF0IGl0IGNhbiBiZSB1c2VkIGFzIGEgc3RlcCBmb3IgbW9yZQoJICBjb21wbGV4IGVmZmVjdHMuCgoyMDA4LTEwLTE1IDEyOjQyOjI5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzI0My85MDZdIFN1cHBvcnQgZm9yIG1pc3NpbmcgdmlkZW9mb3JtYXRzIGluIGdsdXBsb2FkCgkgIEFkZCBzdXBwb3J0IGZvciBtaXNzaW5nIGFscGhhIGNoYW5uZWxlZCB2aWRlb2Zvcm1hdHMgKFJHQkEsIEJHUkEsCgkgIEFSR0IsIEFCR1IpIGluIGdzdF9nbF9kaXNwbGF5X2RvX3VwbG9hZF9maWxsLgoKMjAwOC0xMC0xMyAyMzoxNDoyNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSAgWzI0Mi85MDZdIEZpeCBjcmFzaCBpbiBmaWx0ZXJzIHdoZW4gZ29pbmcgdG8gTlVMTCB3aXRoIG5vIGRpc3BsYXkKCjIwMDgtMTAtMTEgMTE6NDU6NTQgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjQxLzkwNl0gZml4IENNYWtlIGJ1aWxkCgoyMDA4LTEwLTA0IDIyOjM0OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkgIFsyNDAvOTA2XSBCdWlsZCBndGstZG9jcyBmb3IgcGx1Z2lucy4KCSAgQWRkIGluY2x1ZGUgdG8gb3RoZXJ3aXNlIGVtcHR5IC50eXBlcyBmaWxlIHRvIGZpeCB0aGUgc2Nhbm5lciBidWlsZC4KCSAgRWRpdCBNYWtlZmlsZS5hbSwgLnNlY3Rpb25zLCAtZG9jcy5zZ21sIHRvIHNjYW4gYWxsIHBsdWdpbnMgYW5kIGluY2x1ZGUKCSAgdGhlbSBpbiB0aGUgbWFzdGVyIGZpbGUuIEZpeCB4bWwgZXJyb3JzIGluIHR3byBzb3VyY2VzIChtaXNzaW5nIGNsb3NpbmcKCSAgdGFnKS4KCjIwMDgtMDktMjkgMjM6NDU6MTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xidW1wZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM5LzkwNl0gc3RhcnQgdG8gd3JpdGUgdGhlIGd0ayBkb2MKCjIwMDgtMDktMjUgMjI6MjU6MjkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJnbGFzcy5jOgoJICBbMjM4LzkwNl0gZml4IGdsZmlsdGVyZ2xhc3MgKHJlYXNvbjogdmlkZW90ZXN0c3JjIHJnYiBpcyBieSBkZWZhdWx0IGJwcD0zMiwgZGVwdGg9MjQsIHNvIGFscGhhIGNoYW5uZWwgaXMgMCkKCjIwMDgtMDktMjQgMTk6MzI6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJICBbMjM3LzkwNl0gdXBkYXRlIGNtYWtlIGJ1aWxkIGFuZCB0aGUgMiBmcm96ZW4gd2luMzIgYnVpbGRzIChDb2RlQmxvY2tzLCB2czgpCgoyMDA4LTA5LTIzIDEwOjM3OjU4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyc29iZWwuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjM2LzkwNl0gaW1wb3J0IHNvYmVsIGVkZ2UgZGV0ZWN0b3IgZnJvbSBjdnMgYnJhbmNoCgoyMDA4LTA5LTI0IDAyOjA3OjQxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkgIFsyMzUvOTA2XSBjYW4gdXNlIHNldmVyYWwgR19MT0dfRE9NQUlOcyBhbmQgR1NUX0NBVGVnb3JpZXMsIHdpdGggbXN2YzgKCjIwMDgtMDktMjIgMDk6NDc6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjM0LzkwNl0gdXNlIHJpZ2h0IGJsZW5kaW5nIGZ1bmN0aW9uIHdpdGggcGl4YnVmIG92ZXJsYXkKCjIwMDgtMDktMjEgMTA6NTg6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjMzLzkwNl0gbm8gbmVlZCB0byBleHBsaWNpdCBzZXQgdGhlIGRlYnVnIGNhdGVnb3J5IGlmIGRlZmF1bHQgb25lIGlzIHVzZWQKCjIwMDgtMDktMjEgMTA6MDQ6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHJnYnRvY3VydmUuYzoKCSAgWzIzMi85MDZdIHVzZSB0ZXh0dXJlMSBmb3IgY3VydmUgdGV4dHVyZXMKCjIwMDgtMDktMjEgMTk6MjY6MzcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL0NNYWtlTGlzdHMudHh0OgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmdsYXNzLmg6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzIzMS85MDZdIEFkZCBhIGdsZmlsdGVyZ2xhc3MgaW5zcGlyZWQgZnJvbSBodHRwOi8vd3d3Lm1kay5vcmcucGwvMjAwNy8xMS8xNy9nbC1jb2xvcnNwYWNlLWNvbnZlcnNpb25zCgoyMDA4LTA5LTIxIDE2OjQwOjM4ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5jOgoJICBbMjMwLzkwNl0gZXhwbGljaXQgY2hlY2sgZ19nZXRlbnYgcmV0dXJuIHZhbHVlIHRvIGJlIG5vdCBOVUxMCgoyMDA4LTA5LTIwIDE1OjQ0OjI0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMjkvOTA2XSB1cGRhdGUgYXV0aG9ycyBmcm9tIHRoZSBDVlMgcmVwb3NpdG9yeQoKMjAwOC0wOS0yMCAxNDoxMjo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSAgWzIyOC85MDZdIG91dHB1dCBzaGFkZXJzIGluZm8gbG9nIG9ubHkgaWYgR1NUX0dMX1NIQURFUl9ERUJVRyBlbnYgdmFyaWFibGUgaXMgc2V0LiBTaG91bGQgZml4IFRPRE8gdGFzayAxOAoKMjAwOC0wOS0xOSAxMjo0NzowNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGx1bWF0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cmdidG9jdXJ2ZS5jOgoJICBbMjI3LzkwNl0gZXhwbGljaXRseSBiaW5kIHRoZSBtYWluIHRleHR1cmUgYW5kIHRoZSBjdXJ2ZSBvbmUgdG8gc2VwYXJhdGUgdW5pdHMgaW4gcmdiIGFuZCBsdW1hIHRvIGN1cnZlIGVmZmVjdHMuIFRoaXMgc2hvdWxkIHNvbHZlIHRoZSBpc3N1ZSBwb2ludGVkIGluIFRPRE8gaXRlbSAyMS4KCjIwMDgtMDktMTggMjI6NTA6MDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjI2LzkwNl0gY2hlY2sgb24gd2luMzIgdGhhdCBldmVyeSB0ZXN0cy9waXBlbGluZXMgYW5kIHRlc3RzL2V4YW1wbGVzIChnZW5lcmljLCBndGssIHF0KSBzdGlsbCB3b3JrCgoyMDA4LTA5LTE4IDIxOjEzOjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyNS85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gdGhhdCBtYWRlIHRoZSBnbHRlc3RzcmMgZWxlbWVudCBub3Qgd29ya2luZwoKMjAwOC0wOS0xNiAwMjoxMDozMSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjQvOTA2XSBmaXggYSByZWdyZXNzaW9uIGFib3V0IE1FU0EgWUNiQ3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDA4LTA5LTE0IDIzOjIyOjU4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMy85MDZdIGZpeCBhIHJlZ3Jlc3Npb24gKHNvbWV0aW1lcyBhIEZCTyBpcyBuZWVkZWQgZXZlbiBpZiB0aGUgdmlkZW8gc291cmNlIGlzIHJnYikKCjIwMDgtMDktMTQgMTk6NTY6NTAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsyMjIvOTA2XSBGaW5pc2ggVE9ETyB0YXNrIDE3CgoyMDA4LTA5LTEzIDE5OjQ3OjQ0ICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMjEvOTA2XSBmaXggZ19pbnRfaGFzaCAtPiBnX2RpcmVjdF9oYXNoCgoyMDA4LTA5LTEzIDE4OjE3OjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIyMC85MDZdIFVzZSBhIGJldHRlciBrZXkgZm9yIHRoZSBwb29sIG9mIHRleHR1cmVzCgoyMDA4LTA5LTEzIDAzOjMyOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzIxOS85MDZdIFVzZSBhIGdzdCBkZWJ1ZyBjYXRlZ29yeSBmb3IgR3N0R0xEaXNwbGF5IGluc3RlYWQgb2YgZ19wcmludCwgZ3N0LWxhdW5jaC0wLjEwIC0tZ3N0LWRlYnVnPWdsZGlzcGxheTozIHZpZGVvdGVzdHNyYyAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA5LTEyIDAxOjEzOjUwICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzIxOC85MDZdIFRoZSBDTWFrZSBidWlsZCBub3cgd29ya3Mgb24gbXkgS3VidW50dS1LREU0LjEuMQoKMjAwOC0wOS0xMSAwMjowNzoxMiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvQ01ha2VMaXN0cy50eHQ6CgkqIGdzdC9nbC9DTWFrZUxpc3RzLnR4dDoKCSAgWzIxNy85MDZdIEFkZCBjbWFrZSBidWlsZCBodHRwOi8vd3d3LmNtYWtlLm9yZy4gU2VlIENNYWtlIGluc3RhbGwgaW5zdHJ1Y3Rpb25zIGluIHRoZSBJTlNUQUxMIGZpbGUuIChJIGhhdmUgbm90IGNvcnJlY3RseSBjb25maWd1cmVkIHlldCB0aGUgQ01ha2UgYnVpbGQgZm9yIHVuaXgsIEJFIHBhdGllbnQpCgoyMDA4LTA5LTA3IDE3OjQ0OjQyICswMjAwICBKdWxpZW4gPGp1bGllbkBib3dvYi4obm9uZSk+CgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTYvOTA2XSBmaXggZ2xidW1wZXIgcmVsYXRlZCBndGsgZGVwZW5kZW5jaWVzCgoyMDA4LTA5LTA3IDE0OjE3OjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMjE1LzkwNl0gZ2xidW1wZXIgaXMgY29tcGlsZWQgb25seSB3aGVuIGhhdmluZyBHZGtQaXhCdWYuIEFuZCB1cGRhdGUgd2luMzIgY29kZWJsb2NrcyBidWlsZAoKMjAwOC0wOS0wNyAwMTozODoxMCArMDIwMCAganVsaWVuIFVzZXIgPGp1bGllbkB1YnVudHUudWJ1bnR1LWRvbWFpbj4KCgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5jOgoJICBbMjE0LzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQgb24gbGludXggYW5kIGZpeCBhIHdhcm5pbmcKCjIwMDgtMDktMDcgMDE6MjM6MTkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsYnVtcGVyLmM6CgkqIGdzdC9nbC9nc3RnbGJ1bXBlci5oOgoJICBbMjEzLzkwNl0gZm9yZ290IHRvIGFkZCB0aGUgYnVtcGVyIGZpbGVzCgoyMDA4LTA5LTA3IDAwOjQ1OjM0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xzaGFkZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmg6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsyMTIvOTA2XSBhZGQgYSBnbGJ1bXBlciAoYnVtcCBtYXBwaW5nIGZpbHRlciB0aHJvdWdoIEdMU0wpIHRoYXQgZXhwb3NlcyBob3cgdG8gdXNlIGJvdGggdmVydGV4IGFuZCBmcmFnbWVudCBzaGFkZXJzCgoyMDA4LTA4LTI1IDEwOjM0OjU0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIxMS85MDZdIEZpeCB1cGxvYWQgQVlVViBhbmQgWVYxMiAoYSByZWdyZXNzaW9uIGluIGxhc3QgY29tbWl0cykKCjIwMDgtMDgtMjQgMTY6MzM6MjYgKzAyMDAgIGp1bGllbiBVc2VyIDxqdWxpZW5AdWJ1bnR1LnVidW50dS1kb21haW4+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMTAvOTA2XSBnZXQgcmlkZSBvZiBhIHdyb25nIGNvbG9yIG9uIG52aWRpYS9saW51eCB3aGVuIGNvbnZlcnRpbmcgeXYxMiB0byByZ2IgdGhyb3VnaCBHTFNMCgoyMDA4LTA4LTI0IDE1OjM5OjE0ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjA5LzkwNl0gZml4IHdhcm5pbmdzCgoyMDA4LTA4LTI0IDA0OjI0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwOC85MDZdIGZpeCB1cGxvYWQgQVlVViwgcmVncmVzc2lvbiBkdXJpbmcgdGhlIDIgbGFzdCBjb21taXRzCgoyMDA4LTA4LTI0IDAzOjM4OjQwICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwNy85MDZdIG91cHMsIGZpeCBteSBtaXN0YWtlIG9uIGxhc3QgY29tbWl0CgoyMDA4LTA4LTI0IDAzOjEyOjEyICswMjAwICB1bmtub3duIDxMdWNALihub25lKT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvQlVHUzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMjA2LzkwNl0gRG8gbm90IHVzZSBmcmFtZSBidWZmZXIgb2JqZWN0IHdoZW4gImlucHV0IHZpZGVvIGlzIFJHQiIgb3Igd2hlbiAiR0xTTCBpcyBub3QgYXZhaWxhYmxlIGFuZCBZQ2JDciBpcyBhdmFpbGFibGUiLiBTbyBmcmFtZSBidWZmZXIgb2JqZWN0IGlzIG5vdCBhIHBsdWdpbiByZXF1aXJlbWVudCBhbnltb3JlLiBTbyBJIGRlY3JlYXNlZCB0aGUgT3BlbmdHTCB2ZXJzaW9uIGZyb20gMS40IHRvIDEuMiAobWF5YmUgbGVzcz8pCgoyMDA4LTA4LTIxIDExOjEyOjQyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMjA1LzkwNl0gdXNlIGEgR0hhc2ggIHRhYmxlIGluc3RlYWQgb2YgYSBHRGF0YSBmb3IgdGhlIHRleHR1cmUgcG9vbAoKMjAwOC0wOC0yMCAxNTo0Nzo1MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsyMDQvOTA2XSBnZXQgcmlkZSBvZiBhIGJ1ZyBvbiBBVEkgcmVsYXRlZCB0byBZVjEyIHRvIHJnYiBjb252ZXJzaW9uIHRocm91Z2ggR0xTTCBhbmQgYWRkIGFuIGV4YW1wbGUKCjIwMDgtMDgtMjAgMTA6MDI6MDIgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJICBbMjAzLzkwNl0gdXNlIG9wZW5nbCBmb3IgcGl4YnVmIHJlc2l6aW5nIGluIGdscGl4YnVmb3ZlcmxheSwgc3RhcnQgdG8gd29yayBvbiBwcm9wZXJ0aWVzCgoyMDA4LTA4LTIwIDA5OjI2OjQ2ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzIwMi85MDZdIHVzZSBmaXhlZCBvcGVuZ2wgcGlwZWxpbmUgZm9yIGdscGl4YnVmb3ZlcmxheSAoYW55IGRyYXdiYWNrPykKCjIwMDgtMDgtMjAgMDk6MjQ6NTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMjAxLzkwNl0gZml4IGEgc2lnbmVkbmVzcyB3YXJuaW5nCgoyMDA4LTA4LTIwIDAwOjExOjM5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzIwMC85MDZdIGdldCByaWRlIG9mIGEgQVRJIGJ1ZyByZWxhdGVkIHRvIEdMU0wgY29sb3JzcGFjZSBjb252ZXJzaW9uIGZvciBJNDIwIGFuZCBZVjEyIHRvIHJnYgoKMjAwOC0wOC0xOSAyMjoxNToxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OS85MDZdIGFkZCBwaXhidWZkcm9wIHZzOCBwcm9qZWN0CgoyMDA4LTA4LTE5IDIxOjA0OjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5OC85MDZdIGFkZCBmeHRlc3QgdnM4IHByb2plY3QKCjIwMDgtMDgtMTkgMTE6MDc6MTggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTk3LzkwNl0gU2hhZGVycyB3aGljaCBhcmUgaW4gdGhlIHNoYWRlcnN0YWJsZSBhcmUgbm93IHJlbGVhc2VkCgoyMDA4LTA4LTE5IDA5OjQ4OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTk2LzkwNl0gZml4IGEgZGlmZmVyZW5jZW1hdHRlIG1lbW9yeSBpc3N1ZQoKMjAwOC0wOC0xOSAwODo1MDoxNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L3BpeGJ1ZmRyb3AuYzoKCSAgWzE5NS85MDZdIGZpeCBnc3RnbGRpZmZlcmVuY2VtYXR0ZSBhbmQgYWRkIGFuIGV4YW1wbGUgYXBwIHRvIHRlc3QgaXQgZHJhZ2dpbmcgYW4gaW1hZ2Ugb3ZlciB0aGUgdmlkZW8gKHdvcmtzIHdpdGggcGl4YnVmb3ZlcmxheSB0b28sIHNlZSBwaXhidWZkcm9wIC0taGVscCkKCjIwMDgtMDgtMTggMjE6NTA6MDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSAgWzE5NC85MDZdIGFub3RoZXIgdHlwbywgcmVzdG9yZSBvbGQgdHdpcmwgZnJhZ21lbnQgc291cmNlCgoyMDA4LTA4LTE4IDIxOjQzOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2dzdGdsZGlmZmVyZW5jZW1hdHRlLmM6CgkgIFsxOTMvOTA2XSBmaXggdHlwb3MKCjIwMDgtMDgtMTggMjE6NDA6MjYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGRpZmZlcmVuY2VtYXR0ZS5jOgoJICBbMTkyLzkwNl0gY29tcGxldGUgZGlmZmVyZW5jZW1hdHRlIGZpbHRlci4uIEkgZGlkIGl0IHF1aWNrbHksIHByb2JhYmx5IHN0aWxsIG5lZWRzIHNvbWUgd29yawoKMjAwOC0wOC0xOCAyMDoyNToyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xkaWZmZXJlbmNlbWF0dGUuYzoKCSogZ3N0L2dsL2dzdGdscGl4YnVmb3ZlcmxheS5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxOTEvOTA2XSBsaXR0bGUgY2xlYW51cC4gYWRkIGZpcnN0IGRyYWZ0IG9mIGdzdGdsZGlmZmVyZW5jZW1hdHRlLiBzdGlsbCBkb2Vzbid0IHdvcmsKCjIwMDgtMDgtMTggMTg6NTM6MTMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxOTAvOTA2XSBmb3JjZSBjYWxsaW5nIGdsaW1hZ2VzaW5rLT5zdG9wKCkgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWQoKMjAwOC0wOC0xOCAxNzoxOTowNiArMDIwMCAgdW5rbm93biA8QWRtaW5pc3RyYXRldXJALihub25lKT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0YnVsZ2UuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RmaXNoZXllLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0Z2xvdy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdG1pcnJvci5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbHBpeGJ1Zm92ZXJsYXkuYzoKCSAgWzE4OS85MDZdIHVwZGF0ZSB2czggYnVpbGQgYW5kIGZpeCBzb21lIHdhcm5pbmdzIHRoYXQgY29tZXMgZnJvbSB2YzgKCjIwMDgtMDgtMTggMTY6MTY6NTggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xwaXhidWZvdmVybGF5LmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE4OC85MDZdIGFkZCBmaXJzdCBkcmFmdCBvZiBhIHBpeGJ1ZiBvdmVybGF5IGVsZW1lbnQuIGFkZCBtYWNyb3MgdG8gb3B0aW9uYWxseSBidWlsZCB0aGUgbGF0dGVyIGlmIGdkay1waXhidWYgaXMgZm91bmQKCjIwMDgtMDgtMTggMTE6NDg6NDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2x1dHRlci9jbHV0dGVyYWN0b3J0ZWUuYzoKCSAgWzE4Ny85MDZdIHJlbW92ZSBleHBvc2UgZXZlbnQgaGFuZGxpbmcsIGl0J3MgbWFwLXVubWFwIHRoYXQgaXMgbm90IGJlaGF2aW5nIGNvcnJlY3RseSwgYW55IGlkZWE/CgoyMDA4LTA4LTE4IDExOjA4OjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9ydGVlLmM6CgkgIFsxODYvOTA2XSBhZGQgZXhwb3NlIGV2ZW50IGhhbmRsaW5nIHRvIGNsdXR0ZXJhY3RvcnRlZQoKMjAwOC0wOC0xOCAxMDo1MDozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3Rvci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jbHV0dGVyL2NsdXR0ZXJhY3RvcnRlZS5jOgoJICBbMTg1LzkwNl0gYWRkIGNsdXR0ZXJhY3RvcnRlZSBleGFtcGxlLCBhIG5pY2UgZXhhbXBsZSBhYm91dCBob3cgY2x1dHRlciBjb3VsZCBiZSB1c2VkIHRvIGNyZWF0ZSBhIGxpdmUgcHJldmlldyB3aWRnZXQgZm9yIGdsZWZmZWN0cy4gSXQgdXNlcyB0ZXh0dXJlIGZyb20gcGl4bWFwLCBzdGlsbCBuZWVkcyBzb21lIHdvcmsgcmVnYXJkaW5nIGNsZWFuIGV4aXQgYW5kIGV4cG9zZSBldmVudCBtYW5hZ2VtZW50LgoKMjAwOC0wOC0xOCAwOTowNjowOSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkgIFsxODQvOTA2XSBhZGQgYSBjb3VwbGUgb2YgbWFjcm9zIHRvIGF1dG90b29scyB0byBjb21waWxlIHdpdGggdWludHJlcGlkIGF1dG9tYWtlLiByZW1vdmUgYXJyYXkgY29uc3RydWN0b3Igc28gd2UgZG9uJ3QgaGF2ZSB0byBkZXBlbmQgb24gZ2xzbCAjdmVyc2lvbiAxMjAuCgoyMDA4LTA4LTE3IDE3OjQ1OjUyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NsdXR0ZXIvY2x1dHRlcmFjdG9yLmM6CgkgIFsxODMvOTA2XSBhZGQgYW4gZXhhbXBsZSB0byB1c2UgdGV4dHVyZSBmcm9tIHBpeG1hcCB0byBkbyBzb21lIGtpbmQgb2YgeF9vdmVybGF5IG9uIGEgY2x1dHRlcmFjdG9yLiBBIGJldHRlciB3YXkgd291bGQgYmUgdG8gZGlyZWN0bHkgc2hhcmUgZ2wgaGFuZGxlcyBiZXR3ZWVuIGNsdXR0ZXIgYW5kIGdzdGdsIGJ1dCBzdGlsbCBJIGNhbm5vdCBmaW5kIGEgd2F5IHRvIGRvIGl0LgoKMjAwOC0wOC0xNyAxMjoyMTo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE4Mi85MDZdIGFkZCBhIGJldHRlciBzZXBpYSB0b25pbmcgY3VydmUKCjIwMDgtMDgtMTcgMDk6MjQ6MjQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJICBbMTgxLzkwNl0gYWRkIGEgdHJhbnNsYXRhYmxlIHN0cmluZyB0byB0ZXN0c3JjIHRvIGdldCByaWQgb2YgcG8gZGlyIGVycm9ycyBhZnRlciBkaXN0Y2xlYW4gYW5kIGdpdCBjbGVhbgoKMjAwOC0wOC0xNiAxNzozNjoxMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTgwLzkwNl0gbWlub3IgY2xlYW51cCBpbiBmeHRlc3QKCjIwMDgtMDgtMTYgMTI6Mzc6MzYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RidWxnZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGZpc2hleWUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RtaXJyb3IuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzZGlzdG9ydGlvbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWFyZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNxdWVlemUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzdHJldGNoLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHVubmVsLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0dHdpcmwuYzoKCSAgWzE3OS85MDZdIGRpc3RvcnRpb24gZWZmZWN0IGNsZWFudXAKCjIwMDgtMDgtMTYgMTA6MTU6MzEgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3OC85MDZdIGltcHJvdmUgZnh0ZXN0IGNvbW1hbmQgbGluZSBvcHRpb24gaGFuZGxpbmcsIGRlZmF1bHQgdG8gdmlkZW90ZXN0c3JjIGlmIG5vIHNvdXJjZSBiaW4gZGVzY3JpcHRpb24gaXMgZ2l2ZW4KCjIwMDgtMDgtMTYgMDk6NDA6NTQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJICBbMTc3LzkwNl0gZml4IGdsZWZmZWN0cyBtZW1vcnkgaXNzdWUgKGluaXQgcmVzb3VyY2VzIG9uIHN0YXJ0IGFuZCByZXNldCB0aGVtIG9uIHN0b3ApCgoyMDA4LTA4LTE2IDA5OjE3OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSAgWzE3Ni85MDZdIGZpeCBhIHR5cG8KCjIwMDgtMDgtMTYgMDk6MTM6MzkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNpbi5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzUvOTA2XSBhZGQgc2luIGVmZmVjdCAoZGVzYXR1cmF0ZSBldmVyeXRoaW5nIGJ1dCByZWQgc2hhZGVzKS4gc3RpbGwgbmVlZHMgc29tZSB0dW5pbmcuCgoyMDA4LTA4LTE0IDIyOjI4OjE5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTc0LzkwNl0gYWRkIGEgcHJvcGVydHkgdG8gZ2xlZmZlY3RzIHRvIHN3aXRjaCB2aWRlbyBsZWZ0IHRvIHJpZ2h0LCB1c2VmdWwgd2l0aCB3ZWJjYW1zIHRvIHJlc2VtYmxlIGEgbWlycm9yCgoyMDA4LTA4LTE0IDIxOjI5OjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bHVtYXRvY3VydmUuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzY3VydmVzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJKiB0ZXN0cy9leGFtcGxlcy9ndGsvZnh0ZXN0L2Z4dGVzdC5jOgoJICBbMTczLzkwNl0gYWRkIGx1bWF4cHJvIChkZXNhdHVyYXRlICsgY3Jvc3MgcHJvY2VzcykgZWZmZWN0LiBub3RoaW5nIHRvbyBpbXByZXNzaXZlIGJ1dCBJIGxpa2UgaXQuCgoyMDA4LTA4LTE0IDIwOjU0OjU0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2d0ay9meHRlc3QvZnh0ZXN0LmM6CgkgIFsxNzIvOTA2XSBhZGQgc3VwcG9ydCBmb3IgY29tbWFuZCBsaW5lIHBhcnNpbmcgdG8gZnh0ZXN0ICh0cnkgZnh0ZXN0IHZpZGVvdGVzdHNyYyAhIGRlc2lyZWQgY2FwcyAhIGlkZW50aXR5KS4gcmVwb3J0IGEgbmV3IGlzc3VlIG9uIEJVR1MuCgoyMDA4LTA4LTE0IDIwOjAyOjA0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3RrL2Z4dGVzdC9meHRlc3QuYzoKCSAgWzE3MS85MDZdIGltcG9ydCBmeHRlc3QgKGxpdHRsZSBndGsgYXBwIHRvIGVhc2lseSB0ZXN0IGVmZmVjdHMpIGZyb20gY3ZzIGJyYW5jaCwgZml4ZWQgcmdidG9jdXJ2ZS4KCjIwMDgtMDgtMTQgMTc6MDM6MjEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTcwLzkwNl0gdXBkYXRlIGNvZGVibG9ja3MgYnVpbGQKCjIwMDgtMDgtMTQgMTQ6MDg6MjMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGJ1bGdlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNkaXN0b3J0aW9uLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3F1YXJlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR1bm5lbC5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHR3aXJsLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY5LzkwNl0gaW1wb3J0IHJlbWFpbmluZyBkaXN0b3J0aW9uIGVmZmVjdHMgZnJvbSBjdnMgYnJhbmNoIChmaXNoZXllLCB0d2lybCwgYnVsZ2UsIHR1bm5lbCwgc3F1YXJlKQoKMjAwOC0wOC0xNCAxMjozOTowMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2OC85MDZdIGNsZWFudXAgY3VydmVzIGhlYWRlcgoKMjAwOC0wOC0xNCAxMjoyNjoyNSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSAgWzE2Ny85MDZdIGJldHRlciBjcm9zcyBwcm9jZXNzaW5nIGN1cnZlCgoyMDA4LTA4LTE0IDEyOjA5OjM5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RyZ2J0b2N1cnZlLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c2N1cnZlcy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuaDoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmg6CgkgIFsxNjYvOTA2XSBhZGQgcmdiX3RvX2x1bWFfZnJhZ21lbnQgc291cmNlIGFuZCBjb3JyZXNwb25kZW50IGVmZmVjdC4gdXNlIHRoZSBsYXR0ZXIgZm9yIGEgY3Jvc3MgcHJvY2Vzc2luZyBlZmZlY3QuCgoyMDA4LTA4LTE0IDExOjMxOjA5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RsdW1hdG9jdXJ2ZS5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNjdXJ2ZXMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdGdsZWZmZWN0cy5oOgoJICBbMTY1LzkwNl0gaW1wb3J0IGx1bWFfdG9fY3VydmUgZWZmZWN0cyAoU2VwaWEsIEhlYXQpIGZyb20gY3ZzIGJyYW5jaCB3aXRoIGJldHRlciB0ZXh0dXJlIG1lbW9yeSBoYW5kbGluZyAodGV4aW1hZ2UgY3VydmVzIG9ubHkgb25jZSkuIFNlcGlhIGN1cnZlIHN0aWxsIG5lZWRzIHNvbWUgbG92ZS4KCjIwMDgtMDgtMTQgMDk6Mzk6NTUgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJICBbMTY0LzkwNl0gcmVuYW1lIGJsZW5kX2ZyYWdtZW50X3NvdXJjZSB0byBzdW1fZnJhZ21lbnRfc291cmNlIGFuZCBhZGQgdW5pZm9ybSBibGVuZGluZyBwYXJhbWV0ZXJzCgoyMDA4LTA4LTE0IDA5OjI2OjIzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RnbG93LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuaDoKCSAgWzE2My85MDZdIGltcG9ydCBnbG93IGVmZmVjdCAobWF5YmUgdGhlIG1vc3QgdHJpY2t5KSBmcm9tIGN2cyBicmFuY2gKCjIwMDgtMDgtMTQgMDg6MDM6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3RyZXRjaC5jOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNjIvOTA2XSBpbXBvcnQgc3RyZXRjaCBlZmZlY3QgZnJvbSBjdnMKCjIwMDgtMDgtMTQgMDA6MDc6MjAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHMuaDoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3RzcXVlZXplLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0c3NvdXJjZXMuYzoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5oOgoJKiBnc3QvZ2wvZ3N0Z2xlZmZlY3RzLmM6CgkgIFsxNjEvOTA2XSBpbXBvcnQgc3F1ZWV6ZSBlZmZlY3QgZnJvbSBjdnMKCjIwMDgtMDgtMTMgMjI6NDI6NDggKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL2VmZmVjdHMvZ3N0Z2xlZmZlY3Rzc291cmNlcy5jOgoJICBbMTYwLzkwNl0gZm9yZ290IHRvIGFkZCBhIGZpbGUKCjIwMDgtMDgtMTMgMjI6MzY6MTMgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdGlkZW50aXR5LmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1OS85MDZdIHN0aWxsIHNvbWUgc291cmNlIHRyZWUgcmVvcmdhbml6ZSwgZml4ZWQgc29tZSBpc3N1ZSB3aXRoIGhlYWRlcnMgYW5kIGlmZGVmcywgbW92ZWQgaWRlbnRpdHkgaW50byBlZmZlY3RzIGRpcgoKMjAwOC0wOC0xMyAyMDo1ODo0OSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0bWlycm9yLmM6CgkqIGdzdC9nbC9lZmZlY3RzL2dzdGdsZWZmZWN0cy5oOgoJKiBnc3QvZ2wvZWZmZWN0cy9nc3RnbGVmZmVjdHNzb3VyY2VzLmg6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1OC85MDZdIHN0aWxsIHdvcmtpbmcgb24gbWVyZ2luIGdzdGdsZWZmZWN0cywgYWRkIG1pcnJvciBlZmZlY3QuIHJlb3JnYW5pemUgc291cmNlIHRyZWUuCgoyMDA4LTA4LTEzIDE3OjU5OjA5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzE1Ny85MDZdIG1vdmUgdGhyZWFkX2RvX3VwbG9hZF9tYWtlIGZyb20gdGhyZWFkX2RvX3VwbG9hZCB0byB0aHJlYWRfaW5pdF91cGxvYWQKCjIwMDgtMDgtMTMgMTc6MTY6MTcgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvQlVHUzoKCSAgWzE1Ni85MDZdIGZpeCBhIGNyYXNoIHRoYXQgY291bGQgaGFwcGVucyB3aGVuIHVzaW5nIGF0IGxlYXN0IDIgZ2wgY29udGV4dCBhbmQgd2hlbiBjbG9zaW5nIGEgd2luZG93IG9uIGxpbnV4CgoyMDA4LTA4LTEzIDE2OjAxOjIxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9CVUdTOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSAgWzE1NS85MDZdIGZpeCBzb21lIGVycm9ycyBhbmQgY2hlY2sgYWxsIHRoZSBwaXBlbGluZXMgbGlzdGVkIGluIHRlc3RzL3BpcGVsaW5lcwoKMjAwOC0wOC0xMiAxMTowOTozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGVmZmVjdHMuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTU0LzkwNl0gYWRkZWQgZmlyc3Qgc2tlbGV0b24gb2YgZ3N0Z2xlZmZlY3RzLCBpbXBvcnRlZCBiYXNpYyBzdHVmZiBmcm9tIGN2cyBicmFuY2guCgoyMDA4LTA4LTExIDIwOjEyOjAyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTUzLzkwNl0gVHJ5IHRvIGdlbmVyZWF0ZSB0ZXh0dXJlcyB3aXRoaW4gZ3N0Z2xmaWx0ZXJibHVyIHRvIHNlZSBpZiB0aGUgbmV3IHRocmVhZF91c2VfZmJvIHdvcmtzIGJvdGggd2l0aCB0ZXh0dXJlcyBmcm9tIHRoZSBwb29sIGFuZCBjdXN0b20gb25lcwoKMjAwOC0wOC0xMSAyMDowMTo0MSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNTIvOTA2XSByZW1vdmUgYW4gdW5uZWVkZWQgKHJlYWxseT8pIGdsVGV4SW1hZ2UKCjIwMDgtMDgtMTEgMTk6MDg6MjIgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFsxNTEvOTA2XSBJU08gQzkwCgoyMDA4LTA4LTExIDE5OjAxOjMzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTUwLzkwNl0gZ2xUZXhJbWFnZTJEKHcsIGgsIE5VTEwpIGlzIG5vdyBjYWxsZWQgb25seSBvbmUgdGltZSAobWVtIGFsbG9jKQoKMjAwOC0wOC0xMSAxNzoyMTozMCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDkvOTA2XSBzYW1lIGFzIHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wOC0xMSAxNzoxNzoyMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFsxNDgvOTA2XSBGaXggcmdiIGlzc3VlLiBDdXJyZW50IHByb2dyYW0gc2hvdWxkIGFsd2F5cyBiZSBzZXQgdG8gMCB3aGVuIGEgbmV3IHRleHR1cmUgaXMgYXR0YWNoZWQgdG8gYSBmYm8uCgoyMDA4LTA4LTExIDE1OjUzOjEyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzE0Ny85MDZdIG91cHMgZm9yZ290IHRvIGFkZCAyIGZpbGVzIHRvIHRoZSBwcmV2aW91cyBjb21taXQKCjIwMDgtMDgtMTEgMTU6NDA6MzkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzE0Ni85MDZdIHJlbW92ZSBmaWx0ZXJlZGdlCgoyMDA4LTA4LTExIDE1OjMwOjM4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0NS85MDZdIGdlbi9kZWwgdGhlIG1pZGRsZSB0ZXh0dXJlIG9ubHkgb25lIHRpbWUgaW4gdGhlIGdzdGdsZmlsdGVyYmx1cgoKMjAwOC0wOC0xMSAxMToyNjozMiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTQ0LzkwNl0gcmVtb3ZlIGdzdGdsZmlsdGVyYmx1ci5oLCBpdCdzIGVhc2llciB0byBoYXZlIGV2ZXJ5dGhpbmcgaW4gdGhlIHNhbWUgZmlsZQoKMjAwOC0wOC0xMSAwOTo1MjoxNiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmM6CgkgIFsxNDMvOTA2XSBBZGQgaW5pdCBhbmQgcmVzZXQgY2FsbGJhY2tzIGluIEdzdEdMRmlsdGVyIHRvIHJ1biBhcmJpdHJhcnkgZ2wgY29kZSBhdCBzdGFydCBhbmQgc3RvcC4gVXNlZnVsIHRvIGluaXQgYW5kIGNsZWFudXAgY3VzdG9tIGdsIHJlc291cmNlcy4KCjIwMDgtMDgtMTEgMDk6MDA6NDAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmJsdXIuYzoKCSAgWzE0Mi85MDZdIEFkZCBhIGdlbmVyaWMgYWN0aW9uIHRvIGJlIGFibGUgdG8gZXhlY3V0ZSBhcmJpdHJhcnkgZ2wgY29kZSB3aXRoaW4gdGhlIGdsIHRocmVhZCB3aXRoIGxlc3MgcGFpbgoKMjAwOC0wOC0xMCAxMToyMjozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTQxLzkwNl0gc29tZSBzdGVwcyB0b3dhcmRzIHNpbXBsaWZpY2F0aW9uLiBhZGRlZCBhIGNvbnZlbmllbmNlIGZ1bmN0aW9uIHRvIGdzdGdsZmlsdGVyIGFuZCBzb21lIGNvbW1lbnQgaGVyZSBhbmQgdGhlcmUKCjIwMDgtMDgtMDUgMTA6MTU6MDcgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTQwLzkwNl0gRml4IEdMX1NUQUNLX09WRVJGTE9XCgoyMDA4LTA4LTA0IDEyOjEzOjI5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJICBbMTM5LzkwNl0gZml4IHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHVwbG9hZC9kb3dubG9hZCBzaGFkZXJzCgoyMDA4LTA4LTA0IDA5OjU2OjU5ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM4LzkwNl0gaXMgdGhhdCB2aWRlb2Zvcm1hdCBwb2ludGVyIHJlYWxseSBuZWVkZWQ/CgoyMDA4LTA4LTA0IDA5OjQ2OjE0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJICBbMTM3LzkwNl0gRG9uJ3QgcmVhbGxvY2F0ZSB0ZXh0dXJlIG1lbW9yeSBldmVyeSB0aW1lIGluIHVwbG9hZF8qIGZ1bmN0aW9ucy4KCjIwMDgtMDgtMDEgMTE6MDA6NDkgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFsxMzYvOTA2XSByZWluZGVudCBnc3RnbGRpc3BsYXkgd2l0aCBnc3RyZWFtZXItYy1tb2RlCgoyMDA4LTA3LTMxIDE3OjQ4OjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYmx1ci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJibHVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMzUvOTA2XSBhZGQgYW5kIG1ha2UgdGhlIEZpbGlwcG8ncyBnc3RnbGZpbHRlcmJsdXIgd29ya3Mgb24gdGhlIG1hc3RlciBicmFuY2ggKGV4YW1wbGUgb2YgbXVsdGlwbGUgc3RlcCByZW5kZXJpbmcpCgoyMDA4LTA3LTI1IDAxOjQzOjI4ICswMjAwICBqdWxpZW4gVXNlciA8anVsaWVuQHVidW50dS51YnVudHUtZG9tYWluPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMzQvOTA2XSBmaXggbWFrZWZpbGVzIGxpc3QgZnJvbSBjb25maWd1cmUuYWMgKHRlc3RzIGhhdmUgY2hhbmdlcykgYW5kIGZpeCBhIHdhcm5pbmcKCjIwMDgtMDctMjEgMDA6MjQ6NDggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTMzLzkwNl0gZmluaXNoIHRvZG8gdGFzayA0CgoyMDA4LTA3LTIwIDE2OjM4OjQ4ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzEzMi85MDZdIG1ha2UgdGhlIHBsdWdpbiBwcm9wZXJseSBzaHV0ZG93biB3aGVuIG9uZSBvZiB0aGUgY2hlY2sgcmVxdWlyZW1lbnRzIGZhaWxlZAoKMjAwOC0wNy0xOSAwODozMjozOCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEzMS85MDZdIGZpeCB3YXJuaW5ncyAodW51c2VkIHZhcnMpCgoyMDA4LTA3LTE5IDAzOjAwOjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVybGFwbGFjaWFuLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5oOgoJICBbMTMwLzkwNl0gdXNlIEdzdEdMU2hhZGVyIGluIHRoZSBHTFNMIGNvbG9yc3BhY2UgY29udmVyc2lvbgoKMjAwOC0wNy0xOCAyMjozMzo0NCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uYzoKCSAgWzEyOS85MDZdIGZpeGVkIHdhcm5pbmcgZm9yIHVudXNlZCB2YXJpYWJsZSAoZmF0YWwgd2l0aCAtV2Vycm9yKQoKMjAwOC0wNy0xOCAyMTo1NTowMCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJICBbMTI4LzkwNl0gYWRkIEdzdEdMU2hhZGVyIHN0dWZmcyBpbiB0aGUgdnM4IHByb2plY3QsIGZpeCBsYXBsYWNpYW4gZnJhZ21lbnQgY29kZSB0byBtYWtlIGl0IGNvbXBpbGUgb24gQVRJLCBhbmQgZml4IGNoZWNrIGZ1bmN0aW9uIGFib3V0IE9wZW5nbCBhbmQgR2xldyB2ZXJzaW9uCgoyMDA4LTA3LTE4IDEwOjQ5OjM0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsc2hhZGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbHNoYWRlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmxhcGxhY2lhbi5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJsYXBsYWNpYW4uaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMTI3LzkwNl0gSW1wb3J0ZWQgR3N0R0xTaGFkZXIgZnJvbSBjdnMgYnJhbmNoLiBBZGRlZCBhIGRlbW8gbGFwbGFjaWFuIGNvbnZvbHV0aW9uIGZpbHRlciB0byBkZW1vbnN0cmF0ZSBob3cgdGhpcyBjYW4gYmUgaW50ZWdyYXRlZCB3aXRoIG1pbmltdW0gZWZmb3J0LgoKMjAwOC0wNy0xNiAxNToyMzozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAaHV0Y2gubG9jYWw+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSAgWzEyNi85MDZdIENoYW5nZSBzb21lIGd1aW50cyB0byBHTHVpbnRzIGJlY2F1c2Ugb2Ygd2FybmluZ3Mgb24gT1MvWC4KCjIwMDgtMDctMTYgMTU6MjI6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQGh1dGNoLmxvY2FsPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMTI1LzkwNl0gQWRkIGxpYnJhcmllcyBhcyBhcHByb3ByaWF0ZSB0byBmaXggY29tcGlsYXRpb24KCjIwMDgtMDctMTUgMTQ6MzY6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgWzEyNC85MDZdIEdsb2JhbCByZXBsYWNlIG9mIENSTEYgbGluZSBlbmRpbmdzIHRvIExGCgoyMDA4LTA3LTEyIDE0OjE4OjQ3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMy85MDZdIFggU3BlY2lmaWM6IGJldHRlciBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgZ3N0X2dsX3NldF93aW5kb3dfaWQKCjIwMDgtMDctMTIgMTM6MjQ6MzAgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTIyLzkwNl0gYmV0dGVyIGltcGxlbWVudGF0aW9uIG9mIGdzdF9nbF9kaXNwbGF5X3NldF93aW5kb3dfaWQgZm9yIHdpbjMyLiAoY2hhbmdlIHRoZSB3aW5kb3cgb2YgdGhlIGN1cnJlbnQgd2dsY29udGV4dCBpbnN0ZWFkIG9mIHJlaW5pdCBldmVyeXRoaW5nLCBhbmQgc28gYXZvaWQgc29tZSBwcm9ibGVtcyBhYm91dCBvcGVuZ2wgb2JqZWN0cyB0aGF0IGNvdWxkIGJlIGluaXQgaW4gdGhlIHByZXZpb3VzIHdnbGNvbnRleHQgYW5kIHNvIG5vIHVzYWJsZSBpbiB0aGUgbmV3ZXIgd2dsY29udGV4dCwgaXQgd2hhdCB0aGUgY2FzZSBmb3IgdGhlIGZpcnN0IHRleHR1cmUpIFRoaXMgbmV3ZXIgaW1wbGVtZW50YXRpb24gaGFzIG5vdCBiZWVuIG1hZGUgeWV0IG9uIGxpbnV4CgoyMDA4LTA3LTEyIDAxOjEzOjA4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMS85MDZdIGF2b2lkIHVzZSBvZiBHTFNMIGZ1bmN0aW9ucyB3aGVuIGZyYWdtZW50X3NoYWRlciBpcyBub3QgYXZhaWxhYmxlCgoyMDA4LTA3LTExIDA2OjI0OjI3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzEyMC85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTgwIDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNy0xMCAyMzo1MzozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJICBbMTE5LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NzkgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA3LTA3IDIwOjU5OjIwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTgvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU3MyA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMDYgMTY6NTA6MjkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFsxMTcvOTA2XSB1cCBndGsgZXhhbXBsZQoKMjAwOC0wNy0wNSAyMjo1NjoyOSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJlZGdlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJICBbMTE2LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NjMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTMwIDAwOjM4OjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzExNS85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU2IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOSAxNzoyNzo0MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTQvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1NSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjggMjM6Mjg6MTEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSAgWzExMy85MDZdIGdpdC1zdm4taWQ6IHN2bjovL3N2bi53b2Jvdy5jb20vR1N0cmVhbWVyX3BsYXlncm91bmQvZ3N0LXBsdWdpbnMtZ2xANTU0IDkzZGYxNGJiLTBmNDEtN2E0My04MDg3LWQzZTJhMmYwZTQ2NAoKMjAwOC0wNi0yOCAxNTozODo0MSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFsxMTIvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU1MiA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMjQgMjI6Mjg6MDMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTExLzkwNl0gdXAKCjIwMDgtMDYtMjMgMjM6MTI6MzcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJICBbMTEwLzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDQgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTIzIDE4OjU2OjI5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMTA5LzkwNl0gZ2l0LXN2bi1pZDogc3ZuOi8vc3ZuLndvYm93LmNvbS9HU3RyZWFtZXJfcGxheWdyb3VuZC9nc3QtcGx1Z2lucy1nbEA1NDMgOTNkZjE0YmItMGY0MS03YTQzLTgwODctZDNlMmEyZjBlNDY0CgoyMDA4LTA2LTIxIDIxOjM4OjQyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmg6CgkgIFsxMDgvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDU0MCA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDYtMTkgMjM6Mzg6MzYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMTA3LzkwNl0gZml4IG9wZW5nbCB2ZXJzaW9uIGNoZWNrZXIKCjIwMDgtMDYtMTYgMjM6MTI6NDggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5jOgoJICBbMTA2LzkwNl0gdXAgc29iZWwgYWxnbwoKMjAwOC0wNi0xNSAxODozMToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSAgWzEwNS85MDZdIHVwIFNvYmVsIGZpbHRlciBhbmQgZ2wvZ2xldyB2ZXJzaW9uIGNoZWNrZXIKCjIwMDgtMDYtMTMgMDA6MDE6MjYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmVkZ2UuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZWRnZS5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMDQvOTA2XSBzdGFydCB0byBhZGQgYSBnbGZpbHRlcmVkZ2UgdGhhdCBwcm9jZWVkcyBlZGdlIGRldGVjdGlvbiB1c2luZyBHTFNMCgoyMDA4LTA2LTEyIDIxOjQwOjE3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFsxMDMvOTA2XSByZW5hbWUgZ2xncmFwaGljbWFrZXIgLT4gZ2x1cGxvYWQgYW5kIGdsdmlkZW9tYWtlciAtPiBnbGRvd25sb2FkCgoyMDA4LTA2LTExIDIzOjQzOjQxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGNvbG9yc2NhbGUuYzoKCSAgWzEwMi85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjQyOjUwICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJICBbMTAxLzkwNl0gaWRlbQoKMjAwOC0wNi0xMSAyMzo0MDo1NyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSAgWzEwMC85MDZdIGZpeCB3YXJuaW5ncyBsaW51eC1zcGVjaWZpYwoKMjAwOC0wNi0xMSAyMzo0MDowMSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkgIFswOTkvOTA2XSB1cCAoc3dpdGNoaW5nIGxpbnV4IGFuZCB3aW4zMikgLi4uIG5vdCBmdW4gZWRpdG9yIC4uLgoKMjAwOC0wNi0xMSAyMzozODozMyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswOTgvOTA2XSB1cC4uLgoKMjAwOC0wNi0xMSAyMzozNjoyNSArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSAgWzA5Ny85MDZdIGZpeCB3YXJuaW5ncwoKMjAwOC0wNi0xMSAyMzozMTo1MyArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkgIFswOTYvOTA2XSB1cAoKMjAwOC0wNi0xMSAyMzoyNjoxNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbHRlc3RzcmMuaDoKCSAgWzA5NS85MDZdIHVwCgoyMDA4LTA2LTExIDIzOjIzOjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMDk0LzkwNl0gdXAKCjIwMDgtMDYtMTEgMjM6MTI6NTMgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDkzLzkwNl0gcmVtb3ZlIDIgd2FybmluZ3MKCjIwMDgtMDYtMTEgMjM6MDQ6NTIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzA5Mi85MDZdIEZpbmlzaCB0byByZXZpdmUgdGhlIGdsdGVzdHNyYy4gTmV4dCBzdGVwIGlzIHRvIGRvIHNvbWUgcmVmYWN0b3JpbmcuCgoyMDA4LTA2LTExIDE4OjMzOjUzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDkxLzkwNl0gc3RhcnQgdG8gcmV2aXZlIHRoZSBnbHRlc3RzcmMKCjIwMDgtMDYtMTAgMjM6MDA6MzkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDkwLzkwNl0gdXAKCjIwMDgtMDYtMTAgMjI6NTk6NTcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsY29sb3JzY2FsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb2xvcnNjYWxlLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDg5LzkwNl0gYWRkIGEgImdsY29sb3JzY2FsZSIgZWxlbWVudCBlcXVpdmFsZW50IHRvICJmZm1lcGdjb2xvcnNwYWNlICEgdmlkZW9zY2FsZSAhIGZmbXBlZ2NvbG9yc3BhY2UiCgoyMDA4LTA2LTEwIDIyOjA4OjExICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODgvOTA2XSBmaXggc29tZSBjYXBzIG5lZ29jaWF0aW9ucyB0aG9zZSBwaXBlbGluZXMgd29ya3MgZmluZSA6IGdzdC1sYXVuY2gtMC4xMCAtdiB2aWRlb3Rlc3RzcmMgISB2aWRlby94LXJhdy15dXYsIHdpZHRoPTMyMCwgaGVpZ2h0PTI0MCAhIGdsZ3JhcGhpY21ha2VyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPTcyMCAsIGhlaWdodD01NzYgISBnbGZpbHRlcmN1YmUgISBnbGltYWdlc2luayBhbmQgZ3N0LWxhdW5jaC0wLjEwIC12IHZpZGVvdGVzdHNyYyAhIHZpZGVvL3gtcmF3LXl1diwgd2lkdGg9MzIwLCBoZWlnaHQ9MjQwICEgZ2xncmFwaGljbWFrZXIgISB2aWRlby94LXJhdy1nbCwgd2lkdGg9NzIwICwgaGVpZ2h0PTU3NiAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA2LTEwIDE5OjA3OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJhcHAuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA4Ny85MDZdIGdsZmlsdGVyIGNhbiBhY2NlcHQgdG8gaGF2ZSBhbiBpbnB1dCBzaXplIGRpZmZlcmVudCB0aGFuIHRoZSBvdXQgcHV0IHNpemUgOiB2aWRlby94LXJhdy1nbCwgd2lkdGg9dzEsIGhlaWdodD13MSAhIGdsZmlsdGVyICEgdmlkZW8veC1yYXctZ2wsIHdpZHRoPXcyLCBoZWlnaHQ9dzIgISAoZml4IGV2ZXJ5IGV4YW1wbGVzKQoKMjAwOC0wNi0wOCAyMjoxMTozNiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswODYvOTA2XSB1cAoKMjAwOC0wNi0wOCAxMzoxNToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmg6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSAgWzA4NS85MDZdIGZpeCByZWdyZXNzaW9ucyBhYm91dCBnbHZpZGVvbWFrZXIuCgoyMDA4LTA2LTA4IDAyOjE5OjQzICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyYXBwLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmFwcC5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJjdWJlLmM6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDg0LzkwNl0gYWRkIGEgZ2xmaWx0ZXJhcHAgd2hpY2ggaG9sZHMgdGhlIGNsaWVudCBkcmF3IGFuZCByZXNoYXBlIGNhbGxiYWNrcyAoc29tZSAid2FudGVkIiByZWdyZXNzaW9ucyBhYm91dCB0aGUgZ2x2aWRlb21ha2VyLCBoYXZlIGJlZW4gZG9uZSB3aXRoIHRoaXMgdmVyc2lvbi4gV2lsbCBiZSBmaXggaW4gbmV4dCBjb21taXRzKQoKMjAwOC0wNi0wNyAyMTo1NjowMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODMvOTA2XSBmaW5pc2ggdG8gaW1wbGVtZW50IHRoZSBnbGZpbHRlcjogZXhhbXBsZSA6IGdzdC1sYXVuY2gtMC4xMCB2aWRlb3Rlc3RzcmMgbnVtX2J1ZmZlcnMgPSAxMDAgISBnbGdyYXBoaWNtYWtlciAhIGdsZmlsdGVyY3ViZSAhIGdsaW1hZ2VzaW5rCgoyMDA4LTA2LTA3IDE1OjI3OjEyICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswODIvOTA2XSBnbGZpbHRlciBjYW4gcmVxdWVzdCwgdXNlIGFuZCByZWplY3QgYSBGQk8gKHN0ZXAgMSkKCjIwMDgtMDYtMDcgMDA6MDE6MTggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmN1YmUuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyY3ViZS5oOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA4MS85MDZdIHN0YXJ0IHRvIGFkZCBhIGdsZmlsdGVyCgoyMDA4LTA1LTI0IDEyOjM1OjM0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA4MC85MDZdIGZpeCBnc3RmcmVlZ2x1dCBsaW51eCBpbXBsZW1lbnRhdGlvbiB0byBjb3JyZWN0bHkgaGFuZGxlIHRoZSBnc3R4b3ZlcmxheSBpbnRlcmZhY2UKCjIwMDgtMDUtMjIgMjA6MTA6MzEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc5LzkwNl0gdXAKCjIwMDgtMDUtMjEgMjI6NDk6MjEgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJICBbMDc4LzkwNl0gdXAgZnJvbSBrdWJ1bnR1CgoyMDA4LTA1LTIxIDIxOjE3OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Ny85MDZdIHVwCgoyMDA4LTA1LTIxIDIxOjE1OjQ3ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSAgWzA3Ni85MDZdIGNoZWNrIE9wZW5HTCBhbmQgR2xldyB2ZXJzaW9ucwoKMjAwOC0wNS0yMCAxNzo0MDoyMCArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNzUvOTA2XSBpbmRlbnQKCjIwMDgtMDUtMTkgMjM6MDY6MDcgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDc0LzkwNl0gdXAKCjIwMDgtMDUtMTkgMjM6MDM6MjIgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDczLzkwNl0gdXAKCjIwMDgtMDUtMTkgMjE6MzY6NTkgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDcyLzkwNl0gdXAKCjIwMDgtMDUtMTkgMjE6Mjg6MjggKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJICBbMDcxLzkwNl0gcmVtb3ZlIGFsbCB3YXJuaW5ncwoKMjAwOC0wNS0xOSAxODo0NTo0NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkgIFswNzAvOTA2XSBpbXBsZW1lbnQgYW5kIGZpeCBvbkNsb3NlOiB3aGVuIGEgdXNlciBjbGljayBvbiB0aGUgY3Jvc3Mgb2YgYW4gaW50ZXJuYWwgd2luZG93ICh0aGVyZSBpcyBub3QgdGhpcyBpc3N1ZSB3aGVuIHVzaW5nIHRoZSBnc3R4b3ZlcmxheSBpbnRlcmZhY2UpCgoyMDA4LTA1LTE5IDE2OjU3OjM5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbGdyYXBoaWNtYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuaDoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDY5LzkwNl0gYWRkIGdzdHJlYW1lciBsaWNlbnNlCgoyMDA4LTA1LTE4IDIwOjA1OjE4ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA2OC85MDZdIHVwCgoyMDA4LTA1LTE4IDE5OjU4OjQ5ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA2Ny85MDZdIHVwCgoyMDA4LTA1LTE4IDE5OjE4OjA0ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHZpZGVvbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5oOgoJICBbMDY2LzkwNl0gdXAKCjIwMDgtMDUtMTggMTc6NTU6NTYgKzAwMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkgIFswNjUvOTA2XSB1cAoKMjAwOC0wNS0xOCAxNjowNDo1NiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSAgWzA2NC85MDZdIHVwCgoyMDA4LTA1LTE4IDE0OjQ3OjAxICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSAgWzA2My85MDZdIHVwCgoyMDA4LTA1LTE4IDExOjEyOjQ2ICswMDAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5Lmg6CgkqIGdzdC9nbC9nc3RnbC5jOgoJKiBnc3QvZ2wvZ3N0Z2xncmFwaGljbWFrZXIuYzoKCSogZ3N0L2dsL2dzdGdsZ3JhcGhpY21ha2VyLmg6CgkqIGdzdC9nbC9nc3RnbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dzdGdsdmlkZW9tYWtlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x2aWRlb21ha2VyLmg6CgkgIFswNjIvOTA2XSBnaXQtc3ZuLWlkOiBzdm46Ly9zdm4ud29ib3cuY29tL0dTdHJlYW1lcl9wbGF5Z3JvdW5kL2dzdC1wbHVnaW5zLWdsQDQyMSA5M2RmMTRiYi0wZjQxLTdhNDMtODA4Ny1kM2UyYTJmMGU0NjQKCjIwMDgtMDctMTUgMTQ6MTY6NTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvLmN2c2lnbm9yZToKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2NvbG9yX21hdHJpeC5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNjEvOTA2XSBGaXJzdCBTVk4gY29tbWl0LiAgVGhpcyBjb21taXQgaXMgYSBoYWNrIHRvIG1ha2UgZ2l0LXJlYmFzZSB3b3JrCgoyMDA4LTAyLTIzIDE1OjEwOjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkgIFswNjAvOTA2XSAJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzogKGdzdF9nbF9idWZmZXJfZm9ybWF0X2Zyb21fdmlkZW9fZm9ybWF0KTogCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgaWYgdGhlcmUgYXJlIHZpZGVvIGZvcm1hdCAJICBlbnVtcyBnc3RnbGJ1ZmZlciBkb2Vzbid0IGtub3cgYWJvdXQgeWV0LiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzogKGdzdF9nbF9kaXNwbGF5X3VwbG9hZF90ZXh0dXJlX3JlY3RhbmdsZSksIChnc3RfZ2xfZGlzcGxheV9kcmF3X3RleHR1cmUpOiAJICBGaXggcHJpbnRmIGZvcm1hdCBmb3IgNjQtYml0IGludGVnZXJzLgoKMjAwOC0wMS0zMSAyMzo0MDoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWdsLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICBbMDU5LzkwNl0gKiBjb25maWd1cmUuYWM6ICogcGtnY29uZmlnL01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1nbC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wtdW5pbnN0YWxsZWQucGMuaW46ICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiBSZW5hbWUgcGtnY29uZmlnIGZpbGVzLiAgQW5kIGluc3RhbGwgdGhlbS4gKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zaW1wbGUtbGF1bmNoLWxpbmVzLmM6IEFkZCBzb21lIHRlc3RzIGNvcGllZCBmcm9tIC1nb29kLgoKMjAwOC0wMS0zMSAyMTozNTo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1OC85MDZdIAkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogCSAgVGhlIGxpYnJhcnkgbmVlZHMgdG8gbGluayBhZ2FpbnN0IGxpYmdzdHZpZGVvLTAuMTAuIAkqIGdzdC9nbC9NYWtlZmlsZS5hbTogCSAgVGhlIHBsdWdpbiBkb2VzIG5vdCAoSSB0aGluaykgbmVlZCB0byBsaW5rIGFnYWluc3QgR0wgb3IgbGliZ3N0dmlkZW8sIAkgIHNpbmNlIG91ciBuZXcgZ3N0cmVhbWVyIEdMIGxpYnJhcnkgYWxyZWFkeSBkb2VzIHRoYXQsIGJ1dCBpdCBkb2VzIAkgIG5lZWQgdG8gbGluayBhZ2FpbnN0IG91ciBicmFuZC1uZXcgbGliZ3N0Z2wtMC4xMC4KCjIwMDgtMDEtMzEgMjA6MzE6MTEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsLy5jdnNpZ25vcmU6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1Ny85MDZdICogZ3N0L2dsLy5jdnNpZ25vcmU6IGluZ29yZSBzb21lIGZpbGVzICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiBkaXN0Y2hlY2sgZml4ZXMgKiBnc3QvZ2wvTWFrZWZpbGUuYW06IGRpc3RjaGVjayBmaXhlcyAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDogLWdvb2QgaGFzIHRoaXMgaW4gQ1ZTLCBzbyB3ZSB3aWxsIHRvby4KCjIwMDgtMDEtMzEgMjA6MjE6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZmlsdGVyLmg6CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNTYvOTA2XSAqIGNvbmZpZ3VyZS5hYzogUmVhZGQgcHJlLXBrZ2NvbmZpZyBPcGVuR0wgZGV0ZWN0aW9uLCBzaW5jZSBwa2djb25maWcgcmVxdWlyZXMgTWVzYSBmcm9tIGdpdCBtYXN0ZXIuICogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6ICogZ3N0L2dsL2dzdG9wZW5nbC5jOiBNb3ZlIGRlYnVnIGNhdGVnb3J5IGluaXRpYWxpemF0aW9uIHRvIGVsZW1lbnQuICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5jOiAqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGZpbHRlci5oOiAqIGdzdC9nbC9nc3RnbGZpbHRlci5jOiAqIGdzdC9nbC9nc3RnbGZpbHRlci5oOiBNb3ZlIGdsZmlsdGVyIHRvIGxpYnJhcnkuICogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWdsLnBjLmluOiBBZGQgZ3N0cmVhbWVyLWJhc2UtMC4xMCBhcyBhIHJlcXVpcmVtZW50LiAqIHBvL2VuLnBvOiBVcGRhdGUuCgoyMDA4LTAxLTE4IDE1OjEzOjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDU1LzkwNl0gCSogY29uZmlndXJlLmFjOiAJKiBkb2NzL01ha2VmaWxlLmFtOiAJKiBnc3QtbGlicy9NYWtlZmlsZS5hbTogCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAJKiBnc3QvZ2wvTWFrZWZpbGUuYW06ICogdGVzdHMvTWFrZWZpbGUuYW06IAkgIEZpeCBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCBhbmQgc29tZSAgIGRpc3RjaGVjay15IGJpdHMgKG5vdCBhbGwgdGhvdWdoKS4KCjIwMDgtMDEtMTcgMjM6MjM6MzEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSAgWzA1NC85MDZdIEZpeGVzIHRvIG1ha2UgcHJvamVjdCBjb21waWxlLiAgUHJvYmFibHkgc3RpbGwgZG9lc24ndCB3b3JrLiAqIGNvbmZpZ3VyZS5hYzogKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L2dsL01ha2VmaWxlLmFtOiAqIGdzdC9NYWtlZmlsZS5hbTogKiBnc3QvZ2wvTWFrZWZpbGUuYW06ICogZ3N0L2dsL2dzdGdsdGVzdHNyYy5jOiAqIHBvL0xJTkdVQVM6ICogd2luMzIvTUFOSUZFU1Q6CgoyMDA4LTAxLTE3IDE5OjQwOjM2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbToKCSAgWzA1My85MDZdIEFkZCBwcm9qZWN0IGluZnJhc3RydWN0dXJlLiAgTm90IGNvbXBsZXRlLCBkb2Vzbid0IHdvcmsuICogLmN2c2lnbm9yZTogKiBBVVRIT1JTOiAqIENPUFlJTkc6ICogQ09QWUlORy5MSUI6ICogSU5TVEFMTDogKiBNYWtlZmlsZS5hbTogKiBORVdTOiAqIFJFQURNRTogKiBSRUxFQVNFOiAqIFJFUVVJUkVNRU5UUzogKiBhdXRvZ2VuLnNoOiAqIGNvbmZpZ3VyZS5hYzogKiBkb2NzLy5jdnNpZ25vcmU6ICogZG9jcy9NYWtlZmlsZS5hbTogKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06ICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiAqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjogKiBleHQvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvTWFrZWZpbGUuYW06ICogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOiAqIGdzdC1saWJzL2dzdC9nbC9NYWtlZmlsZS5hbTogKiBnc3QtcGx1Z2lucy1nbC5kb2FwOiAqIGdzdC1wbHVnaW5zLWdsLnNwZWMuaW46ICogZ3N0L01ha2VmaWxlLmFtOiAqIG00Ly5jdnNpZ25vcmU6ICogbTQvTWFrZWZpbGUuYW06ICogcGtnY29uZmlnLy5jdnNpZ25vcmU6ICogcGtnY29uZmlnL01ha2VmaWxlLmFtOiAqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1nbC11bmluc3RhbGxlZC5wYy5pbjogKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtZ2wucGMuaW46ICogc3lzL01ha2VmaWxlLmFtOiAqIHRlc3RzL01ha2VmaWxlLmFtOiAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiAqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOiAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiAqIHRvb2xzL01ha2VmaWxlLmFtOiAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCjIwMDgtMDEtMDYgMDM6MDE6MzkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDUyLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdWxsc2NyZWVuaW5nIGJlaW5nIGFuIGV4ZWNwdGlvbikuICBEb2Vzbid0IGhhbmRsZSBleHBvc2UgZXZlbnRzIGRpcmVjdGx5IHRvIHRoZSBHTCB3aW5kb3cuCgoyMDA4LTAxLTA2IDAxOjE5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuaDoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNTEvOTA2XSAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgY29kZS4KCjIwMDctMTItMzEgMDc6NTU6MjMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJICBbMDUwLzkwNl0gKiBjb25maWd1cmUuYWM6ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogU3dpdGNoIHRvIHVzaW5nIHBrZ2NvbmZpZyB0byBkZXRlY3QgbGliR0wuICBTaW5jZSB3ZSB1c2UgcmVjZW50IGZlYXR1cmVzIGFkZGVkIHRvIE1lc2EsIHRoZXJlJ3Mgbm8gcG9pbnQgaW4gYWRkaW5nIGEgY2hlY2sgZm9yIHByZS1wa2djb25maWcgdmVyc2lvbnMuCgoyMDA3LTEyLTI5IDAwOjM3OjQwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5oOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbGNvbnZlcnQuYzoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5oOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkgIFswNDkvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLiBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBtb3N0bHkgY29ycmVjdGx5LiAgUmVlbmFibGUgaW4gYnVpbGQuCgoyMDA3LTEyLTI3IDA1OjI2OjA1ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0OC85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGJlIGZpeGVkIHNvb24uCgoyMDA3LTEyLTI3IDA0OjE1OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuaDoKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJICBbMDQ3LzkwNl0gKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6ICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91cyBmb3JtYXRzIHRvIGRvd25sb2FkaW5nLiAgRml4IGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBsZWFrIEdMIHN0YXRlIHRvIG90aGVyIGVsZW1lbnRzIChiYWQsIGJ1dCBoYXJkIHRvIHByZXZlbnQpLgoKMjAwNy0xMi0yNyAwMDo1MjoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0L2dsL0JVR1M6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2NvbG9yX21hdHJpeC5jOgoJKiBnc3QvZ2wvZ3N0Z2xjb252ZXJ0LmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2xmaWx0ZXIuaDoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyZXhhbXBsZS5jOgoJKiBnc3QvZ2wvZ3N0Z2x0ZXN0c3JjLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDYvOTA2XSAqIHN5cy9nbHNpbmsvQlVHUzogKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6ICogc3lzL2dsc2luay9nc3RnbGNvbnZlcnQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiBSZW1vdmUgY29kZSB0aGF0IGhhbmRsZXMgbm9uLXRleHR1cmUgYnVmZmVycy4gIEFkZCBhIEdzdEdMQnVmZmVyRm9ybWF0IHR5cGUgdGhhdCBjb3JyZXNwb25kcyB0byBob3cgdG8gdXNlIHRoZSB0ZXh0dXJlLCBub3QgdGhlIG9yaWdpbmFsIHZpZGVvIGZvcm1hdC4gIENvbnZlcnQgZ3N0ZmxmaWx0ZXIuYyBpbnRvIGEgYmFzZSBjbGFzcywgYWRkIGdsZmlsdGVyZXhhbXBsZSBhbmQgZ2xjb252ZXJ0IGVsZW1lbnRzLiAqIHN5cy9nbHNpbmsvY29sb3JfbWF0cml4LmM6IE1pbm9yIHJhbWJsaW5ncyBhYm91dCBjb2xvciBjb252ZXJzaW9uIG1hdHJpY2VzLgoKMjAwNy0xMi0yNSAwMDozNDoxMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xkaXNwbGF5LmM6CgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsdGVzdHNyYy5jOgoJKiBnc3QvZ2wvZ2x0ZXN0c3JjLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbHRlc3RzcmMuYzoKCSogZ3N0L2dsL2dzdGdsdGVzdHNyYy5oOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJICBbMDQ1LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6ICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcyBHTCByZW5kZXJpbmcgdG8gY3JlYXRlIGltYWdlcy4gIE1vcmUgY2xlYW51cC4KCjIwMDctMTItMjQgMjE6MjY6MzggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJICBbMDQ0LzkwNl0gKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6ICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOiBDbGVhbiB1cCBjb2RlLiAgRml4IGEgZmV3IGxlYWtzLgoKMjAwNy0xMi0yNCAyMTowNDo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ3N0Z2xidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGRpc3BsYXkuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsZGlzcGxheS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDQzLzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6ICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDogUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCjIwMDctMTItMjQgMjA6NTM6NTUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3RnbGRvd25sb2FkLmM6CgkqIGdzdC9nbC9nc3RnbGZpbHRlci5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0Mi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsIGZpbHRlcmluZyBhbGwgd29yay4KCjIwMDctMTItMjIgMDU6MDE6NTcgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dsZXh0ZW5zaW9ucy5jOgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmg6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJKiBnc3QvZ2wvZ3N0Z2xkb3dubG9hZC5jOgoJKiBnc3QvZ2wvZ3N0Z2x1cGxvYWQuYzoKCSAgWzA0MS85MDZdICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6IEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZSByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiBDaGVja3BvaW50IGJlY2F1c2UgSSdtIGFib3V0IHRvIHJld3JpdGUgYSBidW5jaCBvZiBjb2RlLgoKMjAwNy0xMi0yMSAwMDowMzoxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0LWxpYnMvZ3N0L2dsL2dzdGdsYnVmZmVyLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nc3RnbGJ1ZmZlci5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsZG93bmxvYWQuYzoKCSogZ3N0L2dsL2dzdGdsZmlsdGVyLmM6CgkqIGdzdC9nbC9nc3RnbHVwbG9hZC5jOgoJKiBnc3QvZ2wvZ3N0b3BlbmdsLmM6CgkgIFswNDAvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzogKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDogKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzogKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6ICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOiAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6IFN3aXRjaCB0byB1c2luZyBmcmFtZWJ1ZmZlcl9vYmplY3RzIGluc3RlYWQgb2YgR0xYUGl4bWFwcywgYmVjYXVzZSB0aGF0J3Mgd2hhdCBteSBkcml2ZXIgc3VwcG9ydHMuICBSZW1vdmUgR0xEcmF3YWJsZSwgc2luY2UgR3N0R0xEaXNwbGF5IG5vdyBoYXMgYSBkZWZhdWx0IGRyYXdhYmxlIGFuZCBjb250ZXh0LgoKMjAwNy0xMi0xOCAwMToyNTo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdGdsdXBsb2FkLmM6CgkqIGdzdC9nbC9nc3RvcGVuZ2wuYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFswMzkvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzogVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnVmLiAgVW50ZXN0ZWQuICBXaWxsIGxpa2VseSBjcmFzaCB5b3VyIG1vdG9yY3ljbGUgaWYgeW91IHRyeSBpdC4gKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IFJlbW92ZS4KCjIwMDctMTItMTYgMjI6NTc6MjEgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJKiBnc3QvZ2wvZ2x2aWRlby5oOgoJICBbMDM4LzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOiAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOiBSZW5hbWUgR0xWaWRlbyogdG8gR3N0R0wqLgoKMjAwNy0xMi0xNiAwMDoxNjo0NiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvZ2wvZ2xleHRlbnNpb25zLmM6CgkqIGdzdC1saWJzL2dzdC9nbC9nbGV4dGVuc2lvbnMuaDoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2x2aWRlby5jOgoJICBbMDM3LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6ICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteSBkcml2ZXIuIDooCgoyMDA3LTEyLTE1IDE5OjMxOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmM6CgkqIGdzdC9nbC9nbHZpZGVvLmg6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uYzoKCSogZ3N0L2dsL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBbMDM2LzkwNl0gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzogKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOiAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6IEFkZCBzdXBwb3J0IGZvciB4UkdCLCB4QkdSLCBhbmQgQVlVVi4gIFJlLWFkZCBzdXBwb3J0IGZvciBwb3dlci1vZi0yIHRleHR1cmVzLgoKMjAwNy0xMi0xNSAwNjozMzozNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuaDoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSogZ3N0L2dsL2dzdG9wZW5nbC5jOgoJKiBnc3QvZ2wvZ3N0dmlkZW8tY29tbW9uLmM6CgkqIGdzdC9nbC9nc3R2aWRlby1jb21tb24uaDoKCSAgWzAzNS85MDZdICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzogKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOiBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgbW92ZSB0byAtYmFzZS4gKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6ICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzogVXNlIHRoZSBuZXcgdmlkZW8tY29tbW9uLmggc3R1ZmYuICBSZWFkZCBzdXBwb3J0IGZvciBSR0IgdmlkZW8uCgoyMDA3LTEyLTE0IDE2OjIzOjA2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMzQvOTA2XSB1cGRhdGUgc3BlYyBmaWxlIGFuZCBhZGQgdHdvIG1pc3NpbmcgZmlsZXMgZm9yIGRpc3RpbmcKCjIwMDctMTItMTIgMDI6MzM6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsdmlkZW8uYzoKCSogZ3N0L2dsL2dsdmlkZW8uaDoKCSAgWzAzMy85MDZdICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmM6ICogc3lzL2dsc2luay9nbHZpZGVvLmg6IFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzaW9uYWxseSBkdWUgdG8gZGlmZmVyZW50IHRocmVhZHMgdG91Y2hpbmcgYml0cyBhdCB0aGUgc2FtZSB0aW1lLgoKMjAwNy0wNi0wNiAxNTo1ODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMi85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19zdG9wKSwgKGdzdF9nbGltYWdlX3NpbmtfY3JlYXRlX3dpbmRvdyksIChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6IFNwcmlua2xlIGluIHNvbWUgWFN5bmMgY2FsbHMgdG8gYXZvaWQgcmFjaW5lc3Mgd2l0aCBicm9rZW4gZHJpdmVycyAoQVRJKSB3aGVuIHJlLXVzaW5nIGEgc2luZ2xlIGdsaW1hZ2VzaW5rLgoKMjAwNy0wNS0xOCAxMjozOTo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAzMS85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0X2Rpc3BsYXkpOiBVcGRhdGUgdGhlIGNhY2hlZCBjYXBzIGFmdGVyIG9wZW5pbmcgdGhlIGRpc3BsYXkgc28gdGhhdCB3ZSByZXBvcnQgb25seSB0aGUgc3VwcG9ydGVkIGNhcHMgZm9ybWF0cywgbm90IGp1c3QgdGhlIHRlbXBsYXRlIGNhcHMuIEZpeGVzOiAjNDM5NDA1CgoyMDA3LTA0LTAzIDIyOjM2OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDMwLzkwNl0gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCjIwMDYtMDktMjMgMDA6Mjg6MzUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMjkvOTA2XSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IHByb2JsZW1zIHdoZW4gdGhlIGVsZW1lbnQgY2Fubm90IG9wZW4gdGhlIGRpc3BsYXkuIChmaXhlcyAjMzU3MjEyKQoKMjAwNi0wOS0yMiAxNTo1OTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyOC85MDZdICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAocGx1Z2luX2luaXQpOiBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuJ3QgdHJ1bXAgcGx1Z2lucyBpbiAtYmFzZSwgLWdvb2Qgb3IgLXVnbHkgKGluIHRoaXMgY2FzZSB4aW1hZ2VzaW5rKS4gKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChwbHVnaW5faW5pdCk6IFNldCByYW5rIHRvIE5PTkUgdG8gcHJldmVudCBpdCBmcm9tIGJlaW5nIGF1dG9wbHVnZ2VkIHVudGlsIGVycm9ycyBhcmUgaGFuZGxlZCBwcm9wZXJseSAoc2VlICMzNTcyMTIpLgoKMjAwNi0wOC0xNSAxOToyOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyNy85MDZdICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOiAoZ3N0X2ZhbWVlbmNfZ2V0X3Byb3BlcnR5KTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2dldF9wcm9wZXJ0eSk6IEZpeCBsZWFrcyAoIzM1MTUwMikuCgoyMDA2LTA2LTIzIDA5OjA5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI2LzkwNl0gKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6ICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6ICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6ICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI1LzkwNl0gKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzogKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiAqIGV4dC9hcnRzL2dzdF9hcnRzLmM6ICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKiBleHQvYnoyL2dzdGJ6MmRlYy5jOiAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6ICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6ICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2Jhc2VfaW5pdCk6ICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfYmFzZV9pbml0KTogKiBleHQvZmFhZC9nc3RmYWFkLmM6ICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzogKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6ICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfYmFzZV9pbml0KTogKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpOiAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KTogKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6ICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzogKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKiBleHQvc25kZmlsZS9nc3RzZi5jOiAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6ICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOiAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6ICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2Jhc2VfaW5pdCk6ICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOiAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2Jhc2VfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfYmFzZV9pbml0KTogKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzogKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6ICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6ICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2Jhc2VfaW5pdCk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6ICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6ICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOiAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzogKGdzdF9wdXp6bGVfYmFzZV9pbml0KTogKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6ICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6ICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6ICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6ICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmM6ICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6ICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzogKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6ICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6ICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzogKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KTogKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6ICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6ICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnc3RfeGluZ19tdXhfYmFzZV9pbml0KTogKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6ICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6ICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX2Jhc2VfaW5pdCk6ICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDI0LzkwNl0gcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAyLTI1IDIxOjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJICBbMDIzLzkwNl0gMjAwNi0wMi0yNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCjIwMDYtMDItMjIgMTQ6Mzc6MjAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAyMi85MDZdICAgICAgICAgKiBjb25maWd1cmUuYWM6ICAgICAgICAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAgICAgICBNZXJnZSBwYXRjaCBmcm9tICMzMTcwNDggZm9yIGJ1aWxkaW5nIG9uIEN5Z3dpbi4gUGF0Y2ggYnkgQ3lnd2luIFBvcnRzIG1haW50YWluZXIuICAgICAgICAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6ICAgICAgICAgTW92ZSBub3JtYWwgZGVidWcgb3V0cHV0IHRvIExPRyBsZXZlbCBub3QgRVJST1IuCgoyMDA2LTAyLTE0IDExOjM2OjMwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBbMDIxLzkwNl0gMjAwNi0wMi0xNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24KCSAgc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgoyMDA2LTAxLTMwIDE1OjQ3OjQ3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMjAvOTA2XSAyMDA2LTAxLTMwICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW0gKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0xJQkFERCkKCSAgKGxpYmdzdGdsaW1hZ2VzaW5rX2xhX0NGTEFHUyk6IEFkZCBQTFVHSU5TX0JBU0UgY2ZsYWdzIGFuZCBsaWJzLgoKMjAwNi0wMS0yOCAxMjo0NTo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkgIFswMTkvOTA2XSAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06IGdsaW1hZ2VzaW5rLmggaXMgZGVhZCwgbG9uZyBsaXZlIGdsaW1hZ2VzaW5rLmgKCjIwMDYtMDEtMjggMDQ6Mzk6MTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dsL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmg6CgkgIFswMTgvOTA2XSAqIGNvbmZpZ3VyZS5hYzogKiBzeXMvTWFrZWZpbGUuYW06ICogc3lzL2dsc2luay9NYWtlZmlsZS5hbTogKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOiByZXZpdmFsIG9mIGdsaW1hZ2VzaW5rLiAgS2luZCBvZiB3b3Jrcy4KCjIwMDUtMTEtMjEgMTQ6MzM6MTEgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTcvOTA2XSAgICAgICAgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAgICAgICAgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19zaW5rX2ZpeGF0ZSk6ICAgICAgICAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOiAgICAgICAgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogICAgICAgICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19maXhhdGUpOiAgICAgICAgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKTogICAgICAgICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogICAgICAgICAoIzMyMjAyNykKCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9nbC9nbGltYWdlc2luay5jOgoJICBbMDE2LzkwNl0gKiBleGFtcGxlcy9pbmRleGluZy9pbmRleG1wZWcuYzogKG1haW4pOiAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzogKGdzdF9hcnRzZHNpbmtfb3Blbl9hdWRpbyksIChnc3RfYXJ0c2RzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9hcnRzZHNpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6IChnc3RfYWZwYXJzZV9vcGVuX2ZpbGUpLCAoZ3N0X2FmcGFyc2VfY2xvc2VfZmlsZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzogKGdzdF9hZnNpbmtfb3Blbl9maWxlKSwgKGdzdF9hZnNpbmtfY2xvc2VfZmlsZSksIChnc3RfYWZzaW5rX2NoYWluKSwgKGdzdF9hZnNpbmtfY2hhbmdlX3N0YXRlKTogKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOiAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzogKGdzdF9hZnNyY19vcGVuX2ZpbGUpLCAoZ3N0X2Fmc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X2Fmc3JjX2NoYW5nZV9zdGF0ZSk6ICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOiAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2luaXQpOiAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOiAoZ3N0X2RpcmVjdGZidmlkZW9zaW5rX2luaXQpOiAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpOiAqIGV4dC9qYWNrL2dzdGphY2suaDogKiBleHQvamFjay9nc3RqYWNrYmluLmM6IChnc3RfamFja19iaW5faW5pdCksIChnc3RfamFja19iaW5fY2hhbmdlX3N0YXRlKTogKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19pbml0KTogKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfaW5pdCk6ICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19vcGVuX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2Nsb3NlX2F1ZGlvKSwgKGdzdF9uYXNzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZXh0L25hcy9uYXNzaW5rLmg6ICogZXh0L3BvbHlwL3BvbHlwc2luay5jOiAoZ3N0X3BvbHlwc2lua19pbml0KTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOiAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6ICogZXh0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOiAoZ3N0X3Ntb290aHdhdmVfaW5pdCk6ICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKGdzdF9zZl9zZXRfcHJvcGVydHkpLCAoZ3N0X3NmX2NoYW5nZV9zdGF0ZSksIChnc3Rfc2ZfcmVsZWFzZV9yZXF1ZXN0X3BhZCksIChnc3Rfc2Zfb3Blbl9maWxlKSwgKGdzdF9zZl9jbG9zZV9maWxlKSwgKGdzdF9zZl9sb29wKTogKiBleHQvc25kZmlsZS9nc3RzZi5oOiAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IChnc3Rfc3dmZGVjX2luaXQpOiAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2luaXQpOiAqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzogKGdzdF9hcGVfZGVtdXhfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhcGFyc2VfaW5pdCk6ICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzogKGdzdF9jZHhhc3RyaXBfaW5pdCk6ICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IChnc3RfZmVzdGl2YWxfY2hhbmdlX3N0YXRlKTogKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDogKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOiAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzogKGdzdF9tdWx0aWZpbGVzaW5rX2luaXQpLCAoZ3N0X211bHRpZmlsZXNpbmtfc2V0X2xvY2F0aW9uKSwgKGdzdF9tdWx0aWZpbGVzaW5rX29wZW5fZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19jbG9zZV9maWxlKSwgKGdzdF9tdWx0aWZpbGVzaW5rX25leHRfZmlsZSksIChnc3RfbXVsdGlmaWxlc2lua19wYWRfcXVlcnkpLCAoZ3N0X211bHRpZmlsZXNpbmtfaGFuZGxlX2V2ZW50KSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYWluKSwgKGdzdF9tdWx0aWZpbGVzaW5rX2NoYW5nZV9zdGF0ZSk6ICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOiAqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6IChnc3RfdmlkZW9kcm9wX2luaXQpOiAqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOiAoY2RwbGF5ZXJfaW5pdCk6ICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19pbml0KSwgKGR4cjNhdWRpb3Npbmtfb3BlbiksIChkeHIzYXVkaW9zaW5rX2Nsb3NlKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fcGNtKSwgKGR4cjNhdWRpb3NpbmtfY2hhaW5fYWMzKSwgKGR4cjNhdWRpb3NpbmtfY2hhbmdlX3N0YXRlKTogKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6ICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpLCAoZHhyM3NwdXNpbmtfb3BlbiksIChkeHIzc3B1c2lua19jbG9zZSksIChkeHIzc3B1c2lua19jaGFpbiksIChkeHIzc3B1c2lua19jaGFuZ2Vfc3RhdGUpOiAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6ICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19pbml0KSwgKGR4cjN2aWRlb3Npbmtfb3BlbiksIChkeHIzdmlkZW9zaW5rX2Nsb3NlKSwgKGR4cjN2aWRlb3Npbmtfd3JpdGVfZGF0YSksIChkeHIzdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6ICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlc2lua19pbml0KTogKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3FjYW1zcmNfb3BlbiksIChnc3RfcWNhbXNyY19jbG9zZSk6ICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOiAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2luaXQpOiAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldF9wcm9wZXJ0eSksIChnc3RfdmNkc3JjX2dldCksIChnc3RfdmNkc3JjX29wZW5fZmlsZSksIChnc3RfdmNkc3JjX2Nsb3NlX2ZpbGUpLCAoZ3N0X3ZjZHNyY19jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3ZjZHNyY19yZWNhbGN1bGF0ZSk6ICogc3lzL3ZjZC92Y2RzcmMuaDogcmVuYW1lZCBHU1RfRkxBR1MgbWFjcm9zIHRvIEdTVF9PQkpFQ1RfRkxBR1MgbW92ZWQgYml0c2hpZnQgZnJvbSBtYWNybyB0byBlbnVtIGRlZmluaXRpb24KCjIwMDUtMDktMDUgMTc6MjA6MjggKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTUvOTA2XSAgICAgICAgICAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCjIwMDQtMTEtMDEgMTQ6NDM6MzggKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkgIFswMTQvOTA2XSAqIGV4dC9hbHNhL2dzdGFsc2EuYzogKGdzdF9hbHNhX2NsYXNzX2luaXQpLCAoZ3N0X2Fsc2FfZGlzcG9zZSksICAgICAgICAgKGdzdF9hbHNhX2ZpbmFsaXplKTogKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6IChnc3RfY2RhdWRpb19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2NkYXVkaW9fZmluYWxpemUpOiAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWEuYzogKGNkcGFyYW5vaWFfY2xhc3NfaW5pdCksIChjZHBhcmFub2lhX2ZpbmFsaXplKTogKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6IChnc3RfZGl2eGRlY19kaXNwb3NlKTogKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6IChnc3RfZGl2eGVuY19kaXNwb3NlKTogKiBleHQvZHZkcmVhZC9kdmRyZWFkc3JjLmM6IChkdmRyZWFkc3JjX2NsYXNzX2luaXQpLCAgICAgICAgIChkdmRyZWFkc3JjX2ZpbmFsaXplKTogKiBleHQvZmxhYy9nc3RmbGFjZGVjLmM6IChnc3RfZmxhY2RlY19jbGFzc19pbml0KSwgKGdzdF9mbGFjZGVjX2ZpbmFsaXplKTogKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19jbGFzc19pbml0KSwgICAgICAoZ3N0X2ZsYWNlbmNfZmluYWxpemUpOiAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZXZmc3NpbmtfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9nbm9tZXZmc3NpbmtfZmluYWxpemUpOiAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21ldmZzc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dub21ldmZzc3JjX2ZpbmFsaXplKTogKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19jbGFzc19pbml0KSwgICAgICAgICAoZ3N0X2ZhbWVlbmNfZmluYWxpemUpOiAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfY2xhc3NfaW5pdCksICAgICAgICAgKGdzdF9uYXNzaW5rX2ZpbmFsaXplKTogKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZpZGVvc2lua19maW5hbGl6ZSksIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpOiAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfZGlzcG9zZSk6ICogZ3N0LWxpYnMvZ3N0L21peGVyL21peGVydHJhY2suYzogKGdzdF9taXhlcl90cmFja19kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvdHVuZXIvdHVuZXJjaGFubmVsLmM6IChnc3RfdHVuZXJfY2hhbm5lbF9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QvdHVuZXIvdHVuZXJub3JtLmM6IChnc3RfdHVuZXJfbm9ybV9kaXNwb3NlKTogKiBnc3QtbGlicy9nc3QveHdpbmRvd2xpc3RlbmVyL3h3aW5kb3dsaXN0ZW5lci5jOiAoZ3N0X3hfd2luZG93X2xpc3RlbmVyX2Rpc3Bvc2UpOiAqIGdzdC9hdWRpb3NjYWxlL2dzdGF1ZGlvc2NhbGUuYzogKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOiAocGxheV9vbl9kZW1hbmRfY2xhc3NfaW5pdCksIChwbGF5X29uX2RlbWFuZF9maW5hbGl6ZSk6ICogZ3N0L3ZpZGVvZmlsdGVyL2dzdHZpZGVvYmFsYW5jZS5jOiAoZ3N0X3ZpZGVvYmFsYW5jZV9kaXNwb3NlKTogKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9zY2FsZV9jaGFpbik6ICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9jbGFzc19pbml0KSwgICAgIChjZHBsYXllcl9maW5hbGl6ZSk6ICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpbmFsaXplKSwgICAgICAgICAoZ3N0X2dsaW1hZ2VzaW5rX2NsYXNzX2luaXQpOiAqIHN5cy9vc3MvZ3N0b3NzZWxlbWVudC5jOiAoZ3N0X29zc2VsZW1lbnRfY2xhc3NfaW5pdCksIChnc3Rfb3NzZWxlbWVudF9maW5hbGl6ZSk6ICogc3lzL29zcy9nc3Rvc3NzaW5rLmM6IChnc3Rfb3Nzc2lua19kaXNwb3NlKTogKiBzeXMvb3NzL2dzdG9zc3NyYy5jOiAoZ3N0X29zc3NyY19kaXNwb3NlKTogKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2Rpc3Bvc2UpOiAgICAgICAgICAgRml4ZXMgYSBidW5jaCBvZiBwcm9ibGVtcyB3aXRoIGZpbmFsaXplIGFuZCBkaXNwb3NlIGZ1bmN0aW9ucywgICAgICAgICAgIGVpdGhlciBhc3N1bXB0aW9ucyB0aGF0IGRpc3Bvc2UgaXMgb25seSBjYWxsZWQgb25jZSwgb3Igbm90IGNhbGxpbmcgICAgICAgICAgIHRoZSBwYXJlbnQgY2xhc3MgZGlzcG9zZS9maW5hbGl6ZSBmdW5jdGlvbgoKMjAwNC0wOC0yNyAxOToxODoyNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvZ2xpbWFnZXNpbmsuYzoKCSAgWzAxMy85MDZdICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX3hpbWFnZV9wdXQpLCAoZ3N0X2dsaW1hZ2VzaW5rX3h3aW5kb3dfbmV3KSwgKGdzdF9nbGltYWdlc2lua194Y29udGV4dF9nZXQpLCAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6ICBNb3ZlIGxvY2FsIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyB0byBtYWtlIGdjYy0yLjk1IGhhcHB5LgoKMjAwNC0wOC0wOSAyMDoxNjo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZ2wvQVJCX211bHRpdGV4dHVyZS5oOgoJKiBnc3QvZ2wvRVhUX3BhbGV0dGVkX3RleHR1cmUuaDoKCSogZ3N0L2dsL05WX3JlZ2lzdGVyX2NvbWJpbmVycy5oOgoJKiBnc3QvZ2wvZ3N0Z2xfbnZpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcGRyaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5oOgoJKiBnc3QvZ2wvZ3N0Z2x4d2luZG93LmM6CgkqIGdzdC9nbC9yZWdjb21iX3l1dnJnYi5jOgoJICBbMDEyLzkwNl0gKiBzeXMvZ2xzaW5rL0FSQl9tdWx0aXRleHR1cmUuaDogIFJlbW92ZSBvbGQgZmlsZXMuICogc3lzL2dsc2luay9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOiAqIHN5cy9nbHNpbmsvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6ICogc3lzL2dsc2luay9nc3RnbF9udmltYWdlLmM6ICogc3lzL2dsc2luay9nc3RnbF9wZHJpbWFnZS5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xfcmdiaW1hZ2UuYzogKiBzeXMvZ2xzaW5rL2dzdGdsc2luay5jOiAqIHN5cy9nbHNpbmsvZ3N0Z2xzaW5rLmg6ICogc3lzL2dsc2luay9nc3RnbHh3aW5kb3cuYzogKiBzeXMvZ2xzaW5rL3JlZ2NvbWJfeXV2cmdiLmM6CgoyMDA0LTA4LTA5IDIwOjE0OjUxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9NYWtlZmlsZS5hbToKCSogZ3N0L2dsL2dsaW1hZ2VzaW5rLmM6CgkqIGdzdC9nbC9nbGltYWdlc2luay5oOgoJICBbMDExLzkwNl0gUGF0Y2ggZnJvbSBHZXJub3QgWmllZ2xlciA8Z3pAbHlzYXRvci5saXUuc2U+IHJld3JpdGluZyB0aGUgR0wgc2luayBwbHVnaW4uICAoQnVnICMxNDczMDIpICogY29uZmlndXJlLmFjOiBUZXN0IGZvciBPcGVuR0wgKiBzeXMvTWFrZWZpbGUuYW06IFVzZSB0ZXN0IGZvciBPcGVuR0wgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOiAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogcmV3cml0ZSAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDogcmV3cml0ZQoKMjAwNC0wMy0xNSAxOTozMjoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMTAvOTA2XSBkb24ndCBtaXggdGFicyBhbmQgc3BhY2VzCgoyMDA0LTAzLTE1IDE2OjMyOjUzICswMDAwICBKb2hhbiBEYWhsaW4gPGpvaGFuQGdub21lLm9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSAgWzAwOS85MDZdICAgICAgICAgKiAqLmg6IFJldmVydCBpbmRlbnRpbmcKCjIwMDQtMDMtMTQgMjI6MzQ6MzIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hcyBhdCBhcGVzdGFhcnQgZG90IG9yZz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTlZfcmVnaXN0ZXJfY29tYmluZXJzLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xfcmdiaW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsc2luay5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmg6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDgvOTA2XSBnc3QtaW5kZW50CgoyMDA0LTAxLTEyIDA0OjE1OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9wZHJpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDcvOTA2XSAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnLmM6ICAqIGV4dC9mZm1wZWcvZ3N0ZmZtcGVnY29kZWNtYXAuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdkZWMuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdlbmMuYzogICogZXh0L2ZmbXBlZy9nc3RmZm1wZWdwcm90b2NvbC5jOiAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGthbmltYXRpb24uYzogICogZXh0L2pwZWcvZ3N0anBlZy5jOiAgKiBleHQvbGlicG5nL2dzdHBuZy5jOiAgKiBleHQvbXBlZzJkZWMvcGVyZnRlc3QuYzogICogZXh0L3NwZWV4L2dzdHNwZWV4LmM6ICAqIGdzdC1saWJzL2dzdC9yZXNhbXBsZS9kdG9zLmM6ICAqIGdzdC9pbnRmbG9hdC9nc3RpbnRmbG9hdGNvbnZlcnQuYzogICogZ3N0L29uZXRvbi9nc3RvbmV0b24uYzogICogZ3N0L3J0anBlZy9SVGpwZWcuYzogICogZ3N0L3J0cC9nc3RydHAuYzogICogc3lzL2R4cjMvZHhyM2luaXQuYzogICogc3lzL2dsc2luay9nc3RnbF9udmltYWdlLmM6ICAqIHN5cy9nbHNpbmsvZ3N0Z2xfcGRyaW1hZ2UuYzogICogc3lzL2dsc2luay9nc3RnbHNpbmsuYzogICogdGVzdHN1aXRlL2dzdC1saW50OiAgTWFrZSBzdXJlIGV2ZXJ5Ym9keSB3cmFwcyAjaW5jbHVkZSAiY29uZmlnLmgiIGluICNpZmRlZiBIQVZFX0NPTkZJR19ICgoyMDAzLTEyLTIyIDAxOjQ3OjA4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwNi85MDZdIE1lcmdlIENBUFMgYnJhbmNoCgoyMDAzLTEyLTA0IDEwOjM3OjM2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkgIFswMDUvOTA2XSByZW1vdmUgY29weXJpZ2h0IGZpZWxkIGZyb20gcGx1Z2lucwoKMjAwMy0xMS0wNyAxMjo0Njo1MiArMDAwMCAgUm9uYWxkIFMuIEJ1bHRqZSA8cmJ1bHRqZUByb25hbGQuYml0ZnJlYWsubmV0PgoKCSogZ3N0L2dsL2dzdGdsX3JnYmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDQvOTA2XSBSZW1vdmUgYWxsIGNvbmZpZy5oIGluY2x1ZGVzIGZyb20gaGVhZGVyIGZpbGVzLCBhZGQgaXQgdG8gZWFjaCBzb3VyY2UgZmlsZSBhbmQgcmVtb3ZlIGR1cGxpY2F0ZSBjb25maWcuaCBpbmNsdWRlcyBmcm9tIHNldmVyYWwgc291cmNlIGZpbGVzCgoyMDAzLTExLTA2IDAwOjI3OjAzICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9nc3RnbHNpbmsuYzoKCSAgWzAwMy85MDZdIHVwZGF0ZXMgdG8gZ2xzaW5rCgoyMDAzLTEwLTMxIDE2OjQwOjIwICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9nc3RnbF9udmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHh3aW5kb3cuYzoKCSogZ3N0L2dsL3JlZ2NvbWJfeXV2cmdiLmM6CgkgIFswMDIvOTA2XSBnbHNpbmsgd2l0aCBjb3JyZWN0IHRocmVhZGluZyBzdXBwb3J0CgoyMDAzLTEwLTI4IDE4OjU0OjIwICswMDAwICBtYWRtYWMgPG1hZG1hYz4KCgkqIGdzdC9nbC9BUkJfbXVsdGl0ZXh0dXJlLmg6CgkqIGdzdC9nbC9FWFRfcGFsZXR0ZWRfdGV4dHVyZS5oOgoJKiBnc3QvZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC9nbC9OVl9yZWdpc3Rlcl9jb21iaW5lcnMuaDoKCSogZ3N0L2dsL2dzdGdsX252aW1hZ2UuYzoKCSogZ3N0L2dsL2dzdGdsX3BkcmltYWdlLmM6CgkqIGdzdC9nbC9nc3RnbF9yZ2JpbWFnZS5jOgoJKiBnc3QvZ2wvZ3N0Z2xzaW5rLmM6CgkqIGdzdC9nbC9nc3RnbHNpbmsuaDoKCSogZ3N0L2dsL2dzdGdseHdpbmRvdy5jOgoJKiBnc3QvZ2wvcmVnY29tYl95dXZyZ2IuYzoKCSAgWzAwMS85MDZdIHdlbGNvbWUgdG8gZ2xzaW5rIGZvciAwLjcueCA6KQoKMjAxNC0wMy0xNCAxODoyMzo1MSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjA0MQoKMjAxNC0wMy0xNSAxNToxNzo0MyArMDEwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBjaGVjayBmb3IgVklERU8gbWV0YSBpbnN0ZWFkIG9mIENST1AgbWV0YQoJICBUaGlzIGVsZW1lbnQgb25seSBuZWVkIHN0cmlkZSBzdXBwb3J0LCBidXQgY2hlY2tzIGZvciBDUk9QX01FVEEsIHdoaWNoCgkgIGlzIGEgYml0IHRvbyBtdWNoLCBldmVuIHRob3VnaCB0aGlzIHdvcmtzIGFzIENST1AgaW1wbHkgaGF2aW5nIFZJREVPCgkgIG1ldGEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYyNTUKCjIwMTQtMDMtMDQgMTM6MTk6NTUgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IG1wZWd0czogY2hhbmdlIGJhbmR3aWR0aCB0byBEVkJ2NSB2YWx1ZXMKCSAgU2lnbmVkLW9mZi1ieTogU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0NjMKCjIwMTMtMTAtMzEgMTQ6Mjc6MTAgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IHRzLXBhcnNlcjogQWRkIHRhYmxlX2lkX25hbWUgZnVuY3Rpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4MgoKMjAxMy0xMS0xOSAxMTozNjoxNCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogdHMtcGFyc2VyOiBBZGQgRFZCIHRlbGV0ZXh0L3N1YnRpdGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTY4MgoKMjAxNC0wMy0wMyAxMzowNzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgQmx1cmF5IERUUy9EVFMtSEQgYW5kIEFDMysvVHJ1ZUhEIHN0cmVhbXMKCSAgQXBhcnQgZnJvbSBqdXN0IGFkZGluZyBkZXRlY3Rpb24gb2YgdGhlIHByb3BlciBzdHJlYW0gdHlwZSwgd2UgYWxzbyBuZWVkIHRvIG9ubHkKCSAgb3V0cHV0IHRoZSBmaXJzdCBzdWJzdHJlYW0gKDB4NzEpIHdoaWNoIGNvbnRhaW5zIHRoZSBjb3JlIHN1YnN0cmVhbS4KCSAgV2hpbGUgdGhpcyBkb2VzIG5vdCBwcm92aWRlICpmdWxsKiBEVFMtSEQgc3VwcG9ydCAoc2luY2UgaXQgd2lsbCBtaXNzIHRoZSBjb21wbGVtZW50YXJ5CgkgIHN1YnN0cmVhbXMpLCBpdCB3aWxsIHN0aWxsIHdvcmsgaW4gdGhlIHdheSBsZWdhY3kgKG5vbi1EVFMtSEQpIGJsdXJheSBwbGF5ZXJzIHdvdWxkIHdvcmsuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU1NjMKCjIwMTQtMDMtMTMgMTQ6NDE6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBzdHJpbmcgb3JkZXIgaW4gd2FybmluZyBtZXNzYWdlCgoyMDE0LTAzLTA5IDE4OjQxOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBBbHdheXMgY2FsY3VsYXRlIHRoZSBjdXJyZW50IGRvd25sb2FkIHJhdGUKCSAgQWxzbyB0YWtlIGludG8gYWNjb3VudCB0aGUgbGFzdCBkb3dubG9hZCByYXRlIHdoZW4KCSAgY2FsY3VsYXRpbmcgaXQuCgoyMDE0LTAzLTExIDEwOjMyOjQ2ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjZW5jOiBBbGxvdyB1c2VyIHRvIHNldCBjaGFubmVsLW1vZGUKCSAgRG9uJ3QgcmV0dXJuIGVycm9yIHdoZW4gY2hhbm5lbC1tb2RlIGlzIGFscmVhZHkgc2V0LCBqdXN0IGNoZWNrIHRoYXQgaXQKCSAgaXMgY29oZXJlbnQgd2l0aCBudW1iZXIgb2YgY2hhbm5lbHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjYwOTgKCjIwMTQtMDMtMTAgMTE6MTk6NDYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IERpZmZlcmVudGlhdGUgdGhlIG1wZWctMiBzdHJlYW0gZnJvbSBtcGVnLTEgYmFzZWQgb24gcGljX2V4dAoJICBQcmVzZW5jZSBvZiBwaWN0dXJlIGV4dGVuc2lvbiBoZWFkZXIgaWRlbnRpZmllcyB0aGUgc3RyZWFtIGFzIG1wZWcyLgoJICBXZSBhcmUgc3VwcG9zZWQgdG8gc2V0IHRoZSBtcGVndmVyc2lvbiB0byAyIGlmIHRoZXJlIGlzIGEgcGljZXh0ZW5zaW9uCgkgIGluc3RlYWQgb2YgYmxpbmRseSBzZXR0aW5nIHRoZSB2ZXJzaW9uIHRvIDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNjAyOAoKMjAxNC0wMy0xMSAyMjozNjowMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogc2V0IGEgZ3JvdXAtaWQgb24gdGhlIHN0cmVhbS1zdGFydCBldmVudAoJICBTZXQgYSBkZWZhdWx0IGdyb3VwLWlkIHRvIGZpeCBhIHdhcm5pbmcgcHJpbnRlZCBieSB0aGUgc2luay4KCjIwMTQtMDMtMTAgMjI6NDg6MDQgKzAxMDAgIE1hdGhpZXUgRHVwb25jaGVsbGUgPG1kdXBvbmNoZWxsZTFAZ21haWwuY29tPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByZmlsdGVyOiBmaXggbWVtb3J5IGNvcnJ1cHRpb24gb24gc2luayBjYXBzIGNoYW5nZXMuCgkgIFdoZW4gdGhlIGlucHV0IHNpemUgY2hhbmdlZCwgdGhlIGZyZWkwciBmaWx0ZXJzIGRpZG4ndCB0YWtlCgkgIGl0IGludG8gYWNjb3VudCBhbmQgZW5kZWQgdXAgY29ycnVwdGluZyBtZW1vcnkuCgkgIEZpeGVzICM3MjYwNjkKCjIwMTQtMDMtMTEgMTU6MzA6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogQWRkIHNvbWUgbW9yZSBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDMtMTEgMTQ6NDc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogSW1wbGVtZW50IGRyYWluaW5nIHByb3Blcmx5CgoyMDE0LTAzLTExIDE0OjM3OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXRkZWM6IEZpcnN0IGRlcXVldWUgYSBidWZmZXIgYmVmb3JlIGVucXVldWVpbmcgYW55dGhpbmcgZnJvbSB0aGUgcXVldWUKCSAgUmVxdWlyZWQgZm9yIG9mZmxpbmUgcmVuZGVyaW5nIGFjY29yZGluZyB0byB0aGUgZG9jcy4gd3RmLgoKMjAxNC0wMy0xMSAxNDozMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmg6CgkgIGF0ZGVjOiBLZWVwIHRyYWNrIG9mIHRoZSBjdXJyZW50IHBvc2l0aW9uCgkgIEl0J3MgcmVxdWlyZWQgdG8gc2V0IGEgdmFsaWQgc2FtcGxlIHRpbWUgZm9yIGRlY29kaW5nIG9uIGlPUy4KCjIwMTQtMDMtMTEgMTQ6MjQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJICBhdGRlYzogQWx3YXlzIHRyeSB0byBwdWxsIG9uZSBkZWNvZGVkIGZyYW1lIG91dCBvZiB0aGUgcXVldWUKCSAgLi4uIGluc3RlYWQgb2YgZG9pbmcgbWFnaWMgY2FsY3VsYXRpb25zIHdpdGggdGhlIGJ1ZmZlciBkdXJhdGlvbi4KCjIwMTQtMDMtMTEgMTQ6MjI6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhdGRlYzogSGFuZGxlIGVycm9ycyBpbiBoYW5kbGVfZnJhbWUoKSBwcm9wZXJseQoKMjAxNC0wMy0xMSAxNDoxNDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBDYWxsIEF1ZGlvUXVldWVSZXNldCgpIGZvciBmbHVzaGluZwoJICBBdWRpb1F1ZXVlRmx1c2goKSBpcyBmb3IgZHJhaW5pbmcgYWxsIHJlbWFpbmluZyBkYXRhLgoKMjAxNC0wMy0xMSAxMToxODoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSAgYXRkZWM6IFNldCBjb3JyZWN0IG51bWJlciBvZiBmcmFtZXMgZm9yIE1QMwoKMjAxNC0wMy0xMSAxMToxODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBJbml0aWFsaXplIHRoZSBhdWRpbyBkZXNjcmlwdGlvbiB3aXRoIHplcm9lcwoKMjAxNC0wMy0xMSAxMToxNDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF0ZGVjOiBTZXQgdGhlIGNvcnJlY3QgbGF5ZXIgZGVwZW5kaW5nIG9uIHRoZSBNUDMgY2FwcwoKMjAxNC0wMy0xMSAxMDoyNjozNCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdmlkZW9zaWduYWwgd2FzIHBvcnRlZCBhbG1vc3QgYSB5ZWFyIGFnbwoKMjAxNC0wMy0wOSAxOTozODozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGNvbXBhcmlzb24gaW4gYml0cmF0ZSBzZWxlY3Rpb24KCjIwMTQtMDMtMDcgMTI6MTE6NTkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IHNldCBwcm94eSBhbGxvY2F0aW9uIGZsYWcgb24gdGhlIHZpZGVvIHNpbmsgcGFkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU4OTMKCjIwMTQtMDMtMDcgMTY6MjI6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgbTN1ODogRml4IG9mZi1ieS1vbmUgaW4gdGhlIGRvd25sb2FkIHJhbmdlIGVuZAoKMjAxNC0wMy0wNyAxNjoyMjoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdGZyYWdtZW50LmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWQ6IEhhbmRsZSBubyBidWZmZXJzIGJlZm9yZSBFT1MgYXMgZXJyb3IgaW5zdGVhZCBvZiBjcmFzaGluZwoKMjAxNC0wMy0wNiAyMzoxNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHByb3BlciBzZWdtZW50IGhhbmRsaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4NDYKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzI2OAoKMjAxNC0wMy0wNSAxMDo0NzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGhhbmRsaW5nIG9mIGJ5dGUgcmFuZ2VzCgoyMDE0LTAyLTI3IDEwOjU0OjEwICswMTAwICBaYWxsZXNvdiA8emFsbGVzb3ZAZ21haWwuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IHNlZWtpbmcgZnVydGhlciB0aGFuIHRyYWNrIGR1cmF0aW9uCgkgIERvbid0IGZhaWwgdGhlIHNlZWsgYnV0IGluc3RlYWQgc2VuZCBhbiBFT1MgZXZlbnQgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMTQtMDMtMDUgMTY6MDI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTd2l0Y2ggcGxheWxpc3RzIGFmdGVyIHB1c2hpbmcgdGhlIGZyYWdtZW50CgkgIE1ha2VzIHN1cmUgd2UgcHJvcGVybHkgc2V0IHRoZSBkaXNjb250IGZsYWcgZm9yIHRoZSBuZXh0IGJ1ZmZlciwKCSAgbm90IHRoZSBjdXJyZW50IG9uZS4KCjIwMTQtMDEtMTAgMTc6Mzg6MDkgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGhhbmRsZSB2aWRlby94LXJhdyhBTlkpIGlmIGRvd25zdHJlYW0gc3VwcG9ydHMgdGhlIEdzdFZpZGVvT3ZlcmxheUNvbXBvc2l0aW9uTWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTk1MAoKMjAxNC0wMy0wNCAxNzoyNToyMyArMDIwMCAgQW5kcmVzIEdvbWV6IDxhZ29tZXpAaWdhbGlhLmNvbT4KCgkqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuYzoKCSAgd2luaW5ldDogImlyYWRpby1tb2RlIiBwcm9wZXJ0eSBkZWZhdWx0cyB0byBUUlVFCgkgIEFzIHBlciBkaXNjdXNzZWQgaW4gYnVnICM3MjUzODMsIGl0IGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIHRvIGRlZmF1bHQKCSAgdG8gRkFMU0UgaW4gdGhlICJpcmFkaW8tbW9kZSIgcHJvcGVydHkuIEJldHRlciwgbGV0J3Mgc2VudCB0aGUgaGVhZGVyCgkgIGJ5IGRlZmF1bHQgYW5kIGp1c3QgaWdub3JlIGhlYWRlcnMgdGhhdCBhcmUgbm90IHVuZGVyc3Rvb2QsIGlmIHNvLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NjU5CgoyMDE0LTAzLTA1IDAwOjUxOjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgdGVzdHM6IGZpeCBtcGcxMjNhdWRpb2RlYyB0ZXN0IGZvciBiaWctZW5kaWFuIGFyY2hpdGVjdHVyZXMKCjIwMTQtMDMtMDUgMTE6MjA6MjcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICByYXdwYXJzZTogaW5jcmVhc2UgZnJhbWVyYXRlIHRvIG1heGludAoKMjAxNC0wMy0wNSAxMDo1NDo0NyArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBpbmNyZWFzZSBtYXhpbXVtIGZyYW1lcmF0ZQoKMjAxNC0wMy0wMiAwNToyNTo0OCArMDEwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2VicmFzQGhvdG1haWwuY29tPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogSWdub3JlIGdjb3YgaW50ZXJtZWRpYXRlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjU0ODEKCjIwMTQtMDMtMDEgMTc6MTM6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IHByb3BlciBoYW5kbGluZyBvZiBkaXNjb250aW51aXRpZXMKCSAgSXQncyBub3QgcmVhbGx5IGNvcnJlY3QgeWV0IGZvciBzZWVrcyBidXQgYmV0dGVyIHRoYW4gd2hhdAoJICB3ZSBoYWQgYmVmb3JlLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg0NgoKMjAxNC0wMi0yOCAxMToxNjoyNyAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IHVucmVmIGNhcHMgYWZ0ZXIgZ3N0X3F1ZXJ5X3NldF9jYXBzX3Jlc3VsdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1NDEyCgoyMDE0LTAyLTI1IDExOjQ1OjQ2ICswMDAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNlZ2ZhdWx0cyBpZiBwbGF5bGlzdCBoYXMgbm8gbWVkaWEgZmlsZXMKCSAgaGxzZGVtdXggY2F1c2VzIGEgbnVsbCBwb2ludGVyIGRlcmVmZXJlbmNlIGlmIHRoZSBtZWRpYSBwbGF5bGlzdAoJICBkb2VzIG5vdCBjb250YWluIGFueSBtZWRpYSBmaWxlcy4gVGhlIGdzdF9tM3U4X2NsaWVudF9nZXRfZHVyYXRpb24KCSAgZnVuY3Rpb24gYXNzdW1lcyB0aGF0IGRlbXV4LT5jbGllbnQtPmN1cnJlbnQtPmZpbGVzIGlzIHZhbGlkIHdoZW4KCSAgY29tcHV0aW5nIGR1cmF0aW9uLgoJICBnc3RfbTN1OF9jbGllbnRfdXBkYXRlIG5lZWRlZCB0byBiZSBtb2RpZmllZCB0byBjaGVjayBmb3IgdGhlCgkgIGNhc2Ugb2YgZG93bmxvYWRpbmcgYW4gTTNVOCBmaWxlIHRoYXQgZG9lc24ndCBjb250YWluIGFueSBtZWRpYQoJICBmaWxlcywgYW5kIHJldHVybmluZyBhbiBlcnJvciB0byBnc3RobHNkZW11eC5jCgkgIFRoaXMgYnVnIGNhbiBiZSByZXByb2R1Y2VkIGJ5IGNyZWF0aW5nIGEgbWFzdGVyIG0zdTggZmlsZSB0aGF0CgkgIGNvbnRhaW5zIG9uZSBtZWRpYSBwbGF5bGlzdCB0aGF0IHBvaW50cyBiYWNrIHRvIHRoZSBtYXN0ZXIgbTN1OAoJICBmaWxlLiAgRm9yIGV4YW1wbGUgY3JlYXRlIGEgZmlsZSBjYWxsZWQgYnVnNzI1MTM0Lm0zdTg6CgkgICNFWFRNM1UKCSAgI0VYVC1YLVZFUlNJT046NAoJICAjRVhULVgtU1RSRUFNLUlORjpQUk9HUkFNLUlEPTEsIEJBTkRXSURUSD0xMjUxMTM1LCBDT0RFQ1M9ImF2YzEuNDIwMDFmIG1wNGEuNDAuMiIsIFJFU09MVVRJT049NjQweDM1MgoJICBidWc3MjUxMzQubTN1OAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1MTM0CgoyMDE0LTAyLTI4IDA5OjM0OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZTE2NzJlIHRvIGJjYjE1MTgKCjIwMTQtMDItMjcgMjI6Mjg6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IERvbid0IHdyaXRlIGFmdGVyIHRoZSBlbmQgb2YgdGhlIHBzbSBhcnJheSB3aGVuIGluaXRpYWxpc2luZyBpdAoKMjAxNC0wMi0yNyAyMTo0NTozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkgIG9wZW5hbHNyYzogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNyAyMTo0MTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogUmVtb3ZlIHVudXNlZCBmdW5jdGlvbiB0byBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxNC0wMi0yNyAxNTo0OToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEluaXQgYW5kIGNsZWFyIGEgbXV0ZXgKCSAgR0xpYiBpbml0aWFsaXNlcyBhdXRvbWF0aWNhbGx5IGZvciB1cyBmb3Igc29tZSByZWFzb24uLi4gYnV0IG9mIGNvdXJzZQoJICBkb2VzIG5vdCBjbGVhciB0aGUgbXV0ZXggb25jZSB0aGUgZGVtdXhlciBpcyBkZXN0cm95ZWQuCgoyMDE0LTAyLTI3IDE1OjQxOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogVW5yZWYgc2VlayBldmVudHMgYmVmb3JlIHJldHVybmluZyBmcm9tIHRoZSBzZWVrIGhhbmRsZXIKCSAgT3RoZXJ3aXNlIHdlIGxlYWsgdGhlbSBhbGwuCgoyMDE0LTAyLTI3IDEyOjAyOjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggZGVidWcgb3V0cHV0IHRvIGRlc2NyaWJlIHRoZSBuZXcgcmVhbGl0eQoKMjAxNC0wMi0yNyAxMTo1MzoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogV2FybmluZyBtZXNzYWdlcyBhcmUgbm90IGZhdGFsCgkgIEFsc28gdGhleSBuZWVkIHRvIGJlIHBhcnNlZCB3aXRoIGdzdF9tZXNzYWdlX3BhcnNlX3dhcm5pbmcoKSwKCSAgZ3N0X21lc3NhZ2VfcGFyc2VfZXJyb3IoKSBkb2VzIG5vdCB3b3JrIG9uIHRoZW0uCgoyMDE0LTAyLTI2IDIyOjI2OjQ4ICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIGRvY3M6IG1wZWd0czogYWRkIG1pc3NlZCBkb2NzCgkgIFNpZ25lZC1vZmYtYnk6IFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI1Mjc4CgoyMDE0LTAyLTI2IDIxOjA4OjIzICswMTAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBkb2NzOiBkdmJzcmM6IGFkZCBtaXNzZWQgYXJncwoJICBTaWduZWQtb2ZmLWJ5OiBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTI3OAoKMjAxNC0wMi0yNiAyMjoxMjoyMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWEwN2RhOSB0byBmZTE2NzJlCgoyMDE0LTAyLTI2IDE5OjE4OjU0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIHN0cmF5ICggaW4gTWFrZWZpbGUuYW0KCjIwMTQtMDItMjQgMjI6NTM6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmb3J3YXJkIHRhZ3MgdGhhdCBoYXZlIGdsb2JhbCBzY29wZQoJICBJbnN0ZWFkIG9mIGRyb3BwaW5nIGFsbCB0YWcgZXZlbnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTQtMDItMjQgMjI6NDM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogc3RvcmUgZ2xvYmFsIHRhZ3MgdG8gcHVzaCBsYXRlcgoJICBLZWVwIGEgbGlzdCBvZiBjdXJyZW50IGdsb2JhbCB0YWdzIGFyb3VuZCBhbmQgcHVzaCB0aGVtCgkgIHdoZW5ldmVyIGEgbmV3IHN0cmVhbSBpcyBzdGFydGVkLiBBbHNvIGNvbnZlcnQgYWxsIHN0cmVhbQoJICBzcGVjaWZpYyB0YWdzIHRvIGdsb2JhbCBhcyB0aGV5IGFyZSBzdHJlYW0gc3BlY2lmaWMgZm9yCgkgIHRoZSBjb250YWluZXIsIHNvIHRoZXkgYXJlIGdsb2JhbCBmb3IgdGhlIHN0cmVhbXMgZnJvbQoJICB3aXRoaW4gdGhhdCBjb250YWluZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDQzOTUKCjIwMTQtMDItMjYgMTE6MzI6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBpbnN0YWxsIHByZWJ1aWx0IHBsdWdpbiBkb2NzIGlmIGd0ay1kb2MgaXMgZGlzYWJsZWQKCSAgU3luYyB0byB0aGUgTWFrZWZpbGUuYW0gZnJvbSBnc3QtcGx1Z2luLWJhc2Ugd2hlcmUgaXQgaXMgZG9uZSByaWdodC4KCSAgRml4ZXMgIzcyNTAzNAoKMjAxNC0wMi0yMSAwOTozNjo1MSArMDAwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBGaXggcGFyc2luZyBvZiBDT0RFQ1MgYW5kIFJFU09MVVRJT04KCSAgaGxzZGVtdXggZG9lcyBub3QgY2hlY2sgZm9yIHRoZSAnIicgY2hhcmFjdGVyIGluICNFWFQtWC1TVFJFQU0tSU5GCgkgIGF0dHJpYnV0ZXMuIFRoZSBDT0RFQ1MgcGFyYW1ldGVyIGlzIGFuIGV4YW1wbGUgb2YgYW4gYXR0cmlidXRlCgkgIHRoYXQgbWlnaHQgdXNlIHRoZSAnIicgc3ltYm9sIGFuZCBtaWdodCBjb250YWluIGEgJywnIGNoYXJhY3RlcgoJICBpbnNpZGUgdGhpcyBxdW90ZWQgc3RyaW5nLgoJICBGb3IgZXhhbXBsZTogQ09ERUNTPSJhdmMxLjc3LjMwLCBtcDRhLjQwLjIiCgkgIGhsc2RlbXV4IGRvZXMgbm90IGNvcnJlY3RseSBwYXJzZSB0aGUgUkVTT0xVVElPTiBhdHRyaWJ1dGUsIGl0CgkgIGFzc3VtZXMgdGhhdCBhbiAnPScgY2hhcmFjdGVyIGlzIHVzZWQgdG8gZGVsaW5lYXRlIHRoZSB3aWR0aAoJICBhbmQgaGVpZ2h0IHZhbHVlcywgYnV0IHRoZSBITFMgUkZDIHN0YXRlcyB0aGF0IGEgJ3gnIGNoYXJhY3RlcgoJICBtdXN0IGJlIHVzZWQgYXMgdGhlIGRlbGltaXRlciBiZXR3ZWVuIHdpZHRoIGFuZCBoZWlnaHQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUxNDAKCjIwMTQtMDItMjEgMDk6MzA6NDkgKzAwMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRml4IGZvciBVUkxzIHRoYXQgY29udGFpbiBhICcvJyBpbiB0aGUgcXVlcnkgcGFyYW1ldGVyCgkgIElmIHRoZSBVUkwgZm9yIHRoZSBtYXN0ZXIgbWFuaWZlc3QgZmlsZXMgY29udGFpbnMgYSAnLycgY2hhcmFjdGVyCgkgIGluIHRoZSBxdWVyeSBwYXJhbWV0ZXIgKGZvciBleGFtcGxlCgkgIGh0dHA6Ly9leGFtcGxlLm5ldC8xMDU0NTU5X2gyNjRfMTUwMGsubXA0L21hc3Rlci5tM3U4P2FjbD0vKjEwNTQ1NTlfaDI2NF8xNTAway5tcDQpLAoJICBobHNkZW11eCBpcyBpbmNvcnJlY3RseSBjb252ZXJ0aW5nIHRoZSByZWxhdGl2ZSBVUkxzIG9mIHRoZSBtZWRpYQoJICBwbGF5bGlzdHMgaW4gdG8gYWJzb2x1dGUgVVJMcy4gSXQgaXMgaW5jb3JyZWN0bHkgdXNpbmcgdGhlIGxhc3QgJy8nIGl0CgkgIGZpbmRzIGluIHRoZSBVUkwuIEFjY29yZGluZyB0byBSRkMzOTg2IHRoZSAnLycgY2hhcmFjdGVyIGlzIGFsbG93ZWQgaW4KCSAgdGhlIHF1ZXJ5IHBhcnQgb2YgdGhlIFVSTC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNTEzNwoKMjAxMy0xMi0wMiAxMDowMToxMiArMDAwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2xnbGVzc2luazogbW92ZSBHc3RFR0xJbWFnZUJ1ZmZlclBvb2wgdG8gZ3N0ZWdsIGxpYgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDU0CgoyMDE0LTAyLTI1IDEyOjE3OjIwICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndHMuYzoKCSAgdGVzdDogbXBlZ3RzOiBBZGQgY2hlY2sgZm9yIFNEVAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0OTgxCgoyMDE0LTAyLTIyIDE2OjQ2OjMxICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgY29uc3RydWN0b3IgZm9yIGR2YiBzZXJ2aWNlIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yNSAxMDoyODozOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IG1wZWd0czogQWRkIG5ldyBTRFQgQVBJCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjIgMTY6NDc6NTcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBjcmVhdGlvbiBvZiBTRFQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDk4MQoKMjAxNC0wMi0yMiAxNjo0MToyMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHRyYW5zcG9ydF9zdHJlYW1faWQgdG8gR3N0TXBlZ1RzU0RUCgkgIFRoZSB0cmFuc3BvcnRfc3RyZWFtX2lkIGlzIGNvbnRhaW5lZCBpbiB0aGUgc3VidGFibGUgZXh0ZW5zaW9uLgoJICBJbnRyb2R1Y2UgYSB2YXJpYWJsZSBmb3IgcmVhZGFiaWxpdHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODEKCjIwMTQtMDItMjUgMTE6Mjk6MDYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogSW5pdGlhbGl6ZSBQU00gZnVsbHkKCSAgU29tZSBnYXBzIHdlcmUgbWlzc2VkIGluIHRoZSBwcmV2aW91cyB2ZXJzaW9uLiBJbnN0ZWFkIGp1c3QgaW5pdGlhbGl6ZQoJICB0aGUgd2hvbGUgdGFibGUgdG8gLTEgZmlyc3QgYW5kIHRoZW4gZmlsbCB3aGF0IG5lZWRzIHRvIGJlIHNwZWNpZmllZC4KCjIwMTQtMDItMjQgMTU6NTI6NTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBkZXNjcmlwdG9yIGNoZWNrcwoJICBPbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBvbiBwcm92aWRlZCBkaXJlY3QgYXJndW1lbnRzLiBUaGUgb3RoZXJzIGdldAoJICBjaGVja2VkIGFsbCB0aGUgdGltZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDQ2NAoKMjAxNC0wMi0yNCAxNDo1NjowMyAtMDUwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AY2l0YS51dG9yb250by5jYT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSAgZGVidWd1dGlsc2JhZC5jIGZhaWxzIGdzdC1pbmRlbnQgY2hlY2sKCSAgdGhpcyBwYXRjaCBpcyAiZ3N0LWluZGVudCBkZWJ1Z3V0aWxzYmFkLmMiCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjUwOTAKCjIwMTQtMDItMjIgMTg6MjI6MjYgKzAxMDAgIEplc3BlciBMYXJzZW4gPGtub3JyLmplc3BlckBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IG5ldHdvcmtfbmFtZTogQ2hlY2sgY29udmVydGVkIGxlbmd0aAoJICBDaGVjayB0aGUgbGVuZ3RoIG9mIHRoZSBuYW1lIGFyZ3VtZW50IGFmdGVyIGl0IGhhcyBiZWVuIGNvbnZlcnRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzk1MwoKMjAxNC0wMi0wOCAyMjo0NzoyMCArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3RzLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgbXBlZ3RzIGxpYnJhcnkKCSAgVGVzdHMgZm9yIFBBVCwgUE1ULCBhbmQgTklUCgkgIENyZWF0ZXMgYSBuZXcgdGFibGUsIGFuZCBwb3B1bGF0ZXMgaXQgd2l0aCBkZXNjcmlwdG9ycy4KCSAgUGFyc2VzIHRoZSBuZXdseSBjcmVhdGVkIHRhYmxlcywgYW5kIGNoZWNrcyB0aGUgZGF0YS4KCSAgQ3JlYXRlcyBhIEdzdE1wZWdUc1NlY3Rpb24gZnJvbSB0aGUgdGFibGVzLCBhbmQgcGFja2V0aXplIHRoZSBzZWN0aW9ucy4KCSAgVGhlIHBhY2tldGl6ZWQgc2VjdGlvbiBkYXRhIGlzIGJ5dGUtd2lzZSBjb21wYXJlZCB0byBhIHN0YXRpYyBieXRlIGFycmF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjM5NTMKCjIwMTQtMDItMjQgMTE6MDY6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBnc3QtY2FtZXJhYmluMi10ZXN0OiBuZXcgMS54IHJhdyBjYXBzIGZvcm1hdAoJICBSZW1vdmUgLXl1diBhbmQgLXJnYiBmcm9tIHZpZGVvL3gtcmF3IGFzIHRob3NlIGFyZSBmcm9tIHRoZQoJICBvbGQgMC4xMCB2ZXJzaW9uCgoyMDE0LTAyLTIzIDE1OjE4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBLZWVwIHRyYWNrIG9mIHRpbWVzdGFtcHMgYnkgYWRkaW5nIHRoZW0gdXAgZHVyaW5nIHBsYXliYWNrCgkgIC4uLmluc3RlYWQgb2YgYWRkaW5nIHRoZW0gZnJvbSB0aGUgc3RhcnQgb2YgcGxheWxpc3QgZXZlcnkgdGltZS4gVGhpcwoJICBhbW9uZyBvdGhlciB0aGluZ3MgZml4ZXMgdGltZXN0YW1wcyBmb3IgbGl2ZSBzdHJlYW1zLCB3aGVyZSB0aGUgcGxheWxpc3QKCSAgaXMgc29tZSBraW5kIG9mIHJpbmdidWZmZXIgb2YgZnJhZ21lbnRzIGFuZCB0aHVzIGFkZGluZyBmcm9tIHRoZSBiZWdpbm5pbmcKCSAgb2YgdGhlIHBsYXlsaXN0IHdpbGwgbWlzcyB0aGUgcGFzdCBmcmFnbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQ5ODMKCjIwMTQtMDItMjMgMTE6MDE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEZXByZWNhdGUgZnJhZ21lbnRzLWNhY2hlIHByb3BlcnR5CgkgIFRoZSBidWZmZXJpbmcvY2FjaGluZyBpcyBoYW5kbGluZyBjb21wbGV0ZWx5IGRpZmZlcmVudCBub3cgYW5kCgkgIG91dHNpZGUgb2YgaGxzZGVtdXguCgoyMDE0LTAyLTE4IDE5OjE2OjM1IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlZGVjOiBNZXJnZSBuZXcgdGFncyB3aXRoIGV4aXN0aW5nIHRhZ3MgdG8gcHJldmVudCBvdmVyd3JpdGluZyBkZW11eGVyIHRhZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDY5OQoKMjAxNC0wMi0yMCAxNTowOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgZXh0OiBVc2UgQ29kZWMvRGVtdXhlci9BZGFwdGl2ZSBmb3IgdGhlIGFkYXB0aXZlIHN0cmVhbWluZyBkZW11eGVycwoKMjAxNC0wMi0xNyAwOToxOTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBSZWZhY3RvciB0aHJlYWRpbmcgYW5kIGRvd25sb2FkaW5nCgkgIFdlIG5vdyBkb3dubG9hZCBmcmFnbWVudHMgYXMgZmFzdCBhcyBwb3NzaWJsZSBhbmQgcHVzaCB0aGVtIGRvd25zdHJlYW0KCSAgd2hpbGUgYW5vdGhlciB0aHJlYWQgaXMganVzdCByZXNwb25zaWJsZSBmb3IgdXBkYXRpbmcgbGl2ZSBwbGF5bGlzdHMKCSAgZXZlcnkgbm93IGFuZCB0aGVuLgoJICBUaGlzIHNpbXBsaWZpZXMgdGhlIGNvZGUgYSBsb3QgYW5kIHRvZ2V0aGVyIHdpdGggdGhlIG5ldyBidWZmZXJpbmcKCSAgbW9kZSBmb3IgYWRhcHRpdmUgc3RyZWFtcyBpbiBtdWx0aXF1ZXVlIG1ha2VzIHN0cmVhbXMgc3RhcnQgbXVjaCBmYXN0ZXIuCgkgIEFsc28gc2ltcGxpZnkgdGhyZWFkaW5nIGEgYml0IGFuZCBob3BlZnVsbHkgbWFrZSB0aGUgR3N0VGFzayB1c2FnZSBzYWZlci4KCjIwMTQtMDItMTkgMDk6MzU6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBPbmx5IHN3aXRjaCBwYWRzIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZwoKMjAxNC0wMi0yMSAxMjozMzo0MiArMDAwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZW5zdXJlIHNlZ21lbnRzIGFyZW4ndCBmZXRjaGVkIGJlZm9yZSB0aGV5J3JlIGF2YWlsYWJsZQoJICBJbmNvcnJlY3QgdGltZSBzY2FsaW5nIGluIGdzdF9kYXNoX2RlbXV4X3dhaXRfZm9yX2ZyYWdtZW50X3RvX2JlX2F2YWlsYWJsZSgpCgkgIG1lYW5zIHRoYXQgbWVkaWEgc2VnbWVudHMgYXJlIGZldGNoZWQgYmVmb3JlIHRoZWlyIGF2YWlsYWJsaXR5IHRpbWUuIFRoaXMKCSAgcGF0Y2ggZml4ZXMgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDg3NQoKMjAxNC0wMi0yMSAxNDowNjoyNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBVbmNvbW1lbnQgUEFUIGNsZWFydXAgaW4gX3Jlc2V0CgkgIFRoZSBQQVQgaXMgcmVsYXRlZCB0byB0aGUgc3RyZWFtLCB3ZSB0aGVyZWZvcmUgd2FudCBpdCBjbGVhcmVkIGFsb25nCgkgIHdpdGggYW55dGhpbmcgc3RyZWFtIHJlbGF0ZWQuCgkgIFRoaXMgY29tbWVudGVkIHNlY3Rpb24gd2FzIGZyb20gdGhlIChvbGQpIG1wZWd0c3BhcnNlIGFuZCAqbWlnaHQqIGhhdmUKCSAgYmVlbiByZWxhdGVkIHRvIHNwZWVkaW5nIHVwIERWQiBzdGFydC11cC4gQnV0IHdlIGhhdmUgYW5vdGhlciBwbGFuIGZvciB0aGF0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NzE2CgoyMDE0LTAyLTE4IDEwOjE5OjUyICswMDAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBpbml0aWFsaXNlIGRlbXV4LT5sYXN0X21hbmlmZXN0X3VwZGF0ZQoJICBkZW11eC0+bGFzdF9tYW5pZmVzdF91cGRhdGUgaXMgbm90IGluaXRpYWxpc2VkIGF0IHN0YXJ0dXAsIHdpdGggdGhlCgkgIGVmZmVjdCB0aGF0IGxpdmUgbWFuaWZlc3RzIGFyZSByZWxvYWRlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgZG93bmxvYWQKCSAgbG9vcCBiZWdpbnMuIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDc5MAoKMjAxMy0xMi0yOSAxNjowMDowMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggdHNfdG9fb2Zmc2V0IGJleW9uZCBsYXN0IG9ic2VydmVkIFBDUgoJICBUaGUgcmVxdWVzdGVkIFRTIG1pZ2h0IGJlIGJleW9uZCB0aGUgbGFzdCBvYnNlcnZlZCBQQ1IuIEluIG9yZGVyIHRvIGNhbGN1bGF0ZQoJICBhIGNvaGVyZW50IG9mZnNldCwgd2UgbmVlZCB0byB1c2UgdGhlIGxhc3QgYW5kIHByZXZpb3VzLXRvLWxhc3QgZ3JvdXBzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDM1CgoyMDE0LTAyLTEyIDE4OjE1OjQ0IC0wNjAwICBCcmVuZGFuIExvbmcgPHNlbGZAYnJlbmRhbmxvbmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBnc3RfbXBlZ3RzX3NlY3Rpb25fZ2V0X2RhdGEsIHRvIGFsbG93IHVzIHRvIGdldCB0aGUgb3JpZ2luYWwgYmluYXJ5IHNlY3Rpb24gZGF0YS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDI1NQoKMjAxNC0wMi0yMCAxOTowODozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEFkZCBzaXplIGd1YXJkcyBmb3IgZGVzY3JpcHRvcnMgd2hlcmUgbmVlZWRlZAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0NDY0CgoyMDE0LTAyLTIwIDE4OjE0OjUxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWctdHM6IFJlbmFtZSBwcml2YXRlIGZ1bmN0aW9uCgkgIENhbGxpbmcgaXQgX2Rlc2NfY2hlY2tzIHdoZW4gaXQgd2FzIGluIGZhY3QgdXNlZCBmb3Igc2VjdGlvbnMgd2FzIGEKCSAgdGFkIGNvbmZ1c2luZyAuLi4KCjIwMTQtMDItMTYgMTA6NDU6MjEgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY29udGVudCBkZXNjcmlwdG9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjQwMzQKCjIwMTQtMDItMTYgMTA6NDQ6NTUgKzAxMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgY29tcG9uZW50IGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xNiAxMDo0Mzo1MiArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBleHRlbmRlZCBldmVudCBkZXNyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDAzNAoKMjAxNC0wMi0xMCAyMTo1MjoyOCArMDEwMCAgU3RlZmFuIFJpbmdlbCA8bGludXh0dkBzdGVmYW5yaW5nZWwuZGU+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBzdXBwb3J0IGZvciBEVkIgdGVycmVzdHJpYWwgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDA2OQoKMjAxNC0wMi0xNiAxMDowOToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIGNvbmZpZ3VyZTogUmVuYW1lIGFsbCB2YXJpYWJsZXMgcmVsYXRlZCB0byB0aGUgd2lua3MgcGx1Z2luCgkgIEl0IGRvZXMgbm90IG1ha2Ugc2Vuc2UgdG8gY2FsbCB0aGVtIGFmdGVyIGRpcmVjdHNob3cgaWYgdGhleQoJICBhcmUgZm9yIHRoZSB3aW5rcyBwbHVnaW4gb25seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEwMAoKMjAxMy0wNC0wOCAxNDowNDoxMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCB1cGRhdGUgaW50ZXJ2YWwgd2l0aCByZXNwZWN0IG9mIHRoZSBzcGVjCgoyMDE0LTAyLTE0IDEyOjM5OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkgIGFtY2F1ZGlvZGVjOiBDYWxjdWxhdGUgbnVtYmVyIG9mIHNhbXBsZXMgcGVyIGZyYW1lIGZvciBNUDMgYW5kIHVzZSB0aGF0CgkgIFNvbWUgYXVkaW8gZGVjb2RlcnMgKGF0IGxlYXN0IHRoZSBNUDMgZGVjb2RlciBvbiBNVEsgYmFzZWQgZGV2aWNlcykgb3V0cHV0cwoJICByYXcgYXVkaW8gaW4gYmF0Y2hlcyBvZiBtdWx0aXBsZSBhdWRpbyBmcmFtZXMuIFdlIG5lZWQgdG8gaGFuZGxlIHRoYXQKCSAgcHJvcGVybHksIG90aGVyd2lzZSB0aGUgYmFzZSBjbGFzcyB3aWxsIGJlIGtpbmQgb2YgdW5oYXBweS4KCjIwMTQtMDItMTQgMTI6MzM6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIGFtY2F1ZGlvZGVjOiBFcnJvciBvdXQgaWYgd2UgZ2V0IGFuIGludmFsaWQgcmF3IGF1ZGlvIGJ1ZmZlciBzaXplCgoyMDE0LTAyLTE0IDEyOjMyOjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogU3RvcmUgcmV0dXJuIHZhbHVlIG9mIGdzdF9jYXBzX21lcmdlX3N0cnVjdHVyZSgpCgkgIFRoZSBpbnB1dHMgYXJlIGJvdGggaW52YWxpZCBhZnRlcndhcmRzLgoKMjAxNC0wMi0xNCAxMjozMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IFJlbGVhc2UgYnVmZmVyIHRvIEFuZHJvaWQgaWYgYWxsb2NhdGluZyBvdXRwdXQgZmFpbGVkCgoyMDE0LTAyLTE0IDEyOjI4OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogUmVsZWFzZSBidWZmZXIgYmFjayB0byBBbmRyb2lkIGlmIGFsbG9jYXRpbmcgb3V0cHV0IGZhaWxzCgoyMDE0LTAyLTEzIDEwOjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBLZWVwIGFsaXZlIGNvbm5lY3Rpb25zIGlmIHRoZSBzb3VyY2Ugc3VwcG9ydHMgdGhhdAoKMjAxNC0wMi0xMyAxMDowNjo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogUmUtdXNlIG9sZCBzb3VyY2UgZWxlbWVudCBpZiBwb3NzaWJsZQoJICBBbGxvd3MgdG8gaW1wbGVtZW50IGtlZXAtYWxpdmUgaGFuZGxpbmcgaW4gdGhlIHNvdXJjZSBlbGVtZW50LgoKMjAxNC0wMi0xMiAxODo0OToxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogSWdub3JlIGVtcHR5IGxpbmVzIGluIHRoZSBwbGF5bGlzdAoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFuZG9uaSBNb3JhbGVzLgoKMjAxNC0wMi0xMiAxODo0Nzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogTWFrZSBzdXJlIHRvIGlnbm9yZSBcciBpbiBsaW5lIGVuZGluZ3MgaW4gZXZlcnkgY2FzZQoKMjAxNC0wMi0xMiAxODoyNzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogR2l2ZSBhIHByb3BlciBuYW1lIHRvIHRoZSBzcmNwYWRzIGFuZCByZW1vdmUgaXQgd2hlbiByZXNldHRpbmcgdGhlIGVsZW1lbnQKCjIwMTQtMDItMTIgMTg6MDY6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEZpeCBwb3RlbnRpYWwgZGVhZGxvY2sKCSAgVGhlIHN0cmVhbWluZyB0aHJlYWQgbWlnaHQgdXNlIG91ciBsb2NrLCBzbyBzaHV0dGluZwoJICBkb3duIHRoZSBlbGVtZW50IHdoaWxlIGhvbGRpbmcgdGhhdCBsb2NrIGNhbGxzIGZvciBwcm9ibGVtcy4KCjIwMTQtMDItMTIgMTc6NTk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IFNodXRkb3duIHRoZSBzb3VyY2UgZWxlbWVudCBiZWZvcmUgdW5saW5raW5nIGl0CgkgIE90aGVyd2lzZSB3ZSBtaWdodCBnZXQgd2FybmluZ3MgYWJvdXQgcHVzaGluZyB0byB1bmxpbmtlZCBwYWRzLgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEFuZG9uaSBNb3JhbGVzLgoKMjAxNC0wMi0xMiAxNjo0NjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3AgbGVha2luZyBHRXJyb3JzIGluIHNvbWUgZXJyb3IgcGF0aHMKCjIwMTItMDUtMTEgMTM6NTg6MjggKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3QgcGF1c2UgdGFzayB3aGVuIGl0IGlzIHN0b3BwZWQKCSAgVGhpcyBmaXhlcyBhIHBvdGVudGlhbCBkZWFkLWxvY2sgc2l0dWF0aW9uIGZyb20gR3N0VGFzawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1ODY5CgoyMDE0LTAyLTEyIDE2OjAxOjA1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogV2FpdCBmb3IgdGhlIHVwZGF0ZSB0YXNrIHRvIGZpbmlzaCB3aGVuIHNodXR0aW5nIGRvd24KCjIwMTQtMDItMTIgMTU6MzM6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcmV2ZW50IHJvdW5kaW5nIGVycm9ycyBkdWUgdG8gZGl2aXNpb24gYnkgdXNpbmcgZ3N0X3V0aWxfdWludDY0X3NjYWxlKCkKCjIwMTMtMDctMjUgMTk6MzY6NDggKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL20zdTguYzoKCSogZXh0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzY2hlZHVsZSBuZXh0IHVwZGF0ZSBiYXNlZCBvbiB0aGUgZnJhZ21lbnQgZHVyYXRpb24KCjIwMTQtMDItMTIgMTU6MTY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBlcnJvciBvdXQgaWYgY2FwcyBjYW4ndCBiZSB0eXBlZmluZCBpbnN0ZWFkIG9mIHVzaW5nIE5VTEwgY2FwcwoKMjAxMy0wNy0yOSAxODowMDozMSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2cgZnJhZ21lbnQgdGltZXN0YW1wCgoyMDE0LTAyLTEyIDE0OjEwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBVc2UgZ19hc2NpaV94ZGlnaXRfdmFsdWUoKSBpbnN0ZWFkIG9mIG91ciBvd24gdmVyc2lvbiBvZiBpdAoKMjAxNC0wMi0xMiAxMzo0MDo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEVycm9yIG91dCBpZiB0aGUga2V5IGlzIG5vdCAxNiBieXRlcyBsYXJnZQoKMjAxNC0wMi0xMiAxMzoxMzozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvd25sb2FkIHBsYXlsaXN0cyB3aXRoIGNvbXByZXNzaW9uLCBrZXlzIGFuZCBmcmFnbWVudHMgd2l0aG91dAoKMjAxNC0wMi0xMiAxMzoxMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvd25sb2FkIHRoZSBtYW5pZmVzdCB3aXRoIGNvbXByZXNzaW9uLCB0aGUgZnJhZ21lbnRzIHdpdGhvdXQKCjIwMTQtMDItMTIgMTM6MTA6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBEb3dubG9hZCBNUEQgd2l0aCBjb21wcmVzc2lvbiwgdGhlIGZyYWdtZW50cyB3aXRob3V0CgoyMDE0LTAyLTEyIDEzOjA4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IEFkZCBzdXBwb3J0IGZvciBjb21wcmVzc2VkIGRvd25sb2FkcwoJICBWZXJ5IHVzZWZ1bCBmb3IgcGxheWxpc3RzLCBsZXNzIHVzZWZ1bCBmb3IgbWVkaWEgZmlsZXMuCgoyMDE0LTAyLTEyIDExOjI2OjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG9uJ3Qgc2V0IHRoZSBlbGVtZW50IHByaXZhdGUgZGF0YSBvbiB0aGUgc3JjcGFkcwoJICBJdCdzIG5vdCB1c2VkIGFueXdheS4KCjIwMTQtMDItMTIgMTE6MjU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHRoZSBzcmNwYWRzCgoyMDE0LTAyLTEyIDEwOjU5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBDYWNoZSB0aGUga2V5IGZyYWdtZW50IGluc3RlYWQgb2YgZG93bmxvYWRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbgoKMjAxNC0wMi0xMiAxMDo1ODo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBjbGVhbnVwIHdoZW4gZGVjcnlwdGlvbiBmYWlscwoJICBGaXJzdCB1bm1hcCBidWZmZXJzLCB0aGVuIHVucmVmIHRoZW0uIEFuZCBhbHNvIHVucmVmIHRoZQoJICBrZXkgZnJhZ21lbnQuCgoyMDE0LTAyLTExIDE1OjIwOjU4ICswMTAwICBMaWh1YSBMaXUgPGxpaHVhbEBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJICBjdXJsc210cHNpbms6IEluY2x1ZGUgdGltZXpvbmUgaW5mb3JtYXRpb24gaW4gbWFpbCBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEyNQoKMjAxNC0wMi0xMSAxODoxNTo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogRG9uJ3QgdHJ5IGRlY3J5cHRpb24gaWYgYW4gdW5zdXBwb3J0ZWQgbWV0aG9kIGlzIGZvdW5kCgoyMDE0LTAyLTExIDE4OjE1OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBQcm9wZXJseSBwYXJzZSBJViBmcm9tIHRoZSBwbGF5bGlzdAoJICBXaXRob3V0IHRoaXMgZXZlcnkgZnJhZ21lbnQncyBmaXJzdCAxNiBieXRlcyB3aWxsIGJlIGNvcnJ1cHRlZAoJICBpZiBub3QgdGhlIGZhbGxiYWNrIElWIGlzIHVzZWQgYnkgdGhlIHBsYXlsaXN0LgoKMjAxNC0wMi0xMSAxNToyNjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogUmVzZXQgY2FuY2VsbGVkIHN0YXRlIGFmdGVyIGZldGNoaW5nIGFuIFVSSQoJICBPdGhlcndpc2UgaXQgd2lsbCBuZXZlciBldmVyIGJlIGFibGUgdG8gZmV0Y2ggYW55dGhpbmcgYWZ0ZXIgYW4KCSAgZXJyb3IgdW50aWwgdGhlIHVzZXIgcmVzZXRzIGl0IG1hbnVhbGx5LgoKMjAxNC0wMi0xMSAxNDo1NzoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFByb3BhZ2F0ZSBkb3dubG9hZCBlcnJvcnMgcHJvcGVybHkgYW5kIHBvc3QgZXJyb3IgbWVzc2FnZXMgaWYgdGhleSdyZSBmYXRhbAoKMjAxNC0wMi0xMSAxNDoxODozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgZXh0OiBVcGRhdGUgZm9yIEdzdFVyaURvd25sb2FkZXIgQVBJIGNoYW5nZXMKCjIwMTQtMDItMTEgMTQ6MTM6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgdXJpZG93bmxvYWRlcjogUHJvdmlkZSBzb21lIG1vcmUgZGV0YWlscyBhYm91dCBlcnJvcnMgaWYgZG93bmxvYWRpbmcgZmFpbHMKCjIwMTQtMDItMTEgMDk6MjA6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIHdpbmtzIHBsdWdpbiBpcyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyNDEwMAoKMjAxNC0wMi0xMCAxNTozODowOCAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBjYWxsIGNsb3NlKCkgYWZ0ZXIgc2h1dGRvd24oKQoJICBzaHV0ZG93bigpIGRvZXNuJ3QgY2xvc2UgdGhlIGZpbGUgZGVzY3JpcHRvciBzbyB3ZSBsZWFrIHNvY2tldHMgaWYgd2UKCSAgZG9uJ3QgY2FsbCBjbG9zZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDc3CgoyMDE0LTAyLTEwIDE0OjMzOjQ5IC0wODAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXXDqSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHVzZSBzaHV0ZG93bigpIGluc3RlYWQgb2YgY2xvc2UoKQoJICB3ZSBtYWtlIHN1cmUgYm90aCBlbmRzIGdldCBub3RpZmllZCB3aGVuIHRoZSBzb2NrZXQgaXMgY2xvc2VkIGJ5IHVzaW5nCgkgIHNodXRkb3duKCkgaW5zdGVhZCBvZiBjbG9zZSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzI0MDc3CgoyMDE0LTAyLTEwIDE4OjI5OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU3RhcnQgZG93bmxvYWRpbmcgdGhlIG5leHQgZnJhZ21lbnQgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FjaGluZyB0aGUgaW5pdGlhbCBmcmFnbWVudHMKCSAgQW5kIG9ubHkgYWZ0ZXJ3YXJkcyB3YWl0IHVudGlsIGEgZnJhZ21lbnQgd2FzIHBsYXllZC4gT3RoZXJ3aXNlIHdlJ3JlIGtlZXBpbmcKCSAgb3VyIGNhY2hlIG1vc3Qgb2YgdGhlIHRpbWUgYXQgImZyYWdtZW50cy1jYWNoZSIgZnJhZ21lbnRzIG1pbnVzIG9uZS4KCSAgQWxzbyBhbGxvdyBzZXR0aW5nICJmcmFnbWVudHMtY2FjaGUiIHRvIDEgbm93IHRvIHN0YXJ0IHBsYXliYWNrIGV2ZW4gZmFzdGVyLgoKMjAxNC0wMi0xMCAxODoyNzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0YXJ0IGZldGNoaW5nIG5ldyBmcmFnbWVudHMgd2hlbmV2ZXIgd2UgaGF2ZSBsZXNzIGZyYWdtZW50cyBjYWNoZWQgdGhhbiBnaXZlbiBieSB0aGUgZnJhZ21lbnRzLWNhY2hlIHByb3BlcnR5CgkgIFdhaXRpbmcgdW50aWwgb3VyIGNhY2hlIGlzIGVtcHR5IGJlZm9yZSBzdGFydGluZyB0byBmZXRjaCB0aGUgbmV4dCBmcmFnbWVudAoJICBraW5kIG9mIGRlZmVhdHMgdGhlIHB1cnBvc2Ugb2YgY2FjaGluZyBtdWx0aXBsZSBmcmFnbWVudHMuCgoyMDE0LTAyLTEwIDE4OjIxOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgZ19nZXRfbW9ub3RvbmljX3RpbWUoKSByZXR1cm5zIG1pY3Jvc2Vjb25kcywgbm90IG5hbm9zZWNvbmRzLgoKMjAxNC0wMi0xMCAxNzoyNjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogQWN0dWFsbHkgc3RvcmUgZG91YmxlcyBhcyBzdWNoIGFuZCBkb24ndCB0cnVuY2F0ZSB0aGVtIHRvIGludHMKCSAgRml4ZXMgYnJva2VuIGR1cmF0aW9uIHJlcG9ydGluZy4KCjIwMTQtMDItMTAgMTc6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFVzZSBsb2NhbGUtaW5kZXBlbmRlbnQgaW50L2Zsb2F0IHBhcnNpbmcgZnVuY3Rpb25zIGZyb20gR0xpYgoKMjAxNC0wMi0xMCAxNDozNDo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBmbHVpZGRlYzogYWRkIG1vcmUgc291bmRmb250IHNlYXJjaCBwYXRocwoJICBGZWRvcmEgaW5zdGFsbHMgdGhlIHNvdW5kZm9udHMgaW4gL3Vzci9zaGFyZS9zb3VuZGZvbnRzLyBzbyBtYWtlIHN1cmUgd2UKCSAgbG9vayB0aGVyZSBhcyB3ZWxsLgoKMjAxNC0wMi0xMCAwODoxOTo1MiArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJICBDaGFuZ2Ugc291bmRmb250IGZpbGUgc2VhcmNoIHBhdGggZm9yIGZsdWlkZGVjCgkgIFVzZSBnbGliIHRvIGdldCBhIGxpc3Qgb2Ygc3lzdGVtICJzaGFyZSIgZGlyZWN0b3JpZXMsIHRoZW4gZ28gdGhyb3VnaCB0aGF0CgkgIGxpc3QsIGFwcGVuZGluZyAnc291bmRzL3NmMi8nIHRvIGVhY2ggZGlyZWN0b3J5IHRvIGdldCBhIHNvdW5kZm9udCBkaXJlY3RvcnksCgkgIGFuZCBsb29raW5nIGZvciAuc2YyIGZpbGVzIHRoZXJlLgoJICBUaGlzIHdheSBmbHVpZGRlYyBpcyBhYmxlIHRvIGxvYWQgc2YyIGZpbGVzIG9uIFczMiwgYmVjYXVzZSBvdGhlcndpc2UgdGhlCgkgIHBhdGggJy91c3Ivc2hhcmUvc291bmRzL3NmMicgbWFrZXMgbm8gc2Vuc2UgdGhlcmUuCgkgIEZpeGVzICM3MjQwMTMKCjIwMTQtMDItMTAgMDg6MjE6MDQgKzAwMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBGaXggd2lua3MgY29uZmlndXJlIHRlc3QKCSAgRml4ZXMgIzcyMzk5NQoKMjAxNC0wMi0xMCAwODoyMjowNSArMDAwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmtzOiBNYWtlIGhlYWRlcnMga25vd24gdG8gYXV0b21ha2UKCSAgRml4ZXMgIzcyNDAwMwoKMjAxNC0wMi0wOSAxODo0OTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUHJlZmVyIHRvIHVzZSBuZXR0bGUgZm9yIGRlY3J5cHRpb24gYnV0IGZhbGwtYmFjayB0byBsaWJnY3J5cHQKCSAgbmV0dGxlIGlzIHVzZWQgYnkgbmV3ZXIgdmVyc2lvbnMgb2YgZ251dGxzLCB3aGlsZSBvbGRlciB2ZXJzaW9ucyBvZiBnbnV0bHMKCSAgdXNlZCBsaWJnY3J5cHQuIFN1cHBvcnQgYm90aCBmb3Igbm93IGFzIG5vdCBldmVyeSBkaXN0cm8gaGFzIG5ldHRsZSB5ZXQuCgkgIG5ldHRsZSBpcyBwcmVmZXJyZWQgYXMgaXQgaXMgbW9yZSBlZmZpY2llbnQgdG8gdXNlIGFuZCBtdWNoIHNtYWxsZXIuCgoyMDE0LTAyLTA5IDE4OjE5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGV4dC9obHMvbTN1OC5jOgoJKiBleHQvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFVwZGF0ZSB0byBub24tZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTQtMDItMDkgMTg6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogbTQvbGliZ2NyeXB0Lm00OgoJICBobHNkZW11eDogVXNlIGxpYmdjcnlwdCBkaXJlY3RseSBpbnN0ZWFkIG9mIGdvaW5nIHRocm91Z2ggZ251dGxzCgkgIGdudXRscyBpcyBhbHNvIGp1c3Qgd3JhcHBpbmcgZ2NyeXB0LCBidXQgd2UgZG9uJ3QgbmVlZCBhbnkgb2YKCSAgdGhlIFRMUyByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuIFdlIGp1c3QgbmVlZCB0byBiZSBhYmxlIHRvIGRlY3J5cHQKCSAgQUVTMTI4LUNCQy4KCjIwMTQtMDItMDggMjA6MDg6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIG9wdXM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgZnJvbSB1bml0IHRlc3QKCjIwMTQtMDItMDggMjA6MDc6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGthdGU6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUgZnJvbSB1bml0IHRlc3QKCjIwMTQtMDItMDggMjA6MDc6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsZXIgd2FybmluZyBpbiB0ZXN0CgkgIGVycm9yOiBzdWdnZXN0IGJyYWNlcyBhcm91bmQgaW5pdGlhbGl6YXRpb24gb2Ygc3Vib2JqZWN0IFstV2Vycm9yLC1XbWlzc2luZy1icmFjZXNdCgoyMDE0LTAyLTA4IDE5OjU5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBGaXggY29tcGFyaXNvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbiBvZiB0eXBlCgkgICdHc3RTcnRwQ2lwaGVyVHlwZScgaXMgYWx3YXlzIGZhbHNlCgoyMDE0LTAyLTA4IDE5OjI5OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJICBtb3Rpb25jZWxsczogUmVtb3ZlIHVudXNlZCBwcml2YXRlIGZpZWxkcwoKMjAxNC0wMi0wOCAxOToyODoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgc2VnbWVudGF0aW9uOiBGaXggaW50ZWdlciB1bmRlcmZsb3cgY2hlY2sKCSAgZXJyb3I6IGNvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA8IDAgaXMKCSAgYWx3YXlzIGZhbHNlIFstV2Vycm9yLC1XdGF1dG9sb2dpY2FsLWNvbXBhcmVdCgoyMDE0LTAyLTA4IDE4OjU4OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDE0LTAyLTA4IDE4OjU3OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2J6Mi9nc3RiejJkZWMuaDoKCSogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgYnoyOiBGaXggdHlwbyBpbiBoZWFkZXIgaW5jbHVkZSBndWFyZHMKCjIwMTQtMDItMDggMTg6NTY6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkgIHZkcGF1OiBGaXggY29tcGFyaXNvbiBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiBjb21wYXJpc29uIG9mIGNvbnN0YW50IC0xIHdpdGggZXhwcmVzc2lvbgoJICBvZiB0eXBlICdjb25zdCBHc3RWaWRlb0Zvcm1hdCcgaXMgYWx3YXlzIGZhbHNlCgoyMDE0LTAyLTA4IDE4OjU0OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDE0LTAyLTA4IDE4OjQ4OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBGaXggdW5pbml0aWFsaXplZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgkgIGVycm9yOiB2YXJpYWJsZSAnaW1hZ2VfdHlwZScgaXMgdXNlZCB1bmluaXRpYWxpemVkIHdoZW5ldmVyCgkgICdpZicgY29uZGl0aW9uIGlzIGZhbHNlIFstV2Vycm9yLC1Xc29tZXRpbWVzLXVuaW5pdGlhbGl6ZWRdCgoyMDE0LTAyLTA4IDE4OjQ1OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDE0LTAyLTA4IDE4OjIwOjIyICswMTAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkgIG1wZWd0czogcG10OiBEZXRlY3QgZGVzY3JpcHRvciBsZW5ndGggY29ycmVjdAoKMjAxNC0wMi0wOCAxNzo0MzowMyArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IENvcnJlY3RseSBjaGVjayBmb3IgUEFULFBNVCxDQVQsVFNEVAoKMjAxNC0wMi0wOCAxMzowODowMiArMDEwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IEZpeCBzb21lIHBhY2tldGl6aW5nIGJ1Z3MKCSAgLSBMZW5ndGggb2YgTklUIHN0cmVhbSBkZXNjcmlwdG9ycyB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3QKCSAgLSBSZXNlcnZlZCBiaXRzIHdhcyBub3Qgc2V0IGFjY29yZGluZyB0byBFTiAzMDAgNDY4LCBJU08vSUVDIDEzODE4LTEKCSAgLSBBbHNvIHNldCBvdXRwdXQgZGF0YSBzaXplIGlmIHRoZSBzZWN0aW9uIHdhcyBwcmV2aW91c2x5IHBhY2tldGl6ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzg5MgoKMjAxNC0wMi0wNyAxMTo1NDowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBvciBtb3ZlIHZhcmlhYmxlIGFzc2lnbm1lbnRzCgkgIFRvIHdoZXJlIHRoZXkncmUgbmVlZGVkCgoyMDE0LTAyLTA3IDExOjUzOjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSAgZHZiLWRlc2NyaXB0b3I6IFJlbW92ZSB1bm5lZWRlZCBpbmNyZW1lbnQKCjIwMTQtMDItMDcgMTE6NDI6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJICBkdmItZGVzY3JpcHRvcjogRml4IGNvbXBhcmlzaW9uCgkgIHdlIHdhbnQgdG8gc3RvcCBpZiBvbmUgT1IgdGhlIG90aGVyIGlzIE5VTEwuCgoyMDE0LTAyLTA2IDEzOjUzOjQ5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVcGRhdGVkIGRvY3Mgd2l0aCBuZXcgQVBJCgoyMDEzLTExLTE5IDEyOjIxOjMxICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IFVzZSBtcGVnLXRzIGxpYiBmb3IgUEFUL1BNVCBzZWN0aW9ucwoJICBSZXdyaXRlIG9mIHRoZSBQQVQvUE1UIHNlY3Rpb24gaGFuZGxpbmcgdG8gdXNlIHRoZSBtcGVnLXRzIGxpYnJhcnkKCjIwMTMtMTEtMjAgMTE6MTQ6NDYgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgIG1wZWd0c211eDogQWRkIHN1cHBvcnQgZm9yIG11eGluZyBTSSB0YWJsZXMKCSAgVGhlIG11eGVyIGlzIG5vdyBhYmxlIHRvIGluY2x1ZGUgRFZCIHNlY3Rpb25zIGluIHRoZSB0cmFuc3BvcnQgc3RyZWFtLgoJICBUaGUgc2ktaW50ZXJ2YWwgcHJvcGVydHkgd2lsbCBkZXRlcm1pbmUgaG93IG9mdGVuIHRoZSBTSSB0YWJsZXMgYXJlCgkgIG11eGVkIGludG8gdGhlIHN0cmVhbS4KCSAgVGhlIHNlY3Rpb24gaXMgaGFuZGxlZCBieSB0aGUgbXBlZy10cyBsaWJyYXJ5LiBCZWxvdyBpcyBhIHNtYWxsIGV4YW1wbGUKCSAgdGhhdCB3aWxsIGluY2x1ZGUgYSBOZXRvcmsgSW5mb3JtYXRpb24gVGFibGUgd2l0aCBhIE5ldHdvcmsgTmFtZQoJICBkZXNjcmlwdG9yIGluIHRoZSBzdHJlYW0uCgkgIEdzdE1wZWdUc05JVCAqbml0OwoJICBHc3RNcGVnVHNEZXNjcmlwdG9yICpkZXNjcmlwdG9yOwoJICBHc3RNcGVnVHNTZWN0aW9uICpzZWN0aW9uOwoJICBHc3RFbGVtZW50ICptcGVndHNtdXg7CgkgIGdzdF9tcGVndHNfaW5pdGlhbGl6ZSAoKTsKCSAgbml0ID0gZ3N0X21wZWd0c19zZWN0aW9uX25pdF9uZXcgKCk7CgkgIG5pdC0+YWN0dWFsX25ldHdvcmsgPSBUUlVFOwoJICBkZXNjcmlwdG9yID0gZ3N0X21wZWd0c19kZXNjcmlwdG9yX2Zyb21fZHZiX25ldHdvcmtfbmFtZSAoIk5ldHdvcmsgbmFtZSIpOwoJICBnX3B0cl9hcnJheV9hZGQgKG5pdC0+ZGVzY3JpcHRvcnMsIGRlc2NyaXB0b3IpOwoJICBzZWN0aW9uID0gZ3N0X21wZWd0c19zZWN0aW9uX2Zyb21fbml0IChuaXQpOwoJICAvLyBtcGVndHNtdXggc2hvdWxkIGJlIHJldHJpZXZlZCBmcm9tIHRoZSBwaXBlbGluZQoJICBnc3RfbXBlZ3RzX3NlY3Rpb25fc2VuZF9ldmVudCAoc2VjdGlvbiwgbXBlZ3RzbXV4KTsKCSAgZ3N0X21wZWd0c19zZWN0aW9uX3VucmVmIChzZWN0aW9uKTsKCjIwMTMtMTEtMTkgMTE6MzA6MzMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBTdXBwb3J0IHJlZ2lzdHJhdGlvbiBhbmQgY3VzdG9tIGRlc2NyaXB0b3IKCSAgU3VwcG9ydCBmb3IgcmVnaXN0cmF0aW9uIGRlc2NyaXB0b3IgKDB4MDUpCgkgIEFkZCBmdW5jdGlvbiB0byBjcmVhdGUgYSBkZXNjcmlwdG9yIHdpdGggY3VzdG9tIHRhZyBhbmQgZGF0YQoKMjAxMy0xMS0xOSAxMToxNTo1MiArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgY3JlYXRpb24gb2YgRFZCIFN1YnRpdGxpbmcgZGVzY3JpcHRvcgoJICBEZXNjcmlwdG9yIHRhZyBpcyAweDU5CgoyMDEzLTExLTE5IDEwOjUwOjMwICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IFN1cHBvcnQgcGFyc2luZyBvZiBEVkIgVGVsZXRleHQgZGVzY3JpcHRvcgoJICBEZXNjcmlwdG9yIHRhZyBpcyAweDU2CgoyMDEzLTExLTIwIDExOjA2OjAzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW5nIFBBVC9QTVQKCjIwMTMtMTEtMjAgMTE6MDQ6NTggKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgcHJvZ3JhbV9udW1iZXIgdG8gR3N0TXBlZ1RzUE1UCgoyMDEzLTEwLTI4IDE0OjQ5OjA4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5oOgoJICBtcGVndHM6IEFkZCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciBjb25zdHJ1Y3Rpb24KCSAgQWRkIGZ1bmN0aW9uIHRvIGNyZWF0ZSBhIE5ldHdvcmsgTmFtZSBEVkIgZGVzY3JpcHRvci4KCjIwMTMtMTAtMjggMTQ6NDg6MTMgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIGNyZWF0aW5nIGEgTklUIHNlY3Rpb24KCSAgRnVuY3Rpb25zIHRoYXQgd2lsbCBlbmFibGUgdXNlciB0byBjcmVhdGUgTmV0d29yayBJbmZvcm1hdGlvbiBUYWJsZXMuCgoyMDEzLTEwLTI4IDE0OjI2OjM5ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJICBtcGVndHM6IEFkZCBuZXR3b3JrX2lkIHRvIEdzdE1wZWdUc05JVAoJICBUaGUgbmV0d29ya19pZCBpcyBzdG9yZWQgaW4gdGhlIHN1YnRhYmxlIGV4dGVuc2lvbi4gTWFrZSBhIGZpZWxkCgkgIGluIHRoZSBHc3RNcGVnVHNOSVQgZm9yIGJldHRlciBjb2RlIHJlYWRhYmlsaXR5CgoyMDEzLTEwLTMxIDEzOjQ3OjIzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9ucyB0byBzZW5kIHNlY3Rpb25zIGFzIGV2ZW50cwoJICBBZGRlZCBmdW5jdGlvbiB0aGF0IGVuYWJsZXMgdGhlIHVzZXIgdG8gc2VuZCBhIEdzdE1wZWdUc1NlY3Rpb24gYXMKCSAgYW4gZXZlbnQgdG8gYSBHc3RFbGVtZW50LiAoaS5lLiBtcGVndHNtdXgpCgoyMDEzLTEwLTI4IDE0OjQ0OjEzICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIG1wZWd0czogQWRkIGZ1bmN0aW9ucyB0byBwYWNrZXRpemUgc2VjdGlvbgoJICBTZWN0aW9ucyBuZWVkcyB0byBiZSBwYWNrZXRpemVkIGZvciB1c2UgaW4gaS5lLiBtcGVndHNtdXguCgkgIFRoZXNlIGZ1bmN0aW9ucyBoYW5kbGVzIHRoZSBnZW5lcmljIGNvbW1vbiBwYXJ0cyBvZiBhIEdzdE1wZWdUc1NlY3Rpb24KCjIwMTMtMTAtMjggMTQ6Mzk6NDkgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBBZGQgaW5pdCBmdW5jdGlvbnMgZm9yIGRlc2NyaXB0b3Ivc2VjdGlvbgoKMjAxMy0xMC0zMCAxMDo0MzoyMSArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHMtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgZnVuY3Rpb24gdG8gZW5jb2RlIFVURjggc3RyaW5ncwoJICBUaGlzIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSBkZXNjcmlwdG9ycyB3aXRoIGFwcHJvcHJpYXRlIGNoYXJhY3RlciBtYXBzCgoyMDEzLTEwLTMwIDEwOjQyOjA3ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBVc2UgYmlnIGVuZGlhbiBVQ1MtMiBjb2RpbmcKCSAgUGFyc2luZyBvZiBjb250cm9sIGNvZGVzIHJlcXVpcmVzIGEgYmlnIGVuZGlhbiBjaGFyYWN0ZXIgbWFwCgoyMDEzLTEwLTMwIDEwOjMzOjE4ICswMTAwICBKZXNwZXIgTGFyc2VuIDxqZXNwZXIubGFyc2VuQGl4b25vcy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSAgbXBlZ3RzOiBBZGQgc3VwcG9ydCBmb3IgdHdvLXdheSBpY29udiBjb252ZXJzaW9ucwoJICBUbyB1c2UgaW4gY29udmVyc2lvbnMgZnJvbSBVVEYtOCB0byBhbm90aGVyIGNoYXJhY3RlciBtYXAKCjIwMTQtMDItMDYgMTY6MTc6MzkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogRml4IGxpYnRvb2wgdXNhZ2UKCSAgLS10YWc9Q0MgaXMgbmVlZGVkIGZvciBzdGF0aWMgYnVpbGQKCjIwMTQtMDItMDYgMTQ6MjE6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdHRzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVwZGF0ZSBwbHVnaW4gbGljZW5zZSBmaWVsZAoJICBUaGUgb3JpZ2luYWwgY29kZSAob2xkIG1wZWd0c3BhcnNlKSBmcm9tIHdoaWNoIHRoaXMgcGx1Z2luIHdhcyBiYXNlZCBvbgoJICB3YXMgZHVhbC1saWNlbnNlZC4gVGhpcyBhbGxvd2VkIHVzYWdlIG9mIHRoZSBjb2RlIHVuZGVyIGFueSBvZiB0aGUKCSAgbGljZW5zZXMgKHdoaWNoIGluY2x1ZGluZyBMR1BMKToKCSAgIiIiCgkgICogQWx0ZXJuYXRpdmVseSwgdGhlIGNvbnRlbnRzIG9mIHRoaXMgZmlsZSBtYXkgYmUgdXNlZCB1bmRlciB0aGUgdGVybXMgb2YKCSAgKiB0aGUgR05VIExlc3NlciBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIFZlcnNpb24gMiBvciBsYXRlciAodGhlICJMR1BMIiksCgkgICogaW4gd2hpY2ggY2FzZSB0aGUgcHJvdmlzaW9ucyBvZiB0aGUgTEdQTCBhcmUgYXBwbGljYWJsZSBpbnN0ZWFkCgkgICogb2YgdGhvc2UgYWJvdmUuIElmIHlvdSB3aXNoIHRvIGFsbG93IHVzZSBvZiB5b3VyIHZlcnNpb24gb2YgdGhpcyBmaWxlIG9ubHkKCSAgKiB1bmRlciB0aGUgdGVybXMgb2YgdGhlIExHUEwsIGFuZCBub3QgdG8gYWxsb3cgb3RoZXJzIHRvCgkgICogdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNUEwsIGluZGljYXRlIHlvdXIKCSAgKiBkZWNpc2lvbiBieSBkZWxldGluZyB0aGUgcHJvdmlzaW9ucyBhYm92ZSBhbmQgcmVwbGFjZSB0aGVtIHdpdGggdGhlIG5vdGljZQoJICAqIGFuZCBvdGhlciBwcm92aXNpb25zIHJlcXVpcmVkIGJ5IHRoZSBMR1BMLiBJZiB5b3UgZG8gbm90IGRlbGV0ZQoJICAqIHRoZSBwcm92aXNpb25zIGFib3ZlLCBhIHJlY2lwaWVudCBtYXkgdXNlIHlvdXIgdmVyc2lvbiBvZiB0aGlzIGZpbGUgdW5kZXIKCSAgKiB0aGUgdGVybXMgb2YgdGhlIE1QTCBvciB0aGUgTEdQTC4KCSAgIiIiCgkgIFdoZW4gcmVmYWN0b3JlZCAobGVhZGluZyB0byB0aGUgY3JlYXRpb24gb2YgdGhpcyBuZXcgcGx1Z2luKSwgSSBjaG9zZSBhbGwKCSAgbmV3IGNvZGUgdG8gYmUgTEdQTC1vbmx5ICh3aGljaCB3YXMgYWxsb3dlZCBmb3IgcHJlLWV4aXN0aW5nIGNvZGUpIGJ5IHJlbW92aW5nCgkgIHRoZSBNUEwgc2VjdGlvbnMuCgkgIFRoZSBoZWFkZXJzIHdlcmUgYWxsIHVwZGF0ZWQsIGJ1dCBub3QgdGhlIHBsdWdpbiBsaWNlbnNlIGZpZWxkLiBUaGlzIGNvbW1pdAoJICBmaXhlcyB0aGlzLgoKMjAxNC0wMi0wNCAxNDoxNTo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICB0ZXN0czogaW5zZXJ0YmluOiB1cGRhdGUgdGVzdHMgdG8gMS54IHNjZW5hcmlvCgkgIFRoZSB0aHJlYWQgdGhhdCBjYWxscyB0aGUgc3VjY2Vzcy9mYWlsdXJlIGNhbGxiYWNrIGNhbiBiZSB0aGUKCSAgc2FtZSB0aGF0IGlzIGFkZGluZy9yZW1vdmluZyB0aGUgZWxlbWVudCBhcyB0aGUgSURMRSBwcm9iZSBjYW4KCSAgaGFwcGVuIGluc3RhbnRseSBpZiB0aGUgcGFkIGlzIG5vdCAnYnVzeScuCgkgIFRoaXMgcmVxdWlyZWQgbW92aW5nIHNvbWUgY2hlY2tzIGZvciB0aGUgY2FsbGJhY2sgY291bnRlciBhcm91bmQKCSAgYXMgd2VsbCBhcyByZW1vdmluZyBzb21lIHBhZCBwdXNoZXMgZnJvbSB0aGUgbWFpbiB0ZXN0IHRocmVhZCBhcwoJICB0aGV5IHdlcmUgbWFkZSB1c2VsZXNzIGFmdGVyIHRoZSBJRExFIHBhZCBwcm9iZSB3YXMgZml4ZWQgaW4gY29yZQoJICBieSBjb21taXQgMDMyNDM1OGViYzgxMjJhNDFhYjQ5OWEzZWY3OTczYjYxYzNlNjIxYgoKMjAxNC0wMi0wMyAyMzozOTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogYXZvaWQgd2FybmluZyBpZiB0ZXN0IGlzIGZhaWxpbmcKCSAgSW4gY2FzZSB0aGUgdGVzdCBmYWlscyB0aGUgbWVzc2FnZSB3b24ndCBiZSByZXR1cm5lZCBhbmQgaXQKCSAgd2lsbCBsZWFkIHRvIGFuIGFzc2VydGlvbiB0aGF0IG1pZ2h0IGJlIG1pc2xlYWRpbmcgdG8gdGhvc2UKCSAgZGVidWdnaW5nIHRoZSBpc3N1ZS4KCjIwMTQtMDItMDMgMjM6MTA6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBzdG9wIHNvdXJjZSB0byBkbyBpbnRlcm5hbCByZWNvbmZpZ3VyYXRpb24gc2FmZWx5CgkgIEluIG9yZGVyIHRvIGJlIGFibGUgdG8gY2hhbmdlIHRoZSBjYXBzIG9uIG11bHRpcGxlIGNhcHNmaWx0ZXJzIHRoZQoJICBzb3VyY2UgZWxlbWVudCBuZWVkcyB0byBiZSBzdG9wcGVkLCBvdGhlcndpc2UgaXQgd2lsbCBnZXQgYSBmZXcKCSAgcmVjb25maWd1cmUgZXZlbnRzIGFuZCBtaWdodCB0cnkgdG8gcmVuZWdvdGlhdGUgd2hpbGUgdGhlIGJpbgoJICBpcyBzdGlsbCB0cmFuc2l0aW9uaW5nIGl0cyBjYXBzLCBsZWFkaW5nIHRvIGEgbm90LW5lZ290aWF0ZWQgZmFpbHVyZQoJICBhbmQgdGhlIGltYWdlIGNhcHR1cmUgd29uJ3QgaGFwcGVuIGJlY2F1c2UgdGhlIHNvdXJjZSB3aWxsIGJlCgkgIHVudXNhYmxlLgoJICBUaGUgc29sdXRpb24gaXMgdG8ga2VlcCB0aGUgc291cmNlIGluIHBhdXNlZCB3aGlsZSB0aGUgY2FwcyBhcmUgYmVpbmcKCSAgY2hhbmdlZCBpbiB0aGUgYmluLCBhbmQgdGhlbiBicmluZyB0aGUgZWxlbWVudCBiYWNrIHRvIHBsYXlpbmcgb25jZQoJICBpdCBpcyBkb25lLiBVbmZvcnR1bmF0ZWx5IHRoaXMgaW5jcmVhc2VzIHRoZSBpbWFnZSBjYXB0dXJlIGxhdGVuY3ksCgkgIGJ1dCBpdCBzaG91bGQgYWx3YXlzIHdvcmsuCgkgIEEgcG9zc2libGUgaW1wcm92ZW1lbnQgdG8gcmVkdWNlIHRoZSBsYXRlbmN5IGlzIHRvIGFkZCBhbm90aGVyIHNpZ25hbAoJICB0byBiZSBjYWxsZWQgYmVmb3JlICdzdGFydC1jYXB0dXJlJzogJ3ByZXBhcmUtY2FwdHVyZScuIEF0IHRoaXMgc3RlcAoJICB0aGUgY2FtZXJhIHNvdXJjZSBzaG91bGQgc2V0IGFsbCBjYXBzIGl0IG5lZWRzIGFuZCBnZXQgdGhlIHNvdXJjZQoJICByZWFkeSBmb3IgZG9pbmcgdGhlIGNhcHR1cmUgYXMgc29vbiBhcyAnc3RhcnQtY2FwdHVyZScgaXMgY2FsbGVkLgoJICBUaGlzIGNhbiBiZSBkb25lIG9uIGEgZnV0dXJlIGNvbW1pdAoKMjAxNC0wMi0wMyAyMzowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoJICBQcm9iYWJseSBhIGxlZnQgb3ZlciBmcm9tIDAuMTAgLT4gMS54IHBvcnRpbmcKCjIwMTQtMDItMDQgMTc6MjI6MjcgKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBpbXByb3ZlZCBlcnJvciByZXBvcnQgYW5kIGNoZWNrcwoJICBTaWduZWQtb2ZmLWJ5OiBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoyMDE0LTAyLTA0IDEyOjUyOjI1ICswMTAwICBEdW5jYW4gUGFsbWVyIDxkcGFsbWVyQGRpZ2lzb2Z0LnR2PgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBGaXggcmFjZSBjb25kaXRpb24gYmV0d2VlbiBFT1MgaGFuZGxpbmcgYW5kIGRvd25sb2FkaW5nIGEgcmFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzEzNAoKMjAxNC0wMi0wNCAwNTo0NjoxNiAtMDUwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmZwYXJzZTogYWRhcHRpdmUgYnVmZmVyIHNpemUKCSAgQ29waWVkIGZyb20gd2F2cGFyc2UsIGhlbHBzIHdpdGggQ1BVIHVzYWdlIG9uIGhpZ2ggYml0cmF0ZQoJICBmaWxlcy4KCjIwMTQtMDItMDIgMTg6MTc6MDYgLTA4MDAgIERhbiBLZWdlbCA8ZGFua0BrZWdlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIFNpbmNlIGIxYTc1NmZkLCBhcHBsZW1lZGlhIGZhaWxzIHRvIGJ1aWxkIG9uIG9zeCAxMC43LCB3aGljaCBsYWNrcyBWaWRlb1Rvb2xib3guaC4uLiBzbyBkaXNhYmxlIGl0IG9uIE9TWCBpZiB0aGF0IGhlYWRlciBpcyBtaXNzaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzNTA4CgoyMDE0LTAyLTAyIDEzOjUwOjUzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBkYXRhIHN0YXJ0IG9mZnNldCBjYWxjdWxhdGlvbiBub3QgY291bnRpbmcgQ09NTSBzaXplCgkgIEluIHBhcnRpY3VsYXIsIHRoaXMgZml4ZXMgc2Vla2luZyBiYWNrIHRvIHRoZSBzdGFydCByZWFkaW5nIGRhdGEKCSAgb3V0IG9mIHN5bmMgd2l0aCBzYW1wbGUgc3RhcnQgZ3JhbnVsYXJpdHksIHlpZWxkaW5nIHN3YXBwZWQgY2hhbm5lbHMuCgoyMDE0LTAxLTMxIDIzOjQzOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgIHRlc3RzOiBnZHBkZXBheTogdXBkYXRlIHRvIDEueCBldmVudHMKCSAgVGVzdHMgbmVlZGVkIHN0cmVhbSBzdGFydCBhdCBiZWdpbm5pbmcgYW5kIHNlZ21lbnQgYWZ0ZXIgdGhlCgkgIGNhcHMgZXZlbnQKCjIwMTQtMDEtMzEgMTg6Mzg6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYWRkIERUUyB0byBoZWFkZXJzCgoyMDE0LTAxLTMxIDEyOjE1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICBnZHBwYXk6IHVwZGF0ZSB0byAxLnggcmVhbGl0eQoJICAqIHN0cmVhbS1zdGFydC1pZCBpcyBtYW5kYXRvcnkgYXQgdGhlIGJlZ2lubmluZywgc28gYWRkIHRoYXQgdG8gdGhlCgkgIGdkcCBoZWFkZXJzCgkgICogY2FwcyBtdXN0IGJlIHNlbnQgYmVmb3JlIG5ldyBzZWdtZW50LCBpbnZlcnQgdGhlIG9yZGVyIGZyb20gbGVnYWN5CgkgIDAuMTAgY29kZQoJICBBbmQgZml4IHRoZSB0ZXN0cyBhcyBhIHJlZiBpcyBub3cga2VwdCBmb3IgdGhvc2UgYnVmZmVycyB0aGF0IGNvbXBvc2UKCSAgdGhlIGhlYWRlcgoKMjAxNC0wMS0zMSAxNjo1ODoxNiAtMDUwMCAgQ29saW4gTWFjZG9uYWxkIDxjYm1AbS5mc2Yub3JnPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkgIGZpc2hleWU6IEZpeCBkb2N1bWVudGF0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMzOTgKCjIwMTQtMDEtMjkgMTY6MzI6MzAgKzAxMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRGVmYXVsdCBmcmFtZXJhdGUgdG8gMC8xIHdoZW4gbm8gaW5mb3JtYXRpb25zIGZvdW5kCgkgIEl0IGlzIG5vdCBwZXJmZWN0IGJ1dCBpdCBhbGxvd3MgdXMgdG8gYmUgc3VyZSB0aGF0IHRoZSBtYW5kYXRvcnkgJ2ZyYW1lcmF0ZScKCSAgZmllbGQgaXMgcHJlc2VudCBpbiB0aGUgY2Fwcy4KCSAgQXMgc29vbiBhcyBzb21lIGluZm9ybWF0aW9uIGlzIGZvdW5kIGluIHRoZSBzdHJlYW0sIHRoYXQgd2lsbCBiZQoJICB1cGRhdGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIzMjQzCgoyMDE0LTAxLTMwIDE5OjQ1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogZ2RwcGF5OiByZWZhY3RvciBhbmQgYWRkIG1pc3NpbmcgYml0cwoJICBNb3N0IG9mIHRoZSB0ZXN0cyB3ZXJlbid0IHVwZGF0ZWQgYWZ0ZXIgdGhlIHN0aWNreSBldmVudHMgb3JkZXIKCSAgYW5kIHN0cmVhbSBzdGFydC4gRml4IHRoYXQgYW5kIHJlZmFjdG9yIHRob3NlIHRlc3RzIGNoZWNrIHRoYXQKCSAgYXJlIHRoZSBzYW1lIHRvIHNvbWUgY29tbW9uIGZ1bmN0aW9ucy4KCSAgVGhvc2UgZnVuY3Rpb25zIHN0aWxsIGRvbid0IGFjdHVhbGx5IHRlc3QgdGhlIGNvbnRlbnQgYnV0IGF0CgkgIGxlYXN0IG5vdyB0aGV5IGFyZSBpbiBhIHNpbmdsZSBwbGFjZSBhbmQgY2FuIGJlIGltcHJvdmVkCgkgIHdpdGhvdXQgcmVwbGljYXRpb24KCjIwMTQtMDEtMzAgMTg6MTc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiBnZHBwYXk6IERvIG5vdCBmb3JnZXQgdG8gc2VuZCBzdHJlYW0tc3RhcnQgZXZlbnQgb24gdGVzdAoJICBFdmVuIGlmIHdlIGRvbid0IHdhbnQgdG8gcHVzaCB0aGUgY2FwcyBldmVudCwgYSBzdHJlYW0tc3RhcnQgbXVzdAoJICBiZSBwcmVzZW50IGJlZm9yZSBhbnkgZGF0YSBpbiAxLngKCjIwMTQtMDEtMzAgMTg6MDk6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBwdXNoIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCSAgaW5zdGVhZCBvZiBqdXN0IHN3YWxsb3dpbmcgdXBzdHJlYW0ncyBzdHJlYW0tc3RhcnQgaW50byBpdHMKCSAgcGF5bG9hZCwgcHVzaCBpdCBhcyBlbGVtZW50cyBleHBlY3QgYSBzdHJlYW0tc3RhcnQgYmVmb3JlIGRhdGEKCjIwMTQtMDEtMzAgMjA6Mjg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBXZSBkbyBub3Qgc3VwcG9ydCB0aGUgU0tJUCBzZWVrIGZsYWcgYnV0IHRoYXQgaXMgbm90IGEgcHJvYmxlbQoKMjAxNC0wMS0zMCAxMDo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZDQ4YmVkMyB0byAxYTA3ZGE5CgoyMDE0LTAxLTMwIDAzOjI4OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBpbXByb3ZlIHByZXZpZXcgaGFuZGxpbmcgaW4gdGVzdHMKCSAgQWx3YXlzIGVyYXNlIHRoZSBwcmV2aWV3IGltYWdlIGRhdGEgdG8gYWxsb3cgdGhlIG5leHQgY2hlY2sgZm9yCgkgIGl0IHRvIG9wZXJhdGUgcHJvcGVybHkKCjIwMTQtMDEtMjkgMjA6Mzg6NTcgKzAxMDAgIER1bmNhbiBQYWxtZXIgPGRwYWxtZXJAZGlnaXNvZnQudHY+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IEFsd2F5cyByZWxlYXNlIHRoZSBvYmplY3QgbG9jayBpbiBnc3RfdXJpX2Rvd25sb2FkZXJfZmV0Y2hfdXJpX3dpdGhfcmFuZ2UoKQoJICBldmVuIGlmIGRvd25sb2FkZXItPnByaXYtPnVyaXNyYyBpcyBub3Qgc2V0LiBUaGlzIGF2b2lkcyBkZWFkbG9jayB1bmRlciBzb21lCgkgIHNvbWUgY29uZGl0aW9ucyBvbiBjYW5jZWwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjMxMjcKCjIwMTQtMDEtMjkgMTM6MjU6MzcgKzAxMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuY3Y6IFRoZSBwbHVnaW4gd29ya3Mgd2l0aCAyLjQuOCB0b28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMzIzMAoKMjAxNC0wMS0yOSAxMDo1MDo0MCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL25hbHV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBEb24ndCB1c2UgZ3N0XyBhcyBwcmVmaXggZm9yIHByaXZhdGUgc3ltYm9scwoJICBPdGhlcndpc2UgdGhleSBnZXQgZXhwb3NlZC9hY2Nlc3NpYmxlIGluIHRoZSByZXN1bHRpbmcgLnNvCgkgIEFuZCBtYWtlIGNoZWNrLWV4cG9ydHMgd2lsbCBjb21wbGFpbgoKMjAxNC0wMS0yNyAyMzo1NTo1NyAtMDMwMCAgQW1hdXJ5IE1lZGVpcm9zIDxhbWF1cnltZWRlaXJvc0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogRml4IGZsYWdzIGNvbXBhcmlzb24gb3BlcmF0b3IgcHJlY2VkZW5jZQoJICBGaXggb3BlcmF0b3IgcHJlY2VkZW5jZSwgc28gdGhlIHdob2xlIG9wZXJhdGlvbiBpcwoJICBuZWdhdGVkIGluc3RlYWQgb2Ygb25seSBmbGFncyB2YXJpYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA5NgoKMjAxNC0wMS0yNiAxNDo0Mjo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSAgbXBlZ3RzOiBpbnN0YWxsIGJ1dCBub2Rpc3QgZm9yIGdlbmVyYXRlZCBoZWFkZXIKCjIwMTQtMDEtMjUgMTc6NDA6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBEb24ndCBoYW5kbGUgRkxVU0hJTkcgb3IgTk9UX0xJTktFRCBhcyBlcnJvcgoJICBBbmQgYWxzbyBqdXN0IHN0b3AgdGhlIHRhc2sgZm9yIEZMVVNISU5HLgoKMjAxNC0wMS0yNCAyMTo0MToyNSArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgZ28gaW50byBwdWxsIG1vZGUgd2hlbiB0aGUgc2VxdWVudGlhbCBmbGFnIGlzIHNldAoJICBXaGVuIHRoZSBzY2hlZHVsaW5nIHF1ZXJ5IHJlc3VsdHMgaGFzIEdTVF9TQ0hFRFVMSU5HX0ZMQUdfU0VRVUVOVElBTCBzZXQKCSAgaW4gaXRzIGZsYWdzIGRvbid0IGdvIGludG8gcHVsbCBtb2RlIHRvIHByZXZlbnQgb3Zlci1lYWdlciBzZWVraW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyOTM0CgoyMDE0LTAxLTI0IDEyOjM2OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJICB0ZXN0czogaDI2NHBhcnNlOiBmaXggdGVzdHMgYWZ0ZXIgbGVhZGluZyAweDAwIHJlbW92YWwKCSAgQ29tbWl0IDZhZjM4N2NkNWFiMmM5NDYwMjVlNTQ5OTkwM2U3NWVlODdiMDYzYTkgbWFkZSBoMjY0cGFyc2UKCSAgc3RyaXAgYSBsZWFkaW5nIDB4MDAgYnl0ZSBmcm9tIHNvbWUgb3V0cHV0IHNjZW5hcmlvcy4gVGhpcyBicm9rZQoJICB0ZXN0cyBhcyBic190b19uYWwgdGVzdCBleHBlY3RzIG9uZSBtb3JlIGJ5dGUgb24gdGhlIG91dHB1dC4KCSAgRml4IHRoaXMgYnkgY29tcGFyaW5nIHRoZSBvdXRwdXQgd2l0aCB0aGUgZXhwZWN0ZWQgc3RyaXBwZWQgdmVyc2lvbiwKCSAgdG9vLgoKMjAxNC0wMS0yNCAwMTowNzo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvbmFsdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9uYWx1dGlscy5oOgoJICBjb2RlY3BhcnNlcnM6IHJlZmFjdG9yIGNvbW1vbiBuYWwgcGFyc2luZyB0byBuYWx1dGlscwoJICBNb3ZlcyBjb21tb24gY29kZSBmcm9tIGgyNjQgYW5kIGgyNjUgdG8gYSBzZXBhcmF0ZSBmaWxlCgoyMDE0LTAxLTAzIDA5OjQ0OjI4ICswMTAwICBBdXLDqWxpZW4gWmFuZWxsaSA8YXVyZWxpZW4uemFuZWxsaUBwYXJyb3QuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBtdWx0aXBsZSBTRUkgbWVzc2FnZXMgaW4gb25lIFNFSSBSQlNQIHBhcnNpbmcuCgkgIEFuIFNFSSBSQlNQIGNvdWxkIGNvbnRhaW5zIG1vcmUgdGhhbiBvbmUgU0VJIG1lc3NhZ2UgYXMgc3BlY2lmaWVkIGluCgkgIDcuNC4yLjMuMS4KCSAgVGhpcyBjb21taXQgY2hhbmdlIHRoZSBwYXJzZXIgQVBJOiB0aGUgZ3N0X2gyNjRfcGFyc2VyX3BhcnNlX3NlaSgpCgkgIGZ1bmN0aW9uIG5vdyBjcmVhdGUgYW5kIGZpbGwgYSBHQXJyYXkgY29udGFpbmluZyBHc3RIMjY0U0VJTWVzc2FnZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTcxNQoKMjAxNC0wMS0yMiAxMDoyNjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogcmVtb3ZlIHRyYWlsbGluZyAweDAwIGJ5dGVzIGFzIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlbQoJICBKdXN0IGxpa2UgaDI2NCwgdGhlIHNwZWMgZG9lc24ndCBhbGxvdyB0aGUgbGFzdCBieXRlcyBvZiBhIE5BTCB0byBiZSAweDAwLgoJICBTbyByZW1vdmUgaXQgYXMgaXQgaXMgcHJvYmFibHkganVzdCBwYWRkaW5nLgoJICBUaGlzIGlzIHJlbGF0ZWQgdG8gaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4NAoKMjAxNC0wMS0yMCAxNzoyNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogcmVtb3ZlIHRyYWlsbGluZyAweDAwIGJ5dGVzIGFzIHRoZSBzcGVjIGRvZXNuJ3QgYWxsb3cgdGhlbQoJICBUaGUgc3BlYyBzdGF0ZXMgdGhhdCB0aGUgbGFzdCBieXRlIG9mIGEgTkFMICdzaGFsbCBub3QnIGJlIDB4MDAKCSAgYW5kIGl0IGlzIGFsbG93ZWQgZm9yIGJ5dGUtc3RyZWFtIGZvcm1hdCB0byBhZGQgcGFkZGluZyAweDAwIGZvcgoJICBhbGlnbm1lbnQuCgkgIFNvIG91ciBwYXJzZXIgc2hvdWxkIHN0cmlwIGFueSB0cmFpbGxpbmcgMHgwMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTM4NAoKMjAxNC0wMS0yMSAyMzo0Mjo1OCArMDkwMCAgSnVzdGluIEpveSA8anVzdGluLmpveS45dG81QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgbGVhayBwYWQgbmFtZSB3aGVuIHRyZWF0aW5nIGV2ZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjk5CgoyMDE0LTAxLTIxIDEwOjI3OjIwICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogdXBkYXRlIGxhc3RfdHMgdG8gbXV4IGNvcnJlY3RseQoJICBXZSB1c2UgbGFzdF90cyB0byBkZWNpZGUgd2hhdCBidWZmZXIgdG8gbXV4IG5leHQgc28gbWFrZSBzdXJlIHRoYXQgaXQKCSAgYWx3YXlzIGNvbnRhaW5zIHRoZSBsYXN0IGtub3duIHZhbGlkIHRpbWVzdGFtcC4KCjIwMTQtMDEtMjEgMTA6NTg6MzUgKzA5MDAgIGR1aHVpLmxlZSA8ZHVodWkubGVlQGxnZS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSAgaDI2NXBhcnNlcjogSW5pdGlhbGl6ZSBwb2ludGVyIGNvcnJlY3RseSB0aGF0IGlzIG5ldmVyIGFzc2lnbmVkIGJ1dCBmcmVlZCBpbiBlcnJvciBjYXNlcwoJICBGaXhlcyBjcmFzaCBvbiBicm9rZW4gc3RyZWFtcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjY2OQoKMjAxNC0wMS0yMSAwOTo0NDowMCArMDEwMCAgQWxleGV5IENoZXJub3YgPDRlcm5vdkBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXJzdCBkZXN0cm95IHRoZSB3aW5kb3csIHRoZW4gdW5yZWdpc3RlciB0aGUgY2xhc3MKCSAgSXQncyBpbXBvc3NpYmxlIHRvIGNyZWF0ZSBhbm90aGVyIHBpcGVsaW5lIHdpdGggZDNkdmlkZW9zaW5rIGFmdGVyIGRpc3Bvc2luZwoJICB0aGUgcHJldmlvdXMgb25lIGR1ZSB0byBzb21lIHByb2JsZW0gaW4gZDNkdmlkZW9zaW5rLiBUaGUgbWVzc2FnZSBpczogIlVuYWJsZQoJICB0byByZWdpc3RlciBEaXJlY3QzRCBoaWRkZW4gd2luZG93IGNsYXNzIi4KCSAgSSd2ZSBldmFsdWF0ZWQgdGhlIHByb2JsZW0gYW5kIGl0J3MgdGhhdCBVbnJlZ2lzdGVyQ2xhc3MoKSBpbiB3b3JraW5nIHRocmVhZCBpcwoJICBjYWxsZWQgYmVmb3JlIERlc3Ryb3lXaW5kb3coKSBhbmQgVW5yZWdpc3RlckNsYXNzKCkgZG9lcyBub3RoaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNjIyCgoyMDE0LTAxLTIwIDE2OjI1OjUxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkgIG1wZWdwc211eDogZml4IHRpbWVzdGFtcCBoYW5kbGluZwoJICBJZiB0aGUgZmlyc3QgYnVmZmVyIHRoYXQgd2UgaGFuZGxlIGZvciBhIHN0cmVhbSBoYXMgbm8gdGltZXN0YW1wLCB3ZQoJICB3b3VsZCBuZXZlciBjb25zaWRlciB0aGlzIHBhZCBhZ2FpbiBmb3IgbXV4aW5nIHdoaWNoIGNhdXNlcyBxdWV1ZXMgdG8KCSAgZmlsbCB1cCBhbmQgcGlwZWxpbmVzIHRvIHN0YWxsLiBJbnN0ZWFkLCB0cnkgdG8gbXV4IHBhZHMgd2l0aCAtMQoJICB0aW1lc3RhbXBzIGFzIHNvb24gYXMgcG9zc2libGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIzMzAKCjIwMTQtMDEtMjAgMTY6MjM6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3dGF5bWFuc0ByZWRoYXQuY29tPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiByZXR1cm4gR1NUX0ZMT1dfRU9TIHdoZW4gd2UgcHVzaGVkIEVPUwoJICBSZXR1cm4gR1NUX0ZMT1dfRU9TIGZyb20gdGhlIGNvbGxlY3RlZCBmdW5jdGlvbiB3aGVuIHdlIHB1c2hlZCBFT1Mgb3IKCSAgZWxzZSBpdCBzaW1wbHkga2VlcHMgb24gY2FsbGluZyBvdXIgY29sbGVjdGVkIGZ1bmN0aW9uLgoKMjAxNC0wMS0yMCAxMDozODoxNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBBY3R1YWxseSB0aGUgZW5jL2RlY2JpbnMgYXJlIG5vdCB1c2VkIGFueXdoZXJlIGN1cnJlbnRseQoJICBDb2RlIGlzIGNvbW1lbnRlZCBvdXQuCgoyMDE0LTAxLTIwIDEwOjM0OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBGaXggYnVpbGQgb24gaU9TIGFuZCBwcm9iYWJseSBhbHNvIG9uIE9TWAoJICBUaGUgdmlkZW8gdG9vbGJveCBpcyBub3QgYXZhaWxhYmxlIG9uIGlPUywgYW5kIGFsc28gb24gT1NYCgkgIHdlIHNob3VsZCBwcm9iYWJseSBidWlsZCBhbGwgc291cmNlIGZpbGVzIHRoYXQgYXJlIHVzZWQgZm9yCgkgIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNTkwCgoyMDE0LTAxLTIwIDE1OjIxOjQyICswOTAwICBkdWh1aS5sZWUgPGR1aHVpLmxlZUBsZ2UuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBVcGRhdGUgY2FwcyB3aGVuIHJlY2VpdmUgVlBTL1NQUy9QUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI0MAoKMjAxNC0wMS0yMCAxNzowMzowOSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJICBoMjY1cGFyc2VyOiBGaXggc2VnZmF1bHQgd2hlbiBwYXJzaW5nIEhSRCBwYXJhbWV0ZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjI0MAoKMjAxNC0wMS0xOCAxMzo1NjoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuY3BwOgoJICBvcGVuZXhyZGVjOiBEb24ndCBzdGFydCBzY2FubmluZyBmb3IgdGhlIGhlYWRlciBmcm9tIHRoZSBzdGFydCBhZ2FpbiBlYWNoIHRpbWUKCSAgVGhpcyB3aWxsIGJlIGluY3JlZGlibGUgc2xvdyBpZiB0aGUgdXBzdHJlYW0gYmxvY2sgc2l6ZSBpcyB2ZXJ5IHNtYWxsLiBJbnN0ZWFkCgkgIGNvbnRpbnVlIHNjYW5uaW5nIGZvciB0aGUgaGVhZGVyIHdoZXJlIHdlIHByZXZpb3VzbHkgc3RvcHBlZC4KCSAgRm9yIHRoZSBzdGFuZGFyZCBmaWxlc3JjIGJsb2NrLXNpemUgdGhpcyBtYWRlIGRlY29kaW5nIGEgZmlsZSBhYm91dAoJICAzIHRpbWVzIGZhc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTg5MAoKMjAxNC0wMS0xOCAxMzowNjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiBUaGlzIGlzIGEgZGVjb2Rlciwgbm90IGEgZGVtdXhlcgoJICBEb24ndCBjb25mdXNlIGF1dG9wbHVnZ2VycyEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjMxNgoKMjAxNC0wMS0xOCAwMToxOTozNiArMDIwMCAgQW5kcmV5IFV0a2luIDxhbmRyZXkua3JpZWdlci51dGtpbkBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBGaXggbGVhayBvZiBQQ1JPZmZzZXRHcm91cAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyNDYyCgoyMDE0LTAxLTE2IDEyOjE4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBSZW1vdmUgc29tZSB1c2VsZXNzIGFzc2lnbm1lbnRzIGFuZCBza2lwIHRoZSBjdXJyZW50IHBhcnQgb2YgdGhlIGJ1ZmZlciBpZiB0aGUgcGFkIGlzIG11dGVkCgoyMDE0LTAxLTE2IDIwOjE2OjQ3ICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkgIHJlc2luZHZkOiBNZXJnZSBjaGFuZ2VzIGFjcm9zcyBmcm9tIG1hc3RlciBtcGVnZGVtdXgKCSAgTWVyZ2UgdmFyaW91cyBjaGFuZ2VzIGFuZCBmaXhlcyBmcm9tIHRoZSBtYXN0ZXIgbXBlZ2RlbXV4CgkgIFBlcmZvcm1hbmNlIGltcHJvdmVtZW50IGZyb20gdGhlIHdheSBzdHJlYW1zIGFyZSBvcmdhbmlzZWQsCgkgIHJldHVybiBmbG93IGNvbWJpbmluZywgbGFuZ3VhZ2UgdGFnIGV2ZW50IGdlbmVyYXRpb24sCgkgIGFkanVzdG1lbnRzIGFuZCBmaXhlcyBpbiBkZWJ1ZyBvdXRwdXQsIGFuZCB0aGluZ3MgbGlrZSB0aGF0LgoKMjAxNC0wMS0xNiAyMDoxNDo0OCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IE1lcmdlIHNvbWUgY2hhbmdlcyBmcm9tIHRoZSByZXNpbmR2ZCBjb3B5CgkgIE9uZSBidWcgZml4LCBzb21lIGRlYnVnIGNoYW5nZXMgYW5kIG90aGVyIGluY29uc2VxdWVudGlhbCBjaGFuZ2VzCgkgIGp1c3QgdG8gcmVkdWNlIHRoZSBkaWZmIGJldHdlZW4gdGhlIDIgY29waWVzIGEgYml0LgoKMjAxNC0wMS0xNSAyMzozMDoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogRml4IGFuZCBzaW1wbGlmeSBvdmVybGFwIGNhbGN1bGF0aW9uCgoyMDE0LTAxLTE0IDIzOjU1OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBmaXggbWlub3IgbWVtb3J5IGxlYWsgd2hlbiBjcmVhdGluZyB0aXRsZSBpbmZvIG1lc3NhZ2UKCjIwMTMtMTAtMDkgMTc6NDk6MDYgKzAyMDAgIEpvcmdlIFphcGF0YSA8am9yZ2VsdWlzLnphcGF0YUBnbWFpbC5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBBZGQgdGhlIGRpdnggdmFyaWFudCBmb3IgbXBlZzQgdmlkZW8KCSAgTG9va3MgbGlrZSBhbGwgdGhlIG1wZWc0IHZpZGVvIGRlY29kZXJzIGFsc28gYWNjZXB0IHRoZSBkaXZ4CgkgIHZhcmlhbnRzLiBTbyB3ZSBiZXR0ZXIgYWRkIHRob3NlIGNhcHMgdG9vCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNjMKCjIwMTQtMDEtMTQgMTc6MDg6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAoYWdhaW4pIGNoZWNrIGZvciBEQiBBUEk6IDUuNCBpcyBOb3QgUmVjZW50IEVub3VnaAoJICBNYXliZSB0ZXN0aW5nIHRoZSB2ZXJzaW9uIGlzIGNsZWFyZXIsIGJ1dCB0ZXN0aW5nIGZvciA8IDUgaXMgbm90CgkgIGVub3VnaCwgbXkgdmVyc2lvbiBpcyA1LjQgYW5kIGRvZXMgbm90IHlldCBoYXZlIHRob3NlIG5ldyBlbnVtcy4KCSAgSWYgeW91IGdpdCBibGFtZSB0byB0aGlzIGFuZCBoYXZlIGEgdmVyc2lvbiA+IDUuNCB0aGF0IGRvZXMgbm90CgkgIGVpdGhlciwgcGxlYXNlIGZlZWwgZnJlZSB0byBqb2luIGFsb25nIGFuZCBidW1wIHRoZSB2ZXJzaW9uLgoKMjAxNC0wMS0xNCAyMzoyMToyNSArMDkwMCAgZHVodWkubGVlIDxkdWh1aS5sZWVAbGdlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuaDoKCSAgaDI2NXBhcnNlcjogRml4IHNlZ2ZhdWx0IHdoZW4gcGFyc2luZyBWUFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA4MQoKMjAxNC0wMS0xNCAxMDozODozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSAgZmFjZWJsdXI6IHNldCBtYXhpbXVtIGZlYXR1cmUgc2l6ZSB0byAweDAKCSAgUHJldmlvdXNseSBmYWNlcyB3b3VsZCBvbmx5IGJlIGRldGVjdGVkIGlmIHRoZXkgd2VyZSBhdCBsZWFzdCAzMHgzMCBwaXhlbHMKCSAgbGFyZ2UgYW5kIGF0IG1vc3QgMzJ4MzIgcGl4ZWxzLiBXZSBrZWVwIHRoZSBtaW5pbXVtIHNldHRpbmcgKG1heWJlIG5lZWRzCgkgIGEgcHJvcGVydHkgYXMgaW4gZmFjZWRldGVjdCkgYnV0IGRpc2FibGUgdGhlIG1heGltdW0gZmVhdHVyZSBzaXplLgoJICBTZWUgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjE1OAoKMjAxNC0wMS0xNCAwMTowNjowMiAtMDUwMCAgS2lwcCBDYW5ub24gPGtjYW5ub25AY2l0YS51dG9yb250by5jYT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJICBmYWNlZGV0ZWN0OiBzZXQgbWF4aW11bSBmZWF0dXJlIHNpemUgdG8gMHgwCgkgIFRoaXMgZGlzYWJsZXMgdGhlICJtYXggZmVhdHVyZSBzaXplIiBmZWF0dXJlLiBUaGUgY3VycmVudCBjb25maWd1cmF0aW9uCgkgIGlzIHRvdGFsbHkgYnVzdGVkOiBUaGUgbWF4IGZlYXR1cmUgc2l6ZSBpcyBoYXJkLWNvZGVkIHRvIDIgcGl4ZWxzIG1vcmUKCSAgdGhhbiB0aGUgdXNlci1zdXBwbGllZCBtaW4gZmVhdHVyZSBzaXplIHdoaWNoIHByZXR0eSBtdWNoIG1lYW5zIHlvdSBuZWVkCgkgIHRvIGd1ZXNzIHRoZSBzaXplIG9mIHRoZSBwZXJzb24ncyBmYWNlIHRvIHdpdGhpbiBhIGZldyBwaXhlbHMgdG8gZ2V0IHRoZQoJICBjb2RlIHRvIGZpbmQgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxNTgKCjIwMTQtMDEtMTQgMDI6MTk6MTIgKzAyMDAgIEFuZHJleSBVdGtpbiA8YW5kcmV5LmtyaWVnZXIudXRraW5AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IG1lbWxlYWsgb2YgUENST2Zmc2V0Q3VycmVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIyMTQ1CgoyMDE0LTAxLTEzIDIxOjUwOjE2ICswOTAwICBKdXN0aW4gSm95IDxqdXN0aW4uam95Ljl0bzVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IHByZXZlbnQgdG8gb3ZlcnJ1biBjaHJvbWFfd2VpZ2h0X2wwX2ZsYWcKCSAgVGhlIGluZGV4IG9mIGVsZW1lbnRzIGNhbm5vdCBleGNlZWQgb3IgZXF1YWwgdG8gdGhlIHNpemUgb2YgZWxlbWVudHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjIxMDEKCjIwMTQtMDEtMTMgMTA6MDE6NDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IGJ1ZmZlciBvZmZzZXQgdG8gYnVmZmVyIHRpbWVzdGFtcAoJICBvZ2dtdXggZXhwZWN0cyB0aGlzIHRvIG9yZGVyIGluY29taW5nIGJ1ZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMjA3OAoKMjAxNC0wMS0xMCAwODo1ODoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHZiOiBVc2UgRFZCX0FQSV9WRVJTSU9OIHRvIGtub3cgaWYgd2UgaGF2ZSByZWNlbnQgZW5vdWdoIHZlcnNpb24KCSAgV2UgZW5kIHVwIHdpdGggdGhlIHNhbWUgZW5kLXJlc3VsdCBidXQgaXQncyBtb3JlIGNvbXByZWhlbnNpYmxlCgoyMDE0LTAxLTA5IDE2OjM4OjEzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGNoZWNrIGZvciBnb29kIGVub3VnaCBkdmIga2VybmVsIGhlYWRlcnMKCSAgUmVjZW50IGNoYW5nZXMgYXJlIHVzaW5nIG5ldyBkdmIgYXBpLiBEb24ndCBidWlsdCB0aGUgcGx1Z2luLCBpZiB3ZSBjYW4ndC4KCSAgRml4ZXMgIzcyMTg2OQoKMjAxNC0wMS0wOSAwODoxODowNyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IG1pc2MgY29kZSBjbGVhbnVwcwoJICBGaXggdGhlIGxhdW5jaCBleGFtcGxlcyBmb3IgMS4wLiBUdXJuIG1vcmUgbG9nZ2luZyBpbnRvIF9PQkpFQ1QgdmFyaWFudHMuCgoyMDE0LTAxLTA5IDA5OjEzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSB2YXJpYWJsZQoJICBJbnN0ZWFkIG9mIHVzaW5nIDIgaW5kZXhlcyB0aGF0IHdlcmUgYWN0dWFsbHkgdGhlIHNhbWUsIHVzZSBvbmx5CgkgIG9uZS4gU2F2ZXMgYSB2YXJpYWJsZS4KCjIwMTQtMDEtMDkgMDk6MTE6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBzZWVraW5nIHdoZW4gdGhlIG1wZCB1c2VzIGEgc2VnbWVudCB0ZW1wbGF0ZQoJICBSZW1vdmUgdGhlIGRhc2hkZW11eCBzZWVraW5nIGZ1bmN0aW9uIHRvIHVzZSB0aGUgb25lIGltcGxlbWVudGVkCgkgIGluIG1wZHBhcnNlciBhcyBpdCBpcyBtb3JlIGNvbXBsZXRlLiBUaGlzIGFsc28gbWFrZXMgZGFzaGRlbXV4IG5vdAoJICBjcmFzaCB3aGVuIHNlZWtpbmcgb24gc3RyZWFtcyB0aGF0IHVzZSBzZWdtZW50IHRlbXBsYXRlcy4KCjIwMTQtMDEtMDggMTY6MzM6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkbyBub3QgbG9zZSBESVNDT05UIGZsYWcgaWYgYnVmZmVyIGlzbid0IHB1c2hlZAoJICBtcGVnNHZpZGVvcGFyc2UgbWlnaHQgbm90IHB1c2ggYnVmZmVycyB3aGlsZSBwYXJzaW5nLiBJZiB0aG9zZSBidWZmZXJzCgkgIGNvbnRhaW4gdGhlIERJU0NPTlQgZmxhZywgaXQgZ2V0cyBsb3N0IGFuZCBkb3duc3RyZWFtIHdvbid0IGdldCBhbnkKCSAgYnVmZmVyIHdpdGggdGhlIGZsYWcuCgkgIEZpeCBpdCBieSBhZGRpbmcgdGhlIERJU0NPTlQgdG8gdGhlIG5leHQgcHVzaGVkIGJ1ZmZlci4KCSAgVGhpcyBtYWtlcyBiYWNrd2FyZHMgcGxheWJhY2sgd29yay4KCjIwMTQtMDEtMDYgMjI6MTU6MjQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogc2tpcCAnXDAnIHN0cmluZ3MgZm9yIG1ldGFkYXRhCgkgIGxpYnNuZGZpbGUgZG9lcyBub3QgZmlsdGVyIGVtcHR5IHN0cmluZ3MuIFdlIGdldCBhIHdhcm5pbmcgZnJvbSBnc3RyZWFtZXIgd2hlbgoJICBzZXR0aW5nIHRoaXMgYXMgYSB0YWcuCgoyMDE0LTAxLTA2IDE1OjE1OjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGJyZWFrIGxvbmcgbWV0aG9kCgkgIEV4dHJhY3QgdGFnbGlzdCBjcmVhdGlvbiBpbnRvIHNlcGFyYXRlIGZ1bnRpb24uCgoyMDE0LTAxLTA2IDE1OjAxOjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtYXRzYy1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSAgbXBlZ3RzOiBtYWtlIGhlYWRlcnMgdXNhYmxlIHdpdGggYysrIGNvbXBpbGVyCgkgIEFkZCBHX0JFR0lOX0RFQ0xTIEdfRU5EX0RFQ0xTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzExMzYKCjIwMTQtMDEtMDYgMTU6MDI6MzAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogcmVtb3ZlIGxlZnQgb3ZlciBwcm9wZXJ0eS1pZCBlbnVtCgoyMDE0LTAxLTA2IDE0OjUyOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBBbGxvd3MgaHZjMSB2ZXJzaW9uIDAgYW5kIGZpeCByZWFkaW5nIG9mIE5BTCBjb3VudCBpbiBjb2RlY19kYXRhCgoyMDE0LTAxLTA2IDE0OjQ4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSAgaDI2NXBhcnNlOiBGaXggc29tZSBtb3JlIGRlYnVnIG91dHB1dAoJICBBbmQgZG9uJ3QgYWNjZXNzIGludmFsaWQgbWVtb3J5CgoyMDE0LTAxLTA2IDE0OjQ3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkgIGgyNjVwYXJzZXI6IEZpeCBkZWJ1ZyBvdXRwdXQKCjIwMTQtMDEtMDYgMTM6NTE6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBIRVZDIC8gaDI2NSBzdXBwb3J0CgoyMDE0LTAxLTA1IDIzOjQ0OjM2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogdHlwbyBmaXggaW4gY29tbWVudAoKMjAxNC0wMS0wNSAyMzo0MzoyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkgIHNmZGVjOiB0aGUgcmVhZCBmdW5jdGlvbnMgYWxyZWFkeSByZXR1cm4gZnJhbWVzX3JlYWQKCSAgRml4ZXMgY2hvcHB5IG91dHB1dC4KCjIwMTQtMDEtMDUgMjM6NDE6MjYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZi5jOgoJICBzbmRmaWxlOiBlbmFibGUgcmY2NCBmb3JtYXQKCjIwMTQtMDEtMDIgMjE6MDI6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzZmRlYzogYWRkIGRhdGUgdG8gdGFnbGlzdAoKMjAxNC0wMS0wMyAxMToxODowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBEb2N1bWVudCB0aGF0IHNvY2tldC1wYXRoIG1heSBjaGFuZ2UKCjIwMTQtMDEtMDMgMTE6MTY6NDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogQ2hhbmdlIGRlZmF1bHQgc2htIHNpemUgdG8gNjQgTWlCCgkgIFRoZSBvcmlnaW5hbCBzaXplIG9mIDI1Nmsgd2FzIHRvbyBzbWFsbCBmb3IgYW55dGhpbmcgd2hlcmUKCSAgb25lIHdvdWxkIHdhbnQgdG8gdXNlIHNobS4gSWYgdGhlIGJ1ZmZlcidzIHNpemUgbmVlZHMgdG8gYmUgbGltaXQsIGl0IGlzCgkgIGJldHRlciB0byB1c2UgYnVmZmVyLXRpbWUgaW4gbW9zdCBjYXNlcyBhbnl3YXkuCgoyMDEzLTEwLTEwIDE4OjI1OjQ2ICswMjAwICBTdGVmYW4gUmluZ2VsIDxsaW51eHR2QHN0ZWZhbnJpbmdlbC5kZT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IEFkZCBkdmItczIsIGR2Yi10MiBzdXBwb3J0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTQKCjIwMTMtMTAtMTAgMTg6MjM6MjAgKzAyMDAgIFN0ZWZhbiBSaW5nZWwgPGxpbnV4dHZAc3RlZmFucmluZ2VsLmRlPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQ2hhbmdlIGZyb20gZGVwcmVjYXRlZCBmcm9udGVuZCB0eXBlIGZpZWxkIHRvIERUVl9FTlVNX0RFTFNZUwoJICAtYWRkIGRlbHN5cyBwcm9wZXJ0eQoJICAtYWRkIGRlbGl2ZXJ5IHN5c3RlbSBjYXBhYmlsaXR5IHRvIHRoZSBnc3RyZWFtZXIgYWRhcHRlciBzdHJ1Y3R1cmUKCSAgLXJlYWR5IGZvciBhZGQgbmV3IGRlbGl2ZXJ5IHN5c3RlbXMKCSAgQXBwbGljYXRpb24gbXVzdCBhc2sgdGhlIGFkYXB0ZXIgc3RydWN0dXJlIHRvIGtub3cgd2hpY2ggZGVsaXZlcnkgc3lzdGVtcyBhcmUgYXZhaWJsZS4KCSAgVGhlIHByb3BlcnR5IGRlbHN5cyBtdXN0IGJlIHNldC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQxNAoKMjAxNC0wMS0wMyAwOTo1OTozNCArMDEwMCAgTWlndWVsIFBhcsOtcyBEw61heiA8bXBhcmlzZGlhekBnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IEZpeCBHc3RDYXBzIG1lbW9yeSBsZWFrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjEzODIKCjIwMTMtMTItMzEgMjI6Mzg6MDMgKzAxMDAgIFBpb3RyIERyxIVnIDxwaW90cmRyYWdAZ21haWwuY29tPgoKCSogcG8vUE9URklMRVMuaW46CgkgIHBvOiB1cGRhdGUgUE9URklMRVMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMTI5MwoKMjAxMy0xMi0zMSAyMzoxODo1NCArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbmV3IGNvbG9yIGZvcm1hdCwgYW5kIGVuaGFuY2UgZGVidWcgb3V0cHV0CgkgIEFkZCBhIG5ldyBjb2xvciBmb3JtYXQgc2VlbiBvbiBteSBHYWxheHkgUzMKCSAgKE9NWF9TRUNfQ09MT1JfRm9ybWF0TlYxMlRpbGVkID0gMHg3ZmMwMDAwMikgdG8gdGhlIHRhYmxlLAoJICBidXQgZG9uJ3QgYWN0dWFsbHkgaW1wbGVtZW50IGl0IC0gdGhlIGRlY29kZXIgZG9lc24ndCBjaG9vc2UgaXQuCgkgIFJlbW92ZSBhbiBhc3NlcnQgdGhhdCBtYWtlcyB0aGUgcGx1Z2luIGZhaWwgbm9pc2lseSBhbmQgdGFrZSB0aGUgYXBwIGRvd24KCSAgaWYgaXQgc2VlcyBhIGNvbG9yIGZvcm1hdCBpdCBkb2Vzbid0IHJlY29nbmlzZSAoanVzdCBza2lwIHRoZSBjb2RlYyBpbnN0ZWFkKQoJICBNb2RpZnkgdGhlIGRlYnVnIG91dHB1dCB3aGVuIHBsdWdpbiBzY2FubmluZyB0byBwcmludCBjb2xvciBmb3JtYXQgaW5mbyB0bwoJICBtYWtlIHRoaXMgc29ydCBvZiB0aGluZyBlYXNpZXIgaW4gdGhlIGZ1dHVyZS4KCjIwMTMtMTItMTkgMjM6MDA6MTIgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBEb24ndCBkaXNydXB0IGJ1ZmZlciBzdGF0ZSBpbiB0aGUgY2xpcCBmdW5jdGlvbgoJICBDb2xsZWN0cGFkcyBhc3N1bWVzIHRoYXQgaXQgY2FuIHBhc3MgYW55IGJ1ZmZlciB0byB0aGUgY2xpcCBmdW5jdGlvbgoJICBmb3IgYWRqdXN0bWVudCwgc29tZSBvZiB3aGljaCBhcmUgYXJ0aWZpY2lhbGx5IGluamVjdGVkIC0gc28gZG9uJ3QKCSAgYWRqdXN0IGdsb2JhbCB0aW1lc3RhbXAgdHJhY2tpbmcgdGhlcmUuIEluc3RlYWQsIG9ubHkgYWRqdXN0IHRoZQoJICBidWZmZXIgdGltZXN0YW1wcyBhbmQgdXNlIHRoZW0gZGlyZWN0bHkgaW4gdGhlIGNvbGxlY3Rpb24gZnVuY3Rpb24uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTg3NDgKCjIwMTMtMTItMzAgMTU6NDk6NTcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc25kZmlsZS9nc3RzZmRlYy5jOgoJICBzbmRmaWxlOiBlbWl0IG1pZGktYmFzZS1ub3RlIHRhZwoJICBRdWVyeSBpbnN0cnVtZW50IGRhdGEuIFVzZSBib3RoICdsb29wX2luZm8nIGFuZCAnaW5zdHJ1bWVudCcgdG8gaW5mb3JtIGFib3V0IHRoZQoJICBiYXNlbm90ZS4KCjIwMTMtMTItMzAgMTM6Mjg6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBSZW1vdmUgdW5uZWVkZWQgY2FsbAoJICAncGFyc2UnIGlzIGFscmVhZHkgcHJvdmlkZWQgYnkgdGhlIHBhcmVudCB2YXJpYWJsZQoKMjAxMy0xMi0yOSAxMzozMTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBUaGUgcGx1Z2luIHdvcmtzIHdpdGggMi40LjcgdG9vCgkgIFJlcG9ydGVkIGJ5IGt3bSBvbiBJUkMuCgoyMDEzLTEyLTI4IDEyOjM5OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogRG9uJ3Qgc2VuZCBjYXBzIGluIEdzdEJhc2VQYXJzZTo6c3RhcnQoKQoJICBUaGlzIGlzIHRvbyBlYXJseSBhbmQgd2lsbCBjb25mdXNlIHRoZSBldmVudCBvcmRlci4gVGhlIG90aGVyCgkgIGNvZGUgdGhhdCBzZXRzIHRoZSBjYXBzIGlzIGF0IHRoZSByaWdodCBwb3NpdGlvbiBhbmQgZG9lcyBpdAoJICBwcm9wZXJseSBhbHJlYWR5LgoKMjAxMy0xMi0yNCAyMzoxNToyOCArMDAwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogZml4IGlucHV0IGRlcXVldWUgZm9yIG9kcm9pZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIxMDI3CgoyMDEzLTEyLTI3IDE0OjI5OjQ2ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogaW5jcmVhc2UgbWF4IHBheWxvYWQgc2l6ZSB0byA0MDAwIGJ5dGVzCgkgIDEyNzUgaXMgdGhlIG1heGltdW0gc2l6ZSBvZiBhIGZyYW1lLCBidXQgdGhlIGVuY29kZXIgbWF5IHJldHVybgoJICB1cCB0byAzIGZyYW1lcywgYW5kIHdlIG5lZWQgYSBmZXcgZXh0cmEgYnl0ZXMgZm9yIFRPQywgZXRjLiBXZQoJICB1c2UgNDAwMCwgd2hpY2ggaXMgYSBiaXQgbW9yZSwgYW5kIHN1Z2dlc3RlZCBpbiB0aGUgbGlib3B1cyBkb2NzLgoKMjAxMy0xMi0yNyAxMDoyNTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmg6CgkgIG1wZWd0czogZml4IGctaSBhbm5vdGF0aW9ucyBhbmQgZ3RrLWRvYyBtYXJrdXAKCjIwMTMtMTItMjAgMTA6MDU6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBzdHJlYW0gbG9vcCB0aHJlYWQKCSAgRG93bmxvYWQgYW5kIHB1c2ggZnJvbSB0aGUgc2FtZSB0YXNrLCBtYWtlcyBjb2RlIGEgbG90IHNpbXBsZXIKCSAgdG8gbWFpbnRhaW4uIEFsc28gcHVzaGluZyBmcm9tIHNlcGFyYXRlIHRocmVhZHMgYXZvaWRzIGRlYWRsb2NraW5nCgkgIHdoZW4gZ3N0X3BhZF9wdXNoIGJsb2NrcyBkdWUgdG8gZG93bnN0cmVhbSBxdWV1ZXMgYmVpbmcgZnVsbC4KCjIwMTMtMTItMjAgMTk6NDI6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiBmaXggZGVhZGxvY2sgbmVhciBFT1MKCSAgQSBkZWFkbG9jayBjYW4gaGFwcGVuIHdoZW4gdGhlIHNvdXJjZSBzZW5kcyBFT1Mgd2hlbgoJICBiZWluZyBwdXQgdG8gTlVMTCBhcyB0aGUgb2JqZWN0IGxvY2sgaXMgYmVpbmcgaGVsZCBieSB0aGUKCSAgdGhyZWFkIHRoYXQgc2V0cyB0aGUgZWxlbWVudCB0byBOVUxMIGFuZCBpcyBuZWVkZWQgYnkKCSAgdGhlIGV2ZW50IGhhbmRsZXIuCgoyMDEzLTEyLTIwIDE5OjM5OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBkZXRlY3QgRU9TIHdoZW4gc2VnbWVudHMgYXJlIGdlbmVyYXRlZCBieSB0ZW1wbGF0ZQoJICBVc2UgdGhlIFBlcmlvZCBkdXJhdGlvbiBkbyBrbm93IHdoZW4gdG8gZW5kIHRoZSBzdHJlYW0KCjIwMTMtMTItMTMgMTc6MjY6MTAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogZG8gbm90IHRyeSB0byBhY2Nlc3MgYnVmZmVyIGFmdGVyIGxvc2luZyB0aGUgcmVmCgkgIEZvciBvYnZpb3VzIHJlYXNvbnMKCjIwMTMtMTItMTMgMTc6MjU6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHVzZSBhIHNlcGFyYXRlIEdzdFVyaURvd25sb2FkZXIgcGVyIHN0cmVhbQoJICBBdm9pZHMgb25lIGRvd25sb2FkIGhhdmluZyB0byB3YWl0IGZvciBhbm90aGVyIHRvIGZpbmlzaAoJICBiZWZvcmUgc3RhcnRpbmcKCjIwMTMtMTItMDkgMTM6NTU6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHN0b3JlIEdzdEFjdGl2ZVN0cmVhbSB0byBhdm9pZCBnZXR0aW5nIGl0IGV2ZXJ5IHRpbWUKCSAgR3N0QWN0aXZlU3RyZWFtIGlzIHVzZWQgZXZlcnl3aGVyZSB0byBvcGVyYXRlIG9uIHRoZSBNUEQgY2xpZW50LAoJICBiZXR0ZXIgc3RvcmUgaXQgaW4gdGhlIEdzdERhc2hEZW11eFN0cmVhbSB0byBhdm9pZCBnZXR0aW5nIGl0CgkgIGV2ZXJ5dGltZQoKMjAxMy0xMi0wOSAxMzozMzo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogc2ltcGxpZnkgbG9ja2luZyBmb3Igc3RyZWFtcwoJICBVc2UgYSBzaW5nbGUgbG9jayBmb3IgYWxsIHN0cmVhbXMgaW5zdGVhZCBvZiBoYXZpbmcgc2VwYXJhdGUgbG9ja3MuCgkgIFRoaXMgbWFrZXMgbWFpbnRlbmFuY2UgZWFzaWVyIGFuZCBhdCBtb3N0IHBvaW50cyB3ZSB3b3VsZCBuZWVkCgkgIGEgc2luZ2xlIGxvY2sgYmVmb3JlIGl0ZXJhdGluZyBvbiBhbGwgc3RyZWFtcyBkYXRhLiBTbyBub3QgbXVjaAoJICBpcyBnYWluZWQgZnJvbSBpbmRpdmlkdWFsIGxvY2tzLgoKMjAxMy0xMi0wOSAxMToyODoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbXVsdGlwbGUgcGVyaW9kIG1wZCBwbGF5YmFjawoJICBNYWtlIGRhc2ggcGxheWxpc3RzIHdpdGggbXVsdGlwbGUgcGVyaW9kcyB3b3JrIGFnYWluIGJ5IHdhaXRpbmcKCSAgdG8gc3dpdGNoIHRoZSBwZXJpb2RzIHdoZW4gYWxsIHN0cmVhbXMgaGF2ZSByZWFjaGVkIHRoZSBlbmQgb2YKCSAgdGhlIGN1cnJlbnQgcGVyaW9kLiBUaGUgc3RyZWFtX2xvb3AgaXMgcmVzcG9uc2libGUgZm9yIGFkdmFuY2luZwoJICB0aGUgcGVyaW9kLCBidXQgdGhlIGRvd25sb2FkIGxvb3BzIHdpbGwgYWxyZWFkeSBzdGFydCBkb3dubG9hZGluZwoJICBkYXRhIGZvciB0aGUgbmV4dCBwZXJpb2QgYXMgc29vbiBhcyBwb3NzaWJsZS4KCjIwMTMtMTItMDUgMDI6NTM6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYWRkIGNvbWJpbmUgZmxvd3MgZnVuY3Rpb24KCSAgVXNlIGEgZmxvdyBjb21iaW5hdGlvbiBmdW5jdGlvbiB0byBkZWNpZGUgdGhlIHJlc3VsdCBmcm9tIHRoZQoJICBzdHJlYW1fbG9vcAoKMjAxMy0xMi0wNCAxMTozMDoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIG11bHRpcGxlIGxhbmd1YWdlcwoJICBIYW5kbGUgbXVsdGlwbGUgbGFuZ3VhZ2VzIGJ5IHVzaW5nIHRoZSBub3QtbGlua2VkIHJldHVybiB0byBzdG9wCgkgIHRoZSBkb3dubG9hZCB0YXNrIGZvciB0aGF0IHN0cmVhbS4gSXQgY2FuIGJlIHJlYWN0aXZhdGVkIHdoZW4KCSAgYSByZWNvbmZpZ3VyZSBldmVudCBpcyByZWNlaXZlZC4gU3RvcHBpbmcgdGhlIHVudXNlZCBzdHJlYW1zIGlzCgkgIHJlbGV2YW50IHRvIHNhdmUgbmV0d29yayBiYW5kd2lkdGgKCjIwMTMtMTItMDMgMTY6MTY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IFVzZSAxIGRvd25sb2FkIHRhc2sgcGVyIHN0cmVhbQoJICBJbnN0ZWFkIG9mIGhhdmluZyBhIHNpbmdsZSBkb3dubG9hZCB0YXNrIGZvciBhbGwgc3RyZWFtcywgdGhpcwoJICBjb21taXQgbWFrZXMgZWFjaCBzdHJlYW0gaGF2ZSBpdHMgb3duIGRvd25sb2FkIGxvb3AsIGFsbG93aW5nCgkgIHBhcmFsbGVsIGRvd25sb2FkIG9mIGZyYWdtZW50cy4KCjIwMTMtMTItMDMgMDA6MTI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlZmFjdG9yIGZyYWdtZW50IGZldGNoaW5nIGludG8gc21hbGxlciBmdW5jdGlvbnMKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIG1haW50YWluIGFuZCBleHRlbmQuIFRoaXMgaXMgYSBmaXJzdCBzdGVwIGludG8KCSAgYWRkaW5nIG11bHRpIGxhbmd1YWdlIHN1cHBvcnQgdG8gZGFzaGRlbXV4CgoyMDEzLTEyLTAyIDE3OjQxOjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBydW4gZ3N0LWluZGVudAoJICBMb3RzIG9mIGluZGVudGF0aW9uIGlzc3VlcyBtYWtpbmcgaXQgdmVyeSBhbm5veWluZyB0byBjb21taXQKCSAgYmVjYXVzZSBvZiB0aGUgaW5kZW50IGhvb2suIEZpeCB0aGlzIGZvciBvbmNlLgoKMjAxMy0xMi0wMiAxNzozMTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGV4cG9zZSBhbGwgc3RyZWFtcwoJICBhbHdheXMgZXhwb3NlIGFsbCBzdHJlYW1zIGluc3RlYWQgb2Ygb25seSBleHBvc2luZyBvbmUgb2YgZWFjaCB0eXBlLgoJICBUaGlzIGlzIG1vcmUgYWxpZ25lZCB3aXRoIGdzdHJlYW1lcidzIHdheSBvZiB3b3JraW5nLiBBbGxvd3MgdGhlIHVzZXIKCSAgdG8gc2VsZWN0IHRoZSBzdHJlYW0gdGhhdCBpdCB3YW50cyB0byB1c2UgYnkgbGlua2luZyBpdHMgcGFkIGFuZCBsZWF2aW5nCgkgIHRoZSB1bnVzZWQgb25lcyBhcyB1bmxpbmtlZC4KCjIwMTMtMTItMjQgMTE6NTE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IFByb3Blcmx5IGNsZWFuIHVwIHJlbmRlcmJ1ZmZlcnMgYW5kIEVBR0wgY29udGV4dAoKMjAxMy0xMi0yMyAxNTozMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbWVuYzogUHJvcGVybHkgc2V0IG91dHB1dCBmb3JtYXQKCSAgT3RoZXJ3aXNlIHRoaXMgd2lsbCBqdXN0IGVycm9yIG91dCBpZiB3ZSBvbmx5IHNldCBjYXBzIG9uIHRoZSBzcmNwYWQuCgoyMDEzLTEyLTIyIDIyOjMzOjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogYXV0b2dlbi5zaDoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYmVkYWEwIHRvIGQ0OGJlZDMKCjIwMTMtMTItMjIgMjE6NTY6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBwby9NYWtldmFyczoKCSAgcG86IHNldCBnZXR0ZXh0IGRvbWFpbiBpbiBNYWtldmFycyBzbyB3ZSBkb24ndCBoYXZlIHRvIHBhdGNoIHRoZSBnZW5lcmF0ZWQgTWFrZWZpbGUuaW4uaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTQ1NQoKMjAxMy0xMi0yMiAxNzo0Njo0MCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCB0aGUgY29ycmVjdCBzdHJpZGUgaW4gdGhlIHZpZGVvIG1ldGEKCjIwMTMtMTItMjIgMTc6NDQ6MDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGZpeCBhYWMgZGVjb2Rpbmcgb24gTWF2ZXJpY2tzCgoyMDEzLTEyLTIwIDE4OjEyOjUzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1Zzogc21hbGwgc2Vla2luZyBjb2RlIHJlc2h1ZmZsZQoJICBQdXQgdGhlIGNvZGUgdGhhdCBjaGVja3Mgc3RvcCB2YWx1ZXMgdG9nZXRoZXIuIERvbid0IGNsYW1wIGEgY3VyIHZhbHVlIG9mIC0xIHRvIDAgKHNob3VsZCBub3QgaGFwcGVuIHJpZ2h0IG5vdykuCgoyMDEzLTEyLTIwIDE4OjEwOjE0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IG1ha2UgX3N0b3AoKSBub24gZmF0YWwgd2hlbiB3ZSBoYXZlIGFuIGVycm9yIGFscmVhZHkKCSAgSGF2aW5nIG5vIG9wZW4gZmlsZSBpbiBfc3RvcCgpIGlzIG9rYXkuIEp1c3QgcmVzZXQgc3RhdGUuCgoyMDEzLTEyLTIwIDE4OjA4OjMzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuaDoKCSAgc2ZkZWM6IGFkZCBldmVudCBmdW5jdGlvbiBhbmQgc2Vla2luZyBzdXBwb3J0CgoyMDEzLTEyLTE4IDA4OjEyOjA3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZkZWMuYzoKCSAgc2ZkZWM6IGFkZCB0YWdsaXN0IHN1cHBvcnQKCSAgTWFwIHRoZSBtZXRhZGF0YSBzdHJpbmdzIGFuZCBhIGJ1bmNoIG9mIGluZm8tZmllbGRzIHRvIEdTdHJlYW1lciB0YWdzLgoKMjAxMy0xMi0xNyAyMjoyNTowMyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNmZGVjOiBhZGQgcXVlcnkgaW1wbGVtZW50YXRpb24gZm9yIHBvc2l0aW9uIGFuZCBkdXJhdGlvbgoKMjAxMy0xMi0xNyAxNzo1NjozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmZGVjLmg6CgkgIHNuZGZpbGU6IHJld3JpdGUgc25kZmlsZSBmb3IgMS4wCgkgIEFkZCBhIHNmZGVjIGZvciBhIHN0YXJ0LiBJbnN0ZWFkIG9mIGEgc291cmNlIHBsdWdpbiwgdGhpcyBpcyBhIGRlbXV4ZXIvZGVjb2RlciBjb21iaW5hdGlvbi4gVGhpcyBtYWtlcyBpdCB3b3JrIHdpdGggYXV0by1wbHVnZ2luZy4KCjIwMTMtMTItMjAgMDA6Mzk6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogdXBkYXRpbmcgZG9jcyBleHBsYWluaW5nIGhvdyBpdCB3b3JrcwoJICBtc3NkZW11eCBjaGFuZ2VkIGEgbG90IGFuZCB0aGUgZG9jcyB3ZXJlIG5vdCBjb3JyZWN0IGFueW1vcmUuCgkgIEFsc28gYWRkcyB0aGUgJ0FkYXB0aXZlJyBjYXRlZ29yeSB0byBpdHMgZGV0YWlscwoKMjAxMy0xMi0xOSAxNDozMDoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBkbyBub3QgcHVzaCBldmVudCBob2xkaW5nIG9iamVjdCBsb2NrCgkgIENhbiBsZWFkIHRvIGRlYWRsb2NrcyBhcyB0aGUgcHVzaCBtaWdodCBibG9jayBkb3duc3RyZWFtIGluCgkgIHNlcmlhbGl6ZWQgZXZlbnQgY2FzZXMuCgoyMDEzLTEyLTE5IDE0OjI5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGxvY2sgYXJvdW5kICdjYW5jZWxsZWQnIGZsYWcKCSAgUHJldmVudHMgcmFjZSBjb25kaXRpb25zIHdoZW4gcGlwZWxpbmUgaXMgc2Vla2luZyBuZWFyIGVvcwoKMjAxMy0xMi0xOSAyMTo1OTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWxzbyByZXN5bmMgdGltZXN0YW1wcyBvbiB0aGUgUkVTWU5DIGZsYWcKCjIwMTMtMTItMTkgMjE6MzY6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IERvbid0IHNldCB0aGUgRUFHTENvbnRleHQgb2YgdGhlIG1haW4gdGhyZWFkIGFuZCBkb24ndCByZXVzZSBpdCBlaXRoZXIKCSAgLi4uIGluc3RlYWQgY3JlYXRlIGEgbmV3IGNvbnRleHQgZm9yIGV2ZXJ5IHNpbmsgaW5zdGFuY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MjEKCjIwMTMtMTItMTkgMDg6NTc6NDEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogZml4IGZvciBwbGFuYXIgZm9ybWF0cwoKMjAxMy0xMi0xOSAwNzo1NDowNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVtb3ZlIHNpbGx5IHN0cmlkZSByZXF1aXJlbWVudAoJICBUaGlzIGlzIGxlZ2FjeSBmcm9tIHRoZSAwLjEwIHRpbWVzLCBhbmQgaXQgaXNuJ3QgY2xlYXIgaG93IGl0IHdhcyB1c2VmdWwgYmFjawoJICB0aGVuIGFsc28uJwoKMjAxMy0xMi0xOSAxMToxMToyOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkgIGRpcmVjdGZiOiBBZGQgaGFjayB0byBmaXggY29tcGlsZSB3aXRoIGJyb2tlbiBEaXJlY3RGQiBkZWZpbmUKCSAgQ29tcGlsYXRpb24gYnJlYWtzIGJlY2F1c2Ugc29tZSB2ZXJzaW9ucyBvZiBEaXJlY3RGQiByZWRlZmluZQoJICBfX25vX2luc3RydW1lbnRfZnVuY3Rpb25fXywgd2hpY2ggaXMgdXNlZCBpbiB0aGUgR19HTlVDX05PX0lOU1RSVU1FTlQKCSAgbWFjcm8uCgoyMDEzLTEyLTE3IDE3OjU1OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzZWdmYXVsdCB3aGVuIHRyeWluZyB0byBhY2Nlc3MgY29kZWNfZGF0YQoJICBDaGVjayBpZiBjb2RlY19kYXRhIHdhcyBvYnRhaW5lZCBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdCB0bwoJICBwcmV2ZW50IGEgc2VnZmF1bHQKCjIwMTMtMTItMTcgMTc6NTQ6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWxzbyBnZW5lcmF0ZSBjYXBzIGZyb20gYXVkaW90YWcgYXR0cmlidXRlCgkgIFNvbWUgYXVkaW8gd2lsbCBoYXZlIGl0cyBhdWRpbyBmb3JtYXQgZGVmaW5lZCBieSB0aGUgQXVkaW9UYWcKCSAgaW5zdGVhZCBvZiB0aGUgRm91cmNjLiBGYWxsYmFjayB0byB1c2luZyBBdWRpb1RhZyBpZiBGb3VyY2MKCSAgaXNuJ3QgYXZhaWxhYmxlCgoyMDEzLTEyLTE3IDE2OjMxOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IG1ha2Ugc3VyZSBzdHJlYW1zIHN0b3AgcHJvcGVybHkgb24gY2FuY2VsbGVkCgkgIHNwZWNpYWxseSB3aGVuIHRoZSBnc3RfdGFza19qb2luIGlzIHdhaXRpbmcgZm9yIHRoZSB0YXNrCgkgIHRvIGdvIHN0b3AgYW5kIHRoZSB0YXNrIGl0c2VsZiBzZXRzIGl0cyBiYWNrIHRvIHBhdXNlZCwgY2F1c2luZwoJICBhIGRlYWRsb2NrIG9uIGV4aXQuCgoyMDEzLTEyLTE3IDEzOjE2OjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogdHJhY2sgc2VnbWVudHMgcGVyIHN0cmVhbQoJICBBcyBzdHJlYW1zIG5vdyBmbG93IGluZGVwZW5kZW50bHksIHRoZSBHc3RTZWdtZW50IG5lZWRzIHRvIGJlIHB1dAoJICBvbiBlYWNoIHN0cmVhbSBzbyB0aGV5IGNhbiB0cmFjayB0aGUgcG9zaXRpb24gb2YgZWFjaCBvbmUgY29ycmVjdGx5CgkgIGluc3RlYWQgb2YgYmVpbmcgbWl4ZWQgaW4gYSBzaW5nbGUgc2VnbWVudAoKMjAxMy0xMS0xNCAxNToyMzo0MiArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBwdXNoIGxhbmd1YWdlIGNvZGUgdGFnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTIzNTgKCjIwMTMtMTEtMTQgMTU6MTQ6MTggKzAxMDAgIEd1aWxsYXVtZSBEZXNtb3R0ZXMgPGd1aWxsYXVtZS5kZXNtb3R0ZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc21hbmlmZXN0OiBzdG9yZSB0aGUgbGFuZ3VhZ2Ugb2YgdGhlIHN0cmVhbQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEyMzU4CgoyMDEzLTEyLTE2IDE2OjE0OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogcmVtb3ZlIHRoZSBzdHJlYW0gbG9vcCB0YXNrCgkgIERvd25sb2FkIGFuZCBwdXNoIGZyb20gdGhlIHNhbWUgdGFzaywgbWFrZXMgY29kZSBhIGxvdCBzaW1wbGVyCgkgIHRvIG1haW50YWluLiBBbHNvIHB1c2hpbmcgZnJvbSBzZXBhcmF0ZSB0aHJlYWRzIGF2b2lkcyBkZWFkbG9ja2luZwoJICB3aGVuIGdzdF9wYWRfcHVzaCBibG9ja3MgZHVlIHRvIGRvd25zdHJlYW0gcXVldWVzIGJlaW5nIGZ1bGwKCjIwMTMtMTItMTMgMTc6MzE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogSW1wcm92ZSBsb2dnaW5nCgkgIFNob3cgdGhlIHN0cmVhbSdzIHBhZCBvbiBsb2cgbWVzc2FnZXMgdG8gbWFrZSBlYXNpZXIgdG8gZGVidWcKCSAgaXNzdWVzIGluIHRoZSBtdWx0aXBsZSB0aHJlYWRzCgoyMDEzLTEyLTEwIDE4OjA4OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAc2lzYS5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGltcHJvdmUgZmxvdyByZXR1cm4gaGFuZGxpbmcKCSAgSGFuZGxlIGRpZmZlcmVudCBmbG93IHJldHVybnMgYm90aCBmcm9tIHRoZSBzdHJlYW1pbmcgYW5kIHRoZQoJICBkb3dubG9hZGluZyBsb29wcwoKMjAxMy0xMi0xMCAxNTo0MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJlbW92ZSBzdHJlYW0gbG9ja3MKCSAgU2ltcGxpZnkgdGhlIGxvY2tpbmcgYnkgdXNpbmcgYSBzaW5nbGUgbG9jayBpbnN0ZWFkIG9mIGhhdmluZyBvbmUKCSAgbG9jayBwZXIgc3RyZWFtLiBUaGlzIHN0aWxsIHdvcmtzIGFuZCBpcyBzaW1wbGVyIHRvIG1haW50YWluLgoKMjAxMy0xMS0xMiAwOTo1ODozMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGF2b2lkIGRvd25sb2FkaW5nIG5vdC1saW5rZWQgc3RyZWFtcwoJICBXaGVuIGEgc3RyZWFtIGdldHMgYSBub3QtbGlua2VkIHJldHVybiwgaXQgd2lsbCBiZSBtYXJrZWQgYXMgc28gYW5kCgkgIHdvbid0IGRvd25sb2FkIGFueSBtb3JlIG5ldyBmcmFnbWVudHMgdW50aWwgYSByZWNvbmZpZ3VyZSBldmVudAoJICBpcyByZWNlaXZlZC4gVGhpcyB3aWxsIG1ha2UgbXNzZGVtdXggZXhwb3NlIGFsbCBwYWRzLCBidXQgb25seSBkb3dubG9hZAoJICBmcmFnbWVudHMgZm9yIHRoZSBzdHJlYW1zIHRoYXQgYXJlIGFjdHVhbGx5IGJlaW5nIHVzZWQuCgkgIFJlbHlpbmcgb24gdGhlIHBhZHMgYmVpbmcgbGlua2VkL3VubGlua2VkIGlzbid0IGVub3VnaCBpbiB0aGlzIHNjZW5hcmlvCgkgIGFzIHRoZXJlIG1pZ2h0IGJlIGFuIGlucHV0LXNlbGVjdG9yIGRvd25zdHJlYW0gdGhhdCBpcyBhY3R1YWxseSBkaXNjYXJkaW5nCgkgIGJ1ZmZlcnMgZm9yIGEgZ2l2ZW4gbGlua2VkIHBhZC4KCSAgV2hlbiBzdHJlYW1zIGFyZSBzd2l0Y2hpbmcsIHRoZSBvbGQgYWN0aXZlIHN0cmVhbSBjYW4gYmUgYmxvY2tlZCBiZWNhdXNlCgkgIGlucHV0LXNlbGVjdG9yIHdpbGwgYmxvY2sgbm90LWxpbmtlZCBzdHJlYW1zLiBJbiBjYXNlIHRoZSBtc3NkZW11eCdzCgkgIHN0cmVhbSBsb29wIGlzIGJsb2NrZWQgcHVzaGluZyBhIGJ1ZmZlciB0byBhIGZ1bGwgcXVldWUgZG93bnN0cmVhbSBpdCB3aWxsCgkgIG5ldmVyIHVuYmxvY2sgYXMgdGhlIHF1ZXVlIHdpbGwgbm90IGRyYWluIChpbnB1dC1zZWxlY3RvciBpcyBibG9ja2luZykuCgkgIEluIHRoaXMgc2NlbmFyaW8sIHN0cmVhbSBzd2l0Y2hpbmcgd2lsbCBkZWFkbG9jayBhcyBpbnB1dC1zZWxlY3RvciBpcwoJICB3YWl0aW5nIGZvciB0aGUgbmV3bHkgYWN0aXZlIHN0cmVhbSBkYXRhIGFuZCB0aGUgc3RyZWFtX2xvb3AgdGhhdCB3b3VsZAoJICBwdXNoIHRoaXMgZGF0YSBpcyBibG9ja2VkIHdhaXRpbmcgZm9yIGlucHV0LXNlbGVjdG9yLgoJICBUbyBzb2x2ZSB0aGlzIGlzc3VlLCB3aGVuZXZlciBhbiBzdHJlYW0gaXMgcmVhY3RpdmF0ZWQgb24gYSByZWNvbmZpZ3VyZQoJICBpdCB3aWxsIGVudGVyIGludG8gdGhlICdjYXRjaCB1cCBtb2RlJywgaW4gdGhpcyBtb2RlIGl0IGNhbiBwdXNoIGJ1ZmZlcnMKCSAgZnJvbSBpdHMgZG93bmxvYWQgdGhyZWFkIHVudGlsIGl0IHJlYWNoZXMgdGhlIGN1cnJyZW50IEdzdFNlZ21lbnQncyBwb3NpdGlvbi4KCSAgVGhpcyB3b3JrcyBiZWNhdXNlIHRoaXMgdGltZXN0YW1wIHdpbGwgYWx3YXlzIGJlIGJlaGluZCBvciBlcXVhbCB0byB0aGUgbWF4aW11bQoJICB0aW1lc3RhbXAgcHVzaGVkIGZvciBhbGwgc3RyZWFtcywgYWZ0ZXIgcHVzaGluZyBkYXRhIGZvciB0aGlzIHRpbWVzdGFtcCwKCSAgdGhlIHN0cmVhbSB3aWxsIGdvIGJhY2sgdG8gZGVmYXVsdCBhbmQgYmUgcHVzaGVkIHNlcXVlbnRpYWxseSBmcm9tIHRoZSBtYWluCgkgIHN0cmVhbWluZyB0aHJlYWQuIEJ5IHRoaXMgdGltZSwgdGhlIGlucHV0LXNlbGVjdG9yIHNob3VsZCBoYXZlIGFscmVhZHkKCSAgcmVsZWFzZWQgdGhlIHRocmVhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0OQoKMjAxMy0xMi0xOCAxNjoyNjoxNyAtMDUwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggZG9jdW1lbnRhdGlvbiBvZiBHc3RNcGVnVmlkZW9TZXF1ZW5jZVNjYWxhYmxlTW9kZQoKMjAxMy0xMi0xOCAxMzo0ODo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZ2NvbmZpZzogRG9uJ3QgaW5jbHVkZSBsaWJyYXJpZXMgaW4gdGhlIGdlbmVyaWMgZ3N0LXBsdWdpbnMtYmFkIHBjIGZpbGUKCjIwMTMtMTItMTggMTM6NDU6MjIgKzAxMDAgIE1hcml1c3ogQnVyYXMgPG1hcml1c3ouYnVyYXNAeW91dmlldy5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBtcGVndHM6IEluc3RhbGwgZ2VuZXJhdGVkIGhlYWRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDY3MwoKMjAxMy0xMi0xNyAxMDowMTo0MiArMDEwMCAgRGF2aWRlIEJlcnRvbGEgPGRhZGVAZGFkZWIuaXQ+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogRW5hYmxlIGhhcmR3YXJlIGFjY2VsZXJhdGVkIGRlY29kaW5nIG9uIDEwLjkKCjIwMTMtMTItMTcgMTI6MTc6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybDogRml4IGluZGVudGlvbgoKMjAxMy0xMi0xNyAxMjowNjoxMyArMDEwMCAgSGFyaWRhc3MgU2VsdmFyYWogPGhhcmlkYXNqQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSAgY3VybGZ0cHNpbms6IE9wdGlvbmFsbHkgY3JlYXRlIGEgdGVtcG9yYXJ5IGZpbGUgZHVyaW5nIEZUUCB0cmFuc2Zlci91cGxvYWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTYyMAoKMjAxMy0xMi0xNyAxMDoyMzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEdpdmUgcHJlZmVyZW5jZSB0byB0aGUgb3JkZXIgb2YgdGhlIGZpbHRlciBjYXBzIHdoZW4gcXVlcnlpbmcgY2FwcwoKMjAxMy0xMi0xNyAxMDoyMToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IE9ubHkgaW50ZXJzZWN0IHdpdGggdGhlIGZpbHRlciBjYXBzIGlmIHRoZXJlIGFjdHVhbGx5IGlzIGEgZmlsdGVyCgoyMDEzLTEyLTE1IDIxOjA1OjMxIC0wODAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IFNvbWUgY29tcGlsZXIgd2FybmluZyBmaXhlcyB0byBzYXRpc2Z5IFhDb2RlIGNvbXBpbGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA1MTMKCjIwMTMtMTItMTYgMTY6MDc6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFJlYWQgaW1hZ2UtZGVzY3JpcHRpb24gZnJvbSB0aGUgaW5mbyBzdHJ1Y3R1cmUsIG5vdCB0aGUgY2FwcwoKMjAxMy0xMi0xNiAxMToxNDoyOSArMDEwMCAgQXVyw6lsaWVuIFphbmVsbGkgPGF1cmVsaWVuLnphbmVsbGlAcGFycm90LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBGaXggdHlwbyBpbiBiejIgY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDUzMgoKMjAxMy0xMi0xNiAxMTo1MTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogV3JpdGUgaW1hZ2UtdHlwZSBpbnRvIHRoZSBBUElDIHRhZwoKMjAxMy0xMi0xNiAxMDoyNToyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MjQ6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuaDoKCSAgcG5ncGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjIyOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogVXNlIHBidXRpbHMgQVBJIHRvIGNyZWF0ZSB0aGUgVklERU9fQ09ERUMgdGFnIHN0cmluZwoKMjAxMy0xMi0xNiAxMDoyMTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5oOgoJICBoMjY1cGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE2IDEwOjE4OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBQb3N0IFZJREVPX0NPREVDIHRhZwoKMjAxMy0xMi0xNiAxMDoxNjoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogUG9zdCBWSURFT19DT0RFQyB0YWcKCjIwMTMtMTItMTYgMTA6MTM6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmg6CgkgIGRpcmFjcGFyc2U6IFBvc3QgVklERU9fQ09ERUMgdGFnCgoyMDEzLTEyLTE0IDE4OjEyOjUzIC0wNTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBQcm9jZXNzIEVPUyBldmVuIHdoZW4gdGhlcmUgYXJlIG5vIGluY29taW5nIHZpZGVvIGZyYW1lcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0xMi0xNCAxNTo1NTo0MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogaGFuZGxlIGxldmVsIDMgaW4gZ2V0X2RwYl9tYXhfbWJfc19mcm9tX2xldmVsLiBvb3BzLgoKMjAxMy0xMi0xNCAxNTo1NToyMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhdGRlYzogZml4IG1wMyBjYXBzCgoyMDEzLTEyLTE0IDE4OjQyOjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IFNldCBHU1RfRUxFTUVOVF9GTEFHX1NPVVJDRSBvbiB0aGUgc291cmNlCgkgIEFzIGl0IGRvZXMgbm90IGluaGVyaXQgZnJvbSBiYXNlc3JjLCB0aGlzIGZsYWcgaXMgbm90IGF1dG9tYXRpY2FsbHkgc2V0CgkgIGFuZCBlLmcuIGdzdF9iaW5faXRlcmF0ZV9zb3VyY2VzKCkgYW5kIG90aGVyIGNvZGUgZG9lcyBub3QgY29uc2lkZXIgdGhpcwoJICBlbGVtZW50IGEgc291cmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNzAwCgoyMDEzLTEyLTE0IDEzOjMyOjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBhZGQgbWlzc2luZyBBTV9DT05ESVRJT05BTCBmb3IgT1BFTkVYUiBhbmQgU0JDCgkgIE1ha2VzIG15IGF1dG9tYWtlICgxLjE0KSBoYXBwaWVyLgoKMjAxMy0xMi0xNCAxMzozMDowMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWx3YXlzIGluY2x1ZGUgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgoJICBGaXhlcyBjb21waWxhdGlvbiB3aXRoIG5ld2VzdCB4Y29kZS4KCjIwMTMtMTItMTIgMTc6NDk6MjQgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogbm90IGFsbCBzdGFydGNvZGVzIHNob3VsZCBoYXZlIDMtYnl0ZSAwIHByZWZpeAoJICBUaGUgcGFyc2VyIGFzc3VtZXMgdGhhdCBldmVyeSB0aW1lIHRoZXJlIGlzIGEgMCBiZWZvcmUgdGhlIHN0YXJ0Y29kZSwKCSAgaXQgaXMgcGFydCBvZiB0aGUgc3RhcnRjb2RlLiBCdXQgdGhhdCdzIG5vdCB0cnVlLgoJICBGcm9tIHRoZSBzcGVjaWZpY2F0aW9uCgkgIEJ5dGUgc3RyZWFtIE5BTCB1bml0IHN5bnRheAoJICB6ZXJvX2J5dGUgaXMgYSBzaW5nbGUgYnl0ZSBlcXVhbCB0byAweDAwLgoJICBXaGVuIGFueSBvZiB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIGZ1bGZpbGxlZCwgdGhlIHplcm9fYnl0ZSBzeW50YXgKCSAgZWxlbWVudCBzaGFsbCBiZSBwcmVzZW50LgoJICDigJMgdGhlIG5hbF91bml0X3R5cGUgd2l0aGluIHRoZSBuYWxfdW5pdCggKSBpcyBlcXVhbCB0byA3IChzZXF1ZW5jZSBwYXJhbWV0ZXIKCSAgc2V0KSBvciA4IChwaWN0dXJlIHBhcmFtZXRlciBzZXQpCgkgIOKAkyB0aGUgYnl0ZSBzdHJlYW0gTkFMIHVuaXQgc3ludGF4IHN0cnVjdHVyZSBjb250YWlucyB0aGUgZmlyc3QgTkFMIHVuaXQgb2YgYW4KCSAgYWNjZXNzIHVuaXQgaW4gZGVjb2Rpbmcgb3JkZXIsIGFzIHNwZWNpZmllZCBieSBzdWJjbGF1c2UgNy40LjEuMi4zLgoJICBUaGUgcHJvYmxlbSB3aXRoIGRvaW5nIHRoaXMgZm9yIGFsbCBzdGFydGNvZGVzIGlzIHRoYXQgYSB0cmFpbGluZyB6ZXJvIGNhbiBtZXNzCgkgIHVwIHRpbWVzdGFtcHMuIFRoZSB0cmFpbGluZyB6ZXJvIGdldHMgcHJlcGVuZGVkIHRvIHRoZSBzdGFydGNvZGUsIHdoaWNoIHdpbGwKCSAgY2FycnkgdGhlIFBUUyBhbmQgRFRTIG9mIHByZXZpb3VzIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDQ0MwoKMjAxMy0xMi0xMCAxMToyNzo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSAgYXNmcGFyc2U6IGFkZCB0aW1lc3RhbXBzIHRvIHBhY2tldHMKCSAgcmUtZW5hYmxlIHRoZSBjb2RlIHRoYXQgYWRkcyB0aW1lc3RhbXBzIHRvIHBhY2tldHMgYWZ0ZXIgYmFzZXBhcnNlJ3MKCSAgcG9ydAoKMjAxMy0xMi0xMCAxMDozNDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5oOgoJICBhc2ZwYXJzZTogcG9ydCB0byBiYXNlcGFyc2UKCSAgYXNmcGFyc2Ugd2FzIG5vdCByZWFsbHkgZnVuY3Rpb25hbCBhZnRlciB0aGUgcG9ydCB0byAxLjAKCSAgTm93IHBvcnRpbmcgaXQgdG8gYmFzZXBhcnNlIHRvIGdldCBpdCB3b3JraW5nIGFnYWluCgoyMDEzLTEyLTEzIDExOjQ5OjUyICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IHJlYWRpbmcgb2YgZGlzcGxheSB3aW5kb3cgaW4gZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQKCSAgRnJvbSBFVFNJIEVOIDMwMCA3NDMgVjEuMy4xICgyMDA2LTExKSA3LjIuMSBEaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBzcGVjaWZpY3RhdGlvbnMKCSAgdGhlIHBhcmFtZXRlcnMgb2YgZGlzcGxheSB3aW5kb3cgYXJlIGluIHRoaXMgb3JkZXI6IFhtaW4sIFhtYXgsIFltaW4sIFltYXguCgkgIFNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoJICBTaWduZWQtb2ZmLWJ5OiBQaWVycmUtWXZlcyBNb3JkcmV0IDxwaWVycmUteXZlcy5tb3JkcmV0QHN0LmNvbT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcyMDM4MgoKMjAxMy0xMi0xMyAxNDoxNjo0OSAtMDgwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1w6kgPGFsZWl4QG9ibG9uZy5jb20+CgoJICBzcnRwOiBhZGQgMjU2LWJpdCBrZXkgc3VwcG9ydAoJICAqIGV4dC9zcnRwL2dzdHNydHAuW2NoXTogYWRkZWQgR1NUX1NSVFBfQ0lQSEVSX0FFU18yNTZfSUNNIHRvCgkgIEdzdFNydHBDaXBoZXJUeXBlIGFuZCBuZXcgZnVuY3Rpb24gY2lwaGVyX2tleV9zaXplLgoJICAqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzogbWF4aW11bSBrZXkgc2l6ZSBpcyBub3cgNDYgY2hhcmFjdGVycyAoMTQgZm9yCgkgIHRoZSBzYWx0IHBsdXMgdGhlIGtleSkuIElmIGRpZmZlcmVudCBjaXBoZXJzIGFyZSBjaG9zZW4gZm9yIFJUUCBhbmQKCSAgUlRDUCB0aGUgbWF4aW11bSBuZWVkZWQga2V5IHNpemUgaXMgZXhwZWN0ZWQuCgkgICogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOiBtaW5vciBkb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MjA0MzQKCjIwMTMtMTItMTIgMTM6MjE6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IHByb2Nlc3MgYWxsIGF2YWlsYWJsZSBpbnB1dCBmcmFtZXMgaW4gb25lIGdvCgkgIEluc3RlYWQgb2YgcGFyc2luZywgZGVjb2RpbmcgYW5kIHNlbmRpbmcgb3V0CgkgIGxvdHMgb3MgbGl0dGxlIDIwbXMgYXVkaW8gYnVmZmVycyBvbmUgYnkgb25lLgoKMjAxMy0xMi0xMSAxODo1Mjo1MyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZml4IGNvbXBpbGVyIHdhcm5pbmcgKHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUpCgoyMDEzLTEyLTExIDA4OjExOjUwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiByZW5hbWUgcmVvcmRlcl9xdWV1ZV9mcmFtZV9kZWxheSB0byByZW9yZGVyX3F1ZXVlX2xlbmd0aAoKMjAxMy0xMi0xMSAwODoxMDoxOSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogcmVwb3J0IGxhdGVuY3kKCjIwMTMtMTItMTEgMDc6NTg6MjMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IHNldCByZW9yZGVyIHF1ZXVlIGxlbmd0aCB0byB0aGUgbWF4IERQQiBsZW5ndGgKCSAgU2V0IHJlb3JkZXJfcXVldWVfZnJhbWVfZGVsYXkgZnJvbSB0aGUgRFBCIHNpemUgKGluIGZyYW1lcykuIFN0aWxsIG5vdCBvcHRpbWFsLAoJICBhcyB0aGUgRFBCIHNpemUgaXMgbGFyZ2VyIHRoYW4gdGhlIG1heCBiZnJhbWUgZm9yd2FyZCBwcmVkaWN0aW9uIGxlbmd0aCwgYnV0IEkKCSAgZG9uJ3Qga25vdyBob3cgdG8gY29tcHV0ZSB0aGUgbGF0dGVyIHdpdGhvdXQgcGFyc2luZyBldmVyeSBncm91cCBvZiBwaWN0dXJlcy4KCjIwMTMtMTItMTAgMjM6MDY6NTMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBzb3VuZHRvdWNoOiBDYWxsIGRlZmF1bHQgZXZlbnQgaGFuZGxlciBmb3IgYmFzZXRyYW5zZm9ybQoJICBNYWtlIHBpcGVsaW5lIGVuZCBwcm9wZXJseSBhdCBFT1MgYW5kIG5vdCBsZWFrIGJ5IHBhc3NpbmcgZXZlbnRzCgkgIHRvIHRoZSBkZWZhdWx0IGV2ZW50IGhhbmRsZXIuCgoyMDEzLTEyLTA2IDAwOjQ1OjUwICsxMTAwICBKYW4gU2NobWlkdCA8amFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHJhY3kgZ2xpYiB3YXJuaW5nLgoJICBTb21ldGltZXMsIHRoZSBwYWQgcHJvYmVzIGNhbiBiZSBjYWxsZWQgdHdpY2UgLSBmb3IgT09CIGV2ZW50cwoJICB0cmF2ZWxsaW5nIGRvd25zdHJlYW0uIENsZWFyIG91dCB0aGUgcGFkIGJsb2NrIGlkLCBzbyBpdCBvbmx5CgkgIGdldHMgcmVtb3ZlZCBvbmNlLgoKMjAxMy0xMi0wNiAwMDoyMjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIGdzbWRlYzogZml4IGRlY29kaW5nIG9mIGF1ZGlvL21zLWdzbSB2YXJpYW50CgkgIEFsdGVybmF0ZXMgYmV0d2VlbiAzMyBhbmQgMzIgYnl0ZSBmcmFtZXMsIGJ1dCBtdXN0IHN0YXJ0CgkgIHdpdGggYSAzMyBieXRlIGZyYW1lLiBUaGlzIGhhcyBiZWVuIGJyb2tlbiBmb3IgYWdlcyBzaW5jZQoJICB0aGUgZWxlbWVudCB3YXMgcG9ydGVkIHRvIHRoZSBhdWRpbyBkZWNvZGVyIGJhc2UgY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDk0MTYKCjIwMTMtMTItMTAgMTE6MTA6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBzZXQgdGhlIGNvcnJlY3QgdmlkZW8gZm9ybWF0IGluIHRoZSB2aWRlbyBtZXRhCgkgIEZpeGVzIGFsbCBraW5kcyBvZiB3ZWlyZCBidWdzIHdoZW4gdmlkZW9jb252ZXJ0IGlzIHVzZWQgd2l0aCB0aGUgZGVjb2Rlci4KCjIwMTMtMDQtMTcgMTA6NDQ6NDggKzA4MDAgIENvbmcgWmhvbmcgPGNvbmd4Lnpob25nQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwaWN0dXJlIGxldmVsIHNjYWxpbmcgbGlzdHMgZGVyaXZhdGlvbiAocnVsZSBCKS4KCSAgRml4IHBpY3R1cmUgbGV2ZWwgc2NhbGluZyBsaXN0cyBkZXJpdmF0aW9uIGZyb20gZmFsbC1iYWNrIHJ1bGUgc2V0IEIsCgkgIGFzIHNwZWNpZmllZCBpbiA3LjQuMi4yLiBNb3JlIHByZWNpc2VseSwgdGhlIHNlcXVlbmNlIGxldmVsIHNjYWxpbmcKCSAgbGlzdHMgbmVlZCB0byBiZSB1c2VkIGJ1dCBpbnRyYSBhbmQgaW50ZXIgbGlzdHMgYXJndW1lbnRzIHdlcmUgc3dhcHBlZC4KCSAgVGhpcyBmaXhlcyBGUkV4dC9mcmVoNS4yNjQgZnJvbSBjb25mb3JtYW5jZSB0ZXN0aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzIwMDk5CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMTItMDggMTY6NDY6NTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmV2aWRlb2J1ZmZlcjogc2V0IHRoZSBjb3JyZWN0IHN0cmlkZSBmb3IgcGFja2VkIGZvcm1hdHMKCjIwMTMtMTItMDggMTU6MzE6MDkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogdnRkZWM6IGZpeCBtcGVnMiB2aWRlbyBzdXBwb3J0CgoyMDEzLTEyLTA4IDE1OjI1OjI3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IHZ0ZGVjOiBtYWtlIGpwZWcgZGVjb2RpbmcgYWN0dWFsbHkgd29yawoKMjAxMy0xMi0wOCAxNToyNDo1OCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB2dGRlYzogZmFpbCBncmFjZWZ1bGx5IHdoZW4gbm90IG5lZ290aWF0ZWQKCjIwMTMtMTItMDcgMjM6NTU6MTMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiByZXdyaXRlIFZpZGVvVG9vbGJveCBkZWNvZGVyIGJhc2VkIG9uIEdzdFZpZGVvRGVjb2RlcgoKMjAxMy0xMi0wNiAyMToxMTozMiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92bW5jL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuaDoKCSAgdm1jbmRlYzogQWRkIG1pc3NpbmcgaGVhZGVyIGZpbGUKCSAgRm9yZ290IHRvIGFkZCBoZWFkZXIgZmlsZSB0byBwcmV2aW91IGNvbW1pdAoKMjAxMy0xMi0wNiAyMDo1ODo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSAgdm1uY2RlYzogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNiAxNzo1ODoxMyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgc3RlcmVvOiBQb3J0IHRvIEdTdHJlYW1lciAxLjAgQVBJCgoyMDEzLTEyLTA2IDE3OjEwOjM5IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSAganAya2RlY2ltYXRvcjogUG9ydCB0byBHU3RyZWFtZXIgMS4wIEFQSQoKMjAxMy0xMi0wNSAxNjo1MDoyNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogVXNlIEdzdFJUUEJhc2VQYXlsb2FkIG1ldGhvZCB0byBwdXNoIGJ1ZmZlcgoJICBUaGlzIHdheSB0aGUgZXZlbnQgaXMgYWxzbyBwdXNoZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTk1NTMKCjIwMTMtMTItMDUgMTI6MDU6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDU6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgc2lyZW5kZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFJlcXVpcmUgY2FwcyB0byBiZSBzZXQgYmVmb3JlIGFueSBkYXRhIHByb2Nlc3NpbmcKCjIwMTMtMTItMDUgMTI6MDQ6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyM2F1ZGlvZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDEyOjA0OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgZ3NtZGVjOiBSZXF1aXJlIGNhcHMgdG8gYmUgc2V0IGJlZm9yZSBhbnkgZGF0YSBwcm9jZXNzaW5nCgoyMDEzLTEyLTA1IDExOjQ5OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA1IDExOjQ5OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjZGVjOiBVc2UgbmV3IGdzdF92aWRlb19kZWNvZGVyX3NldF9uZWVkc19mb3JtYXQoKSBBUEkKCjIwMTMtMTItMDUgMTE6NDk6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IFVzZSBuZXcgZ3N0X3ZpZGVvX2RlY29kZXJfc2V0X25lZWRzX2Zvcm1hdCgpIEFQSQoKMjAxMy0xMi0wNSAxMTo0NTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJICBkYWFsYWRlYzogVXNlIG5ldyBnc3RfdmlkZW9fZGVjb2Rlcl9zZXRfbmVlZHNfZm9ybWF0KCkgQVBJCgoyMDEzLTEyLTA0IDE3OjMxOjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBBbHNvIGluaXRpYWxpemUgZGVidWcgY2F0ZWdvcnkgaW4gcGFyc2Vfc2VxdWVuY2VfaGVhZGVyCgkgIEFsc28gcmVtb3ZlIHRoZSB1c2VsZXNzIGluaXRpYWxpemVkIGZsYWcsIHRoaXMgaXMgYWxyZWFkeSBkb25lIGJ5IHRoZSBtYWNybwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzE5NjU3CgoyMDEzLTEyLTA0IDIyOjM4OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkgIG9wZW5leHJkZWM6IEluc3RlYWQgb2YgdHJ5aW5nIHRvIHBhcnNlIHRoZSBiaXRzdHJlYW0sIGp1c3QgbG9vayBmb3IgdGhlIG5leHQgaGVhZGVyCgkgIFRoaXMgc2hvdWxkIGJlIG1vcmUgcm9idXN0IGFuZCBhbGxvd3MgdXMgdG8gaGFuZGxlIG5ldyB2ZXJzaW9ucyBvZiB0aGUKCSAgZmlsZSBmb3JtYXQgaWYgdGhlIGxpYnJhcnkgc3VwcG9ydHMgaXQuCgoyMDEzLTEyLTA0IDA5OjEzOjMxICswMTAwICBXaW0gVGF5bWFucyA8d3RheW1hbnNAcmVkaGF0LmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjVwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgQUNDRVBUX0lOVEVSU0VDVAoJICBXZSBjYW4gYWxzbyBhY2NlcHQgY2FwcyB3aXRoIG1pc3NpbmcgZmllbGRzLgoKMjAxMy0xMi0wNCAwOTowMzo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcmVtb3ZlIGZpZWxkcyBmcm9tIGZpbHRlcgoJICBEb24ndCBmaWx0ZXIgb3V0IHRoZSBjYXBzIHByb3BlcnRpZXMgd2UgY2FuIGNvbnZlcnQgYmV0d2VlbiB3aGVuCgkgIHByb3h5aW5nIHRoZSBnZXRjYXBzIHF1ZXJ5IHRvIHRoZSBkb3duc3RyZWFtIHBlZXIgcGFkLgoKMjAxMy0xMi0wNCAwOTowMDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHd0YXltYW5zQHJlZGhhdC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogcmVmYWN0b3IgcmVtb3ZlX2ZpZWxkcyBpbiBnZXRjYXBzCgoyMDEzLTEyLTAzIDE0OjUzOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IENoZWNrIGNvbG9yIGZvcm1hdAoKMjAxMy0xMi0wMyAxNDo0NzozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHZpZGVvIG1ldGEKCjIwMTMtMTItMDMgMTQ6NDY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmkyc3JjOiBVc2UgR3N0VmlkZW9GcmFtZSBBUEkgZm9yIGJldHRlciBoYW5kbGluZyBvZiBzdHJpZGVzCgkgIEFuZCBkbyBwcm9wZXIgc3RyaWRlIGNvbnZlcnNpb24uCgoyMDEzLTEyLTAzIDE0OjM1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IEZpeCBidWZmZXIgaGFuZGxpbmcgdG8gYWN0dWFsbHkgd29yayBhbmQgcHJvcGVybHkgdGltZXN0YW1wIGJ1ZmZlcnMKCjIwMTMtMTItMDMgMTQ6MzU6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRG9uJ3Qgc2h1dCBkb3duIGxpYnJhcnkgd2hlbiBmaW5hbGl6aW5nIGFuIGVsZW1lbnQgaW5zdGFuY2UKCjIwMTMtMTItMDMgMTQ6MzU6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSAgb3Blbm5pMnNyYzogRml4IG5lZ290aWF0aW9uIGFuZCBjcmVhdGlvbiBvZiBhIHZpZGVvIGJ1ZmZlciBwb29sCgoyMDEzLTEyLTAzIDE0OjM0OjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFVzZSBkZWJ1ZyBjYXRlZ29yeSBwcm9wZXJseQoKMjAxMy0xMi0wMiAxNzowMzo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBDbGFzc2lmaWNhdGlvbiBvZiB0aGUgZWxlbWVudCBzaG91bGQgYmUgU291cmNlL1ZpZGVvCgoyMDEzLTEyLTAyIDE3OjAxOjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5jcHA6CgkgIG9wZW5uaTJzcmM6IFVzZSBHc3RWaWRlb0luZm8gdG8gY3JlYXRlIGNhcHMgYW5kIGRvbid0IGxlYWsgdGhlbQoKMjAxMy0xMi0wMiAxNjo1OToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTJzcmMuY3BwOgoJICBvcGVubmkyc3JjOiBTb21lIHJhbmRvbSBjbGVhbnVwIGFuZCBtaW5vciBmaXhlcwoKMjAxMy0xMi0wMiAxMToxNzowMiArMDEwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5uaTIvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVubmkyL2dzdG9wZW5uaTIuY3BwOgoJKiBleHQvb3Blbm5pMi9nc3RvcGVubmkyc3JjLmNwcDoKCSogZXh0L29wZW5uaTIvZ3N0b3Blbm5pMnNyYy5oOgoJICBvcGVubmk6IEFkZCBPcGVuTk5JMiBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODkxNAoKMjAxMy0xMi0wMiAxMDoyODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBlcnNwZWN0aXZlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEdfREVGSU5FX1RZUEUoKSBhbHJlYWR5IGNhbGxzIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCgpIGZvciB1cwoKMjAxMy0xMi0wMiAxMDoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogUmVtb3ZlIGVtcHR5IEdPYmplY3Q6OmZpbmFsaXplKCkgaW1wbGVtZW50YXRpb25zCgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciBHT2JqZWN0IHZmdW5jcwoKMjAxMy0xMC0yMCAyMjowNDozOCArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGVyc3BlY3RpdmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwZXJzcGVjdGl2ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZCBhIDJEIHBlcnNwZWN0aXZlIHRyYW5zZm9ybSBwbHVnaW4KCSAgVGhlIHBlcnNwZWN0aXZlIHBsdWdpbiBhcHBsaWVzIGEgMkQgcGVyc3BlY3RpdmUgKGFsc28gY2FsbGVkIHByb2plY3RpdmUpCgkgIHRyYW5zZm9ybSB0byB0aGUgZnJhbWUgYnVmZmVyLgoJICBBIHBlcnNwZWN0aXZlIHRyYW5zZm9ybSBjYW4gYmUgdXNlZCBmb3IgaW5zdGFuY2UgdG8gcGVyZm9ybSBrZXlzdG9uZQoJICBjb3JyZWN0aW9uIHdoZW4gcGxheWluZyB0aGUgY29udGVudCB3aXRoIGEgdmlkZW8gcHJvamVjdG9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwODEwCgoyMDEzLTEyLTAxIDIzOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYXZvaWQgbGlzdCBmb3Igb25lIHNpbmdsZSB2YWx1ZSBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEzLTEyLTAxIDIyOjMyOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBtaWNyb29wdGltaXNhdGlvbjogYXZvaWQgdW5uZWNlc3NhcnkgZ3N0X2J1ZmZlcl9nZXRfc2l6ZSgpIGNhbGxzCgoyMDEzLTExLTI5IDEzOjIzOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBpbml0IHJ0cCBidWZmZXIgZml4aW5nIHJ0cCBwYWNrZXQgY3JlYXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMS0yOSAxMzoyMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZG9uJ3QgdXNlIGJ1ZmZlciBhZnRlciBnaXZpbmcgYXdheSBvd25lcnNoaXAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxOTU1MwoKMjAxMy0xMS0yOSAxMDoxNDo0MyArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW5nLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMTMtMTEtMjUgMTY6NTc6MDAgKzAwMDAgIEx1Ym9zeiBTYXJuZWNraSA8bHVib3N6QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IERvbid0IHRyeSB0byBzZXQgZnJhbWVyYXRlIGlmIG5vdCBmcm9tIHVwc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTUxNjYKCjIwMTMtMTEtMjggMTU6MTA6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IEZpeCBzcGxpdHRpbmcgb2YgbXVsdGlwbGUgTkFMVSBwZXIgYnVmZmVyCgkgIENvbnZlcnNpb24gdG8gYnl0ZS1zdHJlYW0vbmFsIGNyYXNoZXMgd2l0aG91dCB0aGF0IGJlY2F1c2UgdGhlCgkgIGJhc2VwYXJzZSBmcmFtZSBvZiBhbGwgTkFMVXMgaXMgZmluaXNoZWQgZm9yIHRoZSBmaXJzdCBOQUxVLCB0aGVuCgkgIHVzZWQgYWdhaW4gZm9yIHBhcnNpbmcgdGhlIHNlY29uZCBOQUxVLiBKdXN0IHRoYXQgbm93IHRoZSBidWZmZXIKCSAgb2YgdGhlIGZyYW1lIGlzIGFscmVhZHkgZ29uZS4gSW5zdGVhZCB3ZSBjcmVhdGUgdGVtcG9yYXJ5IGZyYW1lcwoJICBmb3IgZXZlcnkgTkFMVS4KCjIwMTMtMTAtMzEgMTc6MTY6MTQgKzAxMDAgIEFudG9uaW8gT3NwaXRlIDxvc3BpdGVAc3R1ZGVudGkudW5pbmEuaXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggc2V0dGluZyBjb2RlY19kYXRhIHdoZW4gdXNpbmcgV2F2ZUZvcm1hdEV4CgkgIFdoZW4gdXNpbmcgV2F2ZUZvcm1hdEV4IHRoZSBhY3R1YWwgY29kZWMgcHJpdmF0ZSBkYXRhIGlzIGF0IHRoZSBlbmQgb2YKCSAgdGhlIHdhdiBoZWFkZXIgc3RydWN0dXJlLCBhZnRlciB0aGUgY2JTaXplIGZpZWxkLCBzZWUgZm9yIGV4YW1wbGUgdGhlCgkgIG5vdGVzIGF0IGh0dHA6Ly93aWtpLm11bHRpbWVkaWEuY3gvaW5kZXgucGhwP3RpdGxlPVdBVkVGT1JNQVRFWAoJICBUaGUgcHJldmlvdXMgY29kZSB3YXMgZXJyb25lb3VzbHkgcGFzc2luZyB0aGUgd2hvbGUgV0FWRUZPUk1BVEVYCgkgIHN0cnVjdHVyZSBhcyBjb2RlY19kYXRhLgoJICBUaGUgc21vb3Roc3RyZWFtaW5nIHNwZWNpZmljYXRpb25zWzEsMiwzXSBhbHdheXMgbWVudGlvbiBXQVZFRk9STUFURVgKCSAgYW5kIG5ldmVyIHNtYWxsZXIgc3RydWN0dXJlcyBsaWtlIFdBVkVGT1JNQVQgb3IgUENNV0FWRUZPUk1BVCwgc28gdGhlCgkgIGJ1ZmZlciBjYW4gYXNzdW1lZCB0byBiZSBhdCBsZWFzdCAxOCBieXRlcyBhbmQgYWx3YXlzIGNvbnN1bWluZyB0aGUgd2F2CgkgIGhlYWRlciBnaXZlcyB0aGUgKHBvc3NpYmx5IGVtcHR5KSBjb2RlYyBwcml2YXRlIGRhdGEuCgkgIFsxXSBodHRwOi8vd2ViLmFyY2hpdmUub3JnL3dlYi8yMDEyMDkwNzAwNDc0Mi9odHRwOi8vd3d3Lmlpcy5uZXQvY29tbXVuaXR5L2ZpbGVzL21lZGlhL3Ntb290aHNwZWNzLyU1Qk1TLVNNVEglNUQucGRmCgkgIFsyXSBodHRwOi8vZG93bmxvYWQubWljcm9zb2Z0LmNvbS9kb3dubG9hZC9CLzAvQi9CMEIxOTlEQi00MUU2LTQwMEYtOTBDRC1DMzUwRDBDMTRBNTMvJTVCTVMtU1NUUiU1RC5wZGYKCSAgWzNdIGh0dHA6Ly9kb3dubG9hZC5taWNyb3NvZnQuY29tL2Rvd25sb2FkLzkvNS9FLzk1RUY2NkFGLTkwMjYtNEJCMC1BNDFELUE0RjgxODAyRDkyQy8lNUJNUy1TU1RSJTVELnBkZgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTEwLTMxIDE1OjU4OjI3ICswMTAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogdXNlIG1zc2RlbXV4X2RlYnVnIGRlYnVnIGNhdGVnb3J5IGZvciBnc3Rtc3NtYW5pZmVzdC5jIHRvbwoKMjAxMy0xMC0xNiAxNjoyMjozNiArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBjb2Rpbmcgc3R5bGUKCjIwMTMtMTEtMjUgMTU6MTc6MzMgKzExMDAgIEphbiBTY2htaWR0IDxqYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkgIGR2ZHNwdTogRG9uJ3QgdW5tYXAgYW4gdW5yZWZmZWQgYnVmZmVyCgkgIGdzdF9kdmRfc3B1X2ZpbmlzaF9zcHVfYnVmIGRyb3BzIHRoZSByZWZlcmVuY2UgdG8gdGhlIGN1cnJlbnQKCSAgYnVmZmVyLCBzbyBtYWtlIHN1cmUgdG8gY2FsbCBnc3RfYnVmZmVyX3VubWFwIGJlZm9yZSBpdC4KCjIwMTMtMTEtMjMgMTk6MTE6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSAgb3BlbmV4cmRlYzogQ29uc2lkZXIgdGhlIHBpeGVsIGFzcGVjdCByYXRpbyBzdG9yZWQgaW4gdGhlIGZpbGUKCjIwMTMtMTEtMjMgMTg6Mzc6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvb3BlbmV4ci9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4ci5jOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyZGVjLmNwcDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5oOgoJICBvcGVuZXhyOiBBZGQgT3BlbkVYUiBkZWNvZGVyIGVsZW1lbnQKCSAgVGhpcyBjdXJyZW50bHkgY29udmVydHMgZnJvbSBBUkdCNjRfRjE2ICgxNiBiaXQgZmxvYXQgcGVyIGNvbXBvbmVudCkKCSAgdG8gQVJHQjY0IGJ5IGNsaXBwaW5nLiBXZSBzaG91bGQgYWRkIHN1cHBvcnQgZm9yIHRoZSBGMTYgZm9ybWF0IGFuZAoJICBpbXBsZW1lbnQgYSBjb252ZXJzaW9uIGZpbHRlciBlbGVtZW50IHRoYXQgY2FuIGFwcGx5IGdhbW1hIGN1cnZlcywKCSAgY2hhbmdlIGV4cG9zdXJlLCBldGMuCgoyMDEzLTExLTIzIDExOjI5OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuZXhyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmV4ci9nc3RvcGVuZXhyLmM6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHIuaDoKCSogZXh0L29wZW5leHIvZ3N0b3BlbmV4cmRlYy5jcHA6CgkqIGV4dC9vcGVuZXhyL2dzdG9wZW5leHJkZWMuaDoKCSAgb3BlbmV4cjogQWRkIE9wZW5FWFIgcGx1Z2luCgkgIFNlZSBodHRwOi8vd3d3Lm9wZW5leHIuY29tCgoyMDEzLTExLTIzIDExOjM1OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZzogRml4IG5hbWVzIG9mIGRlYnVnIGNhdGVnb3JpZXMKCjIwMTMtMTEtMjMgMTQ6MzU6MDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IHBvcCBuZXcgcGFja2V0IHdoZW4gaW52YWxpZCBuZXh0IGNvbW1hbmQgYmxvY2sKCSAgLi4uIHRvIHByZXZlbnQgc3RheWluZyBzdHVjayBvbiBjdXJyZW50IGNvbW1hbmQgYmxvY2sgYW5kIGJ1c3kgbG9vcGluZy4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjIxOQoKMjAxMy0xMS0yMyAxMToyMzozNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhY2NlcHQgVmlkZW9PYmplY3RMYXllciBhcyBzdGFydCBvZiBmcmFtZSBhbmQgY29uZmlnCgkgIC4uLiB3aGljaCBpdCBkZXNlcnZlcyBhcyBtdWNoIGFzIFZpZGVvT2JqZWN0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3NTY0CgoyMDEzLTExLTIxIDE1OjU0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBnX21lbW1vdmUoKSBpcyBkZXByZWNhdGVkCgkgIEp1c3QgdXNlIHBsYWluIG1lbW1vdmUoKSwgZ19tZW1tb3ZlKCkgaXMgZGVwcmVjYXRlZCBpbgoJICByZWNlbnQgR0xpYiB2ZXJzaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMjgxMQoKMjAxMy0xMS0yMCAxMjo0NjoyMyArMTEwMCAgSmFuIFNjaG1pZHQgPGphbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEhhbmRsZSB2b2JzdWIgcGFja2V0cyBzbWFsbGVyIHRoYW4gNCBieXRlcwoJICBJbiBwYXJ0aWN1bGFyLCBoYW5kbGUgdGhlIGNhc2Ugb2YgYW4gZW1wdHkgcGFja2V0IHdpdGggc2l6ZSAwIGJ5dGVzLgoJICBQYXJ0aWFsbHkgZml4ZXM6ICM3MTI2NDMKCjIwMTMtMTEtMTkgMjA6MTg6NDggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHBlbmM6IFNldCB0aGUgZmlyc3Qgc2Vzc2lvbiBmbGFnIHRvIGZhbHNlIG9uY2Ugb25lIGlzIGNyZWF0ZQoJICBPdGhlcndpc2UgaXQgYWx3YXlzIHRoaW5rcyBpdCdzIHRoZSBmaXJzdCBzZXNzaW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNDk1CgoyMDEzLTExLTE5IDIwOjEyOjU0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmg6CgkgIHNydHBkZWM6IE1ha2Ugc3VyZSB0aGF0IHN0cmVhbS1pZC9jYXBzL3NlZ21lbnQgYXJlIHNlbnQgYmVmb3JlIGJ1ZmZlcnMKCSAgSXQgbWF5IGJlIHBvc3NpYmxlIHRoYXQgb25seSBvbmUgb2YgdGhlIHR3byBzaW5rIHBhZHMgaXMgbGlua2VkIGluIHRoYXQgY2FzZSwKCSAgdGhlIGV2ZW50cyBuZWVkIHRvIGJlIGNyZWF0ZWQgZnJvbSB0aGUgb3RoZXIgcGFkLgoKMjAxMy0xMS0xOSAxOToxMDowNiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogUGFzcyBpc19ydGNwIHRvIHNldGNhcHMgZnVuY3Rpb24KCjIwMTMtMDQtMDQgMTc6NTk6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHA6IEltcGxlbWVudCBTUlRDUCBkZW11bHRpcGxleGluZwoJICBTZXBhcmF0ZSBtdWx0aXBsZXhlZCBSVFAgYW5kIFJUQ1AgaWYgdGhleSBhcnJpdmUKCSAgb24gdGhlIHJ0cF9zaW5rIHBhZC4KCjIwMTMtMTEtMTkgMDA6Mzg6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZW5jLmM6CgkgIGRhYWxhOiBGaXggY29tcGlsYXRpb24KCjIwMTMtMTEtMTMgMjI6MjU6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRzLnNhbnRvc0BwYXJ0bmVyLnNhbXN1bmcuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG8gbm90IHRyeSB0byBkZWluaXQgdGhlIGRvd25sb2FkcmF0ZSB3aGlsZSBpdCBpcyB1c2VkCgkgIFRoaXMgY2FuIGNhdXNlIGFuIGFzc2VydGlvbiBvciBkZWFkbG9ja3MuCgoyMDEzLTExLTExIDE2OjM1OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFsc28gY29uc2lkZXIgL21hbmlmZXN0CgkgIFRoZSBzcGVjIHNheXMgL01hbmlmZXN0LCBidXQgL21hbmlmZXN0IGlzIGVhc2lseSBmb3VuZCBvbiBzb21lCgkgIHNlcnZpY2VzLCBzbyBoYW5kbGUgdGhhdCwgdG9vLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEwMjIzCgoyMDEzLTExLTE0IDA5OjAyOjM1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBjb21waWxhdGlvbiB3aGVuIGRlYnVnIGlzIGRpc2FibGVkCgoyMDEzLTExLTEzIDE4OjU5OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiBBZGQgLWxtIG5lZWRlZCBieSBILjI2NSBwYXJzZXIKCjIwMTMtMTEtMTMgMTc6MTY6MDQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSAgcG5ncGFyc2U6IFByb3h5IHVwc3RyZWFtIGZyYW1lcmF0ZSBvbiBzcmNwYWQgaWYgYXZhbGFpYmxlCgkgIElmIHRoZSB1c2VyIHNldHMgaXQgaGltc2VsZiB3aXRoIGNhcHNmaWx0ZXIsIHRoZSBpbmZvcm1hdGlvbiBzaG91bGQgYmUKCSAga2VwdCBhbmQgdHJhbnNtaXR0ZWQgZG93bnN0cmVhbS4KCjIwMTMtMTEtMTIgMTg6MzY6MDQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBQcm9wZXJseSBhZGQgc3VidGl0bGUgZGVzY3JpcHRvciBmb3IgRFZiIHN1YnBpY3R1cmUgc3VidGl0bGVzCgkgIFdlIHdlcmUgYWRkaW5nIGFuIGVtcHR5IGRlc2NyaXB0b3IgZm9yIHRoZW0gYW5kIGl0IHdhcyBub3QgcG9zc2libGUgdG8KCSAgYWN0dWFsbHkgdXNlIHRoZW0gb24gbXV4ZWQgc3RyZWFtcy4KCjIwMTMtMTEtMTMgMTQ6Mjg6MzAgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogZml4IG5vbi1lZ2wgZGlzcGxheSBjb250ZXh0IHF1ZXJ5CgoyMDEzLTExLTExIDE2OjE1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBsb29rIGJleW9uZCBzdGFydCBjb2RlIGJlZm9yZSBsZWFwaW5nCgkgIEluIGNhc2UgbW9yZSBkYXRhIHRoYW4gYSBzdGFydCBjb2RlIGFsb25lIGlzIG5lZWRlZCB0byBkZWNpZGUgd2hldGhlcgoJICBpdCBlbmRzIGEgZnJhbWUsIGFycmFuZ2UgZm9yIG1vcmUgaW5wdXQgZGF0YSBhbmQgZGVjaWRlIHdoZW4gYXZhaWxhYmxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTExIDEzOjI0OjA4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGRlY2xhcmUgbWlzc2luZyBpbnN0YW5jZSB2YXJpYWJsZXMKCSAgRml4ZXMgYnVpbGQgb24gMzItYml0IHN5c3RlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTg0NAoKMjAxMy0xMS0xMCAxMjoxNzoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogdHdlYWsgZXh0ZW5zaW9uIGhhbmRsaW5nCgoyMDEzLTExLTEwIDEyOjE1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtbmF1d0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGdlZ2RlbXV4OiBkbyBub3QgdXNlIHB1c2hlZCBidWZmZXIgaW4gZGVidWcgbWVzc2FnZQoKMjAxMy0xMS0wOSAxMzozMjoyMSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoZWNrIGZvciBzYW1lIFRTTiBvbmx5IGZvciBpbnRlcmxhY2VkIHN0cmVhbXMgKGZpeGVzIHVuaXQgdGVzdCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTcyMQoKMjAxMy0xMS0wOSAxMjoxODowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBhdWRpb21peGVyOiBBZGQgdGVzdCBmb3IgdGhlIE9SQyBjb2RlCgoyMDEzLTExLTA5IDA5OjQzOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd2cGFyc2U6IEZpeCBsYXN0IHN0YXJ0IGNvZGUgcG9zaXRpb24gd2hlbiBpbnB1dCBidWZmZXIgaXMgZW1wdHkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgN2MyM2E2ZjIzYzE4NTMzMGQ3NGFlNGNjY2U3OWMzNjQxYTJmYWJhYy4KCSAgVGhlIGZpeCB3YXMgbm90IGNvbXBsZXRlLCBzZWUgZGlzY3Vzc2lvbiBpbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjI3CgoyMDEzLTExLTA4IDIwOjIzOjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSAgbXBlZ3RzOiBBZGQgc29tZSBtb3JlIGVsZW1lbnQtdHlwZSBhbm5vdGF0aW9ucyBmb3IgZy1pCgoyMDEzLTExLTA3IDIxOjM3OjI5ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGNvcmVtZWRpYWJ1ZmZlcjoga2VlcCBhbiBleHRyYSByZWYgdG8gdGhlIGltYWdlIGFuZCBkYXRhIGJ1ZmZlcgoKMjAxMy0xMS0wNyAxMDo1NzoyMiAtMDcwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndnBhcnNlOiBGaXggbGFzdCBzdGFydCBjb2RlIHBvc2l0aW9uIHdoZW4gaW5wdXQgYnVmZmVyIGlzIGVtcHR5CgkgIFdoZW4gdGhlIGlucHV0IGJ1ZmZlciBpcyBlbXB0eSBhbmQgd2UgbmVlZCBtb3JlIGRhdGEgdG8gZGV0ZXJtaW5lCgkgIHdoZXRoZXIgb3Igbm90IHRvIHRlcm1pbmF0ZSB0aGUgcHJldmlvdXMgZnJhbWUsIHRoZSBsYXN0IHN0YXJ0IGNvZGUKCSAgbG9jYXRpb24gbmVlZHMgdG8gYmUgc2V0IHRvIDQgYnl0ZXMgYmVmb3JlIHRoZSB0aGUgY3VycmVudCBwb3NpdGlvbgoJICAoc2l6ZSBvZiBzdGFydF9jb2RlIGlzIDMyLWJpdHMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTE2MjcKCjIwMTMtMTEtMDcgMTQ6Mzk6MjYgKzAxMDAgIEF1csOpbGllbiBaYW5lbGxpIDxhdXJlbGllbi56YW5lbGxpQHBhcnJvdC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBGaXggYmFkIGNvbmRpdGlvbiBpbiBoMjY0IHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE1CgoyMDEzLTExLTA3IDEyOjI5OjQ4ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmVtZWRpYWJ1ZmZlcjogdXNlIGNvcnJlY3QgcmV0YWluL3JlbGVhc2UgZnVuY3Rpb25zIG9uIENNU2FtcGxlQnVmZmVyUmVmIGJ1ZmZlcgoJICBGaXhlcyBhIGNyYXNoIHdoaWxlIHJlbGVhc2luZyB0aGUgc2FtcGxlIGJ1ZmZlciBhZnRlciB0aGUgaW1hZ2UKCSAgYnVmZmVyIGl0IGNvbnRhaW5zLgoJICBBbHNvIGZpeGVzIGEgbWlub3IgY29kaW5nIHN0eWxlIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjA2CgoyMDEzLTExLTA3IDE0OjI2OjIyICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIHF0a2l0dmlkZW9zcmM6IGxvd2VyIHJhbmsgdG8gR1NUX1JBTktfU0VDT05EQVJZCgkgIE1ha2VzIGF2ZnZpZGVvc3JjIGJlIHByZWZlcmVkIG92ZXIgcXRraXR2aWRlb3NyYyBzaW5jZSBpdCBpcyBkZXByZWNhdGVkCgkgIHdpdGggT1MgWCAxMC45LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE0CgoyMDEzLTExLTA3IDEzOjMzOjM2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGF2ZnZpZGVvc3JjOiBzZXQgcmFuayB0byBHU1RfUkFOS19QUklNQVJZCgkgIE1ha2VzIGF2ZnZpZGVvc3JjIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGV0ZWN0aW9uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExNjE0CgoyMDEzLTExLTA3IDEyOjQ3OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9obHMvZ3N0aGxzc2luay5jOgoJICBobHNzaW5rOiBkbyBub3QgbG9zZSByZWYgdG8gdGhlIG11bHRpZmlsZXNpbmsKCSAgSXQgaXMgbmVlZGVkIHRvIHVwZGF0ZSBsb2NhdGlvbiBwcm9wZXJ0aWVzIGFuZCBpdCB3YXMgYmVpbmcgbG9zdCBvbgoJICBzdGF0ZSBjaGFuZ2VzLCBjYXVzaW5nIGlzc3VlcyBpZiB0aGUgcGlwZWxpbmUgd2FzIHRvIGJlIHJldXNlZAoKMjAxMy0xMS0wNyAxMjozNTo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogbWFrZSBzdXJlIGl0IGlzIGhhbmRsZWQgYXMgYSBzaW5rCgkgIEl0IG9ubHkgZ2V0cyB0aGUgc2luayBmbGFnIHNldCB3aGVuIGl0IGFkZHMgdGhlIG11bHRpZmlsZXNpbmssIHRoYXQKCSAgaGFwcGVucyBpbiBudWxsLT5yZWFkeSBhbmQgaXQgbWlnaHQgYmUgdG9vIGxhdGUuIFNldCB0aGUgZmxhZwoJICBleHBsaWNpdGx5IG9uIHRoZSBjb25zdHJ1Y3Rvci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTA4NgoKMjAxMy0xMS0wNyAxMzowNTowOCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F0ZGVjLmM6CgkgIGF2ZnZpZGVvc3JjOiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBpT1MKCjIwMTMtMTEtMDcgMTI6Mjk6MzQgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGJ1aWxkIGluIGlPUyB3aXRoIGlzRXF1YWxUbyBkb2Vzbid0IGV4aXN0cwoKMjAxMy0xMS0wNyAxMjoyMDozMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBmaXggYnVpbGQgd2l0aCBvbGRlciBTREsgbm90IHN1cHBvcnRpbmcgQVZEZXZpY2VGb3JtYXQKCSAgQVZEZXZpY2VGb3JtYXQgYW5kIEFWRnJhbWVSYXRlUmFuZ2UgYXJlIGF2YWlsYWJsZSBpbiBpT1Mgc2luY2UgNy4wCgkgIHNvIHdlIG5lZWQgYSBtb3JlIGR5bmFtaWMgYXBwcm9hY2ggdG8gc3VwcG9ydCBjb21waWxhdGlvbiB3aXRoIG9sZGVyCgkgIFNESydzLiBXZSB1c2UgYSBOU09iamVjdCB0byBhdm9pZCByZWZlcmVuY2luZyB0aG9zZSB0eXBlcyBhbmQga2V5LXZhbHVlCgkgIGNvZGluZyBvciBwcmVmb3JtU2VsZWN0b3IgdG8gYWNjZXNzIHByb3BlcnRpZXMuCgoyMDEzLTExLTA3IDAxOjM4OjIwICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBjaGVja3MgZm9yIEhBVkVfSU9TCgoyMDEzLTExLTA3IDAxOjM3OjM4ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGluY2x1ZGUgY29uZmlnLmgKCjIwMTMtMTEtMDYgMTg6NTM6MjUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogYWRkIG1vcmUgZGVidWcKCjIwMTMtMTEtMDYgMTg6NTA6NDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjCgkgIFRoZSBzeW50aGVzaXplIGJsb2NrIG5lZWRzIHRvIGJlIG1vdmVkIHRvIGZpeCBhIGNvbXBpbGVyIGVycm9yCgoyMDEzLTExLTA2IDE4OjQ5OjM1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHNvcnQgY2FwcyB3aXRoIHRoZSBoaWdoZXN0IHJlc29sdXRpb24gZmlyc3QKCSAgV2hlbiBzdGFydGVkIHdpdGhvdXQgYW55IGNhcHMgZmlsdGVyIHdlIHByZWZlciB0aGUgaGlnaGVzdAoJICBzdXBwb3J0ZWQgcmVzb2x1dGlvbi4KCjIwMTMtMTEtMDQgMTE6MTQ6MzUgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogc3VwcG9ydCBzY3JlZW4gY2FwdHVyZSBvbiBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTQzMgoKMjAxMy0xMC0zMSAxMzowNTo0MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBtaW5vciBjb3NtZXRpYwoKMjAxMy0xMC0zMSAxMzowMzo1OCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1c2UgaW5wdXQgZGV2aWNlIGZvcm1hdHMgdG8gc2V0L2dldCBjYXBzIGlmIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjExCgoyMDEzLTEwLTI5IDE1OjM3OjE2ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHVwZGF0ZSBjYXBzIGlmIGZyYW1lIHNpemUgaGFzIGNoYW5nZWQKCSAgT24gT1NYLCBzZXR0aW5nIHRoZSBwaXhlbCBmb3JtYXQgb24gdGhlIG91dHB1dCByZXNldCB0aGUgY2FwdHVyZSBkZXZpY2UKCSAgdG8gaXRzIG5hdGl2ZSByZXNvbHV0aW9uLCBzbyB3ZSBuZWVkIHRvIHVwZGF0ZSB0aGUgY2FwcyBpZiB0aGUgb3V0cHV0CgkgIGZyYW1lIHNpemUgaGFzIGNoYW5nZWQgYmVmb3JlIGEgcHJvcGVyIHNvbHV0aW9uIGlzIGZvdW5kLgoKMjAxMy0xMC0yOSAxNTozNjowNiArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBjaGVjayBpZiBsb3cgcHJlc2V0IGlzIGF2YWlsYWJsZQoKMjAxMy0xMC0yOCAxODoyMjoxMyArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiB1c2UgYSBkZWRpY2F0ZWQgcXVldWUgZm9yIEFWRm91bmRhdGlvbiBjYWxscwoJICBSZXBsYWNlIHRoZSBtYWluIHF1ZXVlIHdpdGggYSBkZWRpY2F0ZWQgcXVldWUgZm9yIEFWRm91bmRhdGlvbiBjYWxscwoJICBzbyB0aGUgZXhlY3V0aW9uIG9uIHRoaXMgcXVldWUgd29uJ3QgYmxvY2sgaWYgdGhlIG1haW4gcXVldWUKCSAgaXMgbm90IHJ1bm5pbmcuCgoyMDEzLTEwLTI5IDE3OjMzOjExICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IHJlbW92ZSB0cmFpbGluZyBzcGFjZQoKMjAxMy0xMC0zMCAxNDo1MTo1MCArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkgIGF2ZnZpZGVvc3JjOiBkaXNwYXRjaCBBVkZvdW5kYXRpb24gY2FsbHMgc3luY2hyb25vdXNseSBpbiB0aGUgbWFpbiBxdWV1ZQoKMjAxMy0xMC0zMCAxMjo0MDowMSArMDAwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogZW5hYmxlIGF2ZnZpZGVvc3JjIGlmIEFWRm91bmRhdGlvbiBpcyBwcmVzZW50CgoyMDEzLTEwLTMwIDEyOjM5OjI0ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG9ubHkgZW5hYmxlIDE5MjB4MTA4MCBwcmVzZXQgb24gaU9TCgoyMDEzLTEwLTI4IDExOjIwOjI3ICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGRldGVjdCBwcmVzZW5jZSBvZiBBVkZvdW5kYXRpb24KCjIwMTMtMTAtMjggMTE6NTM6MjYgKzAwMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogcG9ydCBhdmZ2aWRlb3NyYyB0byAxLjAKCjIwMTMtMTEtMDcgMTQ6MTI6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB1bml0IHRlc3QgZm9yIGhhbmRsaW5nIHVuYWxpZ25lZCBidWZmZXJzCgkgIFRoYXQgaXMsIGJ1ZmZlcnMgdGhhdCBzdGFydCBvciBlbmQgaW4gdGhlIG1pZGRsZSBvZiBhbiBvdXRwdXQgYmxvY2suCgoyMDEzLTExLTA3IDE0OjEyOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBGaXggRU9TIGhhbmRsaW5nIGlmIHdlIGhhdmUgc29tZSBwZW5kaW5nIGRhdGEKCjIwMTMtMTEtMDcgMTM6NTc6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IGZvciB0aGUgZGlzY29udCBoYW5kbGluZwoKMjAxMy0xMS0wNyAxMzo1NTozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogUmVmYWN0b3Igc3luYyB0ZXN0IHRvIGJlIG1vcmUgcmV1c2FibGUKCjIwMTMtMTEtMDcgMTM6NDg6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IFJlbW92ZSBzb21lIHJhY3ktbmVzcyBmcm9tIHRoZSB1bml0IHRlc3QKCSAgV2UgbWlnaHQgYWxyZWFkeSBiZSBFT1Mgd2hlbiB3ZSBzdGFydCB0aGUgbWFpbmxvb3AsIHNvIG9ubHkKCSAgc2V0IHRoZSBwaXBlbGluZSB0byBQTEFZSU5HIGZyb20gdGhlIG1haW4gbG9vcC4KCjIwMTMtMTEtMDcgMDk6NTQ6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogUmVtb3ZlIHNvbWUgdW51c2VkIGZ1bmN0aW9ucwoKMjAxMy0xMS0wNiAyMjoxMzoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogTWFrZSBzdXJlIHZpZGVvLWRvbmUgaXMgcG9zdCBvbmx5IHdoZW4gZmlsZSBpcyBjbG9zZWQKCSAgRm9yY2UgZmlsZXNpbmsgdG8gbnVsbCBiZWZvcmUgcG9zdGluZyB2aWRlby1kb25lIHRvIG1ha2Ugc3VyZSB0aGUKCSAgZmlsZSB3YXMgY2xvc2VkLgoJICBIYWQgdG8gZG8gaXQgZnJvbSBhIHNlcGFyYXRlIHRocmVhZCB0byBhdm9pZCBjYWxsaW5nIHN0YXRlX2NoYW5nZSBmcm9tCgkgIGEgc3luYyBtZXNzYWdlIGhhbmRsZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkzNzMKCjIwMTMtMTEtMDYgMjM6MTE6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IGFkZCBuZXcgY29kZWNwYXJzZXIgQVBJIHRvIC5kZWYgZmlsZQoKMjAxMy0xMC0wOSAxMDo1NDoxNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY1cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBhZGQgSC4yNjUgSEVWQyB2aWRlbyBwYXJzZXIgZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NDM4CgoyMDEzLTEwLTAxIDEzOjM5OjQxICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjVwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY1cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogYWRkIEguMjY1IEhFVkMgYml0c3RyZWFtIHBhcnNlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NDM4CgoyMDEzLTExLTA1IDEyOjQzOjQ0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDEzLTExLTA2IDE1OjUwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlci5jOgoJICBhdWRpb21peGVyOiBEb24ndCB0YWtlIGNoYW5uZWwgbWFzayBpbiBjb25zaWRlcmF0aW9uIGluIG1vbm8gb3Igc3RlcmVvCgkgIFRoaXMgY291bGQgY2F1c2UgbmVnb3RpYXRpb24gdG8gZmFpbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODYzMwoKMjAxMy0xMS0wNiAxNTozMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGF1ZGlvbWl4ZXI6IEFkZCB0ZXN0IHRvIHRoZSAuZ2l0aWdub3JlIGZpbGUKCjIwMTMtMTEtMDYgMTU6MTg6NTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb21peGVyLmM6CgkgIGF1ZGlvbWl4ZXI6IEFkZCBzaW1wbHkgc3luY2hyb25pemF0aW9uIHRlc3QKCjIwMTMtMTEtMDYgMTU6MTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb21peGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyLmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXIuaDoKCSogZ3N0L2F1ZGlvbWl4ZXIvZ3N0YXVkaW9taXhlcm9yYy1kaXN0LmM6CgkqIGdzdC9hdWRpb21peGVyL2dzdGF1ZGlvbWl4ZXJvcmMtZGlzdC5oOgoJKiBnc3QvYXVkaW9taXhlci9nc3RhdWRpb21peGVyb3JjLm9yYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvbWl4ZXIuYzoKCSAgYXVkaW9taXhlcjogQWRkIG5ldyBlbGVtZW50IGJhc2VkIG9uIGFkZGVyIHRoYXQgZG9lcyBzeW5jaHJvbml6ZWQgYXVkaW8gbWl4aW5nCgoyMDEzLTExLTA1IDExOjE5OjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4NjVhYTIwIHRvIGRiZWRhYTAKCjIwMTMtMTEtMDQgMTk6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogUXVlcnkgdXBzdHJlYW0gZmlyc3QgdG8gZ2V0IGEgRUdMRGlzcGxheQoKMjAxMy0xMS0wNCAxMDowNDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYS1ub25wdWJsaWM6IExpbmsgd2l0aCBnbW9kdWxlIGZvciBnX21vZHVsZV9vcGVuKCkgYW5kIG90aGVycwoKMjAxMy0xMS0wNCAxMDowNDo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBMaW5rIHdpdGggZ21vZHVsZSBmb3IgZ19tb2R1bGVfb3BlbigpIGFuZCBvdGhlcnMKCjIwMTMtMTEtMDEgMjI6MzI6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbkBjZW50cmljdWxhci5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWx3YXlzIGRlZmluZSBBTV9DT05ESVRJT05BTCBVU0VfRUdMR0xFUwoKMjAxMy0xMC0wNCAxMjo0ODoxMCArMDIwMCAgTC4gU29yaW4gPHNvcmluQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2Z0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzc2hzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsc2Z0cHNpbmsuYzoKCSAgY3VybDogY3VybHNmdHBzaW5rIC0gbmV3IGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50IGZvciBTRlRQCgkgIE5vdGU6IFNGVFAgPSBTU0ggRmlsZSBUcmFuc2ZlciBQcm90b2NvbAoJICBUaGUgc2luayBhY3RzIGFzIGEgY2xpZW50IGFuZCB1cGxvYWRzIGRhdGEgdG8gdGhlIFNGVFAgc2VydmVyLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5Nzk1CgoyMDEzLTEwLTMxIDEzOjM2OjI1IC0wNzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0BzaXNhLnNhbXN1bmcuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGNkYXVkaW86IFJlbW92ZSBjZGF1ZGlvIHBsdWdpbgoJICBUaGlzIGVsZW1lbnQgaXMgYmVpbmcgcmVtb3ZlZCBkdWUgdG8gaXQgYmVlbgoJICBjb25zaWRlcmVkIG9ic29sZXRlIGFuZCB0aGUgZnVuY3Rpb25haWx5IGl0CgkgIHByb3ZpZGVzIG5vIGxvbmdlciBuZWVkZWQuCgkgIERldGFpbHMgb24gdGhlIGRlY2lzaW9uIGNhbiBiZSBmb3VuZCBoZXJlOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjIzCgkgIEZpeGVzOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjMyCgoyMDEzLTExLTAxIDEwOjQxOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW5AY2VudHJpY3VsYXIuY29tPgoKCSogZ3N0L3lhZGlmL3lhZGlmLmM6CgkgIHlhZGlmOiBGaXggY29tcGlsZXIgd2FybmluZyBjYXVzZWQgYnkgc3BlY2lmeWluZyBjb25zdCB0d2ljZQoJICB5YWRpZi5jOjQ5OjI0OiB3YXJuaW5nOiBkdXBsaWNhdGUgJ2NvbnN0JyBkZWNsYXJhdGlvbiBzcGVjaWZpZXIgWy1XZHVwbGljYXRlLWRlY2wtc3BlY2lmaWVyXQoJICBERUNMQVJFX0FTTV9DT05TVCAoMTYsIGNvbnN0IHhtbV9yZWcsIHBiXzEpID0gewoJICBeCgkgIHlhZGlmLmM6MzM6NTA6IG5vdGU6IGV4cGFuZGVkIGZyb20gbWFjcm8gJ0RFQ0xBUkVfQVNNX0NPTlNUJwoJICAjZGVmaW5lIERFQ0xBUkVfQVNNX0NPTlNUKG4sdCx2KSAgICBzdGF0aWMgY29uc3QgdCBfX2F0dHJpYnV0ZV9fKCh1c2VkKSkgX19hdHRyaWJ1dGVfXyAoKGFsaWduZWQgKG4pKSkgdgoJICBeCgkgIHlhZGlmLmM6NTI6MjQ6IHdhcm5pbmc6IGR1cGxpY2F0ZSAnY29uc3QnIGRlY2xhcmF0aW9uIHNwZWNpZmllciBbLVdkdXBsaWNhdGUtZGVjbC1zcGVjaWZpZXJdCgkgIERFQ0xBUkVfQVNNX0NPTlNUICgxNiwgY29uc3QgeG1tX3JlZywgcHdfMSkgPSB7CgkgIF4KCSAgeWFkaWYuYzozMzo1MDogbm90ZTogZXhwYW5kZWQgZnJvbSBtYWNybyAnREVDTEFSRV9BU01fQ09OU1QnCgkgICNkZWZpbmUgREVDTEFSRV9BU01fQ09OU1Qobix0LHYpICAgIHN0YXRpYyBjb25zdCB0IF9fYXR0cmlidXRlX18oKHVzZWQpKSBfX2F0dHJpYnV0ZV9fICgoYWxpZ25lZCAobikpKQoKMjAxMy0xMS0wMSAxMDo0MDowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuQGNlbnRyaWN1bGFyLmNvbT4KCgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IGJ1aWxkIHdpdGggWENvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQ1MQoKMjAxMy0xMC0yOCAxNTowNDoxNiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBSZW1vdmUgdGhlIGV4cGxpY2l0IFBBUiBjYWxjdWxhdGlvbiBiYXNlZCBvbiBWVUkgaGVhZGVycwoJICBUaGUgUEFSIGNhbGN1bGF0aW9uIGJhc2VkIG9uIFZVSSBoZWFkZXJzIGlzIGFscmVhZHkgZG9pbmcgYnkgdGhlCgkgIGgyNjQgY29kZWNwYXJzZXIgYW5kIHdlIGRvZXMndCBuZWVkIHRvIGR1cGxpY2F0ZSB0aG9zZSBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy8vc2hvd19idWcuY2dpP2lkPTcxMTAwOQoKMjAxMy0xMC0xNyAxMjowNTo0NCArMDIwMCAgQW50b25pbyBPc3BpdGUgPG9zcGl0ZUBzdHVkZW50aS51bmluYS5pdD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJICByb3RhdGU6IEZpeCBhbmdsZSBwcm9wZXJ0eSBoZWxwIHRleHQKCSAgVGhlIGhlbHAgdGV4dCBvZiB0aGUgYW5nbGUgcHJvcGVydHkgd2FzIHByb2JhYmx5IGNvcGllZCBmcm9tIHRoZSBjaXJjbGUKCSAgcGx1Z2luLCBmaXggaXQgdG8gbWVudGlvbiB0aGUgcm90YXRpb24gZGV0ZXJtaW5lZCBieSB0aGUgYW5nbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTAzOTEKCjIwMTMtMTAtMzAgMTg6NDg6MDggLTA3MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQHNpc2Euc2Ftc3VuZy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgY2RhdWRpbzogcG9ydCB0byAxLlgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTIyMwoKMjAxMy0xMC0zMCAxODoyNTo1MCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IHJhbmsgZm9yIG1vcmUgc29mdHdhcmUgZGVjb2RlcnMKCSAgSW4gR2FsYXh5IFM0IHRoZSBjb2RlY3MgbGlzdCBjb250YWlucyBzb21lIE9NWC5TRUMuZm9vLnN3LmRlYwoJICBhcyBzb2Z0d2FyZSBkZWNvZGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzExMjE0CgoyMDEzLTEwLTE3IDEyOjUzOjMxICswMjAwICBBbnRvbmlvIE9zcGl0ZSA8b3NwaXRlQHN0dWRlbnRpLnVuaW5hLml0PgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBGaXggc2V0dGluZyBibGFjayBiYWNrZ3JvdW5kIGZvciBBWVVWIGJ1ZmZlcnMKCSAgV2hlbiB0aGUgZnJhbWUgYnVmZmVyIGlzIEFZVVYgd3JpdGluZyBhbGwgemVyb3MgZG9lcyBub3Qgc2V0IGl0IHRvCgkgIGJsYWNrLCBpbiBZVVYgY29sb3JzcGFjZSAweDEwIGlzIHRoZSBibGFjayBsZXZlbCBmb3IgbHVtaW5hbmNlIGFuZCAweDgwCgkgIGlzIHRoZSBibGFjayBsZXZlbCBmb3IgY2hyb21pbmFuY2UuCgkgIEZpeCBzZXR0aW5nIHRoZSBiYWNrZ3JvdW5kIHRvIGJsYWNrIHdoZW4gdGhlIG91dF9mcmFtZSBmb3JtYXQgaXMgQVlVVjsKCSAgaW4gYWxsIHRoZSBvdGhlciBzdXBwb3J0ZWQgZm9ybWF0cyB6ZXJvaW5nIHRoZSBkYXRhIHdpdGggbWVtc2V0IGlzIHN0aWxsCgkgIHRoZSByaWdodCB0aGluZyB0byBkby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDM5MgoKMjAxMy0xMC0yMyAyMzozNDoyNyArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogZml4IHBsdWdpbiBuYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExMzUKCjIwMTMtMTAtMjMgMTc6MjI6MTYgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiB1c2UgcHJvcGVyIHJlbGVhc2UgY2FsbGJhY2sgdHlwZSBpbiBDVlBpeGVsQnVmZmVyQ3JlYXRlV2l0aFBsYW5hckJ5dGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTExNDAKCjIwMTMtMDktMjEgMDA6MjA6MzYgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZml4IHRydW5jYXRlZCBsaW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MTA2NTcKCjIwMTMtMTAtMzAgMTY6MjA6NTYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IHJlbW92ZSB1bnVzZWQgZnVuY3Rpb25zIGluIHRoZSBlYWdsIGJhY2tlbmQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE1OQoKMjAxMy0xMC0xOCAxMTo1NDoxMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGZpeCBhY2Nlc3MgdG8gaW52YWxpZCBidWZmZXJzIGluIHRoZSBkZWNvZGluZyBsb29wCgkgIEZsdXNoaW5nIHRoZSBkZWNvZGVyIGludmFsaWRhdGVzIGFsbCBidWZmZXJzLCBzbyBpdCBzaG91bGQgYmUgZG9uZQoJICBhZnRlciBxdWl0aW5nIHRoZSBkZWNvZGluZyBsb29wLiBPdGhlcndpc2Ugd2UgY2FuIGp1bXAgaW50bwoJICAiZmFpbGVkX3JlbGVhc2UiIGFuZCBzdG9wIGV2ZXJ5dGhpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMTE1NgoKMjAxMy0xMC0yOCAwOTozMzo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVuaWZ5IHZhbHVlIHNldHRpbmcKCSAgdGhlIGluaXRpYWwgcGFyX24gPSBwYXJfZCA9IDA7IHdhcyBhbHdheXMgb3ZlcndyaXR0ZW4gc2luY2UgdGhlIHN3aXRjaC9jYXNlCgkgIGhhbmRsZXMgYWxsIHZhbHVlcwoJICBBbmQgcmVtb3ZlIHRoZSAwIGNhc2UgKGl0J3MgdGhlIHNhbWUgaGFuZGxpbmcgYXMgZGVmYXVsdCkKCjIwMTMtMTAtMjggMDk6MzM6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBdm9pZCBlbmRpbmcgdXAgd2l0aCB1bmRlZmluZWQgdmFsdWVzCgkgIElmIGNhcHMgYXJlbid0IGZpeGVkLCB3ZSdkIGVuZCB1cCB3aXRoIHVuZGVmaW5lZCB2YWx1ZXMgZm9yIGZvcm1hdAoJICBhbmQgYWxpZ24uCgoyMDEzLTEwLTExIDExOjIzOjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IERlbW90ZSBHU1RfRVJST1IgdG8gR1NUX1dBUk5JTkcKCSAgZGlzY29udGludWl0aWVzIGFyZSBub3QgZXJyb3JzIHBlci1zZSBhbmQgd2UgaGFuZGxlIHRoZW0gY29ycmVjdGx5LgoKMjAxMy0xMC0yNSAxMToxMTozMCArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IG1lbW9yeSBsZWFrIGluIGdzdF9obHNfZGVtdXhfZ2V0X25leHRfZnJhZ21lbnQKCSAgVGhpcyBwYXRjaCBmaXhlcyB0aHJlZSBtZW1vcnkgbGVha3MgaW4gaGxzZGVtdXgsIG9uZSB0aGF0IG9jY3VycwoJICBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiBhbmQgdHdvIHRoYXQgb2NjdXIgZHVyaW5nIGVycm9yIGNvbmRpdGlvbnMuCgkgIFRoZSBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50IGZ1bmN0aW9uIGNhbGxzCgkgIGdzdF9mcmFnbWVudF9nZXRfYnVmZmVyIHdoaWNoIGluY3JlbWVudHMgdGhlIHJlZmVyZW5jZSBjb3VudAoJICBvbiB0aGUgYnVmZmVyIGJ1dCBnc3RfaGxzX2RlbXV4X2dldF9uZXh0X2ZyYWdtZW50IG5ldmVyIGNhbGxzIHVucmVmIG9uCgkgIHRoZSBidWZmZXIuIFRoaXMgbWVhbnMgdGhhdCB0aGUgcmVmZXJlbmNlIGNvdW50IGZvciBlYWNoIGRvd25sb2FkZWQKCSAgZnJhZ21lbnQgbmV2ZXIgZ2V0cyB0byB6ZXJvIGFuZCBzbyBpdHMgbWVtb3J5IGlzIG5ldmVyIHJlbGVhc2VkLgoJICBUaGlzIHBhdGNoIGFkZHMgYSBjYWxsIHRvIGdzdF9idWZmZXJfdW5yZWYgYWZ0ZXIgdGhlIGZsYWdzIGhhdmUgYmVlbgoJICB1cGRhdGVkIG9uIHRoZSBidWZmZXIuCgkgIFRoZXJlIGlzIGEgbGVhay1vbi1lcnJvciBpbiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQgaWYgaXQgZmFpbHMKCSAgdG8gZG93bmxvYWQgdGhlIGtleSBmaWxlLiBJZiB0aGUga2V5IGZhaWxzIHRvIGRvd25sb2FkLCBudWxsIGlzCgkgIHJldHVybmVkIHdpdGhvdXQgZG9pbmcgYW4gdW5yZWYgb24gdGhlIGVuY3J5cHRlZCBmcmFnbWVudC4gVGhlCgkgIHNlbWFudGljcyBvZiBnc3RfaGxzX2RlbXV4X2RlY3J5cHRfZnJhZ21lbnQgaXMgdGhhdCBpdCB0YWtlcyBvd25lcnNoaXAKCSAgb2YgdGhlIGVuY3J5cHRlZCBmcmFnbWVudCBhbmQgcmVsZWFzZXMgaXQgYmVmb3JlIHJldHVybmluZy4KCSAgVGhlcmUgaXMgYSBsZWFrLW9uLWVycm9yIGluIGdzdF9obHNfc3JjX2J1Zl90b191dGY4X3BsYXlsaXN0IGluIHRoZQoJICB1bmxpa2VseSBldmVudCB0aGF0IHRoZSBnc3RfYnVmZmVyX21hcCBmYWlscy4gSW4gdGhlICJoYXBweSBwYXRoIgoJICBvcGVyYXRpb24gb2YgZ3N0X2hsc19zcmNfYnVmX3RvX3V0ZjhfcGxheWxpc3QgdGhlIGJ1ZmZlciBnZXRzIGFuIHVucmVmCgkgIGJlZm9yZSB0aGUgZnVuY3Rpb24gcmV0dXJucywgdGhlcmVmb3JlIHRoZSBlcnJvciBjb25kaXRpb24gbXVzdCBkbyB0aGUKCSAgc2FtZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDg4MQoKMjAxMy0xMC0yMyAxNzoxMToyMCArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5jOgoJICBtcGVndHNtdXg6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc1OQoKMjAxMy0xMC0yMyAxNjo1ODo0OSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDc1OQoKMjAxMy0xMC0xOCAxMDoxMjo1NiArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IG1ha2UgZ3N0X2FtY19hdmNfcHJvZmlsZV9mcm9tX3N0cmluZyByZWNvZ25pemUgYWx0IG5hbWUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcxMDQzMwoKMjAxMy0xMC0xMiAxNjowNDoyNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBwaXRjaDogRml4IGludmVydGVkIGNvbmRpdGlvbiBpbiBzZXRjYXBzCgoyMDEzLTEwLTExIDEwOjMyOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFNraXAgcGFja2V0cyB3aXRoIGNvcnJ1cHRlZCBsZW5ndGgKCSAgVGhpcyBpcyBzaW1pbGFyIHRvIHdoYXQgd2UgZG8gZm9yIHBhY2tldHMgd2l0aCBwYXlsb2FkCgoyMDEzLTEwLTExIDEwOjI5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZmFjdG9yIGxhbmd1YWdlIHRhZyBleHRyYWN0aW9uCgkgIHN1YnRpdGxpbmcgZGVzY3JpcHRvciBuZWVkcyB0byBiZSB1c2VkIHdpdGggYSBkaWZmZXJlbnQgbWV0aG9kIHRvIGV4dHJhY3QKCSAgbGFuZ3VhZ2UgY29kZXMuCgoyMDEzLTEwLTExIDEwOjIxOjI1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkgIG1wZWd0czogQWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcgRFZCIFN1YnRpdGxpbmcgZGVzY3JpcHRvciAoMHg1OSkKCSAgRXNzZW50aWFsbHkgd29ya3MgaW4gdGhlIHNhbWUgdmVpbiBhcyB0aGUgaXNvNjM5IGRlc2NyaXB0b3IgY29kZQoKMjAxMy0xMC0xMCAyMjo0Njo0OCArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJICBtcGVndHM6IEZpeCBhc3NlcnRpb24gZmF1bHQgaW4gSVNPIDYzOSBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDkxODAKCjIwMTMtMTAtMDkgMTc6MTg6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICBzcGVlZDogRml4IHNvbWUgYnl0ZXMtcGVyLWZyYW1lIHZzLiBieXRlcy1wZXItc2FtcGxlIG1peHVwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBjcmFzaCB3aGVuIGhhbmRsaW5nIG11bHRpcGxlIGNoYW5uZWxzIGFuZAoJICBtaXNjYWxjdWxhdGUgdGltZXN0YW1wcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTczNAoKMjAxMy0xMC0wOCAxMToxMDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1ha2Ugc3VyZSB0byB0cnkgd2luZG93LXN5c3RlbS1hZ25vc3RpYyBFR0wgaWYgbm90aGluZyB3YXMgYXV0by1kZXRlY3RlZAoKMjAxMy0xMC0wOCAwNzo1NjoxMSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBsb2cgdGltZSBmb3JtYXQgYXMgbmFtZSBpbnN0ZWFkIG9mIHRoZSBudW1iZXIKCjIwMTMtMTAtMDYgMTc6Mzc6MzggKzAyMDAgIEdpbGxlcyBEYXJ0aWd1ZWxvbmd1ZSA8ZXZhQGdlbnRvby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVnbDogQWxsb3cgZGlzYWJsaW5nIGdzdHJlYW1lci1lZ2wgbGlicmFyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5NTMxCgoyMDEzLTEwLTA1IDE0OjQ1OjMzICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIG1wZWd0cy1saWIgZm9yIElTTyA2MzkgbGFuZ3VhZ2UgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDE0OjQ1OjMyICswMjAwICBKZXNwZXIgTGFyc2VuIDxrbm9yci5qZXNwZXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmV0dXJuIGRlc2NyaXB0b3IgaW4gZ2V0X2Rlc2NyaXB0b3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE4MAoKMjAxMy0xMC0wNSAxNDo0NTozMSArMDIwMCAgSmVzcGVyIExhcnNlbiA8a25vcnIuamVzcGVyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSAgbXBlZ3RzOiBBZGQgSVNPIDYzOSBwYXJzaW5nIGZ1bmN0aW9ucwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MTgwCgoyMDEzLTEwLTA1IDAwOjAwOjUyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBoYW5kbGUgc3RpY2t5IGR2ZCBldmVudHMKCSAgcGFsZXR0ZS1jaGFuZ2VkIGV2ZW50cyBhcmUgbm93IHN0aWNreS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTQ1NAoKMjAxMy0xMC0wMyAwNzo1NzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTbWFsbCBpbXByb3ZlbWVudCBvbiBhbHdheXMgdmFsaWQgaWYgY29uZGl0aW9uCgkgIE5vIG5lZWQgdG8gY2hlY2sgZm9yICFjYW5jZWxsZWQgYXMgdGhlIGFib3ZlIGlmIGd1YXJhbnRlZXMgaXQKCSAgdG8gYmUgdHJ1ZQoKMjAxMy0xMC0wMyAwNzo1NjoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dHMuc2FudG9zQHBhcnRuZXIuc2Ftc3VuZy5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBEbyBub3QgY2FsbCBfc3RvcCBob2xkaW5nIHRoZSB1cGRhdGVzIGxvY2sKCSAgSXQgd2lsbCBjYXVzZSBhIGRlYWRsb2NrIGFuZCB0aGUgY2FsZXJzIGZvciBfZ2V0X25leHRfZnJhZ21lbnQKCSAgd2lsbCBhbHJlYWR5IGNhbGwgX3N0b3AgaWYgcmVxdWlyZWQgd2hlbiBfZ2V0X25leHRfZnJhZ21lbnQgZmFpbHMuCgkgIEZpeGVzICM2OTAxNDgKCjIwMTMtMDYtMTIgMTA6NTA6NTEgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEltcHJvdmUgaWYgY2F1c2UgcmVhZGFiaWxpdHkKCSAgRml4ZWQgdXAgdGhlIGVycm9yLWhhbmRsaW5nIGNvZGUgd2hlbiBkb3dubG9hZGluZyBmcmFnbWVudHMuCgkgIE1vZGlmZWQgdGhlIGVycm9yLWhhbmRsaW5nIGNvZGUgdG8gdXNlIHBvc2l0aXZlIGxvZ2ljIHdoZW4KCSAgdGVzdGluZyBmb3IgY2FuY2VsbGF0aW9uIG9mIHRoZSBkb3dubG9hZCBsb29wLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDA0CgoyMDEzLTA5LTI2IDE3OjA1OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0cy5zYW50b3NAcGFydG5lci5zYW1zdW5nLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGFjdHVhbGx5IHJldHVybiB0cnVlIG9uIGxhdGVuY3kgcXVlcnkKCSAgRG8gbm90IGZvcmdldCB0byBzZXQgdGhlIHJldHVybiBmb3IgbGF0ZW5jeSBxdWVyeQoKMjAxMy0wOS0yNiAxNjoxMzozMyAtMDMwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBzdG9wIGZldGNoaW5nIGxpdmUgZnJhZ21lbnRzIHRoYXQgZG9uJ3QgeWV0IGV4aXN0CgkgIFRoZXJlIGlzIGFuIGlzc3VlIGZvciBsaXZlIHN0cmVhbXMgd2hlcmUgZG93bmxvYWRfbG9vcCB3aWxsIGtlZXAKCSAgZG93bmxvYWRpbmcgc2VnbWVudHMgdW50aWwgaXQgZ2V0cyBhIDQwNCBlcnJvciBmb3IgYSBzZWdtZW50CgkgIHRoYXQgaGFzIG5vdCB5ZXQgYmVlbiBwdWJsaXNoZWQuIFRoaXMgaXMgYSBwcm9ibGVtIGJlY2F1c2UgdGhpcwoJICByZXF1ZXN0IGZvciBhIHNlZ21lbnQgdGhhdCBkb2Vzbid0IGV4aXN0IHdpbGwgcHJvcGFnYXRlIGFsbCB0aGUKCSAgd2F5IGJhY2sgdG8gdGhlIG9yaWdpbiBzZXJ2ZXIocykuIFRoaXMgbWVhbnMgdGhhdCBkYXNoZGVtdXggY2F1c2VzCgkgIGV4dHJhIGxvYWQgb24gdGhlIG9yaWdpbiBzZXJ2ZXIocykgZm9yIHNlZ21lbnRzIHRoYXQgYXJlbid0IHlldAoJICBhdmFpbGFibGUuCgkgIFRoaXMgcGF0Y2ggdXNlcyBhdmFpbGFiaWxpdHlTdGFydFRpbWUsIHBlcmlvZAoJICBhbmQgdGhlIGhvc3QncyBpZGVhIG9mIFVUQyB0byBkZWNpZGUgaWYgYSBmcmFnbWVudCBpcyBhdmFpbGFibGUgdG8KCSAgYmUgcmVxdWVzdGVkIGZyb20gYW4gSFRUUCBzZXJ2ZXIgYW5kIGZpbHRlciBvdXQgcmVxdWVzdHMgZm9yIGZyYWdtZW50cwoJICB0aGF0IGFyZSBub3QgeWV0IGF2YWlsYWJsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTQwNAoKMjAxMy0xMC0wMyAxMzoyNjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGaXggY29udmVyc2lvbiB0byBBVkMgaWYgYSBTUFMvUFBTIG5vdCBmcm9tIHRoZSBmaXJzdCBpbmRpemVzIGlzIHVzZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNzk3NAoKMjAxMy0xMC0wMiAxMDo1NTozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmg6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuaDoKCSAgb3BlbmpwZWc6IFBvcnQgT3BlbkpQRUcgcGx1Z2luIHRvIHRoZSAyLjAgQVBJCgoyMDEzLTEwLTAyIDA1OjQ5OjQzICswMzAwICBEb21pbmlrIFLDtnR0c2NoZXMgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIHZ0ZW5jOiBBZGQgc3VwcG9ydCBmb3IgSTQyMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA5MjQxCgoyMDEzLTEwLTAyIDA1OjQ5OjM0ICswMzAwICBEb21pbmlrIFLDtnR0c2NoZXMgPGRvbWluaWsucm90dHNjaGVzQGludGVsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkgIHZ0ZW5jOiBVc2UgY29ycmVjdCBzdHJpZGVzLCBldGMgZnJvbSB0aGUgR3N0VmlkZW9GcmFtZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MjExCgoyMDEzLTA4LTIwIDE3OjAzOjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBzdG9yZSBxdWFudGl6YXRpb24gbWF0cmljZXMgaW4gemlnLXphZyBvcmRlcgoJICBRdWFudGl6ZXIgbWF0cmljZXMgYXJlIGVuY29kZWQgaW4gemlnemFnIHNjYW4gb3JkZXIgaW4gdGhlIGJpdHN0cmVhbSwKCSAgc28gYWx3YXlzIHBhcnNlIGl0IGFzIGl0IGlzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTEwLTAyIDExOjQwOjA1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiB3aW4zMi9jb21tb24vbGliZ3N0Y29kZWNwYXJzZXJzLmRlZjoKCSAgd2luMzI6IHVwZGF0ZSB3aXRoIHRoZSBuZXcgZmlsZSBsaWJnc3Rjb2RlY3BhcnNlcnMuZGVmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2MjkKCjIwMTMtMTAtMDIgMTE6MjQ6NTggKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBhZGQgaGVscGVycyB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcwoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWctemFnIHNjYW4KCSAgb3JkZXIgaW50byByYXN0ZXIgc2NhbiBvcmRlciBhbmQgdmljZS12ZXJzYQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4NjI5CgoyMDEzLTA5LTMwIDE1OjMyOjU1IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLW1wZWd0cy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1tcGVndHMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQtdW5pbnN0YWxsZWQucGMuaW46CgkgIEFkZCBnc3RyZWFtZXItbXBlZ3RzIHBrZy1jb25maWcgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwOTE0NQoKMjAxMy0wOS0yOSAyMzo0MzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5LmNwcDoKCSAgb3BlbmN2OiBkb24ndCB1bnJlZiBOVUxMIGNhcHMgaW4gZmluYWxpemUKCSAgRml4ZXMgZ3N0LWluc3BlY3QtMS4wIC1hIGFuZCBnZW5lcmljIHN0YXRlcyB1bml0IHRlc3QuCgoyMDEzLTA5LTI2IDEzOjM3OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSAgaW9zYXNzZXRzcmM6IFBvcnQgdG8gMS4wIGFuZCBmaXggc29tZSBidWdzIG9uIHRoZSB3YXkKCjIwMTMtMDktMjYgMTM6MjE6NTkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvaW9zYXNzZXRzcmMubToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGlvc2Fzc2V0c3JjOiBBZGQgbmV3IGVsZW1lbnQgZnJvbSB0aGUgR1N0cmVhbWVyIFNESyBwcm9qZWN0CgoyMDEzLTA5LTIzIDE0OjM2OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWFnbC5tOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUG9ydCBpT1MgcGFydCB0byAxLjAKCjIwMTMtMDktMjMgMTM6MjA6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggaU9TIGNoZWNrIGZvciBlZ2xnbGVzc2luawoKMjAxMy0wOS0yMyAxMTozNTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJICBhcHBsZW1lZGlhOiBhdmZ2aWRlb3NyYyBpcyBub3QgcG9ydGVkIHRvIDEuMCB5ZXQKCjIwMTMtMDktMTggMTc6NTE6MjYgKzAyMDAgIE1pY2hhZWwgT2xicmljaCA8bS5vbGJyaWNoQHBlbmd1dHJvbml4LmRlPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiByb3VuZCB3aGVuIGNhbGN1bGF0aW9uIGxlbmd0aCBmcm9tIGR1cmF0aW9uCgkgIGxpdmVhZGRlciBzb21ldGltZXMgY2FsY3VsYXRlcyB0aGUgb2Zmc2V0cyBpbmNvcnJlY3RseSBiZWZvcmUgYWRkaW5nLiBUaGUKCSAgcmVzdWx0aW5nIGVycm9ycyBjYW4gZWFzaWx5IGJlIGhlYXJkIHdoZW4gbWl4aW5nIHNpbGVuY2Ugd2l0aCBhIHNpbmUuCgkgIEknbSBub3Qgc3VyZSB3aGF0IHRoZSBleGFjdCBjb25kaXRpb25zIGFyZSB0byB0cmlnZ2VyIHRoaXMsIGJ1dCBpdCBkZWZpbml0aXZlbHkKCSAgaGFwcGVucyB3aGVuIHRoZSBidWZmZXJzIG9mIHR3byBzdHJlYW1zIGhhdmUgYSBkaWZmZXJlbnQgZHVyYXRpb24gYW5kIGJ1ZmZlcgoJICBsZW5ndGggYW5kIGR1cmF0aW9uIGRvbid0IG1hdGNoIGV4YWN0bHkgZm9yIG9uZSBzdHJlYW0gYmVjYXVzZSBvZiByb3VuZGluZwoJICBlcnJvcnMgKGUuZy4gIGR1cmF0aW9uPTA6MDA6MDAuMDIxMzMzMzMzKQoJICBJIGhhdmUgdG8gYWRtaXQsIEkgZ290IGxvc3QgaW4gdGhlIG1hdGggc29tZXdoZXJlIGJ1dCBpdCBzZWVtcyB0aGF0IG5vdAoJICByb3VuZGluZyBpbiBnc3RfbGl2ZV9hZGRlcl9sZW5ndGhfZnJvbV9kdXJhdGlvbigpIGNhdXNlcyAxIHNhbXBsZSBvdmVybGFwcyBpbgoJICBjb25zZWN1dGl2ZSBidWZmZXJzIGZyb20gdGhlIHNhbWUgc3RyZWFtLgoJICBXaGVuIHVzaW5nIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9pbnRfcm91bmQoKSBpbnN0ZWFkIG9mIGp1c3QgdHJ1bmNhdGluZyB0aGUKCSAgc2luZSBzb3VuZCBjb3JyZWN0bHkgYWdhaW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgzNDUKCjIwMTMtMDktMjUgMTU6MjI6MTIgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IFVzZSBmbG9hdHMgZm9yIHRoZSBFWFRJTkYgZHVyYXRpb24gdmFsdWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NTEKCjIwMTMtMDktMjUgMTU6MTg6MzkgKzAxMDAgIEphdmllciBKYXJkw7NuIDxqamFyZG9uQGdub21lLm9yZz4KCgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IFdyaXRlIEVYVC1YLVZFUlNJT04gdGFnIGluIHRoZSBwbGF5bGlzdCBmaWxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg4NTEKCjIwMTMtMDktMTkgMTQ6NTM6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIGNoZWNrOiBVcGRhdGUgdXZjaDI2NGRlbXV4IGZvciBiZWhhdmlvdXIgY2hhbmdlCgkgIFNpbmNlIDAwNmU3YTM0MjhiZDA5N2ZjNmU2YzY0ODMzMmJmZjU4M2RkNDM0Zjkgd2Ugbm8gbG9uZ2VyIGVycm9yIG91dCBvbgoJICBpbmNvbXBsZXRlIGF1eCBzZWdtZW50LgoKMjAxMy0wOS0yNyAxNDo0NTowMCArMDAwMCAgU3RldmUgTWF5bmFyZCA8c3RldmVAc2Vjb25kc3RyeWtlLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LXNjdGUtc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9tcGVndHMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHM6IEFkZCBTQ1RFL0VJU1Mgc2VjdGlvbnMgYW5kIHRhYmxlIHR5cGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDg2ODgKCjIwMTMtMDctMjkgMDg6MTA6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogV2FpdCBmb3IgdmFsaWQgUENSL29mZnNldCBvYnZlcnZhdGlvbnMKCSAgSXQgaXMgcXVpdGUgcG9zc2libGUgdGhhdCB3ZSBtaWdodCBnZXQgUFRTL0RUUyBiZWZvcmUgdGhlIGZpcnN0CgkgIFBDUi9PZmZzZXQgb2JzZXJ2YXRpb24uCgkgIEluIG9yZGVyIHRvIGVuZCB1cCB3aXRoIHZhbGlkIHRpbWVzdGFtcCB3ZSB3YWl0IHVudGlsIGF0IGxlYXN0IG9uZQoJICBzdHJlYW0gd2FzIGFibGUgdG8gZ2V0IGEgcHJvcGVyIHJ1bm5pbmctdGltZSBmb3IgYW55IFBUUy9EVFMuCgkgIFVudGlsIHRoZW4sIHdlIHF1ZXVlIHVwIHRoZSBwZW5kaW5nIGJ1ZmZlcnMgdG8gcHVzaCBvdXQuCgkgIE9uY2Ugd2Ugc2VlIGEgZmlyc3QgdmFsaWQgdGltZXN0YW1wLCB3ZSByZS1ldmFsdWF0ZSB0aGUgYW1vdW50IG9mCgkgIHJ1bm5pbmctdGltZSBlbGFwc2VkIChiYXNlZCBvbiByZXR1cm5lZCBpbml0YWwgcnVubmluZy10aW1lIGFuZCBhbW91bnQKCSAgb2YgZGF0YS9EVFMgcXVldWVkIHVwKSBmb3IgYW55IGdpdmVuIHN0cmVhbS4KCSAgVGFraW5nIHRoZSBiaWdnZXN0IGFtb3VudCBvZiBlbGFwc2VkIHRpbWUsIHdlIHNldCB0aGF0IG9uIHRoZSBwYWNrZXRpemVyCgkgIGFzIHRoZSBpbml0aWFsIG9mZnNldCBhbmQgcmVjYWxjdWxhdGUgYWxsIHBlbmRpbmcgYnVmZmVycyBydW5uaW5nLXRpbWUKCSAgUFRTL0RUUy4KCSAgTm90ZTogVGhlIGJ1ZmZlciBxdWV1ZWluZyBzeXN0ZW0gY2FuIGFsc28gYmUgdXNlZCBsYXRlciBvbiBmb3IgdGhlCgkgIGR2YiBmYXN0IHN0YXJ0IHByb3Bvc2FsICh3aGVyZSB3ZSBxdWV1ZSB1cCBhbGwgc3RyZWFtIHBhY2tldHMgYmVmb3JlCgkgIHNlZWluZyBQQVQvUE1UIGFuZCB0aGVuIHB1c2ggdGhlbSBvbmNlIHdlIGtub3cgaWYgdGhleSBiZWxvbmcgdG8gdGhlCgkgIGNob3NlbiBwcm9ncmFtKS4KCjIwMTMtMDctMDcgMTU6MDQ6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIGRlc2NyaXB0b3IgZHVtcGluZwoKMjAxMy0wNy0yNiAwNzo1NDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzZGVtdXg6IE5ldyBQQ1I8PT5PZmZzZXQgZXN0aW1hdGlvbiBjb2RlCgkgIFRoaXMgYWxsb3dzOgoJICAqIEJldHRlciBkdXJhdGlvbiBlc3RpbWF0aW9uCgkgICogTW9yZSBhY2N1cmF0ZSBQQ1IgbG9jYXRpb24KCSAgKiBPdmVyYWxsIG1vcmUgYWNjdXJhdGUgcnVubmluZy10aW1lIGxvY2F0aW9uIGFuZCBjYWxjdWxhdGlvbgoJICBMb2NhdGlvbiBhbmQgdmFsdWVzIG9mIFBDUiBhcmUgcmVjb3JkZWQgaW4gZ3JvdXBzIChQQ1JPZmZzZXRHcm91cCkKCSAgd2l0aCBub3RhYmxlIFBDUi9PZmZzZXQgb2JzZXJ2YXRpb25zIGluIHRoZW0gKHdoZW4gYml0cmF0ZSBjaGFuZ2VkCgkgIGZvciBleGFtcGxlKS4gUENSIGFuZCBvZmZzZXQgYXJlIHN0b3JlZCBhcyAzMmJpdCB2YWx1ZXMgdG8KCSAgcmVkdWNlIG1lbW9yeSB1c2FnZSAodGhleSBhcmUgZGlmZmVyZW5jZXMgYWdhaW5zdCB0aGF0IGdyb3VwJ3MKCSAgZmlyc3Rfe3BjcnxvZmZzZXR9LgoJICBUaG9zZSBncm91cHMgZWFjaCBjb250YWluIGEgZ2xvYmFsIFBDUiBvZmZzZXQgKHBjcl9vZmZzZXQpIHdoaWNoCgkgIGluZGljYXRlcyBob3cgZmFyIGluIHRoZSBzdHJlYW0gdGhhdCBncm91cCBpcy4KCSAgV2hlbmV2ZXIgbmV3IFBDUiB2YWx1ZXMgYXJlIG9ic2VydmVkLCB3ZSBzdG9yZSB0aGVtIGluIGEgc2xpZGluZwoJICB3aW5kb3cgZXN0aW1hdG9yIChQQ1JPZmZzZXRHcm91cEN1cnJlbnQpLgoJICBXaGVuIGEgcmVzZXQvd3JhcG92ZXIvZ2FwIGlzIGRldGVjdGVkLCB3ZSBjbG9zZSB0aGUgY3VycmVudCBncm91cCB3aXRoCgkgIGN1cnJlbnQgdmFsdWVzIGFuZCBzdGFydCBhIG5ldyBvbmUgKHRoZSBwY3Jfb2Zmc2V0IG9mIHRoYXQgbmV3IGdyb3VwCgkgIGlzIGFsc28gY2FsY3VsYXRlZCkuCgkgIFdoZW4gYSBub3RhYmxlIGNoYW5nZSBpbiBiaXRyYXRlIGlzIG9ic2VydmVkICgrLy0gMTAlKSwgd2UgcmVjb3JkCgkgIG5ldyB2YWx1ZXMgaW4gdGhlIGN1cnJlbnQgZ3JvdXAuIFRoaXMgaXMgYSBjb21wcm9taXNlIGJldHdlZW4KCSAgc3RvcmluZyBhbGwgUENSL29mZnNldCBvYnNlcnZhdGlvbnMgYW5kIG5vbmUsIHdoaWxlIGF0IHRoZSBzYW1lIHRpbWUKCSAgcHJvdmlkaW5nIGJldHRlciBpbmZvcm1hdGlvbiBmb3IgcnVubmluZy10aW1lPD0+b2Zmc2V0IGNhbGN1bGF0aW9uCgkgIGluIFZCUiBzdHJlYW1zLgoJICBXaGVuZXZlciBhIG5ldyBub24tY29udGlndW91cyBncm91cCBpcyBzdGFydCAoZHVlIHRvIHNlZWtpbmcgZm9yIGV4YW1wbGUpCgkgIHdlIHJlLWV2YWx1YXRlIHRoZSBwY3Jfb2Zmc2V0IG9mIGVhY2ggZ3JvdXBzLiBUaGlzIGFsbG93cyBkZXRlY3RpbmcgYXMKCSAgcXVpY2tseSBhcyBwb3NzaWJsZSBQQ1Igd3JhcG92ZXIvcmVzZXQuCgkgIFdoZW4gd2FudGluZyB0byBmaW5kIHRoZSBvZmZzZXQgb2YgYSBjZXJ0YWluIHJ1bm5pbmctdGltZSwgb25lIGNhbgoJICBpdGVyYXRlIHRoZSBncm91cHMgYnkgbG9va2luZyBhdCB0aGUgcGNyX29mZnNldCAod2hpY2ggaW4gZXNzZW5jZSAqaXMqCgkgIHRoZSBydW5uaW5nLXRpbWUgb2YgdGhhdCBncm91cCBpbiB0aGUgb3ZlcmFsbCBzdHJlYW0pLgoJICBPbmNlIGEgZ3JvdXAgKG9yIG5laWdoYm91cmluZyBncm91cHMgaWYgdGhlIHJ1bm5pbmctdGltZSBpcyBiZXR3ZWVuIHR3bwoJICBncm91cHMpIGlzIGZvdW5kLCBvbmNlIGNhbiB1c2UgdGhlIHJlY29yZGVkIHZhbHVlcyB0byBmaW5kIHRoZSBtb3N0CgkgIGFjY3VyYXRlIG9mZnNldC4KCSAgUmlnaHQgbm93IHRoaXMgY29kZSBpcyBvbmx5IHVzZWQgaW4gcHVsbC1tb2RlICwgYnV0IGNvdWxkIGFsc28KCSAgYmUgYWN0aXZhdGVkIGxhdGVyIG9uIGZvciBhbnkgc2Vla2FibGUgc3RyZWFtLCBsaWtlIGxpdmUgdGltZXNoaWZ0CgkgIHdpdGggcXVldWUyLgoJICBGdXR1cmUgaW1wcm92ZW1lbnRzOgoJICAqIHNvbWUgaGV1cmlzdGljcyB0byAiY29tcHJlc3MiIHRoZSBzdG9yZWQgdmFsdWVzIGluIGdyb3VwcyBzbyBhcyB0byBrZWVwCgkgIHRoZSBtZW1vcnkgdXNhZ2UgZG93biB3aGlsZSBzdGlsbCBrZWVwaW5nIGEgZGVjZW50IGFtb3VudCBvZiBub3RhYmxlCgkgIHBvaW50cy4KCSAgKiBBZnRlciBhIHNlZWsgY29tcGFyZSBleHBlY3RlZCBhbmQgb2J0YWluZWQgUENSL09mZnNldCBhbmQgaWYgdGhlCgkgIGRpZmZlcmVuY2UgaXMgdG9vIGJpZywgcmUtY2FsY3VsYXRlIHBvc2l0aW9uIHdpdGggbmV3bHkgb2JzZXJ2ZWQKCSAgdmFsdWVzIGFuZCBzZWVrIHRvIHRoYXQgbW9yZSBhY2N1cmF0ZSBwb3NpdGlvbi4KCSAgTm90ZSB0aGF0IHRoaXMgY29kZSB3aWxsICpub3QqIHByb3ZpZGUga2V5ZnJhbWUtYWNjdXJhdGUgc2Vla2luZywgYnV0CgkgIHdpbGwgYWxsb3cgYSBtdWNoIG1vcmUgYWNjdXJhdGUgUENSL3J1bm5pbmctdGltZS9vZmZzZXQgbG9jYXRpb24gb24KCSAgYW55IHJhbmRvbSBzdHJlYW0uCgkgIEZvciBwYXN0IChvYnNlcnZlZCkgdmFsdWVzIGl0IHdpbGwgYmUgYXMgYWNjdXJhdGUgYXMgY2FuIGJlLgoJICBGb3IgZnV0dXJlIHZhbHVlcyBpdCB3aWxsIGJlIGJldHRlciB0aGFuIHRoZSBjdXJyZW50IHNpdHVhdGlvbi4KCSAgRmluYWxseSB0aGUgbW9yZSB5b3Ugc2VlaywgdGhlIG1vcmUgYWNjdXJhdGUgeW91ciBwb3NpdGlvbmluZyB3aWxsIGJlLgoKMjAxMy0wNy0wNSAxNzoxMTo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBObyBsb25nZXIgdXNlIGEgcHJpdmF0ZSBzdHJ1Y3QKCSAgVGhlc2UgYXJlIG5vdCBwdWJsaWMgaGVhZGVycywgaXQganVzdCBhZGRzIGNvbXBsZXhpdHkgZm9yIG5vIHJlYXNvbgoKMjAxMy0wOS0yNiAxNjo1MToyNSArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGRlcmVmZXJlbmNpbmcgb2YgTlVMTCBwb2ludGVyCgkgIE9uIHNvbWUgbGl2ZSBITFMgc3RyZWFtcywgZ3N0X2hsc19kZW11eF9zd2l0Y2hfcGxheWxpc3QgY2F1c2VzCgkgIGFzc2VydGlvbiBmYWlsdXJlcyBiZWNhdXNlIGl0IHRyaWVkIHRvIGRlcmVmZXJlbmNlIGEgTlVMTCBmcmFnbWVudC4KCSAgVGhpcyBpcyBiZWNhdXNlIGdfcXVldWVfcGVla190YWlsIHNvbWV0aW1lcyB3YXMgcmV0dXJuaW5nIE5VTEwgYW5kCgkgIHRoaXMgY2FzZSB3YXMgbm90IGJlaW5nIGNoZWNrZWQuCgkgIFRoaXMgcGF0Y2ggZG9lcyB0d28gdGhpbmdzOgoJICAqIG1vdmUgdGhlIGdfcXVldWVfcGVla190YWlsIGluc2lkZSB0aGUgc2VtYXBob3JlIHByb3RlY3Rpb24KCSAgKiBjaGVjayBpZiBxX3F1ZXVlX3BlZWtfdGFpbCByZXR1cm5zIE5VTEwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwODg0OQoKMjAxMy0wOS0yNyAxNjoxMDo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogUXVldWUgYnVmZmVycyB1bnRpbCB3ZSBoYXZlIGVub3VnaCB0byBrbm93IHRoZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDgyMjIKCjIwMTMtMDktMTYgMTE6NDY6MjcgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogcmV3b3JrIFRTIHBhY2tldCBzeW5jIGFuZCBleHRyYWN0aW9uCgkgIFRoZSBwcmV2aW91cyBjb2RlIGNvdWxkIGVudGVyIGFuIGluZmluaXRlIGxvb3AgYmVjYXVzZSB0aGUgYWRhcHRlciBzdGF0ZQoJICBjb3VsZCBnZXQgb3V0IG9mIHN5bmMgd2l0aCBpdHMgbWFwcGVkIGRhdGEgc3RhdGUgYWZ0ZXIgc3luYyB3YXMgbG9zdC4KCSAgVGhlIGNvZGUgd2FzIHByZXR0eSBjb25mdXNpbmcgc28gaXQncyBiZWVuIHJld3JpdHRlbiB0byBiZSBjbGVhcmVyLgoJICBUaGUgZWFzaWVzdCB3YXkgdG8gcmVwcm9kdWNlIHRoZSBpbmZpbml0ZSBsb29wIGlzIHRvIHVzZSB0aGUgYnJlYWtteWRhdGEKCSAgZWxlbWVudCBiZWZvcmUgdHNkZW11eCB0byB0cmlnZ2VyIGEgcmVzeW5jLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTYxCgoyMDEzLTA5LTE2IDExOjQyOjQ4ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBidWZmZXIgb3ZlcmZsb3cKCSAgVGhpcyBjYW4gaGFwcGVuIHdpdGggYSBjb3JydXB0IFRTIGZpbGUsIGZvdW5kIHdpdGggYnJlYWtteWRhdGEgZWxlbWVudAoJICBwbHVnZ2VkIGJlZm9yZSB0c2RlbXV4LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTYxCgoyMDEzLTA5LTI1IDIzOjU3OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlbW92ZSBBU19TQ1JVQl9JTkNMVURFCgkgIFNob3VsZG4ndCBiZSBuZWVkZWQgYW55IG1vcmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDc2NTgKCjIwMTMtMDktMjUgMjA6MjU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IEZpeCBjb21waWxhdGlvbiBvbiBiaWcgZW5kaWFuIHN5c3RlbXMKCjIwMTMtMDktMjQgMTg6MzE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBSRUFETUU6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmIwM2JhNyB0byA4NjVhYTIwCgoyMDEzLTA5LTI0IDE1OjA1OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWN0dWFsbHkgdXNlIDEuMy4wLjEgYXMgdmVyc2lvbiB0byBtYWtlIGNvbmZpZ3VyZSBoYXBweQoKMjAxMy0wOS0yNCAxNTowMDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjIuMCA9PT0KCjIwMTMtMDktMjQgMTQ6Mzc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjIuMAoKMjAxMy0wOS0yNCAxNDozNzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDktMjMgMTY6MTg6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9zZHAvZ3N0c2RwZWxlbS5jOgoJICBzZHBkZW11eDogQ2hhbmdlIHJhbmsgdG8gTk9ORSB1bnRpbCBpdCBjYW4gYmUgYXV0b3BsdWdnZWQgcHJvcGVybHkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQ5NQoKMjAxMy0wOS0yMCAxNjoxNzoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGI2MTM2NjEgdG8gNmIwM2JhNwoKMjAxMy0wOS0xOSAyMDoxNzowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9meGJhZC5jOgoJICBhdWRpb2Z4YmFkOiBDaGFuZ2UgcGx1Z2luIG5hbWUgdG8gYXVkaW9meGJhZCBmcm9tIGF1ZGlvY2hhbm5lbG1peAoKMjAxMy0wOS0xOSAyMDowOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBkYXNoL3Ntb290aHN0cmVhbWluZzogUmVtb3ZlIHVudXNlZCBkZWJ1ZyBjYXRlZ29yeSB3aXRoIHRoZSBzYW1lIG5hbWUKCSAgSXQgY2F1c2VkIHN0YXRpYyBsaW5raW5nIHRvIGZhaWwuCgoyMDEzLTA5LTE5IDE4OjQzOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3NGE2ODU3IHRvIGI2MTM2NjEKCjIwMTMtMDktMTkgMTc6MzY6MDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gNzRhNjg1NwoKMjAxMy0wOS0xOSAxNjo0NDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBGaXggc3RhdGljIGxpbmtpbmcgZm9yIEFuZHJvaWQgYnkgcGFzc2luZyAtLXRhZz1DQyB0byBsaWJ0b29sCgoyMDEzLTA5LTE5IDExOjM1OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS45MCA9PT0KCjIwMTMtMDktMTkgMTA6NTA6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjEuOTAKCjIwMTMtMDktMTkgMTA6NDY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA5LTE5IDA5OjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9jcy5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogVXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wOS0xOCAyMjozNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIGZvciBuZXcgR3N0Q29udGV4dCBBUEkKCjIwMTMtMDktMTggMjI6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogVXBkYXRlIGZvciBuZXcgR3N0Q29udGV4dCBBUEkKCjIwMTMtMDktMTcgMTc6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCBHc3RVcmlEb3dubG9hZGVyIGNhbmNlbGxhdGlvbiB3aGVuIHJlc3RhcnRpbmcgdG8gcGxheQoKMjAxMy0wOS0xNSAxNzowOToxNiArMDUzMCAgU3VkaXAgSmFpbiA8c3VkaXAuamFpbkBzdC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDb3JyZWN0IGNvbmRpdGlvbiBjaGVjayBmb3IgY3VycmVudCBuZXh0IGluZGljYXRvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA4MTA2CgoyMDEzLTA5LTEyIDEyOjAzOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogZml4IGV2ZW50IG9yZGVyCgkgIERlbGF5IGZvcndhcmRpbmcgdGhlIHNlZ21lbnQgZXZlbnQgdW50aWwgd2UgcHVzaGVkIGNhcHMuCgkgIFNlbmQgU1RSRUFNX1NUQVJUIGluIHB1bGwgbW9kZS4KCjIwMTMtMDktMTIgMTM6MjE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW1jdmlkZW9kZWM6IERvbid0IHB1dCB0aGUgbGV2ZWwgcmVzdHJpY3Rpb25zIG9uIHRoZSBzaW5rcGFkIGNhcHMKCSAgVGhleSB0ZW5kIHRvIGJlIGluYWNjdXJhdGUgYW5kIGhhdmluZyB0aGVtIGluIHRoZSBzaW5rcGFkIGNhcHMKCSAgcHJldmVudHMgcGxheWJhY2sgb2YgZmlsZXMgdGhhdCB3b3VsZCBvdGhlcndpc2UgcGxheSBmaW5lLgoKMjAxMy0wOS0xMCAxODo1MTo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogcmVzcGVjdCBzZXFudW1zIG9uIHNlZWtzCgkgIFBhc3MgdGhlIHNlcW51bSB0byBvdGhlciBldmVudHMgdGhhdCBhcmUgY29uc2VxdWVuY2Ugb2YgdGhlCgkgIG9yaWdpbmFsIHNlZWsgZXZlbnQKCjIwMTMtMDktMTAgMTE6Mzc6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3BlbmN2OiBXZSBhbHNvIHdvcmsgd2l0aCBPcGVuQ1YgMi40LjYuMQoKMjAxMy0wOS0xMCAwODo0ODozMiArMDAwMCAgSWFpbiBMYW5lIDxpYWluLmxhbmVAY2Fub25pY2FsLmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IFNwZWNpZnkgZGlyZWN0b3J5IHdoZW4gaW5jbHVkaW5nIHN0ZGFmeC5oCgkgIG1vZHBsdWcgc3RvcHBlZCBleHBvc2luZyB0aGVpciBkaXJlY3RvcnkgaW4gdGhlaXIgcGNmaWxlLCBtZWFpbmluZwoJICBjb25zdW1lcnMgYWNjZXNzaW5nIHRoZSBoZWFkZXJzIGRpcmVjdGx5IGZhaWwgdG8gYnVpbGQuCgkgIGh0dHA6Ly9zb3VyY2Vmb3JnZS5uZXQvcC9tb2RwbHVnLXhtbXMvZ2l0L2NpLzc1ZTliMTY2OTgyZWQ2MzdiNTllZjdjYmMxODM1YTA5Zjc2ODkyM2UvCgoyMDEzLTA5LTA5IDEzOjE0OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NHNyYzogRml4IHNtYWxsIG1lbSBsZWFrCgoyMDEzLTA5LTA3IDIzOjA5OjMxICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkb24ndCB1cGRhdGUgc3JjIGNhcHMgaWYgb25seSBjb2RlY19kYXRhIGRpZmZlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTMzMwoKMjAxMy0wOS0wNSAxOToyMzoxMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjRzcmM6IExldCB0aGUgY2FwcyBiZSBOVUxMIGlmIHRoZXJlIGlzIG5vIHBlZXIKCjIwMTMtMDktMDUgMTk6MjI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBObyBuZWVkIHRvIGRyb3Agc2VnbWVudCBldmVudHMKCSAgSW4gMS4wLCBzZWdtZW50IGV2ZW50cyBhcmUgc3RpY2t5IGFuZCBub3QgYWRkaXRpdmUsIG5vIG5lZWQgdG8gcHJldmVudAoJICB0aGVpciBhY2N1bXVsYXRpb24uCgoyMDEzLTA5LTA1IDE5OjEwOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHNlbmQgY2FwcyBldmVudCBiZWZvcmUgc2VnbWVudAoKMjAxMy0wOS0wNCAxMDo1ODoyNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogY2hhbmdlIHBvb2wtPnNpbmstPmxhc3RfYnVmZmVyIHRvIHBvb2wtPmxhc3RfYnVmZmVyCgkgIFNvIHRoYXQgR3N0RUdMSW1hZ2VCdWZmZXJQb29sIGRvZXMgbm90IGRlcGVuZCBvbiBHc3RFZ2xHbGVzU2luawoJICBUaGUgZ29hbCBpcyBzdGlsbCB0byBtb3ZlIGl0IGludG8gZ3N0ZWdsIGxpYgoKMjAxMy0wOS0wNCAxMDo1NjoxMiArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogYnVmZmVyIHBvb2wgZG9lcyBub3QgbmVlZCB0byBtYWludGFpbiBhIHJlZiBvbiB0aGUgZGlzcGxheQoJICBCZWNhdXNlIGl0IGRvZXMgbm90IHVzZSBpdCBhbmQgYWxzbyBpdCBtYXkgbm90IGtub3cgaXQgd2hlbgoJICB3ZSBjcmVhdGUgdGhlIHBvb2wKCjIwMTMtMDktMDQgMTA6NTI6NTEgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGFkZCBHc3RFR0xJbWFnZUJ1ZmZlclBvb2xTZW5kQmxvY2tpbmdBbGxvY2F0ZSBjYWxsYmFjawoJICBUaGUgZ29hbCBoZXJlIGlzIHRvIHByZXBhcmUgR3N0RUdMQnVmZmVyUG9vbCB0byBiZSBtb3ZlZCBpbnRvCgkgIGdzdGVnbCBsaWIuIFNvIGl0IGhhcyB0byBub3QgZGVwZW5kIG9uICdnc3RfZWdsZ2xlc3NpbmtfcXVldWVfb2JqZWN0JwoKMjAxMy0wOS0wNCAxMDo0ODozNCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBwcmVwYXJlIGdzdF9lZ2xfYWRhcHRhdGlvbl9hbGxvY2F0ZV9lZ2xpbWFnZSB0byBiZSBtb3ZlZAoJICBpbnRvIGdzdGVnbCBsaWIgb3Igc3BsaXRlZCBiZXR3ZWVuIGdzdGVnbCBsaWIgYW5kIGdzdGdsIGxpYgoJICBiZWNhdXNlIGl0IGJvdGggZGVwZW5kcyBvbiBlZ2wgYW5kIGdsCgkgIFNvIGl0IGhhcyB0byBub3QgZGVwZW5kIG9uIEdzdEVnbEFkYXB0YXRpb25Db250ZXh0CgoyMDEzLTA4LTMwIDEzOjU0OjQwICswMTAwICBBbGV4IEFzaGxleSA8YnVnemlsbGFAYXNobGV5LWZhbWlseS5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBBZGQgc3VwcG9ydCBmb3Igc3RyZWFtLWZvcm1hdD1hdmMzCgkgIFdoZW4gb3V0cHV0dGluZyBpbiBBVkMzIHN0cmVhbSBmb3JtYXQsIHRoZSBjb2RlY19kYXRhIHNob3VsZCBub3QKCSAgY29udGFpbiBhbnkgU1BTIG9yIFBQUywgYmVjYXVzZSB0aGV5IGFyZSBlbWJlZGRlZCBpbnNpZGUgdGhlIHN0cmVhbS4KCSAgSW4gY2FzZSBvZiBhdmMtPmJ5dGVzdHJlYW0gaDI2NHBhcnNlIHdpbGwgcHVzaCB0aGUgU1BTIGFuZCBQUFMgZnJvbQoJICBjb2RlY19kYXRhIGRvd25zdHJlYW0gYXQgdGhlIHN0YXJ0IG9mIHRoZSBzdHJlYW0sIGF0IGludGVydmFscwoJICBjb250cm9sbGVkIGJ5ICJjb25maWctaW50ZXJ2YWwiIGFuZCB3aGVuIHRoZXJlIGlzIGEgY29kZWNfZGF0YSBjaGFuZ2UuCgkgIEluIHRoZSBjYXNlIG9mIGF2YzMtPmJ5dHN0cmVhbSBoMjY0cGFyc2UgZGV0ZWN0cyB0aGF0IHRoZXJlIGlzCgkgIGFscmVhZHkgU1BTL1BQUyBpbiB0aGUgc3RyZWFtIGFuZCBzZXRzIGgyNjRwYXJzZS0+cHVzaF9jb2RlYyB0byBGQUxTRS4KCSAgVGhlcmVmb3JlIGF2YzMtPmJ5dHN0cmVhbSB3YXMgYWxyZWFkeSBzdXBwb3J0ZWQsIGV4Y2VwdCBmb3IgdGhlIHN0cmVhbQoJICB0eXBlLgoJICBJbiB0aGUgY2FzZSBvZiBieXN0cmVhbS0+YXZjIGgyNjRwYXJzZSB3aWxsIGdlbmVyYXRlIGNvZGVjX2RhdGEgY2FwcwoJICBmcm9tIHRoZSBwYXJzZWQgU1BTL1BQUyBpbiB0aGUgc3RyZWFtLiBIb3dldmVyIGl0IGRvZXMgbm90IHJlbW92ZSB0aGVzZQoJICBTUFMvUFBTIGZyb20gdGhlIHN0cmVhbS4gYnl0ZXN0cmVhbS0+YXZjMyBpcyB0aGUgc2FtZSBhcyBieXRlc3RyZWFtLT5hdmMKCSAgZXhjZXB0IHRoYXQgdGhlIGNvZGVjX2RhdGEgbXVzdCBub3QgaGF2ZSBhbnkgU1BTL1BQUyBpbiBpdC4KCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfHN0cmVhbS1mb3JtYXQgfCBTUFMgaW4tYmFuZCB8IFNQUyBpbiBjb2RlY19kYXRhIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfCBhdmMgICAgICAgICAgfCBtYXliZSAgICAgICB8IGFsd2F5cyAgICAgICAgICAgIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgfCBhdmMzICAgICAgICAgfCBhbHdheXMgICAgICB8IG5ldmVyICAgICAgICAgICAgIHwKCSAgfC0tLS0tLS0tLS0tLS0tKy0tLS0tLS0tLS0tLS0rLS0tLS0tLS0tLS0tLS0tLS0tLXwKCSAgQW1lbmRtZW50IDIgb2YgSVNPL0lFQyAxNDQ5Ni0xNSAoQVZDIGZpbGUgZm9ybWF0KSBpcyBkZWZpbmluZyBhIG5ldwoJICBzdHJ1Y3R1cmUgZm9yIGZyYWdtZW50ZWQgTVA0IGNhbGxlZCAiYXZjMyIuIFRoZSBwcmluY2lwYWwgZGlmZmVyZW5jZQoJICBiZXR3ZWVuIEFWQzEgYW5kIEFWQzMgaXMgdGhlIGxvY2F0aW9uIG9mIHRoZSBjb2RlYyBpbml0aWFsaXNhdGlvbgoJICBkYXRhIChlLmcuIFNQUywgUFBTKS4gSW4gQVZDMSB0aGlzIGRhdGEgaXMgcGxhY2VkIGluIHRoZSBpbml0aWFsIE1PT1YgYm94CgkgIChtb292LnRyYWsubWRpYS5taW5mLnN0Ymwuc3RzZC5hdmMxKSBidXQgaW4gQVZDMyB0aGlzIGRhdGEgZ29lcyBpbiB0aGUKCSAgZmlyc3Qgc2FtcGxlIG9mIGV2ZXJ5IGZyYWdtZW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMDA0CgoyMDEzLTA5LTAzIDE3OjM2OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBGaXggY29tcGlsYXRpb24gd2l0aCBzb3VuZHRvdWNoIDEuNC4wCgkgIEl0IHVzZWQgRkxPQVRfU0FNUExFUy9JTlRFR0VSX1NBTVBMRVMgI2RlZmluZXMgaW5zdGVhZCBvZiBvbmVzIHByb3Blcmx5CgkgIHByZWZpeGVkIHdpdGggYSBuYW1lc3BhY2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczOTAKCjIwMTMtMDktMDMgMTE6MTQ6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IHdpbjMyIGNvbmZpZy5oLW5ldwoKMjAxMy0wOS0wMyAxMTowNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogUG9ydCB0aWxlZCBOVjEyIGNvbnZlcnNpb24gdG8gMS4wCgoyMDEzLTA5LTAzIDEwOjU2OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFtY3ZpZGVvZGVjOiBBZGQgRklYTUUgY29tbWVudAoKMjAxMy0wOC0xMiAxMDoxNjoxNiArMDAwMCAgSm9yZ2UgTHVpcyBaYXBhdGEgPGp6YXBhdGFAZmx1ZW5kby5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbmRyb2lkbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBhIG5ldyBxdWFsY29tbSBjb2xvcnNwYWNlCgoyMDEzLTA5LTAyIDIzOjI4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IG1pbm9yIGNsZWFuLXVwCgoyMDEzLTA5LTAyIDIyOjU0OjMyICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBzZW5kIGV2ZW50cyBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQKCSAgU29tZW9uZSBtaWdodCBiZSB3YWl0aW5nIGZvciBjZXJ0YWluIGV2ZW50cyB3aXRoIGEgcHJvYmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDczMTcKCjIwMTMtMDgtMjggMjA6MDc6NDggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkaXNhYmxlIGJ1ZmZlciBwb29scwoJICBPbiBhIGRldmljZSBsb3N0LCBhbGwgdGhlIHN1cmZhY2VzIGFsbG9jYXRlZCBpbiB0aGUKCSAgZGV2aWNlIG5lZWQgdG8gYmUgcmVsZWFzZWQgYmVmb3JlIHJlc2V0dGluZyB0aGUgZGV2aWNlLAoJICB3aGljaCBjYW4ndCBiZSBkb25lIGZvciB0aGUgYWxsb2NhdGVkIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDY1NjYKCjIwMTMtMDktMDIgMTM6NDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9NQU5JRkVTVDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOgoJICBDaGFuZ2UgaG93IHdpbjMyL2NvbW1vbi9jb25maWcuaCBpcyB1cGRhdGVkCgkgIEdlbmVyYXRlIHdpbjMyL2NvbW1vbi9jb25maWcuaC1uZXcgZGlyZWN0bHkgZnJvbSBjb25maWcuaC5pbiwKCSAgdXNpbmcgc2hlbGwgdmFyaWFibGVzIGluIGNvbmZpZ3VyZSBhbmQgc29tZSBoYXJkLWNvZGVkIGluZm9ybWF0aW9uLgoJICBDaGFuZ2UgdG9wLWxldmVsIG1ha2VmaWxlIHNvIHRoYXQgJ21ha2Ugd2luMzItdXBkYXRlJyBjb3BpZXMgdGhlCgkgIGdlbmVyYXRlZCBmaWxlIHRvIHdpbjMyL2NvbW1vbi9jb25maWcuaCwgd2hpY2ggd2Uga2VlcCBpbiBzb3VyY2UKCSAgY29udHJvbC4gIEl0J3Mga2VwdCBpbiBzb3VyY2UgY29udHJvbCBzbyB0aGF0IHRoZSBnaXQgdHJlZSBpcwoJICBidWlsZGFibGUgZnJvbSBWUy4KCSAgVGhpcyBjaGFuZ2UgaXMgc2ltaWxhciB0byB0aGUgb25lIHJlY2VudGx5IGFwcGxpZWQgdG8gR1N0cmVhbWVyCgkgIGFuZCBnc3QtcGx1Z2lucy1nb29kLiAgVGhlIHByZXZpb3VzIGNvbmZpZy5oIGZpbGUgaW4gLWJhZCB3YXMgaW4KCSAgcHJldHR5IGJhZCBzaGFwZSwgc28gdW5saWtlIGNvcmUgYW5kIGJhc2UsIEkgZGlkbid0IGF0dGVtcHQgdG8KCSAgbGVhdmUgaXQgc3RyaWN0bHkgdGhlIHNhbWUsIGJ1dCBmaXhlZCBpdCBhcyBuZWNlc3NhcnkuICBOZWVkcwoJICB0ZXN0aW5nIEkgY2Fubm90IGRvIG15c2VsZi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2OTAxNQoKMjAxMy0wOS0wMiAxMjoxOToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBpZ25vcmUgbmV3IGFpZmZwYXJzZSB0ZXN0IGJpbmFyeQoKMjAxMy0wOS0wMiAxMDoyOTowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIHNvdW5kdG91Y2g6IEFsbG93IGNvbXBpbGF0aW9uIGFnYWluc3QgZmxvYXQgYW5kIGludGVnZXIgdmVyc2lvbiBvZiB0aGUgbGlicmFyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA3MjcwCgoyMDEzLTA4LTMwIDIxOjUyOjM1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBGaXggd2FybmluZ3Mgd2hlbiBidWlsZGluZyBpbiBPUyBYIFNub3cgTGVvcGFyZAoJICBnc3RkYXNoZGVtdXguYzoxNzUzOiB3YXJuaW5nOiBmb3JtYXQgJyVsbHUnIGV4cGVjdHMgdHlwZSAnbG9uZyBsb25nIHVuc2lnbmVkIGludCcsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdsb25nIHVuc2lnbmVkIGludCcKCSAgZ3N0ZGFzaGRlbXV4LmM6MjIyNDogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgOSBoYXMgdHlwZSAnZ3VpbnQ2NCcKCSAgZ3N0ZGFzaGRlbXV4LmM6MjIyNDogd2FybmluZzogZm9ybWF0ICclbGx1JyBleHBlY3RzIHR5cGUgJ2xvbmcgbG9uZyB1bnNpZ25lZCBpbnQnLCBidXQgYXJndW1lbnQgMTAgaGFzIHR5cGUgJ2d1aW50NjQnCgoyMDEzLTA4LTMwIDIxOjM2OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogRml4IHdhcm5pbmdzIHdoZW4gYnVpbGRpbmcgaW4gT1MgWCBTbm93IExlb3BhcmQKCSAgZ3N0bXBkcGFyc2VyLmg6NTMwOiB3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZQoJICBnc3RtcGRwYXJzZXIuYzo0MTc3OiB3YXJuaW5nOiB0eXBlIHF1YWxpZmllcnMgaWdub3JlZCBvbiBmdW5jdGlvbiByZXR1cm4gdHlwZQoKMjAxMy0wOC0zMCAwOTowNTo0MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVzZSBjb2RlY3BhcnNlcnMgbWFjcm9zCgkgIG5vdGU6IEkvU0kgYWxzbyBjb3ZlcnMgdGhlIFNfSS9TX1NJIHZhcmlhbnRzCgoyMDEzLTA4LTI5IDExOjAyOjM3IC0wNzAwICBLZXJyaWNrIFN0YWxleSA8a2Vycmlja0BrZXJyaWNrc3RhbGV5LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJICBleGFtcGxlczogcG9ydCBkaXJlY3RmYiBleGFtcGxlIHRvIDEuMAoJICBnc3RfcGFkX2dldF9uZWdvdGlhdGVkX2NhcHMgd2FzIHJlbW92ZWQgZnJvbSAxLjA7CgkgIGdzdF9wYWRfZ2V0X2N1cnJlbnRfY2FwcyBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLiBTZWUKCSAgaHR0cDovL2NnaXQuZnJlZWRlc2t0b3Aub3JnL2dzdHJlYW1lci9nc3RyZWFtZXIvdHJlZS9kb2NzL3JhbmRvbQoJICAvcG9ydGluZy10by0xLjAudHh0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDcwNzQKCjIwMTMtMDgtMjkgMTU6NTU6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiB1cGRhdGUgY29uZmlnLmgKCjIwMTMtMDgtMjkgMTU6NDY6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogbWFrZSAibGF5ZXItbW9kZSIgcHJvcGVydHkgYW4gZW51bQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA4LTI5IDE0OjQ4OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA2LTI2IDExOjA3OjE0ICswOTAwICBLYXp1bm9yaSBLb2JheWFzaGkgPGtrb2JheWFzQGlnZWwuY28uanA+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICBkZmJ2aWRlb3Npbms6IHBvcnQgdG8gMS4wCgkgIGluY2x1ZGluZyB0aGUgZm9sbG93aW5nIHN1cHBvcnRzIGFuZCBmaXhlczoKCSAgKiBDcmVhdGUgRGlyZWN0RkIgc3VyZmFjZXMgZnJvbSBHc3RCdWZmZXJQb29sCgkgICogQWRkIE5WMTIgcGl4ZWwgZm9ybWF0IHN1cHBvcnQKCSAgKiBEb24ndCB1c2UgdGhlIGN1cnNvciBpbiB0aGUgZXhjbHVzaXZlIG1vZGUKCSAgLSBFbmFibGVDdXNvcigpIGNhbiBiZSBvbmx5IHVzZWQgd2hlbiB0aGUgYWRtaW5pc3RyYXRpdmUgbW9kZSBpcyBzZXQKCSAgaW4gRGlyZWN0RkIgMS42LjAgYW5kIGxhdGVyLgoJICAqIFN1cHBvcnQgbXVsdGlwbGUgcGxhbmUgcmVuZGVyaW5nIGZvciBwbGFuYXIgY29sb3IgZm9ybWF0cwoJICAtIFRoaXMgYWNjb21tb2RhdGVzIHRoZSBjaHJvbWEgcGxhbmUgb2Zmc2V0cyBvZiB0aGUgZnJhbWVidWZmZXIKCSAgaW4gcGxhbmFyIGZvcm1hdHMuCgkgICogSW52b2tlIFNldENvbmZpZ3VyYXRpb24gcmVnYXJkbGVzcyBvZiB2aWRlbyBtb2RlIHNldHRpbmcgaW4gc2V0Y2FwcygpCgkgIC0gU2V0Q29uZmlndXJhdGlvbigpIG1ldGhvZCBzaG91bGQgYmUgaW52b2tlZCByZWdhcmRsZXNzIG9mCgkgIHRoZSByZXN1bHQgb2YgZ3N0X2RmYnZpZGVvc2lua19nZXRfYmVzdF92bW9kZSgpLCBzaW5jZSB0aGUgdHdvIGFyZQoJICB1bnJlbGF0ZWQuCgkgICogRGlzYWJsZSBEaXJlY3RGQiBzaWduYWwgaGFuZGxlcgoJICAtICItLWRmYjpuby1zaWdoYW5kbGVyIiBvcHRpb24gaXMgcGFzc2VkIHRvIERpcmVjdEZCSW5pdCgpLgoJICBUaGlzIHByZXZlbnRzIERpcmVjdEZCIGZyb20gdHJ5aW5nIHRvIGtpbGwgdGhlIHByb2Nlc3MgYW5kIGFsbG93cwoJICBHU3RyZWFtZXIncyB0ZXJtaW5hdGlvbiBzZXF1ZW5jZSB0byBwcm9jZWVkIG5vcm1hbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNTIwCgoyMDEzLTA4LTI5IDEwOjIwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGF2ZHRwdXRpbDogU29tZSBtaW5vciBjbGVhbnVwIGFuZCBsZWFrIGZpeGVzCgoyMDEzLTA4LTI4IDE0OjI2OjA0ICswMjAwICBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBzdXBwb3J0IGFhYyBpbiBhdmR0cHNyYwoJICBTaWduZWQtb2ZmLWJ5OiBCZXJuaGFyZCBNaWxsZXIgPGJlcm5oYXJkLm1pbGxlckBzdHJlYW11bmxpbWl0ZWQuY29tPgoKMjAxMy0wOC0yOCAxMzoyNjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuNCA9PT0KCjIwMTMtMDgtMjggMTM6MDc6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjQKCjIwMTMtMDgtMjggMTM6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2hyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEzLTA4LTI4IDEyOjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IHVwZGF0ZSB0cmFuc2xhdGlvbnMKCjIwMTMtMDgtMjggMTE6MTM6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IG1hcmsgYXMgdW5zdGFibGUgQVBJCgoyMDEzLTA4LTI3IDE3OjA1OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBwb3NzaWJsZSByZWFkIGJleW9uZCBlbmQgb2YgYnVmZmVyIHdoZW4gcmVzeW5jaW5nCgoyMDEzLTA4LTI3IDExOjI3OjA0ICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBvbmx5IHVwZGF0ZSBzcmMgQ0FQUyB3aGVuIGl0J3MgbmVjZXNzYXJ5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjAgMTE6NTk6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCBzZXQgQ0FQUyBhbmQgcGFzc3Rocm91Z2ggbW9kZSBpZiBTUFMvUFBTIGhhdmUgbm90IGJlZW4gcGFyc2VkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU0NTIKCjIwMTMtMDgtMjYgMTM6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBzZXQgQloyX0xJQlMgaWYgYnoyIGlzIG5vdCBmb3VuZAoKMjAxMy0wOC0yNiAxMDoyMjowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJICB3ZWJwZGVjOiBTb21lIGNsZWFudXAgYW5kIG1pbm9yIGZpeGVzCgoyMDEzLTA4LTI0IDAwOjQ2OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3dlYnAvTWFrZWZpbGUuYW06CgkqIGV4dC93ZWJwL2dzdHdlYnAuYzoKCSogZXh0L3dlYnAvZ3N0d2VicGRlYy5jOgoJKiBleHQvd2VicC9nc3R3ZWJwZGVjLmg6CgkgIHdlYnA6IEFkZCBXZWJQIGltYWdlIGRlY29kZXIgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDYyODUKCjIwMTItMDktMDEgMjA6NDY6NDMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBuZXcgcHJvcGVydHkgdG8gY29udHJvbCBidXMgbWVzc2FnZXMgdXBkYXRlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1NjIyCgoyMDEzLTA4LTIzIDEyOjAxOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2VnbWVudGF0aW9uLmNwcDoKCSAgb3BlbmN2OiBGaXggaW5kZW50aW9uCgoyMDEzLTA4LTIzIDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkgIG9wZW5jdjogUG9ydCB0byBub24tZGVwcmVjYXRlZCBHTXV0ZXgvR0NvbmQgQVBJCgoyMDEzLTA4LTIzIDExOjM4OjA0ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdGRpc3Bhcml0eS5jcHA6CgkqIGV4dC9vcGVuY3YvZ3N0ZGlzcGFyaXR5Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkgIG9wZW5jdjogQWRkIGRpc3Bhcml0eS1tYXAgY2FsY3VsYXRpb24gZWxlbWVudAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NzYwCgoyMDEzLTA4LTIyIDE3OjMyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTMtMDgtMjIgMTY6MDc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgb3BlbmN2IGRlcGVuZGVuY3ksIDIuNC41IHdvcmtzIHRvby4KCjIwMTMtMDgtMjIgMTM6NDU6NTkgKzAyMDAgIEtpc2hvcmUgQXJlcGFsbGkgPGtpc2hvcmUuYXJlcGFsbGlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5oOgoJICBkaXJlY3Rzb3VuZHNyYzogQWRkICdkZXZpY2UtbmFtZScgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBhIGF1ZGlvIGRldmljZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2NTc0CgoyMDEzLTA4LTIyIDE0OjU2OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IGJ6MiBjb25maWd1cmUgY2hlY2sgZm9yIFdpbmRvd3MKCSAgRHVlIHRvIGZ1bmN0aW9uIGRlY29yYXRpb25zIG9uIFdpbmRvd3MgQUNfQ0hFQ0tfTElCIGNhbid0IGJlIHVzZWQgdG8gY2hlY2sgZm9yIGJ6Mi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTQ2NTkyNAoKMjAxMy0wOC0yMSAxNDo0NDozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBSZWZ1c2UgbmVnYXRpdmUgcmF0ZXMgd2hpY2ggd2UgZG9uJ3Qgc3VwcG9ydCB5ZXQKCSAgQW5kIHJlbW92ZSBhIGNoZWNrIHdoaWNoIHdhcyBkb25lIGJlZm9yZQoKMjAxMy0wMy0xMCAxNzowMjoxOCArMDEwMCAgSmVzcGVyIExhcnNlbiA8amVzcGVyLmxhcnNlbkBpeG9ub3MuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogU2V0IHRoZSBwcm9ncmFtIG51bWJlciBmcm9tIHByb2ctbWFwCgkgIFRoZSBwcm9nLW1hcCBwcm9wZXJ0eSBvZiBtcGVndHNtdXggb25seSBhbGxvd3MgeW91IHRvIGdyb3VwIHBpZHMgdG9nZXRoZXIgaW4gYSBwcm9ncmFtLgoJICBUaGUgcHJvZ3JhbSBudW1iZXIgc2V0IGluIHRoZSBQQVQvUE1UIHRhYmxlcyBjYW5ub3QgYmUgc2V0IGV4cGxpY2l0bHkuCgkgIFRoaXMgcGF0Y2ggd2lsbCBzZXQgdGhlIHByb2dyYW0gbnVtYmVyIGFjY29yZGluZyB0byB0aGUgcHJvZy1tYXAuCgkgIElmIGEgcHJvZ3JhbSBpZCBvZiAwIGlzIGdpdmVuLCB0aGUgZmlyc3QgdmFjYW50IHByb2dyYW0gbnVtYmVyIHN0YXJ0aW5nIGZyb20gMSB3aWxsIGJlIHVzZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcyMzkKCjIwMTMtMDgtMjEgMDg6NTg6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgZHZiOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo1ODoyMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBBZGFwdCBmb3IgbGF0ZXN0IG1wZWd0cyBsaWIgY2hhbmdlcwoKMjAxMy0wOC0yMSAwODo0MDoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uaDoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBtcGVndHM6IEFCSS9BUEkgYnJlYWs6IFVzZSBHUHRyQXJyYXkgaW5zdGVhZCBvZiBHQXJyYXkKCSAgV2hpbGUgaXQgd2FzIGEgZ3JlYXQgaWRlYSwgdmFyaW91cyBnLWkgYmFzZWQgYmluZGluZ3MgZG9uJ3Qgc3VwcG9ydAoJICBHQXJyYXkgd2l0aCBlbnRyaWVzIGdyZWF0ZXIgdGhhbiBzaXplb2YoZ3BvaW50ZXIpIDooCgkgIFNvIGxldCdzIGp1c3QgbWFrZSBldmVyeWJvZHkgaGFwcHkgYnkganVzdCB1c2luZyBHUHRyQXJyYXkuCgkgIEFuZCBzaW5jZSB3ZSdyZSBicmVha2luZyB0aGUgQVBJLCBhbHNvIHJlbmFtZSB0aGUgdmFyaW91cyBkZXNjcmlwdG9yIGZpZWxkcwoJICB0byBubyBsb25nZXIgaGF2ZSB0aGUgZGVzY3JpcHRvcl8gcHJlZml4LgoJICBJdCBkb2VzIGNvc3QgYSBiaXQgbW9yZSBpbiB0ZXJtcyBvZiBtZW1vcnkvY3B1IHVzYWdlLCBidXQgbWFrZXMgaXQgdXNhYmxlCgkgIGZyb20gYmluZGluZ3MuCgoyMDEzLTA4LTE5IDE1OjMxOjUxIC0wNDAwICBSb2JlcnQgS3Jha29yYSA8cm9iLmtyYWtvcmFAbWVzc2FnZW5ldHN5c3RlbXMuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NHNyYzogZG9uJ3QgZXJyb3Igb3V0IG9uIGluY29tcGxldGUgYXV4IGRhdGEgc2VnbWVudAoJICBJdCBhcHBlYXJzIHRoYXQgdGhlIExvZ2l0ZWNoIEM5MjAgc29tZXRpbWVzIGRyb3BzIHRoZSBuZXh0CgkgIHRvIGxhc3Qgc2VnbWVudCBvZiBSQVcgYXV4IGRhdGEgY29udGFpbmVkIHdpdGhpbiB0aGUgTUpQRUcKCSAgY29udGFpbmVyLiAgSDI2NCBkYXRhIHRoYXQgaXMgbXVsdGlwbGV4ZWQgd2l0aCBpbiB0aGUgc2FtZQoJICBjb250YWluZXIgZG9lcyBub3QgYXBwZWFyIHRvIGJlIGFmZmVjdGVkLiAgVGhpcyBhcHBlYXJzIHRvCgkgIGJlIGEgYnVnIGluIHRoZSBMb2dpdGVjaCBDOTIwIGZpcm13YXJlIGFuZCB1dmNoMjY0c3JjIHNob3VsZAoJICBub3QgZXJyb3Igb3V0IGluIHRoaXMgY2FzZS4KCSAgU29tZXRpbWVzIGl0IGNhbiB0YWtlIDI0IGhvdXJzIG9mIGNvbnRpbnVvdXMgc3RyZWFtaW5nIGZvcgoJICB0aGUgcHJvYmxlbSB0byBvY2N1ciwgYnV0IHNvbWV0aW1lcyBpdCB0YWtlcyBvbmx5IGEgY291cGxlCgkgIG9mIGhvdXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2Mjc2CgoyMDEzLTA4LTIwIDE2OjAxOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogVXNlIGlucHV0IGZyYW1lcmF0ZSB3aGVuIHBvc3NpYmxlCgkgIGlmIGlucHV0IGlzIDMwMDAwLzEwMDEgLi4uIHVzZSAyNDAwMC8xMDAxIGFzIHRoZSBvdXRwdXQgZml4YXRlZCBmcmFtZXJhdGUKCjIwMTMtMDgtMTUgMTE6NDU6MzQgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDNtdXg6IGhhbmRsZSBwdWJsaXNoZXIsIGludGVycHJldGVkLWJ5IGFuZCBtdXNpY2FsLWtleSB0YWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTkKCjIwMTMtMDgtMjAgMTM6Mjk6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzd2l0Y2ggc3RhdGVtZW50IGluIGxldmVsIGRldGVjdGlvbiBjb2RlCgkgIFByb3Blcmx5IGZhbGwgdGhyb3VnaCB0aGUgY2FzZXMgd2l0aG91dCByZS1hc3NpZ25pbmcgdGhlIGxldmVsIHRvCgkgIHRoZSB3cm9uZyB2YWx1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNjM2OQoKMjAxMy0wOC0xOSAxNzoyMzoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGb3J3YXJkIHNlZ21lbnQgZXZlbnQgYWZ0ZXIgY2FwcwoJICBTdG9yZSBpdCB1bnRpbCB3ZSBrbm93IHdoYXQgb3VyIGNhcHMgYXJlLgoKMjAxMy0wOC0yMCAwMDoyNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0OiBmaXggY29tcGlsZXIgd2FybmluZyBpbiBhaWZmcGFyc2UgdGVzdCBvbiAzMi1iaXQgeDg2CgoyMDEzLTA4LTE5IDA5OjI1OjIwICswMDAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IGNvcHlyaWdodAoKMjAxMy0wOC0xNyAwMDoyMjo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHNvbWUgbGVha3MgaW4gYWlmZnBhcnNlIHVuaXQgdGVzdAoKMjAxMy0wOC0xNyAwMDowOToxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FpZmZwYXJzZS5jOgoJICB0ZXN0czogZml4IHN0YXRlIGNoYW5nZSBvcmRlciBpbiBhaWZmcGFyc2UgdGVzdAoJICBEbyBzdGF0ZSBjaGFuZ2VzIGZyb20gc2luayB0byBzcmMuIEZpeGVzIHJhY2UgY29uZGl0aW9uIGluCgkgIHB1bGwgbW9kZSB0ZXN0IHdoZXJlIHRoZSBzb3VyY2Ugd2lsbCBzdGFydCB1cCBhbmQgcHVzaCBidWZmZXJzCgkgIHRvIHF1ZXVlL2lkZW50aXR5IG9yIGFpZmZwYXJzZSBiZWZvcmUgdGhlIG1haW4gdGhyZWFkIGhhcwoJICBtYW5hZ2VkIHRvIHNldCB0aGVtIHRvIHBsYXlpbmcgeWV0LgoKMjAxMy0wOC0xMiAxODozMzozOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9haWZmcGFyc2UuYzoKCSogdGVzdHMvZmlsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ZpbGVzL3MxNmJlLWlkM3YyLmFpZmY6CgkgIGFpZmZwYXJzZTogYWRkIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTcgMDA6MjM6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBkb24ndCBsZWFrIGFkYXB0ZXIKCjIwMTMtMDgtMTUgMTM6NTg6NDggKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzL25ld3NlZ21lbnQvc2VnbWVudC8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTk5MwoKMjAxMy0wOC0xMyAxODo0Mjo1NSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IGZpeCBwdXNoIG1vZGUKCSAgRml4IHB1c2ggbW9kZSBieSBoYW5kbGluZyBzaW5rIGV2ZW50cyAoQ0FQUywgU0VHTUVOVCkgcHJvcGVybHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5OTMKCjIwMTMtMDgtMTYgMTU6NDE6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFJlcGFyc2UgdGhlIGNvbmZpZyBpZiB0aGUgc2l6ZSBjaGFuZ2VkCgkgIEFsc28gb25seSByZS1pc3N1ZSB0aGUgY2FwcyB1cGRhdGUgaWYgdGhlIHBhcnQgb2YgdGhlIGNvbmZpZyB0aGF0CgkgIGNoYW5nZWQgaXMgb25lIHdlIGNhcmUgYWJvdXQuCgoyMDEzLTA4LTE2IDE5OjQ4OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBmaXggYnVmZmVycyBiZWluZyBkcm9wcGVkIGR1ZSB0byBzaGFkb3dlZCB2YXJpYWJsZQoJICBTcG90dGVkIGJ5IGdzdGJsdWJAZ21haWwuY29tLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA2MDkxCgoyMDEzLTA4LTA4IDExOjE5OjAwICswMTAwICBDaHJpcyBCYXNzIDxmbG9vYmxlZmxhbUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvZmZzZXQgc2VnbWVudCBudW1iZXJzIGJ5IHN0YXJ0TnVtYmVyCgkgIEZvciBTZWdtZW50VGVtcGxhdGUgZWxlbWVudHMgY29udGFpbmluZyBhIHN0YXJ0TnVtYmVyIGF0dHJpYnV0ZSwgdGhlCgkgIGBudW1iZXInIG1lbWJlciBvZiBHc3RNZWRpYVNlZ21lbnRzIHNob3VsZCBiZSBvZmZzZXQgYnkgdGhlIHZhbHVlIG9mCgkgIHN0YXJ0TnVtYmVyOyBob3dldmVyLCB0aGlzIGlzIG5vdCBjdXJyZW50bHkgdGhlIGNhc2UuIEFzIGEgcmVzdWx0LCB0aGUKCSAgZmlyc3QgVVJJKHMpIHJlcXVlc3RlZCBieSB0aGUgZG93bmxvYWQgbG9vcCB3aWxsIGJlIHdyb25nLgoJICBUaGlzIGNvbW1pdCBlbnN1cmVzIHRoYXQgc2VnbWVudCBudW1iZXJzIHdpbGwgYmUgb2Zmc2V0IGJ5IHN0YXJ0TnVtYmVyCgkgIHdoZW4gb25lIGlzIHByZXNlbnQgaW4gYSBTZWdtZW50VGVtcGxhdGUgZWxlbWVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY2MQoKMjAxMy0wOC0wOCAxNToxOToxNSArMDEwMCAgQ2hyaXMgQmFzcyA8Zmxvb2JsZWZsYW1AZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGluY29ycmVjdCB0aW1lc3RhbXAgc2NhbGluZy4KCSAgV2hlbiB1c2luZyBhIFNlZ21lbnRUZW1wbGF0ZSBlbGVtZW50LCB0aGUgdGltZXN0YW1wcyBvZiB0aGUgYnVmZmVycwoJICBvdXRwdXQgYnkgZGFzaGRlbXV4IGFyZSBpbmNvcnJlY3QsIGNhdXNpbmcgcHJvYmxlbXMgZG93bnN0cmVhbS4KCSAgVGhlIHJlYXNvbiBpcyB0aGF0IEdzdE1lZGlhU2VnbWVudCBzdGFydCB0aW1lcyBhcmUgY2FsY3VsYXRlZCAoaW4KCSAgZ3N0X21wZHBhcnNlcl9nZXRfY2h1bmtfYnlfaW5kZXgpIGJ5IG11bHRpcGx5aW5nIHNlZ21lbnQgaW5kZXggYnkKCSAgc2VnbWVudCBkdXJhdGlvbiBhbmQgdGhlbiBzY2FsaW5nIHRoZSByZXN1bHQgYWNjb3JkaW5nIHRoZSBgdGltZWJhc2UnCgkgIGF0dHJpYnV0ZSBmcm9tIHRoZSBNUEQuIEhvd2V2ZXIsIHRoZSBzZWdtZW50IGR1cmF0aW9uIGlzIGFscmVhZHkgYQoJICBHc3RDbG9ja1RpbWUgKGkuZS4sIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2NhbGVkIGFjY29yZGluZyB0byB0aGUgdGltZWJhc2UKCSAgZnJvbSB0aGUgTVBEIGFuZCBjb252ZXJ0ZWQgdG8gYSBuYW5vc2Vjb25kIHZhbHVlKSwgc28gbXVsdGlwbHlpbmcgaXQgYnkKCSAgdGhlIHNlZ21lbnQgaW5kZXggd2lsbCBnaXZlIHRoZSBjb3JyZWN0IHRpbWVzdGFtcCB3aXRob3V0IHRoZSBuZWVkIGZvcgoJICBhbnkgZnVydGhlciBzY2FsaW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc5CgoyMDEzLTA4LTE1IDIwOjEyOjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvc3RhdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJICBleGFtcGxlczogcmVtb3ZlIGFub3RoZXIgb2Jzb2xldGUgZXhhbXBsZQoKMjAxMy0wOC0xNSAxNTo0Njo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIGV4dDogVXNlIG5ldyBmbHVzaCB2ZnVuYyBvZiB2aWRlbyBjb2RlYyBiYXNlIGNsYXNzZXMgYW5kIHJlbW92ZSByZXNldCBpbXBsZW1lbnRhdGlvbnMKCjIwMTMtMDgtMTQgMTk6MTI6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSAgZXhhbXBsZXM6IHJlbW92ZSBwcmVoaXN0b3JpYyBleGFtcGxlcwoKMjAxMy0wOC0xNCAxODoxNzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmg6CgkgIGludGVyYXVkaW9zcmM6IG1ha2Ugc2lsZW5jZSBtZW1vcnkgYWN0dWFsbHkgY29udGFpbiBzaWxlbmNlCgkgIGluc3RlYWQgb2YgcmFuZG9tIGRhdGEuIFJlcG9ydGVkIGJ5IE1hcmNvIE1pY2hlbGV0dGkgb24KCSAgZ3N0cmVhbWVyLWRldmVsLgoKMjAxMy0wOC0xNCAxMzoyNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBmaXggY3JpdGljYWxzIHdoZW4gdHJ5aW5nIHRvIGNhc3QgYSBHc3RQYWQgdG8gYSBHc3RFbGVtZW50CgkgIG1lc3NhZ2UtPnNyYyBtaWdodCBiZSBhIEdzdFBhZC4gT2JzZXJ2ZWQgZHVyaW5nIGdzdC1pbnNwZWN0LTEuMCAtYQoKMjAxMy0wOC0xNCAxMzo1OToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzLy5naXRpZ25vcmU6CgkgIC5naXRpZ25vcmU6IFVwZGF0ZSBmb3IgbmV3IGZpbGVzIHRvIGlnbm9yZQoKMjAxMy0wOC0xNCAxMzo0MTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkgIHBlc3BhcnNlOiBSZWZhY3Rvcnkgc2Vjb25kYXJ5IFBFUyBleHRlbnNpb24gaGFuZGxpbmcKCSAgU29tZSBzdHJlYW1zIGhhZCB3cm9uZyB2YWx1ZXMgZm9yIHRoZSBzdHJlYW1faWRfZXh0ZW5zaW9uLCBtYWtlIHN1cmUKCSAgd2Ugb25seSByZW1lbWJlciB0aGUgdmFsaWQgb25lcy4KCSAgRm9yIHN0cmVhbXMgd2l0aCBQRVNfZXh0ZW5zaW9uX2ZpZWxkX2xlbmd0aCA9PSAwLCBhc3N1bWUgdGhlcmUncyBub3RoaW5nCgkgIGVsc2UuCgkgIEZvciBzdHJlYW1zIHRoYXQgc3RhdGUgdGhleSBoYXZlIGEgVFJFRiBleHRlbnNpb24gYnV0IGRvbid0IGhhdmUgZW5vdWdoCgkgIGRhdGEgdG8gc3RvcmUgaXQsIGp1c3QgYXNzdW1lIGl0IHdhcyBwcm9kdWNlZCBieSBhIG5vbi1jb21wbGlhbnQgbXV4ZXIKCSAgYW5kIHNraXAgdGhlIHJlbWFpbmluZyBkYXRhLgoJICBPbmx5IHN0b3JlIHJlbWFpbmluZyBkYXRhIGluIHN0cmVhbV9pZF9leHRlbnNpb25fZGF0YSBpbnN0ZWFkIG9mIHN0b3JpbmcKCSAgZGF0YSB3ZSBhbHJlYWR5IHBhcnNlLgoKMjAxMy0wOC0xNCAxMDo0NzozMSArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVybWVyYWxpQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogUmVtb3ZlIHVubmVlZGVkIHVucmVmIGFuZCBvbmx5IHNldCBwYWQgY2FwcyBpZiB3ZSBoYXZlIGNhcHMKCSAgRml4ZXMgY3Jhc2hlcyBkdWUgdG8gaW52YWxpZCB1bnJlZnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU5NTcKCjIwMTMtMDgtMTQgMTA6Mzk6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBGaXggcGVzIGV4dGVuc2lvbiBkYXRhIGxlbmd0aCBjaGVjawoJICBBbmQgcmVtb3ZlIGxlbmd0aC9kYXRhIHVwZGF0ZXMgKHdlIHVzZSB0aGUgaGVhZGVyIHNpemUganVzdCBiZWxvdyB0bwoJICBwcm9wZXJseSBzZXQgdGhlbSkuCgkgIEJhc2VkIG9uIGZlZWRiYWNrIGZyb20gU3RhcyBTZXJnZWV2IDxzdHNwQGxpc3QucnU+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTczNDMKCjIwMTMtMDgtMTQgMTA6MzM6MTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBwZXNwYXJzZTogUmVtb3ZlIHVudXNlZCBhcmd1bWVudAoJICBXZSBhbHdheXMgcHJvdmlkZWQgMCBhcyB0aGUgb2Zmc2V0IGFuZCBuZXZlciB1c2VkIHRoZSByZXR1cm5lZCB2YWx1ZS4KCSAgQmFzZWQgb24gZmVlZGJhY2sgZnJvbSBTdGFzIFNlcmdlZXYgPHN0c3BAbGlzdC5ydT4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzM0MwoKMjAxMy0wOC0xMyAxNzo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvcGFyc2U6IHR1cm4gaW50ZXJuYWwgY29uc2lzdGVuY3kgY2hlY2sgaW50byBhIGdfYXNzZXJ0KCkKCSAgV2Ugb25seSBjaGVjayBpbnB1dCBmcm9tIHRoZSBBUEkgdXNlciB3aXRoIGdfcmV0dXJuXypfaWZfZmFpbCgpLgoJICBJbnRlcm5hbCBzYW5pdHkgY2hlY2tzIHNob3VsZCB1c2UgZ19hc3NlcnQoKSBpbnN0ZWFkLCB3aGljaCBpcwoJICBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciByZWxlYXNlcy4KCjIwMTMtMDgtMTMgMTc6NDU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogbWlub3IgZG9jIGZpeGVzCgoyMDEzLTA4LTEzIDEyOjQxOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiB1c2UgZ3N0X2RhdGFfcXVldWVfcHVzaF9mb3JjZSBmb3IgYWRkaW5nIGV2ZW50cyB0byBxdWV1ZQoJICBUaGlzIHByZXZlbnRzIGxvY2tpbmcgb24gc3RhcnR1cCB3aGVuIGEgc3RyZWFtIG9ubHkgaGFzIGEgc2luZ2xlIGJ1ZmZlcgoJICBmb3Igb25lIG9mIHRoZSBzdHJlYW1zIGFuZCBtc3NkZW11eCBkZWNpZGVzIHRvIHB1c2ggYW4gRU9TIGV2ZW50IHJpZ2h0CgkgIGFmdGVyIGl0LgoKMjAxMy0wOC0wOCAxMzozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdXNlIHB1c2hfZm9yY2Ugd2hlbiBhZGRpbmcgZXZlbnRzIHRvIHRoZSBkYXRhcXVldWUKCSAgVGhpcyBwcmV2ZW50cyBkZWFkbG9ja3Mgb24gc3RhcnR1cCBvbiBmaWxlcyB0aGF0IGhhdmUgb25seSBhIHZlcnkKCSAgbGFyZ2UgYnVmZmVyIGZvciBhIHN0cmVhbSBhbmQgdGhlIHF1ZXVlIGlzIGZpbGxlZCBhbmQgd2lsbCBsb2NrIG9uCgkgIHRoZSBlb3MgZXZlbnQgdGhhdCBpcyBwdXNoZWQgYWZ0ZXIgdGhlIGJ1ZmZlci4gQXMgbm8gYnVmZmVycyBoYXZlIHlldAoJICBiZWVuIHB1c2hlZCB0byBvdGhlciBzdHJlYW1zLCB0aGUgcGlwZWxpbmUgbG9ja3Mgb24gcHJlcm9sbAoKMjAxMy0wNy0zMCAxNToxNzoyMyArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHN1cHBvcnQgZmllbGQgZW5jb2RpbmcgZm9yIGludGVybGFjZWQgdmlkZW8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTE0NAoKMjAxMy0wOC0xMiAwMTowMjo1MSAtMDQwMCAgQWxleGFuZHJlIFJvc3RvdnRzZXYgPHRldHJvbWlub0BnZW50b28ub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBuZW9uaHR0cHNyYzogYWxsb3cgYnVpbGRpbmcgd2l0aCBuZW9uLTAuMzAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTgxMgoKMjAxMy0wOC0xMiAxMjoyNzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBMZXQgcGFja2V0cyB0aHJvdWdoIHdpdGhvdXQgdG91Y2hpbmcgdGhlbSBpZiBubyBjcnlwdG8gb3IgYXV0aCBpcyBzZXQKCjIwMTMtMDgtMTIgMTI6Mjc6MTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IFJlZmFjdG9yIGNvZGUgYSBiaXQKCSAgU2ltcGxpZnkgdGhlIGVycm9yIGhhbmRsaW5nIGNhc2UgYW5kIGdldCB0aGUgcGFja2V0IHB1c2ggb3V0IG9mIHRoZSBpZigpCgoyMDEzLTA4LTEyIDExOjU2OjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5jOgoJICBzcnRwZGVjOiBEb24ndCBlcnJvciBvbiBpbnZhbGlkIHBhY2tldCwganVzdCBkcm9wIGl0CgoyMDEzLTA4LTA3IDE1OjAxOjMzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBGaXggdGhlIFNlcXVlbmNlTGF5ZXIgaGFuZGxpbmcgZm9yIGFkdmFuY2VkIHByb2ZpbGUuCgkgIFRoZSBTZXF1ZW5jZSBIZWFkZXIgRGF0YSBTdHJ1Y3R1cmUgU1RSVUNUX0MgZm9yIEFkdmFuY2VkIFByb2ZpbGUKCSAgaGFzIG9ubHkgYSBvbmUgdmFsaWQgZmllbGQgd2hpY2ggaXMgdGhlIHByb2ZpbGUgaW5kaWNhdG9yLiBEb24ndAoJICB1c2UgdGhlIHJlc2VydmVkIGZpZWxkcyBmb3IgZnBzIHVwZGF0ZSBsaWtlIFNpbXBsZS9NYWluIHByb2ZpbGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NjcKCjIwMTMtMDgtMDcgMTQ6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IEZpeCBzZXEgaGRyIFNUUlVDVF9BIGhhbmRsaW5nIGZvciBhZHZhbmNlZCBwcm9maWxlLgoJICBUaGUgU2VxdWVuY2UgSGVhZGVyIERhdGEgU3RydWN0dXJlIFNUUlVDVF9BIGZvciBhZHZhbmNlZCBwcm9maWxlCgkgIG1heSBiZSBlaWdodCBjb25zZWN1dGl2ZSB6ZXJvIGJ5dGVzLkRvbid0IHRyeSB0byBvdmVycmlkZSB0aGUKCSAgd2lkdGggYW5kIGhlaWdodCB2YWx1ZXMgaW4gdGhpcyBjYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NjY3CgoyMDEzLTA4LTA3IDEwOjE0OjIwICswMTAwICBNYXR0aGlldSBCb3Vyb24gPG1hdHRoaWV1LmJvdXJvbkBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZml4IFNTTkQgZGF0YSBzaXplCgkgIEFJRkYgY2h1bmsgc2l6ZSBkb2VzIG5vdCBpbmNsdWRlIHRoZSBjaHVuayBoZWFkZXIgc2l6ZSAoOCBieXRlcyksIHNvIHRoZQoJICBTU05EIGRhdGEgc2l6ZSBpcyBlcXVhbCB0byB0aGUgY2h1bmsgc2l6ZSBtaW51cyB0aGUgU1NORCBoZWFkZXIgc2l6ZSAoOAoJICBieXRlcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzUKCjIwMTMtMDctMTMgMDI6NTA6NTIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBleHQvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgc3VwcG9ydCBmb3IgcmVkaXJlY3Rpb25zCgoyMDEzLTA4LTAyIDIwOjM3OjMwICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VuZCBjb2RlYyB0YWcgZm9yIGVhY2ggc3RyZWFtCgoyMDEzLTA4LTEwIDIxOjM0OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkgIHRlc3RzOiB1dmNoMjY0ZGVtdXg6IHNlbmQgc3RyZWFtLXN0YXJ0IGV2ZW50cyBhbmQgZml4IGV2ZW50IG9yZGVyCgoyMDEzLTA4LTEwIDIxOjMzOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NG1qcGdkZW11eDogZml4IGV2ZW50IG9yZGVyaW5nCgoyMDEzLTA4LTEwIDIwOjAyOjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IG1wbGV4OiBmaXggJ0dvdCBkYXRhIGZsb3cgYmVmb3JlIHN0cmVhbS1zdGFydCBldmVudCcgZmFpbHVyZQoKMjAxMy0wOC0xMCAxOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIHRlc3RzOiBtcGVnMmVuYzogZml4ICdHb3QgZGF0YSBmbG93IGJlZm9yZSBzdHJlYW0tc3RhcnQgZXZlbnQnIGZhaWx1cmUKCjIwMTMtMDgtMTAgMTk6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggQ0FQUyBxdWVyeQoJICBXYXMgY2F1c2luZyBjcml0aWNhbHMgaW4gZGVjb2RlYmluL3BsYXliaW4gYmVjYXVzZSB0aGUgY2FwcwoJICBxdWVyeSBkb25lIHdoZW4gZXhwb3NpbmcgcGFkcyB3b3VsZCByZXR1cm4gQU5ZIGNhcHMuCgoyMDEzLTA4LTEwIDE5OjQzOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogZG9uJ3QgdW5yZWYgTlVMTCBidWZmZXIKCjIwMTMtMDgtMDcgMTk6MDg6MzMgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBzZXQgbWlzc2luZyBsYXlvdXQgZmllbGQgaW4gc3JjcGFkIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTY3NAoKMjAxMy0wOC0wNyAxNzoyODoyOSArMDEwMCAgTWF0dGhpZXUgQm91cm9uIDxtYXR0aGlldS5ib3Vyb25AY29sbGFib3JhLmNvbT4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IHNlbmQgc3RhcnQgc3RyZWFtIGV2ZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDU2NzQKCjIwMTMtMDgtMDYgMTY6NTM6MzcgKzAxMDAgIE1hdHRoaWV1IEJvdXJvbiA8bWF0dGhpZXUuYm91cm9uQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSAgYWlmZnBhcnNlOiBmaXggYnVmZmVycyBpbml0aWFsaXNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1Njc0CgoyMDEzLTA4LTAyIDE0OjExOjAxICswMjAwICBMdWJvc3ogU2FybmVja2kgPGx1Ym9zekBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBhZGQgc3ViZGlyLW9iamVjdHMgdG8gQU1fSU5JVF9BVVRPTUFLRQoJICBGaXhlcyB3YXJuaW5ncyB3aXRoIGF1dG9tYWtlIDEuMTQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTI6MDkgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNyZWF0ZS9yZW1vdmUgb3JjIGRpcmVjdG9yeSBhdCBwcm9wZXIgdGltZQoJICBCZWZvcmUgYXV0b21ha2UgY3JlYXRlcyAuZGVwcyBkaXJlY3RvcmllcywgYW5kIGR1cmluZyBkaXN0Y2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNTAKCjIwMTMtMDgtMDkgMjA6MTA6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIGJhc2VhdWRpb3Zpc3VhbGl6ZXIgdGVzdCB3aXRoIHN1YmRpci1vYmplY3RzIG9wdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzUwCgoyMDEzLTA4LTA3IDA5OjA0OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBVc2Ugc2xpY2UgdHlwZSB0byBkZXRlcm1pbmUgaWYgZnJhbWUgaXMga2V5ZnJhbWUKCSAgVGhpcyBpcyB0aGUgc2FtZSBiZWhhdmlvdXIgYXMgcHJlLWJhc2VwYXJzZS1yZWZhY3RvcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1NTk4CgoyMDEzLTA4LTAzIDE0OjIwOjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRG8gbm90IHRyaWdnZXIgY2FwcyB1cGRhdGUgaWYgd2Ugb25seSBoYXZlIFBQUyB1cGRhdGVzCgkgIFVwZGF0aW5nIGNhcHMgcmVzdWx0cyBpbiBkb3duc3RyZWFtIGVsZW1lbnRzIHBvdGVudGlhbGx5IHJlY29uZmlndXJpbmcgdGhlbXNlbHZlcwoJICAoc3VjaCBhcyBkZWNvZGVycykuIElmIHdlIGRvIHRoaXMgaW4gdGhlIG1pZGRsZSBvZiBrZXlmcmFtZXMsIHdlIHdvdWxkIHJlc3VsdAoJICBpbiB0aG9zZSBlbGVtZW50cyBiZWluZyByZWNvbmZpZ3VyZWQgYW5kIGhhbmRsaW5nIGdhcmJhZ2UgdW50aWwgdGhlIG5leHQga2V5ZnJhbWUuCgkgIEluc3RlYWQgb2YgdGhpcyBvbmx5IHNlbmQgKHBvdGVudGlhbGx5KSBuZXcgY29kZWNfZGF0YSB3aGVuIHdlIGhhdmUgKmJvdGgqIFNQUyBhbmQKCSAgUFBTLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MzMzCgoyMDEzLTA3LTMxIDExOjU2OjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogcXVpZXQgRklYTUUgd2hlbiBpdCdzIG5vdCByZWxldmFudAoKMjAxMy0wNy0zMSAxMTo1NDowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkgIGl2dGM6IGltcGxlbWVudCBuZXcgZWRnZS1kaXJlY3RlZCB1cHNhbXBsaW5nCgoyMDEzLTA4LTAzIDE4OjA3OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiByZW1vdmUgdXNlIG9mIF9YT1BFTl9TT1VSQ0UKCSAgV2hpY2ggY2F1c2VzIHByb2JsZW1zIHdoZW4gdXNlZCB3aXRoIF9HTlVfU09VUkNFIGFwcGFyZW50bHksIGFuZCBpdAoJICBzZWVtcyBpdCB3YXMgb25seSBzZXQgYmVjYXVzZSBvZiB1c2xlZXAoKSwgd2hpY2ggd2UgY2FuIGp1c3QgcmVwbGFjZQoJICB3aXRoIGdfdXNsZWVwKCkgdW50aWwgd2UgZ2V0IHJpZCBvZiB0aG9zZSBlbnRpcmVseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNTIwOAoKMjAxMy0wOC0wMiAxNToxMjoxNyArMDIwMCAgQmVybmhhcmQgTWlsbGVyIDxiZXJuaGFyZC5taWxsZXJAc3RyZWFtdW5saW1pdGVkLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogcmV0dXJuIEdTVF9GTE9XX0VPUyBpbiBhdmR0cHNyYyBjcmVhdGUgd2hlbiBzdHJlYW0gaXMgRU9GCgkgIFNpZ25lZC1vZmYtYnk6IEJlcm5oYXJkIE1pbGxlciA8YmVybmhhcmQubWlsbGVyQHN0cmVhbXVubGltaXRlZC5jb20+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUzNDkKCjIwMTMtMDgtMDEgMTE6MDE6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogTG9vayBoYXJkZXIgZm9yIG5leHQgc3luYyBwb3NpdGlvbgoJICBJZiBldmVyIHdlIGxvc2Ugc3luYywgd2Ugd2VyZSBqdXN0IGNoZWNraW5nIGZvciB0aGUgbmV4dCAweDQ3IG1hcmtlciAuLi4KCSAgd2hpY2ggbWlnaHQgYWN0dWFsbHkgaGFwcGVuIHdpdGhpbiBhIG1wZWctdHMgcGFja2V0LgoJICBJbnN0ZWFkIGNoZWNrIGZvciAzIHJlcGVhdGluZyAweDQ3IGF0IHRoZSBleHBlY3RlZCBwYWNrZXQgc2l6ZSBpbnRlcnZhbCwKCSAgd2hpY2ggdGhlIHNhbWUgbG9naWMgd2UgdXNlIHdoZW4gd2UgaW5pdGlhbGx5IGxvb2sgZm9yIHRoZSBwYWNrZXQgc2l6ZS4KCjIwMTMtMDgtMDEgMTA6NTg6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IFBDUiBMVVQgdGFibGUKCSAgV2Ugd2VyZSBvbmx5IHJlc2V0dGluZyB0aGUgZmlyc3QgNTEyIHZhbHVlcyBvZiB0aGUgbG9va3VwIHRhYmxlIGluc3RlYWQKCSAgb2YgdGhlIHdob2xlIDgxOTIuCgkgIFRoaXMgcmVzdWx0ZWQgaW4gYW55IFBDUiBQSUQgb3ZlciAweDAyMDAgLi4uIGVuZGluZyB1cCB0YWtpbmcgdGhlIGZpcnN0IFBDUgoJICB0YWJsZSBhcm91bmQgOigKCjIwMTMtMDctMzAgMjI6MDY6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHByb3Blcmx5IGVycm9yIG91dCB3aGVuIG1hbmlmZXN0IGhhcyBubyBzdHJlYW1zCgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHRoZSBtYW5pZmVzdCBpcyBwYXJzZWQgYW5kIG5vIHZhbGlkIHN0cmVhbXMKCSAgYXJlIGZvdW5kIGJlIGFjdGl2YXRlZCBhbmQgdXNlZC4KCSAgRml4ZXMgIzcwNDMwOAoKMjAxMy0wNy0zMCAxNjowODoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0czogcHJpdmF0ZS90ZWxldGV4dCAtPiBhcHBsaWNhdGlvbi94LXRlbGV0ZXh0CgoyMDEzLTA3LTI5IDIxOjI1OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogdXBkYXRlCgoyMDEzLTA3LTI5IDIxOjI0OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgdGVzdHM6IGlnbm9yZSBuZXcgZXhhbXBsZSBiaW5hcmllcwoKMjAxMy0wNy0yOSAyMToyMzo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9oci5wbzoKCSogcG8vaHUucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vc3YucG86CgkqIHBvL3ZpLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMy0wNy0yOSAxNDo0ODowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMyA9PT0KCjIwMTMtMDctMjkgMTM6NTI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hY2N1cmlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVnbGdsZXNzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjMKCjIwMTMtMDctMjkgMTM6NTI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDctMjkgMTI6MTc6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGk6IEZpeCBoYW5kbGluZyBvZiB0aGUgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAxMjoxNDowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBnc3Q6IERvbid0IHN3YXAgc3RhcnQvc3RvcCBmb3IgbmVnYXRpdmUgcmF0ZXMgaW4gdGhlIFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSW1wbGVtZW50IFNFR01FTlQgcXVlcnkKCjIwMTMtMDctMjkgMTE6MDE6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEltcGxlbWVudCBTRUdNRU5UIHF1ZXJ5CgoyMDEzLTA3LTI5IDExOjAwOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBJbXBsZW1lbnQgU0VHTUVOVCBxdWVyeQoKMjAxMy0wNy0yOSAwOTozNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2Rlc2MuYzoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3R3YXRjaGRvZy5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZGlmZi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5LmM6CgkgIGFsbDogRml4IGZvciBHU1RfRElTQUJMRV9HU1RfREVCVUcKCSAgV2hlcmUgYXBwbGljYWJsZSwgcmVtb3ZlIG1ldGhvZHMgdGhhdCBkb24ndCBkbyBhbnl0aGluZyBkaWZmZXJlbnQgdGhhbgoJICB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbi4KCjIwMTMtMDctMjkgMDg6NDY6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGRvY3Mvc3BlYzogUmVhbGx5IHJlbW92ZSBhbGwgbWVudGlvbnMgb2YgQ0VMVCBwbHVnaW4KCjIwMTMtMDctMjkgMDg6Mjk6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTaG93IE5BTFUgc3RyaW5nIHR5cGUgaW4gZGVidWcgbWVzc2FnZXMKCSAgSWYgeW91IGtub3cgdGhlIE5BTFUgdHlwZSBieSBoZWFydCBJIHRpcCBteSBoYXQgdG8geW91LCBmb3IgdGhlIHJlc3Qgb2YKCSAgdXMgbWVyZSBtb3J0YWxzIHRoaXMgaXMgYSBiaXQgbW9yZSBoZWxwZnVsCgoyMDEzLTA3LTI5IDA4OjI4OjE3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1bnVzZWQgbWFjcm9zCgoyMDEzLTA3LTI5IDA4OjIzOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbW9yZSBBQzMgZGV0ZWN0aW9uIGNhc2VzCgkgIEFUU0MgYWMzIHN0cmVhbXMgYXJlIGFsd2F5cyBndWFyYW50ZWVkIHRvIGJlIEFDMyBpZiBFQUMzIGRlc2NyaXB0b3IKCSAgaXMgbm90IHByZXNlbnQKCSAgSWYgc3RyZWFtIHJlZ2lzdHJhdGlvbiBpZCBpcyAnQUMtMycgdGhlbiBpdCdzIGFsc28gZ3VhcmFudGVlZCB0byBiZSBBQzMuCgkgIEZpbmFsbHkgaWYgQUMzIGRlc2NyaXB0b3IgaXMgcHJlc2VudCBpdCdzIGd1YXJhbnRlZWQgdG8gYmUgQUMzLgoJICBPbmx5IHNpbGVuY2VzIGEgd2FybmluZywgYnV0IHN0aWxsLgoKMjAxMy0wNy0yOSAwODoyMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGbHVzaCBvdXQgcGVuZGluZyBkYXRhIG9uIEVPUwoJICBFbnN1cmVzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVjb2RlcnMpIHJlYWxseSBnZXQgYWxsIHRoZSBkYXRhCgoyMDEzLTA3LTI5IDA4OjE4OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IE1vcmUgQUZDIGZsYWdzCgkgIEkgc2hvdWxkIGhhdmUgcHV0IHRob3NlIGluIGEgcHJldmlvdXMgY29tbWl0LiBzb3JyeSA6KAoKMjAxMy0wNy0yOSAwODoxNDo1NyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IFNpbXBsaWZ5IFBDUi9QVFMvRFRTID0+IEdTVCBjb252ZXJzaW9uIG1hY3JvcwoJICBXZSBrbm93IHdlIHdpbGwgbm90IG92ZXJmbG93IDY0IGJpdHMsIHRoZXJlZm9yZSBqdXN0IHVzZSBkaXJlY3QKCSAgbXVsdGlwbGljYXRpb24vZGl2aXNpb24gaW5zdGVhZCBvZiB0aGUgc2NhbGUgbWV0aG9kICh0cmltcyB1c2FnZSBmcm9tCgkgIDUwIGluc3RydWN0aW9uIGNhbGxzIHRvIDIvMykuCgoyMDEzLTA3LTI4IDIwOjE0OjU1ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGFydGlmYWN0cyB3aGVuIHJlbmRlcmluZyBjbGlwcGVkIHNwdQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA1MDM5CgoyMDEzLTA3LTI4IDE4OjI4OjMwICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZG8gbm90IHVwZGF0ZSBjYXBzIHdoZW4gYml0cmF0ZSBjaGFuZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDUwMzUKCjIwMTMtMDctMjggMTQ6MjI6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICBGaXggVVJJcyBpbiBSRVFVSVJFTUVOVFMKCjIwMTMtMDctMjggMTM6MTI6MzIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9nc3RjZWx0LmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5oOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdDogcmVtb3ZlLCByZXBsYWNlZCBieSBvcHVzLgoKMjAxMy0wNy0yOCAxNzoyOTozMiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjRfbWpwZ2RlbXV4OiBSZW1vdmUgZHVwbGljYXRlZCB2YXJpYWJsZXMKCjIwMTMtMDctMjggMTc6MjU6MTAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJICB1dmNoMjY0X21qcGdkZW11eDogRG9uJ3QgdW5tYXAvdW5yZWYgYnVmZmVyIGlmIGl0J3MgcHVzaGVkIG91dCBhcy1pcwoKMjAxMy0wNy0yNiAxODozMzowMCArMDAwMCAgUm9iZXJ0IEtyYWtvcmEgPHJvYi5rcmFrb3JhQG1lc3NhZ2VuZXRzeXN0ZW1zLmNvbT4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y3Y0bDJfbWpwZWdkZW11eDogVW5tYXAgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk1MTcKCjIwMTMtMDctMjggMTU6NDY6MzMgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luZy5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBiZSBjdXJyZW50CgoyMDEzLTA3LTI3IDEyOjE3OjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBIRFYgb25seSBoYXMgbXBlZyAxIGF1ZGlvIGxheWVyIDIKCSAgU2V0IHRoYXQgYWNjb3JkaW5nbHkgb24gdGhlIGNhcHMKCjIwMTMtMDctMjYgMTc6MzE6MjIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBWYXJpb3VzIGRlYnVnIGFyZ3VtZW50IGZpeGVzCgkgIG1haW5seSBHX0dVSU5UMTZfRk9STUFUIHRvIC4uLiB0aGUgcmlnaHQgdHlwZSAoZ3VpbnQzMiBvciBndWludDgpCgoyMDEzLTA3LTI2IDE3OjI1OjQyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgkgIGhhcmRlciA/IDopCgoyMDEzLTA3LTI2IDEzOjIwOjI3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogaW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBlYXJsaWVyCgkgIFlvdSBrbm93LCBiZWZvcmUgaXQncyB1c2VkLgoKMjAxMy0wNy0yNiAwNzo1MzowNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBtb3JlIGZsYWcgZGVidWdnaW5nIGZvciBQRVMgYW5kIFRTIHBhY2tldHMKCSAgSGVscHMgd2l0aCBkZWJ1Z2dpbmcgaXNzdWVzLiBBbmQgYWxzbyByZW1vdmUgdW51c2VkIHZhcmlhYmxlIChvcGNyKQoJICBUaGlzIHdpbGwgYWxzbyBhbGxvdyB1cyBpbiB0aGUgZnV0dXJlIHRvIHByb3Blcmx5IGRldGVjdDoKCSAgKiByYW5kb20tYWNjZXNzIGxvY2F0aW9uICh0byBlbmFibGUga2V5ZnJhbWUgb2JzZXJ2YXRpb24gYW5kCgkgIHBvdGVudGlhbGx5IHNlZWtpbmcKCSAgKiBkaXNjb250IGxvY2F0aW9uICh0byBwcm9wZXJseSBoYW5kbGUgcmVzZXRzKQoJICAqIHNwbGljZSBsb2NhdGlvbiAodG8gcHJvcGVybHkgaGFuZGxlIG5ldyBzdHJlYW0gY2hhbmdlcykKCjIwMTMtMDctMjQgMTc6NDk6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IE1ha2Ugd2FybmluZ3MgbW9yZSBtZWFuaW5nZnVsCgkgIEJ5IHN0YXRpbmcgd2hldGhlciB3ZSBkb24ndCBoYXZlIGVub3VnaCBkYXRhIG9yIGl0J3MgYSBjb3JydXB0ZWQKCSAgcGFja2V0CgoyMDEzLTA3LTI0IDE3OjQ5OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICBwZXNwYXJzZTogRGVtb3RlIGEgV2FybmluZwoJICBXZSBhY3R1YWxseSBub3cga25vdyB3aGF0IHRvIGRvIC4uLiBoYXZlIGEgbG9nIG1lc3NhZ2UgOikKCjIwMTMtMDctMjUgMTU6MDY6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCB1c2luZyBjbGlwcGVkIG91dCBidWZmZXJzCgkgIElmIGEgYnVmZmVyIHdhcyBlbnRpcmVseSBjbGlwcGVkIG91dCAoaWUsIGl0J3Mgb3V0IG9mIHRoZSBzZWdtZW50CgkgIGVudGlyZWx5KSwgd2UnbGwgZW5kIHVwIHdpdGggYSBOVUxMIGJ1ZmZlciwgd2hpY2ggd2UgZG9uJ3Qgd2FudAoJICB0byBwcm9jZXNzL2RlcmVmZXJlbmNlLgoKMjAxMy0wNy0yNCAxNTo1MDoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1lbWJlciByZXF1ZXN0ZWQgc2VlayByYXRlIGFuZCB1c2UgaXQKCSAgVGhlIG5ldyBzZWVrIGhhbmRsaW5nIHJlLWNyZWF0ZXMgdGhlIHNlZ21lbnQgdGltZSBpbmZvcm1hdGlvbiBvbmNlIGl0CgkgIGhhcyBlbm91Z2ggaW5mb3JtYXRpb24gYWZ0ZXIgYSBzZWVrLgoJICBUaGUgcHJvYmxlbSB3YXMgdGhhdCB3ZSdkIGNvbXBsZXRlbHkgaWdub3JlIHRoZSByZXF1ZXN0ZWQgcmF0ZS4gU28gc3RvcmUKCSAgdGhhdCBhbmQgdXNlIGl0IGluIHRoZSBuZXdseSBjcmVhdGVkIHNlZ21lbnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQzNjkKCjIwMTMtMDctMjQgMDk6MTg6NDMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IGRlc3Ryb3kgdGhlIHF1ZXVlIGlmIHNldF9mb3JtYXQgZmFpbHMKCjIwMTMtMDctMjQgMDk6MTU6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IHJlbW92ZSBjKysgc3R5bGUgY29tbWVudHMKCjIwMTMtMDctMjQgMDk6MTE6NTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXRkZWMuaDoKCSAgYXBwbGVtZWRpYTogYXRkZWM6IDFzdCByb3VuZCBvZiBmaXhlcwoKMjAxMy0wNy0yMyAxMDoxMDoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBGaXggY29kZWNfZGF0YSBoYW5kbGluZwoJICBTZXQgdG8gc2VxdWVuY2Vfb2Zmc2V0IHNvIHRoYXQgX3Byb2Nlc3NfY29uZmlnIGFjY2VwdHMgaXQuCgkgIChidHc6IHNlcV9vZmZzZXQgdXNhZ2UgdGhyb3VnaG91dCB0aGlzIHBsdWdpbiBpcyByZWFsbHkgZG9kZ3kpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MDYKCjIwMTMtMDYtMTQgMDc6Mjg6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDcmVhdGUgYW5kIHNlbmQgY29kZWMgdGFnCgkgIEhlbHBzIHdpdGggYXBwbGljYXRpb25zIHRoYXQgcmVseSBvbiBwcmVzZW5jZSBvZiB0aGF0IHRhZyBmb3IgdXNlci1mYWNpbmcKCSAgaW5mb3JtYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyMTYKCjIwMTMtMDctMjMgMTM6Mjk6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEltcGxlbWVudCBwa2NzNyB1bnBhZGRpbmcKCSAgRXZlcnkgZW5jcnlwdGVkIGZyYWdtZW50IHdpbGwgYmUgYSBtdWx0aXBsZSBvZiAxMjggYml0cywgdGhlIGxhc3QgYnl0ZQoJICBjb250YWlucyB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRoYXQgd2VyZSBhZGRlZCBhcyBwYWRkaW5nIGluIHRoZSBlbmQKCSAgYW5kIHNob3VsZCBiZSByZW1vdmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNjczCgoyMDEzLTA3LTIzIDEwOjMwOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9hdGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIEF1ZGlvVG9vbGJveCBiYXNlZCBhdWRpbyBkZWNvZGVyCgoyMDEzLTA3LTIzIDEwOjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MzE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjIxOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE1OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBncm91cC1pZCBpbiB0aGUgc3RyZWFtLXN0YXJ0IGV2ZW50CgoyMDEzLTA3LTIzIDEwOjE0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MTE6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDk6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDc6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjMgMTA6MDQ6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaDogQWRkIHN1cHBvcnQgZm9yIGdyb3VwLWlkIGluIHRoZSBzdHJlYW0tc3RhcnQgZXZlbnQKCjIwMTMtMDctMjIgMTc6MzA6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggbmVnb3RpYXRpb24gaWYgZmlsdGVyIGNhcHMgYXJlIHBhc3NlZCB0byBxdWVyeV9jYXBzCgkgIE1ha2UgdmlkZW90ZXN0c3JjICEgaW50ZXJsYWNlICEgJGFueXRoaW5nIHdvcmsgYWdhaW4uIFByb2JsZW0KCSAgd2FzIHRoYXQgdXBzdHJlYW0gZmlsdGVyIGNhcHMgd2VyZSBwYXNzZWQgd2hpY2ggY29udGFpbmVkCgkgIGludGVybGFjZS1tb2RlPXByb2dyZXNzaXZlLCB3aGljaCBkb2Vzbid0IGludGVyc2VjdCB0b28gd2VsbAoJICB3aXRoIGludGVybGFjZSdzIHNvdXJjZSBwYWQgdGVtcGxhdGUgY2FwcywgbGVhZGluZyB0bwoJICBub3QtbmVnb3RpYXRlZCBlcnJvcnMuCgoyMDEzLTA3LTIyIDE0OjU2OjMyICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEb24ndCBhYm9ydCBvbiBpbnZhbGlkIHN0cmVhbXMKCSAgSnVzdCByZXR1cm4gYW4gZXJyb3IKCjIwMTMtMDctMTkgMTU6MzA6NDIgKzAxMDAgIEFsZXggQXNobGV5IDxidWd6aWxsYUBhc2hsZXktZmFtaWx5Lm5ldD4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJICBobHM6IGZpeCBmb3IgYXNzZXJ0IGZhaWx1cmUgd2hlbiB1c2luZyBlbmNyeXB0ZWQgSExTIHN0cmVhbXMKCSAgV2hlbiB1c2luZyBhbiBITFMgZW5jcnlwdGVkIHN0cmVhbSwgYW4gYXNzZXJ0aW9uIGZhaWx1cmUgaXMgdGhyb3duOgoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUdPYmplY3QtV0FSTklORyAqKjogY2Fubm90IHJlZ2lzdGVyCgkgIGV4aXN0aW5nIHR5cGUgYEdzdEZyYWdtZW50JwoJICAoZ3N0LWxhdW5jaC0xLjA6MzEwMjgpOiBHTGliLUNSSVRJQ0FMICoqOiBnX29uY2VfaW5pdF9sZWF2ZTogYXNzZXJ0aW9uCgkgIGByZXN1bHQgIT0gMCcgZmFpbGVkCgkgIEV2ZW50dWFsbHkgdHJhY2tlZCB0aGlzIGRvd24gdG8gdGhlIGNhbGwgZ3N0X2ZyYWdtZW50X25ldygpCgkgIGluIGZ1bmN0aW9uIGdzdF9obHNfZGVtdXhfZGVjcnlwdF9mcmFnbWVudC4KCSAgVGhlIEdzdEZyYWdtZW50IGNsYXNzIGlzIGRlZmluZWQgaW4gZXh0L2hscy9nc3RmcmFnbWVudC5jIGFuZCBpbgoJICBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jLiBIYXZpbmcgdHdvIGNsYXNzIGRlZmluaXRpb25zCgkgIHdpdGggdGhlIHNhbWUgbmFtZSBjYXVzZXMgdGhlIGFzc2VydCBmYWlsdXJlIHdoZW4gdHJ5aW5nIHRvIGFsbG9jYXRlCgkgIEdzdEZyYWdtZW50LiBEZWxldGluZyB0aGUgdmVyc2lvbiBmcm9tIGhscyBhbmQgZWRpdGluZyB0aGUKCSAgTWFrZWZpbGUuYW0gc29sdmVzIHRoaXMgYXNzZXJ0IGZhaWx1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDQ1NTUKCjIwMTMtMDctMTkgMjM6NDI6MTIgKzAyMDAgIFlvdXJpIFdlc3Rlcm1hbiA8dGV0cmFjb25AZ21haWwuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSAgZGVja2xpbms6IGFjdHVhbGx5IGVuYWJsZSBkZWNrbGlua3NpbmsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwNDUwNQoKMjAxMy0wNy0xOSAyMDowOToyOCArMDIwMCAgWW91cmkgV2VzdGVybWFuIDx0ZXRyYWNvbkBnbWFpbC5jb20+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGFkZCAiZGV2aWNlLW51bWJlciIgdG8gc2VsZWN0IGZyb20gbXVsdGlwbGUgZGV2aWNlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0NTA1CgoyMDEzLTA3LTIyIDEwOjQ2OjIzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IE9ubHkgbWFwIGlucHV0IGJ1ZmZlciBvbmNlCgkgIEluc3RlYWQgb2YgY29uc3RhbnRseSBtYXAvdW5tYXBwaW5nIGl0IGEgYml0IGV2ZXJ5d2hlcmUsIHdlIHBhc3MgYWxvbmcKCSAgdG8gYWxsIGZ1bmN0aW9ucyB0aGUgR3N0TWFwSW5mby4KCSAgTWFrZXMgbXBlZyB2aWRlbyBmcmFtZSBwYXJzaW5nIDYlIGZhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMzMwCgoyMDEzLTAzLTEwIDEyOjA3OjQwICsxMzAwICBEb3VnbGFzIEJhZ25hbGwgPGRvdWdsYXNAcGFyYWRpc2UubmV0Lm56PgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogZGlzZW50YW5nbGUgcmVxdWVzdGVkIHByb2dyYW0gbnVtYmVyIGZyb20gYWN0aXZlIHByb2dyYW0gbnVtYmVyCgkgIFRoZSBwcm9ncmFtX251bWJlciBhdHRyaWJ1dGUgd2FzIG92ZXJsb2FkZWQsIHRyeWluZyB0byBpbmRpY2F0ZSBib3RoCgkgIHRoZSBjdXJyZW50bHkgcGxheWluZyBwcm9ncmFtLCBhbmQgdGhlIHByb2dyYW0gcmVxdWVzdGVkIHZpYSB0aGUKCSAgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eS4gIFRoZSBlbmQgcmVzdWx0IHdhcyB0aGF0IHNldHRpbmcgdGhlCgkgIHByb3BlcnR5IGRpZG4ndCB3b3JrIChzZWUgIzY5MDkzNCkuCgkgIEkgYWRkZWQgYSBuZXcgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGZpZWxkIHJhdGhlciB0aGFuIHJldml2aW5nIHRoZQoJICBjdXJyZW50X3Byb2dyYW1fbnVtYmVyIGZpZWxkIGJlY2F1c2UgaXQgc2VlbWVkIHRoaXMgd291bGQgcmVzdWx0IGluCgkgIGZld2VyIGNoYW5nZXMgb3ZlcmFsbCBhbmQgYmUgbGVzcyBjb25mdXNpbmcuICBJdCBicmVha3Mgc3ltbWV0cnkgd2l0aAoJICB0aGUgInByb2dyYW0tbnVtYmVyIiBwcm9wZXJ0eSwgYnV0IGl0IHJldGFpbnMgcGFyYWxsZWxzIHdpdGggdGhlIGxpa2VzCgkgIG9mIHByb2dyYW0tPnByb2dyYW1fbnVtYmVyLgoJICBCZWNhdXNlIGdzdF90c19kZW11eF9yZXNldCBpcyBjYWxsZWQgYWZ0ZXIgdGhlIHByb3BlcnRpZXMgaGF2ZSBiZWVuCgkgIHBhcnNlZCwgcmVxdWVzdGVkX3Byb2dyYW1fbnVtYmVyIGlzIGluaXRpYWxpc2VkIGluIGdzdF90c19kZW11eF9pbml0LgoJICBXaGV0aGVyIHRoaXMgaXMgZXhhY3RseSB0aGUgcmlnaHQgcGxhY2UsIEkgZG9uJ3Qga25vdy4KCjIwMTMtMDMtMDYgMTI6MTU6NDcgKzAxMDAgIEplc3BlciBMYXJzZW4gPGplc3Blci5sYXJzZW5AaXhvbm9zLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeCBwcm9ncmFtLW51bWJlciBmdW5jdGlvbmFsaXR5CgkgIFNldHRpbmcgdGhlIHByb2dyYW0tbnVtYmVyIHByb3BlcnR5IGRvZXMgbm90IGFmZmVjdCB3aGljaCBwcm9ncmFtCgkgIGlzIGFjdHVhbGx5IGJlaW5nIGRlbXV4ZWQuCgkgIE1vdmluZyB0aGUgaW5pdGlhbGl6YXRpb24gb2YgdGhlIHByb2dyYW1fbnVtYmVyIGZyb20KCSAgZ3N0X3RzX2RlbXV4X3Jlc2V0IHRvIGdzdF90c19kZW11eF9pbml0IHNlZW1zIHRvIGZpeCB0aGlzIGlzc3VlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwOTM0CgoyMDEzLTA3LTIyIDA5OjE4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55dGhpbmcgZWxzZSBvbiB0aGUgbXBlZyBkZW11eGVyIHNyY3BhZHMKCjIwMTMtMDctMTcgMTc6MTI6NTkgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgcHVzaCBkaXNjb250IGJ1ZmZlcnMgaWYgdGhleSBhcmVuJ3QgZGlzY29udAoJICBFeHBsaWNpdGx5IHVuc2V0IGRpc2NvbnQgZmxhZyB3aGVuIGl0IHNob3VsZG4ndCBiZSBzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODIxMTAKCjIwMTMtMDctMTcgMTE6Mjg6MjggKzAyMDAgIE1pZ3VlbCBDYXNhcy1TYW5jaGV6IDxtaWd1ZWxlY2FzYXNzYW5jaGV6QGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuY3BwOgoJKiBleHQvb3BlbmN2L2dzdGdyYWJjdXQuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgZ3JhYmN1dDogQWRkIEdyYWJDdXQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjcyMgoKMjAxMy0wNy0xNSAyMzowMTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogZml4IGhlaWdodCBleHRyYWN0aW9uIGZvciBIMjYzcAoKMjAxMy0wNy0xNSAyMjo1NzowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWRkIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiB1cHN0cmVhbSBkb2Vzbid0IHByb3ZpZGUgb25lCgoyMDEzLTA3LTA5IDEyOjQ5OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggdHlwbyBpbiBjaGVja19xdWV1ZV9mdWxsIGZ1bmN0aW9uCgkgIEl0IHNob3VsZCByZXR1cm4gVHJ1ZSB3aGVuIHRoZSBxdWV1ZSBJUyBmdWxsCgkgIEZpeGVzICM3MDQyMjYKCjIwMTMtMDctMTUgMTE6MTU6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbWVtYmVyIHNlZWsgc2VxdWVuY2UgbnVtYmVyCgkgICogQXZvaWRzIGhhbmRsaW5nIHR3aWNlIHRoZSBzYW1lIHNlZWsgKGNhbiBoYXBwZW4gd2l0aCBwbGF5YmluIGFuZCBmaWxlcwoJICB3aXRoIHN1YnRpdGxlcykKCSAgKiBTZXQgdGhlIHNlcXVlbmNlIG51bWJlciBvZiB0aGUgc2VnbWVudCBldmVudCB0byB0aGUgc2VxdWVuY2UgbnVtYmVyIG9mCgkgIHRoZSBzZWVrIGV2ZW50IHRoYXQgZ2VuZXJhdGVkIGl0ICgtMSBmb3IgdGhlIGluaXRpYWwgb25lKS4KCjIwMTMtMDUtMjQgMTg6MTg6MzUgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW1wbGVtZW50IHNlZWtpbmcgaW4gcHVzaCBtb2RlCgoyMDEzLTA1LTI4IDE2OjE0OjQyICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHJlY2FsY3VsYXRlIG5ldyBzZWdtZW50IGFmdGVyIGJ5dGUgc2VlawoJICBUaGUgc2Vla2luZyBzdGFydCB0aW1lIGlzIGFwcHJveGltYXRlZCBmcm9tIHRoZSBzZWVrIG9mZnNldCBpbiBieXRlcwoJICB1c2luZyB0aGUgYWNjdW11bGF0ZWQgUENSIG9ic2VydmF0aW9ucywgc28gb24gYSBWQlIgc3RyZWFtIHRoZXJlIG1pZ2h0CgkgIGJlIGEgYmlnIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYWN0dWFsIFBDUiBhbmQgdGhlIGVzdGltYXRlZCBvbmUgYWZ0ZXIKCSAgdGhlIHNlZWsuIFRoaXMgbWlnaHQgcmVzdWx0IGluIGEgbG9uZyB3YWl0IHRvIHNraXAgYWxsIG91dCBvZiBzZWdtZW50cwoJICBwYWNrZXRzLgoJICBJbnN0ZWFkIHdlIGp1c3QgcmVjYWxjdWxhdGUgdGhlIG5ldyBzZWdtZW50IHRvIHN0YXJ0IGF0IHRoZSBmaXJzdCBQVFMKCSAgYWZ0ZXIgdGhlIHNlZWssIHNvIHRoYXQgcGxheWJhY2sgc3RhcnRzIGltbWVkaWF0bHkuCgoyMDEzLTA3LTEzIDIzOjQ5OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgZG9jcyBhbmQgd2luMzIgY29uZmlnLmggdG8gZGV2ZWxvcG1lbnQgdmVyc2lvbgoKMjAxMy0wNy0xMiAxNTo1ODozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgZG9jczogYWRkIG5ld2x5LXBvcnRlZCBlbGVtZW50cyB0byBkb2NzCgoyMDEzLTA3LTExIDE3OjQ2OjM3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVc2Ugc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gdmFsdWVzIHRvIHVwZGF0ZSB0aGUgc3JjIGNhcHMKCSAgVGhlIGNhcHMgc2hvdWxkIGFsd2F5cyByZXByZXNlbnQgd2hhdCB0aGUgdXNlciBpcyBzdXBwb3NlZCB0byBzZWUuCgkgIFNvIGlmIHRoZXJlIGlzIGEgc2VxdWVuY2VfZGlzcGxheV9leHRlbnNpb24gYXNzb2NpYXRlZCB3aXRoIHRoZQoJICBzdHJlYW0gdGhlbiB1c2UgdGhlIGRpc3BsYXlfaG9yaXpvbnRhbF9zaXplL2Rpc3BsYXlfdmVydGljYWxfc2l6ZQoJICB0byB1cGRhdGUgdGhlIHNyYyBjYXBzIChpZiB0aGV5IGFyZSBsZXNzIHRoYW4gdGhlIHZhbHVlcyBwcm92aWRlZAoJICBieSBzZXF1ZW5jZSBoZWFkZXIpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzA0MDA5CgoyMDEzLTA3LTEyIDA5OjQ1OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcHVzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjIKCSAgT29wcy4uLiBzaG91bGQndmUgYmVlbiBwYXJ0IG9mIDEuMS4yIHRhZyBhbHJlYWR5IDooCgoyMDEzLTA3LTExIDE2OjU3OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDEuMS4yID09PQoKMjAxMy0wNy0xMSAxNjozMToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMy0wNy0xMCAxMjoyODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSAgbXBlZ3BzbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudCBiZWZvcmUgYW55IGRhdGEKCjIwMTMtMDctMDggMDg6NDQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEF2b2lkIHBhcnNpbmcgc2VjdGlvbiB3aXRob3V0IGVub3VnaCBkYXRhCgkgIFRoaXMgaXMgYWN0dWFsbHkgYSB3b3JrYXJvdW5kICh3ZSdsbCBiZSBza2lwcGluZyB0aGUgdXBjb21pbmcgc2VjdGlvbikKCSAgVGhpcyB3aWxsIG9ubHkgaGFwcGVuIGZvciBzZWN0aW9ucyB3aGVyZSB0aGUgYmVnaW5uaW5nIGlzIGxvY2F0ZWQgd2l0aGluCgkgIHRoZSBsYXN0IDggYnl0ZXMgb2YgYSBwYWNrZXQgKHdoaWNoIGlzIHRoZSBtaW5pbXVtIHdlIG5lZWQgdG8gcHJvcGVybHkKCSAgaWRlbnRpZnkgYW55IHNlY3Rpb24gYmVnaW5uaW5nKS4KCSAgTGF0ZXIgd2Ugc2hvdWxkIGZpZ3VyZSBvdXQgYSB3YXkgdG8gc3RvcmUgdGhvc2UgYnl0ZXMgYW5kIG1hcmsgdGhhdAoJICBzb21lIGFuYWx5c2lzIG5lZWRzIHRvIGhhcHBlbi4gVGhlIHByb2JhYmlsaXR5IG9mIHRoaXMgaGFwcGVuaW5nIGlzCgkgIHRvbyBsb3cgZm9yIG1lIHRvIGNhcmUgcmlnaHQgbm93IGFuZCBkbyB0aGF0IGZpeC4gVGhlcmUgaXMgYSBnb29kIGNoYW5jZQoJICB0aGF0IHNlY3Rpb24gd2lsbCBldmVudHVhbGx5IGJlIHJlcGVhdGVkIGFuZCB3b24ndCBlbmQgdXAgb24gc3VjaCBib3JkZXIuCgoyMDEzLTA3LTA4IDA4OjQzOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEFkZCBCQVQgc3VwcG9ydCB0byBtcGVndHMgZXhhbXBsZQoKMjAxMy0wNy0wOCAwODo0MjoxOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5jOgoJICBtcGVndHM6IFVuaWZ5IHNlY3Rpb24gY2hlY2tzIGFuZCBhZGQgQkFUIHBhcnNpbmcKCSAgKiBBdm9pZCByZXBlYXRpbmcgY29kZSBldmVyeXdoZXJlLCBhbmQgaW5zdGVhZCBwcm92aWRlIGFsbCBwYXJzaW5nCgkgIGluZm9ybWF0aW9uIGluIG9uZSBnby4KCSAgKiBBZGQgQkFUIHN1cHBvcnQKCSAgKiBSZWZpbmUgQkFUL0NBVCBpZGVudGlmaWNhdGlvbiAoYnkgYWRkaW5nIFBJRCBjaGVja3MpCgoyMDEzLTA3LTA3IDExOjQyOjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgdm1ldGhvZCBjYWxscwoJICBEZXBlbmRpbmcgb24gdXNhZ2UsIHRzcGFyc2UgYW5kIHRzZGVtdXggbWlnaHQgbm90IG5lZWQgdG8gYmUgY2FsbGVkCgkgIHdoZW4gbmV3IHNlY3Rpb24vcGVzLWRhdGEgaXMgYXZhaWxhYmxlLgoKMjAxMy0wNy0wNyAxMDoyNToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlbW92ZSB1bm5lZWRlZCB2YXJpYWJsZXMKCSAgKiBwYWNrZXQub3JpZ3RzIGlzIG5vIGxvbmdlciB1c2VkIHNpbmNlIHRoZSBQQ1IgcmVmYWN0b3JpbmcgZG9uZSBhZ2VzIGFnbwoJICAqIGtub3duX3BhY2tldF9zaXplIGlzIGEgZHVwbGljYXRlIG9mIHBhY2tldF9zaXplICE9IDAKCSAgKiBjYXBzIHdhcyBuZXZlciB1c2VkIG91dHNpZGUgb2YgdGhlIHBhY2tldGl6ZXIKCjIwMTMtMDctMDkgMTE6Mzk6NDYgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBzaXplIGNhcHMgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucy4KCSAgUmVzdG9yZSB0aGUgb3JpZ2luYWwgaDI2NHBhcnNlciBiZWhhdmlvdXIgdG8gcmVwb3J0IGNyb3BwZWQgZGltZW5zaW9ucwoJICBpbiBzaXplIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTQwNjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wOCAxODo0NDoyNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IGNhbGN1bGF0aW9uIG9mIHRoZSBmcmFtZSBjcm9wcGluZyByZWN0YW5nbGUuCgkgIEZpeCBjYWxjdWxhdGlvbiBvZiB0aGUgZnJhbWUgY3JvcHBpbmcgcmVjdGFuZ2xlLCBhbmQgbW9yZSBwcmVjaXNlbHkKCSAgdGhlIGFjdHVhbCBjcm9wcGVkIGhlaWdodC4gVGhlIGZyYW1lX2Nyb3BfdG9wX29mZnNldCBzdWJ0cmFjdGlvbgoJICB3YXMgbm90IHNjYWxlZCB1cCB3aXRoIFN1YkhlaWdodEMuCgkgIEFsc28gY2xlYW4tdXAgdmFyaWFibGVzIHRvIGFsaWduIG1vcmUgd2l0aCAoNy0xOCkgdG8gKDctMjEpLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAyLTE1IDE0OjE4OjQ5ICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGgyNjRwYXJzZXI6IFBhcnNlIHRoZSBjcm9wcGluZy1yZWN0YW5nbGUgc2VwYXJhdGVseS4KCSAgQXNzaWduIHRoZSB1bi1jcm9wcGVkIHdpZHRoL2hlaWdodCB0byBzcHMtPndpZHRoL3Nwcy0+aGVpZ2h0CgkgIGR1cmluZyBzcHMgaGVhZGVyIHBhcnNpbmcuIEFkZGVkIG5ldyBmaWVsZHMgdG8gU1BTIGhlYWRlciBzdHJ1Y3R1cmUKCSAgdG8gcHJvdmlkZSB0aGUgY3JvcC1yZWN0YW5nbGUgZGltZW5zaW9ucy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NDA2OAoKMjAxMy0wNy0wMyAxNjozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogaW1wbGVtZW50IHF1ZXVlIGZ1bGwgY2hlY2sgZnVuY3Rpb24KCSAgQ2hlY2tzIGlmIHRoZSBxdWV1ZSBpcyBmdWxsIGFjY29yZGluZyB0byBtYXggYnVmZmVyaW5nIHRpbWUKCSAgc2V0IGJ5IHRoZSB1c2VyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE0MDQKCjIwMTMtMDctMDkgMDA6NDc6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG1pbm9yIHJlZmFjdG9yCgkgIFNwbGl0IG9uZSB2ZXJ5IGxhcmdlIGZ1bmN0aW9uIGludG8gMiBzbWFsbGVyIGJ1dCBzdGlsbCBsYXJnZSBmdW5jdGlvbnMuCgkgIEFsc28gY2hhbmdlIHRoZSBpZiBjb25kaXRpb25zIHRvIHBvc2l0aXZlIGNoZWNrcyB0byBpbXByb3ZlIHJlYWRhYmlsaXR5LgoKMjAxMy0wNy0wOCAyMzoyNDoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogaGFuZGxlIGxpdmUgcGxheWJhY2sgcmVzeW5jCgkgIER1cmluZyBhIGxpdmUgc3RyZWFtIGl0IGlzIHBvc3NpYmxlIGZvciBkYXNoZGVtdXggdG8gbGFnIGJlaGluZCBvbiBhCgkgIHNsb3cgY29ubmVjdGlvbiBvciB0byBydXNoIGFoZWFkIG9mIHRoZSBjb25uZWN0aW9uIG9zIHRvbyBmYXN0LgoJICBGb3IgdGhlIGZpcnN0IGNhc2UgaXQgaXMgbmVjZXNzYXJ5IHRvIGp1bXAgc29tZSBzZWdtZW50cyBhaGVhZCB0byBiZSBhYmxlIHRvCgkgIGNvbnRpbnVlIHBsYXliYWNrIGFzIG9sZCBzZWdtZW50cyBhcmUgdXN1YWxseSBkZWxldGVkIGZyb20gdGhlIHNlcnZlci4KCSAgRm9yIHRoZSBsYXRlciwgZGFzaGRlbXV4IHNob3VsZCB3YWl0IGEgbGl0dGxlIGJlZm9yZSBhdHRlbXB0aW5nIGFub3RoZXIKCSAgZG93bmxvYWQgZG8gZ2l2ZSB0aW1lIHRvIHRoZSBzZXJ2ZXIgdG8gcHJvZHVjZSBhIG5ldyBzZWdtZW50CgoyMDEzLTA3LTA1IDEzOjIyOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogZml4IHRlbXBsYXRlIGJhc2VkIHNlZ21lbnQgZ2VuZXJhdGlvbgoJICBXaGVuIHVzaW5nIGEgdGVtcGxhdGUgYmFzZWQgc2VnbWVudCBsaXN0LCBkbyBub3QgdHJ5IHRvCgkgIGNvbnRydWN0IGEgZmluaXRlIHNlZ21lbnQgbGlzdCBmb3IgdGhlIGxpbWl0cyBvZiB0aGUgYXZhaWxhYmxlIHBlcmlvZHMuCgkgIFdlIG1pZ2h0IG5vdCBrbm93IHdoZW4gdGhlIHBlcmlvZCBlbmRzIChmb3IgbGl2ZSBzdHJlYW1zKSBhbmQgd2UgY2FuCgkgIGFsd2F5cyBjcmVhdGUgdGhlIHNlZ21lbnQgb24gZGVtYW5kIHdoZW4gcmVxdWVzdGVkIGJ5IGRhc2hkZW11eCwKCSAgYXZvaWRpbmcgdXNlIG9mIHNvbWUgbWVtb3J5IGFuZCBjcHUgd2hlbiByZS1jcmVhdGluZyB0aGlzIGxpc3QuCgoyMDEzLTA3LTA0IDIzOjQyOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHVzZSBtb3JlIGFwcHJvcHJpYXRlIGRhdGEgc3RydWN0dXJlcyBmb3IgcGFyc2luZwoJICBSZXBsYWNlcyB0aGUgMiBsaWtlbHkgbGFyZ2VyIGxpc3RzIHdpdGggbW9yZSBhcHByb3ByaWF0ZSBzdHJ1Y3R1cmVzCgkgIHRvIGltcHJvdmUgcGVyZm9ybWFuY2UuCgkgIFJlcGxhY2VzIFMgbm9kZXMgR0xpc3QgZm9yIGEgR1F1ZXVlLCB0aGlzIHJlZHVjZXMgbGF0ZW5jeSB0byBzdGFydHVwCgkgIGJlY2F1c2Ugb2YgdHJhdmVyc2luZyB0aGUgbGlzdCBqdXN0IGFwcGVuZCBhbiBlbGVtZW50LgoJICBSZXBsYWNlcyB0aGUgcHJvY2Vzc2VkIG1lZGlhIHNlZ21lbnRzIEdMaXN0IGZvciBhIEdQdHJBcnJheSBhcyBpdCBpcwoJICBjb25zdGFudGx5IGFjZXNzZWQgYnkgaW5kZXggZHVyaW5nIHBsYXliYWNrLgoKMjAxMy0wNy0wNCAxNToxNDowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogYW5zd2VyIHRvIGxhdGVuY3kgcXVlcmllcwoJICBTZXQgbGl2ZSBpZiBzdHJlYW0gaXMgbGl2ZSBhbmQgYWxzbyBhZGQgdG8gdGhlIG1heCBsYXRlbmN5IHRoZQoJICBtYXggaW50ZXJuYWwgYnVmZmVyaW5nCgoyMDEzLTA3LTA4IDIyOjAxOjU4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IGZpeCBjcmFzaCB3aGVuIGRvd25sb2FkIGlzIG51bGwKCSAgRG8gbm8gdHJ5IHRvIHVucmVmIGEgTlVMTCBkb3dubG9hZCBhdHRyaWJ1dGUKCjIwMTMtMDctMDggMjI6MDA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogZG8gbm90IHNldCBjYW5jZWxsZWQgdW5sZXNzIGV4cGxpY2l0bHkgY2FsbGVkIGJ5IHVzZXIKCSAgQ2FuY2VsbGVkIGlzIGEgJ3Blcm1hbmVudCcgc3RhdGUgb2YgdGhlIHVyaWRvd25sb2FkZXIgYW5kIGlzIG9ubHkKCSAgcmVtb3ZlZCBieSBhIGNhbGwgdG8gX3Jlc2V0LiBXaGVuIGEgZG93bmxvYWQgZmFpbHMgd2UganVzdCB3YW50IHRvCgkgIHJldHVybiBOVUxMIG9uIHRoZSBmZXRjaCBmdW5jdGlvbiBhbmQgbGVhdmUgdGhlIGRvd25sb2FkZXIgcmVhZHkKCSAgZm9yIGFub3RoZXIgZmV0Y2gsIG90aGVyd2lzZSB0aGUgdXNlciBoYXMgdG8gY2FsbCBfcmVzZXQgYWZ0ZXIKCSAgZmFpbGVkIGRvd25sb2FkZXIsIGV2ZW4gd2hlbiBpdCBkaWRuJ3QgY2FsbCBfY2FuY2VsLgoKMjAxMy0wNy0wNyAwODozNTowMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBBdm9pZCBmYWxzZS1wb3NpdGl2ZXMgaW4gc2VjdGlvbiB0eXBlIGRldGVjdGlvbgoJICBEdWUgdG8gdGhlIHZhcmlldHkgb2Ygc2VjdGlvbiB0eXBlcyBvdXQgdGhlcmUsIHdlIG5lZWQgdG8gYWRkCgkgIHNvbWUgY2hlY2tzIHdoZW4gaWRlbnRpZnlpbmcgc2VjdGlvbiB0eXBlcy4KCSAgV2UgY2hlY2sgaGVyZSB0aGF0IHRoZSBQSUQgaXMgYWxzbyBjb25zaXN0ZW50IHdpdGggdGhlIHRhYmxlX2lkLgoKMjAxMy0wNy0wNyAwODoyOTozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNkZW11eDogRml4IG11bHRpcGxlLVNJIGRldGVjdGlvbi9wYXJzaW5nCgkgIFdlIGhhZCB0d28gaXNzdWVzIHdpdGggdGhlIHByZXZpb3VzIGNvZGU6CgkgIDEpIFdlIHdlcmUgYmFkbHkgaGFuZGxpbmcgUFVTSS1mbGFnZ2VkIHBhY2tldHMuIFdlIHdlcmUgZGlzY2FyZGluZyB0aGUKCSAgaW5pdGlhbCBkYXRhIChpZiBwb2ludGVyICE9IDApIHdoZXJlYXMgd2Ugc2hvdWxkIGhhdmUgYmVlbiBhY2N1bXVsYXRpbmcKCSAgaXQgd2l0aCB0aGUgcHJldmlvdXMgZGF0YSAoaWYgdGhlcmUgd2FzIGEgY29udGludWl0eSBvZiBjb3Vyc2UpLgoJICA9PiBGaXJzdCBzZXJpZXMgb2YgaW5mb3JtYXRpb24gbG9zcwoJICAyKSBXZSB3ZXJlIG5vdCBjaGVja2luZyB3aGV0aGVyIHRoZXJlIHdlcmUgbW9yZSBzZWN0aW9ucyBhZnRlciB0aGUgZW5kCgkgIG9mIG9uZSAoaS5lLiB3aGVuIHRoZSBmb2xsb3dpbmcgYnl0ZSB3YXMgbm90IGEgc3R1ZmYgYnl0ZSkuCgkgIFRoaXMgZml4ZXMgdGhvc2UgdHdvIGlzc3Vlcy4KCSAgRml4ZXMgIzY3NzQ0MwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NDQzCgoyMDEzLTA3LTA3IDA3OjIxOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogRml4IHN3aXRjaC9jYXNlIHR5cG8KCSAgRW5kZWQgdXAgdHJ5aW5nIHRvIGFuYWx5emUgUE1UIC4uLiB3aXRoIGEgUEFUIDooCgoyMDEzLTA3LTA2IDE0OjUwOjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcHJpdmF0ZSBzZWN0aW9uIHN0cmVhbXMKCSAgVW50aWwgbm93IHdlIHNpbXBseSBpZ25vcmVkIHRob3NlIHN0cmVhbXMgKHNpbmNlIHdlIGNvdWxkbid0IGRvIGFueXRoaW5nCgkgIHdpdGggaXQgYW55d2F5KS4gTm93IHRoYXQgd2UgaGF2ZSB0aGUgbXBlZ3RzIGxpYnJhcnkgYW5kIHdlIG9mZmxvYWQgdGhlCgkgIHNlY3Rpb24gaGFuZGxpbmcgdG8gdGhlIGFwcGxpY2F0aW9uIHNpZGUgd2UgY2FuIHByb3Blcmx5IGlkZW50aWZ5IGFuZAoJICBleHRyYWN0IHRoZW0uCgkgIEJ5IGRlZmF1bHQgaXQgaXMgZGlzYWJsZWQgZm9yIHRzcGFyc2UgYW5kIGVuYWJsZWQgZm9yIHRzZGVtdXgsIGJ1dCB0aGVyZSBpcwoJICBhIHByb3BlcnR5IHRvIGNoYW5nZSB0aGF0LgoJICBUaGlzIHNob3VsZCBvcGVuIHRoZSB3YXkgdG8gcHJvcGVybHkgaGFuZGxlIGFsbCBwcml2YXRlIHNlY3Rpb24gc3RyZWFtcywKCSAgaW5jbHVkaW5nOgoJICAqIERTTS1DQwoJICAqIE1IRUcKCSAgKiBDYXJvdXNlbCBkYXRhCgkgICogTWV0YWRhdGEgc3RyZWFtcyAodGhvdWdoIEkgaGF2ZW4ndCBzZWVuIGFueSBvZiB0aG9zZSBpbiB0aGUgd2lsZCkKCSAgKiAuLi4gQW5kIGFsbCBvdGhlciBzcGVjcy9wcm90b2NvbHMgbWFraW5nIHVzZSBvZiB0aG9zZQoJICBQYXJ0aWFsbHkgZml4ZXMgIzU2MDYzMQoKMjAxMy0wNy0wNiAxMjozOTo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogUHJvcGVybHkgaGFuZGxlIFVUQyB0aW1lIGluIHNlY3Rpb25zCgkgICogZG9uJ3QgdW5yZWYgaW5leGlzdGFudCBHc3REYXRlVGltZQoJICAqIEZpbmUtdHVuZSBob3VyL21pbi9zZWMgQkNEIHJlYWRpbmcgY29kZQoJICAqIFVwZGF0ZSBleGFtcGxlIGNvZGUgYWNjb3JkaW5nbHkKCjIwMTMtMDctMDYgMTA6NTk6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogUmVnaXN0cmF0aW9uIGRlc2NyaXB0b3Igc3VwcG9ydAoJICBBbmQgb3V0cHV0IHRoZSBsZW5ndGggb2YgdGhlIGRlc2NyaXB0b3JzCgoyMDEzLTA3LTA2IDEwOjM4OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1zZWN0aW9uLmM6CgkgIG1wZWd0czogRml4IE5JVCBwYXJzaW5nCgkgIFRoZSBzaXplIGNoZWNrcyB3ZXJlIHdyb25nLiBUaGUgc21hbGxlc3Qgc2l6ZSBmb3IgYSBOSVQgaXMgMTYgYnl0ZXMKCSAgKDEyIGZvciB0aGUgc21hbGxlc3QgY29udGVudCArIDQgZm9yIGNyYykgYW5kIHRoZSBzbWFsbGVzdCBzaXplIGZvcgoJICBhIGlubmVyIHN0cmVhbSBsb29wIGlzIDYgYnl0ZXMgKHdpdGhvdXQgYW55IGRlc2NyaXB0b3JzKS4KCSAgQWxzbyByZW1vdmUgRklYTUUgdGhhdCBoYXMgYWxyZWFkeSBtb3ZlZCBlbHNld2hlcmUKCjIwMTMtMDctMDYgMTA6MzY6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBIYW5kbGUgcmVnaXN0cmF0aW9uIGRlc2NyaXB0b3IgZm9yIHByb2dyYW1zIGFuZCBzdHJlYW1zCgkgICogQWxsb3dzIHVzIHRvIHNpbXBsaWZ5IHNvbWUgY29kZSBhbmQgcHJlcGFyZSBmb3IgZnV0dXJlIGNsZWFudXBzLgoJICAqIFJlbW92ZSB1c2VsZXNzIGNhc3RzCgkgICogQWRkIHNvbWUgRklYTUUgcmVnYXJkaW5nIFZDMQoKMjAxMy0wNy0wNSAyMTo0OTo0OCArMDIwMCAgUGlvdHIgRHLEhWcgPHBpb3RyZHJhZ0BnbWFpbC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSogcG8vUE9URklMRVMuc2tpcDoKCSAgcG86IHVwZGF0ZSBQT1RGSUxFUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjgzCgoyMDEzLTA3LTA1IDExOjIwOjQ5IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgd2VidnR0ZW5jOiBTZXBhcmF0ZSBjdWVzIHdpdGggdHdvIGxpbmUgYnJlYWtzIGluc3RlYWQgb2Ygb25lLgoJICBTZWUgaHR0cDovL2Rldi53My5vcmcvaHRtbDUvd2VidnR0LyNzeW50YXgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMzY3MwoKMjAxMy0wNy0wNSAxODozMzo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHZpZGVvIHBhY2tldCBoZWFkZXIgc2l6ZSBjaGVja3MuCgkgIEZpeCB2aWRlbyBwYWNrZXQgaGVhZGVyIHNpemUgY2hlY2tzIGZvcjoKCSAgLSBTZXF1ZW5jZSBIZWFkZXI6IDY0IGJpdHMgOwoJICAtIFNlcXVlbmNlIFNjYWxhYmxlIEV4dGVuc2lvbjogMTAgYml0cyA7CgkgIC0gU2xpY2UgSGVhZGVyOiA2IGJpdHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDM2NjgKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNDo1ODoyNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzLgoJICBUaGUgZm9sbG93aW5nIGZ1bmN0aW9ucyB3ZXJlIG1pc3NpbmcgZ3RrLWRvYyBlbnRyaWVzOgoJICAtIGdzdF9tcGVnX3ZpZGVvX3BhcnNlX3NlcXVlbmNlX2Rpc3BsYXlfZXh0ZW5zaW9uCgkgIC0gZ3N0X21wZWdfdmlkZW9fZmluYWxpc2VfbXBlZzJfc2VxdWVuY2VfaGVhZGVyCgkgIC0gZ3N0X21wZWdfdmlkZW9fcXVhbnRfbWF0cml4X2dldF9yYXN0ZXJfZnJvbV96aWd6YWcKCSAgLSBnc3RfbXBlZ192aWRlb19xdWFudF9tYXRyaXhfZ2V0X3ppZ3phZ19mcm9tX3Jhc3RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAzNjY3CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMzEgMTE6NTc6NTQgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IHVwZGF0ZSB0ZXN0IHByb2dyYW0gd2l0aCBuZXcgR3N0TXBlZ1ZpZGVvUGFja2V0IEFQSS4KCSAgVGhpcyBpcyB0aGUgbG9zdCBodW5rIGZyb206CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMCAxNjo1NjoxNSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNsaWNlIGhlYWRlciBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2xpY2UgaGVhZGVyLiBUaGlzIGFsc28gY2FsY3VsYXRlcyB0aGUgbWFjcm9ibG9jawoJICBwb3NpdGlvbiBhcyBzcGVjaWZpZWQgaW4gNi4zLjE2LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0Mjc0CgkgIFNpZ25lZC1vZmYtYnk6IFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNSAxNTo0ODo1OCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogYWRkIHNlcXVlbmNlIHNjYWxhYmxlIGV4dGVuc2lvbiBwYXJzaW5nIEFQSS4KCSAgQWRkIEFQSSB0byBwYXJzZSB0aGUgU2VxdWVuY2UgU2NhbGFibGUgRXh0ZW5zaW9uIGhlYWRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDI3NAoJICBTaWduZWQtb2ZmLWJ5OiBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDctMDQgMTQ6MjI6MTQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNvcGUgd2l0aCBuZXcgcGFyc2VyIEFQSS4KCSAgTWlncmF0ZSB0aGUgY29kZSB0byB1c2UgdGhlIG5ldyBwYXJzZXIgQVBJIGJhc2VkIG9uIEdzdE1wZWdWaWRlb1BhY2tldC4KCSAgQWxzbyB0cnkgdG8gb3B0aW1pemUgZ3N0X21wZWd2X3BhcnNlX3Byb2Nlc3NfY29uZmlnKCkgYnkgdXNpbmcgbW9yZSBvZgoJICBHc3RNcGVnVmlkZW9QYWNrZXQgYW5kIGRldGVybWluaW5nIHRoZSBleHRlbnNpb25fc3RhcnRfY29kZV9pZGVudGlmaWVyCgkgIHByaW9yIHRvIGNhbGxpbmcgdGhlIHBhcnNlciBmdW5jdGlvbiBmb3IgdGhhdCBleHRlbnNpb24gcGFja2V0LgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTMxIDExOjU3OjU0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IG1wZWcyOiBhZGQgbmV3IEFQSSB0aGF0IHRha2VzIEdzdE1wZWdWaWRlb1BhY2tldCBhcmd1bWVudHMuCgkgIEFkZCBuZXcgaW50ZXJmYWNlIHRvIE1QRUctMiB2aWRlbyBwYXJzZXIgdGhhdCB0YWtlcyBHc3RNcGVnVmlkZW9QYWNrZXQKCSAgYXJndW1lbnRzIGluc3RlYWQgb2YgZGF0YSwgc2l6ZSwgYW5kIG9mZnNldC4gTmV3IGZ1bmN0aW9ucyBhcmUgY2FsbGVkCgkgIGFmdGVyIGdzdF9tcGVnX3ZpZGVvX3BhY2tldF8qKCkgYW5kIHByb3ZpZGUgdGhlIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIE9sZGVyIEFQSSBpcyBtb3ZlZCB0byB0aGUgZGVwcmVjYXRlZCBuYW1lc3BhY2UgYW5kIHVzZXMgdGhlIG5ldyBmdW5jdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MzMKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wNy0wNSAxNjo0Njo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgbm8tbG9uZ2VyIG5lZWRlZCBjb2RlCgkgIFNpbmNlIHdlIG5vdyBzZW5kIGFsbCBzZWN0aW9ucyB0byB0aGUgcGFja2V0aXplciwgd2Ugbm8gbG9uZ2VyIG5lZWQgdG8gZG8KCSAgYW55bW9yZSBpbi1kZXB0aCBjaGVja3MgZm9yIHRoZSB2YWxpZGl0eSBvZiBhIHNlY3Rpb24uCgkgIFRoZSBjaG9pY2UgYm9pbHMgZG93biB0bzoKCSAgMSkgSXMgaXQgZnJvbSBhIGtub3duIFBFUyBwaWQgPyBJZiBzbyBwYXNzIGl0IG9uICh3aGljaCBtaWdodCBiZSBqdXN0IHB1c2hpbmcKCSAgZG93bnN0cmVhbSBpbiB0aGUgY2FzZSBvZiB0c3BhcnNlLCBvciBhY2N1bXVsYXRpbmcgUEVTIGRhdGEgZm9yIHRzZGVtdXgpCgkgIDIpIElzIGl0IGZyb20gYSBrbm93biBTSSBwaWQgPyBJZiBzbyBwYXNzIGl0IHRvIHRoZSBzZWN0aW9uIHBhY2tldGl6ZXIKCjIwMTMtMDctMDUgMTM6NTM6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YjogRml4IFBNVCBoYW5kbGluZwoJICBXYXMgdXNpbmcgYW4gb2xkZXIgKHRlbXBvcmFyeSkgdmVyc2lvbiBvZiB0aGUgbXBlZ3RzIGxpYnJhcnkgQVBJLgoKMjAxMy0wNy0wNSAxMDo1NzozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGRpc2FibGluZwoJICBXZSBwcmV2aW91c2x5IHdlcmVuJ3QgdXNpbmcgdGhhdCB2YXJpYWJsZSAuLi4KCjIwMTMtMDctMDQgMDg6NDM6MzcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLWRlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3QtZHZiLXNlY3Rpb24uaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSAgbXBlZ3RzOiBJbXByb3ZlIGRvY3VtZW50YXRpb24KCSAgKiBBZGQgYSBiYXNlIHBhZ2UgZm9yIHRoZSBsaWJyYXJ5CgkgICogQWRkIHBhZ2VzIGZvciB0aGUgYmFzZSBNUEVHLVRTIHNlY3Rpb24gYW5kIGRlc2NyaXB0b3JzCgkgICogQWRkIHBhZ2VzIGZvciB0aGUga25vd24gdmFyaWFudHMKCSAgKiBBZGQgZG9jdW1lbnRhdGlvbiBvbiBtb3JlIGZpZWxkcy9zZWN0aW9ucy90eXBlcwoJICAqIFJlbW92ZSBzb21lIGZpeG1lcyB0aGF0IHdlcmUgLi4uIGZpeGVkCgoyMDEzLTA3LTA0IDA3OjQ5OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogU3dpdGNoIHRvIHVzaW5nIEdzdE1wZWdUc1N0cmVhbVR5cGUKCSAgV2Ugc3RpbGwgaGF2ZSBzb21lIG90aGVyIHN0cmVhbSB0eXBlcyB3aGljaCBoYXZlbid0IGJlZW4gcG9ydGVkLCBidXQKCSAgd2Ugd2lsbCBkbyBzbyBvbmNlIHdlIGhhdmUgZGVmaW5lZCB0aGUgZW51bXMgaW4gdGhlIG1wZWd0cyBsaWJyYXJ5LgoJICBBbHNvIGFkZCBzb21lIEZJWE1FcyByZWdhcmRpbmcgaXRlbXMgZGlzY292ZXJlZCBkdXJpbmcgYW5hbHlzaXMKCjIwMTMtMDctMDQgMDc6NDg6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkgIG1wZWd0c2Rlc2NyaXB0b3I6IEZpeCBoYW5kbGluZyBvZiB1bmtub3duIHN0cmVhbSBlbmNvZGluZ3MKCSAgSWYgd2UgY2Fubm90IGlkZW50aWZ5IHRoZSBlbmNvZGluZyB1c2VkIGZvciBhIHN0cmluZywgcmV0dXJuIGEgTlVMTAoJICBzdHJpbmcgaW5zdGVhZCBvZiBnYXJiYWdlIGFuZCBhZGQgYSBGSVhNRSBzbyB3ZSBjYW4gZGV0ZWN0IGFuZCBsYXRlcgoJICBmaXggaXQuCgoyMDEzLTA3LTA0IDA3OjQ1OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgbXBlZ3RzOiBBZGQgcmVnaXN0ZXJlZCBtcGVnLXRzIHN0cmVhbSB0eXBlcwoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyBvZmZpY2lhbGx5IHJlZ2lzdGVyZWQgaW4gdGhlIGJhc2Ugc3BlY2lmaWNhdGlvbgoJICAoSC4yMjIuMC8xMzgxOC0xKS4gTGF0ZXIgb24gd2UgY2FuIGFkZCBvdGhlciBlbnVtcyBmb3Igb3RoZXIgdmFyaWFudHMKCSAgTm90ZSB0aGF0IHRoZSBlbnVtIGlzIG5vdCB1c2VkIGluIHRoZSBzdHJ1Y3R1cmUgZmllbGRzIChzdWNoIGFzIGEgcG10CgkgIHN0cmVhbSBzdHJlYW1fdHlwZSBmaWVsZCkgc2luY2UgaXQgY2FuIGNvbnRhaW4gdmFsdWVzIGZyb20gb3RoZXIKCSAgdmFyaWFudHMuCgoyMDEzLTA3LTA0IDAyOjEyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IGV4YW1wbGVzOiBhZGQgbWlzc2luZyBsaWIgdG8gbWFrZWZpbGUKCSAgRml4ZXMgaW5pdGlhbGl6YXRpb24gb2Ygc2FtcGxlIGFwcGxpY2F0aW9uCgoyMDEzLTA3LTAzIDE5OjExOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcmV2ZW50IGFzc2VydGlvbiB3aGVuIGR1cmF0aW9uIGlzIHVua25vd24KCSAgRHVyYXRpb24gZnJvbSBzZWdtZW50IGJlaW5nIHVua25vd24gaXMgYSBpc3N1ZSBmcm9tIHRoZSBNUEQgYW5kIG5vdAoJICBhIHByb2dyYW1taW5nIGlzc3VlLCBzbyB0aGUgYXNzZXJ0IGlzbid0IHVzZWZ1bCBoZXJlLiBJbnN0ZWFkIGNoZWNrCgkgIGFuZCByZXR1cm4gYW4gZXJyb3IgY29kZSBzbyB0aGUgY2FsbGVyIGNhbiBmYWxsYmFjayB0byBhbHRlcm5hdGl2ZXMKCjIwMTMtMDctMDMgMTk6MTE6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBldmVudCBsZWFrIHdoZW4gcGFyc2luZyBtYW5pZmVzdCBmYWlscwoJICBBbHdheXMgcmVtZW1iZXIgdG8gdW5yZWYgdGhlIGV2ZW50IGJlZm9yZSBwcm9jZWVkaW5nLCBpbiBib3RoIHN1Y2Nlc3MKCSAgYW5kIGZhaWx1cmUgY2FzZXMKCjIwMTMtMDctMDMgMTI6MzA6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogdmFyaW91cyBjbGVhbnVwcwoJICBSZW1vdmluZyB1bnVzZWQgZnVuY3Rpb24sIHJlcGxhY2luZyAvLyBjb21tZW50cyB3aXRoIC8qICovIGFuZAoJICByZXBsYWNpbmcgc29tZSBHU1RfV0FSTklORyB3aXRoIEdTVF9JTkZPL19ERUJVRyBhcyB0aGV5IGFyZSBtZWFudAoJICB0byBiZQoKMjAxMy0wNi0xMSAxNDoyODo1MyArMDEwMCAgQWxleCBBc2hsZXkgPGJ1Z3ppbGxhQGFzaGxleS1mYW1pbHkubmV0PgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBDaGFuZ2UgZmlyc3QgZnJhZ21lbnQgc2VsZWN0aW9uIGZvciBsaXZlIHN0cmVhbXMKCSAgV2hlbiBkYXNoZGVtdXggc2VsZWN0cyBpdHMgZmlyc3QgZnJhZ21lbnQsIGl0IGFsd2F5cyBzZWxlY3RzIHRoZQoJICBmaXJzdCBmcmFnbWVudCBsaXN0ZWQgaW4gdGhlIG1hbmlmZXN0LiBGb3Igb24tZGVtYW5kIGNvbnRlbnQsCgkgIHRoaXMgaXMgdGhlIGNvcnJlY3QgYmVoYXZpb3VyLiBIb3dldmVyIGZvciBsaXZlIGNvbnRlbnQsIHRoaXMKCSAgYmVoYXZpb3VyIGlzIHVuZGVzaXJhYmxlIGJlY2F1c2UgdGhlIGZpcnN0IGZyYWdtZW50IGxpc3RlZCBpbiB0aGUKCSAgbWFuaWZlc3QgbWlnaHQgYmUgc29tZSBjb25zaWRlcmFibGUgdGltZSBiZWhpbmQgIm5vdyIuCgkgIFRoZSBjb21taXQgdXNlcyB0aGUgaG9zdCdzIGlkZWEgb2YgVVRDIGFuZCB0cmllcyB0byBmaW5kIHRoZQoJICBvbGRlc3QgZnJhZ21lbnQgdGhhdCBjb250YWlucyBzYW1wbGVzIGZvciB0aGlzIHRpbWUgb2YgZGF5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNTA5CgoyMDEzLTA3LTAzIDE4OjUyOjE4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9tcGVndHMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0LWR2Yi1kZXNjcmlwdG9yLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzLXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBtcGVndHM6IHNwbGl0IGR2YiBkZXNjcmlwdG9ycy9lbnVtcyBpbnRvIGEgc2VwYXJhdGUgZmlsZQoJICBXZSB3aWxsIGRvIHRoZSBzYW1lIG9uY2Ugd2UgaGF2ZSBBVFNDL0lTREIvLi4uIGRlc2NyaXB0b3IgcGFyc2luZwoKMjAxMy0wNy0wMyAxODo0NDo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdC1kdmItc2VjdGlvbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIG1wZWd0czogRml4IFRPVCBzZWN0aW9uIHBhcnNpbmcKCSAgQW5kIHVzZSBpdCBpbiBleGFtcGxlCgoyMDEzLTA3LTAzIDE4OjAwOjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy90cy1wYXJzZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBhIGxlYWsKCjIwMTMtMDctMDMgMTc6NTk6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSAgbXBlZ3RzOiBTcGxpdCBmaWxlcyBhbmQgaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zCgkgICogSW4gb3JkZXIgdG8gYXZvaWQgZnV0dXJlIGNsYXNoaW5nIGJldHdlZW4gdGFibGVfaWQgZm9yIHRoZSB2YXJpb3VzCgkgIG1wZWctdHMgdmFyaWFudHMsIHVzZSBkaWZmZXJlbnQgZW51bXMuCgkgICogSW4gb3JkZXIgdG8ga2VlcCBldmVyeXRoaW5nIGNsZWFuKGlzaCkgYW5kIGFsbG93IGZvciBjbGVhbmVyIGdyb3d0aCwKCSAgc3BsaXQgaW50byBkaWZmZXJlbnQgZmlsZXMgKHdpbGwgbmVlZCB0aGUgc2FtZSBmb3IgZGVzY3JpcHRvcnMgbGF0ZXIpCgkgICogQWxzbyAuLi4gaW1wbGVtZW50IGZyZWUgZnVuY3Rpb25zIGZvciBhbGwgdGFibGUgdHlwZXMgOikKCjIwMTMtMDctMDMgMTU6MzA6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50CgoyMDEzLTA3LTAzIDEwOjE2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBvbmx5IGdlbmVyYXRlIGluZGV4IHNlZ21lbnQgdXJpIGlmIHRoZXJlIGlzIGEgdGVtcGxhdGUKCSAgU2ltcGxlIGZpeCB0byBhdm9pZCBhbiBhc3NlcnRpb24uCgoyMDEzLTA2LTIxIDE3OjA5OjMwIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBJbXBsZW1lbnQgaW5oZXJpdGFuY2UgZm9yIGNlcnRhaW4gTVBEIGVsZW1lbnRzCgkgIEFjY29yZGluZyB0byB0aGUgTVBFRy1EQVNIIHNwZWMsIGNlcnRhaW4gZWxlbWVudHMgKGkuZS4KCSAgU2VnbWVudEJhc2UsIFNlZ21lbnRUZW1wbGF0ZSwgYW5kIFNlZ21lbnRMaXN0KSBzaG91bGQgaW5oZXJpdAoJICBhdHRyaWJ1dGVzIGZyb20gdGhlIHNhbWUgZWxlbWVudHMgaW4gdGhlIGNvbnRhaW5pbmcgQWRhcHRhdGlvblNldAoJICBvciBQZXJpb2QuCgkgIFVwZGF0ZWQgdGhlIFNlZ21lbnRCYXNlLCBTZWdtZW50VGVtcGxhdGUsIGFuZCBTZWdtZW50TGlzdCBwYXJzZXJzCgkgIHRvIHByb3Blcmx5IGluaGVyaXQgYXR0cmlidXRlcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIGVsZW1lbnRzIGluCgkgIEFkYXB0YXRpb25TZXQgYW5kL29yIFBlcmlvZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY3NwoKMjAxMy0wNi0yMSAxNTo1MTo0NiAtMDYwMCAgR3JlZyBSdXR6IDxncmVnQGdzci10ZWsuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogUHJvcGVybHkgZGV0ZWN0IHByZXNlbmNlIG9mIHhtbCBhdHRyaWJ1dGVzCgkgIENvbnZlcnQgYWxsIHhtbCBhdHRyaWJ1dGUvY29udGVudCBwYXJzaW5nIGZ1bmN0aW9ucyB0byByZXR1cm4gYQoJICBib29sZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBvciBub3QgdGhlIGF0dHJpYnV0ZS9jb250ZW50IHdhcwoJICBwcmVzZW50LiAgV2UgbmVlZCB0aGlzIGZpbmVyLWdyYWluZWQgY29udHJvbCBpbiBvcmRlciB0byBwcm9wZXJseQoJICBpbXBsZW1lbnQgdGhlIGluaGVyaXRhbmNlIHBvbGljaWVzIGRlc2NyaWJlZCBpbiB0aGUgc3BlYwoJICBBbHNvIGZpeGVkIHNldmVyYWwgbWVtb3J5IGxlYWsgY29uZGl0aW9ucyB3aGVuIGhhbmRsaW5nIGVycm9ycyBpbgoJICB0aGUgeG1sIGF0dHJpYnV0ZS9jb250ZW50IHBhcnNpbmcgZnVuY3Rpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNjc3CgoyMDEzLTA3LTAyIDIxOjMxOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBjaGFuZ2UgZGVidWcgbWVzc2FnZSBmcm9tIHdhcm5pbmcgdG8gaW5mbwoJICBJdCBpc24ndCBhIHdhcm5pbmcvaXNzdWUuCgoyMDEzLTA3LTAyIDIxOjI4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGZyb20gYWNjZXNzIHRvIGVtcHR5IGxpc3QgZGF0YQoJICBDaGVjayBpZiB0aGUgbGlzdCBoYXMgZWxlbWVudHMgYmVmb3JlIHRyeWluZyB0byBhY2Nlc3MgdGhlIGxhc3Qgb25lCgkgIGFuZCBjYXVzaW5nIGEgc2VnZmF1bHQKCjIwMTMtMDctMDIgMjM6MTY6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgdXJpZG93bmxvYWRlcjogU2ltcGxpZnkgbG9ja2luZyB0byBmaXggZGVhZGxvY2tzCgkgIFVzZSBvYmplY3QgbG9jayB0byBwcm90ZWN0IHZhcmlhYmxlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGFuZAoJICB1c2UgZG93bmxvYWRfbG9jayB0byBvbmx5IGFsbG93IG9uZSBkb3dubG9hZCBydW5uaW5nCgoyMDEzLTA3LTAyIDE2OjA0OjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm90ZWN0IGFnYWluc3QgZmFpbGVkIGhlYWRlciBkb3dubG9hZHMKCSAgQXZvaWRzIGNyaXRpY2FscyB3aGVuIGRvd25sb2FkZWQgZnJhZ21lbnQgaXMgTlVMTAoKMjAxMy0wNy0wMyAxMzo1OTowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHMvdHMtcGFyc2VyLmM6CgkgIGV4YW1wbGVzOiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU3OjU3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IEdzdE1wZWdUUyA9PiBHc3RNcGVnVHMKCjIwMTMtMDctMDMgMTM6NTc6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBHc3RNcGVnVFMgPT4gR3N0TXBlZ1RzCgoyMDEzLTA3LTAzIDEzOjU2OjIyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNkZXNjcmlwdG9yLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c3NlY3Rpb24uYzoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmg6CgkgIGxpYnMvbXBlZ3RzOiBSZW5hbWUgR3N0TXBlZ1RTID0+IEdzdE1wZWdUcwoJICBTb3JyeSBmb3IgdGhpcyA6KCBCdXQgdGhpcyBtYWtlcyBpdCBtb3JlIGluIHN5bmMgd2l0aCBleHBlY3RlZCB0eXBlCgkgIG5hbWluZyBpbiBnb2JqZWN0IChpLmUuIENhbWVsQ2FzZSBhbmQgbm90IENhbWVsTUFZQkVDYXNlKS4KCSAgQWxzbyBzcGxpdCBkZXNjcmlwdG9yIHR5cGUgZW51bXMgaW50byB0aGUgZGlmZmVyZW50IHZhcmlhbnRzOgoJICAqIElTTyBILjIyMi4wIC8gMTM4MTgtMSAoaS5lLiBzdGFuZGFyZCBtcGVnLXRzKQoJICAqIERWQgoJICAqIEFUU0MKCSAgKiBJU0RCCgkgICogbWlzY2VsbGFuZW91cwoJICBUaGlzIHdpbGwgYXZvaWQgZnV0dXJlIGNsYXNoZXMgd2hlbiBzcGVjcyB1c2UgdGhlIHNhbWUgZGVzY3JpcHRvciB0eXBlCgoyMDEzLTA3LTAxIDA4OjM1OjI2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL21wZWd0cy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbXBlZ3RzL3RzLXBhcnNlci5jOgoJICBleGFtcGxlczogQWRkIGFuIGV4YW1wbGUgb2YgYSBtcGVnLXRzIFNJIGV4dHJhY3RvcgoJICBTZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2FnZSBvZiB0aGUgbmV3IG1wZWd0cyBsaWJyYXJ5IGZyb20gYW4KCSAgYXBwbGljYXRpb24uCgkgIFdpbGwgcGFyc2UvZHVtcCBhbGwgc2VjdGlvbnMgcmVjZWl2ZWQgb24gYSBidXMuCgkgIFVzYWdlIGlzIC4vdHNwYXJzZSA8YW55IGdzdC1sYXVuY2ggbGluZSB1c2luZyB0c2RlbXV4IG9yIHRzcGFyc2U+CgkgIEV4YW1wbGVzOgoJICAuL3RzcGFyc2UgZmlsZTovLy9zb21lL21wZWd0c2ZpbGUgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIGR2YjovL0NIQU5ORUwgISB0c3BhcnNlICEgZmFrZXNpbmsKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWR2YjovL0NIQU5ORUwKCSAgLi90c3BhcnNlIHBsYXliaW4gdXJpPWZpbGU6Ly8vc29tZS9tcGVndHNmaWxlCgkgIC4uLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTIzIDA4OjQ0OjA4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJKiBzeXMvZHZiL2NhbWRldmljZS5oOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuaDoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmI6IFN3aXRjaCB0byBNUEVHLVRTIFNJIGxpYnJhcnkKCSAgQWxzbyBzZXJ2ZXMgYXMgYW4gZXhhbXBsZSBvZiB1c2luZyBtcGVndHMgbGlicmFyeSBmcm9tIGEgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDM6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTd2l0Y2ggdG8gTVBFRy1UUyBTSSBsaWJyYXJ5CgkgICogT25seSBtcGVnLXRzIHNlY3Rpb24gcGFja2V0aXphdGlvbiByZW1haW5zLgoJICAqIEltcHJvdmUgY29kZSB0byBkZXRlY3QgZHVwbGljYXRlZCBzZWN0aW9ucyBhcyBlYXJseSBhcyBwb3NzaWJsZQoJICAqIEFkZCBGSVhNRSBmb3IgdmFyaW91cyBpc3N1ZXMgdGhhdCBuZWVkIGZpeGluZyAoYnV0IGFyZSBub3QgcmVncmVzc2lvbnMpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI3MjQKCjIwMTMtMDYtMjMgMDg6NDE6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0cy1wcml2YXRlLmg6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3RzZGVzY3JpcHRvci5jOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL2dzdG1wZWd0c2Rlc2NyaXB0b3IuaDoKCSogZ3N0LWxpYnMvZ3N0L21wZWd0cy9nc3RtcGVndHNzZWN0aW9uLmM6CgkqIGdzdC1saWJzL2dzdC9tcGVndHMvZ3N0bXBlZ3Rzc2VjdGlvbi5oOgoJKiBnc3QtbGlicy9nc3QvbXBlZ3RzL21wZWd0cy5oOgoJICBnc3QtbGliczogTmV3IE1wZWctVFMgc3VwcG9ydCBsaWJyYXJ5CgkgIEV4cG9zZXMgdmFyaW91cyBNUEVHLVRTIChJU08vSUVDIDEzODE4LTEpIGFuZCBEVkIgKEVOIDMwMCA0NjgpIFNlY3Rpb24KCSAgSW5mb3JtYXRpb24gYXMgd2VsbCBhcyBkZXNjcmlwdG9ycyBmb3IgdXNhZ2UgYnkgcGx1Z2lucyBhbmQgYXBwbGljYXRpb25zLgoJICBUaGlzIHJlcGxhY2VzIGVudGlyZWx5IHRoZSBvbGQgR3N0U3RydWN0dXJlLWJhc2VkIHN5c3RlbSBmb3IgY29udmV5aW5nCgkgIG1wZWctdHMgaW5mb3JtYXRpb24gdG8gYXBwbGljYXRpb25zIGFuZCBvdGhlciBwbHVnaW5zLgoJICBQYXJzaW5nIGFuZCB2YWxpZGF0aW9uIGlzIGRvbmUgb24gYSAid2hlbi1uZWVkZWQiIGJhc2lzLiBUaGlzIGVuc3VyZXMKCSAgdGhlIG1pbmltYWwgb3ZlcmhlYWQgZm9yIGVsZW1lbnRzIGFuZCBhcHBsaWNhdGlvbnMgY3JlYXRpbmcgYW5kIHVzaW5nCgkgIHNlY3Rpb25zIGFuZCBkZXNjcmlwdG9ycy4KCSAgU2luY2UgYWxsIGluZm9ybWF0aW9uIGlzIG1hZGUgYXZhaWxhYmxlLCB0aGlzIGFsc28gYWxsb3dzIGFwcGxpY2F0aW9ucwoJICB0byBwYXJzZSBjdXN0b20gc2VjdGlvbnMgYW5kIGRlc2NyaXB0b3JzLgoJICBSaWdodCBub3cgdGhlIGxpYnJhcnkgaXMgdGFyZ2V0ZWQgdG93YXJkcyBwYXJzaW5nLCBidXQgdGhlIHN0cnVjdHVyZXMKCSAgY291bGQgYmUgdXNlZCBpbiB0aGUgZnV0dXJlIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0byBjcmVhdGUgYW5kIGluamVjdAoJICBzZWN0aW9ucyBhbmQgZGVzY3JpcHRvcnMgKGZvciB1c2FnZSBieSB2YXJpb3VzIG1wZWctdHMgZWxlbWVudHMpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyNzI0CgoyMDEzLTA2LTEwIDE4OjAxOjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IEhhbmRsZSBjYXNlIHdpdGhvdXQgYW4gaW5pdGlhbGl6YXRpb24gc2VnbWVudAoJICBJZiBubyBpbml0aWFsaXphdGlvbiBzZWdtZW50IGlzIGRlZmluZWQsIHRoZW4gZG9uJ3QgcHJpbnQgYQoJICBjcml0aWNhbCBvciBhIHdhcm5pbmcsIGp1c3QgaWdub3JlIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxOTYxCgoyMDEzLTA3LTAxIDE4OjIyOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogc2F2ZSAxIG9yIDIgc3RyaW5nIGNvcGllcyB3aGVuIGdldHRpbmcgZnJhZ21lbnQgdXJpcwoJICBPbmx5IGNyZWF0ZSBuZXcgc3RyaW5nIGlmIHJlcXVpcmVkLCBzYXZpbmcgbWF5YmUgMSBvciAyIHN0ciBjb3BpZXMgcGVyCgkgIGZyYWdtZW50LgoKMjAxMy0wNy0wMSAxODoxNTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiBhZGQgdXJpZG93bmxvYWRlciBsaWIgdG8gZ3RrLWRvYyBsaWJzCgkgIGZpeGVzIHJ1bnRpbWUgbGlua2luZyBlcnJvciBvbiB3aW5kb3dzCgoyMDEzLTA3LTAxIDE3OjUwOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGVhY2ggZnJhZ21lbnQgY2FuIGhhdmUgaXRzIG93biBpbmRleAoJICBSZXR1cm4gaW5kZXggVVJJL3JhbmdlIHRvIGRhc2hkZW11eCBmcm9tIHRoZSBtcGRwYXJzZXIgdG8gYmUgYWJsZQoJICB0byBkb3dubG9hZCBhbmQgZGVsaXZlciB0aGVtIGRvd25zdHJlYW0gZm9yIHBsYXliYWNrLgoKMjAxMy0wNy0wMSAxMzoxOToxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBoYW5kbGUgdG9wLWxldmVsIGluZGV4IHVybHMKCSAgUGFyc2UgYW5kIHByb3ZpZGUgYWNjZXNzIHRvIHRvcC1sZXZlbCBpbmRleCBzZWdtZW50cyBpZiBhdmFpbGFibGUuCgkgIGRhc2hkZW11eCBzaG91bGQgcHVzaCB0aG9zZSB3aGVuZXZlciBhIGhlYWRlciBpcyBwdXNoZWQuCgkgIEZpeGVzICM3MDA0ODkKCjIwMTMtMDUtMDYgMTc6MDg6NTQgLTA0MDAgIEFydGh1ciBTaGlwa293c2tpIDxhcnRAdmlkZW9uLWNlbnRyYWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogRml4IGNyaXRpY2FsIGVycm9yIG91dHB1dCB3aGVuIEluaXRpYWxpemF0aW9uIGhhcyBubyBVUkwKCSAgSXNzdWUgZXZpbmNlZCBieQoJICBodHRwOi8veXQtZGFzaC1tc2UtdGVzdC5jb21tb25kYXRhc3RvcmFnZS5nb29nbGVhcGlzLmNvbS9jYXItMjAxMjA4MjctbWFuaWZlc3QubXBkCgkgIHdoaWNoIHByb2R1Y2VzIG91dHB1dCBsaWtlICoqIChnc3QtbGF1bmNoLTEuMDo4MDYwKTogQ1JJVElDQUwgKio6CgkgIGdzdF9tcGRwYXJzZXJfZ2V0X2luaXRpYWxpemF0aW9uVVJMOiBhc3NlcnRpb24gYEluaXRpYWxpemF0aW9uVVJMLT5zb3VyY2VVUkwKCSAgIT0gTlVMTCcgZmFpbGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODkKCjIwMTMtMDctMDEgMTQ6MzU6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IHByZXZlbnQgY3Jhc2ggYnkgY2hlY2tpbmcgaWYgdGhlIHNlZ21lbnQgbm9kZSBpcyBwcmVzZW50CgkgIERvIG5vdCB0cnkgdG8gYWNjZXNzIHJhbmdlIGRhdGEgaWYgdGhlcmUgaXMgbm8gc2VnbWVudCBub2RlCgoyMDEzLTA2LTI1IDE4OjM0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaF9kZWJ1Zy5oOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2g6IHVzZSBzYW1lIGRlYnVnIGNhdGVnb3J5IGZvciBkYXNoZGVtdXggYW5kIHRoZSBtcGQgcGFyc2VyCgkgIE1ha2VzIGRlYnVnZ2luZyBlYXNpZXIKCjIwMTMtMDYtMjAgMDM6NTI6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIHJhbmdlIGJhc2VkIHNlZ21lbnRzCgkgIFVzZSB0aGUgbWVkaWFSYW5nZSBpbmZvcm1hdGlvbiBhbmQgcGFzcyBpdCB0byB0aGUgdXJpZG93bmxvYWRlcgoJICB0byBjb3JyZWN0bHkgZG93bmxvYWQgb25seSB0aGUgc2VnbWVudCByYW5nZXMgaW5kaWNhdGVkIGluIHRoZQoJICBNUEQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjIwNgoKMjAxMy0wNi0xOSAxODoyODoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IGFkZCBzdXBwb3J0IGZvciByYW5nZSBiYXNlZCBkb3dubG9hZHMKCSAgQWRkcyBhIG5ldyBBUEkgZ3N0X3VyaV9kb3dubG9hZGVyX2ZldGNoX3VyaV93aXRoX3JhbmdlIHRoYXQgYWxsb3dzCgkgIGRvd25sb2FkaW5nIG9ubHkgYSBieXRlIHJhbmdlIGZyb20gYW4gVVJJLiBJdCB1c2VzIGEgc2VlayBldmVudAoJICBzZW50IHRvIHRoZSBzb3VyY2UgdG8gc2lnbmFsIHRoZSByYW5nZSB0byBiZSBkb3dubG9hZGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMjA2CgoyMDEzLTAzLTA5IDAxOjQ5OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogRml4IHRoZSByZXR1cm4gdmFsdWUgdHlwZSBmb3IgdGhlIFNFSSBwYWx5bG9hZCBwYXJzaW5nIG1ldGhvZHMuCgkgIFRoZSByZXR1cm4gdmFsdWUgdHlwZSBvZiBTRUkgcGF5bG9hZCBwYXJzaW5nIGZ1bmN0aW9ucwoJICBhcmUgR3N0SDI2NFBhcnNlclJlc3VsdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQ3NQoKMjAxMy0wNi0yOCAyMDoxNTowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBzcnRwOiBEb24ndCByZXF1aXJlIGEga2V5IGlmIGJvdGggYXV0aCBhbmQgY2lwaGVyIGFyZSBudWxsCgoyMDEzLTA2LTI4IDIwOjMyOjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NydHAvTWFrZWZpbGUuYW06CgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSogZXh0L3NydHAvZ3N0c3J0cC5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogTW92ZSB0aGUgZW51bXMgdG8gdGhlIGNvbW1vbiBoZWFkZXIKCSAgVGhlIHR5cGVzIGFyZSB1c2VkIGluIGJvdGggdGhlIGVuY29kZXIgYW5kIGRlY29kZXIKCjIwMTMtMDYtMjggMjA6MTM6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IFJlbW92ZSB1bnVzZWQgY29kZQoKMjAxMy0wNi0yOCAxMjoyNTo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogYWRkIHRoZSBidWlsZCBwcmVmaXggcGF0aCBpbiB0aGUgc2VhcmNoIGRpcnMKCjIwMTMtMDYtMjUgMTA6MjY6MjQgLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IENsZWFudXAgbWVtb3J5IGFsbG9jYXRpb24vZGVhbGxvY2F0aW9uCgkgIEVuc3VyZSB0aGF0IGdfZnJlZS94bWxGcmVlIGlzIHVzZWQgY29ycmVjdGx5IGJhc2VkIG9uIGhvdyB0aGUKCSAgbWVtb3J5IHdhcyBhbGxvY2F0ZWQuCgkgIFdoZW4gZGVhbGxvY2F0aW5nIEdMaXN0cywgdGhlcmUgd2VyZSBtYW55IHBsYWNlcyB0aGF0IHdlcmUgdXNpbmcKCSAgZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLiAgQ29udmVydGVkIHRoZXNlIG9jY3VycmVuY2VzIHRvCgkgIGNhbGwgZ19saXN0X2ZyZWVfZnVsbC4KCSAgQWRkIE5VTEwgY2hlY2tzIHRvIGFsbCB4bWxGcmVlIGNhbGxzIHNpbmNlIHRoZSBkb2N1bWVudGF0aW9uIGRvZXMKCSAgbm90IGd1YXJhbnRlZSB0aGF0IHBhc3NpbmcgTlVMTCBpcyBzYWZlCgkgIEluIHBsYWNlcyB3aGVyZSB3ZSBhcmUgc3RyZHVwJ2luZyBtZW1vcnkgYWxsb2NhdGVkIGJ5IGxpYnhtbDIsCgkgIGNoYW5nZWQgdGhvc2UgY2FsbHMgdG8gdXNlIHhtbE1lbVN0cmR1cCgpLgoJICBUaGVyZSB3ZXJlIHNldmVyYWwgcGxhY2VzIHdoZXJlIHdlIHdlcmUgbWlzc2luZyBnX3NsaWNlX2ZyZWUgd2hlbgoJICBkZWFsbG9jYXRpbmcgYSB0b3AtbGV2ZWwgbm9kZSBzdHJ1Y3R1cmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI4MzcKCjIwMTMtMDYtMjQgMTM6MDI6NDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIG1wZWdkZXNjOiBFeHRlbmQgbGlzdCBvZiBrbm93biBkZXNjcmlwdG9ycwoJICBBZGQgdGhlIHZhcmlvdXMgQVRTQyBvbmVzCgoyMDEzLTA2LTI0IDA4OjI0OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IE9ubHkgd2FybiBmb3IgYWRkZWQgc3RyZWFtcyB3aGVuIG5lZWRlZAoJICBXZSB1c2UgYWRkX3N0cmVhbShzdHJlYW1fdHlwZTotMSkgdG8gZW5zdXJlIGEgcHJvZ3JhbXMnIFBDUiBTdHJlYW0gaXMKCSAgYWxzbyB0YWtlbiBpbnRvIGFjY291bnQuIEZvciBtb3N0IHByb2dyYW1zIHRoaXMgd2lsbCByZS11c2UgYW4KCSAgZXhpc3RpbmcgRVMgc3RyZWFtLgoJICBTbyBvbmx5IHdhcm4gdGhhdCB3ZSBhcmUgcmUtYWRkaW5nIGEgc3RyZWFtIGlmIGl0IHdhcyBhbHJlYWR5IHByZXNlbnQKCSAgQU5EIGl0IGlzIG5vdCB0byBlbnN1cmUgdGhlIFBDUiBzdHJlYW0gaXMgdGFrZW4gaW50byBhY2NvdW50LgoKMjAxMy0wNi0yMyAxNToxMjo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBzZWN0aW9uIHBhcnNpbmcKCSAgT25seSBjcmVhdGUgc3VidGFibGVzIHdoZW4gbmVlZGVkLiBJdCB3YXMgcHJldmlvdXNseSBjcmVhdGluZyBvbmUgZXZlcnkKCSAgc2luZ2xlIHRpbWUgLi4uIHRvIGNoZWNrIGlmIG9uZSB3YXMgcHJlc2VudC4KCSAgQW5kIHNwZWVkIHVwIGNvZGUgdG8gZGV0ZWN0IHdoZXRoZXIgYSBzdWJ0YWJsZSB3YXMgYWxyZWFkeSBwcmVzZW50IG9yIG5vdC4KCSAgT3ZlcmFsbCBtYWtlcyBzZWN0aW9uIHB1c2hpbmcgMiB0aW1lcyBmYXN0ZXIuCgoyMDEzLTA2LTI0IDA3OjQwOjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogRXh0ZW5kIGxpc3Qgb2Yga25vd24gZGVzY3JpcHRvcnMKCSAgRnJvbSBJVFUtVCBIMjIyLjAgKDA2LzIwMTIpLiBGcmVlbHkgYXZhaWxhYmxlIGZyb20gaXR1LmludAoKMjAxMy0wNi0yMyAxNToyNjoxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIHBhY2tldCBwYXJzaW5nCgkgIEF2b2lkIHVzaW5nIGJpdHNoaWZ0aW5nIHdoZXJlIG5vdCBuZWVkZWQuCgkgIFNwZWVkcyB1cCBwYWNrZXQgcGFyc2luZyBieSAzJSAodGhpcyBpcyAqdGhlKiBob3RzcG90IG9mIG1wZWctdHMgZWxlbWVudHMpLgoKMjAxMy0wNi0yMiAwODo1NzoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IEZpeCBndGstZG9jCgkgIERldGVjdGVkIGJ5IGluaXRpYWwgcHJlLXJ1biBvZiBnaS1zY2FubmVyLgoKMjAxMy0wNi0yMyAxMToyOToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWRlYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuaDoKCSAgZGFhbGFkZWM6IEFkZCBkZWNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjMgMTA6MDQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhLmM6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGFlbmM6IEFkZCBlbmNvZGVyIGVsZW1lbnQKCjIwMTMtMDYtMjIgMTE6Mjc6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGFhbGEvTWFrZWZpbGUuYW06CgkqIGV4dC9kYWFsYS9nc3RkYWFsYS5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFkZWMuYzoKCSogZXh0L2RhYWxhL2dzdGRhYWxhZGVjLmg6CgkqIGV4dC9kYWFsYS9nc3RkYWFsYWVuYy5jOgoJKiBleHQvZGFhbGEvZ3N0ZGFhbGFlbmMuaDoKCSAgZGFhbGE6IEluaXRpYWwgdmVyc2lvbiBvZiBhIERhYWxhIHBsdWdpbgoKMjAxMy0wNi0yMyAwOTowNToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSAgc3J0cDogRml4IGRpc3QKCSAgVGhlIGVudW1zIHNob3VsZCBub3QgYmUgZGlzdC1lZCBhbmQgaW5zdGVhZCBiZSByZS1nZW5lcmF0ZWQgd2hlbgoJICBjb21waWxpbmcuCgoyMDEzLTA2LTE5IDIwOjM5OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEJldHRlciBkZXRlY3QgYWxyZWFkeSBzZWVuIHNlY3Rpb24KCSAgSW4gc29tZSBjYXNlcyAoTklUIG9uIGhpZ2hseS1wb3B1bGF0ZWQgRFZCLUMgb3BlcmF0b3IgZm9yIGV4YW1wbGUpLCB0aGVyZQoJICB3aWxsIGJlIG1vcmUgdGhhbiBvbmUgc2VjdGlvbiBlbWl0dGVkIGZvciB0aGUgc2FtZSBzdWJ0YWJsZSBhbmQgdmVyc2lvbgoJICBudW1iZXIuCgkgIEluIG9yZGVyIG5vdCB0byBsb3NlIHRob3NlIHVwZGF0ZXMgZm9yIHRoZSBzYW1lIHZlcnNpb24gbnVtYmVyLCB3ZSBjaGVja2VkCgkgIGFnYWluc3QgdGhlIENSQyBvZiB0aGUgcHJldmlvdXMgc2VjdGlvbiB3ZSBwYXJzZWQuCgkgIFRoZSBwcm9ibGVtIGlzIHRoYXQsIHdoaWxlIGl0IG1hZGUgc3VyZSB3ZSBkaWRuJ3QgbG9zZSBhbnkgaW5mb3JtYXRpb24sIGl0CgkgIGFsc28gbWVhbnQgdGhhdCBpZiB0aGUgc2FtZSBzZWN0aW9uIGNhbWUgYmFjayAoc2FtZSB2ZXJzaW9uLCBzYW1lIENSQykgbGF0ZXIKCSAgb24gd2Ugd291bGQgcmUtcHJvY2VzcyBpdCwgcmUtcGFyc2UgaXQgYW5kIHJlLWVtaXQgaXQuCgkgIFRoaXMgdmVyc2lvbiBpbXByb3ZlcyBvbiB0aGF0IGJ5IGtlZXBpbmcgYSBsaXN0IG9mIHByZXZpb3VzbHkgb2JzZXJ2ZWQgQ1JDCgkgIGZvciBpZGVudGljYWwgUElEL3N1YnRhYmxlL3ZlcnNpb24tbnVtYmVyIGFuZCB3aWxsIG9ubHkgcHJvY2VzcyBzZWN0aW9ucyBpZgoJICB0aGV5IHJlYWxseSB3ZXJlIG5ldmVyIHNlZW4gaW4gdGhlIHBhc3QgKGFzIG9wcG9zZWQgdG8ganVzdCBiZWZvcmUpLgoJICBPbiBhIDMwcyBjbGlwLCB0aGlzIGJyaW5ncyBkb3duIHRoZSBudW1iZXIgb2YgTklUIHNlY3Rpb24gcGFyc2luZyBmcm9tIDQ1NDEKCSAgZG93biB0byA2NjMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQ0NzkKCjIwMTMtMDYtMjAgMjI6MTI6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5oOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJICB3aW5zY3JlZW5jYXA6IEluaXRpYWwgcG9ydCB0byAxLjAKCjIwMTMtMDYtMjAgMDk6NTI6MzEgKzAyMDAgIFhhdmkgQXJ0aWdhcyA8eGFydGlnYXNAZmx1ZW5kby5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGNvcHlpbmcgb2YgcmF3IHZpZGVvIGZyYW1lcyBvbiBTYW1zdW5nIEdhbGF4eSBTMyB3aXRoIEV4eW5vcyA0IFNPQwoKMjAxMy0wNi0xOSAxMjo1Mjo1MiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiB1bnJlZiBidWZmZXIgaWYgbm8gY2xpZW50cyBhcmUgY29ubmVjdGVkCgkgIElmIG5vIGNsaWVudCBoYXMgcmVjZWl2ZWQgdGhlIGNvbW1hbmQsIHVucmVmIHRoZSBidWZmZXIuIFRoaXMgd2lsbAoJICBtYWtlIHN1cmUgdGhhdCB0aGUgc2hhcmVkIG1lbW9yeSBhcmVhIGRvZXMgbm90IGdldCBmaWxsZWQgd2l0aCBidWZmZXJzCgkgIG5vIG9uZSBrbm93cyBhYm91dC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjY4NAoKMjAxMy0wNi0xOSAxOToyOToyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBOSVQgcGFyc2luZwoJICBBdm9pZCBkdXBsaWNhdGluZyB0aGUgZGVsaXZlcnkgc3RydWN0dXJlLCBhbmQgaW5zdGVhZCBnaXZlIGl0IHRvIHRoZQoJICByZWNlaXZpbmcgY29udGFpbmVyLgoKMjAxMy0wNi0wNyAxMjo1MzowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IHNpbXBsaWZ5IGNvZGUKCSAgV2UgZG9uJ3QgbmVlZCBnZW5lcmljIG1ldGhvZHMgZm9yIHB1c2gvZmx1c2ggc2luY2Ugd2Uga25vdyBhbGwgdGhlCgkgIHN1YmNsYXNzIHRoYXQgd2UgY29udHJvbAoKMjAxMy0wNi0wNSAxNTo1MTo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBmb3IgY29tcGlsaW5nIHdpdGhvdXQgR1NUX0RFQlVHCgkgIFByb3RlY3QgZGVidWctb25seSB2YXJpYWJsZXMvdXNhZ2UsIGFuZCBpbiBvbmUgY2FzZSByZW1vdmUgYSB1c2VsZXNzCgkgIHZhcmlhYmxlLgoKMjAxMy0wNi0xNyAwODoxNTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IEVuc3VyZSBpbml0aWFsIGV2ZW50cyBhcmUgc2VudCBpbiB0aGUgcmlnaHQgb3JkZXIKCSAgRmlyc3Qgc2VuZCBzdHJlYW0tc3RhcnQsIHRoZW4gY2FwcywgdGhlbiBzZWdtZW50LgoJICBUaGUgc2VnbWVudCB3ZSBwdXNoIGlzIGZyb20gdXBzdHJlYW0gaW4gcHVzaC1tb2RlLiBJZiB3ZSB3b3JrIGluIHB1bGwtbW9kZQoJICB0aGVuIHdlIGluaXRpYWxpemUgdGhlIGJhc2Ugc2VnbWVudCB0byBCWVRFUy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjQyMgoKMjAxMy0wNi0xOCAxMjoyOTo0MSAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBwcm9wYWdhdGUgZXZlbnRzIHRvIGJhc2VzaW5rIGNsYXNzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDI1OTcKCjIwMTMtMDYtMTggMTM6NDc6NTQgKzAyMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSAgd2F5bGFuZDogQWRkIHN1cHBvcnQgZm9yIFJHQnggYW5kIFJHQkEgZm9ybWF0cwoJICBXYXlsYW5kIGludGVyZmFjZSBjb3VsZCBvZmZlciB0d28gYnVmZmVycyBwaXhlbHMgZm9ybWF0czogV0xfU0hNX0ZPUk1BVF9YUkdCODg4OCBhbmQgV0xfU0hNX0ZPUk1BVF9BUkdCODg4OC4KCSAgVXBkYXRlIHdheWxhbmRzaW5rIHRvIHN1cHBvcnQgdGhlbSBhbmQgY2hlY2sgaWYgdGhlIGZvcm1hdCBpcyByZWFsbHkgYXZhaWxhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAyMTEyCgoyMDEzLTA2LTE4IDEyOjQ2OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIG9wZW5jdjogZml4IENGTEFHUyBvcmRlciBhbmQgYWRkIHBsdWdpbnMgYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENYWEZMQUdTCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDIyOTcKCjIwMTMtMDYtMTUgMDA6MTI6MTggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGZpeGVzIGJ1aWxkIGJ5IG1vdmluZyB0aGUgYysrIGhlYWRlciB0byBnc3RzZWdtZW50YXRpb24uY3BwCgkgIEZpeGVzOgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gZ3N0c2VnbWVudGF0aW9uLmg6NTE6MCwKCSAgZnJvbSBnc3RvcGVuY3YuYzo0MjoKCSAgL3Vzci9pbmNsdWRlL29wZW5jdjIvdmlkZW8vYmFja2dyb3VuZF9zZWdtLmhwcDo0NzoxNjogZmF0YWwgZXJyb3I6IGxpc3Q6CgkgIE5vIHN1Y2ggZmlsZSBvciBkaXJlY3RvcnkKCSAgI2luY2x1ZGUgPGxpc3Q+CgkgIF4KCSAgY29tcGlsYXRpb24gdGVybWluYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjI5NwoKMjAxMy0wNi0xOCAxMzozMzoxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGZpeCByZWxlYXNlIG9mIG51bGwgcG9pbnRlcgoKMjAxMy0wNi0xOCAxMzoxNzo1MiArMDIwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkgIGFwcGxlbWVkaWE6IGNvcmVtZWRpYWJ1ZmZlcjogZml4IGxlYWtpbmcgb2YgYXBwbGUgbWVkaWEgc3RydWN0cwoJICByZW1lbWJlciB0byByZWxlYXNlIHRoZSBhcHBsZSdzIGFwaSBidWZmZXJzIHRvIGF2b2lkIGh1Z2UgbGVha2luZwoKMjAxMy0wNi0xOCAxMzowMjo0MiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBtb3ZlIGRlZmluZXMgdG8gQ1BQRkxBR1MgZm9yIG9iai1jIGZpbGVzCgoyMDEzLTA2LTExIDExOjU0OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogZml4IGF1ZGlvY2FwdHVyZSBwcm9kdWNpbmcgc2lsZW5jZQoJICBDb25maWd1cmUgdGhlIGNhcHR1cmUgbGF0ZW5jeSB1c2luZyB0aGUgSUFNQnVmZmVyTmVnb3RpYXRpb24KCSAgaW50ZXJmYWNlIGFuZCB0cnkgdG8gcmVzcGVjdCB0aGUgY29uZmlndXJlZCBsYXRlbmN5LXRpbWUgYW5kIGJ1ZmZlci10aW1lCgoyMDEzLTA2LTE0IDE0OjUyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyB3cml0YWJsZSBiZWZvcmUgd2UgYWRkIHRoZSBNUEVHIHZpZGVvIG1ldGEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjE3NAoKMjAxMy0wNi0xMyAxMzozNDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBidWlsZDogRml4IHNvbWUgYXV0b21ha2Ugd2FybmluZ3MKCjIwMTMtMDUtMjcgMjI6MjI6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogZml4IE0yVFMgc3RyZWFtIHJlc3luYwoJICBTeW5jIGJ5dGUgc2NhbiBpcyBpbmNvcnJlY3QgZm9yIE0yVFMgc3RyZWFtcyBiZWNhdXNlIHRoZSB0aW1lc3RhbXAgNAoJICBieXRlcyB3ZXJlIG5vdCBpbmNsdWRlZCBpbiB0aGUgZmx1c2ggc2l6ZS4gVGhpcyBjYW4gcmVzdWx0IGluIGFuCgkgIGluZmluaXRlIGxvb3AuCgkgIFJld29yayB0aGUgc2NhbiBjb2RlIHRvIGJlIGNsZWFyZXIgYW5kIHdvcmsgaW4gYWxsIGNhc2VzLgoKMjAxMy0wNS0yNCAxMDo1OTo1NSArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3ZlIHNvbWUgZGVidWcgcHJpbnRzIGF0IHRoZSBsb2cgbGV2ZWwKCjIwMTMtMDUtMjQgMTA6NTk6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGZpeGVzIHNlZWtpbmcgaW4gcHVsbCBtb2RlCgkgIFByZXNlcnZlIHRoZSBjdXJyZW50IHNlZ21lbnQgYW5kIG9ic2VydmF0aW9ucyBpbiBwdWxsIG1vZGUgc2Vla3Mgd2l0aAoJICBmbHVzaGluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODA1MAoKMjAxMy0wNi0xMSAxOTo0NTozMSArMDIwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSAgY3VybHNtdHBzaW5rOiByZW1vdmVkIGFuIGluY29ycmVjdCBhc3NlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMjAzNgoKMjAxMy0wNi0xMSAxNDozMjo0MyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RzZWdtZW50YXRpb24uY3BwOgoJKiBleHQvb3BlbmN2L2dzdHNlZ21lbnRhdGlvbi5oOgoJICBvcGVuY3Y6IGFkZCBmb3JlZ3JvdW5kL2JhY2tncm91bmQgc2VnbWVudGF0aW9uIGVsZW1lbnQKCSAgQWRkIGFuIGVsZW1lbnQgdG8gdGhlIG9wZW5jdiBwbHVnaW4gZm9yIGZvcmVncm91bmcvYmFja2dyb3VuZCBpbWFnZQoJICBzZXF1ZW5jZSBzZWdtZW50YXRpb24sIHVzaW5nIG9uZSBvdXQgb2YgMyBhbGdvcml0aG1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAxNDIxCgoyMDEzLTA2LTEwIDE3OjAwOjQyICswMjAwICBIYW5zIGRlIEdvZWRlIDxoZGVnb2VkZUByZWRoYXQuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uCgkgIEJ5IGFkZGluZyB0aGUgdmlkZW8tc291cmNlLWZpbHRlciBkdXJpbmcgY29uc3RydWN0aW9uIHRpbWUsIHJhdGhlciB0aGVuCgkgIHBhdGNoaW5nIGl0IGluIGxhdGVyICgqKSwgd2UgY2FuIGdyZWF0bHkgcmVkdWNlIHRoZSBhbW91bnQgb2YgY2FwcyBpbnZvbHZlZAoJICBpbiBuZWdvdGF0aW9uLCBzcGVlZGluZyB1cCBwaXBlbGluZSBjcmVhdGlvbi4KCSAgSSB3cm90ZSB0aGlzIHdoaWxlIHdvcmtpbmcgb24gc3BlZWRpbmcgdXAgdGhlIHN0YXJ0dXAgb2YgY2hlZXNlLiBNeSBjaGVlc2UKCSAgaGFzIGJlZW4gbW9kaWZpZWQgdG8gYWRkIGEgY2Fwc2ZpbHRlciwgZmlsdGVyaW5nIGZvciBvbmx5IHRoZSBjb25maWd1cmVkCgkgIHJlc29sdXRpb24sIHdpdGggdGhhdCBjaGVlc2UgcGF0Y2ggKyB0aGlzIHBhdGNoLCB0aGUgcGlwZWxpbmUgY3JlYXRpb24gdGltZQoJICBnb2VzIGZyb20gYXByb3ggMS4xIHNlY29uZHMgdG8gYXByb3ggMzUwbXMuIFRoaXMgaXMgd2l0aCBhIExvZ2l0ZWNoIDkwMDAKCSAgcHJvIGNhbWVyYSwgd2hpY2ggc3VwcG9ydHMgbG90cyBvZiBkaWZmZXJlbnQgcmVzb2x1dGlvbnMgYXQgbWFueSBkaWZmZXJlbnQKCSAgZnJhbWVyYXRlcyBwZXIgcmVzb2x1dGlvbiwgY2F1c2luZyBhIGNhcHMgImV4cGxvc2lvbiIgaWYgbm90IGZpbHRlcmVkLgoJICAqKSBOb3RlIHRoZSBjb2RlIGZvciB0aGlzIGlzIGxlZnQgaW4sIGFzIGl0IGlzIHN0aWxsIG5lY2Vzc2FyeSBpZiB0aGUKCSAgdmlkZW8tc291cmNlLWZpbHRlciBpcyBjaGFuZ2VkIGJldHdlZW4gYSBzdG9wICsgcmUtc3RhcnQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDE5NTMKCjIwMTMtMDYtMTAgMTg6MDA6MTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBNYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTMtMDYtMTAgMTA6MDU6NTYgKzAyMDAgIEhhbnMgZGUgR29lZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRG9uJ3QgdW5zZXQgdGhlIHZpZGVvLXNvdXJjZSBwcm9wZXJ0eSBvbiBwaXBlbGluZSBzdGFydAoJICBjaGVja19hbmRfcmVwbGFjZV9zcmMoKSB3YXMgc2V0dGluZyBzZWxmLT5hcHBfdmlkX3NyYyB0byBOVUxMLCB3aGljaAoJICBtZWFucyB0aGF0IGFuIGFwcCBzZXR0aW5nIHRoZSB2aWRlby1zb3VyY2UgcHJvcGVydHksIGFuZCB0aGVuIHN0YXJ0aW5nLAoJICBzdG9wcGluZyBhbmQgcmUtc3RhcnRpbmcgdGhlIHBpcGVsaW5lIChpZSB0byBtYWtlIGNoYW5nZXMgdG8gdGhlCgkgIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkpIHdvdWxkIGFmdGVyIHRoZSByZXN0YXJ0IG5vIGxvbmdlciBoYXZlCgkgIGEgdmlkZW8tc291cmNlLgoJICBUaGlzIHBhdGNoIGZpeGVzIHRoaXMgYnkgbWFraW5nIGdzdF9jYW1lcmFiaW5fc2V0dXBfZGVmYXVsdF9lbGVtZW50IHJldHVybiBhCgkgIHJlZiB0byB0aGUgcGFzc2VkIGluIHVzZXJfZWxlbWVudCwgcmF0aGVyIHRoZW4gcmV0dXJuaW5nIHRoZSB1c2VyX2VsZW1lbnQgYXMKCSAgaXMsIHNvIHRoYXQgdGhhdCByZWYgY2FuIGJlIHBhc3NlZCBvbiB0byB0aGUgYmluLCBhbmQgdGhlIGFwcF92aWRfc3JjIHJlZgoJICBzdGF5cyB2YWxpZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMTkxNQoKMjAxMy0wNi0wOCAxNDo0ODowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBhIGJ1ZyBpbiB0aGUgUlBpIEVHTCBpbXBsZW1lbnRhdGlvbgoJICBJdCdzIGZpeGVkIGluIHRoZSBsYXRlc3QgZmlybXdhcmUgc2luY2UgYSBmZXcgd2Vla3MuCgoyMDEzLTA1LTA2IDE2OjU2OjAxIC0wNDAwICBBcnRodXIgU2hpcGtvd3NraSA8YXJ0QHZpZGVvbi1jZW50cmFsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBpc3N1ZSB3aXRoIGdldCByZXR1cm5pbmcgYSB2YWx1ZSBmb3IgbWF4LWJ1ZmZlcmluZy10aW1lCgkgIEl0IHdhcyBub3QgcHJvcGVybHkgZGl2aWRlZCBieSBHU1RfU0VDT05EUy4gQWxzbyBmaXggaXNzdWUgd2l0aAoJICBtYXgtYnVmZmVyaW5nLXRpbWUgYmVpbmcgbXVsdGlwbGllZCBieSBHU1RfU0VDT05EUyBldmVyeSB0aW1lIHRoZQoJICBwcm9wZXJ0eSBpcyByZXRyaWV2ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA0ODcKCjIwMTMtMDYtMDcgMTU6MTg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZiOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgR3N0UHVzaFNyYwoKMjAxMy0wNi0wNyAxNDowMTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IHN0cmluZyBjb21wYXJpc29uCgoyMDEzLTA0LTA0IDE4OjIyOjUyICswMjAwICBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogYWNjZXB0IElEX1BSSVZBVEVfU1RSRUFNXzEgdG8gYXZvaWQgbG9vc2luZyBzeW5jCgkgIEN1cnJlbnQgZmFsbGJhY2sgdG8gbG9zdF9zeW5jIHNlZW1zIHRvIGltcGVkZSBhIGRlbGF5IHRvIHJlc3RvcmUKCSAgc3luYy4gTGV0IHRoZSBwYXJzZXIgcGFyc2UgYW5kIHNraXAgdGhlIHByaXZhdGUgc3RyZWFtLgoJICBIZXJlIGl0IGNvbnRhaW5zIHRoZSBkaWdpdGFsIGNhbWVyYSBicmFuZCAoaW4gMjAxMCBieXRlcykKCSAgYW5kIGlzIHJlcGVhdGVkIHR3aWNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MjgzCgoyMDEzLTA2LTA3IDEyOjEwOjA4ICswMjAwICBJbHlhIFNtZWx5a2ggPGlseWEuc21lbHlraEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFdhaXQgdW50aWwgU1BTL1BQUyBiZWZvcmUgb3V0cHV0dGluZyBhbnkgZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ2MzI3CgoyMDEzLTA2LTA3IDE0OjA2OjU2ICswODAwICBDaGVuIEppZSA8Y2hlbmpAbGVtb3RlLmNvbT4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBIYWNrcyBmb3IgSHVhd2VpTWVkaWFQYWQgd2hpY2ggcmVwb3J0cyB3cm9uZyBjb2xvciBmb3JtYXQKCSAgQ09MT1JfRm9ybWF0WUNiWUNyIGlzIHJlcG9ydGVkIGJ1dCBpdCBpcyBhY3R1YWxseSBDT0xPUl9USV9Gb3JtYXRZVVY0MjBQYWNrZWRTZW1pUGxhbmFyLgoKMjAxMy0wNi0wNSAxNjoxNjozNiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2VyOiBGaXggdGhlIHBpeGVsLWFzcGVjdC1yYXRpbyBjYWxjdWxhdGlvbgoJICBJZ25vcmUgdGhlIGRpc3BsYXlfZXh0ZW5zaW9uIHZhbHVlcyBpZiB0aGV5IGFyZSBncmVhdGVyIHRoYW4gdGhlIHdpZHRoL2hlaWdodAoJICB2YWx1ZXMgcHJvdmlkZWQgYnkgc2VxaGRyIGFuZCBjYWxjdWxhdGUgdGhlIFBBUiBiYXNlZCBvbiB0aGUgc2VxaGRyIHZhbHVlcy5UCgkgIGhpcyBpcyB3aGF0IERWRCBwbGF5ZXJzIGFyZSBkb2luZy4KCSAgVGhhbmtzIHRvICJEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4iCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxMDMKCjIwMTMtMDYtMDUgMTg6MzY6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjEuMSA9PT0KCjIwMTMtMDYtMDUgMTg6MTA6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lZ2xnbGVzc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3B1cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXJvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4xLjEKCjIwMTMtMDYtMDUgMTg6Mjg6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQWRkIHNvbWUgbWlzc2luZyBoZWFkZXJzIHRvIGRpc3QKCjIwMTMtMDYtMDUgMTg6MDE6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBkYXNoOiBBZGQgdG8gTWFrZWZpbGUuYW0gZm9yIG1ha2UgZGlzdAoKMjAxMy0wNi0wNSAxNzo0OTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWEtbm9ucHVibGljOiBBZGQgdG8gdGhlIE1ha2VmaWxlLmFtIGZvciBkaXN0CgoyMDEzLTA2LTA1IDE2OjU0OjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTMtMDYtMDUgMTU6MjA6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGxlYWsKCSAgU2luY2Ugd2Ugd2VyZSBtYW51YWxseSBzZXR0aW5nIEdWYWx1ZSB0byB0aGUgR1ZhbHVlQXJyYXksIHdlIGFsc28gbmVlZAoJICB0byBzcGVjaWZ5IGhvdyBtYW55IHdlcmUgc2V0LCBvdGhlcndpc2UgYWxsIHZhbHVlcyBpbiB0aGUgYXJyYXkgd2lsbAoJICBiZSBsZWFrZWQuCgoyMDEzLTA2LTA1IDE1OjE1OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA5OGMwZDcgdG8gMDFhN2E0NgoKMjAxMy0wNi0wNSAxMzozOToxNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZHVwIFREVC9UT1QgcGFyc2luZwoJICBVc2UgcXVhcmtzIHdoZXJlIG5lZWRlZCwgbWFrZXMgaXQgMi41IHRpbWVzIGZhc3RlcgoKMjAxMy0wNi0wNSAxMzoyMToyOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggc3RyaW5nIGxlYWsKCSAgVGhlIGRlc2NyaXB0aW9uL3RleHQgZ2V0IGNvcGllZCBpbiB0aGUgc3RydWN0dXJlLgoKMjAxMy0wNi0wNSAxMjo0OTowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBTcGVlZCB1cCBkZXNjcmlwdG9yIHBhcnNpbmcvcGFja2luZwoJICBkZXNjcmlwdG9ycyBhcmUgc3RvcmVkIGFzIGEgR1ZhbHVlQXJyYXkgb2YgR1N0cmluZy4gVGhlIGRvd25zaWRlIGlzCgkgIHRoYXQgdGhlcmUgaXMgbm8gd2F5IHRvICJwYXNzIiBvd25lcnNoaXAgb2YgYSBHVmFsdWUgdG8gYSBHVmFsdWVBcnJheQoJICB3aGljaCBwcmV2aW91c2x5IHJlc3VsdGVkIGluIGV4cGVuc2l2ZSBjb3B5L2ZyZWUgb2YgdGhlIChhbHJlYWR5IGV4cGVuc2l2ZSkKCSAgR1N0cmluZy4KCSAgSGVyZSB3ZSBlc3RpbWF0ZSBmaXJzdCB0aGUgc2l6ZSBvZiB0aGUgR1ZhbHVlQXJyYXksIHRoZW4gY3JlYXRlIGl0LAoJICB0aGVuIGRpcmVjdGx5IHVzZSB0aGUgR1ZhbHVlIG9mIHRoYXQgYXJyYXkuCgkgIFNwZWVkcyB1cCB0b3RhbCBTSSBwYXJzaW5nIGJ5IH4zMCUKCjIwMTMtMDYtMDUgMTE6MjE6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF92YWx1ZV9saXN0X2FwcGVuZF9hbmRfdGFrZV92YWx1ZQoJICBBdm9pZHMgZG9pbmcgdGhlIGV4cGVuc2l2ZSBjb3B5IG9mIHN0cnVjdHVyZXMvYXJyYXlzLy4uLgoJICBTcGVlZHMgdXAgcGFyc2luZyBTSSBieSBhYm91dCA1MCUKCjIwMTMtMDYtMDUgMTE6MjA6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQXZvaWQgY29weWluZyBHVmFsdWVBcnJheQoJICBKdXN0IGdpdmUgdGhlIEdWYWx1ZUFycmF5IHRvIHRoZSBjb250YWluZXIgR1ZhbHVlLgoKMjAxMy0wNS0yOSAwOToyNToyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgY3J1ZnQ6IEFkZCBzaWduYWxwcm9jZXNzb3IgZGlyZWN0b3J5CgoyMDEzLTA1LTI5IDA4OjM3OjE5ICswMjAwICBCcmFua28gU3ViYXNpYyA8YnJhbmtvQGF4aXMuY29tPgoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmVkIHNpZ25hbHByb2Nlc3NvciBmcm9tIGRvY3MvbGlicy9NYWtlZmlsZS5hbQoKMjAxMy0wNS0yOCAxNTo1NDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBJbiBwdWxsIG1vZGUgZHJvcCBTRUdNRU5ULCBDQVBTIGFuZCBTVFJFQU1fU1RBUlQgZXZlbnRzCgkgIFdlIGNyZWF0ZSBhbmQgc2VuZCBvdXIgb3duIGxhdGVyIGZyb20gYW5vdGhlciB0aHJlYWQuCgoyMDEzLTA1LTI4IDE1OjUzOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IFB1c2ggc3RyZWFtLXN0YXJ0IGV2ZW50IGJlZm9yZSBhbnl0aGluZyBlbHNlCgoyMDEzLTA1LTI4IDA4OjA4OjQyICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgc2lnbmFscHJvY2Vzc29yOiBsYWRzcGEgaXMgbm90IHVzaW5nIHRoaXMgYW55bW9yZQoJICBXaGVuIHdlIHBvcnQgbHYyLCB3ZSdsbCBnbyB0aGUgc2FtZSByb3V0ZSBhcyB0aGUgbmV3IGxhZHNwYSBwbHVnaW4uCgoyMDEzLTA1LTI4IDA3OjUzOjM3ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBmaXggdHlwb3MgaW4gbGF1bmNoIGV4YW1wbGVzCgoyMDEzLTA1LTI3IDIzOjA3OjE2ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFmaWx0ZXIuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzaW5rLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNvdXJjZS5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuaDoKCSAgbGFkc3BhOiB1c2UgdGhlIHJlZ2lzdHJ5IGNhY2hlIGZvciBwbHVnaW4gZGV0YWlscwoJICBTcGxpdCB0aGUgaW50cm9zcGVjdGlvbiBhbmQgcmVnaXN0cmF0aW9uIHBhcnQuIFRoaXMgd2F5IHdlIG9ubHkgbmVlZCB0byBvcGVuIGFsbAoJICBwbHVnaW5zIHdoZW4gdXBkYXRpbmcgdGhlIHJlZ2lzdHJ5LiBXaGVuIHJlYWRpbmcgdGhlIHJlZ2lzdHJ5IHdlIGNhbiByZWdpc3RlcgoJICB0aGUgZWxlbWVudHMgZW50aWVybHkgZnJvbSB0aGUgY2FjaGUuCgoyMDEzLTA1LTI3IDExOjIwOjA3ICswMjAwICBNaWd1ZWwgQ2FzYXMtU2FuY2hleiA8bWlndWVsZWNhc2Fzc2FuY2hlekBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHJldGluZXguYzoKCSogZXh0L29wZW5jdi9nc3RyZXRpbmV4Lmg6CgkgIG9wZW5jdjogQWRkIGNvbG91ciBpbWFnZSBlbmhhbmNlbWVudCBlbGVtZW50IGJhc2VkIG9uIFJldGluZXggYWxnb3JpdGhtCgkgIEFkZCBjb2xvdXIgaW1hZ2UgZW5oYW5jZW1lbnQgZWxlbWVudCBiYXNlZCBvbiBSZXRpbmV4IGFsZ29yaXRobS4gVHdvIHR5cGVzCgkgIGV4aXN0LCBuYW1lbHkgYmFzaWMgYW5kIG11bHRpc2NhbGU7IGJvdGggYXJlIGRlc2NyaWJlZCBpbiB0aGlzIGFydGljbGU6CgkgIFJhaG1hbiwgWmlhLXVyLCBEYW5pZWwgSi4gSm9ic29uLCBhbmQgR2xlbm4gQS4gV29vZGVsbC4gIk11bHRpLXNjYWxlIHJldGluZXgKCSAgZm9yIGNvbG9yIGltYWdlIGVuaGFuY2VtZW50LiIgSW1hZ2UgUHJvY2Vzc2luZywgMTk5Ni4gUHJvY2VlZGluZ3MuLAoJICBJbnRlcm5hdGlvbmFsIENvbmZlcmVuY2Ugb24uIFZvbC4gMy4gSUVFRSwgMTk5NgoJICBWaXN1YWxseSBzcGVha2luZyB0aGUgcmVzdWx0IGxvb2tzIGEgYml0IGZ1bm55LCBidXQgaXMgcHJldHR5IGludmFyaWFibGUgdG8KCSAgbGlnaHRuaW5nIGNoYW5nZXMsIHdoaWNoIGlzIGdvb2QgZm9yIHNvbWUgYXBwbGljYXRpb25zLCBsaWtlIGltYWdlCgkgIHNlZ21lbnRhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDk3NwoKMjAxMy0wNS0yNiAxNDoyOTo1NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5oOgoJICBhdWRpb2NoYW5uZWxtaXg6IGZpbGwgaW4gdGhlIGF1dGhvciB0ZW1wbGF0ZQoJICBUaGUgY29weXJpZ2h0IGhlYWRlciBzdGlsbCBjb250YWluZWQgdGhlIGF1dGhvciB0ZW1wbGF0ZS4KCjIwMTMtMDUtMjUgMTU6MjU6NTYgKzAyMDAgIE1pY2hhZWwgUnViaW5zdGVpbiA8bXJ1Ymluc3RlaW5Ad2VhdGhlci5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNkZW11eDogRnJlZSBtZW1vcnkgYmVoaW5kIEdTdHJpbmcgaWYgd2UgZG9uJ3QgdXNlIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA5MDMKCjIwMTMtMDUtMjMgMTQ6MzI6MDcgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmxzbXRwc2luazogdGVybWluYXRlIHRyYW5zZmVyIHRocmVhZCBwcm9wZXJseQoJICBJZiBubyBFT1MgaGFzIGJlZW4gc2VudCwgdGhlIGN1cmwgcmVhZGZ1bmMgY2FsbGJhY2sgd2lsbAoJICByZXR1cm4gQUJPUlQuIFRoZSBtZWRpYSBmaWxlIGluIHRoYXQgY2FzZSB3aWxsIG5vdCBiZSBwcm9wZXJseQoJICBmaW5hbGl6ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA4ODYKCjIwMTMtMDQtMDggMTQ6NTk6NTQgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHdpbmRvdyB3aWR0aC9oZWlnaHQgd2hlbiBpdCdzIG5vdCBkb25lIGluIFduZFByb2MKCjIwMTMtMDQtMDUgMTc6NTk6NDEgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3Rkcndhc2luazogY2FsbCBwcmV2aW91cyBXbmRQcm9jIGlmIGFueQoKMjAxMy0wNC0wNSAxNzoyNjo1NyArMDAwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiByZXNwZWN0IFBBUiB3aXRoIGNvb3JkaW5hdGVzCgoyMDEzLTA0LTI1IDE1OjM1OjUwICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhLW5vbnB1YmxpYzogZml4IHN5bWJvbHMgcmVkZWZpbml0aW9uIGZvciBvYmpjIGZpbGVzCgoyMDEzLTA0LTI0IDE1OjU1OjEyICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkgIGFwcGxlbWVkaWE6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgd2l0aCBhcHBsZW1lZGlhCgoyMDEzLTA1LTIzIDE0OjU3OjQ5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIEVPUydpbmcgd2l0aG91dCBzb3VyY2UgcGFkcwoJICBUaGlzIGVuc3VyZXMgd2UgZG9uJ3QgImhhbmciIHdoZW4gZmlsZXMgY2FuJ3QgYmUgZGVjb2RlZCwgb3IgY29udGFpbgoJICBubyB2YWxpZCBzdHJlYW1zLgoKMjAxMy0wNS0yMyAxNDo1Njo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEZW1vdGUgYSB3YXJuaW5nIHRvIGRlYnVnIGxldmVsCgkgIFdlIHdpbGwgZ2V0IGl0IGZvciB2aXJ0dWFsbHkgZXZlcnkgZmlyc3QgcGFja2V0cy4KCjIwMTMtMDUtMDEgMTY6Mzc6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBBY3R1YWxseSBzdG9yZSBtcGVnIHZpZGVvIGJpdHJhdGUgdmFsdWUKCSAgQW5kIHVzZSB0aGUgZXh0ZW5zaW9uIGFsc28gKGhpZ2hlciAxMiBiaXRzKQoKMjAxMy0wNS0yMyAxMTowNDo1NyArMDIwMCAgTWlndWVsIENhc2FzLVNhbmNoZXogPG1pZ3VlbGVjYXNhc3NhbmNoZXpAZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3Rza2luZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0c2tpbmRldGVjdC5oOgoJICBvcGVuY3Y6IEFkZCBza2luIGNvbG9yIGRldGVjdGlvbiBlbGVtZW50CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD03MDA2NTQKCjIwMTMtMDUtMDcgMjE6NDU6NTQgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICB2dGRlYzogc2ltcGxpZnkgY2FwcyBzZXR0aW5nCgoyMDEzLTA0LTI2IDE3OjQ3OjI2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSAgYXBwbGVtZWRpYTogZml4IEgyNjQgc3RyZWFtcyB3aXRoIGItZnJhbWVzCgkgIFRoZSBkZWNvZGVyIG91dHB1dCBmcmFtZXMgaW4gRFRTIG9yZGVyLCBldmVuIHdpdGggdGhlIGZsYWcKCSAga1ZURGVjb2RlRnJhbWVfRW5hYmxlVGVtcG9yYWxQcm9jZXNzaW5nLiBXZSBzdG9yZSBhIGludGVybmFsCgkgIHF1ZXVlIG9mIHRoZSBkZWNvZGVkIGZyYW1lcyBhbmQgcHVzaCB0aGVtIFBUUyBvcmRlci4KCjIwMTMtMDQtMjYgMTc6NDU6MzEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBmaXggc2VnZmF1bHQgd2l0aCBkcm9wcGVkIGZyYW1lcwoKMjAxMy0wNC0yNiAxNzo0MDowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkgIGFwcGxlbWVkaWE6IGltcHJvdmUgdXNhZ2Ugb2YgdGhlIFZUIEFQSQoJICBBZGQgdGltaW5nIGluZm9ybWF0aW9uIHRvIENWIHNhbXBsZXMgYW5kIHBhc3MgdGhlIEdzdEJ1ZmZlcgoJICBhcyBleHRyYSBkYXRhIGluIHRoZSBkZWNvZGUgZnVuY3Rpb24KCjIwMTMtMDQtMjYgMTM6MjY6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiBhZGQgc3VwcG9ydCBmb3IgTVBFRy0xIHRvbwoKMjAxMy0wNC0yNSAxMTozMDowNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkgIGFwcGxlbWVkaWE6IGFkZCBzdXBwb3J0IGZvciBNUEVHLTIgZGVjb2RpbmcKCjIwMTMtMDQtMjUgMTE6Mjc6MTMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiB1c2UgdGhlIGJlc3QgY29sb3Jmb3JtYXQgb24gZWFjaCBwbGF0Zm9ybQoJICBUaGlzIHNhdmVzIGEgY29sb3JzcGFjZSBjb252ZXJzaW9uIGJlZm9yZSB0aGUgc2luayBpbiBPUyBYCgoyMDEzLTA0LTI1IDExOjE3OjE2ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5oOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHByaXZhdGUgZnVuY3Rpb24gd2l0aCBpdHMgcHVibGljIHZhcmlhbnQKCSAgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgaXMgYW4gdW4tZG9jdW1lbnRlZCBwcml2YXRlIGZ1bmN0aW9uIHdoaWNoIG1pZ2h0IGNoYW5nZSBpdHMgc2lnbmF0dXJlCgkgIGFzIGl0IGFscmVhZHkgZGlkIGluIHRoZSBwYXN0LiBSZXBsYWNlIGl0IHdpdGgKCSAgQ01WaWRlb0Zvcm1hdERlc2NyaXB0aW9uQ3JlYXRlIGFuZCB0aGUgYWxzbyB1bi1kb2N1bWVudGVkIEV4dGVuc2lvbnMKCSAgZGljdGlvbmFyeS4KCjIwMTMtMDQtMjQgMjI6MjI6MjggKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcmVtb3ZlIHRoZSB1bm5lZWRlZCBidWZmZXIgZmFjdG9yeQoKMjAxMy0wNC0yNCAyMjoxNTowMSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBkb24ndCB1c2UgdGhlIGR5bmFtaWMgQVBJIGZvciBwdWJsaWMgZnJhbWV3b3JrcwoJICBQdWJsaWMgZnJhbWV3b3JrcyBkb24ndCBuZWVkIHRvIGJ1aWxkIHRoZSBBUEkgZHluYW1pY2FsbHksIHdlIGluc3RlYWQKCSAgdXNlIHRoZSBmcmFtZXdvcmsgZGlyZWN0bHkuCgkgIFRoZSBleGNlcHRpb24gaXMgZm9yIFZpZGVvVG9vbGJveCB3aGljaCB3ZW50IHB1YmxpYyBpbiB0aGUgMTAuOCBTREssCgkgIGJ1dCBpdCdzIHN0aWxsIHByaXZhdGUgaW4gb2xkZXIgdmVyc2lvbiBvZiB0aGUgU0RLIGFuZCBpT1MuIFRoaXMgYWxsb3cKCSAgYnVpbGRpbmcgdGhlIHBsdWdpbiBhZ2FpbnN0IFNESydzIHdoZXJlIGl0J3Mgbm90IGEgcHVibGljIGZyYW1ld29yay4KCjIwMTMtMDQtMjQgMTg6NTM6MTEgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb2FwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS1ub25wdWJsaWMvbXRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEtbm9ucHVibGljL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhLW5vbnB1YmxpYy9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkgIGFwcGxlbWVkaWE6IG1vdmUgcGx1Z2lucyB1c2luZyBwcml2YXRlIGZyYW1ld29ya3MgdG8gYXBwbGVtZWRpYS1ub25wdWJsaWMKCjIwMTMtMDUtMjAgMTM6MjQ6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogRml4IGluZGVudGlvbgoKMjAxMy0wNS0xNyAyMDoxNzozMSArMDgwMCAgQ2hlbiBKaWUgPGNoZW5qQGxlbW90ZS5jb20+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogZml4IGEgbWlub3IgZXJyb3IgaW4gQ09MT1JfRm9ybWF0WVVWNDIwUGxhbmFyIGNvbnZlcnRpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDUyMQoKMjAxMy0wNS0xOCAxNDowMToyMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSAgZWxlbWVudC1tYWtlcjogQWRkIHRyYW5zZm9ybSBmdW5jdGlvbnMgdG8gYXVkaW9maWx0ZXIKCjIwMTMtMDUtMTggMTM6NTc6MTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXVkaW9meGJhZC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvZnhiYWQvZ3N0YXVkaW9jaGFubmVsbWl4LmM6CgkqIGdzdC9hdWRpb2Z4YmFkL2dzdGF1ZGlvY2hhbm5lbG1peC5oOgoJKiBnc3QvYXVkaW9meGJhZC9nc3RhdWRpb2Z4YmFkLmM6CgkgIGF1ZGlvZng6IEFkZCBwbHVnaW4sIGFkZCBhdWRpb2NoYW5uZWxtaXgKCjIwMTMtMDUtMTggMTM6NTY6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IGF1ZGlvIGZvcm1hdCBpcyAiUzE2IiBub3QgInMxNiIKCjIwMTMtMDUtMTggMTE6NTg6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgIHZpZGVvc2lnbmFsOiBmaXggQ0ZMQUdTIG9yZGVyCgoyMDEzLTA1LTE3IDIxOjIzOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIHN0cmVhbSBzdGFydCBldmVudAoJICBSZW1vdmVzIHdhcm5pbmdzIGFib3V0IHN0cmljdCBzdGlja3kgZXZlbnRzIG9yZGVyaW5nCgoyMDEzLTA1LTE3IDEyOjA4OjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBmaXggd21hIHBybyBjYXBzIGNyZWF0aW9uCgkgIFdtYVBybyBpcyBhY3R1YWxseSB3bWF2ZXJzaW9uIDMsIGFuZCBjYW4gYWxzbyBiZSBmb3VuZCBieSB0aGUKCSAgV01BUCBmb3VyY2MuCgkgIFNvbWUgbWFuaWZlc3RzIGFsc28gY29udGFpbiB0aGUgYmxvY2tfYWxpZ24gZmllbGQgYXMgIlBhY2tldFNpemUiCgkgIGluIHRoZSBhdWRpbyB0cmFjayBkZXNjcmlwdGlvbiwgdGhlIGxpYmF2IGRlY29kZXJzIHJlcXVpcmUgaXQKCSAgdG8gYmUgcHJlc2VudCBpbiBjYXBzLgoJICBGaXhlcyAjNjk5OTIxCgoyMDEzLTA1LTE3IDExOjM3OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBmaXggYXNzZXJ0aW9ucyB3aGVuIGEgc3RyZWFtIGNhcHMgY2FuJ3QgYmUgY3JlYXRlZAoJICBGaXhlcyB0d28gYXNzZXJ0aW9ucyByZWxhdGVkIHRvIGNsZWFudXAgZm9yIGEgcGFkIHRoYXQgY291bGRuJ3QKCSAgYmUgZXhwb3NlZCBiZWNhdXNlIHRoZSBjYXBzIGNvdWxkbid0IGJlIGlkZW50aWZpZWQgZnJvbSB0aGUKCSAgTWFuaWZlc3QKCSAgRml4ZXMgIzY5OTkyMQoKMjAxMy0wNS0xNSAxMTo0OToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVhZ2w6IGZpeCBoYW5kbGluZyBvZiBzdXJmYWNlIGRpbWVuc2lvbiBjaGFuZ2VzCgkgIERldGVjdCB3aGVuIHRoZSBlYWdsIHN1cmZhY2UgY2hhbmdlZCBpdHMgZGltZW5zaW9uICh3aGVuIHRoZSB1c2VyIHJvdGF0ZXMKCSAgdGhlIGRldmljZSBmb3IgZXhhbXBsZSkgYW5kIGFkYXB0IHRoZSBlZ2wgaW50ZXJuYWxzIHRvIGRyYXcgdG8gdGhhdCwKCSAgcHJldmVudGluZyB0aGF0IGlvcyByZXNpemVzIHRoZSBpbWFnZSBhZ2FpbiB3aGVuIGRyYXdpbmcuCgkgIFRoaXMgaXMgcGFydGljdWxhcmx5IGhhcm1mdWwgd2hlbiBlYWdsIHdvdWxkIHNjYWxlIGRvd24gYSBpbWFnZQoJICB0byBkcmF3IGFuZCB0aGUgaW9zIHNjcmVlbiB3b3VsZCBzY2FsZSBpdCBiYWNrIHVwIGJlY2F1c2UgdGhlCgkgIHN1cmZhY2UgaXMgbm93IGJpZ2dlciB0aGFuIHdoZW4gdGhlIGVsZW1lbnQgd2FzIGNvbmZpZ3VyZWQuCgoyMDEzLTA1LTE1IDAwOjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBwYXJzZSBibG9ja19hbGlnbiwgY2hhbm5lbHMgYW5kIHJhdGUgZnJvbSB3YXZlZm9ybWF0ZXggaWYgcG9zc2libGUKCSAgd21hIHYyIGV4cGVjdHMgYmxvY2tfYWxpZ24sIGNoYW5uZWxzIGFuZCByYXRlIGZpZWxkcyBzZXQgdG8gaXRzIGNhcHMuCgkgIFRoaXMgaXNuJ3QgcHJlc2VudCBkaXJlY2x0eSBvbiB0aGUgbWFuaWZlc3RzLCBzbyBtc3NkZW11eCBzaG91bGQgcGFyc2UKCSAgaXQgZnJvbSB0aGUgd2F2ZWZvcm1hdGV4IHN0cnVjdHVyZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5OTI0CgoyMDEzLTA1LTE0IDIyOjA0OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBhZGQgYml0cmF0ZSBpbmZvIHRvIGF1ZGlvIHN0cmVhbXMKCSAgYml0cmF0ZSBpbmZvIGlzIGFsd2F5cyBwcmVzZW50IG9uIHRoZSBRdWFsaXR5TGV2ZWwgeG1sIG5vZGUgYXMgcGFydAoJICBvZiB0aGUgYWRhcHRpdmUgc2VsZWN0aW9uIHByb2Nlc3NpbmcsIHB1dCBpdCBpbnRvIGNhcHMgYXMgc29tZQoJICBkZWNvZGVycyByZXF1aXJlIGl0IChhdmRlY193bWF2MiBmb3IgZXhhbXBsZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNCAxNjozNzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2VuZCBzdHJlYW0gaWQgYW5kIG5ld3NlZ21lbnQgYmVmb3JlIHB1c2hpbmcgZGF0YQoJICBGaXhlcyBzdGlja3kgZXZlbnRzIG9yZGVyaW5nIHdhcm5pbmdzIHdoZW4gZGF0YSBpcyBwdXNoZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTkyNAoKMjAxMy0wNS0xNSAyMjoyNDoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBBbm5vdW5jZSBjb3JyZWN0IG1wZWd0cyBjYXBzCgoyMDEzLTA1LTE1IDIwOjAzOjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSAgaW5zZXJ0YmluOiBBbm5vdGF0ZSBjYWxsYmFjayBzY29wZXMKCjIwMTMtMDUtMTUgMTk6MjM6MDggLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IEVuc3VyZSBzZWdtZW50IGlzIHNlbnQgYmVmb3JlIGNhcHMgYW5kIGJ1ZmZlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDIwCgoyMDEzLTA1LTE1IDExOjU3OjA3IC0wNjAwICBCcmVuZGFuIExvbmcgPGIubG9uZ0BjYWJsZWxhYnMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuYWw6IHJlcXVpcmUgT3BlbkFMID49IDEuMTQgdG8gYnVpbGQgdGhlIE9wZW5BTCBwbHVnaW4KCSAgRm9yIEFMX0ZPUk1BVF9NT05PX0FMQVdfRVhUIGFuZCBBTF9GT1JNQVRfU1RFUkVPX0FMQVdfRVhULgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwNDAyCgoyMDEzLTA1LTE1IDExOjM4OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogUHVzaCBzdHJlYW0tc3RhcnQgZXZlbnQgYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDUtMTUgMTE6Mzc6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMTozMToxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMToyODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MjY6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MjU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzYXVkaW9kZWM6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTE6MTU6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHBhcnNlcjogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdHMKCjIwMTMtMDUtMTUgMTE6MDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIGdkcDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoJICBnZHAgZWxlbWVudHMgc3RpbGwgbmVlZHMgdG8gYmUgZml4ZWQgZm9yIGFsbCB0aGUgZXZlbnQgcmVsYXRlZAoJICBjaGFuZ2VzIGFuZCBnZW5lcmFsbHkgcHJvcGVybHkgcG9ydGVkIHRvIDEuMC4KCjIwMTMtMDUtMTUgMTE6MDQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDExOjAyOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IEVuYWJsZSBHTGliIGRlcHJlY2F0aW9uIHdhcm5pbmdzIGFnYWluCgoyMDEzLTA1LTE1IDExOjAwOjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IE5lZ290aWF0ZSBhcyBzb29uIGFzIHBvc3NpYmxlIHdoZW4gZ2V0dGluZyB0aGUgc2lua3BhZCBjYXBzCgoyMDEzLTA1LTE1IDEwOjU0OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6NTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBTZW5kIHN0cmVhbS1zdGFydCBldmVudAoKMjAxMy0wNS0xNSAxMDo1MTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVlZGNkODUgdG8gMDk4YzBkNwoKMjAxMy0wNS0xNSAxMDoyMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoyMjo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaG0uYzoKCSAgc2htOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE5OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsZmlsZXNpbms6IEZpeCBldmVudCBoYW5kbGluZyBpbiB1bml0IHRlc3QKCjIwMTMtMDUtMTUgMTA6MTg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDEwOjE0OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAxMDoxMjowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSAga2F0ZWVuYzogRGVsYXkgc2VnbWVudCBldmVudCB1bnRpbCB3ZSBoYXZlIGNhcHMKCjIwMTMtMDUtMTUgMTA6MDI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZWRlYy90aWdlcjogRG9uJ3QgcXVldWUgc3RpY2t5IGV2ZW50cyB0aGF0IHdvdWxkIGNvbWUgYmVmb3JlIENBUFMKCjIwMTMtMDUtMTUgMDk6NDc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGVwYXJzZTogRml4IGV2ZW50IGhhbmRsaW5nCgkgIEludGVybmFsIHN0YXRlIHNob3VsZCBvbmx5IGJlIHJlc2V0IG9uIEZMVVNIX1NUT1AsIG5vdCBGTFVTSF9TVEFSVC4KCSAgQWxzbyBmb3J3YXJkIHByZS1jYXBzIGV2ZW50cyBpbW1lZGlhdGVseSBhbmQgZG9uJ3QgcXVldWUgdGhlbS4KCjIwMTMtMDUtMTUgMDk6NDI6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJICB2b3thbXIsYWFjfWVuYzogRml4IGV2ZW50IGhhbmRsaW5nIGluIHVuaXQgdGVzdAoKMjAxMy0wNS0xNSAwOTo0MTo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSAgZmFhZC9mYWFjOiBGaXggZXZlbnQgaGFuZGxpbmcgaW4gdW5pdCB0ZXN0CgoyMDEzLTA1LTE1IDA5OjIwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZXh0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBobHM6IFVzZSBHc3RVUklEb3dubG9hZGVyIGZyb20gdGhlIGxpYnJhcnkgZm9yIG5vdyB0byBrZWVwIGV2ZXJ5dGhpbmcgaW4gYSB1c2FibGUgc3RhdGUKCjIwMTMtMDUtMTQgMTQ6MzI6MTkgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhdXRpbHMuYzoKCSAgbGFkc3BhOiBGaXggY29tcGlsYXRpb24gaXNzdWUgd2hlbiBscmRmIGlzIGVuYWJsZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDMyOAoKMjAxMy0wNS0xNCAwMDoxNDozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9kaXM2NTAyLmg6CgkqIGdzdC9uc2YvZmRzX3NuZC5jOgoJKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSogZ3N0L25zZi9mbW9wbC5jOgoJKiBnc3QvbnNmL2Ztb3BsLmg6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmg6CgkqIGdzdC9uc2YvbG9nLmM6CgkqIGdzdC9uc2YvbG9nLmg6CgkqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSogZ3N0L25zZi9tbWM1X3NuZC5oOgoJKiBnc3QvbnNmL25lczY1MDIuYzoKCSogZ3N0L25zZi9uZXM2NTAyLmg6CgkqIGdzdC9uc2YvbmVzX2FwdS5jOgoJKiBnc3QvbnNmL25lc19hcHUuaDoKCSogZ3N0L25zZi9uc2YuYzoKCSogZ3N0L25zZi9uc2YuaDoKCSogZ3N0L25zZi9vc2QuaDoKCSogZ3N0L25zZi90eXBlcy5oOgoJKiBnc3QvbnNmL3ZyYzdfc25kLmM6CgkqIGdzdC9uc2YvdnJjN19zbmQuaDoKCSogZ3N0L25zZi92cmN2aXNuZC5jOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmg6CgkgIG5zZjogcmVtb3ZlIG5zZiBwbHVnaW4sIHJlcGxhY2VkIGJ5IGdtZSBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODAyMQoKMjAxMy0wNC0xNyAwMjoxODo1OCArMDIwMCAgSnVhbiBNYW51ZWwgQm9yZ2VzIENhw7FvIDxqdWFubWFiY21haWxAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkgIG9wZW5hbDogaW1wcm92ZWQgcG9ydCB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODAxMwoKMjAxMy0wNS0xMyAwMDowODo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogYmxhY2tsaXN0IHNvbWUgbW9yZSB0ZXN0cyBmcm9tIHRoZSBnZW5lcmljIHN0YXRlIGNoYW5nZSB0ZXN0CgoyMDEzLTA1LTEzIDAwOjA2OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBhZGQgZGVidWcgY2F0ZWdvcnkgZm9yIGF2ZHRwIHV0aWxzCgoyMDEzLTA1LTEyIDIzOjUxOjMyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGRpcmFjOiByZW1vdmUgb2xkIGRpcmFjLXJlc2VhcmNoIGxpYnJhcnkgYmFzZWQgY29kZWMKCSAgSXQncyBub3QgZGV2ZWxvcGVkIGFueSBtb3JlIGFuZCByZXBsYWNlZCBieSB0aGUKCSAgbGlic2Nocm9lZGluZ2VyLWJhc2VkIGVsZW1lbnRzIGluIGdzdC1wbHVnaW5zLWdvb2QuCgkgIChUaGUgbGlic2Nocm9lZGluZ2VyIDEuMC45IHJlbGVhc2Ugbm90ZXMgc3RhdGUgIlRoaXMKCSAgaXMgYW4gZXhjaXRpbmcgcmVsZWFzZTogbW9zdCBvZiB0aGUgZW5jb2RpbmcgdG9vbHMgaW4KCSAgZGlyYWMtcmVzZWFyY2ggaGF2ZSBiZWVuIHBvcnRlZCBvdmVyIHRvIFNjaHLDtmRpbmdlciwgc28KCSAgbm93IHNjaHJvIGhhcyB0aGUgc2FtZSBvciBiZXR0ZXIgY29tcHJlc3Npb24gZWZmaWNpZW5jeQoJICBhcyBkaXJhYy1yZXNlYXJjaC4iKQoKMjAxMy0wNS0xMiAyMjo0MTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29mYS9NYWtlZmlsZS5hbToKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29mYS9nc3RvZmEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTIgMjA6MzI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSAgbXVzaWNicmFpbno6IHJlbW92ZSB0cm0gZWxlbWVudCB3aGljaCBpcyBub3QgdXNlZnVsIGFueSBtb3JlCgkgIFRSTSBJRHMgYXJlIE11c2ljQnJhaW56JyBvbGQgYXVkaW8gZmluZ2VycHJpbnRpbmcgc3lzdGVtIGZyb20KCSAgUmVsYXRhYmxlLCB0aGV5IHdlcmUgcGhhc2VkIG91dCBpbiBmYXZvdXIgb2YgTXVzaWNJUHMgUFVJRHMuCgkgIGh0dHBzOi8vd2lraS5tdXNpY2JyYWluei5vcmcvSGlzdG9yeTpUUk0KCjIwMTMtMDUtMTIgMTg6NTE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogYWRkIHN1cHBvcnQgZm9yIFNDSEVEVUxJTkcgcXVlcnkKCjIwMTMtMDUtMTIgMTg6NDc6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogYWRkIGlyYWRpby1tb2RlIHByb3BlcnR5IGFuZCBwb3N0IGljeSBtZXRhZGF0YSBhcyB0YWdzCgoyMDEzLTA1LTEyIDE4OjI4OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogcG9ydCB0byAxLjAKCjIwMTMtMDUtMTEgMTI6MDc6MDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSAgaW50ZXJ2aWRlb3NyYzogRml4IHRpbWVzdGFtcCBnZW5lcmF0aW9uCgoyMDEzLTA1LTExIDE5OjQxOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IHBvc3QgZXJyb3IgbWVzc2FnZXMgb24gZXJyb3JzCgoyMDEzLTA1LTEwIDE3OjMwOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9kaWZmLmg6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0dmlkZW9maWx0ZXJzYmFkLmM6CgkgIHZpZGVvZmlsdGVyczogQWRkIHZpZGVvZGlmZiBlbGVtZW50CgoyMDEzLTA0LTI3IDExOjU2OjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bWRlYzogc2V0IHRpbWVzdGFtcHMgd2hlbiByZXN0cmlkaW5nIGJ1ZmZlcgoKMjAxMy0wNC0xNSAwMDoyNDoyMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHNpbXBsZXZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0c2ltcGxldmlkZW9tYXJrZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3RzaW1wbGV2aWRlb21hcmtkZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvbWFyay9kZXRlY3Q6IHJlbmFtZSB0byBzaW1wbGV2aWRlb21hcmtbZGV0ZWN0XQoKMjAxMy0wNC0xMyAxNToxNjowNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb21hcmsvZGV0ZWN0OiBwb3J0IHRvIDEuMAoKMjAxMy0wNS0xMSAwMDozNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICByZmJzcmM6IGZpeCByZmJkZWNvZGVyIG5ldy9mcmVlIGFzeW1ldHJ5IGFuZCB3cm9uZyBmcmVlIGluIGVycm9yIGNhc2UKCSAgSWYgcmZiX2RlY29kZXJfbmV3KCkgYWxsb2NhdGVzIHRoZSBkZWNvZGVyIHNydWN0dXJlLCByZmJfZGVjb2Rlcl9mcmVlKCkKCSAgc2hvdWxkIGZyZWUgdGhlIHN0cnVjdHVyZS4gV2Ugc2hvdWxkIG5vdCBmcmVlIHRoZSBkZWNvZGVyIHdoZW4gYW4KCSAgZXJyb3Igb2NjdXJzIGR1cmluZyBjb25uZWN0aW9uIC0gaXQgaG9sZHMgbG90cyBvZiBjb25maWd1cmF0aW9uL3N0YXRlCgkgIGFuZCB3aWxsIGJlIGZyZWVkIGxhdGVyIGluIGZpbmFsaXplLgoKMjAxMy0wNS0xMSAwMDoyOTo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgcmZic3JjOiBtYWtlIGF1dGhlbnRpY2F0aW9uIGhhbmRzaGFrZSBzYWZlIGZvciBtdWx0aXBsZSBpbnN0YW5jZXMKCSAgTW92ZSBERVMga2V5IGludG8gY29udGV4dCBzdHJ1Y3QuCgoyMDEzLTA1LTEwIDIzOjA5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvdm5jYXV0aC5jOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgcmZic3JjOiByZW1vdmUgR1BMLWxpY2Vuc2VkIHNvdXJjZSBmaWxlCgkgIGFuZCByZXBsYWNlIHRoZSAxJSBvZiBpdCB0aGF0IHdlIG5lZWQgd2l0aCBuZXcgY29kZSwgc28gd2UKCSAgZG9uJ3QgaGF2ZSB0byBjaGFuZ2UgdGhlIHJ1bnRpbWUgbGljZW5zZSBvZiByZmJzcmMgdG8gR1BMLgoKMjAxMy0wNS0xMCAwOTo0OTo0NiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmZic3JjOiB1c2UgZ2xpYiBnaW8gc29ja2V0cyBmb3IgbmV0d29yayBhY2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTcwMDAzOAoKMjAxMy0wNS0wOSAxNjo0MTozMiAtMDcwMCAgQWxlaXggQ29uY2hpbGxvIEZsYXF1ZSA8YWxlaXhAb2Jsb25nLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgcmZic3JjOiBwb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDM4CgoyMDEzLTA1LTEwIDEyOjQ5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGRlc3Ryb3kgbm90aWZ5IGluc3RlYWQgb2YgYWx3YXlzIGNhbGxpbmcgZWdsVGVybWluYXRlKCkgb24gdGhlIGRpc3BsYXkKCSAgSW4gc29tZSBzY2VuYXJpb3MsIGZvciBleGFtcGxlIGluIFF0V2ViS2l0LCBtaWdodCBiZSBkaWZmaWN1bHQgdG8gb2J0YWluIGZ1bGwKCSAgY29udHJvbCBvbiB0aGUgZWdsIGRpc3BsYXkgYW5kIGl0IG1pZ2h0IGJlIG9ubHkgYWNjZXNzaWJsZSBpbmRpcmVjdGx5IHZpYQoJICBlZ2xHZXRDdXJyZW50RGlzcGxheSgpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzAwMDU4CgoyMDEzLTA1LTEwIDExOjQ4OjQ2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5oOgoJICBlZ2w6IEFsbG93IGJlaW5nIHVzZWQgaW4gQysrIGNvZGUKCjIwMTMtMDUtMDggMjM6MTc6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW5hbWUgc3JjIHRlbXBsYXRlIGZyb20gc3JjJWQgdG8gc3JjXyV1CgoyMDEzLTA1LTA4IDE4OjIyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJKiBleHQvZGFzaC9DT1BZSU5HOgoJICBkYXNoOiByZW1vdmUgc3VwZXJmbHVvdXMgZmlsZXMKCSAgQXV0aG9ycyBhbmQgbGljZW5zZSBhcmUgYXQgdGhlIHRvcCBvZiB0aGUgc291cmNlIGZpbGVzCgoyMDEzLTA1LTAyIDE0OjExOjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoOiBkbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ2xpYiBtdXRleCBBUEkKCjIwMTMtMDQtMjMgMTI6MDg6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgYWJvdXQgcHJpbnQgZm9ybWF0cwoKMjAxMy0wNS0wOCAxMToxNDoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRhc2g6IGVuYWJsZSBpbiBjb25maWd1cmUvbWFrZWZpbGVzCgkgIEl0IHdhcyBpbnRlbnRpb25hbGx5IGRpc2FibGVkIHVwIHRvIHRoaXMgcG9pbnQgdG8gcHJldmVudAoJICBjb21waWxlIGZhaWx1cmVzIGFzIGRhc2hkZW11eCBkZXZlbG9wbWVudCBjb21taXRzIHdlcmUgYWxsIGZvcgoJICAwLjEwIHVwIHRvIGhlcmUKCjIwMTMtMDQtMTggMDc6NDE6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL01ha2VmaWxlLmFtOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvZGFzaC9nc3Rkb3dubG9hZHJhdGUuaDoKCSogZXh0L2Rhc2gvZ3N0cGx1Z2luLmM6CgkgIGRhc2hkZW11eDogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTEgMDk6MTI6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IEZpeCBhbm90aGVyIHdyb25nIGFzc2VydGlvbgoJICBBbHNvIGFkZHMgYSBjb3VwbGUgbG9nIG1lc3NhZ2VzIGZvciBlYXNpZXIgZGVidWdnaW5nCgoyMDEzLTA0LTEwIDE4OjA5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZW1vdmUgd3JvbmcgYXNzZXJ0cwoJICBUaG9zZSBhc3NlcnRzIHNob3VsZCBiZSB0aGUgY29udHJhcnkgdGhhdCB0aGV5IGFyZS4gQW5kIGFsc28KCSAgdGhlIHN1cnJvdW5kIGZ1bmN0aW9ucyBzaG91bGQgYWxyZWFkeSBjaGVjayB0aGF0LiBSZW1vdmluZyB0aGVtLgoKMjAxMy0wMy0xMyAxNTo1NTowMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IG9ubHkgc3RhcnQgdGltZXN0YW1wIGZyb20gMCBmb3IgbGl2ZSBzdHJlYW0KCSAgV2Ugb25seSB3YW50IHRvIGFkanVzdCB0aGUgdGltZXN0YW1wcyBzbyB0aGF0IHRoZXkgc3RhcnQgZnJvbSAwIGZvciBsaXZlCgkgIHN0cmVhbXMuIE5vbi1saXZlIHN0cmVhbXMgYWxyZWFkeSBzdGFydCBmcm9tIDAgYW5kIGFmdGVyIGEgc2VlayB3ZSBhY3R1YWxseSB3YW50CgkgIHRvIHRpbWVzdGFtcCB0byBiZSB0aGUgcG9zaXRpb24gd2Ugc2VlayB0by4KCjIwMTMtMDMtMDggMTU6MDQ6NDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogbWFrZSB0aW1lc3RhbXBzIHN0YXJ0IGZyb20gMAoJICBOb24tbGl2ZSBzdHJlYW1zIHNob3VsZCB0aW1lc3RhbXAgYnVmZmVycyB3aXRoIGEgcnVubmluZy10aW1lIHN0YXJ0aW5nIGZyb20KCSAgMC4gU2luY2Ugd2UgYWxyZWFkeSBwdXNoIGEgMCAtPiAtMSBzZWdtZW50LCBicmluZyB0aGUgdGltZXN0YW1wcyB0byAwCgkgIGJ5IHN1YnRyYWN0aW5nIHRoZSBpbml0aWFsIHRpbWVzdGFtcC4KCjIwMTMtMDMtMDggMTQ6NTk6NTkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBhbHNvIHNlbmQgbmV3c2VnbWVudCBvbiBzdGFydHVwCgoyMDEzLTAzLTA4IDE0OjU3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc21hbGwgY2xlYW51cAoKMjAxMy0wMi0yMiAxNzowMDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogbGl2ZSBzdHJlYW0gcGxheWJhY2sgY3Jhc2hmaXgKCjIwMTMtMDItMjIgMTY6NDY6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBtcGRwYXJzZXI6IGRvIG5vdCBjbGVhbnVwIHhtbCBsaWIgdG9vIGVhcmx5CgkgIFRoZSB4bWxDbGVhbnVwUGFyc2VyIGZ1bmN0aW9uIHNlZW1zIHRvIGNsZWFudXAgYWxsIHN0YXRpY2FsbHkKCSAgYWxsb2NhdGVkIGxpYnhtbCB2YXJpYWJsZXMsIG1ha2luZyBpdCB1bnVzYWJsZS4gV2UgY2FuJ3QgZ3VhcmFudGVlCgkgIHRoYXQgZGFzaGRlbXV4IHdvbid0IG5lZWQgaXQgYW55bW9yZSwgc28gYmV0dGVyIG5vdCBjYWxsIGl0LgoKMjAxMy0wMi0yMiAxNjo0MDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZWltcGxlbWVudGluZyBsaXZlIHN0cmVhbXMgbWFuaWZlc3QgdXBkYXRlcwoJICBNYW5pZmVzdCB1cGRhdGVzIHNob3VsZCBiZSBkb25lIHBlcmlvZGljYWxseSBmb3IgbGl2ZSBzdHJlYW1zLAoJICB0aGlzIHBhdGNoIG1ha2VzIHRoZSBkZW11eGVyIGNyZWF0ZSBhIG5ldyBtYW5pZmVzdCBjbGllbnQgZm9yCgkgIHRoZSBuZXcgdmVyc2lvbiBhbmQgdHJhbnNmZXJzIHRoZSBzdHJlYW0gcG9zaXRpb24gdG8gdGhlIG5ldwoJICBvbmUsIGRpc2NhcmRpbmcgdGhlIG9sZCBvbmUgYWZ0ZXJ3YXJkcy4KCjIwMTMtMDItMjAgMTI6NDk6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoOiBtcGRwYXJzZXI6IGFsbG93IHBlcmlvZHMgd2l0aG91dCBzdGFydCB0aW1lIGZvciBsaXZlIHN0cmVhbXMKCSAgTGl2ZSBzdHJlYW1zIGNhbiBoYXZlIHVuZGVmaW5lZCBzdGFydCB0aW1lcyBmb3IgdGhlIHBlcmlvZHMgYW5kCgkgIG1wZHBhcnNlciBjYW4gbGV0IHRoYXQgcGFzcyBpbnN0ZWFkIG9mIGVycm9yaW5nIG91dAoKMjAxMy0wMi0xOSAxOTozNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoOiBtcGRwYXJzZXI6IHVzZSBndWludDY0IGZvciB0aW1lc3RhbXBzCgkgIFRoZSB0aW1lc3RhbXBzIGNhbiBiZSBwcmV0dHkgYmlnLCBzbyB1c2UgZ3VpbnQ2NCBmb3IgdGhlbQoKMjAxMy0wMi0xOSAwMToyNjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogbXBkIHBhcnNpbmc6IGZpeCBxdWVyeSBwYXJhbWV0ZXIgcGFyc2luZwoJICBUcnkgaGFyZGVyIHRvIGRldGVjdCBVUkwgcGFyYW1ldGVycyBhbmQgc3BsaXQgdGhlbSB0byBhY2NvbW9kYXRlCgkgIHRoZSBmcmFnbWVudCB1cmwgaW4gdGhlIGNvbmNhdDoKCSAgYmFzZS11cmwgKyBmcmFnbWVudC11cmwgKyB1cmwtcGFyYW1ldGVycwoKMjAxMy0wMi0xOCAxNDowMjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBwbHVnIHNvbWUgbGVha3MKCSAgQWRkIHNvbWUgbWlzc2luZyBmcmVlL3VucmVmcyBzcG90dGVkIGJ5IHZhbGdyaW5kCgoyMDEzLTAyLTE4IDE0OjAxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIHVudXNlZCBtdXRleGVzCgoyMDEzLTAyLTE0IDE3OjM5OjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBwcm9wZXJseSByZXNldCBzdHJlYW0gc3RhdHVzIGFmdGVyIGEgZmx1c2gKCSAgVGhlIHN0cmVhbSBlb3MvZW5kIG9mIHBlcmlvZCBzdGF0dXMgbXVzdCBhbHNvIGJlIHJlc2V0IGFmdGVyIGEgZmx1c2hpbmcKCSAgc2Vlay4gVGhpcyBtYWtlcyBzZWVraW5nIGFmdGVyIEVPUyB3b3JrLgoKMjAxMy0wMi0xMyAwMjoxMzoyMyAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBrZWVwIGEgbGlzdCBvZiBzdHJlYW1zIHBlcmlvZHMKCSAgS2VlcCBhIGxpc3Qgb2Ygc3RyZWFtcyBwZXIgcGVyaW9kIHNvIHRoYXQgdGhlIGRvd25sb2FkIGxvb3AgY2FuIGtlZXAKCSAgZG93bmxvYWRpbmcgd2hpbGUgdGhlIHN0cmVhbSBsb29wIGlzIHN0aWxsIHB1c2hpbmcgb2xkIHBlcmlvZCdzIGRhdGEuCgoyMDEzLTAyLTEyIDIyOjU0OjMyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IHBhcnNlIGJhc2UgdXJpIGZyb20gbXBkLgoKMjAxMy0wMi0xMiAyMjo1MzoxNiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdW51c2VkIG1lbWJlcnMuCgoyMDEzLTAyLTEyIDE4OjUwOjUxIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IE9ubHkgc2VuZCBuZXdzZWdtZW50IG9uIHNlZWsuCgoyMDEzLTAyLTA4IDAyOjU1OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBzZW5kIHNlZ21lbnRzIHRoYXQgb3ZlcndyaXRlIHByZXZpb3VzIG9uZXMKCSAgVGhpcyBpcyBvbmx5IGRvbmUgZm9yIHNlZWtzLCBzbyBpdCBpcyBmaW5lCgoyMDEzLTAyLTA3IDIxOjU4OjM3IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3dpdGNoIGJpdHJhdGVzIHdpdGhvdXQgc3dpdGNoaW5nIHBhZHMKCjIwMTMtMDItMDcgMTY6MjI6MTMgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdW51c3VlZCBtZXRob2QuCgoyMDEzLTAyLTA3IDE0OjA5OjQ0IC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogU2V0IHN0cmVhbSBuZWVkX2hlYWRlciBhZnRlciBzZWVrIGFuZCBoYXNfZGF0YV9xdWV1ZWQgdG8gRkFMU0Ugd2hlbiBmbHVzaGluZyBzdHJlYW0uCgoyMDEzLTAyLTA3IDAzOjA5OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBkbyBub3QgcGF1c2Uvc3RhcnQgdGhlIHN0cmVhbSBsb29wIG9uIHBsYXlpbmcvcGF1c2VkIGNoYW5nZXMKCSAgVGhlIGRlbXV4ZXIgc2hvdWxkbid0IGNhcmUgYWJvdXQgcGF1c2VkL3BsYXlpbmcsIGl0IHNob3VsZCBhY3QgdGhlCgkgIHNhbWUgaW4gYm90aCBzdGF0ZXMKCjIwMTMtMDItMDYgMTM6MzE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBwcm9wZXJ0eSB0aGF0IGlzbid0IHVzZWQgYW55bW9yZQoJICBSZW1vdmUgc29tZSBwaWVjZXMgb2YgY29kZSB0aGF0IGFyZSBmcm9tIGFuIG9sZCBwcm9wZXJ0eQoJICB0aGF0IGlzbid0IHVzZWQgYW55bW9yZQoKMjAxMy0wMi0wNSAxNzozODowNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9kYXNoL2dzdGRvd25sb2FkcmF0ZS5oOgoJICBkYXNoZGVtdXg6IGFkZCBhIGRvd25sb2FkcmF0ZSB1dGlsaXR5CgkgIEEgc21hbGwgc3RydWN0IHRoYXQga2VlcHMgYSBzaG9ydCBoaXN0b3J5IG9mIGZyYWdtZW50IGRvd25sb2FkIGJpdHJhdGVzCgkgIHRvIGhhdmUgYW4gYXZlcmFnZSBtZWFzdXJlIG9mIE4gbGFzdCBmcmFnbWVudHMgaW5zdGVhZCBvZiB1c2luZyBvbmx5CgkgIHRoZSBsYXN0IGRvd25sb2FkZWQgYml0cmF0ZQoKMjAxMy0wMi0wNSAxNDoyNDo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3ByaW5rbGluZyBzb21lIG1vcmUgbG9nCgoyMDEzLTAyLTA1IDE0OjIyOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogY2hhbmdlIGJpdHJhdGVzIGJhc2VkIG9uIHRoZSBzdHJlYW0gYml0cmF0ZQoJICBEbyBub3QgdXNlIGEgZ2xvYmFsIGJpdHJhdGUgYXMgdGhlIHNpemVzIG9mIHRoZSBmcmFnbWVudHMgbWF0dGVyCgkgIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGRvd25sb2FkIHJhdGUgYXMgdGhlIGNvbm5lY3Rpb24gc2V0dXAgdGltZSBpcwoJICBhbHNvIGJlaW5nIHRha2VuIGludG8gdGhlIGRvd25sb2FkIGR1cmF0aW9uLCBhIHNtYWxsZXIgZnJhZ21lbnQKCSAgd2lsbCBoYXZlIGEgbG93ZXIgYml0cmF0ZSB0aGFuIGEgbGFyZ2VyIG9uZS4KCSAgVGhpcyBhdm9pZHMgc3dpdGNoaW5nIHRoZSBiaXRyYXRlcyBmb3Igc3RyZWFtcyBmcmVxdWVudGx5IGJlY2F1c2UKCSAgb2YgYml0cmF0ZSBtaXNtYXRjaGVzCgoyMDEzLTAyLTA1IDAwOjQ1OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuaDoKCSAgZGFzaGRlbXV4OiByZWZhY3RvciB0byB1c2UgdGhlIHVyaWRvd25sb2FkZXIgbGliIGluc3RlYWQgb2YgaW50ZXJuYWwgY29weQoKMjAxMy0wMi0wNSAwMToyOToyOCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IE1ha2Ugc3VyZSBzd2l0Y2hfcGFkcyB3b24ndCBsZWFrIGFueSBwYWQuCgoyMDEzLTAyLTA0IDIyOjU4OjMyIC0wMjAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBkYXNoZGVtdXg6IFByb3Blcmx5IHN0b3AgZG93bmxvYWQgYW5kIHN0cmVhbSB0YXNrcyB3aGVyZSBhcHByb3ByaWF0ZS4KCjIwMTMtMDItMDEgMDI6MTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGF2b2lkIGFuIGFzc2VydGlvbiB3aGVuIHN0b3BwaW5nIHRoZSBwaXBlbGluZQoJICBBdm9pZHMgYXNzZXJ0aW5nIHdoZW4gZGF0YXF1ZXVlcyBhcmUgc2V0dGluZyB0byBmbHVzaGluZyBkdWUKCSAgdG8gYSBwaXBlbGluZSBzdG9wIGR1cmluZyBhIHBhZCBzd2l0Y2guCgoyMDEzLTAyLTAxIDAyOjEwOjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBkb3dubG9hZCB0aGUgbmV4dCBmcmFnbWVudCB3aXRoIHNtYWxsZXIgdGltZXN0YW1wCgkgIEluc3RlYWQgb2YgZG93bmxvYWRpbmcgMSBmcmFnbWVudCBwZXIgc3RyZWFtIHBlciBkb3dubG9hZCBsb29wLAoJICBzZWxlY3QgdGhlIHN0cmVhbSB3aXRoIHRoZSBlYXJsaWVyIHRpbWVzdGFtcCBhbmQgZ2V0IGEgZnJhZ21lbnQKCSAgb25seSBmb3IgdGhhdCBvbmUuCgkgIFRoZSBvbGQgYWxnb3JpdGhtIHdvdWxkIGxlYWQgdG8gcHJvYmxlbXMgd2hlbiB0aGUgZnJhZ21lbnQgZHVyYXRpb25zCgkgIHdlcmUgdG9vIGRpZmZlcmVudCBmb3Igc3RyZWFtcy4KCjIwMTMtMDItMDEgMDA6Mzc6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiB0cmFjayBzZWdtZW50cyBpbiB0aGUgZGVtdXhlcgoJICBVc2UgYSBHc3RTZWdtZW50IHRvIHRyYWNrIHRoZSBjdXJyZW50IHNlZ21lbnQgaW5mb3JtYXRpb24gaW4gdGhlCgkgIGRlbXV4ZXIuCgoyMDEzLTAyLTAxIDAwOjMzOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVtb3ZlIGJ1ZmZlcmluZyBtZXNzYWdlIGVtaXNzaW9uIGZyb20gZGFzaGRlbXV4CgkgIGRhc2hkZW11eCBzaG91bGRuJ3QgZW1pdCB0aGUgYnVmZmVyaW5nIG1lc3NhZ2UgYXMgdGhhdCBjYW4gcGF1c2UKCSAgdGhlIHBpcGVsaW5lLiBJdCBoYXMgbm8gcHJvcGVyIGtub3dsZWRnZSBvZiB0aGUgZG93bnN0cmVhbSBidWZmZXJpbmcKCSAgc3RhdHVzIHNvIGl0IGNhbiBwYXVzZSB0aGUgcGlwZWxpbmUgd2hlbiBpdCBpc24ndCBuZWNlc3NhcnkuIEl0IHNob3VsZAoJICBoYXZlIGFuIGludGVybmFsIGJ1ZmZlciBmb3IgZG93bmxvYWRpbmcgdGhlIHN0cmVhbXMgYWhlYWQgb2YgcGxheWJhY2ssCgkgIGJ1dCB0aGF0IHNob3VsZG4ndCBtYWtlIGl0IGFibGUgdG8gc3RvcCB0aGUgcGlwZWxpbmUgZm9yIGJ1ZmZlcmluZy4KCSAgQSBwYXJ0aWN1bGFyIGNhc2UgaW4gd2hpY2ggdGhpcyBpcyBiYWQgaXMgd2hlbiBhIHBhZCBzd2l0Y2ggaGFwcGVucwoJICAoY2hhbmdpbmcgYml0cmF0ZXMgZm9yIGV4YW1wbGUpLCB0aGUgbmV3IHBhZHMgZGFzaGRlbXV4IGNyZWF0ZXMKCSAgd2lsbCBnZXQgbGlua2VkIHRvIGRlbXV4ZXJzIGFuZCBuZXcgcXVldWVzIHdpbGwgYmUgY3JlYXRlZCwKCSAgdGhlc2UgcXVldWVzIGFyZSBpbml0aWFsbHkgZW1wdHkgYW5kIGRhc2hkZW11eCB3aWxsIHF1aWNrbHkKCSAgZHJhaW4gaXRzIGJ1ZmZlcnMgYnkgcHVzaGluZyB0aGVtIHRvIHRob3NlIHF1ZXVlcy4gU28gaXQKCSAgd291bGQgaGF2ZSBubyBtb3JlIGJ1ZmZlcnMgaW50ZXJuYWxseSBhbmQgd291bGQgZW1pdCBhCgkgIGJ1ZmZlcmluZyBtZXNzYWdlIHdpdGggYSBsb3cgcmF0aW8sIGNhdXNpbmcgdGhlIHBpcGVsaW5lCgkgIHRvIHBhdXNlIHdoZW4gaXQgd291bGRuJ3QgYmUgbmVjZXNzYXJ5LgoKMjAxMy0wMS0zMCAxNzozMTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBkYXNoZGVtdXg6IHJlbW92aW5nIHVudXNlZCBjb2RlCgkgIENsZWFuaW5nIHVwIGJ5IHJlbW92aW5nIHVudXNlZCBjb2RlIGFuZCB2YXJpYWJsZXMKCjIwMTMtMDEtMzAgMTc6Mjc6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiByZS1lbmFibGUgYW5kIGZpeCBhZGFwdGl2ZSBzd2l0Y2hpbmcKCSAgSXQgaXMgc3RpbGwgdW5zdGFibGUsIGJ1dCBhdCBsZWFzdCBpdCB3b3JrcyB3aGVuIHRoZSBzd2l0Y2hlcyBhcmVuJ3QKCSAgaGFwcGVuaW5nIGFmdGVyIGV2ZXJ5IGZyYWdtZW50CgoyMDEzLTAxLTI5IDE1OjU4OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiBjb3JyZWN0bHkgc2lnbmFsIEVPUyBvbiBtYW5pZmVzdCBlbmQKCSAgUHV0IEVPUyBvbiB0aGUgc3RyZWFtcyBxdWV1ZXMgYWZ0ZXIgdGhlIGxhc3QgZnJhZ21lbnQgZnJvbSB0aGUKCSAgbGFzdCBwZXJpb2QgZm9yIGVhY2ggc3RyZWFtLiBUaGlzIHdheSB3ZSBrZWVwIGl0IHNlcmlhbGl6ZWQKCSAgd2l0aCB0aGUgYnVmZmVycyBhbmQgaXQgd2lsbCB3b3JrIHdoZW4gc3RyZWFtcyBoYXZlIGRpZmZlcmVudAoJICBlbmRpbmcgdGltZXMKCjIwMTMtMDEtMjkgMTM6MDg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGRldGVjdCBlbmQtb2YtcGVyaW9kIGNvcnJlY3RseQoJICBEZXRlY3QgZW5kIG9mIHBlcmlvZCB3aGVuIHRoZXJlIGFyZSBubyBtb3JlIGJ1ZmZlcnMgb24gYW55IG9mIHRoZQoJICBzdHJlYW1zCgoyMDEzLTAxLTI5IDEzOjA0OjAxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBVc2UgdGhlIHNtYWxsZXN0IHF1ZXVlIHZhbHVlIHRvIGRlZmluZSBidWZmZXJpbmcgc3RhdGUKCSAgVGhlIHNtYWxsZXN0IHF1ZXVlIHNob3VsZCBiZSB1c2VkIHRvIHByZXZlbnQgYmxvY2tpbmcgdGhlIGRvd25sb2FkCgkgIHRocmVhZCB3aGVuIGEgc3RyZWFtIGhhcyB0b28gbXVjaCBkYXRhIGJ1ZmZlcmVkLCBsZWF2aW5nIHRoZSBvdGhlcgoJICBzdHJlYW1zIHN0YXJ2aW5nIGZyb20gZnJhZ21lbnRzCgoyMDEzLTAxLTI5IDExOjIyOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZml4IHBhcnNpbmcgb2Ygc3RyZWFtcyB0byBnZXQgY29ycmVjdCBmcmFnbWVudCBkdXJhdGlvbnMKCSAgVXNlIHRoZSBjdXJyZW50IHN0cmVhbSBiYXNlIHRpbWUgaW5zdGVhZCBvZiB0aGUgMHRoIHN0cmVhbSBiYXNlIHRpbWUKCSAgdG8gZ2V0IGRlZmF1bHQgZHVyYXRpb24gZm9yIGZyYWdtZW50cy4KCjIwMTMtMDEtMjkgMDE6MDY6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGJsb2NrIHdhaXRpbmcgZm9yIGJ1ZmZlcnMgaW5zdGVhZCBvZiBidXN5IHdhaXQKCSAgTWFrZSB0aGUgc3RyZWFtaW5nIGxvb3AgYmxvY2sgd2FpdGluZyBmb3IgYnVmZmVycyBvbiB0aGUgcXVldWVzIGluc3RlYWQKCSAgb2YgYnVzeSB3YWl0aW5nIGVhdGluZyBjcHUgY29udGludW91c2x5IG9uIGEgcXVldWUgbGVuZ3RoIGNoZWNrCgoyMDEzLTAxLTI4IDE5OjQzOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGZpeCBzZWVraW5nIG9uIG11bHRpcGxlIHN0cmVhbXMKCSAgRWFjaCBzdHJlYW0gaGFzIGl0cyBvd24gZHVyYXRpb25zIGFuZCB0aW1lc3RhbXBzLCB0aGUgZnJhZ21lbnQgbnVtYmVyCgkgIGlzIGRpZmZlcmVudCBmb3IgZWFjaCBzdHJlYW0gd2hlbiBzZWVraW5nLCBzbyB0aGUgc2VlayBoYXMgdG8gYmUgZG9uZQoJICBmb3IgYWxsIHN0cmVhbXMsIHJhdGhlciB0aGFuIG9uIGEgc2luZ2xlIHN0cmVhbSBhbmQgcHJvcGFnYXRlZCB0bwoJICBvdGhlcnMKCjIwMTMtMDEtMjggMTg6NTI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2Rhc2gvZ3N0ZnJhZ21lbnQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogUmVwbGFjZSBHUXVldWUgYnkgR3N0RGF0YVF1ZXVlCgkgIEdzdERhdGFRdWV1ZSBoYXMgcHJvcGVyIGxvY2tpbmcgYW5kIHByb3ZpZGVzIGZ1bmN0aW9ucyB0byBsaW1pdCB0aGUKCSAgc2l6ZSBvZiB0aGUgcXVldWUuIEFsc28gaGFzIGJsb2NraW5nIGNhbGxzIHRoYXQgYXJlIHVzZWZ1bCB0bwoJICBvdXIgbXVsdGl0aHJlYWQgc2NlbmFyaW8gaW4gRGFzaC4KCjIwMTMtMDEtMjggMTI6Mjg6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBtb3ZlIHRoZSBidWZmZXJzIHF1ZXVlcyB0byB0aGUgc3RyZWFtcwoJICBTdG9yZSB0aGUgYnVmZmVycyBzZXBhcmF0ZWx5IGZvciBlYWNoIHN0cmVhbSwgdGhpcyBpcyBjbGVhcmVyIHRoYW4KCSAgaGF2aW5nIGEgcXVldWUgd2l0aCBhIGxpc3Qgb2YgYnVmZmVycy4gSXQgYWxzbyBhbGxvd3MgZWFzaWVyIHNlbGVjdGlvbgoJICBvZiBidWZmZXJzIHRvIHB1c2ggaW4gbGF0ZXIgcmVmYWN0b3JzCgoyMDEzLTAxLTI4IDEwOjQ2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIGRhc2hkZW11eDogcmVmYWN0b3Igc3RyZWFtcyBkYXRhIHRvIGl0cyBvd24gc3RydWN0CgkgIEtlZXBzIGNvZGUgbW9yZSBvcmdhbml6ZWQgYW5kIHNpbWlsYXIgdG8gd2hhdCBvdGhlciBkZW11eGVycwoJICB1c3VhbGx5IGRvCgoyMDEzLTAxLTI1IDEzOjA0OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaDogZG8gbm90IHRyeSB0byBwcmludCBhIHBvaW50ZXIgYXMgYSBzdHJpbmcKCjIwMTMtMDEtMjUgMTI6NDU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBSZW1vdmUgdGltaW5nIGNvZGUgdGhhdCBkZWxheXMgcHVzaGluZyBvZiBmcmFnbWVudHMKCSAgRnJhZ21lbnRzIHNob3VsZCBiZSBwdXNoZWQgQVNBUCBhcyBkb3duc3RyZWFtIHNob3VsZCBiZSByZXNwb25zaWJsZSBmb3IKCSAgZG9pbmcgdGhlIHN5bmNyaG9uaXphdGlvbiBhbmQgcHJvcGVyIGJ1ZmZlcmluZy4KCSAgVGhpcyBoYXMgdGhlIGdyZWF0IHNpZGUgZWZmZWN0IG9mIGZpeGluZyBtb3N0IG9mIHRoZSBzZWVraW5nIEEvViBzeW5jIGlzc3Vlcy4KCjIwMTMtMDEtMjUgMDk6MzY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkqIGV4dC9kYXNoL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgZGFzaDogZml4aW5nIGJ1aWxkIHdhcm5pbmdzCgkgIEFsc28gcnVubmluZyB0aHJvdWdoIGdzdC1pbmRlbnQKCjIwMTMtMDEtMjMgMTY6NDM6MTIgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBnc3RkYXNoZGVtdXg6IGFkZCBuZWVkX2hlYWRlciBtZW1iZXIgdG8ga25vdyB3aGV0aGVyIHRoZSBpbml0aWFsaXphdGlvbiBmcmFnbWVudCBzaG91bGQgYmUgcHVzaGVkCgoyMDEzLTAxLTIzIDEzOjIwOjI1IC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgZGFzaGRlbXV4OiBkb24ndCB3YWl0IGZvciB0aGUgd2hvbGUgZHVyYXRpb24gb2YgYSBmcmFnbWVudCB3aGVuIHNlZWtpbmcKCjIwMTMtMDEtMjMgMTM6MTk6MjEgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogc3dpdGNoIHBhZHMgYW5kIHNlbmQgaGVhZGVyIGZpbGUgd2hlbiBhIG5ld3NlZ21lbnQgZXZlbnQgaXMgc2VudAoKMjAxMy0wMS0xNiAxMzo1ODo1MiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IHZhcmlvdXMgZml4ZXMKCjIwMTItMTItMjAgMDk6MDQ6MjggKzAxMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTEyLTE4IDExOjIxOjIyICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIFJlcGxhY2VkIFVSTCBwb2ludGluZyB0byBvYnNvbGV0ZSBLbGFnZW5mdXJ0IE1QRCBieSBhIG5ldyBvbmUKCjIwMTItMTItMTcgMTU6NDY6MzIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBmaXggZXNjYXBlIHNlcXVlbmNlIGluIFVSTCB0ZW1wbGF0ZSByZXNvbHZpbmcKCjIwMTItMTItMTcgMTU6Mzk6MTAgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGRvIG5vdCBzd2l0Y2ggcGFkcyB3aGVuIGJpdHN0cmVhbVN3aXRjaGluZyA9IHRydWUKCjIwMTItMTItMTcgMTU6MTk6MzMgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvbXBsZXRlIHN1cHBvcnQgZm9yIG1hbmlmZXN0IGZpbGUgdXBkYXRlcwoKMjAxMi0xMi0xNyAxNToxMjo1OCArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIGRhc2hkZW11eDogYWRkIHN1cHBvcnQgZm9yIG1hbmlmZXN0IGZpbGUgdXBkYXRlcwoJICAtIHRoZSBNUEQgZmlsZSBpcyB1cGRhdGVkIGluIHRoZSBkb3dubG9hZCBsb29wIChvbmx5IGlmIHdlIGhhdmUgYSAiZHluYW1pYyIgTVBEIGFuZCBtaW5pbXVtVXBkYXRlUGVyaW9kIGlzIHZhbGlkKTsKCSAgLSBwcm9wZXJseSBMT0NLL1VOTE9DSyB0aGUgR3N0TXBkQ2xpZW50OwoKMjAxMi0xMi0xNyAxNTowNDo0NSArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIGRhc2hkZW11eDogbmV3IEFQSSB0byBzZXQvZ2V0IHNlZ21lbnQgaW5kZXggYW5kIHBlcmlvZCBpbmRleAoJICBUT0RPOiByZXdvcmsgc2VnbWVudCBzZWxlY3Rpb24gdG8gc3VwcG9ydCBSZXByZXNlbnRhdGlvbnMgb3IgQWRhcHRhdGlvbiBTZXRzIHdpdGggc2VnbWVudHMgbm90IGFsaWduZWQKCjIwMTItMTItMTcgMTU6MDA6NTIgKzAxMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IG5ldyBBUEkgdG8gbG9hZCB0aGUgc3RyZWFtIFBlcmlvZCB3aXRoIGEgZ2l2ZW4gaW5kZXgKCSAgdGhpcyBhdm9pZHMgdG8gZmlkZGxlIHdpdGggc3RyZWFtIGludGVybmFscyBpbiB0aGUgY29kZQoKMjAxMi0xMi0xNyAxNDo1NDo0MiArMDEwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGltcGxlbWVudCBzZWVraW5nIGFjcm9zcyBQZXJpb2RzCgoyMDEyLTExLTIxIDE0OjE0OjM0ICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTExLTIxIDE0OjE0OjIxICswMTAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQnkgZGVmYXVsdCwgZG8gbm90IGZvcndhcmQgcGFkIHF1ZXJpZXMgdXBzdHJlYW0sIGJlY2F1c2UgaXQgbWF5IGhhdmUgdW5mb3Jlc3NlbiBzaWRlLWVmZmVjdHMgKGZvcndhcmRpbmcgdGhlIG5ldyAxLjAgR1NUX0NBUFMgcXVlcnkgd291bGQgcHJldmVudCBwYWQgbGlua2luZyBmb3IgaW5zdGFuY2UpCgoyMDEyLTExLTEyIDEwOjU0OjM1ICswMTAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBwbHVnaW46IHJlZ2lzdGVyIGFzIGRhc2hkZW11eCBpbnN0ZWFkIG9mIGZyYWdtZW50ZWQKCSAgVGhpcyBmaXhlcyBjb25mbGljdHMgd2l0aCB0aGUgSExTIHBsdWdpbiwgd2hpY2ggaXMgYWxzbyBuYW1lZAoJICBmcmFnbWVudGVkLgoJICBXaGVuIGJ1aWxkaW5nIGl0cyByZWdpc3RyeSwgZ3N0cmVhbWVyIHdhcyBwaWNraW5nIG9uZSBvciB0aGUgb3RoZXIKCSAgYmV0d2VlbiBobHMgYW5kIGRhc2hkZW11eC4KCjIwMTItMTAtMjUgMTc6NTU6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBjaGVjayBpZiB3ZSBoYXZlIHJlY2VpdmVkIHRoZSBNUEQgZmlsZSBpbiB0aGUgcHJvcGVyIHdheQoKMjAxMi0xMC0yNSAxNzo1Mzo1MyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHNpbGVuY2Ugd2FybmluZwoKMjAxMi0xMC0yNSAxNzoxNTowOSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggcHJpbnRpbmcgYnVmZmVyaW5nIHRpbWUgYW5kIGRvd25sb2FkIHJhdGUvc2l6ZQoJICBUaGlzIHdhcyBicm9rZW4gb24gYXJtdjcuCgoyMDEyLTEwLTI1IDE3OjE3OjM1ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IGZpeCB1bnVzZWQtYnV0LXNldCB2YXJpYWJsZQoKMjAxMi0xMC0yNSAxNjo0OToyMSArMDIwMCAgT2xpdmllciBCbGluIDxvbGl2aWVyLmJsaW5Ac29mdGF0aG9tZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgbmV3IGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50X2R1cmF0aW9uIEFQSQoJICBUaGlzIGZpeGVzIGJ1aWxkIHRoYXQgaGFzIGJlZW4gYnJva2VuIGJ5IGNvbW1pdAoJICBmYjlhZWFjNjU1MjAyMWIxNzZhNGM0YmQwNzI2NWUwMmEwYjcwZTBmLgoJICBnc3RfbXBkX2NsaWVudF9nZXRfdGFyZ2V0X2R1cmF0aW9uIGhhcyBiZWVuIHJlbW92ZWQsIGFuZAoJICBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiBzaG91bGQgYmUgdXNlZCBpbnN0ZWFkLgoKMjAxMi0xMC0yNCAxNzoyODo0MCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHJlbW92ZSBGSVhNRSBjb21tZW50CgkgIHBhZCBzd2l0Y2hpbmcgYWNyb3NzIG11bHRpcGxlIHBlcmlvZHMgd29ya3MgcGVyZmVjdGx5IGZpbmUgbm93CgkgIGFuZCBpdCBpcyBkb25lIG9ubHkgd2hlbiB0aGVyZSBpcyBhIGNoYW5nZSBpbiB0aGUgQ0FQUwoKMjAxMi0xMC0yNCAxNjo1NToyMCArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBkYXNoZGVtdXg6IHNlbmQgbmV3LXNlZ21lbnQgZXZlbnRzIHRvIGFsbCBwYWRzCgoyMDEyLTEwLTI0IDE2OjMwOjAxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCB0aGUgQVBJIHRvIHJldHJpZXZlIGZyYWdtZW50IHRpbWVzdGFtcCwgZnJhZ21lbnQgZHVyYXRpb24gYW5kIG1lZGlhIHByZXNlbnRhdGlvbiBkdXJhdGlvbgoJICBUaGlzIHdhcyBuZWNlc3NhcnkgdG8gc3VwcG9ydCB2YXJpYWJsZS1kdXJhdGlvbiBGcmFnbWVudHMuCgkgIGluIHRoZSBuZXcgQVBJOgoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9jdXJyZW50X3Bvc2l0aW9uIHJldHVybnMgdGhlIHRpbWVzdGFtcCBvZiB0aGUgTkVYVCBmcmFnbWVudCB0byBkb3dubG9hZDsKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9kdXJhdGlvbiByZXR1cm5zIHRoZSBkdXJhdGlvbiBvZiB0aGUgbmV4dCBmcmFnbWVudCB0byBkb3dubG9hZDsKCSAgLSBnc3RfbXBkX2NsaWVudF9nZXRfbWVkaWFfcHJlc2VudGF0aW9uX2R1cmF0aW9uIHJldHVybnMgdGhlIG1lZGlhUHJlc2VudGF0aW9uRHVyYXRpb24gZnJvbSB0aGUgTVBEIGZpbGU7CgkgIGFsc28gdGhlcmUgaXMgYSBuZXcgaW50ZXJuYWwgcGFyc2VyIGZ1bmN0aW9uOgoJICAtIGdzdF9tcGRfY2xpZW50X2dldF9zZWdtZW50X2R1cmF0aW9uIGV4dHJhY3RzIHRoZSBjb25zdGFudCBzZWdtZW50IGR1cmF0aW9uIGZyb20gdGhlIE1QRCBmaWxlCgkgIChvbmx5IHVzZWQgd2hlbiB0aGVyZSBpcyBubyBTZWdtZW50VGltZWxpbmUgc3ludGF4IGVsZW1lbnQgaW4gdGhlIGN1cnJlbnQgcmVwcmVzZW50YXRpb24pCgkgIEluIGdzdF9tcGRfY2xpZW50X2dldF9uZXh0X2ZyYWdtZW50LCB3ZSBzZXQgdGhlIHRpbWVzdGFtcC9kdXJhdGlvbiBvZiB0aGUgZnJhZ21lbnQganVzdCBkb3dubG9hZGVkCgkgIGNvcHlpbmcgdGhlIHZhbHVlcyBmcm9tIHRoZSBjb3JyZXNwb25kaW5nIEdzdE1lZGlhU2VnbWVudC4KCSAgVE9ETzogcmV3b3JrIFNFRUtJTkcgdG8gc3VwcG9ydCBzZWVraW5nIGFjcm9zcyBkaWZmZXJlbnQgUGVyaW9kcy4KCjIwMTItMTAtMjQgMTQ6NTA6NTQgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiB1c2UgZWZmZWN0aXZlIHNlZ21lbnQgZHVyYXRpb24gdG8gcmVzY2hlZHVsZSB0aGUgc3RyZWFtaW5nIHRhc2sKCSAgZG8gbm90IGFzc3VtZSBzZWdtZW50IGR1cmF0aW9uIGlzIGNvbnN0YW50CgkgIENvbmZsaWN0czoKCSAgZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmMKCjIwMTItMTAtMjQgMTQ6MjQ6MDUgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCBnc3RfZGFzaF9kZW11eF9nZXRfYnVmZmVyaW5nX3RpbWUoKSB0byByZXR1cm4gdGhlIGVmZmVjdGl2ZSBidWZmZXJpbmcgdGltZQoJICBkbyBub3QgYXNzdW1lIHRoZSBGcmFnbWVudCBkdXJhdGlvbiBpcyBjb25zdGFudAoKMjAxMi0xMC0yNCAxMTo0OTo1MSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBkYXNoZGVtdXg6IGNvbXBsZXRlIHN1cHBvcnQgZm9yIE1lZGlhIFByZXNlbnRhdGlvbnMgd2l0aCBzZXZlcmFsIFBlcmlvZHMKCSAgLSBQZXJpb2RzIGFyZSBwbGF5ZWQgaW4gc2VxdWVuY2UsIGZyb20gUGVyaW9kU3RhcnQgdG8gUGVyaW9kRW5kCgkgIC0gc2VhbWxlc3Mgc3dpdGNoaW5nIGZyb20gb25lIFBlcmlvZCB0byB0aGUgbmV4dCBvbmUgd29ya3MgZmluZTsKCSAgLSB0aGUgJ25ldy1zZWdtZW50JyBnZW5lcmF0aW9uIGlzIGJyb2tlbiwgc28gaWYgd2UgbmVlZCB0byBzd2l0Y2ggcGFkcyBmb3IgYSBuZXcgUGVyaW9kIHRoZXJlIGlzIGEgY3Jhc2g7CgoyMDEyLTEwLTIyIDE4OjEyOjMwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyOiBpbml0aWFsIHN1cHBvcnQgZm9yIE1lZGlhIFByZXNlbnRhdGlvbnMgbWFkZSBvZiBzZXZlcmFsIFBlcmlvZHMKCSAgLSBidWlsZCBhIGxpc3Qgb2YgdGhlIGF2YWlsYWJsZSBQZXJpb2RzIHdpdGggdGhlaXIgc3RhcnQgYW5kIGR1cmF0aW9uIHRpbWUKCSAgLSBhZGQgdGhlIGxpc3Qgb2YgR3N0U3RyZWFtUGVyaW9kIGluIHRoZSBHc3RNcGRDbGllbnQgZGF0YSBzdHJ1Y3QKCSAgLSByZW1vdmUgY3VyX3BlcmlvZCBmcm9tIEdzdE1wZENsaWVudCBhbmQgaW50cm9kdWNlIGFuIEFQSSB0byBnZXQgdGhlIGN1cnJlbnQgR3N0U3RyZWFtUGVyaW9kCgkgIC0gc2V2ZXJhbCBBUEkgY2xlYW4tdXBzCgoyMDEyLTEwLTI0IDE4OjEwOjQ3ICswMjAwICBPbGl2aWVyIEJsaW4gPG9saXZpZXIuYmxpbkBzb2Z0YXRob21lLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBtcGRwYXJzZXI6IHN1cHBvcnQgQmFzZVVSTCBmb3IgU2VnbWVudFVSTCB1c2luZyBtZWRpYVJhbmdlCgkgIFRoaXMgaXMgdXNlZCBpbiBiaWdfYnVja19idW5ueV9DYXBwZWRWQlJfTXVsdGlyYXRlXzRzXzBfQXVkaW9WaWRlb19NYWluUHJvZmlsZS5tcGQKCjIwMTItMTAtMjQgMTg6MDQ6MDcgKzAyMDAgIE9saXZpZXIgQmxpbiA8b2xpdmllci5ibGluQHNvZnRhdGhvbWUuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZmFjdG9yaXplIGFkZGluZyByYW5nZSBwYXJhbWV0ZXIgdG8gVVJMCgoyMDEyLTEwLTE5IDIwOjEyOjA5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgZGFzaGRlbXV4OiByZXdvcmtlZCBjYXBzIGRldGVjdGlvbgoJICBhbHNvIHJld29ya2VkIHRoZSBBUEkgdG8gZXh0cmFjdCBhdWRpby92aWRlbyBwYXJhbWV0ZXJzIGZyb20gdGhlIG1hbmlmZXN0IGZpbGUKCSAgKG1pbWVUeXBlLCB3aWR0aCwgaGVpZ2h0LCByYXRlLCBudW0gY2hhbm5lbHMpCgoyMDEyLTEwLTE5IDE5OjAzOjQxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGRvIG5vdCBzZW5kIGJvZ3VzIGR1cmF0aW9uIG1lc3NhZ2VzIHdoZW4gbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBpcyB1bmtub3duCgoyMDEyLTEwLTE5IDE4OjQ1OjMwICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBTZWdtZW50VGltZWxpbmUgc3ludGF4IGFsc28gZm9yIGxpc3QtYmFzZWQgbWVkaWEgc2VnbWVudCBnZW5lcmF0aW9uCgoyMDEyLTEwLTE5IDE3OjQ3OjUxICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZCBzdXBwb3J0IGZvciBTZWdtZW50VGltZWxpbmUgc3ludGF4IGVsZW1lbnRzCgkgIGJ1aWxkIHRoZSBsaXN0IG9mIHNlZ21lbnRzIHRvIGJlIHBsYXllZCB1c2luZyB0aGUgU2VnbWVudFRpbWVsaW5lIHN5bnRheCwgaWYgcHJlc2VudAoJICBidWdmaXhlczoKCSAgLSBmb3IgZHluYW1pYyBNUEQgZmlsZXMsIHdoZW4gbWVkaWFQcmVzZW50YXRpb25EdXJhdGlvbiBpcyBub3QgcHJlc2VudCB1c2UgbWluaW11bVVwZGF0ZVBlcmlvZCBpbnN0ZWFkCgkgIC0gZG8gbm90IGFkZCBhIHNwdXJpb3VzICckJyB3aGVuIGJ1aWxkaW5nIGFuIFVSTCBmcm9tIGEgdGVtcGxhdGUgbGlrZSAiJEJhbmR3aWR0aCQvaW5pdC5tcDR2IgoJICAtIGludHJvZHVjZSBnc3RfbXBkX2NsaWVudF9hZGRfbWVkaWFfc2VnbWVudCgpIHRvIGF2b2lkIGNvZGUgZHVwbGljYXRpb24KCjIwMTItMTAtMTkgMTU6NDI6NTEgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCB3cm9uZyBpbmRleCBpbiBmcmFnbWVudHMKCjIwMTItMTAtMTkgMTI6MDE6MDMgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGZpeCBtZW1vcnkgbGVhayBpbiBnc3RfbXBkX2NsaWVudF9nZXRfbmV4dF9mcmFnbWVudF9zZXQoKQoJICB3ZSBoYXZlIHRvIGZyZWUgbmV4dF9mcmFnbWVudF91cmkKCjIwMTItMTAtMTkgMTA6NTA6MTYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW1vdmVkIHVudXNlZCBmdW5jdGlvbgoKMjAxMi0xMC0xOSAxMDo0Mzo0OSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFNlZWsgZXZlbnQgaGFuZGxpbmcgY2xlYW51cAoKMjAxMi0xMC0xOCAxODo0OTo1MyArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgZGFzaGRlbXV4OiBmaXggcGxheWluZyBvZiBzaW5nbGUtc2VnbWVudCBtZWRpYSBzdHJlYW1zCgkgIG90aGVyIGZpeGVzOgoJICAtIGZpeGVkIGEgYnVmZmVyaW5nIGJ1Zzogbm93IHdlIHN0b3AgYnVmZmVyaW5nIHdoZW4gd2UgcmVhY2ggdGhlIGVuZCBvZiBtYW5pZmVzdAoJICAtIG5vdyBnc3RfbXBkX2NsaWVudF9nZXRfdGFyZ2V0X2R1cmF0aW9uKCkgYWx3YXlzIHJldHVybnMgYSB2YWxpZCBkdXJhdGlvbgoJICAoaW4gY2FzZSBvZiBzaW5nbGUtc2VnbWVudCBzdHJlYW1zLCB3ZSByZXR1cm4gZWl0aGVyIFBlcmlvZCBkdXJhdGlvbiBvciBtZWRpYVByZXNlbnRhdGlvbiBkdXJhdGlvbikKCSAgVE9ETzogc3VwcG9ydCBTZWdtZW50VGltZWxpbmUKCjIwMTItMTAtMTcgMTg6NDY6MjIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IGRlbGV0ZWQgdXNlbGVzcyBkZWNsYXJhdGlvbiBvZiBnc3RfdXJpX2Rvd25sb2FkZXJfZnJlZSgpCgoyMDEyLTEwLTE3IDE4OjQ1OjI1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiB3aGVuIHBvc3NpYmxlLCByZXVzZSBleGlzdGluZyBlbGVtZW50IHRvIGRvd25sb2FkIGEgbmV3IFVSSQoJICBwcmV2aW91c2x5IGEgbmV3IGVsZW1lbnQgd2FzIGFsbG9jYXRlZCBmb3IgZWFjaCBtZWRpYSBzZWdtZW50LCBhbmQgaXQgd2FzIG5ldmVyIGZyZWVkCgoyMDEyLTEwLTE3IDE4OjQzOjI2ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIGRhc2hkZW11eDogdW5yZWYgY2FwcyBpbiBmdW5jdGlvbiBuZWVkX2FkZF9oZWFkZXIoKQoKMjAxMi0xMC0xNyAxODo0MjowMiArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJICBkYXNoZGVtdXg6IGZpeCBleHRyYWN0aW9uIG9mIFNlZ21lbnRUZW1wbGF0ZS0+aW5pdGlhbGl6YXRpb24gaW4gZ3N0X21wZF9jbGllbnRfZ2V0X25leHRfaGVhZGVyKCkKCSAgbm93IHRoZSBmb2xsb3dpbmcgTVBEIGZpbGVzIGFyZSBwcm9wZXJseSBzdXBwb3J0ZWQ6CgkgIGh0dHA6Ly9kYXNoLmVkZ2VzdWl0ZS5uZXQvYWRvYmUvaGR3b3JsZF9kYXNoL0hEV29ybGQtMTYwMC5tcGQKCSAgaHR0cDovL2Rhc2guZWRnZXN1aXRlLm5ldC9hZG9iZS9oZHdvcmxkX2Rhc2gvSERXb3JsZC5tcGQKCjIwMTItMTAtMTcgMTg6NDA6MDIgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgZGFzaGRlbXV4OiBmaXggbWVtb3J5IGxlYWsgaW4gZ3N0X2Rhc2hfZGVtdXhfZ2V0X25leHRfaGVhZGVyKCkKCjIwMTItMTAtMTcgMTU6NTI6MTkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBXZSBub3cgb25seSBhY2NlcHQgYWN0dWFsIG1hbmlmZXN0IGZpbGVzLCBhbmQgbm90IGFueSBYTUwgZmlsZQoKMjAxMi0xMC0xNyAxNTo1MDozMyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvTWFrZWZpbGUuYW06CgkqIGV4dC9kYXNoL2dzdHBsdWdpbi5jOgoJICBBZGRlZCBhIHR5cGVmaW5kIGhlbHBlciBmb3IgREFTSDogdGhpcyBjb21taXQgc2hvdWxkIGJlIHJldmVydGVkIGFzIHNvb24gYXMgYSBwcm9wZXIgcGF0Y2ggaGFzIGJlZW4gc3VibWl0dGVkIHRvIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTItMTAtMTcgMTA6MDI6MzkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCBzdGF0ZSBtYWNoaW5lIChhZ2FpbikKCjIwMTItMTAtMTYgMTY6NDY6MTcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBDb2RlIHJlZmFjdG9yaW5nCgoyMDEyLTEwLTE2IDE2OjM0OjEwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRml4ZWQgc3RhdGUgbWFjaGluZQoKMjAxMi0xMC0xNiAxMzo0MzozOSArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5oOgoJICBJbXByb3ZlIGNvbnNpc3RlbmN5IG9mIHRoZSB0YXNrcyBzaHV0ZG93biBjb2RlCgoyMDEyLTEwLTE2IDEyOjUxOjQ0ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQWRkZWQgbWlzc2luZyBnX2xpc3RfZnJlZQoKMjAxMi0xMC0xNiAxMTo0NDoyNiArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIERvIG5vdCBhbnN3ZXIgdG8gVVJJIHF1ZXJpZXMKCjIwMTItMTAtMTYgMTE6Mzk6MTggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBUcnkgcXVlcmllcyB1cHN0cmVhbSBpZiB3ZSBjYW5ub3QgcHJvY2VzcyB0aGVtCgoyMDEyLTEwLTE2IDExOjI2OjAzICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlbmFtZWQgZGVtdXgtPm5leHRfc3RyZWFtIGluIGRlbXV4LT5uZXh0X3B1c2gKCjIwMTItMTAtMTYgMTE6MjM6MjYgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBJbmxpbmVkIG9uZS1saW5lIHV0aWxpdHkgZnVuY2l0b24gdGhhdCB3YXMgY2FsbGVkIG9ubHkgb25jZQoKMjAxMi0xMC0xNiAwOToxMDowMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEZpeGVkIHJlZ3Jlc3Npb24gYWZ0ZXIgdGhlIGludHJvZHVjdGlvbiBvZiB0aGUgbXVsdGktc2NyZWVuIHN1cHBvcnQsIHByZXZlbnRpbmcgdGhlIHBpcGVsaW5lIGZyb20gc3RvcHBpbmcgcHJvcGVybHkKCjIwMTItMTAtMTUgMTY6NDE6MjggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBNb2RpZmllZCBsb2cgbGV2ZWwgb2Ygc2h1dGRvd24gbWVzc2FnZQoKMjAxMi0xMC0xNSAxNTowODo1MyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIENvbW1lbnRzOiBXZSBkb24ndCBzZWxlY3QgYSBzaW5nbGUgcmVwcmVzZW50YXRpb24sIGJ1dCBhIHJlcHJlc2VudGF0aW9uIGZvciBlYWNoIHN0cmVhbSBDb2RlOiBjbGVhbnVwIG9mIGdzdF9nZXRfbmV4dF9mcmFnbWVudCAoYWxzbyByZW5hbWVkIGluIGdzdF9nZXRfbmV4dF9mcmFnbWVudF9zZXQpCgoyMDEyLTEwLTE1IDE0OjI1OjI3ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCBkZWJ1ZyB0cmFjZQoKMjAxMi0xMC0xNSAxNDoxNDo1MyArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIEFkZGVkIGludHJvZHVjdGlvbiBhbmQgZ2VuZXJhbCBkZXNpZ24gbm90ZXMKCjIwMTItMTAtMTUgMTM6NTQ6MTcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBGaXhlZCB3cm9uZyBjb21tZW50CgoyMDEyLTEwLTE1IDEzOjUyOjMxICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgRG9jdW1lbnRlZCBnc3RfZGFzaF9kZW11eF9kb3dubG9hZF9sb29wCgoyMDEyLTEwLTE1IDEzOjM1OjE1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudGVkIGdzdF9kYXNoX2RlbXV4X3N0cmVhbV9sb29wCgoyMDEyLTEwLTE1IDEzOjE3OjEyICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQ29tbWVudGVkIG5lZWRzX3BhZF9zd2l0Y2gKCjIwMTItMTAtMTUgMTM6MDk6NDkgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBEb2N1bWVudGVkIHRoZSByZXByZXNlbnRhdGlvbiBzd2l0Y2ggbWVjaGFuaXNtCgoyMDEyLTEwLTE1IDExOjQwOjU1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkgIFJlcGxhY2VkIHJlZmVyZW5jZXMgdG8gcGxheWxpc3QgKEhMUykgYnkgcmVmZXJlbmNlcyB0byBtYW5pZmVzdCAoREFTSCkKCjIwMTItMTAtMTUgMTE6MzM6NTggKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBSZW5hbWVkIGdzdF9kYXNoX2RlbXV4X3N3aXRjaF9wbGF5bGlzdCB0byBnc3RfZGFzaF9kZW11eF9zZWxlY3RfcmVwcmVzZW50YXRpb24gYW5kIGFkZGVkIGNvbW1lbnRzCgoyMDEyLTEwLTE1IDExOjE5OjI5ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgUmVtb3ZlZCBvYnNvbGV0ZSBjb21tZW50CgoyMDEyLTEwLTE1IDExOjE4OjI1ICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSAgQXBwbGllZCBnc3QtaW5kZW50CgoyMDEyLTEwLTExIDEyOjU0OjUwICswMjAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9SRUFETUU6CgkgIFVwZGF0ZWQgUkVBRE1FCgoyMDEyLTEwLTA5IDEzOjI0OjIzICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBNUEQgZmlsZXMgd2l0aCBTZWdtZW50QmFzZSBlbGVtZW50cyBlbmNvZGVkIGluc2lkZSBhIFNlZ21lbnRMaXN0IGVsZW1lbnQKCSAgYWxzbyBwcm9wZXJseSBzdXBwb3J0IE1QRCBmaWxlcyB3aXRob3V0IGFueSBJbml0aWFsaXphdGlvbiBzZWdtZW50CgoyMDEyLTEwLTA4IDE3OjQzOjE0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuaDoKCSAgbXBkcGFyc2VyL2Rhc2hkZW11eDogZml4ZWQgZ2V0X3dpZHRoLCBnZXRfaGVpZ2h0LCBnZXRfYXVkaW9fcmF0ZSwgZ2V0X251bV9hdWRpb19jaGFubmVscyBBUEkgZnVuY3Rpb25zCgkgIHRoZSBhY3R1YWwgdmFsdWVzIG5vdyBjYW4gYmUgZXh0cmFjdGVkIGFsc28gZnJvbSB0aGUgQWRhcHRhdGlvblNldCBlbGVtZW50OwoJICBjaGVja2luZyBOVUxMIHN0cnVjdHMgZm9yIGJldHRlciByb2J1c3RuZXNzOwoKMjAxMi0xMC0wOCAxNjo1OToyMSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSAgbXBkcGFyc2VyOiBhZGRlZCBzdXBwb3J0IGZvciBzaW5nbGUtc2VnbWVudCBzdHJlYW1zIHdpdGggdGhlIFVSTCBlbmNvZGVkIGluIHRoZSBiYXNlVVJMIHN5bnRheCBlbGVtZW50CgoyMDEyLTEwLTA4IDE1OjI2OjQ4ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZGVkIGxhbmcgYXR0cmlidXRlIHRvIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlCgoyMDEyLTEwLTA4IDExOjQ3OjQ1ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXI6IGFkZGVkIHN1cHBvcnQgZm9yIEFjY2Vzc2liaWxpdHksIFJvbGUsIFJhdGluZywgVmlld3BvaW50IGVsZW1lbnRzIHRvIEFkYXB0YXRpb25TZXQgbm9kZQoJICB0aG9zZSBhcmUgRGVzY3JpcHRvclR5cGUgZWxlbWVudHMsIHNvIHRoZXkgYXJlIGp1c3QgcGFyc2VkIGFuZCBkdW1wZWQgZm9yIG5vdzsKCjIwMTItMTAtMDggMTE6MzA6NDAgKzAyMDAgIEdpYW5sdWNhIEdlbm5hcmkgPGdlbm5hcm9uZUBnbWFpbC5jb20+CgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogc3VwcG9ydCBtdWx0aXBsZSBQcm9ncmFtSW5mb3JtYXRpb24gbm9kZXMKCSAgbm93IHdlIGtlZXAgYSBsaXN0IG9mIFByb2dyYW1JbmZvcm1hdGlvbiBub2RlcyBmb3IgZWFjaCBQZXJpb2Qgbm9kZQoKMjAxMi0xMC0wOCAxMToxNjowOSArMDIwMCAgR2lhbmx1Y2EgR2VubmFyaSA8Z2VubmFyb25lQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIG1wZHBhcnNlcjogZml4ZWQgcGFyc2luZyBvZiBTZWdtZW50TGlzdCBzeW50YXggZWxlbWVudCwgYW5kIGVsaW1pbmF0ZWQgUmVwcmVzZW50aW9uIG5vZGUgbGlzdCBmcm9tIFBlcmlvZCBub2RlCgkgIFNlZ21lbnRMaXN0IG5vZGVzIGFyZSBhbGxvd2VkIGludG8gUGVyaW9kLCBBZGFwdGF0aW9uU2V0IG9yIFJlcHJlc2VudGF0aW9uIG5vZGVzCgkgIGFuZCB0aGVyZSBpcyBhdCBtb3N0IDEgZWxlbWVudCwgc28gbm8gbmVlZCB0byBrZWVwIGEgbGlzdDsKCSAgUGVyaW9kIG5vZGVzIGNhbm5vdCBoYXZlIGFueSBSZXByZXNlbnRpb24gZWxlbWVudHMsIGFzIEFkYXB0YXRpb25TZXQgbm9kZXMgYXJlIG1hbmRhdG9yeTsKCSAgdGhpcyBicmVha3MgY29tcGF0aWJpbGl0eSB3aXRoIHNvbWUgbGVnYWN5IERBU0ggdGVzdCBzZXF1ZW5jZXMuCgoyMDEyLTEwLTA4IDEwOjI5OjA0ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkgIG1wZHBhcnNlcjogZml4ZWQgcmV0dXJuIHdpdGggbm8gdmFsdWUKCSAgZ3N0bXBkcGFyc2VyLmM6IEluIGZ1bmN0aW9uIOKAmGdzdF9tcGRwYXJzZXJfZ2V0X2xpc3RfYW5kX25iX29mX2F1ZGlvX2xhbmd1YWdl4oCZOgoJICBnc3RtcGRwYXJzZXIuYzoyODkxOiB3YXJuaW5nOiDigJhyZXR1cm7igJkgd2l0aCBubyB2YWx1ZSwgaW4gZnVuY3Rpb24gcmV0dXJuaW5nIG5vbi12b2lkCgoyMDEyLTEwLTA4IDEwOjI0OjI5ICswMjAwICBHaWFubHVjYSBHZW5uYXJpIDxnZW5uYXJvbmVAZ21haWwuY29tPgoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBtcGRwYXJzZXIuYy8uaDogY2hhbmdlZCBsaWNlbnNlIGZyb20gZHVhbCBNSVQvTEdQTCAyLjAgdG8gTEdQTCAyLjEKCSAgdW5pZm9ybWVkIGxpY2VuY2luc2luZyB0byB0aGUgb3RoZXIgbGlicmFyaWVzIGluIHRoZSBkYXNoZGVtdXggcHJvamVjdAoKMjAxMi0xMC0wMiAwMjoyODo1OCArMDIwMCAgaHpha2FyaSA8aGFtaWQuemFrYXJpQGdtYWlsLmNvbT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RtcGRwYXJzZXIuYzoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmg6CgkgIE9wdGltaXplIHRoZSB0d28gZnVuY3Rpb25zIHRoYXQgcmV0dXJuIHRoZSBudW1iZXIgYW5kIHRoZSBsaXN0IG9mIGxhbmd1YWdlcyBpbiBhIHNpbmdsZSBmdW5jdGlvbgoKMjAxMi0wOS0yOSAwNToyNzo1MSArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJICBBZGQgdGhlIGhlYWRlcnMgdG8gdGhlIGFkYXB0YXRpb25zZXRzIHNlZ21lbnRzIGlmIGFueSBvbmUgb2YgdGhlc2UgY2hhbmdlZCByZXByZXNlbnRhdGlvbgoKMjAxMi0wOS0yOSAwMzoxMzoyOSArMDIwMCAgSGFtaWQgWkFLQVJJIDx6YWthcmlAci1sbngtemFrYXJpLihub25lKT4KCgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJICBTdXBwb3J0IE11bHRpIGxhbmd1YWdlcyAobmVlZCBhIGRlY29kZWJpbjIgcGF0Y2gpCgoyMDEyLTA5LTI5IDAyOjQxOjEzICswMjAwICBIYW1pZCBaQUtBUkkgPHpha2FyaUByLWxueC16YWthcmkuKG5vbmUpPgoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4LmM6CgkgIFJlbW92ZSB0aGUgIlRPRE8iIGNvbW1lbnQKCjIwMTItMDktMjggMTI6NTU6MjcgKzAyMDAgIERhdmlkIENvcnZveXNpZXIgPGRhdmlkLmNvcnZveXNpZXJAb3JhbmdlLmNvbT4KCgkqIGV4dC9kYXNoL0NPUFlJTkc6CgkqIGV4dC9kYXNoL2dzdGRhc2hkZW11eC5jOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguaDoKCSAgUmVuYW1lZCBMSUNFTlNFIGludG8gQ09QWUlORwoKMjAxMi0wOS0yOCAxMTo0NjowMCArMDIwMCAgRGF2aWQgQ29ydm95c2llciA8ZGF2aWQuY29ydm95c2llckBvcmFuZ2UuY29tPgoKCSogZXh0L2Rhc2gvQVVUSE9SUzoKCSAgVXBkYXRlZCBhdXRob3JzCgoyMDEzLTA1LTA4IDExOjEzOjMyIC0wMzAwICBEYXZpZCBDb3J2b3lzaWVyIDxkYXZpZC5jb3J2b3lzaWVyQG9yYW5nZS5jb20+CgoJKiBleHQvZGFzaC9BVVRIT1JTOgoJKiBleHQvZGFzaC9MSUNFTlNFOgoJKiBleHQvZGFzaC9NYWtlZmlsZS5hbToKCSogZXh0L2Rhc2gvUkVBRE1FOgoJKiBleHQvZGFzaC9nc3RkYXNoZGVtdXguYzoKCSogZXh0L2Rhc2gvZ3N0ZGFzaGRlbXV4Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50LmM6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50Lmg6CgkqIGV4dC9kYXNoL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2Rhc2gvZ3N0bXBkcGFyc2VyLmM6CgkqIGV4dC9kYXNoL2dzdG1wZHBhcnNlci5oOgoJKiBleHQvZGFzaC9nc3RwbHVnaW4uYzoKCSogZXh0L2Rhc2gvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvZGFzaC9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIEluaXRpYWwgaW1wb3J0IG9mIGdzdGRhc2hkZW11eCBzb3VyY2VzCgoyMDEyLTEwLTI2IDE4OjAwOjAyICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFVzZSBEVkIgQVBJIHY1IGFrYSBTMkFQSSBpbnN0ZWFkIG9mIG9ic29sZXRlIHYzIEFQSQoJICBQYXRjaCBpcyBiYXNlZCBvbiB3b3JrIG9mIFRvbnkgSG91Z2h0b24gPGhAcmVhbGguY28udWs+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQ0NzkKCjIwMTMtMDUtMDggMTU6NDI6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIHNtb290aHN0cmVhbWluZzogcGFzcyB3aWR0aCwgaGVpZ2h0LCBjaGFubmVscyBhbmQgcmF0ZSBhcyBpbnRlZ2VyCgkgIGdfYXNjaWlfc3RydG91bGwoKSByZXR1cm5zIGEgbG9uZyBsb25nIGludGVnZXIsIGJ1dCB3ZSBuZWVkIHRvCgkgIHBhc3MgYSBub3JtYWwgaW50IHRvIGdzdF9zdHJ1Y3R1cmVfc2V0KCkgZm9yIGZpZWxkcyBvZiBHX1RZUEVfSU5ULAoJICBzbyBjYXN0IGFwcHJvcHJpYXRlbHkuCgoyMDEzLTA1LTA4IDEyOjQ1OjIwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuaDoKCSAgdmRwYXU6IEFkZCBWZHBWaWRlb1N1cmZhY2UgY2FwcyBmZWF0dXJlCgoyMDEzLTA1LTA4IDEwOjU1OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IGZpeCBXTVYgY2FwcwoJICBNYWtlcyB0aGlzIHNob3cgYXQgbGVhc3QgYSBwaWN0dXJlOgoJICBodHRwOi8vcGxheXJlYWR5LmRpcmVjdHRhcHMubmV0L3Ntb290aHN0cmVhbWluZy9UVExTUzcyMFZDMS9Ub19UaGVfTGltaXRfNzIwLmlzbS9NYW5pZmVzdAoKMjAxMy0wNC0yMyAxMjowODozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIGFib3V0IHByaW50IGZvcm1hdHMKCjIwMTMtMDQtMTYgMTk6MzU6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTIgMTU6NTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHJlbW92ZSBhbHJlYWR5IGZpeGVkIFRPRE8gY29tbWVudAoKMjAxMy0wNC0xMiAxNTo1ODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogcmVwbGFjZSBnc3RfdmFsdWVfZGVzZXJpYWxpemUgd2l0aCBzaW1wbGVyIGZ1bmN0aW9uCgkgIFRoZSBkZXNlcmlhbGl6YXRpb24gd2FzIG9ubHkgdXNlZCB0byBjb252ZXJ0IGhleCBzdHJpbmdzIGludG8KCSAgR3N0QnVmZmVycy4gUmVwbGFjZSBnc3RfdmFsdWVfZGVzZXJpYWxpemUgd2l0aCBhIHNpbXBsZXIsIGRpcmVjdAoJICBmdW5jdGlvbi4KCjIwMTMtMDQtMTIgMTU6NTY6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGZpeCBuZXdzZWdtZW50IGV2ZW50IGxlYWsKCjIwMTMtMDQtMTIgMTU6NTU6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlcGxhY2UgdW51c2VkIHBhcmFtZXRlcgoJICBUaGUgYnVmZmVyIHBhcmFtZXRlciB3YXNuJ3QgYmVpbmcgdXNlZCwgaXQgd2FzIG9ubHkgdG8gc2lnbmFsIGlmCgkgIGEgYnVmZmVyIHdhcyBkb3dubG9hZGVkIGFuZCBhZHZhbmNlIHRvIHRoZSBuZXh0IGZyYWdtZW50IGluIHRoZQoJICBtYW5pZmVzdC4KCSAgUmVwbGFjZSB0aGUgYnVmZmVyIHdpdGggYSBib29sZWFuIHRoYXQgaGFzIHRoZSBzYW1lIGVmZmVjdCBhbmQgaXMKCSAgc2FmZXIKCjIwMTMtMDMtMTEgMTA6MDk6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zczogYXZvaWQgR1ZhbHVlIGxlYWsKCjIwMTMtMDItMjIgMTc6MDA6MzAgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rkb3dubG9hZHJhdGUuYzoKCSAgbXNzZGVtdXg6IGZpeCBhIHNtYWxsIG1lbW9yeSBsZWFrCgoyMDEzLTAyLTE5IDEzOjE3OjUzIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYXZvaWQgc3RyZWFtaW5nIHRvIGZhaWwgd2hlbiBkb3dubG9hZCBpcyBjYW5jZWxsZWQKCSAgV2hlbiBkb3dubG9hZCB3YXMgZmFpbGluZyByZXBlYXRlZGx5LCBpdCB3YXMgY2F1c2luZyBzdHJlYW1pbmcgdG8gZmFpbCBldmVuIHRob3VnaCBpdCB3YXMgY2FuY2VsbGVkIG9uIHB1cnBvc2UgKHN0b3BwaW5nIHRhc2tzKS4KCjIwMTMtMDItMDggMDI6MDE6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHJlbW92aW5nIHVudXNlZCBmdW5jdGlvbnMKCjIwMTMtMDItMDggMDE6NTE6MzAgLTAyMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0ZG93bmxvYWRyYXRlLmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogc3dpdGNoIGJpdHJhdGVzIHdpdGhvdXQgc3dpdGNoaW5nIHBhZHMKCjIwMTMtMDItMDcgMTY6MjY6NDYgLTAyMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIChhbmRydW5rbykgPGFuZHJlLm1hZ2FsaGFlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBDaGVjayBpZiBwYWRzIGFyZSB2YWxpZCBiZWZvcmUgcmVtb3ZpbmcuCgoyMDEzLTAyLTA3IDAzOjEwOjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGFkZCBhIG1heGltdW0gZXJyb3IgY291bnQgZm9yIGRvd25sb2FkcwoJICBtc3NkZW11eCB3aWxsIHRvbGVyYXRlIGEgZmV3IGRvd25sb2FkIGVycm9ycyBiZWZvcmUgZW1pdHRpbmcgYW4KCSAgZXJyb3IgbWVzc2FnZSB0byB0aGUgYnVzCgoyMDEzLTAyLTA2IDA4OjQ4OjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogdXNlIHN0cmVhbXMgYml0cmF0ZSBpbmRpdmlkdWFsbHkKCSAgY29ubmVjdGlvbiBzZXR1cCB0aW1lcyBzZWVtIHRvIG1hdHRlciB3aGVuIG1lYXN1cmluZyB0aGUgZG93bmxvYWQKCSAgcmF0ZSBvZiBkaWZmZXJlbnQgc3RyZWFtcy4gU3RyZWFtcyB3aXRoIGxvbmdlciBmcmFnbWVudHMgaGF2ZSBhCgkgICpyZWxhdGl2ZWx5KiBsb3dlciBjb25uZWN0aW9uIHNldHVwIHRpbWUgYW5kIGFjaGlldmUgaGlnaGVyIGJpdHJhdGVzLgoJICBVc2luZyB0aGUgYXZlcmFnZSBzZWVtcyB1bmZhaXIgaGVyZSwgc28gdXNlIGVhY2ggc3RyZWFtJ3MgbWVhc3VyZWQgYml0cmF0ZQoJICB0byBzZWxlY3QgaXRzIGJlc3QgcXVhbGl0eSBvcHRpb24uCgoyMDEzLTAyLTA1IDE3OjQ4OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdGRvd25sb2FkcmF0ZS5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHVzZSBkb3dubG9hZGJpdHJhdGUgdXRpbGl0eSBmb3IgbWVhc3VyaW5nIGJpdHJhdGUKCSAgZG93bmxvYWRiaXRyYXRlIGtlZXBzIGEgc2hvcnQgaGlzdG9yeSBvZiBiaXRyYXRlcyBhbmQgaGVscHMKCSAgdHJhY2tpbmcgdGhlIGN1cnJlbnQgYXZlcmFnZSBkb3dubG9hZCBiaXRyYXRlIGZvciBtc3NkZW11eAoKMjAxMy0wMi0wNSAwNDowMTowNCAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IFByb3Blcmx5IGNvbXB1dGUgbmV3IGJpdHJhdGUgYW5kIHVzZSBiaXRyYXRlX2xpbWl0LgoKMjAxMy0wMi0wNSAwMzoyNzo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEF2b2lkIGEgcG9zc2libGUgZGl2aXNpb24gYnkgemVybwoKMjAxMy0wMi0wNSAwMzoyNzoyMiAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IEFkZCBtaXNzaW5nIG9iamVjdCBwYXJhbSB0byBHU1RfREVCVUd8SU5GT19PQkpFQ1QgY2FsbHMKCjIwMTMtMDItMDUgMDA6Mjg6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJICBtc3NkZW11eDogYWRkIGJpdHJhdGUtbGltaXQgcHJvcGVydHkKCSAgSXQgYWxsb3dzIHRoZSBwbHVnaW4gdG8gdXNlIGl0cyBvd24gZG93bmxvYWRpbmcgYml0cmF0ZSBtZWFzdXJlcwoJICBhcyBhIGZlZWRiYWNrIHRvIHNlbGVjdCB0aGUgYmVzdCBzdHJlYW1zIGJpdHJhdGUgZm9yIHRoZSBjdXJyZW50CgkgIG5ldHdvcmsgc2NlbmFyaW8KCjIwMTMtMDItMDQgMjE6NTg6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHVzZSB0aGUgc2hhcmVkIHVyaWRvd25sb2FkZXIgbGliIGluc3RlYWQgb2YgYW4gaW50ZXJuYWwgY29weQoKMjAxMy0wMi0wNCAwMjoyMDo1MSAtMDIwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IERvIG5vdCBibG9jayBvbiByZXNldC4KCSAgV2UgbmVlZCB0byBjYW5jZWwgdGhlIGRvd25sb2FkZXIgZm9yIGVhY2ggc3RyZWFtIGJlZm9yZSBqb2luaW5nIHRoZSBtYWluIGRvd25sb2FkIHRhc2ssIG90aGVyd2lzZQoJICB0aGUgZG93bmxvYWQgdGFzayB3aWxsIGJsb2NrIHVudGlsIGFsbCB0aGUgc3RyZWFtIHRhc2tzIGZpbmlzaC4KCjIwMTMtMDItMDEgMTc6NDQ6MDQgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaGFuZGxlIEZMVVNIIGV2ZW50cyBieSByZXNldHRpbmcgdGhlIGRlbXV4ZXIgc3RhdGUKCjIwMTMtMDItMDEgMTc6NDM6NDYgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogYWRkIGNvbmRpdGlvbnMgdG8gcHJldmVudCBzb21lIGNyYXNoZXMKCjIwMTMtMDItMDEgMTc6Mjk6NTggLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogdXNlIHN0YW5kYXJkIGdsaWIgbWV0aG9kcwoKMjAxMy0wMi0wMSAxNzoyNzoxOSAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGZpeCBzb21lIG1lbW9yeSBsZWFrcyBhbmQgdXNlIHJpZ2h0IGZyZWUgZnVuY3Rpb24KCjIwMTMtMDItMDEgMTc6MTI6NDEgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogZG9uJ3Qgc3RvcCBhIHRhc2sgZnJvbSBpbnNpZGUgdGhlIGxvb3AKCSAgT25seSBwYXVzZSB0aGUgdGFzawoKMjAxMy0wMS0zMSAxNjoxNDozNyAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBsb2cgbWFuaWZlc3QgY29udGVudCBmb3IgZGVidWdnaW5nCgoyMDEzLTAxLTMwIDAwOjIyOjUwIC0wNTAwICBMb3Vpcy1GcmFuY2lzIFJhdHTDqS1Cb3VsaWFubmUgPGxvdWlzLWZyYW5jaXMucmF0dGUtYm91bGlhbm5lQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IG1ha2UgY29kZWMgcHJpdmF0ZSBkYXRhIGZyb20gbWFuaWZlc3QgYXR0cmlidXRlcyB3aXRoIEFBQy1MQwoJICBXaGVuIHRoZSBjb2RlYyBpcyBBQUMtTEMsIHNvbWUgc2VydmVyIGltcGxlbWVudGF0aW9uIChlLmcuIE1pY3Jvc29mdCBJSVMpIGRvZXNuJ3QgYWRkIHRoZSBDb2RlY1ByaXZhdGVEYXRhIGF0dHJpYnV0ZS4gVGhlIGVsZW1lbnQgbmVlZHMgdG8gcmUtY3JlYXRlIHRoZSBjb2RlYyBkYXRhIGZyb20gdGhlIFF1YWxpdHkgTGV2ZWwgYXR0cmlidXRlcyAoY2hhbm5lbHMgYW5kIHNhbXBsaW5nIHJhdGUpLgoKMjAxMy0wMS0yOSAyMjo1NzozNiAtMDUwMCAgTG91aXMtRnJhbmNpcyBSYXR0w6ktQm91bGlhbm5lIDxsb3Vpcy1mcmFuY2lzLnJhdHRlLWJvdWxpYW5uZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBvbmx5IHRyeSB0byByZWxvYWQgdGhlIG1hbmlmZXN0IGZvciBsaXZlIHN0cmVhbXMKCSAgVGhlcmUgaXMgbm8gd2F5IHRvIGtub3cgaWYgYSBsaXZlIHN0cmVhbSBpcyByZWFsbHkgZmluaXNoZWQsIHNvIHRyeSB0byByZWxvYWQgdGhlIG1hbmlmZXN0IGFuZCBjaGVjayBpZiB0aGVyZSBhcmUgbW9yZSBmcmFnbWVudHMgdG8gZG93bmxvYWQuIEVsc2UganVzdCBsZXQga25vdyBpdCdzIHRoZSBFT1MuCgoyMDEzLTAxLTI1IDIxOjI0OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgc29tZSBkb2N1bWVudGF0aW9uCgkgIEFkZHMgYSBsaXR0bGUgYml0IG9mIGRvY3MgZXhwbGFuaW5nIHRoZSBpbnRlcm5hbHMgb2YgbXNzZGVtdXgKCjIwMTMtMDEtMjIgMTc6MzM6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBtYXgtcXVldWUtc2l6ZS1idWZmZXJzIHByb3BlcnR5CgkgIEluZGljYXRlcyBob3cgbXVjaCBidWZmZXJpbmcgc2hvdWxkIGJlIGRvbmUgaW50ZXJuYWxseSBpbgoJICBtc3NkZW11eAoKMjAxMy0wMS0yMSAxODowNTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc3RvcCB0YXNrcyBmYXN0ZXIKCSAgSXNzdWUgYSBjYW5jZWwgdG8gdGhlIGRvd25sb2FkZXJzIHNvIHRoZXkgc3RvcCBlYXJsaWVyCgoyMDEzLTAxLTE3IDE2OjIwOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBpbXBsZW1lbnQgbGl2ZSBzdHJlYW1zIGhhbmRsaW5nCgkgIExpdmUgc3RyZWFtcyBmb3JjZSB0aGUgZGVtdXhlciB0byBrZWVwIHJlbG9hZGluZyB0aGUgTWFuaWZlc3QgZnJvbQoJICB0aW1lIHRvIHRpbWUsIGFzIHRoZSBuZXcgZnJhZ21lbnRzIGFyZSBiZWluZyBhZGRlZCBhcyB0aGV5IGFyZSByZWNvcmRlZC4KCSAgVGhlIGRlbXV4ZXIgc2hvdWxkIGFsc28gdHJ5IHRvIGtlZXAgdXAgYW5kIGRldGVjdCB3aGVuIGl0IGhhZCB0byBza2lwCgkgIGZyYWdtZW50cywgbWFya2luZyB0aGUgZGlzY29udCBmbGFnIHdoZW4gdGhhdCBoYXBwZW5zLgoJICBDdXJpb3VzbHksIHRoZSBzcGVjIGRvZXNuJ3Qgc2VlbSB0byBtZW50aW9uIHdoZW4vaG93IGEgbGl2ZSBzdHJlYW0gaXMgc3VwcG9zZWQKCSAgdG8gZW5kLCBzbyBrZWVwIHRyeWluZyBkb3dubG9hZHMgdW50aWwgdGhlIGRlbXV4ZXIgZXJyb3JzIG91dC4KCjIwMTMtMDEtMTcgMTY6MTk6NTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCBsZWFrIGZyYWdtZW50cwoKMjAxMy0wMS0xNyAxMzo0ODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NkZW11eDogZml4IGlzc3VlIG9uIGZyYWdtZW50IHRpbWVzdGFtcGluZyBwYXJzaW5nCgkgIFVzZSBndWludDY0IGFzIHRoZSBmcmFnbWVudHMgY2FuIHN0YXJ0IGF0IHZlcnkgaGlnaCBudW1iZXJzLAoJICBzcGVjaWFsbHkgb24gbGl2ZSBzdHJlYW1zCgoyMDEzLTAxLTE2IDE1OjI4OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBlcnJvciBvdXQgd2hlbiB1cHN0cmVhbSBkb2Vzbid0IGltcGxlbWVudCBVUkkgcXVlcnkKCSAgRXJyb3Igb3V0IHdoZW4gdXBzdHJlYW0gZG9lc24ndCBhbnN3ZXIgdG8gVVJJIHF1ZXJ5IGFuZCBtc3NkZW11eAoJICBkb2Vzbid0IGtub3cgdGhlIFVSSSB0byBmZXRjaCB0aGUgZnJhZ21lbnRzIGZyb20KCjIwMTMtMDEtMTUgMTc6MzE6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHB1c2ggbmV3c2VnbWVudHMgd2l0aCBzYW1lIHN0YXJ0IHRpbWUgb24gYml0cmF0ZSBzd2l0Y2hlcwoJICBUaGlzIGtlZXBzIHNpbmtzIHdvcmtpbmcgaW4gc3luYyBhZnRlciBhIGJpdHJhdGUgc3dpdGNoCgoyMDEzLTAxLTE0IDEzOjIxOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IHJld3JpdGluZyBwYWQgdGFza3Mgc28gdGhhdCBidWZmZXJzIGFyZSBwdXNoZWQgYnkgdHMgb3JkZXIKCSAgVXNlIHBhZCB0YXNrcyB0byBkb3dubG9hZCBkYXRhIGFuZCBhbiBleHRyYSB0YXNrIHRoYXQgZ2V0cyB0aGUgZWFybGllcgoJICBidWZmZXIgKHdpdGggdGhlIHNtYWxsZXN0IHRpbWVzdGFtcCkgYW5kIHB1c2hlcyBvbiB0aGUgY29ycmVzcG9uZGluZwoJICBwYWQuCgkgIFRoaXMgcHJldmVudHMgdGhhdCB0aGUgYXVkaW8gc3RyZWFtIHJ1c2hlcyBhaGVhZCBvbiBidWZmZXJzIGFzIGl0cwoJICBmcmFnbWVudHMgc2hvdWxkIGJlIHNtYWxsZXIKCjIwMTMtMDEtMTEgMTU6MDE6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IHNvbWUgZml4ZXMgdG8gYml0cmF0ZSBzd2l0Y2hpbmcKCSAgUmVtb3ZlcyBhIHBvc3NpYmxlIGRlYWRsb2NrIGZyb20gYml0cmF0ZSBzd2l0Y2hpbmcgd2hlbiB0aGUgcGFkCgkgIHRoYXQgcmVxdWVzdGVkIHRoZSBzd2l0Y2ggYmxvY2tzIG9uIGl0cyBwYWQtcHVzaAoKMjAxMy0wMS0xMCAxNjoyNjo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogcmVmYWN0b3JpbmcgZnJhZ21lbnQgZG93bmxvYWQgdG8gaXRzIG93biBmdW5jdGlvbgoJICBNYWtlcyBjb2RlIGNsZWFyZXIgYW5kIGhlbHBzIGNoYW5naW5nIHRoZSBkb3dubG9hZCBwYXJ0IG9mIHRoZQoJICBjb2RlIHRvIGl0cyBvd24gdGhyZWFkCgoyMDEzLTAxLTEwIDE1OjE2OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSAgbXNzZGVtdXg6IGltcGxlbWVudCBiaXRyYXRlIHN3aXRjaGluZwoJICBXaGVuIGNvbm5lY3Rpb24tc3BlZWQgY2hhbmdlcywgc2lnbmFsIHRoYXQgd2UgbWlnaHQgbmVlZCBhIGJpdHJhdGUKCSAgc3dpdGNoLiBEdXJpbmcgdGhlIHN3aXRjaCwgYSBuZXcgcGFkIGdyb3VwIGlzIGFkZGVkIGFuZCB0aGUgb2xkIG9uZQoJICBpcyBkcmFpbmVkIGFuZCByZW1vdmVkLgoJICBOZXcgcGFkcyBhbHNvIG5lZWQgdG8gcHVzaCBuZXdzZWdtZW50cyBiZWZvcmUgc3RhcnRpbmcgdG8gc3RyZWFtCgoyMDEzLTAxLTA4IDE4OjAxOjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eQoJICBUaGlzIHNwZWVkIGxpbWl0cyB0aGUgbWF4aW11bSBiaXRyYXRlIG9mIHN0cmVhbXMuIEN1cnJlbnRseSBpdAoJICBpcyBvbmx5IHJlYWQgd2hlbiBzdGFydGluZyB0aGUgcGlwZWxpbmUsIGJ1dCBpdCBzaG91bGQgYmUgdXNlZAoJICBmb3Igc3dpdGNoaW5nIGJpdHJhdGVzIGR1cmluZyBwbGF5YmFjayB0byBhZGFwdCB0byBuZXR3b3JrCgkgIGNoYW5nZXMuCgoyMDEzLTAxLTA4IDE3OjU1OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIGFuICdhY3RpdmUnIGZsYWcgdG8gbWFuaWZlc3Qgc3RyZWFtCgkgIG1zc2RlbXV4IHNob3VsZCBzZXQgdGhlIHN0cmVhbXMgaXQgaGFzIGV4cG9zZWQgYXMgYWN0aXZlIHNvIHRoYXQKCSAgdGhlIG1hbmlmZXN0IHdvbid0IHVzZSB0aGUgbm9uLWFjdGl2ZSBzdHJlYW1zIHRvIGNvbXB1dGUgdG90YWwgYml0cmF0ZXMKCSAgb3IgcHJvdmlkaW5nIGZyYWdtZW50cwoKMjAxMy0wMS0wOCAxNzo1NDo1NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogc2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGZpbmlzaGVkIGV4cG9zaW5nIHBhZHMKCSAgVGhpcyBtYWtlcyBkZWNvZGViaW4vcGxheWJpbiBtZWNoYW5pc20ga25vdyBpdCBjYW4gc3RhcnQgcGxheWluZwoJICB3aGVuIGJ1ZmZlcmluZyBpcyBmaW5pc2hlZAoKMjAxMy0wMS0wOCAxMTowODozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJICBtc3NtYW5pZmVzdDogS2VlcCB0aGUgc3RyZWFtIHF1YWxpdGllcyBsaXN0IHNvcnRlZCBieSBiaXRyYXRlCgkgIFRoaXMgd2lsbCBoZWxwIG1ha2luZyBhZGFwdGl2ZSBzdHJlYW1pbmcgY2hvc2UgdGhlIGJlc3QgcmF0ZQoJICBmb3IgYSBwYXJ0aWN1bGFyIGNvbm5lY3Rpb24gc3BlZWQKCjIwMTMtMDEtMDggMTA6MTY6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IGFsc28gY29uc2lkZXIgZm91cmNjIEFWQzEgYXMgSDI2NAoJICBIMjY0IGNhbiBiZSByZXByZXNlbnRlZCBieSBib3RoIGZvdXJjY3MgSDI2NCBhbmQgQVZDMSwgdXNlIGJvdGguCgoyMDEzLTAxLTA0IDE3OjAxOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBhZGQgc3VwcG9ydCBmb3IgVkMtMSBhbmQgV21hUHJvIGZvcm1hdHMgcGFyc2luZwoJICBWQy0xIHNob3VsZCBtYXAgdG8gV01WMyBhbmQgV21hUHJvIHRvIFdNQTIKCjIwMTMtMDEtMDQgMTc6MDA6MzQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGRvIG5vdCB0cnkgdG8gZXhwb3NlIHVua25vd24gc3RyZWFtcwoJICBXaGVuIHRoZSBzdHJlYW0gY2FuJ3QgaGF2ZSBpdHMgY2FwcyBkZXRlY3RlZCwgYmV0dGVyIG5vdCB0byBleHBvc2UgaXQuCgkgIElmIG5vIHN0cmVhbXMgYXJlIGtub3duLCBzaWduYWwgYW4gZXJyb3IgYWJvdXQgbm8gcGxheWFibGUgc3RyZWFtcyB0bwoJICB0aGUgYXBwbGljYXRpb24KCjIwMTMtMDEtMDQgMTU6NDk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzbWFuaWZlc3Q6IGRvIG5vdCBzZXQgY29kZWNfZGF0YSB3aGVuIGl0IGlzIGVtcHR5CgkgIFNvbWUgbWFuaWZlc3RzIGNvbnRhaW4gZW1wdHkgY29kZWMgZGF0YXMsIGJldHRlciBub3Qgc2V0IHRoZW0KCjIwMTMtMDEtMDQgMTU6NDk6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBzZXQgdGltZXN0YW1wIGFuZCBkdXJhdGlvbiB0byBmcmFnbWVudCBidWZmZXJzCgkgIFdlIGNhbiBnZXQgdGhvc2UgZnJvbSB0aGUgbWFuaWZlc3QgYW5kIGhlbHBzIGRvd25zdHJlYW0gdG8ga25vdwoJICB0aGUgZnJhZ21lbnQgc3RhcnQgdGltZSBhZnRlciBhIHNlZWtpbmcgb3BlcmF0aW9uCgoyMDEyLTEyLTI4IDAwOjQ5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc21hbmlmZXN0OiBmaXggdHlwbwoJICBGaXggdHlwbyB0aGF0IHdhcyBtYWtpbmcgdGhlIGFkdmFuY2UgZnJhZ21lbnQgZnVuY3Rpb24gcmV0dXJuIGEgd3JvbmcKCSAgZmxvdyByZXR1cm4gaW4gY2FzZSBpdCB3YXMgYWxyZWFkeSBFT1MKCjIwMTItMTItMjggMDA6NDg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGluaXRpYWwgaW1wbGVtZW50YXRpb24gb2Ygc2VlayBldmVudCBoYW5kbGluZwoJICBBZGRzIGJhc2ljIGhhbmRsaW5nIGZvciBzZWVrIGluIHRpbWUgZXZlbnRzLiBOZWVkcyB0byBjb29wZXJhdGUKCSAgd2l0aCB0aGUgZG93bnN0cmVhbSBxdGRlbXV4IHNvIHRoYXQgaXQgZm9yd2FyZHMgdGhlIHNlZWtzIGFuZAoJICB0aGUgY29ycmVzcG9uZGluZyBuZXdzZWdtZW50cwoKMjAxMi0xMi0yNiAxNjoxOToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IGhhbmRsZSBzcmMgcGFkIHF1ZXJpZXMgZmlyIGR1cmF0aW9uIGFuZCBsYXRlbmN5CgkgIEFkZCBhIHNyYyBwYWQgcXVlcnkgaGFuZGxlciB0byBnZXQgdGhlIGR1cmF0aW9uIGZyb20gdGhlIG1hbmlmZXN0CgkgIGFuZCByZXBvcnQgaXQgdXBzdHJlYW0uCgkgIEFsc28gYWRkcyBhIHNpbXBsZSBoYW5kbGVyIGZvciBsYXRlbmN5IHF1ZXJpZXMKCjIwMTItMTItMjEgMTY6NDI6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSAgbXNzZGVtdXg6IGFkZCBzb21lIG1vcmUgZXJyb3IgaGFuZGxpbmcKCSAgUG9zdCBlcnJvciBpbiBzb21lIG1vcmUgc2NlbmFyaW9zOgoJICAqIHdoZW4gdGhlIG1hbmlmZXN0IGhhcyBubyBzdHJlYW1zCgkgICogd2hlbiBnZXR0aW5nIHRoZSBmcmFnbWVudCB1cmwgZmFpbHMKCjIwMTItMTItMjEgMTU6Mzc6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGVuc3VyZSB0aGUgZGVidWcgY2F0ZWdvcnkgaXMgcHJvcGVybHkgaW5pdGlhbGl6ZWQKCSAgVGhlIHVzZXIgb2YgdGhlIGxpYnJhcnkgbWlnaHQgbm90IG5lZWQgdG8gY3JlYXRlIGEgTmFsUGFyc2VyLCBzbwoJICB0aGUgZGVidWcgY2F0ZWdvcnkgbmVlZHMgdG8gYmUgaW5pdGlhbGl6ZWQgZnJvbSBvdGhlciBmdW5jdGlvbnMKCSAgYXMgd2VsbCBpZiByZXF1aXJlZC4KCjIwMTItMTItMjAgMTU6MzA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkgIG1zc2RlbXV4OiBhZGQgdGltZXNjYWxlIHRvIHRoZSBjYXBzCgkgIFRoaXMgaXMgaW1wb3J0YW50IGZvciBkb3duc3RyZWFtIHRvIHByb3Blcmx5IHRpbWVzdGFtcCB0aGUgc2FtcGxlcwoJICBUaGUgZGVmYXVsdCB2YWx1ZSBpcyAxMDAwMDAwMCwgYnV0IHRoaXMgY2FuIGJlIHNldCBpbiB0aGUgc3RyZWFtCgkgIG9yIGF0IHRoZSB0b3AtbGV2ZWwgbWFuaWZlc3QgZW50cnkKCjIwMTItMTItMjAgMTQ6Mjc6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvTWFrZWZpbGUuYW06CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IHBhcnNlIHRoZSBmcHMgZnJvbSBoMjY0IGNvZGVjIGRhdGEgaWYgcG9zc2libGUKCSAgVXNlIGgyNjQgY29kZWMgcGFyc2luZyBsaWIgdG8gZXh0cmFjdCB0aGUgZnBzIGZyb20gdGhlIG1hbmlmZXN0J3MKCSAgY29kZWMgZGF0YSBhcyBpdCBkb2Vzbid0IHNlZW0gdG8gcHJvdmlkZSBpdCBhbnl3aGVyZSBlbHNlCgoyMDEyLTEyLTIwIDAxOjA5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkgIG1zc2RlbXV4OiBjb3JyZWN0bHkgYWRkIGgyNjQgY29kZWMgZGF0YSB0byBjYXBzCgkgIE5lZWQgdG8gY29uc3RydWN0IGFuIGF2Y2MgYXRvbSBmcm9tIHRoZSBjb2RlY2RhdGEgcmVhZCBmcm9tIE1TUwoJICBtYW5pZmVzdHMgdG8gbWFrZSBoMjY0IGRlY29kZXJzL3BhcnNlcnMgYWNjZXB0IGl0CgoyMDEyLTEyLTIwIDAxOjA3OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBhZGQgdGhlIGNvcnJlY3QgY2FwcyB0byB0aGUgb3V0Z29pbmcgc3RyZWFtCgkgIG1zc2RlbXV4IG91dHB1dHMgYSBxdWlja3RpbWUgdmFyaWFudCwgbmFtZWQgbXNzLWZyYWdtZW50CgoyMDEyLTExLTI1IDAxOjU3OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkgIG1zc2RlbXV4OiBzZXQgY2FwcyB0byBidWZmZXJzIGJlZm9yZSBwdXNoaW5nCgkgIEFsc28gdXBkYXRlIHRvIHRoZSBsYXRlc3QgZ3N0ZnJhZ21lbnQgQVBJIHRoYXQgcHJvdmlkZXMKCSAgdGhlIGZyYWdtZW50IGFzIGEgd2hvbGUgYnVmZmVyLgoKMjAxMi0xMS0yMiAxMzowMTowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogaW1wcm92ZSBzdGF0ZSBjaGFuZ2luZwoJICBLZWVwIGEgcmVmIG9uIHBhZCB0byBwcmV2ZW50IGl0IGJlaW5nIHVucmVmZmVkIHdoaWxlIHRoZSBtc3NkZW11eAoJICBzdHJlYW1zIGFyZSBzdGlsbCB1c2luZyBpdC4gQWxzbyByZXNldCB0aGUgZWxlbWVudCB3aGVuIGdvaW5nIHRvCgkgIHJlYWR5IGluc3RlYWQgb2Ygd2hlbiBnb2luZyB0byBudWxsLgoKMjAxMi0xMS0yMiAxMjoyODo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJICBtc3NkZW11eDogYWRkcyBtaW5pbnVtIGVycm9yIGhhbmRsaW5nCgkgIFRoaXMgc2hvdWxkIGNhcmUgZm9yIGJhc2ljIHNjZW5hcmlvcyBvZiBlcnJvcnMgYW5kIEVPUyB0byBhbGxvdwoJICB0aGUgcGlwZWxpbmUgdG8gc3RvcCBjb3JyZWN0bHkKCjIwMTItMTEtMjIgMTI6Mjg6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSAgbXNzZGVtdXg6IG1zc21hbmlmZXN0OiBwcmV2ZW50IGFjY2Vzc2luZyBudWxsIHN0cmVhbSBmcmFnbWVudAoJICBNb3ZlIHRoZSBhY2Nlc3MgdG8gdGhlIHN0cmVhbSBmcmFnbWVudCBkYXRhIGFmdGVyIHRoZSBjaGVjawoJICBpZiB0aGUgZnJhZ21lbnQgZXhpc3RzIHRvIHByZXZlbnQgYSBzZWdmYXVsdAoKMjAxMi0xMS0xOSAxNzo1MzoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBzbW9vdGhzdHJlYW1pbmc6IHJlZmFjdG9yIHN0cnVjdHVyZSBuYW1lcyBhbmQgaW1wbGVtZW50IHVybCBmZXRjaGluZwoJICBVc2Ugc2hvcnRlciBuYW1lcyBmb3IgdGhlIE1TUyBtYW5pZmVzdCBoZWxwZXIgc3RydWN0dXJlIGFuZCBmdW5jdGlvbnMuCgkgIEFsc28gY29udGludWVzIHRoZSBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgc3RyZWFtIGZldGNoaW5nIGFuZCBwdXNoaW5nIGxvb3AuCgkgIE5vdyBpdCB1c2VzIHRoZSBiYXNlIHVybCBjb3JyZWN0bHkgYW5kIGFscmVhZHkgZmV0Y2hlcyBhbmQgcHVzaGVzIHRoZSBmcmFnbWVudHMKCSAgZG93bnN0cmVhbQoKMjAxMi0xMS0xNiAxNzozMDoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4Lmg6CgkgIG1zc2RlbXV4OiBpbml0aWFsIGltcGxlbWVudGF0aW9uIG9mIHRoZSBwYWQgbG9vcAoJICBUaGUgbG9vcCB3aWxsIGZldGNoIGEgbmV3IGZyYWdtZW50IGFuZCBwdXNoIG9uIGl0cyBzcmNwYWQuIEVhY2gKCSAgc3RyZWFtIGhhcyBpdHMgb3duIGxvb3AKCjIwMTItMTEtMTYgMTc6Mjk6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogbW9yZSBtYW5pZmVzdCBwYXJzaW5nIGFuZCBoZWxwZXIgZnVuY3Rpb25zCgkgIE5vdyB0aGUgbXNzIG1hbmlmZXN0IGlzIGFibGUgdG8gZ2VuZXJhdGUgdGhlIGZpbGVzIHVybHMKCjIwMTItMTEtMTQgMTc6MTk6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NkZW11eC5oOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuaDoKCSAgbXNzZGVtdXg6IHBhZCBleHBvc2luZyBpbml0aWFsIGltcGxlbWVudGF0aW9uCgkgIERvZXMgc29tZSBiYXNpYyBwYXJzaW5nIG9mIHRoZSBzdHJlYW0gY2FwcyBhbmQgYWRkcyBhIHBhZCBmb3IKCSAgZWFjaCBzdHJlYW0gZGV0ZWN0ZWQgaW4gdGhlIG1hbmlmZXN0CgoyMDEyLTExLTA5IDE2OjQ3OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzbWFuaWZlc3QuYzoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5oOgoJICBtc3NkZW11eDogYWRkIG1hbmlmZXN0IHBhcnNpbmcKCSAgQ29udGludWVkIGltcGxlbWVudGluZzoKCSAgMSkgcGFyc2UgdGhlIG1hbmlmZXN0IHdpdGggbGlieG1sMgoJICAyKSBkZXRlY3Qgc3RyZWFtIHR5cGVzCgoyMDEyLTExLTA4IDE2OjA2OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL01ha2VmaWxlLmFtOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc2RlbXV4LmM6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0bXNzZGVtdXguaDoKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3Rtc3NtYW5pZmVzdC5jOgoJKiBleHQvc21vb3Roc3RyZWFtaW5nL2dzdG1zc21hbmlmZXN0Lmg6CgkqIGV4dC9zbW9vdGhzdHJlYW1pbmcvZ3N0c21vb3Roc3RyZWFtaW5nLXBsdWdpbi5jOgoJICBzbW9vdGhzdHJlYW1pbmc6IHN0dWJzIGZvciBtc3NkZW11eAoJICBKdXN0IHRoZSBzdHVicyBmb3IgbXNzZGVtdXggZWxlbWVudC4KCSAgQWxzbyBhZGQgc29tZSB1c2VmdWwgY29kZSBmcm9tIGhsc2RlbXV4IHRoYXQgd2UgaW50ZW5kIHRvIHJldXNlCgoyMDEyLTExLTA4IDE1OjQyOjM5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHN0cmVhbWluZy9nc3RzbW9vdGhzdHJlYW1pbmctcGx1Z2luLmM6CgkgIHNtb290aHN0cmVhbWluZzogYnVpbGQgZGlyZWN0b3J5IHN0dWJzIGZvciBuZXcgcGx1Z2luCgkgIEluaXRpYWwgYnVpbGQgc3RydWN0dXJlIGZvciBNUycgU21vb3RoIFN0cmVhbWluZyBwbHVnaW4KCSAgQ29uZmxpY3RzOgoJICBleHQvTWFrZWZpbGUuYW0KCjIwMTMtMDItMTkgMTM6MDE6MzcgLTA1MDAgIExvdWlzLUZyYW5jaXMgUmF0dMOpLUJvdWxpYW5uZSA8bG91aXMtZnJhbmNpcy5yYXR0ZS1ib3VsaWFubmVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJICB1cmlkb3dubG9hZGVyOiB1bmxvY2sgbXV0ZXggd2hlbiBzd2l0Y2hpbmcgdXJpc3JjIHN0YXRlIHRvIE5VTEwgdG8gYXZvaWQgZGVhZGxvY2sKCSAgV2hlbiBjaGFpbiBtZXRob2Qgd2FzIGNhbGxlZCBhZnRlciBnc3RfdXJpX2Rvd25sb2FkZXJfc3RvcCBhbmQgYmVmb3JlIHN0YXRlIGhhcyBiZWVuIGNoYW5nZWQgdG8gTlVMTCwgZXhlY3V0aW9uIHdhcyBibG9ja2luZyBvbiBnX211dGV4X2xvY2suCgkgIENvbmZsaWN0czoKCSAgZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jCgoyMDEzLTAyLTA3IDAwOjI4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIHVyaWRvd25sb2FkZXI6IHByb3Blcmx5IHVucmVmIHRoZSB1cmlzcmMgYmV0d2VlbiBkb3dubG9hZHMKCSAgVGhpcyBwcmV2ZW50cyBsZWFraW5nIHRoZSBlbGVtZW50LiBBbHNvIHNldHMgdGhlIGJ1cyB0byBmbHVzaGluZwoJICB0byBjb21wbGV0ZWx5IHJlc2V0IHRoZSBkb3dubG9hZGVyIHN0YXRlCgoyMDEzLTA0LTE2IDE3OjIzOjAyIC0wMzAwICBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyAoYW5kcnVua28pIDxhbmRyZS5tYWdhbGhhZXNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmg6CgkgIHVyaWRvd25sb2FkZXI6IG1ha2UgY2FuY2VsbGVkIHN0YXRlICdwZXJtYW5lbnQnIHVudGlsIGEgcmVzZXQKCSAgV2hlbiBkb3dubG9hZGluZyBhbmQgY2FuY2VsbGluZyBxdWlja2x5IHRoZSB1cmlkb3dubG9hZGVyIG9iamVjdCBhbmQgdGhlCgkgIGVsZW1lbnQgdXNpbmcgaXQgY291bGQgbWlzcyB0aGUgY2FuY2VsbGVkIHdpbmRvdyBhbmQgdGhlIHVyaWRvd25sb2FkZXIKCSAgd291bGQgZmV0Y2ggdGhlIHdyb25nIFVSSSBhbmQgYmxvY2sgb24gc3Vic2VxdWVudCBmZXRjaGVzLgoJICBUaGlzIHdhcyBhbHNvIHByb2JsZW1hdGljIHdoZW4gc3RvcHBpbmcgZWxlbWVudHMsIHdoaWxlIG9uZSB0YXNrIHdvdWxkCgkgIGNhbGwgdGhlIGNhbmNlbCwgYW5vdGhlciBlbGVtZW50IHRocmVhZCBjb3VsZCBpc3N1ZSBhIG5ldyBmZXRjaF91cmkuIEFzCgkgIHRoZSBjYW5jZWwgc3RhdGUgaXNuJ3QgJ3Blcm1hbmVudCcgdGhpcyBmZXRjaF91cmkgd291bGQgYmxvY2sgYW5kCgkgIHByZXZlbnQgdGhlIHdob2xlIGVsZW1lbnQgZnJvbSBzdG9wcGluZyBhbmQgZ29pbmcgdG8gTlVMTC4KCSAgVGhpcyBwYXRjaCBtYWtlcyB0aGUgJ2NhbmNlbGxlZCcgc3RhdGUgcGVybWFuZW50IHVudGlsIGEKCSAgZ3N0X3VyaV9kb3dubG9hZGVyX3Jlc2V0IGlzIGNhbGxlZC4gVGhpcyB3YXkgdGhlIGVsZW1lbnQga25vd3MgdGhlCgkgIHdpbmRvdyB3aGVyZSB0aGUgdXJpZG93bmxvYWRlciBpc24ndCBhY3RpdmUgYW5kIG9ubHkgcmVhY3RpdmF0ZSBpdCB3aGVuCgkgIHJlYWR5LgoKMjAxMy0wNC0xNiAxOTo0NzowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5jOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3RmcmFnbWVudC5oOgoJKiBnc3QtbGlicy9nc3QvdXJpZG93bmxvYWRlci9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC1saWJzL2dzdC91cmlkb3dubG9hZGVyL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3VyaWRvd25sb2FkZXIvZ3N0dXJpZG93bmxvYWRlcl9kZWJ1Zy5oOgoJICB1cmlkb3dubG9hZGVyOiByZWZhY3RvciBnc3R1cmlkb3dubG9hZGVyIHRvIGl0cyBvd24gbGliCgkgIGdzdHVyaWRvd25sb2FkZXIgY2FuIGJlIHJldXNlZCBieSBvdGhlciBwbHVnaW5zLCBiZXR0ZXIgaGF2ZSBpdAoJICBpbnRvIGl0cyBvd24gbGliCgoyMDEzLTA1LTA3IDA4OjI2OjAzIC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCBtZW1vcnkgbGVhayB3aGVuIHVzaW5nIHByZXBhcmVfZnVuYwoJICBwcmVwYXJlX2Z1bmMgd2lsbCBhbGxvY2F0ZSBhIG5ldyBidWZmZXIgdG8gcmVwbGFjZSB0aGUgb3JpZ2luYWwKCSAgb25lLiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9idWZmZXJfcmVwbGFjZSAod2hpY2ggY2F1c2VzIGFuIGV4dHJhCgkgIHJlZmNvdW50IGluY3JlbWVudCBvbiB0aGUgbmV3IGJ1ZmZlciksIHdlIGp1c3QgdW5yZWYgdGhlIG9yaWdpbmFsCgkgIGJ1ZmZlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTc4NgoKMjAxMy0wNS0wNyAxNDoyMjoxMCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIG1wZWd2aWRlb21ldGE6IEZpeCB0eXBvIGluIGNvbW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5OTgyNwoKMjAxMy0wNS0wMyAyMTo0NjowOCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJICBsYWRzcGE6IHN5bmMgY29udHJvbGxlZCBwYXJhbWVzIGluIGZpbHRlcnMgYW5kIHNpbmtzCgoyMDEzLTA1LTAzIDE2OjU1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogQWRkICQoR01PRFVMRV9OT19FWFBPUlRfTElCUykgZm9yIGdtb2R1bGUKCjIwMTMtMDUtMDEgMTc6MTk6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBkb24ndCBjb21wYXJlIGJ1ZmZlciBzaXplIHdoZW4gY2hlY2tpbmcgd2hldGhlciB0byB1cGRhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk5Mzk4CgoyMDEzLTA1LTAzIDExOjM0OjM0ICswMjAwICBKdWFuIE1hbnVlbCBCb3JnZXMgQ2HDsW8gPGp1YW5tYWJjbWFpbEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmM6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhZmlsdGVyLmg6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3Bhc2luay5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXNpbmsuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGFzb3VyY2UuaDoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGF1dGlscy5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYXV0aWxzLmg6CgkgIGxhZHNwYTogaW1wcm92ZWQgcG9ydCB0byBnc3RyZWFtZXIgMS4wCgkgIEZpeGVzOiAjNjk4OTI3CgoyMDEzLTA1LTAxIDE3OjM2OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGRvbid0IGFubm91bmNlIGluY29tcGxldGUgc291cmNlIGNhcHMKCSAgRG9uJ3Qgc2VuZCBhbnkgc291cmNlIGNhcHMgeWV0IGlmIHdlJ3JlIHN0aWxsIGluCgkgIGRyb3AtYnVmZmVycy11bnRpbC13ZS1nZXQtYS1zZXF1ZW5jZS1oZWFkZXIgbW9kZS4KCSAgRml4ZXMgdHJhbnNtdXhpbmcgb2YgbWFueSBNUEVHLVRTL1BTIHN0cmVhbXMgaW50bwoJICBmb3JtYXRzIHdoaWNoIHJlcXVpcmUgdGhpbmdzIGxpa2Ugd2lkdGgsIGhlaWdodCBvcgoJICBjb2RlY19kYXRhIG9uIHRoZSBpbnB1dCBjYXBzLgoJICBBbHNvIGZpeGVzIGlzc3VlcyB3aGVuIHVzaW5nIHBsYXliaW4gd2l0aCBkZWNvZGVyCgkgIHNpbmtzIHRoYXQgd2FudCB3aWR0aC9oZWlnaHQgZXRjLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODc5CgoyMDEzLTA0LTI3IDEyOjI4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJICBrYXRlOiBmaXggYnVmZmVyIGxlYWsgaW4ga2F0ZXRhZwoJICBNYWtlcyB1bml0IHRlc3QgdmFsZ3JpbmQgY2xlYW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMjcgMTI6MDY6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBmaXggc29tZSBsZWFrcyBpbiBrYXRlIHVuaXQgdGVzdAoKMjAxMy0wNC0yNyAxMjowNjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkgIGthdGU6IG1pbm9yIGNsZWFudXAKCjIwMTMtMDQtMjYgMTU6MzM6MTggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IERvY3VtZW50IHRoYXQgdGhlIGxhdGVuY3kgaXMgaW4gbWlsbGlzZWNvbmRzCgkgIEJ1ZyAjNjk4ODk2CgoyMDEzLTA0LTI2IDE1OjM5OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGNvbnZlcnQgcGFja2V0IFBUUy9EVFMgYXMgc29vbiBhcyBwb3NzaWJsZQoJICBXZSBsZXQgdGhlIG1wZWd0c3BhY2tldGl6ZXIgZGVhbCB3aXRoIHBjciB3cmFwYXJvdW5kL3Jlc2V0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxMy0wNC0yNiAxMjoxODoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ3RzZGVtdXg6IGhlYWRlciBjbGVhbnVwcy91cGRhdGVzCgoyMDEzLTA0LTI2IDE0OjMyOjE0ICswMjAwICBSaWNvIFR6c2NoaWNoaG9seiA8cmljb3R6QHQtb25saW5lLmRlPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBEcm9wIG9ic29sZXRlIHJlZmVyZW5jZXMgdG8gdmlkZW9zaWduYWwgaGVhZGVycwoJICBJbiBhZGRpdGlvbiB0byA4NTUyMzk2YzM2MmMyMGFkYjZhYTkxMjlhNDUzZmY4MWVjZGNmNjU2CgoyMDEzLTA0LTI2IDEwOjM4OjM2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFVwZGF0ZSBzcmMgcGFkIGNhcHMgd2hlbiBpdCB3YXMgZXhwbGljaXRseSBzaWduYWxlZAoJICBGaXhlcyBzcmMgcGFkIGNhcHMgYXJlbid0IHVwZGF0ZWQgd2hlbiBjb252ZXJ0aW5nIGZyb20gQVZDIHRvIGJ5dGVzdHJlYW0KCSAgYW5kIG5ldyBjYXBzIGhhZCBiZWVuIHJlY2VpdmVkIGluIHRoZSBzaW5rIHBhZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5ODY3OQoKMjAxMy0wNC0yMyAxNToxOToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IGNhcHMgc3RyaW5nIGxlYWsKCjIwMTMtMDQtMjQgMDk6NDA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IFVzZSBnc3RfZWdsX2Rpc3BsYXlfZ2V0KCkgaW5zdGVhZCBvZiBwYXNzaW5nIGEgR3N0RUdMRGlzcGxheSB0byBFR0wgZnVuY3Rpb25zCgoyMDEzLTAzLTI4IDE2OjUyOjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIHdhc2FwaXNyYzogUG9ydCB0byBHc3RBdWRpb1NyYwoKMjAxMy0wMy0yNyAxMDoxMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBQb3J0IHdhc2FwaXNpbmsgdG8gR3N0QXVkaW9TaW5rCgoyMDEzLTA0LTIzIDAxOjE3OjU2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB0ZXN0czogZml4IHJlbWFpbmluZyBrYXRlIHRlc3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTUgMTc6MDY6NTcgLTA2MDAgIEJyZW5kYW4gTG9uZyA8Yi5sb25nQGNhYmxlbGFicy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIHRlc3RzOiBwb3J0IEthdGUgdGVzdHMgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMjIgMjM6NTI6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBNQUlOVEFJTkVSUzoKCSogUkVBRE1FOgoJKiBSRUFETUUuc3RhdGljLWxpbmtpbmc6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gM2NiM2QzYyB0byA1ZWRjZDg1CgoyMDEzLTA0LTIxIDE4OjI4OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSAgZHZiYmFzZWJpbjogYmV0dGVyIGVycm9yIHJlcG9ydGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4ODkyCgoyMDEzLTA0LTIxIDE0OjEzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmJiYXNlYmluOiBsb2cgY2hhbm5lbCBwYXJzaW5nIGludG8gZHZiYmFzZWJpbiBkZWJ1ZyBjYXRlZ29yeSBhcyB3ZWxsCgoyMDEzLTA0LTIxIDE0OjA0OjExICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YmJhc2ViaW46IGZpeCBwYXRoIHdoZXJlIHRvIGxvb2sgZm9yIHRoZSBkdmItY2hhbm5lbHMuY29uZgoJICBDb25zdHJ1Y3QgcGF0aCBiYXNlZCBvbiB0aGUgQVBJIHZlcnNpb24sIG5vdCAkbWFqb3IuJG1pbm9yIHZlcnNpb24uCgoyMDEzLTA0LTE4IDIwOjI2OjE1ICswMDAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSAgZWdsZ2xlc3Npbms6IGVhZ2w6IGZpeCBlYWdsIHJldXNlIGJ5IG5vdCByZWxlYXNpbmcgdGhlIGNvbnRleHQKCSAgSXQgc2VlbXMgRUFHTCBleHBlY3RzIHRoZSBhcHBsaWNhdGlvbiB0byBzaW1wbHkgaWdub3JlIHVudXNlZAoJICBFQUdMIGNvbnRleHRzIGFzIHRoZSByZXNvdXJjZXMgZm9yIGl0IHdvdWxkIGJlIHJlbGVhc2VkIHdoZW4gYSBuZXcKCSAgY29udGV4dCBpcyBzZXQgYXMgdGhlIGN1cnJlbnQgb25lLiBBbHNvIG1vdmUgdGhlIGVnbCBleHRlbnNpb25zCgkgIHF1ZXJ5aW5nIHRvIGFmdGVyIGEgY29udGV4dCBpcyBzZXQgdG8gcHJldmVudCBjcmFzaGVzLgoJICBUaGlzIG1ha2VzIHRoZSBFQUdMIHZlcnNpb24gb2YgZWdsZ2xlc3NpbmsgcmV1c2FibGUuCgoyMDEzLTA0LTE4IDE3OjE4OjEyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTggMTY6MTE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBVc2UgZ3N0X2NvbnRleHRfd3JpdGFibGVfc3RydWN0dXJlKCkKCjIwMTMtMDQtMTggMTU6MjY6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEdpdmUgb25seSBTRUNPTkRBUlkgcmFuawoJICBJZiBhdmFpbGFibGUgd2Ugc3RpbGwgcHJlZmVyIHh2aW1hZ2VzaW5rLgoKMjAxMy0wNC0xOCAxMjo1NDozMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeGVzICdtYWtlcyBpbnRlZ2VyIGZyb20gcG9pbnRlciB3aXRob3V0IGEgY2FzdCcgd2FybmluZwoKMjAxMy0wNC0xOCAxMjoyNDoxOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBzaWxlbmNlIHdhcm5pbmdzIGJ1aWxkaW5nIGZvciBSUEkgcmVsYXRlZCB0byAndmNvc18qJwoKMjAxMy0wNC0xOCAxMjoyNzoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGZpeCB3YXJuaW5ncyBidWlsZGluZyBvbiB0aGUgUlBJCgoyMDEzLTA0LTE4IDEyOjE2OjE3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvZWdsL2VnbC5jOgoJICBlZ2w6IHNpbGVuY2Ugd2FybmluZ3MgYnVpbGRpbmcgZm9yIFJQSSByZWxhdGVkIHRvICd2Y29zXyonCgoyMDEzLTA0LTE3IDE0OjQ1OjE5IC0wNjAwICBHcmVnIFJ1dHogPGdyZWdAZ3NyLXRlay5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIE1vdG9yb2xhIERpZ2lDaXBoZXIgSUkgTVBFRzIgdmlkZW8KCSAgU2luY2UgdGhlcmUgaXMgYSBjb25mbGljdCBiZXR3ZWVuIHRoZSBEQ0lJIHN0cmVhbSB0eXBlIGFuZCBCbHVSYXkKCSAgc3RyZWFtIHR5cGVzLCBtb3ZlZCB0aGUgcHJvY2Vzc2luZyBvZiBCbHVSYXktc3BlY2lmaWMgc3RyZWFtIHR5cGVzCgkgIHRvIHRoZSBiZWdpbm5pbmcgb2YgdGhlIGZ1bmN0aW9uLiAgT25seSBpZiBhIEJsdVJheSBzdHJlYW0gdHlwZQoJICBJUyBOT1QgZm91bmQgZG8gd2UgcHJvY2VlZCB0byBjaGVjayB0aGUgcmVzdCBvZiB0aGUgc3RyZWFtIHR5cGUKCSAgaWRlbnRpZmllcnMKCSAgUHJldmlvdXMgY29kZSB3YXMgYWxzbyAic29ydC1vZiIgaGFuZGxpbmcgYSBzaW1pbGFyIGNvbmZsaWN0IGJldHdlZW4KCSAgQmx1UmF5IEFDMyBhdWRpbyBhbmQgc3RhbmRhcmQgQUMzIGF1ZGlvLiAgTW92ZWQgdGhlIHNwZWNpYWwgY2FzZSBCbHVSYXkKCSAgQUMzIGhhbmRsaW5nIGluIHRoZSBtYWluIHN3aXRjaCBzdGF0ZW1lbnQgdG8gdGhlIG5ldyBCbHVSYXktc3BlY2lmaWMKCSAgc3dpdGNoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3ODkyCgoyMDEzLTA0LTE4IDA5OjA3OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBUaGUgcXVpY2t0aW1lIHdyYXBwZXIgcGx1Z2luIGlzIG5vdCBwb3J0ZWQgeWV0IGVpdGhlcgoKMjAxMy0wNC0xOCAwODo1NjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVGhlIG9zeHZpZGVvc3JjIHBsdWdpbiBpcyBjYWxsZWQgb3N4X3ZpZGVvCgoyMDEzLTA0LTE4IDA3OjU0OjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgb3N4dmlkZW9zcmM6IEl0J3Mgbm90IHBvcnRlZCB0byAxLjAgeWV0CgoyMDEzLTA0LTE3IDEzOjQ4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggR3N0Q29udGV4dCByZWZjb3VudGluZyBzb21lIG1vcmUKCjIwMTMtMDQtMTcgMTM6MTY6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBHc3RDb250ZXh0IHJlZmNvdW50aW5nCgoyMDEzLTA0LTE3IDEwOjQ4OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXBkYXRlIGZvciBHTFRleHR1cmVVcGxvYWRNZXRhIGFuZCBFR0wgQVBJIGNoYW5nZXMKCjIwMTMtMDQtMTcgMTA6NDA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBVc2UgbmV3IHR5cGVzIGZyb20gbGliZ3N0dmlkZW8gaW5zdGVhZCBvZiBkZWZpbmluZyBvdXIgb3duCgoyMDEzLTAzLTI1IDE4OjMwOjE4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBEbyBub3QgY2hlY2sgZm9yIFZVSSBwYXJhbWV0ZXJzIGlmIHRoZXkgd2VyZSBub3QgcHJlc2VudCBpbiB0aGUgU1BTCgoyMDEzLTA0LTE2IDIyOjUxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSAgZWdsZ2xlc3Npbms6IFJlb3JkZXIgc3VyZmFjZSBxdWVyaWVzCgkgIE90aGVyd2lzZSB3cm9uZyB2YWx1ZXMgY2FuIGJlIHJldHVybmVkLgoKMjAxMy0wNC0xNiAyMjoyNToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uaDoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lYWdsLm06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb25fZWdsLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBzZXQgYSBkZWJ1ZyBjYXRlZ29yeSBmb3IgdGhlIGFkYXB0aW9uIGxheWVycwoKMjAxMy0wNC0xNiAyMjoyNTowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogR2V0IHRoZSBFR0wvR0xFUyBleHRlbnNpb25zIGF0IHRoZSByaWdodCBwb3NpdGlvbgoKMjAxMy0wNC0xNiAyMjoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VnbC5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzogSW4gZnVuY3Rpb24gJ2dzdF9lZ2xfYWRhcHRhdGlvbl9jcmVhdGVfbmF0aXZlX3dpbmRvdyc6CgkgIGdzdGVnbGFkYXB0YXRpb25fZWdsLmM6ODY4OjM6IGVycm9yOiBmb3JtYXQgJyVwJyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ3ZvaWQgKicsIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlICdFR0xOYXRpdmVXaW5kb3dUeXBlJyBbLVdlcnJvcj1mb3JtYXQ9XQoJICBHU1RfREVCVUdfT0JKRUNUIChjdHgtPmVsZW1lbnQsICJVc2luZyB3aW5kb3cgaGFuZGxlICVwIiwgd2luZG93KTsKCSAgXgoKMjAxMy0wNC0xMCAxNzoyNzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGFkYXB0YXRpb24uYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5oOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uX2VhZ2wubToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbl9lZ2wuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IHJlZmFjdG9yIHRvIGFsbG93IGVhZ2wgc3VwcG9ydAoJICBQdXQgRUdMIHNwZWNpZmljIGNvZGUgdG8gYSBzZXBhcmF0ZSBmaWxlIGFuZCBjcmVhdGUgdGhlIHNhbWUgZnVuY3Rpb25zCgkgIGZvciBFQUdMLCB0aGUgQXBwbGUncyBzcGVjaWZpYyBFR0wgaW1wbGVtZW50YXRvbi4KCSAgQXQgdGhpcyBwb2ludCwgdGhlIEVBR0wgdmVyc2lvbiB3YXNuJ3QgY29tcGlsZWQgb3IgdGVzdGVkIGFzIHRoZXJlIGlzbid0CgkgIGFueSBzaW1wbGUgZG9jdW1lbnRlZCB3YXkgdG8gYnVpbGQgMS4wIGZvciBpT1MuIFRoaXMgY29kZSBmb3IgdGhlIEVBR0wKCSAgdmVyc2lvbiBpcyBzdGlsbCB0aGUgMC4xMCB2ZXJzaW9uLCBzb21lIHVwZGF0ZXMgc2hvdWxkIGJlIG1hZGUgd2hlbiAxLjAKCSAgaXMgYnVpbGRhYmxlIGZvciBpT1MuCgoyMDEzLTA0LTE1IDE3OjQzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGVhZ2w6IGFkZCBpb3Mgd2luZG93IHN5c3RlbSBvcHRpb24gZm9yIGVnbGdsZXMgY29uZmlndXJlCgoyMDEzLTA0LTE1IDE4OjQwOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGlvczogdW5jb25kaXRpb25hbGx5IGNoZWNrIGlmIHdlIGFyZSBidWlsZGluZyBmb3IgaU9TCgkgIEluc3RlYWQgb2Ygb25seSBjaGVja2luZyBpZiBhcHBsZW1lZGlhIGlzIGdvaW5nIHRvIGJlIGJ1aWx0CgoyMDEzLTA0LTEwIDE0OjUzOjQ4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsYWRhcHRhdGlvbi5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xhZGFwdGF0aW9uLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiByZWZhY3RvciBlZ2wgZnVuY3Rpb25zL2RhdGEgdG8gYSBzZXBhcmF0ZSBmaWxlCgkgIFRoaXMgaXMgcGFydCBvZiB0aGUgY2hhbmdlcyByZXF1aXJlZCB0byBtYWtlCgkgIGVnbGdsZXNzaW5rIHdvcmsgd2l0aCBib3RoIEVHTCBhbmQgQXBwbGUncyBFQUdMCgoyMDEzLTA0LTE2IDE2OjMwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmludCBFR0wvR0xFUyBleHRlbnNpb25zIGFmdGVyIHdlIGFyZSBhY3R1YWxseSBpbml0aWFsaXplZCBlbm91Z2gKCjIwMTMtMDQtMTYgMTY6MjM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBhbWNhdWRpb2RlYzogUHJvcGVybHkgc2V0IG91dHB1dCBmb3JtYXQgaW5zdGVhZCBvZiBqdXN0IHNldHRpbmcgY2FwcwoKMjAxMy0wNC0xNiAxNjoxNzo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgYW5kcm9pZG1lZGlhOiBTZXQgcGFyZW50IGNsYXNzIGluIGNsYXNzX2luaXQKCjIwMTMtMDQtMTYgMTY6MDA6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogSGFuZGxlIHJlZmNvdW50cyBvZiBwYWQgdGVtcGxhdGVzIGNvcnJlY3RseQoJICBnc3RfcGFkX3RlbXBsYXRlX25ldygpIGRvZXMgbm90IHRha2Ugb3duZXJzaGlwIG9mIGNhcHMgYW55bW9yZSBhbmQKCSAgZ3N0X2VsZW1lbnRfY2xhc3NfYWRkX3BhZF90ZW1wbGF0ZSgpIGRvZXMgdGFrZSBvd25lcnNoaXAgb2YgdGhlCgkgIHBhZCB0ZW1wbGF0ZSBub3cuCgoyMDEzLTA0LTE2IDE1OjMyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgYW1jYXVkaW9kZWM6IFVzZSAxLjAtc3R5bGUgcmF3IGF1ZGlvIGNhcHMKCjIwMTMtMDQtMTYgMTU6MzE6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUHJvcGVybHkgc2V0IHN1YmNsYXNzZXMgbWV0YWRhdGEvcGFkIHRlbXBsYXRlcyBpbiBiYXNlX2luaXQKCjIwMTMtMDQtMTUgMTY6MDE6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGNoZWNrIHZhbHVlIGJlZm9yZSB1c2luZyBhcyBkZW5vbWluYXRvcgoKMjAxMy0wNC0xNSAxODoxOTozOCArMDMwMCAgQW50b24gQmVsa2EgPGFudG9uYmVsa2FAZ21haWwuY29tPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSAgdXZjaDI2NDogcHJpbnRmIGZvcm1hdCBmaXgKCSAgZ3N0dXZjaDI2NF9tanBnZGVtdXguYzo0Mzc6NTogZXJyb3I6IGZvcm1hdCAnJWx1JyBleHBlY3RzIGFyZ3VtZW50IG9mIHR5cGUgJ2xvbmcgdW5zaWduZWQgaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0dzdENsb2NrVGltZScKCjIwMTItMTAtMjQgMTI6MTY6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkqIGV4dC9hc3NyZW5kZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2RjMTM5NC9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2dtZS9NYWtlZmlsZS5hbToKCSogZXh0L2dzZXR0aW5ncy9NYWtlZmlsZS5hbToKCSogZXh0L2dzbS9NYWtlZmlsZS5hbToKCSogZXh0L2hscy9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvbGlibW1zL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9teXRodHYvTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL01ha2VmaWxlLmFtOgoJKiBleHQvb2ZhL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3NiYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NuYXBzaG90L01ha2VmaWxlLmFtOgoJKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC93YXlsYW5kL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvTWFrZWZpbGUuYW06CgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZmcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWl4bWF0cml4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZzFzeXMvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c211eC9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvb3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0anBlZy9NYWtlZmlsZS5hbToKCSogZ3N0L3NkaS9NYWtlZmlsZS5hbToKCSogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGgvTWFrZWZpbGUuYW06CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3R0YS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L01ha2VmaWxlLmFtOgoJKiBzeXMvY2Ryb20vTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSogc3lzL2R4cjMvTWFrZWZpbGUuYW06CgkqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSogc3lzL21mYy9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy9xY2FtL01ha2VmaWxlLmFtOgoJKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3ZjZC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luaW5ldC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0OiBBZGQgYmV0dGVyIHN1cHBvcnQgZm9yIHN0YXRpYyBwbHVnaW5zCgoyMDEzLTA0LTE1IDE1OjEzOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIGNhbWVyYWJpbiBkaXJlY3RvcnkgdG8gdGhlIGNydWZ0IGRpcmVjdG9yaWVzCgoyMDEzLTA0LTE1IDA5OjAxOjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogZml4IHRpbWVvdXQgdmFsdWUKCSAgVGltZW91dCBvbiB1ZHBzcmMgaXMgaW4gbmFub3NlY29uZHMgaW4gMS4wCgoyMDEzLTA0LTE1IDAwOjIyOjM5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBBZGQgY29uZGl0aW9uYWwgb24gQVBJIHZlcnNpb24gZm9yIG5ldyBlbnVtCgoyMDEzLTA0LTA0IDE1OjU5OjA5ICswMDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IGZpeCBkZWFkbG9jayBkcmFpbmluZyBxdWV1ZSBmcm9tIHRoZSBzYW1lIHRocmVhZAoKMjAxMS0wOC0xMCAxMjoxMzozNCArMDAwMCAgRmFicmljaW8gQ29zdGEgQWxpc2VkbyA8ZmFicmljaW8uY29zdGFAbW9sZGVvaW50ZXJhY3RpdmUuY29tLmFyPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkZWQgR3JhcGggQnVpbGRlciBhbmQgQ2FwdHVyZSBCdWlsZGVyIHRvIGNvcnJlY3RseSBjcmVhdGUgdXBzdHJlYW0gbmVlZGVkIGZpbHRlcnMgYnkgQW5hbG9nIFRWIENhcHR1cmUgRGV2aWNlcy4KCjIwMTItMTItMDEgMTY6MjQ6MjIgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIGRzaG93c3Jjd3JhcHBlcjogQWRkIHN1cHBvcnQgZm9yIFVZVlkKCjIwMTMtMDQtMTUgMDg6NDg6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoJICBnc3RlZ2xnbGVzc2luay5jOiBJbiBmdW5jdGlvbiAnZ3N0X2VnbGdsZXNzaW5rX2ZpbGxfdGV4dHVyZSc6CgkgIGdzdGVnbGdsZXNzaW5rLmM6MTgxNTozOiBlcnJvcjogZm9ybWF0ICclZCcgZXhwZWN0cyBhcmd1bWVudCBvZiB0eXBlICdpbnQnLCBidXQgYXJndW1lbnQgMTEgaGFzIHR5cGUgJ2dzaXplJyBbLVdlcnJvcj1mb3JtYXRdCgkgIGdzdGVnbGdsZXNzaW5rLmM6IEluIGZ1bmN0aW9uICdnc3RfZWdsZ2xlc3NpbmtfY29uZmlndXJlX2NhcHMnOgoJICBnc3RlZ2xnbGVzc2luay5jOjI4NTA6MzogZXJyb3I6IGZvcm1hdCAnJXAnIGV4cGVjdHMgYXJndW1lbnQgb2YgdHlwZSAndm9pZCAqJywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ0VHTE5hdGl2ZVdpbmRvd1R5cGUnIFstV2Vycm9yPWZvcm1hdF0KCjIwMTMtMDQtMTUgMDA6NDg6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSAga2F0ZTogb25seSBzZW5kIGRlY29kZXIgb3V0cHV0IGNhcHMgb25jZSBvciB3aGVuIHRoZSBmb3JtYXQgY2hhbmdlcwoJICBhbmQgbm90IGZvciBldmVyeSBzaW5nbGUgYnVmZmVyLiBBbmQgIGFsc28gc2VuZCBhIGNhcHMKCSAgZXZlbnQgZm9yIHNwdSBvdXRwdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMjM6MjI6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBkZWNvZGVyIG91dHB1dCBjYXBzCgkgIEl0J3MgZWl0aGVyIHBhbmdvLW1hcmt1cCBvciB1dGY4LCBuZXZlciBib3RoIGF0IHRoZSBzYW1lIHRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTcwNzEKCjIwMTMtMDQtMTQgMjM6MTk6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYXJrIGhlYWRlciBidWZmZXJzIGFzIHN1Y2gKCjIwMTMtMDQtMTQgMjM6MDg6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZWVuYzogc2F2ZSBjdXJyZW50IGlucHV0IGZvcm1hdCBpbiBzZXRjYXBzCgoyMDEzLTA0LTE0IDIxOjI4OjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGZpeCBwcmludGYgZm9ybWF0IHN0cmluZ3MgYW5kIGRpc2FibGUgdGlnZXIgZWxlbWVudAoKMjAxMy0wNC0wMSAxMjo0NzoxMyAtMDYwMCAgQnJlbmRhbiBMb25nIDxiLmxvbmdAY2FibGVsYWJzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSAga2F0ZTogcG9ydCBLYXRlIHN1YnRpdGxlcyB0byAxLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzA3MQoKMjAxMy0wNC0xNCAxNzo1NToyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYWVkODdhZSB0byAzY2IzZDNjCgoyMDEzLTA0LTEyIDE3OjAxOjM4ICswMjAwICBBbGV4YW5kZXIgT2xzc29uIDxhbGV4b0BheGlzLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFjY2VwdCBhbnkganBlZyBpbnB1dCAtIHBhcnNlZCwgdW5wYXJzZWQgb3IgdW5tYXJrZWQKCSAgVGhlIHNyYyBlbGVtZW50IG1heSBub3QgaW5jbHVkZSBpbmZvcm1hdGlvbiBhYm91dCB3aGV0aGVyCgkgIHRoZSBkYXRhIGlzIHBhcnNlZCBvciBub3QuIEhlbmNlIGRvIG5vdCByZXF1aXJlIHBhcnNlZD1mYWxzZS4KCSAgRml4ZXMgbXVsdGlwYXJ0ZGVtdXggISBqcGVncGFyc2UgISAuLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5Nzg4NAoKMjAxMy0wNC0xMiAxNDowOToyNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgZWxlbWVudC10ZW1wbGF0ZTogYWRkIHN0YXJ0L3N0b3AgdG8gdmlkZW9maWx0ZXIKCjIwMTMtMDQtMTIgMTQ6MDg6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBlbGVtZW50LXRlbXBsYXRlczogYXZvaWQgdXNpbmcgUGFkVGVtcGxhdGVzCgoyMDEzLTA0LTEyIDE0OjA3OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBBZGQgaGVscGVyIGNvZGUgdG8gdHJhbnNmb3JtX2NhcHMKCjIwMTMtMDQtMTIgMTM6NTY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuaDoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmM6CgkgIHZpZGVvYW5hbHlzZTogcG9ydCB0byAxLjAKCjIwMTMtMDQtMDUgMjE6MzE6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkgIHZpZGVvZmlsdGVyc2JhZDogcG9ydCB0byAxLjAKCjIwMTMtMDQtMTEgMjI6MTU6MDcgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRlY3JlYXNlIGxvZyBwcmlvcml0eSBmb3IgcmVwZWF0aW5nIG1lc3NhZ2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc4MzQKCjIwMTMtMDQtMTEgMTM6MzQ6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2Vjb252ZXJ0ZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0LmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuaDoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkgIHZpZGVvOiBSZW1vdmUgdmlkZW8gbGlicmFyeSBmcm9tIC1iYWQKCSAgVGhpcyBvbmx5IGNvbnRhaW5lZCBBUEkgdGhhdCBub3cgaGFzIHJlcGxhY2VtZW50cyBpbiBjb3JlIGFuZCBiYXNlLgoKMjAxMy0wNC0xMSAxMzowODo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDaGVjayB0aGUgY29udGludWl0eSBjb3VudGVyIGZvciBub24tc2VjdGlvbiBwYWNrZXRzIHRvbwoJICBBbmQgaWYgd2UgZGV0ZWN0IGEgZGlzY29udGludWl0eSB0aGVyZSAobGlrZS4uLiB3aGVuIGxvc2luZyBwYWNrZXRzCgkgIG9yIGhhdmluZyBNUEVHVFMgb3ZlciByYXcgVURQIHdpdGggb3V0LW9mLW9yZGVyIHBhY2tldHMpIHdlIGp1c3QKCSAgZHJvcCB0aGUgY29ycmVzcG9uZGluZyBwYWNrZXQuCgkgIEEgZnV0dXJlIHZlcnNpb24gY291bGQgdHJ5IHRvIGltcGxlbWVudCBhIHJlLW9yZGVyaW5nIGFsZ29yaXRobSBiYXNlZAoJICBvbiB0aGF0LCBzaW1pbGFyIHRvIHdoYXQgcnRwaml0dGVyYnVmZmVyIGRvZXMuCgoyMDEzLTA0LTExIDEwOjA2OjIzICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBtZnhkZW11czogdXBkYXRlIHRvZG8gKHRoZXIgZWlzIGEgbXV4ZXIpCgoyMDEzLTA0LTEwIDE2OjE5OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IENhbGwgOjpwcm9ncmFtX3N0b3BwZWQgYWZ0ZXIgcmVtb3ZpbmcgYWxsIHN0cmVhbXMKCSAgU3ViY2xhc3NlcyB3YW50IHRvIGFjY2VzcyB0aGUgcHJvZ3JhbSB3aGlsZSByZW1vdmluZyB0aGUgc3RyZWFtcwoJICBhbmQgd2lsbCBjdXJyZW50bHkgY3Jhc2ggYmVjYXVzZSBvZiBkZXJlZmVyZW5jaW5nIE5VTEwgaW4gc29tZSBjYXNlcy4KCjIwMTMtMDQtMTAgMTE6MDY6NTIgKzAyMDAgIEFsZXhhbmRlciBTY2hyYWIgPGFsZXhhc0BheGlzLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdHdhdGNoZG9nLmM6CgkgIHdhdGNoZG9nOiByYWNlIGJldHdlZW4gZ19tYWluX2xvb3BfcnVuL19xdWl0IGZpeGVkCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTc2OTQKCjIwMTMtMDQtMDkgMjE6MzI6MDcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IERvbid0IHN0b3Agb24gaW52YWxpZCBidWZmZXIKCjIwMTMtMDQtMDkgMjE6MzE6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkgIHNydHBkZWM6IENsZWFuZXIgc3RyZWFtIGNsZWFudXAKCjIwMTMtMDQtMDkgMjE6MzE6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSAgc3J0cGRlYzogRG9uJ3QgY3Jhc2ggb24gaW52YWxpZCBjaXBoZXIKCjIwMTMtMDMtMjcgMTY6NDk6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSAgd2F0Y2hkb2c6IGZpeCBldmVudCBoYW5kbGluZwoKMjAxMy0wNC0wMSAxNTo1MjoxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuYzoKCSAgeWFkaWY6IHJlbW92ZSBleHRyYSB0ZW1wbGF0ZSBjb2RlCgoyMDEzLTA0LTAxIDE1OjQ3OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pdnRjL2dzdGl2dGMuYzoKCSAgaXZ0YzogcmVtb3ZlIHRyYW5zZm9ybV9zaXplLCBpdCdzIG5vdCBuZWVkZWQKCjIwMTMtMDQtMDEgMjA6MTM6NDEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9lbmNvZGVyOgoJICBlbGVtZW50LW1ha2VyOiBmaXggcmV0dXJuIHZhbHVlIGluIHZpZGVvZW5jb2RlcgoKMjAxMy0wNC0wMSAyMDoxMjo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZ3N0LWVsZW1lbnQtbWFrZXI6IGNyZWF0ZSBiZXR0ZXIgZWxlbWVudCBuYW1lIHdoZW4gdXNpbmcgLS1wcmVmaXgKCjIwMTMtMDQtMDEgMjA6MDM6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkgIGludGVyYXVkaW9zaW5rOiBmaXggbGVhayB3aGVuIG5vdCBjb25uZWN0ZWQKCjIwMTMtMDQtMDkgMjE6MDA6MjggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA0YzdhMWUgdG8gYWVkODdhZQoKMjAxMy0wNC0wOCAxNzo0MDoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZGRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGVuYy5jOgoJICBleHQ6IHByaW50ZiBmb3JtYXQgZml4ZXMgaW4gZGVidWcgYW5kIGVycm9yIG1lc3NhZ2VzCgoyMDEzLTA0LTA4IDE3OjM0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb21lbW9yeS5jOgoJICBzeXM6IHByaW50IGZvcm1hdCBmaXhlcyBpbiBkZWJ1ZyBtZXNzYWdlcwoKMjAxMy0wNC0wNyAxODo0MTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgVHJ1ZUhEIGF1ZGlvCgoyMDEzLTA0LTA1IDA5OjQxOjI2ICswMTAwICBUb2RkIEFndWxuaWNrIDx0b2RkQGFndWxuaWNrLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSAgaGFuZGRldGVjdDogZml4IGJ1aWxkIG9uIE9TL1gKCSAgZ3N0aGFuZGRldGVjdC5oOjg0OiBlcnJvcjogZXhwZWN0ZWQgc3BlY2lmaWVyLXF1YWxpZmllci1saXN0IGJlZm9yZSAndWludCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NzMwNQoKMjAxMy0wNC0wNSAwMDo0OTo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHNoYWRlcnMgYXNzdW1lIDMyYnBwCgkgIEJhY2twb3J0IGZpeCBmb3IgY3Jhc2hlcyBhbmQgaW52YWxpZCB3cml0ZXMgaW4gdG90ZW0gZnJvbSBsaWJ2aXN1YWwKCSAgaW4gLWJhc2UsIHRvIG1pbmltaXNlIGRpZmZlcmVuY2VzIHRvIHZlcnNpb24gaW4gLWJhc2UgYW5kIHRvIG1ha2UKCSAgc3VyZSB0aGUgYnVnIGRvZXNuJ3Qgc25lYWsgYmFjayBpbiBsYXRlciB3aGVuIHRoZSBiYXNlIGNsYXNzIGlzCgkgIG1hZGUgcHVibGljLgoJICBUaGUgc2hhZGVyIGNvZGUgbG9va3MgbGlrZSBpdCBtYWtlcyBhc3N1bXB0aW9ucyB0aGF0IGFyZSBub3QKCSAgbmVjZXNzYXJpbHkgYWx3YXlzIHRydWUsIGV2ZW4gaWYgdGhleSdyZSB0cnVlIGZvciBub3cgZm9yIHRoZQoJICBleGlzdGluZyBlbGVtZW50cywgbmFtbHkgdGhhdCBwaXhlbCBzdHJpZGUgaXMgNCwgZm9yIGV4YW1wbGUuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzNTI3CgoyMDEzLTAzLTE0IDExOjE1OjI5ICsxMTAwICBNYXR0aGV3IFdhdGVycyA8eXN0cmVldDAwQGdtYWlsLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGhhbmRsZSBub24tZXhpc3RhbnQgcG9vbCBpbiB0aGUgZGVmYXVsdCBhbGxvY2F0aW9uIHF1ZXJ5CgkgIGdzdF9xdWVyeV9zZXRfbnRoX2FsbG9jYXRpb25fcG9vbCgpIHJlcXVpcmVzIHRoZXJlIHRvIGJlIGEgcG9vbCBpbiB0aGUKCSAgcXVlcnkgYWxyZWFkeS4gVGhpcyBpcyBub3QgYWx3YXlzIHRoZSBjYXNlIHdoZW4gd2UgZ2V0IHRoZSBxdWVyeSBmcm9tCgkgIHVwc3RyZWFtLiAgVXNlIGdzdF9xdWVyeV9hZGRfYWxsb2NhdGlvbl9wb29sKCkgaW5zdGVhZCBpbiBzdWNoIGNhc2UuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE3MTkKCjIwMTMtMDEtMjkgMTA6MTg6MDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkgIGF1ZGlvdmlzdWFsaXplcjogaW1wcm92ZSBhbGxvY2F0aW9uCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IE1hdHRoZXcgV2F0ZXJzCgkgIEFkZCBwcml2YXRlIGRhdGEKCSAgQWRkIGRlY2lkZV9hbGxvY2F0aW9uIHZtZXRob2QKCSAgUmVmYWN0b3IgYnVmZmVycG9vbCBuZWdvdGlhdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNzE5CgoyMDEzLTA0LTAzIDE2OjEyOjAxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkgIGQzZHZpZGVvc2luazogdXNlIGJpbGluZWFyIGZpbHRlciBhcyBtdWNoIGFzIHBvc3NpYmxlCgkgIFVzZSB0aGUgYmlsaW5lYXIgc2NhbGxpbmcgZmlsdGVyIHdoZW4gdGhlIG1hZ25pZmllciBvciB0aGUgbWluaWZpZXIKCSAgZmlsdGVycyBhcmUgYXZhaWJsZS4gU29tZSBncmFwaGljcyBjYXJkcyBkbyBub3QgcHJvdmlkZSBtaW5pZmllciBmaWx0ZXJzCgkgIGJ1dCB3ZSB3YW50IHRvIHVzZSBpdCBmb3IgdXBzY2FsbGluZyBpZiBpdCdzIGF2YWlsYWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk3MTc2CgoyMDEzLTA0LTAzIDE0OjU1OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5Lmg6CgkgIHJzdmc6IEJ1bXAgbWluaW11bSByZXF1aXJlbWVudCB0byAyLjM2LjAKCSAgQW5kIGhhbmRsZSBoZWFkZXIgY2hhbmdlcyBpbiAyLjM2LjIKCjIwMTMtMDQtMDIgMjM6MzM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIGRvY3M6IGFkZCBzaW5jZSBtYXJrZXJzIHRvIG5ldyBjb2RlY3BhcnNlcnMgdmlkZW8gbWV0YSBBUEkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MTcxMgoKMjAxMy0wNC0wMSAxOTo0OTowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEltcGxlbWVudCBiYXNlc3JjLT51bmxvY2soKQoJICBUaGlzIGZpeGVzIC0+TlVMTCB0cmFuc2l0aW9uIHByb2JsZW1zIGlmIGxpYnJ0bXAgaXMgc3R1Y2sgaW4gYQoJICByZWN2IG9yIHNlbmQgY2FsbCB0aGF0IG5ldmVyIHJldHVybnMuCgoyMDEzLTAzLTMwIDE1OjA3OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkgIGVsZW1lbnQtbWFrZXI6IGNhbGwgdXAgaW4gYmFzZXRyYW5zZm9ybSB0ZW1wbGF0ZQoJICBNb3JlIHRlbXBsYXRlcyBzaG91bGQgYmUgZG9pbmcgdGhpczogZnVuY3Rpb24gaW1wbGVtZW50YXRpb25zCgkgIHNob3VsZCBjYWxsIHVwIHRvIHRoZSBkZWZhdWx0IGltcGxlbWVudGF0aW9uIGluIHRoZSBiYXNlIGNsYXNzLgoKMjAxMy0wNC0wMSAyMjozODo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGNoZWNrIGZvciBibHVleiBmb3IgYmx1ZXRvb3RoL2JsdWV0b290aC5oCgkgIEZpeGVzIGJ1aWxkIG9uIG1hY2hpbmVzIHdoZXJlIGJsdWV6IGhlYWRlcnMgYXJlIG5vdCBhdmFpbGFibGUuCgoyMDEzLTA0LTAxIDIxOjQ5OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBibHVlejogZW5hYmxlIGJsdWV6IHBsdWdpbgoJICBTZWVtcyB0byBtb3N0bHkgd29yayBub3cuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDQtMDEgMjE6NDg6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgc29mdCBsaWJvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjE3CgkgIFRvIG1hdGNoIC1iYXNlIGFuZCAtZ29vZC4gQWxzbyBmaXhlcyBwb3RlbnRpYWwKCSAgY3Jhc2ggd2hlbiBhIGZhbGxiYWNrIGZ1bmN0aW9uIGhhcyB0byBiZSB1c2VkLgoKMjAxMy0wNC0wMSAxMDoyMDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIHRoZSBFR0xJbWFnZSBhbmQgR3N0VmlkZW9HTFRleHR1cmVVcGxvYWRNZXRhIGNhcHMgZmVhdHVyZXMKCjIwMTMtMDQtMDEgMTA6MjA6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgYSAjZGVmaW5lIGZvciB0aGUgRUdMSW1hZ2UgbWVtb3J5IGNhcHMgZmVhdHVyZQoKMjAxMy0wNC0wMSAwOToxMzoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogRG9uJ3QgaW5jbHVkZSByc3ZnLWNhaXJvLmggZGlyZWN0bHkKCSAgSW5jbHVkaW5nIGl0IGRpcmVjdGx5IGlzIG5vdyBkZXByZWNhdGVkCgoyMDEzLTA0LTAxIDA5OjEwOjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR011dGV4IG1ldGhvZHMKCjIwMTMtMDMtMjkgMTc6NTc6MTIgKzAxMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2ZzogUG9ydCB0byAxLjAKCSAgQWxzbyBwb3J0IHRoZSBkZWNvZGVyIHRvIHRoZSBHc3RWaWRlb0RlY29kZXIKCjIwMTItMDktMjAgMTk6MDM6MTEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVycG9vbC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9tZW1vcnkuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvbWVtb3J5Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkgIHZkcGF1OiBQb3J0IHRvIDEuMAoJICBOZXcgYmFzZSBjbGFzcyBmb3IgdmRwYXUgZGVjb2RlcnMKCSAgKiBtcGVnMiBwb3J0ZWQgYW5kIGFjdGl2YXRlZAoJICAqIGgyNjQgcG9ydGVkIGJ1dCBkZWFjdGl2YXRlZAoJICAqIFVzZXMgR3N0TXBlZ1ZpZGVvIG1ldGEKCjIwMTItMTItMjMgMDE6NTQ6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBPbmx5IGFkZCBtZXRhIGlmIGRvd25zdHJlYW0gbmVlZHMgaXQKCSAgSXQncyBub3QgcGVyZmVjdCwgYmVjYXVzZSBpbiB0aGUgY2FzZXMgd2hlcmUgdXBzdHJlYW0gZG9lc24ndAoJICBpbml0aWF0ZSBhbiBhbGxvY2F0aW9uIHF1ZXJ5LCB3ZSB3b24ndCBrbm93LgoKMjAxMi0wOS0yMCAxODoyNzoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFN0b3JlIGluZm9ybWF0aW9uIGluIEdzdE1wZWdWaWRlbzEyTWV0YQoJICBGSVhNRSA6IE9ubHkgZG8gc28gaWYgd2Uga25vdyBkb3duc3RyZWFtIHdpbGwgbmVlZCBpdAoKMjAxMi0wOS0yMCAxODowMzo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb21ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9tZXRhLmg6CgkgIGNvZGVjcGFyc2VyczogQWRkIE1wZWcgVmlkZW8gR3N0TWV0YQoJICBUaGlzIGNhbiBiZSB1c2VkIGJ5IHBhcnNlcnMgdG8gcHJvdmlkZSBwcmUtcGFyc2VkIGluZm9ybWF0aW9uIHRvCgkgIGRvd25zdHJlYW0gZWxlbWVudHMgdGhhdCB3b3VsZCByZXF1aXJlIGl0IChzbyB0aGV5IGNhbiBhdm9pZCBoYXZpbmcKCSAgdG8gcGFyc2UgdGhlIGJpdHN0cmVhbSBhZ2FpbikuCgoyMDEyLTEyLTI2IDEzOjE2OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBGaXggcGljdHVyZSBwYWNrZXQgZXh0ZW5zaW9uIHNpemUgY2hlY2sKCSAgSXQgaXMgYXQgbGVhc3QgMzQgYml0IGJpZyAoNSBieXRlcyB3aXRoIGJ5dGUgcGFkZGluZykKCjIwMTMtMDMtMzEgMTI6MTE6NDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICBkdmI6IE1vdmUgQ0FNIGhhbmRsaW5nIHRvIGEgc2VwYXJhdGUgR3N0VGFzawoJICAqIE5vIGxvbmdlciBibG9ja3MgaW4gUkVBRFk9PlBBVVNFRCAoZmFzdGVyIHN0YXJ0dXApCgkgICogTm8gbG9uZ2VyIHJlcXVpcmVzIGEgcGFkIHByb2JlCgoyMDEzLTAzLTMxIDExOjQ2OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgZ3N0X2VsZW1lbnRfZ2V0X2NvbnRleHQoKSB3aGVyZXZlciBwb3NzaWJsZQoKMjAxMy0wMy0zMCAxMzo0MDoyMSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IFdlIG91dHB1dCB0aW1lIHNlZ21lbnRzCgkgIEZpeGVzICM2OTA5NDkKCjIwMTMtMDMtMzAgMTM6Mzk6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNwYXJzZTogRW5zdXJlIHNlZ21lbnQgZXZlbnRzIGFyZSBmb3J3YXJkZWQKCSAgV2Ugc2tpcCB0aGVtIGZvciB0c2RlbXV4IHRob3VnaCAocmVjcmVhdGVkIGxhdGVyKQoJICBGaXhlcyAjNjkwOTQ5CgoyMDEzLTAzLTMwIDEwOjI1OjI0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHB1c2ggc3RyZWFtIHN0YXJ0IGV2ZW50CgoyMDEzLTAzLTMwIDEwOjU3OjA4ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlcjogZW5zdXJlIHZhcmlhYmxlIGlzIGluaXRpYWxpemVkIGFuZCBmaXggZGVidWcgbWVzc2FnZSBhY2Nlc3MKCjIwMTMtMDMtMzAgMDk6NTI6NDUgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZXI6IEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXNlZCB2YXJpYWJsZSB1c2UKCjIwMTMtMDMtMjggMTc6NDg6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsZ2xlc3Npbms6IEltcGxlbWVudCBHc3RDb250ZXh0IGhhbmRsaW5nCgoyMDEzLTAzLTI5IDE2OjExOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgYSBzZXBhcmF0ZSB0ZXh0dXJlIGZvciB0aGUgY3VzdG9tIHRleHR1cmVzCgoyMDEzLTAzLTI5IDE2OjA1OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb0dMVGV4dHVyZVVwbG9hZE1ldGEKCjIwMTMtMDMtMjkgMTA6MzM6MTAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogY2hlY2sgb24gdGhlIHByb3BlciBkaXNwbGF5IGFuZCBpbmRlbnQgc29tZSBsaW5lcwoKMjAxMy0wMy0yOCAxNDozNjoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IE1ha2Ugc3VyZSB0aGUgemVyby1zaXplZCBhcnJheSBpcyBhbHdheXMgbGFzdCBpbiB0aGUgc3RydWN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY2ODEKCjIwMTMtMDMtMjUgMTQ6MTg6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogVXBkYXRlIGV4YW1wbGUgcGlwZWxpbmVzCgoyMDEzLTAzLTI4IDE3OjM2OjA3ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9NYWtlZmlsZS5hbToKCSogc3lzL2JsdWV6L2JsdWV6LXBsdWdpbi5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJICBibHVlejogUmVtb3ZlIGEyZHBzcmMgYmluCgkgIFRoaXMgZWxlbWVudCBpc24ndCByZWFsbHkgdXNlZnVsLiBUaGUgb3JpZ2luYWwgcGxhbiB3YXMgdG8gdXNlIHRoaXMgdG8KCSAgZXZlbnR1YWxseSBhbGxvdyBkeW5hbWljYWxseSBwaWNraW5nIGEgZm9ybWF0IGJhc2VkIG9uIHdoYXQgd2UgY2FuCgkgIHN1cHBvcnQgd2hpbGUgbmVnb3RpYXRpbmcgd2l0aCB0aGUgc291cmNlIGRldmljZS4gV2UgY2FuIGp1c3QgcGx1ZyBpbiBhCgkgIGRlY29kZWJpbiBkb3duc3RyZWFtIGFuZCBpdCdsbCBoYW5kbGUgUlRQIGRlcGF5bG9hZGluZyBhbmQgZGVjb2Rpbmcgb2YKCSAgd2hhdGV2ZXIgZm9ybWF0IHdlIG5lZ290aWF0ZWQgd2l0aCB0aGUgc291cmNlIGRldmljZS4KCjIwMTMtMDMtMTQgMTg6MDQ6NTUgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSAgYmx1ZXo6IENvbXBpbGUgZml4ZXMgZm9yIGF2ZHRwc3JjL2EyZHBzcmMgY29kZSBhZ2FpbnN0IDEueAoKMjAxMy0wMy0xNCAxMzowOToxNSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSAgYmx1ZXo6IEFkZCBhdmR0cHNyYy9hMmRwc3JjIHRvIGJ1aWxkCgoyMDEzLTAzLTE0IDEyOjU4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1cCBzb21lIHByb2JsZW1zIHRoYXQgY2FtZSBpbiB3aXRoIGNoZXJyeS1waWNrCgoyMDEzLTAxLTA4IDEwOjE5OjA2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmM6CgkgIGJsdWV6OiBXZSB3b3JrIGluIFRJTUUgZm9ybWF0IHdpdGggYXZkdHBzcmMKCjIwMTItMTAtMjkgMTY6NDU6NDQgKzA1MzAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGRlcHJlYWNhdGlvbiB3YXJuaW5ncyBvbiBnX211dGV4XyoKCjIwMTItMTAtMjkgMTY6NDU6MjUgKzA1MzAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmg6CgkgIGJsdWV6OiBGaXggYSBudW1iZXIgb2YgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTAtMjkgMTU6NDk6MDIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBGaXggc29tZSB3YXJuaW5ncyBpbiBnc3RhdmR0cHV0aWwuYwoKMjAxMi0xMC0xMiAxODo1MjoyNCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBGaXggdHlwbyBpbiByZXNldHRpbmcgdGhlIEQtQnVzIGNvbm5lY3Rpb24KCSAgTm8gcmVhbCBlZmZlY3Qgc2luY2UgRkFMU0UgYW5kIE5VTEwgYXJlIGJvdGggMAoKMjAxMi0xMC0xMSAxNTo0ODo1NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEhhbmRsZSBFT0YgaW4gYXZkdHBzcmMgY29ycmVjdGx5CgoyMDEyLTEwLTExIDA4OjU3OjAxICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNyYy5jOgoJICBibHVlejogRml4IGF2ZHRwc3JjIGdldGNhcHMoKSBmdW5jdGlvbgoJICBUaGlzIGlzIG5vdyBhIHByb3BlciBzdWJzZXQgb2YgdGhlIHRlbXBsYXRlIGNhcHMuCgoyMDEyLTEwLTExIDA4OjM4OjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNyYy5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmg6CgkgIGJsdWV6OiBBZGQgYW4gYTJkcHNyYyBiaW4gZWxlbWVudAoJICBUaGlzIHdyYXBzIGF2ZHRwc3JjICsgcnRwc2JjZGVwYXkgaW50byBhIHNpbmdsZSBlbGVtZW50LiB3aGVuIG1vcmUKCSAgZm9ybWF0cyBhcmUgc3VwcG9ydGVkIGluIGF2ZHRwc3JjLCBwYXlsb2FkZXIgc2VsZWN0aW9uIHdpbGwgbmVlZCB0byBiZQoJICBkb25lIGR5bmFtaWNhbGx5LgoJICBUaGlzIGNvdWxkIGFsc28gYmUgZXh0ZW5kZWQgdG8gYWNjZXB0IGEgZGV2aWNlLCBjb25uZWN0IHRvIGl0LCBhbmQKCSAgcHJvdmlkZSBhdmR0cHNyYyBhIHRyYW5zcG9ydCAoaW5zdGVhZCBvZiBwYXNzaW5nIHRocm91Z2ggYSB0cmFuc3BvcnQgYXMKCSAgaXQgZG9lcyBub3cpLgoKMjAxMi0xMC0xMSAwODoyNDowNiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSAgYmx1ZXo6IEZpeCBhdmR0cHNyYyBjbGFzc2lmaWNhdGlvbgoKMjAxMi0xMC0xMCAyMTozODo0NiArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHB1dGlsLmM6CgkgIGJsdWV6OiBCdW1wIHVwIHByaW9yaXR5IGZvciBzb2NrZXRzIGluIEFWRFRQIGVsZW1lbnRzCgkgIFRoaXMgaXMgYmFzZWQgb24gdGhlIGNvZGUgaW4gUHVsc2VBdWRpby4KCjIwMTItMTAtMTAgMTk6NDk6MzIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzcmMuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc3JjLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHV0aWwuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwdXRpbC5oOgoJICBibHVlejogQWRkIGFuIGF2ZHRwc3JjIGVsZW1lbnQKCSAgU291cmNlIGVsZW1lbnQgdGhhdCBjb25uZWN0cyB0byBhIGdpdmVuIHRyYW5zcG9ydCBhbmQgcmVhZHMgYXVkaW8gb3ZlcgoJICBBVkRUUC4gRG9lcyBub3QgcHJvdmlkZSBhIGNsb2NrIGJ1dCB1c2VzIHRoZSBzeXN0ZW0gY2xvY2sgdG8gdGltZXN0YW1wCgkgIGluY29taW5nIHBhY2tldHMuIE9ubHkgU0JDIGlzIGN1cnJlbnRseSBzdXBwb3J0ZWQuCgoyMDEzLTAzLTI4IDE2OjUxOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogQWRkIGEgYm94ZWQgdHlwZSBmb3IgR3N0RUdMRGlzcGxheQoKMjAxMy0wMy0yOCAxMzoxODo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc2JjOiBhY3R1YWxseSBlbmFibGUgcGx1Z2luIGlmIGxpYnNiYyBpcyBhdmFpbGFibGUKCjIwMTMtMDMtMjcgMTM6MTE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogcG9ydCBlbmNvZGVyIHRvIEdzdEF1ZGlvRW5jb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAzLTI2IDEzOjU1OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9zYmMtcGx1Z2luLmM6CgkgIHNiYzogcG9ydCBkZWNvZGVyIHRvIEdzdEF1ZGlvRGVjb2RlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNTgyCgoyMDEzLTAxLTE2IDExOjM2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL01ha2VmaWxlLmFtOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkqIGV4dC9zYmMvc2JjLXBsdWdpbi5jOgoJICBzYmM6IGltcG9ydCBzYmMgZGVjb2Rlci9lbmNvZGVyIGZyb20gYmx1ZXogYW5kIHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjcgMjI6MjQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNZXJnZSBTQkMgZGVjb2RlciBhbmQgZW5jb2RlciBmcm9tIGJsdWV6CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDMtMjYgMTY6NTA6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0d2F0Y2hkb2cuaDoKCSAgd2F0Y2hkb2c6IG5ldyBlbGVtZW50CgoyMDEzLTAzLTI3IDAwOjU2OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkgIHNiYzogcmVtb3ZlIHBhcnNlciBpbiBmYXZvdXIgb2YgbmV3IEdzdEJhc2VQYXJzZS1iYXNlZCBzYmNwYXJzZSBpbiAtZ29vZAoKMjAxMy0wMS0wOCAxMDoxOTozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkgIHNiYzogc2JjZGVjOiBtYWtlIGRlY29kZXIgbW9yZSBwZXJmb3JtYW50CgkgIFVzZSBhbiBhZGFwdGVyIHRvIGFjY3VtdWxhdGUgaW5wdXQgYnVmZmVycy4KCSAgRGVjb2RlIGFsbCBpbnB1dCBpbiBvbmUgb3V0cHV0IGJ1ZmZlciB3aGVuIHBvc3NpYmxlIHRvIHJlZHVjZSB0aGUgYW1vdW50IG9mIHB1c2gKCSAgb3BlcmF0aW9ucy4KCjIwMTItMTAtMzAgMTg6NDE6NTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogc2tpcCB0aGUgZnJhbWUgb24gZGVjb2RpbmcgZXJyb3IKCjIwMTItMTAtMjkgMTc6MjI6MjggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IHNiY2RlYzogc2V0IERJU0NPTlQgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMTItMTAtMjkgMTc6MTk6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IHNiY2RlYzogaGFuZGxlIERJU0NPTlQgYW5kIHRpbWVzdGFtcHMKCSAgUmVzZXQgc3RhdGUgb24gZGlzY29udC4KCSAgSW50ZXJwb2xsYXRlIHRpbWVzdGFtcHMuCgoyMDEyLTEwLTAzIDEyOjQ3OjE0ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogYXVkaW86IE1ha2UgdGhlIHNiY2RlYyBlbGVtZW50IGNvcHkgYnVmZmVyIG1ldGFkYXRhCgkgIE1ha2VzIHN1cmUgd2UgZG9uJ3QgbG9zZSB0aW1lc3RhbXBzLCBldGMuCgoyMDEyLTEwLTI5IDEyOjQ5OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBlbmM6IHNiY19nZXRfZnJhbWVfZHVyYXRpb24gaXMgaW4gbWlsbGlzZWNvbmRzCgoyMDEyLTEwLTI5IDEyOjM3OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBkZWM6IGNoYWluIHVwIHRvIHBhcmVudCBiZWZvcmUgZG93bndhcmQgc3RhdGUgY2hhbmdlCgoyMDEyLTEwLTEyIDE4OjUzOjE2ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogYXVkaW86IEZpeCBhIGxlYWsgaW4gc2JjZGVjCgoyMDEyLTA5LTI2IDA5OjU0OjAxICswODAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBhdWRpbzogSW5pdGlhbGlzZSBTQkMgZGF0YSBiZWZvcmUgdXNlIGluIHNiY3BhcnNlIGVsZW1lbnQKCjIwMTItMDgtMjEgMTE6NDk6MjQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCB0cml2aWFsIGNvZGluZyBzdHlsZSBpc3N1ZXMgb24gcG9pbnRlciBkZWNsYXJhdGlvbnMgYW5kIGNhc3RpbmcKCSAgQXZvaWQgdXNpbmcgQysrIHN0eWxlIHBvaW50ZXIgZGVjbGFyYXRpb25zIGxpa2UgImNoYXIqIHB0ciIsIGFzIG1vc3QKCSAgQmx1ZVogY29kZSB1c2VzICJjaGFyICpwdHIiLgoKMjAxMi0wNC0xMiAyMDozMzowNiArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBhdWRpbzogRml4IG5ld2xpbmUgYmVmb3JlIEVPRgoKMjAxMS0wNy0wMiAxMjozMjo0MCAtMDMwMCAgTHVjYXMgRGUgTWFyY2hpIDxsdWNhcy5kZW1hcmNoaUBwcm9mdXNpb24ubW9iaT4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBjb21tb24gbWlzc3BlbGxlZCB3b3JkcwoJICBBY2NvdW50aW5nIG9mIG1pc3NwZWxsZWQgd29yZHMsIGFzIGRldGVjdGVkIGJ5IGNvZGVzcGVsbDoKCSAgYWNvcmRpbmcgICAgICAyCgkgIGFuY2lsbGlhcnkgICAgMQoJICBhcHByb3BpYXRlICAgIDEKCSAgYXRyaWJ1dGUgICAgICAxCgkgIGNhbnQgICAgICAgICAgMQoJICBjb21taW5nICAgICAgIDIKCSAgZ3JhY2VmdWxsICAgICAxCgkgIGxlbmdodCAgICAgICAgMQoJICBtaXNwZWxsZWQgICAgIDEKCSAgb2NjdXJlZCAgICAgICAxCgkgIG9jY3VyZW5jZXMgICAgMQoJICBvY3VycmVkICAgICAgIDMKCSAgcHJlZmVyZWQgICAgICAxCgkgIHByZXNlbnNlICAgICAgMQoJICByZXBvbnNlICAgICAgIDEKCSAgc2VwZXJhdGUgICAgICAxCgkgIHN1Y2Nlc2Z1bCAgICAgMQoJICBzdWNjZXNzdWxseSAgIDEKCSAgc3VjZXNzZnVsbCAgICAxCgkgIHN1Y2Vzc2Z1bGx5ICAgMQoKMjAxMS0wMi0xMyAxNzo1MTo0NSAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJICBzYmM6IGF1ZGlvOiBSZW1vdmUgd29ya2Fyb3VuZCBmb3IgY29tcGlsZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6NTk6MzAgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBBZGQgcHJhZ21hIGJhc2VkIHdvcmthcm91bmQgZm9yIEdTdHJlYW1lciB3YXJuaW5ncwoKMjAxMC0wMS0wMSAxNzowODoxNyAtMDgwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA5LTA0LTAxIDEwOjQ1OjMwIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDQtMDEgMTA6Mjk6MzEgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkgIHNiYzogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZS4KCjIwMDktMDEtMzAgMDA6MzE6MTUgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiBpc3N1ZSB3aXRoaW4gR1N0cmVhbWVyIHBsdWdpbgoKMjAwOS0wMS0xOSAxMDoyNjoyOCArMDIwMCAgU2lhcmhlaSBTaWFtYXNoa2EgPHNpYXJoZWkuc2lhbWFzaGthQGdtYWlsLmNvbT4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogVXNlIG5hdGl2ZSBieXRlIG9yZGVyIGZvciBhdWRpbyBpbiBHU3RyZWFtZXIgYW5kIEFMU0EgcGx1Z2lucwoJICBUaGlzIGZpeGVzIGVuZGlhbm5lc3MgaW5jb25zaXN0ZW5jeSBiZXR3ZWVuIGRlZmF1bHQgU0JDCgkgIGNvbmZpZ3VyYXRpb24gYW5kIEdTdHJlYW1lci9BTFNBLgoKMjAwOS0wMS0wMSAxOTozMzoyMCArMDEwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmg6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRmlyc3QgYXR0ZW1wdCBpbiBmaXhpbmcgY29tcGlsZXIgd2FybmluZ3MgKHN0aWxsIG5lZWRzIGNsZWFudXApCgoyMDA4LTEyLTIzIDA0OjIxOjU3ICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBBc3NpZ24gdmFyaWFibGVzIGFmdGVyIGRlY2xhcmF0aW9ucwoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogTW9yZSBjb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMDItMjAgMTM6Mzc6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGaXggcnVudGltZSB3YXJuaW5ncyBvZiBnc3RyZWFtZXIgcGx1Z2luLgoKMjAwOC0wMi0xOSAxOTo0OToyNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNkZWMuaDoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IFVwZGF0ZSBnc3RyZWFtZXIgcGx1Z2luIHRvIHVzZSBuZXcgc2JjIEFQSS4KCjIwMDgtMDItMTQgMjE6MjI6MzggKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IE1ha2UgdXNlIG9mIHBhcmFtZXRlcnMgc2VsZWN0ZWQgaW4gYWxzYSBwbHVnaW4gYW5kIGZpeCBhdXRvIHNlbGVjdGlvbi4KCjIwMDgtMDItMDIgMDM6Mzc6MDUgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOC0wMi0wMSAxOToyODozNyArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBiaXRwb29sIHByb3BlcnR5IGFuZCBvdGhlcnMgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTMwIDE3OjMwOjI3ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBFbmFibGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgYXV0b2Nvbm5lY3QgZmxhZy4KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkgIHNiYzogRml4ZXMgZ3N0cmVhbWVyIGNhcHMgYW5kIGNvZGUgY2xlYW51cC4KCjIwMDgtMDEtMjQgMTQ6MjU6MjkgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IEZpeCBndHJlYW1lciBwYXlsb2FkZXIgc2VuZGluZyBmcmFnbWVudGVkIGZyYW1lcy4KCjIwMDgtMDEtMjMgMTM6MTk6MzIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuaDoKCSAgc2JjOiBBZGQgbXAzIHN1cHBvcnQgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IE1ha2UgYTJkcHNpbmsgdG8gYWN0IGxpa2UgYSBiaW4gYW5kIHNwbGl0IHRoZSBwYXlsb2FkZXIuCgoyMDA3LTExLTIzIDE3OjAwOjEzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJICBzYmM6IENvZGUgY2xlYW51cC4KCjIwMDctMTEtMjEgMjA6MjQ6MTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEludGVncmF0ZSBuZXcgaXBjIEFQSSBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMTEtMTMgMjA6MDQ6MTIgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkgIHNiYzogQWRkIHNiY19yZWluaXQuCgoyMDA3LTExLTEyIDIyOjIxOjQ1ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEZpeCBidWcgaW4gc2JjZW5jIHdoZW4gY2hhbmdpbmcgZW5jb2RlciBwYXJhbWV0ZXJzLgoKMjAwNy0xMS0xMiAxODoxNTo1OSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSAgc2JjOiBNYWtlIHNiYyBjb2RlYyB0byB3cml0ZSBkaXJlY3RseSBpbiBhcHBsaWNhdGlvbiBidWZmZXJzIGFuZCBzbyBhdm9pZGluZyBtZW1jcHlzLgoKMjAwNy0xMS0wMSAxOTo0NTowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNlbmMuaDoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogRml4IHNiYyBuZWdvdGlhdGlvbiBhbmQgaW1wcm92ZXMgYnVmZmVyIGhhbmRsaW5nIGJ5IHVzaW5nIEdzdEFkYXB0ZXIuCgoyMDA3LTExLTAxIDEzOjU2OjUxICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJICBzYmM6IEZpeCBidWZmZXJzIHRpbWVzdGFtcHMgaW4gc2JjZW5jLgoKMjAwNy0xMC0yOSAxNTowMjoyNiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNlbmMuYzoKCSogZXh0L3NiYy9nc3RzYmNwYXJzZS5jOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmg6CgkgIHNiYzogQWRkIGJpdHBvb2wgY2FwYWJpbGl0eS4KCjIwMDctMTAtMjQgMjE6NTE6MzcgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBTb21lIG1vcmUgY29kaW5nIHN0eWxlIGNoYW5nZXMKCjIwMDctMTAtMjQgMjE6MzY6MjkgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5jOgoJICBzYmM6IERvbid0IGZvcmdldCB0byBpbmNsdWRlIHRoZSBjb25maWcgb3B0aW9ucwoKMjAwNy0xMC0yNCAyMTozMzoxOCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEZpeCBjb2Rpbmcgc3R5bGUgaXNzdWVzCgoyMDA3LTEwLTE4IDIyOjQ2OjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4IGNvZGluZyBzdHlsZSBpc3N1ZXMuCgoyMDA3LTEwLTE4IDIxOjQ3OjUzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkgIHNiYzogRml4ZXMgc2JjcGFyc2VyIGVsZW1lbnQuCgoyMDA3LTEwLTE4IDIxOjQ2OjQ5ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2VuYy5jOgoJKiBleHQvc2JjL2dzdHNiY2VuYy5oOgoJKiBleHQvc2JjL2dzdHNiY3V0aWwuYzoKCSAgc2JjOiBGaXhlcyBmb3IgZ3N0c2JjZW5jLgoKMjAwNy0xMC0xOCAyMTo0NToxNCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogZXh0L3NiYy9nc3RzYmN1dGlsLmM6CgkqIGV4dC9zYmMvZ3N0c2JjdXRpbC5oOgoJICBzYmM6IEFkZCBnc3RzYmN1dGlsLmMgYW5kIGdzdHNiY3V0aWwuaC4KCjIwMDctMDgtMjcgMTQ6MTA6MDAgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuYzoKCSAgc2JjOiBGb3JjZSBMSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgQllURV9PUkRFUiBmb3Igbm93CgoyMDA3LTA4LTI2IDEzOjU5OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY3BhcnNlLmM6CgkqIGV4dC9zYmMvZ3N0c2JjcGFyc2UuaDoKCSAgc2JjOiBJbXBsZW1lbnQgZnVsbCBwYXJzaW5nIHN1cHBvcnQKCjIwMDctMDgtMjYgMTM6MTI6NDcgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQWRkIG1vZGUgcHJvcGVydHkgdG8gdGhlIGVuY29kZXIKCjIwMDctMDgtMjUgMTk6MzI6MDMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogSW1wbGVtZW50IGZ1bGwgZW5jb2Rpbmcgc3VwcG9ydAoKMjAwNy0wOC0yNSAxODo1MDoyOCArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogZXh0L3NiYy9nc3RzYmNkZWMuYzoKCSAgc2JjOiBGaXggY2xhc3MgdmFyaWFibGUgbmFtaW5nCgoyMDA3LTA4LTI1IDE3OjM3OjA1ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJICBzYmM6IExpbWl0IHRoZSBzdXBwb3J0ZWQgb3V0cHV0IHJhdGVzCgoyMDA3LTA4LTI1IDE3OjAzOjAzICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBleHQvc2JjL2dzdHNiY2RlYy5jOgoJKiBleHQvc2JjL2dzdHNiY2RlYy5oOgoJICBzYmM6IEltcGxlbWVudCBmdWxsIGRlY29kaW5nIHN1cHBvcnQKCjIwMDctMDgtMjMgMTk6MTI6MjMgKzAwMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZGVjLmg6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmM6CgkqIGV4dC9zYmMvZ3N0c2JjZW5jLmg6CgkgIHNiYzogQWRkIFNCQyBlbmNvZGVyIGFuZCBkZWNvZGVyIHNrZWxldG9ucyBmb3IgR1N0cmVhbWVyCgoyMDEzLTAzLTI3IDA5OjA4OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IE1ha2Ugc3VyZSB0aGF0IGFsbCBidWZmZXJzIGluIG91ciBwb29sIGNvbnRhaW4gb3VyIG93biBtZW1vcnkKCjIwMTMtMDMtMjYgMTU6MjI6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSAgd2FzYXBpOiBJbml0aWFsIHBvcnQgdG8gMS4wCgkgIFRoaXMgc2hvdWxkIHJlYWxseSB1c2UgR3N0QXVkaW9TaW5rIGFuZCBHc3RBdWRpb1NyYy4KCjIwMTMtMDMtMjYgMTU6MDE6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJICB3YXNhcGk6IEluY2x1ZGUgY29uZmlnLmggYmVmb3JlIGFueXRoaW5nIGVsc2UKCjIwMTMtMDMtMjYgMTQ6MTU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIHN1cHBvcnQgZm9yIGNyb3AgbWV0YQoKMjAxMy0wMy0yNiAxMzoyMjoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IHdlIG5lZWQgYSByZWNlbnQtZW5vdWdoIGdudXRscyBmb3IgaGxzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTY1OTcKCjIwMTItMTItMjIgMjE6NTk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IEltcGxlbWVudCBhIGJ1ZmZlciBwb29sIHRoYXQgc2hhcmVzIEQzRCBzdXJmYWNlcyB3aXRoIHVwc3RyZWFtCgoyMDEyLTEyLTIyIDE5OjEyOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEFsbG9jYXRlIGEgbmV3IG9mZnNjcmVlbiBzdXJmYWNlIGZvciBldmVyeSBidWZmZXIKCSAgVGhpcyBpcyBhIHByZXBhcmF0aW9uIGZvciBpbXBsZW1lbnRpbmcgYSBidWZmZXIgcG9vbC4KCjIwMTMtMDMtMjUgMTg6MDQ6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogVXNlICUwM3UgZm9yIGZvcm1hdCBpbiBnc3RfcGFkX2NyZWF0ZV9zdHJlYW1faWRfcHJpbnRmKCkKCjIwMTMtMDMtMjUgMTM6NDg6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZGVjLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuYzoKCSAgc3J0cDogRml4IGZpbHRlciBoYW5kbGluZyBpbiBjYXBzIG5lZ290aWF0aW9uIHRvIGtlZXAgZmlsdGVyIGNvbnRlbnQKCjIwMTMtMDMtMjUgMDk6NDU6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBmaXggYnVpbGQgZm9yIG9iamMKCSAgVGhlIG9iai1jIGFwaSB2ZXJzaW9uIG9wdGlvbiBpcyByZXF1aXJlZCB0byBnZXQgYXBwbGVtZWRpYSB0bwoJICBidWlsZCBmb3IgaW9zLCBvdGhlcndpc2UgaXQgd29uJ3QgZmluZCBzb21lIHN5bWJvbHMgZHVyaW5nIGxpbmtpbmcKCjIwMTMtMDMtMjUgMTA6MTA6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2VkOiBzZXQgYm90aCBEVFMgYW5kIFBUUwoJICBIYW5kbGUgYm90aCBkdHMgYW5kIHB0cyBvbiBvdXRwdXQgYnVmZmVycy4KCjIwMTMtMDMtMTAgMTI6MTc6MDUgKzEzMDAgIERvdWdsYXMgQmFnbmFsbCA8ZG91Z2xhc0BwYXJhZGlzZS5uZXQubno+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiByZW1vdmUgdW51c2VkIGN1cnJlbnRfcHJvZ3JhbV9udW1iZXIgZmllbGQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDkzNAoKMjAxMy0wMy0yMiAxOTo0MDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IHNlbmQgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBhbHNvIGluIHB1c2ggbW9kZQoJICBXaGVuIGNvbnZlcnRpbmcgdGhlIGluY29taW5nIHNlZ21lbnQgZnJvbSBieXRlIHRvIHRpbWUgZm9ybWF0LAoJICBkb24ndCBqdXN0IGNvbnZlcnQgdGhlIHN0YXJ0L3N0b3AvdGltZSB2YWx1ZXMsIGJ1dCBhbHNvIGNoYW5nZQoJICB0aGUgc2VnbWVudCBmb3JtYXQgdG8gVElNRS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM2MQoKMjAxMy0wMy0yMiAxNTozMDozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggYnVpbGQgaWYgZ251dGxzIGlzIG5vdCBwcmVzZW50CgkgIFNraXAgYnVpbGQgb2YgaGxzIHBsdWdpbiBpZiBnbnV0bHMgaGVhZGVycyBjYW4ndCBiZSBmb3VuZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjM5MgoKMjAxMy0wMy0yMiAxNTo0OToxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IFVzZSB0aGUgY29ycmVjdCBzdHJpZGVzIGFzIHVzZWQgYnkgeTRtIGFuZCBjb252ZXJ0IHRvIEdTdHJlYW1lciBzdHJpZGVzIGlmIG5lY2Vzc2FyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk2MzYxCgoyMDEzLTAzLTIyIDE1OjE5OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvTWFrZWZpbGUuYW06CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkZGVjLmg6CgkgIGZsdWlkc3ludGg6IHJlbmFtZSB0byBmbHVpZGRlYwoJICBSZW5hbWUgdGhlIGZsdWlkc3ludGggcGx1Z2luIHRvIGZsdWlkc3ludGhtaWRpIGFuZCB0aGUgZGVjb2RlcgoJICB0byBmbHVpZGRlYyB0byBhdm9pZCBjb25mbGljdHMgd2l0aCBidXp6dGFyZC4KCjIwMTMtMDMtMjIgMTQ6NTI6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBVc2UgdGhlIGRlZmF1bHQgZXZlbnQvcXVlcnkgaGFuZGxlcnMgZm9yIHRoZSBkZWZhdWx0IGhhbmRsaW5nCgkgIEVzcGVjaWFsbHkgZG9uJ3QgZm9yd2FyZCBjYXBzIGV2ZW50cyBmcm9tIHRoZSBzaW5rcGFkIHRvIHRoZSBzcmNwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTYyODIKCjIwMTMtMDMtMjIgMTQ6Mzc6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBQcm9wZXJseSBoYW5kbGUgc2VnbWVudCBhbmQgdGltZSB2YWx1ZXMgb2YgLTEKCjIwMTMtMDMtMjIgMTQ6NDg6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpLmM6CgkgIG1pZGk6IHNldCBtaWRpIHBhcnNlciByYW5rIHByaW1hcnkKCSAgTm93IHRoYXQgaXQgc3VwcG9ydHMgc2Vla2luZyBhbmQgYWxsLCBtYXJrIGl0IHByaW1hcnkKCjIwMTMtMDMtMjIgMTM6NDk6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBhbHdheXMgc2VlayBiYWNrIHRvIGJlZ2lubmluZwoJICBXZSBhbHdheXMgbmVlZCB0byBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBiZWNhdXNlIHdoZW4gd2UgZG8gYSBmbHVzaGluZyBzZWVrLAoJICB3ZSBtaWdodCBoYXZlIGxvc3QgZXZlbnRzIGRvd25zdHJlYW0uCgoyMDEzLTAzLTIyIDEzOjQ4OjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBmaXggZGVidWcgb2Ygc2VnbWVudCBzdHJ1Y3R1cmUKCjIwMTMtMDMtMjIgMTM6NDg6MDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguaDoKCSAgZmx1aWRzeW50aDogaGFuZGxlIGRpc2NvbnQKCjIwMTMtMDMtMjIgMTI6MjU6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogaW1wbGVtZW50IHNlZWtpbmcKCSAgU2VlayBiYWNrIHRvIDAgZm9yIGJhY2t3YXJkIHNlZWtpbmcgYW5kIGxldCB0aGluZ3MgcnVuIGFuZCBjbGlwIGZvciBmb3J3YXJkcwoJICBzZWVraW5nLgoKMjAxMy0wMy0yMiAxMjoxNjo0NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogcmVzZXQgb24gZmx1c2ggYW5kIHN0YXRlIGNoYW5nZQoKMjAxMy0wMy0yMiAxMTowNDoxMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBhZGQgcHJvcGVydGllcwoJICBBZGQgcHJvcGVydGllcy4KCSAgVHJ5IHRvIGZpbmQgYSBnb29kIGRlZmF1bHQgc291bmRmb250IHdoZW4gbm90IHNwZWNpZmllZC4KCjIwMTMtMDMtMjIgMDg6NTQ6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IGxvZyBtaWRpIHRpY2sgZXZlbnQKCjIwMTMtMDMtMjIgMDg6NTQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmM6CgkgIGZsdWlkc3ludGg6IHJlZGlyZWN0IGxvZ2dpbmcgdG8gZ3N0IGxvZ2dpbmcgZnVuY3Rpb25zCgoyMDEzLTAzLTIxIDE4OjE4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogc2ltcGxpZnkgdGhlIGNhbGxiYWNrcwoJICBXZSBvbmx5IG5lZWQgb25lIGNhbGxiYWNrIHRvIHNlbmQgYnl0ZXMgb3V0LgoKMjAxMy0wMy0yMSAxODoxNzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSAgZmx1aWRzeW50aDogaW1wcm92ZSBkZWJ1ZwoKMjAxMy0wMy0yMSAxNzoyNTozMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGNsZWFuIHVwIHRyYWNrcwoKMjAxMy0wMy0yMSAxNzoxNjoyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBkb24ndCBsZWFrIG1pZGkgZGF0YQoKMjAxMy0wMy0yMSAxNzowNTozNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbHVpZHN5bnRoL2dzdGZsdWlkc3ludGguYzoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5oOgoJICBmbHVpZHN5bnRoOiBwcm9kdWNlIG1vcmUgYWNjdXJhdGUgdGltZXN0YW1wcwoKMjAxMy0wMy0yMSAxNjowNTo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IHNtYWxsIGNsZWFudXBzIGluIGVycm9yIHBhdGhzCgoyMDEzLTAzLTIxIDE2OjA1OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmM6CgkgIG1pZGlwYXJzZTogZHVyYXRpb24gaXMgbWF4IG9mIGFsbCB0cmFjayBkdXJhdGlvbnMKCjIwMTMtMDMtMjEgMTY6MDQ6MzIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBmaXgga2xhc3MKCjIwMTMtMDMtMjEgMTU6NDM6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5KCkKCjIwMTMtMDMtMjEgMTU6MDA6MTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSogZ3N0L21pZGkvbWlkaXBhcnNlLmg6CgkgIG1pZGlwYXJzZTogVXBkYXRlIGR1cmF0aW9uCgkgIFJld29yayB0aGluZ3MgYSBiaXQgc28gdGhhdCB3ZSBjYW4gcnVuIG92ZXIgdGhlIG1pZGkgZXZlbnRzIGFuZCBmaXJlIGNhbGxiYWNrcwoJICBmb3IgZWFjaCBvZiB0aGVtLiBXZSBjYW4gdGhlbiB1c2UgdGhhdCBmb3IgY2FsY3VsYXRpbmcgdGhlIGR1cmF0aW9uIGFuZCBhbHNvIGZvcgoJICBkb2luZyBwbGF5YmFjay4KCSAgT25seSBwYXJzZSBhcyBtYW55IHRyYWNrcyBhcyBzcGVjaWZpZWQgaW4gdGhlIGhlYWRlci4KCSAgRml4IGRlZmF1bHQgdGVtcG87CgkgIFNlbmQgTUlESSB0aWNrIGV2ZW50cyBldmVyeSAxMG1zCgoyMDEzLTAzLTIxIDE0OjU3OjQzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJICBmbHVpZHN5bnRoOiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0yMSAwOTozMDo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJICBtaWRpcGFyc2U6IGhhbmRsZSBtaWRpIGluIFJJRkYKCjIwMTMtMDMtMjEgMDc6MjE6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuYzoKCSAgbWlkaXBhcnNlOiBzbWFsbCBmaXhlcwoKMjAxMy0wMy0yMSAwNzowNzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taWRpL21pZGkuYzoKCSAgbWlkaTogc2V0IHJhbmsgYXMgbWFyZ2luYWwKCSAgU2V0IHRoZSBtYXJrIHRvIG1hcmdpbmFsIHVudGlsIHdlIGltcGxlbWVudCBtb3JlIGZlYXR1cmVzLgoKMjAxMy0wMy0yMSAwNzowNTo1NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmx1aWRzeW50aC9NYWtlZmlsZS5hbToKCSogZXh0L2ZsdWlkc3ludGgvZ3N0Zmx1aWRzeW50aC5jOgoJKiBleHQvZmx1aWRzeW50aC9nc3RmbHVpZHN5bnRoLmg6CgkgIGZsdWlkc3ludGg6IGFkZCBmbHVpZHN5bnRoIG1pZGkgcmVuZGVyZXIKCSAgQWRkIGEgZmx1aWRzeW50aCBlbGVtZW50IHRoYXQgY29udmVydHMgbWlkaSBldmVudHMgaW50byByYXcKCSAgZmxvYXQgc2FtcGxlcy4KCjIwMTMtMDMtMjEgMDY6NTA6NTIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9taWRpL01ha2VmaWxlLmFtOgoJKiBnc3QvbWlkaS9taWRpLmM6CgkqIGdzdC9taWRpL21pZGlwYXJzZS5jOgoJKiBnc3QvbWlkaS9taWRpcGFyc2UuaDoKCSAgbWlkaXBhcnNlOiBhZGQgYmFzaWMgbWlkaSBwYXJzZXIKCSAgUGFyc2VzIG1pZGkgZmlsZXMgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIG1pZGkgZXZlbnRzLgoKMjAxMy0wMy0yMCAxNToyOTo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaXZ0Yy9NYWtlZmlsZS5hbToKCSAgaXZ0YzogZml4IG1ha2UgZGlzdAoKMjAxMy0wMy0yMCAxNToyNTo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIERpc3QgaGxzIGFzIHdlbGwKCjIwMTMtMDMtMjAgMTU6MTk6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFjdHVhbGx5IGJ1aWxkIGhscyBwbHVnaW4KCjIwMTMtMDMtMjAgMTA6NDk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSAgZGVja2xpbmtzaW5rOiBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0xOSAxNjozOTowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGNvbWJkZXRlY3QsaXZ0YzogY29kZSBjbGVhbnVwCgoyMDEzLTAzLTE5IDE3OjI4OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IHJlbW92ZSBzaW5rcGFkL3NyY3BhZCBmaWVsZHMKCSAgSW5mb3JtYXRpb24gaXMgaW4gdGhlIGJhc2UgY2xhc3MgYW55d2F5LCBwbHVzIHBhZCBjcmVhdGlvbiB3YXMKCSAgZG9uZSBpbmNvcnJlY3RseS4KCjIwMTMtMDMtMTkgMTI6MTk6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBvdXRwdXQgcHJvZ3Jlc3NpdmUgdmlkZW8KCjIwMTMtMDMtMTggMTY6MjI6NTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBjb2RlIGNsZWFudXAKCjIwMTMtMDMtMTIgMTc6NDc6NTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0Y29tYmRldGVjdC5jOgoJICBjb21iZGV0ZWN0OiBzd2l0Y2ggdG8gemVicmEgc3RyaXBpbmcKCjIwMTMtMDMtMDggMTc6MDI6MTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJICBpdnRjOiBkcm9wIGVhcmx5IGZpZWxkcwoKMjAxMy0wMi0yMCAxNTozMjoxNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdnRjL01ha2VmaWxlLmFtOgoJKiBnc3QvaXZ0Yy9nc3Rjb21iZGV0ZWN0LmM6CgkqIGdzdC9pdnRjL2dzdGNvbWJkZXRlY3QuaDoKCSogZ3N0L2l2dGMvZ3N0aXZ0Yy5jOgoJKiBnc3QvaXZ0Yy9nc3RpdnRjLmg6CgkgIGl2dGM6IG5ldyBpbnZlcnNlIHRlbGVjaW5lIGZpbHRlcgoJICBUaGlzIGZpbHRlciBjb252ZXJ0cyBpbnRlcmxhY2VkIGNvbnRlbnQgdGhhdCB3YXMgb3JpZ2luYWxseQoJICB0ZWxlY2luZSdkIGZyb20gMjQgZnBzIChvciBzaW1pbGFyKSBwcm9ncmVzc2l2ZSBjb250ZW50LiAgSXQgd29ya3MKCSAgYXBwcm94aW1hdGVseSBsaWtlIHZpZGVvcmF0ZSwgYnV0IHdpdGggYXdhcmVuZXNzIG9mIGludGVybGFjaW5nLgoJICBJdCBtZXJnZXMgbmVpZ2hib3JpbmcgZmllbGRzIGluIHRoZSBpbnB1dCBpbnRlcmxhY2VkIHN0cmVhbSB3aXRoCgkgIHRoZSBnb2FsIG9mIG1pbmltaXppbmcgY29tYmluZyBhcnRpZmFjdHMsIHdoaWxlIGtlZXBpbmcgdGhlIG91dHB1dAoJICBmcmFtZXJhdGUgY29uc3RhbnQuICBJZiBpdCBjYW5ub3QgYXZvaWQgY29tYmluZyBhcnRpZmFjdHMsIGl0IHdpbGwKCSAgcmVjb25zdHJ1Y3QgdGhlIGltYWdlIGZyb20gYSBzaW5nbGUgZmllbGQuICBOb3RlIHRoYXQgdGhpcyBmaWx0ZXIKCSAgZG9lcyBub3QgYXV0b2RldGVjdCB0aGUgZnJhbWVyYXRlLCBidXQgd2lsbCBhdXRvbWF0aWNhbGx5IGZpeGF0ZQoJICBhdCAyNCBmcHMuCgoyMDEzLTAzLTE5IDE0OjMxOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkgIGVnbDogRml4IHNvbWUgcmV0dXJuIHZhbHVlcyBpbiBnX3JldHVybl92YWxfaWZfZmFpbCgpCgoyMDEzLTAzLTE5IDEzOjU0OjAwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggZXZlbnQgYW5kIHF1ZXJ5IGhhbmRsZXIKCSAgQ2FsbCB0aGUgZGVmYXVsdCBpbXBsZW1lbnRhdGlvbiBmb3IgdW5rbm93biBldmVudHMgYW5kIHF1ZXJpZXMuCgkgIEZpeCBldmVudCBsZWFrLgoKMjAxMy0wMy0xOSAxMDo0NzoyNSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvTWFrZWZpbGUuYW06CgkqIGV4dC9obHMvZ3N0ZnJhZ21lbnQuYzoKCSogZXh0L2hscy9nc3RmcmFnbWVudC5oOgoJKiBleHQvaGxzL2dzdGZyYWdtZW50ZWQuaDoKCSogZXh0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkqIGV4dC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZXh0L2hscy9nc3RobHNkZW11eC5oOgoJKiBleHQvaGxzL2dzdGhsc3NpbmsuYzoKCSogZXh0L2hscy9nc3RobHNzaW5rLmg6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGV4dC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGV4dC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBleHQvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZXh0L2hscy9tM3U4LmM6CgkqIGV4dC9obHMvbTN1OC5oOgoJICBNYWtlIHRoZSBobHMgcGx1Z2luIGRlcGVuZCBvbiBnbnV0bHMgYW5kIG1vdmUgdG8gZXh0L2hscy8KCSAgZ251dGxzIGlzIHVzZWQgdG8gaW1wbGVtZW50IEFFUyBkZWNyeXB0aW9uCgoyMDEzLTAzLTE5IDEwOjI2OjE0ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHVzZSBnbnV0bHMgaW5zdGVhZCBvZiBvcGVuc3NsCgoyMDEzLTAzLTE5IDA4OjQ5OjIxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogc3VwcG9ydCBlbmNyeXB0ZWQgc3RyZWFtcwoKMjAxMy0wMy0xOSAxMDoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHBvcnQgd2lsZG1pZGkKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NjA0MQoKMjAxMy0wMy0xOCAyMToxMjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogb2J0YWluIGNsYXNzIGZyb20gb2JqZWN0CgoyMDEzLTAzLTE4IDIxOjAxOjU5ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvbTN1OC5jOgoJICBobHNkZW11eDogZml4IGludmFsaWQgZnJlZSgpIGludHJvZHVjZWQgYnkgbGFzdCBjb21taXQKCjIwMTMtMDMtMDcgMjI6MTk6MTUgKzAwMDAgIEtldmluIFRob3JuYmVycnkgPGdpbW1lYW1pbGtidHRmQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOgoJICBtcGVndHNtdXg6IGZpeCBjcmVhdGlvbiBvZiBBRFRTIGhlYWRlciBmb3IgQUFDIGF1ZGlvIGluIE1QRUctVFMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTQxMgoKMjAxMy0wMy0xOCAwNzozNDoxMyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBwYXJzZSAjRVhULVgtS0VZIHRhZ3MKCjIwMTMtMDMtMTggMDc6MjI6MzYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmYWN0b3Igb3V0IFVSSSBqb2luaW5nIHV0aWxpdHkKCjIwMTMtMDMtMTggMDc6MDI6NTQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBmaXggVVJJIHBhcnNpbmcgZm9yIGFic29sdXRlIGZyYWdtZW50IHBhdGhzCgoyMDEzLTAzLTE2IDIzOjMyOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHNldCBkaXNjb250IGZsYWcgb24gZmlyc3QgYXVkaW8gYnVmZmVyIHRvbwoKMjAxMy0wMy0xNiAyMzoyOTozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBhZ2dyZWdhdGUgYXVkaW8gYW5kIHZpZGVvIGZsb3cgcmV0dXJucwoJICBBbmQgcGF1c2UgdGFzayBpbiBzb21lIG1vcmUgY2FzZXMgd2hlcmUgd2Ugc2hvdWxkCgkgIHBhdXNlIHRoZSB0YXNrLgoKMjAxMy0wMy0xNiAyMTozOToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGlua3NyYzogYWRkIHNlbmRfZXZlbnQgaGFuZGxlciBzbyBhcHBsaWNhdGlvbiBjYW4gaW5qZWN0IEVPUyBldmVudAoJICBUaGlzIGlzIG5lZWRlZCB0byBzaHV0IGRvd24gYSByZWNvcmRpbmcgcGlwZWxpbmUgY2xlYW5seS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDcwMAoKMjAxMy0wMy0xNiAyMTozNDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc3JjOiBwYXVzZSBzdHJlYW1pbmcgdGhyZWFkIGFuZCBzZW5kIEVPUyBldmVudCBvbiBlcnJvcgoJICBJbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBFT1MgbWVzc2FnZSBhbmQgY29udGludWluZywKCSAgYWN0dWFsbHkgcGF1c2UgdGhlIHRocmVhZC4KCjIwMTMtMDMtMTYgMTM6MTM6MTQgLTA0MDAgIEplYW4tRnJhbsOnb2lzIEZvcnRpbiBUYW0gPG5la29oYXlvQGdtYWlsLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogaW1wcm92ZSByZWFkYWJpbGl0eSBvZiBSR0IgYW5kIFhZIHByb3BlcnR5IG5pY2tuYW1lIHN0cmluZ3MKCSAgQWxzbyBmaXggdGhlIFkgcHJvcCBuaWNrbmFtZSBzdHJpbmcgYmVpbmcgaW5jb3JyZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODg0CgoyMDEzLTAzLTE2IDEzOjA3OjI1IC0wNDAwICBKZWFuLUZyYW7Dp29pcyBGb3J0aW4gVGFtIDxuZWtvaGF5b0BnbWFpbC5jb20+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IGZpeCBuaWNrbmFtZXMgZm9yIGNvbG9yIGFuZCBwb3NpdGlvbiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTU4ODQKCjIwMTMtMDMtMTUgMjA6MjE6NDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgZGVja2xpbmsgYXMgcG9ydGVkCgoyMDEzLTAzLTE1IDAwOjI1OjQzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZC10ZW1wbGF0ZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBlbGVtZW50LW1ha2VyOiBjbGVhbiB1cCBiaXRzIGZyb20gcHJldmlvdXMgY29tbWl0CgkgIEZpbGVzIHRoYXQgd2VyZSBzdXBwb3NlZCB0byBiZSBpbiB0aGUgcHJldmlvdXMgZWxlbWVudC1tYWtlcgoJICBjb21taXQuICBUaGlzIGlzIHdoYXQgaGFwcGVucyB3aGVuIGNoZXJyeS1waWNrIGRvZXNuJ3Qgd29yay4KCjIwMTMtMDMtMTUgMTc6NDc6MjMgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IEZpeCBtYWtlIGRpc3QKCSAgTWlzc2luZyBiaXRzIG9mIGI0NWExZGY1ZGVhZGIwMjlkY2JlNDUyMmYwMTE2ZDM0ZjFjZDJmMWUKCjIwMTMtMDMtMTUgMDk6Mjk6NDIgKzAxMDAgIEpvc2UgQW50b25pbyBTYW50b3MgQ2FkZW5hcyA8c2FudG9zY2FkZW5hc0BnbWFpbC5jb20+CgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkgIHNydHA6IGZpeCBjb21waWxhdGlvbiB3YXJuaW5nIHJldHVybmluZyBOVUxMIGluIGNhc2Ugb2YgZXJyb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTg5NwoKMjAxMy0wMy0xNSAwOToyNzozNiArMDEwMCAgSm9zZSBBbnRvbmlvIFNhbnRvcyBDYWRlbmFzIDxzYW50b3NjYWRlbmFzQGdtYWlsLmNvbT4KCgkqIGV4dC9zcnRwL2dzdHNydHAuYzoKCSAgc3J0cDogdXNlIGNvbnN0YW50IEFFU18xMjhfSUNNIGluc3RlYWQgb2YgQUVTX0lDTSB0aGF0IGlzIG5vdCBmb3VuZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1ODk3CgoyMDEzLTAzLTAxIDE2OjUyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zZWdtZW50Y2xpcC9nc3R2aWRlb3NlZ21lbnRjbGlwLmM6CgkgIHZpZGVvc2VnbWVudGNsaXA6IERvbid0IGxlYWsgYnVmZmVycyBhZnRlciBzZWdtZW50CgoyMDEzLTAzLTEyIDE3OjMyOjUxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOgoJICB2aWRlb3NpZ25hbDogYWRkIEZJWE1FIGZvciBmdXR1cmUgcmV2aXZhbAoKMjAxMy0wMy0xNCAyMzo1NzowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2U6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3Npbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VhdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLWF1ZGlvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtYXVkaW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2RlY29kZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZW5jb2RlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXI6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyMjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHRlbXBsYXRlcyBmb3IgMS4wCgkgIFRoaXMgYXJlIChhbG1vc3QpIGNvbXBsZXRlbHkgYXV0b2dlbmVyYXRlZCBmcm9tIHRoZSBkb2N1bWVudGF0aW9uLgoKMjAxMy0wMi0wNSAxNjozNDoyMCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgbXhmZGVtdXg6IEFkZCBhIHNlY29uZCBNWEYgVUwgZm9yIHVuY29tcHJlc3NlZCBhdWRpbwoKMjAxMy0wMi0wNSAxNTo1ODo1MyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBJZ25vcmUgbWlzc2luZyBtZXRhZGF0YSBkZXNjcmlwdG9ycwoKMjAxMy0wMy0xNCAxMjowOTo0OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHN0b3AgdGFza3MgaW4gcGF1c2VkCgkgIEEgbm9uLWxpdmUgZWxlbWVudCBpcyBzdXBwb3NlZCB0byBjb250aW51ZSBzdHJlYW1pbmcgaW4gdGhlIHBhdXNlZCBzdGF0ZSBzbwoJICBkb24ndCBzdG9wIHRoZSB0YXNrcyB3aGVuIGdvaW5nIHRvIHBhdXNlZC4KCSAgV2UgYWxzbyBhbHdheXMgd2FudCB0byBzdGFydCB0aGUgdXBkYXRlIHRhc2sgYWZ0ZXIgd2UgcHJlcm9sbGVkIGVub3VnaCBkYXRhLAoJICBub3Qgb25seSBpbiB0aGUgcGxheWluZyBzdGF0ZS4KCjIwMTMtMDMtMTQgMTI6MDg6MzUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBhZGQgbW9yZSBkZWJ1ZwoKMjAxMy0wMy0xMyAxMjo1MDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGRpZmZlcmVudCBFR0xJbWFnZSBvcmllbnRhdGlvbnMKCjIwMTMtMDMtMTMgMTE6Mjk6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBBZGQgc3VwcG9ydCBmb3IgZGlmZmVyZW50IG9yaWVudGF0aW9ucyBvZiB0aGUgRUdMSW1hZ2UKCSAgVGhlIGNvbnRlbnQgb2YgdGhlIEVHTEltYWdlcyBjYW4gYmUgYXQgbGVhc3QgaW4gR1N0cmVhbWVyIG9yaWVudGF0aW9uLAoJICBtZWFuaW5nIHRvcCBsaW5lIGZpcnN0IGluIG1lbW9yeSwgb3IgT3BlbkdMIG9yaWVudGF0aW9uLCBtZWFuaW5nCgkgIGJvdHRvbSBsaW5lIGZpcnN0IGluIG1lbW9yeS4KCjIwMTMtMDMtMTMgMTE6MDk6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBSR0JBIHRvIHRoZSBjYXBzIGFnYWluCgoyMDEzLTAzLTEzIDAwOjI1OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBmaXggdXAgbXBlZ3RzbXV4IHVuaXQgdGVzdCBhZnRlciBjb2xsZWN0cGFkcyBjaGFuZ2UKCSAgSXQgd2FzIHBhc3NpbmcgZXhwZWN0ZWQgZmxvdyByZXR1cm5zICh3aGljaCBtaWdodCBiZSBuZWdhdGl2ZSkKCSAgaW4gdGhlIGJ1ZmZlciB0aW1lc3RhbXAgZmllbGQsIHdoaWNoIHdhcyBtYXliZSBub3QgdGhlIGJlc3QKCSAgaWRlYS4KCjIwMTMtMDMtMTEgMjE6NTU6MjggLTA2MDAgIEdyZWcgUnV0eiA8Z3JlZ0Bnc3ItdGVrLmNvbT4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBpbXByb3BlciB2aWRlbyBmcmFtZSBjbGVhciBvcGVyYXRpb24KCSAgVGhlIGN1cnJlbnQgY29kZSBpcyBtZW1zZXR0aW5nIHRoZSBHc3RWaWRlb0ZyYW1lLmRhdGEgYWRkcmVzcyB0byAwcyAod2hpY2gKCSAgY2F1c2VzIGEgc2VnZmF1bHQpLiBUaGlzIG1lbWJlciBpcyBhY3R1YWxseSBhbiBhcnJheSBvZiBkYXRhIGJ1ZmZlcnMgKG9uZSBmb3IKCSAgZWFjaCBwbGFuZSkuICBUaGlzIGZpeCBpdGVyYXRlcyBvdmVyIGVhY2ggZGF0YSBwbGFuZSB0byBjbGVhciB0aGVtIGFsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5NTY1NQoKMjAxMy0wMy0xMiAxOTo0Nzo1MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3J0cC8uZ2l0aWdub3JlOgoJKiBleHQvc3J0cC9NYWtlZmlsZS5hbToKCSogZXh0L3NydHAvZ3N0c3J0cC5jOgoJKiBleHQvc3J0cC9nc3RzcnRwLmg6CgkqIGV4dC9zcnRwL2dzdHNydHBkZWMuYzoKCSogZXh0L3NydHAvZ3N0c3J0cGRlYy5oOgoJKiBleHQvc3J0cC9nc3RzcnRwZW5jLmM6CgkqIGV4dC9zcnRwL2dzdHNydHBlbmMuaDoKCSAgc3J0cDogQWRkIFNSVFAgcGx1Z2luIGJhc2VkIG9uIGxpYnNydHAKCSAgSW4gbGFyZ2UgcGFydCB0aGUgd29yayBvZiBHYWJyaWVsIE1pbGxhaXJlCgoyMDEzLTAzLTEyIDE5OjM2OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdGhlIGJ1ZmZlciBpcyByZWxlYXNlZCB0byB0aGUgcG9vbCBpZiBpdCdzIHRoZSBsYXN0IHVzZWQgb25lCgoyMDEzLTAzLTEwIDIyOjA2OjMxICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJICBhcHBsZW1lZGlhOiBzdXBwcmVzcyB3YXJuaW5ncyBmb3IgZGVwcmVjYXRlZCBnbGliIEFQSQoKMjAxMy0wMy0xMCAyMToyMToxNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IFVzZSBjb3JyZWN0IHByaW50IGZvcm1hdCBzcGVjaWZpZXJzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wOSAwMTowNjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICBSZW1vdmUgRFRNRiBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc0MTYKCjIwMTMtMDMtMDkgMDA6MTc6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmg6CgkgIGZiZGV2OiBwb3J0IGZiZGV2c2luayB0byAxLjAKCjIwMTMtMDMtMDcgMTE6NTg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFRoZXJlIGFyZSBvbmx5IHR3byBHTFNMIHByb2dyYW1zLCBub3QgdGhyZWUKCjIwMTMtMDMtMDcgMTE6NTA6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IGdzdF9idWZmZXJfcG9vbF9jb25maWdfZ2V0X2FsbG9jYXRvcigpIGRvZXMgKm5vdCogcmV0dXJuIGEgbmV3IHJlZmVyZW5jZSB0byB0aGUgYWxsb2NhdG9yCgkgIERpZmZlcmVudCB0byBnc3RfcXVlcnlfZ2V0X25fYWxsb2NhdGlvbl9wYXJhbXMoKSB3aGljaCBkb2VzCgoyMDEzLTAzLTA3IDAwOjAxOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBhZTA1NTU4IHRvIDA0YzdhMWUKCjIwMTMtMDMtMDYgMTc6NTM6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhbGxvY2F0aW9uIG9mIFJHQkEgdGV4dHVyZXMKCjIwMTMtMDMtMDYgMTA6NTM6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBzZXQgdGhlIE5PX1NIQVJFIGZsYWcgb24gdGhlIEVHTEltYWdlIG1lbW9yaWVzCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njk1MjAzCgoyMDEzLTAzLTA1IDEyOjQ3OjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHdheXMgdXNlIGFuIFJHQkEgY29uZmlndXJhdGlvbgoKMjAxMy0wMi0yNyAxMzoxNTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2ctY29uZmlnOiBBZGQgZWdsIGxpYnJhcnkgdG8gdGhlIGdlbmVyaWMgcGtnLWNvbmZpZyBmaWxlCgoyMDEzLTAyLTI1IDEzOjQzOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcm9wZXJseSBuZWdvdGlhdGUgYW4gYWxsb2NhdG9yCgoyMDEzLTAyLTI1IDEzOjMxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVuYW1lIGdzdF9lZ2xfaW1hZ2VfbWVtb3J5X2Nhbl9tYXAoKSB0byBpc19tYXBwYWJsZSgpCgoyMDEzLTAyLTI1IDEzOjI1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkgIGVnbDogUmVtb3ZlIGJ1ZmZlciBwb29sIG9wdGlvbgoJICBUaGlzIHNob3VsZCBiZSBkb25lIGRpZmZlcmVudGx5IHZpYSB0aGUgYWxsb2NhdG9ycyBpbiB0aGUgYWxsb2NhdGlvbiBxdWVyeS4KCjIwMTMtMDItMjIgMTM6MDc6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuaDoKCSAgZWdsOiBNYXJrIG1lbW9yeSBhcyBub3QgbWFwcGFibGUgaWYgaXQgaXNuJ3QKCjIwMTMtMDItMjIgMTI6NDg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2VnbC9lZ2wuYzoKCSAgZWdsOiBJbXBsZW1lbnQgc2hhcmluZyBvZiBtZW1vcnkKCjIwMTMtMDItMjIgMTE6MjM6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFN0b3JlIGEgcmVmZXJlbmNlIHRvIHRoZSBsYXN0X2J1ZmZlciBpZiB1c2luZyBFR0xJbWFnZXMKCjIwMTMtMDItMjIgMTA6NTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5nIG9uIFJQaQoKMjAxMy0wMi0yMSAxNzo0Mzo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IFBvcnQgdG8gbmV3IEVHTCBsaWJyYXJ5CgoyMDEzLTAyLTIxIDE0OjQwOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbDogTW92ZSBjb25maWd1cmUgY2hlY2tzIGFyb3VuZCBhbmQgcmUtdXNlIGZvciBlZ2xnbGVzc2luayBwbHVnaW4KCjIwMTMtMDItMjEgMTM6Mzk6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmM6CgkqIGdzdC1saWJzL2dzdC9lZ2wvZWdsLmg6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1lZ2wtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItZWdsLnBjLmluOgoJICBlZ2w6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3IgRUdMSW1hZ2UgaGFuZGxpbmcKCjIwMTMtMDMtMDMgMTI6MzA6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogT25seSBpbmNsdWRlIDxnc3QvYXVkaW8vYXVkaW8uaD4KCjIwMTMtMDMtMDMgMTI6MzA6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjozMDoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBjb3JyZWN0IHR5cGUgc3BlY2lmaWVycyBmb3IgZm9ybWF0IHN0cmluZ3MgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEzLTAzLTAzIDEyOjI5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBVc2UgY29ycmVjdCB0eXBlIHNwZWNpZmllcnMgZm9yIGZvcm1hdCBzdHJpbmdzIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMy0wMy0wMyAxMjoyOToyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IEdTVF9FUlJPUl9PQkpFQ1QoKSBwYXJhbWV0ZXJzCgoyMDEzLTAzLTAzIDEwOjU0OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJICBmcmVldmVyYjogRml4IGNvbXBpbGVyIHdhcm5pbmcgY2F1c2VkIGJ5IHdyb25nIGZvcm1hdCBzcGVjaWZpZXIKCjIwMTMtMDMtMDEgMTU6NTg6NDAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2htLmM6CgkgIHRlc3RzOiBBZGQgdW5pdCB0ZXN0cyBmb3Igc2htc2luay9zaG1zcmMKCjIwMTMtMDMtMDEgMDA6MTA6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJICBvcGVuY3Y6IHVzZSBwa2dkYXRhZGlyIGxvY2FsbHkgdG8gY29uc3RydWN0IHBhdGggZm9yIGN1c3RvbSBoYWFyIGNhc2NhZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODU2NTUKCjIwMTMtMDEtMzAgMTQ6Mzc6MTggKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9nc3RoYW5kZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RoYW5kZGV0ZWN0X3Rlc3QuYzoKCSAgb3BlbmN2OiBwb3J0IGhhbmRkZXRlY3QgZWxlbWVudCB0byAxLjAgYW5kIGFkZCB0byBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEzLTAxLTI3IDE5OjA1OjI3ICswMjAwICBBbmRvbCBMaSA8YW5kb2xAYW5kb2wuaW5mbz4KCgkqIGV4dC9vcGVuY3YvZmlzdC54bWw6CgkqIGV4dC9vcGVuY3YvZ3N0aGFuZGRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGhhbmRkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9wYWxtLnhtbDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdGhhbmRkZXRlY3RfdGVzdC5jOgoJICBvcGVuY3Y6IGFkZCBoYW5kZGV0ZWN0IHBsdWdpbiwgaW5pdGlhbCBpbXBsZW1lbnRhdGlvbgoJICBUaGUgaGFuZGRldGVjdCBwbHVnaW4gaXMgZm9yIGRldGVjdGluZyBoYW5kIGdlc3R1cmVzIHVzaW5nCgkgIG9wZW5jdi4KCSAgSXQgd2FzIGNyZWF0ZWQgaW4gdGhlIGNvdXJzZSBvZiB0aGUgR29vZ2xlIFN1bW1lciBvZiBDb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1NjU1CgoyMDEyLTA5LTI2IDE2OjAwOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEFkZCBjdXN0b20gYWxsb2NhdG9yIHRvIGFsbG93IGZvciB6ZXJvLWNvcHkgc2hhcmVkIG1lbW9yeSB1c2UKCjIwMTMtMDItMjggMTg6MTM6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSAgc2htOiBEb24ndCBsZWFrIHNvY2tldCBwYXRoCgoyMDEzLTAyLTI4IDIwOjIyOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogLmdpdGlnbm9yZToKCSAgZXhhbXBsZXM6IGlnbm9yZSBuZXcgdGVzdC11dmNoMjY0IGJpbmFyeQoKMjAxMy0wMi0yOCAyMDoxMTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVwb3J0IGVsZW1lbnQgY3JlYXRpb24gZmFpbHVyZXMgYmV0dGVyIGFuZCBmaXggdXAgTElCUwoKMjAxMy0wMi0yOCAyMDowOToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHRlc3RzOiB1cGRhdGUgc29tZSBlbGVtZW50IG5hbWVzIGZvciAxLjAKCjIwMTMtMDItMjggMjA6MDI6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBmaW5kIHVuaW5zdGFsbGVkIGdzdC1saWJhdiBwbHVnaW5zIGZvciB1bml0IHRlc3RzCgoyMDEzLTAyLTI4IDE4OjU0OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4KCjIwMTMtMDItMjggMTg6NTM6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGlua3NyYzogYWRkIGxheW91dD1pbnRlcmxlYXZlZCB0byBhdWRpbyBjYXBzCgoyMDEyLTExLTA4IDEzOjIyOjQxIC0wODAwICBCbGFrZSBUcmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiB1c2UgT19DTE9FWEVDIHdoZXJlIGFwcHJvcHJpYXRlIGluIHNobXBpcGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDMzOQoKMjAxMy0wMi0yOCAxNjo1NTowNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTMtMDItMjggMTM6MjU6MDYgKzAxMDAgIEpvbmFzIEhvbG1iZXJnIDxqb25hc2hnQGF4aXMuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogdXNlIHJlbGF0aXZlIGluY2x1ZGUgZm9yIG91dC1vZi10cmVlIGJ1aWxkcyBpbiBkdG1mIHRlc3QKCjIwMTMtMDItMjggMTI6MDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogZ3N0X3ZpZGVvX3NpbmtfY2VudGVyX3JlY3QoKSB0YWtlcyB0aGUgc3RydWN0cyBpdHNlbGYgaW5zdGVhZCBvZiBwb2ludGVycyBhcyBmaXJzdCBwYXJhbWV0ZXJzCgoyMDEzLTAyLTI4IDExOjI3OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhc3BlY3QtcmF0aW8gaXNzdWVzIGNhdXNlZCBieSBzY2FsaW5nIG9uIFJQaQoKMjAxMy0wMi0yNyAyMTowNTozOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobXNpbms6IEVycm9yIG91dCBpZiBtZW1vcnkgYXJlYSBpcyBzbWFsbGVyIHRoYW4gYnVmZmVyCgoyMDEzLTAyLTI3IDIwOjU3OjU2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IE1ha2Ugc3VyZSB0byBub3QgYWxsb2NhdGUgYmxvY2tzIGxhcmdlciB0aGFuIHRoZSBzaGFyZWQgbWVtIGFyZWEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTM1OQoKMjAxMy0wMi0yNyAxODo1Njo1MCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2R0bWYuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0cyBmb3IgZHRtZnNyYwoKMjAxMy0wMi0yNyAyMzoyNzoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IHBvcnQgdG8gMS4wCgkgIENvbXBpbGVzLCBub3QgdGVzdGVkIHlldC4gQSBncmVhdCBudW1iZXIgb2Ygc3VwZXJmbHVvdXMgY3VzdG9tCgkgIHBhZCBmdW5jdGlvbnMgbWF5IGhhdmUgYmVlbiBoYXJtZWQgaW4gdGhlIG1ha2luZyBvZiB0aGlzIHBvcnQuCgoyMDEzLTAyLTI3IDE2OjE1OjI3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZHRtZi5jOgoJICB0ZXN0czogRml4IHJlZiBsZWFrIGluIGR0bWYgdGVzdAoKMjAxMy0wMi0yNyAxMzoxNDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJICBwa2ctY29uZmlnOiBNYWtlIHRoZSBnZW5lcmljIHBrZy1jb25maWcgZmlsZSBtb3JlIHVzZWZ1bAoKMjAxMy0wMi0yMyAwOToxMTo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmNkZWM6IFVzZSBuZXcgR1NUX01FTU9SWV9GTEFHX0NPTlRJR1VPVVMgaW5zdGVhZCBvZiByZXF1aXJpbmcgYSBzcGVjaWZpYyBtZW1vcnkgdHlwZQoKMjAxMy0wMi0xOSAxMzowMDowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkZCBhbGwgc3VwcG9ydGVkIHZpZGVvIGZvcm1hdHMgdG8gdGVtcGxhdGUgY2FwcwoJICBXZSBub3cgdXNlIGdzdF92aWRlb19vdmVybGF5X2NvbXBvc2l0aW9uX2JsZW5kKCksIHNvIGNhbiBzdXBwb3J0CgkgIGFsbCB2aWRlbyBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGF0LCBub3QganVzdCBJNDIwLgoKMjAxMy0wMi0xOSAxMToyNDo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3h5IHRoZSBhbGxvY2F0aW9uIHF1ZXJ5CgkgIFBhc3MgYWxsb2NhdGlvbiBxdWVyeSBkb3duc3RyZWFtLgoKMjAxMy0wMi0xOSAxMToxNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGRvbid0IGZvcndhcmQgQ0FQUyBldmVudCBmcm9tIHN1YnRpdGxlIHBhZAoJICBNYXkgcmVzdWx0cyBpbiBub3QtbmVnb3RpYXRlZCBmbG93IGVycm9ycyBvdGhlcndpc2UuCgoyMDEzLTAyLTE2IDAyOjQ0OjE5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jbWFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRlbmNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0dXRpbC5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvbnRhY3QgaW5mb3JtYXRpb24KCjIwMTMtMDItMTYgMDI6Mzg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlYXZyQHNvdW5kcm9wLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJICBhcHBsZW1lZGlhOiBmaXggZ3N0X2J1ZmZlcl9nZXRfY29yZV9tZWRpYV9tZXRhIG1hY3JvCgoyMDEzLTAyLTE2IDAyOjM3OjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkgIGFwcGxlbWVkaWE6IHBvcnQgdnRlbmMgdG8gMS4wCgoyMDEzLTAyLTE2IDAyOjMxOjI4ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJICBhcHBsZW1lZGlhOiByZXBsYWNlIHVzYWdlIG9mIGRlcHJlY2F0ZWQgZ3N0X3BhZF9zZXRfY2FwcygpIGluIHZ0ZGVjCgoyMDEzLTAyLTE2IDAyOjI2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZWF2ckBzb3VuZHJvcC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0YXBpIHRvIHJ1biBvbiBPUyBYIDEwLjgKCjIwMTMtMDItMTUgMDg6MjA6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSAgZnJlZXZlcmI6IHJlbW92ZSBjaGFubmVsLW1hc2sgZnJvbSBjYXBzCgkgIFRoZSBjaGFubmVsLW1hc2sgaXMgb25seSBuZWVkZWQgZm9yIGNoYW5uZWxzPjIgd2hpY2ggd2UgZG9uJ3QgZG8uCgoyMDEzLTAyLTE0IDEwOjQzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogZml4IGgyNjQgY2FwcyBpbiBtcGVndHNtdXggdGVzdAoJICBOZWVkcyB0byBiZSBzdHJlYW0tZm9ybWF0PWJ5dGUtc3RyZWFtLCBub3QgZm9ybWF0PWJ5dGUtc3RyZWFtLgoKMjAxMy0wMi0xNCAxMDo0MDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkgIHRlc3RzOiBmaXggZmFhZCB1bml0IHRlc3QgZm9yIGdzdF9jYXBzX2lzX3N1YnNldCgpIGZpeCBpbiBjb3JlCgkgIE5lZWQgdG8gc3BlY2lmeSB0aGUgc3RyZWFtLWZvcm1hdC4KCjIwMTMtMDItMTQgMDk6NDA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgUmV2ZXJ0ICJtcGVnNHZpZGVvcGFyc2U6IHNldCAwIGR1cmF0aW9uIHdoZW4gdm9wX2NvZGVkIGlzIDAiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDMyMTlhMjYxYTVhN2I3MzQwYjYzYzgwMDEwMDA5YTczYjAzMjc1OS4KCSAgdm9wX2NvZGVkIDAgbWVhbnMgdGhhdCB0aGUgcHJldmlvdXMgZnJhbWUgc2hvdWxkIGJlIHJlcGVhdGVkLAoJICBzbyBpdCBzaG91bGQgaGF2ZSB2YWxpZCBkdXJhdGlvbiBhZnRlciBhbGwuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNjkKCjIwMTMtMDItMTQgMDk6MDM6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSAgaW5zZXJ0YmluOiBtYXJrIGFzIHVuc3RhYmxlIEFQSQoKMjAxMy0wMi0xNCAwOTowMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW5zZXJ0YmluL2dzdGluc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IGZpeCB1cCBndGstZG9jIGNodW5rIGFuZCBhZGQgc2luY2UgbWFya2VycwoKMjAxMy0wMi0xMyAxNTowMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSAgdGVzdHM6IHBvcnQgdXZjaDI2NCB0ZXN0IHRvIDEuMAoJICBGaXhlcyAnbWFrZSBjaGVjaycgYnVpbGQuCgoyMDEzLTAyLTEzIDE1OjIwOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IENsb3NlIHRoZSBkaXNwbWFuIGRpc3BsYXkgb24gUlBpIGFmdGVyIHVzYWdlCgoyMDEzLTAyLTEzIDE1OjA5OjM1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGb3IgUlBpLCBpbml0aWFsaXplIGJjbV9ob3N0IGluIHBsdWdpbl9pbml0KCkKCjIwMTMtMDItMTMgMTU6MDY6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBlZ2xnbGVzc2luazogQWxzbyBjaGVjayBmb3IgYWxsIHRoZSByZXF1aXJlZCBsaWJyYXJpZXMgYW5kIGhlYWRlcnMgZm9yIFJQaQoKMjAxMy0wMi0xMyAxMjo1MTo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjYzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXNlIGNvbXBsZXRlIGFuZCB2YWxpZCBjYXBzIGluIHRoZSB0ZXN0cwoKMjAxMy0wMi0xMiAxODozNjoxMCArMDEwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgYmNtL1Jhc3BiZXJyeSBQaSBzdXBwb3J0LgoJICBUaGlzIGFkZHMgYSB2aWRlbyBwbGF0Zm9ybSBiYWNrZW5kIGZvciB0aGUgZGlzcG1hbnggZGlzcGxheSBtYW5hZ2VyIHVzZWQgYnkKCSAgYnJvYWRjb20gYW5kIHRoZSBSYXNwYmVycnkgUGkuCgkgIFNpZ25lZC1vZmYtYnk6IEp1bGlhbiBTY2hlZWwgPGp1bGlhbkBqdXNzdC5kZT4KCjIwMTMtMDItMTIgMTg6MTE6MzQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHBuZ3BhcnNlLmM6CgkgIHBuZ3BhcnNlOiBEZWNsYXJlIHRoZSB3aWR0aC9oZWlnaHQgb3V0c2lkZSB0aGUgbG9vcAoJICBBbHNvIGluaXRpYWxpemUgdGhlbSB0byBtYWtlIGdjYyBoYXBweQoKMjAxMy0wMS0yOCAyMjo0Mjo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0cG5ncGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RwbmdwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IEFkZCBwbmcgZmlsZSBwYXJzZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDYzOQoKMjAxMy0wMi0xMSAxNjozNTo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVW5yZXZlcnQ6IG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgQVBJIGlzIG5vdyBpbiBiYXNlcGFyc2UgaW4gZ3N0cmVhbWVyLgoJICBUaW1lc3RhbXBzIGluIE1QRUctVFMgc3RyZWFtcyBhcmUgYmFzZWQgb24gdGhlIGxhc3QgdGltZXN0YW1wCgkgIGJlZm9yZSB0aGUgc3RhcnQgY29kZSBvZiB0aGUgcGljdHVyZS4gIEdzdEJhc2VQYXJzZSBzZXRzIHRoZQoJICB0aW1lc3RhbXAgYmFzZWQgb24gdGhlIGJlZ2lubmluZyBvZiB0aGUgc2VxdWVuY2UgaGVhZGVyLCBpZgoJICBvbmUgZXhpc3RzIGJlZm9yZSB0aGUgcGljdHVyZS4gIFRoaXMgZml4ZXMgdGhlIGNhc2Ugd2hlcmUgdGhlCgkgIHRpbWVzdGFtcCBvY2N1cnMgaW4gdGhlIE1QRUctVFMgc3RyZWFtIGJldHdlZW4gdGhlIHNlcSBoZWFkZXIKCSAgYW5kIHBpY3R1cmUgc3RhcnQgY29kZS4KCjIwMTMtMDItMDcgMTU6NDI6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL2dzdHlhZGlmLmM6CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5oOgoJICB5YWRpZjogQWRkIG1vZGUgcHJvcGVydHkKCSAgQ29weSBtb2RlIGZyb20gZGVpbnRlcmxhY2UgZWxlbWVudC4gIElzbid0IGFjdHVhbGx5IGltcGxlbWVudGVkCgkgIGluIHlhZGlmLCBldmVyeSBmcmFtZSBpcyBkZWludGVybGFjZWQsIHNvIGVmZmVjdGl2ZWx5IG1vZGU9MS4KCjIwMTMtMDItMTIgMTE6NDc6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJICB5YWRpZjogRml4IG5vbi14ODZfNjQgYnVpbGRzCgoyMDEzLTAyLTEyIDExOjI0OjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogYWRkIHBhcnNlZD1mYWxzZSB0byBtcGVnMiBjYXBzCgoyMDEzLTAyLTEyIDEwOjM5OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9nbGliLWNvbXBhdC1wcml2YXRlLmg6CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaDogcmVtb3ZlIG9sZCBHU3RhdGljUmVjTXV0ZXggc3R1ZmYKCSAgQnJlYWtzIHRoZSBidWlsZCB3aXRoIG5ld2VyIEdMaWJzICgidW5rbm93biB0eXBlIEdTdGF0aWNSZWNNdXRleCIpCgkgIGFuZCBpcyBub3QgbmVlZGVkIGFueSBtb3JlLgoKMjAxMy0wMi0xMiAwOTozODozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNjM3MThkYTkxOWI2YTNkYWEwNGE2NmRhMWJlNGRiNTRlMDc3ODg5OC4KCSAgVGhlIHJlcXVpcmVkIGJhc2VwYXJzZSBBUEkgYWRkaXRpb24gaGFzIG5vdCBiZWVuIHB1c2hlZCB5ZXQsCgkgIHdoaWNoIGJyZWFrcyB0aGUgYnVpbGQuCgoyMDEzLTAyLTExIDE3OjU4OjMxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogaW5jcmVhc2UgbWluIHNpemUgZm9yIHBpY3R1cmUgY29kaW5nIGV4dAoJICBUaGlzIGNvdWxkIHVzZSBhZGRpdGlvbmFsIHdvcmsuICBUaGUgcGFyc2luZyBjb2RlIG92ZXJydW5zIHRoZQoJICBlbmQgb2YgYnVmZmVycyBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbiwgdHJpZ2dlcmluZyBHU1RfV0FSTklOR3MuCgoyMDEzLTAyLTExIDE3OjM5OjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBxdWlldCBkZWJ1Z2dpbmcgd2hlbiBtZmMgZGV2aWNlIGRvZXNuJ3QgZXhpc3QKCSAgQXZvaWQgcmVnaXN0ZXJpbmcgdGhlIGVsZW1lbnQgaWYgdGhlIG1mYyBkZXZpY2UgZG9lc24ndCB3b3JrLAoJICBidXQgYWxsb3cgcGx1Z2luIGxvYWRpbmcgdG8gc3VjY2VlZC4KCjIwMTMtMDItMTEgMTY6MzU6NDggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBzZXQgdGltZXN0YW1wIGJhc2VkIG9uIHBpYyBvZmZzZXQKCSAgVGltZXN0YW1wcyBpbiBNUEVHLVRTIHN0cmVhbXMgYXJlIGJhc2VkIG9uIHRoZSBsYXN0IHRpbWVzdGFtcAoJICBiZWZvcmUgdGhlIHN0YXJ0IGNvZGUgb2YgdGhlIHBpY3R1cmUuICBHc3RCYXNlUGFyc2Ugc2V0cyB0aGUKCSAgdGltZXN0YW1wIGJhc2VkIG9uIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHNlcXVlbmNlIGhlYWRlciwgaWYKCSAgb25lIGV4aXN0cyBiZWZvcmUgdGhlIHBpY3R1cmUuICBUaGlzIGZpeGVzIHRoZSBjYXNlIHdoZXJlIHRoZQoJICB0aW1lc3RhbXAgb2NjdXJzIGluIHRoZSBNUEVHLVRTIHN0cmVhbSBiZXR3ZWVuIHRoZSBzZXEgaGVhZGVyCgkgIGFuZCBwaWN0dXJlIHN0YXJ0IGNvZGUuCgoyMDEzLTAyLTExIDIzOjQ2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3lhZGlmL01ha2VmaWxlLmFtOgoJICB5YWRpZjogZml4IGRpc3RjaGVjawoKMjAxMy0wMi0xMSAyMzoyOTo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSAgc3dmZGVjOiByZW1vdmUKCSAgVGhlIHN3ZmRlYyBwcm9qZWN0IGlzIGRlYWQsIGFuZCB0aGlzIHBsdWdpbiB3YXMKCSAgbmV2ZXIgcmVhbGx5IHVzZWZ1bCBiZWNhdXNlIG9mIHRoZSB3YXkgc3dmIHdvcmtzLgoJICBSZW1vdmUgaXQgYmVmb3JlIHNvbWVvbmUgYWNjaWRlbnRhbGx5IHBvcnRzIGl0LgoKMjAxMy0wMi0xMSAyMjo1MDoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvLmdpdGlnbm9yZToKCSogZXh0L2NvZy9nc3Rjb2dvcmMub3JjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkgIEFkZCBjb2cgdG8gY3J1ZnQgbGlzdCBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBsZWZ0b3ZlciBmaWxlcwoKMjAxMy0wMi0xMSAyMjo0MDozNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC95YWRpZi9NYWtlZmlsZS5hbToKCSAgeWFkaWY6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0wMyAxNDozMjoyNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICB1dmNoMjY0IHRlc3Q6IFVzZSBzdHJpbmcgaW5zdGVhZCBvZiBmb3VyY2MgaW4gZ2xhZGUgY2FwcwoKMjAxMy0wMi0wMyAxNDozMTo1MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFJlbW92ZSBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQKCjIwMTMtMDItMDMgMTQ6MzE6MTMgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBBZGQgaW1hZ2UvanBnIHRvIHZmc3JjIGFuZCB2aWRzcmMgY2FwcwoKMjAxMy0wMi0wMyAxNDozMDozNiArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfbWpwZ2RlbXV4LmM6CgkgIHV2Y2gyNjQ6IEZpeCBOVjIxIHZzIE5WMTIgdHlwbwoKMjAxMy0wMi0wMiAxNDoxNjo0MCArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGdyZXlub2lzZS5ubD4KCgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkgIHV2Y2gyNjQ6IFBhc3MgdGhyb3VnaCB0aGUgZmlsdGVyIG9uIHRoZSBjYXBzIHF1ZXJ5CgoyMDEzLTAxLTE4IDIzOjIzOjU2ICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXguYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC90ZXN0LXV2Y2gyNjQuYzoKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC93aW5kb3cuZ2xhZGU6CgkgIHV2Y2gyNjQ6IFJlbW92ZSB0aGUgXyBmcm9tIHRoZSBlbGVtZW50IG5hbWVzCgkgIFJlbmFtZSB1dmNoMjY0X3NyYyB0byB1dmNoMjY0c3JjIGFuZCB1dmNoMjY0X21qcGdkZW11eCB0bwoJICB1dmNoMjY0bWpwZ2RlbXV4CgoyMDEzLTAxLTE4IDIzOjE2OjMxICswMTAwICBTam9lcmQgU2ltb25zIDxzam9lcmRAZ3JleW5vaXNlLm5sPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE1hcmsgdXZjaDI2NCBhcyBwb3J0ZWQKCjIwMTMtMDEtMTggMjM6MTQ6MjcgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3Rlc3QtdXZjaDI2NC5jOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L3dpbmRvdy5nbGFkZToKCSAgdXZjaDI2NDogUG9ydCB0ZXN0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTMtMDEtMTggMjI6NDk6MTkgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBncmV5bm9pc2Uubmw+CgoJKiBzeXMvdXZjaDI2NC9NYWtlZmlsZS5hbToKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBQb3J0IHRvIGdzdHJlYW1lciAxLjAKCjIwMTItMDUtMDMgMjA6MzY6MjcgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkIGF1dG8tc3RhcnQgcHJvcGVydHkgdG8gYmFzZWNhbWVyYWJpbgoKMjAxMy0wMi0xMSAxMjo1MTowNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIGxhc3QgcmVtbmFudHMKCjIwMTMtMDItMDcgMTU6MDk6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveWFkaWYvTWFrZWZpbGUuYW06CgkqIGdzdC95YWRpZi9nc3R5YWRpZi5jOgoJKiBnc3QveWFkaWYvZ3N0eWFkaWYuaDoKCSogZ3N0L3lhZGlmL3ZmX3lhZGlmLmM6CgkqIGdzdC95YWRpZi95YWRpZi5jOgoJKiBnc3QveWFkaWYveWFkaWZfdGVtcGxhdGUuYzoKCSAgeWFkaWY6IEFkZCBZQURJRiBkZWludGVybGFjaW5nIGZpbHRlcgoJICBDb2RlIGNvcGllZCBmcm9tIExpYmF2LCBjb21taXQgMjZlNGYwYzcwLiAgV2lsbCBldmVudHVhbGx5IGJlCgkgIG1vdmVkIHRvIC11Z2x5IGJlY2F1c2UgdW5kZXJseWluZyBjb2RlIGlzIEdQTC4KCjIwMTMtMDItMDcgMTQ6MzM6MjQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBBZGQgWTQyQiBhbmQgWTQ0NCBmb3JtYXRzCgoyMDEzLTAyLTA3IDExOjE1OjAxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtYXBwLW1ha2VyL2dzdC1lbGVtZW50LW1ha2VyOiAxLjAgdXBkYXRlcwoKMjAxMy0wMi0xMSAxMjoyNTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cuaDoKCSogZXh0L2NvZy9jb2dmcmFtZS5jOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndGFibGVzLmM6CgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJICBjb2c6IHJlbW92ZSBjb2cgcGx1Z2luCgkgIEV2ZXJ5dGhpbmcgaGFzIGJlZW4gbWVyZ2VkIGludG8gb3RoZXIgZWxlbWVudHMuCgoyMDEzLTAyLTExIDIwOjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogZml4IHRhZ2xpc3QgbGVhawoJICBEb24ndCBsZWFrIGRlbXV4ZXIgdGFnIGxpc3QuCgoyMDEzLTAyLTExIDIwOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSAgdGVzdHM6IGZpeCBteGZkZW11eCBwdWxsIHVuaXQgdGVzdCBoYW5naW5nIGZvcmV2ZXIKCSAgT3VyIHRlc3Qgc291cmNlIHBhZCBuZWVkcyB0byBhbnN3ZXIgU0NIRURVTElORyBxdWVyaWVzCgkgIHByb3Blcmx5IGZvciBteGZkZW11eCB0byBhY3RpdmF0ZSBpbiBwdWxsIG1vZGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTE4NDMKCjIwMTMtMDItMTEgMTk6NTM6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBmaXggcHVzaCBtb2RlIHVuaXQgdGVzdCBmYWlsdXJlCgkgIEluIHRoZSBzaW5rIGV2ZW50IGhhbmRsZXIgd2UgZW5kIHVwIHNlbmRpbmcgbXVsdGlwbGUgRU9TCgkgIGV2ZW50cyBwZXIgcGFkLiBEb24ndCByZXR1cm4gRkFMU0Ugd2hlbiBzZW5kaW5nIHRoZQoJICBzZWNvbmQgRU9TIG9uIGFuIGFscmVhZHktRU9TIHBhZCBmYWlscy4gTm90IHN1cmUgaWYgdGhlcmUKCSAgd2FzIGEgcmVhc29uIGZvciBzZW5kaW5nIGEgc2Vjb25kIEVPUywgc28gbGVhdmluZyB0aGUKCSAgY29kZSBpbiB0aGVyZSBmb3Igbm93LCBidXQgYXNzdW1lIGFsbCB3ZW50IGZpbmUgaWYgdGhlcmUKCSAgYXJlIHNvdXJjZSBwYWRzLCB3aGljaCBpcyBzbGlnaHRseSBsZXNzIHdyb25nIHRoYW4gYmVmb3JlLgoJICBUaGlzIGZ1bmN0aW9uIG5lZWRzIHdvcmsuCgoyMDEzLTAyLTExIDEyOjM0OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGNvbXBpbGF0aW9uIG9mIGR0bWYgdGVzdCBpbiB1bmluc3RhbGxlZCBzZXR1cAoKMjAxMy0wMi0xMSAxMjozNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGFjdHVhbGx5IGxvZyBnZW5lcmljIGRhdGFwcm90b2NvbCBzdHVmZiB0byBnZHAgY2F0ZWdvcnkKCjIwMTMtMDItMDkgMjA6MjI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkgIGludGVyOiBkb24ndCB1c2UgZGVwcmVjYXRlZCBHTGliIHRocmVhZGluZyBBUEkKCjIwMTMtMDItMDkgMTk6NTM6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5oOgoJICBsaXZlYWRkZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMy0wMi0wOSAxOTo0OTowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htOiBkb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWRpbmcgQVBJCgoyMDEzLTAyLTExIDExOjA2OjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBjbGVhciB0aGUgc3RhdGUgb2YgdGhlIGRlY29kZXIKCSAgU2V0IHRoZSBjaGFubmVscyBhbmQgcmF0ZSBiYWNrIHRvIHRoZWlyIGRlZmF1bHQgdmFsdWVzIGluIF9zdG9wIGJlY2F1c2UgdGhleQoJICBhcmUgdXNlZCB0byByZW5lZ290aWF0ZSB3aGVuIG5lZWRlZC4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5NTAKCjIwMTMtMDItMDcgMTE6NTI6MjMgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogZGVwcmVjYXRlZCBHU3RhdGljTXV0ZXggLT4gR011dGV4CgkgIEVsZW1lbnQgbmVlZHMgcG9ydGluZyB0aG91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDkgMTg6NDY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IGZpeCBjb21waWxhdGlvbiB3aXRoIG5ld2VyIEdMaWIgdmVyc2lvbnMKCSAgdGhhdCBkb24ndCBpbmNsdWRlIHB0aHJlYWQuaCBhbnkgbW9yZSBmcm9tIHB1YmxpYyBoZWFkZXJzLgoJICBXZSBjb3VsZCBqdXN0IGZpeCB0aGlzIGJ5IGluY2x1ZGluZyBwdGhyZWFkLmggb3Vyc2VsdmVzLAoJICBidXQgd2UgbWF5IGp1c3QgYXMgd2VsbCB1c2UgYXRvbWljIG9wcyBmb3IgdGhpcyBhbmQKCSAgc2ltcGxpZnkgdGhlIGNvZGUgYSBsaXR0bGUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MzggKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IGRlcHJlY2F0ZWQgR1N0YXRpY1JXTG9jayAtPiBHUldMb2NrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjIKCjIwMTMtMDItMDcgMTE6NTQ6MDYgKzAxMDAgIE1hcmMgTGVlbWFuIDxtYXJjLmxlZW1hbkBnbWFpbC5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkgIGNocm9tYWhvbGQ6IGRlcHJlY2F0ZWQgR1N0YXRpY011dGV4IC0+IEdNdXRleAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMzIyCgoyMDEzLTAyLTA3IDEwOjUyOjU3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1hcHAtbWFrZXI6CgkgIGdzdC1hcHAtbWFrZXI6IGNvbnZlcnQgdG8gMS4wCgoyMDEzLTAyLTA4IDAwOjA2OjE2ICsxMTAwICBUaW0gJ21pdGhybycgQW5zZWxsIDxtaXRocm9AbWl0aGlzLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogZml4IGJ1ZmZlciBsZWFrIHdoZW4gbmV3IGNhcHMgYXJlIHNhbWUgYXMgb2xkIGNhcHMKCSAgVGhlIGxlYWsgb2NjdXJzIHdoZW4geW91IGdvdCBhIG1lc3NhZ2Ugd2l0aCBpZGVudGljYWwgY2FwcyB0byB0aGUgb25lcyB5b3UKCSAgYWxyZWFkeSBoYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMzMjQKCjIwMTItMTAtMDIgMTE6MDI6MzIgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGFkZCBwcm9maWxlIGVudW1zLgoJICBBZGQgYWxsIHVzZWZ1bCBwcm9maWxlcyBmcm9tIEFWQywgTVZDIGFuZCBTVkMgc3BlY2lmaWNhdGlvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMxNDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMi0wNyAyMjoyNjoxNSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogRml4IHRoZSByZW5kZXJpbmcgb2YgUEdTIHdpbmRvd3Mgd2l0aCBsZWZ0ICE9IDAKCSAgV2hlbiByZW5kZXJpbmcgYSBQR1Mgd2luZG93IGFyZWEgd2hlcmUgdGhlIGxlZnQgZWRnZSBpcyBub3QgYXQKCSAgcGl4ZWwgMCwgdGhlIGNocm9tYSB3YXMgYmVpbmcgcmVuZGVyZWQgaW4gdGhlIHdyb25nIHBsYWNlIHNpbmNlCgkgIGNvbW1pdCA0ZGM2NDhkMzQzMGI2NzU5MmNmMTQxM2NjZWY0MTVmNzA4ODlkNzFlCgoyMDEzLTAyLTA3IDExOjMxOjEyICswMDAwICBUaW0gQW5zZWxsIDxnbm9tZSBhdCBtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJICBpbnRlcjogZml4IGxlYWtzIGluIHRlc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzMwMAoKMjAxMy0wMi0wNyAwODo0MToyNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBwb3J0IHRvIDEuMAoKMjAxMy0wMS0wOSAxMzozMTo0NyArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogYWRkIGNvbW1lbnRzIGZvciBtb25vc2NvcGUgcG9ydGluZwoKMjAxMy0wMi0wNiAxNTo0ODowNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCBuZWdvdGlhdGlvbiBmb3IgdHJ1ZSBpbnRlcmxhY2VkIG1vZGVzCgoyMDEzLTAyLTA2IDEyOjM1OjM2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2dvYmplY3Q6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NpbmtwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVXBkYXRlIHNvbWV3aGF0IGZvciAxLjAKCSAgT25seSBjb252ZXJ0ZWQgYmFzZXRyYW5zZm9ybSBmb3IgdGhlIG1vbWVudC4gIEl0J3MgcHJvYmFibHkgZWFzaWVyCgkgIHRvIHdyaXRlIHRlbXBsYXRlcyBmcm9tIHNjcmF0Y2ggZnJvbSB0aGUgZG9jdW1lbnRhdGlvbi4KCjIwMTMtMDItMDUgMTE6NTY6NDYgKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzI6IGFkZCBoZWxwZXJzIHRvIGNvbnZlcnQgcXVhbnRpemF0aW9uIG1hdHJpY2VzLgoJICBBZGQgdXRpbGl0eSBmdW5jdGlvbnMgdG8gY29udmVydCBxdWFudGl6YXRpb24gbWF0cmljZXMgZnJvbSB6aWd6YWcgc2NhbgoJICBvcmRlciAoYXMgZW5jb2RlZCBpbiB0aGUgYml0c3RyZWFtKSBpbnRvIHJhc3RlciBzY2FuIG9yZGVyLiBBbHNvIHByb3ZpZGUKCSAgYW5vdGhlciBmdW5jdGlvbiB0byByZXZlcnNlIHRoZSBvcGVyYXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTMwMDAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0zMSAxNjoxMzoyMiArMDgwMCAgQ29uZyBaaG9uZyA8Y29uZ3guemhvbmdAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogc3RvcmUgcXVhbnRpemF0aW9uIG1hdHJpY2VzIGluIHppZ3phZyBzY2FuIG9yZGVyLgoJICBRdWFudGl6ZXIgbWF0cmljZXMgYXJlIGVuY29kZWQgaW4gemlnemFnIHNjYW4gb3JkZXIgaW4gdGhlIGJpdHN0cmVhbSwKCSAgYnV0IHRoZXkgYXJlIHN0b3JlZCBpbiByYXN0ZXIgc2NhbiBvcmRlciB3aGVuIHRoZXkgYXJlIHBhcnNlZC4gSG93ZXZlciwKCSAgZGVmYXVsdCBtYXRyaWNlcyB3ZXJlIGFsc28gcHJlcGFyZWQgaW4gemlnemFnIHNjYW4gb3JkZXIsIGhlbmNlIHRoZQoJICBtaXNtYXRjaC4gaS5lLiB0aGUgbWF0cmljZXMgd2VyZSBwcmVzZW50ZWQgZWl0aGVyIGluIHJhc3RlciBzY2FuIG9yZGVyCgkgIGlmIHRoZXkgYXJlIGV4cGxpY2l0bHkgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtLCBvciB0aGV5IHdlcmUgcHJlc2VudGVkCgkgIGluIHppZ3phZyBzY2FuIG9yZGVyIGlmIHRoZSBkZWZhdWx0IGRlZmluaXRpb25zIHdlcmUgdG8gYmUgdXNlZCBpbnN0ZWFkLgoJICBPbmUgd2F5IHRvIHNvbHZlIHRoaXMgcHJvYmxlbSBpcyB0byBhbHdheXMgZXhwb3NlIHRoZSBxdWFudGl6YXRpb24KCSAgbWF0cmljZXMgaW4gemlnemFnIHNjYW4gb3JkZXIsIHNpbmNlIHRoaXMgaXMgdGhlIHJvbGUgb2YgdGhlIHBhcnNlciB0bwoJICBub3QgYnVpbGQgdXAgc3RvcmllcyBmcm9tIHRoZSBzb3VyY2UgYml0c3RyZWFtIGFuZCBqdXN0IHByZXNlbnQgd2hhdAoJICBpcyBpbiB0aGVyZS4KCSAgVXRpbGl0eSBmdW5jdGlvbnMgd2lsbCBiZSBwcm92aWRlZCB0byBjb252ZXJ0IHF1YW50aXphdGlvbiBtYXRyaWNlcyBpbgoJICBlaXRoZXIgc2NhbiBvcmRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MzAwMAoJICBTaWduZWQtb2ZmLWJ5OiBDb25nIFpob25nIDxjb25neC56aG9uZ0BpbnRlbC5jb20+CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDItMDUgMjM6MDc6MTIgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGV4cG9zZSBWQzEgc3RyZWFtcyB3aXRoIG1pc3NpbmcgZGVzY3JpcHRvci4KCSAgRml4ZXMgcGxheWJhY2sgb2YgVkMxIHN0cmVhbXMgd2hlbiB0aGUgZGVzY3JpcHRvciBpcyBtaXNzaW5nLgoKMjAxMy0wMi0wNSAxNzozNDoyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogaGFuZGxlIEVJTlRSIGZyb20gcG9sbAoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkzMjEyCgoyMDEwLTEyLTI3IDIzOjIxOjEwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBzdXBwb3J0IGZvciBtb3JlIHRlbGVjaW5lIHBhdHRlcm5zCgoyMDExLTAxLTEwIDEwOjM2OjQzICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IEFkZCBtb3JlIHZlcmJvc2UgaGludHMgYWJvdXQgZmllbGQgcGF0dGVybnMKCjIwMTMtMDItMDQgMTg6MDc6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEFkZCBkZXNjcmlwdG9ycyBmb3IgU01QVEUgMzAybSBhdWRpbwoKMjAxMy0wMi0wMiAxODo0NDoxMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBzZXBhcmF0ZSBmaWVsZHMgZm9yIGRpc3RpbmN0IGZ1bmN0aW9uYWwgdXNlcyBvZiBjb2RlY19kYXRhIGZpZWxkCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI3ODkKCjIwMTMtMDEtMzEgMTI6MzA6NDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNwYXk6IGZpeCB0aW1lc3RhbXBzCgkgIENvcHkgdGltZXN0YW1wcyB0byBwYXlsb2FkZWQgYnVmZmVyLgoJICBBdm9pZCBpbnB1dCBidWZmZXIgbWVtb3J5IGxlYWsuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI5MjkKCjIwMTMtMDEtMzAgMDk6MzM6NDkgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhbGxvdyBjYWxsaW5nIGZyb20gb3V0LW9mLXRyZWUKCSAgU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI4NTkKCjIwMTMtMDEtMjggMjA6NDI6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE5NDIyOTMgdG8gMmRlMjIxYwoKMjAxMy0wMS0yOCAxNDoxMjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCB3aGVuIHNldHRpbmcgImNiciIgcHJvcGVydHkgd2hlbiBlbmNvZGVyIGlzIG5vdCBydW5uaW5nIHlldAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyNjk4CgoyMDEzLTAxLTI2IDIyOjU4OjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RydHBkdG1mc3JjLmM6IEluIGZ1bmN0aW9uICdnc3RfZHRtZl9zcmNfcHJlcGFyZV9tZXNzYWdlLmlzcmEuMSc6CgkgIGdzdHJ0cGR0bWZzcmMuYzo2Njk6MzogZXJyb3I6ICdzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTMtMDEtMjUgMjE6MDY6MDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgcnRwZHRtZmRlcGF5OiBGaXggbWlzc2luZyB3b3JrIGluIGRvYwoKMjAxMy0wMS0yNCAyMTowMDowOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kdG1mLmM6CgkgIHRlc3RzOiBBZGQgdGVzdCBmb3IgcnRwZHRtZmRlcGF5IGFuZCBydHBkdG1mc3JjCgoyMDEzLTAxLTI1IDIwOjM5OjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBQb3N0IHRoZSBtZXNzYWdlcyBhZnRlciB0aGUgY2xvY2sgd2FpdAoJICBUaGlzIHdheSwgdGhlIG1lc3NhZ2VzIHdpbGwgYmUgY2xvc2VyIGluIHRpbWUgdG8gd2hlbiB0aGUgcGFja2V0cyBhcmUgc2VudCBvdXQKCjIwMTMtMDEtMjUgMjA6Mzc6NTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IE9ubHkgc2V0IHRoZSBkdXJhdGlvbiB3aGVuIHN0YXJ0aW5nIHRvIHNlbmQKCSAgVGhlIGR1cmF0aW9uIGRlcGVuZHMgb24gdGhlIGNsb2NrIHJhdGUsIHdoaWNoIGNvdWxkIGNoYW5nZSBkdWUgdG8gcmVuZWdvdGlhdGlvbgoKMjAxMy0wMS0yNSAyMDozNzowOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogcmVtb3ZlICJzc3JjIiBmcm9tIGNhcHMKCSAgc3NyYyBpcyB1aW50IGFuZCB3ZSBkb24ndCBoYXZlIGEgdWludCByYW5nZSB0eXBlCgoyMDEzLTAxLTI1IDE1OjQ0OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVpbGQ6IGZpeCBpbnNlcnRiaW4gYnVpbGQgaW4gdW5pbnN0YWxsZWQgc2V0dXAKCSAgTWFrZSBzdXJlIHBrZy1jb25maWcgaW4gZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi8gY2FuIGZpbmQKCSAgdGhlIHVuaW5zdGFsbGVkIGNvcmUvYmFzZSBwcm9wZXJseS4gRml4ZXMgYnVpbGQgb2YKCSAgaW5zZXJ0YmluIGluIHVuaW5zdGFsbGVkIHNldHVwIGlmIHRoZXJlIGFybid0IGFueQoJICBpbnN0YWxsZWQgZ2lyIGZpbGVzIHRvIGZhbGwgYmFjayB0by4KCjIwMTMtMDEtMjUgMTI6MjQ6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgaW5zZXJ0YmluLCB0ZXN0czogZml4IHByaW50ZiBmb3JtYXQgY29tcGlsZXIgd2FybmluZ3MKCjIwMTMtMDEtMjQgMTg6MTQ6MjggKzAxMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggYml0cGxhbmVzIGRlY29kaW5nIChESUZGNiBvciBOT1JNNiByZXNpZHVhbCBieXRlcykuCgkgIEZpeCBwYXJzaW5nIG9mIHJlc2lkdWFsIGJ5dGVzLiBUaGlzIGlzIGEgdHdvLXN0ZXAgcHJvY2Vzcy4gRmlyc3QsCgkgIHJlbWFpbmluZyBjb2x1bXMgb2YgZnVsbCB2ZXJ0aWNhbCByZXNvbHV0aW9uICg8aGVpZ2h0PikgbmVlZCB0byBiZQoJICBwcm9jZXNzZWQuIE5leHQsIHJlbWFpbmluZyBieXRlcyBpbiB0aGUgZmlyc3Qgcm93IGNhbiBiZSBwcm9jZXNzZWQsCgkgIHdoaWxlIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGZhY3QgdGhhdCB3ZSBtYXkgaGF2ZSBmaWxsZWQgaW4gdGhlCgkgIGZpcnN0IGNvbHVtbnMgYWxyZWFkeS4gU28sIHRoaXMgaXMgbm90IGZ1bGwgaG9yaXpvbnRhbCByZXNvbHV0aW9uLgoJICBUaGUgZm9sbG93aW5nIGZpZ3VyZSBoZWxwcyBpbiB1bmRlcnN0YW5kaW5nIHRoZSBleHBlY3RlZCBvcmRlciBvZgoJICBvcGVyYXRpb25zLCBmb3IgYSA4eDUgTUJzIGJpdHBsYW5lLgoJICA1IDUgNiA2IDYgNiA2IDYKCSAgNSA1IDEgMSAxIDIgMiAyCgkgIDUgNSAxIDEgMSAyIDIgMgoJICA1IDUgMyAzIDMgNCA0IDQKCSAgNSA1IDMgMyAzIDQgNCA0CgkgIFNvLCBhZnRlciB0aWxlcyAxIHRvIDQgYXJlIGRlY29kZWQsIHZlcnRpY2FsIHRpbGUgNSBuZWVkcyB0byBiZQoJICBwcm9jZXNzZWQgKDJ4NSBNQnMpIGFuZCB0aGVuIHRoZSBob3Jpem9udGFsIHRpbGUgNiAoNngxIE1CcykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yNCAxNzoyODoyMiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKERJRkY2IG9yIE5PUk02KS4KCSAgRml4IGRlY29kaW5nIG9mIERJRkY2IG9yIE5PUk02IGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbGluZXMKCSAgKDN4MiAiaG9yaXpvbnRhbCIgdGlsZXMpLiBJbiB0aGlzIGNhc2UsIHdlIGhhdmUgdG8gc2tpcCB0aGUgZmlyc3QgbGluZQoJICBvZiBtYWNyb2Jsb2NrcyBidXQgPHdpZHRoPiBudW1iZXIgb2YgYnl0ZXMgd2FzIHVzZWQgdG8gZG8gc28sIGluc3RlYWQKCSAgb2YgdGhlIGFjdHVhbCA8c3RyaWRlPiBzaXplLgoJICBUaGlzIGZpeGVzIGRlY29kaW5nIGZvciB0aGUgdmlkZW8gc2FtcGxlIGF0dGFjaGVkIHRvOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTY1CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTI0NjEKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMi0wMy0xNSAxNDoxMjoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIC5naXRpZ25vcmU6CgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L2luc2VydGJpbi9nc3RpbnNlcnRiaW4uaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1pbnNlcnRiaW4tdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItaW5zZXJ0YmluLnBjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzL2luc2VydGJpbi5jOgoJICBpbnNlcnRiaW46IEFkZCBiaW4gdG8gZHluYW1pY2FsbHkgaW5zZXJ0IGVsZW1lbnRzIGluIGEgcnVubmluZyBwaXBlbGluZQoJICBUaGlzIGVsZW1lbnQgYXV0b21hdGljYWxseSBsaW5rcyBpbiBhbnkgZWxlbWVudCBhZGRlZCB1c2luZyBpdCdzCgkgIGFjdGlvbiBzaWduYWxzLiBUaGVzZSBlbGVtZW50cyBtdXN0IGhhdmUgYSBzaW5nbGUgc291cmNlIHBhZCBhbmQgYSBzaW5nbGUKCSAgc2luayBwYWQuCgoyMDEzLTAxLTIzIDE0OjQ3OjU4ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogYWRkIEFQSSB0byBwYXJzZSBzbGljZSBoZWFkZXJzLgoJICBBZGQgZ3N0X3ZjMV9wYXJzZV9zbGljZV9oZWFkZXIoKSBmdW5jdGlvbiB0byBwYXJzZSBzbGljZSBoZWFkZXJzIGFzCgkgIGRlc2NyaWJlZCBpbiA3LjEuMi4gU2xpY2UgbGF5ZXJzIGFyZSBvcHRpb25hbCBhbmQgYWxsb3dlZCBpbiBhZHZhbmNlZAoJICBwcm9maWxlIG1vZGUgb25seS4gUGljdHVyZSBoZWFkZXIsIGlmIGF2YWlsYWJsZSAoUElDX0hFQURFUl9GTEFHKSwKCSAgaXMgcGFyc2VkIGJ1dCBub3QgcmVjb3JkZWQgYmVjYXVzZSBpdCBzaGFsbCBiZSB0aGUgc2FtZSBhcyB0aGF0IHdhcwoJICBwcmV2aW91c2x5IHBhcnNlZCB3aXRoIGdzdF92YzFfcGFyc2VfZnJhbWVfaGVhZGVyKCkuCgkgIFRoaXMgZml4ZXMgU0EwMDA0OS52YzEgY29uZm9ybWFuY2UgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjM4OAoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDE4OjAxOjI0ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGJpdHBsYW5lcyBkZWNvZGluZy4KCSAgRml4IGRlY29kaW5nIG9mIERJRkYyIG9yIE5PUk0yIGJpdHBsYW5lcyB3aXRoIGFuIG9kZCBudW1iZXIgb2YgbWFjcm9ibG9ja3MuCgkgIEluIHBhcnRpY3VsYXIsIGFjY291bnQgZm9yIHRoZSBmaXJzdCBiaXQgdGhhdCB3YXMgYWxyZWFkeSBwYXJzZWQgc28gdGhhdCB0bwoJICBhdm9pZCBhIGJ1ZmZlciBvdmVyZmxvdyBhZnRlciBhbGwgcGFpcnMgYXJlIHBhcnNlZC4KCSAgVGhpcyBmaXhlcyBTQTAwMDQwLnZjMSBjb25mb3JtYW5jZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMzEyCgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTMtMDEtMjIgMTk6MzE6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1uYXV3QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBkaXNhYmxlIE1GQyBpZiBzb21lIHY0bDIgUElYX0ZNVCBtaXNzaW5nCgoyMDEzLTAxLTIyIDExOjQyOjQ5ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogc2ltcGxpZnkgR3N0VkMxVm9wRHF1YW50IHN0cnVjdHVyZS4KCSAgUmVuYW1lIGRxc2JlZGdlIHRvIGRxYmVkZ2UuIFRoZSBpbnRlbnQgaXMgdGhhdCB3ZSBjYW4gb25seSBoYXZlIGEgc2luZ2xlCgkgIGJvdW5kYXJ5IGVkZ2Ugc2VsZWN0b3IsIGRlcGVuZGluZyBvbiB0aGUgdmFsdWUgb2YgZHFwcm9maWxlLiBTbywgZHFiZWRnZQoJICByZXByZXNlbnRzIERRU0JFREdFIGlmIGRxcHJvZmlsZSA9PSBHU1RfVkMxX0RRUFJPRklMRV9TSU5HTEVfRURHRSwgb3IKCSAgRFFEQkVER0UgaWYgZHFwcm9maWxlID09IEdTVF9WQzFfRFFQUk9GSUxFX0RPVUJMRV9FREdFLgoJICBUaGUgZm9ybWVyIGRxYmVkZ2UgZmllbGQgaXMgbWFya2VkIGFzIHVudXNlZCBhbmQgY2FuIGJlIHJlbW92ZWQgb24gdGhlCgkgIG5leHQgZ3N0LXBsdWdpbnMtYmFkIHZlcnNpb24gdGhhdCBhbGxvd3MgQUJJIGNoYW5nZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzIKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0xOCAxNDo1NTo0MCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsdGxzc2luazogc2V0IGNvcnJlY3QgbGV2ZWwgb2YgU1NMIGZvciB0aGUgdHJhbnNmZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMAoKMjAxMy0wMS0yMiAxMDo0ODozOSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBWT1BEUVVBTlQgcGFyc2VyIGZvciBEUVVBTlQgPT0gMi4KCSAgRml4IHBhcnNpbmcgb2YgVk9QRFFVQU5UIHdoZW4gRFFVQU5UID09IDIuIEluIHBhcnRpY3VsYXIsIERRVUFOVEZSTSBpcwoJICBub3QgcHJlc2VudCBpbiB0aGUgYml0c3RyZWFtIGluIHRoaXMgY2FzZSBhbmQgaXQgc2hhbGwgYmUgZGVyaXZlZCB0bwoJICB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB6ZXJvICg3LjEuMS4zMS4xKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI3MQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTIyIDEwOjM4OjIwICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVC4KCSAgRml4IGNhbGN1bGF0aW9uIG9mIEFMVFBRVUFOVCB3aGVuIERRVUFOVCA9PSAxLiBQUURJRkYgYWx0ZXJzIEFMVFBRVUFOVAoJICBpbiBhbnkgY2FzZS4gU2VlIDcuMS4xLjMxLjYuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNzAKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0yMiAxMDoxMTozNCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBwYXJzZXIgZm9yIERRUFJPRklMRSBpbiBWT1BEUVVBTlQuCgkgIEZpeCBwYXJzZV92b3BkcXVhbnQoKSB0byBjb3JyZWN0bHkgcGFyc2UgRFFQUk9GSUxFLCB3aGljaCBpcyAyIGJpdHMKCSAgaW5zdGVhZCBvZiBhIHNpbmdsZSBiaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIyNjcKCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKMjAxMy0wMS0wNiAxODo1NDo1MiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogYWRkIGluZmVycmVkIHZhbHVlIGZvciBzbGljZV9iZXRhX29mZnNldF9kaXYyLgoJICBUaGUgc3RhbmRhcmQgc3BlY2lmaWVzIHRoYXQgd2hlbiBzbGljZV9iZXRhX29mZnNldF9kaXYyIGlzIG5vdCBwcmVzZW50CgkgIGluIHRoZSBzbGljZSBoZWFkZXIsIHRoZW4gdGhlIHZhbHVlIG9mIHNsaWNlX2JldGFfb2Zmc2V0X2RpdjIgc2hhbGwgYmUKCSAgaW5mZXJyZWQgdG8gYmUgZXF1YWwgdG8gMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjI2NQoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEzLTAxLTE3IDE5OjAyOjQ4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZW5hYmxlIHVuaXQgdGVzdHMgYW5kIHVwIHJhbmsgdG8gcHJpbWFyeSBhZ2FpbgoKMjAxMy0wMS0xOCAxNjoxNDowMyArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHVzZSBvdmVybGF5IGNvbXBvc2l0aW9uIHRvIGJsaXQgc3VidGl0bGVzIG9uIHZpZGVvIGZyYW1lcwoJICBSZS11c2VzIGV4aXN0aW5nIGJsaXR0aW5nIGNvZGUgYW5kIGFsc28gbWVhbnMgd2UgY2FuIHN1cHBvcnQKCSAgYSBsb3QgbW9yZSB2aWRlbyBmb3JtYXRzIG91dCBvZiB0aGUgYm94LCBoZW5jZSBhdm9pZCB1bm5lY2Vzc2FyeQoJICBwaXhlbCBmb3JtYXQgb3IgY29sb3VyIHNwYWNlIGNvbnZlcnNpb25zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjQ4OjEyICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogcmVuZGVyIG92ZXJsYXkgY29tcG9zaXRpb24gaWYgc3VwcG9ydGVkIGRvd25zdHJlYW0KCSAgVGhpcyBhbGxvd3MgcmVuZGVyaW5nIEFTUyBzdWJ0aXRsZXMgb24gdG9wIG9mIHZpZGVvIHdoZW4KCSAgdXNpbmcgaGFyZHdhcmUtYWNjZWxlcmF0ZWQgdmlkZW8gZGVjb2RlcnMgYmFzZWQgb24gZS5nLgoJICBWQS1BUEkgb3IgVkRQQVUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgzODkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMSAxMDozNTo0OSArMDEwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IGFkZCB3YWl0LXRleHQgcHJvcGVydHkKCSAgVGhpcyBpcyB0aGUgc2FtZSBwcm9wZXJ0eSBhcyBpbiB0aGUgcGFuZ28gZWxlbWVudCwgdG8gYWxsb3cgd2FpdGluZyBmb3IKCSAgdGV4dCBvbiB0aGUgdGV4dCBwYWQgYmVmb3JlIHJlbmRlcmluZyB0aGUgdmlkZW8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTIwMTIKCjIwMTMtMDEtMTggMTU6MjU6NDggKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBmaXggc29tZSBzdWJ0aXRsZXMgYmVpbmcgaWdub3JlZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjMzOjExICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcmVmYWN0b3IgY29kZSB0byBhdm9pZCBkdXBsaWNhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkyMDEyCgoyMDEzLTAxLTE3IDE4OjI2OjA4ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogcHJveHkgYWxsb2NhdGlvbnMgb24gdmlkZW8gcGFkCgkgIEZvcndhcmQgYWxsb2NhdGlvbiBxdWVyaWVzIG9uIHZpZGVvIHNpbmsgcGFkIGluc3RlYWQKCSAgb2YgZGlzY2FyZGluZyB0aGVtLgoJICBUaGlzIGFsbG93cyB0aGUgdXBzdHJlYW0gZWxlbWVudHMgdG8gdXNlIHRoZSBhbGxvY2F0aW9uCgkgIHBhcmFtZXRlcnMgb3IgcG9vbHMgZnJvbSB0aGUgZG93bnN0cmVhbSBlbGVtZW50cyBsaWtlCgkgIHZpZGVvc2luay4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MjAxMgoKMjAxMy0wMS0yMCAxNzo0MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGNsZWFuIHVwIEdWYWx1ZSBoYW5kbGluZyBhIGxpdHRsZQoJICBBbGxvY2F0ZSBHVmFsdWVzIG9uIHRoZSBzdGFjaywgYW5kIHVuc2V0L2ZyZWUgdGhlbSBwcm9wZXJseSwgZml4aW5nCgkgIGEgZmV3IGxlYWtzIGluIHRoZSBwcm9jZXNzLiBBbHNvIHVzZSBnc3Rfc3RydWN0dXJlX3Rha2VfdmFsdWUoKQoJICB3aGVyZSBhcHByb3ByaWF0ZSB0byBhdm9pZCB1bm5lY2Vzc2FyeSBsaXN0IGNvcGllcy4KCjIwMTMtMDEtMjAgMTc6MTc6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogdXBkYXRlIFNCQyBjYXBzIGZvciByZW5hbWVkIGZpZWxkcwoJICBtb2RlIC0+IGNoYW5uZWwtbW9kZQoJICBhbGxvY2F0aW9uIC0+IGFsbG9jYXRpb24tbWV0aG9kCgoyMDEzLTAxLTE3IDE5OjI5OjMxIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogSW5pdGlhbGl6ZSBzaG1fYXJlYV9idWYgdG8gaW52YWxpZCB2YWx1ZQoKMjAxMy0wMS0wNyAxMzozMjowNiArMDEwMCAgUm9sYW5kIEVsZWsgPHJlbGVrLmYyQGdtYWlsLmNvbT4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IGFwcGx5IHNobSBhcmVhIHBlcm1pc3Npb25zIHRvIHNobXBpcGUgY29udHJvbCBzb2NrZXQKCSAgQXBwbHkgc2hhcmVkIG1lbW9yeSBhcmVhIHBlcm1pc3Npb25zIHRvIHRoZSBjb250cm9sIHNvY2tldCAobW9yZQoJICBwcmVjaXNlbHksIHRoZSBwYXRoIGl0IGlzIGJvdW5kIHRvKSBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgyNzc1CgoyMDEzLTAxLTE2IDE0OjQwOjExIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogRGVmaW5lIExJQlVTQl9DTEFTU19WSURFTyBpZiB1c2luZyBhbiBvbGQgdmVyc2lvbiBvZiBsaWJ1c2IKCjIwMTMtMDEtMTYgMTQ6NDg6NDYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBQcmV2ZW50IHRlbXBvcmFyeSBlbGVtZW50cyBmcm9tIGdvaW5nIHRvIHBsYXlpbmcKCjIwMTMtMDEtMTYgMTQ6NDI6MzggLTA1MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0OiBkbyBub3QgZG91YmxlLXVucmVmIGlmIHRyYW5zZm9ybV9jYXBzIGZhaWxzCgoyMDEzLTAxLTE2IDE0OjQxOjA4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSAgdXZjaDI2NDogQWRkIGEgZmFrZXNpbmsgdG8gdGhlIHRyYW5zZm9ybV9jYXBzIFNvbWUgdmVyc2lvbiBvZiBiYXNldHJhbnNmb3JtIHdpbGwgcmV0dXJuIHRoZSB0ZW1wbGF0ZSBjYXBzIGlmIHRoZSBzcmMgcGFkIGlzIG5vdCBsaW5rZWQsIHNvIHRoZSBjYXBzZmlsdGVyIHdpbGwgcmV0dXJuIEFOWS4gTGlua2luZyBpdCB0byBmYWtlc2luayBhbGxvd3MgdXMgdG8gcmV0dXJuIHRoZSByaWdodCBjYXBzIGluIHRoZSBjYXBzZmlsdGVyIGFuZCBoYXZlIHRoZW0gdHJhbnNmb3JtZWQgYnkgdGhlIGNvbG9yc3BhY2UgY29udmVydGVyLgoKMjAxMy0wMS0xNSAxNTowMjozNyArMDEwMCAgTWFydGluIFBpdHQgPG1hcnRpbnBpdHRAZ25vbWUub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB1c2UgXzFfMCB2YXJpYW50cyBmb3IgdGhlIHZhcmlvdXMgcmVnaXN0cnkgdmFyaWFibGVzCgkgIFRoZXNlIG92ZXJyaWRlIHRoZSB2YXJpYW50cyB3aXRob3V0IHZlcnNpb24gc3VmZml4LiBNYWtlcyAnbWFrZSBjaGVjaycgd29yawoJICBwcm9wZXJseSBpbiBlbnZpcm9ubWVudHMgdGhhdCBzZXQgdGhlIHN1ZmZpeGVkIHZhcmlhbnQgZm9yIDEuMCwgc3VjaCBhcwoJICBqaGJ1aWxkLgoKMjAxMy0wMS0xMiAxMzoxNTowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bW5hdXdAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogemVyby1pbml0aWFsaXplIFNQUyBWVUkgcGFyYW1ldGVycwoJICAuLi4gc28gYWxsICdwcmVzZW50JyBmbGFncyBpbmRpY2F0ZSBubyBwcmVzZW5jZSBvZiBvcHRpb25hbCBwYXJ0cwoJICBpbiBjYXNlIFZVSSBwYXJhbWV0ZXJzIGVuZCB1cCBub3QgYmVpbmcgcGFyc2VkLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxODE4CgoyMDEzLTAxLTE1IDE1OjA1OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTcyZmFlYSB0byBhOTQyMjkzCgoyMDEzLTAxLTEyIDE4OjEwOjM1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIHR3byBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTMtMDEtMDkgMTk6NTk6MTYgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9zcGFuZHNwL01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9nc3RkdG1mZGV0ZWN0LmM6CgkqIGV4dC9zcGFuZHNwL2dzdGR0bWZkZXRlY3QuaDoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5jOgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mL3NwYW5kc3A6IE1vdmUgZHRtZmRldGVjdCB0byB1c2UgbGlic3BhbmRzcAoJICBSZW1vdmUgb3VyIGNvcHkgb2YgdGhlIHRvbmVfZGV0ZWN0LmMgZmlsZSBhbmQgdXNlIHRoZSBvcmlnaW5hbAoJICBmcm9tIGxpYnNwYW5kc3AuIEFsc28gbW92ZSB0aGUgZWxlbWVudCB0byB0aGUgc3BhbmRzcCBwbHVnaW4uCgoyMDEzLTAxLTEwIDAwOjMxOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiB1c2UgR0xpYiBkZWZpbmVzIHRvIGNoZWNrIGZvciBieXRlIG9yZGVyCgoyMDEzLTAxLTA5IDE4OjEwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvYmx1ZXovTWFrZWZpbGUuYW06CgkqIHN5cy9ibHVlei9ibHVlei1wbHVnaW4uYzoKCSAgYmx1ZXo6IGFkZCBuZXcgcGx1Z2luIHRvIGJ1aWxkIHN5c3RlbSwgYnV0IGRpc2FibGUgZm9yIG5vdwoJICBEaXNhYmxlIHVudGlsIGl0IGhhcyBiZWVuIHRlc3RlZCBhbmQgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTMtMDEtMDkgMTg6MDI6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IG1ha2UgYmx1ZXogZWxlbWVudHMgY29tcGlsZSB3aXRoIDEuMAoJICBCdWlsZHMsIGJ1dCB2ZXJ5IGxpa2VseSBkb2Vzbid0IHdvcmsgeWV0IGF0IGFsbC4gU29tZQoJICB0aGluZ3MgYXJlIHN0aWxsIGNvbW1lbnRlZCBvdXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTA1ODIKCjIwMTItMTAtMDkgMjA6MzU6NDUgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdmluZm86IFJlcGxhY2UgZGVmaW5pdGlvbnMgd2l0aCBhMmRwLWNvZGVjcy5oJ3MKCjIwMTItMTAtMDkgMjA6MzU6NDQgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkgIGJsdWV6OiBhdWRpbzogQWRkIGNoZWNrIGZvciB2ZW5kb3Igc3BlY2lmaWMgQTJEUCBjb2RlYwoJICBUaGlzIHBhdGNoIGFkZHMgY2hlY2tzKHZlbmRvciBJRCwgdmVuZG9yIHNwZWNpZmljIGNvZGVjIElEKSB0byBtYWtlIHN1cmUgb2YKCSAgdmVuZG9yIHNwZWNpZmljIEEyRFAgY29kZWMgc2VsZWN0aW9uLgoKMjAxMi0wOS0xNCAyMTo0MDoxMCArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBnc3RhdmR0cHNpbms6IEZyZWUgdGhlIEQtQnVzIGVycm9yIG9uIHJlcGx5IGZhaWx1cmUKCSAgSWYgRC1CdXMgZXJyb3IgaXMgc2V0IHdlIHNob3VsZCBmcmVlIGl0LgoKMjAxMi0wOC0yMSAxMTo0OToyNCAtMDQwMCAgQW5kZXJzb24gTGl6YXJkbyA8YW5kZXJzb24ubGl6YXJkb0BvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogRml4IHRyaXZpYWwgY29kaW5nIHN0eWxlIGlzc3VlcyBvbiBwb2ludGVyIGRlY2xhcmF0aW9ucyBhbmQgY2FzdGluZwoJICBBdm9pZCB1c2luZyBDKysgc3R5bGUgcG9pbnRlciBkZWNsYXJhdGlvbnMgbGlrZSAiY2hhciogcHRyIiwgYXMgbW9zdAoJICBCbHVlWiBjb2RlIHVzZXMgImNoYXIgKnB0ciIuCgoyMDEyLTA2LTI1IDEyOjA2OjE3ICswMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LnZvbi5kZW50ekBpbnRlbC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBSZW1vdmUgaW50ZXJuYWwgYXVkaW8gSVBDCgkgIFdpdGggdW5peCBzb2NrZXQgYW5kIEFMU0EgcmVtb3ZlZCB0aGVyZSBpcyBubyBsb25nZXIgYW55IHVzZSBmb3IgdGhlCgkgIGludGVybmFsIElQQy4KCjIwMTItMDUtMzAgMTc6MTY6MTkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSBjb21wYXRpYmlsaXR5IGNoZWNrIGZvciBEQlVTX1RZUEVfVU5JWF9GRAoJICBTaW5jZSBjb21taXQgYzg5YjU4OWE1ODZlOTdhZDg3NWZiZGQxZDQxZjAzOTc5MTU3ZWJiMCwgRC1CdXMgPj0gMS40LjAgaXMKCSAgcmVxdWlyZWQuIFRoaXMgdmVyc2lvbiBhbHJlYWR5IGNvbnRhaW5zIFVuaXggRkQgcGFzc2luZyBzdXBwb3J0LAoJICB0aGVyZWZvcmUgY29kZSB0aGF0IGNoZWNrcyBmb3IgREJVU19UWVBFX1VOSVhfRkQgZGVmaW5pdGlvbiBpcwoJICB1bm5lY2Vzc2FyeS4KCjIwMTItMDUtMTggMDk6NDY6MjkgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IGF2ZHRwOiBGaXggaW5jb3JyZWN0IGdjaGFyIGJ1ZmZlciBhbGxvY2F0aW9uCgkgIFRoZSBjb2RlIHdhcyBhbGxvY2F0aW5nIGFuIGFycmF5IG9mIGdjaGFyIHBvaW50ZXJzLCB3aGVyZSBhbiBhcnJheSBvZgoJICBnY2hhciBpcyBleHBlY3RlZC4KCjIwMTItMDQtMTYgMTE6NTk6NTkgKzA5MDAgIENoYW4teWVvbCBQYXJrIDxjaGFueWVvbC5wYXJrQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogYXVkaW86IEFkZCBTQkMgTlVMTCBjaGVjayBmb3IgR1NUIEFWRFRQIHNpZ25hbGluZwoJICBEdWUgdG8gUkYgY29uZGl0aW9uIG9yIGhlYWRzZXQgbWFsZnVuY3Rpb25pbmcsIGdzdCBhdWRpbyBwbHVnLWluIGNvdWxkCgkgIG5vdCBnZXQgU0JDIChtYW5kYXRvcnkgY29kZWMpIGluZm9ybWF0aW9uLgoKMjAxMi0wNC0xMiAyMDozMzowNiArMDUzMCAgU3lhbSBTaWRoYXJkaGFuIDxzLnN5YW1Ac2Ftc3VuZy5jb20+CgoJICBibHVlejogYXVkaW86IEZpeCBuZXdsaW5lIGJlZm9yZSBFT0YKCjIwMTItMDQtMTIgMjA6MzI6NTUgKzA1MzAgIFN5YW0gU2lkaGFyZGhhbiA8cy5zeWFtQHNhbXN1bmcuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogZ3N0YXZkdHBzaW5rOiBGaXggRC1CdXMgbWVtb3J5IGxlYWsgaW4gYXVkaW8KCjIwMTEtMTEtMTcgMTM6Mjk6MDYgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFWRFRQOiBGaXggY2xvc2luZyBpbnZhbGlkIEZEIG9uIGVycm9yCgkgIEluIGdzdF9hdmR0cF9zaW5rX3N0YXJ0KCksIGlmIGJ0X2F1ZGlvX3NlcnZpY2Vfb3BlbigpIGZhaWxlZCwgdGhlcmUgd2FzCgkgIGFuIGF0dGVtcHQgdG8gY2xvc2UgYW4gaW52YWxpZCBmaWxlIGRlc2NyaXB0b3IgKHRocm91Z2gKCSAgYnRfYXVkaW9fc2VydmljZV9jbG9zZSgpKS4KCjIwMTEtMTEtMTYgMDk6MjA6MDQgLTA0MDAgIEFuZGVyc29uIExpemFyZG8gPGFuZGVyc29uLmxpemFyZG9Ab3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCByZXR1cm4gdmFsdWUgY2hlY2sgZm9yIGJ0X2F1ZGlvX3NlcnZpY2Vfb3BlbigpCgkgIE9ubHkgbmVnYXRpdmUgdmFsdWVzIChuYW1lbHkgLTEpIGFyZSBlcnJvcnMgZm9yIHRoaXMgZnVuY3Rpb24uCgoyMDExLTExLTE2IDA5OjE5OjQ5IC0wNDAwICBBbmRlcnNvbiBMaXphcmRvIDxhbmRlcnNvbi5saXphcmRvQG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBVkRUUDogRml4IGVycm5vIGhhbmRsaW5nIGNvbnZlbnRpb24KCSAgVmFyaWFibGVzIHdoaWNoIGFyZSBhc3NpZ25lZCB0byB0aGUgZXJybm8gdmFyaWFibGUgKHVzdWFsbHkgY2FsbGVkCgkgICJlcnIiKSBzaG91bGQgYmUgbmVnYXRpdmUsIGFuZCAiLWVyciIgc2hvdWxkIGJlIHVzZWQgd2hlcmUgYSBwb3NpdGl2ZQoJICB2YWx1ZSBpcyBuZWVkZWQuCgoyMDExLTA4LTI2IDExOjE4OjU0IC0wNzAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovYTJkcC1jb2RlY3MuaDoKCSAgYmx1ZXo6IGF1ZGlvOiBVcGRhdGUgbGljZW5zZSBmb3Igc2hhcmVkIGhlYWRlciBmaWxlcwoJICBUaGUgaGVhZGVyIGZpbGVzIHdpdGggY29uc3RhbnRzIGFuZCBzdHJ1Y3R1cmVzIGZvciBhdWRpbyBzcGVjaWZpYwoJICBpbnRlcmFjdGlvbiB3aXRoIFB1bHNlYXVkaW8gYXJlIHN1cHBvc2UgdG8gYmUgdW5kZXIgTEdQTCBsaWNlbnNlLgoJICBGb3Igc29tZSBvZGQgcmVhc29uIGEyZHAtY29kZWNzLmggZW5kZWQgdXAgYmVpbmcgdW5kZXIgR1BMIGxpY2Vuc2UKCSAgd2hpY2ggaXMgYWdhaW5zdCB0aGUgaW50ZW50aW9uIG9mIHRoaXMgYmVpbmcgc2hhcmVkIGFuZCByZS11c2VkIGJ5CgkgIG5vbi1HUEwgcHJvZ3JhbXMuIEZpeCB0aGlzIG5vdyB0byBhdm9pZCBhbnkgZnV0dXJlIGNvbmZ1c2lvbi4KCjIwMTEtMDctMDIgMTI6MzI6NDAgLTAzMDAgIEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVtYXJjaGlAcHJvZnVzaW9uLm1vYmk+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29tbW9uIG1pc3NwZWxsZWQgd29yZHMKCSAgQWNjb3VudGluZyBvZiBtaXNzcGVsbGVkIHdvcmRzLCBhcyBkZXRlY3RlZCBieSBjb2Rlc3BlbGw6CgkgIGFjb3JkaW5nICAgICAgMgoJICBhbmNpbGxpYXJ5ICAgIDEKCSAgYXBwcm9waWF0ZSAgICAxCgkgIGF0cmlidXRlICAgICAgMQoJICBjYW50ICAgICAgICAgIDEKCSAgY29tbWluZyAgICAgICAyCgkgIGdyYWNlZnVsbCAgICAgMQoJICBsZW5naHQgICAgICAgIDEKCSAgbWlzcGVsbGVkICAgICAxCgkgIG9jY3VyZWQgICAgICAgMQoJICBvY2N1cmVuY2VzICAgIDEKCSAgb2N1cnJlZCAgICAgICAzCgkgIHByZWZlcmVkICAgICAgMQoJICBwcmVzZW5zZSAgICAgIDEKCSAgcmVwb25zZSAgICAgICAxCgkgIHNlcGVyYXRlICAgICAgMQoJICBzdWNjZXNmdWwgICAgIDEKCSAgc3VjY2Vzc3VsbHkgICAxCgkgIHN1Y2Vzc2Z1bGwgICAgMQoJICBzdWNlc3NmdWxseSAgIDEKCjIwMTEtMDUtMDkgMTU6MjY6MDcgKzAyMDAgIFN6eW1vbiBKYW5jIDxzenltb24uamFuY0B0aWV0by5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZ2FyYmFnZSByZXR1cm4gdmFsdWUgaW4gZ3N0X2F2ZHRwX3NpbmtfYXVkaW9zZXJ2aWNlX3JlY3YKCjIwMTEtMDItMTMgMTc6NTE6NDUgLTA4MDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogYXVkaW86IFJlbW92ZSB3b3JrYXJvdW5kIGZvciBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wMS0yMCAxMToyOTo0MSArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogVXBkYXRlIGEyZHBzaW5rIHRvIHVzZSBuZXcgQWNxdWlyZSBBUEkKCjIwMTEtMDEtMTkgMTA6MDQ6NDkgKzAyMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1c2Ugb2YgZGVwcmVjYXRlZCBnbGliIG9uIGF1ZGlvIHBsdWdpbgoKMjAxMC0wNS0wNiAxNzoxNDoxNCArMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ei12b25Abm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2EyZHAtY29kZWNzLmg6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgc3VwcG9ydCBmb3IgbWVkaWEgdHJhbnNwb3J0IGluIGdzdHJlYW1lciBwbHVnaW4KCjIwMTAtMDktMTMgMTU6NDA6MTEgKzAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHotdm9uQG5va2lhLmNvbT4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjcmFzaCBvbiBnc3RyZWFtZXIgcGx1Z2luIGlmIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgc2JjCgoyMDEwLTA1LTE5IDE2OjU5OjMwICswMjAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogQWRkIHByYWdtYSBiYXNlZCB3b3JrYXJvdW5kIGZvciBHU3RyZWFtZXIgd2FybmluZ3MKCjIwMTAtMDUtMTkgMTY6MTA6MjYgKzAyMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogUmV2ZXJ0ICJGaXggYnVpbGQgaXNzdWVzIHdpdGggbGF0ZXN0IEdTdHJlYW1lciB1cGRhdGVzIgoKMjAxMC0wNS0xNyAyMjozMToyOCArMDIwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYnVpbGQgaXNzdWVzIHdpdGggbGF0ZXN0IEdTdHJlYW1lciB1cGRhdGVzCgoyMDEwLTAxLTAxIDE3OjA4OjE3IC0wODAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5oOgoJICBibHVlejogVXBkYXRlIGNvcHlyaWdodCBpbmZvcm1hdGlvbgoKMjAwOS0xMC0wNSAyMjo1MToxNCArMDIwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBnbWFpbC5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kZWMgc2VsZWN0aW9uIG9uIGdzdHJlYW0gcGx1Z2luLgoKMjAwOS0xMC0wMiAxMDo1ODo1NCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCB1bm5lY2Vzc2FyeSBOVUxMIGNoZWNrcwoKMjAwOS0wNy0xNSAxNjo1MTowOCAtMDMwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogUmVtb3ZlIHVzZWxlc3MgaW5zdHJ1Y3Rpb24uCgoyMDA5LTA3LTAxIDEzOjE1OjU3ICswMjAwICBGaWxpcHBvIEdpdW5jaGVkaSA8ZmlsaXBwb0Blc2F1cml0by5uZXQ+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IFJlZ2lzdGVyIHRoZSBhMmRwIGdzdCBzaW5rIGFzIG1hcmdpbmFsCgkgIEF2b2lkIHRha2luZyBvdmVyIGFzIGRlZmF1bHQgZ3N0IHNpbmsgYnkgcmVnaXN0ZXJpbmcgYXMgR1NUX1JBTktfTUFSR0lOQUwKCjIwMDktMDMtMjUgMTg6MDU6NDMgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBzcGVjaWZpYyBjb2RlYyB0eXBlcy4KCSAgQWRkIHNwZWNpZmljIGNvZGVjIHR5cGVzIGZvciBhMmRwIHNvdXJjZXMgYW5kIHNpbmtzIHNvIGNsaWVudHMgYXJlIGFibGUKCSAgdG8gZGlmZmVyIGJldHdlZW4gdGhlbS4KCjIwMDktMDMtMTggMTU6NTg6NTMgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IFJlbW92ZSB1bm5lY2Vzc2FyeSBtZW1zZXQuCgoyMDA5LTAzLTE5IDE2OjE2OjE5IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgbG9jayBmbGFnIGZvciBjYXBhYmlsaXRpZXMuCgkgIGxvY2sgZmxhZyBwZXJtaXRzIHRoZSB1bml4IGNsaWVudCB0byBkZXRlY3QgaWYgdGhlcmUgaXMgc29tZW9uZSBob2xkaW5nCgkgIHRoZSBsb2NrIHNvIGl0IGNhbiBwcmV2ZW50IHVzZWxlc3MgYXR0ZW1wdCBvZiBzZXR0aW5nIGEgbmV3IGNvbmZpZ3VyYXRpb24uCgoyMDA5LTAzLTE4IDExOjIwOjMxIC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBJbnRyb2R1Y2UgQlRfT1BFTiBjb21tYW5kIHRvIGF1ZGlvIGlwYy4KCSAgQlRfT1BFTiBtYWtlIGl0IHBvc3NpYmxlIHRvIGxvY2sgYSBnaXZlbiBzZWlkIHdoaWNoIGlzIGF1dG9tYWNhbGx5CgkgIHJlbGVhc2UgaWYgdGhlIGNsaWVudCBkaXNjb25uZWN0cyBmcm9tIHRoZSB1bml4IHNvY2tldC4KCjIwMDktMDMtMTkgMTE6NTA6MjYgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBzb3VyY2UgYW5kIGRlc3RpbmF0aW9uIGZpZWxkcyB0byBhdWRpbyBpcGMgbWVzc2FnZXMuCgoyMDA5LTAyLTE5IDE1OjU4OjE1IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNYWtlIHVzZSBvZiBnX2lvX2NoYW5uZWxfc2h1dGRvd24gaW5zdGVhZCBvZiBkZXByZWNhdGVkIGdfaW9fY2hhbm5lbF9jbG9zZS4KCjIwMDktMDEtMDEgMTk6MzM6MjAgKzAxMDAgIE1hcmNlbCBIb2x0bWFubiA8bWFyY2VsQGhvbHRtYW5uLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBVcGRhdGUgY29weXJpZ2h0IGluZm9ybWF0aW9uCgoyMDA4LTEyLTIzIDA1OjI1OjUwICswMTAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpcnN0IGF0dGVtcHQgaW4gZml4aW5nIGNvbXBpbGVyIHdhcm5pbmdzIChzdGlsbCBuZWVkcyBjbGVhbnVwKQoKMjAwOC0xMi0yMCAyMTo0Mjo0OSArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBNb3JlIGNvZGluZyBzdHlsZSBmaXhlcwoKMjAwOC0xMi0yMCAyMTowNDo0NCArMDIwMCAgSm9oYW4gSGVkYmVyZyA8am9oYW4uaGVkYmVyZ0Bub2tpYS5jb20+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBDb2Rpbmcgc3R5bGUgZml4ZXMKCjIwMDgtMTItMjAgMTg6Mjc6MzAgKzAyMDAgIEpvaGFuIEhlZGJlcmcgPGpvaGFuLmhlZGJlcmdAbm9raWEuY29tPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogRml4IGxlbmd0aCBoZWFkZXIgdmFsdWVzIGluIG1lc3NhZ2VzCgoyMDA4LTEyLTE2IDE3OjA5OjU3IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZ3N0cmVhbWVyIHBsdWdpbiB0byByZWZsZWN0IHRoZSBpcGMgY2hhbmdlcy4KCjIwMDgtMTAtMDcgMTI6MDc6MTQgLTAzMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjaGFubmVsIG1vZGUgc3RyaW5nIGZyb20gZHVhbCB0byBkdWFsLWNoYW5uZWwuCgoyMDA4LTEwLTA3IDExOjU1OjU4IC0wMzAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY2hhbm5lbCBtb2RlIHN0cmluZyB0byBqb2ludC1zdGVyZW8uCgoyMDA4LTAyLTIwIDEzOjM3OjAwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBydW50aW1lIHdhcm5pbmdzIG9mIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAyLTE5IDE5OjQ5OjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogVXBkYXRlIGdzdHJlYW1lciBwbHVnaW4gdG8gdXNlIG5ldyBzYmMgQVBJLgoKMjAwOC0wMi0xNCAyMToyMjozOCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJICBibHVlejogTWFrZSB1c2Ugb2YgcGFyYW1ldGVycyBzZWxlY3RlZCBpbiBhbHNhIHBsdWdpbiBhbmQgZml4IGF1dG8gc2VsZWN0aW9uLgoKMjAwOC0wMi0wMiAwMzozNzowNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFVwZGF0ZSBjb3B5cmlnaHQgaW5mb3JtYXRpb24KCjIwMDgtMDItMDEgMTk6Mjg6MzcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJICBibHVlejogQWRkIGJpdHBvb2wgcHJvcGVydHkgYW5kIG90aGVycyBmaXhlcyBmb3IgZ3N0cmVhbWVyIHBsdWdpbi4KCjIwMDgtMDEtMzAgMTc6MzA6MjcgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSogc3lzL2JsdWV6L2dzdGF2ZHRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmg6CgkgIGJsdWV6OiBFbmFibGUgZ3N0cmVhbWVyIHBsdWdpbiB0byB1c2UgYXV0b2Nvbm5lY3QgZmxhZy4KCjIwMDgtMDEtMzAgMTQ6MjE6NDMgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IEZpeGVzIGdzdHJlYW1lciBjYXBzIGFuZCBjb2RlIGNsZWFudXAuCgoyMDA4LTAxLTIzIDE5OjE3OjMzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggdXNlIG9mIGdzdHJlYW1lciBwbHVnaW4gd2l0aCByaHl0aG1ib3ggYW5kIGJhbnNoZWUgYW5kIHJ0cCB0aW1lc3RhbXBzLgoKMjAwOC0wMS0yMyAxNToxODoxNSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJKiBzeXMvYmx1ZXovZ3N0YXZkdHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhdmR0cHNpbmsuaDoKCSAgYmx1ZXo6IFJlbmFtZSBhMmRwc2VuZGVyc2luayB0byBhdmR0cHNpbmsuCgoyMDA4LTAxLTIzIDEzOjIzOjAxICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBCdWcgZml4ZXMgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE5OjMyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgbXAzIHN1cHBvcnQgZm9yIGdzdHJlYW1lciBwbHVnaW4uCgoyMDA4LTAxLTIzIDEzOjE0OjAyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBNYWtlIGEyZHBzaW5rIHRvIGFjdCBsaWtlIGEgYmluIGFuZCBzcGxpdCB0aGUgcGF5bG9hZGVyLgoKMjAwNy0xMi0wNCAxOTo0MjowMCArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggZXJyb3IgbWVzc2FnZXMuICh0aGFua3MgdG8gZmNoZXZhbGllciBmb3IgdGhlIHBhdGNoKQoKMjAwNy0xMi0wMyAyMjo0MToyOSArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBIYW5kbGUgbmV3IGlwYyBtZXNzYWdlcyBwcm9wZXJseSBhbmQgYWRhcHQgdGhlIHBsdWdpbnMuCgoyMDA3LTExLTIzIDE3OjAwOjEzICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IENvZGUgY2xlYW51cC4KCjIwMDctMTEtMjEgMjA6MjQ6MTEgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEludGVncmF0ZSBuZXcgaXBjIEFQSSBpbXBsZW1lbnRhdGlvbi4KCjIwMDctMTEtMDEgMTk6NDU6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeCBzYmMgbmVnb3RpYXRpb24gYW5kIGltcHJvdmVzIGJ1ZmZlciBoYW5kbGluZyBieSB1c2luZyBHc3RBZGFwdGVyLgoKMjAwNy0xMC0yOSAxNTowMjoyNiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBBZGQgYml0cG9vbCBjYXBhYmlsaXR5LgoKMjAwNy0xMC0yNiAxODo0ODo0MiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBSZW1vdmUgZGVwZW5kZW5jeSBvZiBzYmMgbGlicmFyeSBmcm9tIGEyZHBzaW5rIGVsZW1lbnQuCgoyMDA3LTEwLTI1IDIxOjA3OjUwICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYnVmZmVyIHVzYWdlLgoKMjAwNy0xMC0yNCAyMTo0MDozNSArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBTb21lIG1vcmUgY29kaW5nIHN0eWxlIGZpeGVzCgoyMDA3LTEwLTI0IDIxOjMzOjIyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEZpeCBjb2Rpbmcgc3R5bGUuCgoyMDA3LTEwLTI0IDIxOjEzOjEyICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBGaXggYTJkcHNpbmsgY29kaW5nIHN0eWxlIHByb2JsZW1zIGFuZCBpbXByb3ZlIGNvbXBhdGliaWxpdHkgd2l0aCBzb21lIHBsYXllcnMuCgoyMDA3LTEwLTE4IDIzOjAyOjI0ICswMDAwICBMdWl6IEF1Z3VzdG8gdm9uIERlbnR6IDxsdWl6LmRlbnR6QG9wZW5ib3NzYS5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSAgYmx1ZXo6IEFkZCBydHAgaGVhZGVyLgoKMjAwNy0xMC0xOCAyMjo0NjoxMiArMDAwMCAgTHVpeiBBdWd1c3RvIHZvbiBEZW50eiA8bHVpei5kZW50ekBvcGVuYm9zc2Eub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkgIGJsdWV6OiBGaXggY29kaW5nIHN0eWxlIGlzc3Vlcy4KCjIwMDctMTAtMTggMjE6NTA6MDAgKzAwMDAgIEx1aXogQXVndXN0byB2b24gRGVudHogPGx1aXouZGVudHpAb3BlbmJvc3NhLm9yZz4KCgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5jOgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuaDoKCSAgYmx1ZXo6IEZpeGVzIGEyZHBzaW5rIGVsZW1lbnQuCgoyMDA3LTA4LTI2IDE0OjE0OjM0ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgcG9zc2libGUgY2FwYWJpbGl0aWVzIGFuZCBjb25uZWN0IHRvIGF1ZGlvIHNlcnZlcgoKMjAwNy0wOC0yMyAxOToxMjoyMyArMDAwMCAgTWFyY2VsIEhvbHRtYW5uIDxtYXJjZWxAaG9sdG1hbm4ub3JnPgoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmM6CgkqIHN5cy9ibHVlei9nc3RhMmRwc2luay5oOgoJICBibHVlejogQWRkIFNCQyBlbmNvZGVyIGFuZCBkZWNvZGVyIHNrZWxldG9ucyBmb3IgR1N0cmVhbWVyCgoyMDA3LTA4LTIyIDIxOjUwOjU5ICswMDAwICBNYXJjZWwgSG9sdG1hbm4gPG1hcmNlbEBob2x0bWFubi5vcmc+CgoJKiBzeXMvYmx1ZXovZ3N0YTJkcHNpbmsuYzoKCSogc3lzL2JsdWV6L2dzdGEyZHBzaW5rLmg6CgkgIGJsdWV6OiBBZGQgc2tlbGV0b24gZm9yIGFuIEEyRFAgc2luayBlbGVtZW50CgoyMDEzLTAxLTA3IDEwOjM3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBoYW5kbGUgbm9uLXV0ZjggZHZkIGRpc2MgdGl0bGVzIGJldHRlcgoJICBNYXliZSBzb21ldGhpbmcgYmFzZWQgb24gdGhlIGNvZGUgaW4gYnVnICM2ODgzNjcKCSAgYW5kIHRoZSBsYW5ndWFnZSBlbmNvZGluZ3Mgd291bGQgd29yayBldmVuIGJldHRlcgoJICB0aG91Z2ggKG5vdyBpdCB3aWxsIHRyeSB0aGluZ3MgYmFzZWQgb24gdGhlIGxvY2FsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwOTcKCjIwMTMtMDEtMDcgMTA6MzY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9NYWtlZmlsZS5hbToKCSogZXh0L2phc3Blci9nc3RqYXNwZXIuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuaDoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGphc3BlcjogcmVtb3ZlIGphc3BlciBqcGVnMjAwMCBwbHVnaW4sIHJlcGxhY2VkIGJ5IG9wZW5qcGVnIHBsdWdpbgoJICBsaWJqYXNwZXIgaXNuJ3QgcmVhbGx5IG1haW50YWluZWQgYW55IGxvbmdlciwgd2UgcHJvYmFibHkKCSAgZG9uJ3Qgd2FudCB0byBwb3J0IHRoaXMuCgoyMDEzLTAxLTA3IDAwOjQ5OjEwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFsbG93IGNvbXBpbGF0aW9uIGFnYWluc3Qgb3BlbmN2IDIuNC4zIGFzIHdlbGwKCjIwMTItMTItMDYgMTE6NTU6NDUgLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvbid0IGZvcndhcmQgbXVsdGlmaWxlc2luayBtZXNzYWdlcyB0byBhcHBsaWNhdGlvbgoJICBUaGVzZSBtZXNzYWdlcyBhcmUgdXN1YWxseSBvbmx5IG5lZWRlZCBpbnRlcm5hbGx5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEyLTExLTA2IDEwOjE3OjE5IC0wNTAwICBWaWN0b3IgR290dGFyZGkgPHZnb3R0YXJkaUBob3RtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkgIGhsc3Npbms6IG0zdTggYWRkIEVYVC1YLUFMTE9XLUNBQ0hFCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODk4MjIKCjIwMTItMTItMDUgMTA6MDY6MzggLTA1MDAgIFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoKCSogZ3N0L2hscy9nc3RtM3U4cGxheWxpc3QuYzoKCSAgaGxzc2luazogcm91bmQgc2VnbWVudCBkdXJhdGlvbiB0byBuZWFyZXN0IG51bWJlciBvZiBzZWNvbmRzCgkgIEUuZy4gZm9yIDFzIHBlcmlvZCwgZHVyYXRpb24gY2FuIGJlIDAuOTlzLCByb3VuZHMgZG93biB0byAwLCByZXN1bHRzIGluIGludmFsaWQKCSAgcGxheWxpc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTgyMgoKMjAxMy0wMS0wNiAyMjoxOTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsc3Npbms6IGRvbid0IGxlYWsgb2xkIHBsYXlsaXN0IGVudHJpZXMgd2hlbiB1c2luZyBtYXgtZmlsZXMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IFZpY3RvciBHb3R0YXJkaSA8dmdvdHRhcmRpQGhvdG1haWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5ODIyCgoyMDEzLTAxLTA1IDE4OjU2OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIFJHQgoKMjAxMy0wMS0wNCAxNTozODo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG06IEFjdHVhbGx5IGdldCB0aGUgcGVybWlzc2lvbnMgb24gZ2V0X3Byb3BlcnR5CgoyMDEzLTAxLTA0IDE3OjE5OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuYzoKCSAgaW50ZXI6IGRvbid0IHVzZSBkZXByZWNhdGVkIEdTdGF0aWNNdXRleCBBUEkKCjIwMTMtMDEtMDMgMTc6Mjg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvbid0IHJldHVybiBFR0xJbWFnZXMgdGhhdCB3ZSBqdXN0IHJlbmRlcmVkIGZyb20gdGhlIGJ1ZmZlciBwb29sCgkgIE1hcHBpbmcgdGhlbSB3aWxsIGZhaWwgYmVjYXVzZSB0aGV5J3JlIHN0aWxsIGludGVybmFsbHkgdXNlZC4KCjIwMTMtMDEtMDMgMTU6MjI6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBIYW5kbGUgY29weWluZyBvZiBHc3RNZW1vcnkgcHJvcGVybHkKCSAgV2UgaGF2ZSB0byB1c2UgdGhlIGRlZmF1bHQgdmlkZW8gbWV0YSBtYXBwaW5nIGZ1bmN0aW9ucy4KCjIwMTMtMDEtMDMgMTI6MDk6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTZXQgdmFyaWFibGVzIHRvIE5VTEwgdG8gcHJldmVudCB1c2FnZSBhZnRlciBmcmVlL3VucmVmCgoyMDEzLTAxLTAzIDEyOjA4OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IE1ha2Ugc3VyZSB0byBhbHdheXMgdXNlIHRoZSBjb3JyZWN0IEdzdE1lbW9yeSBmb3IgYnVmZmVycyBmcm9tIG91ciBwb29sCgoyMDEzLTAxLTAzIDExOjAzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBmb3JnZXQgdG8gY2FsbCB0aGUgcGxhdGZvcm0gc3BlY2lmaWMgRUdMSW1hZ2UgZnJlZSBmdW5jdGlvbgoKMjAxMy0wMS0wMyAxMDo1MzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRml4IGxlYWsgb2YgaW5wdXQvb3V0cHV0IGJ1ZmZlciBzdG9yYWdlIGluIHRoZSBNRkMgZGVjb2RlciBsaWJyYXJ5CgoyMDEzLTAxLTAzIDEwOjQwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gd2FpdCBmb3IgdGhlIHJpZ2h0IG9iamVjdCB0byBiZSBkZXF1ZXVlZAoKMjAxMy0wMS0wMyAxMDoxMDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEZpeCB0eXBvCgoyMDEzLTAxLTAyIDE3OjIzOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogT25seSBhZGQgY3JvcCBtZXRhZGF0YSBpZiByZXF1aXJlZAoKMjAxMy0wMS0wMiAxNjo1MzoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBmaW1jOiBEbyBTVFJFQU1PTi9TVFJFQU1PRkYgb25seSBvbmNlIGFuZCBub3Qgb25jZSBwZXIgYnVmZmVyCgoyMDEzLTAxLTAyIDE2OjM4OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBSZXF1aXJlIG9uZSBtb3JlIG91dHB1dCBidWZmZXIgdGhhbiByZXR1cm5lZCBieSB0aGUgZHJpdmVyCgoyMDEzLTAxLTAyIDE2OjEwOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgcGFja2VkIFlVViBzdXBwb3J0CgkgIFRoaXMgd2lsbCBub3QgYWxsb3cgemVyby1jb3B5IGJlY2F1c2UgdGhlIHNhbWUKCSAgRUdMSW1hZ2Ugd291bGQgbmVlZCB0byBiZSB1c2VkIGZvciB0d28gZGlmZmVyZW50CgkgIHRleHR1cmVzIHdpdGggYSBkaWZmZXJlbnQgZm9ybWF0LgoKMjAxMy0wMS0wMiAxNjowOToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFByZWZlciBOVjEyIG92ZXIgSTQyMC9ZVjEyCgoyMDEzLTAxLTAyIDE1OjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSAgbWZjOiBUaGUgZmlyc3QgZnJhbWUgcHJvZHVjZXMgb3V0cHV0IGluIG91ciBjYXNlCgoyMDEzLTAxLTAyIDE0OjMyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFJlcXVlc3QgaW5wdXQgYnVmZmVycyBleHBsaWNpdGVseQoKMjAxMy0wMS0wMiAxNDoyNzo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRG9uJ3QgU1RSRUFNT0ZGIGlmIG5vIFNUUkVBTU9OIGhhcHBlbmVkIHlldAoKMjAxMy0wMS0wMiAxNDoyMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mYy5jOgoJICBtZmM6IENoZWNrIGlmIHRoZSBNRkMgaGFyZHdhcmUgZXhpc3RzIGJlZm9yZSByZWdpc3RlcmluZyB0aGUgZWxlbWVudAoKMjAxMy0wMS0wMiAxNDoxNjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogQ2hlY2sgZGV2aWNlIGNhcGFiaWxpdGllcyBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoKMjAxMy0wMS0wMiAxMjozMzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEluY2x1ZGUgY29kZWNfZGF0YSBpbiB0aGUgYnVmZmVyIHdpdGggdGhlIG5leHQgZnJhbWUKCjIwMTMtMDEtMDIgMTE6NDQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBTZXQgZm9ybWF0IGZpZWxkIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QKCjIwMTMtMDEtMDIgMTE6MDA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgY3JvcCBtZXRhZGF0YQoKMjAxMy0wMS0wMiAxMDoyNjowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IENoZWNrIGlmIHRoZSBoYXJkd2FyZSBpcyBhdmFpbGFibGUgaW4gR3N0VmlkZW9EZWNvZGVyOjpvcGVuKCkKCjIwMTMtMDEtMDEgMTE6NTY6MTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHVzZSBEVFMgaW4gYWRkaXRpb24gdG8gUFRTCgkgIEFuZCByZWZhY3RvciBjaG9vc2VfYmVzdF9zdHJlYW0oKSBhIGxpdHRsZS4KCSAgdmlkZW90ZXN0c3JjIHBhdHRlcm49YmFsbCAhIHgyNjRlbmMgISBtcGVncHNtdXggISAuLi4KCSAgcGxheXMgbXVjaCBuaWNlciBub3cuCgoyMDEzLTAxLTAxIDEyOjA1OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBMb2cgaW4gdGhlIHBlcmZvcm1hbmNlIGNhdGVnb3J5IGlmIHdlIG1hcC9jb3B5IEVHTEltYWdlcyB0byBub3JtYWwgbWVtb3J5CgoyMDEzLTAxLTAxIDExOjA1OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHN1cHBvcnQgZm9yIGgyNjMgYW5kIE1QRUcxLzIKCjIwMTMtMDEtMDEgMTA6NDg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENhdGNoIGVycm9ycyBmcm9tIGdsRUdMSW1hZ2VUYXJnZXRUZXh0dXJlMkRPRVMoKQoKMjAxMy0wMS0wMSAxMDo0NDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogVXBsb2FkIHRleHR1cmVzIGluIEdzdEJhc2VTaW5rOjpwcmVwYXJlKCkgYWxyZWFkeQoJICBUaGlzIGdpdmVzIG1vcmUgdGltZSBmb3IgdGhlIHRleHR1cmUgdG8gYmUgdXBsb2FkZWQgYXMgaXQgaGFwcGVucwoJICBiZWZvcmUgc3luY2luZyB0byB0aGUgcnVubmluZyB0aW1lLiBXaGVuIHRoZSBydW5uaW5nIHRpbWUgaXMgcmVhY2hlZAoJICBvbmx5IGVnbFN3YXBCdWZmZXJzKCkgaXMgbmVjZXNzYXJ5LgoKMjAxMi0xMi0zMSAxOTo0NTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkgIG1wZWdwc211eDogdXNlIGdzdHJlYW1lciBkZWJ1ZyBsb2dnaW5nIHN5c3RlbSBldmVyeXdoZXJlCgoyMDEyLTEyLTMxIDE5OjQyOjAzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9hYWMuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IHBvcnQgdG8gMC4xMQoJICBOYWl2ZSBwb3J0LiBCYXJlbHkgdGVzdGVkLgoKMjAxMi0xMi0zMSAxMjo0MjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IERvbid0IHJlY29uZmlndXJlIGlmIHdlIGdldCBjb21wYXRpYmxlIGNhcHMKCjIwMTItMTItMzEgMTI6MzM6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IGNyZWF0ZSB0aGUgTUZDIGNvbnRleHQgaW4gOjpzZXRfZm9ybWF0KCkKCjIwMTItMTItMzEgMTE6NTY6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZWNyZWF0ZSBmaW1jIGNvbnRleHQgaWYgc2V0dGluZ3MgY2hhbmdlCgoyMDEyLTEyLTMxIDExOjAyOjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU29tZSByZWZhY3RvcmluZwoKMjAxMi0xMi0zMSAwOTo0NzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IERvIHplcm9jb3B5IGlmIHdlIGdldCBFR0xJbWFnZSBidWZmZXJzCgoyMDEyLTEyLTMwIDE2OjQ1OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogU29tZSBtaW5vciBmaXhlcwoKMjAxMi0xMi0yNiAxMzozMDoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEZpeCBkb3VibGUtdW5tYXAgb2YgdGhlIGNvZGVjIGRhdGEKCjIwMTItMTItMjYgMTM6Mjc6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9maW1jL2ZpbWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBQYXNzIGNvZGVjX2RhdGEgdG8gdGhlIGNvZGVjIGlmIHRoZXJlJ3Mgc29tZQoKMjAxMi0xMi0yNiAxMzoxODowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5oOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IFJlZmFjdG9yIGZpbWMgY29kZSBhIGJpdAoKMjAxMi0xMi0yNiAxMjozODozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkgIG1mYzogRG93bmdyYWRlIGFuIGVycm9yIHRvIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNiAxMTo1MTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IFNvbWUgZmltYyBjbGVhbnVwCgoyMDEyLTEyLTI2IDA5OjU2OjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogQWRkIHByb2ZpbGUvbGV2ZWwgYW5kIHdpZHRoL2hlaWdodCBjb25zdHJhaW50cwoKMjAxMi0xMi0yNCAxNjoyMzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2ZpbWMvZmltYy5jOgoJICBtZmM6IERvbid0IGxlYWsgYnVmZmVycyB3aGVuIHNldHRpbmcgbmV3IGRlc3Qgc2V0dGluZ3MgZm9yIGEgZGlyZWN0IGJ1ZmZlcgoKMjAxMi0xMi0yNCAxNjowMjo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBpbml0aWFsIE1QRUc0IHN1cHBvcnQKCjIwMTItMTItMjQgMTU6NDQ6NTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBBZGQgc29tZSBtb3JlIGRlYnVnIG91dHB1dAoKMjAxMi0xMi0yNCAxNTozNDo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBJbXBsZW1lbnQgdHJhY2tpbmcgb2YgZnJhbWVzIHVzaW5nIHRoZSB2NGwyX2J1ZmZlciB0aW1lc3RhbXAKCjIwMTItMTItMjQgMTQ6NDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBSZXNldCBzb21lIG1vcmUgdmFyaWFibGVzIG9uIDo6cmVzZXQoKQoKMjAxMi0xMi0yNCAxNDozNjozNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFsc28gYWRkIHN1cHBvcnQgZm9yIFlWMTIKCjIwMTItMTItMjQgMTM6NDE6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSAgbWZjOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YQoKMjAxMi0xMi0yNCAxMzozOTozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5oOgoJICBtZmM6IEltcGxlbWVudCBuZWdvdGlhdGlvbiB0byBOVjEyIG9yIEk0MjAgYmFzZWQgb24gZG93bnN0cmVhbSBjYXBzCgoyMDEyLTEyLTI0IDEyOjMxOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogV29ya2Fyb3VuZCBmb3Igd3JvbmdseSByZXBvcnRlZCBzdHJpZGVzIGJ5IEZJTUMKCjIwMTItMTItMjQgMTI6MTg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSogc3lzL21mYy9nc3RtZmNkZWMuaDoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogQWRkIHByb3BlciBzdXBwb3J0IGZvciBNRkMgZGVjb2RlciBzdHJpZGVzCgoyMDEyLTEyLTI0IDEyOjEwOjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogVHJ5IHdpdGggSTQyMCBmb3Igbm93LCBpdCdzIGVhc2llciB0byBkZWJ1ZwoKMjAxMi0xMi0yNCAxMTo1Nzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL2dzdG1mY2RlYy5jOgoJICBtZmM6IEFkZCBzb21lIG1vcmUgZGVidWcgb3V0cHV0CgoyMDEyLTEyLTI0IDExOjU0OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkgIG1mYzogRG9uJ3QgcmVxdWlyZSBzdHJpZGUgdG8gYmUgc2V0IG9uIHNyYyBwYXJhbWV0ZXJzCgoyMDEyLTEyLTI0IDExOjQ5OjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuYzoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5oOgoJICBtZmM6IFRoZSBtZmMgZGVjb2RlciBsaWJyYXJ5IGlzIGR1YWwgbGljZW5zZWQgdG9vCgkgIEFwYWNoZSBMaWNlbnNlIDIuMCBhbmQgTEdQTDIrCgoyMDEyLTEyLTIzIDEyOjI1OjA2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZmltYy9maW1jLmM6CgkqIHN5cy9tZmMvZmltYy9maW1jLmg6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogVXNlIENBTUlGL0ZJTUMgZm9yIGhhcmR3YXJlIGNvbG9yIGZvcm1hdCBjb252ZXJzaW9uIGFuZCBkZS10aWxpbmcKCjIwMTItMTItMjMgMTM6NDY6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9nc3RtZmNkZWMuYzoKCSAgbWZjOiBPbmx5IHVucmVmIHRoZSBvdXRidWYgaWYgaXQgZG9lc24ndCBiZWxvbmcgdG8gdGhlIGZyYW1lCgoyMDEyLTEyLTIzIDEyOjA0OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkgIG1mYzogUG9ydCB0byBHU3RyZWFtZXIgMS4wCgoyMDEyLTEyLTIzIDExOjQ3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIGluaXRpYWwgZGVjb2RlciBlbGVtZW50IGltcGxlbWVudGF0aW9uCgkgIFRoaXMgZG9lcyBub3QgY29weSB0aGUgb3V0cHV0IHRvIGFueSBvdXRwdXQgYnVmZmVycyB5ZXQuCgkgIE90aGVyIHRoYW4gdGhhdCBzaG91bGQgYmUgYmFzaWNhbGx5IGZ1bmN0aW9uYWwgYWxyZWFkeS4KCjIwMTItMTItMjMgMTA6MjM6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvTWFrZWZpbGUuYW06CgkqIHN5cy9tZmMvZ3N0bWZjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmM6CgkqIHN5cy9tZmMvZ3N0bWZjZGVjLmg6CgkgIG1mYzogQWRkIHBsdWdpbiBhbmQgZGVjb2RlciBza2VsZXRvbgoKMjAxMi0xMi0yMyAxMDowNTo0OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmM6CgkqIHN5cy9tZmMvbWZjX2RlY29kZXIvbWZjX2RlY29kZXIuaDoKCSAgbWZjOiBNYWtlIG1mY19kZWNvZGVyIGxpYnJhcnkgY29tcGlsZSBhbmQgZml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTItMjMgMDk6NTY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL21mYy9tZmNfZGVjb2Rlci9tZmNfZGVjb2Rlci5jOgoJKiBzeXMvbWZjL21mY19kZWNvZGVyL21mY19kZWNvZGVyLmg6CgkgIG1mYzogQWRkIG1mY19kZWNvZGVyIGxpYnJhcnkgZnJvbSBGWEkKCjIwMTItMTItMzEgMTE6Mzg6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvd25ncmFkZSBhIEdTVF9FUlJPUiB0byBhIEdTVF9ERUJVRwoKMjAxMi0xMi0zMCAxNDoyMjo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBsYXN0X2Zsb3cgaGFuZGxpbmcgbW9yZSB0aHJlYWRzYWZlCgoyMDEyLTEyLTI4IDEyOjI3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIGFsbG9jYXRpbmcgRUdMSW1hZ2VzIG9uIE1hbGkKCSAgVGhpcyBhbGxvd3MgdG8gZGVjb2RlcnMgYW5kIG90aGVyIHVwc3RyZWFtIGVsZW1lbnRzIHRvIGRvCgkgIHplcm8tY29weSB0byB0aGUgc2luay4KCjIwMTItMTItMzEgMDA6MTY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVwbGFjZSBkZXByZWNhdGVkIEFNX0NPTkZJR19IRUFERVIgd2l0aCBBQ19DT05GSUdfSEVBREVSUwoJICBBTV9DT05GSUdfSEVBREVSIGhhcyBiZWVuIHJlbW92ZWQgaW4gdGhlIGp1c3QtcmVsZWFzZWQgYXV0b21ha2UgMS4xMzoKCSAgaHR0cHM6Ly9saXN0cy5nbnUub3JnL2FyY2hpdmUvaHRtbC9hdXRvbWFrZS8yMDEyLTEyL21zZzAwMDM4Lmh0bWwKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDg4MQoKMjAxMi0xMi0zMCAxMTozMjoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaW5kZW50aW9uCgoyMDEyLTEyLTMwIDExOjMyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZXR1cm4gdGhlIGxhc3RfZmxvdyBpbW1lZGlhdGVseSBpZiBpdCB3YXNuJ3QgR1NUX0ZMT1dfT0sKCjIwMTItMTItMzAgMTE6Mjk6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb3B5JnBhc3RlIG1pc3Rha2UKCjIwMTItMTItMzAgMTA6NDU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEltcHJvdmUgRUdML0dMIGVycm9yIGhhbmRsaW5nIGEgYml0CgoyMDEyLTEyLTMwIDEwOjQzOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBhY2Nlc3MgdGhlIHZpZGVvIGZyYW1lIGRhdGEgaWYgbm90IG5lY2Vzc2FyeQoKMjAxMi0xMi0zMCAxMDoxODowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29uZmlndXJlIGNhcHMgZnJvbSB0aGUgc2V0Y2FwcyBmdW5jdGlvbiBhbHJlYWR5CgoyMDEyLTA3LTI2IDIwOjM4OjI4ICswMjAwICBNYXR0aGlhcyBIYXJkdCA8bWhhcmR0QGJlcmxpbnV4LXNvbHV0aW9ucy5kZT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGV4dHJhY3QgSVNPIDYzOSBsYW5ndWFnZSBjb2RlcyBmb3Igc3VidGl0bGVzIGludG8gdGFnbGlzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDIwMAoKMjAxMi0xMi0yOCAxOTozNjozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQmluZCB0aGUgT3BlbkdMIEVTIEFQSSBpbiB0aGUgcmVuZGVyIHRocmVhZCB0b28KCjIwMTItMTItMjggMTQ6MDU6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFNvbWUgcmVmYWN0b3JpbmcgYXMgcHJlcGFyYXRpb24gZm9yIHBsYXRmb3JtIHNwZWNpZmljIHJlbmRlcmluZwoKMjAxMi0xMi0yOCAxMzowODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgbW9yZSBjb21tZW50cwoKMjAxMi0xMi0yOCAxMjo0MDoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogT25seSB1c2UgdGhlIEdzdFZpZGVvRnJhbWUgaWYgd2UgaGF2ZSBhIGJ1ZmZlcgoKMjAxMi0xMi0yNyAxMDo1MTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgY29uZmlndXJlIHBhcmFtZXRlciB0byBjaG9zZSB0aGUgRUdMIHdpbmRvdyBzeXN0ZW0KCSAgT25seSBuZWVkZWQgZm9yIGNyZWF0aW5nIG5hdGl2ZSB3aW5kb3dzLgoKMjAxMi0xMi0yNiAxNzozNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBNYWxpIGZiZGV2IEVHTCBkcml2ZXIKCjIwMTItMTItMjcgMTQ6MDk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkgIGQzZHZpZGVvc2luazogQWRkIGNvbXBhdGliaWxpdHkgI2RlZmluZXMgZm9yIG9sZGVyIG1pbmd3IGhlYWRlcnMKCSAgVGhlc2Ugd2VyZSByZW1vdmVkIHJlY2VudGx5IGJ1dCB0aGVzZSBtaW5ndyBoZWFkZXJzIGFyZSBzdGlsbAoJICBvdXQgdGhlcmUuCgoyMDEyLTEyLTIxIDA3OjM1OjEzIC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiByZW1vdmUgdXNlbGVzcyBhbmQgdW5pbml0aWFsaXplZCBsaXN0IGNhdXNpbmcgYSBjcmFzaCBpbiB0aGUgZGV2aWNlIHByb2JlCgoyMDEyLTEyLTI2IDE3OjI1OjM2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8gbWV0YSBhbmQgYXJiaXRyYXJ5IHN0cmlkZXMKCjIwMTItMTItMjYgMTU6NTg6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCB3aWR0aC9oZWlnaHQgc3dhcCBpbiBsYXN0IGNvbW1pdAoKMjAxMi0xMi0yNiAxNTo0Njo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIGRlYnVnIGZ1bmN0aW9uIGNhbGwgZnJvbSBwcmV2aW91cyBjb21taXQKCjIwMTItMTItMjYgMTQ6Mzk6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogRml4IGhhbmRsaW5nIG9mIEdzdFZpZGVvT3ZlcmxheTo6c2V0X3JlbmRlcl9yZWN0KCkgYW5kIGNyb3AgbWV0YWRhdGEKCjIwMTItMTItMjYgMTA6NTQ6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJICBlZ2xnbGVzc2luazogQWRkIGEgY2FzdCBmcm9tIEVHTE5hdGl2ZVdpbmRvd1R5cGUgdG8gV2luZG93IHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMTItMjYgMTA6Mzk6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBhIGNyYXNoIG9uIEdzdFZpZGVvT3ZlcmxheTo6ZXhwb3NlKCkKCjIwMTItMTItMjYgMTA6MzQ6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5jOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmg6CgkgIGVnbGdsZXNzaW5rOiBGaXggY3Jhc2ggd2hlbiBjbG9zaW5nIGludGVybmFsIFgxMSB3aW5kb3cKCjIwMTItMTItMjYgMTA6MjA6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgcHJvcGVyIGNoZWNrIGZvciBYMTEKCjIwMTItMTItMTggMDk6NTM6MTYgLTA4MDAgIEpvZSBLb25ubyA8am9lLmtvbm5vQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkgIHdheWxhbmRzaW5rOiBkbyBub3QgZGVmYXVsdCB0byBhIGZ1bGxzY3JlZW4gY2FudmFzCgkgIERlZmVyIGNlcnRhaW4gY2FudmFzIHBhcnRpY3VsYXJzIHRvIHRoZSBwbGF5ZXIgKG9yIHRoZSBXYXlsYW5kCgkgIGNvbXBvc2l0b3IpLiBCZWZvcmUgdGhpcyBjaGFuZ2UsIGEgZnVsbHNjcmVlbiBjYW52YXMgd2FzIGFsd2F5cwoJICByZXF1ZXN0ZWQuIFRoaXMgbWF5IG5vdCBiZSBkZXNpcmFibGUgaW4gYWxsIGNhc2VzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjkwNDQyCgoyMDEyLTEyLTIzIDA5OjUxOjQyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5jOgoJICBvcGVuanBlZ2RlYzogT25seSB1c2UgMTAgYml0IFlVViBmb3JtYXRzIGZvciBleGFjdGx5IDEwIGJpdCBpbWFnZXMsIG5vdCA8PSAxNiBiaXQKCSAgQW5kIHVzZSB0aGUgZ2VuZXJpYyBjb252ZXJ0ZXIgdG8gQVlVVjY0IGZvciBldmVyeXRoaW5nIGVsc2UuCgoyMDEyLTEyLTIyIDE4OjQzOjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSBzY2FyeSAid2hpbGUgKG9iamVjdC5yZWZjb3VudCA+IDApIHJlbGVhc2UgKG9iamVjdCk7IiBjb2RlCgkgIElmIHRoZXJlIGlzIGEgbWVtb3J5IGxlYWssIHRoaXMgaXNuJ3QgdGhlIHdheSBob3cgaXQgc2hvdWxkIGJlIGZpeGVkLgoKMjAxMi0xMi0yMiAxODoxNzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IERvbid0IGZvcmdldCB0byByZXR1cm4gYSB2YWx1ZSBmcm9tIDo6cHJvcG9zZV9hbGxvY2F0aW9uKCkKCjIwMTItMTItMjIgMTg6MTc6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHZpZGVvIG1ldGEKCjIwMTItMTItMjIgMTg6MTI6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IERvbid0IHVzZSAiY2xhc3MiIGFzIHZhcmlhYmxlIG5hbWUgYW5kIGRvbid0IHVzZSBDOTkgY29tbWVudHMKCjIwMTItMTItMjIgMTg6MDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogT25seSBvcGVuIHN5c3RlbSByZXNvdXJjZXMgaW4gaW4gTlVMTC0+UkVBRFksIG5vdCBvbiBvYmplY3QgaW5zdGFudGlhdGlvbgoKMjAxMi0xMi0yMiAxNzo1NTowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2RoZWxwZXJzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogUHJvcGVybHkgY29weSBmcmFtZXMgdG8gRDNEIHdpdGggdGhlIHJpZ2h0IHN0cmlkZXMgYW5kIGV2ZXJ5dGhpbmcKCSAgQW5kIG9ubHkgc3VwcG9ydCBjb2xvciBmb3JtYXRzIHRoYXQgYXJlIGFjdHVhbGx5IHN1cHBvcnRlZCBieSB0aGUgZHJpdmVyLAoJICB0aGlzIGFsbG93cyBwcm9wZXIgemVyby1jb3B5IGhhbmRsaW5nIGxhdGVyIGFuZCBzaW1wbGlmaWVzIHRoZSBjb2RlIGEgbG90LgoJICBBbHNvIHNpbXBsaWZ5IHNvbWUgb3RoZXIgcGxhY2VzLCBsaWtlIHRoZSBmb3JtYXQgbWFwcGluZyBjb2RlLgoKMjAxMi0xMi0yMiAxNjoyNjo1MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSBub24tc2Vuc2UgZGlzcGxheSBQQVIgaGFuZGxpbmcKCSAgVGhpcyBoYXMgdG8gYmUgaW1wbGVtZW50ZWQgcHJvcGVybHkgYXQgc29tZSBwb2ludAoKMjAxMi0xMi0yMiAxNjoxODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBjYXBzIGxlYWsKCjIwMTItMTItMjIgMTI6MDk6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBGaXggZHVwbGljYXRlZCBmb3JtYXQgZW50cnkgaW4gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTItMTItMjIgMTI6MDU6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IEZpeCBsaW5raW5nCgoyMDEyLTEyLTIyIDExOjU4OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJICBkM2R2aWRlb3Npbms6IEZpeCBzb21lIG1vcmUgY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMTItMjIgMTE6NTA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBQb3J0IHJlbWFpbmluZyBiaXRzIHRvIG5ldyBHTGliIHRocmVhZGluZyBBUEkKCjIwMTItMTItMjIgMTE6NDU6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBbmQgcmVtb3ZlIHRoZSByaWdodCBkZWNsYXJhdGlvbgoKMjAxMi0xMi0yMiAxMTo0NDozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IFJlbW92ZSB1bnVzZWQgc3RhdGljIGRlY2xhcmF0aW9uCgoyMDEyLTEyLTIyIDExOjQzOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZXMKCjIwMTItMTItMjIgMTE6NDI6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBVcGRhdGUgdG8gbmV3IEdMaWIgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0yMiAxMTozODoyOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IFJlbmFtZSBrZWVwX2FzcGVjdF9yYXRpbyB0byBmb3JjZV9hc3BlY3RfcmF0aW8gaW4gdGhlIGhlYWRlciB0b28KCjIwMTItMTItMjIgMTE6MzU6NTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMi0xMi0yMiAxMTozNDo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBSZW5hbWUga2VlcC1hc3BlY3QtcmF0aW8gdG8gZm9yY2UtYXNwZWN0LXJhdGlvIGFuZCBkZWZhdWx0IHRvIFRSVUUKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgdmlkZW8gc2lua3MuCgoyMDEyLTEyLTIyIDExOjMwOjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkaGVscGVycy5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZGhlbHBlcnMuaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgZmlsZXMgdGhhdCBoYWQgdG8gYmUgaW5jbHVkZWQgaW4gdGhlIGxhc3QgY29tbWl0CgoyMDEyLTEyLTIyIDExOjI4OjE5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MpIHRvIENGTEFHUwoKMjAxMi0xMi0yMiAxMToyNDoyOCArMDEwMCAgUm9sYW5kIEtyaWthdmEgPHJrcmlrYXZhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBWYXJpb3VzIGltcHJvdmVtZW50cwoJICAqIFhPdmVybGF5IHNldF9yZW5kZXJfcmVjdGFuZ2xlIHN1cHBvcnQgKFVzZWZ1bCBmb3IgcmVuZGVyaW5nIGluIFFUIFFNTCkKCSAgKiBWaWRlbyBmb3JtYXQgbmVnb3RpYXRpb24gKHdpdGggcHJlZmVyZW5jZSBvcmRlcmluZykKCSAgKiBVc2luZyBEaXJlY3QzRDkgKE5vIGJlbmVmaXQgdG8gdXNpbmcgbmV3ZXIgRDNEIHZlcnNpb25zKQoKMjAxMi0xMi0yMSAxNjoxMToxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IE9ubHkgaW5jbHVkZSBmb3JtYXRzIHRoYXQgYXJlIGFjdHVhbGx5IHdvcmtpbmcKCjIwMTItMTItMjEgMTU6MjM6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgdGhlIGFjdHVhbGx5IHN1cHBvcnRlZCBjb2xvciBmb3JtYXRzIHRvIHRoZSB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTEyLTE4IDIyOjIzOjQyICswMTAwICBTZWJhc3RpYW4gUmFzbXVzc2VuIDxzZWJyYXNAZ21haWwuY29tPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYy8tZGVjOiBwcmludCBvcGVuanBlZyBsb2dzIGZvciBkZWJ1ZyB0cmFjaW5nCgoyMDEyLTEyLTE4IDE2OjU2OjI4ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6NTI6MjYgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogdXNlIGFwcHJvcHJpYXRlIHByaW50ZiBmb3JtYXQgZm9yIGdzaXplCgoyMDEyLTEyLTE4IDE2OjUwOjM3ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGY6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNjo0MDo1OSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBqcGVnOiB1c2UgYXBwcm9wcmlhdGUgcHJpbnRmIGZvcm1hdCBmb3IgZ3NpemUKCjIwMTItMTItMTggMTY6MjA6MDggKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSAgaW50ZXI6IHVzZSBhcHByb3ByaWF0ZSBwcmludGYgZm9ybWF0IGZvciBnc2l6ZQoKMjAxMi0xMi0xOCAxNTo0NDo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWdlbmM6IEFkZCBzb21lIHByb3BlcnRpZXMKCjIwMTItMTItMTggMTU6NDM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkgIG9wZW5qcGVnZGVjOiBEb24ndCBjcmFzaCBpZiBjb2xvcnNwYWNlIGlzIG5vdCBwcm92aWRlZCBvbiB0aGUgY2FwcwoJICBnX3N0cl9lcXVhbCgpIGlzICpub3QqIE5VTEwtc2FmZQoKMjAxMi0xMi0xNyAxNzoxOTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IEltcHJvdmUgcm9idXN0bmVzcyBhZ2FpbnN0IGZvcm1hdHMgd2l0aCBkaWZmZXJlbnQgc2V0dGluZ3MgcGVyIGNvbXBvbmVudAoKMjAxMi0xMi0xNyAxNzoxMzoyMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IFByb3BlcnRpZXMgd29uJ3QgYmUgbmVlZGVkIGluIHRoZSBkZWNvZGVyCgoyMDEyLTEyLTE3IDE3OjExOjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5jOgoJICBvcGVuanBlZ2VuYzogRml4IGRhdGEgcG9pbnRlciBpbmNyZW1lbnRpbmcKCjIwMTItMTItMTcgMTc6MDY6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnZW5jOiBPcHRpbWl6ZSBpbWFnZSBmaWxsaW5nIGZ1bmN0aW9ucyBhIGJpdAoKMjAxMi0xMi0xNyAxNzowMjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IEFkZCBtaXNzaW5nIHNoaWZ0cwoKMjAxMi0xMi0xNyAxNjo1NzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSAgb3BlbmpwZWdkZWM6IE9wdGltaXplIGZyYW1lIGZpbGxpbmcgZnVuY3Rpb25zIGEgYml0CgoyMDEyLTEyLTE3IDE1OjE2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogTWFrZSBzdXJlIHRoZSBjYXBzIGFyZSBhY3R1YWxseSB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbQoKMjAxMi0xMi0xNyAxNTowNDo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IFVzZSB0aGUgcGVlciBjYXBzIGZvciByZXN0cmljdGlvbnMgaW5zdGVhZCBvZiB0aGUgc3JjcGFkIGFsbG93ZWQgY2FwcwoJICBPdGhlcndpc2Ugd2Ugd2lsbCBpbnRlcnNlY3Qgd2l0aCB0aGUgc3JjcGFkIHRlbXBsYXRlIGNhcHMgYW5kIGFkZCBhbGwgdGhlIGNhcHMgZmllbGRzCgkgIHRoYXQgdGhlIHBhcnNlciB3aWxsIGV2ZXIgc2V0LCBubyBtYXR0ZXIgaWYgZG93bnN0cmVhbSByZXN0cmljdHMgdGhpcyBmaWVsZCBvciBub3QuCgkgIFRoaXMgcmVxdWlyZXMgdXBzdHJlYW0gdG8gc2V0IHRoaXMgZmllbGQgb24gdGhlIGNhcHMgdG8gc3VjY2Vzc2Z1bGx5IG5lZ290aWF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY5MDE4NAoKMjAxMi0xMi0xNiAyMDowNTo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdkZWMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkgIG9wZW5qcGVnOiBDb3JyZWN0IHRlbXBsYXRlIGNhcHMgYSBiaXQKCjIwMTItMTItMTYgMjA6MDI6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEhhbmRsZSB0aGUgbnVtLWNvbXBvbmVudHMgZmllbGQgaW4gdGhlIGNhcHMKCjIwMTItMTItMTUgMTE6MjU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSAgb3BlbmpwZWc6IEFkZCBzdXBwb3J0IGZvciB0aGUgY29sb3JzcGFjZSBmaWVsZCBpbiB0aGUgY2FwcwoKMjAxMi0xMi0xNCAyMDowODoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2VuYy5oOgoJICBvcGVuanBlZzogQWRkIEpQRUcyMDAwIGVuY29kZXIgZWxlbWVudAoKMjAxMi0xMi0xNCAxNDozODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5qcGVnL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWcuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZGVjLmM6CgkqIGV4dC9vcGVuanBlZy9nc3RvcGVuanBlZ2RlYy5oOgoJKiBleHQvb3BlbmpwZWcvZ3N0b3BlbmpwZWdlbmMuYzoKCSogZXh0L29wZW5qcGVnL2dzdG9wZW5qcGVnZW5jLmg6CgkgIG9wZW5qcGVnOiBBZGQgT3BlbkpQRUcgYmFzZWQgSlBFRzIwMDAgZGVjb2RlcgoKMjAxMi0xMi0xNiAxNzo0NDo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIE1ha2VmaWxlLmFtOgoJICBidWlsZDogYWRkIHJlbW92ZWQgcnRwbXV4IGJpdHMgdG8gY3J1ZnQgY2hlY2sKCjIwMTItMTItMTYgMTc6MzU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXhlci5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogcmVtb3ZlIHJ0cG11eCBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIE1vdmUgcnRwbXV4IGFuZCBydHBkdG1mbXV4IGludG8gcnRwbWFuYWdlciBwbHVnaW4gaW4gLWdvb2QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjkxMTcKCjIwMTItMTItMTQgMTQ6NTE6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICBzY2FsZXRlbXBvOiByZW1vdmUgc2NhbGV0ZW1wbyBwbHVnaW4sIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyNjIKCjIwMTItMTItMTQgMTg6MDk6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvY29udmVydDogZG9uJ3QgdXNlIGRlcHJlY2F0ZWQgdGhyZWFkaW5nIEFQSQoKMjAxMi0xMi0xMyAxNDoxMjo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogdXNlIHVwc3RyZWFtIHdpZHRoL2hlaWdodCB3aGVuIGdpdmVuCgkgIFRoZSB1cHN0cmVhbSB3aWR0aCBhbmQgaGVpZ2h0IHNob3VsZCBvdmVycmlkZSB0aGUgZGltZW5zaW9uIGRldGVjdGVkIGluIHRoZQoJICBmaWxlLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTQyCgoyMDEyLTEyLTEzIDExOjQ3OjU3ICswMTAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZXhwb3J0IG51bWJlciBvZiBzcHJpdGUgd2FycGluZyBwb2ludHMgaW4gY2FwcwoJICBUaGlzIGFsbG93cyBmaWx0ZXJpbmcgb3V0IHZpZGVvcyBmb3IgaGFyZHdhcmUgZGVjb2RlcnMgdGhhdCBkbyBub3QKCSAgc3VwcG9ydCBHTUMgYXQgYWxsIG9yIG9ubHkgc3VwcG9ydCBhIGxpbWl0ZWQgbnVtYmVyIG9mIHNwcml0ZSB3YXJwaW5nCgkgIHBvaW50cyAodXN1YWxseSAxKS4KCjIwMTItMTItMTMgMTE6NDM6MDkgKzAxMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBoYW5kbGUgZGl2eCBjYXBzCgkgIERpdlggNC81IGFyZSBNUEVHNCBwYXJ0IDIgdmlkZW9zLCBzbyB0aGV5IGNhbiBiZSBwYXJzZWQgYnkgdGhpcyBwbHVnaW4uCgoyMDEyLTEyLTEzIDAxOjU3OjIxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSAgZGlyZWN0c291bmQ6IGZpeCBjb21waWxhdGlvbiBlcnJvcnMgY2F1c2VkIGJ5IGNpcmN1bGFyIGluY2x1ZGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAxMjgKCjIwMTItMTItMTIgMTg6NTA6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBwcmludGYgZm9ybWF0IGZpeGVzIGZvciBkZWJ1ZyBtZXNzYWdlcwoKMjAxMi0xMi0xMiAwMDo0MDoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogbWlub3IgTWFrZWZpbGUgY2xlYW4tdXAKCSAgUmVtb3ZlIHN1cGVyZmx1b3VzIFNPVVBfQ0ZMQUdTIGFuZCBTT1VQX0xJQlMuCgoyMDEyLTEyLTExIDIxOjA5OjAyICswMDAwICBNaWNoYWVsIEVzZW1wbGFyZSA8bWljaGFlbC5lc2VtcGxhcmVAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgaGxzOiBsaW5rIHRvIHRoZSByaWdodCBnc3QtcGx1Z2lucy1iYXNlIGxpYnMgYW5kIGZpeCBsaWJzIG9yZGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwMzAKCjIwMTItMTItMTEgMjA6NTg6NDIgKzAwMDAgIE1pY2hhZWwgRXNlbXBsYXJlIDxtaWNoYWVsLmVzZW1wbGFyZUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJICBkM2R2aWRlb3Npbms6IGZpeCBjb21waWxlciBhbmQgbGlua2VyIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02OTAwMzEKCjIwMTItMTItMTEgMTU6MDA6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFVzZSBBQ19MQU5HX1BST0dSQU0gdG8gbWFrZSBhdXRvY29uZiBoYXBweQoKMjAxMi0xMi0xMSAxNDoxOTo0MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy93aW5zY3JlZW5jYXAvTWFrZWZpbGUuYW06CgkgIHdpbnNjcmVlbmNhcDogRml4IGNvbmZpZ3VyZSBjaGVjayBhbmQgY29tcGlsYXRpb24KCjIwMTItMTItMTEgMTA6NTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBGaXggZm9ybWF0IHN0cmluZyBmb3Igb2ZmX3QvZ29mZnNldAoJICBGaXhlcyBidWcgIzY5MDAzMy4KCjIwMTItMTItMDYgMTA6MDY6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgYWxsb3cgYW55IHdyYXBwaW5nIG90aGVyIHRoYW4gZnJhbWUgd3JhcHBpbmcKCSAgQmFkIHRoaW5ncyB3aWxsIGhhcHBlbiBvdGhlcndpc2UsIGxpa2UgcmVhZGluZyBhIGNvbXBsZXRlLAoJICBtdWx0aXBsZSBHQiBsYXJnZSB2aWRlbyB0cmFjayBpbnRvIGEgc2luZ2xlIGJ1ZmZlci4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214ZmRlbXV4LmMKCjIwMTItMTItMDUgMTU6Mjc6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWxhdy5jOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuaDoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZkZW11eDogQWRkIGZ1bmN0aW9uIHRvIGdldCB0aGUgZXNzZW5jZSB0cmFjayB3cmFwcGluZwoKMjAxMi0xMi0wNSAxMjoyMzoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkgIG14ZjogQWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcgZmlsbGVyIHN0cnVjdHVyYWwgY29tcG9uZW50cwoJICBUaGlzIGRvZXMgbm90IGFkZCBzdXBwb3J0IGZvciBhY3R1YWxseSBwcm9kdWNpbmcgZmlsbGVyIGRhdGEKCSAgaWYgdGhlcmUncyBhIGZpbGxlciBjb21wb25lbnQgaW4gYSB0aW1lbGluZS4KCjIwMTItMTItMDUgMTI6MDg6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEltcHJvdmUgZGVidWcgb3V0cHV0IGR1cmluZyBtZXRhZGF0YSByZXNvbHZhbAoKMjAxMi0xMi0wMSAxNzowNTozOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IGRpc2FibGUgc2Vla2luZyBpZiB0aGUgY29uZmlndXJlZCB1cmwgc3BlY2lmaWVzIGxpdmU9dHJ1ZQoJICBEaXNhYmxlIHNlZWtpbmcgd2hlbiBsaXZlPXRydWUgaXMgc2V0IGluIHRoZSBsb2NhdGlvbiBVUkwgKGVnOgoJICAicnRtcDovL2V4YW1wbGUubmV0L3N0cmVhbSBsaXZlPXRydWUiKQoKMjAxMi0xMS0zMCAyMDowMToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQsIGZyZWkwcjogbGluayB0byBsaWJnbW9kdWxlLTIuMCBpbiBwbHVnaW5zIHRoYXQgdXNlIGdfbW9kdWxlXyogQVBJCgkgIFByb2JhYmx5IG5lZWRlZCBmb3Igb3RoZXIgcGx1Z2lucyBhcyB3ZWxsLgoKMjAxMi0xMS0zMCAxOTo1NDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3ByaW5rbGUgc29tZSBBQ19MQU5HX1BST0dSQU0gaW4gd2FzYXBpIGNoZWNrCgkgIFNvIGF1dG9nZW4uc2ggc3RvcHMgbW9hbmluZy4KCjIwMTItMTEtMzAgMTU6MTA6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZjogQWRkIG1vcmUgc3VwcG9ydCBmb3IgUlAyMDA4IChBVkMgaW4gdGhlIE1QRUcgbWFwcGluZykKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXhmL214Zm1wZWcuYwoKMjAxMi0xMS0zMCAxMTo0NDo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IG1ha2UgdGhlIGJ1aWxkIGhhcHB5IHdpdGhvdXQgdGhlIHN0YXRpYyBwbHVnaW5zIHBhdGNoCgoyMDEyLTExLTMwIDExOjQwOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBZGQgd2FzYXBpIHRvIHRoZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDEyLTExLTMwIDExOjM3OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2FzYXBpL01ha2VmaWxlLmFtOgoJICB3YXNhcGk6IEludGVncmF0ZSBpbnRvIHRoZSBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIFBhdGNoIGJhc2VkIG9uIGEgcGF0Y2ggYnkgRmFicml6aW8gQ2lhdmF0dGEgPGZhYnJpemlvLmNpYXZhdHRhQGdtYWlsLmNvbT4KCjIwMTItMTEtMjggMTM6MTA6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvc2htL01ha2VmaWxlLmFtOgoJICBzaG06IEZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGNsZWFuIHVwIE1ha2VmaWxlCgoyMDEyLTExLTI3IDE1OjM0OjE5IC0wNTAwICBFbW1hbnVlbCBEdXJhbmQgPGVtbWFudWVsZHVyYW5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRml4IGNvbXBpbGF0aW9uIG9mIHNobSBvbiBPU1gKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4OTE4MwoKMjAxMi0xMS0yNiAxOToyMTowMyArMDAwMCAgS3J6eXN6dG9mIEtvbm9wa28gPGtyenlzenRvZi5rb25vcGtvQHlvdXZpZXcuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogY3Jhc2hlcyB3aGVuIHRyeWluZyB0byByZS11c2UgdGhlIGVsZW1lbnQKCSAgQSBjcmFzaCBvY2N1cmVkIGFmdGVyIHB1c2hpbmcgYnVmZmVycyBhbmQgY2hhbmdpbmcgbXBlZ3RzbXV4IHN0YXRlIHRvCgkgIE5VTEwvUkVBRCBhbmQgdGhlbiBiYWNrIHRvIFBMQVlJTkcvUEFVU0VELgoJICBUaGUgY3Jhc2ggd2FzIGNhdXNlZCBieSBob2xkaW5nIGEgZGFuZ2xpbmcgcG9pbnRlciBpbiB0aGUgTXBlZ1RzTXV4CgkgIHByb2dyYW0gdGFibGUuCgkgIEFkZGl0aW9uYWxseSBzdHJlYW0gaGVhZGVycyB3ZXJlIGxlYWtlZCB3aGVuIHJlc2V0dGluZyB0aGUgZWxlbWVudDoKCSAgbXV4LT5zdHJlYW1oZWFkZXIgc2V0IHRvIE5VTEwgaW4gbXBlZ3RzbXV4X3Jlc2V0KCkgYmVmb3JlIGl0J3MgcmVsZWFzZWQKCSAgbGF0ZXIgaW4gdGhlIHNhbWUgZnVuY3Rpb24uCgkgIEFkZGVkIGEgdW5pdCB0ZXN0OiB0ZXN0X211bHRpcGxlX3N0YXRlX2NoYW5nZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg5MTA3CgoyMDEyLTExLTIzIDEyOjI2OjQzICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDx1cmFldXNAbGludXhyaXNpbi5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBwb3J0ZWQgcGx1Z2lucyBldGMuCgoyMDEyLTExLTIyIDEwOjU3OjI1ICswMDAwICBLcnp5c3p0b2YgS29ub3BrbyA8a3J6eXN6dG9mLmtvbm9wa29AeW91dmlldy5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwcm9wYWdhdGUgZmxvdyByZXR1cm5zCgkgIEFuZCBhZGQgYSB1bml0IHRlc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODg4NzAKCjIwMTItMTEtMjEgMTA6MjE6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSogc3lzL3dpbmtzL01ha2VmaWxlLmFtOgoJICB3aW5kb3dzOiBQdXQgdGhlIERpcmVjdFggTERGTEFHUyBpbiB0aGUgY29ycmVjdCBwbGFjZSBhbmQgcmVvcmRlciBsaWJyYXJpZXMKCjIwMTItMTEtMjAgMjM6MjA6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogYWRkIGRvYyBjaHVuayB3aXRoIGV4YW1wbGUgY29tbWFuZCBsaW5lCgoyMDEyLTExLTIwIDEyOjA1OjE3ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuaDoKCSAgZDNkdmlkZW9zaW5rOiBmaXggcmVkZWZpbml0aW9uIG9mIERFQ0xBUkVfSU5URVJGQUNFX0lJRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NTEwCgoyMDEyLTExLTE5IDE5OjI5OjQ4IC0wNTAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgR3N0UGhvdG9ncmFwaHk6IEFkZCBuZXcgZW51bSB2YWx1ZXMgdG8gbWF0Y2ggYW5kcm9pZCdzIHBhcmFtZXRlcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4ODQ4NgoKMjAxMi0xMS0xOSAxMDozMjo1NyArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBQVFlQRSBmb3IgaW50ZXJsYWNlZCBmcmFtZXMuCgkgIENvdmVyaXR5IGZvdW5kIG1pc3NpbmcgYnJlYWsgaW4gcGFyc2VfZnJhbWVfaGVhZGVyX2FkdmFuY2VkKCkgd2hlbgoJICBkZXRlcm1pbmluZyBQVFlQRSBmcm9tIEZQVFlQRSBmb3IgaW50ZXJsYWNlZCBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg4NjI2CgkgIFNpZ25lZC1vZmYtYnk6IEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCjIwMTItMDktMjEgMTg6MjM6MjEgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBlcnJvciBjb2RlIGZvciBpbnZhbGlkIHNpemUgcGFyc2VkIGluIFNQUy4KCSAgZ3N0X2gyNjRfcGFyc2Vfc3BzKCkgcmV0dXJuZWQgRkFMU0UgaWYgaXQgcGFyc2VkIGludmFsaWQgKG5lZ2F0aXZlKQoJICBzaXplIGNvbXBvbmVudHMuIE5vdyBtYWtlIGl0IGdyYWNlZnVsbHkgcmV0dXJuIEdTVF9IMjY0X1BBUlNFUl9FUlJPUgoJICBpbnN0ZWFkIG9mIEdTVF9IMjY0X1BBUlNFUl9PSyAoRkFMU0UpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NTY4CgoyMDEyLTExLTE5IDExOjI2OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNDk3YzRmIHRvIGE3MmZhZWEKCjIwMTItMTEtMTUgMTE6Mzc6MTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRml4IG5pdHBpY2sKCjIwMTItMTEtMTUgMTA6MTQ6MzQgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogTWFrZSBzdXJlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFyZSBub3QgZml4ZWQgZnJvbSB0aGUgYmVnZ2luZwoJICBSaWdodCBub3cgZGVjb2RlYmluIHdpbGwgY29uY2lkZXIgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGFzIGZpeGVkIGFuZCBpZiBhIGRlY29kZXIKCSAgaGFzIHJlc3RyaWN0aW9uIG9uIGZvciBleGFtcGxlIGhlaWdodC93aWR0aCBpdCB3b24ndCBiZSBhdXRvcGx1Z2dlZCBiZWNhdXNlCgkgIGdzdF9jYXBzX2lzX3N1YnNldCBmYWlscyBhcyB0aG9zZSBmaWVsZHMgYXJlIG1pc3NpbmcgZnJvbSB0aGUgcGFkIHRlbXBsYXRlIGNhcHMuCgkgIFdlIGZpeCB0aGUgaXNzdWUgaGVyZSBtYWtpbmcgc3VyZSB0aGF0IHRoZSBwYWQgY2FwcyBhcmUgZml4ZWQgdXNpbmcgZGF0YSBmcm9tCgkgIHRoZSBzdHJlYW0uCgoyMDEyLTExLTEzIDIyOjQwOjI1ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmb3J3YXJkIHVwc3RyZWFtIHRpbWUgc2VnbWVudHMgYWZ0ZXIgZmx1c2hlcwoJICBBbHNvIHJlc2V0IHNlZ21lbnQgaW5mbyBhbmQgZHJvcCB0aGUgc2VnbWVudCBldmVudCB3aGVuIGRlbXV4ZXIgaXMKCSAgZmx1c2hlZC4KCSAgUmVzdG9yZSBkZW11eGVyIHNlZ21lbnQgd2l0aCB0aGUgaW5mbyBzdG9yZWQgaW4gYmFzZSB3aGVuIGRlbXV4ZXIgaXMKCSAgZ29pbmcgdG8gcHVzaCBkYXRhIGFnYWluIGlmIG5lZWRlZC4KCSAgRHJvcCBjb2RlIHRvIHJlY292ZXIgdGhlIHNlZ21lbnQgaW5mbyBmcm9tIGJhc2UgaW4gdGhlIGluaXRpYWwgcHJvZ3JhbQoJICBiZWNhdXNlcyBpdCdzIHN1cGVyc2VkZWQgYnkgdGhlIG5ldyBjb2RlLgoKMjAxMi0xMS0xNCAxMjo0MToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCAtPiBnc3RfYWRhcHRlcl9wcmV2X3B0cwoKMjAxMi0xMS0xNCAxMTozNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogZGlzdCBhbGwgaGVhZGVyIGZpbGVzIG5lZWRlZCB0byBidWlsZAoKMjAxMi0xMS0xNCAxMDo0Njo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJICBhY2N1cmlwOiBmaXggbGlua2VyIGZsYWdzCgkgIFNwb3R0ZWQgYnkgUmljbyBUenNjaGljaGhvbHouCgoyMDEyLTExLTExIDEyOjQ2OjQzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCB0aGUgc3RyZWFtIHNvbWUgbW9yZSBpbiB0aGUgZmx1c2hlcwoJICBOb3cgdGhhdCB3ZSBoYW5kbGUgZmx1c2hpbmcgaW4gdGhlIEZMVVNIX1NUT1AgZXZlbnQgd2UgbmVlZCB0byBtYWtlCgkgIHRoZSBzdHJlYW1zIHJlYWR5IGlmIHRoZXkgd2VyZSBmbHVzaGluZy4KCjIwMTItMTEtMTEgMTI6NDU6MDMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGZsdXNoIG9ic2VydmF0aW9ucyB0b28KCSAgRmx1c2ggdGhlIHByZXZpb3VzIG9ic2VydmF0aW9ucyB3aGVuIHRoZSBwYWNrZXRpemVyIGlzIGZsdXNoZWQuCgkgIEFsc28gZG9uJ3QgbGVhayB0aGVtIGluIHRoZSBkaXNwb3NlLgoKMjAxMi0xMS0xMCAyMDo0NDo0NCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogZml4IGRvdWJsZSB1bnJlZiBvZiBzZWVrIGV2ZW50CgoyMDEyLTExLTEwIDIwOjMwOjEzICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBmbHVzaCBpbiBGTFVTSF9TVE9QIHRvIGF2b2lkIHJhY2UgY29uZGl0aW9ucwoJICBFbnN1cmUgdGhlIGNoYWluIGlzIG5vdCBydW5uaW5nIGJlZm9yZSByZXNldCB0aGUgc3RhdGUgdG8gYXZvaWQgcmFjZQoJICBjb25kaXRpb25zIGFuZCByYW5kb20gY29ycnVwdGlvbnMgZG93bnN0cmVhbS4KCSAgQWxzbyBmaXhlcyBzZWdmYXVsdHMgaW4gdGhlIHBhY2tldGl6ZXIgZHVlIHdyb25nIGF2YWlsYWJsZSB2YWx1ZXMgdGhhdAoJICBjYXVzZXMgZ3N0X2FkYXB0ZXJfbWFwIHRvIHJldHVybiBhIE5VTEwgcG9pbnRlci4KCjIwMTItMTEtMTIgMTQ6NTY6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBhbWN2aWRlb2RlYzogRml4IHJlZmNvdW50IHByb2JsZW0gd2l0aCBmcmFtZXMgYmVpbmcgZHJvcHBlZCBiZWNhdXNlIG9mIGRlY29kZXIgYnVncwoKMjAxMi0xMS0xMiAxMTo0ODozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIG5ldyBHVHlwZSBmb3IgR1RocmVhZCBpbnN0ZWFkIG9mIGp1c3QgR19UWVBFX1BPSU5URVIKCjIwMTItMTEtMTIgMTE6MzI6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5oOgoJICBhbmRyb2lkbWVkaWE6IFVwZGF0ZSB0byBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTExLTEwIDE5OjUyOjQ2ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZXZlcnQgInRzcGFja2V0aXplcjogZW5zdXJlIHRoYXQgYSBudWxsIHBvaW50ZXIgaXNuJ3QgYWNjZXNzZWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmVmZDYxMWI4YzZmNDNmNjdhMmY5M2Y4NDQ1YzE4OWUyNDk2MWFiZC4KCSAgQWxzbyB0aGlzIGV4dHJhIGNoZWNrIHdvbid0IGJlIG5lZWRlZCBpZiBpdCdzIGZpeGVkIHRoZSByYWNlIGJ5IG1vdmluZwoJICBmbHVzaCBhY3Rpb25zIHRvIEZMVVNIX1NUT1AuCgoyMDEyLTExLTEwIDE5OjQ2OjQwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBSZXZlcnQgInRzYmFzZTogYWRkIGEgZ3VhcmQgd2l0aCBhbiBhdG9taWMgYm9vbGVhbiB3aGVuIGZsdXNoaW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGUxNGUzMTBmNzE3OGFhOGMwMjBmNTkzZTNmNzFlYzkyY2EyNTMxZjcuCgkgIFdvdWxkIGJlIGJldHRlciBtb3ZlIHRoZSBwYWNrZXRpemVyIGZsdXNoaW5nIHRvIEZMVVNIX1NUT1AgYW5kIGF2b2lkCgkgIHRoZSByYWNlIHRoYXQgd2F5LiBXaXRob3V0IGludHJvZHVjaW5nIGEgbWVtb3J5IGJhcnJpZXIgdGhhdCBjb3VsZAoJICBoYXZlIGltcGFjdCBpbiB0aGUgcGVyZm9ybWFuY2UuCgoyMDEyLTExLTEwIDE0OjQzOjE3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvLmdzdGhsc2RlbXV4LmMuc3dwOgoJKiBnc3QvaGxzLy5nc3RobHNzaW5rLmMuc3dwOgoJICBobHNzaW5rOiByZW1vdmUgdmltIC5zd3AgZmlsZXMgdGhhdCBJIGp1c3QgY29tbWl0dGVkIGFjY2lkZW50YWxseS4uLgoKMjAxMi0xMS0xMCAxNDoyNjo0NiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzLy5nc3RobHNkZW11eC5jLnN3cDoKCSogZ3N0L2hscy8uZ3N0aGxzc2luay5jLnN3cDoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RmcmFnbWVudGVkcGx1Z2luLmM6CgkgIGhsc3Npbms6IHBvcnQgdG8gMS4wCgoyMDEyLTEwLTI4IDIxOjI5OjMxICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogY3V0IHNlZ21lbnRzIHVzaW5nIHRoZSBydW5uaW5nLXRpbWUKCjIwMTItMDktMDkgMjE6NTY6NDMgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IGRvbid0IHVucmVmIC0+bXVsdGlmaWxlc2luay4KCSAgV2UgZ3N0X2Jpbl9hZGQgaXQgdG8gb3Vyc2VsZiBzbyBubyBuZWVkIHRvIHVucmVmIGluIF9kaXNwb3NlLgoKMjAxMi0wOS0wOSAyMTo1NjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmV3b3JrIF9yZXNldCBhIGJpdAoKMjAxMi0xMS0xMCAwMDowODozNSArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgdHNiYXNlOiBhZGQgYSBndWFyZCB3aXRoIGFuIGF0b21pYyBib29sZWFuIHdoZW4gZmx1c2hpbmcKCjIwMTItMTEtMDkgMjI6MTc6MTEgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzcGFja2V0aXplcjogZW5zdXJlIHRoYXQgYSBudWxsIHBvaW50ZXIgaXNuJ3QgYWNjZXNzZWQKCSAgTWl0aWdhdGVzIHNlZ2ZhdWx0IGR1ZSByYWNlIGNvbmRpdGlvbiBpbiBGTFVTSF9TVEFSVCBoYW5kbGluZyBhbmQKCSAgbXBlZ3RzX2Jhc2VfY2hhaW4uCgoyMDEyLTExLTA4IDE3OjE1OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0czogT25seSB1c2UgdGltZXN0YW1wLWJhc2VkIFBDUi9QVFMgZXN0aW1hdGlvbiB3aGVuIG5lZWRlZAoJICBXaGVuIGRlYWxpbmcgd2l0aCBub24tdGltZSBiYXNlZCBwdXNoLW1vZGUgc3RyZWFtcywgd2UgbmVlZCB0byByZXZlcnQKCSAgdG8gdXNpbmcgdGhlIG9mZnNldC1iYXNlZCBQQ1IvUFRTIGVzdGltYXRpb24gbG9naWMgb2YgcGFja2V0aXplci4KCSAgVGhpcyBzb2x2ZXMgdXNlcyBjYXNlcyBzdWNoIGFzOgoJICBwdXNoZmlsZTovLyAhIHRzZGVtdXgKCSAgc3JjICEgcXVldWUgISB0c2RlbXV4CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxNzgKCjIwMTItMTEtMDggMTI6MTI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZWdsZ2xlc3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wdXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICBkb2NzOiBBZGQgbWlzc2luZyBwbHVnaW4gaW5zcGVjdGlvbiBmaWxlcwoJICBGaXhlcyBidWcgIzY4Nzg0MC4KCjIwMTItMTEtMDcgMjA6NTA6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogdXBkYXRlIGNvdXJ0ZXN5IG9mIGF1dG91cGRhdGUKCjIwMTItMTEtMDcgMjA6NDg6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBsZXQgQUdfR1NUX1BMVUdJTl9ET0NTIGNoZWNrIGZvciBweXRob24KCSAgQW5kIHVwZGF0ZSBjb21tb24gZm9yIG1vdmUgZnJvbSBBU19QQVRIX1BZVEhPTiB0byBBTV9QQVRIX1BZVEhPTiwKCSAgd2hpY2ggYXMgYSBzaWRlLWVmZmVjdCBzaG91bGQgcGljayB1cCBuZXdlciBweXRob24gdmVyc2lvbnMgYXMKCSAgd2VsbC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2MzkwMwoKMjAxMi0xMS0wNiAyMDo1MToxMCArMDAwMCAgS2V2aW4gVGhvcm5iZXJyeSA8Z2ltbWVhbWlsa2J0dGZAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXggRFRTIHZhbHVlIGJlaW5nIHVzZWQgZm9yIFBUUwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3ODA2CgoyMDEyLTExLTA2IDEyOjQwOjA1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvbid0IHJld2luZCB0byB0aGUgTkFMIGxlbmd0aCBzaXplIGluIGJ5dGV3cml0ZXIgaWYgdGhlIGZvcm1hdCBpcyBieXRlc3RyZWFtCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODc1NDgKCSAgU2lnbmVkLW9mZi1ieTogIEtldmluIFRob3JuYmVycnkKCjIwMTItMTEtMDYgMTE6NTQ6MzkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWN0dWFsbHkgYWRkIFBQUyBkYXRhIHRvIHRoZSBvdXRwdXQgYnVmZmVyCgoyMDEyLTA5LTI4IDEyOjM2OjU1IC0wNDAwICBXaWxsIFRob21wc29uIDx3aWxsLnRob21wc29uQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuaDoKCSAgaGxzc2luazogYWRkIGEgcGxheWxpc3QtbGVuZ3RoIHByb3BlcnR5CgkgIFByb2JhYmx5IG5vdCBwYXJ0aWN1bGFybHkgdXNlZnVsIGluIGdlbmVyYWwsIGJ1dCBoYW5keQoJICB0byBjdXQgZG93biB0aGUgbGF0ZW5jeSBvbiBhIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0xMC0yOSAxMzoyNDoyNSArMDAwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSAgaGxzc2luazogcmVzZXQgd2hlbiBnb2luZyB0byBOVUxMIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcxMzMKCjIwMTItMDgtMjEgMjM6MjI6MTkgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmM6CgkgIGhsc3Npbms6IEZpeCBzZWdtZW50IG5hbWVzIG9uIHBsYXlsaXN0CgkgIFdoZW4gdGhlIHBsYXlsaXN0LXJvb3QgaXMgbm90IHNldCwgdGhlIHNlZ21lbnQgbmFtZSBtdXN0IG5vdCBiZQoJICBhcHBlbmRlZCBieSB0aGUgcGF0aC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzEzMwoKMjAxMi0xMS0wMyAyMDozODowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcmFuZG9tL0xJQ0VOU0U6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuaDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5oOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9iejIvZ3N0YnoyLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdC5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuaDoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZpbGVzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmdHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxodHRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuaDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5oOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuYzoKCSogZXh0L2VnbGdsZXMvdmlkZW9fcGxhdGZvcm1fd3JhcHBlci5oOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NyYy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5oOgoJKiBleHQvZ3NldHRpbmdzL3BsdWdpbi5jOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3Blci5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5oOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNzdHJlYW13cml0ZXIuaGg6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhpYml0c3RyZWFtLmhoOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5oaDoKCSogZXh0L21wbGV4L2dzdG1wbGV4b3V0cHV0c3RyZWFtLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uaGg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrcmVhZGVyLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uaDoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uYXMvbmFzc2luay5oOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNpbmsuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmg6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmg6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuY3BwOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuaDoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuaDoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5Lmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmg6CgkqIGV4dC9yZXNpbmR2ZC9wbHVnaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuaW5wdXRzZWxlY3Rvci5oOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5oOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJKiBleHQvcnRtcC9nc3RydG1wLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmg6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5oOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5oOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5oaDoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuaDoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmM6CgkqIGV4dC93YXlsYW5kL3dheWxhbmRwb29sLmg6CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9wYXJzZXJ1dGlscy5oOgoJKiBnc3QtbGlicy9nc3QvZ2V0dGV4dC5oOgoJKiBnc3QtbGlicy9nc3QvZ2xpYi1jb21wYXQtcHJpdmF0ZS5oOgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vdmlkZW9jb250ZXh0Lmg6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuYzoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5oOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmYuYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2YuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuaDoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuaDoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwX2NvbW1vbi5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmg6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5oOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuaDoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0Lmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LWNvbW1vbi5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5oOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmg6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmg6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuYzoKCSogZ3N0L2dhbWVzL2dzdHZpZGVvaW1hZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlZ2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuaDoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmg6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2J1ZmZlci5oOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9wbHVnaW4uYzoKCSogZ3N0L21wZWdwc211eC9jcmMuaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuaDoKCSogZ3N0L21wZWdwc211eC9wc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4Lmg6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfYWFjLmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4Lmg6CgkqIGdzdC9tdmUvbXZlLmg6CgkqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6CgkqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmYWxhdy5oOgoJKiBnc3QvbXhmL214ZmQxMC5jOgoJKiBnc3QvbXhmL214ZmQxMC5oOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZG1zMS5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5oOgoJKiBnc3QvbXhmL214ZmVzc2VuY2UuYzoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvbXhmL214ZnF1YXJrLmM6CgkqIGdzdC9teGYvbXhmcXVhcmsuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSogZ3N0L25zZi9kaXM2NTAyLmg6CgkqIGdzdC9uc2YvZmRzX3NuZC5jOgoJKiBnc3QvbnNmL2Zkc19zbmQuaDoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9nc3Ruc2YuaDoKCSogZ3N0L25zZi9sb2cuYzoKCSogZ3N0L25zZi9sb2cuaDoKCSogZ3N0L25zZi9tbWM1X3NuZC5jOgoJKiBnc3QvbnNmL21tYzVfc25kLmg6CgkqIGdzdC9uc2YvbmVzNjUwMi5jOgoJKiBnc3QvbnNmL25lczY1MDIuaDoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbmVzX2FwdS5oOgoJKiBnc3QvbnNmL25zZi5jOgoJKiBnc3QvbnNmL25zZi5oOgoJKiBnc3QvbnNmL29zZC5oOgoJKiBnc3QvbnNmL3R5cGVzLmg6CgkqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSogZ3N0L25zZi92cmM3X3NuZC5oOgoJKiBnc3QvbnNmL3ZyY3Zpc25kLmM6CgkqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuaDoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS9nc3RyZW1vdmVzaWxlbmNlLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuaDoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvdmFkX3ByaXZhdGUuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWcuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5oOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvcGx1Z2luLmM6CgkqIGdzdC9zZGkvZ3N0c2RpLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGlkZW11eC5oOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5jOgoJKiBnc3Qvc2RpL2dzdHNkaW11eC5oOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RhdWRpb3NlZ21lbnRjbGlwLmg6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL3BsdWdpbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9jb21tb24uaDoKCSogZ3N0L3NpcmVuL2RjdDQuYzoKCSogZ3N0L3NpcmVuL2RjdDQuaDoKCSogZ3N0L3NpcmVuL2RlY29kZXIuYzoKCSogZ3N0L3NpcmVuL2RlY29kZXIuaDoKCSogZ3N0L3NpcmVuL2VuY29kZXIuYzoKCSogZ3N0L3NpcmVuL2VuY29kZXIuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uYzoKCSogZ3N0L3NpcmVuL2h1ZmZtYW4uaDoKCSogZ3N0L3NpcmVuL2h1ZmZtYW5fY29uc3RzLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC9zaXJlbi9zaXJlbjcuaDoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSogZ3N0L3NwZWVkL2RlbW8tbXAzLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuaDoKCSogZ3N0L3N1YmVuYy9nc3RzdWJlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuaDoKCSogZ3N0L3R0YS9jcmMzMi5oOgoJKiBnc3QvdHRhL2dzdHR0YS5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSogZ3N0L3R0YS90dGFkZWMuaDoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvc2lnbmFsLmg6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuaDoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9idWZmZXJmYWN0b3J5Lm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFjdHguYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4Lmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLWludGVybmFsLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTAuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTEuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExX2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDkuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5X2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eF9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kcGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSogc3lzL2R2Yi9jYW0uYzoKCSogc3lzL2R2Yi9jYW0uaDoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uLmg6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmM6CgkqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmg6CgkqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uaDoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5jOgoJKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0Lmg6CgkqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSogc3lzL2R2Yi9jYW11dGlscy5oOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuaDoKCSogc3lzL2R4cjMvYWMzX3BhZGRlci5jOgoJKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmg6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJKiBzeXMvZHhyMy9keHIzY29tbW9uLmg6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5oOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXMuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9wbHVnaW4uYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5jOgoJKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzoKCSogc3lzL3F0d3JhcHBlci9pbWFnZWRlc2NyaXB0aW9uLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuYzoKCSogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuaDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5oOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaS5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpdXRpbC5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXV0aWwuaDoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmg6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0d2luc2NyZWVuY2FwLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kYXRhdXJpc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pZDNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xvZ29pbnNlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZXdmaW5kZXJiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hYWNlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9hbXJ3YmVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWltaWMuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL2RlbW8uYzoKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvcGxvdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL21wMm9nZy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUFNlcnZlci5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL2ZpbGUvRENDUENsaWVudFNhdmVGaWxlLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQU2VydmVyU2VuZEZpbGUuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUENsaWVudFBsYXlNaWMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9taWMvRENDUFNlcnZlck1pYy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQQ2xpZW50UGxheU1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQU2VydmVyU2VuZE1QMy5jOgoJKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1NwZWV4L0RDQ1BDbGllbnRQbGF5U3BlZXhNUDMuYzoKCSogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQU2VydmVyU2VuZFNwZWV4TVAzLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BDbGllbnRQbGF5TVAzU3RyZWFtLmM6CgkqIHRlc3RzL2ljbGVzL2RjY3AvbXAzU3RyZWFtL0RDQ1BTZXJ2ZXJTZW5kTVAzU3RyZWFtLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkgIEZpeCBGU0YgYWRkcmVzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3NTIwCgoyMDEyLTExLTAzIDEzOjUxOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5oOgoJICBvcGVuY3Y6IGZpeCB3YXJuaW5ncyBhbmQgYnVpbGQgYWdhaW5zdCBvcGVuY3YgMi40LngKCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzogSW4gZnVuY3Rpb24gJ2dzdF9weXJhbWlkX3NlZ21lbnRfY2hhaW4nOgoJICBnc3RweXJhbWlkc2VnbWVudC5jOjMwNzozOiBlcnJvcjogaW1wbGljaXQgZGVjbGFyYXRpb24gb2YgZnVuY3Rpb24KCSAgJ2N2UHlyU2VnbWVudGF0aW9uJyBbLVdlcnJvcj1pbXBsaWNpdC1mdW5jdGlvbi1kZWNsYXJhdGlvbl0KCSAgZ3N0cHlyYW1pZHNlZ21lbnQuYzozMDc6MzogZXJyb3I6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YKCSAgJ2N2UHlyU2VnbWVudGF0aW9uJyBbLVdlcnJvcj1uZXN0ZWQtZXh0ZXJuc10KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NzIzNwoKMjAxMi0xMS0wMiAxMzo0NDowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgc2NhbGV0ZW1wbzogVXNlIGEgYmV0dGVyIHBsdWdpbiBmaWxlbmFtZQoKMjAxMi0xMS0wMiAxMToyOTo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogVXNlIG1vcmUgY29uc3RhbnRzIGluc3RlYWQgb2YgaGFyZGNvZGluZyB2YWx1ZXMKCjIwMTItMTEtMDIgMTE6MjQ6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogRml4IGNvbXBpbGF0aW9uIHdpdGggZGVidWdnaW5nIGVuYWJsZWQKCjIwMTItMTEtMDEgMjA6NTA6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLkxJQ0VOU0U6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmM6CgkqIGdzdC9ydHB2cDgvZGJvb2xodWZmLmg6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHJlbW92ZSBhbmQgbW92ZSB0byAtZ29vZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MjYzCgoyMDEyLTExLTAxIDE1OjM2OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTItMTEtMDEgMTU6MzU6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IE1ha2Ugc3VyZSB0byBvbmx5IGV2ZXIgY3JlYXRlIGEgc2luZ2xlIGVuZ2luZSBvYmplY3QKCSAgVGhlIE9wZW5TTCBFUyBzcGVjIGRlZmluZXM6CgkgIEFuIGltcGxlbWVudGF0aW9uIHNoYWxsIGVuYWJsZSBjcmVhdGlvbiBvZiBhdCBsZWFzdCBvbmUgc3VjaCBvYmplY3QsIGJ1dAoJICBhdHRlbXB0aW5nIHRvIGNyZWF0ZSBtb3JlIGluc3RhbmNlcyAoZWl0aGVyIGJ5IGEgc2luZ2xlIGFwcGxpY2F0aW9uIG9yIGJ5CgkgIHNldmVyYWwgZGlmZmVyZW50IGFwcGxpY2F0aW9ucykgbWF5IGZhaWwuCgoyMDEyLTEwLTMxIDIwOjAwOjU0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIGFuZHJvaWRtZWRpYTogU2tpcCBBcmljZW50IGNvZGVjcyBmb3Igbm93CgkgIFRoZSBIVEMgT25lIFggY2xhaW1zIHRvIGhhdmUgb25lIChidXQgZG9lc24ndCkgYW5kIGxvYWRpbmcKCSAgdGhlIGxpYnJhcnkgZm9yIGl0IGhhbmdzIGZvcmV2ZXIuCgoyMDEyLTExLTAxIDEzOjUxOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQb3N0IHN0cmVhbS1zdGF0dXMgbWVzc2FnZXMgZm9yIG91ciByZW5kZXIgdGhyZWFkCgoyMDEyLTEwLTMxIDEzOjU0OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJZiBwdXNoaW5nIGFuIGl0ZW0gb24gdGhlIHF1ZXVlIGZhaWxzLCBmcmVlIGl0CgkgIE90aGVyd2lzZSB3ZSdyZSBnb2luZyB0byBsZWFrIHRoZSBpdGVtLgoKMjAxMi0xMC0zMSAxMTozODozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogb3BlbmN2IHBsdWdpbiBidWlsZHMgd2l0aCBuZXdlciB2ZXJzaW9ucyB1cCB0byAyLjQuMiBhcyB3ZWxsCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODcyMzcKCjIwMTItMTAtMzAgMTk6MzA6MzggKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogTmVnb3RpYXRlIGZvcm1hdCwgYWxzbyBzdXBwb3J0IG1vcmUgcmVzb2x1dGlvbnMKCSAgVGhpcyBzaG91bGQgZW5hYmxlIHN1cHBydCBmb3Igb2xkIGFuZCBuZXcgaVBob25lcyB3aXRoIHRoZSBzYW1lIGNvZGUuCgoyMDEyLTEwLTMwIDA5OjI3OjI0ICswMTAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcmVtb3ZlZCB1bm5lY2Vzc2FyeSBmaW5hbGl6ZSBmdW5jdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg3MTc2CgoyMDEyLTEwLTMwIDEwOjIwOjA5ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogRml4IGxlYWtzIGZyb20gbm90IGNoYWluaW5nIHVwIGluIHRoZSBmaW5hbGl6ZSBmdW5jdGlvbgoKMjAxMi0xMC0yMiAxMjozNjoyOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IFNsaWdodGx5IHJlZmxvdyBjb2xsZWN0ZWQgYnVmZmVyIGhhbmRsZXIgZm9yIGNsYXJpdHkuCgoyMDEyLTEwLTI2IDE4OjI5OjMyICswMjAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIHRzZGVtdXg6IEZpeCBuYW1lIG9mIENBVCBHc3RTdHJ1Y3R1cmUKCSAgVGhlIHN0cnVjdHVyZSBwcmV2aW91c2x5IHdhcyBhc3NpZ25lZCB0aGUgbmFtZSAicGF0Ii4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Njk0OAoKMjAxMi0xMC0yOCAxNjo0MToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFjY3VyaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZ3N0L2FjY3VyaXAvZ3N0YWNjdXJpcC5jOgoJICBkb2NzOiBhZGQgbmV3IGFjY3VyaXAgZWxlbWVudCB0byBkb2NzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODUxNjMKCjIwMTItMTAtMjggMTY6MzY6MDEgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hY2N1cmlwL01ha2VmaWxlLmFtOgoJKiBnc3QvYWNjdXJpcC9nc3RhY2N1cmlwLmM6CgkqIGdzdC9hY2N1cmlwL2dzdGFjY3VyaXAuaDoKCSAgYWNjdXJhdGVyaXA6IG5ldyBlbGVtZW50IGZvciBBY2N1cmF0ZVJpcCBjYWxjdWxhdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTYzCgoyMDEyLTEwLTI2IDEzOjQ4OjA2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14ZjogUG9ydCBteGZkZW11eCB0byAxLjAgQWxzbyBwb3J0cyBteGZtdXggdG8gMS4wIHRvIHRoZSBleHRlbnQgdGhhdCBpdCBjb21waWxlcywgYnV0IGlzIDEwMCUgdW50ZXN0ZWQsIHNvIHJlbWFpbnMgZGlzYWJsZWQuCgkgIENvbmZsaWN0czoKCSAgZ3N0L214Zi9teGZkZW11eC5jCgkgIGdzdC9teGYvbXhmbXV4LmMKCjIwMTItMTAtMjUgMTk6MTA6NDAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggYSBudW1iZXIgb2Ygd2FybmluZ3MvZXJyb3JzIGluIGRpcmVjdHNvdW5kc3JjCgkgICogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgZ2xpYiBtdXRleCBmdW5jdGlvbnMKCSAgKiBEb24ndCBkZWNsYXJlIHVzZWxlc3MgdmFyaWFibGVzCgkgICogRG9uJ3QgbGluayB0byBub24tZXhpc3RpbmcgbGliZ3N0aW50ZXJmYWNlcwoJICBGaXhlcyAjNjg2ODcxCgoyMDEyLTEwLTI1IDE3OjUwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiB1c2UgcGFyc2VkIG9yIHVwc3RyZWFtIGZwcyB0byBzZXQgc29tZSBiYXNlcGFyc2UgcGFyYW1ldGVycwoKMjAxMi0xMC0yNSAxODowMjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGV4dHJhY3Qgc3RydWN0dXJlIGZyb20gY29ycmVjdCBjYXBzCgkgIC4uLiB3aGljaCBhcmUga25vd24gIT0gTlVMTC4KCjIwMTItMTAtMjUgMTE6MzE6NDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHByZXNlcnZlIHVwc3RyZWFtIGZwcyBhbmQgcGFyCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA4NjYKCjIwMTItMTAtMjUgMTQ6Mjg6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFN0b3AgdXNpbmcgZGVwcmVjYXRlZCBHTGliIHRocmVhZCBBUEkKCjIwMTItMTAtMjUgMTI6MDY6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBIYW5kbGUgR0FQIGV2ZW50cwoKMjAxMi0xMC0xOCAxNjoyMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9vcGVuc2xlcy9NYWtlZmlsZS5hbToKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogUG9ydCB0byAxLjAKCjIwMTItMTAtMjIgMTE6NDE6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBjcm9wIG1ldGFkYXRhCgoyMDEyLTEwLTIyIDExOjE4OjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAxMzoyMToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIGFuZHJvaWRtZWRpYTogUmVtZW1iZXIgYW5kIHVzZSBpbnB1dCBzdGF0ZQoKMjAxMi0xMC0xOCAxNjo0MTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBQb3J0IHRvIDEuMAoKMjAxMi0xMC0yMyAxMjoxMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2YzFwYXJzZTogR2l2ZSB2YzFwYXJzZSBhIHJhbmsgb2YgTk9ORSBmb3Igbm93CgoyMDEyLTEwLTE1IDA5OjEyOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogUG9ydCB0byAxLjAKCjIwMTItMDItMjMgMTM6NDg6NTcgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiBkaXNhYmxlIEJEVSBwYXJzaW5nIHVudGlsIGl0J3MgbW9yZSBtYXR1cmUKCSAgUGFyc2luZyBhbmQgc3BsaXR0aW5nIEJEVXMgc2VlbXMgdG8gdHJpZ2dlciBhIGZldyBidWdzIGluCgkgIGRvd25zdHJlYW0gZGVjb2RlcnMgc28gZGlzYWJsZSBpdCBmb3Igbm93LgoKMjAxMi0xMC0xNCAxMTozOTo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5oOgoJICB2YzFwYXJzZTogc2V0IGR1cmF0aW9uIG9uIG91dHB1dCBidWZmZXJzCgkgIFRoaXMgaGFzIHRoZSBuaWNlIHNpZGUgZWZmZWN0IG9mIGF2b2lkaW5nIGhhbmdpbmcgYXQgRU9TIHdpdGggdHJ1bmNhdGVkIGFzZgoJICBjbGlwcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmMKCjIwMTItMDEtMzEgMTE6MDM6NDUgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkgIHZjMXBhcnNlOiB3b3JrYXJvdW5kIGZvciBzaW1wbGUvbWFpbiBjb2RlY19kYXRhIGJlaW5nIDUgYnl0ZXMgbG9uZwoJICBTb21ldGltZXMgdGhlIGNvZGVjX2RhdGEgYnVmZmVyIGZvciBzaW1wbGUvbWFpbiBwdXNoZWQgYnkgYXNmZGVtdXggaXMgNSBieXRlcwoJICBpbnN0ZWFkIG9mIDQuIFdoZW4gdGhhdCBoYXBwZW5zLCBjb2RlY19kYXRhIGlzIHN0aWxsIHZhbGlkIGJ1dCBpdCBzZWVtcyB0byBoYXZlCgkgIG9uZSAweDAwIHRyYWlsaW5nIGJ5dGUuIE1pZ2h0IGJlIGEgYnVnIGluIHRoZSBkZW11eGVyLCBuZWVkcyBtb3JlIGludmVzdGlnYXRpb24uCgoyMDEyLTAxLTMxIDExOjAyOjEwICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3R2YzFwYXJzZS5jOgoJICB2YzFwYXJzZTogcmVtb3ZlIHN0dWIgc3RyZWFtIGNvbnZlcnNpb24gY29kZQoKMjAxMi0wMS0zMSAxMTowMDo1NSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuYzoKCSAgdmMxcGFyc2U6IGFkZCBzb21lIG1vcmUgZGVidWdnaW5nIHRvIF9yZW5lZ290aWF0ZQoKMjAxMi0wMS0zMSAxMDo1ODoyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdHZjMXBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0dmMxcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmMxcGFyc2U6IEFkZCBWQzEgcGFyc2VyIHBsdWdpbgoKMjAxMi0xMC0yNSAxMjo0NjowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWVsZGFuYWx5c2lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGFuZHNwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBmZWF0dXJlIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAxLjAuMiA9PT0KCjIwMTItMTAtMjUgMDE6NDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvdmlzdWFsaXplcnMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGcxMjMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdheWxhbmRzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAxLjAuMgoKMjAxMi0xMC0yNCAyMzo0MDoyMCArMDIwMCAgQ2FybG9zIFJhZmFlbCBHaWFuaSA8ZHZAcHNldWRvdGVybWluYWwub3JnPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXhlZCBidWZmZXIgdW5tYXBwaW5nIGJ1ZwoJICBXaGVuIHRoZSBkZWNvZGVyIHJlY2VpdmVkIGEgTlVMTCBidWZmZXIsIGl0IHRyaWVkIHRvCgkgIHVubWFwIGEgbm90IG1hcHBlZCBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY4MjkKCjIwMTItMTAtMjQgMTQ6MjM6MjYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgd2F5bGFuZCA+PSAxLjAuMAoJICBXZSBoYXZlIGFuIEFQSSBzdGFibGUgcmVsZWFzZSBub3csIHJlcXVpcmUgdGhhdC4KCjIwMTItMTAtMjQgMTM6NDE6MDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZzEyM2F1ZGlvZGVjLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IHVwIG1wZzEyMyB0ZXN0IGEgbGl0dGxlCgkgIC0gZGlzdCBpbnB1dCBmaWxlcwoJICAtIGZpeCBzYW1wbGUgbGVhawoJICAtIHNpbXBsaWZ5IGNoZWNrIGZvciBlbGVtZW50cwoJICAtIG9ubHkgcnVuIG1wZzEyMyB0ZXN0IGlmIG1wZzEyMyBpcyBhdmFpbGFibGUgYW5kIHNlbGVjdGVkCgkgIC0gZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTI6MzA6MTAgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGcxMjNhdWRpb2RlYy5jOgoJKiB0ZXN0cy9maWxlcy9jYnJfc3RyZWFtLm1wMzoKCSogdGVzdHMvZmlsZXMvc3RyZWFtLm1wMjoKCSogdGVzdHMvZmlsZXMvdmJyX3N0cmVhbS5tcDM6CgkgIHRldHM6IGFkZCB1bml0IHRlc3QgZm9yIG1wZzEyM2F1ZGlvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMDA6MzY6NDIgKzAyMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSAgbXBnMTIzOiBhZGRlZCBndGtkb2Mgc2VjdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjIyOjA1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogZml4ZWQgYnVnIHdpdGggbGFzdCBmcmFtZSwgZGlzYWJsZWQgaW50ZXJuYWwgcmVzYW1wbGVyICYgY2hhdHRlcgoJICAqIFRoZSBsYXN0IE1QMyBmcmFtZSB3YXNuJ3QgYmVpbmcgcHVzaGVkIHdoZW4gYmFzZSBjbGFzcyB3YXMgZHJhaW5pbmcKCSAgKiBNYWRlIHN1cmUgbXBnMTIzIGNhbm5vdCBldmVyIHVzZSBpdHMgKGNydWRlKSBpbnRlcm5hbCByZXNhbXBsZXIKCSAgKiBEaXNhYmxlZCBtcGcxMjMgc3RkZXJyIG91dHB1dAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2NTk1CgoyMDEyLTEwLTI0IDAwOjIxOjQ1ICswMjAwICBDYXJsb3MgUmFmYWVsIEdpYW5pIDxkdkBwc2V1ZG90ZXJtaW5hbC5vcmc+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogY2xlYW5lZCB1cCBjb21tZW50cywgZm9ybWF0dGluZywgYW5kIGxvZ2dpbmcgbGluZXMKCSAgYWxzbyByZXBsYWNlZCBtcGcxMjNkZWNvZGVyLT5oYW5kbGUgIT0gTlVMTCBjaGVja3Mgd2l0aCBhc3NlcnRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1OTUKCjIwMTItMTAtMjQgMTE6MzQ6MzIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkgIGN1cmxzbXRwc2luazogYWRkIGNvbW1lbnQgZGVzY3JpYmluZyBmdW5jdGlvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg2Nzc0CgoyMDEwLTA3LTAyIDE1OjI4OjQxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBjaGVjayBiYXNlX3RpbWUgYmVmb3JlIGNhbGN1bGF0aW5nIG5ld19zdGFydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzg3CgoyMDEyLTEwLTIzIDE0OjMzOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogRml4IGV2ZW50IGxlYWsKCjIwMTItMTAtMjMgMTQ6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBGaXggdGltZXN0YW1wIHRyYWNraW5nCgoyMDEyLTEwLTIzIDE0OjA2OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkKCjIwMTItMTAtMjMgMTM6Mzk6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkgIHNjYWxldGVtcG86IFN0b3JlIGluc3RhbmNlIHByaXZhdGUgZGF0YSBpbiB0aGUgaW5zdGFuY2Ugc3RydWN0CgkgIEdldHRpbmcgaXQgb3ZlciBhbmQgb3ZlciBhZ2FpbiB2aWEgR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKCkKCSAgaXMgcmVhbGx5IHNsb3cuCgoyMDEyLTEwLTIzIDEwOjA3OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkgIGhsczogTGluayB0byAkKExJQk0pIGZvciBpc2Zpbml0ZSgpCgoyMDEyLTEwLTIyIDIxOjQxOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiBmaXggZm9yIHN0YXJ0IHRpbWVzID4gMAoJICBGaXhlcyBidWZmZXJpbmcgYW5kIHBsYXliYWNrIG9mIHN0cmVhbXMgdGhhdCBzdGFydCB3aXRoCgkgIGEgbm9uLTAgdGltZXN0YW1wIGluIHRvdGVtICh3aGljaCBoYXMgYSAncGl0Y2gnIGVsZW1lbnQKCSAgYmVmb3JlIHB1bHNlc2luaykuCgkgIEV4YW1wbGUgVVJJOiBodHRwOi8vbG9ib3N0di5sb2JvY2FzdC5vcmcuZXM6ODAwNC9sb2Jvc3R2Lm9nZwoJICBTdGlsbCBicmVha3Mgd2l0aCBjaGFpbmVkIG9nZ3MsIG9uIHNlY29uZCBjaGFpbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjM5MQoKMjAxMi0xMC0yMiAxMjowODo0MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1c3BheTogcmVtb3ZlIHBvaW50bGVzcyBjYXBzIHNlcmlhbGl6YXRpb24KCSAgUmVtb3ZlIHRoZSBjYXBzIHNlcmlhbGl6YXRpb24gaW4gdGhlIHJ0cCBjYXBzLiB0aGUgc3BlYyBub3IgdGhlIHJlY2VpdmVyCgkgIGRvZXMgYW55dGhpbmcgd2l0aCBpdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjU0NwoKMjAxMi0xMC0yMiAxMDo0NToxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSAgc3ViZW5jOiBwb3J0IHRvIDEuMAoKMjAxMi0xMC0yMiAwMTozOToxMyArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBEb24ndCBtYWtlIHRoZSBzYW1lIGJ1ZmZlciB3cml0YWJsZSB0d2ljZS4KCSAgRml4ZXMgQnVnIDY4NjMyNyAtIG1wZWd0c211eDogZml4IHJlZmNvdW50IGlzc3VlIHdpdGggaW5wdXQgYnVmZmVycwoKMjAxMi0xMC0yMCAxNDo1NTo0MSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kOiB1cGRhdGUgdG8gd2F5bGFuZC1wcm90b2NvbCAwLjk5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODY1MjAKCjIwMTItMTAtMTggMjI6MjM6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmb3J3YXJkIG5vbi1wcm9jZXNzZWQgZHZkIGV2ZW50cwoJICAuLi4gc3VjaCBhcyBub3RhYmx5IGR2ZC1zcHUtY2x1dC1jaGFuZ2UuCgoyMDEyLTEwLTE4IDIyOjIyOjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogc2VnbWVudCBldmVudCBzaG91bGQgYmUgc2VudCBiZWZvcmUgZ2FwIGV2ZW50CgoyMDEyLTEwLTE5IDA5OjU5OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCB0cnkgdG8gcmVuZGVyIGV4cG9zZSgpIGlmIG5vIGNhcHMgYXJlIGtub3duIHlldAoKMjAxMi0xMC0xOCAxNToxMjoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGV4cG9zZQoKMjAxMi0xMC0xOSAwMTowMzo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJICB0c2RlbXV4OiBmaXggcHJvZ3JhbSBwYWNrZXQgc2VxdWVuY2UgY291bnRlciBwYXJzaW5nIGluIFBFUyBoZWFkZXIKCjIwMTItMTAtMTkgMDA6NDc6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogZml4IHNvbWUgaW5jb25zZXF1ZW50aWFsIFBFUyBoZWFkZXIgcGFyc2luZyBpc3N1ZXMKCSAgYWRkaXRpb25hbF9jb3B5X2luZm86IG5lZWQgdG8gZ2V0IHJpZCBvZiB0aGUgaGlnaGVzdAoJICBiaXQsIG5vdCB0aGUgbG93ZXN0IG9uZQoJICBwcm9ncmFtX3BhY2tldF9zZXF1ZW5jZV9jb3VudGVyOiBhbHNvIG5lZWQgdG8gZ2V0IHJpZAoJICBvZiB0aGUgaGlnaGVzdCBiaXQgaW5zdGVhZCBvZiBtdWx0aXBseWluZyB3aXRoIGEgcmFuZG9tCgkgIHZhbHVlCgkgIG9yaWdpbmFsX3N0dWZmX2xlbmd0aDogd2FudCB0byBBTkQgMHgzZiB0byBleHRyYWN0IHRoZQoJICBsb3dlc3QgNiBiaXRzLCBub3QgbXVsdGlwbHkgYnkgaXQuCgkgIE5vbmUgb2YgdGhlc2UgZmllbGRzIGFyZSBhY3R1YWxseSB1c2VkIHRob3VnaCwgc28gdGhlc2UKCSAgc2hvdWxkIG5vdCBoYXZlIGNhdXNlZCBhbnkgaXNzdWVzLgoKMjAxMi0xMC0xNyAxNTo1NDozMiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgdHNkZW11eDogRml4IHBhcnNpbmcgUC1TVERfYnVmZmVyIGluIFBFUyBoZWFkZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NjI5NAoKMjAxMi0xMC0xOCAxODo1NjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2F5bGFuZDogZG9uJ3QgdHJ5IHRvIGJ1aWxkIGFnYWluc3QgMC45OSBvciBsYXRlcgoJICBUaGUgcGx1Z2luIG5lZWRzIHVwZGF0aW5nIGZvciBzb21lIEFQSSBjaGFuZ2VzIHNpbmNlIDAuOTUuCgoyMDEyLTEwLTE4IDAxOjQ3OjU3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZml4IHBvdGVudGlhbCBjcmFzaCBkZXJlZmVyZW5jaW5nIE5VTEwgcHJvZ3JhbSBwb2ludGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYzNTgKCjIwMTItMTAtMTggMTU6MDY6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuc2xlczogT25seSBjaGVjayBmb3IgdGhlIG1haW4gb3BlbnNsZXMgaGVhZGVyCgoyMDEyLTEwLTE4IDE0OjM4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZWdsZ2xlc3Npbms6IFB1dCBpbnRvIHRoZSBub3QtcG9ydGVkIHBsdWdpbnMgbGlzdAoKMjAxMi0xMC0xOCAxNDoyNTowNSArMDIwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEhvb2sgZWdsZ2xlc3NpbmsgZG9jdW1lbnRhdGlvbiBpbgoKMjAxMi0xMC0xOCAxNDowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBjb21waWxhYmxlIG9uIGRlc2t0b3AgTGludXggd2l0aCBNRVNBIHRvbwoKMjAxMi0xMC0xOCAxNDowNzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkgIGVnbGdsZXNzaW5rOiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgkgIENvbmZsaWN0czoKCSAgZXh0L01ha2VmaWxlLmFtCgoyMDEyLTEwLTE4IDEwOjQ5OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZGVidWcgb3V0cHV0CgoyMDEyLTEwLTE4IDEwOjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNsZWFyIHRoZSBzdXJmYWNlIG9uY2Ugd2hlbiB0aGUgYnVmZmVyIGNvbnRlbnQgaXMgcHJlc2VydmVkCgoyMDEyLTEwLTE4IDEwOjIwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IGRyYXcgYmxhY2sgYm9yZGVycyBpZiB0aGUgZGVmYXVsdCBzd2FwIGJlaGF2aW91ciBvZiB0aGUgc3VyZmFjZSBpcyB0byBkZXN0cm95IHRoZSBidWZmZXIKCjIwMTItMTAtMTggMDk6Mzc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSB1bnVzZWQgbGFiZWwKCjIwMTItMTAtMTggMDI6MjY6MTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRmFjdG9yIGRpc3BsYXkgcmVnaW9uIHJlc2V0IHRvIGl0cyBvd24gZnVuYwoKMjAxMi0xMC0xOCAwMTo0NTo1MSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbHdheXMgUmVzZXQgZGlzcGxheV9yZWdpb24uKiBhdCBFR0wvR0xFUyBjdHggd2lwZQoKMjAxMi0xMC0xOCAwMTozNjo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGYWN0b3IgRUxHL0dMRVMgY29udGV4dCBjbGVhbnVwIGludG8gaXRzIG93biBmdW5jCgoyMDEyLTEwLTE4IDAwOjMzOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERyb3AgZHJhZnRlZCBmYXN0IHJlbmRlcmluZyBwYXRoIGxvZ2ljCgoyMDEyLTEwLTE3IDE1OjUwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIHVwZGF0ZSBoZWFkZXIgZmlsZQoKMjAxMi0xMC0xNyAxNTozNzo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvdmlkZSB0aGUgdGV4dHVyZSBwb3NpdGlvbnMgdG8gdGhlIHNoYWRlciBvbiBldmVyeSBmcmFtZSB0b28KCjIwMTItMTAtMTcgMTU6MDQ6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERyYXcgYmxhY2sgYm9yZGVycyBhbmQgYWxzbyB1c2UgYSBzaW5nbGUgR0wgYnVmZmVyIGZvciBhbGwgdmVydGljZXMKCSAgRml4ZXMgd2VpcmQgYXJ0aWZhY3RzIG91dHNpZGUgdGhlIHZpZGVvIGZyYW1lIG9uCgkgIFF1YWxjb21tIFNuYXBkcmFnb24gY2hpcHNldHMgYW5kIHNob3VsZCBiZSBmYXN0ZXIKCSAgdGhhbiBnbENsZWFyKCkgb24gdGhlIGNvbXBsZXRlIGFyZWEgYWxsIHRoZSB0aW1lLgoKMjAxMi0xMC0xNyAxMjo0OTo0NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1lbW9yeSBsZWFrCgoyMDEyLTEwLTE3IDEwOjQ3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdXNlbGVzcyBkZWJ1ZyBvdXRwdXQgYWRkZWQgZm9yIGRlYnVnZ2luZyBlYXJsaWVyCgoyMDEyLTEwLTE3IDEwOjA4OjEwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHdpbmRvdyBzZXR0aW5nL2hhbmRsaW5nIGEgYml0IG1vcmUgdGhyZWFkc2FmZQoKMjAxMi0xMC0xNyAwOTo1OTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJpbnQgd2luZG93IGhhbmRsZSBhZnRlciBzZXR0aW5nIGl0CgoyMDEyLTEwLTE2IDE3OjUwOjAzIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgREFSIHF1ZXJ5ICYgc3RvcmUgdG8gc3VyZmFjZSBpbml0CgkgIFRoZSBEQVIgKGRpc3BsYXkncyBwaXhlbCBhc3BlY3QgcmF0aW8pIHNob3VsZCByZW1haW4gYQoJICBjb25zdGFudCBhdCBydW50aW1lIHNvIHRoZXJlJ3Mgbm8gcG9pbnQgb24gcmVwZWF0ZWRseQoJICBxdWVyeSBhbmQgc3RvcmUgdGhpcyB2YWx1ZS4gRG9pbmcgaXQgYXQgc3VyZmFjZSBzZXR1cAoJICBzaG91bGQgYmUgZW5vdWdoLiBBcyBhbiBhZGRlZCBib251cyB0aGlzIGNoYW5nZSBzaG91bGQKCSAgbWFrZSByZW5kZXJpbmcgYSBiaXQgZmFzdGVyLgoKMjAxMi0xMC0xNiAxNzozNToxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3Qgc2lnbmFsIHRoZSBHQ29uZCB0b28gb2Z0ZW4KCjIwMTItMTAtMTYgMTc6MDU6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFkZCBteXNlbGYgYXMgYXV0aG9yCgoyMDEyLTEwLTE2IDE2OjI1OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHN1cmUgdG8gYWx3YXlzIHJlc2V0IHRoZSBkaXNwbGF5IHJlZ2lvbiBpbiBzdGFydCgpCgoyMDEyLTEwLTE2IDE2OjIzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbHNvIGNvbW1pdCBtaXNzaW5nIGNoYW5nZXMgdG8gdGhlIGhlYWRlciBmaWxlCgoyMDEyLTEwLTE2IDE2OjE4OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJICBlZ2xnbGVzc2luazogQWxzbyBpbmNsdWRlICQoR1NUX0JBU0VfQ0ZMQUdTKQoKMjAxMi0xMC0xNiAxNjoxMjo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHJhY2UgY29uZGl0aW9uCgoyMDEyLTEwLTE2IDE1OjQwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWZhY3RvciByZW5kZXJpbmcgYW5kIGFsbCBjb250ZXh0IHNwZWNpZmljIEdMIHRoaW5ncyBpbnRvIGEgc2VwYXJhdGUgdGhyZWFkCgkgIEFsc28gZml4ZXMgc29tZSB0aHJlYWRpbmcgcmVsYXRlZCBwcm9ibGVtcy4KCjIwMTItMTAtMTYgMTQ6Mzk6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJlLWFkZCBhY2NpZGVudGlhbGx5IHJldmVydGVkIGNvbW1pdAoKMjAxMi0xMC0xNiAxNDoxNTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVtb3ZlIHVubmVlZGVkIGZsb3dfbG9jawoJICBVc2UgdGhlIG9iamVjdCBsb2NrIGluIHRoZSBmZXcgcGxhY2VzIG5lY2Vzc2FyeSwgZXZlcnl0aGluZwoJICBlbHNlIGlzIHByb3RlY3RlZCBieSBvdGhlciB0aGluZ3MgYWxyZWFkeS4KCSAgQWxzbyBzdG9yZSB0aGUgY29udGV4dCBkaXJlY3RseSBpbnNpZGUgdGhlIGluc3RhbmNlIHN0cnVjdAoJICBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgc29tZSBtZW1vcnkgZm9yIGl0LgoKMjAxMi0xMC0xNiAxMTo1MzowOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGRlYnVnIG91dHB1dCBhbmQgY29uc3RhbnQgbmFtZXMKCjIwMTItMTAtMTYgMTE6NTE6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IHN0YXJ0KCkvc3RvcCgpIGlzIGNhbGxlZCBpbiBSRUFEWTwtPk5VTEwgaW4gYmFzZXNpbmsKCSAgQnV0IHRoaXMgc2hvdWxkIGJlIGNhbGxlZCBpbiBQQVVTRUQ8LT5SRUFEWS4KCjIwMTItMTAtMTUgMTM6NDQ6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGZvciBvdXRib3VuZCBEQVIgcmVwb3J0ZWQgYnkgRUdMCgkgIFNvbWUgRUdMIGltcGxlbWVudGF0aW9ucyBkb24ndCBob25vciB0aGUgc3BlYwoJICByZXF1aXJlbWVudCBvZiByZXR1cm5pbmcgREFSIHZhbHVlcyBhcyB3L2ggKgoJICBFR0xfRElTUExBWV9TQ0FMSU5HLgoJICBUaGlzIGNoYW5nZXNldDoKCSAgLSBGaXhlcyByZW5kZXJpbmcgb24gdGhlIFNhbXN1bmcgR2FsYXh5IElJSQoJICAtIEZpeGVzIHdyb25nIGNoZWNrIG9uIHJlcXVpcmVkIDEuMiBFR0wgdmVyc2lvbgoJICAtIFJlb3JkZXJzIHRoZSBjb2RlIGEgYml0LgoKMjAxMi0xMC0xNSAxMzozODoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoZXMgaWYgdGhlcmUgYXJlIG5vIEVHTCBvciBHTEVTIGV4dGVuc2lvbnMKCjIwMTItMTAtMTAgMTI6NDI6NDcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRml4IGNyYXNoIGF0IGVsZW1lbnQgaW5zdGFudGlhdGlvbgoKMjAxMi0xMC0xMCAxMjoyNjowNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBTYXZlIG9uZSBleHRyYSB0ZXh0dXJlIGxvb2t1cAoKMjAxMi0xMC0xMCAxMjoyMjoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBNaW5vciBuYW1lZCBpbmRleCBhY2Nlc3MgdHdlYWsgeHl6IC0+IHJnYgoKMjAxMi0xMC0xMCAxMjoxODoyNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBBc3NvcnRlZCBmaXhlcyB0byBvcHRpbWl6ZWQgY29kZQoJICAtIERvbid0IGNvcHkgb3ZlciBvcG9zIGFzIGl0J3MgYWxyZWFkeSBhIHZlYzIKCSAgLSBGaXggaW5kZXggb3JkZXIgYWNjZXNzIGF0IGZyYWdfWVVZMl9ZVllVX1VZVllfcHJvZwoKMjAxMi0xMC0xMCAxMTo1MDoyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBQbGFuYXIgWVVWIGNvbnZlcnRlcnMgb3B0aW1pemF0aW9uCgkgIC0gVXNlIGNvbnN0cyBmb3IgdGhlIHRyYW5zZm9ybSdzIG9mZnNldCBhbmQgY29mZmljaWVudHMgdmFsdWVzCgkgIC0gVXNlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgbXVsdCBhbmQgYWRkCgkgIC0gQXZvaWQgdW5uZWVkZWQgdGV4dHVyZSBsb29rdXBzCgoyMDEyLTEwLTEwIDExOjA1OjA0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgR2VnbGdsZXNzaW5rOiBMU0w6IE9wdGltaXplIGZyYWdfWVVZMl9ZVllVX1VZVllfcHJvZwoJICAtIEF2b2lkIHJlcGVhdGVkbHkgcGVyZm9ybWluZyB0aGUgdGV4dHVyZSBsb29rdXAKCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgdGhlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgdGhlIGV4cGxpY2l0IG11bHQgYW5kIGFkZAoKMjAxMi0xMC0xMCAwMzowMjoyMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBEcm9wIHVubmVkZWQgbnh5IHZlYzIKCjIwMTItMTAtMTAgMDI6MTY6MzUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IG1pc3NpbmcgZG91YmxlIHF1b3RhdGlvbiBtYXJrIGluIEdMU0wgY29kZQoKMjAxMi0xMC0xMCAwMjowNDoxOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBHTFNMOiBPcHRpbWl6ZSBmcmFnX0FZVVZfcHJvZwoJICAtIEF2b2lkIHJlcGVhdGVkbHkgcGVyZm9ybWluZyB0aGUgdGV4dHVyZSBsb29rdXAKCSAgLSBVc2UgY29uc3RzIGZvciB0aGUgdHJhbnNmb3JtJ3Mgb2Zmc2V0IGFuZCBjb2ZmaWNpZW50cyB2YWx1ZXMKCSAgLSBVc2UgdGhlIGRvdCBwcm9kdWN0IGluc3RlYWQgb2YgdGhlIGV4cGxpY2l0IG11bHQgYW5kIGFkZAoKMjAxMi0xMC0wOSAyMzozNToyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzU2luayBzdHJ1Y3QKCjIwMTItMTAtMDkgMjM6MDQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogR3N0RWdsR2xlc0J1ZmZlciBzdHJ1Y3QgKERSQUZUKQoKMjAxMi0xMC0wOSAyMjo1NDo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEb2N1bWVudGF0aW9uOiBHc3RFZ2xHbGVzSW1hZ2VGbXQgc3RydWN0CgoyMDEyLTEwLTA5IDIyOjQwOjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdzdEVnbEdsZXNSZW5kZXJDb250ZXh0IHN0cnVjdAoKMjAxMi0xMC0wOSAxNzowMDo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBc3NvcnRlZCBkb2MgYW5kIHJlb3JkZXJpbmcgZml4ZXMKCjIwMTItMTAtMDkgMTY6MjU6NDYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogRWxlbWVudCBwcm9wZXJ0aWVzCgkgIEJyaWVmIGV4cGxhbmF0b3J5IGNvbW1lbnRzIHBsdXMgc29tZSByZW9yZGVyaW5nCgkgIHRvIGdyb3VwIGRlZmF1bHQgc2V0dGluZyBvZiBwcm9wZXJ0aWVzIGFuZCBydW50aW1lCgkgIGZsYWdzIHZhbHVlcy4KCjIwMTItMTAtMDkgMTc6MjA6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzdXBwb3J0IGZvciBZVllVCgoyMDEyLTEwLTA5IDExOjQ4OjA5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvY3VtZW50YXRpb246IEdMU0wgU2hhZGVycwoJICBCcmllZiBleHBsYW5hdG9yeSBjb21tZW50cyBwbHVzIHNvbWUgcmVyZGVyaW5nCgkgIHRvIGdyb3VwIHBhY2tlZC9wbGFuYXIgY29udmVydGVycy4KCjIwMTItMTAtMDkgMTE6MDA6MjQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9jdW1lbnRhdGlvbjogRWxlbWVudCBvdmVydmlldwoKMjAxMi0xMC0wOCAxMjoxMDoyNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZWZhY3RvciBSRU9SREVSIHNoYWRlci4KCSAgQXZvaWQgdW5uZWVkZWRseSBjYWxsaW5nIHRleHR1cmUyRCgpIDMgY29uc2VjdXRpdmUgdGltZXMuCgoyMDEyLTEwLTA0IDE1OjQ3OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggaGFuZGxpbmcgb2YgY2FwcyBjaGFuZ2VzIGJ5IG9ubHkgcmVsZWFzaW5nIHdoYXQgbmVlZHMgdG8gYmUgcmVsZWFzZWQKCSAgQW5kIG5vdCB0ZXJtaW5hdGluZyB0aGUgZGlzcGxheSBjb25uZWN0aW9uCgoyMDEyLTEwLTA0IDAyOjE1OjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZGlzcGxheV9yZWdpb24gcmVzZXQgdG8gbG9ja2VkIHNlY3Rpb24KCjIwMTItMTAtMDQgMDE6NTY6MTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVzZXQgZGlzcGxheV9yZWdpb24gZGltcyBhdCBjYXBzIHJlbmVnbwoKMjAxMi0xMC0wNCAwMTozMzozMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3NtZXRpY3MKCjIwMTItMTAtMDQgMDE6Mjk6NDAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYWNjZXNzIGxvY2FsIHZhbHVlIGZyb20gc3RydWN0CgoyMDEyLTEwLTAzIDIzOjQxOjUyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFRlcm1pbmF0ZSBkaXNwbGF5IGNvbm5lY3Rpb24gYXQgY2FwcyByZW5lZ28KCjIwMTItMTAtMDIgMTc6NTY6MTQgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ29zbWV0aWNzCgoyMDEyLTEwLTAzIDEyOjMyOjM4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBPbmx5IGF0dGFjaCB0aGUgY29udGV4dCBvbmNlIHRvIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgoyMDEyLTEwLTAzIDEwOjUzOjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNYWtlIHRoZSBjb250ZXh0IGN1cnJlbnQgZm9yIHRoZSB0aHJlYWQgYW5kIHVuYmluZCBpdCBhZ2FpbiBhcm91bmQgZXZlcnkgdXNlCgkgIFRoaXMgZml4ZXMgc29tZSBjcmFzaGVzIGFuZCBsZWFraW5nIG9mIG91ciBjb250ZXh0IGludG8gb3RoZXIKCSAgT3BlbkdMIGNvZGUgb24gdGhlIHNhbWUgdGhyZWFkLgoKMjAxMi0xMC0wMiAxNzoyOToyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogSW1wcm92ZSBjbGVhbnVwCgoyMDEyLTEwLTAyIDE1OjQ2OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgdW51c2VkIGxhYmVsCgoyMDEyLTEwLTAyIDE1OjQyOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIGEgTlVMTCBoYW5kbGUKCjIwMTItMTAtMDIgMDk6NDg6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFJldmVydCAiRG8gbm90IHVwZGF0ZV9zdXJmYWNlX2RpbXMoKSBvbmNlIHBlciBmcmFtZSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA4MjEwMzM3NmVkZTJiYzdjNjNkZDY5OWY1OTgyMTY4NjYwZjY3ODUyLgoJICBXZSBoYXZlIHRvIHVwZGF0ZSB0aGUgc3VyZmFjZSBkaW1lbnNpb25zIG9uIGV2ZXJ5IGZyYW1lIHRvCgkgIG1ha2Ugc3VyZSB0aGF0IHdlIGdldCBub3RpZmllZCBhYm91dCB1cGRhdGVzLiBUaGlzIGhhcHBlbnMKCSAgZm9yIGV4YW1wbGUgaWYgdGhlIEFuZHJvaWQgd2luZG93IGdldHMgcmUtbGF5b3V0ZWQgYmVjYXVzZQoJICBhIHdpZGdldCB0YWtlcyBtb3JlIHNwYWNlIHRoYW4gYmVmb3JlLgoKMjAxMi0xMC0wMiAwMTo0MzozNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEbyBub3QgdXBkYXRlX3N1cmZhY2VfZGltcygpIG9uY2UgcGVyIGZyYW1lCgkgIEFuZC4uIFVwZ3JhZGUgZGVidWcgbWVzc2FnZSB0byB3YXJnaW5nIG9uIHdlaXJkIERBUi4KCSAgQ29ycmVjdCBmaXggdG8gYXZvaWQgc3BhbWluZyB3aXRoIHRoaXMgbWVzc2FnZQoJICBvbmNlIHBlciBlYWNoIGZyYW1lIGlzIGF2b2lkIGNhbGxpbmcgdXBkYXRlX3N1cmZhY2VfZGltcygpCgkgIGF0IHJlbmRlcl9hbmRfZGlzcGxheSgpLiBUaGlzIGlzIGhhbmRsZWQgYXQgZWdsIHN1cmZhY2UKCSAgaW5pdC4KCjIwMTItMTAtMDEgMTY6MzY6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFuZCBkb3duZ3JhZGUgYW5vdGhlciB3YXJuaW5nIHRvbwoKMjAxMi0xMC0wMSAxNjoxNDozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG93bmdyYWRlIEdTVF9XQVJOSU5HIHRvIEdTVF9ERUJVRwoKMjAxMi0xMC0wMSAwOTo0NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUge30gdG8gaWYgc3RhdGVtZW50cyBtYWtlIHRoZW0gd29yayBhcyBleHBlY3RlZAoKMjAxMi0wOS0zMCAyMzowNzo0OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHN0YWxlIGRlZmluZXMgZm9yIG1heCBmcmFtZSBzaXplCgoyMDEyLTA5LTMwIDIzOjA2OjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFNtYWxsIGNvbW1lbnRhcnkgZml4ZXMgaGVyZSBhbiB0aGVyZQoKMjAxMi0wOS0yOCAxMTo0ODoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCBzZXR0aW5nIGhlaWdodCBvciB3aWR0aCB0d2ljZQoKMjAxMi0wOS0yNyAwMToxODozNyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBVc2UgUEFSL0RBUiB0byBzZXQgdmlld3BvcnQKCjIwMTItMDktMjcgMTQ6Mjg6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSByZXNpemUgaWYgdGhlIHN1cmZhY2UgZGltZW5zaW9ucyBjaGFuZ2UKCjIwMTItMDktMjcgMTQ6MDg6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IFVwZGF0ZSBzdXJmYWNlIGRpbWVuc2lvbnMgb24gZXZlcnkgYnVmZmVyCgoyMDEyLTA5LTI3IDE0OjAyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3JlIGNvbnNpc3RlbnQgbmFtaW5nIG9mIHNoYWRlciByZWxhdGVkIHZhcmlhYmxlcwoKMjAxMi0wOS0yNyAxMzo1NzoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU29tZSB2YXJpYWJsZSBuYW1lIGNsZWFudXAKCjIwMTItMDktMjcgMTM6NTM6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFJlbW92ZSBkZWZhdWx0LXdpZHRoL2hlaWdodCBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFyZSBjb21wbGV0ZWx5IHVubmVlZGVkCgoyMDEyLTA5LTI1IDEzOjMyOjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggZG91YmxlIGZyZWUoKQoKMjAxMi0wOS0yNSAwOTowNjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgbGVhayBFR0wvRVMgcmVuZGVyIGNvbnRleHQKCjIwMTItMDktMjUgMDE6Mzk6MjEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogUHV0IEVHTC9HTEVTIGNvbnRleHQgdmFycyBvbiB0aGVpciBvd24gc3RydWN0CgoyMDEyLTA5LTI0IDExOjE5OjMyIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSAgZWdsZ2xlc3Npbms6IFNtYWxsIFRPRE8gcmVmb3JtYXR0aW5nCgoyMDEyLTA5LTI0IDEwOjIzOjI4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvVE9ETzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBUT0RPIGZpbGUKCjIwMTItMDktMjQgMTQ6NDM6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSBpbXBsZW1lbnQgOjpleHBvc2UoKQoJICBXZSBkb24ndCBuZWVkIHRoZSBwYXN0IGJ1ZmZlciBmb3IgdGhpcywgdGhlIG9sZCBvbmUgaXMgc3RpbGwgYXZhaWxhYmxlCgkgIGFzIHRleHR1cmUgYW5kIHdlIGp1c3QgbmVlZCB0byBkcmF3IG91ciByZWN0YW5nbGUgYWdhaW4uCgoyMDEyLTA5LTI0IDEzOjQ4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBbGxvdyBzZXR0aW5nIGFub3RoZXIgd2luZG93IGZvciB0aGUgbmV4dCB0aW1lIHdlIHJlY29uZmlndXJlIGV2ZXJ5dGhpbmcKCjIwMTItMDktMjQgMTI6MzY6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEFsc28gdW5yZWYgY3VycmVudCBjYXBzIGFmdGVyIHVzYWdlCgoyMDEyLTA5LTI0IDEyOjMyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgY2FwcyBjaGFuZ2VzCgoyMDEyLTA5LTI0IDEyOjI3OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNb3JlIGNsZWFudXAgYW5kIG1ha2luZyB0aGUgZWxlbWVudCByZXVzYWJsZQoKMjAxMi0wOS0yNCAxMjowNToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUHJvcGVybHkgaW5pdC9yZWxlYXNlIHJlc291cmNlcyB3aGVuIGdvaW5nIGZyb20gTlVMTC0+UkVBRFkgYW5kIHRoZSBvdGhlciB3YXkgYXJvdW5kCgoyMDEyLTA5LTI0IDExOjQ4OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBHZW5lcmF0ZSB0aGUgc2luayBjYXBzIGV4YWN0bHkgb25jZQoKMjAxMi0wOS0yNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IGNvZGUgc3R5bGUgYSBiaXQgdG8gc3RvcCBjb25mdXNpbmcgaW5kZW50CgoyMDEyLTA5LTI0IDExOjE1OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggc3VwcG9ydCBmb3IgWVVZMiBhbmQgVVlWWQoKMjAxMi0wOS0yNCAxMTowMToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU29tZSBwcm9wZXJ0eSBjbGVhbnVwCgoyMDEyLTA5LTI0IDEwOjQ1OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgdGhlIHJlbWFpbmluZyBSR0IgZm9ybWF0cwoKMjAxMi0wOS0yNCAxMDoyMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFk0NDQsIFk0MkIgYW5kIFk0MUIsIGp1c3QgYmVjYXVzZSBpdCdzIHNvIGVhc3kKCjIwMTItMDktMjQgMTA6MDI6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFkZCBzb21lIHNpbXBsZSBUT0RPcwoKMjAxMi0wOS0yNCAwMTowODoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBMb2NrIHdoaWxlIGFsdGVyaW5nIGRpc3BsYXkgcmVnaW9uIGNvb3JkcwoKMjAxMi0wOS0yNCAwMDoyNzoyMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggX2dldF9jb21wYXRfZm9ybWF0X2Zyb21fY2FwcygpIGxvZ2ljCgkgIEl0J3MgYSBnZXR0ZXIgc28gaXQgc2hvdWxkbid0IG1lc3Npbmcgd2l0aCB0aGUgc2luayBjb250ZXh0LgoJICBBZGRpbmcgaW5zdWx0IHRvIGluanVyeSBpdCB3YXMgc2V0dGluZyBzZWxlY3RlZF9mbXQgd2l0aG91dAoJICBsb2NraW5nLgoJICBUaGUgYXNzb2NpYXRlZCBjaGFuZ2VzIHRvIHRoZSBidWZmZXIgZnVuY3Rpb25zIGFyZSBtZXJlbHkKCSAgbWFrZS1pdCBidWlsZCBmaXhlcy4gVGhvc2UgZnVuY3Rpb25zIGFyZSBiYXJlbHkgZHJhZnRlZAoJICBhbmQgaW4gV0lQIHN0YXRlLgoKMjAxMi0wOS0yMyAyMzowNzoyOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHVubmVkZWQgaW5pdGlhbCBzZXQgdG8gTlVMTAoKMjAxMi0wOS0yMyAyMjozMzo1OCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBNaW5vciBmb3JtYXR0aW5nIGFuZCBjb21tZW50IGZpeGVzCgoyMDEyLTA5LTIxIDEyOjEyOjI0IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IENsZWFuLXVwIGdsL2VnbCBhbGxvY2F0aW9ucyBhdCBfc3RvcCgpCgkgIEFsc28sIGNvbmRpdGlvbmFseSBkZXN0cm95IHdpbmRvdyBpZiB0aGUgc2luayBjcmVhdGVkIGl0cyBvd24uCgoyMDEyLTA5LTIxIDE3OjA4OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgTlYxMiBhbmQgTlYyMQoJICBBbHNvIFlVWTIgYW5kIFVZVlkgYnV0IHRoaXMgaXMgZGlzYWJsZWQgZm9yIG5vdyBhcyBpdAoJICBkb2Vzbid0IHdvcmsgY29tcGxldGVseSB5ZXQuIFNvbWV0aGluZyBpcyB3cm9uZyB3aXRoCgkgIHRoZSBjaHJvbWEuCgoyMDEyLTA5LTIxIDE1OjQ0OjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgSTQyMCBhbmQgWVYxMiBjb2xvciBmb3JtYXRzCgoyMDEyLTA5LTIxIDE0OjA1OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBQcmVwYXJhdGlvbnMgZm9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgdGV4dHVyZXMgZm9yIG1vcmUgWVVWIGZvcm1hdHMKCjIwMTItMDktMjEgMTM6NDI6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IFVzZSB0aGUgYXR0cmliIGxvY2F0aW9ucyBhcyByZWFsbHkgdXNlZCBpbnNpZGUgdGhlIHNoYWRlcgoKMjAxMi0wOS0yMSAxMjo1MzowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVhbGx5IGRlY291cGxlIHZlcnRleCBhbmQgdGV4dHVyZSBwb3NpdGlvbnMgaW4gdGhlIHNoYWRlcgoKMjAxMi0wOS0yMSAxMjo0NToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogRGVjb3VwbGUgdGV4dHVyZSBhbmQgdmVydGV4IHBvc2l0aW9ucwoKMjAxMi0wOS0yMSAxMjoxNDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciB2ZXJ0ZXggdmFsdWUgb3JkZXIgdG8gbWFrZSBhIGJpdCBtb3JlIHNlbnNlCgoyMDEyLTA5LTIxIDAxOjA5OjExIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEhhbmRsZSBmcmFtZSBzY2FsaW5nIHRvIGZpbGwgc3VyZmFjZQoKMjAxMi0wOS0yMSAwMDowOTowNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBEcmFmdCBzZXRfcmVuZGVyX3JlY3RhbmdsZSgpIGZyb20gdGhlIHhPdmVybGF5IGludGVyZmFjZQoKMjAxMi0wOS0yMCAyMjo1MDozMSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBSZW1vdmUgc3RhbGUgY29tbWVudAoKMjAxMi0wOS0yMCAyMjo0MToxMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIFZCTyBzZXR1cCB0byBzZXRjYXBzCgoyMDEyLTA5LTIwIDIyOjExOjA4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IERvbid0IGRvIGNvbnRleHQgb3BzIGF0IHJlbmRlcgoJICBXZSBkb24ndCBuZWVkIHRvIHJlcGVhdGVkbHkgY2FsbAoJICBlZ2xNYWtlQ3VycmVudCgpIHdoaWxlIHVzaW5nIHRoZQoJICBzYW1lIGNvbnRleHQgYW55d2F5LgoKMjAxMi0wOS0yMCAyMjowMToyMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEb24ndCBjbGVhciBzdXJmYWNlIGNvbG9yIGF0IHJlbmRlcgoKMjAxMi0wOS0yMCAxNzoyMjoxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVuYW1lIHNoYWRlciB2YXJpYWJsZXMgdG8gbWFrZSBtb3JlIHNlbnNlCgoyMDEyLTA5LTIwIDE3OjE0OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgc3VwcG9ydCBmb3IgQVlVVgoKMjAxMi0wOS0yMCAxNzowMjowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogUmVvcmRlciBjYXBzIGEgYml0IHRvIG1ha2UgbW9yZSBzZW5zZQoKMjAxMi0wOS0yMCAxNjo1MDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogU2V0IHJhbmsgdG8gUFJJTUFSWQoKMjAxMi0wOS0yMCAxNjoyNTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHN1cHBvcnQgZm9yIFJHQkEKCjIwMTItMDktMjAgMTY6MjE6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IENvcnJlY3RseSBnZW5lcmF0ZWQgY2FwcyBmb3IgdGhlIHN1cHBvcnRlZCBmb3JtYXRzCgoyMDEyLTA5LTIwIDE2OjA4OjI4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgOjpnZXRfY2FwcygpIHZmdW5jIHRoYXQgcmV0dXJucyB0aGUgYWN0dWFsbHkgc3VwcG9ydGVkIGNhcHMKCjIwMTItMDktMjAgMTU6NTY6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEFsc28gcmVxdWlyZSBhIGNvbmZpZ3VyYXRpb24gd2l0aCBFR0xfU1VSRkFDRV9UWVBFIGNvbnRhaW5pbmcgRUdMX1dJTkRPV19CSVQKCjIwMTItMDktMjAgMTQ6NTA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMi0wOS0xOSAxOToyNjo1NCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDbGVhciBzdXJmYWNlIHRvIGJsYWNrIGJ5IGRlZmF1bHQKCjIwMTItMDktMTkgMTk6MjM6NTAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogTWFrZSBzdXJlIHdlIGdldCBhIGNvbmZpZyB3ZSBjYW4gdXNlIHdpdGggR0xFUzIKCjIwMTItMDktMTkgMTk6MTI6MzAgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogc2V0X3dpbmRvd19oYW5kbGUoKSBoYXMgYmVlbiB0ZXN0ZWQgdG8gd29yayBub3cKCjIwMTItMDktMTkgMTI6Mjk6MTMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgYXV0b3NjYWxpbmcgYnkgZGVmYXVsdAoKMjAxMi0wOS0xOCAxNDo1ODo0MyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBdm9pZCByZXBlYXRlZGx5IHNldHRpbmcgMkQgcmVzaXppbmcgcGFyYW1zCgkgIE1vdmVkIHRvIGluaXRpYWwgdGV4dHVyZSBzZXR1cCBzbyBpdCBoYXBlbnMKCSAganVzdCBvbmNlIHdoaWxlIG9uIHRoZSBzYW1lIGNvbnRleHQuCgoyMDEyLTA5LTE4IDEyOjA0OjIwIC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEF2b2lkIGluaXRpYWxpemluZyBFR0wgYXQgX3NldF93aW5kb3dfaGFuZGxlKCkKCSAgX3N0YXJ0KCkgc2hvdWxkIHRha2UgY2FyZSBvZiB0aGF0LgoJICBUaGlzIGNoYW5nZSBhc3VtZXMgX3NldGNhcHMoKSB3aWxsCgkgIGhhcHBlbiBhbHdheXMgYWZ0ZXIgX3N0YXJ0KCkgaXMKCSAgZG9uZS4KCjIwMTItMDktMTggMTA6NDM6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRG9uJ3QgYXNrIGZvciBhIHdpbmRvdyBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lCgoyMDEyLTA5LTE4IDEwOjMxOjI2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBFR0wgYXR0cmlicyB2YXIgbmFtaW5nCgoyMDEyLTA5LTE4IDAyOjMyOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzbG93IHBhdGggcmVuZGVyaW5nIG9uIEFuZHJvaWQKCSAgU3BlY2lmeSBtaXNzaW5nIGFuZCBtYW5kYXRvcnkgcGFyYW1zIGZvciBucG90CgkgIEJlZm9yZSBjYWxsaW5nIGdsVGV4SW1hZ2UyRC4KCSAgSW4gcGFydGljdWxhciwgX1dSQVBfVCBhbmQgX1dSQVBfUyBuZWVkIHRvIGJlCgkgIHNldCB0byBHTF9DTEFNUF9UT19FREdFIHRvIGF2b2lkIGFsbC1ibGFjawoJICByZW5kZXJpbmcgd2l0aCBucG90IHNpemVkIGZyYW1lcy4KCjIwMTItMDktMTggMDA6NTE6MzYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHRlc3Qgb24gdXNhYmxlIGVnbGNvbmZpZ3MgcmV0dXJuZWQKCjIwMTItMDktMTcgMjM6MDU6MjkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRHJvcCBzdGFsZSBlcnJvcl9sb2NrZWQgbGFiZWwKCjIwMTItMDktMTcgMjM6MDQ6MDUgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQ2xlYW51cCBzdGFsZSBjb2RlIGNvbW1lbnRzCgoyMDEyLTA5LTE3IDE4OjAwOjE2IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEdsVmlld1BvcnQoKSBzaG91bGQgdXNlIGFjdHVhbCBzdXJmYWNlIHNpemUKCjIwMTItMDktMTcgMTc6MjE6MjYgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQXZvaWQgcmVpbml0aW5nIEVHTCBhZnRlciB0aGUgZmlyc3QgdGltZQoKMjAxMi0wOS0xNyAxMzo0NDowOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBVc2UgY29ycmVjdCB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTA5LTE3IDEyOjU0OjA1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEZpeCBtaXNzaW5nIHRleHR1cmUgc2V0dXAgYml0cwoKMjAxMi0wOS0xNyAxMTo1NzoyNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgZXJyb3IgY2hlY2tpbmcgb24gZWdsU3dhcEJ1ZmZlcnMKCjIwMTItMDktMTcgMTE6NDA6NDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHN0YWxlJndyb25nIDAuNSBhbHBoYSBibGVuZAoKMjAxMi0wOS0xNyAxMDo1NjoxNCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBBZGQgZmxvYXQgcHJlY2lzaW9uIHNwZWNpZmllciB0byBmcmFnbWVudCBzaGFkZXIKCSAgVGhpcyBpcyByZXF1aXJlZCBieSBHTEVTIGFuZCBmaXhlcyBjb21waWxhdGlvbiBvZiBmcmFnbWVudAoJICBzaGFkZXIgcHJvZy4KCjIwMTItMDktMTcgMTA6NDc6MzkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIGxvZyByZXBvcnRpbmcgYXQgc2hhZGVyIGNvbXBpbGF0aW9uIGZhaWx1cmUKCjIwMTItMDktMTYgMjI6NDM6MzggLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWRkIHNvbWUgbWlzc2luZyBjaGVja3Mgb24gc2hhZGVyIG9wcwoJICAtIENoZWNrIHdoZXRoZXIgdGhlcmUgaXMgc2hhZGVyIGNvbXBpbGVyIHN1cHBvcnQKCSAgYW5kIGJhaWwgb3V0IG90aGVyd2lzZS4KCSAgLSBBZGQgY2hlY2tzIG9uIGNvbXBpbGUgYW5kIGxpbmtpbmcgb3BzCgoyMDEyLTA5LTE0IDIwOjQ5OjQ4IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuaDoKCSAgZWdsZ2xlc3Npbms6IEZpeCBzZXR1cCBjaGFpbiBsb2dpYwoJICBNb3N0bHkgYSBwcm9jZWR1cmFsIHJlb3JkZXJpbmcuIElkZWEgaXMgdG8gYXZvaWQKCSAgdHJ5aW5nIHRvIHNldHVwIGEgc3VyZmFjZSB3aXRob3V0IGEgZGlzcGxheS5UaGlzCgkgIGNoYW5nZSByZWxpZXMgb24gdGhlIGFzdW1wdGlvbiB0aGF0OgoJICAxLi0gc2V0X3dpbmRvd19oYW5kbGUoKSBjYW4gaGFwcGVuIGF0IGFueSB0aW1lCgkgIDIuLSBzZXRjYXBzIHdpbGwgbmV2ZXIgZ2V0IGNhbGxlZCBiZWZvcmUgX3N0YXJ0KCkKCSAgaXMgZG9uZS4KCSAgSWYgYm90aCBjb25kaXRpb25zIGFyZSBtZWV0IHRoZSBuZXcgcHJvY2VkdXJlCgkgIHNob3VsZCB3b3JrIGFzIGV4cGVjdGVkLgoKMjAxMi0wOS0xNCAxNTo1OTowNSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBXSVA6IFJlb3JkZXIgbG9ja2luZwoKMjAxMi0wOS0xMyAyMzoyMzowOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggeE92ZXJsYXkgbG9naWMKCSAgU2V2ZXJhbCBmaXhlcyBkZWFsaW5nIHdpdGggY29ycmVjdCB3aW5kb3cKCSAgY3JlYXRpb24gYW5kIHNldF9oYW5kbGUoKSBvcHMuIFRlc3RlZCBvbgoJICBYMTEvbWVzYSB3aXRoIGludGVybmFsIHdpbmRvdyBjcmVhdGlvbi4KCjIwMTItMDktMTMgMDA6NTU6MzMgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogQWN0dWFsbHkgdGVzdCBFR0wgY29uZmlncyBiZWZvcmUgY2xhaW1pbmcgc3VwcG9ydAoKMjAxMi0wOS0xMyAwMDoxMTo0OSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDYXBzIG5lZ28gRUdMIGZpeGVzCgkgIC0gRml4IGFsbG9jIGxvbCBvbiBmb3JtYXQgbGlzdDogQXNrZWQgZm9yIDIgc2xpY2VzIGFuZCB1c2VkIDMuCgkgIC0gUmVvcmRlcmVkIGRpc3BsYXkgJiBjb250ZXh0IGluaXQgbG9naWMgdG8gcHJlcGFyZSBmb3IgYWN0dWFsCgkgIGNvbmZpZyBjaGVja2luZyBiZWZvcmUgY2xhaW1pbmcgc3VwcG9ydCBmb3IgYSBnaXZlbiBmb3JtYXQuCgkgIENoYW5nZSBkZWFscyBiYXNpY2FsbHkgd2l0aCBzZXR0aW5nIHVwIEVHTCBkaXNwbGF5IGF0IHN0YXJ0KCkKCSAgYW5kIGNob29zZSBhbiBFR0wgY29uZmlnIG9ubHkgYXQgc2V0Y2FwcyB0aW1lLgoKMjAxMi0wOS0xMiAyMjoxMTozOSAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBDYXBzIG5lZ28uIFN0YXJ0IGV4dGVuZGluZyBSR0Igc3VwcG9ydCB0byBhIHNldC4KCjIwMTItMDktMTIgMTY6MTk6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2VnbGdsZXMvTWFrZWZpbGUuYW06CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggYnVpbGQgb2Ygc3RhdGljIHBsdWdpbgoKMjAxMi0wOS0xMiAwOToyODoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBEcm9wIHdyb25nIGZvcm1hdCB0ZXN0IG9uIF9zZXRjYXBzIChkcmFmdCBsZWZ0b3ZlcikKCjIwMTItMDktMTEgMTM6NTQ6MDkgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogU3VwcG9ydCBSR0IyNCBieSBkZWZhdWx0CgoyMDEyLTA5LTExIDEzOjUxOjI1IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogZXh0L2VnbGdsZXMvZ3N0ZWdsZ2xlc3NpbmsuYzoKCSAgZWdsZ2xlc3Npbms6IEluc3RydW1lbnQgRUdMIGVycm9yIHJlcG9ydGluZwoKMjAxMi0wOS0xMSAxMjowNDozMCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBDb3JyZWN0bHkgcmV0dXJuIEdzdEZsb3dSZXR1cm4gZnJvbSByZW5kZXJfYW5kX2Rpc3BsYXkoKQoKMjAxMi0wOS0xMSAxMTo1MToyOCAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBNb3ZlIFZCTyBzZXR1cCB0byBpdCdzIG93biBmdW5jdGlvbgoKMjAxMi0wOS0xMSAxMDoyMDoxNiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkgIGVnbGdsZXNzaW5rOiBGaXggcmVuZGVyX2FuZF9kaXNwbGF5IGxvZ2ljCgkgIFN3aXRjaCBwcm9jZWR1cmUgYWNjb3JkaW5nIHRvIGVuYWJsZWQgcmVuZGVyaW5nIHBhdGgKCjIwMTItMDktMTAgMjI6NTk6NTcgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJICBlZ2xnbGVzc2luazogRml4IHNhbXBsZSBsYXVuY2ggbGluZSB3aXRoIGRpc2FibGVkIHdpbmRvdyBjcmVhdGlvbgoKMjAxMi0wOS0xMCAyMjo0MTo1MiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmM6CgkqIGV4dC9lZ2xnbGVzL2dzdGVnbGdsZXNzaW5rLmg6CgkgIGVnbGdsZXNzaW5rOiBSZW5hbWUgc3RhbGUgYW5kcm9pZCBsZWZ0b3ZlcgoKMjAxMi0wOS0xMCAyMDoyMjoyMiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3RlZ2xnbGVzc2luay5oOgoJICBlZ2xnbGVzc2luazogTW92ZSBlZ2xnbGVzIFNpbmsgdG8gZXh0LyAjMgoKMjAxMi0wOS0xMCAyMDowMDo1NyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGV4dC9lZ2xnbGVzL0FuZHJvaWQubWs6CgkqIGV4dC9lZ2xnbGVzL01ha2VmaWxlLmFtOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5jOgoJKiBleHQvZWdsZ2xlcy9nc3R2aWRyb2lkc2luay5oOgoJKiBleHQvZWdsZ2xlcy92aWRlb19wbGF0Zm9ybV93cmFwcGVyLmM6CgkqIGV4dC9lZ2xnbGVzL3ZpZGVvX3BsYXRmb3JtX3dyYXBwZXIuaDoKCSAgZWdsZ2xlc3Npbms6IE1vdmUgZWdsZ2xlcyBTaW5rIHRvIGV4dC8KCjIwMTItMTAtMTggMTQ6MDM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBvcGVuc2xlczogQWRkIHRoZSBvcGVuc2xlcyBwbHVnaW4gdG8gdGhlIGxpc3Qgb2Ygbm90IHBvcnRlZCBwbHVnaW5zCgoyMDEyLTEwLTE4IDEzOjU2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkgIG9wZW5zbGVzOiBJbnRlZ3JhdGUgaW50byBidWlsZCBzeXN0ZW0KCjIwMTItMTAtMTIgMTA6MDg6NTkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXNzaW5rOiBSZXR1cm4gMCBkZWxheSBpZiB0aGUgcGxheWVyIG9iamVjdCBpcyBpbiBQQVVTRUQgc3RhdGUKCjIwMTItMTAtMDEgMTI6NTQ6MTUgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogZml4ZXMgbm9pc2Ugb24gc2Vla2VpbmcKCjIwMTItMTAtMDEgMTE6NDY6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IGNoYWluIHVwIG9uIF9jbGVhcl9hbGwKCjIwMTItMTAtMDEgMTE6MTQ6MjQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogaW1wbGVtZW50IHRoZSByaW5nYnVmZmVyIGNsZWFyX2FsbCB2bWV0aG9kIHRvbwoKMjAxMi0xMC0wMSAxMDo1OTowOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IGluaXRpYWwgYXR0ZW1wdCB0byByZWR1Y2UgdGhlIHNyYyBsYXRlbmN5CgoyMDEyLTA5LTI5IDE5OjAwOjEzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuYzoKCSAgb3BlbnNsZXM6IHNwcmlua2xlIGNvbW1lbnRzIGFuZCBjb3NtZXRpYyBmaXhlcwoKMjAxMi0wOS0yOCAxNToxMDoxOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogY2hlY2sgZm9yIGRldmljZSBvdXRwdXRzIGluIHRoZSBtaXhlcgoKMjAxMi0wOS0yOCAxNDozOTowMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZHJvcCA0OGtIeiBzYW1wbGUgcmF0ZQoJICBPcGVuU0wgRVMgaW1wbGVtZW50YXRpb24gaW4gQW5kcm9pZCBpcyBqdXN0IGEgJ2ZhY2FkZScgQVBJIG9uIHRvcCBvZgoJICBBdWRpb0ZsaW5nZXIgd2hpY2ggd2lsbCBkb3duc2FtcGxlIDQ4a0h6IGludG8gNDQuMWtIeiBiZWZvcmUKCSAgZGVsaXZlcmluZyB0aGUgYXVkaW8gdG8gdGhlIHVuZGVybGF5aW5nIGhhcmR3YXJlLgoJICBXZSBmb3VuZCB0aGF0IGl0IHN1ZmZlciBzb21lIHNvcnQgb2YgdW5kZXJydW4gd2hlbiB0aGUgZG93bnNhbXBsZQoJICBlbnRlcnMgaW4gYWN0aW9uIHNvIHJlbGF5IG9uIG91ciBnb29kIHJlc2FtcGxlciB0byB0YWtlIGNhcmUgb2YgdGhhdAoJICBhbmQgZml4IHRoZSBjbGlja3MgaXNzdWUuIEFuZCBnZXQgYW4gZXh0cmEgYm9udXMgb2YgYSBsb3dlciBsYXRlbmN5LgoKMjAxMi0wOS0yNyAxOToyNDo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogY2hhbmdlIHRoZSBkZWZhdWx0cyB0byB1c2UgMjAgbXMgcmluZ2J1ZmZlciBzZWdtZW50cwoJICBJbiBteSBuZXh1czcgc2VlbXMgdGhhdCB0aGUgaW50ZXJuYWwgbWluIGJ1ZmZlciBzaXplIGlzIDIwIG1zIHNvIG1ha2UKCSAgb3VyIHNlZ21lbnRzIG1hdGNoLgoKMjAxMi0wOS0yNyAxODozMzowOSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiBlbnN1cmUgdGhhdCB3ZSByZWdpc3RlciB0aGUgY2FsbGJhY2sgb25seSBpbiBTVE9QUEVECgkgIEZpeGVzIHRoZSBlcnJvciByZWdpc3RlcmluZyB0aGUgY2FsbGJhY2sgb24gdGhlIFBMQVlJTkcgLT4gUEFVU0UgLT4KCSAgUExBWUlORyBzdGF0ZSBjaGFuZ2Ugc2VxdWVuY2UuCgoyMDEyLTA5LTI3IDE3OjQ2OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBjYXAgcXVldWUgc2l6ZQoJICBKdXN0IGluIGNhc2Ugd2Ugd2FudCB0byB0d2VhayB0aGUgc2luayBiZWhhdmlvdXIgd2l0aCBidWZmZXItdGltZSBhbmQKCSAgbGF0ZW5jeS10aW1lIHByb3BlcnRpZXMgY2FwIHRoZSBxdWV1ZSBzaXplIHRvIHNvbWV0aGluZyByZWFzb25hYmxlLgoKMjAxMi0wOS0yNyAxNzozMjoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogc2luayB0byBwcm92aWRlIHRoZSBhdWRpb2Nsb2NrIGJ5IGRlZmF1bHQKCjIwMTItMDktMjcgMTc6Mjc6MjQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IG9ubHkgZHJhaW4gaGFsZiByaW5nYnVmZmVyIG9uIHN0YXJ0CgkgIEF0IHN0YXJ0IGRyYWluIGhhbGYgcmluZ2J1ZmZlciBpbnRvIHRoZSBPcGVuU0wgc28gdGhlIHdyaXR0aW5nL3JlYWRpbmcKCSAgcG9pbnRlcnMgd2lsbCBzdGFydCBhdCBoYWxmIHJpbmdidWZmZXIgZGlzdGFuY2UuCgoyMDEyLTA5LTI3IDE0OjUyOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBtb25pdG9yIHNvbWUgcGxheWVyIGV2ZW50cwoKMjAxMi0wOS0yNyAwNzoyMjo0NyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZXdvcmsgYXJvdW5kIHRoZSBfZGVsYXkgZnVuY3Rpb24KCjIwMTItMDktMjcgMDU6NDA6NDYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJICBvcGVuc2xlczogaW1wbGVtZW50IF9kZWxheSBmdW5jdGlvbgoKMjAxMi0wOS0yNyAwNDowMDoyOCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmg6CgkgIG9wZW5zbGVzOiByZWZhY3RvciB0byBiZWhhdmUgbW9yZSBsaWtlIG90aGVyIHNpbmtzCgkgIFJlZmxlY3QgdGhlIHF1ZXVlIGluIG91ciBvd24gZGF0YSBidWZmZXIuCgkgIERyb3AgdGhlIF9jb21taXQgaG9vayB0aGF0IHdhc24ndCB1c2VmdWxsLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlZ3NpemUvc2VndG90YWwuCgoyMDEyLTA5LTI2IDE0OjAxOjE3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiByZWFkIHBsYXllciBwb3NpdGlvbiBhbmQgc2hvdyBpdCBpbiB0aGUgbG9nCgoyMDEyLTA5LTI2IDEyOjUwOjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkgIG9wZW5zbGVzOiBkbyBub3QgcHJvdmlkZSBhIGNsb2NrIGluIHRoZSBzaW5rIGVsZW1lbnQuCgoyMDEyLTA5LTI2IDEyOjMyOjQ0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiByZXdvcmsgb24gc3RhcnQvc3RvcCBvcGVyYXRpb25zIGFuZCBjYWxsYmFjayBmdW5jdGlvbiBoYW5kbGluZwoKMjAxMi0wOS0yNiAxMjowOTowNCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJICBvcGVuc2xlczogZml4ZXMgOCBiaXQgZm9ybWF0IHdoaWNoIGlzIHVuc2lnbmVkIG9uIGFuZHJvaWQuCgoyMDEyLTA5LTI1IDE5OjI1OjAxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkgIG9wZW5zbGVzOiBhdHRlbXB0IHRvIHJlZHVjZSBwbGF5YmFjayBsYXRlbmN5CgoyMDEyLTA5LTI1IDE4OjA0OjI3ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IGRyb3AgX2J1ZmZlcl9jbGVhciBjYWxscyBhbmQgcmVmYWN0b3IgdG8gYSBzaGFyZWQgX2VucXVldWVfY2IKCjIwMTItMDktMjEgMTc6MDQ6MTQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSAgb3BlbnNsZXM6IHVzZSAwLjI1cyBzZWdtZW50cyBpbiB0aGUgc2luayB0byBsb3dlciBsYXRlbmN5CgoyMDEyLTA5LTIxIDE2OjExOjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJICBvcGVuc2xlczogZmluaXNoIHJlbWFpbmluZyBiaXRzIGZvciBzb3VyY2UgZWxlbWVudC4KCjIwMTItMDktMjEgMTQ6MTU6MTIgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuYzoKCSAgb3BlbnNsZXM6IGF0dGVtcHQgdG8gcXVlcnkgZGV2aWNlIGZvciBjYXBhYmlsaXRpZXMKCjIwMTItMDktMjAgMTg6NDE6NTAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkgIG9wZW5zbGVzOiBhZGQgdGhlIG11dGUgcHJvcGVydHkgYW5kIGhhbmRsZSB2b2x1bWUvbXV0ZSBjaGFuZ2VzIG9uIHRoZSBmbHkKCjIwMTItMDktMjAgMTg6MDQ6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSAgb3BlbnNsZXM6IG1ha2UgdGhlIHZvbHVtZSBwcm9wZXJ0eSBhY3R1YWxseSB3b3JrCgoyMDEyLTA5LTIwIDE0OjE2OjI1ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSAgb3BlbnNsZXM6IHJld29yayBvbiB0aGUgcmluZ2J1ZmZmZXIgdG8gcHJvcGVybHkgY2xlYXIgc2VnbWVudHMKCSAgTWFrZSB0aGUgc2VnbWVudHMgYmlnZ2VyICgxIHNlY29uZCkgYXMgaXQgc2VlbXMgdG8gYmUgdGhlIG1pbmltdW0gc2l6ZQoJICB3ZSBuZWVkIHRvIG5vdCBpbnRyb2R1Y2Ugbm9pc2UuCgkgIFNpbmsgd29ya3MgaW4gbXkgbmV4dXMgNyB3aXRoIHJhdGVzIGZyb20gODAwMCB0byA0NDEwMCBhbmQgc29tZSBub2lzZQoJICBjYW4gYmUgbm90aWNlZCBvbiBoaWdnZXIgc2FtcGxlIHJhdGVzLgoKMjAxMi0wOS0yMCAxMTo1MDo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuYzoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5oOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NpbmsuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc3JjLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5oOgoJICBvcGVuc2xlczogZml4ZXMgdGhlIGxpY2Vuc2UgaGVhZGVycwoKMjAxMi0wOS0yMCAxMDo0MTo1MCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzcmluZ2J1ZmZlci5jOgoJICBvcGVuc2xlczogcHJvZHVjZXMgZXhwZWN0ZWQgb3V0cHV0IHVudGlsIHJpbmdidWZmZXIgd3JhcHMKCSAgQWRkIHNvbWUgbG9nIG1lc3NhZ2VzLgoJICBGaXhlZCBhIGJpdCB0aGUgX3BsYXllcl9jYiBmdW5jdGlvbiBhbmQgcHJvcGVybHkgYWR2YW5jZSByZWRpbmcgaW4gdGhlCgkgIHJpbmdidWZmZXIuCgkgIFN0aWxsIHByb2R1Y2VzIG5vaXNlIHdoZW4gdGhlIHJpbmdidWZmZXIgd3JhcHMuCgoyMDEyLTA5LTE5IDE4OjExOjU0ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBzeXMvb3BlbnNsZXMvTWFrZWZpbGUuYW06CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlcy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNyaW5nYnVmZmVyLmM6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3JpbmdidWZmZXIuaDoKCSogc3lzL29wZW5zbGVzL29wZW5zbGVzc2luay5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzaW5rLmg6CgkqIHN5cy9vcGVuc2xlcy9vcGVuc2xlc3NyYy5jOgoJKiBzeXMvb3BlbnNsZXMvb3BlbnNsZXNzcmMuaDoKCSAgb3BlbnNsZXM6IEFkZCBpbml0aWFsIGRyYWZ0IGltcGxlbWVudGF0aW9uIG9mIE9wZW5TTCBFUyBwbHVnaW4uCgkgIEluaXRpYWwgZHJhZnQgaW1wbGVtZW50YXRpb24gZm9yIGEgT3BlblNMIEVTIGJhc2VkIHBsdWdpbiBmb3IgQW5kcm9pZAoJICB0aGF0IHByb3ZpZGVzIGF1ZGlvIHNyYyBhbmQgc2luay4KCjIwMTItMTAtMTggMDk6MjQ6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICBhbmRyb2lkbWVkaWE6IFVzZSBjb3JyZWN0IHZhcmlhYmxlIG5hbWUgaW4gTWFrZWZpbGUuYW0KCjIwMTItMTAtMTcgMjI6NTQ6MjggKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBGaXggY29tcGlsZXIgd2FybmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjczNDE0CgoyMDEyLTEwLTE3IDE3OjM0OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvamFzcGVyL2dzdGphc3BlcmVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc3JjLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmxhcGxhY2UuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi9nc3R0ZXh0b3ZlcmxheS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNkZXBheS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NpbmsuYzoKCSogZXh0L3NuZGlvL3NuZGlvc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9mcmVldmVyYi9nc3RmcmVldmVyYi5jOgoJKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGJ1bGdlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHJvdGF0ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0dW5uZWwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHdhdGVycmlwcGxlLmM6CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzc2luay5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc3JjLmM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJKiBnc3Qvc3ViZW5jL2dzdHdlYnZ0dGVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9tanBnZGVtdXguYzoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NF9zcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnNC9nc3R2ZHBtcGVnNGRlYy5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9zdGF0aWNfbWV0YWRhdGEoKQoJICB3aGVyZSBwb3NzaWJsZS4gQXZvaWRzIHNvbWUgc3RyaW5nIGNvcGllcy4gQWxzbyByZS1pbmRlbnQKCSAgc29tZSBzdHVmZi4gQWxzbyBzb21lIGluZGVudCBmaXhlcyBoZXJlIGFuZCB0aGVyZS4KCjIwMTItMDQtMDMgMTI6MDk6MTkgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IHBvcnQgdG8gMS4wCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzM0MTQKCjIwMTItMTAtMTYgMTE6Mzg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoKMjAxMi0xMC0xNiAxMTozNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJldmVydCAiY29uZmlndXJlOiBmaXggYnVpbGQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWMxYzM1MjkwZDdmNzJhNGJjMDE2ZThhZWYyNzZkOGMxYmRjZjM3Yi4KCjIwMTItMTAtMTYgMTE6MzE6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgbWlzc2luZyBmaWxlCgoyMDEyLTEwLTE2IDExOjMyOjAwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBidWlsZAoKMjAxMi0xMC0xNSAxNjozNTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBhbmRyb2lkbWVkaWE6IFJlbmFtZSBwbHVnaW4KCjIwMTItMTAtMTUgMTY6Mjk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBhbmRyb2lkbWVkaWE6IEFkZCB0byB0aGUgbm90IHlldCBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0xMC0xNSAxNjowNTozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgYW5kcm9pZG1lZGlhOiBNYWtlIGV2ZXJ5dGhpbmcgYnVpbGRhYmxlCgoyMDEyLTEwLTE1IDE0OjM2OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIERvbid0IHRyeSB0byB1c2UgdGhlIE5WaWRpYSBEUk0gY29kZWNzCgoyMDEyLTEwLTA5IDEwOjU2OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBUcnkgdG8gaGFuZGxlIGZvcm1hdCBjaGFuZ2VzIG1vcmUgZ3JhY2VmdWxseQoJICBBbmQgbWFrZSBzdG9wKCkgZmFzdGVyIGFuZCBtb3JlIHJvYnVzdAoKMjAxMi0xMC0wOSAxMDoyNzozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgQWRkIHdvcmthcm91bmQgZm9yIEdvb2dsZSBNUDMgZGVjb2RlciBvdXRwdXR0aW5nIGdhcmJhZ2UgaW4gZmlyc3Qgb3V0cHV0IGJ1ZmZlcgoJICBBbmQgYXNzdW1lIG9uZSBkZWNvZGVkIGlucHV0IGZyYW1lIHBlciBvdXRwdXQgYnVmZmVyIHRvIGZpeCB0aW1lc3RhbXAKCSAgaGFuZGxpbmcgYnkgdGhlIGJhc2UgY2xhc3MuCgoyMDEyLTEwLTA5IDEwOjE0OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWxzbyBhZGQgc29tZSBtb3JlIG91dHB1dCBmb3JtYXQgY2hlY2tzIHRvIHRoZSBhdWRpbyBkZWNvZGVyCgoyMDEyLTEwLTA5IDEwOjEzOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQ2hlY2sgb3V0cHV0IGZvcm1hdCBtZXRhZGF0YSBzb21lIG1vcmUKCSAgQW5kIGltcGxlbWVudCB3b3JrYXJvdW5kIGZvciBOVmlkaWEgVGVncmEgMyBub3Qgc2V0dGluZyB0aGUgc2xpY2VfaGVpZ2h0LgoJICBUaGFua3MgdG8gSm9zZXAgVG9ycmEgZm9yIGRlYnVnZ2luZyB0aGlzIGlzc3VlLgoKMjAxMi0xMC0wNSAxNTowOToxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgc29tZSBtb3JlIGRlZmF1bHQgY2hhbm5lbCBsYXlvdXRzLCB0aGVzZSBzaG91bGQgYmUgZ29vZCBmb3IgQUFDIGF0IGxlYXN0CgoyMDEyLTEwLTA1IDE0OjU2OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgRG9uJ3Qgc2V0IHRpbWVzdGFtcHMsIHRoZSBiYXNlY2xhc3MgaGFuZGxlcyB0aGlzIGZvciB1cyBhbnl3YXkKCjIwMTItMTAtMDMgMTA6MDY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBMaXN0IHByb2ZpbGVzIGluIHJldmVyc2UgdG8gbWluaW1pemUgY2FwcwoKMjAxMi0xMC0wMyAwOTo1Njo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEl0ZXJhdGUgbGV2ZWxzIGluIHJldmVyc2Ugb3JkZXIgdG8gbWluaW1pemUgY2FwcwoKMjAxMi0xMC0wMyAwOTo1MTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgTWVyZ2Ugc3RydWN0dXJlcyBpbnRvIGNhcHMgaW5zdGVhZCBvZiBhcHBlbmRpbmcgdGhlbQoKMjAxMi0wOS0yNSAxMDozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgVXNlIG9yY19tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0IHNob3VsZCBiZSBmYXN0ZXIgZm9yIGxhcmdlciBtZW1vcnkgYXJlYXMKCjIwMTItMDktMjQgMTU6MzI6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgYXVkaW8vbXBlZy1MMiBmb3IgdGhlIE5leHVzIDcKCjIwMTItMDktMjQgMTU6MTQ6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgc3VwcG9ydCBmb3IgTVBFRzEvMiB2aWRlbwoKMjAxMi0wOS0xOSAxNDo1MjoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJZ25vcmUgdGhlICpsYXcgYW5kIFZvcmJpcyBkZWNvZGVycwoJICBUaGV5IGFyZSBicm9rZW4gdW5mb3J0dW5hdGVseS4KCjIwMTItMDktMTkgMTE6MjA6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBBZGQgRklYTUUgY29tbWVudCBmb3Igbm90IGhhbmRsaW5nIG9kZCB3aWR0aHMvaGVpZ2h0IHdpdGggdGhlIFRJIGhhcmR3YXJlIGRlY29kZXJzCgkgIE11c3QgbGlrZWx5IGFuIGlzc3VlIHdpdGggdGhlIGNvZGVjIGl0c2VsZiB0aG91Z2guCgoyMDEyLTA5LTE5IDA5OjQ3OjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgRml4IGhhbmRsaW5nIG9mIEk0MjAgYnVmZmVycyB3aXRoIG9kZCB3aWR0aAoKMjAxMi0wOS0xOCAxNTozODoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIE9ubHkgbXBlZ3ZlcnNpb249NCBpcyBzdXBwb3J0ZWQgZm9yIEFBQwoKMjAxMi0wOS0xOCAxNToyODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgUmVtb3ZlIHNvbWUgb2Jzb2xldGUgRklYTUVzCgoyMDEyLTA5LTE3IDEzOjQ2OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBGaXggZmx1c2hpbmcgbG9naWMgdG8gdW5icmVhayBoYW5kbGluZyBvZiBmbHVzaGluZyBzZWVrcwoKMjAxMi0wOS0xNyAxMjoyNDozMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCBjaHJvbWEgc3RyaWRlIGZvciBJNDIwIHN0cmlkZS9jcm9wIGNvbnZlcnNpb24KCjIwMTItMDktMTcgMTE6Mjg6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggVm9yYmlzIGRlY29kaW5nCgoyMDEyLTA5LTE0IDE2OjE3OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBXYWl0IGF0IG1vc3QgMTAwbXMgZm9yIGRlcXVldWVpbmcgYSBidWZmZXIsIGFuZCByZXRyeSBhZnRlciB0aGF0CgkgIFNvbWUgY29kZWNzIGRvbid0IGZhaWwgdGhlIGRlcXVldWVpbmcgaWYgdGhlIGNvZGVjIGlzIGZsdXNoZWQsCgkgIGNhdXNpbmcgZGVhZGxvY2tzIHdoZW4gc2h1dHRpbmcgZG93biB0aGUgZWxlbWVudC4KCjIwMTItMDktMTQgMTY6MTE6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFJlbGVhc2Ugb3V0cHV0IGJ1ZmZlcnMgYSBiaXQgZWFybGllcgoKMjAxMi0wOS0xNCAxNjoxMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIEtlZXAgYW5vdGhlciByZWZlcmVuY2Ugb2YgdGhlIGlucHV0IGJ1ZmZlciBpbiBoYW5kbGVfZnJhbWUoKQoJICBJdCBtaWdodCBiZSB1bnJlZmZlZCBpbiB0aGUgbWVhbnRpbWUgYnkgdGhlIG90aGVyIHRocmVhZCBkdWUKCSAgdG8gZmluaXNoX2ZyYW1lKCkuCgoyMDEyLTA5LTE0IDE2OjEwOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgUGFzcyAtMSBhcyBudW1iZXIgb2YgZnJhbWVzIHRvIHRoZSBiYXNlIGNsYXNzCgkgIFRoaXMgd2lsbCBhdXRvbWF0aWNhbGx5IGRvIHRoZSByaWdodCB0aGluZyBpZiB0aW1lc3RhbXBzIGFyZSBnb29kIGVub3VnaAoKMjAxMi0wOS0xNCAxNjowOTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIFVzZSBjb3JyZWN0IGJ1ZmZlciB2YXJpYWJsZQoKMjAxMi0wOS0xNCAxNDo0MzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWx3YXlzIHBhc3MgMSBhcyBudW1iZXIgb2YgZnJhbWVzIHRvIGZpbmlzaF9mcmFtZSgpCgoyMDEyLTA5LTE0IDE0OjQyOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQ29ycmVjdGx5IHJlbWVtYmVyIG51bWJlciBvZiBjaGFubmVscyBhbmQgc2FtcGxlcmF0ZQoKMjAxMi0wOS0xNCAxNDo0MjozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkgIERvbid0IHVucmVmIGlucHV0IGJ1ZmZlciBmcm9tIGhhbmRsZV9mcmFtZSgpLCBpdCdzIG93bmVkIGJ5IHRoZSBiYXNlY2xhc3MKCjIwMTItMDktMTQgMTM6MzE6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBSZW1vdmUgaW52YWxpZCBHU1RfRVJST1IoKSBjYWxsCgoyMDEyLTA5LTE0IDEzOjI3OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgT25seSB0cnkgdG8gZ2V0IHRoZSBjaGFubmVsLW1hc2sgaWYgaXQgaXMgc2V0CgoyMDEyLTA5LTE0IDEzOjI1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEZMQUMKCjIwMTItMDktMTQgMTM6MjQ6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggc3JjIHRlbXBsYXRlIGNhcHMKCjIwMTItMDktMTQgMTM6MTY6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWNhdWRpb2RlYy5jOgoJICBGaXggcGx1Z2luIGluaXRpYWxpemF0aW9uCgoyMDEyLTA5LTE0IDEzOjA1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY2F1ZGlvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jYXVkaW9kZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGF1ZGlvIGRlY29kZXJzLCBjb21wbGV0ZWx5IHVudGVzdGVkIHNvIGZhcgoKMjAxMi0wOS0xNCAxMjowNzoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIE9ubHkgc2V0IHRoZSBTWU5DX0ZSQU1FIGZsYWcgb24gdGhlIGZpcnN0IGJ1ZmZlciBpZiB3ZSBuZWVkIHRvIHNwbGl0IHRoZSBpbnB1dAoKMjAxMi0wOS0xMiAxNDozMDo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgSWdub3JlIGNvZGVjcyB3aXRoIHVua25vd24gY29sb3IgZm9ybWF0cyBmb3Igc3RhYmlsaXR5IHB1cnBvc2VzCgkgIFRoZXkgY2FuIGJlIHJlZ2lzdGVyZWQgbm9uZXRoZWxlc3MgaWYgYW4gZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgb3IgY29tcGlsZS10aW1lICNkZWZpbmUgaXMgc2V0LgoKMjAxMi0wOS0xMiAxMzo0ODowMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcGxlbWVudCBjcm9wcGluZyBhbmQgY29ycmVjdGx5IGhhbmRsZSB0aGUgZGlmZmVyZW50IGNvbG9yIGZvcm1hdHMKCjIwMTItMDktMTEgMTY6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZWFsbHkgaW1wbGVtZW50IHN0cmlkZSBjb252ZXJzaW9uIGZvciBOVjEyIHRvbwoKMjAxMi0wOS0xMSAxNjoyNDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcGxlbWVudCBzdHJpZGUtY29udmVyc2lvbiBmb3IgSTQyMCBhbmQgTlYxMgoKMjAxMi0wOS0xMSAxNTo1NjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggdHlwbyBpbiBwcmV2aW91cyBjb21taXQKCjIwMTItMDktMTEgMTU6NDk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRG9uJ3QgYWxsb3cgdXNpbmcgbm9uLUdvb2dsZSBjb2RlY3MgaWYgd2Ugc3RhcnRlZCB0aGUgSmF2YSBWTSBvdXJzZWx2ZXMKCSAgSGFyZHdhcmUgY29kZWNzLCBlLmcuIHRoZSBUSSBvbmVzLCBvbmx5IHdvcmsgaW4gcHJvY2Vzc2VzIHRoYXQgaGFkIHRoZWlyCgkgIEphdmEgVk0gc3RhcnRlZCB2aWEgdGhlIG5vbi1wdWJsaWMgQW5kcm9pZFJ1bnRpbWUgY2xhc3MuCgoyMDEyLTA5LTExIDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIFJlbmFtZSB0byBhbWMgZnJvbSBhbmRyb2lkbWVkaWFjb2RlYyBldmVyeXdoZXJlCgoyMDEyLTA5LTExIDEzOjA4OjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTItMDktMTEgMTI6Mzk6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuaDoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBQcmludCB0aGUgTWVkaWFGb3JtYXRzIHdlIGdldCBpbiB0aGUgZGVidWcgbG9ncwoKMjAxMi0wOS0xMCAxNTozMTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEltcHJvdmUgZGVidWcgb3V0cHV0CgoyMDEyLTA5LTEwIDE1OjMwOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBsZXZlbC9wcm9maWxlIGhhbmRsaW5nCgoyMDEyLTA5LTEwIDEzOjM5OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEFsbG93IHJlZ2lzdGVyaW5nIGFzIHN0YXRpYyBwbHVnaW4gd2l0aCB0aGUgR1N0cmVhbWVyIFNESyBBUEkKCjIwMTItMDktMTAgMTM6MzA6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBJZiB0aGUgYnVmZmVyIHNpemVzIGFyZSB0aGUgc2FtZSwganVzdCBtZW1jcHkoKSB0byB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMTItMDktMTAgMTI6NTY6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBDb3JyZWN0bHkgY29udmVydCB0aW1lc3RhbXBzIGJldHdlZW4gdXMgYW5kIG5zCgoyMDEyLTA5LTA3IDE2OjExOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgU2V0IFNZTkNfRlJBTUUgZmxhZyBvbiBidWZmZXJzIGlmIHJlcXVpcmVkCgoyMDEyLTA5LTA3IDE0OjIyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgSW1wcm92ZSBmbHVzaGluZwoKMjAxMi0wOS0wNyAxMzo0NDoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIFdhaXQgYXQgbW9zdCAwLjUgc2Vjb25kcyBmb3IgZ2V0dGluZyBhbiBpbnB1dCBidWZmZXIgZm9yIEVPUwoKMjAxMi0wOS0wNyAxMzo0Mjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIENvcnJlY3RseSBjaGVjayBmb3IgZmx1c2hpbmcKCjIwMTItMDktMDYgMTc6MjQ6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBSZXRyeSBmb3IgbmVnYXRpdmUgcmV0dXJuIHZhbHVlcyB3aGVuIGRlcXVldWVpbmcgYnVmZmVycwoKMjAxMi0wOS0wNiAxNzowNzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeCByZWZjb3VudCBidWcKCjIwMTItMDktMDYgMTc6MDc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBUaGUgTWVkaWFDb2RlYyBBUEkgaXMgYXBwYXJlbnRseSBub3QgdGhyZWFkc2FmZSBiZXR3ZWVuIHN0b3AoKSBhbmQgcmVsZWFzZSgpCgkgIFNvIHdlIGRvbid0IGNhbGwgcmVsZWFzZSgpIGFuZCBqdXN0IGhvcGUgZm9yIHRoZSBHQyB0byByZWxlYXNlIHRoZQoJICBjb2RlYyBpbiB0aW1lLgoKMjAxMi0wOS0wNiAxNTo0NDowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBGaXggcGx1Z2luIGNhY2hlIGNyZWF0aW9uCgoyMDEyLTA4LTI0IDA0OjM1OjQ0IC0wNzAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIENhY2hlIHRoZSBjb2RlYyBpbmZvcm1hdGlvbnMgaW5zaWRlIHRoZSByZWdpc3RyeQoJICBPdGhlcndpc2Ugd2Ugd291bGQgYWx3YXlzIGxvYWQgYWxsIGNvZGVjcyBkdXJpbmcgcGx1Z2luIGluaXRpYWxpemF0aW9uCgkgIHdoaWNoIGNhbiB0YWtlIHF1aXRlIHNvbWUgdGltZSAoYmVjYXVzZSBvZiBoYXJkd2FyZSkgYW5kIGFsc28gbG9hZHMKCSAgbG90cyBvZiBzaGFyZWQgbGlicmFyaWVzICh3aGljaCBudW1iZXIgaXMgbGltaXRlZCBieSA2NCBpbiBBbmRyb2lkKS4KCjIwMTItMDgtMjQgMDk6MjA6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgUHJvcGVybHkgYXR0YWNoIGFuZCBkZXRhY2ggdGhlIGN1cnJlbnQgdGhyZWFkcyB0byB0aGUgSmF2YSBWTQoJICBBdHRhY2hpbmcgYSB0aHJlYWQgYWZ0ZXIgaXQgd2FzIGRldGFjaGVkIHdpbGwgY2F1c2Ugc2VnZmF1bHRzLAoJICBhcyBzdWNoIHdlIHVzZSBhIHB0aHJlYWRfa2V5X3QgdG8ga2VlcCB0cmFjayBvZiB0aGUgSk5JRW52KiBvZgoJICB0aGUgYXR0YWNoZWQgdGhyZWFkcyBhbmQgaW4gdGhlIGRlc3RydWN0b3IgKGkuZS4gd2hlbiB0aGUKCSAgdGhyZWFkIGV4aXRzKSB3ZSBkZXRhY2ggdGhlIHRocmVhZC4KCjIwMTItMDgtMjMgMTc6MzE6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWN2aWRlb2RlYy5jOgoJICBEb24ndCBnZXQgdGhlIG91dHB1dCBmb3JtYXQgZnJvbSB0aGUgY29kZWMgYmVmb3JlIGl0IGlzIHJlYWR5CgkgIEFwcGFyZW50bHkgdGhpbmdzIGFyZSBjcmFzaGluZyBvdGhlcndpc2UuCgoyMDEyLTA4LTIzIDE3OjMxOjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgR2V0IHRoZSBpbnB1dCBidWZmZXJzIGZyb20gdGhlIGNvZGVjCgoyMDEyLTA4LTIzIDE3OjMwOjQ1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkgIEZpeCBKTkkgbWV0aG9kIGNhbGwgc2lnbmF0dXJlcwoKMjAxMi0wOC0yMyAxNzozMDoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBJbml0aWFsaXplIHRoZSBWTSB3aWxsIGZ1bGwgZGVidWdnaW5nIGZvciBub3cKCjIwMTItMDgtMjMgMTM6NTM6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgVXNlIE5ld1N0cmluZ1VURigpIGluc3RlYWQgb2Ygb3VyIG93biBtZXRob2QgZm9yIHRoYXQKCjIwMTItMDgtMjMgMTI6MzA6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgQWRkIHRoZSBUSSBmb3JtYXQgdG8gdGhlIG1hcHBpbmcgdGFibGUgdG9vCgoyMDEyLTA4LTIzIDEyOjI5OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJICBBZGQgYW5vdGhlciBUSSBzcGVjaWZpYyBPcGVuTUFYIGNvbG9yIGZvcm1hdAoKMjAxMi0wOC0yMiAxOTozMDo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkgIEZpeGVzIHRvIGVsZW1lbnQvZWxlbWVudGZhY3RvcnkgY3JlYXRpb24KCjIwMTItMDgtMjIgMTk6MTI6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgU29tZSBidWdmaXhlcyB0byB0aGUgY29kZWMgc2Nhbm5pbmcgY29kZQoJICBBbHNvIGl0J3Mgbm90IHBvc3NpYmxlIHRvIGF0dGFjaCBhIHRocmVhZCBhZnRlciBpdCB3YXMKCSAgZGV0YWNoZWQgb25jZS4gQXMgc3VjaCB3ZSBzaW1wbHkgbmV2ZXIgZGV0YWNoIGFueSB0aHJlYWQKCSAgYXQgYWxsIG5vdy4KCjIwMTItMDgtMjIgMTg6MzU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FuZHJvaWRtZWRpYS9nc3RhbWMuYzoKCSAgRml4IHNvbWUgY29tcGlsYXRpb24gZXJyb3JzCgoyMDEyLTA4LTIwIDE0OjEzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuYzoKCSAgQWRkIGltcG9ydGFudCBGSVhNRQoKMjAxMi0wOC0yMCAxMzo0NTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtY3ZpZGVvZGVjLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jdmlkZW9kZWMuaDoKCSAgQWRkIHZpZGVvIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0yMCAxMzo0NToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBBZGQgc29tZSBtb3JlIEpOSSB3cmFwcGluZwoKMjAxMi0wOC0yMCAxMzo0MjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy1jb25zdGFudHMuaDoKCSAgQWRkIHNvbWUgbWlzc2luZyBjb2xvciBmb3JtYXQgY29uc3RhbnRzCgoyMDEyLTA4LTE2IDE1OjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLWNvbnN0YW50cy5oOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBJbXBsZW1lbnQgYmFzaWMgd3JhcHBlciBhcm91bmQgTWVkaWFDb2RlYyBBUEkKCSAgSWRlYWxseSBub3RoaW5nIGVsc2Ugd2lsbCBiZSBuZWVkZWQgZnJvbSB0aGUgZWxlbWVudHMgbGF0ZXIuCgoyMDEyLTA4LTE1IDE4OjIzOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmM6CgkqIHN5cy9hbmRyb2lkbWVkaWEvZ3N0YW1jLmg6CgkgIFNvbWUgbW9yZSBXSVAKCSAgU2Nhbm5pbmcgYWxsIGNvZGVjcyBub3cgYW5kIGhhdmUgZGF0YSBzdHJ1Y3R1cmVzIGZvciBob2xkaW5nIGNvZGVjCgkgIGluZm9ybWF0aW9uIGFuZCBjb2RlYyBjb250ZXh0cy4gQWxzbyBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgZm9yCgkgIHdvcmtpbmcgd2l0aCB0aGVtLgoKMjAxMi0wOC0xNCAxMzoyMDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5jOgoJKiBzeXMvYW5kcm9pZG1lZGlhL2dzdGFtYy5oOgoJICBJbml0aWFsIGNvbW1pdAoKMjAxMi0xMC0xNSAxNTo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZG1lZGlhOiBBZGQgYW5kcm9pZG1lZGlhIHBsdWdpbgoKMjAxMi0xMC0xNSAxMTo0NTowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbmQgZml4IGFub3RoZXIgZGVhZGxvY2sgY2F1c2VkIGJ5IHRoZSB1cGRhdGUgdGhyZWFkIG5vdCBjb3JyZWN0bHkgc2h1dHRpbmcgZG93bgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0xMC0xNSAxMTowMjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzZGVtdXg6IEFsc28gaG9sZCB0aGUgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIGNvbmRpdGlvbiB2YXJpYWJsZQoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jCgoyMDEyLTEwLTE1IDEwOjUzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsc28gY2FuY2VsIHRoZSBkb3dubG9hZGVyIGJlZm9yZSBzdG9wcGluZyB0aGUgcGxheWxpc3QgdXBkYXRlIHRhc2sKCjIwMTItMTAtMTUgMTA6Mzg6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogT25seSBsb2NrIHRoZSBtdXRleCB3aGVuIGl0J3Mgbm90IGxvY2tlZCBhbHJlYWR5CgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDEwOjMyOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEZpeCBhbm90aGVyIHJhY2UgY29uZGl0aW9uIGJ5IGhvbGRpbmcgdGhlIG11dGV4IHRoYXQgdGhlIGNvbmRpdGlvbiB2YXJpYWJsZSB1c2VzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDEyLTEwLTE1IDA5OjQ3OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFBvcnQgc29tZSB0aGluZ3MgZnJvbSB0aGUgbGFzdCBjb21taXRzCgoyMDEyLTEwLTE1IDA5OjM1OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IE5ldmVyIGV2ZXIgc3RvcCBhIHRhc2sgZnJvbSB0aGUgdGFzayBmdW5jdGlvbgoJICBUaGlzIHdpbGwgZGVhZGxvY2suIEFsc28gbWFrZSBzdXJlIHRvIGFsd2F5cyBwb3N0IGFuIGVycm9yIG1lc3NhZ2UKCSAgaWYgcmVxdWlyZWQgYmVmb3JlIHBhdXNpbmcgdGFza3MgZnJvbSB0aGUgdGFzayBmdW5jdGlvbi4KCSAgU2hvdWxkIGZpeCBhbm90aGVyIGJ1bmNoIG9mIGRlYWRsb2Nrcy4KCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMTAtMTUgMDk6MjQ6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGxvdHMgb2YgZGVhZGxvY2tzIGNhdXNlZCBieSByYWNlIGNvbmRpdGlvbnMgaW4gdGhlIHRhc2sgc3RhdGUgaGFuZGxpbmcKCjIwMTItMTAtMTIgMTA6NTc6NDQgKzA0MDAgIFNlcmdleSBOLiBHb3JzaGtvdiA8c25nQHNldGV2aXNvci50dj4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkgIHJ0bXBzaW5rOiBoYW5kbGUgUlRNUF9Xcml0ZSgpIHJldHVybiB2YWx1ZSBjb3JyZWN0bHkKCSAgRXJyb3IgbWlnaHQgYWxzbyBiZSBuZWdhdGl2ZSAoLTEpLiBVbmNsZWFyIGlmIDAgc2hvdWxkCgkgIGJlIGZhdGFsIGFzIHdlbGwgdGhvdWdoLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODYwMDkKCjIwMTItMTAtMTIgMjM6MDk6MDYgKzAxMDAgIERhdmlkIFLDqWdhZGUgPGRyZWdhZGVAdmlld3N1cmYuY29tPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSAgcnRtcHNpbms6IGZpeCBtZW1vcnkgbGVhayBmcm9tIFVSSSB2ZXJpZmljYXRpb24gdmlhIFJUTVBfUGFyc2VVUkwoKQoJICBJbiBnc3RfcnRtcF9zaW5rX3VyaV9zZXRfdXJpKCksIGEgdGVzdCBpcyBwZXJmb3JtZWQgaW4gb3JkZXIKCSAgdG8gYmUgc3VyZSB1cmkgaXMgY29ycmVjdCBmb3IgbGlicnRtcC4gVGhpcyB0ZXN0IGNhbGxzCgkgIFJUTVBfUGFyc2VVUkwgd2l0aCAzIEFWYWwgcG9pbnRlcnMgYXMgcGFyYW1ldGVyczogaG9zdCwKCSAgcGxheXBhdGggYW5kIGFwcC4KCSAgQVZhbCBpcyBhIHN0cnVjdCB3aXRoIGEgY2hhciogKyBpbnQuIEFmdGVyIFJUTVBfUGFyc2VVUkwgY2FsbCwKCSAgaG9zdC5hdl92YWwgYW5kIGFwcC5hdl92YWwgYm90aCByZWZlciBhIHN1YnN0cmluZyBvZiAidXJpIi4gQnV0CgkgIHBsYXlwYXRoLmF2X3ZhbCBtYXkgYmUgdGhlIHJlc3VsdCBvZiBhIG1hbGxvYyBzbyBpdCBuZWVkcyB0bwoJICBiZSBmcmVlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1OQoKMjAxMi0xMC0xMiAyMjozMzo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFkdmFuY2Ugc3RyZWFtIHRpbWUgd2hlbiBzZW5kaW5nIEdBUCBldmVudAoKMjAxMi0xMC0xMiAyMjozMzoyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHNlbmQgbGFuZ3VhZ2UgaW5mbyBkb3duc3RyZWFtIGlmIGF2YWlsYWJsZQoJICAuLi4gYXMgZXh0cmFjdGVkIGZyb20gZHZkIGV2ZW50LgoKMjAxMi0xMC0xMiAyMjozMTo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IHJlbW92ZSBvYnNvbGV0ZSBzdHJ1Y3QgZmllbGQKCjIwMTItMTAtMTIgMTI6Mjg6NDQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFNldCBmcmFtZXNpemUgYW5kIHByb3BlcnRpZXMgY29ycmVjdGx5IHdoZW4gdGFraW5nIGZvcm1hdCBmcm9tIGNhcHMuCgoyMDEyLTEwLTEyIDE3OjUxOjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogdHdlYWsgZmxvdyByZXR1cm4gYWdncmVnYXRpb24KCjIwMTItMTAtMTIgMTU6NDQ6MDMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBoYW5kbGUgdXBzdHJlYW0gVElNRSBzZWdtZW50cwoKMjAxMi0xMC0xMiAxNTowNzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVnZGVtdXg6IGhhbmRsZSBhbmQgY29tYmluZSBkb3duc3RyZWFtIGZsb3cgcmV0dXJuCgoyMDEyLTEwLTEyIDE0OjUwOjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaGFuZGxlIG5ldyBzdHlsZSBkdmQgZXZlbnQKCjIwMTItMTAtMTEgMTU6Mjk6MzYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgYWRkIHBhZCBhZnRlciBuby1tb3JlLXBhZHMKCjIwMTItMTAtMTEgMTU6Mjc6MTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBjbGVhbiB1cCBzZWdtZW50IHNlbmRpbmcKCSAgLi4uIHRvIHVzZSB0aGUgc3JjX3NlZ21lbnQgYXMgYSBiYXNpcyBmb3IgdGhlIHNlbnQgc2VnbWVudCwKCSAgdGhlcmVieSBwcm9wZXJseSBjb252ZXlpbmcgYWNjdW11bGF0ZWQgYmFzZV90aW1lIGV0Yy4KCSAgQWxzbyBlbnN1cmUgc3JjX3NlZ21lbnQgaXMgb25seSBhZGp1c3RlZCBvbmNlLCBzbyB0aGF0CgkgIGFsbCBkb3duc3RyZWFtIHNlZ21lbnRzIGFyZSBpZGVudGljYWwgdG8gYXZvaWQgc3RyZWFtCgkgIG1pc2FsaWdubWVudC4KCjIwMTItMTAtMTEgMTI6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBzZW5kIEdBUCBldmVudCByYXRoZXIgdGhhbiBzZWdtZW50IHVwZGF0ZXMKCjIwMTItMTAtMTEgMTE6NTE6NTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZWZhY3RvciBzZWdtZW50IHNlbmRpbmcKCjIwMTItMTAtMTEgMTE6MzA6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiByZWZhY3RvciBpbml0IGFuZCByZXNldAoKMjAxMi0xMC0xMSAxMTowNDozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IG5vIG1vcmUgc2VnbWVudCBjbG9zaW5nIGluIDEuMAoKMjAxMi0xMC0xMSAxMTowMzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGNsZWFuIHVwIHNvbWUgZGVidWcgc3RhdGVtZW50cwoKMjAxMi0xMC0xMSAxNTozMTowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGZpeCBidWZmZXIgcGFyc2luZwoJICAuLi4gdG8gYXZvaWQgZmVlZGluZyBlbXB0eSBidWZmZXJzIHRvIGRlY29kZXIuCgoyMDEyLTEwLTEyIDE1OjI2OjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBGaXJzdCBwdXNoIEVPUywgdGhlbiBkZXN0cm95IGFsbCBwcm9ncmFtcwoJICBBbmQgYWxzbyBwcm9wZXJseSByZW1vdmUgdGhlIHByb2dyYW0gZnJvbSB0aGUgc3ViY2xhc3MKCjIwMTItMTAtMTIgMTU6MDk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRml4IGludmFsaWQgcmVhZAoKMjAxMi0xMC0xMCAxODoxODowMyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogc2lnbmFsIGludGVybGFjaW5nIHByb3Blcmx5IGluIHZpZGVvIGNhcHMKCSAgVGhlIGZpZWxkIGlzIGNhbGxlZCAiaW50ZXJsYWNlLW1vZGUiIG1vZGUgbm93IGFuZCBpcyBhIHN0cmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTg5NQoKMjAxMi0xMC0xMCAxNDoxMTo0MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgcmVwbGFjZSBzb21lIHBsYXliaW4yIC0+IHBsYXliaW4KCjIwMTItMTAtMTAgMDk6NTg6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiByZXNldCBmcmFtZSBwYXJzZXIgYWZ0ZXIgcGFyc2luZyBjYXBzIGNvZGVjIGRhdGEKCSAgLi4uIHNvIGFzIHRvIGFycmFuZ2UgZm9yIGEgcHJvcGVyIGZyZXNoIHN0YXRlIHVwb24gZmlyc3QgZnJhbWUuCgoyMDEyLTEwLTEwIDA5OjQ4OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiBVcGRhdGUgdG8gdGhlIHJpZ2h0IGNvbW1pdCBhZ2FpbgoJICBXYXMgYWNjaWRlbnRpYWxseSByZXZlcnRlZCB0byBhbiBvbGRlciB2ZXJzaW9uIGluIHRoZSBsYXN0IGNvbW1pdC4KCjIwMTItMTAtMDkgMjM6MDA6MTQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEByZGlvLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2U6IGFkZCBhIG1vZGUgd2hlcmUgdGhlIGNhcHMgYXJlIHRha2VuIGZyb20gdGhlIHNpbmsgcGFkLCBhbmQgdGh1cyBhdWRpb3BhcnNlIGlzIG9ubHkgcGVyZm9ybWluZyB0aW1lc3RhbXBpbmcuCgoyMDEyLTEwLTA5IDIxOjE5OjE1IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAcmRpby5jb20+CgoJKiBjb21tb246CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHJlc2V0IGZyYW1lIHBhcnNlciBhZnRlciBwYXJzaW5nIGNvZGVjX2RhdGEgYnVmZmVyIGluIGNhcHMsIHRvIGF2b2lkIG5vdCBjb3JyZWN0bHkgcGFyc2luZyB0aGUgZnVsbCBmaXJzdCBmcmFtZS4KCjIwMTItMTAtMDkgMTM6NTM6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwcm9wZXJseSBtYXJrIGNvbmZpZyBkYXRhIHByZXNlbmNlCgkgIC4uLiB3aGljaCB3ZSBhbGxvdyB0byBzdGFydCBhdCBWaXN1YWxPYmplY3RTZXF1ZW5jZSBvcgoJICBhdCBWaWRlb09iamVjdC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTcwOQoKMjAxMi0xMC0wOCAxMjozODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IEZpeCB1bml0aWFpbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBBbmQgYWxzbyB1c2UgdGhlIHBhZCdzIGRlZmF1bHQgZXZlbnQgZnVuY3Rpb24gaW5zdGVhZAoJICBvZiBqdXN0IHB1c2hpbmcgdG8gdGhlIHBlZXJwYWQuIFRoaXMgbWFrZXMgc3VyZSBhbnkKCSAgZGVmYXVsdCBoYW5kbGluZyBvZiBldmVudHMgaXMgY2FsbGVkLgoKMjAxMi0xMC0wOCAxMjoyMzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGZpZWxkYW5hbHlzaXM6IFJlbW92ZSBmcm9tIHRoZSBOT05QT1JURUQgcGx1Z2lucyBsaXN0CgkgIEl0J3Mgc3VwcG9zZWQgdG8gYmUgcG9ydGVkIGluIDEuMC4xIGFscmVhZHkuCgoyMDEyLTEwLTA3IDE3OjA2OjM5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSAgZG9jczogYWRkICdtYWtlIHVwbG9hZCcgdGFyZ2V0IGZvciBkb2NzLyBmb3IgbmV3LXJlbGVhc2Ugc2NyaXB0CgoyMDEyLTEwLTA3IDE3OjAzOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4xID09PQoKMjAxMi0xMC0wNyAxNTo1NzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjEKCjIwMTItMTAtMDYgMTQ6NTc6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZjMGI1MmMgdG8gNmJiNjk1MQoKMjAxMi0xMC0wMyAxMTowNTowNiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHJkaW8uY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvd2F5bGFuZC93YXlsYW5kcG9vbC5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJICBtZXRhIGluZm86IHJlZ2lzdGVyIHRocmVhZC1zYWZlbHkuCgoyMDEyLTEwLTAzIDE3OjIzOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogQWxzbyBjb21taXQgcmVtYWluaW5nIHVuY29tbWl0dGVkIGNoYW5nZXMuLi4KCjIwMTItMTAtMDMgMDk6Mzk6MjggKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IHJlZGlmaW5lIHZwOF9ub3JtIHRvIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3Mgd2l0aCBsaWJ2cHgKCjIwMTItMTAtMDMgMDk6NDk6MzkgKzAwMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb3BhcnNlcnM6IGZpeCBkdXBsaWNhdGVkIHN5bWJvbHMgZm9yIHN0YXRpYyBsaW5rcyB3aXRoIGxpYnNjaHJvZWRpbmdlcgoKMjAxMS0xMi0yNiAyMjowNDowNCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYWRkIFlWMTIgYW5kIE5WMTIgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY3MjIwCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYwoJICBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oCgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jCgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMi0xMC0wMiAyMjoyMDoyMCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmg6CgkgIHJlc2luZHZkOiBSZW1vdmUgY2FwcyBsb2NrIGZyb20gcGFyc2V0dGVyIGVsZW1lbnQuCgkgIEFsbCB0aGUgbWVtYmVycyBpdCB1c2VkIHRvIHByb3RlY3QgaW4gMC4xMCBhcmUgcHJvdGVjdGVkIGJ5CgkgIHRoZSBzdHJlYW0gbG9jayBub3cuCgoyMDEyLTEwLTAxIDIzOjQzOjQ3ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkgIHJlc2luZHZkOiBVcGRhdGUgb3ZlcnJpZGRlbiBjYXBzIHdoZW4gdGhlIERBUiBjaGFuZ2VzCgkgIFNlbmQgYSBuZXcgY2FwcyBldmVudCBkb3duc3RyZWFtIHdoZW4gd2UgcmVjZWl2ZSBuZXcgb3JkZXJzCgkgIGZyb20gdGhlIFZNLCBpZiB0aGVyZSBhcmUgZXhpc3RpbmcgY2Fwcy4KCjIwMTItMTAtMDEgMjM6MjE6MTIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5oOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5oOgoJICByZXNpbmR2ZDogUG9ydCBwYXJzZXR0ZXIgZWxlbWVudAoJICBQb3J0IHRoZSBEVkQgZWxlbWVudCB3aGljaCBvdmVycmlkZXMgdGhlIE1QRUcgZW5jb2RlZCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgdG8gbWF0Y2ggdGhhdCByZXF1ZXN0ZWQgYnkgdGhlIERWRCBWTS4KCjIwMTItMTAtMDEgMTM6NTI6MzUgKzAyMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPHVyYWV1c0BsaW51eHJpc2luLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgZm9yIGxhdGVzdCBjaGFuZ2VzCgoyMDEyLTA5LTMwIDIwOjUyOjMwICswMjAwICBDaHJpc3RvcGhlIEZlcmdlYXUgPGNmZXJnZWF1QHJlZGhhdC5jb20+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSAgY2hyb21hcHJpbnQ6IE1pc3NpbmcgdW5tYXAgYnVmZmVyIGluIHRyYW5zZm9ybV9pcAoJICBXaGVuIG5vIHNhbXBsZXMgaGF2ZSB0byBiZSBwcm9jZXNzZWQsIHRyYW5zZm9ybV9pcCBleGl0cyBlYXJseSwgYnV0CgkgIHRoZSBidWZmZXIgaXQgdXNlcyB3YXMgbm90IHByb3Blcmx5IHVubWFwcGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg1MTU5CgoyMDEyLTA5LTMwIDAzOjQ5OjE3ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRmlkZGxlIHdpdGggc2VnbWVudCBoYW5kbGluZyBmb3IgRFZELgoJICBDbGFyaWZ5IHNvbWUgb2YgdGhlIHRlcm1zIHVzZWQsIGFuZCBtYWtlIHN1cmUgdG8gZXh0ZW5kIHRoZQoJICBzdG9wIHRpbWUgd2hlbiB0aGUgcG9zaXRpb24gbW92ZXMgcGFzdCB0aGUgZW5kIG9mIHRoZSBjdXJyZW50CgkgIHNlZ21lbnQgKGFzIGZvciBzdGlsbCBmcmFtZXMsIGZvciBleGFtcGxlKS4KCSAgQWxzbywgbWFrZSBzdXJlIHRvIHJlc2V0IHRoZSBwb3NpdGlvbiB2YWx1ZSBvZiB0aGUgc2VnbWVudCB0aGUKCSAgZGVtdXhlciBvdXRwdXRzIHdoZW4gY29sbGVjdGluZyBhIHNlYW1sZXNzIHNlZ21lbnQuCgoyMDEyLTA5LTI5IDEzOjIxOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBmaXggcGx1Z2luIGxvYWRpbmcgZm9yIGZyZWkwciBlbGVtZW50cyB0aGF0IGhhdmUgbm8gaW5mby5leHBsYW5hdGlvbgoJICBXZSBkb24ndCBhbGxvdyBlbXB0eSBkZXNjcmlwdGlvbnMgZm9yIGVsZW1lbnRzIGFueSBtb3JlLgoKMjAxMi0wOS0yOSAxMjozNjowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBzb21lIGxpYm9pbCByZWZlcmVuY2VzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzMyODUKCjIwMTItMDktMjkgMTI6MzA6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogcmVtb3ZlIHNvbWUgb2xkIGVsZW1lbnRzIHNvIHRoZXkgZG9uJ3QgZ2V0IHBvcnRlZCBhY2NpZGVudGFsbHkKCSAgVGhleSBhcmUgcmVwbGFjZWQgYnkgdmlkZW9jb252ZXJ0IGFuZCBnZGtwaXhidWZvdmVybGF5CgoyMDEyLTA5LTI4IDIyOjMwOjM5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJICBjdXJsOiBmaXggY29tcGlsZXIgd2FybmluZyB3aXRoIHNldHNvY2tvcHQoKSBvbiB3aW5kb3dzCgkgIFRoZSBvcHR2YWwgYXJndW1lbnQgaXMgb2YgdHlwZSBjb25zdCBjaGFyICogb24gd2luZG93cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NTA2NQoKMjAxMi0wOS0yOCAxMTo1OTo1NyAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBQb3J0IHRvIDEuMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNjc4CgoyMDEyLTA5LTI2IDA4OjIwOjQ5ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJICBjdXJsOiBmaXggYnVpbGQgb24gd2luMzIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4NDg0NwoKMjAxMi0wOS0yOCAwMDowNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGNoYW5nZSB2aWRlby1zb3VyY2UgaWYgdGhlIHVzZXIgcmVxdWVzdGVkCgkgIFdoZW4gZ29pbmcgZnJvbSBudWxsIHRvIHJlYWR5LCBjaGVjayBpZiB0aGUgdXNlciByZXF1ZXN0ZWQgdG8KCSAgdXNlIGEgbmV3IHNvdXJjZSBhbmQgcmVwbGFjZSB0aGUgY3VycmVudCBvbmUuCgkgIEZpeGVzICM2ODE1NjIKCjIwMTItMDktMjcgMjM6MjI6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcGFkIHByb2JlIGlkcyBhcmUgZ3Vsb25nCgkgIENoYW5nZSB2YXJpYWJsZSB0byB0aGUgY29ycmVjdCB0eXBlCgoyMDEyLTA5LTI3IDE5OjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjogdXNlIGNvcnJlY3QgZWxlbWVudCBuYW1lIHdoZW4gcmVwbGFjaW5nIHRoZSB2aWRlbyBmaWx0ZXIKCSAgVGhlIG5hbWUgd2FzIHVwZGF0ZWQgb24gdGhlIDAuMTAgLT4gMS4wIHRyYW5zaXRpb24sIGJ1dCB0aGUKCSAgZ3N0X2Jpbl9yZW1vdmUgd2FzIHN0aWxsIHVzaW5nIHRoZSBvbGQgbmFtZSwgY2F1c2luZyBhbiBhc3NlcnRpb24KCSAgd2hlbiByZXBsYWNpbmcgdmlkZW8tc291cmNlLWZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNTY0CgoyMDEyLTA5LTI2IDE0OjUwOjA0ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogVHJhbnNmb3JtIHRpbWVzdGFtcHMgcHJvcGVybHkgYWZ0ZXIgYSBzZWVrLgoJICBUaGUgc2VnbWVudCBpcyB0cmFuc2Zvcm1lZCB0byBtYXRjaCB0aGUgcGl0Y2ggY29udmVyc2lvbgoJICBiZWluZyBhcHBsaWVkLCBzbyBtYWtlIHN1cmUgdGhlIHRpbWVzdGFtcHMgYmVpbmcgb3V0cHV0CgkgIG1hdGNoIHRoZSBjb25maWd1cmVkIGRvd25zdHJlYW0gc2VnbWVudCBhY2NvcmRpbmdseSwgYW5kCgkgIGFkanVzdCB0aGUgZG93bnN0cmVhbSBzZWdtZW50IHBvc2l0aW9uIHRvIG1hdGNoIHRoZSBzdHJlYW0gdGltZQoJICByYXRpbyBhbHNvLgoKMjAxMi0wOS0xOCAwMToxMzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgc2VuZCBzcHVyaW91cyAnY2xvc2Ugc2VnbWVudCcgZXZlbnRzLiBNYWtlIGEgc2luZ2xlIHNlZ21lbnQKCSAgV2l0aCB0aGUgbmV3IDEuMCBzZWdtZW50IHNlbWFudGljcywgdGhlcmUncyBubyBuZWVkIHRvIGNsb3NlIHRoZQoJICBwcmV2aW91cyBzZWdtZW50IGJlZm9yZSBzZW5kaW5nIG91dCBhIG5ldyBvbmUsIHNvIGRvbid0IGRvIGl0LgoJICBBbHNvLCBhZGp1c3QgdGhlIG91dGdvaW5nIHNlZ21lbnQgdG8ganVzdCBiZSBvbmUgY29udGlndW91cwoJICB0aW1lbGluZSwgd2l0aCBhIGJhc2Ugb2YgMC4gRml4ZXMgc29tZSByZXBlYXRpbmcgdGltZXN0YW1wcyB3aGVuCgkgIHNlZ21lbnRzIGNoYW5nZS4KCjIwMTItMDktMjQgMTc6MjU6MjUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJICBmaWVsZGFuYWx5c2lzOiBQb3J0IHRvIDEuMAoJICBJIHdhcyBhbHNvIHZhZ3VlbHkgZm9yY2VkIHRvIG92ZXJoYXVsIHNvbWUgYml0cyBhbmQgcGllY2VzIGFuZCBtZXNzIHdpdGgKCSAgdGhlIGRhdGEgc3RydWN0dXJlcy4gVGhpcyB3YXMgbW9zdGx5IGR1ZSB0byBjYXBzIG5vdCBiZWluZyBwYXJ0IG9mCgkgIGJ1ZmZlcnMgYW5kIHNvIEkgaGFkIHRvIHN3aXRjaCB0byB1c2luZyBHc3RWaWRlb0ZyYW1lIGFuZCBHc3RWaWRlb0luZm8uCgoyMDEyLTA5LTI0IDE2OjExOjMyIC0wNTAwICBZYWFrb3YgU2Vsa293aXR6IDx5c2Vsa293aXR6QHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIGV4dC9jaHJvbWFwcmludC9NYWtlZmlsZS5hbToKCSAgY2hyb21hcHJpbnQ6IGxpbmsgYWdhaW5zdCBsaWJnc3RiYXNlCgkgIENhbGxzIHRvIGdzdF9iYXNlX3RyYW5zZm9ybV9nZXRfdHlwZSBhbmQgZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaAoJICByZXF1aXJlIGxpbmtpbmcgd2l0aCBsaWJnc3RiYXNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NzQwCgoyMDEyLTA5LTI0IDE2OjU5OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAoYnVnIGZpeGluZykKCj09PSByZWxlYXNlIDEuMC4wID09PQoKMjAxMi0wOS0yNCAxNDo0MjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMS4wLjAKCjIwMTItMDktMjQgMTQ6NDI6MTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2hyb21hcHJpbnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZzEyMy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BhbmRzcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hYWNlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXlsYW5kc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0yMyAxMzoxNToyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBjaGFuZ2UgZGV2aWNlIGluc3RhbmNlIGxpZmVjeWNsZQoJICBUaGUgZGVja2xpbmsgZHJpdmVyIGV2ZW50dWFsbHkgY3Jhc2hlcyBhZnRlciByZXBlYXRlZCBjcmVhdGlvbi9kZWxldGlvbgoJICBvZiBkZXZpY2UsIGlucHV0LCBvdXRwdXQsIGFuZCBjb25maWd1cmF0aW9uIG9iamVjdHMuICBDaGFuZ2UgdG8gY3JlYXRlCgkgIHRoZXNlIGF0IHRoZSBvdXRzZXQgYW5kIGtlZXAgdGhlbSBhcm91bmQgZm9yZXZlci4KCjIwMTItMDktMjIgMTM6NTY6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEZpeCBtZW1vcnkgbGVha3MKCSAgQnVmZmVycyBub3cgaG9sZCBvbiB0byBhIHJlZmVyZW5jZSBmb3IgdGhlIGlucHV0LCBzbyB0aGUgaW5wdXQKCSAgb2JqZWN0IGRvZXNuJ3QgZ2V0IGZyZWVkIChhbmQgY2FycnkgdGhlIGJ1ZmZlcnMgd2l0aCBpdCkgYmVmb3JlCgkgIGFsbCB0aGUgYnVmZmVycyBhcmUgZnJlZWQuCgoyMDEyLTA5LTIzIDIxOjA4OjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIHRlc3RzOiBkaXNhYmxlIGFzc3JlbmRlciB1bml0IHRlc3QKCSAgRG9lc24ndCB3b3JrLCBuZWVkcyBmaXhpbmcuCgoyMDEyLTA5LTIzIDIxOjA3OjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBkaXNhYmxlIGZvciBhdXRvcGx1Z2dpbmcgdW50aWwgaXQgd29ya3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE5MgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njg0NjgzCgoyMDEyLTA5LTIyIDE1OjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIHJ0cGR0bWZkZXBheTogVXNlIDEuMC1zdHlsZSBjYXBzIG5lZ290aWF0aW9uIGFuZCBhdWRpby94LXJhdwoKMjAxMi0wOS0yMCAxODo0Mjo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGV4dC9vcHVzL2dzdG9wdXMuYzoKCSAgb3B1c2VuYzogUmFuayBhcyBQcmltYXJ5CgoyMDEyLTA5LTIwIDE4OjQxOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJICBydHBvcHVzcGF5OiBBbGxvY2F0ZSB0aGUgcnRwIGJ1ZmZlciBjb3JyZWN0bHkKCSAgVXNlIHRoZSByaWdodCBmdW5jdGlvbnMgdG8gYWxsb2NhdGUgdGhlIHJ0cCBidWZmZXIKCjIwMTItMDktMjIgMTY6MDg6MzkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDRmOTYyZjcgdG8gNmMwYjUyYwoKMjAxMi0wOS0yMCAwMDowODo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5jOgoJICBpbnRlcnN1YnNyYzogZGlzYWJsZSB0aW1lc3RhbXBpbmcgY29kZSB0aGF0IGRvZXNuJ3QgbWFrZSBzZW5zZQoJICBhbmQgd2hpY2ggYnJlYWtzIHRoZSBzdGF0ZXMgY2hlY2sgYmVjYXVzZSB3ZSBlbmQgdXAgdHJ5aW5nIHRvCgkgIGRpdmlkZSBieSAwLgoKMjAxMi0wOS0xOCAxMzoxNzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSAgYXBwbGVtZWRpYTogaW5pdCB2aWRlb2luZm8KCjIwMTItMDktMTggMTM6MTc6MjcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBpbml0IHZpZGVvaW5mbwoKMjAxMi0wOS0xOCAwMDoxMjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHJlbW92ZSBvbmUgbW9yZSBvbGQgaW5jbHVkZQoKPT09IHJlbGVhc2UgMC4xMS45OSA9PT0KCjIwMTItMDktMTcgMTg6MDQ6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTkKCjIwMTItMDktMTcgMTc6NTI6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVldmVyYi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGluc3lzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBnMTIzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhdGNoZGV0ZWN0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwYW5kc3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW8zZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2ZpbHRlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F5bGFuZHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZQoKMjAxMi0wOS0xNyAxNzoxMzo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogcmVtb3ZlIGZyZWV6ZSBlbGVtZW50LCB3YXMgcmVwbGFjZWQgYnkgaW1hZ2VmcmVlemUgaW4gLWdvb2QgeWVhcnMgYWdvCgoyMDEyLTA5LTE3IDIzOjU5OjM0ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRml4IHNlZ21lbnQgaGFuZGxpbmcgaW4gdGhlIGRlbXV4ZXIuCgkgIFRyYW5zZmVyIHRoZSBpbmNvbWluZyBzZWdtZW50IGJhc2UgdGltZSB0byB0aGUgc3JjCgkgIHNlZ21lbnQgdGhlIGRlbXV4ZXIgc2VuZHMgZG93bnN0cmVhbS4gQWRkIHNvbWUKCSAgKGRpc2FibGVkKSBkZWJ1ZyB0byB0aGUgYmluIGZvciB0cmFja2luZyBvdXRnb2luZwoJICB0aW1lc3RhbXBzLgoKMjAxMi0wOS0xNyAwMDowNToxOSArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFJlbW92ZSB2cDggcGx1Z2luIGZyb20gc3BlYyBhZnRlciBtb3ZlIHRvIGdvb2QKCjIwMTItMDktMTYgMTU6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L0dzdFZQOEVuYy5wcnM6CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmg6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuYzoKCSogZXh0L3ZwOC9nc3R2cDh1dGlscy5oOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB2cDg6IFJlbW92ZSBwbHVnaW4sIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QKCjIwMTItMDktMTYgMTU6MjU6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBVbnJlZiBpbnB1dC9vdXRwdXQgc3RhdGVzIHdoZW4gc3RvcHBpbmcgdGhlIGRlY29kZXIKCjIwMTItMDktMTYgMTU6MTg6MjAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9Hc3RWUDhFbmMucHJzOgoJICB2cDhlbmM6IFVwZGF0ZSByZWFsdGltZSBwcm9maWxlIHRvIHRoZSBuZXcgcHJvcGVydGllcwoKMjAxMi0wOS0xNiAxMTowMDo1MyArMDIwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8dXJhZXVzQGxpbnV4cmlzaW4ub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBhbmQgZml4IHNwZWMgd2l0aCBsYXRlc3QgY2hhbmdlcyBhbmQgRjE4IG5hbWUgc2NoZWVtZQoKMjAxMi0wOS0xNiAxMDo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwODogUmVxdWlyZSBsYXRlc3QgbGlidnB4IHJlbGVhc2UgKDEuMS4wIGZyb20gTWF5IDIwMTIpCgkgIEZpeGVzIGJ1ZyAjNjg0MTE2IGFuZCBzaW1wbGlmaWVzIGNvbmZpZ3VyZSBjaGVja3MuCgoyMDEyLTA5LTE1IDIwOjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIGEgc3RyaW5nIGZpZWxkIGZvciB0aGUgcHJvZmlsZSBpbiB0aGUgY2FwcwoJICBKdXN0IGZvciBjb25zaXN0ZW5jeSB3aXRoIGFsbCB0aGUgb3RoZXIgY29kZWNzLgoKMjAxMi0wOS0xNSAxOTowODozMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHVzZSBnc3RfZWxlbWVudF9mYWN0b3J5X2dldF9tZXRhZGF0YSB0byByZXBsYWNlIG9ic29sZXRlIEFQSQoKMjAxMi0wOS0xNSAwMDowNDowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IENvcnJlY3RseSBzZXQgcHJvZmlsZSBpbiBjYXBzCgoyMDEyLTA5LTE0IDIzOjQxOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogVXBkYXRlIGNvcHlyaWdodCBhbmQgYXV0aG9ycwoKMjAxMi0wOS0xNCAyMzo0MDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IFVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMi0wOS0wOCAxNTozODo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IFJld29yayBlbmNvZGVyIHByb3BlcnRpZXMgdG8gYmUgbW9yZSBpbiBsaW5lIHdpdGggdGhlIGxpYnZweCB0b29scyBhbmQgQVBJCgkgIEFsc28gYWRkIGFsbCBhdmFpbGFibGUgcHJvcGVydGllcy4KCjIwMTItMDktMTQgMTc6NTU6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICByZXBsYWNlIF9nZXRfY2Fwc19yZWZmZWQgd2l0aCBfZ2V0X2NhcHMKCjIwMTItMDktMTQgMTc6MDg6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGZ0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsdGxzc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2phc3Blci9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5jOgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmM6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0dmNkcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcXVhcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHdpcmwuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICByZXBsYWNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSB3aXRoIGdzdF9lbGVtZW50X2NsYXNzX3NldF9tZXRhZGF0YQoKMjAxMi0wOS0xNCAxMjowNjoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGluaXQgcHBzIGFuZCBzcHMgc3RydWN0dXJlcyBiZWZvcmUgcGFyc2luZwoJICAuLi4gd2hpY2ggYXJyYW5nZXMgZm9yIGEgdmFsaWQgZmFsbGJhY2sgaWQsIGFuZCBhbGxvd3MgdG8gY29udGludWUgYmVzdCBlZmZvcnQKCSAgcHJvY2Vzc2luZyBldmVuIHdoZW4gc3BzL3BwcyBwYXJzaW5nIGZhaWxzLgoKMjAxMi0wOS0wMyAxMzo1ODoyMiArMDIwMCAgUGV0ZXIgU2VpZGVyZXIgPHBzLnJlcG9ydEBnbXgubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgZ3N0aDI2NHBhcnNlOiBhZGQgY29tbWVudCB3aGVyZSByZXR1cm4gc2hvdWxkIGJlIGNoZWNrZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjQKCjIwMTItMDktMDMgMTM6NDM6MDMgKzAyMDAgIFBldGVyIFNlaWRlcmVyIDxwcy5yZXBvcnRAZ214Lm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBnc3RoMjY0cGFyc2VyOiBmaXggQ292ZXJpdHkgZm91bmQgbm90IGluaXRpYWxpemVkIHNwcy9wcHMgdmFsaWQgbWVtYmVyLgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjY0CgoyMDEyLTA5LTAzIDEzOjA5OjI5ICswMjAwICBQZXRlciBTZWlkZXJlciA8cHMucmVwb3J0QGdteC5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgZ3N0aDI2NHBhcnNlcjogZml4IENvdmVyaXR5IGRldGVjdGVkIG9mZiBieSBvbmUgYXQgY2FsbCB0byBSRUFEX1VFX0FMTE9XRUQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNjMKCjIwMTItMDktMTQgMTY6NDk6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2JsdXItZXhhbXBsZS5weToKCSogZ3N0L2dhdWRpZWZmZWN0cy9idXJuLWV4YW1wbGUucHk6CgkgIHJlbmFtZSBzb21lIGNhcHMKCjIwMTItMDktMTQgMTY6NDU6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9ibHVyLWV4YW1wbGUucHk6CgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYXBzZmlsdGVyL2NhcHNmaWx0ZXIxLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0LmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBmZm1wZWdjb2xvcnNwYWNlIGlzIG5vIG1vcmUKCjIwMTItMDktMTQgMTY6Mjk6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHJlbmFtZSBzb21lIGNhcHMgYW5kIGVsZW1lbnRzIGluIGV4YW1wbGVzCgoyMDEyLTA5LTAyIDIwOjE3OjE0ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogdXNlIHByZXZpb3VzbHkgcGFyc2VkIHZpc3VhbCBvYmplY3Qgd2hlbiBwYXJzaW5nIFZPTAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMjU0CgoyMDEyLTA5LTAyIDIwOjE5OjE3ICswMjAwICBBcm5hdWQgVnJhYyA8YXZyYWNAZnJlZWJveC5mcj4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgbXBlZzRwYXJzZXI6IHBhcnNlIGNvbXBsZXhpdHkgZXN0aW1hdGlvbiBoZWFkZXIgaW4gdmlkZW8gb2JqZWN0IGxheWVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMDIgMjA6MTg6MzIgKzAyMDAgIEFybmF1ZCBWcmFjIDxhdnJhY0BmcmVlYm94LmZyPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBtcGVnNHBhcnNlcjogZml4IHNvbWUgaXNzdWVzIHJlbGF0ZWQgdG8gdmlkZW8gb2JqZWN0IGxheWVyIHBhcnNpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzI1NAoKMjAxMi0wOS0wMiAxODoyMToxNiArMDIwMCAgQXJuYXVkIFZyYWMgPGF2cmFjQGZyZWVib3guZnI+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvIG5vdCBza2lwIHVzZXIgZGF0YQoJICBVc2VyIGRhdGEgd2FzIHNraXBwZWQgdW50aWwgbm93LCBzbyB0aGUgdXNlciBkYXRhIHdhcyBpbmNsdWRlZCB3aGVuCgkgIHBhcnNpbmcgdGhlIHByZXZpb3VzIHBhY2tldCBhbmQgaW4gdGhlIGNvbmZpZyBidWZmZXIuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMyNTQKCjIwMTItMDktMTQgMDI6NTk6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTEuOTQgPT09CgoyMDEyLTA5LTE0IDAyOjUwOjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45NAoKMjAxMi0wOS0xNCAwMjowNjo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jaHJvbWFwcmludC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGl0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVtb3Zlc2lsZW5jZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydG1wLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNtb290aC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMi0wOS0xMyAxMzo0NDowNSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIGNoZWNrOiBWZXJpZnkgdGhlIERUUyBlbWVyZ2luZyBmcm9tIHRoZSBwYXJzZXIsIG5vdCBQVFMKCSAgUFRTIGRvZXNuJ3QgaW5jcmVtZW50IGxpbmVhcmx5IGluIHBhcnNlcnMgd2l0aCBmcmFtZSByZS1vcmRlcmluZywgYnV0CgkgIERUUyBkb2VzLiBWZXJpZnkgdGhhdCBpbnN0ZWFkLgoKMjAxMi0wOS0xMyAxMzozNDoxNiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgY2hlY2s6IEZpeCBtcGVndmlkZW9wYXJzZXIgUEFSIGV4cGVjdGF0aW9uCgkgIFRoZSBwYXJzZXIgKGNvcnJlY3RseSkgbm93IGludGVycHJldHMgdGhlIHRlc3QgaGVhZGVyIHVzaW5nCgkgIE1QRUctMSBzZW1hbnRpY3MsIHNvIGZpeCB0aGUgdGVzdCBleHBlY3RhdGlvbi4KCjIwMTItMDktMTMgMTU6NTE6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBNYWtlIGNhcHMgd3JpdGFibGUgaW4gZml4YXRlCgoyMDEyLTA5LTEzIDE1OjA2OjUyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydGVzdC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zcmMuaDoKCSAgaW50ZXI6IFBvcnQgdG8gMS4wIEFQSQoJICBBbHNvIHJlbW92ZSBhIGxvdCBvZiBlbXB0eSwgbm9uLWltcGxlbWVudGVkIG1ldGhvZHMKCjIwMTItMDktMTIgMjI6NTg6MDQgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRGlzYWJsZSBQVFMgaW50ZXJwb2xhdGlvbiBpbiB0aGUgYmFzZSBwYXJzZSBjbGFzcwoJICBBbGwgdGhlc2UgZm9ybWF0cyBoYXZlIHJlLW9yZGVyZWQgUFRTIHdoaWNoIHRoZSBiYXNlIGNsYXNzIGdldHMKCSAgd3JvbmcuIEl0J3MgYmV0dGVyIHRvIGxlYXZlIHRoZW0gYmxhbmsgYW5kIGxldCB0aGUgZGVjb2RlciBzb3J0IGl0CgkgIG91dC4gQmV0dGVyIHlldCB3b3VsZCBiZSB0byB0cmFjayBhbmQgaW50ZXJwb2xhdGUgdGhlIHRpbWVzdGFtcHMKCSAgaW4gdGhlIHN1YmNsYXNzZXMgKEZJWE1FKQoKMjAxMi0wOS0wOSAxNjo0MDowMCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZHZhbmNlIHZpZGVvIHN0cmVhbSB3aXRoIGdhcCBldmVudHMuCgkgIEhhbmRsZSBHYXAgZXZlbnRzIHRoZSB3YXkgd2UgdXNlZCB0byBoYW5kbGUgc2VnbWVudCB1cGRhdGVzCgkgIGFuZCBhZHZhbmNlL2ZpbGwgaW4gdGhlIHZpZGVvIHN0cmVhbSBhY2NvcmRpbmdseS4gRml4ZXMKCSAgJ3N0aWxsJyBtZW51cyB3aGljaCBhcmVuJ3QgRFZEIHN0aWxsIGZyYW1lcywgYnV0IGFyZSBqdXN0IGEKCSAgc2luZ2xlIGZyYW1lIHdpdGggYWNjb21wYW55aW5nIGF1ZGlvLgoKMjAxMi0wOS0wOSAxNjoyOTo1MiAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogU3RhcnQgd2l0aCBhIGxhcmdlciBzdWJwaWN0dXJlIHF1ZXVlIGZvciBwcmVyb2xsLgoJICBTaHJpbmsgdGhlIHF1ZXVlIG9uY2Ugd2UncmUgcHJlcm9sbGVkLiBGaXhlcyB0aGUgRnJpbmdlIFMxCgkgIERWRC4gQWxzbywgZW5zdXJlIHdlIG9ubHkgZmlyZSBub19tb3JlX3BhZHMgb25jZS4KCjIwMTItMDktMDggMTk6MjE6NDcgLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZDogRGlzYWJsZSBpbnB1dC1zZWxlY3RvciBzeW5jaW5nCgkgIFVudGlsIHNlZ21lbnRzIGFyZSBiZXR0ZXIgd29ya2VkIG91dC4gQWxzbywgdXNlCgkgIGludGVybmFsIGlucHV0LXNlbGVjdG9yIGZvciBhdWRpbyBhcyB3ZWxsCgoyMDEyLTA5LTAzIDA5OjQ3OjMwIC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEhhbmRsZSBTZXF1ZW5jZSBEaXNwbGF5IEV4dGVuc2lvbgoJICBDaGFuZ2UgdGhlIHdheSB0aGUgcGl4ZWwtYXNwZWN0LXJhdGlvIGlzIGNvbXB1dGVkIGJ5CgkgIGludGVycHJldGluZyB0aGUgc2VxdWVuY2UgaGVhZGVyIGFzcGVjdCByYXRpbyBpbmZvCgkgIGFzIE1QRUctMSB2YWx1ZXMgdW50aWwgYSBzZXF1ZW5jZSBleHRlbnNpb24gb3IKCSAgc2VxdWVuY2UgZGlzcGxheSBleHRlbnNpb24gaXMgc2VlbiwgYW5kIHRoZW4gdXBkYXRpbmcKCSAgdGhlIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3QgYWNjb3JkaW5nbHkuCgkgIEZpeGVzIGluY29ycmVjdCBhbmFtb3JwaGljIGRpc3BsYXkgb24gc29tZSBNUEVHLTIgKERWRCkKCSAgc2VxdWVuY2VzLgoKMjAxMi0wOS0xMyAwMTo0MDo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGRpc2FibGUgeWV0IGFub3RoZXIgbXhmIHRlc3RzIHVudGlsIHRoZSBlbGVtZW50cyBhcmUgcG9ydGVkCgoyMDEyLTA5LTEzIDAxOjM0OjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IGZpeCBjYXBzIGZpeGF0aW9uCgkgIE1ha2UgY2FwcyB3cml0YWJsZSBiZWZvcmUgY2hhbmdpbmcgdGhlbS4KCjIwMTItMDktMTMgMDE6MjY6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IGZpeCB3cm9uZyBwYWQgdGVtcGxhdGUgdW5yZWYKCSAgQmxvd3MgdXAgd2hlbiB0cnlpbmcgdG8gaW5zdGFudGlhdGUgYSBzZWNvbmQgY2xpcCBlbGVtZW50CgkgIG9mIHRoZSBzYW1lIHR5cGUsIGxpa2UgaW4gdGhlIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDE6MDc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJICB3YXlsYW5kc2luazogZmFpbCBncmFjZWZ1bGx5IHdpdGggYW4gZXJyb3IgbWVzc2FnZSBpZiB3ZSBjYW4ndCBjb25uZWN0IHRvIHdheWxhbmQKCSAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwoKSBpcyBub3QgZm9yIGVycm9yIGhhbmRsaW5nLCBpdCdzIGZvcgoJICBjYXRjaGluZyBwcm9ncmFtbWluZyBlcnJvcnMgaW4gcHVibGljIEFQSS4KCSAgRml4ZXMgcHJvYmxlbSB3aXRoIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdC4KCjIwMTItMDktMTMgMDA6NTk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIHNpcmVuOiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSBsb2dnaW5nIGFueXRoaW5nCgoyMDEyLTA5LTEzIDAwOjU1OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkgIHRlc3RzOiBza2lwIG14ZiB0ZXN0cyB3aGlsZSBlbGVtZW50cyBoYXZlbid0IGJlZW4gcG9ydGVkIHlldAoKMjAxMi0wOS0xMyAwMDo1MDowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IHJlbW92ZSBHU1RfRVJST1Igc3RhdGVtZW50IHRoYXQgd2FzIGNvbW1pdHRlZCBieSBhY2NpZGVudAoKMjAxMi0wOS0xMyAwMDo0MDo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZml4IGppZm11eCB0ZXN0CgkgIE5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSBub3cgZm9yIEdTVF9UQUdfQVBQTElDQVRJT05fREFUQQoJICBpbnN0ZWFkIG9mIGEgR3N0QnVmZmVyLgoKMjAxMi0wOS0xMiAxODozNDowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSAgcG5tOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMTc6MzQ6MDMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBmcmVlemU6IFVzZSBhIEdQdHJBcnJheSBpbnN0ZWFkIG9mIGEgR1F1ZXVlCgkgIFRoaXMgd2F5LCB0aGUgbW9zdCBjb21tb24gZnVuY3Rpb24gKGNoYW5naW5nIGJ1ZmZlcnMpIGJlY29tZXMgTygxKSBpbnN0ZWFkCgkgIG9mIE8obikKCjIwMTItMDktMTIgMTc6MjQ6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgIGZyZWV6ZTogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE2OjIzOjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBzcGVlZDogVmFyaW91cyAxLjAgc3R5bGUgYWRkaXRpb25zCgkgIFVzZSBHc3RBdWRpb0luZm8gZXZlcnl3aGVyZSwgZXRjCgoyMDEyLTA5LTEwIDE3OjE2OjA3ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIHNwZWVkOiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzcyNwoKMjAxMi0wOS0xMiAxNjowMzowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgbGl2ZWFkZGVyOiBwb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTIgMjE6MTM6MzUgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBjb2xsZWN0cGFkczogcmVtb3ZlIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZF9mdWxsCgkgIFJlbmFtZSBnc3RfY29sbGVjdF9wYWRzX2FkZF9wYWRfZnVsbCgpIHRvIGdzdF9jb2xsZWN0X3BhZHNfYWRkX3BhZCgpIGFuZCBmaXggYWxsCgkgIGludm9jYXRpb25zLgoKMjAxMi0wOS0xMiAxMjoxNDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogUG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTEyIDE1OjA4OjAxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogVXNlIGRlZmF1bHQgcXVlcnkgaGFuZGxlcnMgd2hlcmUgbmVlZGVkCgkgIEFuZCBmaXh1cCBnZXRjYXBzIGhhbmRsZXIgd2hpbGUgSSdtIGF0IGl0CgoyMDEyLTA5LTEyIDA5OjQyOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcG9ydCB0YWdzZXR0ZXIgbW9kZSBzZXR0aW5nIGNvZGUKCSAgQ2hlY2sgZGlyZWN0bHkgd2l0aCBHU1RfSVNfVEFHX1NFVFRFUiBpbnN0ZWFkIG9mIHVzaW5nIHRoZQoJICBkZXByZWNhdGVkIEdzdEltcGxlbWVudHNJbnRlcmZhY2UKCSAgRml4ZXMgdGhlIGltYWdlIHRhZyBzZXR0aW5nIHVuaXQgdGVzdAoKMjAxMi0wOS0xMiAxMzowMzoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggd2luMzIgYnVpbGQgZXZlbiBtb3JlCgoyMDEyLTA5LTEyIDEzOjE3OjAzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTEyIDExOjA4OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IGFzcGVjdCByYXRpbyBjYWxjdWxhdGlvbi4KCSAgQVNQRUNUX0hPUklaX1NJWkUgYW5kIEFTUEVDVF9WRVJUX1NJWkUgYXJlIHN5bnRheCBlbGVtZW50cyB0aGF0IGhvbGQKCSAgYmluYXJ5IGVuY29kaW5ncyBvZiBzaXplcyByYW5naW5nIGZyb20gMSB0byAyNTYuIFRodXMsIHRoZSBjYWxjdWxhdGVkCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyB3YXMgb2ZmIGJ5IG9uZS4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzODU4CgoyMDEyLTA5LTEyIDExOjAxOjM0ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NHBhcnNlOiBkb24ndCB1c2UgYW5vbnltb3VzIHVuaW9ucy4KCSAgQW5vbnltb3VzIHVuaW9uIGlzIGFuIElTTyBDICgyMDExKSBmZWF0dXJlIHRoYXQgaXMgbm90IGV4cG9zZWQgaW4KCSAgY29tcGlsZXJzIHN0cmljdGx5IGNvbmZvcm1pbmcgdG8gdGhlIHByZXZpb3VzIHN0YW5kYXJkLgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDExOjIxOjQxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogY29tcHV0ZSBwaXhlbCBhc3BlY3QgcmF0aW8uCgkgIFNpZ25lZC1vZmYtYnk6IFNpbW9uIEZhcm5zd29ydGggPHNpbW9uLmZhcm5zd29ydGhAb25lbGFuLmNvLnVrPgoJICBTaWduZWQtb2ZmLWJ5OiBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoyMDEyLTA5LTEyIDA5OjQ4OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogYXR0ZW1wdCB0byBnZXQgZGlzYWJsZWQgc3RyZWFtaGVhZGVyIHRlc3QgdG8gY29tcGlsZSBvbiB3aW4zMgoJICBUaG91Z2ggaXQgcHJvYmFibHkgd29uJ3Qgd29yaywgYnV0IHRoZW4gaXQncyBkaXNhYmxlZC4KCjIwMTItMDktMTIgMDk6MTA6MzUgKzAyMDAgIFBldGVyIEtvcnNnYWFyZCA8amFjbWV0QHN1bnNpdGUuZGs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIG9wdXMgKyBqcGVnZm9ybWF0OiB1bmJyZWFrIG5vbi1kZWJ1ZyBidWlsZAoJICBvcHVzICsganBlZ2Zvcm1hdCBwbHVnaW4gYnVpbGRzIGZhaWwgd2hlbiBnc3RyZWFtZXIgaXMgY29uZmlndXJlZCB3aXRoCgkgIC0tZGlzYWJsZS1nc3QtZGVidWcgYXMgdGhleSBhcmUgY2hlY2tpbmcgdGhlIEdTVF9ESVNBQkxFX0RFQlVHIHN5bWJvbAoJICBpbnN0ZWFkIG9mIEdTVF9ESVNBQkxFX0dTVF9ERUJVRy4KCSAgU2lnbmVkLW9mZi1ieTogUGV0ZXIgS29yc2dhYXJkIDxqYWNtZXRAc3Vuc2l0ZS5kaz4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4Mzg1MAoKMjAxMi0wOS0xMiAwMTozNTo0MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJICBqcGVnZm9ybWF0OiBkb24ndCBsaW5rIHRvIGxpYmdzdGludGVyZmFjZXMgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbG9uZ2VyCgoyMDEyLTA5LTExIDIwOjMwOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJICBzcGFucGxjOiBEb24ndCB1bnJlZiB0b28gbXVjaCwgZG9uJ3QgZm9yd2FyZCBnYXAgZXZlbnQKCjIwMTItMDktMTEgMjA6MTk6NDggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5oOgoJICBzcGFucGxjOiBQb3J0IHRvIDEuMCBBUEkKCjIwMTItMDktMTEgMTk6NDE6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBEb24ndCB0cnkgdG8gc3luYyBjb250cm9sbGVyIHZhbHVlcyB0byBpbnZhbGlkIHRpbWVzdGFtcAoKMjAxMi0wOS0xMSAxOTozNjoyNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaW5pc2ggcG9ydCB0byAxLjAgQVBJCgoyMDEyLTA5LTExIDE4OjU1OjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSAgdGVzdDogU2ltcGxpZnkgYXV0b2NvbnZlcnQgdGVzdAoKMjAxMi0wOS0xMSAxODo1Mzo0MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogTG9vayBhdCBhbGwgcG9zc2liaWxpdGllcyBmb3IgYWNjZXB0LWNhcHMgZXZlbiBpZiB0aGVyZSBpcyBhIHNlbGVjdGVkIHN1YmVsZW1lbnQKCSAgSWYgdGhlIGFjY2VwdC1jYXBzIHN1Y2NlZWRzIHdpdGggYSBkaWZmZXJlbnQgc3ViZWxlbWVudCwgdGhlbiB0aGUgc3Vic2VxdWVudAoJICBjYXBzIGV2ZW50IHdpbGwgY2hhbmdlIHRoZSBjdXJyZW50IHN1YmVsZW1lbnQuCgoyMDEyLTA5LTExIDE4OjAyOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0OiBGbHVzaCBvcHVzIGVuY29kZXIgYmV0d2VlbiB0ZXN0cwoKMjAxMi0wOS0xMSAxODowMTo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29wdXMuYzoKCSAgdGVzdDogRmx1c2ggb3B1cyBlbmNvZGVyIGJldHdlZW4gdGVzdHMKCjIwMTItMDktMTAgMTg6MjA6NDggLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmM6CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjRfc3JjLmg6CgkgIHV2Y2gyNjQ6IE1ha2UgZ3VkZXYvbGlidXNiIGEgaGFyZCBkZXBlbmRlbmN5IGFuZCByZW1vdmUgWFVfRklORF9VTklUIGlvY3RsIHN1cHBvcnQKCSAgQ29uZmxpY3RzOgoJICBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jCgoyMDEyLTA5LTExIDE3OjQ3OjE2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgZXh0LCBnc3Q6IG9ubHkgYWN0aXZhdGUgaW4gcHVsbCBtb2RlIGlmIHVwc3RyZWFtIGlzIHNlZWthYmxlCgoyMDEyLTA5LTExIDE1OjA3OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdGltZWQgdGV4dCBpcyB0ZXh0L3gtcmF3IG5vdwoKMjAxMi0wOS0xMSAxNTowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguYzoKCSAgZDNkdmlkZW9zaW5rOiBwb3J0IHRvIHRoZSBuZXcgR0xpYiB0aHJlYWQgQVBJCgoyMDEyLTA5LTExIDE0OjMyOjA0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkgIHRlc3RzOiBtcGVnMmVuYywgbXBsZXg6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMTQ6MzE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHBvcnQgdG8gdGhlIG5ldyBHTGliIHRocmVhZCBBUEkKCjIwMTItMDktMTEgMDE6NTI6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgZ2RwOiBtb3ZlIGdkcCBwbHVnaW4gaGVyZSBmcm9tIC1iYXNlCgkgIE5lZWRzIHNvbWUgcmV3b3JraW5nLgoKMjAxMi0wOS0wOSAxODowNTo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogZHVtcCBieXRlcyBpbnRvIGRlYnVnIGxvZyB1c2luZyBHU1RfTUVNRFVNUAoJICBJbnN0ZWFkIG9mIGhvbWUtZ3Jvd24gc29sdXRpb24uCgoyMDEyLTA3LTI3IDE1OjIxOjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgdXBkYXRlIGZvciBuZXcgdmFyaWFibGUgbmFtZXMKCjIwMTItMDctMDIgMTI6NTI6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiB1c2UgbXVsdGlmZHNpbmsgZm9yIHN0cmVhbWhlYWRlciB0ZXN0CgkgIFVzZSBtdWx0aWZkc2luayBmb3IgcGlwZXMgaW5zdGVhZCBvZiBtdWx0aXNvY2tldHNpbmssCgkgIHRvIGF2b2lkICJjcmVhdGluZyBHU29ja2V0IGZyb20gZmQgOTogU29ja2V0IG9wZXJhdGlvbgoJICBvbiBub24tc29ja2V0ICJjcml0aWNhbHMgZnJvbSBHaW8uIFRlc3Qgc3RpbGwgZmFpbHMsCgkgIGJ1dCBpdCBmYWlscyBpbiBhIGRpZmZlcmVudCB3YXkgbm93LgoKMjAxMi0wNC0yNSAxODowNzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBsdWcgYnVmZmVyIGxlYWsKCjIwMTItMDQtMTkgMTQ6NDE6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBpbml0aWFsaXplIHZhcmlhYmxlcwoKMjAxMi0wNC0xMCAwMDo0NToxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIFVzZSBuZXcgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X3N0YXRpY19tZXRhZGF0YSgpCgoyMDEyLTA0LTA1IDE1OjExOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgIGdzdDogVXBkYXRlIGZvciBHU1RfUExVR0lOX0RFRklORSgpIEFQSSBjaGFuZ2UKCjIwMTItMDQtMDEgMTg6MTE6MjMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBJbXByb3ZlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIHdyYXBwZWQgbWVtb3J5CgoyMDEyLTAzLTMwIDE4OjEyOjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0yOCAxMjo0ODo1NSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYnVmZmVyIGNoYW5nZXMKCjIwMTItMDMtMTUgMTM6MzI6MDggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMi0yMiAwMjowNToyNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHVwZGF0ZSBmb3IgbmV3IG1lbW9yeSBhcGkKCjIwMTItMDItMDMgMTE6Mzg6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBmaXh1cCB1bml0IHRlc3RzCgoyMDEyLTAyLTAzIDExOjM4OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ2RwcGF5OiBmaXh1cCBmb3IgY2hhbmdlZCBjYXBzCgkgIFRyeSB0byBzZW5kIHRoZSBzdHJlYW1oZWFkZXIgYWZ0ZXIgdGhlIGZpcnN0IGJ1ZmZlci4KCjIwMTItMDItMDMgMTE6Mzc6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBkYXRhcHJvdG9jb2w6IGRvbid0IGRlZmluZSBkZWZhdWx0IENhdGVnb3J5CgkgIFNpbmNlIHdlIG5vdyBpbmNsdWRlIHRoaXMgaW50byB0aGUgdW5pdCB0ZXN0cyBkaXJlY3RseSwgZG9uJ3QgZGVmaW5lIHRoZSBkZWZhdWx0CgkgIGNhdGVnb3J5IG1hY3JvIGJlY2F1c2UgaXQgY29uZmxpY3RzIHdpdGggY2hlY2suCgoyMDEyLTAxLTMwIDE3OjE2OjE3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgdXBkYXRlIGZvciBIRUFERVIgZmxhZyBjaGFuZ2VzCgoyMDEyLTAxLTIwIDE2OjExOjU0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICBwb3J0IHRvIG5ldyBtYXAgQVBJCgoyMDEyLTAxLTE5IDE1OjMyOjUyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogZml4IHNvbWUgdGVzdHMKCjIwMTItMDEtMDQgMTY6NDE6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICB0ZXN0czogcG9ydCBhbmQgZW5hYmxlIG1vcmUgdW5pdCB0ZXN0cwoKMjAxMS0xMi0yNSAyMzoxOTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSogZ3N0L2dkcC9nc3RnZHAuYzoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgZ2RwOiBtb3ZlIGRhdGFwcm90b2NvbCBsaWJyYXJ5IGludG8gZ2RwIHBsdWdpbiBhbmQgbWFrZSBwcml2YXRlCgkgIFdlIGhhdmUgcmVtb3ZlZCB0aGluZ3MgbGlrZSBwcm90b2NvbD1nZHAgaW4gdGhlIHRjcCBlbGVtZW50cwoJICBpbiBmYXZvdXIgb2YgZXhwbGljaXQgZ2RwcGF5L2RlcGF5IGVsZW1lbnRzLCBzbyB0aGVyZSdzIG5vIG5lZWQKCSAgdG8ga2VlcCBhIHB1YmxpYyBBUEkgYW5kIGxpYnJhcnkgZm9yIG5vdy4gV2UgY2FuIHN0aWxsIGFkZCBpdAoJICBiYWNrIGxhdGVyLiBTb21lb25lIG5lZWRzIHRvIHRoaW5rIGhhcmQgYWJvdXQgMC4xMSBhbmQgZ2RwCgkgIGFueXdheSBvbmUgb2YgdGhlc2UgZGF5cy4KCjIwMTEtMTEtMTEgMTc6MTc6NDMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGZpeCBoZWFkZXIgZmlsZXMKCSAgRW5zdXJlIGNvcnJlY3QgaW5kZW50YXRpb24gYW5kIHJldGFiCgkgIE1ha2Ugc3VyZSBhbGwgc3RydWN0dXJlIGhhdmUgcGFkZGluZwoKMjAxMS0wOC0xNiAxNzozMjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogcmVuYW1lIGJ1ZmZlciBQUkVST0xMIC0+IExJVkUgZmxhZwoJICBSZW5hbWUgdGhlIEdTVF9CVUZGRVJfRkxBR19QUkVST0xMIHRvIEdTVF9CVUZGRVJfRkxBR19MSVZFIGFuZCBnaXZlIHRoZSBuZXcgZmxhZwoJICBhIG1lYW5pbmcuIFRoZSBvbGQgUFJFUk9MTCBmbGFnIG5ldmVyIGhhZCBhIGNsZWFyIG1lYW5pbmcuCgoyMDExLTA2LTEwIDEzOjQwOjU3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBtYWtlIG5ldyBfYnVmZmVyX2FsbG9jYXRlIG1ldGhvZAoJICBNYWtlIGEgbmV3IG1ldGhvZCB0byBhbGxvY2F0ZSBhIGJ1ZmZlciArIG1lbW9yeSB0aGF0IHRha2VzIHRoZSBhbGxvY2F0b3IgYW5kIHRoZQoJICBhbGlnbm1lbnQgYXMgcGFyYW1ldGVycy4gUHJvdmlkZSBhIG1hY3JvIGZvciB0aGUgb2xkIG1ldGhvZCBidXQgcHJlZmVyIHRvIHVzZQoJICB0aGUgbmV3IG1ldGhvZCB0byBlbmNvdXJhZ2UgcGx1Z2lucyB0byBuZWdvdGlhdGUgdGhlIGFsbG9jYXRvciBwcm9wZXJseS4KCjIwMTEtMDUtMTMgMTg6MDc6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IFJld29yayBHc3RTZWdtZW50IGhhbmRsaW5nCgkgIEltcHJvdmUgR3N0U2VnbWVudCwgcmVuYW1lIHNvbWUgZmllbGRzLiBUaGUgaWRlYSBpcyB0byBoYXZlIHRoZSBHc3RTZWdtZW50CgkgIHN0cnVjdHVyZSByZXByZXNlbnQgdGhlIHRpbWluZyBzdHJ1Y3R1cmUgb2YgdGhlIGJ1ZmZlcnMgYXMgdGhleSBhcmUgZ2VuZXJhdGVkIGJ5CgkgIHRoZSBzb3VyY2Ugb3IgZGVtdXhlciBlbGVtZW50LgoJICBnc3Rfc2VnbWVudF9zZXRfc2VlaygpIC0+IGdzdF9zZWdtZW50X2RvX3NlZWsoKQoJICBSZW5hbWUgdGhlIE5FV1NFR01FTlQgZXZlbnQgdG8gU0VHTUVOVC4KCSAgTWFrZSBwYXJzaW5nIG9mIHRoZSBTRUdNRU5UIGV2ZW50IGludG8gYSBHc3RTZWdtZW50IHN0cnVjdHVyZS4KCSAgUGFzcyBhIEdzdFNlZ21lbnQgc3RydWN0dXJlIHdoZW4gbWFraW5nIGEgbmV3IFNFR01FTlQgZXZlbnQuIFRoaXMgYWxsb3dzIHVzIHRvCgkgIHBhc3MgdGhlIHRpbWluZyBpbmZvIGRpcmVjdGx5IHRvIHRoZSBuZXh0IGVsZW1lbnQuIE5vIGFjY3VtdWxhdGlvbiBpcyBuZWVkZWQgaW4KCSAgdGhlIHJlY2VpdmluZyBlbGVtZW50LCBhbGwgdGhlIGluZm8gaXMgaW5zaWRlIHRoZSBlbGVtZW50LgoJICBSZW1vdmUgZ3N0X3NlZ21lbnRfc2V0X25ld3NlZ21lbnQoKTogVGhpcyBmdW5jdGlvbiBhcyB1c2VkIHRvIGFjY3VtdWxhdGUKCSAgc2VnbWVudHMgcmVjZWl2ZWQgZnJvbSB1cHN0cmVhbSwgd2hpY2ggaXMgbm93IG5vdCBuZWVkZWQgYW55bW9yZSBiZWNhdXNlIHRoZQoJICBzZWdtZW50IGV2ZW50IGNvbnRhaW5zIHRoZSBjb21wbGV0ZSB0aW1pbmcgaW5mb3JtYXRpb24uCgoyMDExLTA1LTEwIDExOjUwOjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBIaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgaW4gR3N0RXZlbnQKCSAgSGlkZSB0aGUgR3N0U3RydWN0dXJlIG9mIHRoZSBldmVudCBpbiB0aGUgaW1wbGVtZW50YXRpb24gc3BlY2lmaWMgcGFydCBzbyB0aGF0CgkgIHdlIGNhbiBjaGFuZ2UgaXQuCgkgIEFkZCBtZXRob2RzIHRvIGNoZWNrIGFuZCBtYWtlIHRoZSBldmVudCB3cml0YWJsZS4KCSAgQWRkIGEgbmV3IG1ldGhvZCB0byBnZXQgYSB3cml0YWJsZSBHc3RTdHJ1Y3R1cmUgb2YgdGhlIGVsZW1lbnQuCgkgIEF2b2lkIGRpcmVjdGx5IGFjY2lzaW5nIHRoZSBldmVudCBzdHJ1Y3R1cmUuCgoyMDExLTA1LTAyIDE2OjAwOjUyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5oOgoJICBnZHA6IGFkZCBkb2NzIGZvciBHc3REUFBhY2tldGl6ZXIKCjIwMTEtMDMtMjEgMTg6MTM6NTUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHBvcnQgY29kZSB0byBuZXcgYnVmZmVyIGRhdGEgQVBJCgoyMDEwLTEyLTA2IDE5OjQwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSAgZ2RwOiByZW1vdmUgZGVwcmVjYXRlZCBjb2RlCgoyMDEwLTEwLTA4IDA5OjM0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogbWFrZSBwdWJsaWMgZW51bSBfZ2V0X3R5cGUoKSBmdW5jdGlvbnMgdGhyZWFkLXNhZmUKCSAgTm90IHRoYXQgaXQgaXMgbGlrZWx5IHRvIG1hdHRlciBpbiBwcmFjdGljZSwgYnV0IHNpbmNlIHRoZXNlIGFyZSBwdWJsaWMKCSAgQVBJIHRoZXkgc2hvdWxkIHByb2JhYmx5IGJlIHRocmVhZC1zYWZlLgoKMjAxMC0xMC0wOCAwMDozODozOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRhdGFwcm90b2NvbCwgbGZvY29udHJvbHNvdXJjZTogZml4IGVudW0gdmFsdWUgbmFtZSBpbiBlbnVtcyB0aGF0IGFyZSBwdWJsaWMgQVBJCgkgIFNvIHJ1bi10aW1lIGJpbmRpbmdzIGNhbiBpbnRyb3NwZWN0IHRoZSBuYW1lcyBjb3JyZWN0bHkgKHdlIGFidXNlIHRoaXMKCSAgZmllbGQgYXMgZGVzY3JpcHRpb24gZmllbGQgb25seSBpbiBlbGVtZW50cywgbm90IGZvciBwdWJsaWMgQVBJCgkgICh3aGVyZSB0aGUgZGVzY3JpcHRpb24gYmVsb25ncyBpbnRvIHRoZSBndGstZG9jIGNodW5rKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyOTk0NgoKMjAxMC0wMy0wMiAyMjo1ODowNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBGaXhlcyBmb3IgLVdtaXNzaW5nLWRlY2xhcmF0aW9ucyAtV21pc3NpbmctcHJvdG90eXBlcwoJICBBbHNvIGFkZHMgdGhvc2UgZmxhZ3MgdG8gdGhlIGNvbmZpZ3VyZSB3YXJuaW5nIGZsYWdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTE2OTIKCjIwMTAtMDMtMDIgMjM6NTE6MTggKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IE1ha2UgY29kZSBzYWZlIGZvciAtV3JlZHVuZGFudC1kZWNscwoJICBBZGRzIHRoYXQgd2FybmluZyB0byBjb25maWd1cmUuYWMKCSAgSW5jbHVkZXMgYSB0aW55IGNoYW5nZSBvZiB0aGUgR1NUX0JPSUxFUlBMQVRFX0ZVTEwoKSBtYWNybzoKCSAgVGhlIGdldF90eXBlKCkgZnVuY3Rpb24gaXMgbm8gbG9uZ2VyIGRlY2xhcmVkIGJlZm9yZSBiZWluZyBkZWZpbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNjkyCgoyMDA5LTExLTI3IDE2OjM5OjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGZpeCBicm9rZW4geHJlZnMgaW4gZG9jcwoKMjAwOC0wNi0zMCAwOTozODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ2RwOiBEb24ndCB3cml0ZSB0byB0aGUgc2FtZSByZWdpb24gb2YgbWVtb3J5IGFzIGEgdWludDY0IGFuZCB1aW50MTYgYXMgdGhpcyBicmVha3MgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgRG9uJ3Qgd3JpdGUgdG8gdGhlIHNhbWUgcmVnaW9uIG9mIG1lbW9yeSBhcyBhIHVpbnQ2NCBhbmQgdWludDE2CgkgIGFzIHRoaXMgYnJlYWtzIHN0cmljdCBhbGlhc2luZyBydWxlcyBhbmQgYXBwYXJhbnRseSBicmVha3Mgb24gUFBDCgkgIGFuZCBzMzkwLiBUaGFua3MgdG8gU2pvZXJkIFNpbW9ucyBmb3IgYW5hbHlzaW5nLiBGaXhlcyBidWcgIzM0ODExNC4KCjIwMDgtMDMtMjcgMTU6MjM6NTUgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdkcDogV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnRfMV8wKToKCSAgV2hlbiBjYWxjdWxhdGluZyBHRFAgYm9keSBDUkMsIHVzZSB0aGUgY29ycmVjdCBwb2ludGVyLgoJICBGaXhlcyBwYXJ0IG9mICM1MjI0MDEuCgoyMDA4LTAyLTI5IDEyOjQxOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnZHA6IENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ3N0Y29uZmlnLmguaW46CgkgICogbGlicy9nc3QvYmFzZS9nc3Rjb2xsZWN0cGFkcy5jOiAoZ3N0X2NvbGxlY3RfcGFkc19yZWFkX2J1ZmZlcik6CgkgICogbGlicy9nc3QvY2hlY2svZ3N0Y2hlY2suYzogKGdzdF9jaGVja19sb2dfbWVzc2FnZV9mdW5jKSwKCSAgKGdzdF9jaGVja19sb2dfY3JpdGljYWxfZnVuYyksIChnc3RfY2hlY2tfZHJvcF9idWZmZXJzKSwKCSAgKGdzdF9jaGVja19lbGVtZW50X3B1c2hfYnVmZmVyX2xpc3QpOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5jOiAoZ3N0X2NvbnRyb2xsZXJfZ2V0KSwKCSAgKGdzdF9jb250cm9sbGVyX2dldF90eXBlKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGhlbHBlci5jOiAoZ3N0X29iamVjdF9jb250cm9sX3Byb3BlcnRpZXMpLAoJICAoZ3N0X29iamVjdF9nZXRfY29udHJvbGxlciksIChnc3Rfb2JqZWN0X2dldF9jb250cm9sX3NvdXJjZSk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RpbnRlcnBvbGF0aW9uY29udHJvbHNvdXJjZS5jOgoJICAoZ3N0X2ludGVycG9sYXRpb25fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuYzoKCSAgKGdzdF9sZm9fY29udHJvbF9zb3VyY2VfbmV3KToKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMF8yKToKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdGZkc3JjLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RtdWx0aXF1ZXVlLmM6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3R0ZWUuYzoKCSAgKiBwbHVnaW5zL2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0ZmlsZWluZGV4LmM6IChfZmlsZV9pbmRleF9pZF9zYXZlX3htbCksCgkgIChnc3RfZmlsZV9pbmRleF9hZGRfYXNzb2NpYXRpb24pOgoJICAqIHBsdWdpbnMvaW5kZXhlcnMvZ3N0bWVtaW5kZXguYzoKCSAgKiB0ZXN0cy9iZW5jaG1hcmtzL2dzdHBvbGxzdHJlc3MuYzogKG1lc3Nfc29tZV9tb3JlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdWV1ZS5jOiAoc2V0dXBfcXVldWUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC9nc3RwaXBlbGluZS5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY29sbGVjdHBhZHMuYzogKHNldHVwKSwgKHRlYXJkb3duKSwKCSAgKGdzdF9jb2xsZWN0X3BhZHNfc3VpdGUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL2FkYXB0ZXIvYWRhcHRlcl90ZXN0LmM6CgkgICogdGVzdHMvZXhhbXBsZXMvbWV0YWRhdGEvcmVhZC1tZXRhZGF0YS5jOiAobWFrZV9waXBlbGluZSk6CgkgICogdGVzdHMvZXhhbXBsZXMveG1sL2NyZWF0ZXhtbC5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3htbC9ydW54bWwuYzoKCSAgKiB0b29scy9nc3QtaW5zcGVjdC5jOgoJICAqIHRvb2xzL2dzdC1ydW4uYzoKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMsIG5vdCB1c2luZyB2YXJpYWJsZSBzaXplZCBhcnJheXMKCSAgb24gdGhlIHN0YWNrLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YKCSAgYSBibG9jayBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDEtMDggMDI6MDc6MzggKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnZHA6IEZpeCBlbXB0eSBwcm90b3R5cGVzLiBGaXhlcyBidWcgIzUwNzk1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbGxlci5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0Y29udHJvbHNvdXJjZS5oOgoJICAqIGxpYnMvZ3N0L2NvbnRyb2xsZXIvZ3N0aW50ZXJwb2xhdGlvbmNvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGxmb2NvbnRyb2xzb3VyY2UuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmg6CgkgIEZpeCBlbXB0eSBwcm90b3R5cGVzLiAgRml4ZXMgYnVnICM1MDc5NTcuCgoyMDA3LTExLTAxIDIxOjUwOjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dzdC5jOiAoaW5pdF9wb3N0KToKCSAgKiBnc3QvZ3N0ZXZlbnQuYzogKF9nc3RfZXZlbnRfaW5pdGlhbGl6ZSk6CgkgICogZ3N0L2dzdHF1ZXJ5LmM6IChfZ3N0X3F1ZXJ5X2luaXRpYWxpemUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX2luaXQpOgoJICBnX3R5cGVfY2xhc3NfcmVmKCkgb3RoZXIgdHlwZXMgYXMgd2VsbCwgc2VlICMzNDk0MTAgYW5kICM2NDc2NC4KCSAgKiBnc3QvZ3N0YnVmZmVyLmM6IChfZ3N0X2J1ZmZlcl9pbml0aWFsaXplKToKCSAgKiBnc3QvZ3N0bWVzc2FnZS5jOiAoX2dzdF9tZXNzYWdlX2luaXRpYWxpemUpOgoJICBTaW1wbGlmeSBleGlzdGluZyBnX3R5cGVfY2xhc3NfcmVmKCkuCgoyMDA2LTEwLTA1IDE0OjI2OjA4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ2RwOiBQcmludGYgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nc3RwYWQuYzogKHByZV9hY3RpdmF0ZSk6CgkgICogZ3N0L2dzdHJlZ2lzdHJ5LmM6IChnc3RfcmVnaXN0cnlfc2Nhbl9wYXRoX2xldmVsKToKCSAgKiBnc3QvZ3N0cmVnaXN0cnl4bWwuYzogKGxvYWRfcGx1Z2luKToKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKGdzdF9jb250cm9sbGVkX3Byb3BlcnR5X3NldF9pbnRlcnBvbGF0aW9uX21vZGUpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApOgoJICAqIGxpYnMvZ3N0L25ldC9nc3RuZXRjbGllbnRjbG9jay5jOgoJICAoZ3N0X25ldF9jbGllbnRfY2xvY2tfb2JzZXJ2ZV90aW1lcyk6CgkgICogcGx1Z2lucy9lbGVtZW50cy9nc3RmZHNyYy5jOiAoZ3N0X2ZkX3NyY19jcmVhdGUpOgoJICBQcmludGYgZml4ZXMuCgoyMDA2LTA4LTExIDE1OjI2OjMzICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgaXMgb25seSBmb3IgdXNlcnMgb2YgQVBJIHRoYXQgZG9uJ3Qgd2FudCB0byBzZWUgZGVwcmVjYXRlZCBmdW5jdGlvbnMgaW4gdGhlIGhlYWRlcnM7IHBlb3BsZSB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0xMSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldGl6ZXJfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2dkcC5jOiAoZ3N0X2RwX3N1aXRlKTogR1NUX0RJU0FCTEVfREVQUkVDQVRFRAoJICBpcyBvbmx5IGZvciB1c2VycyBvZiBBUEkgdGhhdCBkb24ndCB3YW50IHRvIHNlZSBkZXByZWNhdGVkCgkgIGZ1bmN0aW9ucyBpbiB0aGUgaGVhZGVyczsgcGVvcGxlIHRoYXQgd2FudCB0byBjb21waWxlIG91dAoJICBkZXByZWNhdGVkIGNvZGUgc2hvdWxkIHBhc3MgLURHU1RfUkVNT1ZFX0RFUFJFQ0FURUQgaW50byB0aGUKCSAgQ0ZMQUdTLiBGaXhlcyB0aGUgYnVpbGQgb2YgbXVsdGlmZHNpbmssIG9yIHdpbGwgc29vbi4uCgoyMDA2LTA4LTEwIDE5OjQ2OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnZHA6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwgZml4IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9saWJzL2dzdHJlYW1lci1saWJzLXNlY3Rpb25zLnR4dDoKCSAgKiBsaWJzL2dzdC9jb250cm9sbGVyL2dzdGNvbnRyb2xsZXIuYzoKCSAgKF9nc3RfY29udHJvbGxlcl9nZXRfcHJvcGVydHkpLCAoX2dzdF9jb250cm9sbGVyX3NldF9wcm9wZXJ0eSksCgkgIChfZ3N0X2NvbnRyb2xsZXJfaW5pdCksIChfZ3N0X2NvbnRyb2xsZXJfY2xhc3NfaW5pdCk6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3Rjb250cm9sbGVyLmg6CgkgICogbGlicy9nc3QvY29udHJvbGxlci9nc3RoZWxwZXIuYzogKGdzdF9vYmplY3RfZ2V0X2NvbnRyb2xfcmF0ZSksCgkgIChnc3Rfb2JqZWN0X3NldF9jb250cm9sX3JhdGUpOgoJICBBUEk6IGFkZCBnc3Rfb2JqZWN0X3tzLGd9ZXRfY29udHJvbF9yYXRlKCksIGFkZCBwcml2YXRlIGRhdGEgc2VjdGlvbiwKCSAgZml4IGRvY3MKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IChnc3RfZHBfcGFja2V0aXplcl9uZXcpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgYWRkIGRlcHJlY2F0aW9uIGd1YXJkcyB0byBtYWtlIGd0ay1kb2MgaGFwcHkgYW5kIGFsbG93IGRpc2FibGluZyBjcnVmdAoKMjAwNi0wOC0wMiAxNToxOTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogTWFrZSBkZWJ1ZyBjYXRlZ29yeSBzdGF0aWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcl9hbnkpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHNfYW55KSwKCSAgKGdzdF9kcF9jcmMpLCAoZ3N0X2RwX2hlYWRlcl9wYXlsb2FkX2xlbmd0aCksCgkgIChnc3RfZHBfaGVhZGVyX3BheWxvYWRfdHlwZSksIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50XzFfMCksIChnc3RfZHBfYnVmZmVyX2Zyb21faGVhZGVyKSwKCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KSwgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldF8wXzIpLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0KSwgKGdzdF9kcF92YWxpZGF0ZV9oZWFkZXIpLAoJICAoZ3N0X2RwX3ZhbGlkYXRlX3BheWxvYWQpOgoJICBNYWtlIGRlYnVnIGNhdGVnb3J5IHN0YXRpYwoJICBDb25zdGlmeSB0aGUgY3JjIHRhYmxlLgoJICBEbyBzb21lIG1vcmUgYXJnIGNoZWNraW5nIGluIHB1YmxpYyBmdW5jdGlvbnMuCgkgIEZpeCBzb21lIGRvY3MgYW5kIGRvIHNvbWUgc21hbGwgY2xlYW51cHMuCgkgICogdGVzdHMvY2hlY2svbGlicy9nZHAuYzogKEdTVF9TVEFSVF9URVNUKSwgKGdzdF9kcF9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgY2hlY2tzIHRvIHNlZSBpZiBHRFAgZGVhbHMgd2l0aCBib2d1cyBpbnB1dC4KCjIwMDYtMDctMTMgMTQ6MDI6MTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ2RwOiBmaXggZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGggZW1wdHkgcGF5bG9hZCAob25seSBldi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKToKCSAgRml4ZXMgIzM0NzMzNzogZmFpbHVyZSB0byBkZXNlcmlhbGl6ZSBldmVudCBwYWNrZXRzIHdpdGgKCSAgZW1wdHkgcGF5bG9hZCAob25seSBldmVudCB0eXBlKQoKMjAwNi0wNi0xMyAxOToyNDozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGFkZCBhIGdkcCBpbWFnZSB0byB0aGUgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL1JFQURNRToKCSAgKiBkb2NzL2ltYWdlcy9nZHAtaGVhZGVyLnN2ZzoKCSAgYWRkIGEgZ2RwIGltYWdlCgkgICogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvbGlicy9nZHAtaGVhZGVyLnBuZzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIGFkZCBpdCB0byB0aGUgQVBJIGRvY3MKCSAgKiBkb2NzL21hbnVhbC9pbnRyby1tb3RpdmF0aW9uLnhtbDoKCSAgZml4IHR5cG8KCjIwMDYtMDYtMDYgMTQ6Mjk6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbm90ZSB0byBkb2NzIGFib3V0IEdEUCB2ZXJzaW9uaW5nOyByZW1vdmUgdG1wbCBmaWxlCgoyMDA2LTA2LTA2IDE0OjI0OjAwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogYWRkIGEgR3N0RFBQYWNrZXRpemVyIG9iamVjdCwgYW5kIGNyZWF0ZS9mcmVlIGZ1bmN0aW9ucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6CgkgIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyX2FueSksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc19hbnkpLAoJICAoZ3N0X2RwX3ZlcnNpb25fZ2V0X3R5cGUpLCAoZ3N0X2RwX2luaXQpLAoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfaGVhZGVyX2Zyb21fYnVmZmVyXzFfMCksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksIChnc3RfZHBfcGFja2V0X2Zyb21fY2Fwc18xXzApLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudF8xXzApLAoJICAoZ3N0X2RwX2V2ZW50X2Zyb21fcGFja2V0XzBfMiksIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXRfMV8wKSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCksIChnc3RfZHBfcGFja2V0aXplcl9uZXcpLAoJICAoZ3N0X2RwX3BhY2tldGl6ZXJfZnJlZSk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IGFkZCBhIEdzdERQUGFja2V0aXplciBvYmplY3QsIGFuZCBjcmVhdGUvZnJlZSBmdW5jdGlvbnMKCSAgQVBJOiBhZGQgR3N0RFBWZXJzaW9uIGVudW0KCSAgQWRkIDEuMCBldmVudCBmdW5jdGlvbiB0aGF0IHVzZXMgdGhlIHN0cmluZyBzZXJpYWxpemF0aW9uCgkgIFNlcmlhbGl6ZSBtb3JlIHVzZWZ1bCBidWZmZXIgZmxhZ3MKCSAgRml4ZXMgIzM0Mzk4OAoKMjAwNi0wNi0wMiAxNjo0NjoxOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IGZhY3RvciBvdXQgQ1JDIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICBmYWN0b3Igb3V0IENSQyBjb2RlCgoyMDA2LTA2LTAyIDEwOjU4OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KToKCSAgZmFjdG9yIG91dCBzb21lIGNvbW1vbiBoZWFkZXIgaW5pdCBjb2RlCgoyMDA2LTA2LTAyIDEwOjA4OjMxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdkcDogbWFrZSBnc3RfZHBfY3JjKCkgcHVibGljCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvbGlicy9nc3RyZWFtZXItbGlicy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9saWJzL3RtcGwvZ3N0ZGF0YXByb3RvY29sLnNnbWw6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICBBUEk6IG1ha2UgZ3N0X2RwX2NyYygpIHB1YmxpYwoKMjAwNi0wNi0wMSAxMToxMzo0NCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnZHA6IG1ha2Ugc3VyZSB3ZSB6ZXJvIHRoZSB3aG9sZSBBQkktY29tcGF0aWJsZSBhcmVhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzoKCSAgKGdzdF9kcF9oZWFkZXJfZnJvbV9idWZmZXIpOgoJICBtYWtlIHN1cmUgd2UgemVybyB0aGUgd2hvbGUgQUJJLWNvbXBhdGlibGUgYXJlYQoKMjAwNi0wNS0wOCAxNTo1MzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IHdoaXRlc3BhY2UsIGNvbW1lbnQsIGRvYyBmaXh1cAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd2hpdGVzcGFjZSwgY29tbWVudCwgZG9jIGZpeHVwCgoyMDA2LTA0LTI4IDEzOjQwOjE1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0gZGVyZWZlcmVuY2luZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwKCSAgKGdzdF9kcF9ldmVudF9mcm9tX3BhY2tldCk6CgkgIEZpeGVzIGluIHJlYWRpbmcvd3JpdGluZyBldmVudHMgb3ZlciBHRFAgKG5vdCBjdXJyZW50bHkgdXNlZD8pIC0KCSAgZGVyZWZlcmVuY2luZyBOVUxMIGV2ZW50cyBmb3IgdW5rbm93bi9pbnZhbGlkIGV2ZW50IHR5cGVzLCBtZW1vcnkKCSAgbGVhaywgYW5kIGNoYW5nZSBnX3dhcm5pbmcgdG8gR1NUX1dBUk5JTkcuCgoyMDA2LTAzLTEwIDE1OjMwOjI3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnZHA6IEZpeCBkb2NzIGZvciBkYXRhcHJvY290b2wgdG8gbm90IGdldCB0aGUgcmV0dXJuIHR5cGVzIGNvbXBsZXRlbHkgd3JvbmcgZm9yIGEgZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICBGaXggZG9jcyBmb3IgZGF0YXByb2NvdG9sIHRvIG5vdCBnZXQgdGhlIHJldHVybiB0eXBlcyBjb21wbGV0ZWx5CgkgIHdyb25nIGZvciBhIGZldyBmdW5jdGlvbnMuCgoyMDA1LTEyLTE4IDE2OjA0OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ2RwOiBEb2N1bWVudGF0aW9uIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5jOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YWRhcHRlci5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNpbmsuYzogKGdzdF9iYXNlX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9zaW5rX2dldF9wb3NpdGlvbik6CgkgICogbGlicy9nc3QvYmFzZS9nc3RiYXNlc2luay5oOgoJICAqIGxpYnMvZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfcXVlcnkpLCAoZ3N0X2Jhc2Vfc3JjX2RlZmF1bHRfZG9fc2VlayksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfcGVyZm9ybV9zZWVrKSwKCSAgKGdzdF9iYXNlX3NyY19zZW5kX2V2ZW50KSwgKGdzdF9iYXNlX3NyY191cGRhdGVfbGVuZ3RoKSwKCSAgKGdzdF9iYXNlX3NyY19nZXRfcmFuZ2UpLCAoZ3N0X2Jhc2Vfc3JjX2xvb3ApLAoJICAoZ3N0X2Jhc2Vfc3JjX3N0YXJ0KToKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2VzcmMuaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGJhc2V0cmFuc2Zvcm0uaDoKCSAgKiBsaWJzL2dzdC9iYXNlL2dzdGNvbGxlY3RwYWRzLmg6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmM6CgkgICogbGlicy9nc3QvYmFzZS9nc3RwdXNoc3JjLmg6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0Y2xpZW50Y2xvY2suaDoKCSAgKiBsaWJzL2dzdC9uZXQvZ3N0bmV0dGltZXByb3ZpZGVyLmg6CgkgIERvY3VtZW50YXRpb24gdXBkYXRlcy4KCjIwMDUtMTAtMTMgMTY6MjY6MTIgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdkcDogRml4IFRpbW1la2UgV2F5bWFucyBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTEzICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYyAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpOgoJICBGaXggVGltbWVrZSBXYXltYW5zIGJ1Zy4KCSAgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KTogTWFrZSBzdXJlIHdlIHBhc3MgYSBOVUwtdGVybWluYXRlZAoJICBzdHJpbmcgb2YgdGhlIHByb3BlciBsZW5ndGggdG8gZ3N0X2NhcHNfZnJvbV9zdHJpbmcuIFRoZXJlJ3MgYQoJICBwb3RlbnRpYWwgZm9yLCBiZWZvcmUgdGhpcyBmaXgsIHRoYXQgdGhpcyBjb3VsZCBjYXVzZSBzb21lb25lCgkgIGNvbm5lY3Rpbmcgb3ZlciB0aGUgbmV0d29yayB0byBjYXVzZSBhIHNlZ2ZhdWx0IGlmIHRoZSBwYXlsb2FkIGlzCgkgIG5vdCBOVUwtdGVybWluYXRlZC4KCjIwMDUtMTAtMTAgMjM6NTU6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggbW9yZSB2YWxncmluZCB3YXJuaW5ncyBiZWZvcmUgdHVybmluZyB1cCB0aGUgaGVhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1vcmUgdmFsZ3JpbmQgd2FybmluZ3MgYmVmb3JlIHR1cm5pbmcgdXAgdGhlIGhlYXQKCjIwMDUtMTAtMDggMTc6MTc6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEl0J3MgYWJvdXQgdGltZSB3ZSBidW1wIHRoZSB2ZXJzaW9uIG51bWJlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlciksIChnc3RfZHBfcGFja2V0X2Zyb21fY2FwcyksCgkgIChnc3RfZHBfcGFja2V0X2Zyb21fZXZlbnQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZHAtcHJpdmF0ZS5oOgoJICBJdCdzIGFib3V0IHRpbWUgd2UgYnVtcCB0aGUgdmVyc2lvbiBudW1iZXIuCgkgIFNpbmNlIGV2ZW50IHR5cGVzIGRvbid0IGZpdCBpbiB0aGUgZ3VpbnQ4IGFueW1vcmUgZGVzY3JpYmluZwoJICB0aGUgcGF5bG9hZCB0eXBlLCBtYWtlIHBheWxvYWQgdHlwZSAxNiBiaXRzIHdpZGUuCgoyMDA1LTA5LTI3IDE2OjMwOjI2ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4gdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0yNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBsaWJzL2dzdC9kYXRhcHJvdG9jb2wvZGF0YXByb3RvY29sLmM6IEZpeCBlcnJvci1jaGVja2luZyByZXR1cm4KCSAgdmFsdWVzLgoKMjAwNS0wNy0yNyAxOTowMDozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogRml4IHNlcmlhbGl6YXRpb24gb2Ygc2VlayBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBGaXggc2VyaWFsaXphdGlvbiBvZiBzZWVrIGV2ZW50cy4KCjIwMDUtMDctMjcgMTg6MzM6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IFNvbWUgZG9jcyB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIENIQU5HRVMtMC45OgoJICAqIGRvY3MvZGVzaWduL3BhcnQtVE9ETy50eHQ6CgkgICogZG9jcy9kZXNpZ24vcGFydC1ldmVudHMudHh0OgoJICBTb21lIGRvY3MgdXBkYXRlcwoJICAqIGdzdC9iYXNlL2dzdGJhc2VzaW5rLmM6IChnc3RfYmFzZV9zaW5rX2hhbmRsZV9vYmplY3QpLAoJICAoZ3N0X2Jhc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9zaW5rX2RvX3N5bmMpLAoJICAoZ3N0X2Jhc2Vfc2lua19hY3RpdmF0ZV9wdXNoKSwgKGdzdF9iYXNlX3NpbmtfYWN0aXZhdGVfcHVsbCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXNyYy5jOiAoZ3N0X2Jhc2Vfc3JjX3NlbmRfZGlzY29udCksCgkgIChnc3RfYmFzZV9zcmNfZG9fc2VlayksIChnc3RfYmFzZV9zcmNfZXZlbnRfaGFuZGxlciksCgkgIChnc3RfYmFzZV9zcmNfbG9vcCk6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9iYXNlX3RyYW5zZm9ybV9jb25maWd1cmVfY2FwcyksIChnc3RfYmFzZV90cmFuc2Zvcm1fc2V0Y2FwcyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZ2V0X3NpemUpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1fZXZlbnQpLCAoZ3N0X2Jhc2VfdHJhbnNmb3JtX2hhbmRsZV9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NldF9wYXNzdGhyb3VnaCksCgkgIChnc3RfYmFzZV90cmFuc2Zvcm1faXNfcGFzc3Rocm91Z2gpOgoJICAqIGdzdC9lbGVtZW50cy9nc3RmYWtlc2luay5jOiAoZ3N0X2Zha2Vfc2lua19ldmVudCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzaW5rLmM6IChnc3RfZmlsZV9zaW5rX2V2ZW50KToKCSAgRXZlbnQgdXBkYXRlcy4KCSAgKiBnc3QvZ3N0YnVmZmVyLmg6CgkgIFVzZSBmYXN0ZXIgY2FzdHMuCgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3NlZWspOgoJICAqIGdzdC9nc3RlbGVtZW50Lmg6CgkgIFVwZGF0ZSBnc3RfZWxlbWVudF9zZWVrLgoJICAqIGdzdC9nc3RldmVudC5jOiAoZ3N0X2V2ZW50X2ZpbmFsaXplKSwgKF9nc3RfZXZlbnRfY29weSksCgkgIChnc3RfZXZlbnRfbmV3KSwgKGdzdF9ldmVudF9uZXdfY3VzdG9tKSwgKGdzdF9ldmVudF9nZXRfc3RydWN0dXJlKSwKCSAgKGdzdF9ldmVudF9uZXdfZmx1c2hfc3RhcnQpLCAoZ3N0X2V2ZW50X25ld19mbHVzaF9zdG9wKSwKCSAgKGdzdF9ldmVudF9uZXdfZW9zKSwgKGdzdF9ldmVudF9uZXdfbmV3c2VnbWVudCksCgkgIChnc3RfZXZlbnRfcGFyc2VfbmV3c2VnbWVudCksIChnc3RfZXZlbnRfbmV3X3RhZyksCgkgIChnc3RfZXZlbnRfcGFyc2VfdGFnKSwgKGdzdF9ldmVudF9uZXdfZmlsbGVyKSwgKGdzdF9ldmVudF9uZXdfcW9zKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9xb3MpLCAoZ3N0X2V2ZW50X25ld19zZWVrKSwKCSAgKGdzdF9ldmVudF9wYXJzZV9zZWVrKSwgKGdzdF9ldmVudF9uZXdfbmF2aWdhdGlvbik6CgkgICogZ3N0L2dzdGV2ZW50Lmg6CgkgIE1ha2UgR3N0RXZlbnQgdXNlIEdzdFN0cnVjdHVyZS4gQWRkIHBhcnNpbmcgY29kZSwgbWFrZSBzdXJlIHRoZQoJICBBUEkgaXMgc3VmZmljaWVudGx5IGdlbmVyaWMuCgkgIE1hcmsgcG9zc2libGUgZGlyZWN0aW9ucyBvZiBldmVudHMgYW5kIHNlcmlhbGl6YXRpb24uCgkgICogZ3N0L2dzdG1lc3NhZ2UuYzogKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLAoJICAoX2dzdF9tZXNzYWdlX2NvcHkpLCAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfbmV3X3NlZ21lbnRfZG9uZSksIChnc3RfbWVzc2FnZV9uZXdfY3VzdG9tKSwKCSAgKGdzdF9tZXNzYWdlX3BhcnNlX3NlZ21lbnRfc3RhcnQpLAoJICAoZ3N0X21lc3NhZ2VfcGFyc2Vfc2VnbWVudF9kb25lKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9nZXRfY2Fwc191bmxvY2tlZCksIChnc3RfcGFkX2FjY2VwdF9jYXBzKSwKCSAgKGdzdF9wYWRfc2V0X2NhcHMpLCAoZ3N0X3BhZF9zZW5kX2V2ZW50KToKCSAgVXBkYXRlIGZvciBuZXcgZXZlbnRzLgoJICBDYXRjaCBldmVudHMgc2VudCBpbiB3cm9uZyBkaXJlY3Rpb25zLgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2xpbmtfc3JjKSwKCSAgKGdzdF9xdWV1ZV9oYW5kbGVfc2lua19ldmVudCksIChnc3RfcXVldWVfY2hhaW4pLCAoZ3N0X3F1ZXVlX2xvb3ApLAoJICAoZ3N0X3F1ZXVlX2hhbmRsZV9zcmNfcXVlcnkpOgoJICBFdmVudCB1cGRhdGVzLgoJICAqIGdzdC9nc3R0YWcuYzoKCSAgKiBnc3QvZ3N0dGFnLmg6CgkgIFJlbW92ZSBldmVudCBjb2RlIGZyb20gdGhpcyBmaWxlLgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF9wYWNrZXRfZnJvbV9ldmVudCksCgkgIChnc3RfZHBfZXZlbnRfZnJvbV9wYWNrZXQpOgoJICBFdmVudCB1cGRhdGVzLgoKMjAwNS0wNy0wNSAxMDoyMDoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdkcDogUG9ydGVkIGRhdGFwcm90b2wgdG8gMC45LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL01ha2VmaWxlLmFtOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuYzogKGdzdF9kcF92YWxpZGF0ZV9wYWNrZXQpOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kYXRhcHJvdG9jb2wuaDoKCSAgKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wtdW5pbnN0YWxsZWQucGMuaW46CgkgICogcGtnY29uZmlnL2dzdHJlYW1lci1kYXRhcHJvdG9jb2wucGMuaW46CgkgIFBvcnRlZCBkYXRhcHJvdG9sIHRvIDAuOS4KCSAgQWRkZWQgcGtnY29uZmlnIGZpbGVzLgoKMjAwNS0wNS0xNiAyMDoyMTo1NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnZHA6IHJlbW92ZSBHc3REYXRhIGNoZWNrcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjaGVjay9NYWtlZmlsZS5hbTogcmVtb3ZlIEdzdERhdGEgY2hlY2tzCgkgICogY2hlY2svZ3N0LWxpYnMvZ2RwLmM6IChTVEFSVF9URVNUKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9NYWtlZmlsZS5hbTogYWRkIG1pbmlvYmplY3QsIHJlbW92ZSBkYXRhCgkgICogZ3N0L2dzdC5oOiBhZGQgbWluaW9iamVjdCwgcmVtb3ZlIGRhdGEKCSAgKiBnc3QvZ3N0ZGF0YS5jOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YS5oOiByZW1vdmUKCSAgKiBnc3QvZ3N0ZGF0YV9wcml2YXRlLmg6IHJlbW92ZQoJICAqIGdzdC9nc3R0eXBlcy5oOiByZW1vdmUgR3N0RXZlbnQgYW5kIEdzdE1lc3NhZ2UKCSAgKiBnc3QvZ3N0ZWxlbWVudC5jOiAoZ3N0X2VsZW1lbnRfcG9zdF9tZXNzYWdlKTogZml4IGZvciBBUEkgY2hhbmdlcwoJICAqIGdzdC9nc3RtYXJzaGFsLmxpc3Q6IGNoYW5nZSBCT1hFRCAtPiBPQkpFQ1QKCSAgSW1wbGVtZW50IEdzdE1pbmlPYmplY3QuCgkgICogZ3N0L2dzdG1pbmlvYmplY3QuYzoKCSAgKiBnc3QvZ3N0bWluaW9iamVjdC5oOgoJICBNb2RpZnkgdG8gYmUgc3ViY2xhc3NlcyBvZiBHc3RNaW5pT2JqZWN0LgoJICAqIGdzdC9nc3RidWZmZXIuYzogKF9nc3RfYnVmZmVyX2luaXRpYWxpemUpLCAoZ3N0X2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X2J1ZmZlcl9maW5hbGl6ZSksIChfZ3N0X2J1ZmZlcl9jb3B5KSwKCSAgKGdzdF9idWZmZXJfaW5pdCksIChnc3RfYnVmZmVyX25ldyksIChnc3RfYnVmZmVyX25ld19hbmRfYWxsb2MpLAoJICAoZ3N0X3N1YmJ1ZmZlcl9nZXRfdHlwZSksIChnc3Rfc3ViYnVmZmVyX2luaXQpLAoJICAoZ3N0X2J1ZmZlcl9jcmVhdGVfc3ViKSwgKGdzdF9idWZmZXJfaXNfc3Bhbl9mYXN0KSwKCSAgKGdzdF9idWZmZXJfc3Bhbik6CgkgICogZ3N0L2dzdGJ1ZmZlci5oOgoJICAqIGdzdC9nc3RldmVudC5jOiAoX2dzdF9ldmVudF9pbml0aWFsaXplKSwgKGdzdF9ldmVudF9nZXRfdHlwZSksCgkgIChnc3RfZXZlbnRfY2xhc3NfaW5pdCksIChnc3RfZXZlbnRfaW5pdCksIChnc3RfZXZlbnRfZmluYWxpemUpLAoJICAoX2dzdF9ldmVudF9jb3B5KSwgKGdzdF9ldmVudF9uZXcpOgoJICAqIGdzdC9nc3RldmVudC5oOgoJICAqIGdzdC9nc3RtZXNzYWdlLmM6IChfZ3N0X21lc3NhZ2VfaW5pdGlhbGl6ZSksCgkgIChnc3RfbWVzc2FnZV9nZXRfdHlwZSksIChnc3RfbWVzc2FnZV9jbGFzc19pbml0KSwKCSAgKGdzdF9tZXNzYWdlX2luaXQpLCAoZ3N0X21lc3NhZ2VfZmluYWxpemUpLCAoX2dzdF9tZXNzYWdlX2NvcHkpLAoJICAoZ3N0X21lc3NhZ2VfbmV3KSwgKGdzdF9tZXNzYWdlX25ld19lcnJvciksCgkgIChnc3RfbWVzc2FnZV9uZXdfd2FybmluZyksIChnc3RfbWVzc2FnZV9uZXdfdGFnKSwKCSAgKGdzdF9tZXNzYWdlX25ld19zdGF0ZV9jaGFuZ2VkKSwgKGdzdF9tZXNzYWdlX25ld19hcHBsaWNhdGlvbik6CgkgICogZ3N0L2dzdG1lc3NhZ2UuaDoKCSAgKiBnc3QvZ3N0cHJvYmUuYzogKGdzdF9wcm9iZV9wZXJmb3JtKSwKCSAgKGdzdF9wcm9iZV9kaXNwYXRjaGVyX2Rpc3BhdGNoKToKCSAgKiBnc3QvZ3N0cHJvYmUuaDoKCSAgKiBnc3QvZ3N0cXVlcnkuYzogKF9nc3RfcXVlcnlfaW5pdGlhbGl6ZSksIChnc3RfcXVlcnlfZ2V0X3R5cGUpLAoJICAoZ3N0X3F1ZXJ5X2NsYXNzX2luaXQpLCAoZ3N0X3F1ZXJ5X2ZpbmFsaXplKSwgKGdzdF9xdWVyeV9pbml0KSwKCSAgKF9nc3RfcXVlcnlfY29weSksIChnc3RfcXVlcnlfbmV3KToKCSAgVXBkYXRlIGVsZW1lbnRzIGZvciBHc3REYXRhIC0+IEdzdE1pbmlPYmplY3QgY2hhbmdlcwoJICAqIGdzdC9nc3RxdWVyeS5oOgoJICAqIGdzdC9nc3RxdWV1ZS5jOiAoZ3N0X3F1ZXVlX2ZpbmFsaXplKSwgKGdzdF9xdWV1ZV9sb2NrZWRfZmx1c2gpLAoJICAoZ3N0X3F1ZXVlX2NoYWluKSwgKGdzdF9xdWV1ZV9sb29wKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0YnVmZmVyc3RvcmUuYzoKCSAgKGdzdF9idWZmZXJfc3RvcmVfYWRkX2J1ZmZlcl9mdW5jKSwKCSAgKGdzdF9idWZmZXJfc3RvcmVfY2xlYXJlZF9mdW5jKSwgKGdzdF9idWZmZXJfc3RvcmVfZ2V0X2J1ZmZlcik6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzaW5rLmM6IChnc3RfZmFrZXNpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFrZXNpbmtfcmVuZGVyKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0ZmFrZXNyYy5jOiAoZ3N0X2Zha2VzcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZpbGVzcmMuYzogKGdzdF9tbWFwX2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfbW1hcF9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfbW1hcF9idWZmZXJfaW5pdCksCgkgIChnc3RfbW1hcF9idWZmZXJfZmluYWxpemUpLCAoZ3N0X2ZpbGVzcmNfbWFwX3JlZ2lvbiksCgkgIChnc3RfZmlsZXNyY19jcmVhdGVfcmVhZCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGlkZW50aXR5LmM6IChnc3RfaWRlbnRpdHlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHR5cGVmaW5kZWxlbWVudC5jOgoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X3NyY19ldmVudCksIChmcmVlX2VudHJ5X2J1ZmZlcnMpLAoJICAoZ3N0X3R5cGVfZmluZF9lbGVtZW50X2hhbmRsZV9ldmVudCk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOgoJICAoZ3N0X2RwX2hlYWRlcl9mcm9tX2J1ZmZlcik6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5oOgoJICAqIGxpYnMvZ3N0L2RhdGFwcm90b2NvbC9kcC1wcml2YXRlLmg6CgoyMDA1LTA1LTA0IDIxOjI5OjQ0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnZHA6IEdDQyA0IGZpeGVuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wNS0wNCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvZ3N0L3RtcGwvZ3N0YXRvbWljLnNnbWw6CgkgICogZG9jcy9nc3QvdG1wbC9nc3RwbHVnaW4uc2dtbDoKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc2luay5jOiAoZ3N0X2Jhc2VzaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmM6IChnc3RfYmFzZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlc3JjX2luaXQpLCAoZ3N0X2Jhc2VzcmNfc2V0X2RhdGFmbG93X2Z1bmNzKSwKCSAgKGdzdF9iYXNlc3JjX3F1ZXJ5KSwgKGdzdF9iYXNlc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYmFzZXNyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2Jhc2VzcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9iYXNlc3JjX2FjdGl2YXRlKToKCSAgKiBnc3QvYmFzZS9nc3RiYXNlc3JjLmg6CgkgICogZ3N0L2Jhc2UvZ3N0YmFzZXRyYW5zZm9ybS5jOiAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2Jhc2VfdHJhbnNmb3JtX3NyY19hY3RpdmF0ZSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGVsZW1lbnRzLmM6CgkgICogZ3N0L2VsZW1lbnRzL2dzdGZha2VzcmMuYzogKGdzdF9mYWtlc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Zha2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9mYWtlc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VsZW1lbnRzL2dzdHRlZS5jOiAoZ3N0X3RlZV9zaW5rX2FjdGl2YXRlKToKCSAgKiBnc3QvZWxlbWVudHMvZ3N0dHlwZWZpbmRlbGVtZW50LmM6IChmaW5kX2VsZW1lbnRfZ2V0X2xlbmd0aCksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfY2hlY2tnZXRyYW5nZSksCgkgIChnc3RfdHlwZV9maW5kX2VsZW1lbnRfYWN0aXZhdGUpOgoJICAqIGdzdC9nc3RiaW4uYzogKGdzdF9iaW5fc2F2ZV90aHlzZWxmKSwgKGdzdF9iaW5fcmVzdG9yZV90aHlzZWxmKToKCSAgKiBnc3QvZ3N0Y2Fwcy5jOiAoZ3N0X2NhcHNfZG9fc2ltcGxpZnkpLCAoZ3N0X2NhcHNfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9jYXBzX2xvYWRfdGh5c2VsZik6CgkgICogZ3N0L2dzdGVsZW1lbnQuYzogKGdzdF9lbGVtZW50X3BhZHNfYWN0aXZhdGUpLAoJICAoZ3N0X2VsZW1lbnRfc2F2ZV90aHlzZWxmKSwgKGdzdF9lbGVtZW50X3Jlc3RvcmVfdGh5c2VsZik6CgkgICogZ3N0L2dzdHBhZC5jOiAoZ3N0X3BhZF9sb2FkX2FuZF9saW5rKSwgKGdzdF9wYWRfc2F2ZV90aHlzZWxmKSwKCSAgKGdzdF9naG9zdF9wYWRfc2F2ZV90aHlzZWxmKSwgKGdzdF9wYWRfY2hlY2tfcHVsbF9yYW5nZSk6CgkgICogZ3N0L2dzdHBhZC5oOgoJICAqIGdzdC9nc3R4bWwuYzogKGdzdF94bWxfd3JpdGUpLCAoZ3N0X3htbF9wYXJzZV9kb2MpLAoJICAoZ3N0X3htbF9wYXJzZV9maWxlKSwgKGdzdF94bWxfcGFyc2VfbWVtb3J5KSwKCSAgKGdzdF94bWxfZ2V0X2VsZW1lbnQpLCAoZ3N0X3htbF9tYWtlX2VsZW1lbnQpOgoJICAqIGdzdC9pbmRleGVycy9nc3RmaWxlaW5kZXguYzogKGdzdF9maWxlX2luZGV4X2xvYWQpLAoJICAoX2ZpbGVfaW5kZXhfaWRfc2F2ZV94bWwpLCAoZ3N0X2ZpbGVfaW5kZXhfY29tbWl0KToKCSAgKiBnc3QvcmVnaXN0cmllcy9nc3RsaWJ4bWxyZWdpc3RyeS5jOiAocmVhZF9zdHJpbmcpLCAocmVhZF91aW50KSwKCSAgKHJlYWRfZW51bSksIChsb2FkX3BhZF90ZW1wbGF0ZSksIChsb2FkX2ZlYXR1cmUpLCAobG9hZF9wbHVnaW4pLAoJICAobG9hZF9wYXRocyk6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX3BhY2tldF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RwX3BhY2tldF9mcm9tX2V2ZW50KSwgKGdzdF9kcF9jYXBzX2Zyb21fcGFja2V0KToKCSAgKiB0b29scy9nc3QtY29tcGxldGUuYzogKG1haW4pOgoJICAqIHRvb2xzL2dzdC1jb21wcHJlcC5jOiAobWFpbik6CgkgICogdG9vbHMvZ3N0LWluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllc19pbmZvKToKCSAgKiB0b29scy9nc3QtbGF1bmNoLmM6ICh4bWxsYXVuY2hfcGFyc2VfY21kbGluZSk6CgkgICogdG9vbHMvZ3N0LXhtbGluc3BlY3QuYzogKHByaW50X2VsZW1lbnRfcHJvcGVydGllcyk6CgkgIEdDQyA0IGZpeGVuLgoKMjAwNS0wMy0yMSAxNzozNDowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkgIGdkcDogTmV4dCBiaWcgbWVyZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOZXh0IGJpZyBtZXJnZS4KCSAgQWRkZWQgR3N0QnVzIGZvciBtYWlubG9vcCBpbnRlZ3JhdGlvbi4KCSAgQWRkZWQgR3N0TWVzc2FnZSBmb3Igc2VuZGluZyBub3RpZmljYXRpb25zIG9uIHRoZSBidXMuCgkgIEFkZGVkIEdzdFRhc2sgYXMgYW4gYWJzdHJhY3Rpb24gZm9yIHBpcGVsaW5lIGVudHJ5IHBvaW50cy4KCSAgUmVtb3ZlZCBHc3RUaHJlYWQuCgkgIFJlbW92ZWQgU2NoZWR1bGVycy4KCSAgU2ltcGxpZmllZCBHc3RRdWV1ZSBmb3IgbXVsdGl0aHJlYWRlZCBjb3JlLgoJICBNYWRlIF9saW5rIHRocmVhZHNhZmUsIHJlbW92ZWQgb2xkIGNhcHNuZWdvLgoJICBBZGRlZCBTVFJFQU1fTE9DSyBhbmQgUFJFUk9MTF9MT0NLIGluIEdzdFBhZC4KCSAgQWRkZWQgcGFkIGJsb2NraW5nIGZ1bmN0aW9ucy4KCSAgUmV3b3JrZWQgc2NoZWR1bGluZyBmdW5jdGlvbnMgaW4gR3N0UGFkIHRvIHByZXBhcmUgZm9yCgkgIHNjaGVkdWxpbmcgdXBkYXRlcyBzb29uLgoJICBNb3ZlZCBldmVudHMgb3V0IG9mIGRhdGEgc3RyZWFtLgoJICBTaW1wbGlmaWVkIEdzdEV2ZW50IHR5cGVzLgoJICBBZGRlZCByZXR1cm4gdmFsdWVzIHRvIHB1c2gvcHVsbC4KCSAgUmVtb3ZlZCBjbG9ja2luZyBmcm9tIEdzdEVsZW1lbnQuCgkgIEFkZGVkIHByb3RvdHlwZXMgZm9yIHN0YXRlIGNoYW5nZSBmdW5jdGlvbiBmb3IgbmV4dCBtZXJnZS4KCSAgUmVtb3ZlZCBpdGVyYXRlIGZyb20gYmlucyBhbmQgc3RhdGUgY2hhbmdlIG1hbmFnZW1lbnQuCgkgIEZpeGVkIHNvbWUgZWxlbWVudHMsIGRpc2FibGVkIG90aGVycyBmb3Igbm93LgoJICBGaXhlZCAtaW5zcGVjdCBhbmQgLWxhdW5jaC4KCSAgQWRkZWQgY2hlY2sgZm9yIEdzdEJ1cy4KCjIwMDUtMDMtMDcgMTg6Mjc6NDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IEZpcnN0IFRIUkVBREVEIGJhY2twb3J0IGF0dGVtcHQsIGZvY3VzaW5nIG9uIGFkZGluZyBsb2NrcyBhbmQgbWFraW5nIHN1cmUgdGhlIEFQSSBpcyB0aHJlYWRzYWZlLiBOZWVkcyBtb3JlIHdvcmsuIE1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmlyc3QgVEhSRUFERUQgYmFja3BvcnQgYXR0ZW1wdCwgZm9jdXNpbmcgb24gYWRkaW5nIGxvY2tzIGFuZAoJICBtYWtpbmcgc3VyZSB0aGUgQVBJIGlzIHRocmVhZHNhZmUuIE5lZWRzIG1vcmUgd29yay4gTW9yZSBkb2NzCgkgIGZvbGxvdyB0aGlzIHdlZWsuCgoyMDA1LTAyLTE4IDEzOjU4OjM2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ2RwOiBBbGxvY2F0ZSB0aGUgMSBieXRlIG1vcmUgbWVtb3J5IHRoYXQgd2FzIGZvcmdvdHRlbiEhISEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTAyLTE4ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2R1bXBfYnl0ZV9hcnJheSk6CgkgIEFsbG9jYXRlIHRoZSAxIGJ5dGUgbW9yZSBtZW1vcnkgdGhhdCB3YXMgZm9yZ290dGVuISEhISEKCjIwMDQtMTAtMDEgMTY6NDk6MDEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnZHA6IEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogbGlicy9nc3QvZGF0YXByb3RvY29sL2RhdGFwcm90b2NvbC5jOiAoZ3N0X2RwX2NyYyk6CgkgIEZpeCB0aHJlYWRzYWZldHkgb2YgdGhlIGNyYyBjaGVja2luZyBmdW5jdGlvbi4KCjIwMDQtMDgtMTYgMTA6MzU6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSAgZ2RwOiBmaXggZm9yICMxNTAyNDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBmb3IgIzE1MDI0MgoKMjAwNC0wNy0yOCAxMDoyMjowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJICBnZHA6IGRvYyBzdHlsZSBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9jIHN0eWxlIGZpeGVzCgoyMDA0LTA2LTA5IDE2OjI0OjE5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmM6CgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkqIGdzdC9nZHAvZHAtcHJpdmF0ZS5oOgoJICBnZHA6IGJ1bXAgR0RQIHRvIDAuMSwgYWRkIGJ1ZmZlciBmbGFncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVtcCBHRFAgdG8gMC4xLCBhZGQgYnVmZmVyIGZsYWdzCgoyMDA0LTA1LTI0IDE2OjM4OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZGF0YXByb3RvY29sLmg6CgkgIGdkcDogd3JhcCBoZWFkZXIgaW4gX05FVwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgd3JhcCBoZWFkZXIgaW4gX05FVwoKMjAwNC0wNS0xOSAxNzoyMjo1MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RhdGFwcm90b2NvbC5jOgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6IHVzZSBHU1QgbWFjcm9zOyBhZGQgYXNzZXJ0cwoKMjAwNC0wNS0xOSAxNjo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2RwLXByaXZhdGUuaDoKCSAgZ2RwOiBwcml2YXRlIHByb3RvdHlwZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHJpdmF0ZSBwcm90b3R5cGUKCjIwMDQtMDUtMTkgMTY6Mzc6NTMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuYzoKCSogZ3N0L2dkcC9kYXRhcHJvdG9jb2wuaDoKCSogZ3N0L2dkcC9kcC1wcml2YXRlLmg6CgkgIGdkcDogYWRkIGRhdGFwcm90b2NvbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW4gdXAgbGlicyBkb2NzOyBhZGQgZGF0YXByb3RvY29sCgoyMDExLTExLTE3IDEyOjQ4OjI1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTAgMTg6MzI6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlcwoKMjAxMS0wOS0yOSAxMzo0NjozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBuZXcgYXVkaW8gY2FwcwoKMjAxMS0wNy0wOCAyMDowMjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHBhcnNlIGNhcHMgZXZlbnQgYW5kIHBheWxvYWQgY2FwcwoJICBXaGljaCBtYWtlcyBpdCBhY3R1YWxseSBvdXRwdXQgc3R1ZmYuCgoyMDExLTA2LTEzIDE2OjMyOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgLWJhc2U6IHVwZGF0ZSBmb3IgYnVmZmVyIEFQSSBjaGFuZ2UKCjIwMTEtMDUtMTYgMTM6NDg6MTEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBwb3J0IHRvIG5ldyBTRUdNRU5UIEFQSQoKMjAxMS0wNS0wOSAxODoxNjo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIHNlZ21lbnQ6IGZpeCBmb3IgbmV3IGNvcmUgQVBJCgkgIEZpeCBmb3IgZ3N0Xypfc2VnbWVudF9mdWxsIHJlbmFtZS4KCjIwMTEtMDUtMDkgMTM6MDU6MTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIC1iYXNlOiBkb24ndCB1c2UgYnVmZmVyIGNhcHMKCSAgUG9ydCB0byBuZXdlc3QgMC4xMSBjb3JlIEFQSSwgcmVtb3ZlIEdTVF9QQURfQ0FQUyBhbmQgR1NUX0JVRkZFUl9DQVBTLgoKMjAxMS0wNC0xOSAxMTozNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdzdDogVXNlIEdfREVGSU5FX1RZUEUgaW5zdGVhZCBvZiBHU1RfQk9JTEVSUExBVEUKCjIwMTEtMDEtMjcgMTc6Mjg6NTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogbWFrZSBpdCByZWFkeSBmb3IgYW5kcm9nZW5pemVyCgkgIFJlbW92ZSB0aGUgYW5kcm9pZC8gdG9wIGRpcgoJICBGaXhlIHRoZSBNYWtlZmlsZS5hbSB0byBiZSBhbmRyb2dlbml6ZWQKCSAgVG8gYnVpbGQgZ3N0cmVhbWVyIGZvciBhbmRyb2lkIHdlIGFyZSBub3cgdXNpbmcgYW5kcm9nZW5pemVyIHdoaWNoIGdlbmVyYXRlcyB0aGUKCSAgbmVlZGVkIEFuZHJvaWQubWsgZmlsZXMuCgkgIEFuZHJvZ2VuaXplciBjYW4gYmUgZm91bmQgaGVyZToKCSAgaHR0cDovL2dpdC5jb2xsYWJvcmEuY28udWsvP3A9dXNlci9kZXJlay9hbmRyb2dlbml6ZXIuZ2l0CgoyMDExLTAzLTMxIDE3OjQ3OjQzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYnVmZmVybGlzdDogZml4ZXMgZm9yIG5ldyBBUEkKCjIwMTEtMDMtMjggMTc6NDY6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTU6NTE6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzOiBmaXggcmVtYWluaW5nIHVuaXQgdGVzdHMKCjIwMTEtMDMtMjggMTQ6MTI6MjQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgdGVzdHM6IHdvcmsgb24gcG9ydGluZyB0aGUgdW5pdCB0ZXN0cwoKMjAxMS0wMy0yNyAxNjozNToyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgcGx1Z2luczogcG9ydCBzb21lIHBsdWdpbnMgdG8gdGhlIG5ldyBtZW1vcnkgQVBJCgoyMDExLTAyLTA5IDEyOjQ1OjIzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IGVuc3VyZSBidWZmZXIncyBtZXRhZGF0YSBpcyB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBjYXBzCgoyMDExLTAxLTE2IDE0OjU1OjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGdkcHBheTogbWFrZSBuZXdzZWdtZW50IGJ1ZmZlciBtZXRhZGF0YSB3cml0YWJsZQoKMjAxMC0wNi0xOCAxNjozNzoxNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHRlc3RzOiB1c2Ugb3VyIG93biBtYWNyb3MgZm9yIHRoZSB0ZXN0cyBtYWluIGZ1bmN0aW9uCgoyMDEwLTAzLTE1IDIyOjQ5OjUzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOgoJICBBZGQgLVd3cml0ZS1zdHJpbmdzIHRvIGNvbmZpZ3VyZQoJICBGaXhlcyBmb3IgdGhlIGNvZGUgaW5jbHVkZWQKCjIwMTAtMDMtMTYgMTU6NDU6MjMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHMgPT4gZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgkgIEFsc28gY2hhbmdlIG15IGVtYWlsIGZyb20gdGhlIG9sZCB1bml2ZXJzaXR5IG9uZSB0byB0aGUgY3VycmVudCBvbmUuCgoyMDEwLTAzLTExIDEzOjMyOjE0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIEFkZCAtV21pc3NpbmctZGVjbGFyYXRpb25zIC1XbWlzc2luZy1wcm90b3R5cGVzIHRvIHdhcm5pbmcgZmxhZ3MKCSAgSW5jbHVkZXMgYWxsIHRoZSBmaXhlcyBuZWNlc3NhcnkgdG8gbWFrZSBzdHVmZiBjb21waWxlIGFnYWluLgoKMjAwOS0xMS0wNSAxNTo0MjowOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBnZHBkZXBheTogQ2xlYXIgYWRhcHRlciBvbiBmbHVzaCBhbmQgc3RhdGUgY2hhbmdlCgkgIEZpeGVzICM2MDA0NjkKCjIwMDktMTAtMjggMDA6NTk6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBSZW1vdmUgR1NUX0RFQlVHX0ZVTkNQVFIgd2hlcmUgdGhleSdyZSBwb2ludGxlc3MKCSAgVGhlcmUncyBub3QgbXVjaCBwb2ludCBpbiB1c2luZyBHU1RfREVCVUdfRlVOQ1BUUiB3aXRoIEdPYmplY3QKCSAgdmlydHVhbCBmdW5jdGlvbnMgc3VjaCBhcyBnZXRfcHJvcGVydHksIHNldF9wcm9wZXJ5LCBmaW5hbGl6ZSBhbmQKCSAgZGlzcG9zZSwgc2luY2UgdGhleSdsbCBuZXZlciBiZSB1c2VkIGJ5IGFueW9uZSBhbnl3YXkuIFNhdmVzIGEKCSAgZmV3IGJ5dGVzIGFuZCBwb3NzaWJseSBhIHNpeHRlZW50aCBvZiBhIHBvbGFyIGJlYXIuCgoyMDA5LTA5LTIyIDExOjU4OjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IERvbid0IHJlcGVhdCB0YWdzIGJ1ZmZlcnMgZm9yIGV2ZXJ5IG5ldyBzZWdtZW50CgkgIE9ubHkgc2VuZCBhIHRhZyBidWZmZXIgd2hlbiBvbmUgaXMgcmVjZWl2ZWQsIG5vdCBhZnRlciBldmVyeSBuZXcgc2VnbWVudAoJICBldmVudC91cGRhdGUuCgoyMDA5LTA4LTI3IDE4OjU5OjQ5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIEJ1ZyA1OTMwMzUgLSBzZXQgSU5fQ0FQUyBmb3Igc3RyZWFtaGVhZGVyIGJ1ZmZlcgoKMjAwOS0wOC0xMCAxNTo0MDozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHN0cmVhbWhlYWRlcjogRml4IGNhcHMgbGVhayBpbiB0aGUgdm9yYmlzZW5jIHVuaXQgdGVzdAoKMjAwOS0wOC0xMCAxNDoxNDozMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIGNoZWNrczogZml4IHN0cmVhbSBoZWFkZXIgdW5pdCB0ZXN0IGhhbmdpbmcgaW4gZ3N0X3Rhc2tfY2xlYW51cF9hbGwoKQoJICBTZXQgcGlwZWxpbmVzIHRvIE5VTEwgc3RhdGUgYW5kIHVucmVmIHdoZW4gZG9uZS4KCjIwMDktMDUtMjcgMTI6MTA6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnZHBwYXk6IHNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycyBiZWNhdXNlIE5VTEwgY2FwcyBjb25mdXNlIGJhc2V0cmFuc2Zvcm0uCgkgIEZpeGVzICM1ODM4NjcKCjIwMDgtMTAtMTYgMTU6MDc6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIERvbid0IGluc3RhbGwgc3RhdGljIGxpYnMgZm9yIHBsdWdpbnMuIEZpeGVzICM1NTA4NTEgZm9yIGJhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9jZHBhcmFub2lhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dub21ldmZzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJ2aXN1YWwvTWFrZWZpbGUuYW06CgkgICogZXh0L29nZy9NYWtlZmlsZS5hbToKCSAgKiBleHQvcGFuZ28vTWFrZWZpbGUuYW06CgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdm9yYmlzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5YmFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3VicGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L3RjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdHlwZWZpbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvcmF0ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9zY2FsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL01ha2VmaWxlLmFtOgoJICAqIGdzdC92b2x1bWUvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bC9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoKMjAwOC0wNy0xMCAyMTowNjowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24gdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlci5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzdGFnLmM6CgkgICogZ3N0L2FkZGVyL2dzdGFkZGVyLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbgoJICB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGVsaW5lcyBhcmUgInNpbXBsZSIKCSAgcGlwZWxpbmVzLgoKMjAwOC0wNi0zMCAwOTo0NjoxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IChzdHJlYW1oZWFkZXJfc3VpdGUpOgoJICBFbmFibGUgdW5pdCB0ZXN0cyBvbiBQUEMgYWdhaW4gYXMgdGhlIGJ1Z3MgYXJlIG5vdyBmaXhlZC4KCjIwMDgtMDYtMjAgMDg6NDU6MTMgKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBGaXggYSBidWZmZXIgbWVtbGVhayBhbmQgcmVtb3ZlIGEgY29uZnVzaW5nIGFuZCB3cm9uZyBkZWJ1ZyBvdXRwdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW50b2luZSBUcmVtYmxheSA8aGV4YTAwIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0KToKCSAgRml4IGEgYnVmZmVyIG1lbWxlYWsgYW5kIHJlbW92ZSBhIGNvbmZ1c2luZyBhbmQgd3JvbmcgZGVidWcgb3V0cHV0LgoJICBGaXhlcyBidWcgIzUzODY2My4KCjIwMDgtMDYtMDQgMTY6MDA6MjYgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiBEbyBub3QgdHJ5IHRvIHJ1biBhIHRlc3Qgd2hpY2ggcmVxdWlyZXMgdm9yYmlzZW5jIHVubGVzcyB3ZSBoYXZlIGFjdHVhbGx5IGJ1aWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKGJ1ZmZlcl9wcm9iZV9jYiksCgkgICh0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMpLCAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRG8gbm90IHRyeSB0byBydW4gYSB0ZXN0IHdoaWNoIHJlcXVpcmVzIHZvcmJpc2VuYyB1bmxlc3Mgd2UgaGF2ZQoJICBhY3R1YWxseSBidWlsdCBpdC4KCjIwMDgtMDYtMDQgMDU6NTg6MzggKzAwMDAgIEFudG9pbmUgVHJlbWJsYXkgPGhleGEwMEBnbWFpbC5jb20+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBEb24ndCBzZXQgY2FwcyBvbiB0aGUgYnVmZmVycyB0aGF0IGNvbnRhaW4gYSBjb3B5IG9mIHRoZSBidWZmZXIgaW5jbHVkaW5nIHRoZSBjYXBzIG9mIHRoZW0gcmVzdWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgRG9uJ3Qgc2V0IGNhcHMgb24gdGhlIGJ1ZmZlcnMgdGhhdCBjb250YWluIGEgY29weSBvZiB0aGUgYnVmZmVyCgkgIGluY2x1ZGluZyB0aGUgY2FwcyBvZiB0aGVtIHJlc3VsdGluZyBpbiBhbiBhbHdheXMgaW5jcmVhc2luZyByZWZjb3VudAoJICBvZiB0aGUgY2FwcyBhbmQgaW5zYW5lbHkgbGFyZ2UgY2Fwcy4gSW5zdGVhZCBpbmNsdWRlIGEgYnVmZmVyIHdpdGhvdXQKCSAgY2FwcyBpbiB0aGUgbmV3IGNhcHMuIEZpeGVzIGJ1ZyAjNTM2NDc1LgoKMjAwOC0wNS0yMiAyMjowOToxNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1vdmVycmlkZXMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZGRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2EueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb2NvbnZlcnQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Jlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RwYXJhbm9pYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlY29kZWJpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZmbXBlZ2NvbG9yc3BhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbm9tZXZmcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpYnZpc3VhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9nZy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBhbmdvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGxheWJhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWV1ZTIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRjcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRoZW9yYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR5cGVmaW5kZnVuY3Rpb25zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdXJpZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3JhdGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NjYWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW90ZXN0c3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9sdW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm9yYmlzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aW1hZ2VzaW5rLnhtbDoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2F1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcC5oOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIGNvbW1lbnRzLCBhbmQgc29tZSBuZXcgaGVhZGVycyB0byBiZSBzY2FubmVkLgoJICBSZW5hbWUgc29tZSBpbnRlcm5hbCBlbnVtIGRlY2xhcmF0aW9ucyAoYXVkaW9jb252ZXJ0J3MgRGl0aGVyVHlwZSBhbmQKCSAgTm9pc2VTaGFwaW5nVHlwZSwgR3N0VW5pdFR5cGUgZnJvbSB0aGUgVENQIGVsZW1lbnRzKSB0byBtYXRjaCB0aGUKCSAgZG9jdW1lbnRlZCBHT2JqZWN0IHR5cGUgbmFtZXMgc28gdGhhdCB0aGUgZG9jcyBwaWNrIHRoZW0gdXAuCgkgIE5hbWUgdGhlIHBsYXliaW4yIGRvY3MgbWFya3VwcyBwcm9wZXJseSBzbyB0aGV5IGdldCBwaWNrZWQgdXAuIFRoZXknbGwKCSAgbmVlZCByZW5hbWluZyBiYWNrIHdoZW4vaWYgcGxheWJpbjIgYmVjb21lcyBwbGF5YmluLgoJICAxMDAlIHN5bWJvbCBjb3ZlcmFnZSBmb3IgdGhlIHBsdWdpbiBkb2NzLCBib295YS4KCjIwMDgtMDUtMjEgMTY6MzY6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb24ndCB1c2UgYmFkIGdzdF9lbGVtZW50X2dldF9wYWQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19wYWRfdHlwZWZpbmQpOgoJICAqIGdzdC9wbGF5YmFjay9kZWNvZGV0ZXN0LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4uYzogKGdzdF9kZWNvZGVfYmluX2luaXQpLAoJICAodHJ5X3RvX2xpbmtfMSksIChlbGVtX2lzX2R5bmFtaWMpLCAoY2xvc2VfbGluayksICh0eXBlX2ZvdW5kKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5faW5pdCksCgkgIChjb25uZWN0X2VsZW1lbnQpLCAoZ3N0X2RlY29kZV9ncm91cF9jb250cm9sX2RlbXV4ZXJfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX3JlbW92ZV9wcm9iZSksCgkgIChxdWV1ZV9vdXRfb2ZfZGF0YSksIChnZW5fcHJlcm9sbF9lbGVtZW50KSwgKHByZXJvbGxfdW5saW5rZWQpLAoJICAobXV0ZV9ncm91cF90eXBlKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOiAoZ3N0X3BsYXlfYmluX3Zpc19ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X2Jpbl9zZXRfcHJvcGVydHkpLCAoaGFuZG9mZiksIChnZW5fdmlkZW9fZWxlbWVudCksCgkgIChnZW5fdGV4dF9lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwgKGdlbl92aXNfZWxlbWVudCksCgkgIChyZW1vdmVfc2lua3MpLCAoYWRkX3NpbmspLCAoc2V0dXBfc2lua3MpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOiAocGFkX2FkZGVkX2NiKSwgKG5vX21vcmVfcGFkc19jYik6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2dldF92aWRlb19zaW5rKSwKCSAgKGdzdF9wbGF5X3NpbmtfZ2V0X2F1ZGlvX3NpbmspLCAoZ3N0X3BsYXlfc2lua192aXNfdW5ibG9ja2VkKSwKCSAgKGdzdF9wbGF5X3NpbmtfdmlzX2Jsb2NrZWQpLCAoZ3N0X3BsYXlfc2lua19zZXRfdmlzX3BsdWdpbiksCgkgIChnc3RfcGxheV9zaW5rX2dldF92aXNfcGx1Z2luKSwgKGdzdF9wbGF5X3Npbmtfc2V0X211dGUpLAoJICAoZ2VuX3ZpZGVvX2NoYWluKSwgKGdlbl90ZXh0X2NoYWluKSwgKGdlbl9hdWRpb19jaGFpbiksCgkgIChnZW5fdmlzX2NoYWluKSwgKGdzdF9wbGF5X3NpbmtfcmVjb25maWd1cmUpLAoJICAoZ3N0X3BsYXlfc2lua19zZXRfZm9udF9kZXNjKSwgKGdzdF9wbGF5X3NpbmtfZ2V0X2ZvbnRfZGVzYyksCgkgIChnc3RfcGxheV9zaW5rX3JlcXVlc3RfcGFkKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6ICh0eXBlX2ZvdW5kKSwgKHNldHVwX3NvdXJjZSk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KSwKCSAgKGNiX25ld3BhZCk6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3Q2LmM6IChuZXdfZGVjb2RlZF9wYWRfY2IpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmF0ZS5jOiAodGVzdF9pbmplY3Rvcl9jaGFpbiksCgkgIChkb19wZXJmZWN0X3N0cmVhbV90ZXN0KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mZm1wZWdjb2xvcnNwYWNlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nbm9tZXZmc3NpbmsuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90ZXh0b3ZlcmxheS5jOgoJICAobm90Z3N0X2NoZWNrX3NldHVwX3NyY19wYWQyKSwgKG5vdGdzdF9jaGVja190ZWFyZG93bl9zcmNfcGFkMik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svbGlicy9jZGRhYmFzZXNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzogKHRlc3RfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOiAobWFrZV93YXZfcGlwZWxpbmUpOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAobWFrZV9tb2RfcGlwZWxpbmUpLAoJICAobWFrZV9kdl9waXBlbGluZSksIChtYWtlX3dhdl9waXBlbGluZSksIChtYWtlX2ZsYWNfcGlwZWxpbmUpLAoJICAobWFrZV9zaWRfcGlwZWxpbmUpLCAobWFrZV9wYXJzZV9waXBlbGluZSksIChtYWtlX3ZvcmJpc19waXBlbGluZSksCgkgIChtYWtlX3RoZW9yYV9waXBlbGluZSksIChtYWtlX3ZvcmJpc190aGVvcmFfcGlwZWxpbmUpLAoJICAobWFrZV9hdmlfbXNtcGVnNHYzX21wM19waXBlbGluZSksIChtYWtlX21wM19waXBlbGluZSksCgkgIChtYWtlX2F2aV9waXBlbGluZSksIChtYWtlX21wZWdfcGlwZWxpbmUpLCAobWFrZV9tcGVnbnRfcGlwZWxpbmUpLAoJICAodXBkYXRlX2ZpbGwpLCAobXNnX2J1ZmZlcmluZyk6CgkgIERvbid0IHVzZSBiYWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yMSAwNjo0NToyMiArMDAwMCAgQW50b2luZSBUcmVtYmxheSA8aGV4YTAwQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IENsb3NlIGEgYnVmZmVyIG1lbW9yeSBsZWFrLiBGaXhlcyBidWcgIzUzNDA3MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbnRvaW5lIFRyZW1ibGF5IDxoZXhhMDAgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2hhaW4pOgoJICBDbG9zZSBhIGJ1ZmZlciBtZW1vcnkgbGVhay4gRml4ZXMgYnVnICM1MzQwNzEuCgoyMDA4LTA0LTE4IDE0OjU0OjAxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBEb24ndCB2YWxpZGF0ZSB0aGUgcGF5bG9hZCBpZiB0aGVyZSBpc24ndCBhbnkuCgkgIEZpeGVzICM1MjU5MTUKCjIwMDgtMDMtMjcgMTU6MjY6MzggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgQ2hlY2sgdGhlIGJvZHkgQ1JDIChpZiBzZXQpIHdoZW4gZGVwYXlsb2FkaW5nLgoJICBGaXhlcyAjNTIyNDAxLgoKMjAwOC0wMy0yMyAxMzoxMjo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IE1ha2UgdGVzdCBjb21waWxlIHdpdGhvdXQgdW51c2VkIGZ1bmN0aW9uL3ZhcmlhYmxlIHdhcm5pbmdzIG9uIFBQQy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgTWFrZSB0ZXN0IGNvbXBpbGUgd2l0aG91dCB1bnVzZWQgZnVuY3Rpb24vdmFyaWFibGUgd2FybmluZ3Mgb24gUFBDLgoKMjAwOC0wMy0yMiAxNTowMDo1MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXNlIEdfUEFSQU1fU1RBVElDX1NUUklOR1MgZXZlcnl3aGVyZSBmb3IgR1BhcmFtU3BlY3MgdGhhdCB1c2Ugc3RhdGljIHN0cmluZ3MgKGkuZS4gYWxsKS4gVGhpcyBnaXZlcyB1cyBsZXNzIG1lbW9yeSB1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJlbGVtZW50LmM6CgkgIChnc3RfYWxzYV9taXhlcl9lbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChnc3RfYWxzYXNpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOiAoZ3N0X2Fsc2FzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2NkcGFyYW5vaWEvZ3N0Y2RwYXJhbm9pYXNyYy5jOgoJICAoZ3N0X2NkX3BhcmFub2lhX3NyY19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6IChnc3RfZ2lvX3N0cmVhbV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6IChnc3RfZ2lvX3N0cmVhbV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOiAoZ3N0X2dub21lX3Zmc19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOiAoZ3N0X2dub21lX3Zmc19zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguYzogKGdzdF9vZ2dfbXV4X2NsYXNzX2luaXQpOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dHJlbmRlci5jOiAoZ3N0X3RleHRfcmVuZGVyX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChnc3RfdGhlb3JhX2RlY19jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOiAoZ3N0X3RoZW9yYV9lbmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFwYXJzZS5jOiAoZ3N0X3RoZW9yYV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGJhc2VhdWRpb3NyYy5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9jZGRhL2dzdGNkZGFiYXNlc3JjLmM6CgkgIChnc3RfY2RkYV9iYXNlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9taXhlcnRyYWNrLmM6CgkgIChnc3RfbWl4ZXJfdHJhY2tfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwZGVwYXlsb2FkLmM6CgkgIChnc3RfYmFzZV9ydHBfZGVwYXlsb2FkX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKGdzdF9iYXNlcnRwcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAoZ3N0X2F1ZGlvX2NvbnZlcnRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzogKGdzdF9hdWRpb19yYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvZ3N0YXVkaW90ZXN0c3JjLmM6CgkgIChnc3RfYXVkaW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RkZWNvZGViaW4yLmM6IChnc3RfZGVjb2RlX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKGdzdF9wbGF5X2Jhc2VfYmluX2NsYXNzX2luaXQpLAoJICAocHJlcm9sbF91bmxpbmtlZCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4uYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbjIuYzogKGdzdF9wbGF5X2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheXNpbmsuYzogKGdzdF9wbGF5X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHF1ZXVlMi5jOiAoZ3N0X3F1ZXVlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1pbmZvLmM6IChnc3Rfc3RyZWFtX2luZm9fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6IChnc3RfdXJpX2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6IChnc3Rfc3ViX3BhcnNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOiAoZ3N0X3RjcF9jbGllbnRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNyYy5jOiAoZ3N0X3RjcF9jbGllbnRfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5jOiAoZ3N0X3RjcF9zZXJ2ZXJfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6IChnc3RfdmlkZW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzogKGdzdF92NGxlbGVtZW50X2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzaW5rLmM6IChnc3RfdjRsbWpwZWdzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuYzogKGdzdF92NGxtanBlZ3NyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2xhc3NfaW5pdCk6CgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlCgkgIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdXNhZ2UsCgkgIGZld2VyIGFsbG9jYXRpb25zIGFuZCB0aHVzIGxlc3MgbWVtb3J5IGRlZnJhZ21lbnRhdGlvbi4gRGVwZW5kCgkgIG9uIGNvcmUgQ1ZTIGZvciB0aGlzLiBGaXhlcyBidWcgIzUyMzgwNi4KCjIwMDgtMDMtMDMgMDY6MDQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIENvcnJlY3QgYWxsIHJlbGV2YW50IHdhcm5pbmdzIGZvdW5kIGJ5IHRoZSBzcGFyc2Ugc2VtYW50aWMgY29kZSBhbmFseXplci4gVGhpcyBpbmNsdWRlIG1hcmtpbmcgc2V2ZXJhbCBzeW1ib2xzIHN0YXRpYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJ0cmFjay5jOiAoZ3N0X2Fsc2FfbWl4ZXJfdHJhY2tfZ2V0X3R5cGUpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSk6CgkgICogZXh0L29nZy9nc3RvZ2dtdXguaDoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2F1ZGlvLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2ZmdC9raXNzX2ZmdF9mNjQuYzogKGtpc3NfZmZ0X2Y2NF9hbGxvYyk6CgkgICogZ3N0LWxpYnMvZ3N0L3BidXRpbHMvbWlzc2luZy1wbHVnaW5zLmM6CgkgIChnc3RfbWlzc2luZ191cmlfc2lua19tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19lbGVtZW50X21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2RlY29kZXJfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZW5jb2Rlcl9tZXNzYWdlX25ldyk6CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0cnRjcGJ1ZmZlci5jOgoJICAoZ3N0X3J0Y3BfcGFja2V0X2J5ZV9nZXRfcmVhc29uKToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9pbWdjb252ZXJ0LmM6CgkgICogZ3N0L3BsYXliYWNrL3Rlc3QuYzogKGdlbl92aWRlb19lbGVtZW50KSwgKGdlbl9hdWRpb19lbGVtZW50KToKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzoKCSAgKiBnc3QvdmlkZW9zY2FsZS92c180dGFwLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5oOgoJICAqIHN5cy92NGwvZ3N0djRsZWxlbWVudC5jOgoJICAqIHN5cy92NGwvZ3N0djRsc3JjLmM6IChnc3RfdjRsc3JjX2dldF9hbnlfY2Fwcyk6CgkgICogc3lzL3Y0bC92NGxfY2FsbHMuYzoKCSAgKiBzeXMvdjRsL3Y0bHNyY19jYWxscy5jOiAoZ3N0X3Y0bHNyY19jYXB0dXJlX2luaXQpLAoJICAoZ3N0X3Y0bHNyY190cnlfY2FwdHVyZSk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jaGVja194c2htX2NhbGxzKSwKCSAgKGdzdF94aW1hZ2VzaW5rX3hpbWFnZV9uZXcpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Rlc3RzcmMuYzogKHNldHVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVjb2RlYmluLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKHNldHVwX2dkcGRlcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ25vbWV2ZnNzaW5rLmM6IChzZXR1cF9nbm9tZXZmc3NpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmRzaW5rLmM6IChzZXR1cF9tdWx0aWZkc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGV4dG92ZXJsYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKHNldHVwX3ZpZGVvcmF0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChzZXR1cF92aWRlb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoc2V0dXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9jbG9jay1zZWxlY3Rpb24uYzoKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOiAoc2V0dXApLCAodGVhcmRvd24pOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9saWJzL3ZpZGVvLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9vZ2dtdXguYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOgoJICAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90aGVvcmFlbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdm9yYmlzZGVjLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2VuYy5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2NydWJieS5jOgoJICAqIHRlc3RzL2V4YW1wbGVzL3NlZWsvc2Vlay5jOiAocXVlcnlfcG9zaXRpb25zX2VsZW1zKSwKCSAgKHF1ZXJ5X3Bvc2l0aW9uc19wYWRzKToKCSAgKiB0ZXN0cy9pY2xlcy9zdHJlc3MteG92ZXJsYXkuYzogKG15Y2xvY2spOgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUKCSAgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMsIHVzaW5nCgkgIE5VTEwgaW5zdGVhZCBvZiAwIGZvciBwb2ludGVycyBhbmQgdXNpbmcgImZvbyAodm9pZCkiIGluc3RlYWQKCSAgb2YgImZvbyAoKSIgZm9yIGRlY2xhcmF0aW9ucy4KCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0cnRwLmRlZjoKCSAgQWRkIGdzdF9ydHBfYnVmZmVyX3NldF9leHRlbnNpb25fZGF0YSB0byB0aGUgc3ltYm9sIGRlZmluaXRpb24gZmlsZS4KCjIwMDctMDYtMTQgMTk6NTM6MjcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6IERpc2FibGUgdGVzdF9tdWx0aWZkc2lua19nZHBfdm9yYmlzZW5jKCkgb24gcHBjNjQgc2luY2UgaXQgZmFpbHMgb24gdGhlIHA1LXBwYzYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jOiAoc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgRGlzYWJsZSB0ZXN0X211bHRpZmRzaW5rX2dkcF92b3JiaXNlbmMoKSBvbiBwcGM2NCBzaW5jZSBpdAoJICBmYWlscyBvbiB0aGUgcDUtcHBjNjQgYnVpbGQgYm90IGFuZCB0aGUgZmFpbHVyZSBsb29rcyBsaWtlIGl0IGlzIGR1ZQoJICB0byB0aGUgc2FtZSBpc3N1ZSBhcyAjMzQ4MTE0LCBpZS4gYSBjb21waWxlciBidWcuCgoyMDA3LTA0LTE0IDEyOjM0OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKTogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3N0cmVhbWhlYWRlci5jICh0YWdfZXZlbnRfcHJvYmVfY2IsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmMgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIGJ1ZmZlcl9wcm9iZV9jYiwgR1NUX1NUQVJUX1RFU1QpOgoJICBGaXggYSBidWcgd2hlcmUgc2VyaWFsaXplZCBJTl9DQVBTIGJ1ZmZlcnMgbmVlZGVkIHRvIGJlIHNldCBJTl9DQVBTLgoKMjAwNy0wNC0xMyAyMTo1NTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmM6CgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYyAodGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKHRhZ19ldmVudF9wcm9iZV9jYiwKCSAgR1NUX1NUQVJUX1RFU1QsIG5faW5fY2FwcywgYnVmZmVyX3Byb2JlX2NiLCBHU1RfU1RBUlRfVEVTVCwKCSAgc3RyZWFtaGVhZGVyX3N1aXRlKToKCSAgQWRkIGFub3RoZXIgdGVzdCBzZXQgdXAgZm9yIGZhaWx1cmUKCjIwMDctMDQtMTMgMjE6MDk6MDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICBkZWJ1ZyBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkZWJ1ZyBjaGFuZ2VzCgoyMDA3LTA0LTEzIDIxOjA4OjExICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc3RyZWFtaGVhZGVyLmMgKG5fdGFncywgdGFnX2V2ZW50X3Byb2JlX2NiLAoJICBHU1RfU1RBUlRfVEVTVCwgc3RyZWFtaGVhZGVyX3N1aXRlLCBtYWluKToKCSAgQWRkIGEgdGVzdCBmb3IgdGhlIHN0cmVhbWhlYWRlciBidWcgV2ltIGZpeGVkLgoKMjAwNy0wNC0xMiAxMDowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IE1ha2Ugc3VyZSB3ZSBzZXQgdGhlIElOX0NBUFMgZmxhZyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgTWFrZSBzdXJlIHdlIHNldCB0aGUgSU5fQ0FQUyBmbGFnIGNvcnJlY3RseS4KCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBHZXQgdGhlIElOX0NBUFMgZmxhZyBiZWZvcmUgd2UgY2FsbCBmdW5jdGlvbnMgdGhhdCBtZXNzIHdpdGggdGhlIGZsYWdzLgoKMjAwNy0wNC0xMCAyMDozNzowNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIsIGdzdF9nZHBfcGF5X2NoYWluLCBnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYyAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyLAoJICBnc3RfZ2RwX3BheV9jaGFpbiwgZ3N0X2dkcF9wYXlfc2lua19ldmVudCk6CgkgIE9ubHkgc3RhbXAgYnVmZmVycyB3aXRoIG9mZnNldC9vZmZzZXRfZW5kIHJpZ2h0IGJlZm9yZSB0aGV5IGdldAoJICBwdXNoZWQuICBUaGlzIGVuc3VyZXMgb2Zmc2V0IGNvbnRpbnVpdHksIHdoaWNoIHdhcyBub3QgdGhlIGNhc2UKCSAgYmVmb3JlIGFzIHNob3duIGJ5CgkgIGdzdC1sYXVuY2ggLXYgLW0gYXVkaW90ZXN0c3JjIG51bS1idWZmZXJzPTEwICEgYXVkaW9jb252ZXJ0ICEgdm9yYmlzZW5jICEgZ2RwcGF5ICEgaWRlbnRpdHkgY2hlY2staW1wZXJmZWN0LW9mZnNldD1UUlVFICEgZmFrZXNpbmsgc2lsZW50PVRSVUUKCjIwMDctMDQtMTAgMjA6MjU6MDYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGRpbmcgZGVidWdnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgZGVidWdnaW5nCgoyMDA3LTAzLTE0IDE1OjA1OjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzoKCSAgYWRkIGJ1ZmZlciBsb2dnaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgYnVmZmVyIGxvZ2dpbmcKCjIwMDYtMTItMjIgMTI6MTA6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogRml4IHRoZSBkcCB0ZXN0cywgYnV0IGFjdGl2YXRpbmcgdGhlIHBhZHMgZm9yIHRoZSBzdHJlYW1oZWFkZXIgdGVzdHMgdG9vIGFuZCBjbGVhbmluZyB1cCBjb25kaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoY2xlYW51cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoY2xlYW51cF9nZHBwYXkpLAoJICAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlcik6CgkgIEZpeCB0aGUgZHAgdGVzdHMsIGJ1dCBhY3RpdmF0aW5nIHRoZSBwYWRzIGZvciB0aGUgc3RyZWFtaGVhZGVyIHRlc3RzCgkgIHRvbyBhbmQgY2xlYW5pbmcgdXAgY29uZGl0aW9uYWx5CgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0wOS0yMSAwNTozMTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvYXVkaW8uYzoKCSAgU29tZSBtb3JlIGNvbXBpbGF0aW9uIGZpeGVzLgoKMjAwNi0wOS0yMCAxNzowNDo1NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHRlc3RzL2NoZWNrLzogRml4IHNvbWUgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL29nZ211eC5jOiAoZW9zX2J1ZmZlcl9wcm9iZSk6CgkgIEZpeCBzb21lIHdhcm5pbmdzLgoKMjAwNi0wOC0yNSAxNjoxOTo1NSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBwYXkuYzogRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKToKCSAgRml4IG1lbW9yeSBsZWFrcyBhbmQgbWlzbGVhZGluZyBkZWJ1ZyBtZXNzYWdlcywgYWRkIGEgY291cGxlIG9mCgkgIGNvbW1lbnRzLgoJICAqIGdzdC90Y3AvZ3N0bXVsdGlmZHNpbmsuYzogKGdzdF9tdWx0aV9mZF9zaW5rX2dldF9zdGF0cyksCgkgIChnc3RfbXVsdGlfZmRfc2lua19yZW5kZXIpOgoJICBEbyBub3QgdXNlIGdzdF9idWZmZXJfbWFrZV93cml0YWJsZSgpIGluIGEgYmFzZXNpbmsgcmVuZGVyIG1ldGhvZCwKCSAgYXMgaXQgbWF5IGluY29ycmVjdGx5IHVucmVmIHRoZSBidWZmZXIuIEluc3RlYWQsIHVzZSBjb252b2x1dGVkCgkgIGRhbmNlIHRvIGF2b2lkIGNvcHlpbmcgdGhlIGJ1ZmZlciBleGNlcHQgd2hlbiB3ZSBuZWVkIHRvLgoKMjAwNi0wOC0yMSAxOTowNDoxNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL1JFQURNRToKCSAgYWRkaW5nIGEgUkVBRE1FCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGRpbmcgYSBSRUFETUUKCjIwMDYtMDgtMjEgMTk6MDE6NDEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gQ2xvc2VzICMzNDc3ODMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgTW92ZSBHRFAgcGx1Z2luIHRvIC1iYXNlIGZyb20gLWJhZC4gIENsb3NlcyAjMzQ3NzgzLgoKMjAwNi0wOC0wOCAxMzo1NzoyOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IEkgZm9yZ290IHRvIGluY2x1ZGUgdGhlIGZpbGUgY29udGFpbmluZyB0aGUgI2RlZmluZSA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoZ2RwZGVwYXlfc3VpdGUpOgoJICBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgTm93IGluY2x1ZGVzICJjb25maWcuaCIKCjIwMDYtMDgtMDggMTM6NDU6NDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJZ25vcmUgdGVzdCBrbm93biB0byBmYWlsIG9uIFBQQzY0LiBTZWUgIzM0ODExNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gRml4ZXMgIzM0OTkxNi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDgtMDQgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgRml4IGV2ZW50IHBhcnNpbmcgYnkgZ2RwZGVwYXkuICBGaXhlcyAjMzQ5OTE2LgoKMjAwNi0wOC0wMiAxNjo1NjoxOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogRGlzYWJsZSBzZWVraW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9kZXBheV9zcmNfZXZlbnQpLCAoZ3N0X2dkcF9kZXBheV9jaGFpbiksCgkgIChnc3RfZ2RwX2RlcGF5X2NoYW5nZV9zdGF0ZSk6CgkgIERpc2FibGUgc2Vla2luZy4KCSAgU21hbGwgY2xlYW51cHMuCgkgIENsZWFyIGFkYXB0ZXIgb24gZGlzY29udHMuCgkgIENsZWFyIGNhcHMgd2hlbiBnb2luZyB0byBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfcGF5X3Jlc2V0KSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9zcmNfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBSZXNldCBwYXlsb2FkZXIgd2hlbiBnb2luZyB0byBSRUFEWS4KCSAgRml4IGxlYWtlZCBidWZmZXJzIGluIC0+cXVldWUgb24gcHVzaCBlcnJvcnMuCgkgIERpc2FibGUgc2Vla2luZy4KCSAgQ29kZSBjbGVhbnVwcy4KCSAgQ3JlYXRlIHBhY2tldGl6ZXIgaW4gX2luaXQsIGZyZWUgaW4gX2ZpbmFsaXplLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI2IDEwOjUyOjA1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogcHJveHlpbmcgZ2V0L3NldCBjYXBzIGlzIHRoZSB3cm9uZyB0aGluZyB0byBkbywgc2luY2Ugd2UgcmVhbGx5IGRvIGNoYW5nZSBjYXBzIHF1aXRlIGZ1bmRhbWVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpOgoJICBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkKCSAgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50YWxseQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6CgkgIHJlbW92ZSBkZWNsYXJhdGlvbiBvZiBidWZmZXJzLCBpdCdzIGFscmVhZHkgZG9uZSBpbiBnc3RjaGVjay5oCgoyMDA2LTA3LTE3IDE0OjE3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcyBmaXggdHlwbyBpbiBjb21tZW50CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA3LTE3ICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlICA8dGhvbWFzIGF0IGFwZXN0YWFydCBkb3Qgb3JnPgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICByZW1vdmUgcGFyZW50X2NsYXNzIHNldHRpbmcsIEJPSUxFUlBMQVRFIGRvZXMgdGhpcwoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKToKCSAgZml4IHR5cG8gaW4gY29tbWVudAoKMjAwNi0wNy0xNCAxMDozNDozNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBidWlsZCBhcyBhIHBsdWdpbiwgbm90IGEgbGliCgoyMDA2LTA3LTEzIDE1OjI1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgYW5kIGVsZW1lbnRzIHRvIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBmaXggc2VnZmF1bHRzIGR1ZSB0byB3cm9uZyBnX2ZyZWUKCSAgYWRkIGV4YW1wbGUKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGQgZXhhbXBsZQoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMDYgMTY6MjY6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBwYXkuYzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRhcHQgdG8gbmV3IGFwaQoKMjAwNi0wNi0wNiAxNDozOToxNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBlbmFibGUgYnVpbGRpbmcgb2YgR0RQIGVsZW1lbnRzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIGFkZCB2ZXJzaW9uIDEuMAoKMjAwNi0wNi0wMiAxNjo0NTo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6CgkqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIHNtYWxsIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzbWFsbCBmaXhlcwoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDEzOjI1OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDEyLTA5LTEwIDIwOjM4OjE0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogTWlzYyBmaXggZm9yIDAuMTEKCSAgQ29udmVydCB0aGUgaW5jb21pbmcgY2FwcyBiZWZvcmUgcHJveHlpbmcgdGhlbQoJICBDbGVhciB0aGUgbGFzdF9wYWQgd2hlbiBnb2luZyB0byByZWFkeQoJICB0ZXN0czogSW1wbGVtZW50IGFjY2VwdF9jYXBzLCBkb24ndCBsZWFrIGV2ZW50CgoyMDEyLTA5LTEwIDE2OjEyOjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L2dzdHV2Y2gyNjQtbWFyc2hhbC5saXN0OgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJICB1dmNoMjY0c3JjOiBVc2UgZ2VuZXJpYyBtYXJzaGFsbGVyCgoyMDEyLTA5LTEwIDE2OjA5OjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy91dmNoMjY0L01ha2VmaWxlLmFtOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0LW1hcnNoYWwubGlzdDoKCSogc3lzL3V2Y2gyNjQvZ3N0dXZjaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X21qcGdkZW11eC5oOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5jOgoJKiBzeXMvdXZjaDI2NC9nc3R1dmNoMjY0X3NyYy5oOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5jOgoJKiBzeXMvdXZjaDI2NC91dmNfaDI2NC5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfanBnLmpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF9qcGcubWpwZzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdXZjaDI2NGRlbXV4X2RhdGEvdmFsaWRfaDI2NF95dXkyLmgyNjQ6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3V2Y2gyNjRkZW11eF9kYXRhL3ZhbGlkX2gyNjRfeXV5Mi5tanBnOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy91dmNoMjY0ZGVtdXhfZGF0YS92YWxpZF9oMjY0X3l1eTIueXV5MjoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvYm9vbGVhbl9wcm9wZXJ0eS5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9lbnVtX3Byb3BlcnR5LmdsYWRlOgoJKiB0ZXN0cy9leGFtcGxlcy91dmNoMjY0L2VudW1fcHJvcGVydHlfZ3RrMi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvdXZjaDI2NC9pbnRfcHJvcGVydHkuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvdGVzdC11dmNoMjY0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3V2Y2gyNjQvd2luZG93LmdsYWRlOgoJICBVVkMgSDI2NCBwbHVnaW4KCjIwMTItMDktMDkgMjM6NTI6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkgIG9wZW5jdjogZGlzYWJsZSBtb3Rpb25jZWxscyAiZGF0ZSIgcHJvcGVydHkgZm9yIG5vdwoJICBTaG91bGRuJ3QgYmUgb2YgdHlwZSBsb25nLiBOb3Qgc3VyZSBpdCdzIHVzZWZ1bCBhdCBhbGwsIHNvCgkgIGp1c3QgZGlzYWJsZSBpdCBmb3Igbm93IHRvIHNlZSBpZiBzb21lb25lIG1pc3NlcyBpdC4KCjIwMTItMDktMDkgMTQ6MzU6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVtb3ZlIG5vbi1leGlzdGFudCBobHNzaW5rIHBsdWdpbiBmcm9tIE5PTlBPUlRFRCBsaXN0CgoyMDEyLTA5LTA4IDE2OjA4OjIxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJICBkZWNrbGlua3Npbms6IEZpeCBtZW1vcnkgbGVhawoKMjAxMi0wOS0wOCAxNTo1Nzo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCBsZWFrcyBpbiBhdWRpb3NyYy9zaW5rCgoyMDEyLTA5LTA4IDE3OjAzOjMzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3Qgb3ZlcnJpZGUgdXBzdHJlYW0gZnJhbWVyYXRlIGFuZCBQQVIKCSAgSWYgdXBzdHJlYW0gcHJvdmlkZWQgc29tZSwgdGhlcmUncyBhIGdvb2QgY2hhbmNlIHRoZXkgYXJlIHRoZSBvbmVzIHRvIHVzZQoKMjAxMi0wOS0wOCAxNDo0MzozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJICBobHM6IGRpc2FibGUgaGxzc2luayBidXQgZG8gYnVpbGQgaGxzZGVtdXgKCjIwMTItMDktMDggMTQ6MzE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgImNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNhZDM0NDVhMjVmMzFiYzBkMDE2N2E0ZjQxMzc5MWJlYTgwMDY3ODMuCgkgIFRoaXMgZGlzYWJsZWQgaGxzZGVtdXggYXMgd2VsbAoKMjAxMi0wOS0wOCAxNDowNTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUHJvcGVybHkgZGlzYWJsZSBITFMgcGx1Z2luCgoyMDEyLTA5LTA3IDE2OjA4OjU3ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJICBobHM6IEFkZCBtaXNzaW5nIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTCgoyMDEyLTA5LTA3IDE2OjA3OjQwICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkgIGhsc3Npbms6IEFkZCBzZWdtZW50IHRhcmdldC1kdXJhdGlvbiBwcm9wZXJ0eQoJICBUaGlzIHByb3BlcnR5IGNhdXNlcyBobHNzaW5rIHRvIHB1c2ggYSBmb3JjZSBrZXkgdW5pdCBldmVudCB1cHN0cmVhbQoJICBldmVyeSB0YXJnZXQtZHVyYXRpb24gc2Vjb25kcy4gVGhpcyBpcyBmb3Igc2ltcGxlIGF1dG9tYXRpYyBzZWdtZW50aW5nLgoJICBUbyBkaXNhYmxlIGl0LCBzZXQgdGhlIHByb3BlcnR5IHRvIDAgYW5kIHB1c2ggdGhlIGZvcmNlIGtleSB1bml0IGV2ZW50CgkgIG1hbnVhbGx5LgoKMjAxMS0wOC0yMSAxMTowMDo1MSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaGxzL2dzdGhsc3NpbmsuYzoKCSogZ3N0L2hscy9nc3RobHNzaW5rLmg6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0LmM6CgkqIGdzdC9obHMvZ3N0bTN1OHBsYXlsaXN0Lmg6CgkgIGhsczogYWRkIGhsc3NpbmsgZWxlbWVudAoKMjAxMi0wOS0wNiAwMTo1MzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgY29ycmVjdCB2YXJpYWJsZSB3aGVuIGhhbmRsaW5nIHBhZCBwcm9iZSBidWZmZXJzCgkgIFBhZCBwcm9iZSBkYXRhIGlzIGluIHRoZSBHc3RQYWRQcm9iZUluZm8sIG5vdCBpbiB0aGUgdXNlciBkYXRhCgkgIHBhcmFtZXRlci4KCjIwMTItMDktMDMgMTk6MjU6NTIgKzAxMDAgIFJpY28gVHpzY2hpY2hob2x6IDxyaWNvdHpAdC1vbmxpbmUuZGU+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHVwZGF0ZSBmb3IgZHVyYXRpb24gbWVzc2FnZSBBUEkgY2hhbmdlCgoyMDEyLTA5LTAzIDE0OjIxOjE5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogc2V0IGludGVybGFjZV9jb2RpbmcgYmFzZWQgb24gaW5wdXQgY2FwcwoJICBhbmQgcmVtb3ZlIHByb3BlcnR5LgoKMjAxMi0wOS0wMyAxNDowNDo0MCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IGNvbmZpZ3VyZSBwcm9maWxlL2xldmVsIGZyb20gYWxsb3dlZCBkb3duc3RyZWFtIGNhcHMgaW5zdGVhZCBvZiBwcm9wZXJ0aWVzCgkgIFRoaXMgaXMgaG93IGl0J3MgZG9uZSBlbHNld2hlcmUgYW5kIHdvcmtzIGJldHRlciB3aXRoIGVuY29kZWJpbi4KCSAgUmVtb3ZlcyAiZm9yY2UtcHJvZmlsZSIgcHJvcGVydHksIHJlYWQtb25seSAicHJvZmlsZSIgcHJvcGVydHkgYW5kCgkgICJsZXZlbCIgcHJvcGVydHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA2MDgKCjIwMTItMDktMDMgMTM6NTg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogZml4IG1haW4gcHJvZmlsZSBtYXBwaW5nCgoyMDEyLTA5LTAzIDEzOjA0OjAxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcHJldHRpZnkgZW51bSBwcm9wZXJ0eSBuaWNrcwoJICBVc2UgJy0nIGluc3RlYWQgb2YgJ18nIGFzIHdvcmQgc2VwYXJhdG9yLgoKMjAxMi0wOS0wMyAxMjo0MTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBjaGFuZ2UgImludGVybGFjZWQiIGJvb2xlYW4gaW4gY2FwcyB0byAiaW50ZXJsYWNlLW1vZGUiCgkgIE5vdCBzdHJpY3RseSBuZWVkZWQsIGJ1dCBsZXQncyBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB0aGUgcmF3CgkgIHZpZGVvIHdheSBvZiBkb2luZyB0aGluZ3MuCgoyMDEyLTA5LTAzIDEyOjMzOjUxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IHVzZSBzdHJpbmdzIGZvciBwcm9maWxlIGFuZCBsZXZlbCBpbiBjYXBzCgkgIEZvciBjb25zaXN0ZW5jeSB3aXRoIG1vc3Qgb3RoZXIgZm9ybWF0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzNgoKMjAxMi0wOS0wMiAxMjozNjozNyArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBObyBuZWVkIHRvIGRlZmluZSBHTElCX0RJU0FCTEVfREVQUkVDQVRJT05fV0FSTklOR1MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MzE3NQoKMjAxMi0wOS0wMiAwMzo1NTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogZXh0cmFjdCB5ZWFyIHRvIHdyaXRlIGludG8gSUQzdjEgdGFnIGZyb20gR1NUX1RBR19EQVRFX1RJTUUgbm90IEdTVF9UQUdfREFURQoKMjAxMi0wOS0wMSAyMTo0NjoxOSArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogc2V0IDAgZHVyYXRpb24gd2hlbiB2b3BfY29kZWQgaXMgMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgzMTY5CgoyMDEyLTA5LTAyIDAxOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGdzdF9tZXNzYWdlX25ld19kdXJhdGlvbiAtPiBnc3RfbWVzc2FnZV9uZXdfZHVyYXRpb25fY2hhbmdlZAoKMjAxMi0wOS0wMSAwOToxMjo1MSAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBIYW5kbGUgY2FwcyBxdWVyeSBvbiBpbnRlcm5hbCBzcmNwYWQKCSAgUmVwbHkgd2l0aCBBTlkgY2FwcyB0byBlbnN1cmUgbGlua2luZyB0aGUgaW50ZXJuYWwgc3JjIHBhZC4gVGhpcwoJICBtaWdodCBuZWVkIG1vcmUgYXR0ZW50aW9uIGxhdGVyLCB0byByZXBseSB3aXRoIHRoZSByZWFsIHVwc3RyZWFtIGNhcHMKCSAgZm9yIHRoZSBjdXJyZW50bHkgYWN0aXZlIGVsZW1lbnQuCgoyMDEyLTA4LTMxIDE1OjI4OjI5IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkL21wZWdkZW11eDogU2VuZCBib3RoIFBUUyBhbmQgRFRTIGRvd25zdHJlYW0KCSAgTm93IHRoYXQgd2UgY2FuLgoKMjAxMi0wOS0wMiAwMDowNDoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogZG9uJ3QgbGVhayBidWZmZXIgaW4gY2FzZSBvZiBhbiBpbml0IGVycm9yCgoyMDEyLTA5LTAyIDAwOjM0OjM4ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zcGMvdGFnLmM6CgkqIGV4dC9zcGMvdGFnLmg6CgkgIHNwYzogcG9ydCB0byAwLjExCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODMxNzUKCjIwMTItMDgtMzEgMTQ6MTM6NTggLTA3MDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFBsdWcgYSB2aWRlbyBwYXJzZXIgaW4gZnJvbnQgb2YgZGVjb2RlcgoJICBTZWVtcyB0byBtYWtlIHBsYXliYWNrIGJvdGggYmV0dGVyIGFuZCB3b3JzZS4gVGhlIHBhcnNlciBuZWVkcyBzb21lCgkgIGZpeGluZywgaXQgc2VlbXMgOi0vCgoyMDEyLTA4LTMxIDEyOjMxOjQ4IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IE1ha2UgR0FQIGV2ZW50IGF3YXJlCgoyMDEyLTA4LTMxIDA4OjQ2OjQ1IC0wNzAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5oOgoJICByZXNpbmR2ZDogQWRkIHNvbWUgR0FQIGV2ZW50IHN0dWZmIHRvIG1ha2Ugc3RpbGwtZnJhbWVzIHN0YXJ0IHRvIHdvcmsKCSAgQW5kIHJlbW92ZSB0aGUgZGVhZCBhdWRpb211bmdlIGVsZW1lbnQuIEl0IGlzbid0IG5lZWRlZCBub3csIHdlIGp1c3QKCSAgc2VuZCBHQVAgZXZlbnRzCgoyMDEyLTA2LTA5IDIyOjM2OjA2ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmlucHV0c2VsZWN0b3IuaDoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5oOgoJICByZXNpbmR2ZDogSW5pdGlhbCBwYXJ0aWFsIHBvcnQgdG8gMC4xMQoKMjAxMi0wOC0zMCAxODozOTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCBkcm9wIHVwc3RyZWFtIGV2ZW50cyBkdWUgdG8gc2lsbHkgdHlwbwoKMjAxMi0wOC0zMCAxNzo1MTo1MCAtMDcwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBNZXJnZSBzb21lIERWRCBwaWVjZXMgYW5kIGZpeGVzCgkgIEJyaW5nIHRoZSByZXNpbmR2ZCBjb3B5IG9mIG1wZWdwc2RlbXV4IGFuZCB0aGUgbm9ybWFsIHZlcnNpb24KCSAgc2xpZ2h0bHkgY2xvc2VyIHRvZ2V0aGVyLgoJICBEb24ndCBmb3J3YXJkIGluY29taW5nIHNpbmsgY2FwcyBldmVudCB0byBkb3duc3RyZWFtIGVsZW1lbnRzLgoKMjAxMi0wNi0xMSAwODozMzozNiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBleHRyYSByZWZzL3VucmVmcyBvZiB0aGUgZGVtdXhlcgoJICBDaGFuZ2UgYWxsIHRoZSBnc3RfcGFkX2dldF9wYXJlbnQoKSBjYWxscyB0byBhIGNhc3QgdG8gdGhlCgkgIHBhc3NlZCBwYXJlbnQgdmFyaWFibGUgd2hlcmUgYXBwcm9wcmlhdGUsIGFuZCBkb24ndCB1bnJlZiwKCSAgaW5jbHVkaW5nIHRoZSBleHRyYSB1bnJlZiBpbiB0aGUKCSAgZ3N0X2ZsdXBzX2RlbXV4X3NpbmtfYWN0aXZhdGVfcHVzaCgpIGZ1bmN0aW9uLgoKMjAxMi0wOC0zMCAxMjoxMToyMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGFkanVzdCB0byBtb2RpZmllZCB2aWRlbyBvdmVybGF5IGNvbXBvc2l0aW9uIEFQSQoJICAuLi4gYW5kIHN1cHBseSBvdmVybGF5IHJlY3RhbmdsZSBkYXRhIGluIEFZVVYgYXMgcHJvdmlkZWQgYnkgaW5wdXQKCSAgZGF0YSByYXRoZXIgdGhhbiBjb252ZXJ0aW5nIHRvIFJHQi4KCjIwMTItMDgtMjkgMjI6MDU6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHNldCBjbG9jay9iYXNldGltZSBhZ2FpbgoJICBUaGUgYmFzZSBhbmQgY2xvY2sgYXJlbid0IGxvc3QgYW55bW9yZSBvbiBzdGF0ZSBjaGFuZ2VzCgkgIGluIDEuMAoKMjAxMi0wOC0yOSAyMjowNTowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IG5vIG5lZWQgdG8gc2VuZCBleHRyYSByZWNvbmZpZ3VyZQoJICBTZXR0aW5nIGNhcHNmaWx0ZXJzIGFscmVhZHkgc2VuZHMgcmVjb25maWd1cmUgZXZlbnRzIHdoZW4gYSBuZXcKCSAgY2FwcyBpcyBzZXQsIG5vIG5lZWQgdG8gcmVzZW5kIHRoZW0uCgoyMDEyLTA4LTI4IDIxOjAxOjU1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVxdWVzdCBfJXUgdGVtcGxhdGVzIGluc3RlYWQgb2YgXyVkCgkgIEluIDEuMCwgdGVtcGxhdGVzIGhhdmUgYmVlbiByZW5hbWVkIHRvIF8ldSBhcyBkZWZhdWx0CgoyMDEyLTA4LTI2IDE2OjQzOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogZml4IGltYWdlIGxvY2F0aW9uIHN3aXRjaGluZyB0ZXN0CgkgIFRoZSB0ZXN0IHNob3VsZCB3YWl0IHVudGlsIHRoZSBsYXN0IGltYWdlLWRvbmUgaXMgcG9zdGVkIHNvIGl0CgkgIGNhbiBjb3JyZWN0bHkgY2hlY2sgdGhhdCBhbGwgaW1hZ2VzIGhhdmUgYmVlbiBzYXZlZC4KCjIwMTItMDgtMjYgMTY6NDI6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcmV3b3JrIHZpZGVvIHJlY29yZGluZyBlb3MgcHVzaAoJICBQdXNoIEVPUyBvdXRzaWRlIG9mIHdyYXBwZXJjYW1lcmFiaW5zcmMgc28gdGhhdCBub25lIG9mIHRoZQoJICBpbnRlcm5hbCBlbGVtZW50cyBnZXRzIGl0cyBwYWRzIGludG8gZW9zIHN0YXRlLCBwcmV2ZW50aW5nIGFueQoJICBmdXJ0aGVyIGRhdGEgZnJvbSBwYXNzaW5nCgoyMDEyLTA4LTI4IDExOjA3OjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnRseSBzaXplZCBidWZmZXIgd2hlbiB3cmFwcGluZyBOQUwKCSAgTm90ZWQgYnkgPHpoYW5neWFucGluZzIxMEB5YWhvby5jb20uY24+CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODI1ODkKCjIwMTItMDgtMjQgMDk6MDE6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSAgc2htOiByZW1vdmUgdW5uZWVkZWQgZ2xpYi1nZW4tbWFrIGluY2x1ZGUgaW4gTWFrZWZpbGUKCSAgTm8gZW51bXMgb3IgbWFyc2hhbGxlcnMgdG8gYmUgZ2VuZXJhdGVkIGhlcmUuIFNob3VsZCBhbHNvCgkgIGJlIGdzdC1nbGliLWdlbi5tYWsgdGhlbi4KCjIwMTItMDgtMjIgMTU6MDg6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiByZXZlcnQgcmVuYW1pbmcgb2YgdGhlIHR5cGUKCSAgVGhlIHNwZWNpYWwgdHlwZSBuYW1lIHdhcyBsb3N0IHdoZW4gbWVyZ2luZyBmcm9tIGJhc2UuCgoyMDEyLTA4LTIyIDEzOjMwOjQwICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2NjhhY2VlIHRvIDRmOTYyZjcKCjIwMTItMDgtMjIgMTM6MTk6NTMgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBndGstZG9jIHJlcSB0byAxLjEyIChtYXItMjAwOSkKCSAgVGhpcyBhbGxvd3MgdXMgdG8gZS5nLiB1bmNvbmRpdGlvbmFsbHkgdXNlIGd0a2RvYy1yZWJhc2UuCgoyMDEyLTA4LTIxIDEzOjI5OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IGF2b2lkIHJlZ2lzdGVyaW5nIGVudW0gdHlwZSBvZiBzYW1lIG5hbWUgYXMgbGlidmlzdWFsIHBsdWdpbiBpbiAtYmFzZQoKMjAxMi0wOC0xNyAxMToxMjoyMiArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogdXNlIHNjYWxlIGZ1bGxzY3JlZW4gbWV0aG9kLgoJICBUaGlzIG1ha2VzIHRoZSBjb21wb3NpdG9yIHNjYWxlIHRoZSBzdXJmYWNlIHRvIGZpdCBhbmQgcHJlc2VydmVzCgkgIGFzcGVjdCByYXRpby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0xNyAxMToxMDozOSArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZDogcmVzcG9uZCB0byBwaW5nL3BvbmcgcHJvdG9jb2wgc28gd2UncmUgbm90IGRlZW1lZCB1bnJlc3BvbnNpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODE0NTMKCjIwMTItMDgtMjEgMTA6Mzc6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IGNoZWNrIGZvciB3YXlsYW5kCgkgIFdlIG9ubHkgc2VlbSB0byBuZWVkIHdheWxhbmQtY2xpZW50LiBBbHNvIG1ha2Ugd29yayB3aXRoCgkgIHdheWxhbmQgYmVpbmcgaW5zdGFsbGVkIGluIGEgbm9uLWRlZmF1bHQgcHJlZml4IGJ5IG5vdAoJICBvdmVyd3JpdGluZy9jbGVhcmluZyBXQVlMQU5EX3tDRkxBR1MsTElCU30gZm9yIG5vIHJlYXNvbgoJICBhdCBhbGwuCgoyMDEyLTA4LTIxIDEwOjI5OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBmaXggYnVpbGQKCSAgU29tZSBjb2RlIHNsaXBwZWQgaW50byB0aGUgbGFzdCBjb21taXQgdGhhdCB3YXMgbWVhbnQgdG8gYmUKCSAgcHVzaGVkIHNlcGFyYXRlbHkuIFVzZSBnc3RfZGF0ZV90aW1lX3VucmVmKCkgaW5zdGVhZCBvZiBfZnJlZSgpLgoKMjAxMi0wOC0wOCAxNzoxMDoyOCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuYzoKCSogZXh0L3dheWxhbmQvd2F5bGFuZHBvb2wuaDoKCSAgd2F5bGFuZDogTW9yZSBmaXhlcyBiYXNlZCBvbiB3YXlsYW5kLTAuOTUuMCBhbmQgZ3N0cmVhbWVyLTEuMCBhcGlzCgkgIC0gYnVtcCB3YXlsYW5kIHZlcnNpb24gdG8gMC45NS4wIHdoaWNoIHdpbGwgbGVhZCB0byBzdGFibGUgMS4wIHJlbGVhc2UKCSAgLSBhdm9pZCBtZW1jb3B5IGFuZCB1c2UgcHJvcG9zZV9hbGxvY2F0aW9uIGZvciBHc3RCdWZmZXJQb29sIGFsbG9jYXRpb24KCSAgLSB1c2luZyBXYXlsYW5kQnVmZmVyUG9vbAoJICAtIHNobTogQWxsb2NhdGUgc2htIGJ1ZmZlcnMgdGhyb3VnaCBuZXcgd2xfc2htX3Bvb2wgaW50ZXJmYWNlCgkgICh0aGUgc2htIGJ1ZmZlciBhbGxvY2F0aW9uIGlzIGEgdHdvIHN0ZXAgcHJvY2VzcyBub3c6IGZpcnN0CgkgIGFsbG9jYXRlIGEgd2xfc2htX3Bvb2wsIHRoZW4gYWxsb2NhdGUgYSBidWZmZXIgZnJvbSB0aGUgcG9vbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTQ1MwoKMjAxMi0wOC0yMSAxMDoyMjo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDgtMjEgMDA6MTA6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IEdTVF9UQUdfREFURSAtPiBHU1RfVEFHX0RBVEVfVElNRQoJICBJbiBjYW1lcmFiaW4yIGV4YW1wbGUuCgoyMDEyLTA4LTIwIDIzOjM3OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICB2aWRlby94LWR2ZC1zdWJwaWN0dXJlIC0+IHN1YnBpY3R1cmUveC1kdmQKCjIwMTItMDgtMTggMjA6MzE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJKiBnc3QvbXBlZzFzeXMvbWFpbi5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2ZpbHRlcnMuaDoKCSogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkqIGdzdC92YmlkZWMvdmJpZGF0YS5oOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5oOgoJICBGaXggdXAgRlNGIGFkZHJlc3MgaW4gc29tZSBzb3VyY2UgZmlsZXMgYXMgd2VsbAoKMjAxMi0wOC0xOCAxMTowOTozOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogQ09QWUlORzoKCSogQ09QWUlORy5MSUI6CgkgIENvcnJlY3QgaW5jb3JyZWN0IEZTRiBhZGRyZXNzIGluIGxpY2Vuc2UgZmlsZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MjE1OAoKMjAxMi0wOC0xNyAyMjo1NzoxMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBzeW5jIHRvIGNoYW5nZSBpbiBiYXNlIGFuZCBwb3J0CgkgIEFkZCBzdXBwb3J0IGZvciBHc3RWaWRlb01ldGEgYW5kIEdzdFZpZGVvRnJhbWUuIFJlbW92ZSBzb21lIHJlZHVuZGFudCBmaWVsZHMKCSAgdGhhdCBhcmUgYWxzbyBpbiBHc3RWaWRlb0luZm8uIERvbid0IGRpc2FibGUgdGhlIHNoYWRlciBjb2RlLCBpdCBkb2VzIG5vdAoJICBsb29rIGJyb2tlbi4KCjIwMTItMDgtMTcgMTU6MTU6MzQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkgIGF1ZGlvdmlzdWFsaXplcjogc3RhdHVzIHVwZGF0ZQoKMjAxMi0wOC0xNSAxODoyODowOSAtMDQwMCAgQnJpYW4gUGVwcGxlIDxicGVwcGxlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGFkZCBtaXNzaW5nIEFDX0xBTkdfUFJPR1JBTSBjYWxsIHRvIERpcmVjdFNob3cgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTk1MgoKMjAxMi0wOC0xNSAxMToyNjo1OSArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJICB2aXN1YWxpemVyOiBzbWFsbCBjbGVhbnVwCgkgIEFwcGx5IGNsZWFudXAgZnJvbSBjb3B5IGluIGJhc2UuCgoyMDEyLTA3LTI0IDIwOjM5OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEZpeCBmbHVzaGluZy9zeW5jIGhhbmRsaW5nCgkgIFRoZXJlIHdhcyBhIHN0cmF5IGFkYXB0ZXJfZmx1c2goKSBub3cgdGhhdCB3ZSB1c2VkIGEgdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMi0wNy0xOSAxMzozNTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBCZXR0ZXIgZGV0ZWN0IFBDUiByZXNldHMKCSAgQXNzdW1lIHRoYXQgYW55IGRpZmZlcmVuY2VzIGluIFBDUiBncmVhdGVyIHRoYW4gMTVzIG1lYW5zIHRoZXJlIGlzCgkgIGEgcmVzZXQgaW4gdGhlIHN0cmVhbS4KCjIwMTItMDctMTkgMDk6MDU6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBDYWxsIGdzdF92aWRlb19kZWNvZGVyX25lZ290aWF0ZSgpCgoyMDEyLTA3LTE5IDA5OjA1OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IENhbGwgZ3N0X3ZpZGVvX2RlY29kZXJfbmVnb3RpYXRlKCkKCjIwMTItMDctMTQgMTM6NTk6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogUmVtb3ZlL2RlbW90ZSBzb21lIGRlYnVnZ2luZwoKMjAxMi0wNy0xMyAxNjo1NjoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBbHdheXMgdXNlIGN1cnJlbnQgUFRTL0RUUwoJICBUaGlzIGF2b2lkcyBzZXR0aW5nIG9sZCBQVFMgYW5kL29yIERUUwoKMjAxMi0wNy0xMyAxNjoyMjoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZW1vdmUgdW5uZWVkZWQgbWVtc2V0KDApCgoyMDEyLTA3LTEzIDE2OjIyOjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0czogVXNlIEdfR05VQ19JTlRFUk5BTAoKMjAxMi0wNy0xMSAwODoxMDozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZHZiIHBsdWdpbiBpcyBwb3J0ZWQKCjIwMTItMDctMTEgMDg6MTA6MTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogTW9yZSBmaXh1cHMgdG8gMS4wCgkgIE5vdCB0ZXN0ZWQgeWV0ICEKCSAgQ29uZmxpY3RzOgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgoyMDEyLTA2LTI5IDE4OjA0OjA0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgIGNhbTogQWxsb3cgdGltZSBmb3IgQ0EgdG8gaW5pdGlhbGl6ZQoJICBTb21lIGRldmljZXMgdGFrZSBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZSwgYW5kIHVudGlsIHRoZXkgYXJlIHRoZXkKCSAgd2lsbCBlcnJvciBvdXQgd2hlbiB0cnlpbmcgdG8gZ2V0IGluZm9ybWF0aW9uIGFib3V0IHRoZSBDQSBkZXZpY2UuCgoyMDEyLTA2LTI5IDE4OjAxOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuYzoKCSAgY2FtOiBQTVRfUkVQTFkgcGFyc2luZwoJICBOb3QgdXNlZCB5ZXQKCjIwMTItMDYtMjkgMTg6MDA6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5oOgoJICBkdmJiYXNlYmluOiBTd2l0Y2ggdG8gdXNlIHRzcGFyc2UKCjIwMTItMDYtMjkgMTc6NTM6MzAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogVXNlIGdzdF9zdHJ1Y3R1cmVfKl90YWtlX3ZhbHVlIHdoZXJlIGFwcGxpY2FibGUKCSAgU2F2ZXMgY29weWluZy9mcmVlaW5nIGRhdGEKCjIwMTItMDYtMjkgMTY6MTQ6MDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogQ2FjaGUgdGhlIEdJQ29udgoJICBBdm9pZHMgaGF2aW5nIHRvIGNvbnN0YW50bHkgb3Blbi9mcmVlIHRoZW0gKHdoaWNoIHdpbGwgZW5kIHVwIGJlaW5nCgkgIHZlcnkgb2Z0ZW4gd2l0aCBFSVQvTklUKS4KCjIwMTItMDYtMjkgMTY6MDk6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiByZXNldCBlbGVtZW50IGluIFJFQURZPT5QQVVTRUQKCSAgRW5zdXJlcyBhbGwgc3ViY2xhc3MgcmVzZXQgdm1ldGhvZHMgYXJlIGNhbGxlZAoKMjAxMi0wNi0yOCAxMjoxODoyOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBVc2UgbW9yZSBRdWFya3MKCjIwMTItMDYtMjYgMTk6MDE6MDcgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVtb3ZlIHVzZWxlc3MgY29kZQoJICBQQ1IvT1BDUiBpcyBtZWFudCB0byBiZSBoYW5kbGVkIGJ5IHRoZSBwYWNrZXRpemVyCgoyMDEyLTA2LTI2IDE4OjU5OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENhbGN1bGF0ZSBwY3IvdGltZS9vZmZzZXQgc2VwYXJhdGVseSBwZXIgcHJvZ3JhbQoJICBBdm9pZHMgcXVpdGUgYSBmZXcgaXNzdWVzIHdpdGggbXVsdGktcHJvZ3JhbSBzdHJlYW1zCgoyMDEyLTA2LTI2IDE4OjU0OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBQdXNoIG91dCBidWZmZXIgb24gbWFpbiBzb3VyY2UgcGFkCgoyMDEyLTA2LTI2IDE4OjUxOjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0YmFzZTogdm1ldGhvZCB0byBub3RpZnkgd2hlbiB3ZSdyZSBkb25lIHByb2Nlc3NpbmcgaW5wdXQKCSAgVGhpcyBjYW4gYmUgdXNlZCB0byBub3RpZnkgc3ViY2xhc3NlcyBubyBtb3JlIGRhdGEgaXMgZXhwZWN0ZWQgdGhpcwoJICByb3VuZC4KCSAgdHNwYXJzZSB3aWxsIHVzZSBpdCB0byBwdXNoIHdob2xlIGJ1ZmZlcnMgKHdpdGhvdXQgY29weSkgb24gdGhlIG1haW4KCSAgc291cmNlIHBhZC4KCSAgSXQgY291bGQgYWxzbyBiZSB1c2VkIGxhdGVyIHRvIGRlY2lkZSB3aGV0aGVyIHRvIHB1c2ggcGVuZGluZyBkYXRhCgkgIGluIG9yZGVyIHRvIHJlZHVjZSBsYXRlbmN5LgoKMjAxMS0wMi0wMSAxMTozOToxNiAtMDgwMCAgRmFicml6aW8gKE1pc3RvKSBNaWxvIDxtaXN0b2JhYW5AZ21haWwuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjICsgZHZiIGFwaSBidWZmZXIgcHJvcGVydHkgdG8gb3ZlcmNvbWUgYnVmZmVyIHVuZGVyIHJlYWRzCgoyMDEyLTA4LTA4IDE1OjA2OjA5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBEb24ndCBhc3N1bWUgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBzCgkgIFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHdoYXRzb2V2ZXIgdGhhdCB0aGUgZmlyc3QgYnVmZmVyIHRvIG91dHB1dCB3aWxsCgkgIHN0YXJ0IGF0IHRoZSBzZWdtZW50LnN0YXJ0LgoJICBJbnN0ZWFkLCB3YWl0IGZvciB0aGUgZmlyc3QgYnVmZmVyIGFmdGVyIGEgc2VnbWVudCwgYW5kIHVzZSB0aGF0IHRpbWVzdGFtcAoKMjAxMi0wOC0xNCAxMToxNzoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEFkZCBzdXBwb3J0IGZvciBtdWx0aXBsZSBkZWNvZGluZyB0aHJlYWRzCgoyMDEyLTA4LTE0IDExOjA5OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBBZGQgc3VwcG9ydCBmb3IgdGhlIE1GUUUgcG9zdHByb2Nlc3NpbmcgZmxhZwoJICBXaGljaCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgaWYgcG9zdHByb2Nlc3NpbmcgaXMgZW5hYmxlZC4KCjIwMTItMDgtMTMgMTA6NTc6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBvbmx5IGFwcGx5IHJlcGVhdCBjb3VudCB3aGVuIHNldAoJICBXaGVuIHRoZXJlIGlzIG5vIGV4dGVuc2lvbiBoZWFkZXIsIHRoZSByZXBlYXRfY291bnQgdmFyaWFibGUgaXMgbGVmdCB0byAwIGFuZAoJICB0aGVuIHRoZSBkdXJhdGlvbiBvbiB0aGUgb3V0cHV0IGJ1ZmZlcnMgaXMgY2FsY3VsYXRlZCB3cm9uZ2x5LiBCZWNhdXNlIHRoZQoJICBkdXJhdGlvbiBpcyB1c2VkIHRvIGludGVycG9sYXRlIG91dHB1dCB0aW1lc3RhbXBzLCB0aGUgb3V0cHV0IHRpbWVzdGFtcHMgYXJlCgkgIGFsc28gd3JvbmcsIGNhdXNpbmcgYmFkIGZyYW1lcmF0ZXMuCgkgIFNlZSBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxNTM1CgoyMDEyLTA4LTA5IDEzOjM3OjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBVc2UgcGtnLWNvbmZpZyBmaWxlIGZvciBnZXR0aW5nIHRoZSBMSUJTIGFuZCBDRkxBR1MKCjIwMTItMDgtMDkgMTE6NDg6MzkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5jOgoJICBtcGcxMjM6IEdpdmUgTUFSR0lOQUwgcmFuayB0byB0aGUgbXBnMTIzIGRlY29kZXIgZWxlbWVudAoKMjAxMi0wOC0wOCAxNzo0MDozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBnc3Q6IFNldCBhbGlnbm1lbnQgYXQgdGhlIGNvcnJlY3QgcGxhY2Ugb2YgR3N0QWxsb2NhdGlvblBhcmFtcwoKMjAxMi0wOC0wOCAxNzowNjoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSB0aGUgcGVyLWNvbXBvbmVudCBzdHJpZGVzIGZvciBldmVyeSBmcmFtZSB0b28KCSAgVGhpcyBpcyBuZWNlc3NhcnkgYmVjYXVzZSBvZiBHc3RWaWRlb0FsaWdubWVudAoKMjAxMi0wOC0wOCAxNjozNToxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MyA9PT0KCjIwMTItMDgtMDggMTU6MzI6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgUmVsZWFzZSAwLjExLjkzCgoyMDEyLTA4LTA4IDEyOjU4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L21wZzEyMy9NYWtlZmlsZS5hbToKCSAgbXBnMTIzOiBkaXN0IGhlYWRlciBmaWxlCgoyMDEyLTA4LTA4IDEyOjEzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogdXBkYXRlIGZvciBwaG90b2dyYXBoeSBBUEkgY2hhbmdlcwoKMjAxMi0wOC0wOCAxMTo1MzowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiAuZ2l0aWdub3JlIG5ldyBjdXJsc210cHNpbmsgdGVzdCBiaW5hcnkKCjIwMTItMDgtMDMgMTY6MjE6MDkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgbWltaWM6IFBvcnQgdG8gMC4xMQoKMjAxMi0wOC0wNyAxODoyMzozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkgIHdpbmtzOiBhZGQgbWlzc2luZyBkZWZhdWx0IHN3aXRjaCBjYXNlCgoyMDEyLTA4LTA3IDE4OjIzOjA1ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IGZpeCB0eXBlcwoKMjAxMi0wOC0wNyAxODoyMjozNiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIHdpbmtzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIxOjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCB1bnVzZWQgdmFyaWFibGVzIHdhcm5pbmdzCgoyMDEyLTA4LTA3IDE4OjIwOjUzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL3dpbmtzL2tzdmlkZW9oZWxwZXJzLmM6CgkgIHdpbmtzOiBkb24ndCByZWluaXRpYWxpemUgTUVESUFTVUJUWVBFX0k0MjAKCjIwMTItMDgtMDcgMTg6MTk6MjkgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICB3aW5rczogZGVmaW5lIFNUQVRJQ19LU1BST1BTRVRJRF9XYXZlX1F1ZXVlZCBpZiBub3QgZGVmaW5lZAoKMjAxMi0wOC0wNyAxNjo1MzowMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgIHdpbmtzOiBpbnRlZ3JhdGUgYnVpbGQgd2l0aCBhdXRvdG9vbHMKCjIwMTItMDgtMDIgMTQ6MjY6MzIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMgbGlua3MKCSAgUmVuYW1lIHRoZSBETEwgZW50cnkgcG9pbnQgdGhlIGF2b2lkIGR1cGxpY2F0ZWQgc3ltYm9scyBpbiBzdGF0aWMKCSAgbGlua3MuCgoyMDEyLTA4LTAyIDE0OjI2OjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljIGxpbmtzCgkgIFJlbmFtZSB0aGUgRExMIGVudHJ5IHBvaW50IHRoZSBhdm9pZCBkdXBsaWNhdGVkIHN5bWJvbHMgaW4gc3RhdGljCgkgIGxpbmtzLgoKMjAxMi0wOC0wNiAxMzo1OToyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBnc3Q6IEFkZCBzdHJlYW0taWQgdG8gc3RyZWFtLXN0YXJ0IGV2ZW50cwoKMjAxMi0wNy0yNiAxOTozMToxNCArMDIwMCAgT2xla3NpaiBSZW1wZWwgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogaW5pdGlhdGUgZW5jb2RlciB0byBmaXggYSBjcmFzaC4KCSAgV2l0aG91dCB0aGlzIHBhdGNoIHZwOGVuYyBzZW5kIGhlYWRlciBiZWZvcmUgYW5kIGFmdGVyIGZpcnN0CgkgIGtleSBmcmFtZS4gT24gc2Vjb25kIGtleWZyYW1lIHZwOGRlYyB3aWxsIGNyYXNoIHdpdGhvdXQgZ2V0dGluZwoJICBkZWNvZGVkIGZyYW1lLiBXaXRoIHRoaXMgcGlwZSBpdCBpcyBlYXN5IHRvIHJlcHJvZHVjZSB0aGlzIGlzc3VlOgoJICBnc3QtbGF1bmNoLTEuMCB2aWRlb3Rlc3RzcmMgISB2cDhlbmMgISB2cDhkZWMgISBmYWtlc2luawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgwNjY3CgoyMDEyLTA4LTA1IDE2OjQwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA5NGNjZjRjIHRvIDY2OGFjZWUKCjIwMTItMDgtMDQgMTY6MzE6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBnc3RfdGFnX2xpc3RfZnJlZSAtPiBnc3RfdGFnX2xpc3RfdW5yZWYKCjIwMTItMDgtMDMgMTE6MzE6MDAgKzAyMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybDogZml4ZWQgc29tZSBtZW1vcnkgbGVha3MgaW4gdGhlIHBsdWdpbiBhbmQgdGhlIHVuaXQgdGVzdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTExNwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjgxMTE1CgoyMDEyLTA4LTAzIDE0OjEyOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIGxpYm1wZzEyMyA+PSAxLjEzIGZvciAyNC1iaXQgZm9ybWF0cwoKMjAxMi0wOC0wMyAxMzo0MzozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogbWFwIGlucHV0IGJ1ZmZlciBpbiBSRUFEIG1vZGUsIG5vdCBXUklURSBtb2RlCgkgIE1ha2VzIHRoaW5ncyBhY3R1YWxseSB3b3JrLgoKMjAxMi0wOC0wMyAxMTo1MDoxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBnMTIzL2dzdG1wZzEyM2F1ZGlvZGVjLmM6CgkgIG1wZzEyMzogcXVlcnkgc3VwcG9ydGVkIG91dHB1dCBmb3JtYXRzIGF0IHJ1bi10aW1lCgkgIEZpeGVzIHN0dWZmLiBXZSB1c2UgYSBzdHJpbmcgaGVyZSBzaW5jZSB3ZSBjYW4ndCBiZSBib3RoZXJlZAoJICB3aXRoIEdWYWx1ZS4KCjIwMTItMDgtMDMgMTE6NDg6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGcxMjMvTWFrZWZpbGUuYW06CgkgIG1wZzEyMzogaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTItMDgtMDMgMTE6MTM6NDggKzAxMDAgIENhcmxvcyBSYWZhZWwgR2lhbmkgPGR2QHBzZXVkb3Rlcm1pbmFsLm9yZz4KCgkqIGV4dC9tcGcxMjMvZ3N0bXBnMTIzYXVkaW9kZWMuYzoKCSogZXh0L21wZzEyMy9nc3RtcGcxMjNhdWRpb2RlYy5oOgoJICBtcGcxMjM6IGFkZCBuZXcgbGlibXBnMTIzLWJhc2VkIG1wMyBkZWNvZGVyIHBsdWdpbgoJICBOZWVkcyBhIGJpdCBvZiBjbGVhbmluZyB1cC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MTAwMwoKMjAxMi0wOC0wMyAwMDoxMDowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgc2Nocm9lZGluZ2VyLCBtcGVndHNtdXg6IGZpeCBwbHVnaW4gbmFtZXMKCjIwMTItMDctMzEgMDk6MzY6MzUgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBTYXZlIGltYWdlL3ZpZGVvIHJlY29uZmlndXJhdGlvbiB1bnRpbCBjYXB0dXJpbmcKCSAgQWRkIGEgc3JjIHBhZCBldmVudCBoYW5kbGVyIGZ1bmN0aW9uIHRoYXQgZmlsdGVycyByZWNvbmZpZ3VyZSBldmVudHMgdG8KCSAgdHJpZ2dlciB0aGUgcmVuZWdvdGlhdGlvbiBjb2RlIHBhdGhzIGluIHRoZSBtb2RlLXNwZWNpZmljIHN0YXJ0LWNhcHR1cmUKCSAgcGhhc2UuCgkgIFRoaXMgaXMgdG8gd29yayB0b3dhcmRzIGZpeGluZyB1bml0IHRlc3RzIGJ1dCBtb3JlIHdvcmsgaXMgbmVlZGVkLgoKMjAxMi0wOC0wMiAxNDo0MDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGRvIG5vdCBhY2Nlc3MgZnJhbWUgYnVmZmVyIGZvbGxvd2luZyBfZmluaXNoX2ZyYW1lIGNhbGwKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY4MDQ5NAoKMjAxMi0wOC0wMSAxMTozNDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXg6IGRlZmF1bHQgdG8gRFZEIE1QRUctMiBmb3JtYXQgaW5zdGVhZCBvZiBHZW5lcmljIE1QRUctMQoKMjAxMi0wOC0wMSAxMTozMTowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9tcGxleC9nc3RtcGxleGpvYi5jYzoKCSAgbXBsZXhqb2I6IGFkZCBuaWNrcyBmb3IgZm9ybWF0IGVudW1zLCBhZGQgc29tZSBtb3JlIGZvcm1hdHMKCjIwMTItMDctMzAgMTc6MjE6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGZpeCBqaWZtdXggdGVzdCBmb3IgZml4ZWQgZmFpbCgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02ODA3NTUKCjIwMTItMDctMjkgMDE6MTE6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBmaXggcHJldmlldyBtZXNzYWdlIGhhbmRsaW5nCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGNvbnRhaW4gR3N0U2FtcGxlcyBpbnN0ZWFkIG9mIEdzdEJ1ZmZlcnMKCjIwMTItMDctMjkgMDA6NTM6MjkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBwcmV2aWV3IGJ1ZmZlciBwdXNoaW5nCgkgIG5lZWQgdG8gcGFzcyBhIEdzdFNhbXBsZSB0byB0aGUgdXRpbGl0YXJ5IHByZXZpZXcgYnVmZmVyIHBvc3QgZnVuY3Rpb25zCgkgIGFzIGEgR3N0QnVmZmVyIGRvZXNuJ3QgaGF2ZSBjYXBzIGFueW1vcmUuIFRoZSBHc3RTYW1wbGUgaGFzIHRoZSBHc3RDYXBzCgkgIGFuZCBpdCBpcyB1c2VkIHRvIGluZm9ybSB0aGUgcHJldmlldydzIHBpcGVsaW5lIGFib3V0IHRoZSBmb3JtYXQgb2YgdGhlCgkgIGlucHV0LCBiZWZvcmUgaXQgZ2V0cyBjb252ZXJ0ZWQgdG8gdGhlIHVzZXIncyByZXF1ZXN0ZWQgb3V0cHV0IGZvcm1hdC4KCjIwMTItMDctMjkgMDA6MDQ6MzUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIFJldmVydCAiY2FtZXJhYmluOiB1cGRhdGUgdG8gbmV3IHRhZyBldmVudCBjcmVhdGlvbiBBUEkiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNWQ4OTBiM2M5MjcxNGUxZjM3MTYzMjkwYzMyOTExYmNkNzgxOGE1Ny4KCSAgVGhlIG5ldyBBUEkgaXMgdGhlIG9sZCBBUEkuCgoyMDEyLTA3LTI4IDE4OjA0OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IHJlZmVyZW5jZXMgdG8gYXZvaWQgZWxlbWVudCBsZWFraW5nCgkgIFNvbWUgcGFkIHByb2JlcyBhcmUgbmV2ZXIgZ29pbmcgdG8gYmUgcmVtb3ZlZCBmcm9tIHRoZSBwYWRzLCBzbwoJICB3ZSBzaG91bGRuJ3Qga2VlcCBhIGNhbWVyYWJpbiByZWZlcmVuY2Ugd2l0aCB0aGVtIG9yIGNhbWVyYWJpbiB3aWxsCgkgIG5ldmVyIGdldCByZWxlYXNlZAoKMjAxMi0wNy0yOCAxNToxNzoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB0byBuZXcgdGFnIGV2ZW50IGNyZWF0aW9uIEFQSQoKMjAxMi0wNy0yOCAxMjowOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IHJlbW92ZSBhc3NlcnRpb24gb24gbnVsbCBwcm9wZXJ0eQoJICBDaGVjayBpZiB0aGUgZmxhZ3MgYXJlIG5vdCBudWxsIGJlZm9yZSB0cnlpbmcgdG8gc2V0IHRoZW0gdG8KCSAgY2FtZXJhYmluIHRvIGF2b2lkIGFuIGFzc2VydGlvbgoKMjAxMi0wNy0yOCAwMDozMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB0YWc6IFVwZGF0ZSBmb3IgdGFnbGlzdC90YWcgZXZlbnQgQVBJIGNoYW5nZXMKCjIwMTItMDctMjcgMTM6MjI6NTIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwcm9jZXNzIEFUVEFDSE1FTlQgdGFnIGFzIHNhbXBsZQoKMjAxMi0wNy0yNSAxNjowNToxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICBmYWFjLCB2b2FhY2VuYzogYWRqdXN0IHRvIG1vZGlmaWVkIGF1ZGlvZW5jb2RlciBnZXRjYXBzIGhlbHBlciBBUEkKCjIwMTItMDctMjQgMTI6Mjg6MTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyOiBmaXhhdGUgY2FwcwoKMjAxMi0wNy0yNCAxMDo0NjozOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBndWFkaTogcHJlZml4IG9yYyBmdW5jdGlvbnMgd2l0aCBnYXVkaV9vcmNfCgoyMDEyLTA3LTI0IDEwOjQ0OjUxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBmaWVsZGFuYWx5c2lzOiBwcmVmaXggb3JjIGZ1bmN0aW9ucwoKMjAxMi0wNy0yNCAxMDozMjo1MSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGJheWVyOiBwcmVmaXggb3JjIGZ1bmN0aW9ucyB3aXRoIGJheWVyX29yYwoJICBBZGQgYmF5ZXIgb3JjIHRvIHRoZSB1bml0IHRlc3QKCjIwMTItMDctMjQgMTA6MzI6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB0ZXN0czogZml4IHZpc3VhbGl6ZXIgY29tcGlsYXRpb24KCjIwMTItMDctMjMgMTE6MzY6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEFkZCBzdXBwb3J0IGZvciB2aWRlbyBtZXRhZGF0YSBhbmQgYXJiaXRyYXJ5IHN0cmlkZXMKCjIwMTItMDctMjMgMTA6NTQ6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IE1hcCByYXcgdmlkZW8gYnVmZmVycyB3aXRoIHRoZSBjb3JyZWN0IHJlYWQvd3JpdGUgZmxhZ3MKCjIwMTItMDctMjMgMTA6MzU6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgdmlkZW8gYmFzZSBjbGFzc2VzIEFQSSBjaGFuZ2VzCgoyMDEyLTA3LTIzIDA4OjQ1OjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOThlMzg2ZiB0byA5NGNjZjRjCgoyMDEyLTA3LTIxIDE5OjU5OjIxICswMjAwICBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggbWVtb3J5IGxlYWsKCSAgdW5yZWYgZnJhbWUuIGkgaG9wZSBpdCBpcyBjb3JyZWN0IHBsYWNlIHRvIGRvIGl0LgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wNy0yMCAyMzoyODo0OSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBVc2UgYnVmZmVyIGZsYWdzIGFuZCBjYXBzIGNvcnJlY3RseQoJICBUaGlzIHJlcXVpcmVzIGEgcmVjZW50IGNvbW1pdCB0byAtYmFzZSB0aGF0IGFkZHMgYW4gSU5URVJMQUNFRCBidWZmZXIKCSAgZmxhZy4KCjIwMTItMDctMjAgMTY6NDM6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBvbmx5IGRpc2NhcmQgZnJhbWUgb25jZSB1cG9uIGRlY29kaW5nIGVycm9yCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Nzk4ODYKCjIwMTItMDctMTkgMTY6MTA6NDAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBmYWJzLT5zcXJ0IHRvIGNhbGN1bGF0ZSB0aGUgbWFnbml0dWRlCgoyMDEyLTA3LTE4IDA5OjE5OjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGFsc28gYWN0aXZhdGUgaW4gcHVzaCBtb2RlIGlmIHRoZSBzY2hlZHVsaW5nIHF1ZXJ5IGZhaWxlZAoJICBJbiBjYXNlIHBhZHMgYXJlIHVubGlua2VkIHNvbWV3aGVyZS4KCjIwMTItMDctMTggMDg6NDE6NDMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBwdXNoIG1vZGUgYWN0aXZhdGlvbgoJICBFeHRyYSB1bnJlZiBvbiBwdXNoIG1vZGUgYWN0aXZhdGlvbiBjYXVzZWQgaGF2b2MuCgoyMDEyLTA3LTE2IDAwOjA1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBleHRyYWN0IHllYXIgYXMgR3N0RGF0ZVRpbWUgaW5zdGVhZCBvZiBHRGF0ZQoKMjAxMi0wNy0xNyAxODowNToyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IG5vIG5lZWQgdG8gbWFrZSBidWZmZXIgd3JpdGFibGUgdHdpY2UKCjIwMTItMDctMTcgMTg6MDU6MDAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBwbHVnIHNvbWUgcmVmIGxlYWtzCgoyMDEyLTA3LTE3IDE0OjAyOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogYWRqdXN0IHRvIG1vZGlmaWVkIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gQVBJCgoyMDEyLTA3LTE3IDE2OjM5OjAyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHVwZGF0ZSBmb3IgUlRQIGJ1ZmZlciBhcGkgY2hhbmdlcwoKMjAxMi0wNy0xNiAyMjowMjo0NCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RhdWRpb3Zpc3VhbGl6ZXIuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5oOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHNob3J0ZW4gYmFzZSBjbGFzcyBuYW1lCgkgIEFzIHN1Z2dlc3RlZCBvbiBJUkMgcmVuYW1lIHRvIEF1ZGlvVmlzdWFsaXplci4gV2UgdXNlIGN1c3RvbSBzdWZmaXggb24gdGhlIHR5cGUKCSAgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBvdGhlciBjb3BpZXMgZm9yIHRoZSB0aW1lIGJlaW5nLgoKMjAxMi0wNy0xNSAxMjoyNzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgY2VsdCwgb3BlbmN2LCB3YXlsYW5kLCBkdmJzdWIsIGZlc3RpdmFsLCBobHM6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMTItMDctMTQgMTU6NTE6MDggKzAyMDAgIEFsYmFuIEJyb3dhZXlzIDxwcmFoYWxAeWFob28uY29tPgoKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkgIHdheWxhbmQ6IGRvbid0IGxpbmsgdG8gZ3N0aW50ZXJmYWNlcywgd2hpY2ggZG9lc24ndCBleGlzdCBhbnkgbW9yZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5OTI5CgoyMDEyLTA2LTMwIDAwOjIyOjQwICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2OiBwb3J0IHRvIDAuMTEKCSAgQmFzaWMgcG9ydCB0byAwLjExIEFQSS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3OTE2NAoKMjAxMi0wNy0xMyAxMjozMjo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRhcHRpdmVseSBibGVuZCBvciBhdHRhY2ggdmlkZW8gb3ZlcmxheSBjb21wb3NpdGlvbgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMyAxMjoyNzo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogdXNlIHZpZGVvIG92ZXJsYXkgY29tcG9zaXRpb24gaGVscGVyCgkgIC4uLiByYXRoZXIgdGhhbiBjdXN0b20gaG9tZS1tYWRlIGJsZW5kaW5nLgoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMi0wNy0xMiAxMDoxMzo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBtb3JlIGNvcnJlY3RseSBkZXRlcm1pbmUgZXhwZWN0ZWQgUEVTIHBhY2tldCBwYXlsb2FkIHNpemUKCSAgLi4uIHBhcnRpY3VsYXJseSBjb25zaWRlcmluZyB0aGF0IHBhY2tldF9sZW5ndGggPT0gMCBpcyBwb3NzaWJsZS4KCjIwMTItMDctMTEgMjM6MTc6MTkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgcGl0Y2g6IHJlZ2lzdGVyIGFzIGVmZmVjdAoKMjAxMi0wNy0xMSAyMDozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBjb3JyZWN0bHkgZGV0ZXJtaW5lIGV4cGVjdGVkIFBFUyBwYWNrZXQgcGF5bG9hZCBzaXplCgkgIEF2b2lkcyBjb25zaXN0ZW50bHkgZmFpbGluZyB0byBkZXRlY3QgdGhhdCBhIHBhY2tldCBpcyBjb21wbGV0ZSwgd2hpY2gKCSAgd291bGQgdGhlbiBvbmx5IGJlIHB1c2hlZCB1cG9uIHRoZSBzdGFydCBvZiBhIG5leHQgcGFja2V0LCB3aGljaCBsZWFkcwoJICB0byBxdWl0ZSBhIGRlbGF5IGluIGNhc2Ugb2YgYSBzcGFyc2UgKHN1YnRpdGxlKSBzdHJlYW0uCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTAgMTc6NTg6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgbWluaW11bSBwYWdlIHRpbWUgb3V0IG9mIDEgc2Vjb25kCgkgIC4uLiB0byBjb21wZW5zYXRlIGZvciBzb21lIGJvZ3VzIHN1YnRpdGxlIHdpdGggYSAwIHRpbWVvdXQsIHdoaWNoIHdvdWxkCgkgIHJlc3VsdCBpbiBvbmx5IGJlaW5nIHNob3duIGZvciBhIHZlcnkgdW5yZWFkYWJsZSBhbW91bnQgb2YgdGltZS4KCSAgU2VlIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY2NzQKCjIwMTItMDctMTEgMTQ6Mjc6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICB0ZXN0czogZml4IGJ1aWxkIG9mIHBpdGNoLXRlc3QKCSAgRG9lcyBub3Qgc291bmQgbGlrZSB0aGUgc2FtZSB0ZXN0IGluIDAuMTAgdGhvdWdoLi4KCjIwMTItMDctMTEgMTM6NTk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3MKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDUgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgkgIC9ob21lL3RwbS9nc3QvMC4xMS9nc3RyZWFtZXIvZ3N0L2dzdHNlZ21lbnQuaDoxOTI6MTQ6IG5vdGU6IGV4cGVjdGVkICdndWludDY0IConIGJ1dCBhcmd1bWVudCBpcyBvZiB0eXBlICdnaW50NjQgKicKCSAgZ3N0ZHZic3Vib3ZlcmxheS5jOjc3MjoxNTogZXJyb3I6IHBvaW50ZXIgdGFyZ2V0cyBpbiBwYXNzaW5nIGFyZ3VtZW50IDYgb2YgJ2dzdF9zZWdtZW50X2NsaXAnIGRpZmZlciBpbiBzaWduZWRuZXNzCgoyMDEyLTA3LTExIDEzOjQ5OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4dXAgZW5kLW9mLWRpc3BsYXktc2V0IGZvcmNpbmcKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmMKCjIwMTItMDctMTEgMTM6NDg6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBlbnN1cmUgdmFsaWQgc3VidGl0bGUgcnVubmluZyB0aW1lIGJ5IHByb3BlciBjbGlwcGluZwoJICBJbiBwYXJ0aWN1bGFyLCBwYXNzIGJ1ZmZlciB0aW1lc3RhbXAgKHB0cykgdG8gZHZiX3N1YiwgYW5kIHRoZW4gY2xpcAoJICBhbmQgY29udmVydCB0byBydW5uaW5nIHRpbWUgd2hlbiB0aGUgZHVyYXRpb24gKHRpbWVvdXQpIGlzIGtub3duIGFmdGVyCgkgIGRlY29kaW5nIGl0LgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMjMzCgkgIENvbmZsaWN0czoKCSAgZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jCgoyMDEyLTA3LTExIDEzOjQ1OjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHByb3Blcmx5IGZvcmNlIGVuZC1vZi1kaXNwbGF5LXNldAoJICAuLi4gd2hpY2ggaXMgdXBvbiByZWNlaXZpbmcgbmV3IGRhdGEgd2l0aCBkaWZmZXJlbnQgUFRTIHNwZWMtd2lzZSwKCSAgb3Igb3B0aW9uYWxseSB1cG9uIGVhY2ggcGFja2V0IG9mIHN1YnRpdGxlIGRhdGEgaWYgZGVzaXJlZCBieSBwcm9wZXJ0eS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTMxMAoJICBDb25mbGljdHM6CgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoKMjAxMS0xMi0yMSAxMzowMDoyNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJICBkdmJzdWJvdmVybGF5OiBIYW5kbGUgbm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZyBjb3JyZWN0bHkgaW4gdGhlIFJMRSBoYW5kbGVycwoJICBUaGUgY2hlY2sgZm9yIHdoZW4gdG8gbm90IG1lbXNldCB3YXMgY2hlY2tpbmcgb24gYW4gdW5kZXRlcm1pbmlzdGljICdiaXRzJyB2YXJpYWJsZSB2YWx1ZSwKCSAgd2hpY2ggaXMgb25seSBtZWFudCB0byBiZSB1c2VkIGluc2lkZSB0aGUgbG9vcCBlYXJsaWVyIHdoZW4gaXQgaXMgc3VwcG9zZWQgdG8gY2hlY2sgaWYKCSAgY2x1dF9pbmRleCBpcyAxIHRvZ2V0aGVyIHdpdGggbm9uX21vZCBzZXQsIGFzIHBlciBzcGVjOgoJICAibm9uX21vZGlmeWluZ19jb2xvdXJfZmxhZzogIElmIHNldCB0byAnMScgdGhpcyBpbmRpY2F0ZXMgdGhhdCB0aGUgQ0xVVCBlbnRyeSB2YWx1ZSAnMScKCSAgaXMgYSBub24gbW9kaWZ5aW5nIGNvbG91ci4gV2hlbiB0aGUgbm9uIG1vZGlmeWluZyBjb2xvdXIgaXMgYXNzaWduZWQgdG8gYW4gb2JqZWN0IHBpeGVsLAoJICB0aGVuIHRoZSBwaXhlbCBvZiB0aGUgdW5kZXJseWluZyByZWdpb24gYmFja2dyb3VuZCBvciBvYmplY3Qgc2hhbGwgbm90IGJlIG1vZGlmaWVkLiBUaGlzCgkgIGNhbiBiZSB1c2VkIHRvIGNyZWF0ZSAidHJhbnNwYXJlbnQgaG9sZXMiIGluIG9iamVjdHMuIgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2MzUyCgoyMDEwLTEwLTEzIDEwOjU1OjE3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogdXBkYXRlIGRvY3VtZW50YXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0xNCAxMDo0OTo1NSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBtYW51YWwgY29udHJvbCBvZiBleHBvc3VyZSwgZm9jdXMgYW5kIHdoaXRlIGJhbGFuY2UKCSAgQWRkIG5ldyBpbnRlcmZhY2UgcHJvcGVydGllcyBhbmQgbW9kZSBmb3IgYmV0dGVyIG1hbnVhbCBjb250cm9sIG9mCgkgIGV4cG9zdXJlLCBmb2N1cyBhbmQgd2hpdGUgYmFsYW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMC0xMC0wOCAxMTozMzozMSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBwaG90b2dyYXBoeTogQWRkIEdzdFBob3RvZ3JhcGh5IHByZWZpeCBhbmQgZml4IHNwZWxsaW5nIGNvbG91ci0+Y29sb3IKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjQ4MgoKMjAxMi0wNy0xMCAyMzoyNzoyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgaGVhZGVyIGluZGVudGF0aW9uIGNsZWFuLXVwIGZvciBtcGVndmlkZW9wYXJzZXIKCjIwMTItMDctMTAgMTc6NDc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHNvdW5kdG91Y2g6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNy0xMCAxMjoxMDoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogdW5tYXAgaW5wdXQgYnVmZmVyCgoyMDEyLTA3LTA0IDEwOjE0OjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIHBvcnQgZmVzdGl2YWwgdG8gMC4xMQoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc5MzczCgoyMDEyLTA3LTEwIDExOjE0OjU5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogZml4IHNvbWUgcGFkIHRlbXBsYXRlLXJlbGF0ZWQgY3JpdGljYWxzIGluIGNhbWVyYWJpbiB0ZXN0CgoyMDEyLTA3LTEwIDAwOjU5OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBjb3B5IGludG8gcHJvdmlkZWQgYnVmZmVyIGlmIGEgYnVmZmVyIGlzIHByb3ZpZGVkCgoyMDEyLTA3LTA5IDIyOjA4OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvemJhci5jOgoJICB0ZXN0czogZml4IHpiYXIgdGVzdAoKMjAxMi0wNy0wOSAxMjoyMjo0NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVwZGF0ZSBmb3IgcmlmZiBmaWVsZCByZW5hbWUKCjIwMTItMDctMDggMTk6MjM6MzAgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYXVkaW92aXN1YWxpemVyczogdXBkYXRlIGJhc2VjbGFzcyBmcm9tIGxpYnZpc3VhbCBwb3J0aW5nCgoyMDEyLTA3LTA4IDAwOjA4OjU1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiBwYXNzIHVuaGFuZGxlZCBub24tY3VzdG9tIGV2ZW50cyB0byB0aGUgYmFzZSBjbGFzcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY2NjI2CgoyMDEyLTA3LTA2IDE0OjUzOjU3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogcmVtb3ZlIGRlcHJlY2F0ZWQgImlzLWxpdmUiIHByb3BlcnR5CgkgIFVzZSB0aGUgInN0cmVhbWFibGUiIHByb3BlcnR5IGluc3RlYWQuCgoyMDEyLTA3LTA2IDExOjUwOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJICB1cGRhdGUgZm9yIHF1ZXJ5IGFwaSBjaGFuZ2VzCgoyMDEyLTA3LTA2IDExOjI2OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdXBkYXRlIGZvciBxdWVyeSBhcGkgY2hhbmdlcwoKMjAxMi0wNy0wNiAxMTowMzowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHVwZGF0ZSBmb3IgYWxsb2NhdGlvbiBxdWVyeSBjaGFuZ2VzCgoyMDEyLTA3LTA0IDExOjM4OjUxICswMjAwICBBbGVpeCBDb25jaGlsbG8gRmxhcXVlIDxhbGVpeEBvYmxvbmcuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobXNyYzogbWVtb3J5IGNvcnJ1cHRpb24gd2hlbiBhIGNsaWVudCBkaXNjb25uZWN0cyAoZml4ZXMgIzY3OTM4NSkKCjIwMTItMDctMDUgMTM6MTg6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICBnc3Q6IEltcGxlbWVudCBzZWdtZW50LWRvbmUgZXZlbnQKCjIwMTItMDctMDMgMTI6NTc6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIGRpcmVjdHNvdW5kc3JjOiBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzJyBmaW5hbGl6ZSBpbXBsZW1lbnRhdGlvbgoKMjAxMi0wNy0wMiAxNzo1NTozNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEJldHRlciBoYW5kbGluZyBvZiBhdWRpbyBvdXRwdXQKCSAgQ29uZmxpY3RzOgoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoKMjAxMi0wNy0wMiAxNzo1MjoxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbmtzcmM6IFNlbmQgbmV3c2VnbWVudCBldmVudHMKCjIwMTItMDctMDIgMTc6NTE6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkgIGRlY2tsaW5rc2luazogTWFyayBlbGVtZW50IGFzIHNpbmsgZWxlbWVudAoKMjAxMi0wNy0wMiAxNzo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogdXNlIEdPbmNlIGluIHR5cGUgcmVnaXN0cmF0aW9uCgoyMDEyLTA3LTAyIDE3OjMyOjE0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcjogSW5jcmVhc2UgdGhlIGludGVyIGF1ZGlvIHN1cmZhY2UgYnVmZmVyaW5nCgoyMDEyLTA3LTAyIDEyOjA0OjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJICBpbnRlcmF1ZGlvc2luazogcmVlbmFibGUgY2hhbm5lbCBwcm9wZXJ0eQoKMjAxMi0wNy0wMiAxMjowMzo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJICBpbnRlcmF1ZGlvc3JjOiBTZXQgZm9ybWF0IHRvIHRpbWUKCjIwMTItMDYtMjkgMTI6MDM6NTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL3B2cjJkL2dzdHB2cnZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICBzeXM6IG1ha2UgdmlkZW8gc2lua3MgZGVmYXVsdCB0byBmb3JjZS1hc3BlY3QtcmF0aW89dHJ1ZQoKMjAxMi0wNi0yOCAxODowNDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzYmFzZTogTW92ZSBrbm93biBQU0kgUElEcyB0byB3aGVyZSB0aGV5IGJlbG9uZwoJICBUaGlzIGF2b2lkcyB0c2RlbXV4IHBhcnNpbmcgZGF0YSBpcyBkb2Vzbid0IHJlYWxseSBjYXJlIGFib3V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmMKCjIwMTItMDYtMDIgMDg6MDU6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBrbm93biBkZWZhdWx0IFNJIFBJRHMKCjIwMTItMDYtMjggMTc6NDA6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IEFBQyBMQVRNIGNhcHMKCjIwMTItMDYtMjIgMTY6NDc6NTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIHRlc3RzOiBtcGVndHNtdXg6IGFkZCBiYXNpYyBvdXRwdXQgdW5pdCB0ZXN0IHZlcmlmaWNhdGlvbgoKMjAxMi0wNi0yMiAxNzo1MTozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkgIG1wZWd0c211eDogYXBwbHkgc29tZSBtb3JlIENMT0NLX0JBU0UgdG8gZW5zdXJlIHNsYWNrIGZvciBQQ1Igb2Zmc2V0CgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC90c211eC90c211eC5jCgoyMDEyLTA2LTI3IDExOjIzOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZml4IHgtd212IGZvcm1hdCBzdHJpbmcKCjIwMTItMDYtMjYgMTY6MzM6NTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogcG9ydCB0byAwLjExCgoyMDEyLTA2LTI1IDE2OjE4OjQxICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZWxlYXNlIHRoZSBvZmZzY3JlZW4gc3VyZmFjZSBiZWZvcmUgdGhlIGQzZCBkZXZpY2UKCSAgVGhlIG9mZnNjcmVlbiBzdXJmYWNlIGtlZXBzIGEgcmVmZXJlbmNlIG9uIHRoZSBkM2QgZGV2aWNlLCBzbyBpZiB0aGUKCSAgZGV2aWNlIGlzIHJlbGVhc2VkIGZpcnN0IHdlIGRvbid0IHNlZSB0aGUgcmVmZXJlbmNlIGNvdW50IGRlYnVnIG1lc3NhZ2UKCSAgZ29pbmcgdG8gMCBhcyBpdCBzaG91bGQgYmUuCgoyMDEyLTA2LTE5IDIwOjE2OjQwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBjbGVhbiB1cCBlbGVtZW50CgkgIFJlbW92ZSBvbGQgY29tbWVudGVkIGNvZGUgYW5kIHVuZWVkZWQgZXh0cmEgaW5kZW50YXRpb24KCjIwMTItMDYtMTkgMjA6MDM6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJICBkM2R2aWRlb3Npbms6IHJld29yayBsb2NraW5nIGZvciBkZXZpY2VzIGxvc3QKCjIwMTItMDYtMTkgMjA6MTk6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlbGVhc2UgYW5kIHJlY3JlYXRlIHRoZSBkZXZpY2UgaW4gcHJlcGFyZV93aW5kb3cKCjIwMTItMDYtMjQgMjE6MTE6MzkgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSAgc3BlY3RyYXNjb3BlOiBhdm9pZCBkYXJrIHBpeGVscyBpbiBmYWRlLWFuZC1tb3ZlLXVwIG1vZGUKCjIwMTItMDYtMjQgMjA6NTQ6MjQgKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9SRUFETUU6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgYXVkaW92aXN1YWxpemVyczogZml4IGlucHV0IGJ1ZmZlciBoYW5kbGluZwoJICBVc2UgX3JlcGxhY2UgaW5zdGVhZCBvZiBfYXBwZW5kIHRvIGZpeCBncm93aW5nIGJ1ZmZlcnMuCgoyMDEyLTA2LTIzIDE1OjAyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgaGxzLCBzZHA6IHVwZGF0ZSBmb3IgZ3N0X2VsZW1lbnRfbWFrZV9mcm9tX3VyaSgpIGNoYW5nZXMKCjIwMTItMDYtMjEgMTI6MTc6MDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3Y0bDIvUkVBRE1FOgoJICBzeXM6IHJlbW92ZSBsZWZ0LW92ZXIgdjRsMiBkaXIgd2hpY2ggaGFzIG1vdmVkIHRvIGdvb2QKCSAgbGV0J3Mgbm90IGtlZXAgYSBSRUFETUUgYXJvdW5kIHRvIGFubm91bmNlIGl0J3MgbW92ZWQgdG8gLWdvb2QsCgkgIHRoYXQncyBqdXN0IGNsdXR0ZXIuCgoyMDEyLTA2LTIxIDExOjQzOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZWFsbHkgYWx3YXlzIGRlZmluZSBERUNLTElOS19PU1ggY29uZGl0aW9uYWwKCjIwMTEtMDctMTMgMTk6MjU6MDggKzAxMDAgIFRvbnkgSG91Z2h0b24gPGhAcmVhbGguY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQ29ycmVjdCBzYXRlbGxpdGUgZGVsaXZlcnkgZGVzY3JpcHRvciBwYXJzaW5nLgoJICBPcmlnaW5hbCBjb2RlIHRvIHBhcnNlIHNhdGVsbGl0ZSBkZWxpdmVyeSBkZXNjcmlwdG9ycyB0byBnZW5lcmF0ZQoJICAic2F0ZWxsaXRlIiBzdHJ1Y3R1cmVzIGFwcGVhcmVkIHRvIGJlIGNvcHkgJiBwYXN0ZWQgZnJvbSBjYWJsZSdzIGNvZGUKCSAgd2l0aG91dCBhbWVuZGluZyBmb3Igc2F0ZWxsaXRlLgoJICBBbHNvIGFkZGVkIDhQU0sgdG8gZHZic3JjJ3MgZW51bSBmb3IgbW9kdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDQ4NQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaAoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoKMjAxMi0wNi0yMCAxODoxNDoxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIHRzcGFyc2U6IFJld29yayBoYW5kbGluZyBhbmQgY2xlYW51cHMKCSAgdHNwYWQgYWx3YXlzIGhhcyBhIHN0YXRpYyBzb3VyY2UgcGFkIHdoaWNoIG91dHB1dCBldmVyeXRoaW5nIHJlY2VpdmVkCgkgIChub3QgZnVuY3Rpb25hbCB5ZXQpLgoJICBQcm9ncmFtIHBhZHMgYXJlIG5vdyByZXF1ZXN0IHBhZHMuCgkgIFJlbW92ZSBhbGwgY3J1ZnQgdGhhdCBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbSB0aGUgc3dpdGNoIG92ZXIKCSAgdG8gbXBlZ3RzYmFzZS4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYwoKMjAxMi0wNi0yMCAxODoxMDozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFsd2F5cyBzZW5kIEVPUwoJICBzdWJjbGFzcyB3aWxsIHRha2UgY2FyZSBvZiBoYW5kbGluZyBpdCBtb3JlIGlmIG5lZWRlZAoKMjAxMi0wNi0yMCAxNzo1MjoxMyAtMDUwMCAgTWlrZSBSdXByZWNodCA8bWlrZS5ydXByZWNodEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IEZpeCBlbGVtZW50IGxvc2luZyBkYXRhIGF0IHRoZSBlbmQgb2YgYnVmZmVycwoJICBydG1wc3JjIG91dHB1dHMgdHJ1bmNhdGVkIGJ1ZmZlcnMgYmVjYXVzZSwgd2hlbiBlbm91Z2ggZGF0YSBpcwoJICByZWFkIHRvIGZpbGwgdGhlIGJ1ZmZlciwgdGhlIGFtb3VudCByZWFkIHRoYXQgdGltZSAodG9kbykgaXMgc2V0CgkgIHRvIHplcm8gYmVmb3JlIGl0J3MgYWRkZWQgdG8gdGhlIGN1bXVsYXRpdmUgYnVmZmVyIHNpemUgKGJzaXplKS4KCSAgVGhlIGJ1ZmZlciBpcyB0aGVuIHRydW5jYXRlZCB0byBic2l6ZSByZXN1bHRpbmcgaW4gbG9zdCBkYXRhLgoJICBUaGlzIHBhdGNoIGFkZHMgdG9kbyB0byBic2l6ZSBiZWZvcmUgc2V0dGluZyB0b2RvIHRvIHplcm8uCgkgIEZpeGVzICM2Nzg1MDkKCjIwMTItMDYtMjAgMTE6MDI6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggZmxhZyBjaGVja2luZwoKMjAxMi0wNi0yMCAxMDo1OTowOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHQ6ICNpZjAgY29kZSB0aGF0IG5ldmVyIGhhcHBlbnMKCSAgVGhlIG9ubHkgcGxhY2UgdGhpcyBtZXRob2QgaXMgY2FsbGVkIGlzIHdpdGggbG9mcCBiZWluZyBhIGd1aW50OCAoZnJvbQoJICBhIGRhdGEgYmxvY2spLgoKMjAxMi0wNi0yMCAxMDo1ODozMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IFVzZSBwcm9wZXIgdmFyaWFibGUgdHlwZQoKMjAxMi0wNi0yMCAxMjozMToxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIHVwZGF0ZSBmb3IgYnVzIGFwaSBjaGFuZ2VzCgoyMDEyLTA2LTIwIDEyOjE5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWd0c211eC5jOgoJICB0ZXN0czogbXBlZ3RzbXV4OiBwb3J0IHRlc3QgdG8gMC4xMQoKMjAxMi0wNi0yMCAxMjoxNzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCB2YWx1ZSBoYW5kbGluZyBpbiBwYWQgaXRlcmF0aW9uCgoyMDEyLTA2LTIwIDEwOjM0OjQ4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdXBkYXRlIGZvciB0YXNrIGFwaSBjaGFuZ2UKCjIwMTItMDYtMTkgMjI6NDU6MjcgLTA0MDAgIE1hdGVqIEtub3BwIDxNYXRlakBuZXctaG9zdC01LmhvbWU+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBtZW1vcnkgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc4MTMwCgoyMDEyLTA2LTE5IDEwOjM1OjQ4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5jOgoJICBkdmI6IERldGVjdCBtb3JlIGlzc3VlcyB3aXRoIGNvbmZpZ3VyYXRpb24gZmlsZQoJICBSZXBvcnQgdXNlZnVsIGVycm9ycyB3aGVuOgoJICAqIGZpbGUgaXMgcHJlc2VudCBidXQgZW1wdHkKCSAgKiByZXF1ZXN0ZWQgY2hhbm5lbCBpcyBub3QgcHJlc2VudAoKMjAxMi0wNi0xOSAxMDoyMjo1MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9kdmIvcGFyc2VjaGFubmVscy5oOgoJICBkdmJiYXNlYmluOiBFbWl0IGFuIGVycm9yIHdoZW4gd2UgZmFpbCByZWFkaW5nIHRoZSBjaGFubmVscyBmaWxlCgkgIENvbmZsaWN0czoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmMKCjIwMTEtMDItMDEgMTA6MjM6MDQgLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogc3BlbGwtY2hlY2sKCjIwMTEtMDEtMTQgMTk6MzA6MDggLTA4MDAgIEZhYnJpemlvIChNaXN0bykgTWlsbyA8bWlzdG9iYWFuQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YjogYmV0dGVyIGR2c3JjIHBvbGFyaXR5IGluZm8KCjIwMTItMDYtMTggMTE6MzY6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0OiBGaXggaW5pdGlhbGl6YXRpb24KCSAgV2UgYWx3YXlzIGVuZGVkIHVwIGVycm9yaW5nIG9uIHRoZSBmaXJzdCBwYWdlIG90aGVyd2lzZQoJICBDb25mbGljdHM6CgkgIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jCgoyMDEyLTA2LTEwIDExOjM2OjMyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IHVzZSBHQnl0ZUFycmF5CgkgIFVzaW5nIGEgc2ltcGxlIGFycmF5IGNvbWVzIHRvIHRoZSBzYW1lIHJlc3VsdCBmb3IgYSBmcmFjdGlvbiBvZiB0aGUgY29zdAoKMjAxMi0wNi0xMCAxMToyMTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEF2b2lkIGNvcHlpbmcgR3N0U3RydWN0dXJlCgoyMDEyLTA2LTA4IDE1OjEyOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ2Rlc2M6IERvbid0IGFsbG9jYXRlL2ZyZWUgR3N0TVBFR0Rlc2NyaXB0b3IKCSAgSnVzdCB1c2Ugc3RhdGljIHZhcmlhYmxlcwoKMjAxMi0wNi0xNiAxNjo0OToxMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L3BsdWdpbi5jOgoJICBtcGVnZGVtdXg6IHJlbmFtZSBwbHVnaW4gdG8gbXBlZ3BzZGVtdXgKCjIwMTItMDYtMTYgMTY6MzA6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmg6CgkgIG1wZWdkZW11eDogcmVtb3ZlIHVudXNlZCBUUyBkZW11eGVyIGJpdHMgdGhhdCBoYXZlIG1vdmVkIHRvIHRzZGVtdXgKCjIwMTItMDYtMTYgMTk6MjA6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgb2Jzb2xldGUgc3RydWN0IGZpZWxkCgoyMDEyLTA2LTE2IDE2OjUwOjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X3R0eHQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfdHR4dC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgRFZCIHN1YnRpdGxlIGFuZCB0ZWxldGV4dCBzdHJlYW1zCgkgIFNlZSBidWcgIzY3MzU4Mi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtCgoyMDEyLTA2LTE2IDE2OjUwOjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IG9wdGlvbmFsbHkgdXNlIGZpeGVkLXNpemUgUEVTIGhlYWRlcgoKMjAxMi0wNi0xNiAxNjo1MDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb25seSB3cml0ZSBQVFMgYW5kIERUUyBpZiBkaWZmZXJlbnQKCjIwMTItMDYtMTYgMTY6NTA6MzIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6CgkgIG1wZWd0c211eDogb3B0aW9uYWxseSBzZXQgZGF0YV9hbGlnbm1lbnQgZmxhZyBpbiBQRVMgaGVhZGVyCgoyMDEyLTA2LTE2IDE2OjUwOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSAgbXBlZ3RzbXV4OiByZS1lbmFibGUgaW5hZHZlcnRlbnQgZGlzYWJsZWQgY29kZQoKMjAxMi0wNi0xNiAxNjo0NDozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IGFnYWluIHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoJICAuLi4gYnkgZWZmZWN0aXZlbHkgcmV2ZXJ0aW5nIHByZXZpb3VzIGFkanVzdG1lbnQuCgoyMDEyLTA2LTE2IDE2OjQ5OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGRlZmF1bHQgQ29sbGVjdFBhZHMgY29sbGVjdCBoZXVyaXN0aWMKCSAgLi4uIHdpdGggYW4gYXBwcm9wcmlhdGVseSBjdXN0b20gYnVmZmVyIGNsaXAgZnVuY3Rpb24gdG8gYXJyYW5nZSBmb3IKCSAgYnVmZmVyIHByb2Nlc3NpbmcuCgkgIENvbmZsaWN0czoKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oCgoyMDEyLTA2LTE2IDE1OjU0OjQ5ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSAgbXBlZ3RzbXV4OiBGaXggY29tcGlsZXIgd2FybmluZ3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODIxMQoKMjAxMi0wNi0xNiAxOToxNzo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb3J0ZWQgc2VnbWVudCBpbml0CgoyMDEyLTA2LTE0IDE0OjQ5OjU1IC0wNzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvY3JjLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIDAuMTEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3ODEzMAoKMjAxMi0wNi0xNSAxMzowMDozNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZG9uJ3QgcmVjcmVhdGUgdGhlIGQzZCBkZXZpY2UgaWYgaXQgYWxyZWFkeSBleGlzdHMKCjIwMTItMDYtMTUgMTE6NDE6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZGVjLmg6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9qYXNwZXIvZ3N0amFzcGVyZW5jLmg6CgkqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICBqYXNwZXI6IFJlbmFtZSBmcm9tIGpwMmsgdG8gamFzcGVyCgkgIEphc3BlciBpcyBub3QgdGhlIG9ubHkgSlBFRzIwMDAgbGlicmFyeSBvdXQgdGhlcmUgYW5kIHdlCgkgIG1pZ2h0IHdhbnQgdG8gYWRkIGVuY29kZXJzL2RlY29kZXJzIGJhc2VkIG9uIE9wZW5KUEVHIGZvciBleGFtcGxlLgoKMjAxMi0wNi0xNSAxMDozMjozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGFkZCBtaXNzaW5nIG11dGV4IHVubG9jayBvbiBlcnJvciBwYXRoCgoyMDEyLTA2LTE1IDEwOjI0OjI0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXM6IHNldCBhdXRob3IgdG8gbXlzZWxmLCBhbmQgdXBkYXRlIGNvcHlyaWdodCBub3RpY2VzCgkgIGJlY2F1c2UgYXMgc2xvbW8gbm90ZWQsIGluIGZhY3QgcHJldHR5IG11Y2ggYWxsIHRoZSBjb2RlIGluIHRoZXJlIGlzIG1pbmUuCgoyMDEyLTA2LTE1IDAwOjU4OjQzICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBjcmVhdGUgbmV3IGludGVybmFsIHdpbmRvd3MgaWYgd2UgYWxyZWFkeSBoYXZlIG9uZQoKMjAxMi0wNi0wOCAyMzowMToyNiArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByZmJzcmM6IEZpeCBjb21waWxpbmcgaW4gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3NzI0CgoyMDEyLTA2LTExIDEzOjEwOjQzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQ6IHJlbmFtZSB0aGUgbGliIGZyb20gbGlicmVzaW5kdmQgdG8gbGliZ3N0cmVzaW5kdmQKCSAgRm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wNi0wNyAxNTowNjozNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGd1YXJkIGFnYWluc3Qgbm90IGZpbmRpbmcgc29tZSBkYXRhIG9uIGEgRFZECgkgIE1heSBwb3NzaWJseSBoZWxwIHdpdGggYSBwYXJ0aWN1bGFyIERWRC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzExOAoKMjAxMi0wNi0xNCAwMjo0NzoxMCArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSAgY3VybGZpbGVzaW5rOiBSZW1vdmUgc3RyYXkgZGVidWcgcHJpbnRzCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzgwNjAKCjIwMTItMDYtMTIgMjE6MzU6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9NYWtlZmlsZS5hbToKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgIGxjczogcmVtb3ZlIG9sZCBMQ1MgY29sb3JzcGFjZSBjb252ZXJzaW9uIHBsdWdpbgoJICBXYXNuJ3QgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIGV2ZW4gYmFjayBpbiB0aGUgZGF5CgkgIG5vIG9uZSBrbmV3IHdoZXJlIHRoZSBjb3JyZXNwb25kaW5nIGxpYiB3YXMgZnJvbS4KCjIwMTItMDYtMTIgMjE6Mjk6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NoYXJ0Ly5naXRpZ25vcmU6CgkqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSogZ3N0L2NoYXJ0L2NoYXJ0LnZjcHJvajoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgIGNoYXJ0OiByZW1vdmUgb2xkIHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDIxOjIwOjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb2Ryb3AvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmg6CgkqIGdzdC92aWRlb2Ryb3AvdmlkZW9kcm9wLnZjcHJvajoKCSAgdmlkZW9kcm9wOiBkcm9wIHZpZGVvZHJvcAoJICBJdCB3YXMgbmV2ZXIgZXZlbiBwb3J0ZWQgdG8gMC4xMCwgYW5kIHZpZGVvcmF0ZSBkb2VzIGl0cyBqb2Igbm93LgoKMjAxMi0wNi0xMiAyMToxNjo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hcnRzLy5naXRpZ25vcmU6CgkqIGV4dC9hcnRzL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5oOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvLmlkbDoKCSogZXh0L2FydHMvZ3N0X2FydHNpb19pbXBsLmNjOgoJKiBleHQvYXJ0cy9nc3RfYXJ0c2lvX2ltcGwuaDoKCSogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJKiBleHQvYXJ0c2QvUkVRVUlSRU1FTlRTOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2FzLWFydHMubTQ6CgkqIG00L2dzdC1hcnRzYy5tNDoKCSAgYXJ0czogcmVtb3ZlIGFSdHMtcmVsYXRlZCBwbHVnaW5zCgkgIGFSdHMgZGV2ZWxvcG1lbnQgc3RvcHBlZCBpbiAyMDA0LCBpdCdzIHVubGlrZWx5IGV2ZXIgaXMKCSAgc3RpbGwgdXNpbmcgaXQuIEJlc2lkZXMsIHRoZXNlIGVsZW1lbnRzIHdlcmUgbmV2ZXIgZXZlbgoJICBwb3J0ZWQgdG8gMC4xMC4KCjIwMTItMDYtMTIgMjE6MDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgIHNob3V0OiByZW1vdmUgb2xkIHNob3V0IHBsdWdpbiB0aGF0IGhhcyBuZXZlciBiZWVuIHBvcnRlZCB0byAwLjEwCgkgIFRoZXJlJ3Mgc2hvdXQyIGluIC1nb29kIG5vdy4KCjIwMTItMDYtMTIgMjA6MzU6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTElDRU5TRV9yZWFkbWU6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9NYWtlZmlsZS5hbToKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIGhlcm1lczogcmVtb3ZlIGhlcm1lcyBjb2xvcnNwYWNlIGNvbnZlcnRlciB0aGF0IHdhcyBuZXZlciBwb3J0ZWQgdG8gMC4xMAoKMjAxMi0wNi0xMiAxOTowNjo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xlZ2FjeXJlc2FtcGxlLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgbGVnYWN5IHBsdWdpbgoKMjAxMi0wNi0xMiAxOTowMjo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgYXVkaW9yZXNhbXBsZTogcmVtb3ZlIG9sZCBhdWRpb3Jlc2FtcGxlIHBsdWdpbiB0aGF0IHdhcyBuZXZlciBldmVuIHBvcnRlZCB0byAwLjEwCgoyMDEyLTA2LTEyIDE4OjUzOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogdXBkYXRlIGZvciBuZXcgdGFnIGV2ZW50IEFQSQoKMjAxMi0wNi0xMiAxODo0NzoyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBMSUNFTlNFX3JlYWRtZToKCSogUkVRVUlSRU1FTlRTOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmg6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5oOgoJICBkaXZ4OiByZW1vdmUgcGx1Z2luIHRoYXQgdGhlIHdvcmxkIGRvZXNuJ3QgbmVlZCBhbnkgbW9yZQoJICAyMDAyIGNhbGxlZC4KCjIwMTItMDYtMTIgMTA6NTk6MzkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBGaXggYXJyYXkgdHlwZQoJICBXZSB3YW50ZWQgYW4gYXJyYXkgb2YgZ3VpbnQ4IChhbmQgbm90IGFuIGFycmF5IG9mIHBvaW50ZXJzKSB0byBzdG9yZQoJICB0aGUgZGF0YSBmcm9tIGdzdF9idWZmZXJfZXh0cmFjdCgpIGFuZCByZWFkIGl0LgoKMjAxMi0wNi0xMiAwOToxMDo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZG9uJ3QgYWNjZXNzIGJ1ZmZlciBhZnRlciBfZmluaXNoX2ZyYW1lCgkgIFVubWFwIHRoZSBidWZmZXIgYmVmb3JlIGNhbGxpbmcgX2ZpbmlzaF9mcmFtZSBiZWNhdXNlIHdlIGFyZSBub3QgYWxsb3dlZCB0bwoJICBhY2Nlc3MgaXQgYWZ0ZXIuCgoyMDEyLTA2LTExIDE2OjQ1OjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3ByaW5rbGUgc29tZSBtb3JlIGRlYnVnIGNhdGVyaW5nCgoyMDEyLTA2LTExIDE2OjQ0OjAyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogYWRkIFNQTi9QVFMgaW5kZXhpbmcgY2FwYWJpbGl0aWVzCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEFuZHJlYXMgRnJpc2NoIDxmcmF4aW5hc0BvcGVuZHJlYW1ib3gub3JnPgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0ODkwCgoyMDEyLTA2LTExIDE0OjAzOjI2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIG1lbWNweSBkdWUgdG8gdGVtcG9yYXJ5IHBhY2tldCBidWZmZXIKCSAgLi4uIGJ5IHdyaXRpbmcgZGlyZWN0bHkgaW50byB0aGUgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkLgoKMjAxMi0wNi0xMSAxMDo0OToxNSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogZG8gbm90IGFzc2VydCBvbiBkYXRhIGlucHV0LCBqdXN0IHJldHVybgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MDY5CgoyMDEyLTA2LTEwIDE0OjI5OjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYzoKCSAgZHZkc3B1OiBhbGxvdyBkZWJ1Z2dpbmcgb2YgcmVuZGVyIGFuZCBoaWdobGlnaHQgcmVjdGFuZ2xlcyB2aWEgZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgRW5hYmxlIGRlYnVnZ2luZyBvZiByZWN0YW5nbGVzIHZpYSBHU1RfRFZEX1NQVV9ERUJVRy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NzIyMwoJICBDb25mbGljdHM6CgkgIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi1yZW5kZXIuYwoKMjAxMS0xMi0zMSAxODozNTo0MCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGNsZWFudXAgZGVidWcgY29kZQoJICBDbGVhbiB1cCBkZWJ1ZyBjb2RlIGZvciBkcmF3aW5nIGhpZ2hsaWdodCByZWN0cyB3aGljaCB3YXNuJ3QgZXZlbgoJICBjb21waWxpbmcgcHJldmlvdXNseS4KCSAgVE9ETzogbWlnaHQgYmUgbmljZSBpZiB0aGlzIGNvdWxkIGJlIGNvbnRyb2xsZWQgYnkgcHJvcGVydGllcyBvcgoJICBlbnYgdmFyaWFibGVzIHRvIG1ha2UgaXQgcG9zc2libGUgdG8gZW5hYmxlIHRoZSBkZWJ1ZyBjb2RlIGF0CgkgIHJ1bnRpbWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjMKCSAgQ29uZmxpY3RzOgoJICBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmMKCjIwMTItMDYtMDggMTc6MTQ6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHBsdWcgbGVha3Mgd2hlbiBmcmVlaW5nIHN0cmVhbQoKMjAxMi0wNi0wOCAxNzoxMzozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcGx1ZyBzb21lIGxlYWtzCgoyMDEyLTA2LTA4IDE1OjU4OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsZmlsZXNpbmsuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBlbGVtZW50czogVXNlIGdzdF9wYWRfc2V0X2NhcHMoKSBpbnN0ZWFkIG9mIG1hbnVhbCBldmVudCBmaWRkbGluZwoKMjAxMi0wNi0wOCAxNTowNToxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDAzYTBlNTcgdG8gOThlMzg2ZgoKMjAxMi0wNi0wOCAxMTo1NTozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogYWRqdXN0IHRvIG1vZGlmaWVkIGJ1ZmZlciBjb2xsZWN0IGJlaGF2aW91cgoKMjAxMi0wNi0wOCAxMToxMjowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2VyOiBhZGp1c3QgdG8gbW9kaWZpZWQgQVBJCgoyMDEyLTA2LTA3IDE3OjQzOjA2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZHJhaW4gY2FjaGVkIGRhdGEgdXBvbiBFT1MKCjIwMTItMDYtMDcgMTc6Mzg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhbGxvdyBmb3IgYWxpZ25lZCBvdXRwdXQKCSAgLi4uIGFuZCByZWZhY3RvciBwYWNrZXQgaGFuZGxpbmcgc29tZSBtb3JlIGluIHRoZSBwcm9jZXNzLgoJICBGaXhlcyAjNjUxODA1LgoKMjAxMi0wNi0wNyAxNDozODoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBpbXByb3ZlIG0ydHMgdGltZXN0YW1wIGludGVycG9sYXRpb24KCSAgKiBhIGtub3duIFBDUiBzaG91bGQgcmVhbGx5IGJlbG9uZyB0byBhIHBhY2tldCBob2xkaW5nIHRoYXQgUENSCgkgICogaW50ZXJwb2xhdGlvbiBjYW4gYmUgZXh0ZW5kZWQgYmFja3dhcmQgZm9yIGluaXRpYWwgcGFja2V0cyAoUEFULCBQTVQpCgoyMDEyLTA2LTA3IDEyOjE3OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCjIwMTItMDYtMDcgMTY6MjM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50Cgo9PT0gcmVsZWFzZSAwLjExLjkyID09PQoKMjAxMi0wNi0wNyAxNjoyMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsaXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyYWdtZW50ZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbWVkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbW9vdGgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZvYWFjZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIGdzdC9iYXllci9nc3RiYXllcm9yYy1kaXN0LmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMS45MgoKMjAxMi0wNi0wNyAxNjoyMjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZWwucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lby5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2dsLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc2wucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDEyLTA2LTA3IDEyOjMzOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogZml4IGNvZGVjIHN0YXRlIGxlYWtzCgkgIEkgb25seSB0ZXN0ZWQgdGhhdCB2cDhlbmMgISB2cDhkZWMgZG9lcyBub3QgY3Jhc2gsIGFzIHZhbGdyaW5kIGRvZXMgbm90IGdyb2sKCSAgYXQgbGVhc3Qgb25lIG9mIHRoZSBpbnN0cnVjdGlvbnMgdXNlZCBieSB2cDhlbmMsIHByZXZlbnRpbmcgbWUgZnJvbSBjaGVja2luZwoJICBhIGxlYWssIGFuZCB0aGUgbGFjayBvZiBvbmUgYWZ0ZXIgdGhlIHBhdGNoLgoKMjAxMi0wNi0wNyAxMjoyNTowMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBmaXggYnVmZmVyIGxlYWsKCjIwMTItMDYtMDcgMTI6MTY6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogZml4IGZyYW1lIGxlYWtzCgoyMDEyLTA2LTA3IDEyOjAxOjMxICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBjb2RlYyBzdGF0ZSBsZWFrCgoyMDEyLTA2LTA3IDExOjU4OjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IGZpeCBzdHJheSB1bnJlZiBjYXVzaW5nIGFjY2VzcyB0byBmcmVlZCBtZW1vcnkKCjIwMTItMDYtMDcgMTE6NTI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHZpZGVvIGNvZGVjIHN0YXRlIGxlYWtzCgoyMDEyLTA2LTA2IDE4OjE4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWZhYjM1OSB0byAwM2EwZTU3CgoyMDEyLTA2LTA2IDE2OjAwOjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZyBldmVudCBjaGFuZ2UKCjIwMTItMDYtMDMgMDE6NTg6MTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggdGhlIHdheWxhbmQgdmVyc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc3MzYyCgoyMDEyLTA2LTA2IDEzOjAyOjQwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHVwZGF0ZSBmb3IgdGFnIGV2ZW50IGNoYW5nZQoKMjAxMi0wNi0wNiAxMToxNDoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXI6IGZpeCBvdXRwdXQgZnJhbWUgbWFwCgoyMDEyLTA2LTA1IDE3OjU3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBSZW1vdmUgdW4tbmVlZGVkIGNoZWNrcyBhbmQgaW5saW5lIHNvbWUgZnVuY3Rpb25zCgkgIHZhbCBhbmQgbnIgYWx3YXlzIGV4aXN0ICgmbnIsICZ2YWx1ZSkKCSAgYml0cyBpcyBhbHdheXMgY2FsbGVkIHNtYWxsZXIgdGhhbiB0aGUgd2lkdGgKCSAgTWFrZXMgcGFyc2luZyAzMCUgZmFzdGVyCgoyMDEyLTA2LTA1IDE4OjAzOjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBtcGVndHNtdXg6IG1vcmUgaGVhZGVyIGNsYXJpZmljYXRpb25zIGFuZCByZW1vdmUgc29tZSByZWR1bmRhbnQgZmllbGRzCgoyMDEyLTA2LTA1IDE0OjE4OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhdm9pZCBQSUQgY29sbGlzaW9uIGZvciBhdXRvLWdlbmVyYXRlZCBQSUQKCjIwMTItMDYtMDUgMTY6NTk6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICB0c211eDogaW5saW5lIG1vcmUgY29kZQoJICBXaXRoIHRoZSBwcmV2aW91cyBjb21taXQsIG1ha2VzIG1wZWd0c211eCAxMCB0byAxNSUgZmFzdGVyCgoyMDEyLTA2LTA1IDE2OjU4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IERvbid0IHVzZSBnX2xpc3RfZmlyc3QgKCkKCSAgU2VyaW91c2x5IC4uLgoKMjAxMi0wNi0wNSAxMjoxNzoyNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGFsc28gcHJvcGVybHkgcmVzZXQgYW5kIGZyZWUgcGFkIGRhdGEKCjIwMTItMDYtMDUgMTE6NTI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZWZhY3RvciBpbml0IHVzaW5nIF9yZXNldCB0byBjYXRlciBmb3IgcHJvcGVyIHJldXNlCgoyMDEyLTA2LTA0IDE2OjI0OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogaGVhZGVyIGNsZWFudXBzIGFuZCBjbGFyaWZpY2F0aW9ucwoKMjAxMi0wNi0wNCAxNjowNTowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHR3ZWFrIGJ1ZmZlciBoYW5kbGluZwoJICAuLi4gZm9yIGNsYXJpdHkgYW5kIHRvIGF2b2lkIG1peGluZyBfcGVlay9fcG9wCgoyMDEyLTA2LTA0IDE2OjAzOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogbWlzYyBjb2RlIGNsZWFudXBzIGFuZCByZWZhY3RvcmluZwoKMjAxMi0wNi0wNCAxNDo1NDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IGF2b2lkIHNlcGFyYXRlIGFsbG9jYXRpb24gZm9yIGxpc3Qgb2YgcHJvZ3JhbXMKCjIwMTItMDYtMDQgMTQ6NTQ6MDggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZWFycmFuZ2UgZGVmaW5lJ3MKCjIwMTItMDYtMDQgMTQ6NDg6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiByZW1vdmVkIGhhY2tlZCBldmVudCBoYW5kbGluZwoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmMKCSAgUmV2ZXJ0ZWQgYmFjayB0byAwLjEwIHN0YXRlIGFzIGl0IHdhc24ndCByZWFsbHkgcG9ydGVkCgkgIHlldCBhbnl3YXkuCgoyMDEyLTA2LTA1IDA5OjU0OjUzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBbHNvIHBhcnNlIFRPVCAoVGltZSBPZmZzZXQgU2VjdGlvbikKCSAgSXQncyB0aGUgc2FtZSBhcyBURFQsIGV4Y2VwdCB3aXRoIGRlc2NyaXB0b3JzIGF0IHRoZSBlbmQKCjIwMTItMDYtMDUgMDk6NTI6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZJWE1FL0NvbW1lbnQgYWJvdXQgaXNzdWVzL2Vycm9ycwoKMjAxMi0wNi0wNSAwOTo0ODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBGaXggbGVhawoKMjAxMi0wNi0wNSAwOTo0NDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBSZWR1Y2UgdXNhZ2Ugb2YgR3N0QWRhcHRlcgoJICBQZWVrIGFzIG11Y2ggYXMgcG9zc2libGUgaW4gb25lIGdvLiBJZGVhbGx5IHdlIHNob3VsZCByZW1vdmUgdXNhZ2Ugb2YKCSAgYWRhcHRlciBhbHRvZ2V0aGVyLCBidXQgZm9yIHRoZSB0aW1lIGJlaW5nIGl0IHByb3ZpZGVzIGEgYmlnIGVub3VnaAoJICBzcGVlZHVwIChhcm91bmQgMiB0aW1lcyBmYXN0ZXIgcGVyIHBhY2tldCBwcm9jZXNzZWQpLgoKMjAxMi0wNi0wNCAwODozOToxMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBdm9pZCBhbGxvYy9mcmVlIHdoZXJlIHBvc3NpYmxlCgkgIEhlbHBzIGZvciBzdHJlYW1zIHdpdGggYSBsb3Qgb2Ygc2VjdGlvbnMsIGxpa2UgRUlUCgoyMDEyLTA2LTA0IDA4OjM3OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogQWRkIG1vcmUgc2VjdGlvbnMgdGhhdCBkb24ndCBoYXZlIGEgQ1JDCgoyMDEyLTA2LTA0IDA4OjMyOjUxICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVnZGVmczogQWRkIGxpc3Qgb2Yga25vd24gdGFibGVfaWQKCSAgQWxvbmcgd2l0aCB0aGUgc3BlY2lmaWNhdGlvbnMgZnJvbSB3aGljaCB0aGV5IGNvbWUuIEF2b2lkcyBoYXZpbmcKCSAgdG8gc2VhcmNoIGZvciB3aGljaCBzcGVjIGEgdGFibGVfaWQgYmVsb25ncyB0bwoKMjAxMi0wNi0wMyAxMDo1ODoyMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBDbGFyaWZ5IGRlYnVnIHN0YXRlbWVudHMKCSAgVXNlIGhleCB2YWx1ZXMgaW4gbW9yZSBjYXNlcyAoc2luY2UgdGhhdCdzIGhvdyBQSUQvdGFibGVfaWQvLi4uIGFyZQoJICByZXByZXNlbnRlZCBpbiB0aGUgdmFyaW91cyBzcGVjcykuCgoyMDEyLTA2LTAzIDEwOjU2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c2Jhc2UvcGFja2V0aXplcjogQWRkIENBVCBzZWN0aW9uIGhhbmRsaW5nCgkgIEFsbG93cyByZXBvcnRpbmcgdGhlIGdsb2JhbCBFTU0KCjIwMTItMDYtMDMgMTA6NTM6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBBZGQgbW9yZSBkZWJ1ZyBpbiBQU0kgaGFuZGxpbmcKCSAgQWxsb3dzIHVzIHRvIGlkZW50aWZ5IHdoaWNoIFNJIHdlIGRvbid0IGhhbmRsZQoKMjAxMi0wNi0wMyAxMDo1MzoxMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndGJhc2U6IEFkZCBtb3JlIGRlZmF1bHQga25vd24gUFNJIHRhYmxlX2lkCgoyMDEyLTA2LTAyIDA4OjA2OjI0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0YmFzZTogUmVmYWN0b3IgUFNJIGRldGVjdGlvbgoKMjAxMi0wNi0wNSAwOTozMDozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHdpbjMyOiBVcGRhdGUgY29uZmlnLmgKCjIwMTItMDYtMDUgMDk6MzA6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggR3N0QmFzZVBhcnNlOjpnZXRfc2lua19jYXBzKCkgaW1wbGVtZW50YXRpb25zCgkgIFRoZXkgc2hvdWxkIHRha2UgdGhlIGZpbHRlciBjYXBzIGludG8gYWNjb3VudCBhbmQgYWx3YXlzIHJldHVybgoJICB0aGUgdGVtcGxhdGUgY2FwcyBhcHBlbmRlZCB0byB0aGUgYWN0dWFsIGNhcHMuIE90aGVyd2lzZSB0aGUKCSAgcGFyc2VycyBzdG9wIHRvIGFjY2VwdCB1bnBhcnNlZCBzdHJlYW1zIHdoZXJlIHVwc3RyZWFtIGRvZXMgbm90CgkgIGtub3cgYWJvdXQgd2lkdGgsIGhlaWdodCwgZXRjLgoJICBGaXhlcyBidWcgIzY3NzQwMS4KCjIwMTItMDYtMDEgMTY6Mjk6MDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RiYXNlOiBFQ00vQ0Egc2VjdGlvbnMgZG9uJ3QgaGF2ZSBhIENSQwoJICBTbyBkb24ndCBjaGVjayBmb3IgaXQgOikKCSAgQWxzbyBhZGQgYSBiaXQgbW9yZSBpbmZvIGluIHRoZSB3YXJuaW5nIG1lc3NhZ2UgdG8gc3BlZWQgdXAgZGV0ZWN0aW5nCgkgIHdoZXRoZXIgaXQncyBhIGZhbHNlLXBvc2l0aXZlIG9yIG5vdC4KCjIwMTItMDYtMDEgMTA6NTk6MjIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiByZWxheCBlbnRyeSBjb25zdHJhaW50CgkgIC4uLiBzaW5jZSBpdCBpcyBhY2NlcHRhYmxlIGFuZCBwcm9wZXJseSBoYW5kbGVkIGZ1cnRoZXIgb24uCgoyMDEyLTA2LTAxIDEwOjI5OjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjFiNWE5NiB0byAxZmFiMzU5CgoyMDEyLTA1LTMxIDEzOjA4OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTJiNzI2NiB0byBmMWI1YTk2CgoyMDEyLTA1LTI5IDEwOjQ4OjU0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IGFkZCBzdXBwb3J0IGZvciBWQzEgYW5kIGZpeCBwbHVnaW5zIHJhbmtzCgoyMDEyLTA1LTI5IDEwOjQ4OjAzIC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogaW5pdGlhbGl6ZSBkZWJ1ZyBwcm9wZXJseQoKMjAxMi0wNS0yOSAxMDo0Mzo0MyAtMDcwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogZml4IG9iamVjdCBkaXNwb3NhbCBhbmQgZmluYWxpemF0aW9uCgoyMDEyLTA1LTMwIDEwOjM0OjQ0IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBkb24ndCBmbHVzaCBhZnRlciBhIGRldmljZSBsb3N0CgoyMDEyLTA1LTMwIDEzOjU0OjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJICBhcHBsZW1lZGlhOiBQdXQgdGhlIHJpZ2h0IGZsYWdzIGludG8gdGhlIHJpZ2h0IHZhcmlhYmxlCgoyMDEyLTA1LTMwIDEyOjQ1OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZWMxYzRhOCB0byA5MmI3MjY2CgoyMDEyLTA1LTMwIDExOjMyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXZlcnQgYWNjaWRlbnRpYWxseSBjb21taXR0ZWQgc3R1ZmYgaW4gbGFzdCBjb21taXQKCjIwMTItMDUtMzAgMTE6MjQ6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgY29uZmlndXJlOiBBZGQgT0JKQyBzcGVjaWZpYyBjb21waWxlciBmbGFncwoJICBTZWUgYnVnICM2NDM5MzkuCgoyMDEyLTA1LTMwIDExOjIzOjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMzQyOWJhNiB0byBlYzFjNGE4CgoyMDEyLTA1LTI5IDE3OjI0OjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogcmVhZCBnYWluIGZyb20gdGhlIHJpZ2h0IHBsYWNlIGluIHRoZSBoZWFkZXIKCSAgSXQncyBhdCBieXRlIG9mZnNldCAxNiwgbm90IDE0LgoKMjAxMi0wNS0yNCAxMToxMTowMCAtMDMwMCAgQW5kcmUgTW9yZWlyYSBNYWdhbGhhZXMgKGFuZHJ1bmtvKSA8YW5kcmUubWFnYWxoYWVzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUmVmYWN0b3JpbmcgYW5kIG1ha2UgY29yZSBtb3JlIHNpbWlsYXIgdG8gdGV4dG92ZXJsYXkKCSAgRXNwZWNpYWxseSB0aGUgY29tYmluaW5nIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGlzIG5vdwoJICBhbG1vc3QgdGhlIHNhbWUgYXMgaW4gdGV4dG92ZXJsYXkuCgkgIFdlIHNob3VsZCByZWFsbHkgZ2V0IGEgYmFzZSBjbGFzcyBmb3IgdGhpcy4KCSAgQ29uZmxpY3RzOgoJICBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jCgkgIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmgKCjIwMTItMDUtMjggMTU6NDg6MzMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtdHJhbnNwb3J0LmM6CgkgIGR2YjogQWRkIG1vcmUgZGVidWdnaW5nIHRvIGNhbSBzdXBwb3J0CgoyMDEyLTA0LTI0IDExOjA5OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9kaXJhYy9NYWtlZmlsZS5hbQoKMjAxMi0wNS0yOCAxNjo0Mjo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IFJlbW92ZSBvbGQgdmlkZW8gYmFzZSBjbGFzc2VzCgoyMDEyLTA1LTI4IDE2OjQyOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkgIHNjaHJvZWRpbmdlcjogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTI4IDA3OjU4OjUyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IFdlIGRvbid0IGFzc3VtZSBwYWNrZXRpemVkIGlucHV0CgkgIE90aGVyd2lzZSB0aGUgcGFyc2Ugdm1ldGhvZCBuZXZlcnMgZ2V0cyBjYWxsZWQKCjIwMTItMDQtMjQgMTE6MDg6NTggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyby5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hyb2VkaW5nZXI6IFBvcnQgdG8gLWJhc2UgdmlkZW8gY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW0KCSAgZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jCgkgIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYwoJICBCYWNrIHRvIDAuMTAgc3RhdGUsIG5lZWRzIHBvcnRpbmcgYWdhaW4uCgoyMDEyLTA1LTI4IDE2OjA1OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUG9ydCB0byAwLjExIGFnYWluCgoyMDEyLTA1LTE4IDEyOjQ2OjU1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogZml4IHRhcmdldCBiaXRyYXRlIGNvbmZpZyB3aXRoIGxpYnZweCAxLjEuMAoJICBsaWJ2cHggMS4xLjAgZGlzYWxsb3dzIGEgYml0cmF0ZSBvZiAwLCB3aGljaCB3YXMgdXNlZCBieQoJICB2cDhlbmMgYXMgYSBkZWZhdWx0IHZhbHVlLgoJICBJbnN0ZWFkLCB3ZSB1c2UgdGhlIGRlZmF1bHQgbGlidnB4IGJpdHJhdGUsIHNjYWxlZCB0byBvdXIKCSAgdmlkZW8gc2l6ZSwgaWYgbm8gYml0cmF0ZSB3YXMgc3BlY2lmaWVkLgoJICBUaGlzIGZpeGVzIGVuY29kaW5nIFZQOCB2aWRlbyB3aXRoIGxpYnZweCAxLjEuMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NjI0NQoKMjAxMi0wNS0xNiAxNDowNDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFVwZGF0ZSBmb3IgR3N0VmlkZW9Db2RlY0ZyYW1lIEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTI3IDE4OjIyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJICB2cDhkZWM6IEltcHJvdmUgb3V0cHV0X3N0YXRlIGhhbmRsaW5nCgkgIEF2b2lkIGdldHRpbmcgb3V0cHV0X3N0YXRlIGZvciBldmVyeSBidWZmZXIgYXMgdGhhdCByZXF1aXJlcwoJICBnZXR0aW5nIHRoZSBvYmplY3Rsb2NrIGFuZCBkb2luZyByZWZlcmVuY2UgY291bnRpbmcuIFN0b3JlIGl0IGxvY2FsbHkKCSAgd2hlbiBpdCBpcyBjcmVhdGVkIGFuZCB1c2UgaXQuCgoyMDEyLTA0LTI3IDA5OjA1OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IFVzZSBvdXRwdXRzdGF0ZSB3aGVuIGNvcHlpbmcgb3V0cHV0IGJ1ZmZlciBkYXRhCgkgIFVzaW5nIHRoZSBpbnB1dCBzdGF0ZSB3YXMgY2F1c2luZyBhIGNyYXNoIGJlY2F1c2UgdGhlIHN0cmlkZXMvb2Zmc2V0cwoJICB3b3VsZCBiZSB3cm9uZy4gRml4IGl0IGJ5IHVzaW5nIHRoZSBvdXRwdXQgYXMgd2UgYXJlIGRlYWxpbmcgd2l0aAoJICB0aGUgZGVjb2RlZCBmcmFtZS4KCjIwMTItMDQtMjQgMTE6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBQb3J0IHRvIC1iYXNlIHZpZGVvIGJhc2UgY2xhc3NlcwoJICBDb25mbGljdHM6CgkgIGV4dC92cDgvTWFrZWZpbGUuYW0KCSAgZXh0L3ZwOC9nc3R2cDhkZWMuYwoJICBleHQvdnA4L2dzdHZwOGVuYy5jCgkgIEJhY2sgdG8gMC4xMCBzdGF0ZSBmb3Igbm93LCBuZWVkIHRvIGJlIHBvcnRlZCBhZ2Fpbi4KCjIwMTItMDUtMjcgMjM6NDE6MjQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBkbyBub3QgYXNzZXJ0IG9uIGJhZCBoZWFkZXIsIGVycm9yIG91dCBpbnN0ZWFkCgoyMDEyLTA1LTI3IDAwOjAwOjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogZG9uJ3QgdXNlIEdzdFN0cnVjdHVyZSBBUEkgb24gdGFnIGxpc3RzCgoyMDEyLTA1LTI2IDE0OjU3OjUwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVnZGVzYzogQWRkIG1vcmUgY29tbWVudHMvaW5mbwoJICBOYW1lbHkgd2hlcmUgdGhleSBiZWxvbmcgdG8KCjIwMTItMDUtMjYgMTQ6NTc6MjMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogTWFrZSBzdXJlIHdlIGhhdmUgYSBsYW5ndWFnZSBjb2RlIGJlZm9yZSB1c2luZyBpdAoKMjAxMi0wNS0yNiAxNDoxMToyNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBDaGVjayBiZWZvcmUgZ2V0dGluZyBkZXNjcmlwdG9ycyBmcm9tIHN0cnVjdHVyZQoJICBBdm9pZHMgc3B1cmlvdXMgd2FybmluZ3MuIE5vdCBoYXZpbmcgdGhvc2UgZGVzY3JpcHRvcnMgaXMgbm90aGluZwoJICBmYXRhbCwgc28gY2hlY2sgdGhlaXIgcHJlc2VuY2UgYmVmb3JlIHRyeWluZyB0byBnZXQgdGhlbS4KCjIwMTItMDUtMjYgMTQ6MDg6NDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkgIHBlc3BhcnNlOiBCZSBhIGJpdCBtb3JlIHBlcm1pc3NpdmUgd2l0aCBQVFMvRFRTIHBhcnNpbmcKCSAgQWNjb3JkaW5nIHRvIHRoZSBzcGVjaWZpY2F0aW9ucyBhIFBUU19EVFNfZmxhZ3MgdmFsdWUgb2YgMHgwMSBpcyBmb3JiaWRkZW4uCgkgIC4uLiBidXQgdGhlcmUgYXJlIHNvbWUgcmFyZSBmaWxlcyBvdXQgdGhlcmUgdGhhdCBkbyB0aGF0LgoJICBJbnN0ZWFkIG9mIGVycm9yaW5nIG91dCwgbGV0J3Mgd2FybiwgY2Fycnkgb24gcGFyc2luZyBhY2NvcmRpbmdseS4KCSAgSWYgdGhlIHBhY2tldCBpcyByZWFsbHkgY29ycnVwdGVkIHRoZXJlIGFyZSBlbm91Z2ggY2hlY2tzIGFmdGVyd2FyZCB0bwoJICBkZXRlY3QgdGhhdC4KCjIwMTItMDUtMjUgMjI6MjA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogaGVlZCB0ZXN0IHZlY3RvciBmcmFtaW5nIHRvIGVhdCBhbnkgcGFkZGluZwoJICBUaGlzIGZpeGVzIHBhcnNpbmcgb24gb25lIHBhcnRpY3VsYXIgdGVzdCB2ZWN0b3Igd2hlcmUgcGF5bG9hZAoJICBkYXRhIGlzIHNtYWxsZXIgdGhhbiB0aGUgYWN0dWFsIGF1ZGlvIHBheWxvYWQuCgoyMDEyLTA1LTI1IDE0OjE1OjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IEZpeCBiaXQgb3BlcmF0aW9uCgkgICJhICUgOCIgY29ycmVzcG9uZHMgdG8gImEgJiAweDciIChhbmQgbm90IDB4ZikuCgkgIHNwb3R0ZWQgYnkgSnVsaWFuIFNjaGVlbAoKMjAxMi0wNS0yNCAxNjoyMjo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBTaW1wbGlmeSBjaGVjawoJICBBdm9pZHMgYSB1bnNldCB2YXJpYWJsZSB3YXJuaW5nIChmb3IgbmZyYW1lcykgd2l0aCBnY2MgNC43LjAKCjIwMTItMDUtMjQgMjI6MTI6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiByZWplY3QgbWFqb3IgdmVyc2lvbiBudW1iZXIgYWJvdmUgd2hhdCB3ZSBncm9rCgoyMDEyLTA1LTI0IDIxOjU4OjQ0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogYnVtcCB3cml0dGVuIHZlcnNpb24gZnJvbSAwIHRvIDB4MDEKCSAgYXMgcGVyIHRoZSBzcGVjIHVwZGF0ZSBhdCBodHRwczovL3dpa2kueGlwaC5vcmcvT2dnT3B1cyNJRF9IZWFkZXIKCjIwMTItMDQtMzAgMTQ6NDA6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggbG9zdCBwYWNrZXQgaGFuZGxpbmcgZm9yIEZFQy9QTEMKCSAgVGhlIGJhc2UgYXVkaW8gZGVjb2RlciBzZW5kcyB6ZXJvIHNpemUgcGFja2V0cywgbm90IE5VTEwgYnVmZmVycywKCSAgdG8gc2lnbmFsIGRyb3BwZWQgcGFja2V0cy4KCjIwMTItMDUtMjQgMTI6MzI6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMjMgMTg6MTk6NTIgKzAyMDAgIFNlYmFzdGlhbiBSYXNtdXNzZW4gPHNlYnJuQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHN1cHByZXNzIHNvbWUgd2FybmluZ3Mgd2hlbiBkZWJ1ZyBpcyBkaXNhYmxlZAoJICBXYXJuaW5ncyBhYm91dCB1bnVzZWQgdmFyaWFibGVzIHNob3VsZCBiZSBzdXBwcmVzc2VkIGlmIGNvcmUgaGFzIHRoZQoJICBkZWJ1ZyBzeXN0ZW0gZGlzYWJsZWQuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzY2NzIKCjIwMTItMDQtMjUgMjE6MjE6NDMgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHhfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4X2QzZC5oOgoJICBQb3J0IGQzZHZpZGVvc2luayB0byAwLjExCgkgIEZpeGVzICM2NzQ4MTcKCjIwMTItMDUtMjMgMTI6MDc6MTQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMjIgMTg6NTU6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IEVtaXQgbm8tbW9yZS1wYWRzIHdoZW4gcGFkIGlzIGFkZGVkCgkgIFRoaXMgYXZvaWRzIGFuIGVuZGxlc3MgaGFuZyB3aXRoIHBsYXliaW4yLCB3aGljaCBzZWVzIGR2YmJhc2VzYmluIGFzCgkgIGhhdmluZyBkeW5hbWljIHBhZHMgLi4uIGJ1dCBuZXZlciBlbWl0dGVkIG5vLW1vcmUtcGFkcy4KCjIwMTItMDUtMjIgMTg6NTM6MTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBjYW11dGlsczogRml4IFBNVCBtZXNzYWdlIGNvbnN0cnVjdGlvbgoJICBUaGUgc2l6ZSBvZiB0aGUgbWVzc2FnZSBlbmRlZCB1cCBiZWluZyBiaWdnZXIgdGhhbiBpdHMgY29udGVudC4KCSAgVGhhdCBjYXVzZSBzb21lIENBIG1vZHVsZXMgdG8ganVzdCBoYW5nLgoKMjAxMi0wNS0yMiAxODo1MTozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJICBjYW10cmFuc3BvcnQ6IEFsbG93IGRlbGF5IHdoZW4gc2V0dGluZyB1cCBjYW0gZGV2aWNlCgkgIFNvbWUgQ0EgZGV2aWNlcyB0YWtlIGEgbG9uZyB0aW1lIHRvIHNldCB0aGVtc2VsdmVzIHVwLAoJICB0aGVyZWZvcmUgcmV0cnkgZXZlcnkgMjUwbXMgKGZvciBhIG1heGltdW0gb2YgMi41cykKCjIwMTItMDUtMjIgMTg6NDk6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBGaXh1cC9hZGQgZGVidWcgc3RhdGVtZW50cwoKMjAxMi0wNS0yMiAxODo0ODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IE9ubHkgb3BlbiBkZXZpY2UgcmVhZC93cml0ZSB3aGVuIG5lZWRlZAoJICBBdm9pZCBzdGFydGluZyB1cCBrZXJuZWwgdGhyZWFkIHdoZW4gbm90IG5lZWRlZAoKMjAxMi0wNS0yMiAxODo0NjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBBZGQgd2FybmluZyB3aGVuIGR2YiBjaGFubmVscyBmaWxlIGlzbid0IHByZXNlbnQKCjIwMTItMDUtMjMgMDg6Mzk6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BlZWQgdXAgX2lzX3BzaSgpCgkgIEJ5IG1ha2luZyBpdCBpbmxpbmUgYW5kIHNpbXBsaWZ5aW5nIHRoZSBiaXQgbWFjcm9zCgoyMDEyLTA1LTIyIDIxOjAwOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGF2b2lkIHNjYW5uaW5nIGZvciBzdGFydCBjb2RlcyB0d2ljZQoJICAuLi4gc2luY2UgYSBwcmV2aW91cyB0ZXJtaW5hdGluZyBzdGFydCBjb2RlIHNlcnZlcyBhcyBzdWJzZXF1ZW50IHN0YXJ0IGNvZGUuCgoyMDEyLTA1LTIyIDE5OjExOjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmI6IEZpeHVwcyBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgoyMDEyLTA0LTEwIDEyOjM2OjE1ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbGFuZ3VhZ2UgY29kZSB0byB0YWdsaXN0LgoJICBSZWFkIHRoZSBsYW5ndWFnZSBjb2RlcyBmb3IgdHJhY2tzIGZyb20gdGhlIG1wZWd0cyBkZXNjcmlwdG9ycyBhbmQgYWRkIGl0IGludG8KCSAgdGhlIHBhZHMgdGFnbGlzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3Mzg5NgoKMjAxMi0wNS0yMSAxNzo1MzozNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCSAgV2Ugbm8gbG9uZ2VyIHVzZSBHc3RCdWZmZXJMaXN0IGFuZCBpbnN0ZWFkIGNvcHkgdGhlIGluY29taW5nIGRhdGEKCSAgaW50byBuZXdseSBhbGxvY2F0ZWQgbWVtb3J5LgoJICBUaGlzIG1ha2VzIHRzZGVtdXggYmVoYXZpb3VyIDMgdG8gNCB0aW1lcyBmYXN0ZXIuCgoyMDEyLTA1LTIxIDE3OjUzOjE1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJICB0c3BhcnNlOiBBZGFwdCB0byBuZXcgcGFja2V0aXplciBBUEkKCjIwMTItMDUtMjEgMTc6NTI6NDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQWRhcHQgdG8gbmV3IHBhY2tldGl6ZXIgYmVoYXZpb3VyCgoyMDEyLTA1LTIxIDE3OjQ4OjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEF2b2lkIHVzYWdlIG9mIEdzdEJ1ZmZlciBpbnRlcm5hbGx5CgkgIFRoZSBvdmVyaGVhZCBvZiBjcmVhdGluZy91c2luZyAxODggYnl0ZSBHc3RCdWZmZXIgZnJvbSBHc3RBZGFwdGVyCgkgIGlzIHRvbyBleHBlbnNpdmUuCgkgIFdlIG5vdyBwZWVrIHRoZSBuZXh0IHBhY2tldCwgYW5kIHByb3ZpZGUgYSBkYXRhL3NpemUgd2hpY2ggaXMgb25seQoJICB2YWxpZCB1bnRpbCB0aGUgcGFja2V0aXplcnBhY2tldCBpcyBjbGVhcmVkLgoJICBJbiBhZGRpdGlvbiwgY2xlYW51cCBhbGwgdGhlIGludGVybmFsIGNvZGUgdG8gZGVhbCB3aXRoIHRoYXQgbmV3CgkgIGJlaGF2aW91ciBhbmQgcmVtb3ZlIGRvdWJsZS1jaGVja3Mgd2hpY2ggYXJlIG5vIGxvbmdlciBuZWVkZWQuCgkgIFRoZSBzZWN0aW9uX2xlbmd0aCBpcyBub3cgdGhlIGNvcnJlY3RlZCBzZWN0aW9uX2xlbmd0aCAoaS5lLiB3aXRoCgkgIHRoZSBhZGRpdGlvbmFsIDMgYnl0ZXMpLgoJICBBdm9pZCB1c2luZyBnc3RfYWRhcHRlcl9wcmV2X3RpbWVzdGFtcCBhbmQgaW5zdGVhZCB0cmFjawoJICB0aGUgdGltZXN0YW1wIG91cnNlbGYuCgoyMDEyLTA1LTIwIDEzOjI3OjI5ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERldGVjdCBQQ1Igd3JhcGFyb3VuZCBpbiBza2V3IGNvZGUKCSAgSWYgdGhlIHJlY2VpdmVkIFBDUiBpcyBnb2luZyBiYWNrd2FyZHMgKGJ5IGEgc2FmZSBtYXJnaW4pLCBpbmNsdWRlCgkgIHRoYXQgd3JhcGFyb3VuZCBmb3IgZnVydGhlciBjYWxjdWxhdGlvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDUzNgoKMjAxMi0wNS0yMiAxNDo0ODo0MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYXZvaWQgcmVwZWF0ZWQgY2FwcyBzZXR0aW5nCgoyMDEyLTA1LTIyIDE0OjAwOjM2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdHdlYWsgY29kZWMgcGFyc2VyIEFQSSBhbmQgYWRqdXN0IHBhcnNlciBlbGVtZW50CgkgIC4uLiB0byBhbGxvdyBmb3IgbW9yZSBlZmZpY2llbnQgcGFyc2luZyBhbmQgKG1vcmUpIGNvbnNpc3RlbnQgcGFyc2luZyBBUEkKCSAgYW1vbmcgdmFyaW91cyBjb2RlYyBwYXJzZXJzLgoJICBGaXhlcyAjNjcyNzAxLgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0yMiAxMjozMDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeHVwIGRvY3VtZW50YXRpb24gc3BlbGxpbmcKCjIwMTItMDUtMDggMTY6NTE6MTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogT3B0aW1pemUgc2Nhbm5pbmcgZm9yIHN0YXJ0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjcwMQoKMjAxMi0wNS0xOCAxMjo0Njo1NSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGZpeCB0YXJnZXQgYml0cmF0ZSBjb25maWcgd2l0aCBsaWJ2cHggMS4xLjAKCSAgbGlidnB4IDEuMS4wIGRpc2FsbG93cyBhIGJpdHJhdGUgb2YgMCwgd2hpY2ggd2FzIHVzZWQgYnkKCSAgdnA4ZW5jIGFzIGEgZGVmYXVsdCB2YWx1ZS4KCSAgSW5zdGVhZCwgd2UgdXNlIHRoZSBkZWZhdWx0IGxpYnZweCBiaXRyYXRlLCBzY2FsZWQgdG8gb3VyCgkgIHZpZGVvIHNpemUsIGlmIG5vIGJpdHJhdGUgd2FzIHNwZWNpZmllZC4KCSAgVGhpcyBmaXhlcyBlbmNvZGluZyBWUDggdmlkZW8gd2l0aCBsaWJ2cHggMS4xLjAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYyNDUKCjIwMTItMDUtMjIgMTE6MTA6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb3VibGUgcHJvcGVydGllcyBhcmUgc3VwcG9zZWQgaW4gdGhlIHJhbmdlIFswLjAsIDEuMF0KCSAgRml4ZXMgYnVnICM2NzYxMzcuCgoyMDEyLTA1LTIxIDE5OjIyOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5oOgoJICBtcGVndmlkZW9wYXJzZTogdW5vYmZ1c2NhdGUgZnJhbWUgcGFyc2luZwoJICAuLi4gYW5kIGFkZCBjb21tZW50cyBhbmQgZGVidWcgc3RhdGVtZW50cy4KCSAgRml4ZXMgIzY3NDIwMi4KCSAgQ29uZmxpY3RzOgoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmMKCjIwMTItMDUtMjEgMTY6Mzc6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUmV2ZXJ0ICJmaXggY3Jhc2giCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgOTEyMTA4MzFlZTY3MjM0M2EyOTZmMzEzNTcxNDQzNTlkNWMyZTc2OC4KCSAgU3VjaCBleHBsaWNpdCByZXNldCBzaG91bGQgbm90IGJlIG5lZWRlZCBhcyBpdCBpcyBhcnJhbmdlZCBmb3IgYnkKCSAgdGhlIGJhc2VjbGFzcyBpbiB1bmlzb24gd2l0aCBtb25pdG9yaW5nIGZvciBhIG5ldyBmcmFtZSBieSBzdWJjbGFzcy4KCSAgQXMgc3VjaCBpdCBtaWdodCB3cm9uZ2Z1bGx5IGhpZGUgc29tZXRoaW5nIGVsc2UgZ29pbmcgb24gLi4uCgkgIFNlZSAjNjc0MDczLgoKMjAxMi0wNS0yMSAxNToyNDoyNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWd2aWRlb3BhcnNlcjogZml4IGJ1ZmZlciBzaXplIGNoZWNrCgkgIC4uLiB0byBtaW5kIHVuc2lnbmVkIGludGVnZXIgd3JhcAoJICBCYXNlZCBvbiBwYXRjaCBieSBBbGJhbiBCcm93YWV5cyA8cHJhaGFsQHlhaG9vLmNvbT4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MzQzNgoKMjAxMi0wNS0yMSAxNTowOTowMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICB0ZXN0czogbXBlZ3ZpZGVvcGFyc2U6IGZpeCB1bml0IHRlc3QgcmVncmVzc2lvbgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MDk3CgkgIENvbmZsaWN0czoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wNS0xOSAxNTozNDoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IGRvbid0IGFjY2VzcyBHc3RFbGVtZW50RmFjdG9yeSBzdHJ1Y3R1cmUgZGlyZWN0bHkKCjIwMTItMDUtMTggMTY6MTc6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IG1wZWc0OiBkbyBub3QgZXhwZWN0IGEgbWFya2VyIGJpdCB3aGVyZSBub3Qgc3BlY2lmaWVkCgkgIEZpeGVzICM2NzI0NDcuCgoyMDEyLTA1LTE2IDE2OjE1OjU4ICswMjAwICBKdWxpYW4gU2NoZWVsIDxqdWxpYW5AanVzc3QuZGU+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBmbHVzaCBvbiBwdXNpIG9ubHkgZm9yIHBheWxvYWQgcGFja2V0cwoJICBEYXRhIHNob3VsZCBub3QgYmUgZmx1c2hlZCBvdXQgb2YgdGhlIHRzZGVtdXggYmVjYXVzZSBhIHBheWxvYWQgdW5pdCBzdGFydAoJICBpbmRpY2F0b3IgKHB1c2kpIGlzIHNlZW4gaW4gYSBhZGFwdGF0aW9uIG9ubHkgdHMgcGFja2V0LiBJZiB0aGUgcGFja2FnZSBjb250YWlucyBubwoJICBwYXlsb2FkIGEgcHVzaSBkb2VzIG5vdCBpbmRpY2F0ZSBhIG5ldyBQRVMgcGFja2V0LCBidXQgUFNJIGluZm9ybWF0aW9uLCBldGMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc2V2ZXJhbCBUUyBmaWxlcyB3aGljaCBjb250YWluIHRzIHBhY2tldHMgd2l0aG91dAoJICBwYXlsb2FkIGJ1dCB3aXRoIHB1c2kgc2V0IHRvIDEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzYxNjgKCjIwMTItMDUtMTggMTA6MTU6MTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgcXVldWUgZGF0YSBmb3Igc3RyZWFtcyB0aGF0IGRvbid0IGhhdmUgYSBwYWQKCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYW4gZXJyb3IgZnVydGhlciBkb3duLCBhbmQgaXQgYWxzbyBhdm9pZHMgcHJvY2Vzc2luZwoJICBmb3IgdGhhdCBkYXRhIHdoaWNoIHdlIHdvdWxkbid0IGJlIHVzaW5nIGFueXdheS4KCjIwMTItMDUtMTggMTA6MTM6MTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgdHNkZW11eDogRGV0ZWN0IGFuZCBoYW5kbGUgc2NyYW1ibGVkIHBhY2tldHMKCSAgVXNlcnMgKHRzZGVtdXgvbXBlZ3RzcGFyc2UpIGNhbiBkZWNpZGUgd2hhdCB0byBkbyB3aXRoIHRoYXQKCjIwMTItMDUtMTggMTA6MDc6NTYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRW1pdCBuby1tb3JlLXBhZHMgd2hlbiBhbGwgcGFkcyBhcmUgYWN0aXZhdGVkCgkgIEZpeGVzICM2NzA5MjEgYWdhaW4KCjIwMTItMDUtMTcgMTE6MTU6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdWRpZWZmZWN0c29yYy1kaXN0LmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1ZGllZmZlY3Rzb3JjLWRpc3QuaDoKCSAgZ2F1ZGllZmZlY3RzOiBhZGQgZmFsbGJhY2sgY29kZSBmb3Igb3JjCgkgIHRoaXMgaW5jbHVkZXMgYW4gaW1wcm92ZWQgdmVyc2lvbiBvZiB0aGUgYnVybiBmaWx0ZXIsIHdpdGggYSB+NDAlIHNwZWVkCgkgIGltcHJvdmVtZW50LgoKMjAxMi0wNS0xNyAxMDo0OToxMSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIHRoZSBvcmMgdmVyc2lvbiByZXF1aXJlZCB0byAwLjQuMTYKCSAgU29tZSBvcGNvZGVzIGhhdmUgY2hhbmdlZCBzbyB0aGV5IHdvdWxkIGZhaWwgdG8gYnVpbGQgd2l0aCAwLjQuMTQKCjIwMTItMDUtMTcgMDk6NDc6MDggKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogdXNlIENMQU1QIGluIHNvbGFyaXplCgkgIE5vIG5lZWQgdG8gaGF2ZSBhIGdhdGVfaW50ICgpIGZ1bmN0aW9uIGR1cGxpY2F0aW5nIHRoZSBhbHJlYWR5IGV4aXN0aW5nIGFuZAoJICBlc3RhYmxpc2hlZCBDTEFNUCAoKSBmdW5jdGlvbi4KCjIwMTItMDUtMTcgMDk6NDY6MzcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJICBnYXVkaWVmZmVjdHM6IHVzZSBDTEFNUCBpbiBleGNsdXNpb24KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NTo1MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gZG9kZ2UKCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAwOTo0NDoyOSArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgQ0xBTVAgaW4gY2hyb21pdW0KCSAgTm8gbmVlZCB0byBoYXZlIGEgZ2F0ZV9pbnQgKCkgZnVuY3Rpb24gZHVwbGljYXRpbmcgdGhlIGFscmVhZHkgZXhpc3RpbmcgYW5kCgkgIGVzdGFibGlzaGVkIENMQU1QICgpIGZ1bmN0aW9uLgoKMjAxMi0wNS0xNyAxMTo0NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGFsc28gY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gaW5zZXJ0aW5nIGNvZGVjIGRhdGEKCSAgU2VlICM2NzYxNzQuCgoyMDEyLTA1LTE2IDIxOjUwOjQ4ICswMTAwICBKb2huIEhlaW4gPG40a2RsbXgwMkBzbmVha2VtYWlsLmNvbT4KCgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkgIHk0bTogbGluayBhZ2FpbnN0IHRoZSByaWdodCBsaWJnc3R2aWRlbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc2MTg5CgoyMDEyLTA1LTE2IDE3OjUwOjQzICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGdhdWRpZWZmZWN0czogZXhhbXBsZSBwaXBlbGluZXMgd2l0aCB2aWRlb2NvbnZlcnQKCjIwMTItMDUtMTYgMTc6NDk6MTIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVkaWVmZmVjdHNvcmMub3JjOgoJICBnYXVkaWVmZmVjdHM6IG9yYy1pZnkgYnVybiBmaWx0ZXIKCjIwMTItMDUtMTYgMDk6MTI6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgY29yZS9iYXNlIDAuMTEuOTEKCjIwMTItMDEtMTMgMTg6NTc6MjAgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBhZGQgdmlzdWFsIHN0dWRpbyBJREUgZmlsZXMgYW5kIE9TIFggLkRTX1N0b3JlIGZpbGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Njc4OTkKCjIwMTItMDUtMTUgMTU6NDY6MjggKzAyMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IHVzZSBnc3QgYXBpIGZvciB0aW1lc3RhbXBzIGluc3RlYWQgb2YgdGhlICh3cm9uZykgYXBpIGZyb20gYSB0b28gbmV3IGdsaWIKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGZyYWdtZW50LmMKCjIwMTItMDUtMTQgMTE6Mzg6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBvcHRpbWl6ZSBvdXRwdXQgYnkgYWdncmVnYXRpbmcgcGFja2V0cwoJICAuLi4gcmF0aGVyIHRoYW4gcHVzaGluZyBlYWNoIChzbWFsbCkgcGFja2V0IGluIGEgc2VwYXJhdGUgYnVmZmVyLgoJICBtMnRzIG1vZGUgbm90IHlldCBvcHRpbWl6ZWQgdGhvdWdoLgoKMjAxMi0wNS0xMSAxMTo0Njo1OCArMDIwMCAgQWxiZXJ0IEFzdHJhbHMgQ2lkIDxhbGJlcnQuYXN0YWxzIGF0IGNhbm9uaWNhbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHM6IHN1cHBvcnQgaXRlbXMgaW4gZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvcgoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyNDc4CgoyMDEyLTA1LTE0IDA5OjE1OjU1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNtdHBzaW5rLmg6CgkgIGN1cmw6IGZpeCBjb21waWxhdGlvbgoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCB0aHJlYWQgQVBJCgoyMDEyLTA1LTEzIDE3OjAwOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MSA9PT0KCjIwMTItMDUtMTMgMTY6NDM6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjkxCgoyMDEyLTA1LTEzIDE2OjQzOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMTItMDUtMTMgMTU6NTY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkYzcwMjAzIHRvIDM0MjliYTYKCjIwMTItMDUtMTMgMTU6MjQ6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmM6CgkgIGN1cmw6IEZpeCBlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJhbnRoZXNlcyBjb21waWxlciB3YXJuaW5nCgkgIGdzdGN1cmxodHRwc2luay5jOjQxMToyNzogZXJyb3I6IGVxdWFsaXR5IGNvbXBhcmlzb24gd2l0aCBleHRyYW5lb3VzIHBhcmVudGhlc2VzCgoyMDEyLTA1LTEyIDEyOjA4OjQyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdCBiaW5hcmllcwoKMjAxMi0wNC0yNSAxOTo0Njo1MyArMDIwMCAgU2ViYXN0aWFuIFJhc211c3NlbiA8c2Vicm5AYXhpcy5jb20+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxzbXRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc210cHNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxzbXRwc2luay5jOgoJICBjdXJsOiBuZXcgY3VybHNtdHBzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTo0NToyNCArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBleHQvY3VybC9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvZ3N0Y3VybC5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZnRwc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY3VybGZ0cHNpbmsuYzoKCSAgY3VybDogbmV3IGN1cmxmdHBzaW5rIGVsZW1lbnQKCSAgaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUzNzQxCgoyMDEyLTAxLTIzIDA5OjI4OjEwICswMTAwICBQYXRyaWNpYSBNdXNjYWx1IDxwYXRyaWNpYUBheGlzLmNvbT4KCgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxmaWxlc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsZmlsZXNpbmsuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2N1cmxmaWxlc2luay5jOgoJICBjdXJsOiBuZXcgY3VybGZpbGVzaW5rIGVsZW1lbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wMS0yMyAwOTowMDo0NyArMDEwMCAgUGF0cmljaWEgTXVzY2FsdSA8cGF0cmljaWFAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGJhc2VzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmxiYXNlc2luay5oOgoJKiBleHQvY3VybC9nc3RjdXJsaHR0cHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybGh0dHBzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmxzaW5rLmg6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmx0bHNzaW5rLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jdXJsaHR0cHNpbmsuYzoKCSAgY3VybDogcmVmYWN0b3IgY3VybHNpbmssIHJlbmFtZSB0byBjdXJsaHR0cHNpbmsKCSAgU3BsaXQgaW50byBiYXNlLCB0bHMgYW5kIGh0dHAgY2xhc3Nlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1Mzc0MQoKMjAxMi0wNS0xMCAyMToxNTo0MiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJICBnYXVkaWVmZmVjdHM6IGNvbnNpc3RlbmN5IGluIHRlbXBsYXRlcyBuYW1lCgoyMDEyLTA1LTEwIDEwOjExOjE4IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IEFkZCBhIGNvbm5lY3Rpb24tc3BlZWQgcHJvcGVydHkKCSAgQ29uZmxpY3RzOgoJICBnc3QvaGxzL2dzdGhsc2RlbXV4LmMKCjIwMTItMDUtMTAgMTA6MTA6MTQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHM6IEFkZCBhIHdheSB0byBnZXQgYmVzdCBwbGF5bGlzdCBmb3IgYSBzcGVjaWZpYyBiaXRyYXRlIGluIE0zVThDbGllbnQKCSAgTWFrZSB1c2Ugb2YgaXQgaW4gaGxzZGVtdXgKCjIwMTItMDUtMDggMTM6Mjc6MTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBZGQgZmFpbG92ZXIgcHJvdGVjdGlvbi4KCSAgTXVsdGlwbGUgc3RyZWFtcyB3aXRoIHNhbWUgYmFuZHdpZHRoIGdldCByZXRyaWVkCgoyMDEyLTA1LTA4IDEzOjA0OjM1IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBDYWxjdWxhdGUgdGhlIHJlYWwgYml0cmF0ZSBhbmQgc3dpdGNoIHRvIHRoZSBjb3JyZWN0IHZhcmlhbnQKCSAgV2Ugbm93IGNhbGN1bGF0ZSB0aGUgYWN0dWFsIGJpdHJhdGUgdXNpbmcgdGhlIGRvd25sb2FkIHNwZWVkL3NpemUgYW5kCgkgIHRoZW4gc3dpdGNoIGRpcmVjdGx5IHRvIHRoZSB2YXJpYW50IHRoYXQgbWF0Y2hlcyBvdXIgYmFuZHdpZHRoIHRoZQoJICBtb3N0LgoJICBJdCB3aWxsIGFsc28gYmUgYWJsZSB0byBoYW5kbGUgYW55IHVzZSBjYXNlIHdoZXJlIHNvbWUgb2YgdGhlCgkgIHZhcmlhbnRzIGFyZSBub3QgYXZhaWxhYmxlLCBhbmQgd291bGQgc2tpcCB0aGVtIGFuZCBnbyB0byB0aGUgbmV4dAoJICBwb3NzaWJsZSB2YXJpYW50LgoJICBDb25mbGljdHM6CgkgIGdzdC9obHMvZ3N0aGxzZGVtdXguYwoKMjAxMi0wNS0wOCAxMTozNDo0NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCByZXNldCB0aGUgc2VxdWVuY2UgbnVtYmVyIGluIGEgbGl2ZSBzdHJlYW0gZm9yIGEgbm9ybWFsIHBsYXlsaXN0IHVwZGF0ZS4KCSAgT25seSBmb3Igc3RyZWFtIHN3aXRjaGluZwoKMjAxMi0wNS0wOCAxMTozMzo1MCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgd2UgdXBkYXRlIHRoZSBwbGF5bGlzdCwgbWFrZSBzdXJlIHRoZSBzZXF1ZW5jZSBudW1iZXIgaXMgbmV2ZXIgbW9yZSB0aGFuIDMgZnJhZ21lbnRzIGJlZm9yZSB0aGUgZW5kCgoyMDEyLTA1LTA4IDExOjEzOjI2IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW4gYSBsaXZlIHN0cmVhbSwgZG8gbm90IHN0YXJ0IGZyb20gMyBmcmFnbWVudHMgYmVmb3JlIHRoZSBlbmQuCgoyMDEyLTA1LTA4IDExOjA5OjI4IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBObyBuZWVkIHRvIHN0b3JlIHBvc2l0aW9uIHNpbmNlIGl0J3MgdGhlIGJ1ZmZlcidzIHRpbWVzdGFtcAoJICBUaGlzIGFsc28gd2lsbCBmaXggdGhlIGlzc3VlIG9mIGhhdmluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBkaWZmZXJlbnQKCSAgZnJvbSB0aGUgYWN0dWFsIHBvc2l0aW9uIG9mIHRoZSBmaXJzdCBidWZmZXIgaW4gdGhlIHF1ZXVlIGluIGNhc2UKCSAgdGhlIGNhY2hpbmcgY2F1c2VkIGEgcmVzeW5jIG9mIHRoZSBzZXF1ZW5jZSBudW1iZXIuCgkgIENvbmZsaWN0czoKCSAgZ3N0L2hscy9nc3RobHNkZW11eC5jCgoyMDExLTA5LTE1IDIwOjQ3OjU0IC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRmFsbGJhY2sgdG8gcHJldmlvdXMgcGxheWxpc3Qgd2hlbiBzd2l0Y2hpbmcgaWYgdGhlIG5ldyBwbGF5bGlzdCBjYW4ndCBiZSBmZXRjaGVkCgoyMDEyLTA1LTEwIDEzOjQ2OjI3ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuaDoKCSAgZ2F1ZGllZmZlY3RzOiBjb25zaXN0ZW5jeSBmaXhlcyBpbiBnc3RnYXVzc2JsdXIKCjIwMTItMDUtMTAgMTA6NDc6MjcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NpYW5ibHVyIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE3OjIxOjMwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBzb2xhcml6ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNzowNjoyMCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBleGNsdXNpb24gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTY6NTU6MTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE2OjMwOjQwICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRpbGF0ZSB0byBHc3RWaWRlb0ZpbHRlcgoKMjAxMi0wNS0wOSAxNjoxMDoxOCArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGJ1cm4gdG8gR3N0VmlkZW9GaWx0ZXIKCjIwMTItMDUtMDkgMTU6NDQ6MDIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGNocm9taXVtIHRvIEdzdFZpZGVvRmlsdGVyCgoyMDEyLTA1LTA5IDE0OjI4OjA5ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSAgZ2F1ZGllZmZlY3RzOiB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgaW4gYmx1cgoKMjAxMi0wNS0wOSAxMzozNTo0NiArMDEwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHRvIDAuMTEKCjIwMTItMDUtMDkgMDk6NDk6MTAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZ2F1c3NibHVyIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IHNvbGFyaXplIHRvIDAuMTEKCjIwMTItMDUtMDggMTg6MDk6MDkgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZXhjbHVzaW9uIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6Mzg6MjIgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSAgZ2F1ZGllZmZlY3RzOiBwb3J0IGRvZGdlIHRvIDAuMTEKCjIwMTItMDUtMDggMTc6MTc6MTYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgZGlsYXRlIHRvIDAuMTEKCjIwMTItMDUtMDggMTY6NTA6MDYgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJICBnYXVkaWVmZmVjdHM6IGFkZCBoZWFkZXIgdG8gZ2F1c3NibHVyCgoyMDEyLTA1LTA4IDE2OjM5OjAyICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkgIGdhdWRpZWZmZWN0czogcG9ydCBjaHJvbWl1bSB0byAwLjExCgoyMDEyLTA1LTA4IDE2OjM4OjQ4ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJICBnYXVkaWVmZmVjdHM6IHBvcnQgYnVybiB0byAwLjExCgoyMDEyLTA1LTA4IDE0OjE3OjA2ICswMTAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzQGRlYmV0aGVuY291cnQuY29tPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGV4Y2x1c2lvbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmM6CgkgIGNvbnRyb2xsZXI6IHBvcnQgdG8gbmV3IGNvbnRyb2xsZXIgbG9jYXRpb24gYW5kIGFwaQoKMjAxMi0wNS0wOCAxNzo1ODo1OCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZml4IGRlYWRsb2NrIHdoZW4gdGhlIGRldmljZSBpcyBsb3N0CgoyMDEyLTA1LTA4IDE4OjEwOjMwICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiByZW1vdmUgdHJhaWxpbmcgJzsnIGZyb20gbG9ja3MgZGVmaW5lcyB0byBtYWtlIGdzdC1pbmRlbnQgaGFwcHkKCjIwMTItMDUtMDcgMTM6MTM6MzQgLTA3MDAgIEFsZWl4IENvbmNoaWxsbyBGbGFxdWUgPGFsZWl4QG9ibG9uZy5jb20+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htc2luazogZml4IG1lbW9yeSBjb3JydXB0aW9uIHdoZW4gYSBjbGllbnQgZGlzY29ubmVjdHMgKGZpeGVzICM2NzU2NDApCgkgIEFsc28sIGFkZCBhIGNoZWNrIHRvIG1ha2Ugc3VyZSBhIGNsaWVudCBpc24ndCBkdW1wZWQgdHdpY2UKCjIwMTItMDUtMDcgMjM6NTc6MDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgcmZic3JjOiBjYWxsIFdTQVN0YXJ0dXAvQ2xlYW51cCBvbiB3aW4zMgoJICBJZiB3ZSBsaW5rIGFnYWluc3QgbGlid2luc29jazIsIHdlIHNob3VsZCBwcm9iYWJseSBjYWxsCgkgIFN0YXJ0dXAvQ2xlYW51cCBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAzIDIzOjQyOjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1hcmNhbmRyZS5sdXJlYXVAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgcmZic3JjOiBmaXggbGlicmZiIGxpbmtpbmcgb24gd2luMzIKCSAgbGlidG9vbDogbGluazogIGk2ODYtdzY0LW1pbmd3MzItZ2NjIC1zaGFyZWQgLmxpYnMvbGliZ3N0cmZic3JjLmRsbC5kZWYKCSAgLmxpYnMvbGliZ3N0cmZic3JjX2xhLWdzdHJmYnNyYy5vICAtV2wsLS13aG9sZS1hcmNoaXZlIC4vLmxpYnMvbGlicmZiLmEKCSAgLVdsLC0tbm8td2hvbGUtYXJjaGl2ZSAgLUwvdXNyL2k2ODYtdzY0LW1pbmd3MzIvc3lzLXJvb3QvbWluZ3cvbGliCgkgIC1sZ3N0YmFzZS0wLjEwIC1sZ3N0cmVhbWVyLTAuMTAgLWx4bWwyIC1sZ29iamVjdC0yLjAgLWxndGhyZWFkLTIuMAoJICAtbGdtb2R1bGUtMi4wIC1sZ2xpYi0yLjAgLWxpbnRsICAtbW1zLWJpdGZpZWxkcyAtbW1zLWJpdGZpZWxkcyAtTzIgICAtbwoJICAubGlicy9saWJnc3RyZmJzcmMuZGxsIC1XbCwtLWVuYWJsZS1hdXRvLWltYWdlLWJhc2UgLVhsaW5rZXIKCSAgLS1vdXQtaW1wbGliIC1YbGlua2VyIC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICBDcmVhdGluZyBsaWJyYXJ5IGZpbGU6IC5saWJzL2xpYmdzdHJmYnNyYy5kbGwuYQoJICAuLy5saWJzL2xpYnJmYi5hKGxpYnJmYl9sYS1yZmJkZWNvZGVyLm8pOiBJbiBmdW5jdGlvbgoJICBgcmZiX2RlY29kZXJfcmVhZCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxNjQ6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3JlY3ZAMTYnCgkgIC4vLmxpYnMvbGlicmZiLmEobGlicmZiX2xhLXJmYmRlY29kZXIubyk6IEluIGZ1bmN0aW9uCgkgIGByZmJfZGVjb2Rlcl9jb25uZWN0X3RjcCc6CgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMTI6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX3NvY2tldEAxMicKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjExOToKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faHRvbnNANCcKCSAgL2hvbWUvZWxtYXJjby9wa2cvcmhlbC9taW5ndy1nc3RyZWFtZXItcGx1Z2lucy1iYWQtZnJlZS9nc3QtcGx1Z2lucy1iYWQtMC4xMC4yMy9idWlsZF93aW4zMi9nc3QvbGlicmZiLy4uLy4uLy4uL2dzdC9saWJyZmIvcmZiZGVjb2Rlci5jOjEyMzoKCSAgdW5kZWZpbmVkIHJlZmVyZW5jZSB0byBgX2ltcF9faW5ldF9hZGRyQDQnCgkgIC9ob21lL2VsbWFyY28vcGtnL3JoZWwvbWluZ3ctZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLWZyZWUvZ3N0LXBsdWdpbnMtYmFkLTAuMTAuMjMvYnVpbGRfd2luMzIvZ3N0L2xpYnJmYi8uLi8uLi8uLi9nc3QvbGlicmZiL3JmYmRlY29kZXIuYzoxMjU6CgkgIHVuZGVmaW5lZCByZWZlcmVuY2UgdG8gYF9pbXBfX2Nvbm5lY3RAMTInCgkgIEl0IG5lZWRzIC1sd3MyXzMyIHdoaWNoIGlzIGFscmVhZHkgaW4gJChXSU5TT0NLMl9MSUJTKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NDE1CgoyMDEyLTA1LTAyIDA4OjAzOjQ2IC0wNzAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGFkZCBtaXNzaW5nIGNhc3RzIHRvIExQQ1NUUgoKMjAxMi0wNS0wMyAyMzo1MToxNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBsb3dlciByYW5rIG9mIHRoZSBEaXJlY3RTaG93IHZpZGVvIHNpbmsgcGx1Z2luCgkgIGQzZHZpZGVvc2luayBzaG91bGQgaGF2ZSBhIGhpZ2hlciByYW5rIGFzIGl0IHdvcmtzIGJldHRlci4KCjIwMTItMDUtMDIgMDc6NTY6MDAgLTA3MDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogRml4IGNvbXBpbGF0aW9uIG9uIHg2NCBwbGF0Zm9ybXMKCjIwMTItMDUtMDUgMjA6MDE6NDYgKzAzMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IGNvbXBpbGVyIHdhcm5pbmdzIG9uIG1pbmd3LXc2NAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc1NTIwCgoyMDEyLTA1LTA1IDE4OjIwOjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZmVzdGl2YWwvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkgIEFkZCBXSU5TT0NLMl9MSUJTLCByZW1vdmUgV0lOMzJfTElCUywgZml4IHJ0bXAgYnVpbGQgb24gV2luZG93cyBzb21lIG1vcmUKCSAgT25lIHdheSBvZiBwYXNzaW5nIC1sd3MyXzMyIHRvIHBsdWdpbnMgc2hvdWxkIGJlIGVub3VnaC4uCgoyMDEyLTA0LTE3IDExOjQ0OjE4ICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcnRtcDogbGluayB0byB3aW5zb2NrIGxpYnJhcnkgb24gV2luZG93cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MjQzCgoyMDEyLTA1LTA0IDE0OjAxOjEzICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBtYXJrIHVucG9ydGVkIFdpbmRvd3MgcGx1Z2lucyBhcyBzdWNoCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzU0NDAKCjIwMTItMDUtMDQgMTc6MDk6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluOiByZW1vdmUgdW5uZWNlc3NhcnkgY29kZQoKMjAxMi0wNS0wNCAxNzoxMDoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IGltcHJvdmUgaW1hZ2UgY2FwdHVyZSBkZWJ1ZwoKMjAxMi0wNS0wNCAxNzowNTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IGFsd2F5cyBmb3JjZSBpbWFnZS1wcm9maWxlIHRvIGhhdmUgdmFyaWFibGUgZnJhbWVyYXRlCgkgIGltYWdlLWVuY29kZWJpbiBjYW4ndCB1c2UgdmlkZW9yYXRlIGFzIGl0IGFsd2F5cyBzdG9yZSBvbmUgYnVmZmVyCgkgIHRvIGJlIGFibGUgdG8gZG8gaXRzIHRpbWVzdGFtcHMvZHVyYXRpb24gbWF0aC4gQXMgaW1hZ2UgY2FwdHVyZXMKCSAgb25seSBwdXNoIG9uZSBidWZmZXIgYXQgYSB0aW1lLCB0aGlzIHZpZGVvcmF0ZSBiZWhhdmlvciBicmVha3MKCSAgY2FtZXJhYmluIHVzYWdlLgoKMjAxMi0wNS0wMyAxOToxMTo1NyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBiYXNlY2FtZXJhYmluOiBEbyBub3Qgc2V0IHRoZSBwYWQgdGVtcGxhdGVzIGluIHRoZSBiYXNlIGNsYXNzLgoJICBJdCBpcyBiZXN0IHRvIGxldCB0aGUgc3ViY2xhc3MgZGVmaW5lIHRoZSBwYWQgdGVtcGxhdGVzLCB0aGlzIHdvdWxkCgkgIGFsbG93IHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hpY2ggY2FwcyB0aGUgcGFkcyBzaG91bGQgaGF2ZS4KCjIwMTItMDUtMDEgMTc6NTU6MDIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSAgdmlkZW9jb250ZXh0OiBSZW1vdmUgdGhlIGV4cGxpY2l0IHVucmVmaW5nIG9mIHBhZCBvYmplY3QgZ2V0dGluZyBmcm9tIGl0ZXJhdG9yLgoKMjAxMi0wNS0wMiAxNTozNTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBhdm9pZCBhc3NlcnRpb24gYnkgdXNpbmcgbnVsbCBjYXBzIGFzIGFueQoJICBOVUxMIGNhcHMgYXJlbid0IHZhbGlkIGNhcHMsIHVzZSBhIHJlZmVyZW5jZSB0byAnYW55JyBjYXBzCgoyMDEyLTA1LTAyIDE1OjI0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogRml4IGdldC9zZXRfcHJvcGVydHkgZm9yIGVuY29kaW5nIHByb2ZpbGVzCgkgIEVuY29kaW5nIHByb2ZpbGVzIGFyZSBvYmplY3RzLCBub3QgYm94ZWQgdHlwZXMKCjIwMTItMDUtMDIgMDk6NDM6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogbnVsbCBjYXBzIGFyZSBub3QgdmFsaWQgaW4gMS4wCgkgIFVzZSBhbnkgY2FwcyBmb3IgdGhlIHByZXZpZXctY2FwcyBwcm9wZXJ0eSwgYXMgTlVMTCBjYXBzIGFyZQoJICBub3QgdmFsaWQgY2FwcyBpbiAxLjAgYW55bW9yZQoKMjAxMi0wNS0wMSAxNToyOTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluMi1zcmMudHh0OgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBJbiAxLjAgdGhlcmUgaXMgYSBjb3JlIHJlY29uZmlndXJlIGV2ZW50LCBjYW1lcmFiaW4gZG9lc24ndCBuZWVkCgkgIGl0cyBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnQgYW55bW9yZQoKMjAxMi0wNS0wMSAxNTowODo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW46IFVzZSBwbGFpbiB2aWRlbyBlbmNvZGluZyBwcm9maWxlIGZvciBpbWFnZXMKCSAgRG8gbm90IHVzZSBqcGVnIGFzIGEgY29udGFpbmVyIGZvcm1hdCBmb3IgaW1hZ2UgY2FwdHVyZXMsIHVzZQoJICB0aGUgcGxhaW4gdmlkZW8gZW5jb2RpbmcgZm9ybWF0LiBJdCB3YXMgdXNlZCBhcyBhIGNvbnRhaW5lciBpbgoJICAwLjEwIHRvIGZvcmNlIHRoZSBhZGRpdGlvbiBvZiB0YWdzIHRvIHRoZSBpbWFnZS4KCjIwMTItMDUtMDEgMTQ6MzE6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogY2hhbmdlIG91dHB1dC1zZWxlY3RvciBuZWdvdGlhdGlvbiBtb2RlCgkgIEluIDAuMTAgY2FtZXJhYmluMiBjb250cm9sbGVkIHRoZSBuZWdvdGlhdGlvbiBzdHJpY3RseSBhbmQgdGhlIG91dHB1dC1zZWxlY3RvcgoJICB3b3VsZG4ndCBmb3J3YXJkIHNldGNhcHMgY2FsbHMuIEluIDAuMTEgdGhlIHJlbmVnb3RpYXRpb24gZXZlbnRzIGFyZSBhbHJlYWR5IGluCgkgIGNvcmUgYW5kIHdlIGNhbiBhbGxvdyB0aGUgcGlwZWxpbmUgdG8gaGFuZGxlIGl0IHdpdGhvdXQgbXVjaCBjb250cm9sIGZyb20gY2FtZXJhYmluCgkgIHBhcnQgKEkgaG9wZSksIHNvIHRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGZvcndhcmQgY2FwcyBuZWdvdGlhdGlvbiBldmVudHMKCSAgdG8gdGhlIGFjdGl2ZSBwYWQuCgoyMDEyLTA1LTAxIDE0OjMxOjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IHJlbW92aW5nIHJlbmVnb3RpYXRlIGhhbmRsZXJzCgkgIGdzdHJlYW1lciAxLjAgYWxyZWFkeSBoYXMgdGhlIHJlY29uZmlndXJlIGV2ZW50LCByZW1vdmUgdGhlCgkgIGN1c3RvbSBldmVudCBoYW5kbGluZyBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMKCjIwMTItMDUtMDEgMTM6Mjg6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogcHJldmVudCBjYXBzIHJlbmVnb3RpYXRpb24gbG9vcAoJICBPbmx5IHNldCB0aGUgem9vbSBjYXBzZmlsdGVyIGNhcHMgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIGRpZmZlcmVudCwKCSAgcHJldmVudGluZyBhIGNhcHMgcmVuZWdvdGlhdGlvbiBsb29wLgoKMjAxMi0wNS0wMSAxMzoxNToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW46IGV4YW1wbGU6IFVwZGF0ZSBwcmVwYXJlLXdpbmRvdy1oYW5kbGUgbWVzc2FnZQoJICBNZXNzYWdlIG5hbWUgY2hhbmdlZCBmcm9tIHByZXBhcmUteHdpbmRvdy1pZCB0byBwcmVwYXJlLXdpbmRvdy1oYW5kbGUKCjIwMTItMDUtMDEgMTM6MDA6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IFJlbmFtaW5nIGNhbWVyYWJpbjIgdG8gY2FtZXJhYmluCgoyMDEyLTA1LTAxIDEwOjI2OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IHVwZGF0aW5nIHByb3BlcnR5IHRvIG5ldyBuYW1lCgkgIGVuYWJsZS1sYXN0LWJ1ZmZlciBpcyBub3cgZW5hYmxlLWxhc3Qtc2FtcGxlCgoyMDEyLTA1LTAxIDEwOjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW46IFJlcGxhY2luZyBmZm1wZWdjb2xvcnNwYWNlIHdpdGggdmlkZW9jb252ZXJ0CgoyMDEyLTA0LTMwIDEyOjM2OjQ2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNiYXNlOiB1bnJlZiBiYWQgcGFja2V0cyB0b28KCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgoyMDEyLTA0LTMwIDEyOjI4OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogcmVzZXQgdGhlIHN0YXRlIG9mIHRoZSBzdHJlYW0gd2hlbiBmbHVzaGluZwoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBzdHJlYW0gb24gYSBmbHVzaCBvciBlbHNlIG9sZCBwYWNrZXRzIGNvdWxkIGJlIGFkZGVkIHRvIHRoZQoJICBsaXN0IGFuZCBsZWFrLgoKMjAxMi0wNC0zMCAxMTowNToyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGRvbid0IHB1c2ggZXZlbnRzIHVwc3RyZWFtIGluIHB1bGwgbW9kZQoJICBJbiBwdWxsIG1vZGUsIGRvbid0IHB1c2ggdGhlIHNlZWsgZXZlbnQgdXBzdHJlYW0uCgoyMDEyLTA0LTI2IDIyOjQ5OjA3IC0wNDAwICBXaW5kIFl1YW4gPGZlbmcueXVhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBtcGVnNCB0eXBlIGVycm9yCgoyMDEyLTA1LTAxIDA5OjQxOjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzOiBkb24ndCBwb2tlIGludG8gcHJpdmF0ZSBhZGFwdGVyIGZpZWxkcwoKMjAxMi0wNC0zMCAxODowNTowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IHVwZGF0ZSBjYW1lcmFiaW4oMikgdW5pdCB0ZXN0IGZvciByZW5hbWUKCjIwMTItMDQtMzAgMTc6NTY6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiByZW5hbWUgdG8gImNhbWVyYWJpbiIKCSAgQnV0IGxlYXZlIHNvdXJjZSBjb2RlIGludGFjdCBmb3Igbm93LCBmb3IgZWFzaWVyIHBhdGNoIG1lcmdpbmcuCgoyMDEyLTA0LTMwIDE3OjQ0OjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbjIueG1sOgoJKiBnc3QvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5kZWJ1Zy5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbmNvbG9yYmFsYW5jZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLnVpOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS51aToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBSZW1vdmUgb2xkIGNhbWVyYWJpbgoKMjAxMi0wNC0yNSAxMzozMTozNiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBzdGFydCBwYXVzZWQgdGFzayBvbiBuZXcgZGF0YQoKMjAxMi0wNC0yMSAxMTozNjowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgYW5kcm9pZDogQWRkIHN1cHBvcnQgZm9yIHRoZSBmYWFjIHBsdWdpbgoKMjAxMi0wNC0xNiAxMDowNzo1MSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIFJlZW5hYmxlIGZhYWQgcGx1Z2luIGZvciB0aGUgQW5kcm9pZCBOREsgYnVpbGRzCgoyMDEyLTA0LTI1IDExOjUwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2ZzogU3RvcCB1c2luZyBkZXByZWNhdGVkIEFQSSB3aGVuIGNvbXBpbGluZyB3aXRoIFJTVkcgMi4zNS4wIG9yIG5ld2VyCgoyMDEyLTAzLTI5IDE1OjU3OjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUKCjIwMTItMDQtMDQgMTE6NTE6MjggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJICBvcHVzOiBIYW5kbGUgR3N0Qnl0ZVdyaXRlciByZXR1cm4gdmFsdWVzCgoyMDEyLTA0LTI1IDEwOjI3OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzbmRpbyBwbHVnaW4gaXMgbm90IHBvcnRlZCB5ZXQKCjIwMTItMDQtMjUgMTA6MjU6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGlvL2dzdHNuZGlvLmM6CgkgIHNuZGlvOiBGaXggaTE4biBpbml0aWFsaXphdGlvbgoKMjAxMi0wNC0xMSAyMTowNToyNiAtMDQwMCAgSmFjb2IgTWV1c2VyIDxqYWtlbXNyQHNkZi5sb25lc3Rhci5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NuZGlvL01ha2VmaWxlLmFtOgoJKiBleHQvc25kaW8vZ3N0c25kaW8uYzoKCSogZXh0L3NuZGlvL3NuZGlvc2luay5jOgoJKiBleHQvc25kaW8vc25kaW9zaW5rLmg6CgkqIGV4dC9zbmRpby9zbmRpb3NyYy5jOgoJKiBleHQvc25kaW8vc25kaW9zcmMuaDoKCSAgc25kaW86IGFkZCBzbmRpbyBwbHVnaW4gZm9yIE9wZW5CU0QKCjIwMTItMDQtMjQgMTc6MDA6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogcG9ydCB0byAwLjExCgoyMDEyLTA0LTI0IDE1OjIwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZiLXN1YjogVXNlIHVuY2hlY2tlZCBieXRlIHJlYWRlciBmdW5jdGlvbnMKCjIwMTItMDQtMjQgMTQ6NTc6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBVc2UgY29ycmVjdCBlbnVtIHR5cGUKCjIwMTItMDQtMjQgMTE6MDI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXU6IFN3aXRjaCBmcm9tIGRlcHJlY2F0ZWQgWEtleWNvZGVUb0tleXN5bSgpIHRvIFhrYktleWNvZGVUb0tleXN5bSgpCgkgIENvbmZsaWN0czoKCSAgc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYwoKMjAxMi0wNC0yMyAxNzoxMTozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTItMDQtMjMgMTY6NTU6MTggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuaDoKCSAgYXNmbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDQtMTIgMTQ6MTc6MTQgKzAyMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50Lmg6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJKiBnc3QvaGxzL2dzdHVyaWRvd25sb2FkZXIuYzoKCSAgaGxzZGVtdXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wNC0yMCAxNTowNTozNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogcGFzcyB0aGUgcmVhc29uIGZvciBmYWlsZWQgcmVhZCBhcyBHc3RGbG93UmV0dXJuCgkgIE1ha2UgdGhlIF9yZWFkX2RldmljZSBmdW5jdGlvbiByZXR1cm4gYSBHc3RGbG93UmV0dXJuIHNvIHRoYXQgd2UgY2FuIHByb3BhZ2F0ZQoJICB0aGlzIHRvIHRoZSBjYWxsZXIuIFRoaXMgYWxsb3dzIHVzIHRvIGRpZmZlcmVudGlhdGUgYmV0d2VlbiBwb2xsIGVycm9ycyBhbmQKCSAgZmx1c2hpbmcgc3RhdGUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQyMTkKCjIwMTItMDQtMTcgMTE6NDQ6MDAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIEZpeCBmb3JtYXQgKHR5cGUgaXMgZXhwbGljaXRseSB1bnNpZ25lZCBsb25nKQoJICBGaXhlcyAjNjc0MjQ0CgoyMDEyLTA0LTIwIDEyOjA5OjA4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkgIG5hczogUmV3b3JrIG5hc3NpbmsgYSBsaXR0bGUKCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSA8b2xlLmhlbGxxdmlzdCBhdCBzcHJheS5zZT4KCSAgQ3JlYXRlIGFuZCBkZXN0cm95IGZsb3cgaW4gcHJlcGFyZS91bnByZXBhcmUKCSAgUmVtb3ZlIHNvbWUgZHVwbGljYXRlIGNvZGUgZnJvbSBjbG9zZSBhbmQgcHJlcGFyZSB0aGF0IGlzIG5vdyBpbiB1bnByZXBhcmUuCgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzQxMzAKCjIwMTItMDQtMTggMTI6MDI6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlY29udmVydGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuaDoKCSAgRG9jIGZpeGVzIChnc3RzdXJmYWNlY29udmVydGVyLCBnc3RzdXJmYWNlbWV0YSkuCgoyMDEyLTA0LTIwIDExOjIzOjU2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogd2UgaWdub3JlIHdhcm5pbmdzIGRpZmZlcmVudGx5CgkgIFdlIHN1cHByZXNzIHRoZSB3YXJuaW5ncyBpbiB0aGUgLmMgZmlsZSBpbnN0ZWFkLgoKMjAxMi0wNC0xOSAxNDoyMDo1MiArMDIwMCAgR2lsIFBlZGVyc2VuIDxnaXRAZ3Bvc3QuZGs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwb3J0IHRvIDAuMTEKCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDM5NwoKMjAxMi0wNC0yMCAxMDo1MDoxOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IGNsYXJpZnkgZXZlbnQgb3duZXJzaGlwCgoyMDEyLTA0LTE5IDEzOjU5OjM3ICswMjAwICBHaWwgUGVkZXJzZW4gPGdpdEBncG9zdC5kaz4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IG1lbW9yeSBsZWFrcwoJICBGaXhlcyBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9Njc0MzkzCgoyMDEyLTA0LTIwIDExOjEyOjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtOgoJICBmaWVsZGFuYWx5c2lzOiBEb2VzIG5vdCBuZWVkIHRvIGxpbmsgdG8gbGliZ3N0YmFzZXZpZGVvIGF0IGFsbAoJICBDb25mbGljdHM6CgkgIGdzdC9maWVsZGFuYWx5c2lzL01ha2VmaWxlLmFtCgoyMDEyLTA0LTE5IDE0OjI0OjQ1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJidWZmZXJwb29sLmM6CgkgIGZpeCBmb3IgdmlkZW8gYXBpIHVwZGF0ZQoKMjAxMi0wNC0xOSAxMjoyOTo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdmlkZW86IFVwZGF0ZSBmb3IgbGliZ3N0dmlkZW8gQVBJIGNoYW5nZXMKCjIwMTItMDQtMTcgMjI6NDY6MTIgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBEbyBub3Qgc2V0IHRoZSBkdXJhdGlvbiB0byB0aGUgaW5wdXQgYnVmZmVyJ3MgZHVyYXRpb24gdW5sZXNzIHZhbGlkIFRoaXMgY2F1c2VzIGEgYnVnIHdoZXJlIHRoZSBmaXJzdCBidWZmZXIgaGFzIHRzID0gMCwgZHVyPVgsIHRoZSBzZWNvbmQgYnVmZmVyIGhhcyB0cz1YIChiZWNhdXNlIG9mIHRzICs9IGR1cmF0aW9uKSwgZHVyPS0xLCB0aGVuIHRoZSBmb2xsb3dpbmcgYnVmZmVycyB3aWxsIHN0YXJ0IGhhdmluZyBhIG5vbiB2YWxpZCB0aW1lc3RhbXAuIFRoZSByZWFsIGR1cmF0aW9uIGlzIG9ubHkgY2FsY3VsYXRlZCBkdXJpbmcgdGhlIGNhcHMgbmVnb2NpYXRpb24gd2hlbiB0aGVyZSBpcyBhIGZyYW1lcmF0ZSBhdmFpbGFibGUgYW5kIHRoZSBidWZmZXIncyBkdXJhdGlvbiBpcyBpbnZhbGlkLgoKMjAxMi0wNC0xNyAxNTo0NDowNyArMDIwMCAgSnVsaWFuIFNjaGVlbCA8anVsaWFuQGp1c3N0LmRlPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2V0IGN1cnJlbnRsaXN0IHRvIE5VTEwgYWZ0ZXIgZnJlZS4KCSAgVGhpcyBwcmV2ZW50cyBkb3VibGUgZnJlZSBvZiBjdXJyZW50bGlzdCBpcyBzb21lIGNpcmN1bXN0YW5jZXMuCgoyMDEyLTA0LTE3IDE4OjU2OjUwIC0wNDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogRml4IGR1cmF0aW9uIGluIGJ1ZmZlcnMuIEl0J3MgZnJhbWVzIHBlciBzZWNvbmQsIG5vdCBzZWNvbmRzIHBlciBmcmFtZQoKMjAxMi0wNC0xNyAxNToyMjo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgY29sbGVjdHBhZHMyOiByZW5hbWUgdG8gY29sbGVjdHBhZHMKCjIwMTItMDQtMTYgMTE6MDA6NDQgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSAgYXBwbGVtZWRpYTogZG8gbm90IGxpbmsgZ3N0aW50ZXJmYWNlcwoKMjAxMi0wNC0xNiAwOTowOToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZkYjI1YmUgdG8gZGM3MDIwMwoKMjAxMi0wNC0xMyAwMDoxMzozOSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHBhZCBpdGVyYXRvciBsZWFrCgoyMDEyLTA0LTEzIDAwOjE0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZG9uJ3QgbGVhayBmb3JjZSBrZXkgdW5pdCBldmVudHMKCjIwMTItMDQtMTQgMjE6MDk6MjUgKzAyMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IGlnbm9yZSBzdGFydCBjb2RlIGF0IHRoZSBlbmQgb2YgYnVmZmVyCgoyMDEyLTA0LTE0IDIxOjAyOjA2ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2VyIGZhaWxzIHRvIHNwbGl0IHNvbWUgZnJhbWVzCgoyMDEyLTA0LTE0IDIwOjUzOjQ3ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRml4IEZQUyBhbmQgZnJhbWUgZHVyYXRpb24gZm9yIHRlbGVjaW5lIGZpbGVzCgoyMDEyLTA0LTE0IDIwOjQ2OjI0ICswMjAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogRG8gbm90IHVwZGF0ZSBjb2RlYy1kYXRhIHdoZW4gb25seSBxdWFudGlzZXIgbWF0cml4IGNoYW5nZXMKCjIwMTItMDQtMTQgMTU6Mjk6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBkb24ndCBsaW5rIGFnYWluc3QgbGliZ3N0aW50ZXJmYWNlcyB3aGljaCB3YXMgcmVtb3ZlZAoJICBUaGUgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UgaXMgbm93IGluIGxpYmdzdHZpZGVvLgoKMjAxMi0wNC0xMyAyMjowNDozOCArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgZml4IGNyYXNoCgkgIGxhc3Rfc2MgaXMgbm90IHJlc2V0IGV2ZXJ5IHRpbWUgYSBmcmFtZSBpcyBiZWluZyBvdXRwdXQsIHdoaWNoIGNhbiBjYXVzZQoJICBsYXN0X3NjID4gYnVmX3NpemUgaW4gc3Vic2VxdWVudCBmcmFtZS4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3NDA3MwoKMjAxMi0wNC0xMyAxNToxMjoxMiArMDIwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIFNldCBzeW5jX3BvaW5yID0gMSBmb3Iga2V5ZnJhbWUKCjIwMTItMDQtMTMgMTQ6MDc6MDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogdXNlIDEuMCB2aWRlb2ZpbHRlciBiYXNlY2xhc3MgZnVuY3Rpb25zCgkgIFBvcnQgdG8gdGhlIG5ldyBmdW5jdGlvbnMgb2YgdGhlIHZpZGVvZmlsdGVyIGNsYXNzCgoyMDEyLTA0LTEzIDEwOjE2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RkaWZmdXNlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1hcmJsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3BoZXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBwb3J0IHRvIDEuMAoJICBTdHJhaWdodGZvcndhcmQgcG9ydCBvZiBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEyLTA0LTEzIDEzOjQ0OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBNb2Rlcm5pemUgYXV0b3Rvb2xzIHNldHVwIGEgYml0CgkgIEFsc28gd2Ugbm93IG9ubHkgY3JlYXRlIHRhci5iejIgYW5kIHRhci54eiB0YXJiYWxscy4KCjIwMTItMDQtMTMgMTM6Mzc6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjRmZTE1IHRvIDZkYjI1YmUKCjIwMTItMDQtMTMgMTM6MTA6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFVwZGF0ZSBmb3IgdGhlIHJlbW92YWwgb2YgdGhlIGludGVyZmFjZXMgbGlicmFyeSBhbmQgdGhlIHR1bmVyL21peGVyIGludGVyZmFjZXMKCjIwMTItMDQtMTIgMTg6MjU6MDkgLTA0MDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBBbmRyb2lkLm1rOgoJICBTeW5jIEFuZHJvaWQubWsgZW50cmllcyB0byB0aGUgbmV3IG1ham9yIHZlcnNpb24KCSAgQ2hhbmdlIG5hbWluZyBvbiB0aGUgcGtnY29uZmlnIGZpbGVzIHRvIHJlZmxlY3QKCSAgdGhlIDAuMTAgLT4gMS4wIGJ1bXAuCgoyMDEyLTA0LTEyIDExOjE5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS45MCA9PT0KCjIwMTItMDQtMTIgMTA6NTA6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZW1vdmVzaWxlbmNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTEuOTAKCjIwMTItMDQtMTIgMTA6NDc6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VsLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZW8ucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMi0wNC0xMSAyMTo0Nzo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgdGVzdHM6IHJlbW92ZSBvYnNvbGV0ZSBtdWx0aWZkc2luayB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtYmFzZSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MzU6NTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMveDI2NGVuYy5jOgoJICB0ZXN0czogcmVtb3ZlIG9ic29sZXRlIHgyNjRlbmMgdW5pdCB0ZXN0CgkgIC4uLiB3aGljaCBpcyBpbiAtdWdseSBub3dhZGF5cy4KCjIwMTItMDQtMTAgMTc6MjQ6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB0byAxLjAKCjIwMTItMDQtMTAgMTc6MjI6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBwbHVnIGNhcHMgbGVhawoKMjAxMi0wNC0xMCAxNzoyMjo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IHR3ZWFrIGNhcHMgbmVnb3RpYXRpb24KCSAgLi4uIHNvIGFzIHRvIGF2b2lkIGxlYWtpbmcgY2FwcyBvciBtYW5pcHVsYXRpbmcgTlVMTCBjYXBzLgoKMjAxMi0wNC0xMCAxNzoyMjowNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBhdm9pZCBsZWFraW5nIHBhZCB0ZW1wbGF0ZSBjYXBzIGFuZCBzdXBlcmZsdW91cyBjb3B5CgoyMDEyLTA0LTEwIDE3OjIxOjI5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgbXBsZXg6IGZpeCBwYWQgcmVsZWFzZSBhbmQgY2xlYW51cAoKMjAxMi0wNC0wNiAxNDo1MjoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCjIwMTItMDQtMDYgMTQ6Mjc6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB0d2VhayBkZWZhdWx0IHNldHRpbmcgb2YgZm9ybWF0IGFuZCBhbGlnbm1lbnQgaW4gY29kZWNfZGF0YSBjYXNlCgkgIC4uLiB3aGljaCBzaG91bGQgcHJvbW90ZSBlbmRpbmcgdXAgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMTItMDQtMDYgMTQ6MjM6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkbyBub3QgdXNlIF91bmNoZWNrZWQgYnl0ZXdyaXRlciB2YXJpYW50cyB0byBpbnNlcnQgY29uZmlnCgkgIC4uIHNpbmNlIHRoZSBieXRld3JpdGVyIGlzIGV4cGxpY2l0bHkgY3JlYXRlZCB3aXRoIG5vbi1maXhlZCBzaXplIHRvCgkgIGFsbG93ICh2ZXJ5IG11Y2ggc28gZXhwZWN0ZWQpIGdyb3d0aC4KCSAgUGFydGlhbGx5IHJldmVydHMgY29tbWl0IDIwNjY5ZDQ2MWE0OTUzZWI1ZWQwMTM3NGQ1YWI2MjhiNGRjNzNiNjQgd2hpbGUKCSAgdHJ5aW5nIHRvIGtlZXAgKHNvbWU/KSBjb21waWxlcnMgaGFwcHkuCgkgIElJUkMsIHRoZSBwdXJwb3NlIG9mIEdzdEJ5dGVXcml0ZXIgaW4gdGhlIGZpcnN0IHBsYWNlIHdhcyAoYXQgbGVhc3QpCgkgIGJlaW5nIGFibGUgdG8gZHVtcCBkYXRhIHdpdGhvdXQgaGF2aW5nIHRvIGZ1c3Mgd2l0aCBtZW1vcnkgZXhwYW5zaW9uCgkgIGFuZCBzaXplIGlzc3VlcyAuLi4KCSAgRml4ZXMgIzY3MzQ4NS4KCjIwMTItMDQtMDUgMTc6MTU6MTEgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNSAxODo0MzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdmZGE1MjQgdG8gNDY0ZmUxNQoKMjAxMi0wNC0wNSAxODowMjo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHBsdWdpbi5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWYuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6Mi5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRlLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L29mYS9nc3RvZmEuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvLmM6CgkqIGV4dC9zZGwvZ3N0c2RsLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3NvdW5kdG91Y2gvcGx1Z2luLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5kc3AuYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZi5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL3BsdWdpbi5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvcGx1Z2luLmM6CgkqIGdzdC9iYXllci9nc3RiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZHBsdWdpbi5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXIuYzoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3R0c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlLmM6CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6CgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGNhcHBhcnNlL3BsdWdpbi5jOgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcmF3cGFyc2UvcGx1Z2luLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWwuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG9wbHVnaW4uYzoKCSogZ3N0L3NkaS9nc3RzZGkuYzoKCSogZ3N0L3NkcC9nc3RzZHBlbGVtLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9wbHVnaW4uYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3Qvc3ViZW5jL2dzdHN1YmVuYy5jOgoJKiBnc3QvdHRhL2dzdHR0YS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2F2Yy9nc3RhdmNwbHVnaW4uY3BwOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkqIHN5cy9kdmIvZ3N0ZHZiLmM6CgkqIHN5cy9keHIzL2R4cjNpbml0LmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXMuYzoKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOgoJKiBzeXMvc2htL2dzdHNobS5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5jOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSogdG9vbHMvZ3N0LXByb2plY3QtbWFrZXI6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgZ3N0OiBVcGRhdGUgZm9yIEdTVF9QTFVHSU5fREVGSU5FKCkgQVBJIGNoYW5nZXMKCjIwMTItMDQtMDUgMTE6NTE6NDAgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5jOgoJICBobHM6IFNvbWUgbW9yZSBkZWJ1Z2dpbmcKCjIwMTItMDMtMTUgMTQ6NDI6NDQgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogUmVwbGFjZSB0aGUgZmV0Y2hlciBjb2RlIHdpdGggYSBHc3RVUklEb3dubG9hZGVyIG9iamVjdAoKMjAxMi0wMy0xNCAxNzowMToxNyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkgIGhsczogTWlub3IgY2xlYW51cCBpbiBHc3RVcmlEb3dubG9hZGVyCgoyMDEyLTAzLTE0IDE3OjA2OjIyIC0wNDAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3R1cmlkb3dubG9hZGVyLmM6CgkqIGdzdC9obHMvZ3N0dXJpZG93bmxvYWRlci5oOgoJICBobHNkZW11eDogRmFjdG9yIG91dCBhbGwgdGhlIGZldGNoZXIgY29kZSBpbiBhIEdzdFVSSURvd25sb2FkZXIgY2xhc3MKCSAgVGhpcyBjbGFzcyBpcyBtZWFudCB0byBiZSByZXVzYWJsZSBieSBvdGhlciBjb21wb25lbnRzCgoyMDEyLTA0LTA1IDEwOjIyOjI5IC0wNDAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkgIGhsczogRG8gbm90IGFkZCByZWZlcmVuY2UgdG8gYnVmZmVycyBwYXNzZWQgaW4gR3N0RnJhZ21lbnQKCSAgV2UganVzdCBzdGVhbCB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIsIHdoaWNoIG1lYW5zIHdlIGNhbiBrZWVwIHdyaXRpbmcgbWV0YWRhdGFzCgkgIG9uIHRoZSBidWZmZXJzLgoKMjAxMi0wMy0xMyAxNToxODoyMiAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RmcmFnbWVudC5jOgoJICBobHM6IE1pbm9yIEdzdEZyYWdtZW50IGNsZWFudXAKCjIwMTEtMDctMDggMDE6MDk6MDAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50LmM6CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnQuaDoKCSAgaGxzOiBBZGQgYSBHc3RGcmFnbWVudCBjbGFzcyB0aGF0IHJlcHJlc2VudHMgYSBmcmFnbWVudCBpbiBhIG0zdSBwbGF5bGlzdAoKMjAxMi0wMy0xNSAxODoyMTo1OCAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsczogTWFrZSB0aGUgdXBkYXRlcyB0aHJlYWQgYSBHc3RUYXNrCgoyMDEyLTA0LTA1IDEzOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVcGRhdGUgdmVyc2lvbiB0byAwLjExLjg5LjEKCjIwMTItMDQtMDUgMDk6MTY6MjcgKzAxMDAgIHVyYWV1cyA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDEyLTA0LTA1IDA2OjE4OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IHNldCBjb3JyZWN0IG5ld3NlZ21lbnQgZmllbGRzIG9uIF9USU1FIHNlZWtzCgkgIEZvcndhcmQgdGhlIHNlZWsgcmF0ZSBhbmQgc2V0IE5TLnN0YXJ0IHRvIHRoZSBzZWVrIHRhcmdldCBzbyB0aGF0IGRlY29kZXJzIGNhbgoJICBhcHBseSBjbGlwcGluZyB3aGVyZSBuZWNlc3NhcnkuCgoyMDEyLTA0LTA1IDA4OjU0OjI4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmV2aWRlb2J1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUzOjQxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGNvcmVtZWRpYWJ1ZmZlciBhZnRlciBidWZmZXIgbWV0YSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjUyOjQ5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogdXBkYXRlIGFmdGVyIEJhc2VTcmM6OmZpeGF0ZSBBUEkgY2hhbmdlCgoyMDEyLTA0LTA1IDA4OjI0OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJICByYXdwYXJzZTogZml4IGNvbXBpbGUgd2FybmluZwoKMjAxMi0wNC0wNSAwNjoxODoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBzZXQgY29ycmVjdCBuZXdzZWdtZW50IGZpZWxkcyBvbiBfVElNRSBzZWVrcwoJICBGb3J3YXJkIHRoZSBzZWVrIHJhdGUgYW5kIHNldCBOUy5zdGFydCB0byB0aGUgc2VlayB0YXJnZXQgc28gdGhhdCBkZWNvZGVycyBjYW4KCSAgYXBwbHkgY2xpcHBpbmcgd2hlcmUgbmVjZXNzYXJ5LgoKMjAxMi0wNC0wNCAxNDo0MToyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL2NvbXBpbGluZy5zZ21sOgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvdmVyc2lvbi5lbnRpdGllcy5pbjoKCSogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkqIGV4dC9nc2V0dGluZ3Mvb3JnLmZyZWVkZXNrdG9wLmdzdHJlYW1lci5kZWZhdWx0LWVsZW1lbnRzLmdzY2hlbWEueG1sLmluOgoJKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJKiBleHQvanAyay9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL01ha2VmaWxlLmFtOgoJKiBleHQvc2Nocm9lZGluZ2VyL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvTWFrZWZpbGUuYW06CgkqIGV4dC96YmFyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmllbGRhbmFseXNpcy9NYWtlZmlsZS5hbToKCSogZ3N0L2ZyZWkwci9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXJsYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGdzdC9wbm0vTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RwL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VnbWVudGNsaXAvTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvbWVhc3VyZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1jb2RlY3BhcnNlcnMtdW5pbnN0YWxsZWQucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLXBsdWdpbnMtYmFkLnBjLmluOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2F2Yy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBnc3Q6IFVwZGF0ZSB2ZXJzaW9uaW5nCgoyMDEyLTA0LTA0IDEyOjA2OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi8wLjEwJwoKMjAxMi0wNC0wNCAwNzoyNDoyOCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiByZXNldCBpdGVyYXRvciB0byBOVUxMIGFmdGVyIGl0J3MgZnJlZQoJICBGaXhlcyBwb3NzaWJsZSBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MgaW4gZ3N0X3RzX2RlbXV4X3N0cmVhbV9mbHVzaAoKMjAxMi0wNC0wMiAxNTozMTozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vMC4xMCcKCSAgQ29uZmxpY3RzOgoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgoyMDEyLTA0LTAyIDE1OjI2OjI4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IENsZWFyIGJ1ZmZlcmxpc3QvaXRlcmF0b3Igd2hlbiByZW1vdmluZyBzdHJlYW1zCgoyMDEyLTA0LTAyIDE1OjI1OjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IERvbid0IGxlYWsgYnVmZmVyIGluIGZhc3QgdmFyaWFudAoKMjAxMi0wNC0wMiAxNToyNToxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBEb24ndCBsZWFrIGNvcnJ1cHQgc2VjdGlvbiBwYWNrZXQgYnVmZmVyCgoyMDEyLTA0LTAyIDExOjEzOjI1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB1c2UgdHJhbnNmb3JtX2lwX29uX3Bhc3N0aHJvdWdoCgoyMDEyLTA0LTAyIDExOjA3OjE4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBmaXggY29tcGlsYXRpb24KCjIwMTItMDMtMzAgMTk6MTk6MTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRml4IHNldmVyYWwgbGVha3MKCSAgKiBkb250JyBsZWFrIGJ1ZmZlcnMgd2hlbiBhIHN0cmVhbSBpcyBpbiBkaXNjb250IHN0YXRlCgkgICogZG9uJ3QgbGVhayBidWZmZXJzIHdoZW4gYSBwcm9ncmFtIGlzIHJlbW92ZWQvZGVhY3RpdmF0ZWQKCSAgKiByZW1vdmUgYWxsIHByb2dyYW1zIHdoZW4gZGlzcG9zaW5nCgoyMDEyLTAzLTMwIDE5OjE5OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzZXZlcmFsIGxlYWtzCgkgICogZG9udCcgbGVhayBidWZmZXJzIHdoZW4gYSBzdHJlYW0gaXMgaW4gZGlzY29udCBzdGF0ZQoJICAqIGRvbid0IGxlYWsgYnVmZmVycyB3aGVuIGEgcHJvZ3JhbSBpcyByZW1vdmVkL2RlYWN0aXZhdGVkCgkgICogcmVtb3ZlIGFsbCBwcm9ncmFtcyB3aGVuIGRpc3Bvc2luZwoKMjAxMi0wMy0zMCAxODoxMzoyNiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSAgdXBkYXRlIGZvciBidWZmZXIgYXBpIGNoYW5nZQoKMjAxMi0wMy0zMCAxNzowOTozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeHVwIG1lcmdlCgoyMDEyLTAzLTMwIDEzOjIzOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDEyLTAzLTMwIDEyOjU1OjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBVc2UgbmV3IGdzdF9hdWRpb19lbmNvZGVyX3NldF9oZWFkZXJzKCkgQVBJCgoyMDEyLTAzLTMwIDEyOjIyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgR3N0QXVkaW9FbmNvZGVyIEFQSSBjaGFuZ2VzCgoyMDEyLTAzLTMwIDEyOjAyOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogVXBkYXRlIGZvciBiYXNlcGFyc2UgQVBJIGNoYW5nZXMKCjIwMTItMDMtMzAgMTE6NTM6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBleHQ6IFVwZGF0ZSBmb3IgYXVkaW8gZGVjb2RlciBBUEkgY2hhbmdlcwoKMjAxMi0wMy0yOSAxODowNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vZ2l0LmZyZWVkZXNrdG9wLm9yZy9naXQvZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMy0yOSAxODowMzowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBhIG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NTU6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJldmVydCB0byAwLjEwIHN0YXRlIGFzIHRoaXMgaXMgdW5tZXJnZWFibGUsIGFsc28gcHV0IGl0IGludG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucyBhZ2FpbgoKMjAxMi0wMy0yOSAxNzo1MTo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogRml4IG1lcmdlIG1pc3Rha2UKCjIwMTItMDMtMjkgMTc6NDE6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luLzAuMTAnCgkgIENvbmZsaWN0czoKCSAgTkVXUwoJICBSRUxFQVNFCgkgIGNvbW1vbgoJICBjb25maWd1cmUuYWMKCSAgZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dAoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncwoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5CgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWwKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbAoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbAoJICBleHQvY2VsdC9nc3RjZWx0ZGVjLmMKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYwoJICBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaAoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmgKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oCgkgIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbQoJICBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmMKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYwoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jCgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jCgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaAoJICBnc3QvbXhmL214ZmRlbXV4LmMKCSAgZ3N0L3Jhd3BhcnNlL2dzdGF1ZGlvcGFyc2UuYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmMKCSAgc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYwoJICBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcAoJICBzeXMvZHZiL2dzdGR2YnNyYy5jCgkgIHN5cy9zaG0vZ3N0c2htc3JjLmMKCSAgc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jCgkgIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYwoJICB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0X2VsZW1lbnRfcHJpbnRfcHJvcGVydGllcy5jCgkgIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAxMi0wMy0yOSAxNjowODozNCArMDEwMCAgdXJhZXVzIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcG9ydGVkIHBsdWdpbnMgdG8gc3BlYyBmaWxlCgoyMDEyLTAzLTI4IDEyOjQ5OjU0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB1cGRhdGUgZm9yIGJ1ZmZlciBjaGFuZ2VzCgoyMDEyLTAzLTI3IDE1OjEzOjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJICBvcHVzOiBSYW5rIHJ0cCBwYXkvZGVwYXkKCSAgVGhpcyB3YXkgdGhleSBjYW4gYmUgYXV0by1wbHVnZ2VkLgoKMjAxMi0wMy0yNyAwOTozNjoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSAgYmFzZWNhbWVyYWJpbnNyYzogQWRkICQoR1NUX1BMVUdJTlNfQkFTRV9MSUJTKSB0byB0aGUgbGlua2VyIGZsYWdzCgoyMDEyLTAzLTI2IDEyOjEzOjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgUmVwbGFjZSBtYXN0ZXIgd2l0aCAwLjExCgoyMDEyLTAzLTIzIDE4OjM2OjIxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogbWVtb3J5IGhhbmRsaW5nIGNsZWFudXAKCSAgRG9uJ3QgbGVhayB0aGUgQ1NvdW5kRmlsZS4gVXNlIGRlZmluZSBmb3IgY29tbWVudCBidWZmZXIgc2l6ZSBhbmQgZW5zdXJlIGl0IGlzIDAKCSAgdGVybWluYXRlZC4KCjIwMTItMDMtMjMgMTg6MTg6MDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGUuYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbHRlOiBjb21tZW50IGNsZWFudXAKCSAgUmVtb3ZlIGNvbW1lbnRlZCBvdXQgY29kZSBmb3IgYSBmbGl0ZXN5bnRoIHRoYXQgd2UgZG9uJ3QgaGF2ZSBpbiBnaXQgYW55d2F5LiBBZGQKCSAgYSBjb21tZW50IHJlZ2FyZGluZyB0aGUgZmxpdGUgdm9pY2VzLgoKMjAxMi0wMy0yMyAxODoxNjowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IHdvcmsgYXJvdW5kIG1lbW9yeSB0cmFzaGluZyBpbiBsaWJtb2RwbHVnICgwLjguNykKCSAgQWxsb2NhdGUgZG91YmxlIHNpemVkIGJ1ZmZlcnMuIEFsc28gYWRkIG1vcmUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMjMgMTM6MDY6MTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmg6CgkgIHNobXNpbms6IE1ha2UgYnVmZmVyLXRpbWUgc2lnbmVkIHRvIGRlYWwgd2l0aCBiYWNrd2FyZCBqdW1wcyBpbiB0aW1lc3RhbXBzCgoyMDEyLTAzLTIzIDEzOjA2OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG1zaW5rOiBNYWtlIGJ1ZmZlci10aW1lIHNpZ25lZCB0byBkZWFsIHdpdGggYmFja3dhcmQganVtcHMgaW4gdGltZXN0YW1wcwoKMjAxMi0wMy0yMiAxNTo1NTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4yID09PQoKMjAxMi0wMy0yMiAxNTo1MjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjExLjIKCjIwMTItMDMtMjEgMjM6MDQ6MzEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSUNvbmZpZ3VyYXRpb24uaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURlY2tDb250cm9sLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElEaXNjb3ZlcnkuaDoKCSogc3lzL2RlY2tsaW5rL29zeC9EZWNrTGlua0FQSURpc3BhdGNoLW9zeC5jcHA6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElNb2Rlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJU3RyZWFtaW5nLmg6CgkqIHN5cy9kZWNrbGluay9vc3gvRGVja0xpbmtBUElUeXBlcy5oOgoJKiBzeXMvZGVja2xpbmsvb3N4L0RlY2tMaW5rQVBJVmVyc2lvbi5oOgoJICBkZWNrbGluazogQWRkIGRlY2tsaW5rIGRpc3BhdGNoIGNvZGUgZm9yIE9TL1gKCjIwMTItMDMtMjEgMTM6MjM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214ZmRlbXV4LmM6CgkgIHRlc3RzOiB1cGRhdGUgZm9yIG1lbW9yeSBhcGkgY2hhbmdlcwoKMjAxMi0wMy0yMSAwOTo0MTowOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHJhd3BhcnNlOiBmaXggYmF5ZXIgY2FwcwoKMjAxMi0wMy0yMCAyMDowNzoxMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBQcmV2ZW50IGFjY2VzcyB0byB0aGUgdHJhbnNmb3JtIG1hcCB3aGVuIGl0IGlzIG51bGwKCSAgQ2hlY2sgaWYgdGhlIG1hcCBkb2Vzbid0IGV4aXN0IHdoZW4gcmVjZWl2aW5nIGEgbmV3IGNhcHMgYW5kIGNyZWF0ZQoJICBhIG5ldyBvbmUuIFRoaXMgcHJldmVudHMgdGhhdCB0aGUgdHJhbnNmb3JtIGZ1bmN0aW9ucyB0cnkgdG8gYWNjZXNzCgkgIHRoZSBtYXAgd2hlbiBpdCBkb2Vzbid0IGV4aXN0LgoKMjAxMi0wMy0yMCAxOToxOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgc29tZSBtb3JlIGxvZyBtZXNzYWdlcwoKMjAxMi0wMy0yMCAxNzozMjowMCAtMDMwMCAgT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IGF2b2lkIHJlc2V0aW5nIGNhcHMgdG8gdGhlIHNhbWUgdmFsdWUKCSAgUmVkdWNlcyBjYXB0dXJlIGxhdGVuY3kgd2hlbiB0aGUgbmV3IGNhcHMgYXJlIHRoZSBzYW1lIGFzIHRoZSBvbGQKCSAgb25lLCBhdm9pZGluZyByZXNldHRpbmcgdGhlIHNvdXJjZSBzdGF0ZSBmb3IgYSBmb3JjZWQgcmVuZWdvdGlhdGlvbi4KCjIwMTItMDMtMjEgMDA6MTc6NDcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgd2luc2NyZWVuY2FwOiBGaXggY29tcGlsaW5nIHdpdGggbWluZ3cKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjUwNQoKMjAxMi0wMy0yMCAyMDoyMTo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAyMDoyMTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgcmF3cGFyc2U6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0yMCAxNjo0NDoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogYWRkIHNvbWUgY2hhbm5lbCBtYXAgZGVidWcKCjIwMTItMDMtMjAgMTY6MzQ6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogb3B0aW1pemUgY2hhbm5lbCByZW1hcCwgYXZvaWQgcG90ZW50aWFsIG1lbWNweQoJICBDb21iaW5lIHRoZSBjaGFubmVsIHJlbWFwIGFuZCBjb3B5IGluIG9uZSBvcGVyYXRpb24uIENhbGN1bGF0ZSB0aGUgY2hhbm5lbCByZW1hcAoJICB0YWJsZSBvbmx5IG9uY2UsIG1ha2UgYSBzaG9ydGN1dCB3aGVuIHdlIGFyZSBub3QgZG9pbmcgYW55IHJlbWFwcGluZy4KCjIwMTItMDMtMjAgMTU6Mzg6MzMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMub3JjOgoJICBvcmM6IGRvbid0IGNvbXBpbGUgZXZlcnl0aGluZyBhdCBzdGFydHVwCgoyMDEyLTAzLTE5IDIyOjU4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgc3lzOiBzb3J0IHN1YmRpcnMgaW4gTWFrZWZpbGUgYWxwaGFiZXRpY2FsbHkKCjIwMTItMDMtMTkgMjM6NDk6MTcgKzAyMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogc3lzL01ha2VmaWxlLmFtOgoJICB3aW5zY3JlZW5jYXA6IEludGVncmF0ZSBpbnRvIGF1dG90b29scyBidWlsZCBzeXN0ZW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjAzMQoKMjAxMi0wMy0xOCAyMzoxNToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBHU1RfQkFTRV9MSUJTIGFscmVhZHkgY29udGFpbnMgLWxnc3RiYXNlLTAuMTAKCjIwMTItMDMtMTggMTQ6NDM6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2FkcGNtZGVjL01ha2VmaWxlLmFtOgoJICBhZHBjbWRlYzogQWRkIC1sZ3N0YmFzZS0wLjEwCgoyMDEyLTAzLTE4IDE4OjMzOjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogdXNlIG5ldyBzdHlsZSBhdWRpbyBjYXBzCgkgIEFsc28gZG8gbm90IHByZXRlbmQgdG8gbmVnb3RpYXRlIG91dHB1dCBjYXBzIHdoZW4gdGhlcmUKCSAgaXMgbm90IG11Y2ggaW4gb3V0cHV0IHRvIGJlZ2luIHdpdGguCgoyMDEyLTAzLTE4IDE4OjMyOjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTEKCjIwMTItMDMtMTggMTg6MzI6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0YXVkaW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0c2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSAgc2VnbWVudGNsaXA6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMy0xOCAxODozMjo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkqIGV4dC9iejIvZ3N0YnoyZW5jLmM6CgkgIGJ6MjogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDE4OjMyOjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSAgcmVtb3Zlc2lsZW5jZTogcG9ydCB0byAwLjExCgoyMDEyLTAzLTE4IDAxOjE4OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogZml4IGJ1aWxkIGFmdGVyIGJhc2UgdHJhbnNmb3JtIGNoYW5nZXMKCjIwMTItMDMtMTggMDA6NTE6MzIgKzAwMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGZpeCBzdHJ1Y3R1cmUgbGVhawoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcyMjk0CgoyMDEyLTAzLTE3IDE1OjA5OjIxICswMTAwICBOaWNvbGEgTXVyaW5vIDxuaWNvbGEubXVyaW5vQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSAgb3BlbmN2OiBmaXggbWVtb3J5IGxlYWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjI5NQoKMjAxMi0wMy0xNSAyMjoxMjo1OSArMDEwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IGZpeCByZWdyZXNzaW9uIHNldHRpbmcgd2luZG93IGhhbmRsZSBpbiBwYXVzZS9wbGF5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMTcgMTU6MDc6NDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rc2luazogQWRkIGRldmljZSBwcm9wZXJ0eQoJICBBbHNvIGFkZCBwcm9wZXJ0eSBwcm9iZSBmb3IgZGV2aWNlIHByb3BlcnR5LCBzaW1pbGFyIHRvIGRlY2tsaW5rc3JjLgoKMjAxMS0xMC0zMSAxODo1ODozNCAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IG1ha2Ugc3VyZSB3ZSBjYW4gYWNjZXB0IGNhcHMgYmVmb3JlIHJldHVybmluZyB0cnVlCgkgIGNhcHMgYXJlIGRldGVybWluZWQgYnkgdGhlIHBsdWdpbidzIHByb3BlcnRpZXMsIHNvIHdlIHNob3VsZCBjaGVjayB0aGUKCSAgaW5jb21pbmcgY2FwcyB0byBzZWUgaWYgdGhleSBhZ3JlZS4gIEZpeGVzOiAjNjY3NzIyLgoKMjAxMS0xMC0zMSAxODo1NzoyMiAtMDcwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IGRpc2FibGUgcHVsbCBtb2RlCgkgIGRlY2tsaW5rIGRldmljZSBkb2Vzbid0IHN1cHBvcnQgYW55IHB1bGwgbW9kZSByZWxhdGVkIGZ1bmN0aW9uYWxpdHkuCgkgIGl0J3MgbW9yZSBsaWtlIGEgbGl2ZSBzb3VyY2UsIHlvdSBzZWUuIEZpeGVzOiAjNjY3NzIwLgoKMjAxMi0wMi0xMSAyMjo0OToxMCAtMDgwMCAgYmxha2UgdHJlZ3JlIDxibGFrZUBvYmxvbmcuY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IHB1c2ggbmV3IG5ldyBzZWdtZW50IGV2ZW50IHRvIGFsbCBwYWRzCgkgIFRha2UgY2FyZSB0byBwdXNoIHRoZSBldmVudCB0byBhbGwgcGFkcywgYnV0IGZhdm9yIHRoZSB2aWRlbyBzcmMgcGFkLgoJICBGaXhlczogIzY2NzcxNi4KCjIwMTItMDMtMTcgMTE6NDE6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbmtzcmM6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LiAgRml4IG1lbWxlYWsgcmVsZWFzaW5nIHJlc291cmNlcy4KCjIwMTItMDMtMTcgMTE6Mzk6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTEwLTMxIDE4OjU2OjIzIC0wNzAwICBibGFrZSB0cmVncmUgPGJsYWtlQG9ibG9uZy5jb20+CgoJICBkZWNrbGlua3NyYzogaGFuZGxlIGZsb3cgcmV0dXJuIHByb3Blcmx5IGFuZCBwcm92aWRlIGJldHRlciBtZXNzYWdlCgkgICogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCjIwMTItMDMtMDcgMTk6MjI6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgcHJvcGVydHkgcHJvYmluZwoJICBSZW5hbWVzIHRoZSBzdWJkZXZpY2UgcHJvcGVydHkgdG8ganVzdCBkZXZpY2UsIGFuZCBoYXMgaXQKCSAgcmV0dXJuIHRoZSBudW1iZXIgb2YgZGV2aWNlcyBpbiB0aGUgc3lzdGVtIGluIHJlc3BvbnNlIHRvCgkgIGEgcHJvYmUuIFRoaXMgaXMgdXNlZnVsIGJvdGggZm9yIHVzaW5nIG11bHRpcGxlIGNhcHR1cmUKCSAgY2FyZHMsIGFuZCBmb3IgZGV0ZWN0aW5nIHdoZXRoZXIgaXQncyB3b3J0aCBhZGRpbmcgdGhlCgkgIGVsZW1lbnQgdG8gYSBwaXBlbGluZS4KCSAgQWxzbyBjbGVhbnMgdXAgdGhlIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCjIwMTItMDMtMTcgMTE6NDU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNoYWluIHF1ZXJ5L2V2ZW50IGZ1bmN0aW9ucwoJICBDaGFpbiB1cCB0byBwYXJlbnQgY2xhc3MuICBUaGlzIGZpeCBzaG91bGQgYmUgZG9uZSB0byBhbGwgb2YgdGhlCgkgIHRlbXBsYXRlcy4KCjIwMTItMDMtMTcgMTE6MzU6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ0ZXN0LmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCSAgVGhlIGNoYW5uZWwgcHJvcGVydHkgYWxsb3dzIG11bHRpcGxlIGludGVyc3JjL3NpbmsgcGFpcnMgdG8gZmluZAoJICBlYWNoIG90aGVyLiAgSXQncyBhIGZyZWUtZm9ybSB0ZXh0IHN0cmluZyB0aGF0IG11c3QgbWF0Y2ggYW1vbmcKCSAgdmFyaW91cyBpbnRlciBlbGVtZW50cy4gIEFsc28gZml4ZWQgdXAgZG9jdW1lbnRhdGlvbiBhbmQgbGF0ZW5jeQoJICBoYW5kbGluZy4KCjIwMTItMDMtMTcgMTY6MDk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC10ZW1wbGF0ZS12aWRlbzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXRlbXBsYXRlLXZpZGVvOgoJICBnc3QtZWxlbWVudC1tYWtlcjogZml4IC10ZW1wbGF0ZS12aWRlbyBjYXBzIHN0cmluZwoJICBEb24ndCBmb3JnZXQgc2VwYXJhdG9yLgoKMjAxMi0wMy0xNyAxNjowNToyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlLXZpZGVvOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGUtdmlkZW86CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHZpZGVvIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIGl0IGluIHZpZGVvZmlsdGVyIGNsYXNzCgkgIFdvdWxkIGJlIG5pY2VyIGlmIG9uZSBjb3VsZCBqdXN0IHN1cHBsZW1lbnQgdGhlIGdlbmVyaWMgdGVtcGxhdGUKCSAgZnJvbSB0aGUgZWxlbWVudCB0ZW1wbGF0ZSB0aG91Z2guCgkgIEFsc28sIEkgd291bGQgcmVhbGx5IGhhdmUgbGlrZWQgdG8ganVzdCBhZGQgdGhvc2Ugc2VjdGlvbnMgZnJvbSB0aGUKCSAgcGFkcyB0ZW1wbGF0ZSBpbnRvIHRoZSBlbGVtZW50IHRlbXBsZXQgZGlyZWN0bHkgKHNvIEkgY2FuIGNhdGVyIGZvcgoJICBzcmMgdGVtcGxhdGUgY2FwcyA9PSBzaW5rIHRlbXBsYXRlIGNhcHMpLCBidXQgdGhhdCBkaWRuJ3Qgc2VlbSB0bwoJICB3b3JrLgoKMjAxMi0wMy0xNyAxNTo0OTo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXRlbXBsYXRlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtdGVtcGxhdGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3ZpZGVvZmlsdGVyOgoJICBnc3QtZWxlbWVudC1tYWtlcjogYWRkIHtzcmMsc2lua31wYWQtdGVtcGxhdGUsIHNpbmNlIG1hbnkgYmFzZSBjbGFzc2VzIGNyZWF0ZSBwYWRzIGZvciB1cwoJICBBbmQgdXNlIHRoZW0gaW4gdGhlIHZpZGVvZmlsdGVyIHRlbXBsYXRlLgoKMjAxMi0wMy0xNyAxNToxNjoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy92aWRlb2ZpbHRlcjoKCSAgdG9vbHM6IGFkZCB2aWRlb2ZpbHRlciB0ZW1wbGF0ZSBmb3IgZ3N0LWVsZW1lbnQtbWFrZXIKCjIwMTItMDMtMTcgMTI6NDc6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L21vdGlvbmNlbGxzX3dyYXBwZXIuY3BwOgoJICBvcGVuY3Y6IGZpeCBjb25maWd1cmUgY2hlY2sgYW5kIGJ1aWxkIHdpdGggb3BlbmN2IDIuMQoJICBBQ19DSEVDS19IRUFERVJTKCkgY2FsbHMgYWN0aW9uLWlmLW5vdC1mb3VuZCBhbHNvIGlmIGp1c3Qgb25lIG9mCgkgIHRoZSBoZWFkZXJzIGNoZWNrZWQgZm9yIGlzIG1pc3NpbmcsIHdoaWNoIGlzIG5vdCB3aGF0IHdlIHdhbnRlZC4KCSAgQWxzbywgY2hlY2sgZm9yIGhpZ2hndWlfYy5oIGluc3RlYWQgb2YgaGlnaGd1aS5ocHAuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzIyMjYKCjIwMTItMDMtMTYgMjE6NDc6MzkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIGRvbid0IHBhc3MgcmFuZG9tIHBvaW50ZXJzIHRvIHB1bGxfcmFuZ2UKCjIwMTItMDMtMTYgMTc6MDc6NDYgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogaW5pdGlhbGl6ZSBzb21lIGFyYml0cmFyeSB2YXJpYWJsZSB0aGF0IGdjYy00LjYgY2FuIHRyYWNrIHByb3Blcmx5CgkgIFRoZSBhY2Nlc3MgdG8gdGhlbSBpcyBjbGVhcmx5IGd1YXJkZWQgYnkgdGhlIGJvb2xlYW5zIHRob3VnaC4KCjIwMTItMDMtMTYgMTM6MTQ6NDggKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiBjb3NtZXRpYyBjb2RlIGNoYW5nZXMKCSAgQ2hlY2sgZm9yIHRoZSBhdmFpbGFiaWxpdHkgb2YgdGhlIGRldGVjdG9ycyBpbiB0aGUgcHJvY2Vzc2luZyBmdW5jdGlvbiB0byBhdm9pZAoJICBzZXR0aW5nIHVwIHRoZSBST0lzLiBVc2UgdGhlIGJvb2xlYW5zIGZvciBoYXZlX3h4eCBtb3JlLgoKMjAxMi0wMy0xNiAxMjo1NzowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgb3BlbmN2OiB1c2Ugb3BlbmN2IHByZWZpeCBmcm9tIHBrZ2NvbmZpZyB0byBsb29rdXAgZGF0YWZpbGVzCgkgIERvbid0IGhhcmRjb25kZSAvdXNyIHRvIGxvb2t1cCBkYXRhZmlsZXMgKHN1Y2ggYXMgaGFhciBjYXNjYWRlcykuCgoyMDEyLTAzLTE1IDE3OjEwOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByc25kdmRzcmM6IHBvc3QgYSBtZXNzYWdlIHdpdGggdGl0bGUgbnVtYmVyIGFuZCBkdXJhdGlvbnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MjE2NQoKMjAxMi0wMy0xNiAxMjoxMDoxMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogcmVtb3ZlIGJsYW5rIGxpbmUgaW4gZ3RrLWRvYyBjb21tZW50CgoyMDEyLTAzLTE2IDEyOjA0OjExICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IHNraXAgZGV0ZWN0aW9uIGZvciB1bmF2YWlsYWJsZSBkZXRlY3RvcnMKCjIwMTItMDMtMTUgMjM6MTc6NTUgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogbW92ZSB0aGUgZGV0ZWN0b3IgdG8gYW4gb3duIG1ldGhvZCB0byBoaWRlIHRoZSB1Z2x5IGlmZGVmcwoJICBUaGlzIGltcHJvdmVzIHRoZSByZWFkYWJpbGl0eSBpbiB0aGUgYWN0dWFsIHByb2Nlc3NpbmcgZnVuY3Rpb24uCgoyMDEyLTAzLTE1IDIzOjA4OjAyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkgIGZhY2VkZXRlY3Q6IGFsd2F5cyBzZW5kIGZhY2VkZXRlY3QgbWVzc2FnZQoJICBUaGUgYXBwbGljYXRpb24gbWlnaHQgbGlrZSB0byBrbm93LCB3aGVuIHdlIGRvbid0IHNlZSB0aGUgZmFjZSBhbnltb3JlLgoKMjAxMi0wMy0xNSAyMjo1ODoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogY29kZSBjbGVhbnVwcwoJICBVc2UgZ2xpYiB0eXBlcyBhbmQgc2ltcGx5IGV4cHJlc3Npb25zIGluIHRoZSBtZXNzYWdlIGhhbmRsZXIuCgoyMDEyLTAzLTE1IDIyOjQ5OjUxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBhY2Nlc3MgbWVzc2FnZSBmaWVsZHMgZGlyZWN0bHkKCjIwMTItMDMtMTUgMjI6MjI6MTIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogZG9uJ3Qgc2tpcCBmYWNlcwoJICBTa2lwcGluZyBmYWNlcyBhdCB0aGlzIHBvaW50IG1ha2VzIHVzIGxpZSBhYm91dCB0aGUgbnVtLWJlciBvZiBmYWNlcyBhbmQgYWxzbwoJICBjYXVzZXMgbGVha3MuCgoyMDEyLTAzLTE1IDIyOjExOjMyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIGJ1ZmZlcnBvb2wgY2hhbmdlcwoKMjAxMi0wMy0xNSAyMDozODoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSAgdXBkYXRlIGZvciBhbGxvY2F0aW9uIHF1ZXJ5IGNoYW5nZXMKCjIwMTItMDMtMTUgMTg6Mjg6MDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGNvc21ldGljIGNoYW5nZQoJICBSZW5hbWUgUFJPUF9GSUxFTkFNRSB0byBQUk9QX0xPQ0FUSU9OIHRvIG1hdGNoIHRoZSBuYW1lIG9mCgkgIHRoZSBwcm9wZXJ0eS4gQWRkIHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTItMDMtMTUgMTg6MjY6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBjbGVhciBvdmVybGF5IGlmIHRoZSBmYWNlIGRpc2FwcGVhcnMKCjIwMTItMDMtMTUgMTg6MjE6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBhZGQgc29tZSBsb2NraW5nIGZvciBwcm9wZXJ0aWVzLCBmcmVlIHByZXZpb3VzIGxvY2F0aW9uIHdoZW4gaXQgY2hhbmdlcwoKMjAxMi0wMy0xNSAxODowODowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBkb24ndCBtYWtlIHJzdmdvdmVybGF5IHJlbG9hZCB0aGUgU1ZHIGZvciBldmVyeSBzaW5nbGUgZnJhbWUKCSAgT25seSBzZXQgbG9jYXRpb24gb24gcnN2Z292ZXJsYXkgaWYgaXQgaGFzIGNoYW5nZWQuCgoyMDEyLTAzLTE1IDE3OjQ3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbW92ZSBmYWNlIGhhbmRsaW5nIGludG8gb3duIGZ1bmN0aW9uIGFuZCBoYW5kbGUgMCBmYWNlIGNvdW50CgkgIFdoZW4gYSBmYWNlIGRpc2FwcGVhcnMsIHdlIHNlZW0gdG8gZ2V0IGEgbWVzc2FnZSBmcm9tIGZhY2VkZXRlY3Qgd2l0aAoJICBhIGZhY2UgY291bnQgb2YgMCwgd2hpY2ggd2Ugd2FudCB0byBqdXN0IGlnbm9yZSBpbnN0ZWFkIG9mIHRyeWluZyB0bwoJICBhY2Nlc3MgZmFjZSAjLTEsIHdoaWNoIGNhdXNlcyBuYXN0eSB3YXJuaW5ncy4KCjIwMTItMDMtMTUgMTc6NDI6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkgIGZhY2VvdmVybGF5OiBmaXggcGFkIHRlbXBsYXRlcwoJICBVc2UgZ2VuZXJpYyBhbmQgdW5zcGVjaWZpZmVkIHJnYi9jYXBzIGZvciBub3cuIFRoZSBleGFjdCBjYXBzCgkgIHN1cHBvcnRlZCBkZXBlbmQgb24gdGhlIGZhY2VkZXRlY3QgZWxlbWVudCBhbmQgcnN2Z292ZXJsYXkuIEl0J3MKCSAgbm90IGNsZWFyIGhvdyB0aGlzIHdvcmtlZCBiZWZvcmUsIHNpbmNlIGZhY2VkZXRlY3Qgb25seSBhY2NlcHRzCgkgIDI0LWJpdCBSR0IsIGJ1dCB0aGUgY2FwcyBhZHZlcnRpc2VkIDMyLWJpdCBBUkdCL0JHUkEuIEluIGFueSBjYXNlLAoJICB3ZSBkb24ndCB3YW50IHRvIGZvcmNlIGFueXRoaW5nIHJlYWxseSwgc28gdGhhdCBpZiBhbnkgb2YgdGhvc2UKCSAgZWxlbWVudHMgYWNxdWlyZXMgc3VwcG9ydCBmb3IgYWRkaXRpb25hbCBmb3JtYXRzIHdlIHBpY2sgdGhvc2UgdXAKCSAgYXV0b21hdGljYWxseS4KCjIwMTItMDMtMTUgMTc6MjY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IGZpeCBjcmFzaCBkdWUgdG8gZG91YmxlIGFkYXB0ZXIgdW5yZWYKCjIwMTItMDMtMTUgMTY6NTI6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5LmM6CgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5oOgoJICBmYWNlb3ZlcmxheTogZml4IHdlaXJkIHBhZCBjcmVhdGlvbiBjb2RlCgkgIFRoZSBlbGVtZW50IHdvdWxkIGNyZWF0ZSBub3JtYWwgcGFkcyBpbiBpdHMgaW5zdGFuY2VfaW5pdCBmdW5jdGlvbiwKCSAgYW5kIHRoZW4gbGF0ZXIgaW4gTlVMTC0+UkVBRFkgY3JlYXRlIHRoZSBlbGVtZW50cyBpdCBuZWVkcywgcmVtb3ZlCgkgIHRoZSBwYWRzIGNyZWF0ZWQgaW4gdGhlIGluc3RhbmNlX2luaXQgZnVuY3Rpb24sIGFuZCBhZGQgbmV3IGdob3N0CgkgIHBhZHMgaW5zdGVhZC4gTm90IHdpdGhvdXQgc2F2aW5nIHRoZSBleHRlcm5hbCBwZWVyIHBhZHMgb2YgdGhlIG9sZAoJICBwYWRzIG9mIGNvdXJzZSwgd2hpY2ggaXQgd291bGQgcHJvbXB0bHkgcmUtbGluayB0byB0aGUgbmV3IGdob3N0CgkgIHBhZHMuIERvIGFsbCBvZiB0aGF0IGEgYml0IGRpZmZlcmVudGx5LgoJICBGaXhlcyB0aGUgZ2VuZXJpYy9zdGF0ZXMuY2hlY2sgdW5pdCB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwNTg4CgoyMDEyLTAzLTE1IDE1OjQ3OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9nc3RmYWNlb3ZlcmxheS5jOgoJICBmYWNlb3ZlcmxheTogbWlub3IgY29zbWV0aWMgY2hhbmdlcwoJICBSZW1vdmUgdGVtcGxhdGUgbWFrZXIgY29tbWVudHMsIHVzZSBvdXIgZGVmaW5lcyBmb3IKCSAgcGFja2FnZSBuYW1lIGFuZCBvcmlnaW4uCgoyMDEyLTAzLTE1IDE0OjA4OjI5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSAgdXBkYXRlIGZvciBidWZmZXJwb29sIGFwaSBjaGFuZ2UKCjIwMTItMDMtMTUgMTM6Mzc6MzYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuYzoKCSogc3lzL3B2cjJkL2dzdHB2cmJ1ZmZlcnBvb2wuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2Nocm9lbmMuYzoKCSAgdXBkYXRlIGZvciBtZW1vcnkgYXBpIGNoYW5nZXMKCjIwMTItMDMtMTUgMDA6MTM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svbGlicy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB0ZXN0IGJpbmFyaWVzIGFuZCBzdGFtcCBmaWxlcwoKMjAxMi0wMy0xNSAwMDowNTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvTW90aW9uQ2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmg6CgkgIG9wZW5jdjogbWFrZSBidWlsZCB3aXRoIG9wZW5jdiAyLjMuMSBhcyBpbiBkZWJpYW4gc2lkCgkgIFdoZXJlIGhpZ2hndWkuaCBkb2Vzbid0IGV4aXN0IGFueSBtb3JlLCBidXQgb25seSBvcGVuY3YyL2hpZ2hndWkvaGlnaGd1aS5ocHAuCgkgIEFsc28sIG5vdCBxdWl0ZSBzdXJlIHdoeSB3ZSdyZSBjaGVja2luZyBmb3IgY3ZhdXguaCwgaXQncyBub3QgdXNlZCBhbnl3aGVyZS4KCjIwMTItMDMtMTQgMTk6NTI6MzEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRha2UgcGFkZGluZyBpbnRvIGFjY291bnQKCjIwMTItMDMtMTQgMTc6NDg6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBtcGVnMmVuYzogYWxzbyBjbGVhciBpbml0aWFsaXplZCBtdXRleCBhbmQgY29uZAoKMjAxMi0wMy0xNCAxMToyMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBhZGp1c3QgdG8gc29tZSBtb2RpZmllZCBjYXBzIHJlbGF0ZWQgQVBJIGNoYW5nZXMKCjIwMTItMDMtMTQgMTA6MjQ6MDUgKzAxMDAgIERtaXRyeSBLZXRvdiA8ZGtldG92QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL3dpbnNjcmVlbmNhcC9NYWtlZmlsZS5hbToKCSAgd2luc2NyZWVuY2FwOiBJbnRlZ3JhdGUgaW50byBhdXRvdG9vbHMgYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGJ1ZyAjNjcyMDMxLgoKMjAxMi0wMy0xMyAyMDo1MDowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSAgaW50ZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGdzdC1pbnNwZWN0aW5nIGludGVyYXVkaW97c3JjLHNpbmt9CgkgIFRoZSBjaGFubmVsIHByb3BlcnR5IGlzbid0IGltcGxlbWVudGVkLCBzbyBkb24ndCByZWdpc3RlciBpdC4KCjIwMTItMDMtMDggMDE6NDg6NTYgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIHdheWxhbmRzaW5rOiBGaXggd2FybmluZ3MsIHByb3BlciBzdHJ1Y3R1cmluZywgZGVhZCBjb2RlIHJlbW92YWwsIGFkZGluZyBkb2Mgc2VjdGlvbi4KCjIwMTItMDMtMTMgMTM6MDI6NTQgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBtb3ZlIHNwYyBwbHVnaW4gdG8gTk9OX1BPUlRFRCBsaXN0KEZpeCBidWlsZCBlcnJvcikKCjIwMTItMDMtMTMgMDk6NTQ6MTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHVzZSBnc3RfY2Fwc19tZXJnZSBpbnN0ZWFkIG9mIGdzdF9jYXBzX3VuaW9uCgoyMDEyLTAzLTEyIDE1OjQyOjA0ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdXJlIGd0LT5tYXAgbm90IGZyZWVkIHR3aWNlCgkgIGN1cnJlbnQgY2hlZXNlIGNhbiBjcmVhdGUgc2l0dWF0aW9uIHdoZXJlIGd0LT5tYXAgaXMgZnJlZWQgdHdpY2UuCgkgIFRoaXMgcGF0Y2ggc2V0IG1hcCB0byBudWxsIHRvIGF2b2lkIGl0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxOTEwCgoyMDEyLTAzLTEyIDE3OjA2OjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZm9yIGNhcHMgYXBpIGNoYW5nZQoKMjAxMi0wMy0xMiAxNjo1MToxOSArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IGJ1bXAgR0xpYiByZXF1aXJlbWVudCB0byAyLjMxLjE0CgkgIEZpeGVzIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzE5MTEKCjIwMTItMDItMjggMTY6NDA6MzEgKzAxMDAgIEdpbCBQZWRlcnNlbiA8Z2l0QGdwb3N0LmRrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBhZGQgZmxvYXRpbmcgcG9pbnQgc2VnbWVudCBkdXJhdGlvbiBzdXBwb3J0CgoyMDEyLTAzLTEyIDEyOjIzOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBfbm9ybWFsaXplIGNoYW5nZXMKCjIwMTItMDMtMTIgMTE6NDA6MjAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvY29sb3JzcGFjZS5jOgoJICB0ZXN0czogZml4IGZvciBjYXBzIEFQSSBjaGFuZ2UKCjIwMTItMDMtMTIgMTA6NDQ6MjIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2NvbG9yc3BhY2UuYzoKCSAgZml4IGZvciBfZG9fc2ltcGxpZnkgY2hhbmdlcwoKMjAxMi0wMy0xMSAxOTowNjo1OSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIGZpeCBmb3IgY2FwcyBhcGkgY2hhbmdlcwoKMjAxMi0wMy0xMCAyMDo1Mzo1NCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgRml4IGFuIHVud2FudGVkIGRvdWJsZSBuZWdhdGlvbiBmcm9tIGxhc3QgY29tbWl0CgoyMDEyLTAzLTEwIDE5OjEwOjUyIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgRml4ICdpZ25vcmluZyByZXR1cm4gdmFsdWUgb2YgZnVuY3Rpb24gZGVjbGFyZWQgd2l0aCBjb25zdCBhdHRyaWJ1dGUnCgkgIFRoaXMgYWx3YXlzIGhhcHBlbnMgd2l0aCBHc3RCeXRlUmVhZGVyL1dyaXRlciBhbmQgZnJpZW5kcyB3aGVuCgkgIG5vdCB0YWtpbmcgaW50byBhY2NvdW50IHJldHVybmVkIGJvb2xlYW4gb2YgdGhlIF9yZWFkL193cml0ZSBmdW5jdGlvbnMKCSAgKHdoaWNoIGlzIGFjdHVhbGx5IHdyb25nKS4KCSAgTWFrZSB1c2Ugb2YgdGhlICpfdW5jaGVja2VkIHZhcmlhbnQgYXMgbXVjaCBhcyBwb3NzaWJsZSwgb3IgdGFrZSB0aGUKCSAgcmV0dXJuZWQgdmFsdWUgaW50byBhY2NvdW50LgoKMjAxMi0wMy0xMCAxMTozNjoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IGF2b2lkIHJ1bmF3YXkgbG9vcCB3aGVuIHJlc3luY2luZyBkdXJpbmcgcGFyc2UKCSAgLi4uIGJ5IGNoZWNraW5nIGZvciB0aGUgY29ycmVjdCAoZGVjcmVtZW50ZWQpIHNpemUgdmFyaWFibGUuCgkgIEZpeGVzICM2NzE3NTYuCgoyMDEyLTAzLTA5IDE3OjE2OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCBBQ19MQU5HX1NPVVJDRS1yZWxhdGVkIHdhcm5pbmdzIHdoZW4gZG9pbmcgYXV0b2dlbi5zaAoKMjAxMi0wMy0wMSAxNDo1OTo1NSAtMDMwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBGaXhpbmcgcnRwdnA4IGNvbXBhdGliaWxpdHkgd2l0aCB0aGUgdGhpcmQgZHJhZnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTA3MwoKMjAxMi0wMy0wOCAxMTozMjoyNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG92aWRlb2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vcHVzLmM6CgkgIHRlc3RzOiBmaXggbW9yZSBjYXBzCgoyMDEyLTAzLTA3IDE3OjE0OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSAgb3B1czogcG9ydCB0byB1cGRhdGVkIDAuMTEKCjIwMTItMDMtMDcgMTA6MTg6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogcG9ydCB0byAwLjExCgoyMDEyLTAzLTA3IDEyOjU5OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogb25seSByZXF1ZXN0IGFuZCBwcm9jZXNzIDEgZnJhbWUgYXQgYSB0aW1lCgkgIC4uLiBzaW5jZSBpdCBpcyBzcGVjaWZpZWQgaW4gX2ZpbmlzaF9mcmFtZSB0aGF0IGlucHV0IGJ1ZmZlciBtYXkgYmUgaW52YWxpZGF0ZWQKCSAgYWZ0ZXIgY2FsbGluZyBpdCwgYW5kIGlzIGFzIHN1Y2ggbm90IHJlbGlhYmx5IGF2YWlsYWJsZSBmb3IgZnVydGhlciBlbmNvZGluZy4KCSAgQWxzbywgcmVxdWVzdGluZyBvciBhbGxvd2luZyBzZXZlcmFsIGZyYW1lcyBpcyBvbmx5IHVzZWZ1bCBpZiBzdWJjbGFzcyBpbnRlbmRzCgkgIHRvIHByb2Nlc3MgdGhlc2UgImluIDEgcnVuIiAoYXMgaW4sIDEgb3V0cHV0IGJ1ZmZlciksIG5vdCBmb3IgaGF2aW5nIGFub3RoZXIKCSAgKGlubmVyKSBsb29wIGluIHN1YmNsYXNzIHdoZXJlIHRoZSBiYXNlY2xhc3Mgb25lIHdpbGwgZG8ganVzdCBmaW5lLgoKMjAxMi0wMy0wNyAxMjo1NTo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGNvbmZpZ3VyZSBiYXNlY2xhc3MgcmVxdWVzdGVkIHNhbXBsZXMgcmVhbGx5IGluIHNhbXBsZXMKCSAgLi4uIGFzIG9wcG9zZWQgdG8gYnl0ZXMuCgoyMDEyLTAzLTA2IDE4OjQ5OjExICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgdmlkZW86IFVwZGF0ZS9hZGQgZG9jcwoKMjAxMi0wMy0wNiAxODoxMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgoyMDEyLTAzLTA2IDE4OjMzOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuaDoKCSAgc2lyZW5kZWM6IHBvcnQgdG8gYXVkaW9kZWNvZGVyCgoyMDEyLTAzLTA2IDE4OjMzOjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTItMDMtMDYgMTY6MTE6NTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTY6MTE6MzAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiB1c2UgYmFzZSBjbGFzcyB0YWcgaGFuZGxpbmcgaGVscGVyCgkgIC4uLiBzbyBhcyB0byBlbnN1cmUgdGhlc2UgdG8gYmUgaGFuZGxlZCBhbmQgc2VudCBhdCBwcm9wZXIgdGltZS4KCjIwMTItMDMtMDYgMTg6MzI6MDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBkY2NwOiBhdm9pZCBpbmRlZmluaXRlIGxvb3BpbmcgdXBvbiBlcnJvcgoJICAuLi4gYW5kIGZpeCAndW5pbml0aWFsaXplZCcgY29tcGlsYXRpb24gd2FybmluZyBhcyB3ZWxsLgoKMjAxMi0wMy0wNiAxNToyMToxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCAnYXJndW1lbnQgdG8gJ3NpemVvZicgaW4gJ21lbXNldCcgY2FsbCBpcyB0aGUgc2FtZSBleHByZXNzaW9uIGFzIHRoZSBkZXN0aW5hdGlvbicgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1Nzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSAgZ3NldHRpbmdzOiBGaXggJ2lmIHN0YXRlbWVudCBoYXMgZW1wdHkgYm9keScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1NjoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogRml4ICdpbXBsaWNpdCBjb252ZXJzaW9uIGZyb20gZW51bWVyYXRpb24gdHlwZSAnRGlyZWN0UmVzdWx0JyB0byBkaWZmZXJlbnQgZW51bWVyYXRpb24gdHlwZSAnREZCUmVzdWx0JycgY29tcGlsZXIgd2FybmluZwoJICBXZSdyZSBub3QgY2hlY2tpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiB0aGF0IGZ1bmN0aW9uIGFueXdheS4KCjIwMTItMDMtMDYgMTQ6NTE6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybDogRml4ICdlcXVhbGl0eSBjb21wYXJpc29uIHdpdGggZXh0cmFuZW91cyBwYXJlbnRoZXNlcycgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo1MToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogVXNlIGNvcnJlY3QgZW51bSB0eXBlIGZvciByZXR1cm4gdmFsdWUKCjIwMTItMDMtMDYgMTQ6NTA6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogRml4IGxvb3AgdG8gbm90IHJlYWQgYmVmb3JlIHRoZSB2YWxpZCBtZW1vcnkgYXJlYQoKMjAxMi0wMy0wNiAxNDo0NzoxNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJICByZW1vdmVzaWxlbmNlOiBGaXggJ2FyZ3VtZW50IHRvICdzaXplb2YnIGluICdtZW1zZXQnIGNhbGwgaXMgdGhlIHNhbWUgZXhwcmVzc2lvbiBhcyB0aGUgZGVzdGluYXRpb24nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDY6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4ICdjb21wYXJpc29uIG9mIHVuc2lnbmVkIGV4cHJlc3Npb24gPj0gMCBpcyBhbHdheXMgdHJ1ZScgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggJ3ZhcmlhYmxlICdwaWQnIGlzIHVuaW5pdGlhbGl6ZWQgd2hlbiB1c2VkIGhlcmUnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6NDM6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggJ2V4cHJlc3Npb24gcmVzdWx0IHVudXNlZCcgY29tcGlsZXIgd2FybmluZwoKMjAxMi0wMy0wNiAxNDo0MTowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkgIGRjY3A6IEZpeCAnY29tcGFyaXNvbiBvZiB1bnNpZ25lZCBleHByZXNzaW9uIDwgMCBpcyBhbHdheXMgZmFsc2UnIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTItMDMtMDYgMTQ6Mzg6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNlYXVkaW92aXN1YWxpemVyOiBGaXggJ2NvbXBhcmlzb24gb2YgdW5zaWduZWQgZXhwcmVzc2lvbiA+PSAwIGlzIGFsd2F5cyB0cnVlJyBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAzLTA1IDEyOjQ2OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IEhhbmRsZSByb2xsb3ZlciBpbiBvZmZzZXQgY2FsY3VsYXRpb25zCgoyMDEyLTAzLTA1IDEyOjQzOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIHgtcmF3LWJheWVyIC0+IHgtYmF5ZXIKCjIwMTItMDMtMDUgMTI6MDM6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB1c2UgbmV3IHN0eWxlIGNhcHMKCjIwMTItMDMtMDUgMTE6Mjc6NTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogcHJpbnRmIGZpeAoKMjAxMi0wMy0wNSAxMDoxNDo0NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvVE9ETzoKCSAgdHNkZW11eDogVXBkYXRlIFRPRE8KCjIwMTItMDMtMDUgMDk6NDY6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN3aXRjaCByYW5rIG9mIG1wZWd0c2RlbXV4IGFuZCB0c2RlbXV4CgkgIE1vcmUgZWZmb3J0IGhhcyBiZWVuIHB1dCBsYXRlbHkgaW4gdHNkZW11eCBhbmQgd29ya3MgaW4gbW9yZSB1c2UgY2FzZXMKCjIwMTItMDMtMDUgMDk6Mzg6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUHVzaCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlCgkgIFdoZW4gdGhlIFBFUyBoZWFkZXIgdGVsbHMgdXMgaG93IGJpZyB0aGUgb3V0Z29pbmcgcGFja2V0IGlzLCBwdXNoIHRoZQoJICBwYWNrZXQgZG93bnN0cmVhbSBhcyBzb29uIGFzIHdlIGhhdmUgdGhlIHNwZWNpZmllZCBzaXplIGluc3RlYWQgb2Ygd2FpdGluZwoJICBmb3IgdGhlIGJlZ2lubmluZyBvZiB0aGUgbmV4dCBwYWNrZXQuCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgcmVtb3ZlcyBpc3N1ZXMgd2l0aCB2ZXJ5IHNwYXJzZSBzdHJlYW1zIChsaWtlIHN1YnRpdGxlcwoJICBhbmQgc3VicGljdHVyZXMpLgoKMjAxMi0wMy0wNCAyMTo1NDowOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNyYy5jOgoJICBzaG06IGFkZCBtaW5pbWFsIGRvYyBibG9icwoKMjAxMi0wMi0yOCAyMTowMDoyNCArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSAgd2F5bGFuZHNpbms6IEZpeCBpbiBzaGVsbF9zdXJmYWNlX3NldF9mdWxsc2NyZWVuCgoyMDEyLTAyLTE2IDIyOjI3OjIzICswMjAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5jOgoJKiBleHQvd2F5bGFuZC9nc3R3YXlsYW5kc2luay5oOgoJICB3YXlsYW5kc2luazogTW9yZSBmaXhlcyAtLSB1cGRhdGUgdG8gV2F5bGFuZCAwLjg1IHByb3RvY29sIC0tIEFkZGVkIHNoZWxsIHN1cmZhY2UgLS0gQWRkZWQgZm9ybWF0IHF1ZXJ5IGZvciBzaG0gZm9ybWF0IC0tIENyZWF0ZSB0aGUgd2luZG93IGJhc2VkIG9uIHdpZHRoIGFuZCBoZWlnaHQgb2YgdmlkZW8gZXh0cmFjdGVkIGZyb20gdXBzdHJlYW0gY2Fwcy4KCjIwMTEtMTEtMDIgMTY6MjM6MDIgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmM6CgkqIGV4dC93YXlsYW5kL2dzdHdheWxhbmRzaW5rLmg6CgkgIFVwZGF0ZSB3aXRoIG5ldyBBUElzIGluIHdheWxhbmQtY2xpZW50LgoKMjAxMS0xMS0wMiAxMzo1MToxMyArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgTW9yZSBGaXhlczogKiBBZGRpbmcgYnVmZmVyX2FsbG9jICogcGVyZm9ybSBidWZmZXJfZGFtYWdlIGJlZm9yZSBzdXJmYWNlX2F0dGFjaCAqIEZpeCB0eXBvLCBSZW1vdmUgRGVhZCBjb2RlIGV0Yy4KCjIwMTEtMTEtMDIgMTE6MDI6MTEgKzAyMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvd2F5bGFuZC9NYWtlZmlsZS5hbToKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuYzoKCSogZXh0L3dheWxhbmQvZ3N0d2F5bGFuZHNpbmsuaDoKCSAgSW5pdGlhbCBDb21taXQ6IEFkZGluZyBXYXlsYW5kIFZpZGVvIFNpbmsKCjIwMTEtMTItMTMgMjM6NDM6NTkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IHNlbmQgZHVyYXRpb24gbWVzc2FnZSBvbiBkdXJhdGlvbiB1cGRhdGVzCgkgIFdoZW4gd2Uga25vdyBhIG5ldyBkdXJhdGlvbiwgcmVwb3J0IGl0LiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMS0xMi0xMyAxMDoyNjo1MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyczogcGxhbm5pbmcgKyBleGFtcGxlIHVwZGF0ZQoKMjAxMi0wMy0wMyAxOTowMzoxMSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9NYWtlZmlsZS5hbToKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJICBhcHBsZW1lZGlhOiBwb3J0IHZ0ZGVjCgoyMDEyLTAzLTAzIDE4OjU3OjA3ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBzaWduYXR1cmUgb2YgQ01TYW1wbGVCdWZmZXJDcmVhdGUgYW5kIENNQmxvY2tCdWZmZXJDcmVhdGVXaXRoTWVtb3J5QmxvY2sKCSAgQ2hhbmdlIGRhdGEgdHlwZSBmb3IgY291bnRlcnMgcGFzc2VkIG9uIHRoZSBzdGFjayBmcm9tIFVJbnQzMiB0byBzaXplX3QuIEZpeGVzCgkgIDY0Yml0IGJ1aWxkcy4KCjIwMTItMDMtMDIgMDg6MTM6MTAgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY21hcGkuaDoKCSAgYXBwbGVtZWRpYTogdXBkYXRlIGZvcm1hdCBkZXNjcmlwdGlvbiBoZWxwZXIgc2lnbmF0dXJlCgkgIFVwZGF0ZSB0aGUgRmlnVmlkZW9Gb3JtYXREZXNjcmlwdGlvbkNyZWF0ZVdpdGhTYW1wbGVEZXNjcmlwdGlvbkV4dGVuc2lvbkF0b20KCSAgc2lnbmF0dXJlIHRvIG1hdGNoIHRoZSBpbXBsZW1lbnRhdGlvbiBvbiBPU1ggTGlvbi4KCjIwMTItMDMtMDIgMjE6NDE6MzkgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2QzZC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBmaXggY29tcGlsZXIgd2FybmluZ3MgYW5kIGJ1aWxkIGZhaWx1cmUgd2l0aCBtaW5ndwoJICBzaGFyZWQuZDNkZGV2IHdhcyByZW1vdmVkIGEgd2hpbGUgYmFjaywgbm90IHN1cmUgaG93IHRoaXMgc3RpbGwKCSAgY29tcGlsZXMgZm9yIGFueW9uZSAodHBtKS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MzcxOAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwMTQzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MDUKCjIwMTItMDMtMDMgMTU6NTc6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBBU19MSUJUT09MIGFuZCBidW1wIHZlcnNpb24gZm9yIEFCSSBjaGFuZ2UgaW4gaC4yNjQgY29kZWMgcGFyc2VyCgkgIEJhY2twb3J0ZWQgZnJvbSB0aGUgMC4xMCByZWxlYXNlIGJyYW5jaCwgd2hlcmUgdi4yMyB3YXMgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTIwMwoKMjAxMi0wMy0wMiAxMTo0NTo0MSArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCBudW1iZXIgb2YgZW11bGF0aW9uIHByZXZlbnRpb24gYnl0ZXMgaW4gc2xpY2VfaGVhZGVyKCkuCgkgIFNvbWUgaGFyZHdhcmUgdmlkZW8gZGVjb2RlIGFjY2VsZXJhdGlvbiBBUEkgKFZBLUFQSSwgRFhWQSkgcmVxdWlyZQoJICBhIGJpdCBjb3VudCB0byB0aGUgZmlyc3QgbWFjcm9ibG9jaywgbWludXMgdGhlIG51bWJlciBvZiBlbXVsYXRpb24KCSAgcHJldmVudGlvbiBieXRlcy4gU28sIGluc3RlYWQgb2YgaGF2aW5nIHRoZSBjb25zdW1lciBvZiB0aGUgbGlicmFyeQoJICBzY2FuIHRoZSBzbGljZV9oZWFkZXIoKSBhZ2FpbiwganVzdCByZWNvcmQgdGhhdCBudW1iZXIgd2hpbGUgcGFyc2luZy4KCSAgU2lnbmVkLW9mZi1ieTogR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcxMjAzCgoyMDEyLTAzLTAzIDE1OjQ3OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIHRzZGVtdXg6IGZpeCBjb25mdXNpbmcgdmFyaWFibGUgbmFtZQoKMjAxMi0wMy0wMiAxNzoxMTozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggc2VnbWVudCBzdGFydCBwb3NpdGlvbgoJICBJZiB3ZSAqcmVhbGx5KiBjYW4ndCBmaWd1cmUgb3V0IHRoZSBmaXJzdCBzdGFydCBwb3NpdGlvbiwgdGhhdCBtb3N0CgkgIGxpa2VseSBtZWFucyB0aGUgZGF0YSB0byBwdXNoIG91dCBkb2Vzbid0IGhhdmUgYW55IHRpbWVzdGFtcC4KCSAgVXNlIGEgZGVmYXVsdCB2YWx1ZSBvZiAwIHRoZW4KCjIwMTItMDMtMDIgMTc6MTA6MjggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRmx1c2ggb3V0IHRoZSBwYWNrZXRpemVyIG9uIGZsdXNoaW5nIHNlZWtzCgkgIC4uLiBlbHNlIHdlIGVuZCB1cCB3aXRoIGJvZ3VzIGRhdGEvb2Zmc2V0cwoKMjAxMi0wMi0yOSAxMToxNDoxNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkcyBvbmx5IHdoZW4gcmVjZWl2aW5nIGRhdGEgZm9yIHRoZSBzdHJlYW0KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MDkyMQoKMjAxMi0wMy0wMiAxNTozNzo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgIGQzZHZpZGVvc2luazogYWRkIG1pc3NpbmcgZGlyZWN0eCBoZWFkZXJzCgoyMDEyLTAzLTAyIDExOjA3OjQ3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBsZXZlbCBjb2RlCgkgIFZhbGlkIHJhbmdlcyAgICAgICAgICAgIGFyZSBmcm9tIDQgdG8gMTAKCSAgVmFsaWQgcmFuZ2VzID4+IDEgICAgICAgYXJlIGZyb20gMiB0byA1CgkgIFZhbGlkIHJhbmdlcyA+PiAxIC0gMiAgIGFyZSBmcm9tIDAgdG8gMwoJICAoYW5kIG5vdCBmcm9tIDEgdG8gNCkKCjIwMTItMDMtMDIgMTA6NTQ6NDggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQ2hlY2sgaGFyZGVyIGZvciBwcm9ncmFtIGNoYW5nZXMKCSAgQW5kIGRvbid0IGp1c3QgcmVseSBvbiB0aGUgc2VjdGlvbiBjcmMvdmVyc2lvbl9udW1iZXIgY2hhbmdpbmcgdG8KCSAgaW5kaWNhdGUgdGhhdCB0aGUgcHJvZ3JhbSBhY3R1YWxseSBjaGFuZ2VkLgoKMjAxMi0wMy0wMSAxODo0Njo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXJwb29sLmg6CgkgIHZkcGF1OiByZWxpY2Vuc2UgZm91ciBzb3VyY2UgZmlsZXMgZnJvbSBHUEwzKyB0byBMR1BMMisKCSAgVGhlc2Ugc291cmNlIGZpbGVzIHdlcmUgbWlzdGFrZW5seSBsaWNlbnNlZCBhcyBHUEwzLCB0aGUKCSAgYXV0aG9yIChDYXJsLUFudG9uIEluZ21hcnNzb24pIGhhcyBnaXZlbiBwZXJtaXNzaW9uIHRvCgkgIHJlbGljZW5zZSB0aGVtIHRvIExHUEwyKy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY3MTE0MgoKMjAxMi0wMy0wMSAxODowNToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBSZWZhY3RvciBzZWVrIGFuZCBzZWdtZW50IGhhbmRsaW5nCgkgIEFsbCBjYWxjdWxhdGlvbnMgZ28gdGhyb3VnaCB0aGUgbXBlZ3RzcGFja2V0aXplcgoJICBSZW1vdmUgdW51c2VkIHZhcmlhYmxlcy9jb2RlCgoyMDEyLTAzLTAxIDE3OjU5OjU3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEVycm9yIG91dCBvbiBFT1Mgd2l0aG91dCBhbnkgcGFkCgkgIEF2b2lkcyBlbmRpbmcgdXAgd2l0aCBoYW5naW5nIHBpcGVsaW5lcwoKMjAxMi0wMy0wMSAxNzo1NjozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBPZmZzZXQgY2FsY3VsYXRpb24KCSAgQWxsb3dzIFBDUjw9PlBUUzw9Pm9mZnNldCBlc3RpbWF0aW9uL2NhbGN1bGF0aW9uCgkgIFJpZ2h0IG5vdyB0aGUgY2FsY3VsYXRpb24gaXMgdmVyeSBuYWl2ZSwgYnV0IGNhbiBiZSBleHRlbmRlZCBsYXRlciBvbgoJICB3aXRob3V0IGRpc3J1cHRpbmcgdGhlIGNvZGUgaW4gdHNkZW11eC9tcGVndHNiYXNlCgoyMDEyLTAzLTAxIDE3OjUzOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IGNsb2NrIGZpeCBhbmQgbWlub3IgYWRkaXRpb24KCSAgKiBEb24ndCB0YWtlIGludG8gYWNjb3VudCBwYWNrZXRzIHRoYXQgYXJyaXZlZCBhdCB0aGUgc2FtZSB0aW1lIGFzCgkgIHByZXZpb3VzIG9uZXMgZm9yIGNsb2NrIHNrZXcgZXN0aW1hdGlvbgoJICAqIEFkZCBjb252ZW5pZW5jZSBtZXRob2QgZm9yIHByb2Nlc3NpbmcgdGhlIG5leHQgdHMgcGFja2V0CgoyMDEyLTAyLTI5IDE4OjE5OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIFJldmVydCAibXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDhjYjBlODdmNTYyMzgzNmRkYzM2MWViOTFkY2Y5YjUwYjQ4MDQ4ZTcuCgkgIG1wZWd0c3BhY2tldGl6ZXIgYWxyZWFkeSBjaGVja3MgaWYgaXQncyBhIG5ldyBQTVQgb3Igbm90CgoyMDEyLTAyLTI5IDEwOjMzOjAwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBSZW1vdmUgYWxsIHNlZWtpbmcgY29kZQoJICBJdCB3YXMgbW9yZSB0aGFuIGJvZ3VzCgoyMDEyLTAyLTI5IDE3OjI2OjI4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RzdXJmYWNlbWV0YS5oOgoJICB1cGRhdGUgZm9yIG1ldGFkYXRhIEFQSSBjaGFuZ2VzCgoyMDEyLTAyLTE0IDExOjU3OjAwICswMTAwICBYYXZpZXIgUXVlcmFsdCA8eHF1ZXJhbHRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG9uJ3Qgc2V0IHRoZSBmZXRjaGVyJ3MgbG9jYXRpb24gdHdpY2UKCSAgQ2FsbGluZyBnc3RfZWxlbWVudF9tYWtlX2Zyb21fdXJpIGFscmVhZHkgZG9lcyBpdCBhbmQgZmlsZXNyYwoJICBmYWlscyB3aGVuIHVzaW5nIGZpbGUgcHJvdG9jb2wgaW4gYSBsb2NhdGlvbgoKMjAxMi0wMi0yOCAxNjoyNzo1NSArMDEwMCAgR3VpbGxhdW1lIERlc21vdHRlcyA8Z3VpbGxhdW1lLmRlc21vdHRlc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgQWRkIG1pc3NpbmcgR0xJQl9ESVNBQkxFX0RFUFJFQ0FUSU9OX1dBUk5JTkdTCgkgIFN1cHByZXNzIHdhcm5pbmdzIGFib3V0IGRlcHJlY2F0ZWQgdGhyZWFkaW5nIGFuZCBHVmFsdWVBcnJheQoJICBBUEksIHNvIGdpdCBjb21waWxlcyB3aXRoIC1XZXJyb3IuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NzA5ODIKCjIwMTItMDItMjQgMDk6NTQ6MzUgKzAxMDAgIFhhdmllciBRdWVyYWx0IDx4cXVlcmFsdEBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBmYWlsIGZvciBwbGF5bGlzdHMgc21hbGxlciB0aGFuIGZyYWdtZW50cy1jYWNoZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjcwOTYzCgoyMDEyLTAyLTI4IDExOjM5OjE4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmM6CgkgIHVwZGF0ZSBmb3IgbWV0YWRhdGEgdGFncwoKMjAxMi0wMi0yOCAwODoxMzowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmV2aWRlb2J1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvcGx1Z2luLm06CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgYXBwbGVtZWRpYTogcG9ydCBxdGtpdHZpZGVvc3JjCgoyMDEyLTAyLTI3IDA5OjQ1OjI5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBjYXRjaCBzZWN0aW9uIGxlbmd0aHMgZXh0ZW5kaW5nIHBhc3QgdGhlIGJ1ZmZlciBsZW5ndGgKCSAgVGhpcyBpcyBwcm9iYWJseSB0aGUgY2F1c2UgZm9yIGFuIG9jY2FzaW9uYWwgY3Jhc2ggd2hpbGUgc3RyZWFtaW5nCgkgIE1QRUcuIEJsaW5kIGZpeCBhZnRlciBzdGFyaW5nIGF0IHRoZSBjb2RlIGFuZCBmb2xsb3dpbmcgbG9naWMsIHNvCgkgIG1heSBvciBtYXkgbm90IGZpeCB0aGUgaXNzdWUsIEkgY2Fubm90IHRlc3QuCgkgIChQb3J0IG9mIDQyNzVhNzBjYjU1ZDM3NWFmYTcwMjkxN2Y3MzU5ZWMxMTdlZDQ5ZDQgZnJvbSBtcGVnZGVtdXgpCgoyMDEyLTAyLTI3IDA5OjQyOjI3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBzdXBwb3J0IG1vcmUgY2hhcmFjdGVyIHNldCBlbmNvZGluZ3MKCSAgU3VwcG9ydCBVVEYtMTZCRSwgRVVDLUtSIChLU1gxMDAxKSwgR0IyMzEyIGFuZCBJU08tMTA2NDYvVVRGOCB0ZXh0CgkgIGVuY29kaW5nIGFuZCBmaXhlZCBuZXcgbGluZSBmb3IgbXVsdGlieXRlIGVuY29kaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQyNTcKCSAgKFBvcnQgb2YgOTc1OWQ2NjQwN2YyYmU4ZWMyOTk3NWIwZWZmMzIzMGJiMWRhZTBlZiBmcm9tIHRoZSBtcGVndHNkZW11eAoJICBlbGVtZW50KQoKMjAxMi0wMi0yNyAxMzoxMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBhdWRpb2VuY29kZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoKMjAxMi0wMi0yNiAyMDo0MzozMiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkgIGFkcGNtZGVjOiBsaW5rIHRvIGxpYmdzdGJhc2UKCjIwMTItMDItMjQgMTk6MDg6NDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHRzYmFzZTogRml4IHBhcnNpbmcgb2YgUFNJIHRhYmxlIElEcwoJICAoUG9ydGVkIGZyb20gbXBlZ3RzZGVtdXggZDhmZDg3NGY1MjkwZTQ5MTE0MzcxMjAwNTdlZTg4NWNkYjY4YjRhZikKCjIwMTItMDItMjQgMTU6MjY6MjEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEF2b2lkIHVubGlua2VseSBsZWFrcyBhbmQgc2VnZmF1bHQKCjIwMTItMDItMjQgMTc6NTM6NTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIG5ldyBjbG9jayBza2V3IGVzdGltYXRpb24gZm9yIG91dGdvaW5nIHRpbWVzdGFtcHMKCSAgT25seSB1c2VkIGluIGxpdmUgbW9kZQoKMjAxMi0wMi0yNCAxNzo1MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBWYXJpb3VzIGNvZGUgY2xlYW51cCBhbmQgZGVhZCBjb2RlIHJlbW92YWwKCjIwMTItMDItMjQgMTc6NDc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgbXBlZ3RzcGFja2V0aXplcjogRml4IGlzc3VlcyB3aXRoIHNrZXcgY29kZQoJICAqIEFsd2F5cyB0cnkgdG8gZ2V0IGEgdGltZXN0YW1wIGZvciB0aGUgYWxnb3JpdGhtCgkgICogUmVtb3ZlIGRlYWQgdmFyaWFibGUKCSAgKiBSZXR1cm4gcHJvcGVyIGRlZmF1bHQgdmFsdWUKCjIwMTItMDItMjQgMTc6MDc6NDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBUaW1lc3RhbXAgb3V0cHV0IGJ5IGRlZmF1bHQKCSAgQWxsb3dzIGRvd25zdHJlYW0gZWxlbWVudHMgKGxpa2UgZGVtdXhlcnMgb3IgcGFyc2VycykgdG8gZG8gcmVtb3RlCgkgIGNsb2NrIHJhdGUvc2tldyBlc3RpbWF0aW9uLgoKMjAxMi0wMi0yNCAxMjo1Mzo1MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBmaXggZG9jcyBhbmQgdW5pdCB0ZXN0CgoyMDEyLTAyLTIzIDE0OjQ2OjA5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBFc3RpbWF0ZSBjbG9jayBza2V3IGFuZCByZXRpbWVzdGFtcHMgYnVmZmVycyBtb3JlIHByZWNpc2x5CgkgIEFwcGx5IHRoZSBFUFRMQSBhbGdvdGl0aG0gdG8gZXN0aW1hdGUgY2xvY2sgc2tldy4KCSAgUmV1c2luZyBjb2RlIGZyb20gIC1nb29kL2dzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jCgoyMDEyLTAyLTIxIDExOjEyOjUzIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBDbGVhbiB1cCBBQUMgY2FwcyBtZXNzCgoyMDEyLTAyLTIwIDE3OjQ3OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgdHNkZW11eDogUmVpbmRlbnQgZ3N0bXBlZ2Rlc2MuaAoKMjAxMi0wMi0yMCAxNzozMjoyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFN1cHBvcnQgbW9yZSBEVFMvQUMzIGRlc2NyaXB0b3JzCgoyMDEyLTAyLTIzIDE4OjE3OjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlbW92ZSB1c2VsZXNzIGZpbmFsaXplKCkKCjIwMTItMDItMjQgMTA6MjY6NDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSAgdXBkYXRlIGZvciBtZXRhZGF0YSBjaGFuZ2VzCgoyMDEyLTAyLTI0IDEwOjIxOjMxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9teGYuYzoKCSAgdGVzdHM6IGZpeCBzb21lIGNhcHMKCjIwMTItMDItMjMgMjI6MDQ6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXh1cCBuYXN0eSB0eXBvIGJyZWFraW5nIGNvbXBpbGF0aW9uCgoyMDEyLTAyLTIzIDIxOjE3OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29uc2lkZXIgbmFsX2xlbmd0aF9zaXplIHdoZW4gY29uc3RydWN0aW5nIGNvZGVjX2RhdGEKCSAgRml4ZXMgIzY3MDY5OS4KCjIwMTItMDItMjMgMjE6MTY6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkaXNjYXJkIGZyYW1lIHVwb24gZGVjb2RpbmcgZXJyb3IKCjIwMTEtMTEtMDggMjA6MTk6NDEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgdHNkZW11eDogVXNlIGluY29taW5nIHRpbWVzdGFtcHMgaW4gbGl2ZSBtb2RlCgoyMDExLTExLTA4IDIwOjEyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlcG9ydCBsYXRlbmN5ICg3MDBtcykKCjIwMTEtMTEtMDggMDk6NDQ6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogUXVlcnkgd2hldGhlciB1cHN0cmVhbSBpcyBsaXZlIG9yIG5vdAoKMjAxMi0wMi0yMyAxMTo1NToxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Zpc3VhbGl6ZXJzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNocm9tYXByaW50LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWNlb3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmllbGRhbmFseXNpcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmFnbWVudGVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV2ZXJiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saW5zeXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGF0Y2hkZXRlY3QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlbW92ZXNpbGVuY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc21vb3RoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCdW1wIHZlcnNpb24gYWZ0ZXIgcmVsZWFzZQoKMjAxMi0wMi0yMiAxNTo0MTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIHRlc3Q6IHBvcnQgc2Nocm9lbmMgdW5pdCB0ZXN0CgoyMDEyLTAyLTIyIDExOjQ0OjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IFBvcnQgdG8gMC4xMQoJICBXb3JrcyB3aXRoIHNvbWUgc2FtcGxlIGZpbGVzLiBUaGVyZSBzZWVtcyB0byBiZSBzb21lIHRpbWVzdGFtcGluZyBpc3N1ZSB0aG91Z2gsCgkgIGJ1dCB0aGUgMC4xMCB2ZXJzaW9uIGFsc28gY29tcGxhaW5zIGFib3V0IHRoYXQgdG9vLgoKMjAxMi0wMi0yMSAxODo1Njo0MiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhdm9pZCB0b3VjaGluZyAucG8gZmlsZXMgZHVyaW5nICdtYWtlJwoJICBBIHNpbXBsZSB3b3JrYXJvdW5kIHRvIGRlYWwgd2l0aCBHTlUgZ2V0dGV4dCBhdXRvbWFrZSBpbnRlZ3JhdGlvbgoJICBmYWlsaW5nIHRvIGRlYWwgd2l0aCBnaXQuICBGaXhlcyAjNjY5MjA3CgoyMDEyLTAyLTIyIDAyOjA2OjM4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIG5ldyBtZW1vcnkgYXBpCgoyMDEyLTAyLTIxIDE2OjUzOjM3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICB2aWRlbzogTW9yZSBkb2N1bWVudGF0aW9uCgoyMDEyLTAyLTIxIDE2OjUyOjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogRG9jdW1lbnQgc3RydWN0dXJlcwoKMjAxMi0wMi0yMSAxMDowNjoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTItMDItMjAgMjA6MTE6MTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggdjIxMCB3cml0aW5nIG91dCBvZiBib3VuZHMKCjIwMTItMDItMjAgMTg6NDM6NTEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIEdTVF9FUlJPUgoKMjAxMi0wMi0yMCAxMTo0MjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtcHJvamVjdC1tYWtlcjoKCSAgZ3N0LXByb2plY3QtbWFrZXI6IENyZWF0ZSB0b29scywgcGFzcyBtYWtlIGRpc3RjaGVjawoJICBDcmVhdGUgYSB0b29scyBkaXJlY3RvcnkgZm9yIGFuIGFwcGxpY2F0aW9uLiAgQWRkIHNvdXJjZSBjb2RlCgkgIHN0dWJzIHRvIGFsbG93IHRoZSBwcm9qZWN0IHRvIGNvbXBpbGUgYW5kIHBhc3MgbWFrZSBkaXN0Y2hlY2suCgkgIEFkZCBub3RlcyBpbiBzb3VyY2UgY29kZSB0byB0ZWxsIHRoZSB1c2VyIGhvdyB0byBjcmVhdGUgcGx1Z2luCgkgIG9yIGFwcCBjb2RlIHVzaW5nIHRoZSBvdGhlciAtbWFrZXIgc2NyaXB0cy4KCjIwMTItMDEtMjYgMDY6NTg6NDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTItMDItMjAgMTY6MDc6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jCgoyMDEyLTAxLTI2IDE2OjMyOjE3IC0wNTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1IHNob3VsZCBmb3J3YXJkIHZpZGVvIGNhcHMgZXZlbnQKCjIwMTItMDItMjAgMTQ6MzI6MTIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgQWRkIGxhdGVzdCBmaWxlcyB0byBzcGVjCgoyMDEyLTAyLTIwIDEyOjQyOjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTKSBhbmQgJChHU1RfUExVR0lOU19CQVNFX0xJQlMpIHRvIGZpeCB0aGUgYnVpbGQKCjIwMTItMDItMjAgMTA6NTg6MDkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGdsaWItY29tcGF0LXByaXZhdGUuaCB0byBkaXN0CgoyMDEyLTAyLTE5IDE1OjU0OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1wcm9qZWN0LW1ha2VyOgoJICBnc3QtcHJvamVjdC1tYWtlcjogQ3JlYXRlIGF1dG90b29scyBwcm9qZWN0CgkgIFRoaXMgaXMgYSByZXBsYWNlbWVudCBmb3IgZ3N0LXRlbXBsYXRlIHRoYXQgY3JlYXRlcyBhbiBlbnRpcmUKCSAgYXV0b3Rvb2xzIHByb2plY3QgKGN1c3RvbWl6ZWQgdG8gcGFja2FnZSBuYW1lKSwgYW5kIHBvcHVsYXRlcwoJICBpdCB3aXRoIHRoZSBzb3VyY2UgZm9yIGEgR1N0cmVhbWVyIHBsdWdpbiAoYnV0IG5vIHBsdWdpbiBmZWF0dXJlcywKCSAgdGhvc2UgY29tZSBmcm9tIGdzdC1lbGVtZW50LW1ha2VyKS4gIEZpeGVzOiAjNjY1NzI3LgoKMjAxMi0wMi0xOSAxMjo1NzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAxMi0wMi0xOSAwMDoxNTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGNsYW1wIGludGVybWVkaWF0ZXMgd2hlbiBkaXRoZXJpbmcKCjIwMTItMDEtMjMgMDk6MDU6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuaDoKCSAgZGVja2xpbms6IEFkZCAxMC1iaXQgc3VwcG9ydAoKMjAxMi0wMS0yMyAwOTowMjozNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkgIHNjaHJvOiBBZGQgUkdCIHN1cHBvcnQKCSAgVGhpcyB1c2VzIHRoZSBhdXRvbWF0aWMgWUNvQ2cgY29udmVyc2lvbiBpbnNpZGUgU2Nocm9lZGluZ2VyIHRvCgkgIGVuY29kZS9kZWNvZGUgUkdCLiAgT25seSB3b3JrcyBpbiBpbnRyYS1vbmx5IG1vZGUsIHNpbWlsYXIgdG8gMTAtCgkgIGFuZCAxNi1iaXQsIHNpbmNlIFJHQiBpcyB0ZWNobmljYWxseSBhID44LWJpdCBmb3JtYXQgZm9yIERpcmFjCgkgIHB1cnBvc2VzLiAgVGhpcyBkZXBlbmRzIG9uIHNjaHJvZWRpbmdlci0xLjAuMTIsIHdoaWNoIGlzIHVucmVsZWFzZWQuCgoyMDEyLTAyLTE4IDAwOjAxOjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogYmFjayB0byBkZXZlbG9wbWVudAoKMjAxMi0wMi0xNyAxMjoxNToyNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IE5vdCBhcHBseSB2YXJpb3VzIHRpbWUgdGhlIHNhbWUgUE1UIHRvIGEgcHJvZ3JhbSB3aGVuIHJlcGV0ZWFkCgkgIFNvbWV0aW1lcyB0aGVpciBhcmUgc2V2ZXJhbCB0aW1lcyB0aGUgc2FtZSBQTVQgYXBwbHlpbmcgdG8gYSBzYW1lIHByb2dyYW0gaW4gYSBzdHJlYW0sCgkgIHRzZGVtdXggd2FzIHRvdGFsbHkgYmFmZmxlZCB3aGVuIHRoaXMgd2FzIGhhcHBlbmluZywgd2Ugbm93IGtlZXAgdGhlIG9uZSB3ZQoJICBhbHJlYWR5IGFwcGxpZWQgc28gaXQgd29ya3MgcHJvcGVybHkuCgoyMDEyLTAyLTE2IDA5OjU0OjI0IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICB0c2RlbXV4OiBmaXggZ2xpYiBkZXByZWNhdGlvbgoKMjAxMi0wMi0xNyAxMTowNjowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMS4xID09PQoKMjAxMi0wMi0xNyAxMTowNTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9yby5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zbC5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUkVMRUFTRSAwLjExLjEKCjIwMTItMDItMTcgMDk6MDE6NTYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDEyLTAyLTE2IDE2OjMwOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1dCBzb3VyY2UgdG8gbnVsbCB3aGVuIHJlc2V0dGluZyBjYXBzCgkgIEl0IHNlZW1zIHRoYXQgdjRsMnNyYyBpc24ndCBoYXBweSB3aGVuIHN3aXRjaGluZyBmb3JtYXRzIG9uIHJlYWR5CgkgIHN0YXRlLCBpdCB3b3JrcyB3aGVuIHB1dHRpbmcgaXQgdG8gTlVMTC4gS2VlcCB0aGlzIHdvcmthcm91bmQgaW4KCSAgd3JhcHBlcmNhbWVyYWJpbnNyYyB3aGlsZSB2NGwyc3JjIGlzbid0IGZpeGVkLgoJICBGaXhlcyAjODQ5ODMyCgoyMDEyLTAyLTE2IDE0OjMzOjIwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmMKCSAgZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYwoJICBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYwoKMjAxMi0wMi0xNiAwMToxMjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBQdXQgc291cmNlIGluIE5VTEwgd2hlbiBpdCBmYWlscyBjaGFuZ2luZyBzdGF0ZQoJICBXaGVuIHNvdXJjZSBpcyBiZWluZyByZXNldCB0byBjaGFuZ2UgY2FwcywgY2hlY2sgdGhlIHJldHVybiBvZgoJICB0aGUgc3RhdGUgc3luY2luZyBmdW5jdGlvbiB0byBhdm9pZCBsZWF2aW5nIHRoZSBzb3VyY2UgaW4gYW4KCSAgdW5jb25zaXN0ZW50IHN0YXRlLgoKMjAxMi0wMi0xNiAwMDozMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG9uJ3QgcmV0dXJuIGEgYm9vbGVhbiBmb3IgYSBHc3RGbG93UmV0dXJuCgkgIGZpeGVzIHBsYXliYWNrLgoKMjAxMi0wMi0xNSAxMDozMjoxNyAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQXZvaWQgdGhyb3dpbmcgRkxPV19FUlJPUiBvbiBsYXN0IFBDUiBwcm9jZXNzaW5nIGVycm9yCgkgIEluIHRoZSBjYXNlIG9mIHNjYW5uaW5nIGxhc3QgcGNyLCBlcnJvcnMgYXJlIG5vdCBjcml0aWNhbCwgc28gd2Uga2VlcAoJICB0aGUgc3RyZWFtIGZsb3dpbmcuCgoyMDEyLTAyLTE0IDExOjQ0OjQ4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWRkIEFBQyBsYXRtIHN1cHBvcnQKCjIwMTItMDItMTUgMTE6MDY6NTcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IE1pbm9yIHJlZmFjdG9yaW5nL2NvZGUgY2xlYW5pbmcKCSAgLi4uIGFkZCBzb21lIGRlYnVnZ2luZyBzeW1ib2xzIGluIHRoZSBtZWFuIHRpbWUuCgoyMDEyLTAyLTE1IDE2OjM4OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVtb3ZlIF9jaGFpbiBoYWNrCgkgIEFzIHdlIGNhbiBub3cgcmVseSB1cG9uIGJlaW5nIHBhc3NlZCB1cHN0cmVhbSBkZWxpbmVhdGVkIGRhdGEgaW4KCSAgOjpoYW5kbGVfZnJhbWUoKSwgdGhlIGxhdHRlciBjYW4gYWxzbyBwYXJzZSBhdmMgZm9ybWF0dGVkIGRhdGEKCSAgd2l0aG91dCBoYXZpbmcgdG8gaW50ZXJjZXB0IGJhc2VwYXJzZSdzIGNoYWluIGZ1bmN0aW9uLgoJICBXaGlsZSB0aGlzIGV2aWRlbnRseSByZXF1aXJlcyAyIHNlcGFyYXRlIHBhcnNpbmcgcGF0aHMsIGVhY2ggY2FuCgkgIGJlIHN0cmVhbWxpbmVkIGFjY29yZGluZ2x5LgoKMjAxMi0wMi0xNSAxMTo1OTozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogYWRqdXN0IHRvIHN0YW5kYXJkaXplZCBiYXNlcGFyc2UgZnJhbWUgc3RhdGUgdHJhY2tpbmcKCjIwMTItMDItMTUgMTc6MTQ6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMi0wMi0xNSAxNTowNzozNSArMDEwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggU0VJIHBhcnNpbmcKCSAgLi4uIGluIHRoZSBwcmVzZW5jZSBvZiBlbXVsYXRpb25fcHJldmVudGlvbl90aHJlZV9ieXRlLgoJICBGaXhlcyAjNjY4MzgxLgoKMjAxMi0wMi0xNSAxNDoyOToyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSBwcm9wZXIgTkFMVSBvZmZzZXQgZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICAuLi4gd2hpY2ggaGFzIHRvIGJlIHRoZSBwb3NpdGlvbiBvZiB0aGUgc3RhcnQgY29kZSwgd2hpY2ggaXMgYWxtb3N0IGFsd2F5cwoJICBidXQgbmVlZCBub3QgYmUgNCBieXRlcy4KCjIwMTItMDItMTUgMTM6Mzk6MjkgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IGZpeCBjb21waWxhdGlvbgoKMjAxMi0wMi0xNSAxMzowMjowNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogZG9uJ3QgbGVhayBldmVudAoJICBVbnJlZiB0aGUgZXZlbnQgd2hlbiB3ZSBkb24ndCBjaGFpbiB1cCB0byB0aGUgcGFyZW50CgoyMDEyLTAyLTE1IDEyOjU2OjU1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBjaGFpbiB1cCB0byBwYXJlbnQgZXZlbnQgaGFuZGxlcgoJICBDaGFpbiB1cCB0byB0aGUgcGFyZW50IGV2ZW50IGhhbmRsZXIgdG8gZ2V0IHRoZSBkZWZhdWx0IGJlaGF2aW91ciBpbnN0ZWFkIG9mCgkgIHJldHVybmluZyBGQUxTRS4KCjIwMTItMDItMTQgMTE6MTk6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTI3IDIwOjU4OjQ4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggd2FybmluZ3Mgb24gNjQgYml0IG1pbmd3LXc2NAoJICBnc3RkaXJlY3RkcmF3c2luay5jOjE1NjE6MjQ6IGVycm9yOiBhc3NpZ25tZW50IGZyb20gaW5jb21wYXRpYmxlIHBvaW50ZXIgdHlwZQoJICBnc3RkaXJlY3RkcmF3c2luay5jOjIwMjg6MzogZXJyb3I6IGZvcm1hdCAnJWQnIGV4cGVjdHMgdHlwZSAnaW50JywgYnV0IGFyZ3VtZW50IDggaGFzIHR5cGUgJ3NpemVfdCcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzUyMgoKMjAxMi0wMi0xMyAxODo0NDowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDExOjE2OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBwY2FwcGFyc2U6IGFkanVzdCB0byBtb2RpZmllZCBiYXNlcGFyc2UgQVBJCgoyMDEyLTAyLTEzIDEyOjI2OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4dXAgbWVyZ2UKCjIwMTItMDItMTMgMTQ6MjI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkgIHRlc3RzOiBoMjY0cGFyc2U6IF91bm1hcCBidWZmZXIgdXBvbiBleGl0CgoyMDEyLTAyLTEzIDIzOjA0OjEyICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IFRyaXZpYWwgYnVnIGZpeC4gRG9uJ3QgY29weSBkYXRhIGZyb20gYW4gdW5pbml0ZWQgYnVmZmVyLgoKMjAxMi0wMi0xMiAyMjo1OTo1MiArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSogZ3N0L211bHRpZmRzaW5rL01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmstbWFyc2hhbC5saXN0OgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmg6CgkgIG11bHRpZmRzaW5rOiByZWZhY3RvcmVkIGluIC1iYXNlCgoyMDEyLTAyLTEwIDE2OjUyOjQ2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZXBvcnQgYWZ0ZXIgbWVyZ2UKCjIwMTItMDItMTAgMTY6NDY6NTAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmMKCSAgZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtCgkgIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jCgkgIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYwoJICBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jCgkgIGdzdC9zZHAvZ3N0c2RwZGVtdXguYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmMKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jCgkgIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYwoJICB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmMKCSAgdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYwoKMjAxMi0wMi0xMCAxNDo0NjowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVub2JmdXNjYXRlIGZyYW1lIHBhcnNpbmcgY29kZQoKMjAxMi0wMi0wOCAyMToyMTo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogZml4IGluZGVmaW5pdGUgd2FpdCBhZnRlciBhZGRpbmcgYSBuZXcgZmQgdG8gdGhlIHBvbGwgc2V0CgkgIElmIHRoZSBzZWNvbmQgY2FsbCB0byBfd2FpdCBibG9ja3MsIHdlIHdpbGwgbm90IHNpZ25hbCB0aGUgY29uZGl0aW9uCgkgIHZhcmlhYmxlLCBzbyBlbnN1cmUgdGhhdCBzZWNvbmQgY2FsbCBpcyBub3QgYmxvY2tpbmcuCgkgIFNlZSByYXRpb25hbGUgYW5kIGluZm9ybWF0aW9uIGluIHRoZSBsaW5rZWQgYnVnOgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5Njk3CgoyMDEyLTAyLTA5IDE4OjA4OjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDkgMTQ6NDI6MjMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCByZWZjb3VudCBlcnJvcgoKMjAxMi0wMi0wOSAwMDowOTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGRvbid0IHVzZSBnc3RfZWxlbWVudF9jbGFzc19pbnN0YWxsX3N0ZF9wcm9wcygpCgkgIEl0J3MgYWJvdXQgdG8gYmUgcmVtb3ZlZC4KCjIwMTItMDItMDggMjA6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgUmVtb3ZlIGxlZ2FjeWgyNjRwYXJzZSBlbGVtZW50CgkgIE9uZSBoMjY0IHBhcnNlciBvdWdodCB0byBiZSBlbm91Z2ggZm9yIGFueWJvZHkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgwMDIKCjIwMTItMDItMDggMTY6Mzc6MTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZ3N0L2F1ZGlvYnVmZmVyL2dzdGF1ZGlvcmluZ2J1ZmZlci5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgIEdTVF9GTE9XX1dST05HX1NUQVRFIC0+IEdTVF9GTE9XX0ZMVVNISU5HCgoyMDEyLTAyLTA3IDE3OjAwOjI2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2NHBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvanBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWc0dmlkZW9wYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkgIHRlc3RzOiBmaXggbW9yZSB1bml0IHRlc3RzCgoyMDExLTA4LTIyIDE2OjMxOjM4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmg6CgkgIGQzZHZpZGVvc2luazogY3JlYXRlIGEgZDNkIGRldmljZSBmb3IgZWFjaCBzaW5rIGFuZCB1c2UgdGhlIGRlZmF1bHQgc3dhcCBjaGFpbiBpbiBjb25uZWN0aW9uIHdpdGggZmx1c2hpbmcgdGhlIEdQVSBhbmQgbm90IHJlY3JlYXRpbmcgdGhlIHN3YXAgY2hhaW4gdGhpcyBhdm9pZHMgdGVhcmluZyBhbHNvIHVzZSBHU1RfeHhfREVCVUcgbWFjcm9zIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDExLTA4LTIyIDE0OjQ2OjQ4ICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogZmx1c2ggR1BVIGJlZm9yZSBQcmVzZW50IGFkZGVkIGFsdGVybmF0ZSB3YWl0IGZvciB2c3luYyBtZXRob2QgYmFzZWQgb24gR2V0UmFzdGVyU3RhdHVzCgoyMDExLTA4LTIyIDE0OjMwOjQzICswMjAwICBDYXJzdGVuIEtyb2xsIDxjYXJAeGltaWRpLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogY2hlY2sgZm9yIGhhcmR3YXJlIGNhcGFiaWxpdGllcywgd2hlbiBuZWdvdGlhdGluZwoKMjAxMS0wOC0yMiAxNDoxOTowNiArMDIwMCAgQ2Fyc3RlbiBLcm9sbCA8Y2FyQHhpbWlkaS5jb20+CgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJICBkM2R2aWRlb3Npbms6IHJlZHJhdyBsYXN0IGJ1ZmZlciB3aGVuIG5ldyB3aW5kb3cgaGFuZGxlIGhhcyBiZWVuIHNldC4KCjIwMTEtMDgtMjIgMTQ6MTM6MzAgKzAyMDAgIENhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPgoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSAgZDNkdmlkZW9zaW5rOiBhZGRlZCBOVjEyICsgZW5hYmxlZCBSR0Igc3VwcG9ydAoKMjAxMS0wOC0yNyAxMzowNzowMCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kM2R2aWRlb3NpbmsvZDNkdmlkZW9zaW5rLmM6CgkgIGQzZHZpZGVvc2luazogRml4IGRldmljZSBpbml0aWFsaXphdGlvbiBjaGVjawoKMjAxMi0wMi0wNyAxMjoxNDowNSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbGVnYWN5cmVzYW1wbGUuYzoKCSAgdGVzdHM6IGZpeCBtb3JlIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjM0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgdGVzdHM6IGZpeCBzb21lIHRlc3RzCgoyMDEyLTAyLTA3IDEyOjAyOjA1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzOiBwb3J0IHRvIDAuMTEgc29tZSBtb3JlCgoyMDEyLTAyLTAyIDEzOjMzOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IHByZXZlbnQgY2FwdHVyZXMgZnJvbSBiZWluZyBsb3N0IHdoZW4gc3dpdGNoaW5nIHJlc29sdXRpb25zCgkgIFdoZW4gc3dpdGNoaW5nIGNhcHR1cmUgY2FwcywgY2FtZXJhYmluMSByZXNldHMgaXRzIHN0YXRlIHRvIHJlYWR5CgkgIHRvIGZvcmNlIGEgbmV3IGNhcHMgdG8gYmUgbmVnb3RpYXRlZC4gVGhpcyBjYXVzZXMgb25nb2luZyBjYXB0dXJlcwoJICB0byBiZSBhYm9ydGVkLgoJICBUaGlzIGNvbW1pdCBhZGRzIGEgY29uZGl0aW9uIHRvIHdhaXQgZm9yIGNhcHR1cmVzIHRvIGZpbmlzaCBiZWZvcmUKCSAgZ29pbmcgdG8gcmVhZHkgc3RhdGUuCgoyMDEyLTAyLTAyIDEyOjIyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEltcHJvdmUgZGVidWcgbWVzc2FnZSBhYm91dCBwcm9jZXNzaW5nIGNvdW50ZXIKCSAgTWVudGlvbiBvbiB0aGUgbG9ncyBob3cgbWFueSBjYXB0dXJlIG9wZXJhdGlvbnMgbWlnaHQgaGF2ZSBiZWVuCgkgIGxvc3QKCjIwMTItMDItMDQgMjI6MDY6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgcm90YXRlOiBhbmdsZSBpcyBpbiByYWRpYW5zIGFscmVhZHksIGRvIG5vdCBzY2FsZSBpdAoJICBPdGhlciBwbHVnaW5zIHVzZSByYWRpYW5zLCBhbmQgdGhlIGFuZ2xlIGRvY3VtZW50YXRpb24gc2F5cyByYWRpYW5zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY5MzY1CgoyMDEyLTAyLTA0IDIyOjA2OjEyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cm90YXRlLmM6CgkgIHJvdGF0ZTogZml4IGRlc2NyaXB0aW9uIHN0cmluZyB0byBtYXRjaCB3aGF0IHRoZSBlbGVtZW50IGRvZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2OTM2NQoKMjAxMi0wMi0wMyAxMTowODo0OCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkbyBub3QgZW1pdCBuby1tb3JlLXBhZHMKCSAgRG9pbmcgc28gbWF5IGZpeCBzb21lIHRoaW5ncywgYnV0IGJyZWFrcyBvdGhlcnMgKG5ldyBzdHJlYW1zIGJlaW5nCgkgIGFkZGVkIGluIHRoZSBmdXR1cmUpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1ODE0CgoyMDEyLTAyLTAzIDExOjI2OjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjcmVhc2UgcGFzc3Rocm91Z2ggbmVnb3RpYXRpb24gcHJlZmVyZW5jZQoJICBBbHNvIGVuc3VyZSBwYXJzaW5nIGZpeGVkIGNhcHMgd2hlbiBuZWdvdGlhdGluZyByYXRoZXIgdGhhbiBmYWlsaW5nIHRvCgkgIGhhbmRsZSBub24tZml4ZWQgbGlzdCBjYXNlcy4KCSAgU2VlICM2Njg0NzEuCgoyMDEyLTAyLTAzIDAwOjUwOjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBnc3QvaGxzL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9saXZlYWRkZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9NYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGZpeCBDRkxBR1Mgb3JkZXIgYW5kIExJQlMgb3JkZXIKCSAgX0JBRF9DRkxBR1Mgc2hvdWxkIGFsd2F5cyBjb21lIGZpcnN0LCB0aGVuIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTLAoJICB0aGVuIEdTVF9CQVNFX0NGTEFHUyB0aGVuIEdTVF9DRkxBR1MuIFNhbWUgZm9yIGxpYnM6IGZpcnN0IHBsdWdpbnMKCSAgYmFzZSBsaWJzLCB0aGVuIEdTVF9CQVNFX0xJQiB0aGVuIEdTVF9MSUJTLgoKMjAxMi0wMi0wMiAyMzoyMTo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGRlYnVnc3B5LmM6CgkgIGRlYnVndXRpbHM6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMi0wMiAxMTo0MToxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJICBtcGVncHNtdXg6IGluY2x1ZGUgc3BlY2lmaWMgQUFDIHN0cmVhbS1mb3JtYXQgaW4gdGVtcGxhdGUgY2FwcwoJICBUaGlzIGVsZW1lbnRzIHNlZW1zIHRvIHN1cHBvcnQgcmF3IGFuZCBhZHRzIEFBQy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozNzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBhZGQgZXhwbGljaXQgc3VwcG9ydGVkIEFBQyBzdHJlYW0tZm9ybWF0IGluIHRlbXBsYXRlIGNhcHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMTozMTozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IGluY2x1ZGUgc3BlY2lmaWMgc3VwcG9ydCBBQUMgc3RyZWFtIGZvcm1hdHMgaW4gdGVtcGxhdGUgY2FwcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1Mzk0CgoyMDEyLTAyLTAyIDExOjI3OjMzICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogc3BlY2lmeSBpbiB0ZW1wbGF0ZSBjYXBzIHdlIG9ubHkgdGFrZSByYXcvYWR0cyBBQUMgZm9ybWF0CgkgIFRoaXMgYXBwZWFycyB0byBiZSB3aGF0IHRoaXMgZWxlbWVudCBzdXBwb3J0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTM5NAoKMjAxMi0wMi0wMiAxMToyMDozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogaW5jbHVkZSBzcGVjaWZpYyBBQUMgc3RyZWFtLWZvcm1hdCB0eXBlcyBpbiB0ZW1wbGF0ZSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUzOTQKCjIwMTItMDItMDIgMTA6NTk6NTMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGJldHRlciBlcnJvci9kZWJ1ZyByZXBvcnRpbmcKCSAgSW5jbHVkZSB0ZXh0IG1lc3NhZ2VzIGluc3RlYWQgb2YgZXJyb3IgY29kZXMuCgoyMDEyLTAyLTAxIDE5OjM4OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5jOgoJICBjaHJvbWFwcmludDogZml4IHBhcmVudCBzdHJ1Y3R1cmUgaW4gYm9pbGVycGxhdGUgbWFjcm8KCjIwMTItMDItMDEgMTc6NTM6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXVsdGlmZHNpbmsvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBpZ25vcmUgR1ZhbHVlQXJyYXkgZGVwcmVjYXRpb24gd2FybmluZ3MgZm9yIHRoZSB0aW1lIGJlaW5nCgkgIHVudGlsIHRoaXMgZ2V0cyBzb3J0ZWQgb3V0IHdpdGggdGhlIEdMaWIgZm9sa3MgYW5kIHdlIGhhdmUgYQoJICB2aWFibGUgYWx0ZXJuYXRpdmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMjgKCjIwMTItMDItMDEgMTc6NDY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkgIGNocm9tYXByaW50OiBwb3J0IHRvIDAuMTEKCjIwMTItMDItMDEgMTc6MDY6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBmaXggdXAgZm9yIEdzdEF1ZGlvRGVjb2RlciBBUEkgY2hhbmdlCgoyMDEyLTAyLTAxIDE2OjI3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgYW1yd2JlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNjowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyNToxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHM6IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxNjoyMzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IFVzZSBuZXcgYXVkaW8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3MgQVBJIGZvciBzcmNwYWQgY2FwcwoKMjAxMi0wMi0wMSAxMjo0Nzo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGRpc2FibGUgb3B0aW1pemVkIHBhY2tldGl6ZWQgcHJvY2Vzc2luZyBmb3IgcmV2ZXJzZSBwbGF5YmFjawoJICAuLi4gYXMgYmFzZXBhcnNlIHRoZW4gcHJvdmlkZXMgd2hvbGUgY2h1bmtzIG9mIGRhdGEgKGFzIGl0IHNob3VsZCkgYXQgb25jZQoJICB0byBiZSBwYXJzZWQsIGFuZCBzbyB0aGUgYXNzdW1wdGlvbnMgdXNlZCB0byBvcHRpbWl6ZSBhcmUgbm8gbG9uZ2VyIHZhbGlkLgoJICBGaXhlcyAjNjY3NTYwLgoKMjAxMi0wMi0wMSAxMjoyMzoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGFsc28gbWluZCBTRUkgcG9zaXRpb24gZm9yIGNvbmZpZyBkYXRhIGluc2VydGlvbgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMi0wMi0wMSAxMjowMzowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHVuYnJlYWsgb3B0aW1pemVkIHBhY2tldGl6ZWQgTkFMVSBjb2xsZWN0aW9uIHByb2Nlc3NpbmcKCSAgLi4uIGluIHRoYXQgaXQgd2FzIHNvIG9wdGltaXplZCBpdCBkaWQgbm90IGNvbnNpZGVyIGdyb3VwaW5nIE5BTFUgaW50byBBVQoJICBhbHRvZ2V0aGVyLgoJICBGaXhlcyAjNjY4NjI3LgoKMjAxMS0xMi0xNCAxOToyNzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IHVzZSB0aGUgbmV3IHByZW11bHRpcGxpZWQgc3VwcG9ydCBpbiBnc3R2aWRlbwoKMjAxMi0wMS0zMCAxODo0NjowNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IGZpeCB3ZWRnZSBpbiBwcmVyb2xsIHdoZW4gcGxheWJpbjIgZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkCgkgIFdoZW4gZGVpbnRlcmxhY2luZyBpcyBlbmFibGVkLCBhbiBleHRyYSBjb2xvcnNwYWNlIGVsZW1lbnQgaXMgYWRkZWQuCgkgIENvbG9yc3BhY2UgaXMgYSBiYXNldHJhbnNmb3JtLCBhbmQgaXMgdGhlbiB0aGUgb25seSBiYXNldHJhbnNmb3JtCgkgIGVsZW1lbnQgb24gdGhlIHZpZGVvIHBhdGguIEEgd2hpbGUgYWdvLCBiYXNldHJhbnNmb3JtIHN0YXJ0ZWQgZGVsYXlpbmcKCSAgZXZlbnRzIHRpbGwgY2FwcyB3ZXJlIHNldCBvbiBpdHMgc291cmNlIHBhZC4gVGhlc2UgdGhpbmdzIGNvbnNwaXJlZAoJICB0byBlbmQgdXAgc2VuZGluZyB0aGUgRFZEIGhpZ2hsaWdodCBldmVudHMgb250byBhIGJsb2NrZWQgcGFkIG9uCgkgIHN1YnRpdGxlb3ZlcmxheS4KCSAgRW5zdXJpbmcgdGhlc2UgaGlnaGxpZ2h0IGV2ZW50cyBhcmUgb25seSBzZW50IG9uY2Ugd2UncmUgaW4gcGxheWluZwoJICBtb2RlIGZpeGVzIHRoZSBpc3N1ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODc2MgoKMjAxMi0wMi0wMSAwMjoxMzo0OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuaDoKCSAgc2Nocm86IEZpeCBjb21waWxhdGlvbiB3aXRoIDEuMC4xMAoKMjAxMS0xMi0yNiAyMTo1Nzo0OCAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHNldCBpbnRlcmxhY2VkIGZpZWxkIGluIGNhcHMgZm9yIG1wZWcyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjcyMTgKCjIwMTItMDEtMzEgMTI6Mjk6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2wtc291cmNlIHR5cGUgY2hhbmdlcwoKMjAxMi0wMS0zMSAwODo0NDowNCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IHVwZGF0ZSBhZnRlciBjb2xsZWN0cGFkczIgY2hhbmdlcwoKMjAxMi0wMS0zMCAyMjo0MTowNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcmVuYW1lIGNvbnRyb2wtYmluZGluZ3MKCSAgZ3N0X2NvbnRyb2xfYmluZGluZ194eHggLT4gZ3N0X3h4eF9jb250cm9sX2JpbmRpbmcgZm9yIGNvbnNpc3RlbmN5LgoKMjAxMi0wMS0zMCAxNzoxNzoxNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5jOgoJICB1cGRhdGUgZm9yIEhFQURFUiBmbGFnCgoyMDEyLTAxLTI1IDEzOjU3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggcGFyc2luZyBvZiBWVUkgcGFyYW1ldGVycy4KCSAgbWF4X2RlY19mcmFtZV9idWZmZXJpbmcgd2FzIG1pcy1wYXJzZWQgYmVjYXVzZSBsb2cyX21heF9tdl9sZW5ndGhfdmVydGljYWwKCSAgd2FzIHBhcnNlZCB0d2ljZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODY2MAoKMjAxMi0wMS0yOSAxODowMTowNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5yZWYgbm9uLWZvcndhcmRlZCBldmVudHMKCSAgQWxzbywgZG9uJ3QgdW5yZWYgZm9yd2FyZGVkIG9uZXMKCjIwMTItMDEtMjggMjA6MDE6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBpbml0IGRlYnVnIGNhdGVnb3J5CgoyMDEyLTAxLTI4IDIwOjAxOjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogaW5pdCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMi0wMS0yOCAxNjo1NzowMyArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogcmVzeW5jIGl0ZXJhdG9yIG9uIHJlc3luYwoKMjAxMi0wMS0yOCAxMjozMjo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkgIGthdGVlbmM6IHJlbW92ZSAnZmx1c2ggZXZlcnkgcGFja2V0JyBoYWNrCgkgIFRoaXMgaXMgYSBiYWQgaGFjayB3aGljaCBkb2VzIG5vdCB3b3JrIHdpdGggTWF0cm9za2EsIGFuZCBpcyBub3cKCSAgb2Jzb2xldGUgYXMgc2ltaWxhciBjb2RlIGlzIG5vdCBpbmNsdWRlZCBpbiBvZ2dtdXgvb2dnc3RyZWFtLgoKMjAxMi0wMS0yNyAxMjowODo1MiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogUmUtcHVzaCBzdGlja3kgZXZlbnRzIG9uIGlucHV0IHBhZCBjaGFuZ2UKCjIwMTItMDEtMjcgMTI6MDc6NDMgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIGR0bWY6IFVzZSBuZXctc3R5bGUgY2FwcwoKMjAxMi0wMS0yNyAxNzowMDoxOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG1wZWdkZW11eCB0byB0aGUgbGlzdCBvZiBwb3J0ZWQgcGx1Z2lucwoKMjAxMi0wMS0yNyAxNjo1Njo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IERvbid0IGxlYWsgdGhlIFNDSEVEVUxJTkcgcXVlcnkKCjIwMTItMDEtMjYgMDc6MTM6MDYgLTA1MDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBQb3J0IG1wZWdkZW11eCB0byAwLjExCgoyMDEyLTAxLTI3IDE0OjQ5OjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jdXJsL01ha2VmaWxlLmFtOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzdmlkZW9zcmMuYzoKCSogZXh0L2thdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSogZXh0L21wbGV4L01ha2VmaWxlLmFtOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvc2RsL01ha2VmaWxlLmFtOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2dsaWItY29tcGF0LXByaXZhdGUuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1tYWluLmM6CgkgIHBsZW50eTogZml4dXAgZ2xpYiBkZXByZWNhdGlvbnMKCjIwMTItMDEtMjcgMDc6MzY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQWRkIHZpZXdmaW5kZXIgY29sb3JzcGFjZSBjb252ZXJzaW9uIHRvIGRlZmF1bHQgZmxhZ3MKCSAgVGhpcyBtYWtlIHRoZSBkZWZhdWx0IHNldHRpbmdzIG1vcmUgbGlrZWx5IHRvIHdvcmsuIElmIG5lZWRlZCwgb25lCgkgIGNhbiBvcHRpbWl6ZSBieSBkaXNhYmxpbmcgY29udmVyc2lvbnMgd2l0aCB0aGUgZmxhZ3MuCgoyMDEyLTAxLTIzIDA4OjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHNvbHZlZCBUT0RPIGFuZCBmaXhpbmcgYSB0eXBvCgoyMDEyLTAxLTI2IDIzOjI4OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkgIGFkcGNtZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjYgMjM6Mjg6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc206IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNiAxNTowMzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIHRoZSBEVkIgcGx1Z2luIHRvIHRoZSBub24tcG9ydGVkIHBsdWdpbnMKCSAgSXQgbmVlZHMgdGhlIE1QRUcgVFMgcGFyc2VyIGFuZCBjdXJyZW50bHkgY3Jhc2hlcyBkdXJpbmcgaW5zdGFudGlhdGlvbgoJICBiZWNhdXNlIGl0IGNhbid0IGNyZWF0ZSB0aGUgTVBFRyBUUyBwYXJzZXIuCgoyMDEyLTAxLTI1IDE4OjI1OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICBtcGVnMmVuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTI1IDE4OjQ5OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNpbmsuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBwb3J0IHNvbWUgbW9yZSB0byBuZXcgbWVtb3J5IEFQSQoJICBGaXhlcyAjNjY4Njc3LgoKMjAxMi0wMS0yNSAxNjozNzoyMiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvdmlkZW9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTY6NTc6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBJbnRlcnNlY3QgdHJhbnNmb3JtZWQgY2FwcyB3aXRoIGZpbHRlcgoKMjAxMi0wMS0yNSAxNTo0MzowMSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogRG9uJ3QgbGVhayBndmFsdWUgZnJvbSBpdGVyYXRvcgoKMjAxMi0wMS0yNSAxNjo0Njo0NCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIG1vcmUgcG9ydGluZwoKMjAxMi0wMS0yNSAxNjoyMDo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvZ3N0bXVsdGlmZHNpbmsuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHBvcnQgc29tZSBtb3JlIHRvIG5ldyBtZW1vcnkgQVBJCgoyMDEyLTAxLTI1IDE0OjUwOjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcG9ydCB0byBuZXcgbWVtb3J5IEFQSQoKMjAxMi0wMS0yNSAxMzo1ODoxOSArMDEwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzIChhdCkgYXBlc3RhYXJ0IChkb3QpIG9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzQ2M2JjMCB0byA3ZmRhNTI0CgoyMDEyLTAxLTI1IDEzOjIyOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgZXh0L2thdGUvZ3N0a2F0ZWVuYy5jCgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYwoKMjAxMi0wMS0xOCAxMjowNDo1MiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogbGltaXQgdGhlIGFtb3VudCBvZiBzY2FubmluZyBkb25lIG9uIGR1cmF0aW9uIHF1ZXJpZXMKCSAgTGltaXQgdGhlIGFtb3VudCBvZiBkYXRhIHNjYW5uZWQgd2hlbiBsb29raW5nIGZvciBQVFNlcyBpbiBkdXJhdGlvbiBxdWVyaWVzIGFzIGEKCSAgZmFpbHNhZmUgZm9yIGtpbmRhIGJyb2tlbiwgcG90ZW50aWFsbHkgbGFyZ2UgZmlsZXMgd2l0aCBzcGFyc2Ugb3Igbm8gUFRTZXMuCgoyMDEyLTAxLTE4IDExOjI4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBkb24ndCBzY2FuIGZvciB0aGUgbGFzdCBQVFMgaWYgdGhlIGZpcnN0IHdhc24ndCBmb3VuZAoKMjAxMi0wMS0yNSAxMToyMTo1MCArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZmRldGVjdC5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTA6NDU6NTEgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhkZXBheS5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5oOgoJICBydHB2cDg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0yNCAyMjoxNDozOSArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogUmVtb3ZlLCB2aWRlb3JhdGUgaW5jbHVkZXMgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBub3cKCjIwMTItMDEtMjQgMTQ6MjA6NTIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBtdXguYzoKCSAgcnRwbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMjUgMTE6Mzg6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAyYTU5MDE2IHRvIGM0NjNiYzAKCjIwMTItMDEtMjQgMTE6NTY6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZTogbWFrZSBjb25zdGFudCBzdGF0aWMgYXJyYXlzIGFjdHVhbGx5IHN0YXRpYwoKMjAxMi0wMS0yNCAxMTo1MzoyNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBmaXggdW5pbml0aWFsaXplZCByZXR1cm4gdmFsdWUKCjIwMTItMDEtMjQgMTE6MjI6NDYgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiB0cmFjZSBvdXRnb2luZyB0aW1lc3RhbXBzCgkgIGFkZCBpbmZvIGxldmVsIHByaW50cyBmb3Igb3V0Z29pbmcgdGltZXN0YW1wcy4KCSAgU2lnbmVkLW9mZi1ieTogT2xla3NpaiBSZW1wZWwgKEFsZXhleSBGaXNoZXIpIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDEyLTAxLTIzIDIyOjIwOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBjYXBzIHJlZmNvdW50IGVycm9yCgkgIC9tZSBiYWQgbW9ua2V5LgoKMjAxMi0wMS0yMyAxODozMDoxOSArMDAwMCAgSm9uYXMgTGFyc3NvbiA8am9uYXNAaGFsbGVydWQuc2U+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlOiBmaXggZ3N0X2gyNjRfcGFyc2VfY2xvY2tfdGltZXN0YW1wIGFsd2F5cyBmYWlsaW5nCgoyMDEyLTAxLTIzIDE4OjAxOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIFJFUVVJUkVNRU5UUzoKCSAgUkVRVUlSRU1FTlRTOiB3ZSBuZWVkIGxpYnJ0bXAgZm9yIHJ0bXAgc3VwcG9ydAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY4NTIxCgoyMDEyLTAxLTIzIDE4OjUxOjM0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHJlYWQgdGhlIGNicl9mbGFnIGluIGgyNjRfcGFyc2VfaHJkX3BhcmFtZXRlcnMKCjIwMTItMDEtMjMgMTc6NDc6NDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGZyZXF1ZW50IGRlYWRsb2NrIGRlbXV4aW5nIE1QRUcgVFMKCSAgQSBwcmV2aW91cyBwYXRjaCB0byBhZGQgc3RyZWFtcyBlYXJseSB0byBmaXggcGxheWJhY2sgb2YKCSAgbG93IGJpdHJhdGUgc3RyZWFtcyBjYXVzZXMgZnJlcXVlbnQgZGVhZGxvY2sgb2YgYSBuYXR1cmUKCSAgSSdtIGF0IGxvc3MgaG93IHRvIGZpeC4KCSAgSSdtIG5vdCBjZXJ0YWluIHdoZXRoZXIgaXQncyBhIGJ1ZyBpbiBkZWNvZGViaW4yLCBvciBpbgoJICB0aGF0IG1wZWd0c2RlbXV4IHBhdGNoLgoJICBTaW5jZSBpdCBjYXVzZXMgYSBtYWpvciByZWdyZXNzaW9uLCBsZXQgaXQgYmUgZGlzYWJsZWQgZm9yIG5vdy4KCjIwMTItMDEtMjMgMTQ6MTA6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGJyZWFrIG91dCB3aGVuIHN0cmVhbSBpZGVudGlmaWVkCgoyMDEyLTAxLTIzIDE0OjA2OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjA1OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBOVUxMIG1hbmlwdWxhdGlvbiBpZiBpbnZhbGlkIGlucHV0CgoyMDEyLTAxLTIzIDE0OjAxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBhdm9pZCBzb21lIHVubGlrZWx5IGxlYWtzCgoyMDEyLTAxLTIzIDEzOjU4OjU3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogcHJldmVudCBzb21lIGZhbGwtdGhyb3VnaCBjYXNlcwoKMjAxMi0wMS0yMyAxMzo1ODowNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJICBtdmU6IHVzZSBzaWduZWQgbG9vcCB2YXJpYWJsZQoJICAuLi4gd2hlbiB1c2luZyBpdCBpbiBpID49IDAuCgoyMDEyLTAxLTIzIDEzOjU3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdmUvbXZldmlkZW9lbmMxNi5jOgoJICBtdmU6IGVuc3VyZSBiZXN0IHRhcmdldCBmb3VuZAoKMjAxMi0wMS0yMyAxMzo1NjowMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgZmVzdGl2YWw6IGVuaGFuY2Ugc29tZSBlcnJvciBjYXNlIGhhbmRsaW5nCgoyMDEyLTAxLTIzIDEzOjU1OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogY2hlY2sgZGlyZWN0bHkgZm9yIHZhbGlkIGJ1ZmZlcgoJICAuLi4gcmF0aGVyIHRoYW4gZG9pbmcgc28gaW5kaXJlY3RseSBpbiAoaW5jb21wbGV0ZSkgc2VtYW50aWMgd2F5LgoKMjAxMi0wMS0yMyAxMzo1NDozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBmaXggcGFyYW1ldGVyIHNhbml0eSBjaGVjawoKMjAxMi0wMS0yMyAxMTo1NDowOCArMDAwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHRvIHdvcmsKCjIwMTItMDEtMjAgMTU6MzQ6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IGZpeCBwcmVyb2xsIG9uIHRpdGxlcyB3aXRoIG5vIGF1ZGlvIHRyYWNrCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMTItMDEtMjAgMTI6MjU6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJzbmR2ZHNyYzogZml4IGxlYWsKCjIwMTItMDEtMjAgMTI6MTU6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBmaXggdmlkZW8vYXVkaW8gbWl4dXAgaW4gZXJyb3IgbWVzc2FnZQoKMjAxMi0wMS0yMCAxMDo0MjoyMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByc25hdWRpb211bmdlOiBrZWVwIHRoZSBvYmplY3QgcmVmIGxvbmdlcgoJICBTaW5jZSB3ZSBkbyBub3QgZ2V0IGEgcmVmIHRvIHRoZSBwYWQsIEknbSBub3QgY2VydGFpbiBpdCdzIHNhZmUKCSAgdG8gZHJvcCB0aGUgb2JqZWN0IGFuZCB1c2UgdGhlIHBhZCBsYXRlciwgc28gaG9sZCB0aGUgb2JqZWN0IHJlZgoJICB0aWxsIHdlJ3JlIGRvbmUgd2l0aCB0aGUgcGFkLgoKMjAxMi0wMS0yMSAyMDowODozNiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogbW92ZSBmcm9tIGNvbnRyb2wtYmluZGluZyB0byBjb250cm9sLWJpbmRpbmctZGlyZWN0CgoyMDEyLTAxLTIyIDE2OjU5OjM3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLm9yYzoKCSAgUmV2ZXJ0ICIhY29sb3JzcGFjZTogZml4IG9kZCBzaXplIHByb2JsZW1zIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGUyZTZmZGNiNmIyNjVkYjIwMWYxOTE5NTJhZWVkNDI5ZTg1ZTgzNGUuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTg6NTkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBSZXZlcnQgImNvbG9yc3BhY2U6IEZpeCBvdXQtb2YtYm91bmQgZXJyb3JzIGZvciB2MjEwIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDNiOGI4N2NiNmMyMTdiOWYwYjUyY2ZhMzA3OWM0YTM2YWZkMWM0MjQuCgkgIFVudGVzdGVkIGNvbW1pdCB3YXMgYWNjaWRlbnRhbGx5IHB1c2hlZC4KCjIwMTItMDEtMjIgMTY6NTU6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NpbmsuYzoKCSAgaW50ZXI6IEZpeCBjb21waWxhdGlvbgoJICBGaXggdXAgcHJldmlvdXNseSBib3RjaGVkIHJlYmFzZS4KCjIwMTItMDEtMDkgMjE6NTk6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggb3V0LW9mLWJvdW5kIGVycm9ycyBmb3IgdjIxMAoKMjAxMS0xMi0zMSAxNzoxNDoyNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgICFjb2xvcnNwYWNlOiBmaXggb2RkIHNpemUgcHJvYmxlbXMKCjIwMTItMDEtMjIgMTU6NDk6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1cmZhY2UuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogQWRkIGNoYW5uZWwgcHJvcGVydHkKCjIwMTItMDEtMjIgMTU6NDg6MjggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm91dGlscy5oOgoJICBzY2hybzogSGFuZGxlIDEwIGFuZCAxNi1iaXQgZm9ybWF0cwoKMjAxMS0xMi0zMSAxNzoxMzowMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvYXZjL01ha2VmaWxlLmFtOgoJICBhdmM6IGZpeCBicm9rZW4gbGluZSBjb250aW51YXRpb24KCjIwMTEtMDgtMTggMTk6NDk6MDggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQganBlZyBjb2xvci1tYXRyaXggY29udmVyc2lvbgoKMjAxMS0wOC0wOSAwOToxOToxMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW50ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdWJzaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3Vic3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnN1YnNyYy5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkgIGludGVyOiBBZGQgc3VidGl0bGUgaW50ZXIgZWxlbWVudHMKCjIwMTEtMDgtMDQgMTM6MDU6MjIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBEb24ndCBlcnJvciBvbiBlbXB0eSBpbnB1dCBidWZmZXJzCgoyMDEyLTAxLTIyIDE5OjI3OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS52Y3Byb2o6CgkgIFJlbW92ZSBsZWdhY3kgbXBlZ3ZpZGVvcGFyc2UgcGx1Z2luCgkgIFRoZXJlJ3MgYSBuZXcgb25lIGluIHRoZSB2aWRlb3BhcnNlcnMgcGx1Z2luLgoKMjAxMi0wMS0yMiAxOToxMzo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXVsdGlmZHNpbmsvLmdpdGlnbm9yZToKCSAgbXVsdGlmZHNpbms6IG1ha2UgZ2l0IGlnbm9yZSBnZW5lcmF0ZWQgZmlsZXMKCjIwMTItMDEtMjIgMTk6MTE6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBtYWtlIGxldmVsIGFuZCBwcm9maWxlIGZpZWxkcyBpbiBjYXBzIHN0cmluZ3MKCSAgRm9yIGNvbnNpc3RlbmN5IHdpdGggb3RoZXIgY2Fwcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1ODQzOAoKMjAxMi0wMS0xOCAxNjozNToxNiArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkKCSAgVGhlIGVudHJpZXMgd2VyZSBub3QgZmlsbGVkIGluIGxpbmVhcmx5IGFuZCB0aGUgdGVybWluYXRpb24gd2FzIG5vdAoJICByZWNvcmRlZCBlaXRoZXIuIE5vdywgdGhlIGFjdHVhbCBudW1iZXIgb2YgbW9kaWZpY2F0aW9ucyBpcyByZWNvcmRlZAoJICBzaW1pbGFybHkgdG8gZGVjX3JlZl9waWNfbWFya2luZygpLiBpLmUuIGFuIGV4cGxpY2l0IGNvdW50ZXIgaW5zdGVhZAoJICBvZiBzdG9yaW5nIHRoZSB0ZXJtaW5hdGlvbiB2YWx1ZSBpbiB0aGUgYXJyYXkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjgxOTIKCjIwMTItMDEtMjAgMTY6MTI6MDIgKzAwMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSBmb3IgYWN0dWFsbHkgcG9ydGVkIGVsZW1lbnRzCgoyMDEyLTAxLTIwIDE1OjIzOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IG9ubHkgY2hlY2sgZm9yIGdzdC1wbHVnaW5zLXtnb29kLHVnbHksZmZtcGVnfSBpbiB1bmluc3RhbGxlZCBzZXR1cHMKCSAgV2UgZG9uJ3QgaW5zdGFsbCAucGMgZmlsZXMgZm9yIHBsdWdpbiBtb2R1bGVzLCBiZWNhdXNlIHdlIG9ubHkgbmVlZAoJICB0aGVtIGluIHVuaW5zdGFsbGVkIHNldHVwcywgc28gd2UgY2FuIGZpbmQgdGhlIHBsdWdpbnMgZm9yIHVuaXQgdGVzdHMKCSAgKGV2ZW4gd2hlbiBydW4gYSBjb3VwbGUgb2YgZGlyZWN0b3JpZXMgZGVlcGVyIG9yIG91dC1vZi10cmVlIGR1cmluZwoJICBtYWtlIGRpc3RjaGVjaykuCgkgIFRyeSB0byBhdm9pZCBjb25mdXNpb24sIHNvIG9ubHkgY2hlY2sgZm9yIHRob3NlIGlmIHRoaXMgaXMgaW4gZmFjdAoJICBhbiB1bmluc3RhbGxlZCBzZXR1cC4gRm9yIGluc3RhbGxlZCBzZXR1cHMgdGhlcmUncyBubyBwcm9ibGVtIGZpbmRpbmcKCSAgdGhlIHBsdWdpbnMsIHdlIGFzc3VtZSB0aGV5IGFyZSBhbGwgaW4gdGhlIHBsdWdpbmRpciBzcGVjaWZpZWQgYnkKCSAgR1N0cmVhbWVyIGNvcmUncyAucGMgZmlsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2ODMxMQoKMjAxMi0wMS0yMCAxNDo0NjowMCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogYWRhcHQgdG8gY29udHJvbCBiaW5kaW5nIGNoYW5nZXMKCjIwMTItMDEtMjAgMTE6NDA6MDAgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9pY2xlcy9waXRjaC10ZXN0LmM6CgkgIGNvbnRyb2xsZXI6IGFkYXB0IHRvIGNvbnRyb2xsZXIgYXBpIGNoYW5nZXMKCSAgRG9uJ3QgdXNlIHRoZSBjb252ZW5pZW5jZSBhcGkgZm9yIGNvbnRyb2wgc291cmNlcy4KCjIwMTItMDEtMjAgMDA6NTM6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50LmM6CgkqIGV4dC9jaHJvbWFwcmludC9nc3RjaHJvbWFwcmludC5oOgoJICBjaHJvbWFwcmludDogbWlub3IgY2xlYW4tdXBzCgkgIEZsZXNoIG91dCBkb2NzIGEgYml0LCBmaXggZWxlbWVudCBjbGFzcy4KCjIwMTEtMDEtMDIgMTk6MzQ6MDQgKzAwMDAgIEx1a8OhxaEgTGFsaW5za8O9IDxsYWxpbnNreUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Nocm9tYXByaW50L01ha2VmaWxlLmFtOgoJKiBleHQvY2hyb21hcHJpbnQvZ3N0Y2hyb21hcHJpbnQuYzoKCSogZXh0L2Nocm9tYXByaW50L2dzdGNocm9tYXByaW50Lmg6CgkgIGNocm9tYXByaW50OiBpbXBvcnQgQWNvdXN0aWQgYXVkaW8gZmluZ2VycHJpbnRpbmcgcGx1Z2luCgkgIEltcG9ydGVkIGZyb20gaHR0cHM6Ly9sYXVuY2hwYWQubmV0L2dzdC1jaHJvbWFwcmludAoKMjAxMi0wMS0xMCAwMDoyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogaGFuZGxlIGNvcm5lci1jYXNlIG9mIHNob3J0IHJlYWQgaW4gcHVsbF9idWZmZXIgYmV0dGVyCgkgIEl0J3MgZXh0cmVtZWx5IHVubGlrZWx5LCBidXQgdGhlcmUgYXJlIGNvcm5lciBjYXNlcyB3aGVyZSBhIHNob3J0CgkgIHJlYWQgbWlnaHQgaGFwcGVuLCBzbyBoYW5kbGUgdGhhdCwganVzdCBpbiBjYXNlLgoKMjAxMi0wMS0xOSAxNTo0Mzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBnc21lbmM6IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDEyLTAxLTE5IDE1OjEyOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLS1kaXNhYmxlLWZhdGFsLXdhcm5pbmdzIGNvbmZpZ3VyZSBvcHRpb24KCjIwMTItMDEtMTkgMTE6MzQ6MjYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5oaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgcG9ydCB0byBuZXcgZ3RocmVhZCBBUEkKCjIwMTItMDEtMTggMTc6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IFJlbW92ZSBHSU8gY2hlY2ssIHRoaXMgaXMgaW4gZ3N0LWdsaWIyLm00IG5vdwoKMjAxMi0wMS0xOCAxNjo0NjozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA4MDcxODcgdG8gMmE1OTAxNgoKMjAxMi0wMS0xOCAxNjozNTowNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogUG9ydCB0byBHSU8gYW5kIHRoZSBuZXcgdWRwc3JjL3NpbmsgcHJvcGVydGllcwoKMjAxMi0wMS0xOCAxNjowMTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIG9wdXMgdG8gdGhlIG5vbi1wb3J0ZWQgcGx1Z2lucwoJICBJdCBuZWVkcyB0byBiZSB1cGRhdGVkIGZvciB0aGUgbmV3IG11bHRpY2hhbm5lbCBBUEkuCgoyMDEyLTAxLTE4IDE1OjQ4OjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSAgbXVsdGlmZHNpbms6IEFkZCAkKEdTVF9QTFVHSU5TX0JBRF9DRkxBR1MpIGZvciB0aGUgaTE4biBoZWFkZXIgZmlsZQoKMjAxMi0wMS0xNyAyMTozNjoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMjE6MzY6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IHBvcnQgdG8gYXVkaW9lbmNvZGVyCgoyMDEyLTAxLTE3IDE4OjMzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIGdzbWRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTItMDEtMTcgMTg6MzI6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgZ3NtZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMi0wMS0xNyAxMzoxMjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIG11bHRpZmRzaW5rOiBBZGQgdG8gdGhlIGRvY3MKCjIwMTItMDEtMTYgMjI6NTI6MTggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgbXBsZXg6IHBvcnQgdG8gMC4xMQoKMjAxMi0wMS0xNiAyMjo1MjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogcG9ydCB0byAwLjExCgoyMDEyLTAxLTE2IDIyOjUxOjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJICBpcnRzcHBhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTYgMTc6MzA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xNiAxNzowNzoyOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICBtcGVnZGVtdXg6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudAoJICBUaGlzIGNvZGUgZG9lcyBub3Qgc2VlbSB0byB0cmlnZ2VyIG9uIG15IHRlc3Qgc3RyZWFtcywgc28gaXQncwoJICBhIGJpdCBvZiBhIGJsaW5kIGZpeCwgYnV0IHNlZW1zIHNhZmUgZW5vdWdoIHRvIHB1c2guCgoyMDEyLTAxLTE2IDE3OjAyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJICBvcGVuY3Y6IGZpeCBtaXNzaW5nIGZpbmFsaXplIGNoYWluaW5nIHRvIHBhcmVudCBjbGFzcwoJICBOb3QgY29tcGlsZWQsIEkgZG8gbm90IGhhdmUgdGhlIG5lY2Vzc2FyeSBkZXBlbmRlbmNpZXMuCgoyMDEyLTAxLTE2IDE3OjAxOjE4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkgIGdtZTogZml4IG1pc3NpbmcgZGlzcG9zZSBjaGFpbmluZyB0byBwYXJlbnQgY2xhc3MKCSAgTm90IGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBuZWNlc3NhcnkgZGVwZW5kZW5jaWVzLgoKMjAxMi0wMS0xNiAxNjo1OTo1NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGM6IGZpeCBtaXNzaW5nIGRpc3Bvc2UgY2hhaW5pbmcgdG8gcGFyZW50IGNsYXNzCgkgIE5vdCBldmVuIGNvbXBpbGVkLCBJIGRvIG5vdCBoYXZlIHRoZSBkZXBlbmRlbmNpZXMgbmVlZGVkLgoKMjAxMi0wMS0xNiAxMToyOTowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tdWx0aWZkc2luay9NYWtlZmlsZS5hbToKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLW1hcnNoYWwubGlzdDoKCSogZ3N0L211bHRpZmRzaW5rL2dzdG11bHRpZmRzaW5rLmM6CgkqIGdzdC9tdWx0aWZkc2luay9nc3RtdWx0aWZkc2luay5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmZHNpbmsuYzoKCSAgbXVsdGlmZHNpbms6IE1vdmUgbXVsdGlmZHNpbmsgZnJvbSBnc3QtcGx1Z2lucy1iYXNlIHRvIGdzdC1wbHVnaW5zLWJhZAoKMjAxMi0wMS0xMyAxNTo1NzozMyAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIEFuZHJvaWQsIEZpeCB3cm9uZyBkaW5hbWljIGxpbmtpbmcgYXR0ZW1wdAoJICBnc3Rjb2RlY3BhcnNlcnMgaXMgYnVpbHQgYXMgYW4gc3RhdGljIGxpYnJhcnkuCgkgIFRoaXMgY2hhbmdlIGZpeGVzIGJ1aWxkaW5nIHdpdGggdGhlIEFuZHJvaWQgYnVpbGRzeXN0ZW0uCgoyMDEyLTAxLTEzIDEzOjMwOjU3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IGZpbmFsaXplIG5vdCBjYWxsaW5nIGJhc2UgY2xhc3MgKGFuZCBsZWFraW5nKQoKMjAxMi0wMS0xMyAxMjo1NTozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2dtc2U6IHNpZ25hbCBjaGFpbiBmdW5jdGlvbnMgdG8gZXhpdCBvbiBmbHVzaC1zdGFydAoKMjAxMi0wMS0xMyAxMjowODoyOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGZpeCBiYXNlIGNsYXNzIGNhbGwgbWl4dXAgaW4gZmluYWxpemUKCjIwMTItMDEtMTMgMTE6MjI6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggdHlwbyB1c2luZyB0aGUgd3JvbmcgcGFkCgoyMDEyLTAxLTEzIDExOjIyOjIxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHBvc3NpYmxlIGJ1ZmZlciBsZWFrCgoyMDEyLTAxLTEzIDEwOjMyOjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNyYy5jOgoJICBsaW5zeXNzZGk6IGZpeCBsZWFrcwoKMjAxMi0wMS0xMyAxMDoyNToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJICByc3Znb3ZlcmxheTogZml4IGFkYXB0ZXIgbGVhawoKMjAxMi0wMS0xMyAwMDoxMTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTItMDEtMTIgMTc6MTY6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSAgY29nbXNlOiBmaXggcGFkIGxlYWtzCgoyMDEyLTAxLTEyIDE3OjExOjE0ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wYXRjaGRldGVjdC9nc3RwYXRjaGRldGVjdC5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuaDoKCSAgcGF0Y2hkZXRlY3Q6IHJlbW92ZSAobGVha2luZykgZGVhZCBjb2RlCgoyMDEyLTAxLTEyIDE2OjQ1OjM5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogcmVtb3ZlIChsZWFraW5nKSBkZWFkIGNvZGUKCjIwMTItMDEtMTIgMTY6MzY6MTkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogYmFsYW5jZSBlbmNvZGVyIGFuZCB2aWRlbyBmb3JtYXQgYWxsb2MvZGVhbGxvYwoJICBUaGV5IHdvdWxkIGxlYWsgaWYganVzdCBjb25zdHJ1Y3RpbmcgYW5kIGZyZWVpbmcgYW4gb2JqZWN0LAoJICBhbmQgcHJvYmFibHkgY3Jhc2ggaWYgZ29pbmcgZnJvbSBQTEFZSU5HIHRvIFJFQURZIGFuZCBiYWNrCgkgIGFnYWluICh0aG91Z2ggSSBoYXZlbid0IHRlc3RlZCB0aGF0KS4KCjIwMTItMDEtMTIgMTU6NTg6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IHF1ZXVlIGxlYWsKCjIwMTItMDEtMTIgMTU6NDM6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgZGNjcGNsaWVudHNpbms6IGZpeCBzdHJpbmcgbGVhawoKMjAxMi0wMS0xMiAxNToxOTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG1kZWM6IGZpeCBldmVudCBsZWFrCgoyMDEyLTAxLTEyIDE0OjM0OjI1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIG1wZWd2aWRlb3BhcnNlcjogZml4IG1lbW9yeSBsZWFrCgoyMDEyLTAxLTEyIDEwOjI2OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogYWxzbyBpbmRpY2F0ZSBtb25vIGF1ZGlvIGluIHNpbmsgY2FwcwoKMjAxMi0wMS0xMiAxMDoyNTo0OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFsc28gaW5kaWNhdGUgbW9ubyBhdWRpbyBpbiBzaW5rIGNhcHMKCjIwMTItMDEtMTEgMTg6MjQ6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJICBzY2hyb2RlYzogZml4IHRhZyBsZWFrCgoyMDEyLTAxLTExIDE4OjEyOjIyICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSAgc2Nocm9kZWM6IHRha2Ugb3V0IHVudXNlZCBsZWFraW5nIGJ1ZmZlcgoKMjAxMi0wMS0xMSAxODozNzoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogcG9ydCB0byAwLjExCgoyMDEyLTAxLTExIDE2OjM0OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTEgMTY6MzI6MzEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogZml4IHNsaXN0IGxlYWsKCjIwMTItMDEtMTEgMTM6MzI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICB0ZXN0czogZml4IGJ1ZmZlciBsZWFrcyBpbiBvcHVzIHRlc3RzCgoyMDEyLTAxLTExIDEyOjU4OjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHNvbWUgaW5wdXQgYW5kIG91dHB1dCBidWZmZXIgbWFwIGFuZCByZWYgaGFuZGxpbmcKCjIwMTItMDEtMTEgMTI6NTc6MTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBiYXNlIGNsYXNzIGF1ZGlvIGluZm8gaXMgbm90IHlldCBzZXQgZHVyaW5nIHNldF9mb3JtYXQKCSAgLi4uIHNpbmNlIGl0IHdpbGwgb25seSBiZSBjb21taXR0ZWQgYWZ0ZXIgaXQgaGFzIGJlZW4gYWNjZXB0ZWQgYnkgc3ViY2xhc3MuCgkgIEluIHBhcnRpY3VsYXIsIHN1YmNsYXNzIHNob3VsZCBub3QgcmVseSBvbiBpdCBkdXJpbmcgaXRzIHNldHVwLgoKMjAxMi0wMS0xMSAxMjo1NTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHNwcmlua2xlIHNvbWUgbW9yZSBsYXlvdXQgaW5mbyBpbiBjYXBzCgoyMDEyLTAxLTExIDEyOjM5OjAxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogZml4IGF1ZGlvIGZvcm1hdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEyLTAxLTExIDEyOjI0OjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJICB2b2FtcndiZW5jOiBwb3J0IHRvIDAuMTEKCjIwMTItMDEtMTEgMTA6NTA6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBVbnNldCB0aGUgVU5QT1NJVElPTkVEIGZsYWcgaWYgd2UgaGF2ZSB2YWxpZCBjaGFubmVsIHBvc2l0aW9ucwoKMjAxMi0wMS0xMCAxNzoyNzo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggY2FwcyBsZWFrCgoyMDEyLTAxLTEwIDE2OjU5OjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjOiBQb3J0IHRvIDAuMTEKCjIwMTItMDEtMTAgMTU6NTA6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmMKCSAgZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYwoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmMKCjIwMTItMDEtMTAgMTM6Mzg6NTAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggc2xpc3QgbGVhawoKMjAxMi0wMS0xMCAxMzozODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYXBzIGxlYWsKCjIwMTItMDEtMTAgMTM6MjU6MDUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBmaXggY2FwcyBsZWFrcwoKMjAxMi0wMS0xMCAxMzoyNDoyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJICBpbnRlcmxhY2U6IGZpeCByZWYgbGVhawoKMjAxMi0wMS0xMCAxMTo0MTozNCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBEb24ndCBwcm92aWRlIGJvZ3VzIHZhbHVlcyBpbiBub24tVElNRSBwdXNoLW1vZGUKCSAgT25seSB0YWtlIHRoZSB1cHN0cmVhbSBzZWdtZW50IHZhbHVlcyBpbiBHU1RfRk9STUFUX1RJTUUKCjIwMTItMDEtMTAgMTE6Mzc6MTMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogSGFuZGxlIHJvbGxvdmVyIGluIFBUUyBhbmQgRFRTCgkgIEFsc28gaGFuZHMgYmFjay1yb2xsb3ZlciB3aGljaCBjYW4gaGFwcGVuIHdpdGggUFRTCgoyMDEyLTAxLTA0IDExOjA1OjQ4ICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogdXNlIGlzX2FsdF9kYXRhIG9wdGlvbiB0byBwcmV2ZW50IHRpbWVzdGFtcCBjb2xsaXNpb25zCgkgIGFsdHJlZi9pbnZpc2libGUgZnJhbWVzIHVzdWFsbHkgc3RvcmVkIGluIGNvbnRhaW5lciB3aXRoIHNhbWUgdGltZXN0YW1wIGFzCgkgIGRlcGVuZGV0IGZyYW1lLiBUaGlzIG1ha2UgYmFzZXZpZGVvZGVjb2RlciB0byB1cGRhdGUgdGltZXN0YW1wIGZvciBkZXBlbmRldAoJICBmcmFtZSBhbmQgY291c2UgVFMgY29saXNpb24gb24gbmV4dCBmcmFtZToKCSAgXi0gaGVyZSBpcyBhbHRyZWYKCSAgdGltZSAgICAgOiAxIDIgMyA0IDUgNiA3IDggOQoJICB3ZWJtIHRzICA6IDEgICAzIDUgNSAgIDcgICA5CgkgIHZwOGRlYyB0czogMSAgIDMgICA3ICAgNyAgIDkKCSAgRml4IGJ1ZzogaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTI0NQoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDQgMTE6MDk6MjMgKzAxMDAgIE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBvcHRpb24gdG8gaGFuZGUgYWx0IGZyYW1lIGRhdGEKCSAgYWx0cmVmL2ludmlzaWJsZSAnZnJhbWUnIGRvIG5vdCBkZXNjcmliZSBzb21lIGZyYW1lIGRpcmVjdGx5LCBzbyBpdCBjYW4ndCBiZQoJICBkaXNwbGF5ZWQgYW5kIHRpbWVzdGFtcHMgc2hvdWxkIG5vdCBiZSB1cGRhdGVkLgoJICBGaXggYnVnOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MjQ1CgkgIFNpZ25lZC1vZmYtYnk6IE9sZWtzaWogUmVtcGVsIChBbGV4ZXkgRmlzaGVyKSA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKMjAxMi0wMS0wOSAxNDo1NjoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IGZpeCBwYXJzaW5nIHdoZW4gcmVjdXJzaXZlbHkgc2tpcHBpbmcgdXNlciBkYXRhCgoyMDEyLTAxLTA5IDE0OjU5OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogTWFrZSBzdXJlIHRoYXQgdGhlIHNyY3BhZCBoYXMgY2FwcyBiZWZvcmUgZmluaXNoaW5nIGFjdHVhbCBhdWRpbyBkYXRhCgoyMDEyLTAxLTA5IDE0OjM5OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgdXBkYXRlIGNhcHMgb24gZXZlcnkgYnVmZmVyCgoyMDEyLTAxLTA5IDE0OjI4OjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRG9uJ3QgY2FsbCBnc3RfYnVmZmVyX21lbWNtcCgpIHdpdGggYSBOVUxMIGJ1ZmZlcgoKMjAxMi0wMS0wOSAxMTowMzoyNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHVzZSB0aGUgZnJhbWVyYXRlIHRoYXQgd2FzIGNvcGllZCBhIGZldyBsaW5lcyBhYm92ZQoKMjAxMi0wMS0wOSAxMDo1ODo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgYSBjb3VwbGUgY29uc3RzIG9uIHN0cmluZyBsaXRlcmFsIGFycmF5cwoKMjAxMi0wMS0wOSAwODo0MDo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEdzdEJhc2VDYW1lcmFTcmMgaXMgdGhlIGJhc2UgY2xhc3MsIG5vdCBHc3RCaW4KCjIwMTItMDEtMDkgMDg6MzQ6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHZvYW1yd2JlbmMsIGx2MiBhbmQgdGVsZXh0ZGVjIGFyZSBub3QgcG9ydGVkIHlldAoKMjAxMS0xMi0xOSAxMToyNDozMSAtMDUwMCAgRGF2aWQgQmlvbWVjaDM2MCA8ZGRlczMxMEB5YWhvby5jb20+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IGFkZGVkIHN1cHBvcnQgZm9yIGEgdmlzdWFsIG1hZ25pZmllciBjb2xvciBmaWx0ZXIgdG8gYmUgdXNlZCBpbiBnbm9tZS12aWRlby1lZmZlY3RzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjY1NDIKCjIwMTItMDEtMDYgMTA6NTI6MzYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdGVzdCBhbmQgc2V0IG5vdCB1c2luZyB0aGUgc2FtZSBpbnB1dAoJICBUaGlzIGZpeGVzIEguMjY0IG91dHB1dCBub3QgaGF2aW5nIGEgc2V0IGZyYW1lcmF0ZSwgYW5kCgkgIGNvbmZ1c2luZyBzb21lIG9mIHRoZSBlbGVtZW50cyBkb3duc3RyZWFtIChzdWNoIGFzIGludGVybGFjZSkuCgoyMDEyLTAxLTA2IDEwOjM5OjA3ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogYXZvaWQgZGl2aWRpbmcgYnkgemVybyBvbiB1bmtib3duIGZyYW1lcmF0ZQoJICBJZiB0aGUgZnJhbWVyYXRlIGlzIHVua25vd24sIHdlIGNhbm5vdCBnZW5lcmF0ZSBtZWFuaW5nZnVsCgkgIGJ1ZmZlciB0aW1lc3RhbXBzL2R1cmF0aW9ucywgc28gc2V0IHRoZW0gdG8gX05PTkUgaW5zdGVhZCBvZgoJICBjYWxjdWxhdGluZyBzb21ldGhpbmcgd3JvbmcgYW5kIGRpdmlkaW5nIGJ5IDAuCgoyMDEyLTAxLTAyIDA4OjI4OjEzICswMTAwICBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvR3N0VlA4RW5jLnByczoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSAgdnA4OiBhZGQgaW5pdGlhbCBwcmVzZXQgZmlsZQoJICBUaGlzIGlzIGluaXRpYWwgcHJlc2V0IGZpbGUsIGN1cnJlbnRseSB3aXRoIG9ubHkgb25lIHByb2ZpbGUKCSAgZm9yIHJlYWx0aW1lIGVuY29kaW5nLgoJICBTaWduZWQtb2ZmLWJ5OiBPbGVrc2lqIFJlbXBlbCAoQWxleGV5IEZpc2hlcikgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTItMDEtMDUgMTQ6MzA6MjEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogbGluayBhZ2FpbnN0IHZpZGVvIGxpYnJhcnkKCjIwMTEtMTItMDggMTI6MTU6MzkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmVtb3ZlIGgyNjMgZ29iIHBhcnNpbmcsIHNpbmNlIHRoZXJlIGlzIG5vIGdvYiBpbW1lZGlhdGUgYWZ0ZXIgc3ZoCgoyMDExLTEyLTA4IDEyOjEzOjM4ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGFkZCBtaXNzaW5nIHplcm9fYml0cyBpbiBoMjYzIHBhcnNpbmcKCjIwMTEtMTItMDggMTI6MTI6MjEgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaW5jbHVkZXMgc3RhcnRfbWFya2VyIGluIGgyNjMgaGVhZGVyIGZvciBwYXJzaW5nCgoyMDExLTEyLTA4IDEyOjA3OjQyICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBvZmZzZXQgaXNzdWUgaW4gaDI2MyBwYXJzZQoKMjAxMS0xMi0wOCAxMToyNzo1NiArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggbWFzayBwYXR0ZXJuIGZvciBoMjYzIHN0YXJ0IG1hcmtlcgoKMjAxMi0wMS0wNSAxMTowMTowMSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIHRlc3RzOiB0ZXN0IGZvciBHVEsgMi4yNCBmb3IgbmV3IHN5bWJvbHMgdXNlZCBpbiBjYW1lcmFiaW4yIHRlc3RzCgkgIFRoZSB3aG9sZSB0cmVlIGlzIGxpa2VseSB0byBzd2l0Y2ggdG8gR1RLIDMuMCBhdCBzb21lIHBvaW50LCBidXQKCSAgd2UgbWlnaHQgYXMgd2VsbCBjb250aW51ZSBidWlsZGluZyB3aXRoIHNsaWdodGx5IGxlc3MgbmV3IHZlcnNpb25zCgkgIGlmIGl0J3Mgbm90IGhhcmQgdG8gZG8uCgoyMDEyLTAxLTA1IDEwOjM4OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIHNpZ25hbHByb2Nlc3NvcjogVGhlIG11bHRpY2hhbm5lbC5oIGhlYWRlciBpcyBnb25lIG5vdwoKMjAxMi0wMS0wNSAxMDoyMzowNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogVXBkYXRlIGZvciB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA1IDA5OjUyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBQb3J0IHRvIHRoZSBuZXcgcmF3IGF1ZGlvIGNhcHMKCjIwMTItMDEtMDUgMDk6MzQ6MjcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJICBmbGl0ZXRlc3RzcmM6IFVwZGF0ZSB0byB0aGUgbmV3IHJhdyBhdWRpbyBjYXBzCgoyMDEyLTAxLTA0IDE2OjEzOjE0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IFVwZGF0ZSBmb3IgdGhlIG5ldyByYXcgYXVkaW8gY2FwcwoKMjAxMi0wMS0wNCAxOTo1MjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDA1NDZlNTggdG8gMDgwNzE4NwoKMjAxMi0wMS0wNCAxODo0Mjo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IHJlbW92ZSB0ZW1wb3JhcnkgZmlsZXMgd2hlbiBkb25lIGluIGNhbWVyYWJpbiwgY2FtZXJhYmluMiBhbmQgamlmbXV4IHRlc3RzCgoyMDEyLTAxLTA0IDExOjI4OjM2ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhYy5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFkLmM6CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBwb3J0IHNvbWUgbW9yZSB1bml0IHRlc3RzCgoyMDEyLTAxLTA0IDEwOjU2OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogZml4IGFuZCB0d2VhayBmcmFtZSB0aW1lc3RhbXBpbmcKCSAgLi4uIHRvIHJ1biB3aXRoIHByb3Blcmx5IGluaXQnZWQgdmFyaWFibGVzLCBhbmQgdG8gb25seSBwZXJmb3JtIGludGVycG9sYXRpb24KCSAgaW4gc2FmZSBjYXNlcy4KCjIwMTItMDEtMDQgMTA6MDI6MjggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIEdTVF9GTE9XX1VORVhQRUNURUQgLT4gR1NUX0ZMT1dfRU9TCgoyMDEyLTAxLTAzIDIyOjA5OjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJlZmVyIG5lZ290aWF0aW5nIHBhc3MtdGhyb3VnaAoKMjAxMi0wMS0wMyAyMTo1OTozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG1hcmsgYnl0ZS1zdHJlYW0gQVUgZnJhbWUgd2l0aCBpbnNlcnRlZCBjb2RlYyBOQUxzIGFzIGtleWZyYW1lCgoyMDEyLTAxLTAzIDIwOjIzOjE2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcHJvcGVybHkgZGV0ZXJtaW5lIHNraXAgYW1vdW50IHdoZW4gbm8gTkFMIHN0YXJ0IGZvdW5kIHlldAoKMjAxMi0wMS0wMyAyMDoyMTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHNvbWUgbW9yZSBwcm9wZXIgcGFyc2Ugc3RhdGUgcmVzZXQKCjIwMTItMDEtMDMgMTU6MjY6NTQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgR1NUX0ZMT1dfVU5FWFBFQ1RFRCAtPiBHU1RfRkxPV19FT1MKCjIwMTItMDEtMDIgMTU6NTU6MjEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBlbmNvZGluZyBwcm9maWxlcyBhcmUgb2JqZWN0cyBpbiAwLjExCgoyMDEyLTAxLTAyIDE1OjUyOjIzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgZXhhbXBsZXM6IEZpeCBidWlsZAoKMjAxMS0xMi0zMSAwOTo1NTo0NiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgY29udHJvbGxlcjogcG9ydCB0byBBUEkgY2hhbmdlcwoKMjAxMS0xMi0zMCAxOTowODowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogdXBkYXRlIGZvciBnZHAgZGF0YXByb3RvY29sIGxpYnJhcnkgcmVtb3ZhbAoKMjAxMS0xMi0zMCAxODoxODoxMCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBTd2FsbG93IGluY29taW5nIGNhcHMgZXZlbnQKCSAgT3RoZXJ3aXNlIHdlIGVuZCB1cCBhc2tpbmcgc3ViY2xhc3NlcyB0byBwdXNoIHRoZSBldmVudCBmb3J3YXJkLAoJICB3aGljaCB3aWxsIGZhaWwgc2luY2Ugbm8gcGFkcyBhcmUgY3JlYXRlZCB5ZXQuCgoyMDExLTEyLTMwIDE4OjE3OjI2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFByb3Blcmx5IGNhcnJ5IG92ZXIgdGhlIHRpbWVzdGFtcAoKMjAxMS0xMS0wOCAyMDoxOTo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICB0c2RlbXV4OiBVc2UgaW5jb21pbmcgdGltZXN0YW1wcyBpbiBsaXZlIG1vZGUKCjIwMTEtMTEtMDggMjA6MTI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogUmVwb3J0IGxhdGVuY3kgKDcwMG1zKQoKMjAxMS0xMS0wOCAwOTo0NDoxOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJICBtcGVndHNiYXNlOiBRdWVyeSB3aGV0aGVyIHVwc3RyZWFtIGlzIGxpdmUgb3Igbm90CgoyMDExLTEyLTA2IDE3OjM3OjQ1ICswMTAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogQWN0aXZhdGUgcGFkIGJlZm9yZSBzZXR0aW5ncyBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU2NzcKCjIwMTEtMTItMzAgMTE6NDk6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbQoKMjAxMS0xMi0zMCAxMTo0MToxNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEtcHJlbWVyZ2UKCSAgQ29uZmxpY3RzOgoJICBkb2NzL2xpYnMvTWFrZWZpbGUuYW0KCSAgZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5jCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYwoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbQoJICBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmMKCSAgZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oCgkgIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYwoJICBnc3QvYXNmbXV4L2dzdGFzZm11eC5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYwoJICBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmMKCSAgZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jCgkgIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmMKCSAgZ3N0L21wZWd0c211eC9tcGVndHNtdXguYwoJICBnc3QvbXhmL214Zm11eC5jCgkgIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYwoJICBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jCgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTItMzAgMDA6MDI6NDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogUmVzZXQgc2hvdWxkIHJlc2V0IGN1cnJlbnQgY2FwcwoJICBOZXcgY2FwcyB3aWxsIG5lZWQgdG8gYmUgbmVnb3RpYXRlZCB3aGVuIHJlc2V0IGhhcHBlbnMKCSAgKFBBVVNFRCB0byBSRUFEWSkuIFdpdGhvdXQgcmVzZXRpbmcgdGhlIGludGVybmFsCgkgIHN0b3JlZCBmb3JtYXQsIGJhc2V2aWRlb2VuY29kZXIvZGVjb2RlciB3b3VsZG4ndCBjYWxsIHRoZQoJICBjb25maWd1cmF0aW9uIGZ1bmN0aW9uIHdoZW4gdGhlIHNhbWUgY2FwcyB3YXMgbmVnb3RpYXRlZAoJICBhZ2FpbiBhcyB0aGV5IHdvdWxkIGJlbGlldmUgdGhpcyB3YXMgdGhlIHNhbWUgY2FwcyBhcyBiZWZvcmUuCgkgIFRoZSBpc3N1ZSBpcyB0aGF0IF9zdG9wIGhhcyBiZWVuIGNhbGxlZCB3aGVuIGdvaW5nIHRvIFJFQURZIGFuZAoJICB0aGUgZWxlbWVudHMgd291bGQgaGF2ZSByZXNldCB0aGVpciBpbnRlcm5hbCBjb2RlYyBsaWJzL3N0YXRlIGFzCgkgIHdlbGwuIEEgbmV3IGNvbmZpZ3VyYXRpb24gc2hvdWxkIGJlIGRvbmUuCgoyMDExLTEyLTMwIDAwOjAyOjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGNsYXJpZnkgc29tZSBtZXNzYWdlIGxvZ3MKCSAgQmUgZXhwbGljaXQgb24gd2hpY2ggZW5jb2RlYmluIHdlJ3JlIHN3aXRjaGluZyBwcm9maWxlcyBvbiB0aGUKCSAgbG9nIG1lc3NhZ2VzCgoyMDExLTEyLTI5IDEzOjMwOjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgc29tZSBlcnJvciBoYW5kbGluZyBmb3IgZm9ybWF0IGNoYW5naW5nCgkgIENoZWNrIHRoYXQgdGhlIGZvcm1hdCBjb3VsZCBiZSBpbml0aWFsaXplZCBhbmQgc2hvd3MgYSBtb2RhbCBkaWFsb2cKCSAgaW4gY2FzZSBpdCBjb3VsZG4ndC4KCjIwMTEtMTItMjkgMTI6NDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5oOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLnVpOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogYWRkIGZvcm1hdCBzZWxlY3Rpb24gZm9yIGNhbWVyYWJpbjIgZXhhbXBsZQoJICBBZGRzIGEgY29tYm9ib3ggZm9yIHNlbGVjdGluZyB0aGUgdmlkZW8gcHJvZmlsZSBmb3IgcmVjb3JkaW5ncy4KCSAgVXNlZnVsIGZvciB0ZXN0aW5nIG11bHRpcGxlIGZvcm1hdHMgYS92IHN5bmMgd2hlbiByZWNvcmRpbmcuCgoyMDExLTEyLTI4IDE2OjU5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IHJlbW92ZSBjb21tZW50IGZvciBhbHJlYWR5IGZpeGVkIGlzc3VlcyBvbiBtYWtlZmlsZQoJICBTb21lIGlzc3VlcyBvbiBjYW1lcmFiaW4yIGFuZCBqaWZtdXggdGVzdHMgd2VyZSBmaXhlZCBzb21lCgkgIHRpbWUgYWdvLCByZW1vdmUgdGhlIGNvbW1lbnRzIGFib3V0IHRoZW0KCjIwMTEtMTItMjggMTY6NTc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBtZXNzYWdlIGxlYWsgaW4gdGVzdHMKCjIwMTEtMTItMjcgMTE6NTk6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZml4IGd2YWx1ZSBsZWFrCgoyMDExLTEyLTI3IDEwOjIzOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbWFpbmxvb3AgbGVha3MKCjIwMTEtMTItMjcgMTA6MjA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogc2VjdXJlIGV2ZW50IHJlZiB3aGVuIHNlbmRpbmcgZXZlbnQgdG8gcGFyZW50IGNsYXNzCgkgIGNhbWVyYWJpbjIgbmVlZHMgdG8gaG9sZCBhbiBleHRyYSByZWYgb24gc2VuZF9ldmVudCBiZWZvcmUgc2VuZGluZwoJICBpdCB0byB0aGUgcGFyZW50IGNsYXNzIGFzIGl0IHdpbGwgbmVlZCB0byB1c2UgaXQgYWZ0ZXIgdGhlIHBhcmVudAoJICBoYW5kbGVzIGl0LgoKMjAxMS0xMi0yNCAxNDozMjozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogcG9ydGluZyB0byAwLjExCgoyMDExLTEyLTIzIDE2OjMzOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgY2FtZXJhYmluMjogcG9ydCB0byAwLjExCgoyMDExLTEyLTIzIDA5OjMwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogc3RhbmRhcmRpemUgc29tZSBmaWVsZCBkYXRhIHR5cGVzCgkgIEZpeGVzICM2NjY3NTAuCgoyMDExLTEyLTIyIDE1OjE5OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogcmVtb3ZlIHJlZHVuZGFudCBmdW5jdGlvbnMKCSAgZ3N0X2Jpbl9nZXRfYnlfaW50ZXJmYWNlIHNob3VsZCBiZSBlbm91Z2ggZm9yIGFwcGxpY2F0aW9ucy4KCSAgSGF2ZW4ndCBzZWVuIGFueW9uZSB1c2luZyB0aG9zZSBvdGhlciB0aGFuIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTIyIDE1OjAxOjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIHVudXNlZCBoZWxwZXIgZnVuY3Rpb24KCSAgVGhpcyBkcm9wX2Vvc19wcm9iZSBmdW5jdGlvbiBpcyBub3QgdXNlZCBhbnltb3JlLCByZW1vdmUgaXQKCjIwMTEtMTItMjIgMTc6MTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZWNyZWF0ZSBlbmNvZGVyIGFmdGVyIGZsdXNoaW5nCgkgIC4uLiBzaW5jZSBpdCBhcHBlYXJzIHRoZSBleGlzdGluZyBvbmUgY2FuJ3QgYmUgYm90aGVyZWQgYW55bW9yZSB0byBwcm9kdWNlCgkgIHNvbWUgb3V0cHV0LgoKMjAxMS0xMi0yMiAxNzoxNDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHJlZmFjdG9yIGVuY29kZXIgbGlicmFyeSBzZXR1cAoKMjAxMS0xMi0yMiAxNzoxMDoxOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSAgdm9hYWNlbmM6IG5vIG5lZWQgdG8gZHVwbGljYXRlIGJhc2VjbGFzcyBzYW5pdHkgY2hlY2tzCgoyMDExLTEyLTIyIDE3OjA5OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuYzoKCSAgdm9hbXJ3YmVuYzogbm8gbmVlZCB0byBkdXBsaWNhdGUgYmFzZWNsYXNzIHNhbml0eSBjaGVja3MKCjIwMTEtMTItMjEgMjM6NTE6MzAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgdXBkYXRlIGZvciB2aWRlb2ZpbHRlciBjaGFuZ2VzCgoyMDExLTEyLTIxIDExOjMzOjQ4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJICB0ZXN0czogYXZvaWQgdXNlbGVzcyBpbmNsdWRlCgoyMDExLTEyLTE5IDE2OjQ5OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogRml4IEEvViBzeW5jIGZvciBjYXB0dXJlcwoJICBBdWRpbyBzcmMgd2FzIHB1c2hpbmcgbmV3c2VnbWVudHMgc3RhcnRpbmcgZnJvbSAwLCBldmVuIHdoZW4gaXRzIGJ1ZmZlcnMKCSAgd2VyZSBub3Qgc3RhcnRpbmcgd2l0aCAwIGFzIHRoZWlyIHRpbWVzdGFtcHMuIEFkZCBhIGJ1ZmZlciBwcm9iZSB0aGF0CgkgIGNoZWNrcyB0aGUgdHMgb2YgdGhlIGZpcnN0IGJ1ZmZlciBhbmQgdXNlcyB0aGF0IHRvIHB1c2ggYSBuZXdzZWdtZW50LAoJICBqdXN0IGxpa2Ugd2UgZG8gZm9yIHZpZGVvIG9uIHdyYXBwZXJjYW1lcmFiaW5zcmMuCgoyMDExLTEyLTE5IDE1OjE3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGVuYWJsZSB0ZXN0cwoJICBUZXN0cyBhcmUgcGFzc2luZyBub3csIGVuYWJsZSB0aGVtCgoyMDExLTEyLTE5IDE1OjE2OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFB1c2ggbmV3c2VnbWVudHMgb24gdmlkZW8gY2FwdHVyZSBzdGFydAoJICBQdXNoaW5nIG5ld3NlZ21lbnRzIHRvIGluZm9ybSBtdXhlcnMgYWJvdXQgdGhlIHN0YXJ0IHRpbWUgb2YgdGhlCgkgIHZpZGVvIGJ1ZmZlciB0aW1lc3RhbXBzLgoKMjAxMS0xMi0yMCAxNDowNDo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBjbGVhciBzZWkgbWVzc2FnZSBwcmlvciB0byBwYXJzaW5nCgkgIEZpeGVzICM2NjY1ODQuCgoyMDExLTEyLTE5IDIzOjUxOjE5ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBpbnRlcnBvbGF0aW9uLW1vZGUgYXBpCgoyMDExLTEyLTE5IDIyOjU0OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGFwaQoKMjAxMS0xMi0xOSAxODo0NDozMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkgIHk0bTogdXBkYXRlIGZvciBuZXcgaW50ZXJsYWNlIGNhcHMKCjIwMTEtMTItMTkgMTM6MTg6NTEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSB3YXJuIHdoZW4gd2Ugc2VlIGEgUElEIHdpdGggdW5rbm93biB0eXBlCgkgIFRoaXMgaXMgcXVpdGUgZnJlcXVlbnQsIGFuZCB3ZSB3aWxsIGp1c3QgaWdub3JlIHRoYXQgc3RyZWFtLAoJICBzbyBhbiBlcnJvciBpcyBub3Qgd2FycmFudGVkLgoKMjAxMS0xMi0xOSAxMjozMjoyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGF2b2lkIHB1c2hpbmcgU1BTL1BQUyBhdCBzdGFydCBvbmx5IGlmIGJvdGggYXJlIGZvdW5kIGluIHN0cmVhbQoJICBBdm9pZCBpbmplY3RpbmcgU1BTL1BQUyBuYWxzIG9ubHkgaWYgYm90aCBhcmUgYWxyZWFkeSBwcmVzZW50IGluIHRoZSBzdHJlYW0uCgkgIEZpeGVzIHNvbWUgQVZDIGNsaXBzIHRoYXQgaGFwcGVuIHRvIGhhdmUgb25seSBQUFMgbmFscyBpbiBzdHJlYW0uCgoyMDExLTEyLTE4IDE4OjM3OjA4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoKMjAxMS0xMi0xOCAxNzo0MDo1NyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRvIHdhaXQgZm9yIGEga2V5ZnJhbWUgd2hlbiBoYW5kbGluZyBmb3JjZSBrZXkgdW5pdCBldmVudHMKCSAgQWx0aG91Z2ggc29tZSBkZWNvZGVycyBjYW4gc3RhcnQgZGVjb2Rpbmcgd2l0aCBqdXN0IFBQUyBhbmQgU1BTIGFuZCB3YWl0aW5nIGZvcgoJICBhIGtleWZyYW1lIGlzIGJhZCB3aGVuIHRoZSBrZXlmcmFtZSBpbnRlcnZhbCBpcyBsYXJnZSwgZ3N0LWZmbXBlZyBkb2VzIG5lZWQgYQoJICBrZXlmcmFtZSB0byBzdGFydCBkZWNvZGluZy4KCjIwMTEtMTItMTggMTc6MzI6MTEgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiB1bnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdAoJICBVbnNldCB0aGUgY3VycmVudCBQQ1Igc3RyZWFtIHdoZW4gc3RhcnRpbmcgYSBuZXcgdW5pdCBzbyB0aGF0IGFmdGVyd2FyZHMgYSBuZXcKCSAgc3RyZWFtIGlzIHNlbGVjdGVkIGFzIFBDUiBhbmQgUEFUIGFuZCBQTVQgdGFibGVzIGFyZSByZWdlbmVyYXRlZC4KCjIwMTEtMTItMTggMTc6MzE6MTggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBmaXgga2V5IHVuaXQgZXZlbnQgaGFuZGxpbmcgd2hlbiBtdXhpbmcgYm90aCBhdWRpbyBhbmQgdmlkZW8KCSAgVGFrZSBvbmx5IHZpZGVvIGJ1ZmZlcnMgaW50byBhY2NvdW50IHdoZW4gZGVjaWRpbmcgd2hlbiB0byBjdXQgc28gdGhhdCBuZXcgdW5pdHMKCSAgc3RhcnQgd2l0aCBhIHZpZGVvIGtleWZyYW1lLgoKMjAxMS0xMi0xNSAxODoxNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZXRpZ2VyOiBkb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcgoKMjAxMS0xMi0xNSAxNjo0MjoyMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzOiBmaXggYmFkIG1lcmdlIChzdHJheSB1bm1hcCwgdW5kZWNsYXJlZCB2YXIpCgoyMDExLTEyLTE1IDExOjExOjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGppZm11eDogcmUtZW5hYmxlIGppZm11eCdzIHRlc3RzCgkgIEZpeCBmb3IgaXRzIHRlc3QgaXMgbm93IGF2YWlsYWJsZSBvbiAtYmFzZSBtb2R1bGUuCgkgIEVuYWJsaW5nIGFnYWluLgoKMjAxMS0xMi0xNSAxMzo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoKMjAxMS0xMi0xNSAxMzozOTo0MSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIE9ubHkgdGVzdGVkIHdpdGggYXVkaW8sIEkgY2FuJ3QgZ2V0IGl0IHRvIGFjY2VwdCB2aWRlbyAoYmVmb3JlCgkgIHRoZSBwb3J0KS4KCjIwMTEtMTItMTUgMTM6MjI6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBwb3J0IHRvIEdzdENvbGxlY3RQYWRzMgoJICBJICp0aGluayogdGhlIHN0cmVhbSBsb2NrIHVzZSBpcyBjb3JyZWN0LCBub3QgMTAwJSBzdXJlLgoKMjAxMS0xMi0xNSAxMzowODo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgoyMDExLTEyLTE1IDEzOjA0OjUxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpMHI6IHBvcnQgdG8gR3N0Q29sbGVjdFBhZHMyCgkgIFVudGVzdGVkLCBubyBzYW1wbGUgcGlwZWxpbmUgbWVudGlvbmVkLCBhbmQgSSd2ZSBubyBpZGVhIHdoYXQKCSAgdGhpcyBwbHVnaW4gZG9lcywgYnV0IHNpbmNlIGFsbCB0aGUgcHJldmlvdXMgcG9ydHMgd29yayBvdXQgb2YKCSAgdGhlIGJveCwgdGhpcyBpcyBkZWVtZWQgdG8gd29yayB1bnRpbCBldmlkZW5jZSBpdCBkb2Vzbid0LgoKMjAxMS0xMi0xNSAxMzowMjoxNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgY29tcGFyZTogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTUgMTI6NTk6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogcG9ydCB0byBHc3RDb2xsZWN0UGFkczIKCjIwMTEtMTItMTQgMTc6MzY6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBhdm9pZCBjcmFzaGluZyB1cG9uIGRyYWluaW5nCgkgIC4uLiBhbmQgY2xlYW4gdXAgc29tZSB2YXJpYWJsZSBpbml0IGFuZCBkZWJ1ZyBzdGF0ZW1lbnQuCgoyMDExLTEyLTE0IDA4OjU0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgdGVzdHM6IG1wZWd0c211eDogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0xMi0xNCAwODozMjo1MCAtMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBmaXggbGVhayBvbiBlcnJvciBoYW5kbGluZwoJICBDYW1lcmFiaW4yIHBhcnNlcyB3YXJuaW5nIG1lc3NhZ2VzIHdpdGggZ3N0X21lc3NhZ2VfcGFyc2Vfd2FybmluZyhtZXNzYWdlLAoJICAmZXJyLCAmZGVidWcpIGJ1dCBkb2Vzbid0IGZyZWUgZ2l2ZW4gR0Vycm9yIGFuZCBkZWJ1ZyBzdHJpbmdzLgoJICBEb2N1bWVudGF0aW9uIHNob3dzIHRoYXQgdGhlIG93bmVyc2hpcCBvZiB0aG9zZSBmaWVsZHMgaXMgdHJhbnNmZXJyZWQKCSAgdG8gY2FsbGVyICh0aGV5IGFyZSBtYXJrZWQgIlt0cmFuc2ZlciBmdWxsXSIgaW4gdGhlIEFQSSBkb2NzKS4KCjIwMTEtMTItMTIgMTU6NTI6MjAgKzAxMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogY2hlY2sgb2Zmc2V0IHdoZW4gcmV0cmlldmluZyB0YWJsZV9pZCBvbiBtYWxmb3JtZWQgcGFja2V0cwoJICBGaXggYnVnICM2NjU5ODgKCjIwMTEtMTItMTMgMTA6NDQ6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBSZXZlcnQgIm1wZWd0c3BhcnNlOiBjaGVjayBvZmZzZXQgd2hlbiByZXRyaWV2aW5nIHRhYmxlX2lkIG9uIG1hbGZvcm1lZCBwYWNrZXRzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGU2Mjk3OGQwNDVkNTdlZTlmZWQ3NTk4YzAyYjkwMTdlYjk3NGVhMzYuCgoyMDExLTEyLTEzIDEwOjE3OjQxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogRG9uJ3QgdXNlIEdfVFlQRV9SRUdJU1RFUl9CT1hFRCgpIHlldAoJICBUaGlzIHdvdWxkIHJlcXVpcmUgR0xpYiAyLjI2LgoKMjAxMS0xMi0xMiAyMDowMToxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAgdGlnZXI6IGFkdmVydGlzZSBhbGwgdGhlIG5ldyBZVVYgZm9ybWF0cyB3ZSBjYW4gbm93IHVzZQoKMjAxMS0xMi0xMiAxOTozNDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiByZXBsYWNlIHRoZSBuZXcgWVVWIGJsaXR0aW5nIGNvZGUgd2l0aCB0aGUgbmV3ZXIgb3ZlcmxheSBjb2RlCgoyMDExLTEyLTEyIDE0OjU0OjAwICswMTAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGNoZWNrIG9mZnNldCB3aGVuIHJldHJpZXZpbmcgdGFibGVfaWQgb24gbWFsZm9ybWVkIHBhY2tldHMKCjIwMTEtMTItMTIgMTM6NTk6MzMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiBmaXggYnVmZmVyIGxlYWsKCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBmcmFtZXN0YXRlIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMDUgMTg6NTc6MDEgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogTWFrZSBHc3RWaWRlb0ZyYW1lIGEgcmVmZXJlbmNlIGNvdW50ZWQgYm94ZWQgb2JqZWN0CgkgIC4uLmFuZCBhbHNvIGNsZWFyIGFsbCBleGlzdGluZyBmcmFtZXMgd2hlbiByZXNldHRpbmcgdGhlIGRlY29kZXIgb3IgZW5jb2Rlci4KCjIwMTEtMTItMTIgMTA6NDA6MDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB0ZWxldGV4dGRlYzogUHJvcGVybHkgaW50ZWdyYXRlIGludG8gdGhlIGJ1aWxkIHN5c3RlbQoKMjAxMS0xMi0xMiAxMDoyODoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL01ha2VmaWxlLmFtOgoJICBkdHM6IEFkZCAkKEdTVF9CQVNFX0xJQlMpIGFuZCBDRkxBR1MgdG8gdGhlIGJ1aWxkCgkgIGR0c2RlYyBub3cgdXNlcyBHc3RBZGFwdGVyLCB3aGljaCBpcyBpbiBsaWJnc3RiYXNlLiBBbHNvIHJlb3JkZXIKCSAgQ0ZMQUdTIGFuZCBMSUJBREQuCgoyMDExLTEyLTExIDE2OjA3OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIFNldCBET0NfT1ZFUlJJREVTLCBzbyB0aGUgLW92ZXJyaWRlcy50eHQgZmlsZSB3aGljaCBpcyBhcHBhcmVudGx5CgkgIGNyZWF0ZWQgYW55d2F5LCBnZXRzIGNsZWFuZWQgdXAgcHJvcGVybHkuCgoyMDExLTEyLTExIDE2OjA1OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgZG9jczogbWlub3IgTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgR1NUX0JBRF9DRkxBR1MgYW5kIEdTVF9CQURfTElCUyBkb24ndCBleGlzdC4KCjIwMTEtMTItMTEgMTU6Mjk6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBkaXNhYmxlIGZhaWxpbmcgamlmbXV4LCBjYW1lcmFiaW4yLCBhbmQgY29sb3JzcGFjZSB0ZXN0cwoJICBqaWZtdXg6IGdlbmVyYWw6dGVzdF9qaWZtdXhfdGFnczowOiBBc3NlcnRpb24gJ2VudHJ5LT5jb21wb25lbnRzID09IDInIGZhaWxlZAoJICBjYW1lcmFiaW4yOiB0ZXN0X211bHRpcGxlX3ZpZGVvX3JlY29yZGluZ3M6MDogZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZTogYXNzZXJ0aW9uIGBHU1RfSVNfQ0FQUyAoY2FwcykKCSAgY29sb3JzcGFjZTogYmFkIG1lbW9yeSBhY2Nlc3NlcyBpbiBvcmMgY29kZSBmb3Igb2RkIHdpZHRoIGJ1ZmZlcnMgKHNlZSBidWcgIzY2MzI0OCkKCjIwMTEtMTItMTEgMTU6MDM6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogZml4IGdfdXNsZWVwKCkgaW4gY2FtZXJhYmluMiB0ZXN0CgkgIGdfdXNsZWVwKCkgdGFrZXMgYSBtaWNyb3NlY29uZCB2YWx1ZSwgR1NUX1NFQ09ORCBpcyBuYW5vc2Vjb25kcywgc28KCSAgd2Ugd2VyZSBzbGVlcGluZyBmb3IgbW9yZSB0aGFuIDMgbWludXRlcyBoZXJlIGluc3RlYWQgb2YgMjAwbXMuCgoyMDExLTEyLTExIDAwOjU5OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VvLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZ2wucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wOS0yNSAyMzo1NzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBwdXQgc3RyZWFtIGhlYWRlcnMgaW50byBvdXRwdXQgY2FwcwoJICBCYXNpYyB2ZXJzaW9uIHdpdGggb25seSB0aGUgc3lzdGVtIGhlYWRlciBhbmQgdGhlIHByb2dyYW0KCSAgc3RyZWFtIG1hcC4gQW4gYWR2YW5jZWQgdmVyc2lvbiBjb3VsZCBpbmNsdWRlIGNvZGVjLXNwZWNpZmljCgkgIGJpdHMgbGlrZSBTUFMvUFBTIHRvby4gVGhpcyBpcyB1c2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoCgkgIGUuZy4gbXVsdGlmaWxlc2luayB0byBtYWtlIHN1cmUgbmV3IGZpbGVzIGFsd2F5cyBzdGFydCB3aXRoCgkgIHRoZSBzdHJlYW0gaGVhZGVycy4KCjIwMTEtMDktMTYgMTk6MzI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguaDoKCSAgbXBlZ3BzbXV4OiBhZGQgImFnZ3JlZ2F0ZS1nb3BzIiBwcm9wZXJ0eSB0byBhZ2dyZWdhdGUgR09QcyBpbnRvIGJ1ZmZlciBsaXN0cwoJICBVc2VmdWwgaW4gY29ubmVjdGlvbiB3aXRoIG11bHRpZmlsZXNpbmssIGZvciBleGFtcGxlLCB0byBtYWtlIHN1cmUKCSAgdGhlIG5ldyBmaWxlIGFsd2F5cyBzdGFydHMgd2l0aCBhIGtleWZyYW1lLgoKMjAxMS0xMi0xMCAyMDowODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHByaW1hcnkgdmlkZW8gc3RyZWFtCgoyMDExLTA4LTMxIDE5OjQwOjA1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uYzoKCSogZ3N0L21wZWdwc211eC9wc211eHN0cmVhbS5oOgoJICBtcGVncHNtdXg6IHJlbWVtYmVyIHdoZXRoZXIgYW4gaW5jb21pbmcgYnVmZmVyIGlzIGEga2V5dW5pdCBvciBub3QKCjIwMTEtMTItMDkgMTc6MjU6NDEgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzcGF5LmM6CgkgIG9wdXNlbmM6IGFkZCB1cHN0cmVhbSBuZWdvdGlhdGlvbiBmb3IgbXVsdGlzdHJlYW0gYWJpbGl0eQoJICBUaGlzIHdpbGwgaGVscCBlbGVtZW50cyB0aGF0IGNhbm5vdCBkZWFsIHdpdGggbXVsdGlzdHJlYW0sCgkgIHN1Y2ggYXMgdGhlIFJUUCBwYXlsb2FkZXIuCgkgIFRoZSBjYXBzIG5vdyBkbyBub3QgaW5jbHVkZSBhICJzdHJlYW1zIiBmaWVsZCBhbnltb3JlLCBidXQKCSAgYSAibXVsdGlzdHJlYW0iIGJvb2xlYW4sIHNpbmNlIHdlIGhhdmUgbm8gcmVhbCB1c2UgZm9yIGtub3dpbmcKCSAgdGhlIGV4YWN0IGFtb3VudCBvZiBzdHJlYW1zLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA3IDE1OjEzOjExIC0wMjAwICBEYW5pbG8gQ2VzYXIgTGVtZXMgZGUgUGF1bGEgPGRhbmlsby5jZXNhckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RydHBvcHVzZGVwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c2RlcGF5Lmg6CgkqIGV4dC9vcHVzL2dzdHJ0cG9wdXNwYXkuYzoKCSogZXh0L29wdXMvZ3N0cnRwb3B1c3BheS5oOgoJICBBZGRpbmcgb3B1cyBSVFAgcGF5bG9hZGVyL2RlcGF5bG9hZGVyIGVsZW1lbnQKCSAgQWRkaW5nIE9QVVMgUlRQIG1vZHVsZSBiYXNlZCBvbiB0aGUgY3VycmVudCBkcmFmdDoKCSAgaHR0cDovL3Rvb2xzLmlldGYub3JnL2lkL2RyYWZ0LXNwaXR0a2EtcGF5bG9hZC1ydHAtb3B1cy0wMC50eHQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDgxNwoKMjAxMS0xMi0wOCAxOTo0Nzo1NSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXM6IGluY2x1ZGUgc3RyZWFtcyBjb3VudCBpbiBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDggMTg6NDU6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1czogcHJvcGVybHkgY3JlYXRlIGNoYW5uZWwgbWFwcGluZyB0YWJsZXMKCSAgVGhlcmUgYXJlIHR3byBvZiB0aGVtLCB1bmludHVpdGl2ZWx5IGVub3VnaDsgdGhlIG9uZSBwYXNzZWQKCSAgdG8gdGhlIGVuY29kZXIgc2hvdWxkIG5vdCBiZSB0aGUgb25lIHRoYXQgZ2V0cyB3cml0dGVuIHRvIHRoZQoJICBmaWxlLiBUaGUgZm9ybWVyIG1hcHMgdGhlIGlucHV0IHRvIGFuIG9yZGVyaW5nIHdoaWNoIHB1dHMKCSAgcGFpcmVkIGNoYW5uZWxzIGZpcnN0LCB3aGlsZSB0aGUgbGF0dGVyIG1vdmVzIHRoZSBjaGFubmVscwoJICB0byBWb3JiaXMgb3JkZXIuIFNvIGFkZCBjb2RlIHRvIGNhbGN1bGF0ZSBib3RoLCBhbmQgd2Ugbm93CgkgIGhhdmUgcHJvcGVybHkgcGFpcmVkIGNoYW5uZWxzIHdoZXJlIGFwcHJvcHJpYXRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTA4IDIyOjQ5OjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogZml4IExJQlMgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMTItMDggMTI6NDI6NTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogb25seSBvZmZzZXQgdGltZXN0YW1wcyB3aGVuIGxpdmUKCSAgVGhpcyBjb2RlIGlzIHRvIHN5bmMgdG8gYSBsaXZlIHNvdXJjZSB3aGVuIHRoZXJlIGlzIGEgZGVsYXkKCSAgYmV0d2VlbiBzdGFydCBhbmQgd2hlbiB3ZSByZWNlaXZlIHRoZSBmaXJzdCBidWZmZXIsIHNvIGl0IGRvZXMKCSAgbm90IG1ha2Ugc2Vuc2UgaW4gYSBub24gbGl2ZSBjYXNlLgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIG9mIHN0cmVhbXMgd2hlcmUgdGhlIGlucHV0IHRpbWVzdGFtcHMgYXJlCgkgIGJhc2VkIG9mZiBzb21lIGFyYml0cmFyeSBvZmZzZXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NTYKCjIwMTEtMTItMDggMTE6NTE6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBtYWtlIHRoZSBoZWFkZXIgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlLCBub3QgdGhlIGJ1ZmZlcgoKMjAxMS0xMi0wOCAxMDoxOTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBGaXggaGFuZGxpbmcgb2YgZm9yY2Uta2V5dW5pdCBldmVudHMKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGhlYWRlciBjbGVhbnVwCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMDA6MDY6MTEgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IFRydW5jYXRlIGNhcHMgZmlyc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTA3OAoKMjAxMS0xMS0yOCAxOTo0NzozNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGRlZmF1bHQgdG8gc3RlcmVvIDQ4MDAwIEh6IGlmIHBvc3NpYmxlIHdoZW4gbm8gaGVhZGVycyBzZWVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjUwNzgKCjIwMTEtMTItMDcgMTM6NDg6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmRlYy5jOgoJICByc25kZWM6IERvbid0IHVzZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBvbiBhdXRvY29udmVydAoJICBJdCB3YXMgcmVtb3ZlZCwgc2VlIGJ1ZyAjNTk5NDY5LCAjNjY1MjA1CgoyMDExLTEyLTA3IDEzOjQ2OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFJlbW92ZSB0aGUgaW5pdGlhbC1pZGVudGl0eSBwcm9wZXJ0eSBmcm9tIGF1dG9jb252ZXJ0CgkgIEluaXRpYWxseSBjcmVhdGluZyBhbiBpZGVudGl0eSBlbGVtZW50IHRvIGZvcndhcmQgc2VyaWFsaXplZAoJICBldmVudHMgZG93bnN0cmVhbSBiZWZvcmUgYW55IGNhcHMgYXJlIGtub3duIGlzIGJyb2tlbiBiZWhhdmlvdXIuCgkgIFNlcmlhbGl6ZWQgZXZlbnRzIHNob3VsZCBvbmx5IGJlIGZvcndhcmRlZCBkb3duc3RyZWFtIGlmIHRoZQoJICBjYXBzIGFyZSBhbHJlYWR5IGtub3duLCBvdGhlcndpc2UgYXV0b3BsdWdnZXJzIGFuZCBvdGhlciBlbGVtZW50cwoJICB1c2luZyBwYWQtYmxvY2tzIHdpbGwgZmFpbC4KCSAgVGhpcyBiZWhhdmlvdXIgYWxzbyBkb2Vzbid0IHdvcmsgYW55bW9yZSBhZnRlciBiYXNldHJhbnNmb3JtCgkgIHdhcyBmaXhlZCB0byBxdWV1ZSBzZXJpYWxpemVkIGV2ZW50cyB1bnRpbCB0aGUgY2FwcyBhcmUga25vd24KCSAgYXMgYSByZXN1bHQgb2YgZml4aW5nIGJ1ZyAjNjU5NTcxLgoJICBTZWUgYnVnICM1OTk0NjksICM2NjUyMDUuCgoyMDExLTEyLTA2IDE2OjI3OjI1IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IERvIG5vdCBub3Qgc2tpcCBzdGFydGNvZGUgd2hlbiBuZWVkZWQKCSAgRml4OiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1NjMxCgoyMDExLTEyLTA2IDA4OjU1OjE5ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpcnN0IHZpZGVvX3BhY2tldF9oZWFkZXIgZG9lc24ndCBzdGFydCB3aXRoIHJlc3luY19tYXJrZXIKCjIwMTEtMTItMDYgMDg6NTM6MDcgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogcmV0dXJuIE5PX1BBQ0tFVCBpZiBuZWVkZWQKCjIwMTEtMTItMDYgMDg6MzE6MTQgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGNoZWNrIHJlc3luYyBtYXJrZXIKCjIwMTEtMTItMDYgMDg6MjU6NTkgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGFuIGlzc3VlIGluIGZpbmRpbmcgdGhlIGxhc3QgdmlkZW8gcGFja2V0IGluIHZvcAoKMjAxMS0xMi0wNiAwODoyMToxOSArMDgwMCAgWmhhbyBIYWxsZXkgPGhhbGxleS56aGFvQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBpbmNsdWRlIHJlc3luYyBtYXJrZXIgaW4gdmlkZW8gcGFja2V0IHNpemUKCjIwMTEtMTItMDYgMDg6MTk6MDUgKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2Vyczogc2NhbiBuZXh0IHJlc3luYyBtYXJrZXIgYWZ0ZXIgY3VycmVudCBvbmUKCjIwMTEtMTItMDYgMDg6MTc6MzggKzA4MDAgIFpoYW8gSGFsbGV5IDxoYWxsZXkuemhhb0BpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IDwgMCBpc3N1ZSBvZiBndWludCBpbiBtcGVnNCBwYXJzZXIKCSAgZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiByZXR1cm5zIGEgZ3VpbnQsIG5vdCBhIGdpbnQsIHdoaWNoCgkgIGV4cGxhaW5zIHRoZSBpc3N1ZSB3ZSBzb21ldGltZSBnZXQgdXNpbmcgPCAwIGluc3RlYWQgb2YgPT0gLTE7CgoyMDExLTEyLTA2IDA4OjE1OjQ2ICswODAwICBaaGFvIEhhbGxleSA8aGFsbGV5LnpoYW9AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGZpeCBwYXR0ZXJuL21hc2sgb2YgcmVzeW5jX21hcmtlciBwYXJzaW5nIG9mIG1wZWc0CgoyMDExLTEyLTA2IDEzOjA2OjA2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogaGFuZGxlIGZvcmNlIGtleSB1bml0IGV2ZW50cwoJICBTZW5kIFNQUy9QUFMgb24gZm9yY2Uga2V5IHVuaXQgZXZlbnRzLiBVc2VmdWwgZm9yIGV4YW1wbGUgd2hlbiBzZXJ2aW5nIEhMUwoJICB3aXRob3V0IHRyYW5zY29kaW5nLgoKMjAxMS0xMi0wNiAxMjo1NToyNiArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogZml4IGNvbXBpbGUgd2FybmluZ3MgaW4gZ3N0bXBlZzRwYXJzZXIuYwoKMjAxMS0xMi0wNSAxMTo1NjowMiArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9saWJzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBBZGQgbW9yZSBmaWxlcyB0byAuZ2l0aWdub3JlCgoyMDExLTEyLTA1IDExOjUwOjE3ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogVXNlIGZhc3RlciBwYXJzaW5nIHZhcmlhbnQgd2hlbiBpbnB1dCBpcyBwYWNrZXRpemVkCgkgIFJlZHVjZXMgbGF0ZW5jeSBhbmQgY3B1IHVzYWdlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjU1ODQKCjIwMTEtMTItMDUgMTE6NDc6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IFZhcmlhbnQgb2YgX2lkZW50aWZ5X25hbHUgd2l0aG91dCBjaGVja3MKCSAgVGhpcyBpcyB1c2VmdWwgZm9yIGNhc2VzIHdoZXJlIHRoZSBjYWxsZXIgKmtub3dzKiB0aGF0IHRoZSBwcm92aWRlZAoJICBpbnB1dCBjb250YWlucyBhIHdob2xlIE5BTFUgYW5kIGNhbiB0aGVyZWZvcmUgYXZvaWQ6CgkgICogdGhlIGV4cGVuc2l2ZSBjaGVja3MgZm9yIHRoZSBuZXh0IHN0YXJ0IGNvZGUgKHdoaWNoIHdvbid0IGJlIHByZXNlbnQpCgkgICogZGVsYXlpbmcgdGhlIGlucHV0IHBhcnNpbmcgKHNpbmNlIHdlIHdvdWxkIG5lZWQgdGhlIG5leHQgaW5jb21pbmcgTkFMVQoJICBpbiBvcmRlciBmb3IgdGhlIHBhcnNpbmcgY29kZSB0byBkZXRlY3QgdGhlIG5leHQgc3RhcnQgY29kZSkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NTU4NAoKMjAxMS0xMi0wNSAxMzowOToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlZmxvdyBzbGljZSBuYWwgcHJvY2Vzc2luZwoKMjAxMS0xMi0wNSAxMjo1Nzo0NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNsaWNlIG5hbCBwcm9jZXNzaW5nCgkgIE9ubHkgbWluaW1hbCBzbGljZSBpbmZvIGlzIG5lZWRlZCBoZXJlIHRvIGRldGVybWluZSByZWFsIGZyYW1lIHN0YXJ0LAoJICBzbyBubyBuZWVkIHRvIHBhcnNlIGV4dGVuc2l2ZWx5LgoJICBGaXhlcyAjNjY1NDE4LgoKMjAxMS0xMi0wNSAxMjo1Mzo1OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXI6IHVuYnJlYWsgaDI2NCBzbGljZSBoZWFkZXIgcGFyc2luZwoJICAuLiBpbnRyb2R1Y2VkIGJ5IHJlZmFjdG9yaW5nIGluIGNvbW1pdCAxNzc0NTFjOTIxNmY0ZTM5NTllNzM1ODY3NWZiYjk3MzFkMmM4MWEyCgoyMDExLTEyLTAxIDE4OjI4OjQ5ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmRAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSAgcHZyMmQ6IFBvcnQgdG8gMC4xMQoJICBIYW5kbGVzIEdzdFZpZGVvTWV0YSBhbmQgR3N0VmlkZW9Dcm9wTWV0YQoJICBQcm92aWRlcyBHc3RCdWZmZXJQb29sCgkgIE5ldyBHc3RQVlJNZXRhIHRvIGhhbmRsZSB0aGUgd3JhcHBlZCBQVlIgbWVtX3NyYwoKMjAxMS0xMi0wMiAxNzo1MzoyMyArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEZpeCByZWZlcmVuY2UgY291bnRpbmcgb2YgY29kZWNfZGF0YQoKMjAxMS0xMi0wNSAwODo1Njo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IEltcGxlbWVudCBpdGVyYXRlX2ludGVybmFsX2xpbmtzIGZ1bmN0aW9uIG9uIHRoZSBzaW5rcGFkIGFuZCBzcmNwYWQKCjIwMTEtMTEtMjggMTk6Mzg6MzQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBndWFyZCBhZ2FpbnN0IGRlY29kaW5nIDAgc2FtcGxlcwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY1MDc4CgoyMDExLTEyLTAyIDExOjQ2OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBSZXF1aXJlIFhWSUQgQVBJID49IDQuMwoJICBUaGlzIGlzIHJlcXVpcmVkIGZvciBlbmNvZGluZyB0aGUgc2ltcGxlIHByb2ZpbGUKCSAgd2l0aCBsZXZlbHMgNGEsIDUgb3IgNi4KCSAgRml4ZXMgYnVnICM2NjUzNzguCgoyMDExLTEyLTAxIDE2OjU5OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IHVzZSBHc3RTYW1wbGUgZm9yIHRoZSBwcmV2aWV3CgoyMDExLTEyLTAxIDEwOjU0OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgeHZpZGVuYzogRG9uJ3QgYWRkIHRoZSBwcm9maWxlL2xldmVsIHRvIHRoZSB2aWRlby94LXh2aWQgY2FwcwoKMjAxMS0xMi0wMSAwOTo1NDowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZGVuYzogQWRkIHByb2ZpbGUvbGV2ZWwgdG8gdGhlIGNhcHMgYW5kIG5lZ290aWF0ZSB0aGVtIHdpdGggZG93bnN0cmVhbQoJICBTdGlsbCBrZWVwIHRoZSBwcm9maWxlIHByb3BlcnR5IHRvIHNlbGVjdCBwcm9maWxlL2xldmVsIGlmIHRoZXJlCgkgIGFyZSBubyBkb3duc3RyZWFtIGNvbnN0cmFpbnRzLgoJICBGaXhlcyBidWcgIzY1MjI2MS4KCjIwMTEtMTItMDEgMDk6Mzk6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBZGQgc3VwcG9ydCBmb3IgbGV2ZWxzIDRhLzUvNiBvZiB0aGUgc2ltcGxlIHByb2ZpbGUKCjIwMTEtMTItMDEgMDk6MDI6NDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBsZXQgdXBzdHJlYW0gUEFSIG92ZXJyaWRlIGluLXN0cmVhbSBQQVIKCjIwMTEtMTEtMjMgMTg6MjY6NDQgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IHJld29yayBQQVIgcGFyc2luZwoJICBBbmQgaW4gdGhlIHByb2Nlc3MgcmVmYWN0b3IgX3VwZGF0ZV9zcmNfY2FwcyBhIGJpdAoKMjAxMS0xMS0xNiAwMDowMzoxMiAtMDUwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYWZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcmVzcGVjdCBwaXhlbC1hc3BlY3QtcmF0aW8KCSAgUGFyc2UgcGl4ZWwtYXNwZWN0LXJhdGlvIGluIHZ1aSBpbmZvcm1hdGlvbi4KCjIwMTEtMTEtMzAgMjI6MTI6MjcgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSAgc3BhY2VzcGFjZTogd2hpdGVzcGFjZSBjbGVhbnVwcwoKMjAxMS0xMS0zMCAyMjoxMTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjYXBlOiBhbHNvIGFkZCBjb2xvcm1vZGVzIGxpa2UgaW4gc3BhY2VzY29wZQoKMjAxMS0xMS0zMCAxNToxMzowNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL1JFQURNRToKCSAgYXVkaW92aXN1YWxpemVyOiB1cGRhdGUgUkVBRE1FCgoyMDExLTExLTMwIDE0OjIwOjM4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IGFkZCBjb2xvci1tb2RlcwoJICBJbiBjb2xvcm1vZGUgd2Ugc3BsaXQgdGhlIHNpZ25hbCBpbiBsb3csbWlkLGhpZ2ggZnJlcXVlbmN5IHBhcnRzIGFuZCBkcmF3IHRoZW0KCSAgc2VwYXJhdGVseSBpbnRvIHJlZCwgZ3JlZSwgYmx1ZSBjb2xvciBjaGFubmVscy4KCjIwMTEtMDgtMzAgMTQ6Mzc6NDIgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmg6CgkgIHJlcGxhY2UgcHJvcHNldF9tdXRleCB3aXRoIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMS0xMS0yNSAyMjozMjoxMSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGRyYXdoZWxwZXJzLmg6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHN0cmVhbWxpbmUgdGhlIGxpbmVfYWEgY29kZQoJICBIYXZlIGEgcmV1c2FibGUgZG90X2FhIGNvZGUgYW5kIHJldXNlIGluIHRoZSBsaW5lIGRyYXdpbmcuCgoyMDExLTExLTMwIDEwOjM1OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkgIG1wZWd0c211eDogZml4IGJ1aWxkIGluIHVuaW5zdGFsbGVkIHNldHVwCgkgIEFkZCAtYmFzZSBsaWJzIGluY2x1ZGVzIHRvIENGTEFHUywgZml4IG9yZGVyIG9mIExJQlMuCgoyMDExLTA4LTIxIDExOjAxOjM3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBhZGQgc3VwcG9ydCBmb3IgZm9yY2Uga2V5IHVuaXQgZXZlbnRzCgkgIEhhbmRsZSBmb3JjZSBrZXkgdW5pdCBldmVudHMgb3V0cHV0dGluZyBQQVQgYW5kIFBNVCB3aGVuIGFsbF9oZWFkZXJzPVRSVUUKCjIwMTEtMTEtMjkgMjM6NDE6MjIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIG9wZW5jdjogYWxsb3cgdG8gYnVpbGQgYWdhaW5zdCAyLjMuMQoKMjAxMS0xMS0yOSAxODoxODozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgYnVpbGQ6IGFkZCBvbGQgbXBlZzR2aWRlb3BhcnNlIGRpcmVjdG9yeSB0byBDUlVGVF9ESVJTCgoyMDExLTExLTI5IDE5OjExOjIyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGZpeCBmb3IgbW92ZWQgaW50ZXJmYWNlcwoKMjAxMS0xMS0yMiAwOTo0Nzo1OCArMDEwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IHJlY29yZCByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgoyMDExLTExLTIyIDA5OjQ3OjU3ICswMTAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiByZW5hbWUgcmVmX3BpY19saXN0X3Jlb3JkZXJpbmcoKSB0byByZWZfcGljX2xpc3RfbW9kaWZpY2F0aW9uKCkuCgkgIFVwZ3JhZGUgdG8gY3VycmVudCBBVkMgc3BlY2lmaWNhdGlvbi4KCjIwMTEtMTEtMjkgMTI6MjA6NTEgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiByZWNhbGN1bGF0ZSBhZGp1c3QgaWYgZGlmZmVyZW5jZSBpcyBuZWdhdGl2ZQoJICBPbmUgb2YgbXkgZHZkcyBqdW1wIG9uIHNvbWUgcG9zaXRpb24gYW5kIG1pc3MgYWJvdXQgMSBtaW51dGUgb2Ygc3RyZWFtLgoJICBUaGUgcmVhc29uIHdhcyBtcGVnIHRpbWVzdGFtcHMuIE9uIHNvbWUgcG9zaXRpb24gc2NyIGRpZmZlcmVuY2UgaXMgbmVnYXRpdmUuCgkgIEl0IHByb2R1Y2VkIG5lZ2F0aXZlIHRpbWVzdGFtcHMuIFNpbmNlIGl0IHdhcyBjb252ZXJ0ZWQgdG8gdW5zaWduZWQgdmFsdWUsCgkgIGdzdHJlYW1lciB0aW1lc3RhbXBzIHdhcyBpbnZhbGlkLiBJbnN0ZWFkIG9mIGluY3JlYXNpbmcgbXBlZyB0cywKCSAgdGhleSB3YXMgZGVjcmVhc2luZyB0aWxsIGl0IHN0YXJ0ZWQgdG8gYmUgcG9zaXRpdmUuCgkgIFRoZSBqdW1wIGluIHRpbWVzdGFtcHMgY2F1c2VkIG1wZWcyZGVjIHRvIHNraXAgZnJhbWVzIHRvIG1ha2UgUW9TIGhhcHB5LgoJICBUaGlzIHBhdGNoIGp1c3QgbWFrZSBkaWZmIHVuc2lnbmVkIHRvIGF2b2lkIG5lZ2F0aXZlIHZhbHVlcy4KCSAgU2lnbmVkLW9mZi1ieTogQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2MTE1CgoyMDExLTExLTI5IDEyOjEyOjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQYXNzIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5LXVuaXQgZXZlbnQgdG8gdGhlIHN1YmNsYXNzCgoyMDExLTExLTI5IDEyOjEyOjA0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEltcGxlbWVudCBmdWxsIHN1cHBvcnQgZm9yIHRoZSBuZXcgZm9yY2Uta2V5LXVuaXQgZXZlbnQKCSAgSW5jbHVkaW5nIHN1cHBvcnQgZm9yIHRoZSBydW5uaW5nLXRpbWUgYW5kIGNvdW50IGZpZWxkcy4KCjIwMTEtMTEtMjkgMDk6MzE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogVXNlIG5ldyBmb3JjZS1rZXl1bml0IGV2ZW50IEFQSSBmcm9tIGdzdC1wbHVnaW5zLWJhc2UKCjIwMTEtMTEtMjkgMDk6MTg6MTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogQWRqdXN0aW5nIHBhZGRpbmcgaXMgbm90IHJlcXVpcmVkIGZvciAtYmFkIGxpYnJhcmllcwoKMjAxMS0xMS0yOCAxOTo0ODowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNb3ZlIHNvbWUgZmllbGRzIHRvIHRoZSBwcml2YXRlIHBhcnQgb2YgdGhlIGluc3RhbmNlIHN0cnVjdAoKMjAxMS0xMS0yOCAxOTozNjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBNYWtlIGhlYWRlcnMgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIHB1c2hpbmcgZG93bnN0cmVhbQoJICBUaGUgdGltZXN0YW1wLCBkdXJhdGlvbiwgZXRjIG9mIHRoZSBoZWFkZXJzIGhhcyB0byBiZSBjaGFuZ2VkLgoKMjAxMS0xMS0yOCAxOTozNTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBQdXNoIHRoZSBkb3duc3RyZWFtIGZvcmNlLWtleWZyYW1lIGV2ZW50IGFmdGVyIHRoZSBuZXh0IGtleWZyYW1lCgkgIEV2ZW4gaWYgdGhlIGNvcnJlc3BvbmRpbmcgR3N0VmlkZW9GcmFtZSBkb2Vzbid0IGhhdmUgdGhlIGlzX3N5bmNfcG9pbnQKCSAgZmxhZyBzZXQuCgoyMDExLTExLTI4IDE5OjI5OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IERvbid0IHB1c2ggYW4gdXBzdHJlYW0gZm9yY2Uta2V5dW5pdCBldmVudCBkb3duc3RyZWFtCgoyMDExLTExLTI1IDExOjQ4OjA4ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIHRoZSBhbGwtaGVhZGVycyBmaWVsZCBvZiB0aGUgZm9yY2Uta2V5ZnJhbWUgZXZlbnQKCSAgU2VlIGJ1ZyAjNjA3NzQyLgoKMjAxMS0xMS0yOSAwOToyMjozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZml4IHNldC1idXQtbm90LXVzZWQtdmFyaWFibGUgY29tcGlsZXIgd2FybmluZwoJICBnc3RrYXRldGlnZXIuYzoxMTU2OjE1OiBlcnJvcjogdmFyaWFibGUgJ2hlaWdodCcgc2V0IGJ1dCBub3QgdXNlZAoJICBnc3RrYXRldGlnZXIuYzoxMTU2Ojg6IGVycm9yOiB2YXJpYWJsZSAnd2lkdGgnIHNldCBidXQgbm90IHVzZWQKCjIwMTEtMTEtMjkgMDk6MTU6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbWlub3IgZml4ZXMKCSAgQ29uc3QtaWZ5IG9uZSBtb3JlIFZMQyB0YWJsZS4gRml4IHNwZWxsaW5nIG9mICdoeWJyaWQnLgoJICBObyBuZWVkIHRvIGV4cGxpY2l0bHkgY2FsbCBlbnN1cmVfZGVidWdfY2F0ZWdvcnkoKSBldmVyeXdoZXJlLAoJICB0aGF0IHdpbGwgYmUgZG9uZSBhdXRvbWF0aWNhbGx5IGZyb20gR1NUX0xPRygpIGFuZCBmcmllbmRzCgkgIHZpYSBHU1RfQ0FUX0RFRkFVTFQuCgoyMDExLTExLTA4IDEwOjQ0OjExIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZzRwYXJzZXIuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVnNHZpZGVvcGFyc2UuYzoKCSAgY29kZWNwYXJzZXI6IG1wZWc0OiBMb29rIGZvciByZXN5bmMgY29kZSBpbiBfbXBlZzRfcGFyc2UKCSAgVGhpcyB3YXkgdGhlIEFQSSBpcyBzaW1wbGVyIGFuZCB1c2VycyBjYW4gY2FsbCAxIHNpbmdsZSBmdW5jdGlvbiBmb3IgcGFja2V0CgkgIGRldGVjdGlvbi4KCjIwMTEtMDktMjkgMTQ6Mzc6NTkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogUHJvcGVybHkgaGFuZGxlIHByb2ZpbGUgYW5kIGxldmVsIGluIGNhcHMKCSAgRml4ICM2NjAyMzQKCjIwMTEtMDktMjYgMTY6NTg6NTggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZzRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBQb3J0IHRvIHRoZSBuZXcgbXBlZzRwYXJzZXIgbGlicmFyeQoKMjAxMS0wOS0yNiAxMDozOTozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWc0dmlkZW9wYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWc0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVnNHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogTW92ZSB0byB0aGUgdmlkZW9wYXJzZXJzIHBsdWdpbgoJICBSZW5hbWUgYSBmZXcgdmFyaWFibGVzIHRvIHVzZSB0aGUgc2FtZSBjb252ZW50aW9uIGFzIG90aGVycyBlbGVtZW50cyBpbiB0aGlzCgkgIHBsdWdpbgoJICBDb25mbGljdHM6CgkgIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZzR2aWRlb3BhcnNlLmMKCjIwMTEtMTEtMDIgMDk6MTQ6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogRGVjbGFyZSBwcml2YXRlIGFycmF5cyBhcyBzdGF0aWMgYWxsIGFyb3VuZAoKMjAxMS0wOS0yMSAxOTo0OTozNiAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVnNHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWc0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzQ6IEltcGxlbWVudCBhbiBNcGVnNCBwYXJ0IDIgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA5LTIxIDE5OjQwOjQ3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL3BhcnNlcnV0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvcGFyc2VydXRpbHMuaDoKCSAgY29kZWNwYXJzZXJzOiBNb3ZlIHNoYXJlZCBjb2RlIHRvIGEgcGFyc2VyIHV0aWxzIGZpbGUKCjIwMTEtMDktMjkgMTY6MjU6MjkgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy1iYWQucGMuaW46CgkgIHBrZ2NvbmZpZzogcmVtb3ZlIHJlZmVyZW5jZXMgdG8gY29kZWNwYXJzZXJzIGZyb20gLWJhZC5wYy5pbgoKMjAxMS0xMS0yOCAyMzoyMDo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICc3NTIxYjU5N2Y0ZGM0OWQ4ZDE2OGYzNjhmMGU3ZWJhZjk4YTcyMTU2JyBpbnRvIDAuMTEKCjIwMTEtMTEtMjggMjM6MjA6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgY29tbWl0ICcyNmQ2YWRkOTQ1N2YwMGNlOGVjMTM4NDQzNjg0NjZmMGUzODE2ZTVkJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvcnRtcC9nc3RydG1wc2luay5jCgoyMDExLTExLTI4IDE4OjQ3OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IHVzZSBmYXN0ZXIgY2FzdCBtYWNybwoJICBVc2UgY2FzdCBtYWNybyB3aXRob3V0IHR5cGUgY2hlY2tzIHdoZW4gd2Uga25vdyBpdCBzaG91bGQgd29yay4KCjIwMTEtMTEtMjggMTg6NDM6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSAgY2FtZXJhYmluMjogdmlld2ZpbmRlcmJpbjogTGluayBlbGVtZW50cyBkaXJlY3RseSB0byB1c2UgZmFzdGVyIHZlcnNpb24KCSAgZmZtcGVnY29sb3JzcGFjZSBhbmQgdmlkZW9zY2FsZSBzaG91bGQgYWx3YXlzIGxpbmsgc3VjY2Vzc2Z1bGx5LCB1c2UKCSAgdGhlIGZhc3QgcGFkIGxpbmtpbmcgdmVyc2lvbiBpbnN0ZWFkIG9mIGNhbGxpbmcgdGhlIGdlbmVyaWMgaGVscGVyCgkgIGZ1bmN0aW9uLgoKMjAxMS0xMS0yOCAxNjozNTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1pY3JvIG9wdGltaXplIGxpbmtpbmcgc29tZSBtb3JlCgoyMDExLTA5LTI5IDIyOjQzOjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5oOgoJICBrYXRlOiBzdXBwb3J0IGZvciByZW5kZXJpbmcgb24gc2V2ZXJhbCBZVVYgZm9ybWF0cwoJICBUaGlzIHNwZWVkcyB1cCByZW5kZXJpbmcgYSBmYWlyIGJpdCBieSBub3QgcmVxdWlyaW5nIGNvbG9yc3BhY2UKCSAgY29udmVyc2lvbiwgd2hldGhlciB0aGVyZSBpcyBhbnl0aGluZyB0byBvdmVybGF5IG9yIG5vdC4KCSAgVGhlIGJsZW5kaW5nIGNvZGUgd2FzIG5pY2tlZCBmcm9tIHRleHRvdmVybGF5LiBJIHdvdWxkIHRoaW5rCgkgIHRoaXMgbWlnaHQgYmUgYSBoZWxwZnVsIHRoaW5nIHRvIHB1dCBpbiwgc2F5LCBsaWJnc3R2aWRlbyBhdAoJICBzb21lIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwNTI4CgoyMDExLTA4LTE4IDExOjM5OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBudW1iZXIgb2YgYnl0ZXMgcmVhZCBmb3IgZml4ZWQgdGltZSBpbmNyZW1lbnQKCSAgVGhlIHNwZWMgSSBmb3VuZCBzYXlzICIxNiBiaXRzIi4KCSAgVGhlIGV4aXN0aW5nIGNvZGUgdXNlZCBsb2cyKHNvbWV2YWx1ZSkrMS4KCSAgZmZtcGVnIHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMS4KCSAgVGhlIGNvZGUgbm93IHVzZXMgbG9nMihzb21ldmFsdWUtMSkrMSwgYW5kIHRoaXMgbWFrZXMgaXQgd29yayB3aXRoCgkgIHNvbWUgc2FtcGxlIHZpZGVvIHdpdGhvdXQgYnJlYWtpbmcgYW5vdGhlciBzYW1wbGUuCgkgIE5vdywgSSdtIGZhciBmcm9tIGNlcnRhaW4gSSd2ZSBnb3QgdGhlIHJpZ2h0IHNwZWMsIEkgZm91bmQgaXQgYnkKCSAgc2VhcmNoaW5nIHRoZSBpbnRlcm5ldCwgc28uLi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDY2NgoKMjAxMS0xMS0yOCAxNToxMDozOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBUcnkgdG8gYWRkIGFsbCBzdHJlYW1zIGVhcmx5CgkgIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBzaWduYWwgbm8tbW9yZS1wYWRzIHRvIGF2b2lkIGhpdHRpbmcKCSAgdGhlIGRlY29kZWJpbjIgb3ZlcnJ1bi4KCjIwMTEtMDktMjYgMTI6NDM6MjcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaGFuZGxlIHBhZHMgd2l0aCBubyBkYXRhCgkgIFNvbWUgc3RyZWFtcyBkZWNsYXJlIFBJRHMgYnV0IHdpbGwgbm90IHNlbmQgZGF0YSBmb3IgdGhlbS4KCSAgRW5zdXJlIHdlIHRpbWUgb3V0IG9uIHRob3NlLCBhbmQgYm90aCBzZW5kIG5ldyBzZWdtZW50cyB0bwoJICBrZWVwIHRoZWlyIHRpbWUgc3luY2hyb25pemVkIHdpdGggdGhlIHJlc3QsIGFuZCBkbyBub3Qgd2FpdAoJICBmb3JldmVyIGJlZm9yZSBkZWNpZGluZyB0byBzaWduYWwgbm8tbW9yZS1wYWRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5OTI0CgoyMDExLTA5LTI2IDEyOjE2OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogc2lnbmFsIG5vLW1vcmUtcGFkcyB3aGVuIGFwcHJvcHJpYXRlCgkgIFdlIHRyYWNrIHN0cmVhbXMgZm9yIHdoaWNoIGEgZGF0YSBjYWxsYmFjayBpcyBzZXQgKGFuZCBmb3Igd2hpY2gKCSAgcGFkcyB3aWxsIGJlIGFkZGVkIG9ubHkgd2hlbiBkYXRhIGlzIHJlY2VpdmVkKSwgYW5kIHNpZ25hbAoJICBuby1tb3JlLXBhZHMgd2hlbiB0aGUgbGFzdCBwYWQgaXMgYWRkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk5MjQKCjIwMTEtMDktMDUgMTc6NDA6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogdGFrZSBpbnRvIGFjY291bnQgb2Zmc2V0IG9mIGZpcnN0IGJ1ZmZlcgoJICBUaGlzIGZpeGVzIHBsYXliYWNrIHdoZW4gdGhlIHNvdXJjZSBzdGFydHMgbGF0ZXIgdGhhbiB0aGUgcGxheWJhY2sKCSAgcGlwZWxpbmUsIGFuZCB3aGVuIGEgc291cmNlIGRyb3BzIGZvciBhIHdoaWxlIHRoZW4gcmVzdGFydHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTc3OTQKCjIwMTEtMDktMDMgMTQ6Mzc6NDAgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnZGVtdXg6IGZpeCBzb21lIG1vcmUgdmlkZW8gZnJlZXppbmcKCSAgVGhlcmUgd2FzIGEgc2Vjb25kIHRocmVzaG9sZCwgd2hpY2ggYXBwYXJlbnRseSBuZWVkcyB0byBiZSBzbWFsbGVyCgkgIHRoYW4gdGhlIGZpcnN0LCB0aG91Z2ggSSdtIG5vdCBjZXJ0YWluIG9mIGl0IGFzIEkgZG9uJ3QgdW5kZXJzdGFuZAoJICB5ZXQgdGhpcyBuZXN0IG9mIHd0ZiB0aGF0IGlzIHRoZSBtcGVnIGRlbXV4ZXIgdGltaW5nIGxvZ2ljLgoJICBGaXhlcyB2aWRlbyBmcmVlemluZyBvbiBvbmUgKGNvcnJ1cHRlZCkgTVBFRyBzYW1wbGUuIEl0IHdvdWxkCgkgIHByZXZpb3VzbHkgbmV2ZXIgdGhpbmsgaXQgd2FzIG91dCBvZiB0aGUgZGlzY29udGludWl0eSwgYW5kIHdvdWxkCgkgIHB1c2ggYnVmZmVycyB3aXRoIG5vIHRpbWVzdGFtcC4KCSAgTm93IHRoaXMgdG9vayBtZSBtb3JlIHRoYW4gYSBkYXkncyBwb2tpbmcgYXQgdGhlIHRoaW5nLCBmb3IganVzdAoJICBvbmUgY29uc3RhbnQgY2hhbmdlLCBhbmQgSSdtIHNjYXJlZCB0byBoYXZlIHRvIHRvdWNoIHRoaXMgYWdhaW4gOlMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoKMjAxMS0wOC0zMCAxNDo1MDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBjYXRjaCBzbWFsbGVyIFBUUyBkaWNvbnRpbnVpdGllcwoJICBJbiBhIHRlc3Qgc3RyZWFtLCBJIGdldCBvbmUgYnVmZmVyIHdpdGggYSBQVFMgb2YgYWJvdXQgMTUgc2Vjb25kcwoJICBpbiB0aGUgZnV0dXJlIGNvbXBhcmVkIHRvIHRoZSBwcmV2aW91cyBvbmUsIGFuZCBuZXh0IGJ1ZmZlcnMgd2l0aAoJICB0aW1lc3RhbXBzIGNvbnRpbnVpbmcgd2hlcmUgdGhlIG9yaWdpbmFsIG9uZXMgbGVmdCBvZmYuCgkgIFRoaXMgY2F1c2VkIHRoZSBzaW5rIHRvIHdhaXQgMTUgc2Vjb25kcyB0byBkaXNwbGF5IHRoZSBmcmFtZSB3aGlsZQoJICBtb3JlIGZyYW1lcyBxdWV1ZWQgdXAsIGFuZCB0aGVuIGR1bXAgYWxsIHRoZSBzdWJzZXF1ZW50IGZyYW1lcyBhcwoJICB0aGV5ICJhcnJpdmVkIHRvbyBsYXRlIi4KCSAgTWF5YmUgdGhhdCB0aHJlc2hvbGQgc2hvdWxkIGJlIG1hZGUgY29uZmlndXJhYmxlLCBidXQgZm9yIG5vdywKCSAgbWFrZSBpdCBtb3JlIHNtYWxsZXIgdG8gY2F0Y2ggbW9yZSBvZiB0aGVzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NTgwNAoJICBOb24gQVYgc3RyZWFtcyBrZWVwIHVzaW5nIHRoZSBsYXJnZXIgdGhyZXNob2xkICgxMCBtaW51dGVzKSwgYXMKCSAgc3VidGl0bGVzIG1heSBhcnJpdmUgb25seSBldmVyeSBzbyBvZnRlbi4KCjIwMTEtMTEtMjggMTM6MDg6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9hcnRzL2dzdF9hcnRzLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuY2M6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZGVjLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzaW5rLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3Rtb3Rpb25jZWxscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbnBsYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hdWRpb2J1ZmZlci9nc3RhdWRpb3JpbmdidWZmZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RkZWJ1Z3NweS5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc3JjLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXJsYWNlL2dzdGludGVybGFjZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvZ3N0anAya2RlY2ltYXRvci5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RpcnRzcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHZpZGVvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92bW5jL3ZtbmNkZWMuYzoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSogc3lzL2FjbW1wM2RlYy9hY21tcDNkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2QzZHZpZGVvc2luay9kM2R2aWRlb3NpbmsuYzoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzaW5rLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc3JjLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkqIHN5cy92Y2QvdmNkc3JjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc2luay5jOgoJKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc2lua3BhZC1zaW1wbGU6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3NyY3BhZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkLXNpbXBsZToKCSAgdmFyaW91czogZml4IHBhZCB0ZW1wbGF0ZSByZWYgbGVha3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjY2NAoKMjAxMS0xMC0wNiAxNzo0MzoxOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXA6IGFkZCBXU0FTdGFydHVwIGFuZCBXU0FDbGVhbnVwIG9uIFdpbjMyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjEwOTgKCjIwMTEtMTEtMjcgMjA6MjQ6MzkgKzAxMDAgIE1hdGVqIEtub3BwIDxtYXRlai5rbm9wcEBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBmaXggZm9ybWF0IHdhcm5pbmdzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjcgMjM6MzM6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgcmVtb3RlLXRyYWNraW5nIGJyYW5jaCAnb3JpZ2luL21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTI0IDEzOjQ5OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZnBhcnNlOiBleHRyYWN0IElEMyB0YWdzIGVtYmVkZGVkIGluIElEMyBjaHVua3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDcyNQoKMjAxMS0xMS0yNiAxNTozNzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSByZW1vdGUtdHJhY2tpbmcgYnJhbmNoICdvcmlnaW4vbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCSAgZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYwoJICBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oCgoyMDExLTExLTI1IDIzOjExOjMyICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkgIG9wZW5jdjogcG9ydCBiYXNlY2xhc3MgdG8gMC4xMQoKMjAxMS0xMS0yNSAxMTo0MToxOSAtMDIwMCAgRGFuaWxvIENlc2FyIExlbWVzIGRlIFBhdWxhIDxkYW5pbG8uY2VzYXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IEZpeGluZyAiVW51c2VkIHZhciIgY29tcGlsaW5nIGVycm9yIGZvciBvcHVzIGNvZGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjQ4MTUKCjIwMTEtMTEtMjUgMTQ6MDA6MTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmM6CgkgIG9wdXNlbmM6IG9ubHkgdXNlIG1vbm8gc3RyZWFtcyBmb3IgPiAyIGNoYW5uZWxzCgkgIEknbSBnZXR0aW5nIG9kZCByZXN1bHRzIHdpdGggcGFja2luZyBzdHJlYW1zIGludG8gc3RlcmVvCgkgIHN0cmVhbXMsIGFuZCB1c2luZyBvbmx5IG1vbm8gc3RyZWFtcyBpcyBlbm91Z2ggaW4gYWxsIGNhc2VzLgoKMjAxMS0xMS0yNSAxMjo0Nzo0MiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNjb21tb24uaDoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IGFkZCBzb21lIG1vcmUgZGVidWcgaW5mb3JtYXRpb24gYWJvdXQgY2hhbm5lbCBtYXBwaW5nCgoyMDExLTExLTI1IDEyOjQ2OjU1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJICBvcHVzcGFyc2U6IHJlbW92ZSBkZWFkIGFzc2lnbWVudHMKCSAgV2Ugbm93IG9ubHkga2VlcCBhIHJlZiB0byB0aGUgaGVhZGVycyBmb3IgbGF0ZXIgcmV1c2UuCgoyMDExLTExLTI1IDEyOjQwOjMxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZG8gbm90IGNhdXNlIHRoZSBkZWNvZGVyIHRvIGFwcGx5IHRoZSBjaGFubmVsIG1hcHBpbmcgYWdhaW4KCSAgU2luY2Ugd2UgYWxyZWFkeSByZW9yZGVyIGNoYW5uZWxzLCB3ZSBkbyBub3Qgd2FudCB0byB3cml0ZSB0aGF0CgkgIHJlb3JkZXJpbmcgaW4gdGhlIGhlYWRlciwgb3IgdGhlIGRlY29kZXIgd2lsbCBkbyBpdCBhZ2Fpbi4KCjIwMTEtMTEtMjUgMTI6Mzk6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggYm9ndXMgYXNzZXJ0aW9uCgoyMDExLTExLTI1IDE1OjQ5OjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FtcndiZW5jLmM6CgkgIHRlc3RzOiBhZGQgdW5pdCB0ZXN0IGZvciB2b2FtcndiZW5jCgoyMDExLTExLTI1IDEyOjQ4OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9mYWFjL2dzdGZhYWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCjIwMTEtMTEtMjUgMTE6Mzc6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2Rlcjogc29tZSBtb3JlIGRlYnVnIGxvZ2dpbmcKCjIwMTEtMTEtMjUgMTE6MzY6MTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiB1c2UgbmV3IGJhc2V2aWRlb2RlY29kZXIgQVBJIHRvIGRyb3AgZnJhbWVzIGFuZCBnZXQgUW9TIG1lc3NhZ2VzIHBvc3RlZAoKMjAxMS0xMS0yMyAyMDowMzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgQVBJIHRvIGRyb3AgYSBmcmFtZSBhbmQgcG9zdCBhIFFvUyBtZXNzYWdlIG9uIHRoZSBidXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MDAxNwoJICBBUEk6IGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZHJvcF9mcmFtZSgpCgoyMDExLTA4LTMwIDIzOjM5OjM2IC0wMzAwICBMdWNpYW5hIEZ1amlpIFBvbnRlbGxvIDxsdWNpYW5hLmZ1amlpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvcHZyMmQvTWFrZWZpbGUuYW06CgkqIHN5cy9wdnIyZC9nc3RwdnIuYzoKCSogc3lzL3B2cjJkL2dzdHB2ci5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5jOgoJKiBzeXMvcHZyMmQvZ3N0cHZyYnVmZmVycG9vbC5oOgoJKiBzeXMvcHZyMmQvZ3N0cHZydmlkZW9zaW5rLmM6CgkqIHN5cy9wdnIyZC9nc3RwdnJ2aWRlb3NpbmsuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9kcmkyX3dzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvaW1nX2RlZnMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9pbWdfdHlwZXMuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy9wdnIyZC5oOgoJKiBzeXMvcHZyMmQvcHZyX2luY2x1ZGVzL3NlcnZpY2VzLmg6CgkqIHN5cy9wdnIyZC9wdnJfaW5jbHVkZXMvc2VydmljZXNleHQuaDoKCSogc3lzL3B2cjJkL3B2cl9pbmNsdWRlcy93c2VnbC5oOgoJICBBZGQgcHZydmlkZW9zaW5rIGVsZW1lbnQKCSAgUFZSVmlkZW9TaW5rIHVzZXMgUFZSMkQgbGlicmFyeSB0byBibGl0IGltYWdlcy4KCSAgQXV0aG9yOiBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoJICBBdXRob3I6IEx1Y2lhbmEgRnVqaWkgPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKMjAxMS0xMS0yNCAyMTo1Mjo1NSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogZml4IGNhcHMgdXNhZ2UgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgkgIEZpeGVzIHByZXZpb3VzIGNvbW1pdDsgdXNlcnMgY2FuIGNhbGwgdGhpcyB3aXRoIE5VTEwgY2Fwcy4KCjIwMTEtMTEtMjQgMjE6NDI6MzkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b2NvbnZlcnQuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZGVjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGVuYy5jOgoJICB0ZXN0czogdXBkYXRlIGZvciBnc3RjaGVjayBBUEkgY2hhbmdlCgoyMDExLTExLTI0IDE5OjAzOjIzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYWEtbGluZSBjb2RlIGFuZCB1c2VyIGZvciB3YXZlL3NwYWNlLXNjb3BlCgoyMDExLTExLTI0IDEzOjM4OjU5ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSAgb3B1czogcHJlLXNraXAgYW5kIG91dHB1dCBnYWluIGFyZSBsaXR0bGUgZW5kaWFuLCByZW1vdmUgcmVtaW5kZXIgbm90ZQoKMjAxMS0xMS0yNCAxMzoyOTo1NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2NvbW1vbi5jOgoJKiBleHQvb3B1cy9nc3RvcHVzY29tbW9uLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbXVsdGljaGFubmVsIHN1cHBvcnQKCjIwMTEtMTEtMjMgMTc6NDk6NTggKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBzd2l0Y2ggdG8gbXVsdGlzdHJlYW0gQVBJCgkgIEl0J3MgdmVyeSBzaW1pbGFyIHRvIHRoZSBiYXNpYyBBUEksIGFuZCBpcyBhIHN1cGVyc2V0IG90IGl0LAoJICB3aGljaCB3aWxsIGFsbG93IGVuY29kaW5nIGFuZCBkZWNvZGluZyBtb3JlIHRoYW4gMiBjaGFubmVscy4KCjIwMTEtMTEtMjMgMTc6MzI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBzaHVmZmxlIHN1cHBvcnRlZCBzYW1wbGUgcmF0ZXMgdG8gZmF2b3IgNDgwMDAKCjIwMTEtMTEtMjMgMTY6MzY6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IHJlbW92ZSB1c2VsZXNzIHNldHVwIGZpZWxkCgoyMDExLTExLTI0IDEyOjAxOjQ4ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJICB2aWRlb3BhcnNlcnM6IHBvcnQgdG8gMC4xMQoJICBVbml0IHRlc3RzIG1pc3NpbmcgZm9yIG5vdy4KCjIwMTEtMTEtMjQgMTE6NTk6MTkgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogcG9ydCB0byAwLjExCgkgIE9ubHkgdG8gZml4IHRoZSBidWlsZCByZWFsbHkgKGd0ay1kb2MgaXMgdHJ5aW5nIHRvIHBpY2sgdXAgdGhlIHVuYnVpbGRhYmxlCgkgIGxpYikuIE5vdCB0ZXN0ZWQgYXQgYWxsIChidXQgcHJldHR5IHRyaXZpYWwgY2FzZSBhbnl3YXlzKS4KCjIwMTEtMTEtMDIgMTM6MjU6NTYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggd2lkdGgvaGVpZ2h0IG1pc21hdGNoZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzOAoKMjAxMS0xMS0yNCAxMDoyNjoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSB0aGUgc2lua3BhZCB0ZW1wbGF0ZSBjYXBzIGFzIGEgZmFsbGJhY2ssIG5vdCB0aGUgc3JjcGFkIG9uZXMKCjIwMTEtMTEtMjQgMTA6MTQ6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA5OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogSW1wbGVtZW50IDo6Z2V0X3NpbmtfY2FwcyB2ZnVuYyB0byBwcm9wYWdhdGUgZG93bnN0cmVhbSBjYXBzIGNvbnN0cmFpbnRzIHVwc3RyZWFtCgoyMDExLTExLTI0IDEwOjA4OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJICBkaXJhY3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMTA6MDQ6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBJbXBsZW1lbnQgOjpnZXRfc2lua19jYXBzIHZmdW5jIHRvIHByb3BhZ2F0ZSBkb3duc3RyZWFtIGNhcHMgY29uc3RyYWludHMgdXBzdHJlYW0KCjIwMTEtMTEtMjQgMDE6NTY6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbmh0dHBzcmM6IHJlbW92ZSBpcmFkaW8tKiBwcm9wZXJ0aWVzCgkgIFNob3VsZCBzZW5kIHRhZ3MgaW5zdGVhZC4KCjIwMTEtMTEtMjQgMDE6NTI6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHBzcmM6IHVuY29uZGl0aW9uYWxseSBzZW5kIGljZWNhc3QgcmVxdWVzdCBoZWFkZXIsIHJlbW92ZSBpcmFkaW8tbW9kZSBwcm9wZXJ0eQoKMjAxMS0xMS0yNCAwMToyMjoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBtbXNzcmM6IG1ha2UgY29ubmVjdGlvbi1zcGVlZCBwcm9wZXJ0eSBhIGd1aW50NjQKCSAgRXZlbiBpZiB0aGUgbGlicmFyeSBsaW1pdHMgaXQgdG8gYW4gaW50LgoKMjAxMS0xMS0yNCAwMDo1Njo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiB1cGRhdGUgZm9yIGdzdHJ0cGJpbiAtPiBydHBiaW4gcmVuYW1pbmcKCjIwMTEtMTEtMjMgMjM6NDI6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBmYWFjLCBydG1wOiBtb3JlIHByaW50ZiBmb3JtYXQgZml4ZXMgaW4gZGVidWcgbWVzc2FnZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MjYxOAoKMjAxMS0xMS0yMSAyMjo0NToxNSArMDEwMCAgTWF0ZWogS25vcHAgPG1hdGVqLmtub3BwQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBGaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5ncyBvbiBPUyBYIC8gNjQgYml0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI2MTgKCjIwMTEtMTEtMjMgMjM6MzA6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBkbyBub3QgbGVhayBidWZmZXIgd2hlbiBubyBlbmNvZGVkIGRhdGEgeWV0IG9yIGVuY29kaW5nIGVycm9yCgoyMDExLTExLTIzIDIzOjI5OjEwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvTWFrZWZpbGUuYW06CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMjMgMTY6MDE6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgc21vb3RoOiBmaXggcHJpbnRmIGZvcm1hdCBjb21waWxlciB3YXJuaW5nIGluIGRlYnVnIG1lc3NhZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2NDYzMQoKMjAxMS0xMS0yMyAxMzo0NzoxMSArMDEwMCAgS3J6eXN6dG9mIEtyYWtvd2lhayA8a3J6eXN6dG9mLmtyYWtvd2lha0BnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBmaXggbW9kdWxlcyBwbGF5aW5nIGFzIG1vbm8gaW5zdGVhZCBvZiBzdGVyZW8KCSAgcmVwbGFjZWQgYnJva2VuIGlmLXJldHVybiBsb2dpYyBmb3IgZml4YXRpbmcgcmF0ZSBhbmQgbnVtYmVyCgkgIG9mIGNoYW5uZWxzIHRoYXQgY2F1c2VkIHRoYXQgbW9kdWxlcyB3ZXJlIGFsd2F5cyAoYWZ0ZXIKCSAgc3VjY2Vzc2Z1bCBmaXhhdGlvbiBvZiByYXRlKSBwbGF5ZWQgYXMgbW9ubyAoaW5zdGVhZCBvZgoJICBzdGVyZW8pIGJ5IGNvcnJlY3Qgb25lIHdpdGggYXBwcm9waWF0ZSB3YXJuaW5ncy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTAzNQoKMjAxMS0xMS0yMyAxMzoyMjoxMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogaW1wbGVtZW50IHJlcGxheSBnYWluCgkgIEl0IHdvdWxkIGlkZWFsbHkgYmUgYmV0dGVyIHRvIGxlYXZlIHRoaXMgdG8gYSByZ3ZvbHVtZSBlbGVtZW50LAoJICBidXQgd2UgZG9uJ3QgY29udHJvbCB0aGUgcGlwZWxpbmUuIFNvIGRvIGl0IGJ5IGRlZmF1bHQsIGFuZCBhbGxvdwoJICBkaXNhYmxpbmcgaXQgdmlhIGEgcHJvcGVydHksIHNvIHRoZSBjb3JyZWN0IHZvbHVtZSBzaG91bGQgYWx3YXlzCgkgIGJlIG91dHB1dC4KCjIwMTEtMTEtMjMgMTE6NTg6NTQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGFkZCBpbi1iYW5kIEZFQyBzdXBwb3J0CgkgIFRoaXMgYWxsb3dzIHJlY29uc3RydWN0aW9uIG9mIGxvc3QgcGFja2V0cyBpZiBGRUMgaW5mbyBpcyBpbmNsdWRlZAoJICBpbiB0aGUgbmV4dCBwYWNrZXQsIGF0IHRoZSBjb3N0IG9mIGV4dHJhIGxhdGVuY3kuIFNpbmNlIHdlIGRvIG5vdAoJICBrbm93IGlmIHRoZSBzdHJlYW0gaGFzIEZFQyAoYW5kIHRoaXMgY2FuIGNoYW5nZSBhdCBydW50aW1lKSwgd2UKCSAgYWx3YXlzIGluY3VyIHRoZSBsYXRlbmN5LCBldmVuIGlmIHdlIG5ldmVyIGxvc2UgYW55IGZyYW1lLCBvciBzZWUKCSAgYW55IEZFQyBpbmZvcm1hdGlvbi4gT2ZmIGJ5IGRlZmF1bHQuCgoyMDExLTExLTIzIDEyOjQxOjMyICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBub3JtYWxpemUgYm9vbGVhbiBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlcyB0byBUUlVFL0ZBTFNFCgkgIEdsaWIgYmFya3MgYXQgdXMgd2l0aCBhIHdhcm5pbmcgd2hlbiB3ZSBwYXNzIGUuZy4gNC4KCjIwMTEtMTEtMjMgMTE6NTk6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8tdW5pbnN0YWxsZWQucGMuaW46CgkgIHBrZ2NvbmZpZzogYWFhbmQgZml4IG15IGxhc3QgY29tbWl0CgoyMDExLTExLTIzIDExOjU1OjA2ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluOgoJICBwa2djb25maWc6IEZpeCBnc3RyZWFtZXItYmFzZXZpZGVvLXVuaW5zdGFsbGVkLnBjLmluCgoyMDExLTExLTIzIDExOjMxOjQ0ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RkcmF3aGVscGVycy5oOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiB1cGRhdGUgUkVBRE1FIGFuZCBUT0RPIGNvbW1lbnRzCgoyMDExLTExLTIzIDExOjIxOjE1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BhY2VzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmg6CgkgIHNwYWNlc2NvcGU6IHVzZSB0aGUgZHJhd2hlbHBlcnMgYW5kIGFkZCBhIGRyYXctc3R5bGUgcHJvcGVydHkKCSAgTGlrZSBpbiB3YXZlc2NvcGUgc3VwcG9ydCBkcmF3aW5nIGRvdHMgYW5kIGxpbmVzLgoKMjAxMS0xMS0yMyAxMTowODozOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2VuYy5jCgkgIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jCgkgIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jCgkgIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW0KCSAgZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYwoJICBnc3QvZmlsdGVyL2dzdGlpci5jCgkgIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmMKCjIwMTEtMTEtMjMgMDg6NDA6NDkgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0ZHJhd2hlbHBlcnMuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBzb21lIHNpbXBsZSBkcmF3aW5nIGhlbHBlcnMgZm9yIHJldXNlCgkgIEFkZCBhICh1bmluc3RhbGxlZCkgaGVhZGVyIHdpdGggc2ltcGxlIGRyYXdpbmcgbWFjcm9zCgoyMDExLTExLTIzIDA4OjE3OjA1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Ntb290aHdhdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9zbW9vdGh3YXZlL1JFQURNRToKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmg6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBlbGVtZW50IHVucG9ydGVkIGZyb20gMC44CgkgIFRoZSB3YXZlc2NvcGUgZWxlbWVudCBkb2VzIGFjaGlldmUgdGhlIHNhbWUgZWZmZWN0LgoKMjAxMS0xMS0yMyAwODoxNDozOCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgd2F2ZXNjb3BlOiBhZGQgYSBzdHlsZSBwcm9wZXJ0eSBmb3IgZHJhd2luZyBtb2RlcwoJICBBZGQgYSBzdHlsZSBlbnVtIG9mIHsgZG90cywgbGluZXN9LiBOb3cgdGhpcyBlbGVtZW50cyBpcyBhIHN1cGVyc2V0IG9mIHNtb290aHdhdmUuCgoyMDExLTExLTIyIDIzOjA0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGRvY3M6IGZpeCBjb21tZW50IGluIGdzdF9iYXNlX3ZpZGVvX2RlY29kZXJfZ2V0X21heF9kZWNvZGVfdGltZSgpIGRvY3MKCjIwMTEtMTEtMjIgMjA6Mjc6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtYXJrIHByb3BlcnRpZXMgY2hhbmdlYWJsZSBhdCBydW50aW1lIHdpdGggR1NUX1BBUkFNX01VVEFCTEVfUExBWUlORwoKMjAxMS0xMS0yMiAxOTo1NzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBmaXggd2VpcmQgZXZlbnQgbGlzdCBoYW5kbGluZwoJICBHZXQgcmlkIG9mIHdlaXJkIGNvZGUgdGhhdCBjb3BpZXMgYSBsaXN0IG1hbnVhbGx5LCB0YWtpbmcKCSAgb3duZXJzaGlwIG9mIHRoZSBlbGVtZW50cyBhbmQgdGhlbiBmcmVlcyB0aGUgb2xkIGxpc3QuIEluc3RlYWQsCgkgIGp1c3QgdGFrZSBvdmVyIHRoZSBvbGQgbGlzdCBlbnRpcmVseS4gKElmIHRoZSBpbnRlbnQgd2FzIHRvCgkgIHJldmVyc2UgdGhlIGxpc3QsIG9uZSBjb3VsZCB1c2UgZ19saXN0X3JldmVyc2UoKSBpbnN0ZWFkKS4KCSAgVGhlbiwgcHVzaCBldmVudHMgaW4gdGhlIGxpc3Qgb3V0IGZyb20gbGFzdCB0byBmaXJzdCAoc2luY2UgdGhleQoJICB3ZXJlIHByZXBlbmRlZCBhcyB0aGV5IGNhbWUgaW4pIGluc3RlYWQgb2YganVzdCBwdXNoaW5nIG91dCB0aGUKCSAgbGFzdCBpbiB0aGUgbGlzdCBhbmQgbGVha2luZyB0aGUgb3RoZXJzLgoKMjAxMS0xMS0yMiAxODozMzoxNyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb3B1cy5jOgoJICBvcHVzOiBhZGQgdGVzdAoKMjAxMS0xMS0yMiAxNzowNDowOSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1c2VuYzogYWxsb3cgc2V0dGluZyBtb3N0IHByb3BlcnRpZXMgYXQgUExBWUlORyB0aW1lCgkgIE9wdXMgYWxsb3dzIHRoZXNlIHRvIGJlIGNoYW5nZWQgZHVyaW5nIGVuY29kaW5nLCB0cmFuc3BhcmVudGx5CgkgIHRvIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0yMiAxNjoxNDowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGJvdW5kIHRoZSBiaXRyYXRlIHRvIG1vcmUgc2Vuc2libGUgdmFsdWVzCgkgIEdvIGZyb20gdGhlIGJvdW5kcyBtZW50aW9uZWQgaW4gdGhlIHNwZWMsIGFuZCBhbGxvdyBzb21lIG1vcmUKCSAgdmFyaWF0aW9uLgoJICBJbiBwYXJ0aWN1bGFyLCBkb24ndCBhbGxvdyBzaWxseSBsb3cgYml0cmF0ZXMsIGFuZCBhbGxvdyByZWFjaGluZwoJICB0aGUgbWF4aW11bSB1c2VmdWwgYml0cmF0ZS4KCjIwMTEtMTEtMjIgMTU6MzM6MjAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXNlbmM6IGZpeCBjcmFzaCBvbiBwYXRob2xvZ2ljYWwgcGFyYW1ldGVycwoJICBBc2tpbmcgZm9yIDEgYml0L3Mgd291bGQgc2VsZWN0IGEgMCBieXRlIGJ1ZmZlciwgbGVhZGluZwoJICB0byBhIGNyYXNoLiBCdWZmZXIgc2l6ZSBpcyBub3cgY29udHJvbGxlZCBieSBhIG1heC1wYXlsb2FkLXNpemUKCSAgcHJvcGVydHksIHdoaWNoIGNhbid0IGJlIGxlc3MgdGhhbiAyLgoKMjAxMS0xMS0yMSAxODoxMjowMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSAgb3B1c3BhcnNlOiBkbyBub3Qgc2VuZCBoZWFkZXJzIHRocm91Z2ggZGF0YSBwYXRoCgkgIEFkZGl0aW9uYWxseSwgc2luY2UgT3B1cyBwYWNrZXRzIG1heSBjaGFuZ2UgYmV0d2VlbiBzdGVyZW8KCSAgYW5kIG1vbm8gYXMgdGhlIGVuY29kZXIgc2VlcyBmaXQsIGFzc3VtZSB0d28gY2hhbm5lbHMgd2hlbgoJICB3ZSBkbyBub3Qgc2VlIGEgaGVhZGVyLCBhbmQgdXNlIHRoZSBoZWFkZXIgdmFsdWUgb3RoZXJ3aXNlLgoKMjAxMS0xMS0yMSAxNzo0ODo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNoZWFkZXIuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5oOgoJICBvcHVzOiBtb3ZlIGhlYWRlciBtYWdpYyB0ZXN0aW5nIHRvIGdzdG9wdXNoZWFkZXIKCjIwMTEtMTEtMjEgMTc6MDE6NDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBza2lwIHByZS1za2lwIHNhbXBsZXMKCjIwMTEtMTEtMjEgMTI6NTA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJlYWQgcHJlLXNraXAgZnJvbSBmaXJzdCBoZWFkZXIgaWYgYXZhaWxhYmxlCgoyMDExLTExLTE3IDExOjMzOjU2ICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogc3VwcG9ydCBtb3JlIGNoYXJhY3RlciBzZXQgZW5jb2RpbmdzCgkgIFN1cHBvcnQgVVRGLTE2QkUsIEVVQy1LUiAoS1NYMTAwMSksIEdCMjMxMiBhbmQgSVNPLTEwNjQ2L1VURjggdGV4dAoJICBlbmNvZGluZyBhbmQgZml4ZWQgbmV3IGxpbmUgZm9yIG11bHRpYnl0ZSBlbmNvZGluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MjU3CgoyMDExLTExLTIyIDA5OjExOjM1ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BsYXlvbmRlbWFuZC8uZ2l0aWdub3JlOgoJKiBnc3QvcGxheW9uZGVtYW5kL01ha2VmaWxlLmFtOgoJKiBnc3QvcGxheW9uZGVtYW5kL2RlbW8tbXAzLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZmlsdGVyLmZ1bmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgIHBsYXlvbmRlbWFuZDogcmVtb3ZlIHVucG9ydGVkIHBsdWdpbiBmcm9tIDAuOAoJICBUaGVzZSBkYXlzIG9uZSB3b3VsZCBkbyB0aGUgZWZmZWN0IGUuZy4gdXNpbmcgZ25vbmxpbi4KCjIwMTEtMTEtMjIgMDk6MTA6MzIgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IHRpbnkgZG9jIGJsb2IgY2xhcmlmaWNhdGlvbgoKMjAxMS0xMS0yMSAyMjo1NTo0MCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWV2ZXJiL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXZlcmIvZ3N0ZnJlZXZlcmIuYzoKCSogZ3N0L2ZyZWV2ZXJiL2dzdGZyZWV2ZXJiLmg6CgkgIGZyZWV2ZXJiOiBhZGQgYSBmcmVldmVyYiBwb3J0CgkgIEZyZWV2ZXJiIGlzIGEgcHVibGljIGRvbWFpbiByZXZlcmIgaW1wbGVtZW50YXRpb24uIFBvcnQgaXQgYXMgYSBnc3RyZWFtZXIKCSAgZWxlbWVudCBhbmQgbWFrZSB1c2Ugb2YgZ3N0cmVhbWVyIHNwZWNpZmljIGZlYXR1cmVzIChnYXAgYXdhcmUsIGRpc2NvbnRzLAoJICBjb250cm9sbGVyLCAuLi4pLgoKMjAxMS0xMS0yMSAxMzozNzoyMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgYWN0aXZhdGlvbiBjaGFuZ2VzCgoyMDExLTExLTIxIDEyOjAyOjI4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogcmVzZXQgdGFnc2V0dGVyIGludGVyZmFjZSBvbiBzdG9wCgoyMDExLTExLTIxIDExOjQ0OjAxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogaGFuZGxlIE5VTEwgcGFja2V0cyAodXNlZCBmb3IgUExDKQoKMjAxMS0xMS0yMSAxMToyODoxMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IGxpZ2h0IGNsZWFudXAKCjIwMTEtMTEtMjAgMTM6MDc6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmM6CgkgIG9wdXNwYXJzZTogcGFyc2UgcmF3IG9wdXMgcGFja2V0cwoKMjAxMS0xMS0yMCAwOTo1ODowNiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGRvIG5vdCBwdXNoIGhlYWRlciBidWZmZXJzCgkgIE9wdXMgaGVhZGVycyBhcHBlYXIgb25seSB3aGVuIG11eGVkIGluIE9nZywgc28gb25seSBwbGFjZSB0aGVtCgkgIG9uIHRoZSBjYXBzLCB3aGVyZSBvZ2dtdXggd2lsbCBmaW5kIHRoZW0sIGJ1dCBvdGhlciBlbGVtZW50cyB3aWxsCgkgIGJlIGJsaXRoZWx5IHVuYXdhcmUgb2YgdGhlbS4KCjIwMTEtMTEtMjAgMDk6NTI6NDYgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2hlYWRlci5jOgoJKiBleHQvb3B1cy9nc3RvcHVzaGVhZGVyLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNwYXJzZS5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuaDoKCSAgb3B1czogbWFrZSBvcHVzcGFyc2Ugc2V0IGhlYWRlcnMgb24gY2FwcwoJICBIZWFkZXItb24tY2FwcyBjb2RlIG1vdmVkIHRvIGEgbmV3IHNoYXJlZCBsb2NhdGlvbiB0byBhdm9pZAoJICBkdXBsaWNhdGluZyB0aGUgY29kZS4KCjIwMTEtMTEtMjEgMTA6NTQ6NTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3J0IHRvIG5ldyBwYWQgZnVuY3Rpb24gc2lnbmF0dXJlcwoKMjAxMS0xMS0yMSAwODoyMDoxNCArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguaDoKCSAgc21vb3RoOiBwb3J0IHRvIDAuMTAKCSAgUG9ydCBmcm9tIEdzdEVsZW1lbnQgdG8gR3N0VmlkZW9GaWx0ZXIuIEZpeCBGSVhNRXMuIENsZWFudXAgbmFtaW5nLiBFeHBvc2UgbGVmdAoJICBvdXQgcHJvcGVydHkgKGt1bWEtb25seSkuCgoyMDExLTExLTIwIDIwOjE2OjAzICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Bhc3N0aHJvdWdoLy5naXRpZ25vcmU6CgkqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSogZ3N0L3Bhc3N0aHJvdWdoL2ZpbHRlci5mdW5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkqIGdzdC9wYXNzdGhyb3VnaC9wYXNzdGhyb3VnaC52Y3Byb2o6CgkgIHBhc3N0aHJvdWdoOiByZW1vdmUgb2Jzb2xldGUgZWxlbWVudAoJICBJdCBpcyBub3QgYnVpbHQgYnkgZGVmYXVsdC4gV2UgaGF2ZSBpZGVudGl0eSBmb3Igc29tZSBvZiB0aGUgbmVlZHMgYW5kIG90aGVyd2lzZQoJICBhdWRpby92aWRlb2ZpbHRlciBiYXNlIGNsYXNzZXMuCgoyMDExLTExLTIwIDIwOjA4OjQ3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ZpbHRlci9maWx0ZXIudmNwcm9qOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5oOgoJKiBnc3QvZmlsdGVyL2lpci5jOgoJKiBnc3QvZmlsdGVyL2lpci5oOgoJICBmaWx0ZXI6IHJlbW92ZSBmaWx0ZXIgcGx1Z2luCgkgIFdlIGRvbid0IGJ1aWxkIGl0IGFueXdheSBhbmQgd2UgaGF2ZSBhdWRpb2lpcmZpbHRlciBpbiBnb29kLgoKMjAxMS0xMS0yMCAyMDowNjoyOSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnRlci9nc3RpbnRlci5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmM6CgkgIGludGVyOiBmaXggbGVmdG92ZXIgYm9pbGVycGxhY2UgY29tbWVudHMKCjIwMTEtMTEtMTggMDM6MzE6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWxzbyByZXNldCB2aWRlby9hdWRpbyBmaWx0ZXJzIGJlZm9yZSBjYXB0dXJpbmcKCSAgVmlkZW8gYW5kIGF1ZGlvIGN1c3RvbSBmaWx0ZXIgZWxlbWVudCBzaG91bGQgYWxzbyBiZSByZXNldCBiZWZvcmUKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSwgb3RoZXJ3aXNlIHdlIGdldCB3cm9uZy1zdGF0ZSBlcnJvcnMKCjIwMTEtMTEtMTkgMTU6NTg6MDkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBmaXggdGVybWluYXRpbmcgTlVMIGJlaW5nIHdyaXR0ZW4gaW4gc2lnbmF0dXJlCgoyMDExLTExLTE2IDE5OjQwOjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogbWFrZSBmcmFtZS1zaXplIGFuIGVudW0KCSAgSXQgb25seSBzdXBwb3J0cyBhIHNldCBudW1iZXIgb2Ygc3BlY2lmaWMgdmFsdWVzIChpbmNsdWRpbmcKCSAgYSBub24gaW50ZWdlciBvbmUpLgoKMjAxMS0xMS0xNiAxOToyMjo0NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IHRoZSBlbmNvZGVyIG1pZ2h0IG5vdCBtYWtlIHVzZSBvZiBhbGwgdGhlIGJ5dGVzCgoyMDExLTExLTE4IDE5OjI4OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuYzoKCSAgb3BlbmN2OiB1c2UgY2FwcyBjb25zdGFudHMgbW9yZQoKMjAxMS0xMS0xOCAxOToxOTozMiArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkgIG9wZW5jdjogZml4dXAgZG9jIGJsb2JzCgoyMDExLTExLTE4IDE5OjE1OjI2ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgb3BlbmN2OiBmaXh1cCBnb2JqZWN0IG5hbWluZyBjb252ZW50aW9ucwoKMjAxMS0xMS0xOCAxNzo1OTo0NyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIHVwZGF0ZSBmb3IgbmV3IHNjaGVkdWxpbmcgcXVlcnkKCjIwMTEtMTEtMTggMTc6MTg6MDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgcmVkdW5kYW50IGNvZGUKCSAgLi4uIG5vdyB0aGF0IHdoYXQgc2hvdWxkIG5vdCBiZSBuZWVkZWQgaXMgcmVhbGx5IG5vdCBuZWVkZWQgYW55bW9yZSB0byBjb3ZlcgoJICB1cCBib2d1cyBzdHVmZiB0aGF0IGhhcyBiZWVuIEZJWE1FZC4KCjIwMTEtMTEtMTggMTI6MzI6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggdXAgQVUgY29sbGVjdGlvbiBwcm9jZXNzaW5nCgkgIE9uIHRoZSBvbmUgaGFuZCwgbm8gbmVlZCB0byBjb2xsZWN0IG5hbCBpZiBwcm9jZXNzaW5nIGxhc3Qgb25lLgoJICBPbiB0aGUgb3RoZXIgaGFuZCwgZW5zdXJlIEFVIGNvbGxlY3Rpb24gcHJvY2Vzc2luZyB0byBoYXZlIHN1ZmZpY2llbnQKCSAgbmV4dCBOQUwgZGF0YSBpbiBub3JtYWwgY2FzZXMuCgkgIEZpeGVzICM2NjMxODAuCgoyMDExLTExLTE4IDE1OjEyOjQ2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogbWluZCB0by1iZS1za2lwcGVkIGRhdGEgaW4gc3Vic2VxdWVudCByZS11c2VkIG9mZnNldHMKCjIwMTEtMTEtMTggMTU6MTA6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhdm9pZCBhZGRpdGlvbmFsIE5BTCBwYXJzaW5nIGlmIG5vIEFVIGNvbGxlY3Rpb24gaXMgbmVlZGVkCgoyMDExLTExLTE4IDE1OjEwOjI1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogc29tZSBtb3JlIGdldF9jYXBzIHR3ZWFraW5nCgkgIC4uLiBieSBoYXZpbmcgaXQgdXNlIHNpbmsgdGVtcGxhdGUgcmF0aGVyIHRoYW4gc3JjIHRlbXBsYXRlLCBhbmQgbm90CgkgIHBhc3NpbmcgYW4gZG93bnN0cmVhbSBwYXJzZWQoPXRydWUpIHRvIHVwc3RyZWFtLgoKMjAxMS0xMS0xOCAxNTowNzowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgaDI2NHBhcnNlcjogaW5pdGlhbGl6ZSBhZGRpdGlvbmFsIHNwcyBmaWVsZCB2YWx1ZQoJICBGaXhlcyAjNjYzNTUyLgoKMjAxMS0xMS0xOCAxMzo1ODo0MSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIGFkZCBwYXJlbnQgdG8gYWN0aXZhdGUgZnVuY3Rpb25zCgoyMDExLTExLTE4IDEyOjM4OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgZml4IGZvciBzY2hlZHVsaW5nIG1vZGUgcmVuYW1lCgoyMDExLTExLTE4IDA4OjI5OjMxICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSAgb3BlbmN2OiByZW1vdmUgZW1wdHkgZmluYWxpemUgaW1wbGVtZW50YXRpb25zCgoyMDExLTExLTE3IDIzOjAzOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmM6CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2JlbmMuaDoKCSAgdm9hbXJ3YmVuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBzb21lIGNvZGUgc2h1ZmZsZSBjbGVhbnVwCgoyMDExLTExLTE3IDIzOjAyOjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9NYWtlZmlsZS5hbToKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogcG9ydCB0byBhdWRpb2VuY29kZXIKCjIwMTEtMTEtMTcgMjM6MDI6MzEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBwcm9wZXJseSByZXBvcnQgZXJyb3IgY2FzZQoKMjAxMS0xMS0xNyAyMzowMjoxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgIGNlbHRkZWM6IHJlbW92ZSB1bnVzZWQgaW5zdGFuY2UgdmFyaWFibGUKCjIwMTEtMTEtMTcgMTA6MzM6NDIgLTA4MDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogT25seSBjYWxsIDo6cmVzZXQgb25jZSBpbiBSRUFEWS0+UEFVU0VECgoyMDExLTExLTE3IDE3OjMyOjQyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9jZWx0L2dzdGNlbHRkZWMuYwoJICBleHQvb3B1cy9nc3RvcHVzZGVjLmMKCSAgZXh0L29wdXMvZ3N0b3B1c2RlYy5oCgkgIGV4dC9vcHVzL2dzdG9wdXNlbmMuYwoJICBleHQvb3B1cy9nc3RvcHVzZW5jLmgKCSAgZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmMKCjIwMTEtMTEtMTcgMTU6NTM6NDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHBhZCBmdW5jdGlvbnMKCjIwMTEtMTEtMTcgMTA6MDc6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkgIGxpYnMtZG9jczogYWRkIC1ER1NUX1VTRV9VTlNUQUJMRV9BUEkKCjIwMTEtMTEtMTcgMDk6NTY6MzQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgZm9yIHBhZF9xdWVyeSBhcGkgY2hhbmdlCgoyMDExLTExLTE3IDA4OjI1OjI4ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y29tcGFyZS5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSAgY29sbGVjdHBhZHM6IHBvcnQgQVBJIGNoYW5nZXMKCjIwMTEtMTEtMTYgMjA6NTM6MTMgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IGRldGVjdCBmYWNlIGZlYXR1cmVzCgkgIEFsc28gZGV0ZWN0IG1vdXRoLCBub3NlIGFuZCBleWVzLiBEcm9wIGZhY2VzIHRoYXQgZG9uJ3QgaGF2ZSB0aGVtLiBGaXhlcyBsZWFraW5nIHRoZQoJICBjYXNjYWRlcy4gQWRkcyBtb3JlIGRvY3MuCgoyMDExLTExLTE2IDIwOjUxOjI3ICswMTAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBHc3RmYWNlZGV0ZWN0IC0+IEdzdEZhY2VkZXRlY3QKCjIwMTEtMTEtMTQgMTE6MDU6NDQgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogY29kZSBtYWludGVuYW5jZQoJICBVcGRhdGUgZXhhbXBsZSB0byBiZSB1c2VmdWwuIERyYXcgY29sb3JlZCBlbGxpcHNlcyBpbnN0ZWFkIG9mIHVuaWNvbG9yIGNpcmNsZXMuCgkgIFJlZmxvdyBjb2RlIGZvciBtb3JlIGxvY2FsIHZhcmlhYmxlcy4gSW1wcm92ZSBwYXJhbWV0ZXIgZGVzY3JpcHRpb25zLgoKMjAxMS0xMS0xNiAxMDo1Nzo1NSAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMQoKMjAxMS0xMS0xNiAxMDo0NTo1MiAtMDgwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IERvbid0IHJlcXVpcmUgcGFyc2VkPWZhbHNlIG9uIHRoZSBzaW5rcGFkIGNhcHMKCjIwMTEtMTEtMTYgMTg6NDk6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBkbyBub3QgaW5jbHVkZSB2YXJpYWJsZSBmaWVsZHMgaW4gY2FwcwoJICBUaG9zZSBjYW4gdmFyeSBmcm9tIG9uZSBwYWNrZXQgdG8gdGhlIG5leHQsIHNvIGhhdmUgbm8gcmVhc29uCgkgIHRvIGJlIGluIHRoZSBjYXBzLgoKMjAxMS0xMS0xNiAxODo0Mzo1MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjb25zdHJhaW5lZC12YnIgcHJvcGVydHkgbmFtZSB0eXBvCgoyMDExLTExLTE2IDEwOjM4OjQ5IC0wODAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogSW1wbGVtZW50IDo6c2lua19nZXRfY2FwcyB0byBhbGxvdyBzdHJlYW0tZm9ybWF0IGNvbnZlcnNpb24gYWdhaW4KCSAgSnVzdCBwcm94eWluZyB0aGUgZG93bnN0cmVhbSBjYXBzIHdpbGwgcHJldmVudCBoMjY0cGFyc2UgZnJvbQoJICBhY2NlcHRpbmcgYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdCB0aGFuIHdoYXQgaXMgc3VwcG9ydGVkCgkgIGRvd25zdHJlYW0sIGFsdGhvdWdoIGl0IGNvdWxkIGNvbnZlcnQgdG8gYSBkaWZmZXJlbnQgc3RyZWFtLWZvcm1hdC4KCjIwMTEtMTEtMTYgMTg6MzU6MjkgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IGxldCB0aGUgYmFzZSBjbGFzcyBoYW5kbGUgYWxsIHRpbWluZwoKMjAxMS0xMS0xNiAxOToxODo1MCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogcG9ydCB0byBhdWRpb2RlY29kZXIKCjIwMTEtMTEtMTYgMTk6MTE6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDE3OjI0OjIwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMTc6MDU6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNiAxNjo1Njo0MyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5oOgoJICBvcHVzOiBwb3J0IHRvIGJhc2UgYXVkaW8gZW5jb2Rlci9kZWNvZGVyCgoyMDExLTExLTE2IDE3OjI4OjEwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICBhZGQgcGFyZW50IHRvIHF1ZXJ5IGZ1bmN0aW9uCgoyMDExLTExLTE2IDEzOjI2OjM1ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSAgb3B1c2RlYzogYWxsb3cgbmVnb3RpYXRpb24gb2YgcmF0ZS9jaGFubmVscyB3aXRoIGRvd25zdHJlYW0KCSAgU2luY2UgYW4gb3B1cyBzdHJlYW0gbWF5IGJlIGRlY29kZWQgdG8gYW55IChzZW5zaWJsZSkgcmF0ZSwKCSAgYW5kIGVpdGhlciBzdGVyZW8gb3IgbW9ubywgd2UgdHJ5IHRvIGFjY29tb2RhdGUgZG93bnN0cmVhbS4KCjIwMTEtMTEtMTYgMDE6MTQ6MzIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmg6CgkgIG9wdXNkZWM6IHJld3JpdGUgbG9naWMKCSAgUGFyYW1ldGVycyBzdWNoIGFzIGZyYW1lIHNpemUsIGV0YywgYXJlIHZhcmlhYmxlLiBQcmV0dHkgbXVjaAoJICBldmVyeXRoaW5nIGNhbiBjaGFuZ2Ugd2l0aGluIGEgc3RyZWFtLCBzbyBiZSBwcmVwYXJlZCBhYm91dCBpdCwKCSAgYW5kIGRvIG5vdCBjYWNoZSBwYXJhbWV0ZXJzIGluIHRoZSBkZWNvZGVyLgoKMjAxMS0xMS0xNSAyMzowMDozMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSAgb3B1c2RlYzogcmVtb3ZlIGJ1ZmZlciBwb29sLCBidWZmZXJzIGFyZSBub3QgY29uc3RhbnQgc2l6ZQoKMjAxMS0xMS0xNSAxOTo1MzozMyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9NYWtlZmlsZS5hbToKCSogZXh0L29wdXMvZ3N0b3B1cy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzcGFyc2UuYzoKCSogZXh0L29wdXMvZ3N0b3B1c3BhcnNlLmg6CgkgIG9wdXNwYXJzZTogYWRkIG9wdXNwYXJzZSBlbGVtZW50CgkgIEEgdmVyeSBzaW1wbGUgZWxlbWVudCB0aGF0IHBhcnNlcyBPcHVzIHN0cmVhbXMgZnJvbSB0aGUgYWQgaG9jCgkgIGZyYW1pbmcgdXNlZCBieSB0aGUgT3B1cyB0ZXN0IHZlY3RvcnMuCgoyMDExLTExLTE2IDEyOjQ2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBBZGQgbm90ZXMgb24gc3luY2hyb25pemF0aW9uIGFuZCBzY2hlZHVsaW5nCgoyMDExLTExLTE2IDEyOjQwOjU4ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICB1cGRhdGUgZm9yIHJlbmFtZWQgZmxhZ3MKCSAgVXNlIHRoZSBfY2hlY2tfcmVjb25maWd1cmUgbWV0aG9kIGluc3RlYWQgb2YgY2hlY2tpbmcgZmxhZ3MuCgoyMDExLTExLTE2IDEwOjU2OjI0ICswMTAwICBKb25hcyBMYXJzc29uIDxqb25hc0BoYWxsZXJ1ZC5zZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb3V0Z29pbmcgYnl0ZSBzdHJlYW0gcHJlZml4IGFsd2F5cyBoYXMgc2l6ZSA0CgkgIEZpeGVzICM2NjQxMjMuCgoyMDExLTExLTE1IDE3OjQ5OjQ4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IHBvaW50ZXIgbWlzbWF0Y2ggaW4gbWVtY3B5IG9uIGRyYWluCgoyMDExLTExLTE1IDE3OjU1OjUwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgX3F1ZXJ5X3BlZXJfKigpIC0+IF9wZWVyX3F1ZXJ5XyooKQoKMjAxMS0xMS0xNSAxNzoyNDowNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBfcGVlcl9nZXRfY2FwcygpIC0+IF9wZWVyX3F1ZXJ5X2NhcHMoKQoKMjAxMS0xMS0xNSAxNjozNDoxMyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgY2hhbmdlIGdldGNhcHMgdG8gcXVlcnkKCjIwMTEtMTEtMTQgMTE6MzA6MTMgKzAxMDAgIERhdmlkIEtpbmcgPGFtaWdhZGF2ZUBhbWlnYWRhdmUuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEb2N1bWVudCByZXF1aXJlbWVudCBmb3IgUExBWUlORyBzdGF0ZQoJICBBcyBkZXNjcmliZWQgaW4gR05PTUUgYnVnIDY2Mzk5OCwgdGhlIGVsZW1lbnQgbXVzdCBiZSBpbiB0aGUgUExBWUlORwoJICBzdGF0ZSBiZWZvcmUgY2FsbGluZyBjYXB0dXJlLXN0YXJ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjY0MDQ4CgoyMDExLTExLTE0IDE4OjM0OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzb21lIHJhY3luZXNzIGluIHRlc3RzCgkgIEZpeCBzb21lIHJhY3luZXNzIGFzIHRoZSB0ZXN0IHdhcyBjaGVja2luZyB0aGUgaWRsZSBwcm9wZXJ0eQoJICByaWdodCBhZnRlciBpdCBnb3QgdGhlIHByZXZpZXcgbWVzc2FnZSBmb3IgdmlkZW8gcmVjb3JkaW5ncy4gSW4gc29tZQoJICBjb25kaXRpb25zLCBpdCBtaWdodCBoYXBwZW4gdGhhdCBjYW1lcmFiaW4yIHN0aWxsIGhhc24ndCBkZWNyZW1lbnRlZAoJICB0aGUgcHJvY2Vzc2luZyBjb3VudGVyIGFmdGVyIHBvc3RpbmcgdGhlIHByZXZpZXcgYW5kL29yIHRoZSBpbWFnZS92aWRlby1kb25lCgkgIG1lc3NhZ2UgYW5kIHRoZSB0ZXN0IHdpbGwgZ2V0IGlkbGU9ZmFsc2UgYW5kIGZhaWwuCgkgIFRoZSBhcHByb2FjaCBmb3IgY2hlY2tpbmcgZm9yIHRoZSBpZGxlIHByb3BlcnR5IHdhcyBhIGJ1c3kgbG9vcCB3aXRoCgkgIGEgc2xlZXAuIEZhciBmcm9tIGVsZWdhbnQsIGJ1dCBnb29kIGVub3VnaCBmb3IgdGhlc2UgdGVzdHMuCgoyMDExLTExLTE0IDE2OjU1OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFsc28gcmVzZXQgYXVkaW8gZWxlbWVudHMgd2hlbiB2aWRlbyBjYXB0dXJlIGZpbmlzaGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFsc28gbmVlZCB0byBiZSByZXNldCBhZnRlciBlYWNoIGNhcHR1cmUsIGRvIGl0CgkgIHRvZ2V0aGVyIHdpdGggdGhlIHZpZGVvIGVsZW1lbnRzJyByZXNldAoKMjAxMS0xMS0xMSAwOTo1ODozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgb25lIGRlYnVnIGxpbmUgYWJvdXQgY2FtZXJhYmluMiBiZWluZyBpZGxlCgoyMDExLTExLTEwIDE2OjUzOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHZpZGVvIGVsZW1lbnRzJyBzdGF0ZSBjbGVhcmluZyBmcm9tIHN0YXJ0LWNhcHR1cmUKCSAgUmVkdWNlIHN0YXJ0LWNhcHR1cmUgd29ya2xvYWQgYnkgbW92aW5nIHRoZSBlbGVtZW50cycgc3RhdGUgcmVzZXRpbmcgdG8gdGhlCgkgIGZpbmlzaGluZyBzdGVwcyBvZiB0aGUgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZSB0aW1lIHN0YXJ0LWNhcHR1cmUgdGFrZXMgdG8KCSAgYWN0dWFsbHkgc3RhcnQgYSBjYXB0dXJlIGFuZCByZXR1cm4gdG8gaXRzIGNhbGxlciwgaW1wcm92aW5nIHVzZXIgZXhwZXJpZW5jZS4KCSAgQXMgdGhlIGVsZW1lbnRzJyBzdGF0ZSByZXNldCBpcyBub3cgdHJpZ2dlcmVkIGZyb20gdGhlIG1lc3NhZ2UgaGFuZGxpbmcKCSAgZnVuY3Rpb24sIGl0IG5lZWRzIHRvIHNwYXduIGEgbmV3IHRocmVhZCwgY2hhbmdpbmcgc3RhdGUgZnJvbSB0aGUgcGFkJ3MKCSAgdGFzayB3b3VsZCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMS0xMS0xMCAxNjoxMTo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IGtlZXAgdHJhY2sgb2YgdmlkZW8gcmVjb3JkaW5nIHN0YXRlCgkgIEFkZHMgYSBuZXcgdmFyaWFibGUgdG8ga2VlcCB0cmFjayBvZiB0aGUgc3RhdGUgb2YgdGhlIHZpZGVvCgkgIHJlY29yZGluZyBpbiBjYW1lcmFiaW4yLiBUaGlzIGFsbG93cyBzdGFydC1jYXB0dXJlIHRvIHJlamVjdAoJICBuZXcgdmlkZW8gcmVjb3JkaW5nIHJlcXVlc3RzIHdoZW4gb25lIGlzIGFscmVhZHkgb25nb2luZy4gVGhpcwoJICBmaXhlcyBvbmUgb2YgY2hlY2sgdGVzdHMuCgoyMDExLTExLTE0IDEzOjQxOjU4ICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuaDoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmg6CgkgIG9wdXM6IHBvcnQgdG8gZW5jb2Rlci9kZWNvZGVyIGJhc2UgY2xhc3NlcwoKMjAxMS0xMS0wMyAxNDowOTo1MiArMDIwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6Q29ycmVjdCB0aGUgc2tpcHBpbmcgb2YgdmJ2X2RlbGF5IGluIHBpY3R1cmUgaGVhZGVyIGFuZCBzb21lIHR5cG8gZml4ZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMzMDkKCjIwMTEtMTEtMTMgMjM6NTU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgVXBkYXRlIGZvciBHc3RVUklIYW5kbGVyIGdldF9wcm90b2NvbHMoKSBjaGFuZ2VzCgoyMDExLTExLTExIDE3OjQ2OjQxICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxNToxMzozNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bGVpb0BnZW50b28ub3JnPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBtaW1pYywgb3BlbmN2LCB2cDgsIGFjbW1wM2RlYywgbGluc3lzOiBEb24ndCBidWlsZCBzdGF0aWMgcGx1Z2lucwoJICBQYXNzIC0tdGFnPWRpc2FibGUtc3RhdGljIHRvIGxpYnRvb2wgZXZlcnl3aGVyZSB3aGVyZSBpdCdzIGJlZW4gZm9yZ290dGVuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3NjgKCjIwMTEtMTEtMTEgMTA6Mzk6MTcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTEwIDE5OjQyOjQwIC0wMzAwICBNYXRlaiBLbm9wcCA8bWF0ZWoua25vcHBAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBhZGQgc3VwcG9ydCBmb3IgcHJvZ3Jlc3NpdmUgZnJhbWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjM3ODIKCjIwMTEtMTEtMDkgMjA6MDk6MDEgKzAxMDAgIFN0ZWZhbiBTYXVlciA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5oOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMS0xMCAxODozNDowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IFJlbW92ZSBxdWVyeV90eXBlcwoKMjAxMS0xMS0xMCAxODozNDo0OCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMTAgMTg6MjU6NTMgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIHVwZGF0ZSBmb3IgYWRhcHRlciBhcGkgY2hhbmdlCgoyMDExLTExLTEwIDE3OjEzOjQwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGJhbmR3aWR0aCBwcm9wZXJ0eSB0eXBlIG1pc21hdGNoCgoyMDExLTExLTEwIDEyOjE0OjE5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMS0xMCAxMjoxMToyMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZWxlbWVudDoKCSAgY2hhaW4gdXAgaW4gc2V0X2Nsb2NrCgoyMDExLTExLTA5IDEyOjIxOjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogcHJvdGVjdCBpbWFnZSBsb2NhdGlvbiBsaXN0IHdpdGggbXV0ZXgKCSAgUmVuYW1lIHRoZSBpbWFnZSB0YWdsaXN0cycgbXV0ZXggaW50byBpbWFnZSBjYXB0dXJlIG11dGV4IGFuZAoJICB1c2UgaXQgYWxzbyBmb3IgdGhlIGltYWdlIGNhcHR1cmUgbGlzdCB0byBwcmV2ZW50IGNvbmN1cnJlbnQKCSAgYWNjZXNzIGZyb20gZGlmZmVyZW50IHRocmVhZHMgKGFwcGxpY2F0aW9uIGFuZCBjYXB0dXJlIHRocmVhZHMpLgoKMjAxMS0xMS0wOSAxMTo0NToyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgbnVsbCB0YWdsaXN0cyBmb3IgaW1hZ2VzCgkgIEFkZCBOVUxMIGFuZCBjaGVjayBmb3IgdGhlbSB0byB0aGUgaW1hZ2UgY2FwdHVyZSB0YWdsaXN0IGxpc3QsIHJlcHJlc2VudGluZwoJICB0aGF0IGEgY2FwdHVyZSBoYXMgbm8gYXBwbGljYXRpb24gdGFncyBzZXQuCgoyMDExLTExLTA5IDExOjE3OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERvbid0IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaWYgcHJldmlldyBpc24ndCByZXF1ZXN0ZWQKCSAgRG8gbm90IHN0b3JlIHByZXZpZXcgbG9jYXRpb24gaXMgcG9zdC1wcmV2aWV3cyBpcyBmYWxzZSwgdGhpcyB3b3VsZAoJICBtZXNzIHVwIHByZXZpZXcgbmFtaW5nIGluIGNhc2UgYXBwbGljYXRpb24gc3dpdGNoZXMgYmV0d2VlbiBlbmFibGluZwoJICBhbmQgZGlzYWJsaW5nIHByZXZpZXdzCgoyMDExLTExLTA5IDA5OjQxOjQ0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQXZvaWQgYmxvY2tpbmcgaW4gc3RhcnQtY2FwdHVyZSBhbmQgc2VuZCBhcHBsaWNhdGlvbiB0YWdzIGxhdGVyCgkgIFRhZ3MgYXJlIGN1cnJlbnRseSBzZW50IGZyb20gc3RhcnQtY2FwdHVyZSwgd2hpY2ggaXMgcnVuIGluIHRoZQoJICBhcHBsaWNhdGlvbiB0aHJlYWQuIEZvciBpbWFnZXMgd2UgY2FuIGRlbGF5IHRoZSB0YWdzIHB1c2hpbmcgdG8gdGhlCgkgIGJ1ZmZlciBwcm9iZSBhbmQgcHVzaCB0aGUgdGFncyB3aXRoIHRoZSBsb2NhdGlvbiBldmVudCBhbmQgcmVkdWNlCgkgIHN0YXJ0LWNhcHR1cmUgdGltZS4KCjIwMTEtMTEtMDkgMTI6MjQ6MzcgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTA5IDEyOjE5OjA0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYwoKMjAxMS0xMS0wOSAxMjowMDowNSArMDEwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGZpeCBkb2N1bWVudGF0aW9uIHR5cG8KCjIwMTEtMTEtMDkgMTE6NTY6MDcgKzAxMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogZml4IGNvbXBpbGVyIHdhcm5pbmcgZm9yIHVuaW5pdGlhbGl6ZWQgdmFsdWVzCgoyMDExLTExLTA5IDExOjU1OjE0ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgcmVtb3ZlIHF1ZXJ5IHR5cGVzCgoyMDExLTExLTA0IDE3OjU0OjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBkdG1mc3JjOiBSZWplY3Qgc3RhcnQvc3RvcCByZXF1ZXN0cyB0aGF0IGNvbWUgb3V0IG9mIG9yZGVyCgoyMDExLTEwLTI5IDE4OjI0OjI2ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFBvc3QgbWVzc2FnZXMgd2hlbiBzdGFydGluZyB0byBzZW5kL3JlY2VpdmUgRFRNRgoJICBUaGlzIHdheSwgdGhlIFVJIGNhbiBkaXNwbGF5IHRoZSBEVE1GIGV2ZW50cyBhcyB0aGV5IGFzIGJlaW5nIHNlbnQuCgoyMDExLTExLTA4IDA4OjA4OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IERlY3JlbWVudCBwcm9jZXNzaW5nIGNvdW50ZXIgd2hlbiBtZXNzYWdlIGhhbmRsaW5nIGZpbmlzaGVzCgkgIFNvbWUgbWVzc2FnZXMgbWlnaHQgYmUgaW50ZXJlc3RpbmcgdG8gYXBwbGljYXRpb25zLCBzbyB3ZSBjYW4gb25seQoJICBkZWNyZW1lbnQgdGhlIHByb2Nlc3NpbmcgY291bnRlciBhbmQgc2VuZCB0aGUgaWRsZSBub3RpZmljYXRpb24KCSAgd2hlbiB0aG9zZSBtZXNzYWdlcyBhcmUgcG9zdGVkIG9uIHRoZSBwaXBsaW5lJ3MgYnVzCgoyMDExLTExLTA4IDA3OjMzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IHVwZGF0ZSB0ZXN0cyB0byBzZXQgcG9zdC1wcmV2aWV3cyB0byB0cnVlCgkgIE1ha2VzIG1vc3Qgb2YgY2FtZXJhYmluMiB0ZXN0cyBwYXNzIGFnYWluCgoyMDExLTExLTA4IDExOjI4OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgdXBkYXRlIGZvciBwcm9iZSBhcGkgY2hhbmdlcwoKMjAxMS0xMS0wOCAwNzowOTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBjaGFuZ2UgcG9zdC1wcmV2aWV3cyBwcm9wZXJ0eSBkZWZhdWx0IHZhbHVlIGFzIGZhbHNlCgkgIEdlbmVyYXRpbmcgYW5kIHBvc3RpbmcgcHJldmlldyBpbWFnZSBhbHdheXMgY29tZXMgd2l0aCBhIHBlcmZvcm1hbmNlCgkgIHBlbmFsdHkgc28gc2V0IGRlZmF1bHQgdmFsdWUgYXMgZmFsc2UuIFRoZSBwcmV2aWV3LWNhcHMgcHJvcGVydHkgdGhhdAoJICBkZWZpbmVzIHRoZSBwcmV2aWV3IGltYWdlIGZvcm1hdCBpcyBhbHNvIE5VTEwgYnkgZGVmYXVsdCwgc28gaW5zdGVhZAoJICBvZiBnZW5lcmF0aW5nIHByZXZpZXcgaW1hZ2Ugb2YgdW5zcGVjaWZpZWQgZm9ybWF0IGJ5IGRlZmF1bHQgZXhwbGljaXQKCSAgYWN0aW9uIGZyb20gYXBwbGljYXRpb24gc2hvdWxkIGJlIHJlcXVpcmVkIGZvciBlbmFibGluZyBwcmV2aWV3IGltYWdlCgkgIHBvc3RpbmcgZmVhdHVyZS4KCSAgQXBwbGljYXRpb24gYWxzbyBoYXMgdG8gYWRkIGN1c3RvbSBjb2RlIHRvIGJlIGFibGUKCSAgdG8gaGFuZGxlIHByZXZpZXcgbWVzc2FnZXMgb24gaXRzIG1lc3NhZ2UgaGFuZGxpbmcgZnVuY3Rpb24gYW55d2F5LgoKMjAxMS0xMS0wNyAyMDozOTo1NiAtMDMwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG9AY29sbGFib3JhLmNvbT4KCgkqIEFuZHJvaWQubWs6CgkgIEFkZCBBbmRyb2lkIGJ1aWxkc3lzdGVtIGhvb2tzIGZvciBjb2RlY3BhcnNlcnMKCjIwMTEtMTEtMDEgMjA6Mzc6MTcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBmaXggcjIxMCB3cml0aW5nIG9ubHkgaGFsZiBhIHNjYW5saW5lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjMyMDMKCjIwMTEtMTEtMDcgMTY6NDE6NDIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkqIGdzdC9hZHBjbWVuYy9hZHBjbWVuYy5jOgoJICBhZHBjbTogYWRkIG1vcmUgY29uc3RzLCBlc3BjaWFsbHkgZm9yIHN0YXRpYyBjb25zdCBkYXRhCgoyMDExLTExLTA3IDE3OjEzOjExICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2ZGJhc2ViaW46IGZpeCBmb3IgcGFkIHByb2JlcyB1cGRhdGUKCjIwMTEtMTEtMDMgMTg6NTU6MjQgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBtZXJnZSBjYXBzIGluc3RlYWQgb2YgdXNpbmcgdW5pb24KCSAgSXQncyBhIGxvdCBmYXN0ZXIsIGFuZCBwcmVzZXJ2ZXMgY2FwcyBvcmRlcmluZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzM0NgoKMjAxMS0xMC0yNyAxNTo1Mzo0OCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkgIHRpZ2VyOiBhZGQgYSAnc2lsZW50JyBwcm9wZXJ0eSB0byBza2lwIHJlbmRlcmluZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyODU3CgoyMDExLTA4LTI5IDEzOjAwOjAyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGNhdGNoIHNlY3Rpb24gbGVuZ3RocyBleHRlbmRpbmcgcGFzdCB0aGUgYnVmZmVyIGxlbmd0aAoJICBUaGlzIGlzIHByb2JhYmx5IHRoZSBjYXVzZSBmb3IgYW4gb2NjYXNpb25hbCBjcmFzaCB3aGlsZSBzdHJlYW1pbmcKCSAgTVBFRy4gQmxpbmQgZml4IGFmdGVyIHN0YXJpbmcgYXQgdGhlIGNvZGUgYW5kIGZvbGxvd2luZyBsb2dpYywgc28KCSAgbWF5IG9yIG1heSBub3QgZml4IHRoZSBpc3N1ZSwgSSBjYW5ub3QgdGVzdC4KCjIwMTEtMTAtMjAgMTA6NDI6NDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBkbyBub3QgdHJ5IHRvIHNlZWsgYmVmb3JlIHRoZSBmaXJzdCBjaGFwdGVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01ODkwNjQKCjIwMTEtMTAtMDUgMTg6MzA6MjMgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBmaXggbGF0ZW5jeSBxdWVyeQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE2NDIxCgoyMDExLTEwLTA1IDE4OjI1OjU4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuYzoKCSAgb3B1c2VuYzogZml4IGxhdGVuY3kgcXVlcnkKCSAgVGhpcyBtYWtlcyBsaXZlICdhdWRpb3NyYyAhIG9wdXNlbmMgISBvcHVzZGVjICEgYXVkaW9zaW5rJyBwaXBlbGluZXMKCSAgYWN0dWFsbHkgd29yayB3aXRob3V0IGFsbCBhdWRpbyBiZWluZyBkdW1wZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA5OTkKCjIwMTEtMTAtMDUgMTU6NDc6MDYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgZGVidWcgbGV2ZWwgZm9yIGRlYnVnIGluZm8sIG5vdCBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwOTk5CgoyMDExLTA5LTI5IDE0OjIyOjUzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZml4IGNhbGN1bGF0aW9uIG9mIGZpbGxlciBkYXRhIHNpemUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDQ2OQoKMjAxMS0wOS0yOSAxNDoyMjozMyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXNlbmM6IGZpeCBjYWxjdWxhdGlvbiBvZiBmaWxsZXIgZGF0YSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjA0NjkKCjIwMTEtMTAtMDMgMTg6Mjg6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgbXBlZ3BzZGVtdXg6IGZpeCB6ZXJvIGxlbmd0aCBwYWNrZXQgaGFuZGxpbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMTQxNgoKMjAxMS0xMS0wMiAxMjo0MTo1NCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL21wZWd2aWRlb3BhcnNlci5jOgoJICB0ZXN0czogbWFyayB0ZXN0IGlucHV0IGRhdGEgY29uc3QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNQoKMjAxMS0xMS0wMiAxMjo0MTozMCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJICBtcGVndmlkZW9wYXJzZXI6IGlucHV0IGRhdGEgaXMgY29uc3QsIG1hcmsgaXQgc28KCjIwMTEtMTEtMDIgMTI6Mzg6MzAgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svbGlicy9tcGVndmlkZW9wYXJzZXIuYzoKCSAgdGVzdHM6IGFsbG93IGJ1aWxkaW5nIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgZ2xpYiAoZ19saXN0X2ZyZWVfZnVsbCkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MzIzNAoKMjAxMS0xMS0wNyAxMDowMjowMCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTg6MDY6NTEgLTAzMDAgIFJleW5hbGRvIEguIFZlcmRlam8gUGlub2NoZXQgPHJleW5hbGRvQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBtaXNzaW5nIHNvdXJjZXMgb24gYmF5ZXIncyBidWlsZHN5c3RlbSBhbmRyb2dlbml6ZXIgY2FsbAoKMjAxMS0xMS0wNCAxODo1MjozNSArMDEwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkqIGV4dC9sdjIvTWFrZWZpbGUuYW06CgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOgoJKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Z2F1c3NibHVyLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N1YmVuYy9NYWtlZmlsZS5hbToKCSogZ3N0L3N1YmVuYy9nc3RzcnRlbmMuYzoKCSogZ3N0L3N1YmVuYy9nc3R3ZWJ2dHRlbmMuYzoKCSogdGVzdHMvaWNsZXMvcGl0Y2gtdGVzdC5jOgoJICBjb250cm9sbGVyOiBwb3J0IHRvIG5ldyBjb250cm9sbGVyIGxvY2F0aW9uIGFuZCBhcGkKCjIwMTEtMTEtMDQgMTY6MzQ6MTEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxNjoyMzowMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJICBleGFtcGxlcyA6IFBvcnQgdG8gMC4xMQoKMjAxMS0xMS0wNCAxMzowNDoxOSArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBhZGQgbW9yZSBzaXplIGNoZWNrcyBhbmQgaW1wcm92ZSBleGlzdGluZwoJICBEb24ndCBzdWJ0cmFjdCB3aXRoIHVuc2lnbmVkIHZhbHVlcywgdGhhdCB3aWxsIGJpdGUgdXMuIEFsc28gZml4IGZvcm1hdAoJICBzcGVjaWZpZXIgaW4gdGhlIGxvZyBtZXNzYWdlLgoKMjAxMS0xMS0wNCAxMjozMToxOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc2ZtdXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSAgbW9yZSB0ZW1wbGF0ZSBmaXhlcwoKMjAxMS0xMS0wNCAxMjoyMjozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIG1ha2UgcmVxdWVzdCBwYWRzIHRha2UgXyV1CgoyMDExLTExLTA0IDExOjI0OjUzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZW1ldGEuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdHN1cmZhY2VtZXRhLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogcG9ydCBzb21ld2hhdCB0byAwLjExCgkgIEluIDAuMTEgdGhpcyBzaG91bGQgYmUgZG9uZSBkaWZmZXJlbnRseQoKMjAxMS0xMS0wNCAxMTowMTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTEtMDQgMTA6MTc6MzggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBGaXggZm9yIHJlbW92YWwgb2YgZ3N0X2VsZW1lbnRfZm91bmRfdGFnc19mb3JfcGFkKCkKCjIwMTEtMTEtMDMgMTc6MTc6MTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICBzdXJmYWNlY29udmVydGVyOiBSZW1vdmUgZHVwbGljYXRlZCBmb3J3YXJkIGRlY2xhcmF0aW9uCgkgIEl0IHNlZW1zIHRoYXQgc29tZSBjb21waWxlcnMgZG9uJ3QgbGlrZSBkdXBsaWNhdGVkIHR5cGVkZWZzLgoKMjAxMS0xMS0wMyAxNjo1NzoyOSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIHZpZGVvZW5jOiBmaXggY29tcGlsZXIgd2FybmluZwoKMjAxMS0xMS0wMyAxNjo1NzoxNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2aWRlbzogZml4IGZvciBtZXRhZGF0YSBBUEkgY2hhbmdlCgoyMDExLTExLTAzIDE0OjAxOjQxICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBQb3J0IHRvIDAuMTEKCjIwMTEtMTEtMDMgMTM6NTY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGxpYnMvdmlkZW86IEZpbmlzaCBwb3J0aW5nIHRvIDAuMTEKCjIwMTEtMDktMjggMTk6Mjk6MDcgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcGtnY29uZmlnL01ha2VmaWxlLmFtOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWJhc2V2aWRlby11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1iYXNldmlkZW8ucGMuaW46CgkgIHZpZGVvOiBBZGQgbGliZ3N0YmFzZXZpZGVvIFBDIGZpbGUKCjIwMTEtMTAtMTkgMTY6MTk6NTEgLTA0MDAgIE5pY29sYXMgRHVmcmVzbmUgPG5pY29sYXMuZHVmcmVzbmVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC92aWRlby92aWRlb2NvbnRleHQuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL3ZpZGVvY29udGV4dC5oOgoJICB2aWRlbzogQWRkIEdzdFZpZGVvQ29udGV4dCBpbnRlcmZhY2UKCSAgVGhpcyBpbnRlcmZhY2Ugd2lsbCBiZSB1c2VkIHRvIGltcGxlbWVudCB2aWRlbyBjb250ZXh0IHNoYXJpbmcuIFRob3NlCgkgIGNvbnRleHQgY291bGQgYmUgWDExIERpc3BsYXksIFZhRGlzcGxheSwgZXRjLgoKMjAxMS0xMC0wNyAxOTowNTozMCAtMDQwMCAgTmljb2xhcyBEdWZyZXNuZSA8bmljb2xhcy5kdWZyZXNuZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWJ1ZmZlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0c3VyZmFjZWNvbnZlcnRlci5oOgoJICB2aWRlbzogQWJzdHJhY3Qgc3VyZmFjZSBBUEkgZm9yIEhXIGFjY2VsZXJhdGVkIGNvZGVjcwoKMjAxMS0xMC0yNiAxNjozMTozOSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICB0ZXN0czogbWFrZSBjb25zdCBkYXRhIGNvbnN0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjI3NzYKCjIwMTEtMTAtMjYgMTY6Mjk6MzUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBkbyBub3Qgb3ZlcndyaXRlIGJ1ZmZlcgoJICBJIGRvIG5vdCBrbm93IHRoZSBiaXRzdHJlYW0gZm9ybWF0LCBidXQgdGhpcyBzZWVtcyBsaWtlbHkKCSAgdG8gYmUgd2hhdCB3YXMgaW50ZW5kZWQuIEFsc28gYWRkIGEgY2hlY2sgb24gdGhlIG51bWJlciBvZgoJICBpdGVtcyB0byByZWFkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYyNzc2CgoyMDExLTEwLTIxIDEzOjE4OjI2ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICB2YzFwYXJzZXI6IGZpeCBwYXJzaW5nIG9mIFJBTkdFUkVERlJNCgoyMDExLTExLTAyIDEyOjEwOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIHRhZzogdXBkYXRlIGZvciB0YWcgQVBJIHJlbW92YWwKCjIwMTEtMTEtMDIgMTA6MzE6MjQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTExLTAyIDA5OjE0OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiB1cGRhdGUgZm9yIHRhZ2xpc3QgYXBpIGNoYW5nZXMKCjIwMTEtMTAtMjkgMDk6MDk6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBzdHJ1Y3R1cmU6IGZpeCBmb3IgYXBpIHVwZGF0ZQoKMjAxMS0xMC0yOSAwODoyNTo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuYzoKCSAgY2FwczogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTExLTAxIDExOjQ3OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IE9uIGNhcHR1cmUgZXJyb3IsIHNraXAgcHJldmlld3MKCSAgV2hlbiB0aGUgY2FtZXJhIHNvdXJjZSBmYWlscyB0byBkbyBzb21lIGNhcHR1cmUsIHNraXAgdGhlIG5leHQKCSAgcHJldmlldyBhbmQgZGVjcmVtZW50IHByb2Nlc3NpbmcgY291bnRlci4KCjIwMTEtMTEtMDEgMTA6Mzg6MzMgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdHJhY2sgYWxzbyBwcmV2aWV3IGltYWdlcyB3aXRoIHByb2Nlc3NpbmcgY291bnRlcgoJICBNYWtlcyBjYW1lcmFiaW4yIG9ubHkgc2lnbmFsIHRoYXQgaXQgaXMgaWRsZSBhZnRlciBhbGwgcHJldmlld3MgaGF2ZQoJICBiZWVuIGdlbmVyYXRlZCwgaW1hZ2VzIGFyZSBjYXB0dXJlZCBhbmQgc2F2ZWQsIGFuZCB2aWRlb3MgaGF2ZQoJICBiZWVuIGZpbmlzaGVkIHByb3Blcmx5LgoKMjAxMS0xMS0wMSAxNTowODoyNiArMDEwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2VyOiBmaXggYWNjZXNzIHRvIHVuaW5pdGlhbGl6ZWQgbWVtb3J5CgkgIFdoZW4gdnVpLT50aW1pbmdfaW5mb19wcmVzZW50IGlzIDAsIHZ1aS0+Zml4ZWRfZnJhbWVfcmF0ZV9mbGFnIGFuZCBvdGhlcnMKCSAgY2Fubm90IGJlIGFjY2Vzc2VkIHNpbmNlIHRoZXkgaGF2ZSBub3QgYmVlbiBzZXQuCgkgIEl0IHdhcyBhbHNvIHBvc3NpYmxlIHRoYXQgc3BzLT5mcHNfe251bSxkZW59IGVuZCB1cCBpbml0aWFsaXplZCBoZXJlLgoKMjAxMS0xMS0wMSAxMToxMTo0NyArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogaGFjayBhcm91bmQgYnJva2VuIG1wbGV4IDIuMC4wIGhlYWRlcnMgaW4gbXBsZXggY2hlY2sKCSAgRHVlIHRvIHRoZSBhZGRpdGlvbiBvZiBhbiB1bmNvbmRpdGlvbmFsIGluY2x1c2lvbiBvZiBjb25maWcuaCBpbgoJICBtanBlZ3Rvb2wgMi4wLjAncyBzdHJlYW1fcGFyYW1zLmggaGVhZGVyIHRoZSBhdXRvY29uZiB0ZXN0IGZvciB0aGUKCSAgbXBsZXggbW9kdWxlIGZhaWxlZC4gSGFjayBhcm91bmQgdGhpcyBpbiB0aGUgc2FtZSB3YXkgd2UgZGlkIGZvcgoJICBtcGVnMmVuYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MTYxNAoKMjAxMS0xMS0wMSAxMTowOTo1MiArMDAwMCAgQnJhZCBTbWl0aCA8YnJhZEBjb21zdHlsZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IHR5cG8gaW4gbXBlZzJlbmMgY2hlY2sgc28gQ1BQRkxBR1MgZ2V0IHJlc3RvcmVkIGNvcnJlY3RseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYxNjE0CgoyMDExLTExLTAxIDEyOjI5OjM1ICswMTAwICBSZW7DqSBTdGFkbGVyIDxyZW5lLnN0YWRsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGgyNjRwYXJzZXI6IGZpeCBNQVhfU1BTL1BQUyBib3VuZGFyeSBjaGVja3MKCjIwMTEtMTEtMDEgMTI6MTI6NTYgKzAxMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9oMjY0cGFyc2UuYzoKCSAgdGVzdHM6IGgyNjRwYXJzZTogZml4IGV4aXQgY29kZQoKMjAxMS0xMS0wMSAwMDo0NToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIFVwZGF0ZSBmb3IgcGFkIEFQSSBjaGFuZ2VzCgkgIEdzdFByb2JlVHlwZSwgR3N0UHJvYmVSZXR1cm4gYW5kIEdzdEFjdGl2YXRlTW9kZSAtPiBHc3RQYWQqCgoyMDExLTEwLTI4IDExOjEwOjA2ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzLmM6CgkgIGZpZWxkYW5hbHlzaXM6IERvbid0IHJlc2V0IHRoZSBjb250ZXh0IG9uIERJU0NPTlQKCSAgT24gZGlzY29udCwgdGhlIHF1ZXVlIG9mIGZyYW1lcyB3YXMgYmVpbmcgY2xlYXJlZCwgYnV0IGFsc28gdGhlCgkgIGNvbnRleHQgcmVzZXQuIFdlIG9ubHkgbmVlZCB0byBjbGVhciB0aGUgcXVldWUuCgoyMDExLTEwLTMxIDE0OjUxOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIHJlbW90ZS10cmFja2luZyBicmFuY2ggJ29yaWdpbi9tYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0zMSAxNDo1MTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAga2F0ZSwgYmF5ZXIsIHRzZGVtdXg6IHVwZGF0ZSBmb3IgY2FwcyBhbmQgdGFnbGlzdCBBUEkgY2hhbmdlcwoKMjAxMS0xMC0zMSAxNDo1MDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIGthdGUgYW5kIG15dGh0diB0byBub24tcG9ydGVkIGxpc3QKCSAga2F0ZXRpZ2VyIGlzbid0IHBvcnRlZCwgc28gcGx1Z2luIGRvZXNuJ3QgYnVpbGQgaWYgbGlidGlnZXIgaXMgcHJlc2VudC4KCjIwMTEtMTAtMzEgMTE6MzY6MDYgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBoYW5kbGUgZmFpbHVyZXMgaW4gc3RhcnQoKSBhbmQgc3RvcCgpCgoyMDExLTEwLTMxIDA2OjU5OjUzIC0wMzAwICBUb21taSBNecO2aMOkbmVuIDx0b21taS5teW9oYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IG9wdGltaXplIHN0YXRlIGNoYW5naW5nIHNwZWVkCgkgIENyZWF0ZSBwcmV2aWV3IHBpcGVsaW5lIGFscmVhZHkgaW4gaW5pdGlhbGl6YXRpb24gcGhhc2UuIFRoaXMgc3BlZWRzCgkgIHVwIE5VTExfVE9fUkVBRFkgc3RhdGUgY2hhbmdlLiBBbHNvIGltcGxlbWVudCBhIHNlcGFyYXRlIGZ1bmN0aW9uIGZvcgoJICBzZXR0aW5nIHRoZSBwcmV2aWV3IGZpbHRlciBlbGVtZW50LgoJICBUaGlzIGFsc28gcmVzdHJpY3RzIHRoZSBwcmV2aWV3IGZpbHRlciBwcm9wZXJ0eSB0byB3b3JrIG9ubHkgb24KCSAgTlVMTCBzdGF0ZS4KCjIwMTEtMTAtMjggMTU6MTY6NDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtYWtlIGVsZW1lbnRzIGNvbXBpbGUgYWdhaW4KCjIwMTEtMTAtMjcgMTY6MjM6MjYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogZml4IGNvbXBpbGF0aW9uCgoyMDExLTEwLTI3IDE2OjIzOjEwICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBmaXggY29tcGlsYXRpb24KCjIwMTEtMTAtMjcgMTY6MjI6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGFkZCBzcGFuZHNwIHRvIG5vbi1wb3J0ZWQKCjIwMTEtMTAtMjcgMTY6MTM6NTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTIxIDE1OjA0OjA1ICswMjAwICBTdGVmYW4gU2F1ZXIgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSAgaW50ZXJmYWNlczogY2xlYW4gdXAgdGhlIHVzZSBvZiBpZmFjZSBhbmQgY2xhc3Mva2xhc3MKCjIwMTEtMTAtMTkgMTA6MjQ6NTIgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIHZjMXBhcnNlcjogQ29ycmVjdCB0aGUgcGFyc2luZyBvZiBGUk1SVFFfUE9TVFBST0MgYW5kIEJJVFJUUV9QT1NUUFJPQwoKMjAxMS0xMC0yMSAxMTo0MDo1NCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgdmMxcGFyc2VyOiBDb3JyZWN0IHRoZSBwYXJzaW5nIG9mIHNlcXVlY2UgbGF5ZXIuCgoyMDExLTEwLTIwIDA5OjM5OjE5IC0wMzAwICBSZXluYWxkbyBILiBWZXJkZWpvIFBpbm9jaGV0IDxyZXluYWxkb0Bjb2xsYWJvcmEuY29tPgoKCSogQW5kcm9pZC5tazoKCSAgRGlzYWJsZSBleHQvZmFhZCBmb3IgdGhlIGFuZHJvaWQgbmRrIGJ1aWxkCgkgIEl0IGN1cnJlbnRseSBtYWtlcyB0aGUgYnVpbGQgZmFpbC4gSWRlYSBpcyB0byBlbmFibGUKCSAgaXQgYmFjayBhZ2FpbiBvbmNlIGl0cyBidWlsZGluZyBwcm9ibGVtcyBnZXQgc29ydGVkCgkgIG91dC4KCjIwMTEtMTAtMTggMTQ6NDE6NDggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIGFzc3JlbmRlciwgbnV2ZGVtdXg6IHVucmVmIGJ1ZmZlcnMgd2l0aCBnc3RfYnVmZmVyX3VucmVmKCkKCjIwMTEtMTAtMTggMTQ6MzI6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTEwLTE4IDE0OjI4OjA0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0OiBzdGFydCBvZiAwLjExIHBvcnQKCjIwMTEtMTAtMTQgMTE6MDc6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBDb21wdXRlIHBhciBhbmQgZnBzIGluIGFkdmFuY2VkIHByb2ZpbGUKCjIwMTEtMTAtMTAgMTQ6MTk6NDggLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmaWVsZHMKCjIwMTEtMTAtMTAgMTA6MTQ6MTIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBIYW5kbGUgaW50ZXJsYWNlZCBmcmFtZXMgcHJvcGVybHkKCjIwMTEtMTAtMDcgMTM6MTE6NTUgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBVc2UgZW51bXMgd2hlbiBwb3NzaWJsZQoJICBBZGQgR3N0VkMxRnJhbWVDb2RpbmdNb2RlIGFuZCB1c2UgaXQgZm9yIHRoZSBmY20gZmllbGQKCSAgVXNlIEdzdFZDMVBpY3R1cmVUeXBlIGFzIHZhcmlhYmxlIHR5cGUgZm9yIHB0eXBlCgkgIFVzZSBHc3RWQzFMZXZlbCBhcyB2YXJpYWJsZSB0eXBlIGZvciBsZXZlbAoKMjAxMS0xMC0wNyAxNzo0MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKGNoZWNrIGZvciBlcnJvcnMpLgoKMjAxMS0xMC0wNyAxNToyMTozNCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBiaXRwbGFuZXMgZGVjb2RpbmcgKElOVkVSVCBtb2RlKS4KCjIwMTEtMTAtMDcgMTM6NTk6MjkgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBmaXggTVZNT0RFIGFuZCBNVk1PREUyIHBhcnNpbmcuCgoyMDExLTEwLTA1IDE3OjM5OjU5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogaGFuZGxlIHNraXBwZWQgcGljdHVyZXMgZ3JhY2VmdWxseS4KCjIwMTEtMTAtMDQgMTc6Mzk6NDIgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGRpZmYgb3BlcmF0b3IKCjIwMTEtMTAtMDQgMTc6Mzk6MDAgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBTb21lIGNvc21ldGljcyBhbmQgZGVidWcgbG9nZ2luZyBlbmhhbmNlbWVudHMKCjIwMTEtMTAtMDQgMTU6MTY6MDQgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogdmMxOiBJbXBsZW1lbnQgYml0cGxhbmVzIGhhbmRsaW5nIHByb3Blcmx5CgkgIEFkZCBhIG5ldyBHc3RWQzFCaXRQbGFuZXMgQVBJLgoKMjAxMS0xMC0wNCAxNDowNDo0MiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGZpeCBCRlJBQ1RJT04gcGFyc2VyICh2YWx1ZXMgcmFuZ2UgKyBvdmVyZmxvdykuCgoyMDExLTEwLTA0IDExOjU3OjM3ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZml4IFZMQyBkZWNvZGluZy4KCjIwMTEtMTAtMDUgMTY6NDA6NDcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0dmMxcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogVkMxOiBJbXBsZW1lbnQgRnJhbWVMYXllciBwYXJzaW5nCgoyMDExLTEwLTA1IDEyOjE1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogSW1wbGVtZW50IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlcwoJICBJbnN0ZWFkIG9mIGhhdmluZyBhIHNpbmdsZSBWQzFTZXF1ZW5jZUhlYWRlciBzdHJ1Y3R1cmUsIHVzZSB0aGUgMyBzdHJ1Y3RzCgkgIGZyb20gdGhlICJUYWJsZSAyNjU6IFNlcXVlbmNlIExheWVyIERhdGEgU3RydWN0dXJlIiBvZiB0aGUgc3BlY2lmaWNhdGlvbgoJICBmb3IgdGhlIGxpYnJhcnkgdG8gYmUgbW9yZSBmbGV4aWJsZS4KCSAgSW1wbGVtZW50IHRoZSBmdW5jdGlvbnMgdG8gcGFyc2UgdGhlbQoKMjAxMS0xMC0wNSAwODoyNjozMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBWQzE6IENvbXB1dGUgZnJhbWVyYXRlIGFuZCBiaXRyYXRlIGluIHNpbXBsZS9tYWluIHByb2ZpbGVzCgoyMDExLTEwLTAzIDE0OjI1OjAwIC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogY29tcHV0ZSBNQiBoZWlnaHQgYW5kIHdpZHRoCgkgIEFkZCB0aGVtIHRvIEdzdFZDMVNlcXVlbmNlSGRyCgoyMDExLTEwLTAzIDE1OjM2OjA4ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogZGVidWcgY29zbWV0aWNzLgoKMjAxMS0xMC0wMyAxMTo0MjozMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHJlY29yZCBwaWN0dXJlIGxheWVyIGhlYWRlciBzaXplIGluIGJpdHMuCgoyMDExLTEwLTAzIDExOjE0OjI1ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdHZjMXBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IHZjMTogY29tcHV0ZSBhbHRwcXVhbnQuCgoyMDExLTEwLTAzIDE0OjIyOjE3IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiB0ZXN0cy9jaGVjay9saWJzL3ZjMXBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IFZDMTogRml4IGFmdGVyIEdzdFZDMVBhcnNlclJlc3VsdCByZW5hbWluZwoKMjAxMS0wOS0zMCAxMjo0MToxMyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IHVzZSBHc3RWQzFQYXJzZXJSZXN1bHQgdHlwZSBuYW1lIHNpbWlsYXJseSB0byBvdGhlciBwYXJzZXJzLgoKMjAxMS0wOS0zMCAxMTozODoxNSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiB2YzE6IGhhbmRsZSBFbmQtb2YtU2VxdWVuY2UgY29ycmVjdGx5LgoKMjAxMS0wOS0xNCAxNDoyMTo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBtcGVnMjogZml4IHF1YW50X21hdHJpeF9leHRlbnNpb24oKSBwYXJzZXIgZm9yIGNocm9tYSBpbnRyYSBRTS4KCjIwMTEtMTAtMTMgMTY6NTI6NDMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCBkZWJ1ZyBtZXNzYWdlIGFuZCByZW1vdmUgc29tZSBkZWFkIGNvZGUKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTA2IDE2OjU1OjQzICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBpbnRlbC5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGNvcnJlY3QgcGFyc2luZyBvZiAibnVtYmVyT2ZQaWN0dXJlUGFyYW1ldGVyU2V0cyIKCSAgU2VlICM2NjExMTMuCgoyMDExLTEwLTE3IDEwOjE5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBGaXggcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMTAtMTYgMTc6NDE6NDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmM6CgkqIGdzdC95NG0vZ3N0eTRtZGVjLmg6CgkgIHk0bTogcG9ydCB0byAwLjExCgoyMDExLTEwLTE2IDE2OjQ1OjI0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNjoyODo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkqIGdzdC9iYXllci9nc3RyZ2IyYmF5ZXIuaDoKCSAgYmF5ZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0xNiAxNToyODozMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMTAtMTMgMTY6NTc6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIGdzdF9idWZmZXJfam9pbiBpbnN0ZWFkIG9mIGJ1ZmZlcmxpc3RzCgkgIFRoaXMgaXMgKnJlYWxseSogaW5lZmZpY2llbnQuIFdlIHNob3VsZCB0cmFjayBsaXN0IG9mIEdzdE1lbW9yeQoJICBpbnN0ZWFkLgoKMjAxMS0xMC0xMyAxNjo1NzoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQbHVnIG1vcmUgbGVha3MKCjIwMTEtMTAtMTMgMTY6NTU6NTQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogUmVmYWN0b3Igc2NhbiBsb29wCgkgIEF2b2lkcyBlbmRpbmcgdXAgbGVha2luZyBwYWNrZXRzIHdoZW4gd2UgZ290IG9uZSBhbmQgcmVzIHdhcyBkaWZmZXJlbnQKCSAgZnJvbSBHU1RfRkxPV19PSy4KCSAgSXQgYWxzbyBsb29rcyBtb3JlIGNvbXByZWhlbnNpYmxlCgoyMDExLTEwLTEzIDE2OjU1OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGxlYWsgdXBzdHJlYW0gZXZlbnRzCgoyMDExLTEwLTEzIDE2OjU1OjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IFJlZmFjdG9yIGNvZGUgdG8gY29wZSB3aXRoIGdfaGFzaF90YWJsZV9mb3JlYWNoX3JlbW92ZSgpCgoyMDExLTEwLTEyIDE4OjA1OjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIHRzZGVtdXgvdHNwYXJzZTogUG9ydCB0byAwLjExCgkgIFRoaXMgaXMgYSBuYWl2ZSBwb3J0IHRoYXQgc29tZXdoYXQgd29ya3MgYnV0IGlzIGluZWZmaWNpZW50LgoJICBJIG5lZWQgdG8gcmV0aGluayBob3cgdG8gbWFrZSB0aGUgYmVzdCBvdXQgb2YgR3N0TWVtb3J5L0dzdEJ1ZmZlcgoKMjAxMS0xMC0xMiAxMjowOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBDaGVjayBiZWZvcmUgYWNlc3NpbmcgcHJldmlldyBsb2NhdGlvbiBsaXN0CgkgIE9ubHkgYWNjZXNzIHRoZSBwcmV2aWV3IGxvY2F0aW9uIGlmIGl0IGV4aXN0cywgdG8gYXZvaWQgYWNlc3NpbmcKCSAgYSBOVUxMIHZhcmlhYmxlLiBJZiB0aGUgcHJldmlldyBsb2NhdGlvbiBsaXN0IGRvZXNuJ3QgZXhpc3QsIGl0IGlzCgkgIGxpa2VseSBiZWNhdXNlIHRoZSBzb3VyY2UgaGFzIHBvc3RlZCBhIHByZXZpZXcgbWVzc2FnZSBhZnRlciBjYW1lcmFiaW4yCgkgIGhhcyBiZWVuIHB1dCB0byBSRUFEWS4KCjIwMTEtMDgtMDcgMTc6MDE6NDggKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5oOgoJICBzaG06IEFkZCBidWZmZXItdGltZSBwcm9wZXJ0eQoJICBBZGQgYSBidWZmZXItdGltZSBwcm9wZXJ0eSB0byBsaW1pdCB0aGUgc2l6ZSBvZiB0aGUgYW1vdW50IG9mIGRhdGEKCSAgcXVldWVkIGluIHRoZSBzaG1zaW5rIGJ1ZmZlciBpbiBuYW5vc2Vjb25kcy4KCSAgRml4ZXM6ICM2NTYxMDcKCjIwMTEtMDgtMDcgMTY6MzY6MzIgKzAyMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBhYmlsaXR5IHRvIGFkZCB1aW50NjQgdGFncyBvbiBidWZmZXJzCgoyMDExLTEwLTExIDIzOjMwOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFNldCBwcmV2aWV3IHBpcGVsaW5lIHRvIHJlYWR5IHdoZW4gZ29pbmcgdG8gcmVhZHkKCSAgVGhlIHByZXZpZXcgcGlwZWxpbmUgc2hvdWxkIGdvIHRvIHJlYWR5IHdoZW4gdGhlIGNhbWVyYXNyYyBnb2VzCgkgIHRvIHJlYWR5LCBhcyBpbiByZWFkeSBlbGVtZW50cyBzaG91bGRuJ3QgYmUgcHJvY2Vzc2luZyBkYXRhLgoKMjAxMS0xMC0xMSAyMzoxMzowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG11dGV4IHRvIGF2b2lkIGNvbmN1cnJlbnQgYWNjZXNzIG9mIHByZXZpZXcgZmlsZW5hbWUgbGlzdHMKCSAgVGhlIHByZXZpZXcgZmlsZW5hbWUgbGlzdCBpcyBhY2Vzc2VkIHdoZW5ldmVyIGEgbmV3IGNhcHR1cmUgaXMgc3RhcnRlZCwgd2hlbgoJICBjYW1lcmEtc291cmNlIHBvc3RzIGEgbmV3IHByZXZpZXcgbWVzc2FnZSBvciBvbiBzdGF0ZSBjaGFuZ2VzLiBBbGwgb2YgdGhvc2UgY2FuCgkgIG9jY3VyIHNpbXVsdGFuZW91c2x5LCBzbyBhZGQgYSBtdXRleCB0byBwcmV2ZW50IGNvbmN1cnJlbnQgYWNjZXNzLgoKMjAxMS0xMC0wNyAxMDo0ODowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZXNldCBhdWRpb3NyYyB0aW1lc3RhbXBpbmcKCSAgUmVzZXQgYXVkaW9zcmMncyB0aW1lc3RhbXBpbmcgZGF0YSBieSBzZXR0aW5nCgkgIGl0IHRvIE5VTEwgdG8gcmVzZXQgdGhlIHJpbmdidWZmZXIgYW5kIHRoZW4gcmUtc2V0aW5nCgkgIHRoZSBjbG9jayB0aGF0IGNhbWVyYWJpbiBtaWdodCBub3QgcmVkaXN0cmlidXRlCgoyMDExLTEwLTExIDE2OjI3OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogUHJldmVudCBhdWRpbyBzb3VyY2UgZnJvbSBwcm92aWRpbmcgY2xvY2sKCSAgY2FtZXJhYmluJ3MgYXVkaW8gc291cmNlIG1pZ2h0IGJlIHB1dCB0byBOVUxMIGR1cmluZyBpdHMKCSAgdXNlLCBzbyB0aGUgY2xvY2sgd291bGQgYmUgbG9zdC4gQmV0dGVyIG5vdCBhbGxvdyBpdCB0bwoJICBwcm92aWRlIGEgY2xvY2sgYXQgYWxsLgoKMjAxMS0xMC0xMSAxMTowNTo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogb3BlbmFsIGlzIG5vdCBwb3J0ZWQgeWV0CgoyMDExLTEwLTEwIDExOjQxOjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMTAgMTA6MTU6MDUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTU6MTY6MjUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTQ6MjI6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5oOgoJICBrYXRlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTM6MTQ6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGlzYWJsZSBkaXJlY3RmYgoKMjAxMS0xMC0wOCAxMjowNzo1OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDggMTE6NTc6NTggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wOCAxMTo0MDoyNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzaW5rLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA4IDExOjE3OjExICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAyMzoyMjo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgZXhhbXBsZXM6IEZpeGVzIGZvciBjb21waWxpbmcgd2l0aCBHVEsrIDMuMAoJICBjYW1lcmFiaW5nIGV4YW1wbGUgaGFkIGEgbWlzc2luZyAnKScgYW5kIHRoZSBmaXggdG8gYnVpbGQgYWdhaW5zdCBHVEsrMwoJICB0aGF0IHdhcyBpbnRyb2R1Y2VkIGluIGNvbW1pdCA1MTZjOTc3Yzc2YmE0Y2Q4NmE3MTQ3YWFiNzQxNmEzM2Q3NmY4NzBmCgkgIGlzIGFsc28gYXBwbGllZCB0byB0aGUgY2FtZXJhYmluMiBleGFtcGxlLgoJICBUaGUgc2NhbGV0ZW1wbyBkZW1vIHdhcyB1c2luZyBBUEkgd2hpY2ggaGFzIGJlZW4gcmVtb3ZlZCwgc28gdGhhdCdzCgkgIHdyYXBwZWQgaW4gYSB2ZXJzaW9uIGNoZWNrLgoKMjAxMS0xMC0wNiAxNzo1NjozNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogYmVnaW5uaW5nIG9mIHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNiAxMjoxNTo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBNYWtlIHByb3BlciB1c2Ugb2YgdGhlIGgyNjRwYXJzZXIgbGliIGluIHBhcnNlX2NoYWluCgkgIE1pbm9yIGRlYnVnZ2luZyBsb2dzIGZpeGVzCgoyMDExLTEwLTA2IDE0OjA1OjQyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNiAxNDowMzoyOSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDYgMTI6MjU6MjYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwcm9wZXJseSBpbnRlcnByZXQgYmFzZXBhcnNlIGRyYWluaW5nIHN0YXRlCgkgIC4uLiB3aGljaCBtZWFucyB0aGUgaW5wdXQgZGF0YSBoYXMgcmVhY2hlZCB0aGUgZW5kLCBidXQgbmVlZCBub3QgZXhjbHVkZQoJICBtYW55IHNlcGFyYXRlIGZyYW1lcyBtYXkgc3RpbGwgbmVlZCBwYXJzaW5nLgoJICBGaXhlcyBtZXJnaW5nIE5BTHMgaW50byBBVS4KCjIwMTEtMTAtMDUgMjM6MTQ6MjMgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY29ycmVjdCB0aGUgc2l6ZSBhcmd1bWVudCBvZiBnc3RfaDI2NF9wYXJzZXJfaWRlbnRpZnlfbmFsdV9hdmMoKQoKMjAxMS0xMC0wNSAxMjowOTowNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5AaW50ZWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBtaW5pbXVtIHNpemUgb2YgcGFyc2FibGUgYXZjQyBkYXRhIHNob3VsZCBiZSA4CgoyMDExLTEwLTA2IDEwOjU4OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNSAyMDowNjoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogcG9ydCB0byAwLjExCgoyMDExLTEwLTA1IDEyOjUzOjA3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogbW9yZSBwb3J0aW5nCgoyMDExLTEwLTA0IDE4OjU0OjEzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJICBtbXNzcmM6IHBvcnQgdG8gMC4xMQoKMjAxMS0xMC0wNCAxODozODo1MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTg6MzU6MzMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1vcmUgdW5wb3J0ZWQgcGx1Z2lucwoKMjAxMS0xMC0wNCAxNDozMDo1MyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkgIHRlc3RzOiBwb3J0CgoyMDExLTEwLTA0IDE0OjI3OjMyICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICB2aWRlbzogc3RhcnQgcG9ydGluZyBzb21lIGJhc2UgY2xhc3NlcwoKMjAxMS0xMC0wNCAxNDoyNzowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIHRlc3RzOiBmaXggc29tZSB0ZXN0cwoKMjAxMS0xMC0wNCAxNDoyNjoyMSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiByZW1vcmUgaW1wbGVtZW50LWludGVyZmFjZQoKMjAxMS0xMC0wNCAxNDoyNTo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgbW9yZSB1bnBvcnRlZCBwbHVnaW5zCgoyMDExLTEwLTA0IDEzOjMzOjUzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBwb3J0IHRvIDAuMTEKCjIwMTEtMTAtMDQgMTM6MzM6MDkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSByaWdodCBjYXBzCgoyMDExLTEwLTA0IDEzOjI5OjIxICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0xMC0wNCAxMjozMTowNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE9ubHkgZmFpbCB0byBpbml0aWFsaXplIHRoZSBwbHVnaW4gaWYgYWxsIHBhcnNlcnMgY2FuJ3QgYmUgcmVnaXN0ZXJlZAoKMjAxMS0xMC0wMyAxNToyNjoxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjI6IEluaXRpYWxpemUgY2FtZXJhYmluMiBwcmV2aWV3IHBpcGVsaW5lIGRhdGEgd2l0aCAwCgkgIFVzZSBnX25ldzAgdG8gaW5pdGlhbGl6ZSBhbGwgZmllbGRzIHdpdGggMCB0byBvbmx5IGNsZWFudXAgd2hhdCBoYXMgYmVlbgoJICBpbml0aWFsaXplZC4gVGhpcyBtYWtlcyBjbGVhbnVwIHdvcmsgY29ycmVjdGx5IHdoZW4gc29tZSBpbml0aWFsaXphdGlvbgoJICBmYWlscyBhbmQgcG9pbnRlcnMgYXJlIGxlZnQgaW4gc29tZSBpbmNvbnNpc3RlbnQgc3RhdGUuCgoyMDExLTEwLTAzIDEyOjA2OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkgIHJ0cHZwOHBheTogRml4IHR5cG8KCjIwMTEtMDktMjMgMjI6NTg6MzAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4cGF5Lmg6CgkgIHJ0cHZwODogVXBkYXRlIHRoZSBwYXkvZGVwYXkgdG8gdGhlIGlldGYtZHJhZnQtMDEgc3BlYwoKMjAxMS0xMC0wMyAxMToyNDowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjggMTQ6NTc6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJICBvcHVzZGVjOiBmaXggZGVjb2RpbmcKCSAgQSBzaW1wbGUgLi4uIG9wdXNlbmMgISBvcHVzZGVjIC4uLiBwaXBlbGluZSBub3cgd29ya3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6NTY6MTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiBtb2FuIGlmIHdlIGdldCBhbiB1bmV4cGVjdGVkIGFtb3VudCBvZiBkYXRhCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTQ6MjI6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IHByb3Blcmx5IHNldHVwIGNhcHMgYW5kIGluaXQgc3RhdGUgZnJvbSBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjU6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2VuYy5jOgoJICBvcHVzZW5jOiB1c2UgdGhlIHNhbWUgZnJhbWUgc2l6ZSBzZXR1cCBhcyB0aGUgb3B1cyB0ZXN0IGNvZGUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDM2NAoKMjAxMS0wOS0yOCAxMzoyNDo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3B1cy9nc3RvcHVzZGVjLmM6CgkgIG9wdXNkZWM6IG9wdXMgc3VwcG9ydHMgYSBzZWxlY3Qgc2V0IG9mIHNhbXBsaW5nIHJhdGVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMjggMTM6MjQ6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5jOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkgIG9wdXM6IG1ha2UgaXQgYnVpbGQgYWdhaW5zdCBjdXJyZW50LCBhbmQgcmVtb3ZlIGNydWZ0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NjAzNjQKCjIwMTEtMDktMzAgMTg6NTQ6MDQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHNjYW5uaW5nIHN0b3BwaW5nIHRvbyBlYXJseQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4MjQ1CgoyMDExLTA5LTI5IDIwOjU1OjIyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGF2b2lkIHJlbmRlcmluZyB3aGVuIHdlIGtub3cgdGhlcmUgaXMgbm90aGluZyB0byByZW5kZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDUyOAoKMjAxMS0xMC0wMSAxNDozMDowNyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggcmFjZSBjb25kaXRpb24gb24gUEFVU0VELT5SRUFEWSBzdGF0ZSBjaGFuZ2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY2MDYzMAoKMjAxMS0wOS0yMSAxNDo1MzowMSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogdGFrZSBpbnRvIGFjY291bnQgU0NSIG9mZnNldCB3aGVuIHNlZWtpbmcKCSAgU2luY2UgdGhlIHNlZWtpbmcgYnl0ZSBvZmZzZXQgaXMgY2hvc2VuIGJ5IGxpbmVhciBpbnRlcnBvbGF0aW9uCgkgIGZyb20gU0NSIHZhbHVlcywgd2UgbmVlZCB0byB0YWtlIHRoYXQgZmlyc3QgU0NSIGludG8gYWNjb3VudAoJICB0byBlbmQgdXAgbmVhciB0aGUgY29ycmVjdCBvZmZzZXQuIE90aGVyd2lzZSwgYXMgdGhlIGNvZGUgZG9lcwoJICBhIGxpbmVhciBzZWFyY2ggYWZ0ZXIgdGhhdCBmaXJzdCBzZWVrLCBpdCB3aWxsIHRha2UgYSBMT09PT09PTkcKCSAgdGltZSB0byBnZXQgdGhlcmUgZm9yIHN0cmVhbXMgd2hpY2ggZG9uJ3Qgc3RhcnQgYXQgemVyby4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMSAxNzoyOTo1MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGFuc3dlciBwb3NpdGlvbiBxdWVyeSB3aXRoIGEgc3RyZWFtIHRpbWUgcG9zaXRpb24KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTQ4NQoKMjAxMS0wOS0yMCAxNToyMTo1MyArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogcmVtb3ZlIHVudXNlZCBmaWVsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5NDg1CgoyMDExLTA5LTI5IDE4OjIwOjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFJlZmFjdG9yIHRlc3RzIGEgbGl0dGxlCgkgIFJlZmFjdG9yIGNhbWVyYWJpbjIgdGVzdHMgYSBsaXR0bGUKCjIwMTEtMDktMjkgMTM6MDM6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogYWRkaW5nIHRlc3RzIHRvIGNoZWNrIGZvciBwcmV2aWV3IG1lc3NhZ2UgZmlsZW5hbWVzCgkgIFByZXZpZXcgbWVzc2FnZXMgbm93IGhhdmUgZmlsZW5hbWVzLCBhZGQgdGVzdHMgdG8gY2hlY2sgdGhhdCB0aGV5IGFyZQoJICBjb3JyZWN0CgoyMDExLTA5LTI5IDE4OjAzOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBhZGQgbG9jYXRpb24gdG8gcHJldmlldyBpbWFnZSBtZXNzYWdlcwoJICBNYWtlcyBjYW1lcmFiaW4yIGludGVyY2VwdCBwcmV2aWV3LWltYWdlIG1lc3NhZ2VzIGFuZCBhZGQKCSAgdGhlIGZpbGVuYW1lIGNvcnJlc3BvbmRpbmcgdG8gdGhlIG1lc3NhZ2Ugc3RydWN0dXJlIGluIHRoZQoJICAnbG9jYXRpb24nIGZpZWxkLgoJICBNYWtlcyBlYXNpZXIgZm9yIGFwcGxpY2F0aW9ucyB0byB0cmFjayBwcmV2aWV3IGltYWdlcwoKMjAxMS0wOS0yNyAxMzowNDoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSAgY2FtZXJhYmluMjogcmVtb3ZpbmcgY2Fwc2ZpbHRlciBmcm9tIHByZXZpZXcgcGlwZWxpbmUKCSAgYXBwc2luayBhbHJlYWR5IGhhcyBhIGNhcHMgcHJvcGVydHksIHNvIHdlIGRvbid0IG5lZWQgdGhlCgkgIGNhcHNmaWx0ZXIgaGVyZQoKMjAxMS0wOS0yOSAxNjoyMjowMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggcG90ZW50aWFsIGxvc3Mgb2YgRU9TIGV2ZW50CgkgIFNldHRpbmcgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIGp1c3QgYWZ0ZXIgcHVzaGluZyB0aGUgRU9TIGV2ZW50CgkgIG9uIGl0IGNvdWxkIHBvdGVudGlhbGx5IGNhdXNlIGxvc3Mgb2Ygc2FpZCBFT1MgZXZlbnQuIEluc3RlYWQsIHdlCgkgIGNhbiBzZXQgdGhlIGF1ZGlvIHNvdXJjZSB0byBOVUxMIHdoZW4gcmVhZHktZm9yLWNhcHR1cmUgaXMKCSAgc2lnbmFsbGVkIGFuZCB0aGUgYm9vbGVhbiB2YWx1ZSBpcyB0cnVlIGFzIHRoaXMgaW5kaWNhdGVzIHdlIGFyZQoJICBub3QgY3VycmVudGx5IGNhcHR1cmluZyB2aWRlby4KCjIwMTEtMDktMjggMTM6MDE6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIHBvcnRlZCBmYWFkIGFuZCBzZHAgZWxlbWVudHMKCjIwMTEtMDktMjggMTI6NTQ6MzggKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogcmVtb3ZlIGltcGxlbWVudHMtaW50ZXJmYWNlIHByZXJlcXVpc2l0ZQoKMjAxMS0wOS0yOCAxMjo1NDowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgdXNlIHRoZSAwLjExIGJyYW5jaCBvZiBjb21tb24KCjIwMTEtMDktMjcgMTM6MjI6MzEgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHBvcnQgdG8gMC4xMQoKMjAxMS0wOS0yNiAyMjozMToxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDktMjYgMjI6MzA6MTMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBwb3J0IHRvIDAuMTEKCjIwMTEtMDktMjYgMTc6MjM6NDEgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU3RvcCB0aGUgYXVkaW8gc291cmNlIGJldHdlZW4gY2FwdHVyZXMKCSAgTW92ZSB0aGUgYXVkaW8gc291cmNlIHNldHRpbmcgb2Ygc3RhdGUgdG8gTlVMTCB0byBfc3RvcF9jYXB0dXJlICgpIHRvCgkgIGF2b2lkIHRoZSBhdWRpbyBzb3VyY2UgcnVubmluZyBiZXR3ZWVuIGNhcHR1cmVzLgoKMjAxMS0wOS0yNiAxNjoyNjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IEFsc28gc2V0IG1heGltdW0gbnVtYmVyIG9mIHNhbXBsZXMgdGhhdCB0aGUgc3ViY2xhc3Mgd2FudHMKCjIwMTEtMDktMjYgMTY6MDU6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBTaW1wbGUgZml4IGZvciBHc3RBdWRpb0VuY29kZXIgQVBJIGNoYW5nZQoKMjAxMS0wOC0yMyAxODoyNToyMCAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3R2YzFwYXJzZXIuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvdmMxcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyOiBWQzE6IEltcGxlbWVudCBhIFZDMSBwYXJzaW5nIGxpYnJhcnkKCjIwMTEtMDktMTYgMTk6MDM6MzEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY29kZWNwYXJzZXJzOiBEZWNsYXJlIHRoZSBuZXcgQVBJcyBhcyB1bnN0YWJsZSBmb3IgdGhlIHRpbWUgYmVpbmcKCjIwMTEtMDktMjYgMTE6NDQ6MDIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDoga2VlcCBDUkMgdGFibGUgaW4gLnJvZGF0YQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjYwMTE4CgoyMDExLTA5LTIwIDE2OjI5OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9wY2FwcGFyc2UvZ3N0aXJ0c3BwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdGlydHNwcGFyc2UuaDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BjYXBwYXJzZS9wbHVnaW4uYzoKCSAgaXJ0c3BwYXJzZTogYWRkIEludGVybGVhdmVkIFJUU1AgcGFyc2VyIGVsZW1lbnQKCjIwMTEtMDktMjMgMTA6MTA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBmaXggY29tcGlsZXIgd2FybmluZwoJICBnc3RmYWFkLmM6IEluIGZ1bmN0aW9uICdnc3RfZmFhZF9wYXJzZSc6CgkgIGdzdGZhYWQuYzo2MTU6MTE6IGVycm9yOiAnbGVuJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTEtMDktMjMgMDk6NTc6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBwYXJzZSB3YW50cyBhIEdzdEZsb3dSZXR1cm4gcmV0dXJuIHZhbHVlLCBub3QgYSBnYm9vbGVhbgoKMjAxMS0wOS0yMiAyMDoxMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkgIHBzbXV4OiBmaXggd3JpdGluZyBvZiBzeXN0ZW0gaGVhZGVyLCB3aGljaCBtYWtlcyBWTEMgbm90IHNraXAgdGhlIGFkamFjZW50IFBTTSBhbmQgcGxheSBlbWJlZGRlZCBILjI2NCBzdHJlYW1zCgkgIGhlYWRlcl9sZW5ndGggY29udGFpbnMgdGhlIGxlbmd0aCBpbiBieXRlcyBhZnRlciB0aGUgaGVhZGVyX2xlbmd0aAoJICBmaWVsZCwgZXhjbHVkaW5nIHRoZSA2IGJ5dGUgc3RhcnQgY29kZSBhbmQgaGVhZGVyX2xlbmd0aCBmaWVsZC4KCSAgSC4yNjQgc3RyZWFtcyBhbmQgc29tZSBvdGhlciBmb3JtYXRzIG5lZWQgdG8gYmUgYW5ub3VuY2VkIGluIHRoZSBQU00uCgkgIFZMQyB3b3VsZG4ndCBwbGF5IGZpbGVzIGNyZWF0ZWQgd2l0aCBtcGVncHNtdXggY29udGFpbmluZyBILjI2NCBiZWNhdXNlCgkgIHdlIGNsYWltIHRoZSBzeXN0ZW0gaGVhZGVyIGlzIGxhcmdlciB0aGFuIGl0IGFjdHVhbGx5IGlzLCB3aGljaCBtYWtlcwoJICBWTEMgc2tpcCB0aGUgcHJvZ3JhbSBzdHJlYW0gbWFwIHdoaWNoIGZvbGxvd3MgdGhlIHN5c3RlbSBoZWFkZXIsIHdoaWNoCgkgIGluIHR1cm4gbWFrZXMgaXQgbm90IHJlY29nbmlzZSBvdXIgSC4yNjQgdmlkZW8gc3RyZWFtLgoKMjAxMS0wOS0yMiAyMDowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvLmdpdGlnbm9yZToKCSAgZG9jczogYWRkIGlnbm9yZSBydWxlcyBmb3IgbGlicyBkb2NzIGRpcmVjdG9yeQoKMjAxMS0wOS0yMiAxODoyMzozMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGZpeHVwIG1pc3VuZGVyc3RhbmRpbmcgaW4gc2FtcGxlIGNvdW50aW5nCgkgIC4uLiBiZXR3ZWVuIGNvZGVjIGFuZCBhdWRpb2VuY29kZXIgcmVnYXJkaW5nIHdoZXRoZXIgb3Igbm90IGNoYW5uZWwKCSAgY291bnQgaXMgYWxyZWFkeSBjb25zaWRlcmVkLgoJICBGaXhlcyAjNjU5ODM2LgoKMjAxMS0wOS0yMiAxNjowMTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjIgMDk6NDk6MjEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBwb3J0IHRvIGF1ZGlvZGVjb2RlcgoKMjAxMS0wOS0yMSAxNjoxMToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IHVzZSBzb21lIG1vcmUgYm9pbGVycGxhdGUKCjIwMTEtMDktMjEgMTY6MDE6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBwb3J0IHRvIGF1ZGlvZW5jb2RlcgoKMjAxMS0wOS0yMCAxNjo1NDozMiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSAga2F0ZTogZm9yd2FyZCByZXR1cm4gY29kZSBmcm9tIHNldHRpbmcgc3JjIHBhZCBjYXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTk2MDYKCjIwMTEtMDktMjAgMTM6MDA6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZhaWwgc3RhdGUgY2hhbmdlIGlmIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24KCSAgSWYgdGhlIHByZXZpZXcgcGlwZWxpbmUgZmFpbHMgY3JlYXRpb24sIGZvciBhbnkgcmVhc29uLCB3ZSBzaG91bGQKCSAgZmFpbCBiYXNlY2FtZXJhc3JjIHN0YXRlIGNoYW5nZS4KCSAgQWxzbyBhZGRzIGEgbWlzc2luZyBnX3JldHVybl9pZl9mYWlsIGNoZWNrIHRvIHByZXZpZXcgcGlwZWxpbmUKCSAgZnVuY3Rpb25zCgoyMDExLTA5LTE5IDE2OjMyOjU4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogQWRkIGNoZWNrcyB0byBpbnB1dCwgYW5kIGZpeCBzaXplIGNoZWNraW5nCgoyMDExLTA5LTE5IDE0OjU0OjExICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDE0OjA3OjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYnJpbmcgZGVidWcgc3RhdGVtZW50cyB1cCB0byBkZXNpcmVkIHNwZWNzCgoyMDExLTA5LTE5IDEzOjQxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzaW5nbGliczogRG9jIGFuZCBpbmRlbnRhdGlvbiBmaXhlcwoKMjAxMS0wOS0xMCAxMTozMToyMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5MSUNFTlNFOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5jOgoJKiBnc3QvcnRwdnA4L2Rib29saHVmZi5oOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IGZpeCBiaXRzdHJlYW0gcGFyc2luZyB1c2luZyB0aGUgd3Jvbmcga2luZCBvZiBiaXRyZWFkZXIKCSAgVlA4IHVzZXMgYSBwcm9iYWJpbGlzdGljIGJvb2wgY29kZXIsIG5vdCBhIHN0cmFpZ2h0IGJpdCBjb2Rlci4KCSAgVGhpcyBmaXhlcyBwYXJzaW5nIHdoZW4gZXJyb3ItcmVzaWxpZW50IGlzIHNldC4KCSAgVGhpcyBjb21taXQgaW5jbHVkZXMgYSBjb3B5IG9mIGxpYnZweCdzIGJvb2wgY29kZXIsIEJTRCBsaWNlbnNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY5NAoKMjAxMS0wOS0xNCAyMDoyMjo0MiArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogYSBiaXQgbW9yZSBlcnJvciBjaGVja2luZyBvbiBoZWFkZXIgcGFyc2luZwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjU2OjQwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY2xlYW51cCBoZWFkZXIgY3JlYXRpb24KCSAgQXZvaWQgYW4gZXh0cmEgY29weSB2aWEgYSB0ZW1wb3JhcnkgZml4ZWQgc2l6ZSBzdGFjayBidWZmZXIuCgkgIFVzZSBsaWJjZWx0J3MgaGVhZGVyIHNpemUgdG8gYWxsb2NhdGUgYSBidWZmZXIgb2YgdGhlIGNvcnJlY3QKCSAgc2l6ZSBpbiB0aGUgZmlyc3QgcGxhY2UgKGxpYmNlbHQgaGFzIGFuIG9mZiBieSA0IHRoZXJlLCBzbwoJICBhY2NvdW50IGZvciB0aGlzKS4KCSAgV2hpbGUgdGhlcmUsIG1ha2Ugc2l6ZSB1bnNpZ25lZCwgYW5kIGdyYW5wb3Mgc2lnbmVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU5MDg3CgoyMDExLTA5LTE0IDE5OjA5OjMwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogZG8gbm90IHVzZSBpbnZhbGlkIGJ1ZmZlciB0aW1lc3RhbXBzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTQgMTc6MjY6MDUgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICBjZWx0ZGVjOiBmaXggZXJyb3IgY2hlY2tpbmcgd2l0aCBsaWJjZWx0IDAuMTEKCSAgVGhlIHJldHVybiB2YWx1ZSBvZiBjZWx0X2RlY29kZSBoYXMgY2hhbmdlZCwgbmV3ZXIgdmVyc2lvbnMKCSAgbm93IHJldHVybiBwb3NpdGl2ZSB2YWx1ZXMgb24gc3VjY2Vzcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1OTA4NwoKMjAxMS0wOS0xNCAxNzowNzo1MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgY2VsdGVuYzogYWxsb3cgYWN0dWFsbHkgb3ZlcnJpZGluZyBmcmFtZSBzaXplCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwODcKCjIwMTEtMDktMTMgMTY6MjQ6MzIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGZsdXNoIG9uIHNlZWssIGFuZCBlbnN1cmUgd2UgY2FuY2VsIGFueSB3YWl0aW5nIGJ1ZmZlcgoJICBUaGlzIGlzIHdoYXQgcGFuZ28gdGV4dG92ZXJsYXkgZG9lcywgYW5kIEkndmUgaGFkIHRoYXQgY29uZGl0aW9uCgkgIHZhcmlhYmxlIGdldCBzdHVjayBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4OTQwCgoyMDExLTA5LTEyIDExOjE3OjIwICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBoMjY0cGFyc2U6IGRvIG5vdCB0cnkgdG8gcmVhZCBmcm9tIGEgbm9uIGV4aXN0ZW50IFZVSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4ODAwCgoyMDExLTA5LTE2IDAwOjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIDIgbW9yZSBsb2cgbWVzc2FnZXMKCjIwMTEtMDktMTQgMTU6MjA6MDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiByZXBsYWNlIGRlcHJlY2F0ZWQgZ19hdG9taWNfaW50X2V4Y2hhbmdlX2FuZF9hZGQKCSAgSXQgd2FzIHJlcGxhY2VkIGJ5IGdfYXRvbWljX2ludF9hZGQsIHdoaWNoIG5vdyByZXR1cm5zIHRoZQoJICBvbGQgdmFsdWUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTkwNjEKCjIwMTEtMDktMTUgMTc6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBSZXNldCBsYXN0IHN0YXRlIGNoYW5nZSByZXN1bHQgb24gc3RhdGUtbG9ja2VkIGVsZW1lbnRzCgkgIEFuIGVsZW1lbnQgc3RvcmVzIHRoZSByZXN1bHQgZm9yIHRoZSBsYXN0IHN0YXRlIGNoYW5nZSBpdCBkaWQgYW5kCgkgIEdzdEJpbidzIHN0YXRlIGNoYW5nZSBoYW5kbGVyIHdpbGwgdXNlIHRoaXMgbGFzdCByZXN1bHQgZm9yIHN0YXRlCgkgIGxvY2tlZCBlbGVtZW50cyB0byBkZWNpZGUgaWYgaXRzIHN0YXRlIGNoYW5nZSB3YXMgc3VjY2Vzc2Z1bGwgb3Igbm90LgoJICBJbiBjYW1lcmFiaW4yLCB0aGUgZmlsZXNpbmtzIGhhdmUgdGhlaXIgc3RhdGUgbG9ja2VkIGFuZCB3aGVuIHRoZXkKCSAgZmFpbCBzd2l0Y2hpbmcgc3RhdGVzLCB0aGlzIGxhc3QgZmFpbHVyZSB3aWxsIGJlIHVzZWQgaWYgdGhlIGFwcGxpY2F0aW9uCgkgIHRyaWVzIHRvIGNoYW5nZSBjYW1lcmFiaW4yJ3Mgc3RhdGUsIGNhdXNpbmcgYW55IHN0YXRlIGNoYW5nZSB0byBmYWlsLgoJICBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgcmVzZXQgdGhpcyBsYXN0IGNoYW5nZSBmYWlsdXJlLCBhdm9pZGluZwoJICB0aGF0IGNhbWVyYWJpbjIgZmFpbHMgb24gaXRzIG5leHQgc3RhdGUgY2hhbmdlcy4KCjIwMTEtMDktMTUgMTg6MTc6MjQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkgIHNwYW5wbGM6IEZpeCB0eXBvcwoKMjAxMS0wOS0xMyAyMDo0MDozNSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogSGFuZGxlIHByb3Blcmx5IGZyYW1lIGRldGVjdGlvbgoJICBIYW5kbGUgdGhlIGNhc2Ugd2hlcmUgd2UgaGF2ZSBidWZmZXJzIGNvbnRhaW5pbmcgbm8gc3RhcnRjb2RlCgkgIGluIHRoZSBtaWRkbGUgb2YgYSBmcmFtZSBwcm9wZXJseS4KCjIwMTEtMDktMTMgMjA6Mzg6MjcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBEZWJ1Z2dpbmcgc3ltYm9scyBlbmhhbmNlbWVudHMKCjIwMTEtMDktMTIgMTM6NTQ6MzcgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZ3ZpZGVvOiBBZGQgdGhlIENocm9tYVR5cGUgZW51bQoKMjAxMS0wOS0xMiAxMzo0MTo0MSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVndmlkZW86IENoYW5nZSBicm9rZW5fZ29wIHRvIGJyb2tlbl9saW5rCgkgIFRoaXMgd2F5IHdlIHJlc3BlY3QgdGhlIHN0YW5kYXJkIG5hbWluZwoKMjAxMS0wOS0xNCAxNjoxNDoyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHNlbmQgYSB2aWRlby1jb2RlYyB0YWcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU2OTMwNQoKMjAxMS0wOS0xMiAxNjo1MDoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IENoZWNrIHpvb20gbm90aWZ5IGNhbGxiYWNrIGZyb20gY2FtZXJhLXNvdXJjZQoJICBDYW1lcmFiaW4yIGhhcyBhIHpvb20gcHJvcGVydHkgdGhhdCBpcyBzaW1wbHkgcHJveGllZCB0byBpdHMKCSAgaW50ZXJuYWwgY2FtZXJhLXNvdXJjZSBlbGVtZW50LiBUaGlzIHBhdGNoIG1ha2VzIGNhbWVyYWJpbjIgbGlzdGVuCgkgIHRvICdub3RpZnknIHNpZ25hbHMgZnJvbSBpdCBzbyBpdCBjYW4gdXBkYXRlIGl0cyB6b29tIHByb3BlcnR5IHZhbHVlCgkgIHdoZW4gY2FtZXJhLXNvdXJjZSBjaGFuZ2VzIGl0cyB6b29tIGFzIGEgc2lkZS1lZmZlY3Qgb2YgYW5vdGhlciBvcGVyYXRpb24KCSAgb3IgYmVjYXVzZSB0aGUgdXNlciBzZXQgdGhlIHpvb20gZGlyZWN0bHkgdG8gaXQsIGluc3RlYWQgb2YgZG9pbmcKCSAgaXQgZnJvbSBjYW1lcmFiaW4yLgoKMjAxMS0wOC0yOSAwODowMDoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJICBydG1wc2luazogZG9uJ3QgYmxvY2sgdGhlIG1haW4gdGhyZWFkIHdpdGggUlRNUF9Db25uZWN0CgkgIE1vdmUgdGhlIFJUTVBfQ29ubmVjdCBjYWxsIGZyb20gdGhlIG1haW4gdGhyZWFkICg6OnN0YXJ0KSB0byB0aGUgc3RyZWFtaW5nCgkgIHRocmVhZCAoOjpyZW5kZXIpLgoKMjAxMS0wOS0xMiAxMDozMzowNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDktMTIgMTA6MjM6MTkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA5LTA5IDE0OjIyOjM5IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IE1ha2UgdXNlIG9mIHRoZSBoMjY0X25hbF9wYXJzZXJfZnJlZSBmdW5jdGlvbgoKMjAxMS0wOS0wOSAxNDoxNToyMSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIHRlc3RzL2NoZWNrL2xpYnMvaDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IEltcGxlbWVudCB0aGUgbmFsX3BhcnNlcl9mcmVlIGZ1bmN0aW9uCgoyMDExLTA5LTA2IDIxOjI5OjI4IC0wMzAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svbGlicy9oMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXNlIGdfc2xpY2UgaW5zdGVhZCBvZiBnX21hbGxvYyBpbiBuYWxfcGFyc2VyX25ldwoKMjAxMS0wOS0wNiAyMToyODo0NSAtMDMwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogVXBkYXRlIHRoZSBkb2N1bWVudGF0aW9uCgkgIEZpeCBhIGZldyBlcnJvci4KCSAgRG9jdW1lbnQgbWlzc2luZyBwYXJ0cy4KCSAgQWRkIGxpbmtzIHRvIHRoZSBzcGVjaWZpY2F0aW9ucwoKMjAxMS0wOS0wOSAxMjoyNzo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IEZpeCBtZXJnZSBtaXN0YWtlIGZyb20gbGFzdCBjb21taXQKCjIwMTEtMDktMDggMjM6NTY6MzMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogUmVwb3J0IHRoZSBjb3JyZWN0IHRpbWVzdGFtcCBmb3IgbGl2ZSBzdHJlYW1zCgkgIEJ1ZmZlcnMgd291bGQgYWx3YXlzIHN0YXJ0IHdpdGggdGltZXN0YW1wIDAgYW5kIHdlJ2Qgc3RhcnQgc3RyZWFtaW5nCgkgIGZyb20gdGhlIGZpcnN0IGJ1ZmZlciwgYnV0IGxpdmUgc3RyZWFtcyBhbHdheXMgc3RhcnQgc3RyZWFtaW5nIGZyb20KCSAgdGhlIGxhc3QgZnJhZ21lbnQgLSAzIGZyYWdtZW50cyBpbiB0aGUgcGxheWxpc3QsIHdoaWNoIG1ha2VzIGl0cwoJICB0aW1lc3RhbXAsIGFzIHJldHVybmVkIGJ5IGdldF9uZXh0X2ZyYWdtZW50LCBiZSB3aGF0ZXZlciBwb3NpdGlvbgoJICB0aGV5IGhhZCBpbiB0aGUgcGxheWxpc3QuIFRoaXMgbWFrZXMgc3VyZSB0aGUgcG9zaXRpb24gY29ycmVjdGx5CgkgIHJlcG9ydHMgdGhlIHBvc2l0aW9uIG9mIHRoZSBidWZmZXIgaW4gdGhlIHBsYXlsaXN0LCBhbmQgYWRkZWQgYSBzaGlmdGluZwoJICB2YXJpYWJsZSB0byBhbGxvdyBzZWVraW5nIGluIHRoZSBtaWRkbGUgb2YgZnJhZ21lbnRzLgoKMjAxMS0wOS0wOCAyMjoxMzoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgaGxzZGVtdXgvdHNkZW11eDogQWRkIEhQIGNvcHlyaWdodCBvbiB3b3JrIGRvbmUgb24gSExTCgoyMDExLTA5LTA4IDIwOjI5OjQyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2V0IHBsYXlsaXN0IHRvIE5VTEwgYWZ0ZXIgdW5yZWZmaW5nIGl0IHRvIGF2b2lkIGEgZG91YmxlLXVucmVmIGluIHRoZSBkaXNwb3NlCgoyMDExLTA5LTA4IDE4OjI1OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IGxvY2sgdGhlIG11dGV4IG9mIHRoZSBmZXRjaGVyIGR1cmluZyBFT1MKCSAgVGhlIGZldGNoX2xvY2F0aW9uIG1pZ2h0IGNhbGwgc3RvcF9mZXRjaGVyIHdoaWNoIGNvdWxkIGdlbmVyYXRlIGFuIEVPUwoJICBhbmQgY2F1c2UgYSBkZWFkbG9jawoKMjAxMS0wOS0wNiAyMjoxMTowNiAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3BhbmRzcC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYW5kc3AvZ3N0c3BhbmRzcC5jOgoJKiBleHQvc3BhbmRzcC9nc3RzcGFucGxjLmM6CgkqIGV4dC9zcGFuZHNwL2dzdHNwYW5wbGMuaDoKCSAgc3BhbmRzcDogQWRkaW5nIHNwYW5kc3AgcGx1Z2luIHdpdGggc3BhbnBsYyBlbGVtZW50IGZvciBwYWNrZXQgbG9zcyBjb25jZWFsbWVudAoKMjAxMS0wOS0wNyAyMDowOToxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCBqb2luIHRoZSB0YXNrIGZyb20gdGhlIHRhc2sncyB0aHJlYWQgaXRzZWxmLiBqb2luIGl0IG9ubHkgaW4gdGhlIHN0YXRlIGNoYW5nZQoKMjAxMS0wOS0wNyAxNTo0ODozMyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBjbGVhbnVwIG1ha2VmaWxlcwoJICBSZW1vdmUgY29tbWVudGVkIG91dCBwYXJ0cyB0aGF0IHdlIGRvbid0IG5lZWQuIFJlbW92ZSAidGhlIHdpbmdvIGFkZGl0aW9uIiAtIG5vCgkgIHNvIHVzZWZ1bCBhZnRlciBhbGwuIE5hcnJvdyBkb3duIGZpbGUtZ2xvYnMgZm9yIHBsdWdpbiBkb2NzLgoKMjAxMS0wOS0wNyAxNTo0MjozNyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBjYW1lcmFiaW4yIG5hbWVzIGluIHNlY3Rpb25zLnR4dAoKMjAxMS0wOS0wNyAxNTozNzo1MyArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5oOgoJICBrYXRlcGFyc2U6IGZpeCBjcmFwIGluIG9iamVjdCBtYWNyb3MKCjIwMTEtMDktMDcgMTI6MzI6NDggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogbWFrZSB0aGlzIGJ1aWxkIHdpdGggb2xkZXIgZ2xpYgoJICBnX2xpc3RfZnJlZV9mdWxsIGlzIGEgbmV3IGNvbnZlbmllbmNlIGZ1bmN0aW9uLgoJICBSZXBsYWNlIGl0IHdpdGggZ19saXN0X2ZvcmVhY2ggYW5kIGdfbGlzdF9mcmVlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU4NDUwCgoyMDExLTA5LTA3IDEzOjQ2OjQ5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICB2aWRlb3BhcnNlcnM6IE1ha2UgdGhlIGgyNjMgYW5kIChuZXcpIG1wZWcgdmlkZW8gcGFyc2VyIGF1dG9wbHVnZ2FibGUKCjIwMTEtMDktMDUgMjA6MDI6NTcgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogRml4IElEUiBwb3NpdGlvbiBtYXJraW5nIHdoZW4gdGhlIElEUiBpcyBzcGxpdCBpbnRvIHNldmVyYWwgTkFMcwoKMjAxMS0wOS0wNyAxMToyNzo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IEFkZCBhbGwgYWx3YXlzIHByZXNlbnQgZmllbGRzIHRvIHRoZSBzcmMgdGVtcGxhdGUgY2FwcwoKMjAxMS0wOS0wNyAxMToyNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGFsbCBmaWVsZHMgdG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA5LTA3IDExOjIyOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogQWxsb3cgcGFyc2VkIHN0cmVhbXMgdG8gYmUgcGFzc2VkIHRocm91Z2ggdGhlIHBhcnNlcnMKCjIwMTEtMDktMDcgMTE6MTc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBQdXQgc3RyZWFtLWZvcm1hdCBhbmQgYWxpZ25tZW50IGludG8gdGhlIHNyYyB0ZW1wbGF0ZSBjYXBzCgkgIEFsc28gcmVtb3ZlIHRoZSBwYXJzZWQgZmllbGQgZnJvbSB0aGUgc2luayB0ZW1wbGF0ZSBjYXBzLgoKMjAxMS0wOS0wNyAxMToxNDozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjY0cGFyc2U6IENoYW5nZSByYW5rIHRvIFBSSU1BUlkrMSB0byBoYXZlIGgyNjRwYXJzZSBhdXRvcGx1Z2dlZAoKMjAxMS0wOS0wNyAxMTowNjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmM6CgkgIGRpcmFjcGFyc2U6IENvbnN0aWZ5IHNvbWUgYXJyYXlzCgoyMDExLTA5LTA2IDEwOjQ5OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogTm8gbmVlZCBmb3IgYXBwc2luayB0byBzdG9yZSB0aGUgbGFzdCBidWZmZXIKCSAgVGhlcmUgaXMgbm8gbmVlZCBmb3IgcHJldmlldydzIGFwcHNpbmsgdG8ga2VlcCBhIHJlZmVyZW5jZSB0byB0aGUgbGFzdCBidWZmZXIsCgkgIHNvIGRpc2FibGUgdGhlIHByb3BlcnR5IHRvIG1ha2UgaXQgdW5yZWYgdGhlIGJ1ZmZlcnMgc29vbmVyLgoKMjAxMS0wOS0wNiAyMjo0ODozMCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgZm9yIGxhdGVzdCBuZXcgcGx1Z2lucyBhbmQgbW92ZWQgcGx1Z2lucwoKMjAxMS0wOS0wNiAyMToyNTowMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTM5ZWI4MyB0byAxMWYwY2Q1CgoyMDExLTA5LTA2IDE2OjEzOjI4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wOS0wNiAxNTo0MDo0NiArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjA1Y2Q5YSB0byBhMzllYjgzCgoyMDExLTA5LTA2IDEzOjIwOjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIENvbnZlcnRlciB0byBjbGFzc2lmaWNhdGlvbgoJICBUaGlzIHBhcnNlciBjYW4gY29udmVydCBiZXR3ZWVuIGRpZmZlcmVudCBhbGlnbm1lbnRzIGFuZCBzdHJlYW0tZm9ybWF0cy4KCjIwMTEtMDktMDUgMTQ6Mzk6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW4yOiBwcmV2aWV3OiBBcHBzaW5rIGRvZXNuJ3QgbmVlZCB0byBzeW5jCgkgIFNldCBzeW5jIHRvIGZhbHNlIG9uIHByZXZpZXcncyBwaXBlbGluZSBhcHBzaW5rCgoyMDExLTA5LTA1IDA5OjU1OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogUmVtb3ZlIG9uZSBvZiB0aGUgdHdvIGNvbG9yc3BhY2UgY29udmVydGVycwoJICBUaGUgcHJldmlldyBwaXBlbGluZSBkb2Vzbid0IG5lZWQgMiBjb2xvcnNwYWNlIGNvbnZlcnRlcnMsIHJlbW92ZQoJICBvbmUgdG8gc3BlZWQgdXAgY2FwcyBuZWdvdGlhdGlvbiBhbmQgcmVkdWNlIHRoZSBkZWxheSBvbiBnZXR0aW5nCgkgIHRoZSBmaXJzdCBwcmV2aWV3IGJ1ZmZlciBvdXQgb2YgdGhlIHByZXZpZXcgcGlwZWxpbmUuCgkgIEl0IHNob3VsZG4ndCBjYXVzZSBwcm9ibGVtcyBhcyB2aWRlb3NjYWxlIGFuZCBmZm1wZWdjb2xvcnNwYWNlIHNlZW1zCgkgIHRvIGhhbmRsZSB0aGUgc2FtZSBjYXBzLCBzbyBubyBjb252ZXJzaW9uIHNob3VsZCBiZSBuZWVkZWQgZm9yCgkgIHZpZGVvc2NhbGUuIEFkZGl0aW9uYWxseSwgY2FtZXJhYmluMSBoYXMgYmVlbiB3b3JraW5nIHdpdGggYSBzaW1pbGFyCgkgIHBpcGVsaW5lIHdpdGggYSBzaW5nbGUgZmZtcGVnY29sb3JzcGFjZSBhbmQgbm8gYnVncyBoYXZlIGJlZW4gb3BlbiBhYm91dCBpdAoJICBzbyBmYXIuCgoyMDExLTA5LTAxIDIwOjAxOjA5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluMjogcHJldmlldzogRGlzYWJsZSBhcHBzcmMgc2lnbmFscyBlbWlzc2lvbgoJICBDYW1lcmFiaW4yIGRvZXNuJ3QgY2hlY2sgYXBwc3JjJ3Mgc2lnbmFscywgc28gZGlzYWJsZSB0aGVtCgoyMDExLTA4LTI2IDEwOjUwOjM4ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuYzogZG8gbm90IHRyeSB0byBjYWxjdWxhdGUgbGF0ZW5jeSBmcm9tIGFuIHVua25vd24gZnJhbWVyYXRlCgkgIEl0J2xsIGRpdmlkZSBieSB6ZXJvLCBhbmQgbGF0ZW5jeSBpcyB1bmtub3duIGZvciBhbiB1bmtub3duIGZyYW1lcmF0ZS4KCSAgRml4ZXMgYW4gYXNzZXJ0IGluIHRoZSBzY2hyb2VuYyB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3NDE5CgoyMDExLTA5LTAzIDAwOjM2OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgYSBmZXRjaCBmYWlscywgZGVjcmVtZW50IHRoZSBzZXF1ZW5jZSBudW1iZXIKCjIwMTEtMDktMDIgMjM6NDk6MzggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBtYWtlIGhsc2RlbXV4IGxvY2svdW5sb2NrIHRoZSBtM3U4IGNsaWVudCB3aGVuIGl0IGFjY2Vzc2VzIGl0CgoyMDExLTA5LTAyIDIzOjQ4OjIyICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogQWRkIGEgZ2V0X3RhcmdldF9kdXJhdGlvbiBhbmQgZ2V0X2N1cnJlbnRfdXJpIGFwaSB0byBtM3U4X2NsaWVudAoKMjAxMS0wOS0wMiAyMzo0ODowMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IE1ha2UgdGhlIG0zdTggY2xpZW50IHRocmVhZC1zYWZlCgoyMDExLTA5LTAyIDE5OjQ0OjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFJlc2V0IGluIFBBVVNFRC0+UkVBRFkgYWZ0ZXIgY2hhaW5pbmcgdXAgdG8gdGhlIHBhcmVudCBjbGFzcwoJICBPdGhlcndpc2UgdGhlcmUgYXJlIHBvc3NpYmxlIHJhY2UgY29uZGl0aW9ucyB3aXRoIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wOS0wMiAxNjowODo1OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgZG9jczogbWlub3IgZml4ZXMKCjIwMTEtMDgtMzEgMTA6MTI6NDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvLmdpdGlnbm9yZToKCSogZ3N0LWxpYnMvZ3N0L3BsYXkvcGxheS5oOgoJKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgZ3N0LWxpYnM6IFJlbW92ZSBwbGF5IGRpcmVjdG9yeS4gV2FzIHVucG9ydGVkIHNpbmNlIDAuOAoKMjAxMS0wOC0zMSAxMDoxMDoyMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL2xpYnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IEFkZCBtb3JlIHNlY3Rpb25zIHRvIHRoZSBnc3QtbGlicyBBUEkgZG9jcwoKMjAxMS0wOC0yOSAxMzo1MjoxNyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IFBQUyBwYXJzZXIKCSAgRml4IHRyYW5zZm9ybV84eDhfbW9kZV9mbGFnIGFuZCBzZWNvbmRfY2hyb21hX3FwX2luZGV4X29mZnNldAoKMjAxMS0wOC0yOSAxMzo1MjoxNiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogZml4IE5BTCByZWFkZXIgaW5pdGlhbGl6YXRpb24uCgoyMDExLTA4LTI2IDE1OjU0OjUxICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBoYW5kbGUgZW5kLW9mLXNlcSBhbmQgZW5kLW9mLXN0cmVhbSBOQUwgZ3JhY2VmdWxseS4KCjIwMTEtMDgtMjYgMTY6MDU6NTggKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCByZWZfcGljX2xpc3RfcmVvcmRlcmluZygpLgoKMjAxMS0wOC0xNiAxNjoxOTowMiArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmM6CgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5oOgoJICBjb2RlY3BhcnNlcnM6IGgyNjQ6IGZpeCBwcmVkX3dlaWdodF90YWJsZSgpIHBhcnNpbmcuCgkgIFVzZSAxNi1iaXQgc2lnbmVkIGludGVnZXIgdmFsdWVzIGZvciB3ZWlnaHQgdmFsdWVzIGJlY2F1c2UgdmFsaWQKCSAgcmFuZ2VzIGFyZSAtMTI4IHRvICsxMjggaW5jbHVzaXZlLgoKMjAxMS0wOC0xNiAxNToyMToxOCArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogaDI2NDogcmVjb3JkIHNsaWNlX2hlYWRlcigpIHNpemUgaW4gYml0cy4KCjIwMTEtMDgtMTYgMTU6MTQ6MDMgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0aDI2NHBhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggc2xpY2VfaGVhZGVyKCkgcGFyc2luZy4KCSAgV2Ugd2VyZSBub3QgcGFyc2luZyB0aGUgc2xpY2UgaGVhZGVycyB1bnRpbCB0aGUgYWN0dWFsIGVuZCwgd2UgYXJlIG5vdwoJICBwYXJzaW5nIHVudGlsIHRoZSBlbmQuCgoyMDExLTA4LTEyIDEzOjE5OjI5ICswMjAwICBHd2Vub2xlIEJlYXVjaGVzbmUgPGd3ZW5vbGUuYmVhdWNoZXNuZUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBmaXggZmlsbGVyLWRhdGEgTkFMIHVuaXQgdHlwZSBuYW1lLgoKMjAxMS0wOC0xMiAxMDoxNzo0NyArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBwa2djb25maWcvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItY29kZWNwYXJzZXJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWNvZGVjcGFyc2Vycy5wYy5pbjoKCSAgY29kZWNwYXJzZXJzOiBhZGQgcGtnY29uZmlnIGZpbGUuCgkgIEFkZHMgYSBuZXcgcGtnY29uZmlnIGZpbGUgZm9yIGNvZGVjcGFyc2Vycy4gVGhleSBkb24ndCBoYXZlCgkgIGFueSBzcGVjaWZpYyBkZXBlbmRlbmN5IG9uIGdzdC1wbHVnaW5zLWJhZCBhbmQgdGhleSBjb3VsZCBxdWl0ZSBiZQoJICBpbmRlcGVuZGVudCBiaXRzdHJlYW0gcGFyc2Vycy4KCjIwMTEtMDgtMDUgMTE6MjE6MDUgKzAyMDAgIEd3ZW5vbGUgQmVhdWNoZXNuZSA8Z3dlbm9sZS5iZWF1Y2hlc25lQGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9jb2RlY3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2VyLmg6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogYWRkIHVzZXItZGF0YSBwYWNrZXQgc3RhcnQgY29kZSBkZWZpbml0aW9uLgoKMjAxMS0wOC0wMyAxNzozMTo1NSArMDIwMCAgR3dlbm9sZSBCZWF1Y2hlc25lIDxnd2Vub2xlLmJlYXVjaGVzbmVAaW50ZWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZXIuaDoKCSAgY29kZWNwYXJzZXJzOiBtcGVnOiBmaXggUGljdHVyZV9Db2RpbmdfRXh0ZW5zaW9uIHBhcnNlci4KCjIwMTEtMDgtMDIgMTI6Mzc6MDIgKzAyMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogUG9ydCB0byB0aGUgbmV3IGguMjY0IHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNy0yOSAxMDo1NjoxNSArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLWRvY3Muc2dtbDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9saWJzL2dzdC1wbHVnaW5zLWJhZC1saWJzLnR5cGVzOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdGgyNjRwYXJzZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2NvZGVjcGFyc2Vycy9nc3RoMjY0cGFyc2VyLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9saWJzL2gyNjRwYXJzZXIuYzoKCSAgY29kZWNwYXJzZXJzOiBoMjY0OiBBZGQgYW4gaC4yNjQgYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoKMjAxMS0wNi0yMyAxMjo1NDo0MyAtMDQwMCAgVGhpYmF1bHQgU2F1bmllciA8dGhpYmF1bHQuc2F1bmllckBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RtcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUG9ydCB0byB0aGUgbmV3IG1wZWcgcGFyc2luZyBsaWJyYXJ5CgoyMDExLTA3LTE5IDEzOjUyOjAxICswMjAwICBUaGliYXVsdCBTYXVuaWVyIDx0aGliYXVsdC5zYXVuaWVyQGNvbGxhYm9yYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy50eXBlczoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5jOgoJKiBnc3QtbGlicy9nc3QvY29kZWNwYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlci5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2xpYnMvbXBlZ3ZpZGVvcGFyc2VyLmM6CgkgIGNvZGVjcGFyc2VyczogbXBlZzogQWRkIGFuIG1wZWcgdmlkZW8gYml0c3RyZWFtIHBhcnNpbmcgbGlicmFyeQoJICBDcmVhdGUgYSBuZXcgY29kZWNwYXJzZXJzIGxpYnJhcnkKCjIwMTEtMDgtMzAgMTQ6NTA6NDEgLTAzMDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9NYWtlZmlsZS5hbToKCSogZG9jcy9saWJzL01ha2VmaWxlLmFtOgoJKiBkb2NzL2xpYnMvY29tcGlsaW5nLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1kb2NzLnNnbWw6CgkqIGRvY3MvbGlicy9nc3QtcGx1Z2lucy1iYWQtbGlicy1vdmVycmlkZXMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL2xpYnMvZ3N0LXBsdWdpbnMtYmFkLWxpYnMudHlwZXM6CgkgIGRvY3M6IEJ1aWxkIGRvY3VtZW50YXRpb25zIGZvciBsaWJyYXJpZXMKCjIwMTEtMDktMDIgMTU6MDA6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBSZW1vdmUgb2Jzb2xldGUgRklYTUUgY29tbWVudAoKMjAxMS0wOS0wMiAxNDo1NTo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZXNldCB0aGUgaW50ZXJuYWwgc3RhdGUgZ29pbmcgdG8vZnJvbSBSRUFEWSBpbnN0ZWFkIG9mIE5VTEwKCSAgVGhpcyB0aGVvcmV0aWNhbGx5IGFsbG93cyByZXVzZSBvZiB0aGUgZWxlbWVudCB3aGVuIHNldHRpbmcgaXQgdG8gUkVBRFkKCSAgaW5zdGVhZCBvZiBOVUxMLgoKMjAxMS0wOS0wMiAxNDo1NDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBTZXQgcGxheWxpc3QgcGFyc2luZyBoZWxwZXIgb2JqZWN0IHRvIE5VTEwgYWZ0ZXIgZnJlZWluZwoKMjAxMS0wOS0wMSAyMzoxODo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEFsbG93IHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbGVkIGRvd25sb2FkcyBiZWZvcmUgZXJyb3JpbmcKCSAgSW4gc29tZSBuZXR3b3JrcywgZXNwZWNpYWxsIGluIDNHLCBhIGZyYWdtZW50IGRvd25sb2FkIG9yIHBsYXlsaXN0CgkgIHVwZGF0ZSBtYXkgZmFpbC4gV2UgYWxsb3cgZm9yIHVwIHRvIDMgY29uc2VjdXRpdmUgZmFpbHVyZXMsIHdoaWxlIHVzaW5nCgkgIHRoZSByZmMncyBzcGVjcyBmb3IgcmV0cnkgZGVsYXlzIGJlZm9yZSBjb25zaWRlcmluZyB0aGF0IHRoZXJlIHdhcyBhbgoJICBlcnJvciBvbiB0aGUgc3RyZWFtLgoKMjAxMS0wOS0wMSAyMjo0NjoxOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHJlbW92ZSB1bnVzZWQgYXJndW1lbnQKCjIwMTEtMDgtMjEgMjA6MTU6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggZHJvcC1mcmFtZSBwcm9wZXJ0eQoJICBGaXhlcyAjNjU2OTI5LgoKMjAxMS0wOS0wMSAxNTo1Nzo1MCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIGZsYWcgdG8gZGlzYWJsZSBpbWFnZSBjb252ZXJzaW9uIGVsZW1lbnRzCgkgIElmIHdlIGtub3cgdGhhdCBvdXIgY2FtZXJhIHNvdXJjZSBlbGVtZW50IHByb2R1Y2VzIGJ1ZmZlcnMgYXQgdGhlIHNhbWUKCSAgcmVzb2x1dGlvbiBhbmQgYXBwcm9wcmlhdGUgY29sb3Vyc3BhY2UgZm9yIHRoZSBvdXRwdXQsIHdlIGRvbid0IG5lZWQgYW55CgkgIG9mIHRoZSBnZW5lcmljIGNvbnZlcnNpb24gZWxlbWVudHMgaW4gZW5jb2RlYmluLiBUaGlzIHJlZHVjZXMgY2FwcwoJICBuZWdvdGlhdGlvbiBvdmVyaGVhZHMgYW1vbmcgb3RoZXIgdGhpbmdzLgoKMjAxMS0wOC0zMSAyMzowNjo1MyArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXggd2FybmluZ3MgcmVsYXRlZCB0byB0aGUgZm9ybWF0IG9uIHRoZSBkZWJ1ZyBsaW5lcy4KCjIwMTEtMDgtMzEgMTM6Mjk6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNaWNybyBvcHRpbWl6ZSBlbmNvZGViaW4gcGFkcyBsaW5raW5nCgkgIFJlZHVjZSBvbmUgY2hlY2sgaW4gZW5jb2RlYmluIHBhZHMgbGlua2luZyBvbiBjYW1lcmFiaW4yIGJ5CgkgIHVzaW5nIHRoZSBsaW5rX3BhZHNfZnVsbCB2ZXJzaW9uCgoyMDExLTA4LTMxIDEzOjI4OjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogT3B0aW1pemUgcHJldmlldyBwaXBlbGluZSBzdGFydHVwCgkgIFVzZSBnc3RfZWxlbWVudF9saW5rX3BhZHNfZnVsbCB0byBvcHRpbWl6ZSBwcmV2aWV3IHBpcGVsaW5lIHN0YXJ0dXAsCgkgIGxlYWRpbmcgdG8gYSBmYXN0ZXIgY2FtZXJhYmluMiBzdGFydHVwIGFzIHdlbGwuCgoyMDExLTA4LTMxIDE1OjMzOjEwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGV4cGxpY2l0IGJvb2xlYW4gbGl0ZXJhbHMgdG8gbWFrZSBnb2JqZWN0IGhhcHB5CgkgIGdvYmplY3QgYm9vbGVhbiBwcm9wZXJ0aWVzIGFyZSBzdHJpY3QgYW5kIG9ubHkgYWNjZXB0IDEgb3IgMCwgb3RoZXJ3aXNlCgkgIHRoZXkgdGhyb3cgYW4gYXNzZXJ0aW9uLgoKMjAxMS0wOC0zMSAxNDo0ODo0NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKdXN0IGpvaW4gdGhlIHRhc2sKCSAgZ3N0X3Rhc2tfam9pbigpIHdpbGwgYWxyZWFkeSBzdG9wIHRoZSB0YXNrLCBubyBuZWVkCgkgIHRvIHN0b3AgaXQgYWRkaXRpb25hbGx5LgoKMjAxMS0wOC0zMSAxNDo0Nzo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBKb2luIHRoZSB0YXNrIGluc3RlYWQgb2YganVzdCBzdG9wcGluZyBpdCBhbmQgbm90IHdhaXRpbmcgZm9yIGl0IHRvIGZpbmlzaAoJICBGaXhlcyBpbnRlcmVzdGluZyByYWNlIGNvbmRpdGlvbnMgdGhhdCBjYXVzZSBjcmFzaGVzIGluIGRlY29kZWJpbjIKCSAgYmVjYXVzZSBwYWRzIGFyZSBhZGRlZC9yZW1vdmVkIGZyb20gY2hpbGQgZWxlbWVudHMgYWx0aG91Z2ggdGhleQoJICBzaG91bGQgYmUgaW4gUkVBRFkgc3RhdGUgYWxyZWFkeS4KCjIwMTEtMDgtMzEgMTI6MTI6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogUmVtb3ZlIHVudXNlZCB2YXJpYWJsZQoKMjAxMS0wOC0zMSAwMzo0Nzo1MiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN3aXRjaCB0byBoaWdoZXIvbG93ZXIgYml0cmF0ZSBieSBtb3JlIHRoYW4gb25lIHN0ZXAgYXQgYSB0aW1lCgoyMDExLTA4LTMxIDAzOjIwOjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmVtb3ZlIHNwYW1taW5nIEdTVF9MT0dfT0JKRUNUCgoyMDExLTA4LTMxIDAzOjA3OjQ4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSWYgcGF1c2VkLCBkbyBub3QgY2FjaGUgZnJhZ21lbnRzIHVudGlsIG91dCBvZiBtZW1vcnkgZXJyb3IhCgkgIFdlIHNob3VsZCBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkIGluIFBBVVNFRCBzdGF0ZSBhbmQgYXZvaWQgZmV0Y2hpbmcKCSAgbmV3IGZyYWdtZW50cyB3aGVuIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkuIFRoZSBxdWV1ZSBzaG91bGQgYWx3YXlzIGJlCgkgIGVtcHR5IHNpbmNlIHdlIHB1c2ggZGF0YSBpbnRvIGEgcXVldWUuIEFsc28sIGluIHRvdGVtLCBpZiB3ZSBzZWVrIGFuZAoJICBwYXVzZSB0aGUgc3RyZWFtIHdoaWxlIGl0J3MgYnVmZmVyaW5nLCB0aGVuIHRoZSBzdGF0ZSB3aWxsIHN0YXkgcGxheWluZwoJICBmb3Igc29tZSByZWFzb24sIHNvIGl0J3MgYmVzdCBub3QgdG8gY29udGludWUgZmV0Y2hpbmcgZnJhZ21lbnRzIGZvcmV2ZXIuCgoyMDExLTA4LTMxIDAzOjAxOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RhcnQvc3RvcCB1cGRhdGUgdGhyZWFkIGFuZCBrZWVwIHRyYWNrIG9mIHN0YXR1cwoKMjAxMS0wOC0zMSAwMjowNTowOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFBvc3QgZHVyYXRpb24gbWVzc2FnZSB3aGVuIHdlIHBhcnNlIHRoZSBwbGF5bGlzdAoKMjAxMS0wOC0zMSAwMTowODozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYSBmbHVzaC1zdG9wIHdoZW4gc3dpdGNoaW5nIHBhZHMuIEZpeGVzIEEtPkEvViBzeW5jIGlzc3VlLgoJICBUaGlzIGlzIHRvIGVuc3VyZSB0aGF0IHdlIHJlc2V0IHRoZSBhY2N1bXVsYXRlIHNlZ21lbnQgb24gdGhlIHNpbmtzCgkgIHNvIGlmIHdlIHN0YXJ0IHdpdGggYXVkaW8gb25seSB0aGVuIHN3aXRjaCB0byBhdWRpbyt2aWRlbywgdGhlbiBib3RoCgkgIHNpbmtzIHdpbGwgaGF2ZSB0aGUgc2FtZSBzZWdtZW50cyBhbmQgd2lsbCBiZSBzeW5jaHJvbml6ZWQuCgoyMDExLTA4LTI2IDIyOjQ4OjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc2VlbXMgdGhlcmUgd2FzIGEgdHlwbywgZnJlZSB0aGUgYWRhcHRlciBpZiBpdCBjb250YWlucyBkYXRhLCBub3QgaWYgYWxyZWFkeSBlbXB0eQoKMjAxMS0wOC0yNiAyMjo0NzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG91cHMsIHdlIG5lZWQgdG8gZW1wdHkgdGhlIHF1ZXVlIGFmdGVyIGZyZWVpbmcgaXRzIGNvbnRlbnQKCjIwMTEtMDgtMjYgMjI6NDQ6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIGZsdXNoIGFsbCBzdHJlYW1zIHdoZW4gd2UgcmVjZWl2ZSBhIGZsdXNoLXN0YXJ0CgoyMDExLTA4LTI2IDIxOjQ2OjA2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGJyb2FkY2FzdCB0aGUgZmV0Y2hlcl9jb25kIG9uIGJ1cyBlcnJvciBpZiB3ZSdyZSBjYW5jZWxsZWQKCSAgSWYgd2UgY2FuY2VsIHRoZSBmZXRjaCBhbmQgY2FsbCB0aGUgc3RvcF9mZXRjaGVyLCB3aGljaCBob2xkcyB0aGUgbG9jaywKCSAgd2hlbiBpdCBzZXRzIHRoZSBmZXRjaGVyJ3Mgc3RhdGUgdG8gTlVMTCwgaXQgbWlnaHQgc2VuZCBhbiBlcnJvcgoJICBvbiB0aGUgYnVzLiBJbiB0aGF0IGNhc2UsIHdlIG11c3QgaWdub3JlIGl0LCBvdGhlcndpc2UgaXQgd2lsbCB0cnkKCSAgdG8gdGFrZSB0aGUgbG9jayBhbmQgd2lsbCBibG9jayBmb3JldmVyLgoKMjAxMS0wOC0yNiAxOToyOTowNiArMDAwMCAgSm9uYXMgTGFyc3NvbiA8Sm9uYXMuTGFyc3NvbkBoaXEuc2U+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IFNwbGl0IHBsYXlzbGlzdCBvbiBcclxuIG5vdCBqdXN0IFxuCgoyMDExLTA4LTI2IDE5OjEwOjU4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHN1Y2NlZWQgYSBkb3dubG9hZCBpZiB0aGUgZmV0Y2hlciBoYWQgYW4gZXJyb3IKCjIwMTEtMDgtMjYgMTk6MTA6MzkgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBSZW5hbWUgZnVuY3Rpb25zIHRoYXQgbmVlZCB0byBiZSBjYWxsZWQgd2l0aCBhIGxvY2tlZCBtdXRleAoKMjAxMS0wOC0yNiAxOTowOTo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIG11c3Qgc2lnbmFsIHRoZSBmZXRjaGVyX2NvbmQgd2hpbGUgaG9sZGluZyBpdHMgbG9jawoKMjAxMS0wOC0yNiAxNzo1NDo1MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFdlIGRvIG5vdCBuZWVkIHRvIHNldCB0aGUgY3VycmVudCBwbGF5bGlzdCB0byB0aGUgbWFpbiBvbmUKCSAgV2hlbiBjYWNoaW5nIGZyYWdtZW50cywgaWYgd2Ugc2V0IHRoZSBjdXJyZW50IHBsYXlsaXN0IHRvIG1haW4sIHRoZW4KCSAgaXQgd2lsbCBhbHdheXMgdGhpbmsgaXQncyBhIGxpdmUgc3RyZWFtIChubyBlbmRsaXN0IGluIGl0KSBzbyBpdCB3aWxsCgkgIGZvcmNlIHRoZSByZWRvd25sb2FkIG9mIHRoZSBtYWluIHBsYXlsaXN0IGFmdGVyIGV2ZXJ5IHNlZWssIHdoaWNoIGlzCgkgIHVubmVjZXNzYXJ5LiBBbHNvLCBpdCBjYXVzZXMgYSByYWNlIGNvbmRpdGlvbiB3aGVyZSBhIHNlZWsgbWlnaCBoYXBwZW4KCSAgZHVyaW5nIHRoYXQgcmVkb3dubG9hZCwgYW5kIHdlJ2xsIHRoaW5rIHdlJ3JlIHRyeWluZyB0byBzZWVrIGEgbGl2ZSBwaXBlbGluZS4KCjIwMTEtMDgtMzAgMTc6NDM6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5oaDoKCSAgc291bmR0b3VjaDogSGFuZGxpbmcgaW5jb21pbmcgcmF0ZSB3aGVuIHJlcXVlc3RlZC4KCSAgQWJzb3JiIGluYm91bmQgc2VnbWVudHMgd2l0aCByYXRlICE9IDEuMCBhbmQgb3V0cHV0IGEgc2VnbWVudCB3aXRoCgkgIHJhdGUgdGFrZW4gZnJvbSB0aGUgbmV3IG91dHB1dC1yYXRlIHByb3BlcnR5LCBhZGp1c3RpbmcgdGhlIHNlZ21lbnQKCSAgYXBwbGllZF9yYXRlLCBzdHJlYW0gZHVyYXRpb24gYW5kIHRpbWVzdGFtcHMgYXMgbmVjZXNzYXJ5IHRvCgkgIGNvbXBlbnNhdGUKCjIwMTEtMDgtMTUgMTc6NTc6NTMgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIGZpeCB2YWxncmluZCB3YXJuaW5nIGFib3V0IENvbmRpdGlvbmFsIGp1bXAgb3IgbW92ZSBkZXBlbmRzIG9uIHVuaW5pdGlhbGlzZWQgdmFsdWUocykKCjIwMTEtMDgtMTcgMDk6NDI6MDcgKzAyMDAgIE5pY29sYSBNdXJpbm8gPG5pY29sYS5tdXJpbm9AZ21haWwuY29tPgoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5jcHA6CgkgIE1vdmUgbV9wcHJldkZyYW1lIGZyZWUganVzdCBiZWZvcmUgdGhlIGNsb25lIG9mIHRoZSBsYXRlc3QgZnJhbWUgZm9yIHJlYWRhYmlsaXR5CgoyMDExLTA4LTI2IDA5OjQzOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWFrZSB2aWV3ZmluZGVyJ3MgcXVldWUgYSB0aHJlYWQgbGltaXQgb25seQoJICBSZWR1Y2UgdGhlIHZpZXdmaW5kZXIgcXVldWUgbGltaXRzIHRvIG9ubHkgYWxsb3cgaXQgdG8gc3RvcmUKCSAgb25lIGJ1ZmZlciwgcHJldmVudGluZyB0aGUgcXVldWUgZnJvbSBob2xkaW5nIG9sZCBidWZmZXJzIGZvcgoJICB0b28gbG9uZy4gVGhpcyBhbHNvIGF2b2lkcyBzaG93aW5nIHNsaWdodGx5IG91dGRhdGVkIGZyYW1lcyBvbgoJICB0aGUgdmlld2ZpbmRlciB3aGVuIHRoZSBzb3VyY2UgaGFzIGFscmVhZHkgcHJvZHVjZWQgbmV3IG9uZXMKCSAgYW5kIGltcHJvdmVzIHRoZSBidWZmZXIgcmVjeWNsaW5nIHJhdGUsIGltcG9ydGFudCBmb3Igc291cmNlcwoJICB0aGF0IHVzZSBidWZmZXJwb29scy4KCjIwMTEtMDgtMjUgMTk6NTY6NTggKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZml4IGVsZW1lbnQgbGVhawoJICBhbmQgdGhpcyBjb25jbHVkZXMgYW4gaG91ciBvZiB5ZWxsaW5nIGF0IHRoZSBibG9vZHkgdGVzdCBmYWlsaW5nLAoJICBvbmx5IHRvIHRyYWNrIGRvd24gdGhlIHByb2JsZW0gbm90IGJlaW5nIGluIHRoZSB0ZXN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzY4CgoyMDExLTA4LTI2IDAwOjUyOjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgdHNkZW11eDogSW4gcHVzaCBtb2RlLCBkbyBub3Qgc3RhcnQgcHVsbCBsb29wIGlmIHVwc3RyZWFtIHNlZWsgZmFpbHMKCjIwMTEtMDgtMjYgMDA6NDc6NTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkbyBub3QgbWFrZSB0aGUgdXBkYXRlX3RocmVhZCBqb2luYWJsZQoKMjAxMS0wOC0yNiAwMDoyNjoyOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IEVuc3VyZSB0aGUgdGFzayBpcyBwYXVzZWQgaW4gY2FzZSBvZiBjYWNoZSBlcnJvcgoKMjAxMS0wOC0yNSAyMzozNzo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHN0b3AgdGhlIHRocmVhZHMgaW4gdGhlIHByb3BlciBvcmRlcgoJICBmaXJzdCBwYXVzZSB0aGUgdGFzaywgdGhlbiBzdG9wIGFsbCBmZXRjaGVycywgdGhlbiBzdG9wIHRoZSB1cGRhdGUgdGhyZWFkCgkgIHRoZW4gcGF1c2UgdGhlIHRhc2sgYWdhaW4sIHNpbmNlIGl0IG1pZ2h0IGhhdmUgYmVlbiByZXN0YXJ0ZWQgYnkKCSAgYW5vdGhlciB0aHJlYWQgaW4gdGhlIG1lYW50aW1lCgoyMDExLTA4LTI1IDIzOjM3OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IHBvc3QgYW4gZXJyb3IgaWYgd2Ugc2Vlay9jYW5jZWwgZHVyaW5nIGNhY2hpbmcgb2YgZnJhZ21lbnRzCgoyMDExLTA4LTI1IDIzOjM3OjAwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWYgd2UncmUgY2FuY2VsaW5nIGEgZmV0Y2hlciwgd2UgbXVzdCBzdG9wIGl0cyB0aHJlYWQKCjIwMTEtMDgtMjUgMjM6MzY6MjcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBsb2NrIHRoZSB1cGRhdGVfdGhyZWFkIG11dGV4IGJlZm9yZSBzdG9wcGluZyBpdAoKMjAxMS0wOC0yNSAyMzozNTo1NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGxvY2sgdGhlIGZldGNoZXIgbXV0ZXggYmVmb3JlIHN0b3BwaW5nIGl0CgoyMDExLTA4LTI1IDIzOjMzOjEwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZG8gbm90IGFsbG93IHR3byBmZXRjaGVycyB0byBydW4gc2ltdWx0YW5vdXNseQoKMjAxMS0wOC0yMyAyMDo0OTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFN0b3AgdGhlIHN0cmVhbWluZyB0YXNrIG9uIFBBVVNFRF9UT19SRUFEWSBzdGF0ZSBjaGFuZ2UKCjIwMTEtMDgtMjUgMTk6MjQ6NTYgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBtYWtlIGNhbWVyYWJpbjIgdGVzdCBidWlsZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MzYzCgoyMDExLTA4LTI1IDEyOjQ5OjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmMKCjIwMTEtMDctMTIgMjE6NDg6MzcgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgZHRtZjogQWRkIG1vcmUgZGVidWcKCjIwMTEtMDctMTIgMTk6MDk6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBNYXggZXZlbnQgdHlwZSBpcyAxNQoKMjAxMS0wNC0xNCAxNTo0NjowOCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIGR0bWZzcmM6IEFsaWduIERUTUYgc291bmQgYnVmZmVycyB3aXRoIGxhc3Qtc3RvcCBmcm9tIGV2ZW50CgkgIEFsc28gbWFrZSBzdXJlIHRoZSB0aW1lc3RhbXBzIG5ldmVyIGdvIGJhY2t3YXJkcwoKMjAxMS0wNy0xMSAyMTozMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ29ycmVjdGx5IHJlY29nbml6ZSB0aGUgZW5kIG9mIGEgYnVmZmVyCgoyMDExLTA3LTExIDIwOjQ3OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBNYWtlIHN1cmUgcnRwZHRtZnNyYyB0aW1lc3RhbXBzIGRvbid0IG92ZXJsYXAKCjIwMTEtMDctMTEgMjA6NDY6MjAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IFB1dCB0aGUgaW50ZXIgZGlnaXQgaW50ZXJ2YWwgYXQgdGhlIGVuZCwgbm90IGF0IHRoZSBzdGFydAoJICBUaGUgcmVhc29uIGlzIHRvIGxldCBydHBkdG1mbXV4IGRyb3AgYnVmZmVycyBkdXJpbmcgdGhlIGludGVyIGRpZ2l0IGludGVydmFsLAoJICB0aGlzIHdheSwgdGhlcmUgd2lsbCBiZSBtb3JlIHNpbGVuY2UgYXJvdW5kIHRoZSBEVE1GIHRvbmVzIHNvIElWRnMgd2lsbCBoYXZlCgkgIGEgYmV0dGVyIGNoYW5jZSByZWNvZ25pemluZyB0aGVtLgoKMjAxMS0wNC0xNCAxNzowODo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFN0YXJ0IGF0IHRoZSBsYXN0X3N0b3AgZnJvbSB0aGUgc3RhcnQgZXZlbnQgaWYgdGhlcmUgd2FzIG9uZQoJICBUaGUgZ29hbCBpcyB0byB0cnkgdG8gbm90IGhhdmUgYSBHQVAgYmV0d2VlbiB0aGUgYXVkaW8gYW5kIHRoZSBEVE1GCgoyMDExLTA0LTE0IDE0OjM0OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwZHRtZm11eDogQWRkIGxhc3Qtc3RvcCB0byBkdG1mLWV2ZW50IHVwc3RyZWFtIGV2ZW50cwoJICBBZGQgdGhlIHJ1bm5pbmcgdGltZSBvZiB0aGUgbGFzdCBvdXRwdXR0ZWQgYnVmZmVyIHRvIHRoZQoJICB1cHN0cmVhbSAiZHRtZi1ldmVudCIgZXZlbnRzIHNvIHRoYXQgdGhlIGR0bWYgc291cmNlIGRvZXMgbm90CgkgIGxlYXZlIGEgZ2FwLgoKMjAxMS0wNC0xNCAxNjo0OTozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIHJ0cGR0bWZzcmM6IFJlc3BlY3QgcHRpbWUgZnJvbSB0aGUgY2FwcwoJICBSZXNwZWN0IHRoZSBwdGltZSBmcm9tIHRoZSBjYXBzIGZvciB0aGUgRFRNRiBwYWNrZXRzCgoyMDExLTA3LTExIDIxOjMwOjI4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBydHBkdG1mc3JjOiBKdXN0IGVycm9yIG91dCBpZiB0aGVyZSBpcyBubyBjbG9jawoKMjAxMS0wOC0yNCAxNjo1Mzo1MiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBtYWtlIGdzdF9rYXRlX3V0aWxfaXNfdXRmOF9zdHJpbmcoKSBpbmxpbmUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBvbGRlciBsaWJrYXRlIHZlcnNpb25zCgkgIGdzdGthdGV1dGlsLmM6MjMwOjE6IGVycm9yOiAnZ3N0X2thdGVfdXRpbF9pc191dGY4X3N0cmluZycgZGVmaW5lZCBidXQgbm90IHVzZWQKCjIwMTEtMDgtMjQgMTU6MzI6MTIgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgcnNuZHZkOiBlbnN1cmUgbWV0YWRhdGEgaXMgd3JpdGFibGUgd2hlbiB3cml0aW5nIHRvIGl0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTcyNTAKCjIwMTEtMDgtMjQgMDk6MzU6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogVXNlIEZBTFNFIGluc3RlYWQgb2YgMCBmb3IgYm9vbCBwYXJhbWV0ZXIKCjIwMTEtMDgtMjMgMjI6NDQ6MTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBOZWVkIHRvIHNlbmQgYSBuZXdzZWdtZW50IGFmdGVyIGEgc2VlawoKMjAxMS0wOC0yMyAyMjozODoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IFNlbmQgYnVmZmVyaW5nIG1lc3NhZ2VzIG9uIHRoZSBidXMKCjIwMTEtMDgtMjMgMjI6Mzg6MDUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjYWNoZSB0aGUgbnVtYmVyIG9mIGZyYWdtZW50cyB3ZSBhcmUgcmVxdWlyZWQgdG8gY2FjaGUKCjIwMTEtMDgtMjMgMjI6NDA6MjUgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGb3J3YXJkIHNlZWsvZHVyYXRpb24gcXVlcnkvZXZlbnQgdG8gdGhlIHNpbmtwYWQKCjIwMTEtMDgtMjQgMDE6MDM6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPcHRpbWl6ZSBzdGFydCB1cCBhIGxpdHRsZSBieSByZW1vdmluZyBzb21lIHBhZCBjaGVja3MKCSAgU29tZSBwYWQgY2hlY2tzIGFyZSBndWFyYW50ZWVkIHRvIHdvcmssIHNvIHdlIGNhbiBkaXNhYmxlIHRoZW0KCSAgYnkgdXNpbmcgZ3N0X2VsZW1lbnRfbGlua19wYWRzX2Z1bGwKCjIwMTEtMDgtMjMgMTk6MjY6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgZnJvbSBleHBlcmltZW50YWwKCSAgUmVtb3ZlIGNhbWVyYWJpbjIgZnJvbSBleHBlcmltZW50YWwsIGFsbG93aW5nIGl0IHRvIGJlIGJ1aWx0CgkgIHdpdGhvdXQgbmVlZGluZyB0byBwYXNzIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBvbiBjb25maWd1cmUuCgoyMDExLTA4LTIzIDE5OjEzOjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWx3YXlzIHNldCBlbmNvZGViaW4gZmxhZ3Mgd2hlbiBnb2luZyB0byByZWFkeQoJICBXaGVuIGdvaW5nIGZyb20gTlVMTCB0byBSRUFEWSB3ZSB3YW50IHRoZSBlbmNvZGViaW4gZmxhZ3MgdG8gYmUKCSAgc2V0LCBhbmQgbm90IG9ubHkgYWZ0ZXIgY3JlYXRpbmcgZW5jb2RlYmluIChvbiB0aGUgZmlyc3QgcnVuKQoKMjAxMS0wOC0yMyAxMTo1ODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIG5ldyBlbnRyeSB0byBmbGFncyBwcm9wZXJ0eQoJICBBZGRzIGEgbmV3IGVudHJ5IHRvIGNhbWVyYWJpbjIgZmxhZ3MgdG8gZGlzYWJsZSB2aWV3ZmluZGVyCgkgIGNvbnZlcnNpb24gZWxlbWVudHMuCgoyMDExLTA4LTIzIDExOjE5OjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBBZGQgcHJvcGVydHkgZm9yIGRpc2FibGluZyBjb252ZXJ0ZXJzCgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgdG8gZGlzYWJsZSBjb252ZXJ0ZXJzIGVsZW1lbnRzIGZvciBwZXJmb3JtYW5jZQoJICByZWFzb25zLiBJdCBzaG91bGQgb25seSBiZSB1c2VkIGlmIHRoZSBhcHBsaWNhdGlvbiBrbm93cyB0aGV5IGFyZW4ndAoJICBuZWVkZWQuCgoyMDExLTA4LTE5IDE3OjI4OjU0ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IGRvIG5vdCB0cnkgdG8gY29tcGFyZSBhIFBDUiB3aXRoIGl0c2VsZiBmb3Igc3RhdGlzdGljcwoJICBFc3BlY2lhbGx5IGFzIG9uZSBvZiB0aGUgbG9ncyB3aWxsIGNhdXNlIGEgZGl2aWRlIGJ5IHplcm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMTkgMTM6MzI6MTQgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IGtlZXAgYSBkYW5nbGluZyBwb2ludGVyCgkgIFdoZW4gcmVtb3ZpbmcgdGhlIGN1cnJlbnQgcHJvZ3JhbSwgaXQgd2lsbCBnZXQgZnJlZWQgYnkgdGhlCgkgIGhhc2ggdGFibGUgcmVtb3ZhbCBjYWxsYmFjaywgc28gZW5zdXJlIHdlIGNsZWFyIG91ciBwb2ludGVyCgkgIHRvIGl0LgoJICBGaXhlcyBhIGNyYXNoIGxhdGVyIG9uIGluIGdzdF90c19kZW11eF9wdXNoIHRyeWluZyB0byBhY2Nlc3MgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY5MjcKCjIwMTEtMDgtMjEgMjA6MzY6MDcgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBwYXNzIG9uIHRpbWVkIGV2ZW50IG1ldGFkYXRhIGFzIHRhZ3Mgd2hlbiB3ZSBjYW4KCSAgTWV0YWRhdGEgYXR0YWNoZWQgdG8gb3RoZXIgb2JqZWN0cyB0aGF0IG1heSBiZSB1c2VkIGluIHRoaXMKCSAgZXZlbnQgYXJlIG5vdCBwYXNzZWQsIGFzIGlzIGJpbmFyeSBtZXRhZGF0YS4KCjIwMTEtMDgtMjMgMTA6MzI6MTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFkZCBBQ19NU0dfQ0hFQ0tJTkcoKSB0byB0aGUgVlA4RV9TRVRfVFVOSU5HIHByZXNlbmNlIGNoZWNrCgoyMDExLTA4LTE5IDE5OjE3OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4OiBwcm9iZSBmb3IgdGhlIG5ldyB0dW5pbmcgQVBJIHRvIGtlZXAgYnVpbGRpbmcgd2l0aCBvbGRlciBsaWJ2cHgKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjkyOAoKMjAxMS0wOC0xOCAxMzoyMToxOCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuaDoKCSAgcnN2Z2RlYzogdXNlIGlucHV0IGJ1ZmZlciB0aW1pbmdzIGlmIHBvc3NpYmxlCgkgIFNWRyBkYXRhIG1heSBjb21lIHRocm91Z2ggbXVsdGlwbGUgYnVmZmVycywgc28ga2VlcCB0cmFjayBvZiB0aGUKCSAgdGltZXN0YW1wIG9mIHRoZSBmaXJzdCBidWZmZXIsIGFuZCB1c2UgaXQgaW4gcHJlZmVyZW5jZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyODI4NAoKMjAxMS0wOC0yMiAxNzoxMDoyNCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjb25zaWRlciBhbiBlbXB0eSBTUFUgdG8gYmUgYSBmYXRhbCBlcnJvcgoJICBJbnN0ZWFkLCBqdXN0IGVuY29kZSBub3RoaW5nIGFuZCBnbyBvbi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NzA5MQoKMjAxMS0wOC0yMiAxNzoxNToxMCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGZyb20gdGhlIGR2ZHNwdSBwbHVnaW4sIGZyb20gd2hlcmUgdGhpcyBjb2RlIHdhcyBjb3BpZWQsCgkgIGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU3MDkxCgoyMDExLTA4LTIyIDE2OjUyOjEzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJICBkdmRzcHU6IGRvIG5vdCBjbGVhciBvdXQgaGlnaCBiaXRzIGZyb20gZGlzcGxheSBhcmVhCgkgIGh0dHA6Ly9kdmQuc291cmNlZm9yZ2UubmV0L3NwdV9ub3RlcyBkb2VzIG5vdCBtZW50aW9uIHRoYXQgaGlnaCBiaXRzCgkgIGFyZSB0byBiZSBtYXNrZWQsIGFuZCBub3QgY2xlYXJpbmcgdGhlbSBtYWtlcyBhIHNhbXBsZSB3b3JrLCB3aGVyZQoJICBjbGVhcmluZyB0aGVtIHlpZWxkZWQgbGVmdCA+IHJpZ2h0LgoJICBIaXN0b3J5IGRvZXMgbm90IHNoZWQgYW55IGxpZ2h0LCBhcyB0cmFjaW5nIHRoaXMgY29kZSdzIG9yaWdpbiBzaG93cwoJICB0aGUgc2FtZSBiaXRtYXNrcyBiZWluZyB0aGVyZSBpbiAyMDA3IHdoZW4gaXQgd2FzIGltcG9ydGVkLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIwMTE5CgoyMDExLTA4LTIzIDA5OjUyOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IEZpcnN0IHRyeSBpZiB1cHN0cmVhbSBoYW5kbGVzIHNlZWtpbmcgaW4gVElNRSBmb3JtYXQgYmVmb3JlIHNlZWtpbmcgaW4gdGhlIGRlbXV4ZXIKCjIwMTEtMDgtMjMgMDk6NDA6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRmlyc3Qgc2VuZCBTRUVLSU5HIHF1ZXJpZXMgdXBzdHJlYW0KCjIwMTEtMDgtMjMgMDk6Mjc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogU2VuZCBEVVJBVElPTiBxdWVyeSB1cHN0cmVhbSBmaXJzdAoKMjAxMS0wOC0yMyAwOToyMzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBVc2UgRkFMU0UgaW5zdGVhZCBvZiAwIGZvciBhIGJvb2wgcGFyYW1ldGVyCgoyMDExLTA4LTE2IDE5OjUzOjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3dpdGNoIHBhZHMgd2hlbiB3ZSBzZWVrIChuZWVkX3NlZ21lbnQpIHNpbmNlIHRzZGVtdXggZG9lc24ndCBjb3BlIHdlbGwgd2l0aCBhIHJlc2V0CgoyMDExLTA4LTIzIDAyOjM2OjI1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIGEgRklYTUUgY29tbWVudC4gbG9vcCB0YXNrIHNob3VsZCBiZSBhIHBhZCB0YXNrCgoyMDExLTA4LTIyIDIzOjQxOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHNlZWsgaW4gYSBsaXZlIHN0cmVhbQoKMjAxMS0wOC0yMiAyMzo0MTozMSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IERvIG5vdCB0YWtlIHRoZSBwYWQgc3RyZWFtIGxvY2ssIHVzZSB0aGUgdGFzaydzIGxvY2sgaW5zdGVhZAoKMjAxMS0wOC0xNiAxOTo0Njo0OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogSW1wbGVtZW50IEVWRU5UX1NFRUsKCjIwMTEtMDgtMjMgMDE6NTQ6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBJbXBsZW1lbnQgdGhlIEdTVF9RVUVSWV9TRUVLSU5HIHByb3Blcmx5CgoyMDExLTA4LTIzIDAxOjU0OjAzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogSW1wbGVtZW50IGNvcnJlY3RseSB0aGUgR1NUX1FVRVJZX0RVUkFUSU9OCgoyMDExLTA4LTE2IDE5OjQxOjA4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogRG8gbm90IHVzZSBHU1RfVEFTS19XQUlUIGluIHRoZSB0YXNrIGZ1bmN0aW9uCgkgIFRoZSB0YXNrIGZ1bmN0aW9uIHVzZXMgR1NUX1RBU0tfV0FJVCB3aGljaCBkb2VzIGEgZ19jb25kX3dhaXQgZ2l2aW5nIGl0CgkgIHRoZSBHU1RfT0JKRUNUX0dFVF9MT0NLIG9mIHRoZSB0YXNrLiBUaGUgbXV0ZXggZ2V0cyBsb2NrZWQgd2hlbgoJICBnX2NvbmRfd2FpdCByZXR1cm5zLCBzbyBpZiB3ZSBkb24ndCBsb2NrL3VubG9jayBpdCwgaXQgd2lsbAoJICBzdGF5IGxvY2tlZCBmb3JldmVyLCBwcmV2ZW50aW5nIHRoZSB0YXNrIGZyb20gZXZlciBmaW5pc2hpbmcuCgkgIFdlIHNob3VsZG4ndCBsb2NrIHRoZSB0YXNrIG9iamVjdCBsb2NrLCBzbyBsZXQncyByZW1vdmUgdGhlIEdTVF9UQVNLX1dBSVQKCSAgYW5kIG1ha2UgdGhlIHRhc2sgcGF1c2UgaW5zdGVhZCBpZiB0aGVyZSBhcmUgbm8gYnVmZmVycyBpbiB0aGUgcXVldWUuCgoyMDExLTA4LTE4IDIzOjUyOjM3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogZG8gbm90IHNlbmQgYSBuZXctc2VnbWVudCBvbiBzdHJlYW0gcmVtb3ZhbAoJICBXaGVuIGEgcHJvZ3JhbSBpcyBjaGFuZ2VkLCBzdHJlYW1fYWRkZWQgaXMgY2FsbGVkIHdoaWNoIHNldHMgdGhlCgkgIG5lZWRfbmV3c2VnbWVudCB0byBUUlVFLCB0aGVuIHN0cmVhbV9yZW1vdmVkIGlzIGNhbGxlZCwgd2hpY2ggY2FsbHMKCSAgdGhlIGZsdXNoX3BlbmRpbmdfZGF0YSwgd2hpY2ggY2hlY2tzIGZvciB0aGUgbmV3c2VnbWVudCBhbmQgY2F1c2VzCgkgIGl0IHRvIHNlbmQgYSBuZXctc2VnbWVudC4KCSAgV2UgbXVzdCBub3Qgc2VuZCB0aGUgbmV3c2VnbWVudCB3aGVuIGZsdXNoaW5nIHRoZSBwZW5kaW5nIGRhdGEgb24gdGhlCgkgIHJlbW92ZWQgc3RyZWFtLiBXZSBzaG91bGQgb25seSBwdXNoIGl0IHdoZW4gZmx1c2hpbmcgZGF0YSBvbiB0aGUgbmV3bHkKCSAgYWRkZWQgc3RyZWFtcyAoYWZ0ZXIgdGhleSBmaW5pc2ggcGFyc2luZyB0aGVpciBQVFMgaGVhZGVyKQoKMjAxMS0wOC0xNiAyMjowNToxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBuZXdzZWdtZW50IHdoZW4gc3dpdGNoaW5nIHByb2dyYW1zCgkgIElmIGEgcHJvZ3JhbS9zdHJlYW0gaXMgY2hhbmdlZCwgdGhlbiBhIG5ld3NlZ21lbnQgaXMgc2VudCB3aGljaCBtdXN0CgkgIG5vdCBiZSB0aGUgc2FtZSBhcyB0aGUgYmFzZSBzZWdtZW50IHNpbmNlIGl0IGhhcHBlbnMgbGF0ZXIuIFdlIG11c3QKCSAgc2hpZnQgdGhlIHN0YXJ0IHBvc2l0aW9uIGJ5IHRoZSB0aW1lIGVsYXBzZWQgc2luY2UgdGhlIG5ld3NlZ21lbnQKCSAgYW5kIHRoZSBjdXJyZW50IFBUUyBvZiB0aGUgc3RyZWFtCgoyMDExLTA4LTE2IDE5OjU0OjA0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogaW50ZXJwb2xhdGUgZ2FwIGFuZCBmaXggdGltZXN0YW1wcyBkZXBlbmRpbmcgb24gdXBzdHJlYW0gc2VnbWVudAoKMjAxMS0wOC0xOCAyMzo1NDo1OSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogS2VlcCBhIHNlcGFyYXRlIHZhcmlhYmxlIGZvciB0aGUgY3VycmVudCB2YXJpYW50IHVzZWQKCSAgQnkgdXNpbmcgYSBzZXBhcmF0ZSB2YXJpYWJsZSwgZmlyc3QgaXQgYWxsb3dzIHVzIHRvIHNvcnQgdGhlIGxpc3RzCgkgIG9mIGFsdGVybmF0ZXMgYnV0IGtlZXAgdGhlIHBvaW50ZXIgb24gdGhlIGZpcnN0IG9jY3VyZW5jZSBpbiB0aGUgbWFpbgoJICBwbGF5bGlzdCAodG8gcmVzcGVjdCB0aGUgc3BlYyBvZiBzdGFydGluZyB3aXRoIHRoZSBiaXRyYXRlIHNwZWNpZmllZAoJICBmaXJzdCBpbiB0aGUgbWFpbiBwbGF5bGlzdCkuIEl0IGFsc28gYXZvaWQgcGxheWluZyB3aXRoIHRoZSBsaXN0cyB2YXJpYWJsZQoJICB3aGljaCBzaG91bGQgYmUgdXNlZCB0byBzdG9yZSB0aGUgbGlzdCBvZiBwbGF5bGlzdHMgYW5kIG5vdCBhcyBhIHBvaW50ZXIKCSAgdG8gdGhlIGN1cnJlbnQgb25lLgoJICBBbHNvIGZpeGVzIGEgbWVtbGVhayB3aXRoIHRoZSBnX2xpc3RfZm9yZWFjaCBmcmVlaW5nIHRoZSBsaXN0cywgaWYgaXQgd2Fzbid0CgkgIHBvaW50aW5nIHRvIHRoZSBmaXJzdCBlbGVtZW50IG9mIHRoZSBsaXN0LgoKMjAxMS0wOC0yMSAxODo0NDo0MyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogZml4IGNvbXBpbGF0aW9uIG9uIExpbnV4CgoyMDExLTA4LTE4IDE0OjI5OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJICBkZWNrbGluazogQWRkIHN1YmRldmljZSBwcm9wZXJ0eQoKMjAxMS0wNy0wNyAxNjo0NDozMSAtMDQwMCAgSm9zaHVhIE0uIERvZSA8b3NzQG52bC5hcm15Lm1pbD4KCgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5oOgoJKiBzeXMvZGVja2xpbmsvbGludXgvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL2xpbnV4L0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvbGludXgvTGludXhDT00uaDoKCSogc3lzL2RlY2tsaW5rL3dpbi9EZWNrTGlua0FQSS5oOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJKiBzeXMvZGVja2xpbmsvd2luL0RlY2tMaW5rQVBJX2kuYzoKCSAgZGVja2xpbms6IGFkZCBzdXBwb3J0IGZvciBXaW5kb3dzCgkgIEJ1aWxkcyB3aXRoIE1TVkMsIG5vdCB0ZXN0ZWQgaW4gTWluR1cgb3IgYW55dGhpbmcgZWxzZS4gQWRkZWQKCSAgQ09NIGhhbmRsaW5nIGNvZGUsIGJvcnJvd2VkIGZyb20gZHNob3d2aWRlb3NpbmsuIE1vdmVkIExpbnV4CgkgIHNwZWNpZmljIGZpbGVzIHRvIC4vbGludXggYW5kIGFkZGVkIFdpbmRvd3Mgc3BlY2lmaWMgZmlsZXMgdG8KCSAgLi93aW4gKGdlbmVyYXRlZCBmcm9tIElETCBmaWxlcyBpbiBWUzkpLiBBZGRlZCBtYWNyb3MgdG8gaGFuZGxlCgkgIEJTVFIgYW5kIGRlZmluZWQgYm9vbCBhcyBCT09MLiAgRml4ZXMgIzY1NTM2Mi4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjM0OjAxIC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGltcHJvdmUgZnJhbWUgaGFuZGxpbmcKCSAgU2VuZCBORVdTRUdNRU5UIG9uIHN0YXJ0LiBTZW5kIHdhcm5pbmcgaW5zdGVhZCBvZiBlcnJvciBvbgoJICBkcm9wcGVkIGZyYW1lcy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA3LTA3IDE0OjIwOjM3IC0wNDAwICBKb3NodWEgTS4gRG9lIDxvc3NAbnZsLmFybXkubWlsPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IGZpeCBkZWJ1Z2dpbmcgaW4gY2FwdHVyZS5jcHAgYnkgbWFraW5nIGNhdGVnb3J5IGV4dGVybgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDctMDcgMTQ6MTM6MDAgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPG9zc0BudmwuYXJteS5taWw+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9jYXB0dXJlLmg6CgkgIGRlY2tsaW5rOiB1c2UgbXV0ZXhlcyBmcm9tIGdsaWIgaW5zdGVhZCBvZiBwdGhyZWFkCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0xNiAxNzoxOTo0OSAtMDMwMCAgVGlhZ28gQ8Opc2FyIEthdGNpcGlzIDx0aWFnb2thdGNpcGlzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yZW1vdmVzaWxlbmNlL2dzdHJlbW92ZXNpbGVuY2UuYzoKCSogZ3N0L3JlbW92ZXNpbGVuY2UvZ3N0cmVtb3Zlc2lsZW5jZS5oOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5jOgoJKiBnc3QvcmVtb3Zlc2lsZW5jZS92YWRfcHJpdmF0ZS5oOgoJICByZW1vdmVzaWxlbmNlOiBuZXcgcGx1Z2luCgkgIEZpeGVzOiAjNTk3ODIyLgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDgtMjEgMTQ6NDE6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFByZXZlbnQgYXVkaW9zcmMgZnJvbSBzZW5kaW5nIHVuZGVzaXJlZCBlb3MKCSAgQmFzZXNyYyBkZXJpdmVkIGNsYXNzZXMgc2VuZCBhbiBlb3Mgd2hlbiB0aGV5IGNoYW5nZSBzdGF0ZQoJICBmcm9tIHBhdXNlZCB0byByZWFkeSBhbmQgdGhhdCBicmVha3MgdmlkZW8gcmVjb3JkaW5ncyBvbiBjYW1lcmFiaW4yCgkgIGFzIGl0IG1ha2VzIHRoZSB3aG9sZSBhdWRpbyBicmFuY2ggcGFkcyBmbHVzaGluZy4KCSAgUHJldmVudCBpdCBieSB1c2luZyBhIHBhZCBwcm9iZSB0aGF0IG9ubHkgYWxsb3dzIHRoZSBlb3MgdG8gcGFzcwoJICB3aGVuIGl0IGlzIGNhdXNlZCBieSBhIHN0b3AtY2FwdHVyZSBhY3Rpb24uCgoyMDExLTA4LTIxIDE0OjA3OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFVzZSBhdWRpb3Rlc3RzcmMgb24gdGVzdHMKCSAgVXNlIGF1ZGlvdGVzdHNyYyBvbiB0ZXN0cyBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBzeXN0ZW0ncyBkZWZhdWx0CgkgIGF1ZGlvc3JjLCBhdm9pZGluZyBhbnkgcHJvYmxlbXMgdGhhdCBhIGxvY2FsIGF1ZGlvIHNldHVwIG1pZ2h0CgkgIGhhdmUuCgoyMDExLTA4LTE4IDE4OjI3OjAzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGdzdF9wYWRfc2VuZF9ldmVudCBpbnN0ZWFkIG9mIGV2ZW50ZnVuYyBtYWNybwoKMjAxMS0wOC0xNCAwNDo0MTo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBJbXByb3ZpbmcgdGVzdHMKCSAgQWRkaW5nIHNvbWUgYWRkaXRpb25hbCBjaGVja3MgZm9yIGN1c3RvbSBjYW1lcmFiaW4yIG1lc3NhZ2VzCgkgIEFsc28gaW1wcm92ZXMgcmVsaWFiaWxpdHkgb2YgdGhlIHRlc3RzIGJ5IHdhaXRpbmcgZm9yIHRoZSBwcmV2aWV3LWJ1ZmZlciBtZXNzYWdlLgoJICBUaGlzIG1lc3NhZ2UgaXMgZ2VuZXJhdGVkIGZyb20gdGhlIHByZXZpZXcgcGlwZWxpbmUsIGFuZCBtaWdodCBhcnJpdmUgbGF0ZXIgdGhhbiB0aGUKCSAgaW1hZ2UvdmlkZW8tZG9uZSBmcm9tIHRoZSBtYWluIGNhbWVyYWJpbjIgcGlwZWxpbmUsIHRoZSB0ZXN0cyBuZWVkIHRvIHdhaXQgZm9yIGl0IGV2ZW4KCSAgYWZ0ZXIgZ2V0dGluZyB0aGUgaW1hZ2UvdmlkZW8tZG9uZS4KCjIwMTEtMDgtMTggMTU6MTI6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBdm9pZCBhc3NlcnRpb25zIHdoZW4gcGx1Z2luIGNyZWF0aW9uIGZhaWxzCgkgIENhcHNmaWx0ZXJzIGFyZSBjcmVhdGVkIG9uIHRoZSBjb25zdHJ1Y3RvciBhbmQgdGhlaXIgcHJvcGVydGllcyBjYW4KCSAgYmUgc2V0L2dldCBmcm9tIGNhbWVyYWJpbjIncyBzZXQvZ2V0X3Byb3BlcnR5IGZ1bmN0aW9ucy4gVGhlIHVzZXIgd2l0aAoJICBhIGJyb2tlbiBzZXR1cCB3b3VsZCBjYXVzZSBhc3NlcnRpb25zIHdoZW4gdHJ5aW5nIHRvIHNldC9nZXQgdGhlCgkgIGNhcHR1cmUgY2FwcyBvZiB0aGlzIGNhbWVyYWJpbjIuCgkgIEEgcHJvcGVyIG1pc3NpbmctcGx1Z2luIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiB0aGUgdXNlciB0cmllcyB0bwoJICBzZXQgY2FtZXJhYmluMiB0byBSRUFEWSBzdGF0ZS4KCjIwMTEtMDgtMjAgMDA6NDg6MjAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgdHNtdXg6IHJlbW92ZSB1bm5lY2Vzc2FyeSBjaGVjawoJICByZW1vdmUgYW4gaWYgKGJlc3QpIGNoZWNrIHdoZXJlIGJlc3QgIT0gTlVMTCBoYXMgYWxyZWFkeSBiZWVuIGNoZWNrZWQKCjIwMTEtMDgtMTYgMTk6NTE6MzQgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICB0c2Jhc2U6IHJlaW5pdGlhdGUgc2VnbWVudCBhdCBmbHVzaC1zdG9wIGV2ZW50IG9ubHkKCjIwMTEtMDgtMTYgMTk6NDM6MDggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IFNldCBidWZmZXIgdGltZXN0YW1wIHNpbmNlIHdlIHNlbmQgYSBUSU1FIHNlZ21lbnQKCjIwMTEtMDgtMDIgMTk6MjE6NDcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBBbGxvdyBiYW5kd2lkdGggc3dpdGNoaW5nIGR1cmluZyBjYWNoaW5nIG9mIGZyYWdtZW50cwoKMjAxMS0wOC0wMiAxOToyMToxOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHNldCB0aGUgcGFkJ3MgY2FwcyBiZWZvcmUgYWRkaW5nIGl0CgoyMDExLTA4LTE3IDExOjAyOjEyICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogZmluZ2VycHJpbnQgY3JlYXRpb24gY2FuIGZhaWwKCSAgVGhlcmUgZG9lcyBub3Qgc2VlbSB0byBiZSBhIHdheSB0byByZXRyaWV2ZSBpbmZvcm1hdGlvbgoJICBhYm91dCB3aHkgZmFpbHVyZSBvY2N1cmVkLCB1bmZvcnR1bmF0ZWx5LgoJICBXaGVuIGZhaWx1cmUgb2NjdXJzLCBkbyBub3QgcG9zdCBhIE5VTEwgZmluZ2VycHJpbnQgdGFnLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE3IDEwOjU1OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIG9mYTogY2xlYW51cAoJICBBdm9pZCByZXBlYXRpbmcgY2FzdGluZyB0byBHc3RBdWRpb0ZpbHRlciB3aGVuIG9uZSB3aWxsIGRvCgkgIFVzZSBvYmplY3QgcmVsYXRlZCBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGdldCBqdXN0IHRoZSBsb2dzIHdlIHdhbnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY0MQoKMjAxMS0wOC0xNyAxMTowNzo1NCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvIG5vdCBjcmVhdGUgZmluZ2VycHJpbnQgb24gRU9TIGlmIHJlY29yZCBpcyBGQUxTRQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU2NjQxCgoyMDExLTA4LTE4IDEwOjM5OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVtb3ZlIHVudXNlZCBhbmQgdXNlbGVzcyB2YXJpYWJsZSBpbiB0YWdzIGhhbmRsaW5nCgoyMDExLTA4LTE4IDA4OjAyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBGaXggbG9ja2luZywgZXNwZWNpYWxseSBpZiBib3RoIHBhZHMgaGF2ZSBkaWZmZXJlbnQgc3RyZWFtaW5nIHRocmVhZHMKCjIwMTEtMDgtMTggMDc6NDI6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBEb24ndCBjYWxsIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCgpIGluIGNsYXNzX2luaXQKCSAgVGhpcyBpcyBhbHJlYWR5IGRvbmUgYnkgdGhlIEdPYmplY3QgYm9pbGVycGxhdGUgbWFjcm8KCjIwMTEtMDgtMTcgMTk6MDE6MzkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgoyMDExLTA4LTE2IDEwOjI0OjM3ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJICBhaWZmbXV4OiBkcm9wIGRhdGEgYWZ0ZXIgNGlzaCBHQiBhbmQgbW9hbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0Mjc4CgoyMDExLTA4LTE2IDEwOjAyOjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSAgYWlmZm11eDogdXNlIGd1aW50MzIgZm9yIGd1aW50MzIgcGFyYW1ldGVycwoJICBUaGlzIG1ha2VzIGV4cGxpY2l0IHRoYXQgdGhlIHJhbmdlIGlzIGxpbWl0ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTQyNzgKCjIwMTEtMDgtMTYgMTA6MDI6MTEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZmbXV4OiBhdm9pZCBpbnRlZ2VyIG92ZXJmbG93CgkgIFRoZXNlIHZhbHVlcyBhcmUgMzIgYml0cywgYW5kIHdpZHRoIGlzIGEgbXVsdGlwbGUgb2YgOC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDI3OAoKMjAxMS0wOC0xNiAxOTozOTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkgIGNlbHRkZWM6IG1ha2UgdGhpcyBjb21waWxlIHdpdGggZ2l0IGxpYmNlbHQKCSAgY2VsdF9tb2RlX2luZm8gd2FzIHJlbW92ZWQsIGluIGZhdm9yIG9mIGEgX2N0bC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NjY4NgoKMjAxMS0wOC0xNiAxODozNDo1OSArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IGRvbid0IGNyYXNoIHdoZW4gdGhlcmUncyBubyBkYXRhIHRvIGNyZWF0ZSBhIGZpbmdlcnByaW50IGZyb20KCSAgRml4ZXMgYSBjcmFzaCB3aGVuIG5vIGRhdGEgZmxvd2VkIHRocm91Z2guCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTY2NDEKCjIwMTEtMDgtMTYgMTk6NDc6MDIgKzAzMDAgIEdlb3JnZSBLaWFnaWFkYWtpcyA8Z2VvcmdlLmtpYWdpYWRha2lzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBnc3RfYml0X3JlYWRlcl9za2lwIHRvIHNraXAgbW9yZSB0aGFuIDMyIGJpdHMuCgkgIEdFVF9CSVRTIGlzIGEgbWFjcm8gZm9yIGdzdF9iaXRfcmVhZGVyX2dldF9iaXRzX3VpbnQzMiwgd2hpY2ggY2Fubm90CgkgIHJlYWQgbW9yZSB0aGFuIDMyIGJpdHMgYW5kIHdpbGwgZmFpbCBpbiB0aGlzIGNhc2Ugd2hlcmUgaXQgaXMgY2FsbGVkCgkgIHRvIHJlYWQgNzkgYml0cy4gU2luY2Ugd2Ugd2FudCB0byBza2lwIHRob3NlIGJpdHMsIGdzdF9iaXRfcmVhZGVyX3NraXAKCSAgaXMgbW9yZSBhcHByb3ByaWF0ZSBpbiB0aGlzIGNhc2UuCgoyMDExLTA4LTE1IDAyOjA4OjE0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogZ2V0IHRoZSBmcmFtZXJhdGUgZnJvbSBjYXBzCgkgIC4uLmFuZCBjb25maWd1cmUgUVRLaXQgYWNjb3JkaW5nbHkuIEhhcmRjb2RpbmcgdG8gMzBmcHMgd2FzIHByZXR0eSAtYmFkLgoKMjAxMS0wOC0xMyAxNTo1NTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3IgYXVkaW8tZmlsdGVyIHByb3BlcnR5CgkgIENoZWNrcyB0aGF0IHRoZSBhdWRpby1maWx0ZXIgaXMgcHJvcGVybHkgcGx1Z2dlZCBpbiB0aGUgcGlwZWxpbmUKCSAgYW5kIHJlY2VpdmVzIGJ1ZmZlcnMgd2hlbiByZWNvcmRpbmcgYSB2aWRlby4KCjIwMTEtMDgtMTEgMTg6NTk6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBhdWRpby1maWx0ZXIgcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIGFkZCBhIGN1c3RvbSBHc3RFbGVtZW50IHRvIHRoZSBhdWRpbwoJICBicmFuY2ggb2YgdGhlIHBpcGVsaW5lLiBUaGlzIGFsbG93cyB0aGUgdXNlciB0byBkbyBjdXN0b20gYXVkaW8KCSAgcHJvY2Vzc2luZy9hbmFseXNpcyB3aGVuIHJlY29yZGluZyB2aWRlb3MuCgoyMDExLTA4LTEyIDIyOjM5OjUzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZXZpc3VhbGl6ZXI6IGFkZCBtb3JlIHNoYWRlciB2YXJpYW50cyBhbmQgc2ltcGxpZnkgY29kZQoJICBVc2UgbWFjcm9zIHRvIHNpbXBseWZ5IHRoZSBzaGFkaW5nIGNvZGUuIFRob3NlIHdpbGwgZWFzZSB0byBhZGQgc3VwcG9ydCBmb3IKCSAgb3RoZXIgY29sb3JzcGFjZXMgaW4gdGhlIGZ1dHVyZS4gQWRkIG1vcmUgdmFyaWFudHMgZm9yIHRoZSBzaGFkaW5nIChsZWZ0LHJpZ2h0LAoJICBob3Jpei1pbiwgdmVydC1vdXQsIHZlcnQtaW4pLgoKMjAxMS0wOC0xMiAyMToyMjoyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJICBiYXNldmlzdWFsaXplcjogbW9yZSBkb2NzCgoyMDExLTA4LTEyIDIxOjE4OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdGJhc2VhdWRpb3Zpc3VhbGl6ZXIuaDoKCSAgYmFzZWF1ZGlvdmlzdWFsaXplcjogcHJvdGVjdCBjb25maWcgd2l0aCBhIGxvY2sKCSAgQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGNyYXNoIHRoZSBlbGVtZW50cyB3aGVuIHVzaW5nIGEgeGltYWdlc2luayBhbmQgdHJpZ2dlcmluZwoJICByZW5lZ290aWF0aW9uIGJ5IHJlc2l6aW5nLgoKMjAxMS0wOC0xMiAxNjo1Nzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogbWFrZSBhIGNvcHkgb2YgdGhlIGF1ZGlvZGF0YSBiZWZvcmUgZG93bm1peGluZyBhbmQgd2luZG93aW5nCgkgIFRoZSBidWZmZXJzIGNvbWUgZnJvbSB0aGUgYWRhcHRlciBhbmQgdGhlIGRhdGEgbWlnaHQgb3ZlcmxhcC4gV2UgZG9uJ3Qgd2FudCB0bwoJICBtb2RpZnkgaXQgaW4gcGxhY2UuCgoyMDExLTA4LTEyIDEyOjI1OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IFByb3h5IHRoZSB3aWR0aC9oZWlnaHQvZnJhbWVyYXRlL1BBUiBjb25zdHJhaW50cyBvZiBkb3duc3RyZWFtIGNhcHMgdG8gdXBzdHJlYW0KCSAgVGhpcyBhbGxvd3MgdG8gc3BlY2lmeSBjb25zdHJhaW50cyBvbiB0aGUgY29tcHJlc3NlZCBkb3duc3RyZWFtIGNhcHMKCSAgYnkgbXV4ZXJzIG9yIGNhcHNmaWx0ZXJzLCB3aGljaCB3aWxsIHRoZW4gYmUgZm9yd2FyZGVkIHRvIHVwc3RyZWFtCgkgIGFuZCBhbGxvd3MgdmlkZW8gY29udmVydGVycyB0byBmdWxmaWxsIHRoZSBjb25zdHJhaW50cy4KCSAgQ29kZSBiYXNlZCBvbiBNYXJrIE5hdXdlbGFlcnRzIGF1ZGlvIGVuY29kZXIgYmFzZSBjbGFzcy4KCjIwMTEtMDgtMTIgMTI6MTM6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIG9sZCA6OmdldGNhcHMoKSBjb21tZW50CgoyMDExLTA4LTEyIDEyOjA4OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IFVwZGF0ZSBmb3IgYmFzZXZpZGVvZW5jb2RlciA6OmdldF9jYXBzKCkgcmVtb3ZhbAoKMjAxMS0wOC0xMiAxMjowODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIGJhc2V2aWRlb2VuY29kZXIgOjpnZXRfY2FwcygpIHJlbW92YWwKCjIwMTEtMDgtMTIgMTI6MDY6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogUmVtb3ZlIDo6Z2V0X2NhcHMoKSB2ZnVuYwoJICBTdWJjbGFzc2VzIGNhbiBzZXQgdGhlIGNhcHMgbW9yZSBlZmZpY2llbnRseSBhbmQgdGhpcyBvbmx5CgkgIGNhdXNlZCBhZGRpdGlvbmFsIGluZGlyZWN0aW9ucy4KCjIwMTEtMDgtMDkgMDk6Mjk6MjEgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IGRvIG5vdCBhc3NlcnQgb24gdGhlIHZhbHVlcyBvZiBkYXRhIHJlYWQgZnJvbSBpbnB1dAoJICBJbnN0ZWFkLCBsb2cgYSB3YXJuaW5nLCBhbmQgcmV0dXJuLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTYzODI3CgoyMDExLTA4LTAzIDE2OjAyOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFVzZSB0aGUgY2FjaGVkIHZpZGVvIGZyYW1lIHNpemUgaW5zdGVhZCBvZiByZWNhbGN1bGF0aW5nIGl0CgoyMDExLTA4LTA4IDE3OjUzOjE2ICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lZGluZ2VyOiBGaXggc2V0IGJ1dCB1bnVzZWQgdmFyaWFibGVzCgkgIFJlbW92ZSBzb21lIGRlYWQgY29kZSB0aGF0IHRyaWdnZXJzICJzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMiCgkgIGZyb20gR2NjIDQuNi4gIEZpeGVzICM2NTYxNjYKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA4IDE2OjQ0OjIwICswMjAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZXMKCSAgUmVtb3ZlIHNvbWUgZGVhZCBjb2RlIHRoYXQgdHJpZ2dlcnMgInNldCBidXQgdW51c2VkIHZhcmlhYmxlcyIgZnJvbSBHY2MKCSAgNC42LiAgRml4ZXMgIzY1NjE2NC4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA4LTA2IDEyOjEzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHZpZGVvLWRvbmUgbWVzc2FnZQoJICB2aWRlby1kb25lIG1lc3NhZ2Ugd2lsbCBiZSBwb3N0ZWQgd2hlbiBhIHZpZGVvIHJlY29yZGluZyBpcwoJICBmaW5pc2hlZC4gU2ltaWxhciB0byBpbWFnZS1kb25lIG1lc3NhZ2UuCgoyMDExLTA4LTA1IDE1OjQ4OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHRvcC1sZXZlbCBlbGVtZW50IGRvY3VtZW50YXRpb24KCjIwMTEtMDgtMDUgMTM6MzQ6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXhpbmcgdHlwbwoKMjAxMS0wOC0wNCAxMzozMzoyMCArMDIwMCAgU3RlZmFuIFNhdWVyIDxlbnNvbmljQGdvb2dsZS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5jcHA6CgkqIGV4dC9vcGVuY3YvbW90aW9uY2VsbHNfd3JhcHBlci5oOgoJICBtb3Rpb25jZWxsczogdHVybiB0d28gZ2xvYmFsIHZhcnMgaW50byBzdGF0aWMgdmFyaWFibGVzCgkgIE1vdmUgMiB2YXJpYWJsZSB0byBtb3Rpb25jZWxsc193YXJwcGVyIGFuZCBtYWtlIHRoZW0gc3RhdGljLgoKMjAxMS0wOC0wNCAxMzozMzo1NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBBZGQgbWlzc2luZyBoZWFkZXIgZmlsZQoKMjAxMS0wOC0wNCAxMToyODozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgZ3N0ZGVja2xpbmsuaCB0byBsaXN0IG9mIGhlYWRlcnMKCjIwMTEtMDgtMDQgMDk6NDk6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggc2VxdWVuY2UgaGVhZGVyIHBhcnNpbmcKCSAgQWZ0ZXIgYml0cmF0ZSB0aGVyZSdzIDExIGJpdHMgKDEgbWFya2VyIGJpdCArIFZCViBidWZmZXIgc2l6ZSkgYmVmb3JlIHRoZSBsb2FkCgkgIGludHJhIHF1YW50aXNlciBmbGFnLgoKMjAxMS0wOC0wNCAwOTo0MDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDgtMDQgMDk6MzY6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3RlcicgaW50byAwLjExCgkgIENvbmZsaWN0czoKCSAgY29tbW9uCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmMKCSAgZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oCgkgIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYwoKMjAxMS0wNy0yMSAwODo1ODoyNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8dG9tbWkubXlvaGFuZW5AZGlnaWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBtaXNzaW5nIEZMSUNLRVJfUkVEVUNUSU9OIGNhcGFiaWxpdHkKCSAgR3N0UGhvdG9ncmFwaHkgQVBJIGNvbnRhaW5zIGZ1bmN0aW9ucyB0byBnZXQvc2V0IGZsaWNrZXIgcmVkdWN0aW9uCgkgIG1vZGUsIGJ1dCBHc3RQaG90b0NhcHMgZW51bWVyYXRpb24gZG9lc24ndCBoYXZlIGl0ZW0gZm9yIGl0LCBzbyBlbGVtZW50cwoJICBhcmUgbm90IGFibGUgdG8gcmVwb3J0IHdoZXRoZXIgdGhleSBzdXBwb3J0IHRoaXMgZmVhdHVyZSBvciBub3QuCgkgIEFsc28gYWRkIHVzZWZ1bCBHU1RfUEhPVE9HUkFQSFlfQ0FQU19BTEwgZm9yIGVhc2lseSBzZWxlY3RpbmcgYWxsCgkgIGNhcGFiaWxpdGllcyBhdCBvbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE4CgoyMDExLTA4LTAzIDEzOjM3OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3ViZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmM6CgkqIGdzdC9zdWJlbmMvZ3N0d2VidnR0ZW5jLmg6CgkgIHN1YmVuYzogQWRkIHdlYnZ0dGVuYyBlbGVtZW50CgoyMDExLTA4LTAzIDEzOjM1OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSAga2F0ZWVuYzogRml4IHVuaW5pdGlhbGl6ZWQgZXJyb3IKCjIwMTEtMDctMDkgMjM6MjI6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcmVtb3ZlIHNoYXBlX291dHB1dCBoYW5kbGluZwoKMjAxMS0wNy0wOSAyMzowNzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBSZW1vdmUgdW51c2VkIHNoYXBlX291dHB1dCBjb2RlCgoyMDExLTA3LTA5IDE4OjUzOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogQWRkIG1vcmUgcHJvcGVydGllcwoKMjAxMS0wNi0xOSAxNjowNjo0NiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBhZGQgbWluL21heHNlY3Rpb24tcGN0IG9wdGlvbgoJICBUaGlzIG9wdGlvbnMgc2hvdWxkIGJlIGdvb2QgdG8gcmVkZXVjZSBkZWNvZGUgQ1BVIGxvYWQuCgkgIGZvciBsb3dlbmQgaGFyZHdhcmU6CgkgIG1pbnNlY3Rpb24tcGN0PTE1IG1heHNlY3Rpb24tcGN0PTQwMAoJICBmb3IgaGllbmQgaHc6CgkgIG1pbnNlY3Rpb24tcGN0PTUgbWF4c2VjdGlvbi1wY3Q9ODAwCgkgIHNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc192YnJfZW5jb2RpbmdfZm9yX3Ntb290aF9wbGF5YmFja19vbl9sb3ctZW5kX2hhcmR3YXJlCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDExOjA1OjM2ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDhlbmM6IGFkZCBsYWctaW4tZnJhbWVzIG9wdGlvbi4KCSAgVGhpcyBvcHRpb24gc2V0IG1heGltdW0gb2YgZnJhbWVzIGNvZGVjIHNob3VsZCByZW1lbWJlciwKCSAgdG8gbWFrZSBiZXR0ZXIgcHJlZGlrdGlvbiBmb3IgYWx0LXJlZiBmcmFtZXMuCgkgIFNlZSBleGFtcGxlOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy90b29scy9lbmNvZGVyLXBhcmFtZXRlcnMvIzItcGFzc19iZXN0X3F1YWxpdHlfdmJyX2VuY29kaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTE5IDA3OjE2OjU3ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVzZSBtdWx0aXBhc3MuY2FjaGUgZmlsZSBuYW1lIGFzIGRlZmF1bHQgZm9yIG11bHRpcGFzcyBtb2RlLgoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wOSAxNjowNTowNyAtMDQwMCAgTXVrdWwgTWFqbXVkYXIgPG11a3VsLm1ham11ZGFyQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBBZGQgcHJvcGVydGllcyBmb3IgVkJSIGVuY29kaW5nCgkgIFByb3BlcnR5ICJxdWFsaXR5IiB0byBzcGVjaWZ5IFZCUiBxdWFudGl6ZXIgcXVhbGl0eSBhbmQgcHJvcGVydHkKCSAgImJydHlwZSIgdG8gY2hvb3NlIGJldHdlZW4gQUJSIGFuZCBWQlIgZW5jb2RpbmcuIFRoZSBkZWZhdWx0IGlzIG5vdyBWQlIKCSAgd2l0aCBxdWFsaXR5PTEwMC4KCSAgRml4ZXMgYnVnICM2NTQzMTAuCgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNy0wNyAxNjowNzo1MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgYXVkaW8taW5wdXQgcHJvcGVydHkKCjIwMTEtMDctMTggMTU6MjU6MDUgKzEwMDAgIFRpbSAnbWl0aHJvJyBBbnNlbGwgPG1pdGhyb0BtaXRoaXMuY29tPgoKCSogZ3N0L2ludGVyL01ha2VmaWxlLmFtOgoJICBpbnRlcjogQWRkaW5nIG1pc3NpbmcgYmFzZSByZXF1aXJlbWVudHMuCgkgIEZpeGVzOiAjNjU0ODA2LgoKMjAxMS0wOC0wMyAxNToyMToxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBtb3JlIG1pc3NpbmcgcGx1Z2luIGNoZWNrcwoJICBTcHJpbmtsZSBzb21lIG1vcmUgbWlzc2luZyBwbHVnaW4gY2hlY2tzIGFyb3VuZAoKMjAxMS0wOC0wMyAxMzoxMjoxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBhIG1pc3NpbmcgZWxlbWVudCBjaGVjayBhbmQgcmVtb3ZlIFRPRE8KCSAgQWRkIG1pc3NpbmcgZWxlbWVudCBjaGVja3MgZm9yIGVsZW1lbnRzIGNyZWF0ZWQgYXQgX2luaXQKCSAgZnVuY3Rpb25zIGFuZCByZW1vdmUgVE9ETyBhYm91dCBpdAoKMjAxMS0wOC0wMyAxMzo1NzowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIHJlZHVuZGFudCBpbWFnZS1xdWV1ZQoJICBFbmNvZGViaW4gaXMgdXNlZCBmb3IgaW1hZ2UgZW5jb2RpbmcgYW5kIGl0IGFscmVhZHkgY29udGFpbnMKCSAgYSBxdWV1ZSwgc28gd2UgY2FuIHJlbW92ZSBjYW1lcmFiaW4yIGltYWdlIHF1ZXVlLgoKMjAxMS0wOC0wMyAxMzo0MjoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdXAgY29weXJpZ2h0cwoKMjAxMS0wNi0yOSAxNToxNDoyOSArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGdzdC1jYW1lcmFiaW4yLXRlc3Q6IEFkZCBhdWRpbyBjYXB0dXJlIGNhcHMgb3B0aW9uCgoyMDExLTA4LTAyIDE1OjE0OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IE1ha2UgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIGZyYW1lcyB0aHJlYWRzYWZlCgoyMDExLTA4LTAyIDIzOjUzOjA4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgYmF5ZXI6IGJhY2sgYXJvdW5kIGNvbXBpbGVyIHdhcm5pbmdzIGluIG9yYy1nZW5lcmF0ZWQgY29kZSBieSBkaXNhYmxpbmcgLVdlcnJvciBmb3IgdGhpcyBwbHVnaW4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MjY3NwoKMjAxMS0wOC0wMiAyMjo1NzoxNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3RfZWxlbWVudF9wcmludF9wcm9wZXJ0aWVzLmM6CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9nc3Rtb3Rpb25jZWxsc19keW5hbWljX3Rlc3QuYzoKCSAgRml4IHNvbWUgbW9yZSB2YXJpYWJsZS1zZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA4LTAyIDIxOjE0OjA2ICswMjAwICBSb2JlcnQgSm9iYmFneSA8am9iYmFneS5yb2JlcnRAZ21haWwuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGVzOiBGaXggY2FtZXJhYmluMiBHX09CSkVDVCBjYXN0CgkgIEFkZHMgbWlzc2luZyBjYXN0IHRvIGZpeCBidWlsZCBlcnJvci4KCjIwMTEtMDgtMDIgMTA6NDk6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBXb3JrYXJvdW5kIGZvciByaW5nYnVmZmVyIG5vdCByZXN5bmNpbmcgb24gUkVBRFkKCSAgQWRkIGEgd29ya2Fyb3VuZCB0byBmaXggdGltZXN0YW1wcyBtZWFud2hpbGUgYnVnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDgzNTkgaXMgZml4ZWQuCgoyMDExLTA3LTMwIDE2OjEyOjMxICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICBjYW1lcmFiaW4yIHJlbW92ZSByZWR1bmRhbnQgdmlld2ZpbmRlci1jb2xvcnNwYWNlIGFuZCB2aWV3ZmluZGVyLXNjYWxlCgkgIGNhbXJhYmluMiBjb25uZWN0cyBhIHZpZXdmaW5kZXJiaW4gb24gInZmc3JjIi4gdmlld2ZpbmRlcmJpbiBpcyBtYWRlIG9mOgoJICB2ZmJpbi1jc3AgISB2ZmJpbi12aWRlb3NjYWxlICEgdmlkZW9zaW5rLgoJICB3ZSBzaG91bGQgZWl0aGVyIHJlbW92ZSBjc3AvdmlkZW9zY2FsZSBmcm9tIHdyYXBwZXJjYW1lcmFiaW5zcmMgKGFzCgkgIGRvbmUgaW4gdGhpcyBwYXRjaCkgb3Igd2Ugc2hvdWxkIGdldCByaWQgb2Ygdmlld2ZpbmRlcmJpbiBhbHRvZ2V0aGVyLgoKMjAxMS0wNy0yNiAwNjowNDo0MSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IHJlbW92ZSB1bnVzZWQgZ2V0X2FsbG93ZWRfaW5wdXRfY2FwcwoJICBUaGUgdXNlIG9mIHRoaXMgbWV0aG9kIHdhcyByZW1vdmVkIGluOgoJICBjb21taXQgNTM5ZjEwZjRkOTllMWEwNzQ4ODEyODkyNTRkMWQxMDkxNTljZjllNQoJICBiYXNlY2FtZXJhc3JjOiBNb3JlIGNsZWFudXAKCSAgVGhlIGNvZGUgZnJvbSB3cmFwcGVyY2FtZXJhYmluc3JjIGlzIGZyb20gdjRsMmNhbWVyYXNyYyBidXQgaXMgdW51c2VkOgoJICBnZXRfYWxsb3dlZF9pbnB1dF9jYXBzIGlzIG5vdCBjYWxsZWQgYW55d2hlcmUuCgoyMDExLTA3LTI2IDA1OjU5OjA5ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IGRvbid0IHVzZSBjbGFzcyBvZmZzZXRzIGZvciBzdGFydC9zdG9wLWNhcHR1cmUgc2lnbmFsIGhhbmRsZXJzCgoyMDExLTA3LTI2IDA1OjQzOjM0ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBkb2N1bWVudCB3aHkgd2Ugc2V0IHByZXZpZXcgdG8gUExBWUlORwoKMjAxMS0wNy0yNiAwNDo0Mjo0OSArMDMwMCAgUmFsdWNhIEVsZW5hIFBvZGl1YyA8cmFsdWNhZWxlbmExOTg1QGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogZG9jdW1lbnQgY2FsbGJhY2tzCgkgIE5vdGUgZm9yIGVhY2ggY2FsbGJhY2s6CgkgIC0gd2hlbiBpdCBpcyBjYWxsZWQsCgkgIC0gd2hldGhlciBpdCBpcyBtYW5kYXRvcnkgb3Igb3B0aW9uYWwuCgoyMDExLTA3LTI2IDAzOjA0OjQ3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5jOgoJICBiYXNlY2FtZXJhYmluc3JjOiBwcmV2aWV3OiByZW1vdmUgdW51c2VkIG5ld19wcmVyb2xsIGNhbGxiYWNrCgoyMDExLTA3LTI4IDEzOjE4OjU3IC0wMzAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFN5bmNocm9uaXplIGNsb2NrIGFuZCBiYXNlIHRpbWUgdG8gYXVkaW9zcmMKCSAgV2hlbiBhdWRpbyBzb3VyY2UgZ29lcyB0byBSRUFEWSBpdCBsb3NlcyBpdHMgY2xvY2sgYW5kIGJhc2UgdGltZSwKCSAgdGhpcyBwYXRjaCBzZXRzIHRoZW0gYmFjayBhZnRlciBicmluZ2luZyB0aGUgYXVkaW8gc291cmNlIGJhY2sgdG8gUEFVU0VELgoKMjAxMS0wNy0yOCAxMjo1NjoxMiAtMDMwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBQcmV2ZW50IGF1ZGlvIHNvdXJjZSBmcm9tIHByb3ZpZGluZyBjbG9jawoJICBUaGUgYXVkaW8gc291cmNlIGluc2lkZSBjYW1lcmFiaW4yIGlzIHB1dCB0byBSRUFEWSBhbmQgYmFjayB0bwoJICBQTEFZSU5HIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSwgY2F1c2luZyB0aGUgcGlwZWxpbmUgdG8gbG9zZSBpdHMKCSAgY2xvY2suIEFzIGNhbWVyYWJpbjIgaXNuJ3QgcHV0IHRvIFBBVVNFRC0+UExBWUlORyBhZ2FpbiBkdXJpbmcKCSAgdGhpcywgYSBuZXcgY2xvY2sgaXNuJ3Qgc2VsZWN0ZWQgZm9yIGVsZW1lbnRzLgoKMjAxMS0wNi0zMCAxMTowOTo0NCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBBZGQgZmxhZ3MgcHJvcCB0byB0b2dnbGUgZW5jb2RlYmluIGNvbnZlcnNpb24gZWxlbWVudHMKCSAgQSBmbGFncyBwcm9wZXJ0eSBoYXMgYmVlbiBhZGRlZCB0byBlbmNvZGViaW4gdG8gdG9nZ2xlIHdoZXRoZXIgdGhlCgkgIGNvbnZlcnNpb24gZWxlbWVudHMgKGZmbXBlZ2NvbG9yc3BhY2UsIHZpZGVvc2NhbGUsIGF1ZGlvY29udmVydCwKCSAgYXVkaW9yZXNhbXBsZSwgYXVkaW9yYXRlKSBhcmUgY3JlYXRlZCBhbmQgbGlua2VkIGludG8gdGhlIGFwcHJvcHJpYXRlCgkgIGJyYW5jaGVzIG9mIGVuY29kZWJpbi4KCSAgTm90IGluY2x1ZGluZyB0aGVzZSBlbGVtZW50cyBhdm9pZHMgc29tZSBzbG93IGNhcHMgbmVnb3RpYXRpb24gYW5kCgkgIGFsbG93cyB0aGUgZmlyc3QgYnVmZmVycyB0byBmbG93IHRocm91Z2ggZW5jb2RlYmluIG11Y2ggbW9yZSBxdWlja2x5LgoJICBIb3dldmVyLCBpdCBpbXBvc2VzIHRoYXQgdGhlIHVuY29tcHJlc3NlZCBpbnB1dCBpcyBhcHByb3ByaWF0ZSBmb3IgdGhlCgkgIHRhcmdldCBwcm9maWxlIGFuZCBlbGVtZW50cyBzZWxlY3RlZCB0byBtZWV0IHRoYXQgcHJvZmlsZS4KCjIwMTEtMDYtMjkgMTU6MzU6NDIgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUHJlcGFyZSBhdWRpb3NyYyBiZWZvcmUgc3RhcnQtY2FwdHVyZQoJICBJZiB3ZSBicmluZyB0aGUgYXVkaW8gc291cmNlIHVwIHRvIHRoZSBQQVVTRUQgc3RhdGUgYmVmb3JlIGVtaXR0aW5nIHRoZQoJICBzdGFydC1jYXB0dXJlIHNpZ25hbCB0byB0aGUgY2FtZXJhIHNvdXJjZSwgd2hlbiBzdWJlcXVlbnRseSB0YWtpbmcgdGhlCgkgIGF1ZGlvIHNvdXJjZSB0byB0aGUgUExBWUlORyBzdGF0ZSwgaXQgd2lsbCBiZWdpbiBjYXB0dXJlIG1vcmUgcXVpY2tseS4KCjIwMTEtMDYtMjkgMTU6MTg6NDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZW1vdmUgcmVkdW5kYW50IGVsZW1lbnRzCgkgIFNpbmNlIGNhbWVyYWJpbjIgaGFzIHN3aXRjaGVkIHRvIGVuY29kZWJpbiBhbmQgZW5jb2RlYmluIGhhcyBpdHMgb3duCgkgIHF1ZXVlcyBhbmQgY29udmVyc2lvbiBlbGVtZW50cywgdGhvc2UgcHJlY2VkaW5nIGVuY29kZWJpbiBhcmUgbm8gbG9uZ2VyCgkgIG5lY2Vzc2FyeSBhbmQgYXMgc3VjaCBjYW4gYmUgcmVtb3ZlZC4KCjIwMTEtMDgtMDIgMTI6MjQ6MDEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IERlZmluZSBsaXN0IG9mIG5vbi1wb3J0ZWQgcGx1Z2lucwoKMjAxMS0wOC0wMiAxMTo0Mjo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc3VibW9kdWxlCgoyMDExLTA4LTAxIDE4OjQ5OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFRha2UgaW50byBhY2NvdW50IHVwc3RyZWFtIG5ld3NlZ21lbnQgZXZlbnRzCgkgIElmIHRoZSBpbmNvbWluZyBuZXdzZWdtZW50IGV2ZW50IHdhcyBpbiB0aW1lLCB1c2UgdGhhdCBwb3NpdGlvbiB2YWx1ZQoJICBmb3IgdGhlIGRvd25zdHJlYW0gbmV3c2VnbWVudHMuCgoyMDExLTA4LTAxIDE4OjQ4OjAzICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBobHNkZW11eDogU2VuZCBORVdTRUdNRU5UIGV2ZW50cwoJICBQcmV2aW91c2x5IGhsc2RlbXV4IHdhc24ndCBzZW5kaW5nIG91dCBhbnkgbmV3c2VnbWVudC4KCSAgSGVyZSB3ZSBwdXNoIGEgR1NUX0ZPUk1BVF9USU1FIG5ld3NlZ21lbnQsIGFuZCB3aGVuZXZlciBwb3NzaWJsZSB3ZQoJICB0cnkgdG8gaW5kaWNhdGUgdGhlIHByb3BlciBzdGFydCB0aW1lLgoJICBUaGlzIGFsbG93cyBkb3duc3RyZWFtIGVsZW1lbnRzIHRvIHJlbGF5IHRoZSBzdGFydC90aW1lIHZhbHVlcyBwcm9wZXJseQoJICB0byB0aGUgc2lua3MsIGFsbG93aW5nIGJldHRlciBzdHJlYW0gc3dpdGNoaW5nLgoKMjAxMS0wOC0wMSAxNTo0NjoxMiArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBSZW1vdmUgcHJvZ3JhbXMgb24gRU9TCgkgIEFsbG93cyBzdWJjbGFzc2VzIHRvIHByb3Blcmx5IGZsdXNoIG91dCBwZW5kaW5nIGRhdGEuCgoyMDExLTA4LTAxIDEwOjU0OjE2ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFJlZmFjdG9yIHN0cmVhbS9wcm9ncmFtIHJlbW92YWwKCSAgVGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIHdhcyBjYWxsZWQgYmVmb3JlIHN0cmVhbV9yZW1vdmVkIHZtZXRob2QKCSAgd2FzIGJlaW5nIGNhbGxlZC4gU2luY2Ugd2Ugb25seSBkaWQgc3RyZWFtLXJlbGF0ZWQgb3BlcmF0aW9ucyBpbiB0aGVyZSwKCSAgd2UganVzdCByZW1vdmUgdGhlIHByb2dyYW1fc3RvcHBlZCB2bWV0aG9kIGFuZCBkbyBldmVyeXRoaW5nIGluIHRoZQoJICBzdHJlYW1fcmVtb3ZlZCBvbmUuCgkgIEFsc28sIG1ha2Ugc3VyZSB3ZSBmbHVzaCBvdXQgYWxsIHBlbmRpbmcgZGF0YSBiZWZvcmUgc2VuZGluZyBFT1MuCgoyMDExLTA3LTI4IDE4OjIxOjA0IC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBtcGVndHNiYXNlOiBQcmV2ZW50IHN0YWNrIGdhcmRlbmluZyBieSB1c2luZyB0aGUgcmlnaHQgdHlwZQoJICBzdHJlYW1fdHlwZSBpcyBzdG9yZWQgYXMgZ3VpbnQgaW5zaWRlIHRoZSBHc3RTdHJ1Y3R1cmUgYnV0IHdhcyByZXRyZWl2ZWQKCSAgdXNpbmcgdmFsaXN0IHdpdGggYSBwb2ludGVyIHRvIGd1aW50MTYuIFRoaXMgd291bGQgY2F1c2Ugc3RhY2sgZ2FyZGVuaW5nCgkgIHdoZW4gY29kZSBpcyBjb21waWxlZCB3aXRob3V0IG9wdGltaXNhdGlvbiAoZS5nLiBpbiAtTzAgdGhlIGNvbXBpbGVyIHdvbnQKCSAgcGFkIHRoZSBzdGFjayB0byBvcHRpbWlzZSBvdXQgcmVxdWlyZWQgbWFzaykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTU1NDAKCjIwMTEtMDctMjkgMjE6MjY6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICB0ZXN0czogZml4IGNvbXBpbGVyIHdhcm5pbmcgaW4gZmFhZCB1bml0IHRlc3QKCjIwMTEtMDctMjkgMTk6NDM6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzbXV4OiB1c2Ugbm93LXB1YmxpYyBHc3RUYWdNdXggYmFzZSBjbGFzcyBmcm9tIGxpYmdzdHRhZwoKMjAxMS0wNy0yOCAyMDozODozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICB0YWdtdXg6IHJlcXVpcmUgc3ViY2xhc3MgdG8gaW5zdGFsbCBzaW5rIHBhZCB0ZW1wbGF0ZQoJICBSZXF1aXJlIHRoZSBzdWJjbGFzcyB0byBpbnN0YWxsIGJvdGggc291cmNlIGFuZCBzaW5rIHBhZAoJICB0ZW1wbGF0ZXMuIEFsc28sIHByaW50IHNvbWUgd2FybmluZ3MgaWYgdGhlIHN1YmNsYXNzIGRvZXNuJ3QKCSAgZG8gdGhhdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU1NTQzNwoKMjAxMS0wNy0yNyAyMjozNDoyMyArMDIwMCAgUm9iZXJ0IEpvYmJhZ3kgPGpvYmJhZ3kucm9iZXJ0QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL29wZW5jdi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuYzoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdF9lbGVtZW50X3ByaW50X3Byb3BlcnRpZXMuaDoKCSogdGVzdHMvZXhhbXBsZXMvb3BlbmN2L2dzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdC5jOgoJKiB0ZXN0cy9leGFtcGxlcy9vcGVuY3YvZ3N0bW90aW9uY2VsbHNfZHluYW1pY190ZXN0Lmg6CgkgIGdzdG1vdGlvbmNlbGxzX2R5bmFtaWNfdGVzdDogdGVzdCB0b29sIHdoYXQgY2FuIHRvIGRvIGR5bmFtaWMgY2hhbmdlIHByb3BlcnRpZXMKCjIwMTEtMDctMjcgMTg6NTg6MTUgKzAyMDAgIFJvYmVydCBKb2JiYWd5IDxqb2JiYWd5LnJvYmVydEBnbWFpbC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01vdGlvbkNlbGxzLmNwcDoKCSogZXh0L29wZW5jdi9Nb3Rpb25DZWxscy5oOgoJKiBleHQvb3BlbmN2L2dzdG1vdGlvbmNlbGxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0bW90aW9uY2VsbHMuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmNwcDoKCSogZXh0L29wZW5jdi9tb3Rpb25jZWxsc193cmFwcGVyLmg6CgkgIG1vdGlvbmNlbGxzOiBuZXcgZWxlbWVudCB0byBkZXRlY3QgYXJlYXMgb2YgbW90aW9uCgoyMDExLTA3LTI2IDE3OjAyOjA1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5oOgoJICBoc2xkZW11eDogSGFuZGxlIGNoYW5nZSBvZiBtZWRpYSB0eXBlcwoJICBXaGVuIHN3aXRjaGluZyBiaXRyYXRlcywgd2UgbWlnaHQgZW5kIHVwIHN3aXRjaGluZyB0byBhIGRpZmZlcmVudAoJICBtZWRpYS10eXBlIChsaWtlIGZyb20gYWFjIHRvL2Zyb20gbXBlZy10cykuCgkgIEZvciB0aGlzIHN3aXRjaCB0byBiZWhhdmUgcHJvcGVybHkgaW4gZGVjb2RlYmluMiwgdGhpcyBwYXRjaCBhZGRzOgoJICAqIGR5bmFtaWMgc291cmNlIHBhZHMgKHdoaWNoIHdpbGwgYmUgYWRkZWQvcmVtb3ZlZCB3aGVuZXZlciBhIHN0cmVhbQoJICBtZWRpYSB0eXBlIGNoYW5nZXMKCSAgKiByZS1jaGVja2luZyB0aGUgZnJhZ21lbnQgbWVkaWEgdHlwZSB3aGVuZXZlciB3ZSBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQKCSAgcGxheWxpc3QKCjIwMTEtMDctMjYgMTM6NDc6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHBhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG9sZCBjb21waWxlcnMKCjIwMTEtMDctMjcgMTE6MDI6NDEgKzAxMDAgIE9sYWYgU2VpYmVydCA8cmhpYWx0b0BhemVub21laS5rbnVmZmVsLm5ldD4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCB3cm9uZyB1c2FnZSBvZiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyb3MgYW5kIGNvbXBpbGF0aW9uIG9uIE5ldEJTRAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU1MzE5CgoyMDExLTA3LTI3IDEwOjU2OjE1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCSAgZ3N0cGNhcHBhcnNlLmM6IEluIGZ1bmN0aW9uICdnc3RfcGNhcF9wYXJzZV9jaGFpbic6CgkgIGdzdHBjYXBwYXJzZS5jOjM4MTo2OiBlcnJvcjogJ2V0aF90eXBlJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24gWy1XZXJyb3I9dW5pbml0aWFsaXplZF0KCSAgZ3N0cGNhcHBhcnNlLmM6MzU0OjExOiBub3RlOiAnZXRoX3R5cGUnIHdhcyBkZWNsYXJlZCBoZXJlCgoyMDExLTA3LTI2IDE5OjExOjE2ICswMzAwICBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogZml4IFNMTCBwYXJzaW5nCgkgIFRoZSBjdXJyZW50IGNvZGUgaXMgbm90IGNoZWNraW5nIGZvciBldGhlcm5ldCB0eXBlLCBhcyBpdCdzIHN1cHBvc2VkIHRvLAoJICBidXQgbGluayBsYXllciBkZXZpY2UgdHlwZSBhbmQgaXQncyBoYXJkLWNvZGVkIHRvIG9ubHkgYWNjZXB0IGR1bXBzIGZyb20KCSAgZXRoZXJuZXQgKEFSUEhSRF9FVEhFUjsgMSkuIFdlIGRvbid0IGNhcmUgd2hlcmUgdGhlIGR1bXAgd2FzIGZldGNoZWQKCSAgZnJvbSAod2xhbiwgM0csIGV0Yy4pCgkgIFdoYXQgd2UgY2FyZSBhYm91dCBpcyB0aGUgdGhhdCB0aGUgZXRoZXJuZXQgdHlwZSBpcyBJUCAoRVRIRVJORVRfSVA7CgkgIDB4ODAwKSwgd2hpY2ggaXMgY2xlYXJseSBmaWVsZCAxNDoKCSAgaHR0cDovL3d3dy50Y3BkdW1wLm9yZy9wY2FwM19tYW4uaHRtbAoJICBBbmQgZG8gYSBiaXQgb2YgY2xlYW51cC4KCSAgU2lnbmVkLW9mZi1ieTogRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoyMDExLTA3LTIxIDEzOjI2OjU1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogRml4IHN0cmVhbS9wYWQgYWN0aXZhdGlvbiBvcmRlcgoJICBXZSBmaXJzdCBhY3RpdmF0ZSBuZXcgc3RyZWFtcyBiZWZvcmUgc2h1dHRpbmcgZG93biBvbGQgb25lcy4KCSAgV2UgZW1pdCBuby1tb3JlLXBhZHMgYWZ0ZXIgd2UgYWRkIG5ldyBzdHJlYW1zIGFuZCBlbWl0IEVPUyBiZWZvcmUKCSAgcmVtb3Zpbmcgb2xkIG9uZXMuCgkgIEFsc28gY2xlYW51cC9yZWZhY3RvciBhIGJpdCBtb3JlIG9mIHRoZSBjb2RlIGFjY29yZGluZ2x5CgoyMDExLTA3LTIyIDEyOjI2OjA3ICswMzAwICBSYWx1Y2EgRWxlbmEgUG9kaXVjIDxyYWx1Y2FlbGVuYTE5ODVAZ21haWwuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogYWRkIGxvY2F0aW9uPU5VTEwgZG9jcyB0byBQT1JUSU5HCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE5MTgKCjIwMTEtMDctMjIgMTE6Mzg6MzAgKzAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJZiBsb2NhdGlvbiBpcyBOVUxMIGRvIG5vdCBlbmNvZGUgaW1hZ2VzCgkgIFVzaW5nIGEgTlVMTCBzdHJpbmcgZm9yIGxvY2F0aW9uIG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0aW9uCgkgIGRvZXNuJ3Qgd2FudCB0aGUgaW1hZ2UgdG8gYmUgZW5jb2RlZCwgYnV0IHdhbnRzIHRvIHJlY2VpdmUKCSAgdGhlIHByZXZpZXcgaW1hZ2UuIChPbmx5IHdvcmtzIGZvciBpbWFnZSBjYXB0dXJlcykKCSAgVXNlZnVsIGZvciBhcHBsaWNhdGlvbiB0aGF0IHdhbnQgdGhlIGNhcHR1cmUgaW4gbWVtb3J5IG9ubHksIGxpa2UKCSAgZGlzcGxheWluZyB0byB0aGUgdXNlciBiZWZvcmUgaXQgY2hvc2VzIHRvIGVuY29kZSBvciB0YWtlIGFub3RoZXIKCSAgcGljdHVyZSBpbiBhdmF0YXIgY2FwdHVyaW5nIHNjZW5hcmlvcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTkxOAoKMjAxMS0wNy0yMSAwODowNDoxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVcGRhdGUgZm9yIEdzdEJhc2VWaWRlb0VuY29kZXI6OmZpbmlzaCgpIHNpZ25hdHVyZSBjaGFuZ2UKCjIwMTEtMDctMjEgMDg6MDM6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBkaXJhY2VuYzogVXBkYXRlIGZvciBHc3RCYXNlVmlkZW9FbmNvZGVyOjpmaW5pc2goKSBzaWduYXR1cmUgY2hhbmdlCgoyMDExLTA3LTIxIDA1OjQ0OjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFsbG93IGZpbmlzaGluZyBvZiBmcmFtZXMgd2l0aCBubyBzcmNfYnVmZmVyIHRvIGRyb3AvZnJlZSB0aGUgR3N0VmlkZW9GcmFtZQoKMjAxMS0wNy0yMCAwODozOTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBPbmx5IGdldCBjYXBzIGZyb20gdGhlIHN1YmNsYXNzIGlmIHRoZXkgd2VyZSBub3Qgc2V0IHlldCBieSB0aGUgc3ViY2xhc3MKCjIwMTEtMDctMjAgMDk6MjU6MjggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogRGVsYXkgc2VuZGluZyBvZiBzZXJpYWxpemVkIHNpbmsgZXZlbnRzIHVudGlsIGZpbmlzaF9mcmFtZSgpCgoyMDExLTA3LTIwIDA5OjA5OjI1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IEFkZCA6OnJlc2V0IHZmdW5jIGFuZCBoYW5kbGUgOjpyZXNldC86OmZpbmlzaCB0aGUgc2FtZSB3YXkgYXMgaW4gdGhlIGRlY29kZXIKCjIwMTEtMDctMjAgMTk6MTY6MDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3Blc3BhcnNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5oOgoJICBwZXNwYXJzZTogRml4IHN0dWZmaW5nIGJ5dGUgaGFuZGxpbmcKCSAgV2UgaW4gZmFjdCBnZXQgdGhlIHNpemUgb2YgdGhlIGhlYWRlciAoaW5jbHVkaW5nIHN0dWZmaW5nIGJ5dGVzKSwgdGhlcmVmb3JlCgkgIHVzZSB0aGF0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIHNraXAgMHhmZiBieXRlcyBvdXJzZWx2ZXMgc2luY2Ugc29tZSBtZWRpYQoJICBzdHJlYW1zIGRvIHN0YXJ0IHdpdGggMHhmZiAobGlrZSBtcGVnIGF1ZGlvJ3MgaW5pdGlhbCAweGZmZikuCgoyMDExLTA3LTE4IDE0OjUzOjMxIC0wNDAwICBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgRml4IGNvbXBpbGF0aW9uIGZvciB1bnVzZWQgYnV0IG5vdCBzZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1NDU3MgoKMjAxMS0wNy0yMCAwODo1Nzo0NyArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xOSAxMjo1MDo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBVc2UgYSB0ZW1wb3JhcnkgR3N0VmlkZW9TdGF0ZSB1bnRpbCB0aGUgc3ViY2xhc3MgYWNjZXB0ZWQgdGhlIGNhcHMKCSAgQWxzbyBzdG9yZSB0aGUgY2FwcyBpbiB0aGUgR3N0VmlkZW9TdGF0ZSBhbmQgYXNzdW1lIGEgUEFSIG9mIDEvMSBpbnN0ZWFkCgkgIG9mIDAvMSBpZiBubyBQQVIgaXMgc3BlY2lmaWVkIGluIHRoZSBjYXBzLgoKMjAxMS0wNy0xOSAwOTozNjo1MyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2UvdHNkZW11eDogQWRkIG1vcmUgY29tbWVudHMgYW5kIHJlbW92YWwgdW51c2VkIHZhcmlhYmxlCgoyMDExLTA3LTE5IDA5OjM2OjEwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogQXZvaWQgZG91YmxlIHJlbW92YWwgb2Ygc3RyZWFtcwoJICBUaGlzIGNhbiBoYXBwZW4gaWYgdGhlIFBDUiBwaWQgaXMgdGhlIHNhbWUgYXMgYSBhdWRpby92aWRlbyBQSUQuCgoyMDExLTA3LTE5IDA5OjM0OjM3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzYmFzZTogQWRkIGEgR0xpc3Qgb2Ygc3RyZWFtcyB0byB0aGUgcHJvZ3JhbQoJICBBbGxvd3MgZmFzdGVyIGl0ZXJhdGlvbiBvZiBhbGwgcHJvZ3JhbSBzdHJlYW1zLgoJICBXZSBzdGlsbCBrZWVwIHRoZSBBcnJheSB0byBhbGxvdyBmYXN0IHJldHJpZXZhbCBvZiBzdHJlYW0gYnkgUElELgoKMjAxMS0wNy0xOSAwODo0NTo1MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2Jhc2U6IFVzZSBhIGJpdCBhcnJheSBpbnN0ZWFkIG9mIGFuIGFycmF5IG9mIGdib29sZWFuCgkgIE1ha2VzIGtub3dfcHNpIGFuZCBpc19wZXMgMzIgdGltZXMgc21hbGxlcgoKMjAxMS0wNy0xOSAwODozNzoyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDctMTggMTQ6MTQ6MzEgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQGludGVsLmNvbT4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZGZidmlkZW9zaW5rOiBmaXggaGFybWxlc3MgdHlwbyBpbiB2YXJpYWJsZSBpbml0aWFsaXphdGlvbgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjU0ODQwCgoyMDExLTA3LTEyIDE5OjA0OjI3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgYSBjaGVjayBtYWRlIHVzZWxlc3MgYnkgdGhlIGxhc3QgY29tbWl0CgoyMDExLTA3LTEyIDE5OjAxOjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhc3N1bWUgYnl0ZS1zdHJlYW0gaWYgc3RyZWFtLWZvcm1hdCBhbmQgY29kZWNfZGF0YSBhcmUgbWlzc2luZyBmcm9tIGlucHV0IGNhcHMKCjIwMTEtMDctMDYgMjM6MjQ6MjcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGlnbm9yZSBjb2RlY19kYXRhIGlmIHN0cmVhbS1mb3JtYXQ9Ynl0ZS1zdHJlYW0KCSAgU29tZSBlbmNvZGVycyBzZXQgY29kZWNfZGF0YSBldmVuIHdoZW4gb3V0cHV0dGluZyBieXRlLXN0cmVhbS4gQmVmb3JlIHRoaXMgcGF0Y2gKCSAgaDI2NHBhcnNlIHdvdWxkIGluY29ycmVjdGx5IGRldGVjdCBzdWNoIHN0cmVhbXMgYXMgQVZDLgoKMjAxMS0wNy0xOCAwOToxMjoxNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IFVzZSBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMTQ6MTc6MTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9wZXNwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGVzcGFyc2UuaDoKCSAgbXBlZ3RzZGVtdXg6IEFkZCBzdGFuZGFsb25lIFBFUyBwYXJzZXIKCjIwMTEtMDctMTcgMDk6NDk6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSAgbXBlZ2RlZnM6IGNsYXJpZnkgc29tZSBzdHJlYW0gaWRzCgoyMDExLTA3LTE2IDEzOjUxOjQ0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogd2hvb3BzLCB0c2RlbXV4IGlzbid0IHJlYWR5IHlldCBmb3IgcHJpbWFyeSByYW5rIDopCgoyMDExLTA3LTE2IDEzOjQ3OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguaDoKCSAgbXBlZ3RzYmFzZS90c2RlbXV4OiBDbGVhbnVwcyBhbmQgY29tbWVudHMKCjIwMTEtMDctMTYgMTM6NDQ6MDAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGaXggbmV3c2VnbWVudCBjcmVhdGlvbiBmb3IgcHVzaCBtb2RlCgkgIEFuZCBhbGwgcmVsZXZlbnQgY29tbWVudHMgdG8gd2hhdCBpdCBzaG91bGQgYmUgZG9pbmcsIHJlZmFjdG9yIGV2ZXJ5dGhpbmcKCSAgYSBiaXQuIFN0aWxsIG5vdCBwZXJmZWN0IC4uLiBidXQgYmV0dGVyLgoJICBGaXhlcyAjNjU0NjU3CgoyMDExLTA3LTE1IDEyOjA4OjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmg6CgkgIG1wZWd0c2Jhc2U6IFN0b3JlIGluY29taW5nIG5ld3NlZ21lbnRzCgoyMDExLTA3LTE1IDIwOjU3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkqIGdzdC9pZDN0YWcvZ3N0dGFnbXV4Lmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmg6CgkgIHRhZ211eDogY29uc3QtaWZ5IEdzdFRhZ0xpc3QgYXJndW1lbnQgb2YgcmVuZGVyIHZmdW5jcwoKMjAxMS0wNy0xNSAyMDozOToyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICB0YWdtdXg6IGZpeCB1cCBwcml2YXRlIGJhc2UgY2xhc3MgaGVhZGVyIHNvIGl0IGNhbiBiZSBtYWRlIHB1YmxpYwoJICBNb3ZlIHByaXZhdGUgYml0cyBpbnRvIGEgcHJpdmF0ZSBzdHJ1Y3QsIGFkZCBzb21lIHBhZGRpbmcuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NTU0MzcKCjIwMTEtMDctMTUgMTY6MTA6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBXZSBuZWVkIGNvcmUvYmFzZSBmcm9tIGdpdAoJICBVcGRhdGUgcmVxdWlyZW1lbnRzIGFmdGVyIG91dC1vZi1vcmRlciAwLjEwLjM1IHJlbGVhc2UKCjIwMTEtMDctMTMgMTc6MTU6MzYgKzAzMDAgIFJhbHVjYSBFbGVuYSBQb2RpdWMgPHJhbHVjYWVsZW5hMTk4NUBnbWFpbC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBmaXggbmFtZSBvZiAnaW1hZ2UtZG9uZScgYnVzIG1lc3NhZ2UKCSAgVXNlIHRoZSBjb3JyZWN0IGJ1cyBtZXNzYWdlIGZvciBjYW1lcmFiaW4yIGltYWdlIGRvbmUgYW5kIHJlbW92ZXMKCSAgY2hlY2sgdGhhdCBpcyBubyBsb25nZXIgbmVlZGVkIGZvciB0aGVzZSB0ZXN0cy4KCjIwMTEtMDctMTUgMTA6MDQ6NTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiByZW5hbWUgb2Zmc2V0IHByb3BlcnR5IHRvIHRzLW9mZnNldAoJICAuLi4gc28gYXMgdG8gcHJvbW90ZSBjb25zaXN0ZW5jeSB3aXRoIHNvbWUgb3RoZXIgZWxlbWVudHMgaW4gdGhlIHdpbGQuCgoyMDExLTA3LTE0IDE5OjMwOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IGZpeCBzb21lIHZhcmlhYmxlLXNldC1idXQtdW51c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTE1IDAwOjAzOjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IGFjdHVhbGx5IHNldCBzZWVuX3BhdD1UUlVFIHdoZW4gd2Ugc2VlIGEgUEFUCgoyMDExLTA2LTI2IDIwOjMyOjUzICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIG5lb25odHRwc3JjOiBpbXBsZW1lbnQgVVJJIHF1ZXJ5CgoyMDExLTA3LTE0IDIyOjA4OjU2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuaDoKCSAgbXBlZ3RzYmFzZTogU3BsaXQgdXAgd2hldGhlciB3ZSBzYXcgYSBQQVQgYW5kIGl0cyBvZmZzZXQKCSAgRml4ZXMgdGhlIGlzc3VlIHdpdGggc3RyZWFtcyB0aGF0IGRvbid0IHNldCBhbiBvZmZzZXQgb24gdGhlaXIgYnVmZmVycywKCSAgbGlrZSB0aG9zZSBjb21pbmcgZnJvbSBobHNkZW11eC4KCSAgRml4ZXMgIzY1MzQ4MQoKMjAxMS0wNy0xNCAxNzowNjozOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IHByb3Blcmx5IGFwcGx5IHRzIG9mZnNldAoKMjAxMS0wNy0xNCAxNjo1MDoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5oOgoJICBwY2FwcGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IHJlbGF0aXZlIHRpbWVzdGFtcHMsIHBvc3NpYmx5IHNoaWZ0ZWQgYnkgb2Zmc2V0CgkgIFRoYXQgaXMsIG91dHB1dCB0aW1lc3RhbXBzIGNhbiB0aGVuIGVpdGhlciBiZSB0aGUgYWJzb2x1dGUgY2FwdHVyZSB0aW1lLAoJICBvciB0aGUgcmVsYXRpdmUgY2FwdHVyZSB0aW1lICh3LnIudC4gdG8gZmlyc3Qgb3V0cHV0IGJ1ZmZlciksIG9yIHRoZSByZWxhdGl2ZQoJICBjYXB0dXJlIHRpbWUgaW5jcmVtZW50ZWQgYnkgc29tZSBvZmZzZXQuCgoyMDExLTA3LTE0IDE2OjQwOjE0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIHBjYXBwYXJzZTogYWxzbyBzdXBwb3J0IGV4dHJhY3RpbmcgdGNwIGRhdGEKCjIwMTEtMDctMTQgMTQ6Mzc6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBhZGQgc29tZSBtb3JlIHVuaXQgdGVzdCBiaW5hcmllcyB0byAuZ2l0aWdub3JlCgoyMDExLTA3LTEzIDEzOjQ0OjQxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIGRvY3M6IFJldmVydCB3cm9uZ2x5IGNvbW1pdHRlZCBjaGFuZ2VzIHRvIC5hcmdzLy5oaWVyYXJjaHkKCjIwMTEtMDctMTMgMTM6NDI6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IFJlc3RvcmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGFzIGNvbW1lbnRzCgoyMDExLTA3LTEzIDEzOjM5OjQ2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IFJlc3RvcmUgZXJyb25lb3VzbHkgcmVtb3ZlZCBkYXRhKysKCSAgQWxzbywgcHV0IGJhY2sgc29tZSB1bnVzZWQgY29kZSBpbiBjb21tZW50IGFuZCByZXBsYWNlIC8vIGNvbW1lbnRzIGJ5IC8qICovCgoyMDExLTA3LTEzIDEzOjM4OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogUmVzdG9yZSBlcnJvbmVvdXNseSByZW1vdmVkIGRhdGErKwoJICBBbHNvLCBwdXQgYmFjayBzb21lIHVudXNlZCBjb2RlIGluIGNvbW1lbnQgYW5kIHJlcGxhY2UgLy8gY29tbWVudHMgYnkgLyogKi8KCjIwMTEtMDctMTMgMTA6NDI6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZWRpbmdlcjogRml4IGNvbXBpbGF0aW9uIGFuZCBzZXQtYnV0LW5vdC11c2VkIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDExLTA3LTEzIDEwOjMzOjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWNlbmM6IEZpeCBjb21waWxhdGlvbiBieSBpbmNsdWRpbmcgdGhlIG5ldyBnc3RiYXNldmlkZW91dGlscy5oIGhlYWRlciBhbmQgZml4aW5nIHNvbWUgc2V0IGJ1dCBub3QgdXNlZCBjb21waWxlciB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxODoyMjozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGV4YW1wbGVzL2NhbWVyYWJpbjogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjIwOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTg6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBleHQvcmVzaW5kdmQvZ3N0cGVzZmlsdGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjE2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTM6NTYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5jOgoJKiBzeXMvZHZiL2NhbXNlc3Npb24uYzoKCSogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgZHZiOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MTA6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA5OjI2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSAgdHRhOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDg6MjEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpbXV4LmM6CgkgIHNkaTogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE4OjA1OjI1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTg6MDM6NTMgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IFJlamVjdCB1bmtub3duIGJpdHN0cmVhbSB2ZXJzaW9ucwoKMjAxMS0wNy0xMiAxNzo1OTo1NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHNldC1idXQtdW51c2VkIHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjU3OjQ1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGaXggc2V0LWJ1dC11bnVzZWQgd2FybmluZ3MKCjIwMTEtMDctMTIgMTc6NTY6MjUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEZpeCBzZXQtYnV0LXVudXNlZCB3YXJuaW5ncwoKMjAxMS0wNy0xMiAxNzo1MzozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IHVudXNlZC1idXQtc2V0IHdhcm5pbmdzCgoyMDExLTA3LTEyIDE3OjUwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBGaXggdW51c2VkLWJ1dC1zZXQgd2FybmluZ3MKCjIwMTEtMDctMTIgMDE6MTg6MTYgKzA1MzAgIFNhbWVlciBOYWlrIDxzYW1lZXIuc3Vic2NyaXB0aW9uc0BkYW1hZ2VoZWFkLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IHNlZ2ZhdWx0IGlmIGdzdF9jb2xsZWN0X3BhZHNfcG9wICgpIHJldHVybnMgbm8gYnVmZmVyCgkgIEluIG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0gKCkgY2FsbCBpZiB0aGUgZ3N0X2NvbGxlY3RfcGFkc19wb3AgKCkgY2FsbAoJICByZXR1cm5zIG5vIGJ1ZmZlciAoTlVMTCksIHRoZSBwbHVnaW4gU2VnRmF1bHRzIGluIHRoZSBnc3RfYnVmZmVyX3VucmVmIGNhbGwuCgkgIFRvIGZpeCB0aGlzIHdlIGNoZWNrIGlmIGEgdmFsaWQgYnVmZmVyIGlzIHJldHVybmVkIGJlZm9yZSBjYWxsaW5nCgkgIGdzdF9idWZmZXJfdW5yZWYgKCkuCgkgIEZpeGVzIGJ1ZyAjNjU0NDE2LgoKMjAxMS0wNy0xMSAxMjo1OTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBGaXJzdCBpbmZvcm0gc3ViY2xhc3MgYWJvdXQgcmVzZXR0aW5nIGJlZm9yZSByZXNldHRpbmcvZnJlZWluZyBhbGwgaW50ZXJuYWwgc3RhdGUKCSAgVGhlIHN1YmNsYXNzIG1pZ2h0IHdhbnQgdG8gYWNjZXNzIHRoZSBvbGQgc3RhdGUuCgoyMDExLTA3LTExIDEyOjM2OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRyYWNrIHByZXNlbnQgcG9zaXRpb24gb24gZGlzY29udCBiZWZvcmUgcmVzZXR0aW5nIGl0CgoyMDExLTA3LTExIDExOjUyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IEFsc28gcHJvdGVjdCB0aGUgbGlzdCBvZiBwZW5kaW5nIGZyYW1lcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIHdoZW4gcHVzaGluZyBhbGwgcGVuZGluZ3MgZXZlbnRzCgoyMDExLTA3LTExIDExOjI4OjQwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvY29kZWM6IFByb3RlY3QgYWNjZXNzIHRvIHRoZSBsaXN0IG9mIHBlbmRpbmcgZnJhbWVzIHdpdGggdGhlIG9iamVjdCBsb2NrCgkgIFRoaXMgaXMgcmVxdWlyZWQgaWYgOjpmaW5pc2hfZnJhbWUoKSBhbmQgYWxsIGJ1ZmZlciBvdXRwdXQgaGFwcGVucwoJICBvbiBhIGRpZmZlcmVudCB0aHJlYWQgdGhhbiB0aGUgc2lua3BhZCBzdHJlYW1pbmcgdGhyZWFkLgoKMjAxMS0wNy0xMSAwOTozNToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBTZXQgdGhlIGNvcnJlY3QgbGlzdHMgdG8gTlVMTCBhZnRlciBmcmVlaW5nCgoyMDExLTA3LTExIDA4OjU0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFdvcmsgd2l0aCBhIGNvcHkgb2YgdGhlIEdzdFZpZGVvU3RhdGUgaW4gc2V0Y2FwcyB1bnRpbCB0aGUgY2FwcyBhcmUgYWNjZXB0ZWQKCSAgQWxzbyBmaXggYSByZWZjb3VudCBwcm9ibGVtIHdpdGggdGhlIGNvZGVjX2RhdGEuCgoyMDExLTA3LTA5IDExOjQwOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBNb3ZlIHRoZSB1dGlscyBmcm9tIHRoZSBjb2RlYyBoZWFkZXIgdG8gaXRzIG93biBoZWFkZXIKCjIwMTEtMDctMDkgMTE6MzE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBVc2UgZGVzdHJveSBub3RpZnkgdG8gZnJlZSB0aGUgY29kZXIgaG9vawoKMjAxMS0wNy0wOSAxMTowOToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBVc2UgR1NsaWNlIGZvciBhbGxvY2F0aW5nIEdzdFZpZGVvRnJhbWUgYW5kIGRvbid0IGR1cGxpY2F0ZSBjb2RlIGluIHRoZSBkZWNvZGVyIGJhc2UgY2xhc3MKCjIwMTEtMDYtMjggMTE6NDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCByZW9yZGVyIHNlcmlhbGl6ZWQgc3JjIGV2ZW50cwoJICBBbmQgYWxsb3cgdG8gZHJvcCBFT1MgYnkgdGhlIHN1YmNsYXNzIGlmIDo6ZmluaXNoIHJldHVybnMKCSAgRFJPUFBFRC4gVGhpcyByZXF1aXJlcyB0aGF0IHRoZSBzdWJjbGFzcyBzZW5kcyBFT1MgbWFudWFsbHkgbGF0ZXIuCgkgIEZpeGVzIGJ1ZyAjNjUzNTQ0LgoKMjAxMS0wNi0yNyAwOTo0MTo0MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIHRoZSBjYXBzIHRvIHRoZSBHc3RWaWRlb1N0YXRlIGFuZCBjbGVhbiB1cCBjYXBzL2NvZGVjX2RhdGEgcHJvcGVybHkKCSAgSGF2aW5nIGFjY2VzcyB0byB0aGUgY2FwcyBpbiA6OnNldF9mb3JtYXQgY2FuIGJlIHVzZWZ1bCBpZgoJICBub24tc3RhbmRhcmQgY2FwcyBmaWVsZHMgbGlrZSB0aGUgaDI2NCBhbGlnbm1lbnQgbXVzdCBiZSBhY2Nlc3NlZC4KCjIwMTEtMDctMDkgMTA6NTc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW86IEFkZCBkZXN0cm95IG5vdGlmeSBmb3IgdGhlIGNvZGVyX2hvb2sgdG8gcHJldmVudCBtZW1vcnkgbGVha3MKCSAgRml4ZXMgYnVnICM2NTQyOTMuCgoyMDExLTA3LTA4IDExOjUyOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IFByb3Blcmx5IHJldHVybiBzZWVraW5nIGVycm9ycyBpZiB0aGUgcmVxdWVzdGVkIHBvc2l0aW9uIGNhbid0IGJlIGZvdW5kCgoyMDExLTA3LTA3IDE2OjAwOjQ0IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvaW50ZXIvLmdpdGlnbm9yZToKCSAgaW50ZXI6IGFkZCBpZ25vcmUgZmlsZSBmb3IgaW50ZXJtZWRpYXRlIGZpbGVzCgoyMDExLTA3LTA3IDE1OjU5OjA1IC0wNzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWNrbGluay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxpdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJICBkb2NzOiBhZGQgY2FtZXJhYmluMiB0byB0aGUgZG9jcyBhbmQgdXBkYXRlIHRoZSBkb2MgZmlsZXMKCjIwMTEtMDctMDcgMTU6NTU6NTkgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBtZXNzIHdpdGggY2FtZXJhYmluICgxKSBuYW1lc3BhY2UKCSAgVXNlIGFuIGV4dHJhICcyJyB0byBzdGF5IG91dCBvZiB0aGUgb2xkIG5hbWVzcGFjZS4KCjIwMTEtMDctMDcgMTE6MTE6NDIgLTA3MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgc2VjdGlvbiBmaWxlIHNvcnRlZAoKMjAxMS0wNy0wNyAxMDo1Mjo1MCAtMDcwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBpbXByb3ZlIHRoZSBkb2NzCgkgIEZpeCB0aGUgc3ludGF4LCBhZGQgbW9yZSBleHBsYW5hdGlvbiBhbmQgeHJlZiB0aGUgcHJvcGVydGllcy4KCjIwMTEtMDYtMDUgMDA6NTQ6MTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9vcHVzL01ha2VmaWxlLmFtOgoJKiBleHQvb3B1cy9nc3RvcHVzLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNkZWMuYzoKCSogZXh0L29wdXMvZ3N0b3B1c2RlYy5oOgoJKiBleHQvb3B1cy9nc3RvcHVzZW5jLmM6CgkqIGV4dC9vcHVzL2dzdG9wdXNlbmMuaDoKCSAgb3B1czogZHVwbGljYXRlIGZyb20gQ0VMVAoJICBDb3B5IHRoZSBjZWx0IHBsdWdpbiBhbmQgY29udmVydCBpdCB0byBPcHVzLiAgTW9zdGx5IHdvcmtzLgoKMjAxMS0wNy0wNiAxNTo1NjozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJICBkZWNrbGluazogSEQgbW9kZXMgYXJlIHNxdWFyZSBwaXhlbHMKCjIwMTEtMDctMDUgMTA6MTk6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgLURHU1RfVVNFX1VOU1RBQkxFX0FQSSB0byB0aGUgY29tcGlsZXIgZmxhZ3MgdG8gYXZvaWQgd2FybmluZ3MKCjIwMTEtMDctMDQgMTY6MTg6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5oOgoJICBkaXJhY3BhcnNlOiBtYWtlIGRpcmFjcGFyc2Ugd29yayBjb3JyZWN0bHkKCjIwMTEtMDctMDMgMTg6MzI6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHByb3Blcmx5IHNldCB1cCBhbmFsb2cgaW5wdXQKCjIwMTEtMDYtMjggMjM6NDc6MTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rLmg6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGlua3NyYy5jcHA6CgkgIGRlY2tsaW5rOiBBZGQgbW9yZSBtb2RlcwoKMjAxMS0wNi0wMyAxOTo0MTozMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2ludGVyL2dzdGludGVyLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcmF1ZGlvc2luay5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJhdWRpb3NpbmsuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuYzoKCSogZ3N0L2ludGVyL2dzdGludGVyYXVkaW9zcmMuaDoKCSogZ3N0L2ludGVyL2dzdGludGVyc3VyZmFjZS5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJzdXJmYWNlLmg6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnRlc3QuYzoKCSogZ3N0L2ludGVyL2dzdGludGVydmlkZW9zaW5rLmM6CgkqIGdzdC9pbnRlci9nc3RpbnRlcnZpZGVvc2luay5oOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5jOgoJKiBnc3QvaW50ZXIvZ3N0aW50ZXJ2aWRlb3NyYy5oOgoJICBpbnRlcjogbmV3IGludGVybWVkaWF0ZSBzdXJmYWNlIHBsdWdpbgoJICBUaGlzIHNldCBvZiBlbGVtZW50cyBhbGxvd3MgZWFzaWx5IHJlbmRlcmluZyBhdWRpbyBhbmQgdmlkZW8gdG8KCSAgYW4gaW50ZXJtZWRpYXRlIHN1cmZhY2UgdGhhdCBpcyB0aGVuIHVzZWQgYXMgYSBzb3VyY2UgaW4gYSBkaWZmZXJlbnQKCSAgcGlwZWxpbmUuCgoyMDExLTA2LTE4IDE1OjUxOjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBKUEVHIFlDYkNyIG1hdHJpeAoKMjAxMS0wNi0xOCAxNTo1Njo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHVwZGF0ZSBmb3IgbmV3IGxpYnZweCBhcGkKCjIwMTEtMDYtMjYgMTk6Mjk6MjQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBGaXggYnVmZmVyIGR1cmF0aW9uCgoyMDExLTA2LTI2IDE1OjE1OjU0ICswMjAwICBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGdlbmVyYXRlIGEgdGltZXN0YW1wIGZvciBhbHQtcmVmIGZyYW1lcy4KCSAgSXQgd2lsbCBmaXggaGFuZGxpbmcgb2YgYWx0cmVmL2ludmlzaWJsZSBmcmFtZXMgc2luY2UgbWF0cm9za2EtbXV4CgkgIGRyb3AgYW55IGZyYW0gd2l0aCBubyB0aW1lc3RhbXAuCgkgIHNlZSBhbHNvOgoJICBodHRwOi8vd3d3LndlYm1wcm9qZWN0Lm9yZy9jb2RlL3NwZWNzL2NvbnRhaW5lci8KCSAgVGhlIGVuY29kZXIgd2lsbCBjdXJyZW50bHkgc2V0IHRoZSBBUidzIHRpbWVzdGFtcCBhcyBjbG9zZSBhcyBwb3NzaWJsZQoJICB0byB0aGUgcHJldmlvdXMgZnJhbWUgd2hpbGUgYXR0ZW1wdGluZyB0byBwcm92aWRlIGEgdGltZXN0YW1wIHRoYXQgaXMKCSAgc3RyaWN0bHkgaW5jcmVhc2luZy4gSW4gY2FzZXMgd2hlcmUgdGhlIHRpbWUgYmFzZSBnaXZlbiB0byB0aGUgZW5jb2RlcgoJICBhdCBjb25maWd1cmUgdGltZSBpcyBub3QgZ3JhbnVsYXIgZW5vdWdoIHRvIGFsbG93IGZvciB0aGlzIHRoZSBBUgoJICB3aWxsIHNoYXJlIHRoZSBzYW1lIHRpbWVzdGFtcCBhcyBELCBidXQgc2hvdWxkIGJlCgkgIHRyZWF0ZWQgYXMgaGF2aW5nIG5vIGR1cmF0aW9uLgoJICBGaXhlcyBidWcgIzY1Mjk1MQoJICBTaWduZWQtb2ZmLWJ5OiBBbGV4ZXkgRmlzaGVyIDxidWctdHJhY2tAZmlzaGVyLXByaXZhdC5uZXQ+CgoyMDExLTA2LTI1IDIzOjU1OjI4ICswMzAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgd2luaW5ldDogRml4IGNvbmZpZ3VyZSBjaGVjayBieSBpbmNsdWRpbmcgd2luZG93cy5oCgkgIEZpeGVzIGJ1ZyAjNjUzMTYxLgoKMjAxMS0wNi0wNyAxMzo1NTozOCArMDMwMCAgUmFpbW8gSsOkcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2QzZHZpZGVvc2luay9NYWtlZmlsZS5hbToKCSAgZDNkdmlkZW9zaW5rOiBGaXggY29uZmlndXJlIGNoZWNrIGFuZCBtYWtlZmlsZXMKCSAgRml4ZXMgYnVnICM2NTIwMzUuCgoyMDExLTA2LTI1IDE1OjEyOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhOiBkZWNyZWFzZSByYW5rIHRvIE5PTkUKCSAgQXBwZWFycyB0byBiZSB1dHRlcmx5IGluY2FwYWJsZSBvZiBwYXJzaW5nIGFuZCBkZWNvZGluZyBUVEEgc3RyZWFtcy4KCSAgSGFzbid0IGJlZW4gdXBkYXRlZCB0byBkbyBUVEEyLiAgSWYgeW91IHdhbnQgdGhpcyBlbGVtZW50IHRvIHdvcmssCgkgIGZpeCB0aGUgYmxvb2R5IHRoaW5nLiAgVGhlIGdzdC1mZm1wZWcgZGVjb2RlciB3b3JrcyBmaW5lLgoJICBBbHNvIGZpeGVkIGFuIG9idmlvdXMgZW5kaWFubmVzcyBpc3N1ZSBhbG9uZyB0aGUgd2F5LgoJICBGaXhlczogIzY1MjkyNAoKMjAxMS0wNi0xOCAxNzo0NzozNiArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBhZGQgY2hlY2sgaWYgd2UgaGF2ZSBsZWdhbCBhc3BlY3QtcmF0aW8gYmVmb3JlIHJlc2V0IGl0LgoJICB0aGUgY29tbWl0IGY5YjU1MmYwNDk0ZSAodnA4ZGVjOiBzZXQgcGFyIHRvIDEvMSkKCSAgd2lsbCBmaXggc2l0dWF0aW9uIHdoZXJlIG5vIGFzcGVjdC1yYXRpbyBpcyBzZXQsIGJ1dCBpdCBicmFrZQoJICBzdHJlYW0gd2l0aCBhdmFpbGFibGUgYXNwZWN0LXJhdGlvLiBUaGlzIHBhdGNoIGZpeCBpdC4KCSAgRml4ZXM6ICM2NTI5MDIuCgkgIFNpZ25lZC1vZmYtYnk6IEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCjIwMTEtMDYtMjMgMjA6MTE6NTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCB1c2UgR0xpYiAyLjI4IEFQSQoJICBEb24ndCB1c2UgR0xpYiAyLjI4IEFQSSwgd2Ugc3RpbGwgb25seSByZXF1aXJlID49IDIuMjQuCgoyMDExLTA2LTIzIDExOjI4OjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNjliOTgxZiB0byA2MDVjZDlhCgoyMDExLTA2LTIyIDIyOjI1OjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHRhZ3NldHRlcnMgdG8gbWVyZ2UgcmVwbGFjZSBtb2RlCgkgIFRoZSBkZWZhdWx0IGZvciB0YWdzZXR0ZXJzIGlzIHRvIHVzZSBtZXJnZSBrZWVwIG1vZGUsIHNvIHRhZ3MKCSAgd291bGQgbmV2ZXIgYmUgcmVwbGFjZWQgYW5kIGFsbCBjYXB0dXJlcyB3b3VsZCBoYXZlIHRoZSBzYW1lIHRhZ3MuCgkgIFRoaXMgY29tbWl0IHdhdGNoZXMgYWxsIGVsZW1lbnRzIGFkZGVkIGludG8gZW5jb2RlYmluIGFuZCBzZXRzCgkgIGFsbCB0YWdzZXR0ZXJzIHRvIG1lcmdlIHJlcGxhY2UgbW9kZQoKMjAxMS0wNi0yMiAxODo1ODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBVc2UgYSBzaW5nbGUgbG9jYXRpb24gZm9yIGJvdGggbW9kZXMKCSAgSW1wbGVtZW50IHRoZSBsb2NhdGlvbiBwcm9wZXJ0eSBqdXN0IGxpa2UgaXQgd29ya3MgaW4gY2FtZXJhYmluLCB0aGUKCSAgc2FtZSBsb2NhdGlvbiBpcyB1c2VkIGZvciBib3RoIGltYWdlcyBhbmQgdmlkZW9zCgoyMDExLTA2LTIyIDE2OjI3OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBTZW5kIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3IgZmlsZW5hbWUgY2hhbmdlcyBpbiBpbWFnZSBzaW5rCgkgIFVzaW5nIHNlcmlhbGl6ZWQgY3VzdG9tIGV2ZW50cyBmb3Igc3dpdGNoaW5nIGltYWdlIGNhcHR1cmUgc2F2aW5nCgkgIGxvY2F0aW9uIG1ha2VzIGNhbWVyYWJpbjIgc2F2ZSBlYWNoIGNhcHR1cmUgY29ycmVjdGx5IHRvIHRoZSBsb2NhdGlvbgoJICB0aGF0IHdhcyBzZXQgZHVyaW5nIHRoZSBtb21lbnQgc3RhcnQtY2FwdHVyZSB3YXMgY2FsbGVkLCBhbmQgbm90CgkgIHRoZSBtb21lbnQgdGhlIGZpbGVzaW5rIHdhcyB3cml0aW5nIHRvIGRpc2suCgkgIFRoaXMgcHJldmVudHMgY2FwdHVyZXMgdG8gYmUgb3ZlcndyaXRlbiBieSByYWN5bmVzcyBhbW9uZyBzdGFydC1jYXB0dXJlCgkgIGFuZCBzZXR0aW5nIGxvY2F0aW9uIGZvciBpbWFnZXMuCgoyMDExLTA2LTIyIDE1OjU2OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBjaGFuZ2Ugc3RhdGUgb2YgdGhlIHdob2xlIGltYWdlIGJyYW5jaAoJICBXZSBvbmx5IG5lZWQgdG8gY2hhbmdlIHRoZSBzdGF0ZSBvZiB0aGUgZmlsZXNpbmsgdG8gc3dpdGNoIGl0cwoJICBzYXZpbmcgbG9jYXRpb24uIFRoaXMgbWlnaHQgc3RpbGwgY2F1c2Ugc29tZSBwcm9ibGVtcyBvZiBkcm9wcGluZwoJICBjYXB0dXJlZCBidWZmZXJzLCBidXQgaXQgaXMgYmV0dGVyIHRoYW4gY2hhbmdpbmcgdGhlIHN0YXRlIG9mCgkgIHRoZSB3aG9sZSBicmFuY2guCgoyMDExLTA2LTIyIDE1OjM3OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIG5hbWVzIGZvciBpbWFnZSBhbmQgdmlkZW8gZW5jb2RlYmluCgkgIE5hbWluZyBlbmNvZGViaW5zIGFzIGltYWdlLWVuY29kZWJpbiBhbmQgdmlkZW8tZW5jb2RlYmluIHRvIG1ha2UKCSAgaXQgZWFzaWVyIGZvciBkZWJ1Z2dpbmcgY2FtZXJhYmluMi4KCjIwMTEtMDYtMTcgMTc6MjY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCjIwMTEtMDYtMTcgMTQ6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogQWRkcyBuZXcgdGVzdCB0byBjaGVjayBpbWFnZSBsb2NhdGlvbiBjb3JyZWN0bmVzcwoJICBUaGlzIG5ldyB0ZXN0IGNoZWNrcyB0aGF0IGltYWdlcyBhcmUgc2F2ZWQgd2l0aCB0aGUgZmlsZW5hbWUgc2V0dGluZwoJICBvbiBsb2NhdGlvbiBvbiB0aGUgbW9tZW50IG9mIHRoZSBzdGFydC1jYXB0dXJlCgoyMDExLTA2LTE1IDA4OjIwOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTWlub3IgZGVidWcgbWVzc2FnZSBmaXgKCjIwMTEtMDUtMTMgMTE6MjU6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBBZGRzIHBlcmZvcm1hbmNlIG1lYXN1cmVtZW50IHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBwZXJmb3JtYW5jZSAodGltaW5nKSBtZWFzdXJlIGZlYXR1cmUgdG8gZ3N0LWNhbWVyYWJpbjItdGVzdCwgaXQgYWxsb3dzCgkgIHVzZXJzIHRvIHNwZWNpZnkgc29tZSB0YXJnZXQgdmFsdWVzIGZvciBjb21tb25seSBtZWFzdXJlZCB0aW1lcyBhbmQgdGhlCgkgIGFwcGxpY2F0aW9uIHdpbGwgcHJpbnQgb3V0IGEgdGFibGUgb2YgdmFsdWVzIGF0IHRoZSBlbmQgb2YgaXRzIGV4ZWN1dGlvbgoJICB3aXRoIHRoZSBtZWFzdXJlZCB0aW1lcyBhbmQgYXZlcmFnZXMgb2YgdGhlbS4KCjIwMTEtMDYtMjIgMTA6MTM6MzggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjcmVhdGUgY29ycmVjdCBhdmMgY29kZWMtZGF0YQoJICBGaXhlcyAjNjUzMDEzLgoKMjAxMS0wNi0yMSAxMjo0NTozMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IGZpeCBvdXRwdXQgY2FwcyBhbGlnbm1lbnQgZm9yIGF2YyBpbnB1dAoJICAuLi4gcGFydGljdWxhcmx5IHdoZW4gc3BsaXR0aW5nIHBhY2tldGl6ZWQgaW5wdXQuCgkgIEZpeGVzICM2NTI5OTUuCgoyMDExLTA2LTIxIDEyOjQzOjQxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZjIGlucHV0IG11c3QgZWl0aGVyIHBhc3MtdGhyb3VnaCBvciBiZSBzcGxpdCBpbnRvIGJ5dGVzdHJlYW0gY2h1bmtzCgkgIC4uLiBzaW5jZSBwYXJzaW5nIGNvZGUgaXMgbm90IG1lYW50IHRvIHJlY2VpdmUgYXZjIGRhdGEuCgkgIEZpeGVzICM2NTMwODcuCgoyMDExLTA2LTIxIDEyOjQxOjQ3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYXZvaWQgYm9ndXMgZnJhbWUgcGFyc2luZyBzdGF0ZQoKMjAxMS0wNi0yMCAxMjo0NzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvRGVja0xpbmtBUEkuaDoKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJRGlzcGF0Y2guY3BwOgoJICBkZWNrbGluazogdXBkYXRlIERlY2tMaW5rIEFQSSB3cmFwcGVycwoKMjAxMS0wNi0yMCAwMDozODowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuaDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBBZGQgY29ubmVjdGlvbiB0eXBlCgoyMDExLTA2LTA1IDIxOjE5OjU4IC0wNzAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJICBkZWNrbGlua3Npbms6IEFkZCBhdWRpbyBzdXBwb3J0CgkgIFNpZ25lZC1vZmYtYnk6IERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKMjAxMS0wNi0wNSAyMToyNDo1OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5jcHA6CgkqIHN5cy9kZWNrbGluay9nc3RkZWNrbGluay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCB2YXJpb3VzIGZlYXR1cmVzCgkgIEJldHRlciBtb2RlIHN1cHBvcnQsIGlucHV0IHNvdXJjZSBwcm9wZXJ0eSwgYXVkaW8gc3VwcG9ydC4KCjIwMTEtMDYtMDUgMjE6MjQ6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJICBkZWNrbGluazogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTA2LTA1IDIxOjE3OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSAgZGVja2xpbms6IHJlaW5kZW50CgoyMDExLTA2LTE3IDE2OjEyOjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IG9ubHkgZnJlZSB0aGUgaW5kZXggYXJyYXkgaWYgaXQgZXhpc3RzCgkgIE9ubHkgZnJlZSB0aGUgYXJyYXkgaWYgaXQgZXhpc3RzLgoJICBDb250YWlucyBhbiB1bnJlbGF0ZWQgaW5kZW50YXRpb24gZml4LCBjb3VydGVzeSBvZiBnc3QtaW5kZW50CgoyMDExLTA2LTE4IDAxOjExOjA1ICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgIHVwZGF0ZSBkb2NzIGdlbmVyYXRlZCBmaWxlcwoKMjAxMS0wNi0xOCAwMTowOTo1MSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXAueG1sOgoJKiBleHQvcnRtcC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvZ3N0cnRtcC5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5jOgoJKiBleHQvcnRtcC9nc3RydG1wc2luay5oOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIFJUTVA6IGFkZCBydG1wc2luayBlbGVtZW50IGZvciBvdXRwdXQgdG8gYW4gUlRNUCBzZXJ2ZXIKCjIwMTEtMDYtMTYgMTc6MTc6MDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9jb2xvcnNwYWNlLmM6CgkgIHRlc3RzOiBhZGQgY29sb3JzcGFjZSB1bml0IHRlc3QKCSAgQ29tcGFyZXMgY29sb3JzcGFjZSByZXN1bHQgd2l0aCBmZm1wZWdjb2xvcnNwYWNlIG91dHB1dCB1c2luZyBTU0lNLgoJICBBbHNvIHByb2JlcyBmb3IgcG9zc2libGUgY3Jhc2hlcyBmb3Igb2RkIHdpZHRoIGFuZCBoZWlnaHQgaW1hZ2UgYnkgYXBwbHlpbmcKCSAgYWxsIHBvc3NpYmxlIGNvbG9yc3BhY2UgdHJhbnNmb3JtYXRpb25zLgoKMjAxMS0wNi0xNyAxMjoxMDowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3Rjb21wYXJlLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNvbXBhcmUuaDoKCSAgZGVidWd1dGlsczogYWRkIGNvbXBhcmUgZWxlbWVudAoKMjAxMS0wNi0xNSAxODoyMDo0OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBvZGQgd2lkdGggYW5kIGhlaWdodCBoYW5kbGluZyBpbiBzb21lIGZhc3RwYXRoIGNhc2VzCgoyMDExLTA2LTE2IDE5OjA2OjAzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY29tPgoKCSogc3lzL3NobS9zaG1waXBlLmg6CgkgIHNobTogSW1wcm92ZSBkb2N1bWVudGF0aW9uIG9mIGludGVybmFsIHNobXBpcGUKCjIwMTEtMDYtMTUgMTY6MzI6MDMgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS52Y3Byb2o6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0Lmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBNb3ZlZCAnY29sb3JzcGFjZScgZnJvbSAtYmFkIHRvIC1iYXNlCgoyMDExLTA2LTE1IDE2OjA2OjM2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoJICBDb25mbGljdHM6CgkgIGFuZHJvaWQvYWFjcGFyc2UubWsKCSAgYW5kcm9pZC9hbXJwYXJzZS5tawoJICBhbmRyb2lkL2gyNjRwYXJzZS5tawoJICBhbmRyb2lkL21ldGFkYXRhLm1rCgkgIGFuZHJvaWQvcXRtdXgubWsKCSAgYW5kcm9pZC9zZHBlbGVtLm1rCgkgIGNvbmZpZ3VyZS5hYwoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYwoJICB3aW4zMi9jb21tb24vY29uZmlnLmgKCjIwMTEtMDYtMTMgMTE6MTI6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0c3JjOiBkb24ndCB1c2UgR19DT05TVF9SRVRVUk4KCSAgSXQncyBnb2luZyB0byBiZSBkZXByZWNhdGVkIHJlYWxseSBzb29uLgoKMjAxMS0wNi0xMiAxMjo1NTo0MCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBTcGVlZCB1cCB0aGUgc3RhcnQgY29kZSBzZWFyY2ggYWxnb3JpdGhtCgkgIEJhc2VkIG9uIDk2YTdmOWM4YjExOTUxMjlmMGMyMTU3Y2JiY2JhYTZjYWI0NTA1NmUKCSAgTWFrZXMgaXQgMy00IHRpbWVzIGZhc3RlcgoKMjAxMS0wNi0xMiAxMjo0MDoxNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdmlkZW9wYXJzZXJzOiBGaXggc2luayBwYWQgdGVtcGxhdGUKCSAgbm8gd29uZGVyIGl0IHdhcyBuZXZlciBwaWNrZWQgdXAgLi4uCgoyMDExLTA2LTEyIDExOjI3OjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgZnJlZSB1bmV4aXN0ZW50IFBBVAoJICBBbmQgY2xlYW51cCBmaW5kX3RpbWVzdGFtcHMgYSBiaXQKCjIwMTEtMDUtMTggMTk6MzM6NDUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBNb3JlIGZpeGVzIHRvIGhhbmRsZSBub24tMTg4IGJ5dGUgcGFja2V0cwoKMjAxMS0wNS0xNSAxNDowNDo0NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHM6IFN0b3Agc2Nhbm5pbmcgZm9yIGtleWZyYW1lcyBhcyBlYXJseSBhcyBwb3NzaWJsZQoKMjAxMS0wMy0zMSAxNDozNjowMiArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFsd2F5cyB0cnkgdG8gc2VlayBmb3IgdG8gYSBrZXlmcmFtZQoJICBrZXlmcmFtZSBpcyBleHBlY3RlZCB0byBsaWUgaW4gdGhlIHRoZSBuZXh0IH4yNTAwIG1zCgoyMDExLTAzLTIzIDE4OjUwOjI1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IHRpbWVzdGFtcHMgaW4gbmV3c2VnZW1lbnQgZXZlbnQgYWZ0ZXIgc2Vla2luZwoKMjAxMS0wMy0zMCAxMToyNjoxOCArMDIwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvcGF5bG9hZF9wYXJzZXJzLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBwYXlsb2FkIHBhcnNpbmcgZm9yIEguMjY0CgoyMDExLTAzLTI4IDEwOjIwOjQzICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkqIGdzdC9tcGVndHNkZW11eC9wYXlsb2FkX3BhcnNlcnMuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3BheWxvYWRfcGFyc2Vycy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogaW1wbGVtZW50IGtleV91bml0IHNlZWtpbmcgZm9yIE1QRUcyIHZpZGVvCgoyMDExLTAzLTIyIDE2OjQ5OjEzICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWNjdXJhdGUgc2Vla2luZwoJICAqIHBlcyBoZWFkZXIgcGFyc2luZyBmb3IgcHRzIGlzIHVnbHksIHJlZmFjdG9yCgkgICogdGltZXN0YW1wcy9uZXdzZWdtZW50IGFmdGVyIHNlZWtpbmcgaXMgc3RpbGwgb2ZmCgoyMDExLTAyLTIyIDEyOjMzOjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogcHVzaCBiYXNlZCBzZWVraW5nIGJhc2VkIG9uIFBDUgoJICBidWZmZXIgdGltZXN0YW1wcyBhcmUgY29udmVydGVkIHRvIEdzdENsb2NrVGltZSB0byBjb3ZlciBwY3IvcHRzIHdyYXBzLgoJICBtdWx0aXBsZSBwY3IvcHRzIHdyYXBzIGFyZSBoYW5kbGVkIHdpdGggYW4gaW5kZXggd2hpY2ggZW5zdXJlcyBhdCBtb3N0CgkgIGEgc2luZ2xlIHBjciB3cmFwYXJvdW5kIGJldHdlZW4gdHdvIGVudHJpZXMuCgkgIHRoZSBsYXN0IHNlZW4gcGNyIGlzIHJlY29yZGVkIHRvIGhhdmUgYSBuZWFyYnkgaW5kZXggcG9pbnQgZm9yIHNob3J0IHNlZWtzCgkgIHJlc3VtaW5nIHBsYXliYWNrIG1pZ2h0IGJlIGRlbGF5ZWQgaWYgdGhlIHBvc3Rpb24gaXMgbm90IGEga2V5ZnJhbWUKCSAgVE9ETzogcmVwbGFjZSBtYW51YWwgcGFja2V0IHNjYW5uaW5nIGFuZCBwYXJzaW5nIGluIHRoZSBpbml0aWFsIGR1cmF0aW9uIGVzdGltYXRpb24KCjIwMTEtMDItMjMgMTU6MjE6MjIgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNwYWNrZXRpemVyLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBjcmVhdGUgZnVuY3Rpb24gZm9yIHBjciBwYXJzaW5nCgoyMDExLTA0LTExIDE0OjUzOjI4ICswMjAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNkZW11eDogYWRhcHRhdGlvbiBmaWVsZCBsZW5ndGggPT0gMCBpcyB2YWxpZAoJICBpdCBjYW4gYmUgdXNlZCB0byBpbnNlcnQgYSBzaW5nbGUgc3R1ZmZpbmcgYnl0ZQoJICBkbyBub3QgcGFyc2UgdGhlIGZvbGxvd2luZyBwYXlsb2FkIGFzIGFkYXB0YXRpb24gZmllbGQKCjIwMTEtMDYtMDcgMTQ6MTQ6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIEFkZCBnc3QvaW52dGVsZWNpbmUgdG8gQ1JVRlRfRElSUwoKMjAxMS0wNi0wNyAxMzo0NDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogcmVxdWlyZSBHTGliID49IDIuMjQKCSAgTWFrZSBpbXBsaWNpdCByZXF1aXJlbWVudCBleHBsaWNpdC4KCjIwMTEtMDYtMDYgMTU6MjM6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9iYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIHRlc3RzOiBhZGQgYSB0ZXN0IGZvciBiYXNlYXVkaW92aXN1YWxpemVyCgoyMDExLTA2LTA2IDE1OjIwOjMwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmM6CgkgIGJhc2VhdWRpb3Zpc3VhbGl6ZXI6IGZpeCBsYXN0IGJsb2NrIGNvbmRpdGlvbgoJICBBbHNvIHB1c2ggb3V0IHRoZSBsYXN0IGZyYW1lIGlmIHdlIGhhdmUgZXhhY3QgYW1vdW50IG9mIHNhbXBsZXMuIEZpeCB0aGUgYWRhcHRlcgoJICBmbHVzaGluZyB0byBub3QgY2F1c2UgZW5kbGVzcyBsb29wcy4gRHJvcCBhIHJlZHVuZGFudCBhdmFpbCgpIGNoZWNrLgoKMjAxMS0wNi0wNCAyMDo0MTo0OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvUkVBRE1FOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBhZGQgYSBSRUFETUUgd2l0aCBjb21tZW50cyBhbmQgcGxhbnMKCjIwMTEtMDYtMDQgMjA6MzQ6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVja2xpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGl2eGRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXZ4ZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhY2VvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpZWxkYW5hbHlzaXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJhZ21lbnRlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpbnN5cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wYXRjaGRldGVjdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvM2QueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9maWx0ZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgZmlsZXMKCjIwMTEtMDYtMDQgMTY6MTI6NDAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW92aXN1YWxpemVycy54bWw6CgkgIGRvY3M6IGFkZCBuZXcgYXVkaW92aXN1YWxpemVycyB0byB0aGUgcGx1Z2luIGRvY3MKCjIwMTEtMDYtMDQgMTU6NTY6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0d2F2ZXNjb3BlLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbW92ZSBzb21lIG5vdCBuZWVkZWQgYm9pbGVycGxhdGUKCjIwMTEtMDYtMDQgMTU6NTI6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGFjZXNjb3BlLmM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwYWNlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IGFkZCBhIHNwYWNlc2NvcGUgZWxlbWVudAoJICBBZGQgYW5vdGhlciBlbGVtZW50IHRoYXQgbWFwcyBsZWZ0L3JpZ2h0IGNoYW5uZWwgdG8geCx5IGNvb3JkaW5hdGVzLgoKMjAxMS0wNi0wNCAxNTozODo0NiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBzeW5hZXNjb3BlOiB0d2VhayB0aGUgYWxnb3JpdGhtCgkgIFNwZWVkLXVwIHRoZSBjYWxjdWxhdGlvbiBhIGJpdC4gS2VlcCBhIGZldyB2YWx1ZXMgYXMgZG91Ymxlcy4gVHVuZSB0aGUgc2NhbGluZwoJICB0byBnZXQgbmljZXMgY29sb3JzLgoKMjAxMS0wNi0wNCAxNDozNzowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJICBhdWRpb3Zpc3VhbGl6ZXJzOiBkb2MtYmxvYiBhbmQgY29tbWVudCB1cGRhdGVzCgoyMDExLTA2LTA0IDE0OjMzOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZWF1ZGlvdmlzdWFsaXplci5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlYXVkaW92aXN1YWxpemVyLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSAgYXVkaW92aXN1YWxpemVyczogcmVuYW1lIGJhc2VjbGFzcyBmcm9tIGJhc2VzY29wZSB0byBiYXNlYXVkaW92aXN1YWxpemVyCgoyMDExLTA2LTA0IDE0OjI1OjU3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzcGVjdHJhc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvZ3N0c3luYWVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9hdWRpb3Zpc3VhbGl6ZXJzL2dzdHdhdmVzY29wZS5jOgoJKiBnc3QvYXVkaW92aXN1YWxpemVycy9nc3R3YXZlc2NvcGUuaDoKCSogZ3N0L2F1ZGlvdmlzdWFsaXplcnMvcGx1Z2luLmM6CgkgIGF1ZGlvdmlzdWFsaXplcnM6IHJlbmFtZSBzY29wZXMgcGx1Z2luIHRvIGF1ZGlvdmlzdWFsaXplcnMKCjIwMTEtMDUtMzEgMTQ6NDI6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0c3luYWVzY29wZS5jOgoJICBzY29wZXM6IGZpeCBlbGVtZW50cyBkZXNjcmlwdGlvbnMKCjIwMTEtMDUtMzAgMjM6NDU6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zY29wZXMvZ3N0c3BlY3RyYXNjb3BlLmM6CgkgIHNwZWN0cmFzY29wZTogdXNlIGFkZF9waXhlbCBmb3Igbm9uLXdoaXRlIHBpeGVscwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTMwIDIzOjM2OjQyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHN5bmFlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RzeW5hZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogYWRkIGEgbmV3IGVsZW1lbnQgc2ltaWxhciB0byBzeW5hZXN0aGVzaWEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAyMzoyMjo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RzcGVjdHJhc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3R3YXZlc2NvcGUuYzoKCSAgc2NvcGVzOiBkcmF3IHBpeGVscyB3aXRoIHNpZ25sZSAzMmJpdCB3cml0ZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDozNjo1MSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgbW9yZSBzaGFkaW5nIGVmZmVjdHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yOCAxNDowODowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuaDoKCSAgYmFzZXNjb3BlOiBhZGQgYSBwcm9wZXJ0eSB0byBtb2RpZnkgdGhlIGFtbW91bnQgb2Ygc2hhZGluZwoJICBBZGQgYW5vdGhlciBwcm9wZXJ0eSB0byBzcGVjaWZ5IHRoZSBzaGFkaW5nIHBlciBjb2xvciBjaGFubmVsLiBGaXggZW5kaWFuZXNzCgkgIGlzc3VlcyBpbiB0aGUgc2hhZGluZyBjb2RlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjI1OjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBiYXNlc2NvcGU6IGFkZCBhIGJhY2tidWZmZXIgYW5kIGFwcGx5IHNoYWRpbmcgZWZmZWN0cwoJICBLZWVwIHRoZSBsYXN0IGZyYW1lIGFuZCBhcHBseSBzaGFkZSBhbmQgZ2VvbWV0cnkgZWZmZWN0cy4gRXhwb3NlIHRoZSBzaGFkaW5nCgkgIGVmZmVjdHMgYXMgYSBjb250cm9sbGFibGUgZ29iamVjdCBwcm9wZXJ0eSBvbiB0aGUgYmFzZWNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDIzOjEyOjAwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdGJhc2VzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJICBiYXNlc2NvcGU6IGFsbG93IHN1YmNsYXNzZXMgdGVsbGluZyBob3cgbWFueSBzYW1wbGUgdGhleSBuZWVkIHBlciBmcmFtZQoJICBUaGlzIGFsbG93cyBlLmcuIEZGVCBiYXNlZCBlbGVtZW50cyB0byByZXF1aXJlIGVub3VnaCBkYXRhLiBJZiB0aGV5IG5lZWQgbW9yZQoJICBkYXRhIHRoYW4gd2hhdCB3ZSBnZXQsIHdlIGZsdXNoIGxlc3MgZnJvbSB0aGUgYWRhcHRlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MTUzNgoKMjAxMS0wNS0yNyAyMjo1MzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3Njb3Blcy9nc3RiYXNlc2NvcGUuYzoKCSAgYmFzZXNjb3BlOiByZW1vdmUgc29tZSBjb21tZW50cwoJICBUaG9zZSBjb21tZW50cyB3aGVyZSBwb2ludGluZyB0byBleGFtcGxlIGNhbGxzIHRoYXQgd2UgZG8gaW4gdGhlIHN1YmNsYXNzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDE0OjQzOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2NvcGVzL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5jOgoJKiBnc3Qvc2NvcGVzL2dzdHNwZWN0cmFzY29wZS5oOgoJKiBnc3Qvc2NvcGVzL3BsdWdpbi5jOgoJICBzY29wZXM6IGFkZCBhIHNpbXBsZSBmZnQgYmFzZWQgc2NvcGUKCSAgQWRkIGEgMm5kIGRlbW8gc2NvcGUgdGhhdCB1c2VzIGEgZmZ0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjUxNTM2CgoyMDExLTA1LTI3IDExOjE0OjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zY29wZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0YmFzZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmM6CgkqIGdzdC9zY29wZXMvZ3N0d2F2ZXNjb3BlLmg6CgkqIGdzdC9zY29wZXMvcGx1Z2luLmM6CgkgIHNjb3BlczogZmlyc3QgdmVyc2lvbiBvZiBhIHNjb3BlcyBwbHVnaW4gdXNpbmcgYSBuZXcgYmFzZWNsYXNzCgkgIEFkZCBhIG5ldyBiYXNlY2xhc3MgZm9yIHdyaXRpbmcgdmlzdWFsaXNhdGlvbiBwbHVnaW5zLiBQcm92aWRlIGEgc2ltcGxlIHdhdmUKCSAgb3NjaWxsb3Njb3BlIGFzIGEgZmlyc3Qgc3ViY2xhc3MuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTE1MzYKCjIwMTEtMDQtMjkgMTM6MzM6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBdm9pZCBkb3VibGUgc2Nhbm5pbmcgb2YgcGljdHVyZXMKCSAgVGhlIGluY29taW5nIGRhdGEgaGFzIGFscmVhZHkgYmVlbiBzY2FubmVkIGluIG1wZWdfcGFja2V0aXplcl9hZGRfYnVmLgoJICBXZSBjYW4gdGhlcmVmb3JlIHN0b3Agc2Nhbm5pbmcgZm9yIHBpY3R1cmUgZGF0YSBhcyBzb29uIGFzIHdlJ3ZlIHBhcnNlZAoJICB0aGUgaGVhZGVyLiBNYWtlcyBtcGVndmlkZW9wYXJzZSAyIHRpbWVzIGZhc3Rlci4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkzMwoKMjAxMS0wNi0wNSAxMzo1NjowOCAtMDcwMCAgTGV2ZW50ZSBGYXJrYXMgPGxmYXJrYXNAbGZhcmthcy5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBsb3dlciByYW5rIHRvIHNlY29uZGFyeQoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMTEtMDYtMDUgMTM6Mzg6NDYgLTA3MDAgIExldmVudGUgRmFya2FzIDxsZmFya2FzQGxmYXJrYXMub3JnPgoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2R4Lmg6CgkgIGQzZHZpZGVvc2luazogY29tcGlsZSBmaXgKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDExLTA2LTA1IDEwOjM0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ludnRlbGVjaW5lL01ha2VmaWxlLmFtOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IFJlbW92ZSBpbiBmYXZvciBvZiBmaWVsZGFuYWx5c2lzCgoyMDExLTA2LTA0IDE4OjU0OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBIYW5kbGUgcGl4ZWwtYXNwZWN0LXJhdGlvCgkgIEZpeGVzOiAjNjUxNzc5LiAgRnJvbSBSYWltbyBKw6RydmkuCgoyMDExLTA2LTA0IDE4OjQzOjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL01ha2VmaWxlLmFtOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2QzZHZpZGVvc2luay5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHguaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMC9keDEwLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMC5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDEwL2R4MTBfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTAvZHgxMF9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHgxMS9keDExLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMS5oOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDExL2R4MTFfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4MTEvZHgxMV9kM2QuaDoKCSogc3lzL2QzZHZpZGVvc2luay9kaXJlY3R4L2RpcmVjdHg5L2R4OS5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZGlyZWN0eDkvZHg5Lmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmM6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9kaXJlY3R4OS9keDlfZDNkLmg6CgkqIHN5cy9kM2R2aWRlb3NpbmsvZGlyZWN0eC9keC5jOgoJKiBzeXMvZDNkdmlkZW9zaW5rL2RpcmVjdHgvZHguaDoKCSAgZDNkdmlkZW9zaW5rOiBBZGQgcGx1Z2luCgkgIEZpeGVzICM2NTE3ODIuICBQYXRjaCBmcm9tIHZhcmlvdXMgYXV0aG9ycywgYnkgd2F5IG9mIG9zc2J1aWxkLgoKMjAxMS0wNi0wNCAxNDowNDo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIFdvcmsgYXJvdW5kIGNoYW5nZXMgaW4gZ19hdG9taWMgQVBJCgkgIFNlZSAjNjUxNTE0IGZvciBkZXRhaWxzLgoKMjAxMS0wNi0wNCAxMzo1MToyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSAgdmRwYXU6IHJlbW92ZSBvbGQgZ2xpYiBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTEtMDYtMDMgMTk6MzY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBzZXQgcGFyIHRvIDEvMQoKMjAxMS0wNi0wMyAxOTozNjoxMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBCZXR0ZXIgaGFuZGxpbmcgb2YgaW52YWxpZCBwYXIKCjIwMTEtMDUtMzAgMTc6MDM6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSAgdmlkZW9maWx0ZXIyOiBGaXggY29weXJpZ2h0CgoyMDExLTA2LTA0IDIwOjM1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBnc3Q6IHNvbWUgbW9yZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5nIGZpeGVzCgoyMDExLTA1LTMwIDE3OjU0OjI2ICswNTMwICBEZWJhcnNoaSBSYXkgPHJpc2hpQGdudS5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3RzY2VuZWNoYW5nZS5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmNwcDoKCSogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSAgUmVtb3ZlIHVudXNlZCBidXQgc2V0IHZhcmlhYmxlcwoJICBUaGlzIGlzIG5lZWRlZCB0byBzYXRpc2Z5IHRoZSBuZXcgLVd1bnVzZWQtYnV0LXNldC12YXJpYWJsZSBhZGRlZCBpbgoJICBHQ0MgNC42OiBodHRwOi8vZ2NjLmdudS5vcmcvZ2NjLTQuNi9jaGFuZ2VzLmh0bWwKCjIwMTEtMDUtMDkgMTQ6MzU6NDIgLTAzMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmEuZnVqaWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBhIGZpbHRlciB0byB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIENhbWVyYWJpbjIgYWxsb3dzIHNldHRpbmcgYSBmaWx0ZXIgZm9yIGltYWdlLCB2aWRlbyBvciB2aWV3ZmluZGVyLCBidXQKCSAgbm90IG9uZSBmaWx0ZXIgZm9yIGFsbCB0aHJlZSBhdCB0aGUgc2FtZSB0aW1lLiBJIGFkZGVkIGEgZmlsdGVyIHRvCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgdG8gYWxsb3cgc2V0dGluZyBhIGdsb2JhbCBmaWx0ZXIgd2hlbiB1c2luZyB0aGlzCgkgIHNvdXJjZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0OTgyMgoKMjAxMS0wNS0yNiAwMDowOToyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIHZhcgoKMjAxMS0wNS0yNSAyMzoyOToyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogVXNlIGZ1bGwgbmFtZXMgaW4gcHJvcGVydGllcwoJICBJbXByb3ZlIEFQSSBieSB1c2luZyBzb3VyY2UgaW5zdGVhZCBvZiBzcmMgaW4gcHJvcGVydGllcwoKMjAxMS0wNS0yMyAxMzozNjoyNyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBub3QgdW5yZWYgcGFkIHRlbXBsYXRlCgoyMDExLTA1LTI5IDEzOjE2OjIxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggYXZjIGNoZWNrIHNvIHRoYXQgaXQgdHJpZXMgdG8gbGluayB0byBBVkNWaWRlb1NlcnZpY2VzCgkgIEF2b2lkcyBhdmMgcGx1Z2luIGZyb20gYmVpbmcgYnVpbHQgd2hlbiBBVkNWaWRlb1NlcnZpY2VzIGlzIG5vdCBpbnN0YWxsZWQKCjIwMTEtMDUtMjYgMTI6MjM6MDEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogQWRkIC0taW1hZ2UtZm9ybWF0dGVyIGNvbW1hbmQtbGluZSBvcHRpb24KCSAgQWRkIGNvbW1hbmQtbGluZSBvcHRpb24gdG8gZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjb25maWd1cmluZyBjYW1lcmFiaW4KCSAgbWV0YWRhdGEgZm9ybWF0dGVyIGVsZW1lbnQuCgoyMDExLTA1LTMxIDEzOjA4OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRml4IHVuaXQgdGVzdCBhZnRlciBsYXRlc3QgZmFhYyBjaGFuZ2VzCgoyMDExLTA1LTMxIDEyOjU1OjQ1ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkgIHRzZGVtdXg6IEZpeCBzY2FubmluZyBvbiBzbWFsbCBmaWxlcwoJICBXZSB3ZXJlIHByZXZpb3VzbHk6CgkgICogU3RvcHBpbmcgZWFybHkgaW4gdGhlIGluaXRpYWwgUENSIHNjYW4KCSAgKiBHaXZpbmcgYSBuZWdhdGl2ZSBvZmZzZXQgZm9yIHRoZSBzZWNvbmQgUENSIHNjYW4KCjIwMTEtMDUtMzEgMTI6NTQ6NDMgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogRG9uJ3QgY2FsbCBwcm9ncmFtX3N0b3BwZWQgd2l0aCBhIE5VTEwgcHJvZ3JhbQoKMjAxMS0wNS0xOSAxMjo1NTozMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBsZWdhY3loMjY0cGFyc2U6IERlbGF5IHB1c2hpbmcgYnVmZmVycyB1bnRpbCB3ZSBoYXZlIHdpZHRoL2hlaWdodAoKMjAxMS0wNS0yNyAxMToxMzowOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiByZW1vdmUgdGVtcGxhdGUgc3RhbXAgY29tbWVudAoKMjAxMS0wNS0zMCAyMzo0MzozOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuYzoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLWRpc3QuaDoKCSogZ3N0L2JheWVyL2dzdGJheWVyb3JjLm9yYzoKCSAgYmF5ZXIycmdiOiBDb252ZXJ0IHRvIE9yYwoJICBTZXJpb3VzbHkgZmFzdGVyLiAgQWxnb3JpdGhtIGlzIG5lYXJseSB0aGUgc2FtZSBhcyBiaWxpbmVhciwgd2hpY2gKCSAgZ2l2ZW4gdGhlIHNwZWVkIG9mIHRoaXMgY29kZSwgc2hvdWxkIGJlIGNvbnNpZGVyZWQgdGhlIGJhc2VsaW5lIG9mCgkgIHF1YWxpdHkuICBTcGVlZCBhcHBlYXJzIHRvIGJlIGxpbWl0ZWQgYnkgbWVtb3J5IGJhbmR3aWR0aCwgc28gSQoJICBkaWRuJ3QgYm90aGVyIHRyeWluZyB0byBtYWtlIGl0IGFueSBmYXN0ZXIuCgoyMDExLTA1LTMwIDE2OjU2OjMzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgYmF5ZXIycmdiOiBSZXdyaXRlIHNpZ25hbCBwcm9jZXNzaW5nLiBNdWNoIGZhc3Rlci4KCjIwMTEtMDUtMzAgMTc6NTQ6MjYgKzA1MzAgIERlYmFyc2hpIFJheSA8cmlzaGlAZ251Lm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIFJlbW92ZSB1bnVzZWQgYnV0IHNldCB2YXJpYWJsZXMKCSAgVGhpcyBpcyBuZWVkZWQgdG8gc2F0aXNmeSB0aGUgbmV3IC1XdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgYWRkZWQgaW4KCSAgR0NDIDQuNjogaHR0cDovL2djYy5nbnUub3JnL2djYy00LjYvY2hhbmdlcy5odG1sCgoyMDExLTA1LTMwIDEzOjAxOjU0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgUmV2ZXJ0ICJkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDczMjgyOGUzMWNiYWNlNTllNmNlNGYyNjJiODMzOWU0M2VkMGM2MzEuCgkgIEl0IHdhcyBpbiBmYWN0IGFuIGlzc3VlIGluIGNvcmUKCjIwMTEtMDUtMzAgMTM6MDE6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBQcm90ZWN0IGFnYWluc3QgcHJvZ3JhbSBiZWluZyByZW1vdmVkCgoyMDExLTA1LTMwIDEyOjI3OjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mYWNlb3ZlcmxheS9NYWtlZmlsZS5hbToKCSAgZmFjZW92ZXJsYXk6IEFkZCBnc3QtcGx1Z2lucy1iYXNlIENGTEFHUyBhbmQgTElCUyB0byBmaXggY29tcGlsYXRpb24KCjIwMTEtMDUtMzAgMTI6MjQ6MzEgKzAyMDAgIExhdXJhIEx1Y2FzIEFsZGF5IDxsYXVyYWx1Y2FzQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZhY2VvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZmFjZW92ZXJsYXkvZ3N0ZmFjZW92ZXJsYXkuYzoKCSogZ3N0L2ZhY2VvdmVybGF5L2dzdGZhY2VvdmVybGF5Lmg6CgkgIGZhY2VvdmVybGF5OiBBZGQgZWxlbWVudCB0aGF0IGRpc3BsYXlzIGFuIFNWRyBpbWFnZSBvdmVyIGEgZGV0ZWN0ZWQgZmFjZQoJICBGaXhlcyBidWcgIzY0Mjc1OS4KCjIwMTEtMDUtMzAgMDg6NDg6MjkgKzAyMDAgIFRvbSBEZXNleW4gPHRvbS5kZXNleW5AYmFyY28uY29tPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IEFsc28gY29uc2lkZXIgbm9uLWFjY2VsZXJhdGVkIERpcmVjdEZCIHN1cmZhY2VzCgkgIEZpeGVzIGJ1ZyAjNjMxMzkwLgoKMjAxMC0wOS0wMiAyMzozMToyMyArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBEZWNvZGUgYXVkaW8gdW50aWwgYWxsIGlucHV0IGRhdGEgaXMgY29uc3VtZWQKCSAgVGhlIHNwZWNpYWwgcmV0dXJuIHZhbHVlIGlzIHJldHVybmVkIGZyb20gb3VyIGJ1ZmZlciBjYWxsYmFjawoJICB3aGVuIGFsbCBpbnB1dCBkYXRhIGhhcyBiZWVuIGNvbnN1bWVkLgoKMjAxMS0wNS0wMyAxNDoxNDoyMCArMDMwMCAgTWFydGluIFN0b3Jzam8gPG1hcnRpbkBtYXJ0aW4uc3Q+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgcXR3cmFwcGVyOiBSZXBsYWNlIHRoZSBoYWNraXNoIDQyIG1hZ2ljIG51bWJlciB3aXRoIGEgZGVmaW5lCgoyMDExLTA1LTMwIDA4OjQzOjU5ICswMjAwICBKdWxpZW4gTU9VVFRFIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgZHNob3dkZWN3cmFwcGVyOiBGaXggQ09NIGluaXRpYWxpemF0aW9uCgkgIEZpeGVzIGJ1ZyAjNjI1MTkwLgoKMjAxMS0wNS0zMCAwODo0Mzo0MCArMDIwMCAgSnVsaWVuIE1PVVRURSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IEZpeCBlbGVtZW50IHJlZ2lzdHJhdGlvbiB1c2luZyBkYXRhIGluIHRoZSB0eXBlIGluc3RlYWQgb2YgYSBnbG9iYWwKCjIwMTEtMDUtMjkgMTg6MTY6NDkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZpeCBwYWQgdGVtcGxhdGVzCgkgIE91ciBjYXBzIGludGVyc2VjdGlvbiBjb2RlIGlzIGEgYml0IHRvbyB0b3VjaHkgYWJvdXQgd2hhdCBhbiBlbGVtZW50CgkgIHJldHVybnMgY29tcGFyZWQgdG8gaXRzIHBhZCB0ZW1wbGF0ZXMuCgoyMDExLTA1LTI5IDEzOjA1OjMxICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hlY2sgZm9yIG91dCBvZiByYW5nZSBwcHNfaWQgb25lIGxheWVyIHVwCgoyMDExLTA1LTI5IDEzOjAzOjM4ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBmaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMTEtMDUtMjkgMTI6NTQ6NDAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgbGVnYWN5aDI2NHBhcnNlOiBjaGVjayBmb3Igb3V0IG9mIHJhbmdlIHBwc19pZCBvbmUgbGF5ZXIgdXAKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZyBjb21wYXJpbmcgZ3VpbnQ4IGFuZCBNQVhfUFBTX0NPVU5UIHdoaWNoIGlzID4gR19NQVhVSU5UOAoKMjAxMS0wNS0yNyAxMTowNTo0NiArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgRml4IG1pc3NpbmcgaGVhZGVyIGZpbGUgYW5kIHVwZGF0ZSBzcGVjIHRvIHdvcmsgYXJvdW5kIGN1cnJlbnQgY29tcGlsZXIgaXNzdWVzCgoyMDExLTA1LTI3IDEwOjQ0OjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL01ha2VmaWxlLmFtOgoJICBmYWFjOiBmaXggQ0ZMQUdTIGFuZCBMSUJTIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTA1LTI3IDEwOjQ0OjQyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogU2V0IHRoZSBjb3JyZWN0LCB2YWxpZCBzYW1wbGUgcmF0ZXMgaW4gdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDExLTA1LTI3IDEwOjQxOjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogTWFrZSBzdXJlIHRvIGFsc28gcmV0dXJuIG9ubHkgYSBzdWJzZXQgb2YgdGhlIHBhZCB0ZW1wbGF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMTEtMDUtMjcgMTA6MzU6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBTZXQgdGhlIGNvcnJlY3QsIHZhbGlkIHNhbXBsZSByYXRlcyBpbiB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDUtMjcgMTA6MzI6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkgIHZvYWFjZW5jOiBUaGUgZW5jb2RlciBsaWJyYXJ5IGN1cnJlbnRseSBvbmx5IHN1cHBvcnRzIDEgb3IgMiBjaGFubmVscwoKMjAxMS0wNS0yNyAxMDozMTowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIHByb2ZpbGUgYW5kIGxldmVsIHRvIHRoZSBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjUwNTk1LgoKMjAxMS0wNS0yNyAxMDoxMTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IEFkZCB0aGUgcHJvZmlsZSBhbmQgbGV2ZWwgdG8gdGhlIGNhcHMKCSAgQWxzbyBuZWdvdGlhdGUgdGhlIHByb2ZpbGUgZnJvbSB0aGUgZG93bnN0cmVhbSBwZWVyIGNhcHMKCSAgaW5zdGVhZCBvZiB1c2luZyBhIHByb3BlcnR5LgoJICBGaXhlcyBidWcgIzY1MDU5NC4KCjIwMTEtMDUtMjcgMDk6NDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgUFJPUF8gaW5zdGVhZCBvZiBBUkdfIGZvciB0aGUgcHJvcGVydHkgZW51bXMKCjIwMTEtMDUtMjYgMDk6NTk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSAgZGVidWdzcHk6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgoyMDExLTAxLTE0IDE3OjQyOjUwICswMTAwICBHdWlsbGF1bWUgRW1vbnQgPGdlbW9udEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWJ1Z3V0aWxzL2RlYnVndXRpbHNiYWQuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0ZGVidWdzcHkuaDoKCSAgZGVidWdzcHk6IGFkZCBuZXcgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYWxsb3dzIHlvdSB0byBnZXQgaW5mb3JtYXRpb24gYWJvdXQgYnVmZmVycyB3aXRoIGJ1cyBtZXNzYWdlcy4gSXQKCSAgcHJvdmlkZXMgdGhlIHNhbWUga2luZCBvZiBpbmZvcm1hdGlvbiBhcyBpZGVudGl0eSBkb2VzIHRocm91Z2ggYSBub3RpZnkgc2lnbmFsCgkgIG9uIGEgc3RyaW5nIHByb3BlcnR5LCBidXQgaW4gYSBtb3JlIHByb2dyYW1tZXItZnJpZW5kbHkgd2F5LgoKMjAxMS0wNS0yNiAwOTo0Njo1OCArMDIwMCAgR2FicmllbCBTdHJpbXR1IDxnYWJyaWVsc3RyaW10dUB5YWhvby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGaXggcGFyc2luZyBvZiBQU0kgdGFibGUgSURzCgkgIEZpeGVzIGJ1ZyAjNjM1OTE3LgoKMjAxMS0wNS0yNiAwOToyMjozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTRzcmM6IEltcGxlbWVudCBMQVRFTkNZIHF1ZXJ5CgkgIEJhc2VkIG9uIHRoZSBMQVRFTkNZIHF1ZXJ5IGNvZGUgaW4gdjRsMnNyYyBhbmQgdGhlIHBhdGNoCgkgIGJ5IFRyaXN0YW4gTWF0dGhld3MuIEZpeGVzIGJ1ZyAjNjI1NTIwLgoKMjAxMS0wNS0yNSAyMzoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgbW9yZSBzeXMgZWxlbWVudHMgZnJvbSB0aGUgc3RhdGUgdGVzdHMKCSAgQWxzbyB3cmFwIHRoZSBsaXN0IG9mIGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCB0cmltIHNvbWUgd2hpdGVzcGFjZS4KCjIwMTEtMDUtMjUgMjM6MTM6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZW5zdXJlIHVuaXFlIHByb3BlcnR5IG5hbWVzCgkgIENvcHkgYW5kIGFkanVzdCB0aGUgY29kZSBmcm9tIGxhZHNwYSBwbHVnaW4gdG8gZW5zdXJlIHVuaXF1ZSBnb2JqZWN0IHByb3BlcnR5CgkgIG5hbWVzLgoKMjAxMS0wNS0yNSAyMDo1MjowOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaDI2M3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2gyNjRwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnNHZpZGVvcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3RzIGZvciBhIG51bWJlciBvZiB2aWRlbyBwYXJzZXJzCgoyMDExLTA1LTI1IDIwOjQ5OjA1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJICB0ZXN0czogYWRkaXRpb25hbCBvZmZzZXQgdHJhY2tpbmcgaW4gcGFyc2VyIHRlc3QgaGVscGVyCgoyMDExLTA1LTI1IDIwOjQ4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgdGVzdHM6IGFkZGl0aW9uYWwgcGFyYW1ldGVyaXphdGlvbiBmb3IgcGFyc2VyIHRlc3QgaGVscGVyCgkgIEFsbG93IGNvbnRleHQgY2FsbGJhY2tzIHRvIHBlcmZvcm0gY3VzdG9tIGJ1ZmZlciB2ZXJpZmljYXRpb24KCSAgYW5kIGN1c3RvbSBlbGVtZW50IHNldHVwLiAgQWxzbyBtb3ZlIHNvbWUgc3RhdGljIHRyYWNraW5nIHZhcmlhYmxlcwoJICBpbnRvIGhlbHBlciBzdHJ1Y3QgYW5kIGV4cG9zZSB0aGUgbGF0dGVyIHN0cnVjdCBmb3IgdXNlIGJ5IHVuaXQgdGVzdAoJICAoY2FsbGJhY2tzKS4KCjIwMTEtMDUtMjUgMTU6MjY6MDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBwbHVnIHNvbWUgbW9yZSBidWZmZXIgbGVha3MKCjIwMTEtMDUtMjUgMTM6NTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wZW5zYXRlIGZvciBza2lwcGVkIGJ5dGVzIGluIHBhcnNpbmcgc3RhdGUgb2Zmc2V0cwoKMjAxMS0wNS0yNSAxMzo1MzoyMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBjbGVhcmluZyBhZGFwdGVyIGZvcm1pbmcgYXZjIG91dHB1dCBmcmFtZQoJICAuLi4gd2hpY2ggbmVlZHMgdG8gYmUgcmVzZXQgdXBvbiBhIG5ldyBmcmFtZSBhbmQgb3RoZXJ3aXNlIChvbmx5KQoJICBmb3IgYXZjIGlucHV0IGluIHBhc3N0aHJvdWdoIG1vZGUgKHJhdGhlciB0aGFuIG9uIGV2ZXJ5IGNoYWluIGNhbGwpLgoKMjAxMS0wNS0yNSAxMTo1MDowNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IGhhbmRsZSBhbGwgdmFsaWQgcHBzX2lkCgkgIC4uLiB3aGljaCBhcmUgaW4gcmFuZ2UgMC0yNTUuCgoyMDExLTA1LTE1IDEzOjIzOjM5ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxsb3cgZnVsbCBuZWdvdGlhdGlvbiBmb3IgcGFja2V0aXplZCBpbnB1dAoJICAuLi4gYnkgZGVmYXVsdGluZyB0byBhbGxvdyBzcGxpdHRpbmcgcGFja2V0aXplZCBpbnB1dCBhbmQgaGF2aW5nCgkgIG5lZ290aWF0aW9uIHdpdGggZG93bnN0cmVhbSBkZWNpZGluZyB3aGV0aGVyIG9yIG5vdCB0aGlzIGFwcGxpZXMuCgkgIEFsc28gZW5hYmxlIHBhc3MtdGhyb3VnaCBwYXJzaW5nIG1vZGUgaWYgaW5wdXQgYW5kIG91dHB1dCBmb3JtYXQKCSAgKHN0cmVhbS1mb3JtYXQgYW5kIGFsaWdubWVudCkgbWF0Y2guCgkgIEFQSTogR3N0SDI2NFBhcnNlOnNwbGl0LXBhY2tldGl6ZWQgKHJlbW92ZWQpCgkgIEZpeGVzICM2NTAyMjguCgoyMDExLTA1LTI0IDIxOjUwOjUyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogYWxzbyBleHRyYWN0IHdpZHRoIGFuZCBoZWlnaHQgaW50byBjYXBzCgoyMDExLTA0LTIxIDIyOjQyOjQ1ICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVuaXQgdGVzdCBmb3IgQVBQMS9leGlmICYgY29tbWVudCBwYXJzaW5nCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg0NzgKCjIwMTEtMDUtMjUgMTQ6NDI6MzggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICBtcGVnMmVuYzogZml4IGJ1aWxkIHdpdGggMS45LjAgcmVsZWFzZSBhZ2FpbiBhZnRlciByZWNlbnQgZml4ZXMgZm9yIG1qcGVndG9vbHMgMi4wLjAKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDk3MAoKMjAxMS0wNS0yNSAxNToxMDoxOSArMDIwMCAgQW5kcmVhcyBGcmlzY2ggPGZyYXhpbmFzQG9wZW5kcmVhbWJveC5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCBwb2ludGVyIG91dHB1dCBpbiBzdHJlYW0tbm90LWFzc29jaWF0ZWQgZGVidWcgb3V0cHV0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NTEwNTAKCjIwMTEtMDUtMjQgMTU6NDI6NDQgKzAyMDAgIEfDtnR6IFdhc2NoayA8d2FzY2hrQG1hbmRyaXZhLm9yZz4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgIG1wZWcyZW5jOiBzdXBwb3J0IG1qcGVndG9vbHMgMi4wCgkgIFRoaXMgYWRkcyBjb25kaXRpb25hbCBpbmNsdWRlcyBmb3IgdGhlIHJlbmFtZWQgaGVhZGVycyBpbiBtanBlZ3Rvb2xzIDIuMC4KCSAgRml4ZXM6ICM2NTA5NzAuCgoyMDExLTA1LTIzIDE3OjI5OjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzoKCSAgeHZpZGRlYzogQWRkIHZpZGVvL21wZWcsbXBlZ3ZlcnNpb249NCB0byB0aGUgY2FwcwoJICBGaXhlcyBidWcgIzYwOTYzOS4KCjIwMTEtMDUtMjAgMTc6MDY6NDkgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBpbWFnZS1mb3JtYXR0ZXIgcHJvcGVydHkKCSAgQWRkIGltYWdlLWZvcm1hdHRlciBwcm9wZXJ0eSBpbiBvcmRlciB0byBsZXQgYXBwbGljYXRpb24gY29uZmlndXJlCgkgIHRoZSBmb3JtYXR0ZXIgZWxlbWVudCBmb3IgbWV0YWRhdGEuCgoyMDExLTA1LTIzIDEzOjU0OjM1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFkZGl0aW9uYWwgZGVidWcgdHJhY2luZwoKMjAxMS0wNS0yMyAxMjowNjowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdG1wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0bXBlZ3ZpZGVvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9tcGVndmlkZW9wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIG5ldyBtcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0yMyAxMjowMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IHJlbmFtZSB0byBsZWdhY3ltcGVndmlkZW9wYXJzZQoKMjAxMS0wNS0xOCAwOTo0Nzo0MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGF2b2lkIHN0YWxlIHBhcnNpbmcgc3RhdGUKCjIwMTEtMDUtMTcgMjI6NDI6NDUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6NDI6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6Mzk6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBzaW1wbGlmeSBtaW5pbXVtIGZyYW1lIHNpemUgaGFuZGxpbmcKCjIwMTEtMDUtMTcgMjI6MTg6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBhdm9pZCBzdGFsZSBwYXJzaW5nIHN0YXRlCgoyMDExLTA1LTEyIDEyOjA3OjM5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzRwYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0cGFyc2UuaDoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDoKCSAgbXBlZzR2aWRlb3BhcnNlOiBwb3J0IHRvIGJhc2VwYXJzZQoKMjAxMS0wNS0yMyAxNTowMzoxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCAtY29yZS8tYmFzZSByZXF1aXJlbWVudCB0byAwLjEwLjM0LjEKCSAgLi4uIHNpbmNlIGxhdGVzdCBiYXNlcGFyc2UgQVBJIGlzIHJlcXVpcmVkIGZvciB2aWRlb3BhcnNlcnMuCgoyMDExLTA1LTIzIDE0OjQxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZ3JhY2VmdWxseSBoYW5kbGUgdHJ1bmNhdGVkIGlucHV0IE5BTCB1bml0cwoJICBSYXRoZXIgdGhhbiBhc3NlcnQnaW5nIGluIHN1Y2ggY2FzZSwgZW1pdCB3YXJuaW5nIGlmIHRoZSBsZW5ndGggb2YgYSBOQUwgdW5pdAoJICBpcyBsZXNzIHRoYW4gZXhwZWN0ZWQgMiBhbmQgZGlzY2FyZCBpdC4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgQmVuamFtaW4gTS4gU2Nod2FydHogPGJlbnNAYWx1bS5taXQuZWR1PgoJICBGaXhlcyAjNjUwNDE2LgoKMjAxMS0wNS0yMyAxNjo0NzozMSArMDIwMCAgVmluY2VudCBHw6luaWV1eCA8dmdlbmlldXhAZnJlZS5mcj4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIGR2YnNyYzogQWRkIHRpbWVvdXQgcHJvcGVydHkgYW5kIHVzZSBHc3RQb2xsIGluc3RlYWQgb2YgcG9sbAoJICBUaGlzIGFsbG93cyB0byB1c2UgbXVjaCBoaWdoZXIgdGltZW91dCB2YWx1ZXMgYmVjYXVzZSBHc3RQb2xsCgkgIGlzIGludGVycnVwdGlibGUgYW5kIGtlZXBzIHRoZSBudW1iZXIgb2Ygd2FrZXVwcyBkdXJpbmcgc2lnbmFsCgkgIGxvc3MgbG93ZXIuCgkgIEZpeGVzIGJ1ZyAjNjA4MTcxLgoKMjAxMS0wNS0yMyAxNDo1ODowOCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuYWwvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggYnVpbGQgb2Ygb3BlbmFsIHBsdWdpbiBmcm9tIGRpc3RlZCB0YXJiYWxsCgoyMDExLTA1LTIzIDE1OjMyOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuaDoKCSogZXh0L3RlbGV0ZXh0ZGVjL3RlbGV0ZXh0LmM6CgkgIHRlbGV0ZXh0ZGVjOiBNaW5vciBjbGVhbnVwIGFuZCBpbmRlbnRpb24gZml4ZXMKCjIwMTEtMDUtMjMgMTU6MjA6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkgIHRlbGV0ZXh0ZGVjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMS0wNS0yMyAxNToxNDowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IEZpeCBidWZmZXIgZGF0YSBsZWFrCgoyMDEwLTA5LTEwIDE0OjM0OjQyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkgIHRlbGV0ZXh0ZGVjOiBBZGQgc3VwcG9ydCBmb3IgcGFuZ28KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMC0wNi0xMCAxMjo0NDoyNyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmM6CgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5oOgoJICB0ZWxldGV4dGRlYzogYWRkIGEgbmV3IG1ldGhvZCB0byBjb252ZXJ0IGEgcGFnZSBpbiBhIGxpc3Qgb2Ygc3RyaW5ncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTA5IDE2OjQxOjMyICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSAgdGVsZXRleHRkZWM6IGFkZCBzb21lIGRhdGEgaW4gdGhlIHByZXJvbGwgYnVmZmVyCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTM6NTU6MzAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZml4IGRlYWRsb2NrIG9uIGEgc3RyZWFtIGVycm9yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTk3MzkKCjIwMTAtMDYtMTAgMTI6NDI6NDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC90ZWxldGV4dGRlYy9nc3R0ZWxldGV4dGRlYy5jOgoJICB0ZWxldGV4dGRlYzogZG9uJ3QgdHJ5IHRvIHB1c2ggYW4gZXZlbnQgb24gYSBwYWQgdGhhdCByZXR1cm5lZCBhbiBlcnJvcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE5NzM5CgoyMDEwLTA5LTEzIDExOjU5OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3RlbGV0ZXh0ZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvdGVsZXRleHRkZWMvZ3N0dGVsZXRleHRkZWMuYzoKCSogZXh0L3RlbGV0ZXh0ZGVjL2dzdHRlbGV0ZXh0ZGVjLmg6CgkqIGV4dC90ZWxldGV4dGRlYy90ZWxldGV4dC5jOgoJICB0ZWxldGV4dGRlYzogTmV3IHRlbGV0ZXh0IGRlY29kZXIgcGx1Z2luIGJhc2VkIGluIHp2YmkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxOTczOQoKMjAxMS0wNS0yMyAxNDoxNDowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmFsL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbC5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5jOgoJKiBleHQvb3BlbmFsL2dzdG9wZW5hbHNyYy5oOgoJICBvcGVuYWw6IEFkZCBuZXcgb3BlbmFsc3JjIGVsZW1lbnQKCSAgQmFzZWQgb24gcGF0Y2hlcyBieSBWaWN0b3IgTGluIDxib3Juc3R1YkBnbWFpbC5jb20+CgkgIEZpeGVzIGJ1ZyAjNTUwMjMwLgoKMjAxMS0wNS0yMyAxMzo0MTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5hbC9nc3RvcGVuYWwuYzoKCSogZXh0L29wZW5hbC9nc3RvcGVuYWxzaW5rLmM6CgkqIGV4dC9vcGVuYWwvZ3N0b3BlbmFsc2luay5oOgoJICBvcGVuYWw6IEFkZCBuZXcgT3BlbkFMIHNpbmsgZWxlbWVudAoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IENocmlzIFJvYmluc29uIDxjaHJpcy5rY2F0QGdtYWlsLmNvbT4KCSAgRml4ZXMgYnVnICM2MTU2MTUuCgoyMDExLTA1LTIwIDE1OjI1OjA4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRG8gbm90IHNlZ2ZhdWx0IG9uIG51bGwgbG9jYXRpb25zCgkgIFByZXZlbnQgY2FwdHVyZSBmcm9tIHN0YXJ0aW5nIHdoZW4gc2F2aW5nIGxvY2F0aW9uIGlzIHNldCB0bwoJICBOVUxMCgoyMDExLTA1LTIwIDEzOjA0OjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJICBjYW1hcHBsaWNhdGlvbmluZm86IGZpeCBwb3NzaWJsZSBhcnJheSBvdmVycnVuCgoyMDExLTA1LTIwIDA5OjU4OjUwICswMjAwICBSYWZhZWwgRGluaXogPHJhZmFlbEByaXNldXAubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdbcHRdc2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQUFDIExBVE0vTE9BUyBzdHJlYW1zCgkgIEZpeGVzIGJ1ZyAjNjE1NjgxLgoKMjAxMS0wNS0xOSAwODowNToxNCArMDIwMCAgVy4gTWljaGFlbCBQZXR1bGxvIDxtaWtlQGZseW4ub3JnPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5oOgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkgIGFwZXhzaW5rOiBBZGQgc3VwcG9ydCBmb3IgZ2VuZXJhdGlvbiAyIEFpclR1bmVzIGhhcmR3YXJlCgkgIEZpeGVzIGJ1ZyAjNjQ5OTMxLgoKMjAxMS0wNS0yMCAwMDozNTo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvbXhmL214ZmRlbXV4LXN0cnVjdHVyZS5jOgoJICBteGYtZXhhbXBsZTogZml4IHRoZSB7IH0gc2NvcGUKCjIwMTEtMDUtMjAgMDA6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogZG9uJ3QgbGVhayBmZCBvbiBlcnJvcgoKMjAxMS0wNS0yMCAwMDoxNjowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogZG9uJ3QgbGVhayBwYXNzd29yZCBvbiBlcnJvcgoKMjAxMS0wNS0xOSAyMzo1NzozOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiByZW1vdmUgb2Jzb2xldGUgY29tbWVudGVkIG91dCBwYXJ0CgkgIFdlIGRvbid0IGhhdmUgdGhpcyBpbiB0aGUgb3RoZXIgbW9kdWxlcyBhbmQgaXRzIG5vdCBuZWVkZWQuCgoyMDExLTA1LTE5IDIzOjUwOjQ3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YQoJICBOb3cgbW9yZSBmaWxlcyBhcmUgbWVyZ2VkIGFuZCBwcm9kdWNlZCBpbiBhIGNhbm9uaWNhbCBmYXNoaW9uLCB3aGljaCBob3BlZnVsbHkKCSAgY3JlYXRlcyBsZXNzIG9yIG5vIGRlbHRhIGluIHRoZSBmdXR1cmUuCgoyMDExLTA1LTE5IDIyOjU4OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDllNWJiZDUgdG8gNjliOTgxZgoKMjAxMS0wNS0xOSAxNDo1ODoyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCB2aWRlby1kZXZpY2UgYXJndW1lbnQKCSAgQWRkcyBhbiBhcmd1bWVudCB0byBzZWxlY3Qgd2hpY2ggdmlkZW8gZGV2aWNlIHNob3VsZCBiZSB1c2VkCgkgIG9uIHRoZSB2aWRlbyBzb3VyY2UgZWxlbWVudCBpbiBjYW1lcmFiaW4yCgoyMDExLTA1LTE5IDE0OjUyOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogRml4IHR5cG8gZnJvbSBwcmV2aW91cyBjb21taXQKCSAgVGhlIHByb3BlcnR5IGlzIGF1ZGlvLXNyYyBhbmQgbm90IGF1ZGlvLXNvdXJjZQoKMjAxMS0wNS0xOSAxNDozMjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEFkZCBhdWRpby1zb3VyY2UgcGFyYW1ldGVyIHRvIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBhbiBvcHRpb24gdG8gc2VsZWN0IHRoZSBhdWRpbyBzb3VyY2UgdG8gYmUgdXNlZCBvbiB2aWRlbwoJICByZWNvcmRpbmdzIG9uIGNhbWVyYWJpbjIgdGVzdCBhcHBsaWNhdGlvbgoKMjAxMS0wNS0xOSAxNDoyMzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYWRkIG1pc3NpbmcgWwoJICBBZGRzIG1pc3NpbmcgWyB0byBjb25maWd1cmUgb24gdGhlIENEQVVESU8gcGtnIGNvbmZpZyBjaGVjawoKMjAxMS0wNS0xOSAxODo0NToyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGphc3BlcmVuYzogcmVtb3ZlIHVudXNlZCAnbWltZXR5cGUnIHZhcmlhYmxlCgkgIEFzIG1pbWV0eXBlIGlzIG5vdCB1c2VkLCB3ZSBkb24ndCBuZWVkIHRvIGZldGNoIGl0IGFuZCB0aGVyZWZvcmUgbmVpdGhlciBuZWVkCgkgIHRoZSBzdHJ1Y3R1cmUgcy4KCjIwMTEtMDUtMTkgMTU6MjY6MzggKzAxMDAgIENocmlzdGlhbiBGcmVkcmlrIEthbGFnZXIgU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZSB0byBmaXQgd2l0aCBsYXRlc3QgdXBzdHJlYW0gc3BlYyBmaWxlcwoKMjAxMS0wNS0xOCAxNTo0NDowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvbT4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBNYWtlIGdjYyA0LjYgaGFwcHkKCSAgUmVtb3ZlIHdhcm5pbmdzIGR1ZSB0byBpbml0aWFsaXplZCBidXQgbmV2ZXIgdXNlZCB3YXJuaW5ncwoKMjAxMS0wNS0xOCAxMzozNTozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG1heCBwcHMgaXMgMjU1CgkgIEZpeGVzICM2NTA0ODQuCgoyMDExLTA1LTEyIDIyOjU0OjQ0ICswMzAwICBCcmlhbiBHaXRvbmdhIE1hcmV0ZSA8bWFyZXRlQHRvc2huaXguY29tPgoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc3JjLmg6CgkgIGRlY2tsaW5rOiBDaGFuZ2UgY291bnRlcnMgdG8gNjQgYml0IHVuc2lnbmVkIGludGVnZXJzLgoKMjAxMS0wNS0xMCAxNjoxNDozMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogc3dpdGNoIGxpYmNkYXVkaW8gdG8gcGtnLWNvbmZpZwoKMjAxMS0wNC0yNCAxOToxMTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhjb21tb24uaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IHVzZSBnc3QgZGVidWcgZm9yIHRzbXV4IGxpYnJhcnkKCjIwMTEtMDQtMTkgMTU6MDQ6MDUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBhdmNzcmMgaXMgYWx3YXlzIGVuYWJsZWQKCjIwMTEtMDQtMTkgMTU6MDE6MTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBJbmNsdWRlIDIwMCBidXMgY3ljbGVzIGluIGVhY2ggYnVmZmVyIChhYm91dCAzMDAgVFMgcGFja2V0cykKCjIwMTEtMDQtMTkgMTU6MDA6NTMgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSAgYXZjOiBFbWl0IGEgc2luZ2xlIGJ1ZmZlciBwZXIgY2FsbGJhY2sKCjIwMTEtMDQtMTkgMTM6NTM6NTQgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBUcmFjayB0aGUgbnVtYmVyIG9mIGVucXVldWVkIGFuZCBkZXF1ZXVlZCBwYWNrZXRzCgoyMDExLTA0LTE5IDEzOjUzOjIzIC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogRHVtcCB0aW1lc3RhbXAgaW5mb3JtYXRpb24KCjIwMTEtMDQtMTggMTU6Mzc6NTcgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvZ3N0YXZjc3JjLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuaDoKCSAgYXZjOiBTYXZlIEFWQyBvYmplY3RzIGluIHRoZSBHc3RBVkNTcmMgb2JqZWN0CgkgIGFuZCBzdG9wIHRoZW0gd2hlbiB0aGUgcGlwZWxpbmUgaXMgc3RvcHBlZAoKMjAxMS0wNC0xOCAxNToxNjowMCAtMDQwMCAgUXVlbnRpbiBTbWl0aCA8cXVlbnRpbkBtaXQuZWR1PgoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJICBhdmM6IEN5Y2xlIGFuZCBwYWNrZXQgYXJlIHVuc2lnbmVkCgoyMDExLTA0LTE4IDE1OjE1OjI4IC0wNDAwICBRdWVudGluIFNtaXRoIDxxdWVudGluQG1pdC5lZHU+CgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5jcHA6CgkgIGF2YzogYXZjc3JjIGlzIGEgbGl2ZSBzb3VyY2UKCjIwMTEtMDQtMTggMTU6MTQ6NTUgLTA0MDAgIFF1ZW50aW4gU21pdGggPHF1ZW50aW5AbWl0LmVkdT4KCgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkgIGF2YzogTG9vayBpbiBBVkNWaWRlb1NlcnZpY2VzIGZvciBoZWFkZXJzCgoyMDExLTA0LTE4IDEyOjI4OjUyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXZjOiBhdHRlbXB0IG5ldyBjb25maWd1cmUKCjIwMTEtMDQtMTYgMTk6NDI6MDAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvTWFrZWZpbGUuYW06CgkqIHN5cy9hdmMvZ3N0YXZjcGx1Z2luLmNwcDoKCSogc3lzL2F2Yy9nc3RhdmNzcmMuY3BwOgoJKiBzeXMvYXZjL2dzdGF2Y3NyYy5oOgoJICBhdmM6IEFkZCBBVkMgVmlkZW8gU2VydmljZXMgcGx1Z2luIGZvciBPUy9YCgoyMDExLTA1LTE4IDE2OjEwOjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkMzUwNzMgdG8gOWU1YmJkNQoKMjAxMS0wNS0xOCAxMzoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE5hbWUgbWF4L21pbiBxdWFudGl6ZXIgcHJvcGVydGllcyB7bWF4LG1pbn0tcXVhbnRpemVyCgkgIEFsc28gaW1wcm92ZSBxdWFsaXR5IHByb3BlcnR5IGRlc2NyaXB0aW9uLgoKMjAxMS0wNS0xOCAxMzoyNjoyMyArMDIwMCAgQWxleGV5IEZpc2hlciA8YnVnLXRyYWNrQGZpc2hlci1wcml2YXQubmV0PgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgcHJvcGVydGllcyB0byBzZWxlY3QgYSBtYXhpbXVtIGFuZCBtaW5pbXVtIHF1YW50aXplcgoJICBGaXhlcyBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTM6MTg6NTggKzAyMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRml4IHF1YWxpdHkgdG8gKGNvbnN0YW50KSBxdWFudGl6ZXIgbWFwcGluZwoJICBUaGlzIG5vdyBhbGxvd3MgdG8gc2VsZWN0IGFsbCBwb3NzaWJsZSBxdWFudGl6ZXJzIGJldHdlZW4KCSAgMCBhbmQgNjMuCgkgIFNlZSBidWcgIzY0MTQwNS4KCjIwMTEtMDUtMTggMTI6MjQ6NDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDZkZmNlYSB0byBmZDM1MDczCgoyMDExLTA0LTI4IDE1OjU5OjM4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWlycm9yLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHZhcmlvdXM6IGZpeCBhdXRob3IgdGFnIGluIGVsZW1lbnQgZGV0YWlscwoKMjAxMS0wNC0yNyAxNjo1NjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9maWx0ZXI6CgkgIGVsZW1lbnQtdGVtcGxhdGVzOiBpbXByb3ZlIHRoZSBhdWRpb2ZpbHRlciB0ZW1wbGF0ZQoJICBBZGQgY29tbWVudHMuIEFkZCBzdGFydC9zdG9wIG1ldGhvZHMuIEFkZCAoY29tbWVudGVkKSBpbnN0YW5jZSBjYXN0cyBhdCB0aGUKCSAgYmVnaW4gb2YgdGhlIG1ldGhvZC4gTWFrZSB0cmFuc2Zvcm1faXAgcmV0dXJuaW5nIEZMT1dfT0sgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjcgMTY6NTE6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBpbXByb3ZlIHBsdWdpbl9pbml0KCkKCSAgUmV0dXJuIHRoZSByZXN1bHQgb2YgZ3N0X2VsZW1lbnRfcmVnaXN0ZXIoKS4gVXNlIHRoZSBUWVBFIG1hY3JvIGluc3RlYWQgb2YgdGhlCgkgIF9nZXRfdHlwZSgpIGZ1bmN0aW9uLgoKMjAxMS0wNS0xMiAxMTo1NzoxOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeCBzb21lIGJ1ZmZlciBsZWFrcwoJICBGaXhlcyAjNjUwMzIzLgoKMjAxMS0wNS0xMiAxMTo1Njo1MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGZpeHVwIGJvaWxlcnBsYXRlIGFuZCBkZWJ1ZyBjb2RlIHN0eWxlCgoyMDExLTA1LTEzIDE3OjE4OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0cGx1Z2luLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogUmVtb3ZlIG9ic29sZXRlIGltYWdlY2FwdHVyZWJpbgoJICBpbWFnZWNhcHR1cmViaW4gaGFzIGJlZW4gcmVwbGFjZWQgYnkgZW5jb2RlYmluLCBubyBuZWVkCgkgIGZvciBpdCBhbnltb3JlCgoyMDExLTA1LTEzIDE2OjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdXNlIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgamlmbXV4IHVzYWdlCgkgIEppZm11eCBzaG91bGQgYmUgdXNlZCBhcyBpdCBjYW4gZG8geG1wL2V4aWYgdGFnZ2luZywgc28gdGhpcyBwYXRjaAoJICBzZXRzIGpwZWcgYXMgYSBjb250YWluZXIgdG8gZm9yY2UgaXQgdG8gYmUgdXNlZCB0b2dldGhlciB3aXRoCgkgIGEganBlZyBlbmNvZGVyCgoyMDExLTA1LTEyIDExOjE3OjI4ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kZWNpbmFAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkbyBwcm9wZXIgRU9TIGhhbmRsaW5nIG9uIHNlbmRfZXZlbnQoZW9zKQoJICBXZSBmaXJzdCBsZXQgdGhlIGlubmVyIGNhbWVyYSBFT1MuIFRoZW4gd2UgbWFudWFsbHkgcG9zdCBFT1Mgb24gdGhlIGltYWdlIGFuZAoJICB2aWRlbyBzaW5rcyBpZiB0aG9zZSBhcmUgPD0gUkVBRFkgYW5kIHNvIGhhdmUgaWdub3JlZCBFT1MgZXZlbnRzLgoKMjAxMS0wNC0yOCAxNToxMTozNiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB1c2UgZW5jb2RlYmluIHRvIGVuY29kZSBpbWFnZXMKCjIwMTEtMDUtMTMgMTU6MTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ2Zvcm1hdC5jOgoJICBqaWZtdXg6IEJ1bXAgcmFuayB0byBzZWNvbmRhcnkKCSAgamlmbXV4IGlzIGJlaW5nIHVzZWQgZm9yIHF1aXRlIHNvbWUgdGltZSBhbmQgaGFzIG5vIG9wZW4gYnVncwoJICBjdXJyZW50bHksIHNvIHdlIGNhbiBnaXZlIGl0IGEgc2Vjb25kYXJ5IHJhbmsgYXQgbGVhc3QuCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMTU6MTU6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQ2hhbmdlIGNsYXNzIHRvIGZvcm1hdHRlcgoJICBqaWZtdXggaXMgYSBmb3JtYXR0ZXIgYW5kIG5vdCBhIG11eGVyCgkgIEZpeGVzICM2NDkzOTEKCjIwMTEtMDUtMTMgMDk6MTE6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggR09wdGlvbkVudHJ5IGFycmF5CgkgIFVzZSBubyBmbGFncyBpbnN0ZWFkIG9mIHBhc3NpbmcgR19PUFRJT05fQVJHX09QVElPTkFMIHRvIG9wdGlvbnMgdGhhdAoJICBtdXN0IGhhdmUgYW4gYXJndW1lbnQKCjIwMTEtMDUtMTIgMTE6Mzk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IGJ1aWxkIGZpeGVzCgkgIEFkZCBzb21lIG1pc3NpbmcgZGVwZW5kZW5jaWVzCgoyMDExLTA1LTExIDE4OjM1OjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQ2hhbmdpbmcgaG93IHNvbWUgcHJvcGVydGllcyB3b3JrCgkgIFNvbWUgcHJvcGVydGllcyAobGlrZSB2aWV3ZmluZGVyLWZpbHRlcikgb25seSBhcmUgdGFrZW4gaW50byB1c2UKCSAgb24gTlVMTC0+UkVBRFkgdHJhbnNpdGlvbnMgYW5kIHRoZSBnZXQvc2V0IHByb3BlcnR5IHdhcyByZXR1cm5pbmcKCSAgdGhlIGN1cnJlbnRseSBpbiB1c2UgdmFsdWUsIGluc3RlYWQgb2YgdGhlIGxhc3Qgc2V0LgoJICBUaGlzIGlzIGJhZCwgYXMgYWZ0ZXIgc2V0dGluZyAnYScgdG8gJ3gnLCB5b3UgZXhwZWN0IHRoYXQgZ2V0dGluZyAnYScKCSAgd2lsbCByZXR1cm4gJ3gnLiBUaGlzIHBhdGNoIGZpeGVzIGl0LgoJICBJZiBuZWVkZWQsIGxhdGVyIHdlIGNvdWxkIGFkZCBjdXJyZW50LSogcHJvcGVydGllcyB0aGF0IGFyZSByZWFkb25seQoJICBhbmQgZ2V0IHRoZSBjdXJyZW50IHZhbHVlIGluIHVzZS4KCjIwMTEtMDQtMjkgMDg6NTQ6NTYgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IFVwZGF0aW5nIFBPUlRJTkcgZmlsZQoKMjAxMS0wNC0yOCAxNjowNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBtaXNzaW5nIHBsdWdpbiBlcnJvciBtZXNzYWdlcwoJICBXaGVuZXZlciBhIHJlcXVpcmVkIHBsdWdpbiBpcyBtaXNzaW5nLCBjYW1lcmFiaW4yIHNob3VsZCBwb3N0CgkgIGEgbWlzc2luZyBwbHVnaW4gbWVzc2FnZSB0byB0aGUgYnVzCgoyMDExLTA0LTI4IDE0OjM3OjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogZW5jb2RlYmluIG1pZ2h0IG5vdCBoYXZlIHRoZSByZXF1ZXN0ZWQgcGFkCgkgIGhhbmRsZSB0aGUgY2FzZSB3aGVyZSBlbmNvZGViaW4gZG9lc24ndCBoYXZlIHRoZSBwYWQKCSAgY2FtZXJhYmluMiBpcyByZXF1ZXN0aW5nLCBlaXRoZXIgYmVjYXVzZSBvZiBpdHMgY3VycmVudCBwcm9maWxlCgkgIG9yIGJlY2F1c2Ugb2YgbWlzc2luZyBlbGVtZW50cywgbWFraW5nIGl0IGZhaWwgdG8gcHJvdmlkZQoJICB0aGUgcGFkCgoyMDExLTA0LTI3IDE1OjEyOjE4IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IEFkZCBtb3JlIGFyZ3VtZW50cwoJICBBZGQgY29tbWFuZC1saW5lIG9wdGlvbnMgZm9yIHNldHRpbmcgaW1hZ2UtY2FwdHVyZSwgdmlld2ZpbmRlcgoJICBhbmQgdmlkZW8tY2FwdHVyZSBjYXBzIGFzIHN0cmluZ3MuCgkgIFRoZSB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnRpZXMgYXJlIG5vdyB1c2VkIG9ubHkgaWYgdGhlc2UgbmV3IGNhcHMKCSAgcHJvcGVydGllcyBhcmVuJ3Qgc2V0LgoKMjAxMS0wNC0yNiAxNToyMTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogaW1hZ2VjYXB0dXJlYmluOiBGaXggdGFncyBtZXJnaW5nIG1vZGUKCSAgVXNlIG1lcmdlIHJlcGxhY2UgbW9kZSB0byBhbGxvdyBuZXcgdGFncyB0byBvdmVycmlkZSBvbGQgb25lcwoJICBhbmQgZml4IHRoZSB1c2UgY2FzZSB3aGVyZSB0aGUgbGFzdCBzZW50IHRhZ3Mgc2hvdWxkIGJlIHNlcmlhbGl6ZWQKCSAgdG8gdGhlIGNhcHR1cmVkIGltYWdlcy4KCjIwMTEtMDQtMjYgMTQ6NTM6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggdGFnIGhhbmRsaW5nIGZvciB2aWRlb3MKCSAgSW4gdmlkZW8gbW9kZSB0aGUgdGFncyBzaG91bGQgYmUgcHVzaGVkIGFmdGVyIHNlbmRpbmcgdGhlIHN0YXJ0IGNhcHR1cmUKCSAgdG8gdGhlIHNvdXJjZSwgdGhpcyBhbGxvd3MgdGhlIHZpZGVvIHJlY29yZGluZyBlbGVtZW50cyB0byBiZSByZXNldAoJICBhbmQgbGVhdmUgdGhlIGZsdXNoaW5nIHN0YXRlIHRoZXkgd2VyZSBhdCBhZnRlciBhIHByZXZpb3VzIGNhcHR1cmUuCgkgIFRoaXMgZml4ZXMgdGhlIHByb2JsZW0gd2hlcmUgdGFncyBvbmx5IHdvcmsgZm9yIHRoZSBmaXJzdCB2aWRlbyBjYXB0dXJlCgoyMDExLTA0LTI2IDE0OjUwOjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEZpeCBzZXQgYnV0IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5ncwoKMjAxMS0wNC0yNiAxNDo0OTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBGaXggdGFncyBzZXR0aW5nIHRlc3RzCgkgIEZpeGVzIHRoZSB0YWdzIHNldHRpbmcgdGVzdHMgdG8gcmV2ZWFsIGEgYnVnIGluIGNhbWVyYWJpbjIKCSAgdGFnIHNldHRpbmcgbG9naWMuCgoyMDExLTA0LTI1IDE2OjA0OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbjItc3JjLnR4dDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGNhbWVyYSBzb3VyY2UgZG9jdW1lbnRhdGlvbiBmaWxlCgkgIEFkZHMgYSBzbWFsbCB0ZXh0IGZpbGUgd2l0aCBhIGJyaWVmIGRlc2NyaXB0aW9uIG9mCgkgIHdoYXQgaXMgZXhwZWN0ZWQgZnJvbSBhIGNhbWVyYWJpbjIgc291cmNlIGVsZW1lbnQKCjIwMTEtMDQtMTEgMTU6MzM6MjAgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEhhbmRsZSBlcnJvcnMgZnJvbSBwcmV2aWV3IHBpcGVsaW5lCgkgIEltcGxlbWVudHMgYSBtZXNzYWdlIGhhbmRsaW5nIGZ1bmN0aW9uIHRvIHByZXZpZXcgcGlwZWxpbmUgYnVzLgoJICBJZiBHU1RfTUVTU0FHRV9FUlJPUiBpcyBzZWVuLCBjb25zaWRlcnMgcHJldmlldyBwaXBlbGluZSB1bmFibGUKCSAgdG8gZG8gaXRzIGpvYiBhbmQgcG9zdHMgYW4gZXJyb3IgbWVzc2FnZSB0byBhcHBsaWNhdGlvbi4KCSAgU2V0cyBwaXBlbGluZSBlbGVtZW50IHRvIE5VTEwgc28gdGhhdCBzdWJzZXF1ZW50IGNhbGxzIHRvIHBvc3RfcHJldmlldwoJICBhbmQgc2V0X2NhcHMgZnVuY3Rpb25zIGp1c3QgcmV0dXJucyB3aXRob3V0IHB1c2hpbmcgYW55dGhpbmcgdG8gdGhlCgkgIGRpc3Bvc2VkIHByZXZpZXcgcGlwZWxpbmUuIExlYXZlcyBmdXJ0aGVyIGFjdGlvbnMgdG8gdGhlIGFwcGxpY2F0aW9uLgoKMjAxMS0wNC0wOCAwOToyMjoxMSAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0Y2FtZXJhYmlucHJldmlldy5oOgoJICBiYXNlY2FtZXJhYmluc3JjOiBQcm90ZWN0aW9uIGZvciBwcmV2aWV3cGlwZWxpbmUgd2hlbiBzZXR0aW5nIG5ldyBwcmV2aWV3IGNhcHMKCSAgSW1wbGVtZW50cyBhIHN0YXRlIGluZGljYXRpbmcgZmxhZyB0byBwcmV2aWV3IHBpcGVsaW5lLAoJICBzbyB0aGF0IG5ldyBjYXBzIGFyZSBub3Qgc2V0IGlmIHRoZSBwaXBlbGluZSBpcyBwcm9jZXNzaW5nIGEKCSAgcHJldmlldy4gVGhlIGNhcHMgYXJlIHNldCBhcyBwZW5kaW5nIGFuZCBhcHBsaWVkIHdoZW4gdGhlCgkgIG5leHQgcHJldmlldyBwb3N0IGlzIGNhbGxlZC4KCSAgSW4gdGhpcyBjYXNlIGEgd2FpdCB3YXMgaW1wbGVtZW50ZWQgaW4gdGhlIHBvc3RfcHJldmlldyBmdW5jdGlvbiwKCSAgc28gdGhhdCBuZXcgcHJldmlldyBpbWFnZSBidWZmZXIgd2lsbCB3YWl0IHVudGlsIHRoZSBvdGhlciBwcmV2aWV3cwoJICBoYXZlIGJlZW4gcG9zdGVkIHRvIHRoZSBhcHBsaWNhdGlvbiBhbmQgdGhlIG5ldyBjYXBzIGNhbiBiZSB1c2VkCgkgIHNhZmVseS4KCjIwMTEtMDMtMjkgMTM6NDY6MDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBGaXggY29tcGlsZSBwcm9ibGVtIHdpdGggZGVidWcgZGlzYWJsZWQKCjIwMTEtMDMtMjMgMTg6NDE6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICBjYW1lcmFiaW4yOiB2aWV3ZmluZGVyYmluOiBQb3N0IG1pc3NpbmcgcGx1Z2luIG1lc3NhZ2VzCgkgIE1ha2VzIHZpZXdmaW5kZXJiaW4gcG9zdCBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyB3aGVuIGl0CgkgIGNhbid0IGNyZWF0ZSBhbiBpbnRlcm5hbCBlbGVtZW50cwoKMjAxMS0wMy0yMyAxODo0MDowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgbWlzc2luZyBwbHVnaW4gbWVzc2FnZQoJICBJbXByb3ZlcyB0aGUgbWVzc2FnZSB0ZXh0IGZvciBtaXNzaW5nIHBsdWdpbiBtZXNzYWdlcyBmcm9tCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDMtMjMgMTc6NDY6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBVcGRhdGUgcG9ydGluZyBmaWxlIHdpdGggbWVudGlvbiB0aGF0IHN0b3AtY2FwdHVyZSBpcyBub3cKCSAgYXN5bmMuCgoyMDExLTA0LTA4IDE3OjU4OjQyICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogQWxsb3cgZ3N0LWxhdW5jaCBwaXBlbGluZXMgZm9yIHNpbmtzCgkgIFVzZSBnc3RfcGFyc2VfbGF1bmNoICgpIHRvIHBhcnNlIHRoZSBzaW5rIHN0cmluZ3MgdG8gYWxsb3cgc3BlY2lmaWNhdGlvbgoJICBvZiBwcm9wZXJ0aWVzIHRvIHNpbmtzIGFuZCBvZiBtb3JlIGFkdmFuY2VkIHNpbmsgZ3JhcGhzLgoKMjAxMS0wNC0wNCAxMzoyODozMiArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBGaXggZGVidWcgcHJpbnQgdG8gc2hvdyBhdWRpby92aWRlbyBkZXBlbmRpbmcgb24gcGFkIHR5cGUKCjIwMTEtMDMtMzEgMTM6MDg6NDggKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogRml4IG9yZGVyIG9mIGVsZW1lbnQgc3RhdGUgY2hhbmdlCgkgIFRvIGNoYW5nZSB0aGUgc3RhdGUgb2YgZWxlbWVudHMgaW4gYSBwaXBlbGluZSwgd2Ugc2hvdWxkIG1pcnJvciB0aGUKCSAgYmVoYXZpb3VyIG9mIEdzdEJpbiB3aGljaCBzdGFydHMgYXQgdGhlIHNpbmsgZWxlbWVudCBhbmQgd29ya3MgaXRzIHdheQoJICB1cHN0cmVhbS4KCjIwMTEtMDQtMDEgMjI6MTM6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkZWJ1ZyBjb2RlIHN0eWxlIGZpeGVzCgoyMDExLTA0LTAxIDIyOjEzOjAwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogcHJvcGFnYXRlIGRvd25zdHJlYW0gZmxvdyByZXR1cm4gdG8gdXBzdHJlYW0KCjIwMTEtMDQtMDMgMjI6MzU6MTMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogaGFuZGxlIG1pc3NpbmcgZnJhbWVyYXRlIHdoZW4gY2FsY3VsYXRpbmcgdGltZXN0YW1wCgoyMDExLTA0LTAzIDIyOjMyOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGRlYnVnIGNvZGUgc3R5bGUgZml4ZXMKCjIwMTEtMDQtMDEgMjI6MTI6MzAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdHVuZSBwYXJzaW5nIHNpbmsgY2FwcyBpbnRvIHZpZGVvIHN0YXRlCgkgIC4uLiB0byBwcm92aWRlIHN1YmNsYXNzIHdpdGggbW9yZSBpbmZvcm1hdGlvbiB3LnIudC4gb3JpZ2luYWwgY2Fwcy4KCjIwMTEtMDQtMDEgMTg6NDk6MTAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogdmlkZW8gc3RhdGUgcmVmZXJlbmNlIHRvIGNvZGVjX2RhdGEgaXMgbm90IHJlZmNvdW50ZWQKCSAgLi4uIGJ1dCByYXRoZXIgaW1wbGljaXRseSB2YWxpZCBhcyBsb25nIGFzIHNpbmsgY2FwcyBhcmUgbm90IG1vZGlmaWVkLgoKMjAxMS0wNC0wMSAxODowMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBpbXByb3ZlIGdsaXRjaCByZXNpbGllbmNlCgkgIFByb3ZpZGUgYSByZXBsYWNlbWVudCBmb3IgR1NUX0VMRU1FTlRfRVJST1IgdG8gYXZvaWQgYWJvcnRpbmcgYXQgdGhlIGZpcnN0CgkgIGF0b20gb3V0IG9mIHBsYWNlLCB3aGlsZSBvbiB0aGUgb3RoZXIgaGFuZCBub3QgZmFpbGluZyBpbmRlZmluaXRlbHkuCgoyMDExLTAzLTMxIDE0OjQ3OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydAoKMjAxMS0wMy0zMCAxMDoyODowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiB1c2UgYmFzZXZpZGVvY29kZWMgZGlzY29udCBmaWVsZAoKMjAxMS0wMy0zMCAxMDoxODoyMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlYWxseSBhbmQgb25seSBzZXQgc3JjIHBhZCBjYXBzIHdoZW5ldmVyIHJlcXVlc3RlZAoJICAuLi4gc2luY2Ugc3ViY2xhc3MgaXMgZXhwZWN0ZWQgdG8gYmUgd2lzZSBlbm91Z2ggdG8ga25vdyB3aGVuIHRvIGRvIHNvLgoKMjAxMS0wMy0zMCAwOToxNzoyMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiBhZGQgc29tZSBzYW5pdHkgZW5mb3JjaW5nCgoyMDExLTAzLTMwIDA5OjE1OjEzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uCgkgIC4uLiBhbmQgcmVtb3ZlIHNvbWUgbW9yZSBzdHJheSB1bnVzZWQgY29kZSBhbmQgbWV0aG9kcy4KCjIwMTEtMDMtMjkgMTU6NDE6NTUgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiBmdWxseSBmcmVlIHZpZGVvIGZyYW1lCgoyMDExLTAzLTI5IDE1OjQxOjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN0cmVhbWxpbmUgZGlzY29udCwgZmx1c2ggYW5kIHJlc2V0IGhhbmRsaW5nCgkgIC4uLiB3aGljaCBpcyBub3QgdG8gc2F5IHRoZXJlIGlzIG5vIHJvb20gZm9yIGZ1cnRoZXIgdHdlYWtpbmcgLi4uCgoyMDExLTAzLTI5IDE1OjM5OjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBzb21lIGhlYWRlciBjb21tZW50YXJ5CgoyMDExLTAzLTI5IDEyOjU3OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHJlbW92ZSAoYWxtb3N0KSB1bnVzZWQgZmllbGRzCgkgIC4uLiBhbmQgYWxzbyBzb21lIG1vcmUgdW51c2VkIGNvZGUuCgoyMDExLTAzLTI5IDEwOjQxOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGludm9rZSBzdWJjbGFzcyBzdGFydCBtZXRob2QgYXQgc3RhdGUgY2hhbmdlIGFuZCB1c2Ugc2V0X2Zvcm1hdAoJICBXaGlsZSB0aGlzIGNoYW5nZXMgQVBJIHNsaWdodGx5IChlLmcuIGFjdHVhbGx5IHVzZXMgc2V0X2Zvcm1hdCBub3cpLCB3aGljaCBpcyBPSwoJICBmb3IgdW5zdGFibGUgQVBJLCBpdCBoYXMgZm9sbG93aW5nIG1lcml0czoKCSAgKiBzeW1tZXRyaWMgdy5yLnQuIHN0b3AgYXQgc3RhdGUgY2hhbmdlCgkgICogaW4gbGluZSB3aXRoIG90aGVyIGJhc2UgY2xhc3MgcHJhY3RpY2UKCSAgKiBvdGhlcndpc2Ugbm8gc3ViY2xhc3MgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZSAoZ2xvYmFsIGFjdGl2YXRpb24gdGltZSkKCSAgTW9yZW92ZXIsIHN1YmNsYXNzZXNlIGFyZSBlaXRoZXIgdW5hZmZlY3RlZCBvciB0cml2aWFsbHkgYWRqdXN0ZWQgYWNjb3JkaW5nbHkuCgoyMDExLTA0LTI4IDEyOjAyOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGZpeHVwIHR3ZWFrCgoyMDExLTAzLTI4IDE2OjE1OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBhbmQgdHdlYWsgZGVidWcgc3RhdGVtZW50cwoKMjAxMS0wMy0yOCAxMzozMjoxNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogYXJyYW5nZSBmb3IgbGltaXRlZCBsZWdhY3kgc2Vla2luZyBzdXBwb3J0CgkgIEluIHBhcnRpY3VsYXIsIHR3ZWFrIHNyYyBxdWVyeSBhbmQgZXZlbnQgaGFuZGxpbmcgdG8gcHJvdmlkZSBmb3IKCSAgYnl0ZSA8LT4gdGltZSBjb252ZXJzaW9uLgoKMjAxMS0wMy0yOCAxMToxNTo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkgIGJhc2V2aWRlbzogY2F0ZXIgZm9yIGZvcm1hdCBjb252ZXJzaW9uCgoyMDExLTAzLTI4IDEwOjUxOjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgdmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBmaWVsZHMgYW5kIGNvZGUKCjIwMTEtMDMtMjggMDk6MTQ6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogZml4IGNvcHktYW5kLXBhc3RlIHZhcmlhYmxlIG1pc25vbWVyCgoyMDExLTAzLTI4IDA4OjU5OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IHN1YnN1bWUgc2tpcF9mcmFtZSBpbnRvIGZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yOCAwODo1Njo1OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICBiYXNldmlkZW9kZWNvZGVyOiByZW1vdmUgdW51c2VkIGNvZGUKCjIwMTEtMDMtMjcgMjI6Mjc6MDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY29kZSBjbGVhbnVwIGFuZCBkZWJ1ZyBzdHlsZSBmaXhlcwoKMjAxMS0wMy0yNyAxNjozNjo1NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcGFzcyBhbG9uZyBidWZmZXIgZGlzY29udCBmbGFnCgoyMDExLTAzLTI1IDE1OjI5OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDExLTAzLTI1IDA5OjI4OjI0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGFkZCBkb2N1bWVudGF0aW9uIGFuZCByZWxhdGVkIGNvc21ldGljcwoKMjAxMS0wMy0yNCAxNDoxMDowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHByb3ZpZGUgcHJvcGVyIHVwc3RyZWFtIGZsb3cgcmV0dXJuIGhhbmRsaW5nCgoyMDExLTAzLTI0IDEzOjU5OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogbWlub3Igb3B0aW1pemF0aW9uIGluIHNldHRpbmcgdXAgaW1hZ2UgYnVmZmVyCgoyMDExLTAzLTI0IDEyOjUwOjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogcmVmYWN0b3IgZnJhbWUgcHJvY2Vzc2luZwoKMjAxMS0wMy0yNCAxMTo1NTo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IGRvIGluaXQgYXQgc2V0X2Zvcm1hdCB0aW1lCgoyMDExLTAzLTI0IDEwOjE1OjU1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogZml4IGtleWZyYW1lIGZvcmNpbmcKCjIwMTEtMDMtMjQgMDg6MjM6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSAgYmFzZXZpZGVvZW5jb2RlcjogZW5oYW5jZSBzZXRfY2FwcwoJICBTcGVjaWZpY2FsbHksIG9ubHkgaW52b2tlIHNldF9mb3JtYXQgaWYgaW5jb21pbmcgZm9ybWF0IHJlYWxseSBjaGFuZ2VkLAoJICBhbmQgZmluaXNoIGN1cnJlbnQgZm9ybWF0IGlmIHNvIChhbmQgaWYgYW55IGN1cnJlbnQpLgoKMjAxMS0wMy0yMyAyMjoxNzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbGFib3JhdGUgZmluaXNoIHRvIGRyYWluaW5nCgoyMDExLTAzLTI0IDA5OjIxOjA0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBpbnZva2Ugc3ViY2xhc3Mgc3RhcnQgbWV0aG9kIGF0IHN0YXRlIGNoYW5nZQoJICBXaGlsZSB0aGlzIGNoYW5nZXMgb3JkZXIgdy5yLnQuIHNldF9mb3JtYXQsIHdoaWNoIGlzIE9LIGZvciB1bnN0YWJsZSBBUEksCgkgIGl0IGhhcyBmb2xsb3dpbmcgbWVyaXRzOgoJICAqIHN5bW1ldHJpYyB3LnIudC4gc3RvcCBhdCBzdGF0ZSBjaGFuZ2UKCSAgKiBpbiBsaW5lIHdpdGggb3RoZXIgYmFzZSBjbGFzcyBwcmFjdGljZQoJICAqIGxpdHRsZSBiZW5lZml0IGluIGludm9raW5nIDIgc3ViY2xhc3MgdmlydHVhbCBtZXRob2RzIChzZXRfZm9ybWF0IGFuZCBzdGFydCkKCSAgaW4gaW1tZWRpYXRlIHN1Y2Nlc3Npb247IGFsbCBhY3Rpb25zIGluIHRoZSBzZWNvbmQgY291bGQgYmUgZG9uZSBpbiB0aGUgZmlyc3QKCSAgd2hlcmVhcyBzdWJjbGFzcyBoYXMgbm8gY2hhbmNlIHRvIGRvIGFueXRoaW5nICdnbG9iYWwnIGF0IGFjdGl2YXRpb24gdGltZQoJICBNb3Jlb3ZlciwgY3VycmVudCAtYmFkIHN1YmNsYXNzIHJlbGV2YW50IG1ldGhvZHMgZWl0aGVyIHRyaXZpYWxseSBjb21tdXRlCgkgIG9yIGFyZSBlaXRoZXIgdHJpdmlhbGx5IGFkanVzdGVkIGFjY29yZGluZ2x5LgoKMjAxMS0wMy0yNCAwODoyMTowMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiBlbmFibGUgY2xpcHBpbmcgYnkgZGVmYXVsdAoKMjAxMS0wMy0yNCAwODoxNzo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW9lbmNvZGVyOiByZXNldCBtb3JlIHN0YXRlCgoyMDExLTAzLTI0IDA4OjU2OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGhlYWRlciBjb3NtZXRpYyBhbmQgZG9jIGZpeGVzCgoyMDExLTAzLTIzIDA5OjQ1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2NvZGVjOiByZW1vdmUgcmVkdW5kYW50IGNhcHMgZmllbGQKCSAgLi4uIGFzIGl0IGlzIGFscmVhZHkgYXQgaGFuZCBhcyB0aGUgc3JjIHBhZCdzIG5lZ290aWF0ZWQgY2Fwcy4KCjIwMTEtMDMtMjMgMDk6MzI6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogcmVtb3ZlIHVudXNlZCBjb2RlCgoyMDExLTAzLTIzIDA4OjUwOjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmg6CgkgIHZwOGVuYzogdXNlIGJhc2VjbGFzcyBldmVudCB2aXJ0dWFsIGhhbmRsZXIKCjIwMTEtMDMtMjMgMDg6NDk6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogYWRkIGV2ZW50IHZpcnR1YWwgbWV0aG9kIHRvIGFsbG93IHN1YmNsYXNzIGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIzIDA4OjM1OjUxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkgIGJhc2V2aWRlb2VuY29kZXI6IGltcHJvdmUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IGhhbmRsaW5nCgoyMDExLTAzLTIyIDEzOjE5OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJICBiYXNldmlkZW9jb2RlYzogZGVidWcgc3R5bGUgZml4ZXMKCjIwMTEtMDMtMjEgMTg6MDI6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHVudXNlZCBjb2RlIGNsdXR0ZXJpbmcgdXAgdGhlIHBsYWNlCgkgIEFsc28gbWlub3IgZGVidWcgc3R5bGUgZml4ZXMuCgoyMDExLTAzLTIxIDE3OjQ0OjE3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlb2VuY29kZXI6IHNpbXBsaWZ5IG5lZ290aWF0ZWQgY2hlY2tpbmcKCSAgLi4uIGJ5IGF2b2lkaW5nIHNvbWUgZXh0cmFuZW91cyAodW4pcmVmJ2luZy4KCjIwMTEtMDMtMjQgMTQ6MTY6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSAgYmFzZXZpZGVvZW5jb2RlcjogY29kZSBjbGVhbnVwIGFuZCBzb21lIGRlYnVnCgkgIEFsc28gYWRkIHNvbWUgbWlub3IgbG9ja2luZyBhbmQgcmVtb3ZlIHVudXNlZCBiaXRzLgoKMjAxMS0wNS0xNiAwOTowNzo1NyArMDIwMCAgUGlubyBUb3NjYW5vIDx0b3NjYW5vLnBpbm9AdGlzY2FsaS5pdD4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSBQQVRIX01BWAoJICBQQVRIX01BWCBpcyBub3QgZGVmaW5lZCBvbiBHTlUgSHVyZCBhbmQgb3RoZXJzLiBBbHNvIGZpeAoJICBmb3JtYXQgc3RyaW5nLgoKMjAxMS0wNS0xNCAxNDo0ODo1NiArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGdzdC9kY2NwOiBmaXggYnVpbGQgb24gbmV3ZXIgbWluZ3cKCSAgRml4IHRoaXMgYnVpbGQgZXJyb3I6CgkgIENDICAgICBsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG8KCSAgSW4gZmlsZSBpbmNsdWRlZCBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoyOTowLAoJICBmcm9tIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BwbHVnaW4uYzoyNDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDozMjowOiB3YXJuaW5nOiBXSU5WRVIgcmVkZWZpbmVkIFtlbmFibGVkIGJ5IGRlZmF1bHRdCgkgIC91c3IvaTY4Ni13NjQtbWluZ3czMi9zeXMtcm9vdC9taW5ndy9pbmNsdWRlL19taW5ndy5oOjIzMTowOiBub3RlOiB0aGlzIGlzIHRoZSBsb2NhdGlvbiBvZiB0aGUgcHJldmlvdXMgZGVmaW5pdGlvbgoJICBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHBsdWdpbi5jOjI0OjA6CgkgIC4uLy4uLy4uL2dzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDo1ODozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjU6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuaDo3NDozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6MjY6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDo2NzozOiBlcnJvcjogdW5rbm93biB0eXBlIG5hbWUgJ3VpbnQ4X3QnCgkgIEluIGZpbGUgaW5jbHVkZWQgZnJvbSAuLi8uLi8uLi9nc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6Mjc6MDoKCSAgLi4vLi4vLi4vZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOjU4OjM6IGVycm9yOiB1bmtub3duIHR5cGUgbmFtZSAndWludDhfdCcKCSAgbWFrZTogKioqIFtsaWJnc3RkY2NwX2xhLWdzdGRjY3BwbHVnaW4ubG9dIEVycm9yIDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY1MDE3MQoKMjAxMS0wNS0xNSAxMDowNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYnVtcCB0aGUgcmFuayBvZiBxdGtpdHZpZGVvc3JjIHRvIFBSSU1BUlkKCjIwMTEtMDUtMTUgMTA6MDA6NDQgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsczogZml4IGhhbmRsaW5nIG9mIHN0cm9sKCkgb3ZlcmZsb3dzCgoyMDExLTA1LTE0IDEyOjE4OjE5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJICBjcnVmdDogQWRkIGV4dC9hbXJ3YmVuYyBkaXJlY3RvcnksIGl0J3MgZXh0L3ZvYW1yd2JlbmMgbm93CgoyMDExLTA1LTEzIDAxOjAzOjI3ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkgIGJhc2V2aWRlZW5jb2RlcjogRml4IHVzZSBhZnRlciBmcmVlIGFmdGVyIHN0YXRlIGNoYW5nZSB0cmFuc2l0aW9uCgoyMDExLTA0LTE4IDIzOjQwOjM1ICswMzAwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPHNyZWVyZW5qLmJhbGFjaGFuZHJhbkBub2tpYS5jb20+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUmVtb3ZlIGRlYWQgY29kZSBhbmQgc29tZSBtaW5vciBkb2MgY2hhbmdlcy4KCjIwMTEtMDQtMjQgMjE6MDY6MjkgKzAzMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8c3JlZXJlbmouYmFsYWNoYW5kcmFuQG5va2lhLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJICBlZGdlZGV0ZWN0OiBSZW1vdmUgZGVhZCBjb2RlIGFuZCBzb21lIG1pbm9yIGRvYyBjaGFuZ2VzCgoyMDExLTA0LTE5IDE5OjA5OjMwICswMjAwICBMdWlzIGRlIEJldGhlbmNvdXJ0IDxsdWlzLmRlYmV0aGVuY291cnRAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5oOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5oOgoJICBjb2xvcmVmZmVjdHM6IENvZGluZyBzdHlsZSBmaXhlcwoKMjAxMS0wNC0xOSAxMDozMjo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2FhY2VuYy54bWw6CgkgIGFhY2VuYzogSW50ZWdyYXRlIGludG8gdGhlIGRvY3VtZW50YXRpb24KCjIwMTEtMDQtMTkgMTA6MDc6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiZW5jL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2JlbmMvUkVBRE1FOgoJKiBleHQvdm9hbXJ3YmVuYy9Hc3RWb0FtcndiRW5jLnByczoKCSogZXh0L3ZvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FtcndiZW5jL2dzdHZvYW1yd2IuYzoKCSogZXh0L3ZvYW1yd2JlbmMvZ3N0dm9hbXJ3YmVuYy5jOgoJKiBleHQvdm9hbXJ3YmVuYy9nc3R2b2FtcndiZW5jLmg6CgkgIGFtcndiZW5jOiBTd2l0Y2ggdG8gdGhlIGZyZWUgdm8tYW1yd2JlbmMgbGlicmFyeQoJICBBbmQgcmVuYW1lIGV2ZXJ5dGhpbmcgdG8gdm9hbXJ3YmVuYyBpbnN0ZWFkIG9mIGFtcndiZW5jLgoKMjAxMS0wNC0xNSAxMToxOToyMCArMDIwMCAgYmVuamFtaW4gZ2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogRGV0ZWN0IG91dHB1dCBmb3JtYXQgZnJvbSBkb3duc3RyZWFtIGNhcHMgY2hhbmdlIHVuaXQgdGVzdAoKMjAxMS0wNC0xOSAwOTo1MjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdm9hYWVuYzogRml4IENGTEFHUy9MSUJTIG9mIHRoZSB1bml0IHRlc3QKCjIwMTEtMDQtMTkgMDk6NDk6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmM6CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5oOgoJICB2b2FhY2VuYzogT25seSBnZW5lcmF0ZSBzaW5rY2FwcyBvbmNlIGFuZCBpbiBhIHRocmVhZHNhZmUgd2F5CgoyMDExLTA0LTE5IDA5OjQyOjIyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIE5VTEwgdGVybWluYXRvciB0byBnc3Rfc3RydWN0dXJlX25ldygpCgoyMDExLTA0LTE5IDA5OjQwOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhY2VuYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuaDoKCSAgdm9hYWNlbmM6IFNvbWUgbWlub3IgY2xlYW51cAoKMjAxMS0wNC0xOSAwOTozNDowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkgIHZvYWFjZW5jOiBGaXggQ0ZMQUdTIGFuZCBMSUJTCgoyMDExLTA0LTE4IDE3OjE5OjAwICswMjAwICBiZW5qYW1pbiBnYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAbGluYXJvLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdm9hYWNlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC92b2FhY2VuYy9nc3R2b2FhYy5jOgoJKiBleHQvdm9hYWNlbmMvZ3N0dm9hYWNlbmMuYzoKCSogZXh0L3ZvYWFjZW5jL2dzdHZvYWFjZW5jLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2FhY2VuYy5jOgoJICB2b2FhY2VuYzogQWRkIG5ldyBwbHVnaW4gZm9yIGF1ZGlvIEFBQyBlbmNvZGVyIGJhc2VkIG9uIHZvLWFhY2VuYyBsaWIKCSAgQWRkIHBsdWdpbiBhbmQgdW5pdCB0ZXN0LgoJICBGaXhlcyBidWcgIzY0Nzc0OC4KCjIwMTEtMDUtMTQgMTA6MTk6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMiA9PT0KCjIwMTEtMDUtMTAgMTE6MzU6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMgoJICBIaWdobGlnaHRzOgoJICAtIGhsc2RlbXV4OiBBZGQgSFRUUCBsaXZlIHN0cmVhbWluZyBwYXJzZXIvZGVtdXhlciBlbGVtZW50CgkgIC0gbmV3IGVsZW1lbnRzOiBoMjYzcGFyc2UsIHplYnJhc3RyaXBlLCBwYXRjaGRldGVjdAoJICAtIHNjZW5lY2hhbmdlOiBuZXcgc2NlbmUgY2hhbmdlIGRldGVjdGlvbiBlbGVtZW50CgkgIC0gcmVtb3ZlZCBhdWRpb3BhcnNlcnNiYWQgcGx1Z2luLCBpdCBoYXMgYmVlbiBtb3ZlZCB0byAtZ29vZAoJICAtIG1ha2Ugb3BlbmN2IHBsdWdpbiB3b3JrIHdpdGggT3BlbkNWIDIuMgoJICAtIGNvdW50bGVzcyAoc3RpbGwgZXhwZXJpbWVudGFsKSBjYW1lcmFiaW4yIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCSAgLSBleHBlcmltZW50YWwgVlA4IFJUUCBwYXlsb2FkZXIvZGVwYXlsb2FkZXIgKFJUUCBwYXlsb2FkaW5nIG5vdCBmaW5hbGlzZWQgeWV0KQoJICAtIGN1cmxzaW5rOiBhZGQgbGliY3VybC1iYXNlZCBzaW5rIGVsZW1lbnQgKGFjdHMgYXMgY2xpZW50LCBub3Qgc2VydmVyKQoJICAtIGRlY2tsaW5rOiBhZGQgZGVja2xpbmsgcGx1Z2luCgkgIC0gbGluc3lzOiBhZGQgcGx1Z2luIGZvciBMaW5lYXIgU3lzdGVtcyBTREkgYm9hcmRzCgkgIC0gc2RpOiBhZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCSAgLSBjYW1lcmFiaW4gbm93IHJlbGllcyBvbiBtdXhlcnMgdG8gbXV4IGJhc2VkIG9uIHJ1bm5pbmcgdGltZSAoaWUuIGxhdGVzdCBiYXNlL2dvb2QvdWdseSByZWxlYXNlcykKCSAgLSBtYW55IG90aGVyIGZpeGVzIGFuZCBpbXByb3ZlbWVudHMKCjIwMTEtMDUtMDUgMDk6NTQ6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkgIGNhbWVyYWJpbjogVXNlIHJ1bm5pbmcgdGltZSBmb3IgbXV4aW5nCgkgIFRoaXMgcGF0Y2ggcmVtb3ZlcyB0aGUgYXVkaW8gc291cmNlIGJ1ZmZlciBwcm9iZSB0aGF0IHdhcyB1c2VkCgkgIHRvIHJlLXRpbWVzdGFtcCBidWZmZXJzIHRvIG1ha2UgdGhlbSBzdGFydCBmcm9tIDAuIEFzIG11eGVycwoJICBoYXZlIGJlZW4gZml4ZWQgdG8gdXNlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRpbWVzdGFtcHMsIHRoaXMKCSAgaXMgbm90IG5lZWRlZCBhbnltb3JlLgoJICBGaXhlcyBidWcgIzY0NjIxMQoKMjAxMS0wNC0yMSAxOTo1ODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkgIGNhbWVyYWJpbjogRml4IHR5cG8KCjIwMTEtMDUtMDQgMTI6MzY6MDEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkbyBub3QgbGVhayBwZWVyIHBhZCByZWZlcmVuY2UKCjIwMTEtMDUtMDMgMTU6NDc6MDIgKzAxMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBBbHdheXMgcmV0dXJuIHJlZmZlZCBjYXBzIGZyb20gX2dldGNhcHMKCSAgTm90IHJldHVybmluZyByZWYgY2FwcyB3aWxsIGxlYWRzIHRvIGNyYXNoZXMgYW5kIHJlZmNvdW50aW5nIGlzc3VlcyBpbgoJICB1cHN0cmVhbSBlbGVtZW50cwoKMjAxMS0wNC0xNCAxMzozNDo1MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBzZXQgZHVyYXRpb24gaW4gb3V0Z29pbmcgYnVmZmVycwoJICBDdXJyZW50bHkgd2UgcHVzaCBlYWNoIGZyYWdtZW50IGFzIGEgc2luZ2xlIGJ1ZmZlci4KCjIwMTEtMDUtMDMgMTI6MDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogZml4IERVUkFUSU9OIHF1ZXJ5IGhhbmRsaW5nCgkgIE9ubHkgYW5zd2VyIGR1cmF0aW9uIHF1ZXJpZXMgaW4gVElNRSBmb3JtYXQgd2l0aCBhIGR1cmF0aW9uCgkgIGluIHNlY29uZHMuIE1ha2Ugc3VyZSB3ZSBkb24ndCByZXR1cm4gR1NUX0NMT0NLX1RJTUVfTk9ORSBhcwoJICBkdXJhdGlvbiAod2hpY2ggaXMgbm9uLTAsIGJ1dCBzdGlsbCBpbnZhbGlkL3VzZWxlc3MpLgoKMjAxMS0wNS0wMyAxMTo1MTo0NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBpbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoKMjAxMS0wNS0wMyAwOTo1NTo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgZHZiOiBVc2UgdGhlIHVzZXIgY29uZmlnIGRpciBpbnN0ZWFkIG9mIHRoZSBjYWNoZSBkaXIgZm9yIHRoZSBjaGFubmVscyBjb25maWd1cmF0aW9uCgoyMDExLTA0LTI5IDE0OjM3OjA0ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgIGR2YjogbW92ZWQgZHZiLWNoYW5uZWxzLmNvbmYgdG8gJFhER19DQUNIRV9IT01FCgoyMDExLTA0LTMwIDE5OjQ3OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yc3BhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY3VybC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9mci5wbzoKCSogcG8vdWsucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMS40IHByZS1yZWxlYXNlCgoyMDExLTA0LTMwIDE5OjQ2OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkgIFVwZGF0ZSBvcmMtZ2VuZXJhdGVkIGRpc3RlZCBDIGJhY2t1cCBjb2RlIHRvIG9yYyAwLjQuMTQKCjIwMTEtMDQtMzAgMTk6MTU6MTEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBwdXNoIGJ1ZmZlcnMgc21hbGxlciB0aGFuIG1pbi1zaXplIG9uIGVvcwoJICBXaGVuIHB1c2hpbmcgdGhlIHJlbWFpbmluZyBkYXRhIG9uIEVPUywgZG9uJ3QganVzdCBwdXNoIHdoYXRldmVyCgkgIGRhdGEgaXMgbGVmdCBpbiB0aGUgYWRhcHRlciwgYnV0IG9ubHkgcHVzaCBkYXRhIHRoYXQncyBhdCBsZWFzdAoJICBvZiBtaW4tc2l6ZS4KCjIwMTEtMDQtMzAgMTk6MDg6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hvcG15ZGF0YS5jOgoJICBjaG9wbXlkYXRhOiBkb24ndCBtZXNzIHdpdGggYWRhcHRlciBmcm9tIG5vbi1zdHJlYW1pbmcgdGhyZWFkIG9uIEZMVVNIX1NUQVJUCgkgIERvbid0IHRyeSB0byBwdXNoIHJlbWFpbmluZyBkYXRhIGluIHRoZSBhZGFwdGVyIG9uIHJlY2VpdmluZyBhIEZMVVNIIGV2ZW50LAoJICBqdXN0IGZsdXNoIHRoZSBhZGFwdGVyLiBEbyB0aGlzIG9uIEZMVVNIX1NUT1AsIGhvd2V2ZXIsIHdoaWNoIGlzIHNlcmlhbGl6ZWQsCgkgIHVubGlrZSBGTFVTSF9TVEFSVCwgc28gd2UgZG9uJ3QgbWVzcyB3aXRoIHRoZSBhZGFwdGVyIGF0IHRoZSBzYW1lIHRpbWUgYXMKCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQuCgoyMDExLTA0LTMwIDExOjI4OjAzICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBhZGQgcGx1Z2luIGRlc2NyaXB0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDkwMDUKCjIwMTEtMDQtMjkgMTI6Mzk6MzggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgdHNkZW11eDogRG9uJ3QgbGVhayBidWZmZXJsaXN0IG9uIHN0cmVhbXMgd2l0aG91dCBwYWRzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjkgMTI6Mzg6MzEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzYmFzZTogVW5yZWYgYnVmZmVycyB3ZSBkb24ndCB1c2UuCgkgIEF2b2lkcyBhIG1hc3NpdmUgbGVhayA6KQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ4OTI5CgoyMDExLTA0LTI5IDEyOjA4OjM4ICswMjAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2Jhc2U6IERvbid0IGZvcmdldCB0byBmcmVlIHRoZSBwcm9ncmFtIHN0cmVhbXMgYXJyYXkKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0ODkyOQoKMjAxMS0wNC0yOSAxMjowODowNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICB0c2RlbXV4OiBGcmVlIHBhY2tldCBidWZmZXIgZXZlbiBpZiBpdCBkb2Vzbid0IGhhdmUgYSBwYXlsb2FkCgkgIFRoaXMgY2FuIGhhcHBlbiB3aXRoIEFGQy1vbmx5IHBhY2tldHMuIEF2b2lkcyBsZWFraW5nIGJ1ZmZlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDg5MjkKCjIwMTEtMDQtMjggMTA6MDc6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBkZWNrbGluazogQ2hlY2sgZm9yIHB0aHJlYWQuaCBhbmQgbGluayB3aXRoIC1scHRocmVhZAoKMjAxMS0wNC0yOCAxMDowNDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBBZGQgdG8gU1VCRElSUwoKMjAxMS0wNC0yOCAwMDowMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWN1cmwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcDJrZGVjaW1hdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vcGVuY3YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0bXBzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cHZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIHBvL2JnLnBvOgoJKiBwby9qYS5wbzoKCSogcG8vbmwucG86CgkqIHBvL3BsLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2wucG86CgkqIHBvL3RyLnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMyBwcmUtcmVsZWFzZQoKMjAxMS0wNC0yNyAyMzo0MzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgdG9vbHM6IGRpc2FibGUgbmV3IGdzdC1lbGVtZW50LW1ha2VyIHRlc3QKCSAgSXQgZG9lc24ndCBzZWVtIHRvIHdvcmsgaW4gYW4gdW5pbnN0YWxsZWQgc2V0dXAsIGFuZAoJICBicmVha3MgbWFrZSBkaXN0Y2hlY2sgZm9yIG1lLgoKMjAxMS0wNC0yNyAwMToxNDoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkgIGVsZW1lbnQtbWFrZXI6IHRoZSBicm9la24gdGVtcGxhdGVzIGFyZSBub3QgYnJvZWtuLCBidXQgZGVwZW5kZW5jaWVzCgkgIFJlbmFtZSB0aGUgbGlzdCBhbmQgZGlzdCB0aGVtLiBXZSBuZWVkIHRoZW0gZm9yIHRoZSBhY3R1YWwgdGVtcGxhdGVzLgoKMjAxMS0wNC0yNiAxNToxMzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdG9vbHMvTWFrZWZpbGUuYW06CgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBzZXQgQ1BQRkxBR1MgdG8gbWFrZSB0ZW1wbGF0ZXMgdXNpbmcgdW5pbnN0YWxsZWQgaGVhZGVycyB3b3JrCgoyMDExLTA0LTI2IDE0OjIxOjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC1tYWtlcjogZml4dXAgZ29iamVjdCB0ZW1wbGF0ZSBhIGJpdCBidXQgZGlzYWJsZSBmb3Igbm93CgkgIFRoZSB0ZW1wbGF0ZSBjb250YWlucyB0aGluZ3Mgd2UgYWxyZWFkeSBkZWZpbmUgYnkgZGVmYXVsdC4KCjIwMTEtMDQtMjYgMTQ6MTA6MDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2F1ZGlvZmlsdGVyOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvY2RkYWJhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL3RhZ2RlbXV4OgoJICBlbGVtZW50LXRlbXBsYXRlczogZml4IHRlbXBsYXRlcwoJICBVc2UgdGhlIG9iamVjdCBjbGFzcyBhbmQgbm90IHRoZSBvYmplY3QgaW4gdGhlIGluaXQgZnVuY3Rpb24uIFNldCB0aGUgdm1ldGhvZHMuCgkgIEFkZCBkZWZhdWx0IHJldHVybnMuCgoyMDExLTA0LTI2IDE0OjA4OjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZG9uJ3QgZGlzdCBpbmNvbXBsZXRlIHRlbXBsYXRlcwoJICBNb3ZlIG5vdCB3b3JraW5nIHRlbXBsYXRlcyB0byBhIHNlcGFyYXRlIHZhcmlhYmxlIHRvIGhpZ2hsaWdodCB0aGUgZmFjdCB0aGF0CgkgIHRoZXkgbmVlZCBtb3JlIHdvcmsuIFRoZXNlIG5lZWQgYXQgbGVhc3QgdGhlIGNsYXNzIGFuZCB0eXBlIGZpZWxkcyBmaWxsZWQuCgoyMDExLTA0LTI2IDEzOjQ0OjA0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXItdGVzdC5zaDoKCSAgZWxlbWVudC1tYWtlci10ZXN0OiB0cnkgdG8gcnVuIGVsZW1lbnQtbWFrZXIgZm9yIGFsbCB0ZW1wbGF0ZXMKCSAgQWRkIGFuIGVhc3kgd2F5IHRvIGNoZWNrIHRoZSBlbGVtZW50LW1ha2VyIHRlbXBsYXRlcy4KCjIwMTEtMDQtMjYgMTM6NDI6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBtYWtlIGl0IGZhaWwsIHdoZW4gY29tcGlsYXRpb24gZmFpbHMKCjIwMTEtMDQtMTkgMTU6MDk6NTQgLTA0MDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBhbGxvdyB0byBydW4gZnJvbSBhIGRpZmZlcmVudCB3b3JraW5nIGRpcmVjdG9yeQoJICBHZXQgdGhlIGRpcm5hbWUgZm9yIHRoZSBzY3JpcHQgYW5kIHVzZSB0aGF0IHRvIHJlZmVyZW5jZSB0aGUgdGVtcGxhdGVzLiBVc2UgdGhlCgkgIHRlbXBsYXRlZGlyIHZhcmlhYmxlIHRvIGNoZWNrIGZvciB0ZW1wbGF0ZXMuCgoyMDExLTA0LTE2IDE5OjQyOjQ4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBsb3dlcmNhc2lmeSBpbnB1dAoJICBUaGlzIGFsbG93cyB1c2luZyBjYXBpdGFsaXplZCBhY3JvbnltcyBpbiBjbGFzcyBuYW1lcywgc28gdXNpbmcKCSAgIkFWQ19zcmMiIG9uIHRoZSBjb21tYW5kIGxpbmUgd2lsbCBjcmVhdGUgZmlsZW5hbWUgZ3N0YXZjc3JjLmMsCgkgIGNsYXNzIG5hbWUgR3N0QVZDU3JjLCBhbmQgc3ltYm9sIG5hbWVzIGdzdF9hdmNfc3JjXyouCgoyMDExLTA0LTI0IDE2OjQyOjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXgsdHNkZW11eDogQWRkIGJ5dGUtc3RyZWFtIHRvIGgyNjQgY2FwcwoJICBGaXhlcyAjNjA2NjYyLgoKMjAxMS0wNC0yNCAxNjowMDowMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW9lbmNvZGVyOiBEb24ndCBhbGxvdyBidWZmZXJzIGFmdGVyIEVPUwoJICBGaXhlcyAjNjQ3ODUyLgoKMjAxMS0wNC0yNCAxNTo0OTo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IERvbid0IGR1cGxpY2F0ZSBjb2RlIGluIGJhc2V2aWRlb2NvZGVjCgkgIEJvdGggYmFzZXZpZGVvZW5jb2RlciBhbmQgYmFzZXZpZGVvY29kZWMgd2VyZSBzZXR0aW5nCgkgIHN5c3RlbV9mcmFtZV9udW1iZXIsIGxlYWRpbmcgdG8gY29uZnVzaW9uLiAgRml4ZXMgIzY0Nzg1My4KCjIwMTEtMDQtMTQgMTY6MjE6MTUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBDaGVjayBpZiBjYXBzIGFyZSBzZXQgZGlyZWN0bHkKCSAgRml4ZXMgIzY0Nzg1NC4KCjIwMTEtMDQtMTcgMDA6MDg6MzkgKzAxMDAgIE1paGFpIERyYWdoaWNpb2l1IDxtaWhhaS5kcmFnaGljaW9pdUBnbWFpbC5jb20+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IGZpeCBpbmZpbml0ZSBsb29waW5nIGJ5IGZhZGluZyBvdXQgYWZ0ZXIgdHdvIGxvb3BzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDczNjQKCjIwMTEtMDQtMjQgMTQ6MDQ6MTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjM2NhZmUxIHRvIDQ2ZGZjZWEKCjIwMTEtMDQtMjIgMDk6Mzc6MjkgKzAxMDAgIEZhYnJpemlvIE1pbG8gPG1pc3RvYmFhbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWJsdXIuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5oOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5Lmg6CgkgIG9wZW5jdjogbWFrZSB3b3JrIHdpdGggb3BlbkNWIDIuMgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxNzk2CgoyMDExLTA0LTE5IDE3OjAyOjQ1ICswMTAwICBDaHJpc3RpYW4gRnJlZHJpayBLYWxhZ2VyIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIEFkZCBsYXRlc3QgcGx1Z2lucyB0byBzcGVjIGZpbGUKCjIwMTEtMDQtMTUgMjI6MjU6MjcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBBZGQgYnl0ZS1zdHJlYW0gdG8gaDI2NCBjYXBzCgoyMDExLTA0LTE4IDEyOjAxOjA3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL214Zm11eC5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbXhmLmM6CgkgIHdhdnBhY2s6IFJlbW92ZSBidXMgR1NvdXJjZSB0byBwcmV2ZW50IGEgdmFsZ3JpbmQgd2FybmluZwoKMjAxMS0wNC0xOCAxMTo1NzoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzoKCSAgb2ZhOiBSZW1vdmUgYnVzIEdTb3VyY2UgdG8gcHJldmVudCBhIHZhbGdyaW5kIHdhcm5pbmcKCjIwMTEtMDQtMTggMTE6NTA6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVtb3ZlIGJ1cyBHU291cmNlIHRvIHByZXZlbnQgYSB2YWxncmluZCB3YXJuaW5nCgoyMDExLTA0LTE4IDExOjQ2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSAgZGVja2xpbms6IFJlbW92ZSB1bnVzZWQvdW5uZWVkZWQgQ0ZMQUdTL0xJQlMgYW5kIG1vdmUgJChMSUJNKSB0byBMSUJBREQKCjIwMTEtMDQtMTggMTE6NDM6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2xpbnN5cy9NYWtlZmlsZS5hbToKCSAgbGluc3lzOiBMaW5rIHdpdGggbGliZ3N0YmFzZSBmb3IgYmFzZXNpbmsvYmFzZXNyYwoJICBBbmQgcmVtb3ZlIGVtcHR5IGFuZCB1bnVzZWQgdmFyaWFibGVzLgoKMjAxMS0wNC0xNyAxOTowOTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZGVja2xpbmsvTWFrZWZpbGUuYW06CgkgIGRlY2tsaW5rOiBEaXN0IGFsbCBoZWFkZXJzIGFuZCBwdXQgdGhlbSBpbiBub2luc3RfSEVBREVSUwoKMjAxMS0wNC0xNyAxOTowOToxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvbGluc3lzL01ha2VmaWxlLmFtOgoJICBsaW5zeXM6IERpc3QgYWxsIGhlYWRlcnMgYW5kIHB1dCB0aGVtIGluIG5vaW5zdF9IRUFERVJTCgoyMDExLTA0LTE3IDExOjU0OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbGluc3lzL2RlY2tsaW5rIGNoZWNrcyBmb3IgTGludXgKCjIwMTEtMDQtMTcgMDE6MTA6MTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjEuMiBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNyAwMTowOTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpc29yYy1kaXN0Lmg6CgkgIGV4dCwgZ3N0OiB1cGRhdGUgZGlzdGVkIG9yYyBiYWNrdXAgZmlsZXMKCjIwMTEtMDQtMTcgMDA6NTQ6NTAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c2RlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBkb2NzIGZvciBwcmUtcmVsZWFzZQoKMjAxMS0wNC0xNiAxNjozNjowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoKMjAxMS0wNC0xNCAyMDo0Njo1MiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IHJlZmFjdG9yIGJsaXR0aW5nLCBhdm9pZCB3cml0aW5nIHBhc3QgZW5kIG9mIGJ1ZmZlcgoJICBQcmV2aW91cyBibGl0dGluZyBjb2RlIGNvdWxkIHBvdGVudGlhbGx5IHdyaXRlIHBhc3QgdGhlCgkgIGVuZCBvZiB0aGUgYnVmZmVyIGlmIHRoZSB4IG9yIHkgcG9zaXRpb24gd2FzIG9kZCwgYW5kIGZvcgoJICB0aGUgc2FtZSB1bmRlcmx5aW5nIHJlYXNvbiwgZGlkbid0IGdldCB0aGUgY2hyb21hIHJlZ2lzdHJhdGlvbgoJICBjb3JyZWN0IGluIHRoZSBvZGQgcG9zaXRpb24gY2FzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzgzMAoKMjAxMS0wNC0xNiAxMToxODo0NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTA0LTE0IDIwOjM5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgZm9yZ2V0IHRvIHVucmVmIHRoZSBmZm1wZWdjb2xvcnNwYWNlCgkgIERvIG5vdCBsZWFrIHRoZSBmZm1wZWdjb2xvcnNwYWNlIGJ5IHVucmVmaW5nIGl0IGF0IGRpc3Bvc2UKCjIwMTEtMDQtMTQgMTY6NDg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIHRlc3Q6IGNhbWVyYWJpbjogTW9yZSBsZWFrIGZpeGVzCgoyMDExLTA0LTE1IDEwOjQxOjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIG00L2dzZXR0aW5ncy5tNDoKCSAgbTQ6IFVwZGF0ZSBnc2V0dGluZ3MgbTQgbWFjcm9zCgoyMDExLTA0LTE0IDE2OjI0OjQ3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjExCgoyMDExLTA0LTE1IDAwOjA5OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2hlY2tzdW1zaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RmaXNoZXllLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJICBGaXggc29tZSB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTk6NTM6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvZ29iamVjdDoKCSAgZWxlbWVudC10ZW1wbGF0ZXM6IGNsZWFuIHVwIGdvYmplY3QgdGVtcGxhdGUgYSBiaXQKCSAgUmVtb3ZlIHBvaW50bGVzcyBnX3JldHVybl9pZl9mYWlsIChHX0lTX0ZPTyAob2JqKSkgY2hlY2tzIGluCgkgIHZmdW5jIGltcGxlbWVudGF0aW9ucy4gQ29tbWVudCBvdXQgdW51c2VkIHZhcmlhYmxlcyB0byBhdm9pZAoJICB3YXJuaW5ncyB3aXRoIGdjYyA0LjYuCgoyMDExLTA0LTE0IDE4OjM2OjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIGFzZm11eDogZml4IHVudXNlZC1idXQtc2V0LXZhcmlhYmxlIHdhcm5pbmdzIHdpdGggZ2NjIDQuNgoKMjAxMS0wNC0xNCAxODozNjowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmM6CgkgIGJheWVyOiBmaXggdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUgd2FybmluZ3Mgd2l0aCBnY2MgNC42CgoyMDExLTA0LTE0IDE0OjMyOjAyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IExlYWsgZml4ZXMgZm9yIHRoZSB1bml0IHRlc3RzCgkgIExlYWsgZml4ZXMgcmVsYXRlZCB0byBub3QgcmVtb3ZpbmcgdGhlIHNvdXJjZSByZXR1cm5lZCBmcm9tCgkgIGdzdF9idXNfYWRkX3dhdGNoCgoyMDExLTA0LTE0IDEzOjI3OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICB0ZXN0czogY2FtZXJhYmluOiBTb21lIGxlYWsgZml4ZXMKCSAgTGVhayBmaXhlcyByZWxhdGVkIHRvIHJlbW92aW5nIHRoZSBzb3VyY2UgcmV0dXJuZWQgZnJvbQoJICBnc3RfYnVzX2FkZF93YXRjaAoKMjAxMS0wNC0xMyAxNTowNToxNSAtMDQwMCAgUmV5bmFsZG8gSC4gVmVyZGVqbyBQaW5vY2hldCA8cmV5bmFsZG8udmVyZGVqb0Bjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9BbmRyb2lkLm1rOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9Hc3RBbmRyb2lkLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuY3BwOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9hdWRpb2ZsaW5nZXJfd3JhcHBlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJyaW5nYnVmZmVyLmg6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuYzoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2Vyc2luay5oOgoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luawoJICBSZW1vdmUgYXVkaW9mbGluZ2Vyc2luaywgaXQncyBpbiBnc3QtYW5kcm9pZCBub3cuCgoyMDExLTA0LTE0IDE2OjQ5OjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IGZpeCB1bnVzZWQtYnV0LXNldC12YXJpYWJsZSB3YXJuaW5ncyB3aXRoIGdjYyA0LjYKCjIwMTEtMDQtMTQgMTY6MTQ6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3Lmg6CgkgIGJhc2VjYW1lcmFzcmM6IGFkZCB1bnN0YWJsZS1BUEkgd2FybmluZ3MgaWYgR1NUX1VTRV9VTlNUQUJMRV9BUEkgaXMgbm90IGRlZmluZWQKCSAgU28gcGVvcGxlIGtub3cgdGhpcyBpcyB1bnN0YWJsZSBBUEkgZXZlbiBpZiBpdCBlbmRzIHVwIHJpZ2h0IG5leHQKCSAgdG8gb3VyIG90aGVyIEFQSS4KCjIwMTEtMDQtMTQgMTY6MTE6NTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L21lZGlhLWluZm8vLmdpdGlnbm9yZToKCSAgbGliczogcmVtb3ZlIGxlZnRvdmVyIG1lZGlhLWluZm8gZGlyZWN0b3J5CgoyMDExLTA0LTEzIDIyOjQ4OjI4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkgIGhsc2RlbXV4OiBtM3U4OiByZXR1cm4gZHVyYXRpb24gaW4gbmFub3NlY29uZHMKCjIwMTEtMDQtMTMgMjM6MzU6NTAgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBmaXggaGFuZGxpbmcgb2YgZW5kIG9mIHBsYXlsaXN0CgkgIERvbid0IHNlbmQgdGhlIEVPUyBldmVudCB1bnRpbCB3ZSByZWFjaGVkIHRoZSBlbmQgb2YgdGhlIHBsYXlsaXN0CgkgIGFuZCB0aGUgcXVldWUgaXMgcmVhbGx5IGVtcHR5LgoKMjAxMS0wNC0xMyAyMjoyNTo1NyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBleGFtcGxlIHBpcGVsaW5lCgoyMDExLTA0LTEzIDIzOjA2OjE4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogaWdub3JlIHNlZWsgZXZlbnRzIHVudGlsIGl0J3MgaW1wbGVtZW50ZWQKCjIwMTEtMDQtMTMgMjI6MTc6MDUgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkaXNwb3NlIHRoZSBmZXRjaGVyIGZyb20gdGhlIHNhbWUgdGhyZWFkIGl0J3MgY3JlYXRlZAoKMjAxMS0wNC0xNCAxMToyODo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazo6IGZpeCBjb21waWxhdGlvbiB3aXRoIG9sZGVyIEdMaWIKCSAgZ19vYmplY3Rfbm90aWZ5X2J5X3BzcGVjKCkgaXMgbmV3IGluIEdMaWIgMi4yNiwgYnV0IHdlIG9ubHkgcmVxdWlyZSAyLjIyLgoKMjAxMS0wNC0xNCAwNzoyMTo1MCArMDEwMCAgQ2hyaXN0aWFuIEZyZWRyaWsgS2FsYWdlciBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggYSBsb3Qgb2YgbmV3IHBsdWdpbnMKCjIwMTEtMDQtMTMgMjM6NTk6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdCBmb3IgbmV3IGV4cG9zdXJlIGNvbXBlbnNhdGlvbiB0YWcKCSAgQWRkcyBhIHRlc3QgZm9yIEdTVF9UQUdfQ0FQVFVSSU5HX0VYUE9TVVJFX0NPTVBFTlNBVElPTiBvbgoJICBqaWZtdXggY2hlY2sgdGVzdHMuCgoyMDExLTA0LTEzIDIxOjU4OjM2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZmNvbW1vbi5oOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIGR0bWY6IE1vdmUgZHVwbGljYXRlICNkZWZpbmVzIGludG8gYSBjb21tb24gaW5jbHVkZQoJICBDZW50cmFsaXplIGR1cGxpY2F0ZWQgY29uc3RhbnRzIHNvIHRoZXkgaGF2ZSB0aGUgc2FtZSB2YWx1ZS4KCSAgQWxzbyBzdGFuZGFyZGlzZSBtaW5pbXVtIHRvbmUgZHVyYXRpb24gdG8gMjUwbXMgYW5kIG1pbmltdW0gaW50ZXItdG9uZQoJICBpbnRlcnZhbCB0byAxMDBtcy4KCjIwMTEtMDQtMTMgMjI6MzM6MzcgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJlc2VydmUgdW51c2VkIGltYWdlYmluIG9yIHZpZGVvYmluIG9uIE5VTEwKCSAgSWYgdmlkZW8gb3IgaW1hZ2UgbW9kZSBpcyBuZXZlciBzZWxlY3RlZCB0aGVuIHJlc3BlY3RpdmUgYmluIGlzIGluIE5VTEwgc3RhdGUuCgkgIFByZXNlcnZlIHRoaXMgc3RhdGUgd2hlbiByZXNldHRpbmcgY2FtZXJhYmluIGZyb20gUEFVU0VEIHRvIFJFQURZLgoKMjAxMS0wNC0xMyAyMjowNzo1OCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSAgcG5tOiBhZGQgTElCVE9PTEZMQUdTID0gLS10YWc9ZGlzYWJsZS1zdGF0aWMKCjIwMTEtMDQtMTMgMjA6MjY6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBJbXBsZW1lbnQgZ2V0Y2FwcyBmdW5jdGlvbgoJICBUaGlzIGFsbG93cyB0byBzZXQgd2lkdGgvaGVpZ2h0L2V0YyByZXN0cmljdGlvbnMgdG8gYmUgc2V0IGRvd25zdHJlYW0uCgkgIEZpeGVzIGJ1ZyAjNjQ3NDk4LgoKMjAxMS0wNC0xMiAyMTo0NzoxNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBBbmRyb2lkLm1rOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcXRtdXguYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBxdG11eDogcmVtb3ZlIHF0bXV4IHBsdWdpbiwgaXQgaGFzIG1vdmVkIHRvIC1nb29kCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzY2OTkKCjIwMTEtMDQtMTMgMTY6MzE6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCBsaWJleGlmIHBrZy1jb25maWcgY2hlY2sKCSAgVGhlcmUncyBubyBleGlmIHBsdWdpbiBzbyBkb24ndCB1c2UgQUdfR1NUX0NIRUNLX0ZFQVRVUkUuCgkgIEZpeGVzIGJ1ZyAjNjQ3NTY0LgoKMjAxMS0wNC0xMiAxNjo0MjoxNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBsZWZ0b3ZlciBNQUVNT19CUk9LRU4gZGVmaW5lcwoJICBSZW1vdmUgZGVmaW5lcyB0byB3b3JrIGFyb3VuZCBidWdzIGluIG9sZCBNYWVtbyByZWxlYXNlcwoKMjAxMS0wNC0xMSAxNDo0NDoxNyAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxsYXNzZS5sYXVra2FuZW5AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY29ybmVyIGNhc2UgZm9yIHByZXZpZXcgcG9zdGluZwoJICBGaXggY29ybmVyIGNhc2Ugd2hlcmUgdmlkZW8gcHJldmlldyBpbWFnZSBpcyBub3QgcG9zdGVkIGlmIHN0b3BwaW5nCgkgIHZpZGVvIGNhcHR1cmUgaW1tZWRpYXRlbHkgYWZ0ZXIgY2FwdHVyZSBzdGFydC4KCjIwMTEtMDQtMTEgMTg6MzE6NDUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHN1YnRyYWN0IGlkLXN0ciBzaXplIGZyb20gdGhlIHJlbWFpbmluZyByZWFkCgkgIEZpeGVzIGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwYXRjaGVzIGluIGJ1ZyAjNjI2NjE4LgoKMjAxMS0wNC0xMSAxODozMDoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAganBlZzogc2V0IHRhZ3MgdG8gTlVMTCBhdCBpbml0IHRpbWUgYW5kIGFmdGVyIGZyZWVpbmcgdGhlbQoKMjAxMS0wNC0xMSAxODoyOToyOCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGpwZWc6IGNvbW1lbnQgYW5kIGxvZ2dpbmcgY2hhbmdlcwoKMjAxMS0wNC0xMCAxOTo1MzozNSArMDIwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ3N0X2pwZWdfcGFyc2VfcmVtb3ZlX21hcmtlcigpCgkgIFRoaXMgZnVuY3Rpb24gd2lsbCByZW1vdmUgdGhlIHdob2xlIG1hcmtlciBmcm9tIHRoZSBidWZmZXIuCgkgIEFsc28gd2Ugc2V0IGl0IGFzIHRoZSBkZWZhdWx0IGJlaGF2aW9yIGZvciBtYXJrZXIgSlBHezAtMTN9PyBpbiBvcmRlciB0byBhdm9pZAoJICBhIHVzZWxlc3MgI2lmCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMDgtMTMgMTI6Mzg6MDIgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQ09NIHBhcnNpbmcKCSAgYWRkIGdzdF9qcGVnX3BhcnNlX2NvbSAoKSBhbmQgZ2V0X3V0ZjhfZnJvbV9kYXRhICgpIHRvIGV4dHJhY3QgYW5kCgkgIHZhbGlkYXRlIGNvbW1lbnQgZm9ybWF0CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMTYgMTg6MjI6MDcgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmVmYWN0b3IgQVBQMSBwYXJzaW5nCgkgIGFkZCBnc3RfanBlZ19wYXJzZV9hcHAxICgpIGFuZCBleHRyYWN0X2FuZF9xdWV1ZV90YWdzICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTAtMTEtMjEgMTU6MDU6NDMgKzAxMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogbG9nIGlkIHdoZW4gc2tpcHBpbmcgYW4gdW5oYW5kbGVkIEFQUCBtYXJrZXIKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzo0NzoxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBza2lwIGFsbCBBUFAgbWFya2VycywgZXhjZXB0aW5nIEFQUDEKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0yMSAxNTowOToxNyArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBhZGQgZ2V0X3RhZ19saXN0ICgpCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2MTgKCjIwMTEtMDQtMTEgMDA6MzY6MzUgLTA0MDAgIFRoaWJhdWx0IFNhdW5pZXIgPHRoaWJhdWx0LnNhdW5pZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQW5kcm9pZC5tazoKCSogYW5kcm9pZC9OT1RJQ0U6CgkqIGFuZHJvaWQvaDI2NHBhcnNlLm1rOgoJKiBhbmRyb2lkL21ldGFkYXRhLm1rOgoJKiBhbmRyb2lkL3F0bXV4Lm1rOgoJKiBhbmRyb2lkL3NkcGVsZW0ubWs6CgkqIGV4dC9mYWFkL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9NYWtlZmlsZS5hbToKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvaDI2NHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9pZDN0YWcvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdwc211eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9tdmUvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvcG5tL01ha2VmaWxlLmFtOgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cHZwOC9NYWtlZmlsZS5hbToKCSogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkqIGdzdC9zZGkvTWFrZWZpbGUuYW06CgkqIGdzdC9zZHAvTWFrZWZpbGUuYW06CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkqIGdzdC9zdGVyZW8vTWFrZWZpbGUuYW06CgkqIGdzdC9zdWJlbmMvTWFrZWZpbGUuYW06CgkqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkqIGdzdC95NG0vTWFrZWZpbGUuYW06CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL0FuZHJvaWQubWs6CgkgIGFuZHJvaWQ6IG1ha2UgaXQgcmVhZHkgZm9yIGFuZHJvZ2VuaXplcgoJICBSZW1vdmUgdGhlIGFuZHJvaWQvIHRvcCBkaXIKCSAgRml4ZSB0aGUgTWFrZWZpbGUuYW0gdG8gYmUgYW5kcm9nZW5pemVkCgkgIFRvIGJ1aWxkIGdzdHJlYW1lciBmb3IgYW5kcm9pZCB3ZSBhcmUgbm93IHVzaW5nIGFuZHJvZ2VuaXplciB3aGljaCBnZW5lcmF0ZXMgdGhlIG5lZWRlZCBBbmRyb2lkLm1rIGZpbGVzLgoJICBBbmRyb2dlbml6ZXIgY2FuIGJlIGZvdW5kIGhlcmU6IGh0dHA6Ly9naXQuY29sbGFib3JhLmNvLnVrLz9wPXVzZXIvZGVyZWsvYW5kcm9nZW5pemVyLmdpdAoKMjAxMS0wNC0xMCAwMDoyMjozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSAgZWxlbWVudC1tYWtlcjogZGlzdCBuZXcgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA5IDEzOjQwOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXU6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCjIwMTEtMDQtMDkgMTA6MDM6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZCBsYXN0LW1lc3NhZ2UgcHJvcGVydHkgYW5kIG5ldmVyIHByaW50IGFueXRoaW5nIHRvIHN0ZG91dAoJICBJbnN0ZWFkIGV2ZXJ5dGhpbmcgd2lsbCBiZSBwdXQgaW50byB0aGUgbGFzdC1tZXNzYWdlIHByb3BlcnR5IGFuZAoJICBnc3QtbGF1bmNoIC12IHdpbGwgcHJpbnQgYWxsIGNoYW5nZXMgb2YgdGhlIHByb3BlcnR5LiBUaGlzIG1ha2VzCgkgIHRoZSBiZWhhdmlvdXIgb2YgZnBzZGlzcGxheSBjb25zaXN0ZW50IHdpdGggdGhlIGZha2VzaW5rL2lkZW50aXR5L2V0YwoJICBiZWhhdmlvdXIuCgoyMDExLTA0LTA5IDA5OjUwOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBSZW5hbWUgdmVyYm9zZSBwcm9wZXJ0eSB0byBzaWxlbnQgZm9yIGNvbnNpc3RlbmN5CgoyMDExLTA0LTA5IDAwOjM3OjI1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBiYXNlcGFyc2U6IHJlbW92ZSAtYmFkIHZlcnNpb24gb2YgYmFzZXBhcnNlIGxpYnJhcnksIG5vdyBpbiBjb3JlCgoyMDExLTA0LTAyIDE4OjMwOjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgdmlkZW9wYXJzZXJzOiBwb3J0IHRvIGJhc2VwYXJzZSwgd2hpY2ggaXMgbm93IGluIGxpYmdzdGJhc2UgaW4gY29yZQoKMjAxMS0wNC0wOCAxMjoxMTowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHNjZW5lY2hhbmdlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0c2NlbmVjaGFuZ2UuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcjIuYzoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R2aWRlb2ZpbHRlcnNiYWQuYzoKCSAgc2NlbmVjaGFuZ2U6IG5ldyBzY2VuZSBjaGFuZ2UgZGV0ZWN0aW9uIGVsZW1lbnQKCjIwMTEtMDQtMDggMTA6MjY6NDIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9maWx0ZXIyOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgdmlkZW9maWx0ZXIyIHRlbXBsYXRlCgoyMDExLTA0LTA4IDE5OjMyOjMxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FjM3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZsYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnYXVkaW9wYXJzZS5jOgoJICBSZW1vdmUgYXVkaW9wYXJzZXJzIHBsdWdpbiwgaXQgaGFzIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTEtMDQtMDggMTQ6MDg6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgdGhlIHByb3BlcnR5IGVudW1zCgoyMDExLTA0LTA3IDE1OjE1OjU3ICswMjAwICBQaGlsaXBwZSBOb3JtYW5kIDxwbm9ybWFuZEBpZ2FsaWEuY29tPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheTogQWRkIHZlcmJvc2UgcHJvcGVydHkKCSAgV2hlbiB0aGlzIHByb3BlcnR5IGlzIHNldCB0byBUUlVFIHRoZSBlbGVtZW50IHdpbGwgZGlzcGxheSBzdGF0aXN0aWNzCgkgIG9uIHN0ZG91dC4KCSAgRml4ZXMgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NzAzMAoKMjAxMS0wNC0wNSAyMTowNDo1NCArMDIwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogdXBkYXRlIGZvciBsYXRlc3QgR3N0WE92ZXJsYXkgY2hhbmdlcwoJICBGcm9tIHh3aW5kb3dfaWQgdG8gd2luZG93X2hhbmRsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0Njk1NQoKMjAxMS0wNC0wNyAxODozMDo0OSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiByZWxheCBzeW5jIG1hdGNoIGEgYml0IHdoZW4gZHJhaW5pbmcKCSAgLi4uIHRvIGF0IGxlYXN0IGFsbG93IGluaXRpYWwgY2FwcyBjaGFuZ2UgKGJ1dCBubyBmdXJ0aGVyIGNhcHMgaml0dGVyKS4KCjIwMTEtMDQtMDYgMTU6NTg6MDcgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJICBmaWVsZGFuYWx5c2lzOiBVc2UgUkZGIGZsYWcgdG8gaW5kaWNhdGUgYnVmZmVycyB0byBkcm9wIGRvd25zdHJlYW0KCSAgVXNlIG9mIHRoZSBHQVAgZmxhZyBpcyBub3QgcmVhbGx5IGNvcnJlY3QgaGVyZSBhbmQgbWFrZXMgaXQgZGlmZmljdWx0IHRvCgkgIGhhbmRsZSByZWFsIEdBUCBidWZmZXJzIGluIGRlaW50ZXJsYWNlLiBUaGUgUkZGIGZsYWcgaXMgdW51c2VkIGFuZCBjYW4KCSAgYmUgcmV1c2VkIHdpdGggc2ltaWxhciBzZW1hbnRpY3MgLSB0aGUgYnVmZmVycyBtYXJrZWQgd2l0aCBSRkYgdGhhdCBhcmUKCSAgaW4gYSB0ZWxlY2luZSBzdGF0ZSBjb250YWluIG9ubHkgdW5uZWVkZWQgcmVwZWF0ZWQgZmllbGRzIGFuZCBzbyBjYW4gYmUKCSAgZHJvcHBlZC4KCjIwMTEtMDQtMDUgMTk6MjY6MTUgKzAzMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IGVuc3VyZSBnc3RfcG9sbF93YWl0IGlzIGNhbGxlZCBmaXJzdCBvbiBkZXNjcmlwdG9ycwoJICBXZSBuZWVkIHRvIGNhbGwgZ3N0X3BvbGxfd2FpdCBiZWZvcmUgY2FsbGluZyBnc3RfcG9sbF8qIHN0YXR1cwoJICBmdW5jdGlvbnMgb24gdGhhdCBuZXcgZGVzY3JpcHRvciwgc28gcmVzdGFydCB0aGUgbG9vcCwgc28gX3dhaXQKCSAgd2lsbCBoYXZlIGJlZW4gY2FsbGVkIG9uIGFsbCBlbGVtZW50cyBvZiBzZWxmLT5wb2xsLCB3aGV0aGVyCgkgIHRoZXkgaGF2ZSBqdXN0IGJlZW4gYWRkZWQgb3Igbm90LiAqLwoKMjAxMS0wNC0wNiAyMDo0MDo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBzaG06IEZpeCBNU0dfTk9TSUdOQUwgY2hlY2sKCSAgSW5jbHVkZSBzeXMvc29ja2V0LmggYmVmb3JlIGNoZWNraW5nIGZvciBNU0dfTk9TSUdOQUwsIGFsc28KCSAgY2hlY2sgdGhhdCBzeXMvc29ja2V0LmggYmVmb3JlIGRvaW5nIGFueSBvdGhlciBjaGVja3MgZm9yIHNobQoKMjAxMC0xMi0xNSAxMDozOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IHJlbHkgb24gdGhlIGFwcGxpY2F0aW9uIHJ1bm5pbmcgdGhlIGRlZmF1bHQgR0xpYiBtYWluIGxvb3AKCSAgRG9uJ3QgdXNlIGdfaWRsZV9hZGQoKSBhbmQgZnJpZW5kcyB0byBzY2hlZHVsZSB0aGluZ3Mgd2UgY2FuJ3QgZG8gZnJvbSB0aGUKCSAgc3RyZWFtaW5nIHRocmVhZCBpbiBhbm90aGVyIHRocmVhZC4gVGhlIGFwcCBtYXkgbm90IGJlIHJ1bm5pbmcgdGhlIGRlZmF1bHQKCSAgR0xpYiBtYWluIGxvb3AuIEluc3RlYWQsIGp1c3Qgc3Bhd24gYSB0aHJlYWQuCgkgIEFsc28sIHdlIG5lZWQgdG8gY2FyZSBmb3Igd2hlbiBhY2Vzc2luZyBhIHBhZCB2YXJpYWJsZSwgYXMgYW5vdGhlciB0aHJlYWQKCSAgbWlnaHQgaGF2ZSB0YWtlbiBjYW1lcmFiaW4gdG8gTlVMTCB3aGlsZSB0aGlzIGdzdF9jYW1lcmFiaW5faW1nYmluX2ZpbmlzaGVkCgkgIGRpZG4ndCBydW4uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTU2NTUKCjIwMTEtMDQtMDQgMjA6NTU6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJICBtcGVnYXVkaW9wYXJzZTogcmVxdWlyZSB0aWdodGVyIHN5bmMgbWF0Y2ggd2hlbiBkcmFpbmluZwoKMjAxMS0wNC0wNCAxNTo1NzozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxY2NiZTA5IHRvIGMzY2FmZTEKCjIwMTEtMDQtMDQgMTI6MjE6MjMgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3JlIGhlbHBmdWwgZGVidWcgZXJyb3IgbWVzc2FnZSB3aGVuIG5vIG5lZWRlZCBkdXJhdGlvbiBvbiBpbnB1dCBidWZmZXJzCgkgIEZpeGVzICM2NDYyNTYuCgoyMDExLTA0LTAyIDAxOjIxOjM0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogdmFsaWRhdGUgcHJvcGVybHkgdXRmLTggcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MTA6MzcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzZGVtdXg6IG0zdTg6IGNsZWFyIHRoZSBsaXN0IG9mIG1lZGlhIGZpbGVzIGJlZm9yZSB1cGRhdGluZyB0aGUgcGxheWxpc3QKCjIwMTEtMDQtMDIgMDE6MDg6MDIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhbmQgYWRhcHRlciBpbnN0ZWFkIG9mIGNvc3RmdWwgYnVmZmVyIGpvaW5zCgoyMDExLTA0LTAxIDEzOjUzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kYzEzOTQvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSogZ3N0L2hscy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNldHRpbmcgb2YgcGx1Z2luZGlyIGZyb20gTWFrZWZpbGVzCgoyMDExLTAzLTI2IDE3OjU1OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRml4IG5lZ290aWF0aW9uIGVycm9ycwoKMjAxMS0wMy0yNiAxNzo0Mzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlbzogQWRkIGZ1bmN0aW9uIHRvIGFsbG9jYXRlIHNyYyBidWZmZXIKCjIwMTEtMDQtMDEgMTY6NTI6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQW5vdGhlciB3aW5kb3dzIGJ1aWxkIGZpeAoJICBSZXBsYWNlICVsbGQgd2l0aCAldSBhcyBHU1RfQlVGRkVSX1NJWkUgaXMgYSBndWludAoKMjAxMS0wNC0wMSAxNjoxMjo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL20zdTguYzoKCSAgaGxzOiBGaXggY29tcGlsYXRpb24gb24gd2luZG93cwoJICBVc2Ugc3RyaW5nIGxpdGVyYWwgb24gcHJpbnRpbmcgZm9ybWF0CgoyMDExLTA0LTAxIDEzOjM5OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUHJvY2Vzc2luZyBzaG91bGQgc3RvcCBvbiBSRUFEWQoJICBUaGUgdmlkZW9iaW4gYW5kIGltYWdlYmluIGZyb20gY2FtZXJhYmluIGhhdmUgdGhlaXIgc3RhdGVzCgkgIGxvY2tlZCBhbmQgYXJlbid0IHB1dCB0byBSRUFEWSB3aGVuIGFsbCB0aGUgcmVzdCBvZiBjYW1lcmFiaW4KCSAgaXMgc2V0IHRvIGl0LgoJICBUaGlzIG1pZ2h0IGNhdXNlIG9uZSBvZiB0aGVtIHRvIGJlIHN0aWxsIHByb2Nlc3NpbmcgYW5kIHBvc3QKCSAgYW4gRU9TIGFmdGVyIGNhbWVyYWJpbiBpc24ndCBleHBlY3RpbmcgaXQgYW55bW9yZSwgdGhpcyBjYXVzZXMKCSAgYW4gYXNzZXJ0aW9uIGFzIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgd291bGQgYWxyZWFkeSBiZSAwIGFuZAoJICB3b3VsZCBiZSBkZWNyZW1lbnRlZC4KCjIwMTEtMDQtMDEgMTU6MDA6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkgIHNlZ21lbnRjbGlwOiBLZWVwIGEgcmVmZXJlbmNlIG9mIGV2ZW50cyB1bnRpbCB0aGUgZXZlbnQgaXMgcGFyc2VkCgoyMDExLTA0LTAxIDE0OjQ3OjQzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICBtcGVnYXVkaW9wYXJzZTogUGFyc2UgZW5jb2RlciBkZWxheSBhbmQgZW5jb2RlciBwYWRkaW5nIGZyb20gdGhlIExBTUUgaGVhZGVyIGlmIHByZXNlbnQKCjIwMTEtMDMtMzEgMTY6MjE6MTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG06IE1ha2UgZGVmYXVsdCBwZXJtIHUrcncgZytyIGZvciBzaG0gYXJlYQoKMjAxMS0wMy0zMCAxNTo1MzoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiB1cGRhdGUgZm9yIG1lZGlhIHR5cGUgd2FzIHJlbmFtaW5nIGZyb20gcGxheWxpc3QvbTN1OCB0byBhcHBsaWNhdGlvbi94LWhscwoKMjAxMS0wMy0zMCAxMTozMzowOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQWRkIGhscyBwbHVnaW4KCjIwMTEtMDMtMzAgMTA6MTE6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogU29tZSBtaW5vciBjbGVhbnVwCgkgIFVzZSBHU1RfREVCVUdfRlVOQ1BUUiBhbmQgR19QQVJBTV9TVEFUSUNfU1RSSU5HUwoKMjAxMS0wMy0zMCAwMzozNDozOSArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGZpeCBpbmRlbnRhdGlvbiBhbmQgZG9jcyBzZWN0aW9ucwoKMjAxMS0wMy0yOSAyMzoxODoyNCArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IGxlZWsgdGhlIHF1ZXJ5CgoyMDExLTAzLTI5IDIzOjA2OjE0ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogY2hlY2sgaWYgdGhlIHRhc2sncyBjb25kIHdhcyBzaWduYWxlZCBiZWNhdXNlIGl0J3MgdGhlIGVuZCBvZiBwbGF5bGlzdAoKMjAxMS0wMy0xMiAxMzozMjo1NyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IHBvc3QgYSBtZXNzYWdlIGluIHRoZSBidXMgd2hlbiB0aGUgcGxheWxpc3QgY2hhbmdlcwoKMjAxMS0wMy0xMiAxMzoxNTo1MiArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IGRvbid0IHVwZGF0ZSB0aGUgcGxheWxpc3QgaWYgd2Ugc3RheSBpbiB0aGUgc2FtZSBiaXRyYXRlCgoyMDExLTAzLTEyIDEzOjAwOjA2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIFVSSSBxdWVyaWVzCgoyMDExLTAzLTEyIDEyOjUwOjI1ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIGR1cmF0aW9uIHF1ZXJpZXMKCjIwMTEtMDMtMTIgMTI6Mjg6NDIgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL20zdTguYzoKCSogZ3N0L2hscy9tM3U4Lmg6CgkgIGhsc2RlbXV4OiBtM3U4OiBwcm90ZWN0IHB1YmxpYyBtZXRob2RzIHByb3Blcmx5CgoyMDExLTAzLTEyIDEyOjIwOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9tM3U4LmM6CgkqIGdzdC9obHMvbTN1OC5oOgoJICBobHNkZW11eDogbTN1ODogYWRkIHN1cHBvcnQgdG8gZ2V0IHRoZSBkdXJhdGlvbiBmcm9tIGEgcGxheWxpc3QKCjIwMTEtMDItMTYgMDM6NTE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBwcmludCBhbiBlcnJvciBpZiB0aGUgZG93bmxvYWQgd2FzIGNhbmNlbGxlZAoKMjAxMS0wMi0xNiAwMzo0OTo0OSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0aGUgZmV0Y2hlciBzdGF0ZSBjaGFuZ2UgaXMgY29tcGxldGUgYmVmb3JlIGNvbnRpbnVpbmcKCjIwMTEtMDItMTYgMDE6MTk6NDUgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBkb24ndCBsZWFrIHRoZSBmaXJzdCBidWZmZXIKCjIwMTEtMDItMTYgMDA6NTU6MzAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBjbGVhbiB1cCBjb2RlIGEgbGl0dGxlIGJpdAoKMjAxMS0wMi0xNiAwMDo1Mzo0OCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguYzoKCSAgaGxzZGVtdXg6IG9ubHkgY2hlY2sgZm9yIHRoZSBlbmQgb2YgcGxheWxpc3Qgd2hlbiB0aGUgcXVldWUgaXMgZW1wdHkKCjIwMTEtMDItMTUgMjI6NDA6MjEgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IG1ha2Ugc3VyZSB0byBzdG9wIGZyYWdtZW50cyBjYWNoZSBpZiBzb21ldGhpbmcgY2FuY2VsbGVkIGl0CgoyMDExLTAyLTE1IDIxOjU1OjI2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcmV1c2UgdGhlIGNvZGUgaW4gcmVzZXQoKSB0byBmcmVlIHJlc291cmNlcyBpbiBkaXNwb3NlKCkKCjIwMTEtMDItMTUgMjE6NDk6MjAgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkqIGdzdC9obHMvZ3N0aGxzZGVtdXguaDoKCSAgaGxzZGVtdXg6IHVzZSBhIHR5cGVmaW5kZXIgdG8gc2V0IHRoZSBjYXBzIGluIHRoZSBzb3VyY2UgcGFkCgoyMDExLTAyLTE1IDA0OjM5OjM0ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogYWRkIG1vcmUgY29tbWVudHMgYW5kIGRvY3VtZW50IGJldHRlciBhbGwgdGhlIHRocmVhZHMgaW52b2x2ZWQKCjIwMTEtMDItMTUgMDM6NDI6MjkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4LmM6CgkgIGhsc2RlbXV4OiBoYW5kbGUgNDA0IGZyb20gdGhlIHNvdXJjZSBlbGVtZW50CgoyMDExLTAyLTE1IDAzOjQxOjQzICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogc3RvcCB0aGUgZmV0Y2hlciBpbiB0aGUgUEFVU0VEX1RPX1JFQURZIHRyYW5zaXRpb24sIG5vdCB3aGVuIGRpc3Bvc2luZygpCgoyMDExLTAyLTE1IDAzOjQxOjAxICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkgIGhsc2RlbXV4OiBtYWtlIHN1cmUgd2UgZG9uJ3Qgc3RvcCB0aGUgZmV0Y2hlciB0d2ljZSBmcm9tIGRpZmZlcmVudCB0aHJlYWRzCgoyMDExLTAyLTE1IDAyOjEzOjU2ICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPHlsYXR1eWFAZ21haWwuY29tPgoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJICBobHNkZW11eDogcXVlcnkgdGhlIHVyaSB1cHN0cmVhbSBiZWZvcmUgdXBkYXRpbmcgdGhlIHBsYXlsaXN0CgoyMDExLTAyLTE0IDE4OjUxOjMyICswMTAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9obHMvTWFrZWZpbGUuYW06CgkqIGdzdC9obHMvZ3N0ZnJhZ21lbnRlZC5oOgoJKiBnc3QvaGxzL2dzdGZyYWdtZW50ZWRwbHVnaW4uYzoKCSogZ3N0L2hscy9nc3RobHNkZW11eC5jOgoJKiBnc3QvaGxzL2dzdGhsc2RlbXV4Lmg6CgkqIGdzdC9obHMvbTN1OC5jOgoJKiBnc3QvaGxzL20zdTguaDoKCSAgaGxzZGVtdXg6IEFkZCBIVFRQIGxpdmUgc3RyZWFtaW5nIGRlbXV4ZXIgZWxlbWVudAoJICBCYXNlZCBvbiBwcmV2aW91cyB3b3JrIGJ5IE1hcmMtQW5kcsOpIEx1cmVhdQoKMjAxMS0wMy0yMSAxMDo1NzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQWRkIEdzdFRhZ1htcFdyaXRlciBzdXBwb3J0CgkgIEFkZHMgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZSB0byBqaWZtdXggZWxlbWVudAoKMjAxMS0wMy0yMSAxMDo1Njo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgR3N0VGFnWG1wV3JpdGVyIGludGVyZmFjZQoJICBBZGRzIEdzdFRhZ1htcFdyaXRlciBpbnRlcmZhY2Ugc3VwcG9ydCB0byBxdG11eAoKMjAxMS0wMy0yNyAyMzo1MDoyNCArMDMwMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxzcmVlcmVuai5iYWxhY2hhbmRyYW5Abm9raWEuY29tPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHRvdmVybGF5LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dG92ZXJsYXkuaDoKCSAgb3BlbmN2IHRleHQgb3ZlcmxheTogcmVuYW1lIGFuZCBkb2N1ZW1udAoJICBSZW5hbWUgdGhlIGVsZW1lbnQgdGV4dHdyaXRlIHRvIG9wZW5jdnRleHRvdmVybGF5LiBBZGQgcHJvcGVyIHN0cnVjdHVyaW5nIHRvCgkgIG9wZW5jdiB0ZXh0b3ZlcmxheSBlbGVtZW50LgoJICBGaXhlczogIzY0MDU2MQoKMjAxMS0wMy0yNyAxMzo1NzowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IEZpeCA2NC1iaXQgcHJpbnRmIGZvcm1hdCBwcm9ibGVtCgoyMDExLTAzLTI3IDIwOjA5OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBmaXggYnVnIHdoZXJlIHdlIGRpZG4ndCBzZXR1cCB2ZHBhdSBvbiBhIHVzZXIgc2V0IHdpbmRvdwoKMjAxMS0wMy0yNyAxOTo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSAgdmRwYXU6IGZpeHVwIEdzdEZsb3dSZXR1cm4gaGFuZGxpbmcKCSAgUHJldmlvdXNseSB0aGUgZGlmZmVyZW50IGRlY29kZXJzIHdvdWxkIGRpc2NhcmQgZXJyb3Vub3VzIEdzdEZsb3dSZXR1cm5zIGNvbWluZwoJICBmcm9tIGRvd25zdHJlYW0uIE5vdyB3ZSBwcm9wZXJseSByZXR1cm4gdGhlc2UgZnVydGhlciB1cHN0cmVhbSBzbyB0aGF0IHdlCgkgIHByb3Blcmx5IGVycm9yIG91dCBvbiBlZy4gbmVnb3RpYXRpb24gcHJvYmxlbXMuCgoyMDExLTAzLTI3IDE5OjQwOjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMTAtMDktMDYgMTc6NDI6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3QgaWdub3JlIHJldHVybiB2YWx1ZSBvZiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2ZpbmlzaF9mcmFtZQoKMjAxMS0wMy0yNyAxNzo0Mjo1NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSAgZHNob3c6IGZpeCBsaXN0IGl0ZXJhdGlvbiBjb2RlCgoyMDExLTAzLTI3IDE3OjIyOjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3BzZXJ2ZXJzaW5rOiBmaXggbGlzdCBpdGVyYXRpb24gY29kZQoJICBGaXggc3Vib3B0aW1hbCBsaXN0IGl0ZXJhdGlvbiBjb2RlLCBhbmQgYWRkIHNvbWUgRklYTUVzLgoKMjAxMS0wMy0yNiAxMjo0NToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGF0Y2hkZXRlY3QvTWFrZWZpbGUuYW06CgkgIHBhdGNoZGV0ZWN0OiBsaW5rIGFnYWluc3QgbGlibQoJICBMaW5rIGFnYWluc3QgbGlibS4gSW5jbHVkZSBtYXRoLWNvbXBhdC5oIGhlYWRlci4gRG9uJ3QgbGluayBhZ2FpbnN0CgkgIG9yYywgc2luY2UgaXQncyBub3QgYWN0dWFsbHkgdXNlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0NTcxMQoKMjAxMS0wMy0yNiAxNjoxMjoxOCArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJICBVc2UgY29ycmVjdCBjbG9jayB3aGVuIGNoZWNraW5nIHdoZXRoZXIgdG8gd3JpdGUgYSBuZXcgUENSCgkgIFRoZSBQQ1IgY2xvY2tzIGFnYWluc3QgdGhlIDI3TUh6IFNDUiBjbG9jaywgc28gY2hlY2sgaXQgY29ycmVjdGx5CgkgIHRvIGF2b2lkIHdyaXRpbmcgdGhlIFBDUiB0b28gb2Z0ZW4uCgkgIFBhcnRpYWxseSBmaXhlczogIzYxMTA0NgoKMjAxMS0wMy0yNiAxNTo1ODoyMSArMTEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgUmV3cml0ZSBNMlRTIHBhY2tldCBvdXRwdXQKCSAgTWFrZSBzdXJlIHdlIG9ubHkgd3JpdGUgdGhlIGJvdHRvbSAzMCBiaXRzIG9mIHRoZSBQQ1IgdG8gdGhlIG0ydHMgaGVhZGVyLgoJICBEb24ndCB1c2UgZmxvYXRpbmcgcG9pbnQgY29tcHV0YXRpb24gZm9yIGl0LCBhbmQgcmVtb3ZlIHdlaXJkIGJpdCBmaWRkbGluZwoJICB0aGF0IG1lc3NlcyB1cCB0aGUgUENSIGluIGEgd2F5IEkgY2FuJ3QgZmluZCBhbnkKCSAganVzdGlmaWNhdGlvbi9kb2N1bWVudGF0aW9uIGZvci4KCSAgRG9uJ3QgYWNjaWRlbnRhbGx5IGxvc2UgUENSIHBhY2tldHMgZnJvbSB0aGUgb3V0cHV0LgoJICBGaXggdGhlIGRlc2NyaXB0aW9uIGZvciB0aGUgbTJ0cy1tb2RlIHByb3BlcnR5IHNvIGl0J3MgY2xlYXIgaXQncyBhIGZsYWcsCgkgIGFuZCB3aGljaCBzZXR0aW5nIGRvZXMgd2hhdC4KCSAgRml4ZXM6ICM2MTEwNjEgIzY0NDQyOQoJICBQYXJ0aWFsbHkgZml4ZXM6ICM2NDUwMDYKCjIwMTEtMDMtMjYgMTE6MTQ6MDEgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIEZpeCBhIEZJWE1FLCBhbmQgc29tZSB3aGl0ZXNwYWNlL2NvZGUgc3R5bGUgYml0cy4KCSAgQWxzbywgYWRkIGEgbmV3IGNvcHlyaWdodCBub3RpY2UgZm9yIG1lLgoKMjAxMS0wMy0yNSAyMjozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE5M2I3MTcgdG8gMWNjYmUwOQoKMjAxMS0wMy0yNSAxNDo1Njo0MyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiNzdlMmJmIHRvIDE5M2I3MTcKCjIwMTEtMDMtMjUgMDk6MzI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkODgxNGI2IHRvIGI3N2UyYmYKCjIwMTEtMDMtMjUgMDk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWFhMjg2IHRvIGQ4ODE0YjYKCjIwMTEtMDMtMjUgMDg6MzM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogQWRkIGZsb2F0IGNhcHMgdG8gdGhlIHRlbXBsYXRlIGNhcHMKCjIwMTEtMDMtMjQgMTY6MTY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJICBkZWNrbGluazogRml4IHdpbjMyIGJ1aWxkCgoyMDExLTAzLTI0IDIyOjMyOjQyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZW5zdXJlIGNsZWFudXAgb2YgcGVzL3NlY3Rpb24gZmlsdGVyIGhlbHBlciBzdHJ1Y3R1cmVzCgkgIEluIHBhcnRpY3VsYXIsIHRoZSBzZWN0aW9uX2ZpbHRlciB3b3VsZCBub3QgYmUgY2xlYXJlZCBmb3IgYSBwcml2YXRlIHNlY3Rpb24KCSAgc3RyZWFtLCBsZWFraW5nIGEgR3N0QWRhcHRlci4gU2VlbiBvbiBidWcgIzY0NTUwMi4KCjIwMTEtMDMtMjQgMjI6MTA6NDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBkb24ndCBsZWFrIHBhZCBuYW1lCgkgIEFzIHNlZW4gb24gYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDIxOjQ2OjA5ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmcmVlIFBQUyBOQUwgYnVmZmVycyBvbiBjbGVhbnVwCgkgIE9idmlvdXNseSBhIHR5cG8uIEZpeGVzIGJ1ZyAjNjQ1NTAyLgoKMjAxMS0wMy0yNCAyMTo0NDowNyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZG9uJ3QgbGVhayBhbGwgTkFMIGJ1ZmZlcnMKCSAgZ3N0X2J1ZmZlcl9yZXBsYWNlKCkgZG9lc24ndCBzdGVhbCB0aGUgcmVmLiBQYXJ0aWFsIGZpeCBmb3IgYnVnICM2NDU1MDIuCgoyMDExLTAzLTI0IDE4OjQ5OjU0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDZhZWM2YjkgdG8gNmFhYTI4NgoKMjAxMS0wMy0yNCAxNDo1MToxMiArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBzdHJlYW1faW5mbyBkZXNjcmlwdG9yIHBhcnNpbmcKCjIwMTEtMDMtMDkgMjM6MDY6MTQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgZGNhcGFyc2U6IEJ1bXAgcmFuayB0byBwcmltYXJ5KzEKCSAgU2VlbXMgdG8gd29yayBmaW5lIHdpdGggYSByZWFzb25hYmx5IHdpZGUgcmFuZ2Ugb2YgbWVkaWEsIHNvIGJ1bXBpbmcKCSAgcmFuay4KCjIwMTEtMDMtMjQgMTA6MDg6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmcGFyc2U6IEFkZCBzdXBwb3J0IGZvciAzMiBiaXQgYW5kIDY0IGJpdCBmbG9hdGluZyBwb2ludCBmb3JtYXRzCgoyMDExLTAzLTI0IDA5OjU4OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IFRoZSBTU05EIGhlYWRlciBpcyAxNiBieXRlcyBsYXJnZSwgbm90IDggKyAxNiBieXRlcwoJICBGaXhlcyBidWcgIzY0NTU2OCBhbmQgcGxheWJhY2sgaW4gcHVsbCBtb2RlIGZvciBzYW1wbGUgd2lkdGhzID4gOCB0aGF0CgkgIGFyZSBub3QgYSBtdWx0aXBsZSBvZiAyIGJ5dGVzIChlLmcuIDI0IGJpdCBzYW1wbGVzKS4KCjIwMTEtMDMtMjQgMDk6Mjk6MDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmZwYXJzZTogVXNlIGdzdF91dGlsX3VpbnQ2NF9zY2FsZV9jZWlsKCkgaW5zdGVhZCBvZiBhIGN1c3RvbSBmdW5jdGlvbgoKMjAxMS0wMy0yNCAxMzo0MzowMSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IERvbid0IGV4cG9ydCBiaXRyYXRlIGlmIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MKCSAgbGliZGNhIHJldHVybnMgdGhlIGJpdHJhdGUgYXMgMS8yLzMgZm9yIG9wZW4vdmFyaWFibGUvbG9zc2xlc3MgZmlsZXMKCSAgcmVzcGVjdGl2ZWx5LiBUaGlzIG1ha2VzIHN1cmUgd2UgZG9uJ3QgZW1pdCB0aGVzZSB2YWx1ZXMuCgoyMDExLTAzLTI0IDA5OjIyOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSAgY2VsdGRlYzogUmVhZCB0aGUgYWRkaXRpb25hbCwgb3B0aW9uYWwgZXh0cmEgaGVhZGVycyBmcm9tIHRoZSBjYXBzIHRvbwoKMjAxMS0wMy0yNCAwOToxNDoxMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogR2V0IGFuZCB1c2Ugc3RyZWFtaGVhZGVycyBmcm9tIHRoZSBjYXBzIGlmIHBvc3NpYmxlCgkgIFRoaXMgYWxsb3dzIHBsYXliYWNrIG9mIGZpbGVzIHdoZXJlIHRoZSBzdHJlYW1oZWFkZXIgYnVmZmVycyB3ZXJlCgkgIGRyb3BwZWQgZm9yIHNvbWUgcmVhc29uIGFuZCBhbHNvIHNldHMgdGhlIHNyY3BhZCBjYXBzIGVhcmxpZXIuCgoyMDExLTAzLTIzIDIyOjUzOjU2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IFJldmVydCBwcmV2aW91cyBjb21taXQKCSAgSXQgYXBwZWFycyB0aGUgcGF0Y2gsIHdoaWNoIEkndmUgYmVlbiBjYXJyeWluZyBhcm91bmQgZm9yZXZlciwKCSAgaGFkIGJlZW4gYWxyZWFkeSBhcHBsaWVkLgoKMjAxMS0wMi0yMCAxNDoxNjoxOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmg6CgkgIGJhc2V2aWRlbzogbWVyZ2UgdXRpbHMgaGVhZGVyIGludG8gYmFzZXZpZGVvY29kZWMKCjIwMTAtMTItMzAgMTg6MjU6MDQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogT3V0cHV0IGVsZW1lbnQgbWVzc2FnZSB3aXRoIGZyYW1lIHN0YXRzCgoyMDExLTAyLTI2IDAwOjI4OjMyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBnc3QvcGF0Y2hkZXRlY3QvZ3N0cGF0Y2hkZXRlY3QuYzoKCSogZ3N0L3BhdGNoZGV0ZWN0L2dzdHBhdGNoZGV0ZWN0Lmg6CgkgIHBhdGNoZGV0ZWN0OiBuZXcgZWxlbWVudAoJICBEZXRlY3RzIE11bnNlbGwgQ29sb3JDaGVja2VyIGluIGEgdmlkZW8gaW1hZ2UgYW5kIGF1dG9tYXRpY2FsbHkKCSAgd2hpdGUgYmFsYW5jZXMgYW5kIGNvbG9yIGNvcnJlY3RzIGJhc2VkIG9uIHRoZSBkZXRlY3RlZCB2YWx1ZXMuCgkgIFRoaXMgZWxlbWVudCBpcyBvbmx5IGEgZGVtb25zdHJhdGlvbiBhdCB0aGlzIHN0YWdlLCBpdCBuZWVkcyB0bwoJICBiZSBzZXBhcmF0ZWQgaW50byB0d28gZWxlbWVudHMuCgoyMDExLTAyLTI3IDAwOjQ4OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BlbnRyb3B5d2F2ZS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL0RlY2tMaW5rQVBJLmg6CgkqIHN5cy9kZWNrbGluay9EZWNrTGlua0FQSURpc3BhdGNoLmNwcDoKCSogc3lzL2RlY2tsaW5rL0xpbnV4Q09NLmg6CgkqIHN5cy9kZWNrbGluay9NYWtlZmlsZS5hbToKCSogc3lzL2RlY2tsaW5rL2NhcHR1cmUuY3BwOgoJKiBzeXMvZGVja2xpbmsvY2FwdHVyZS5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmsuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzaW5rLmNwcDoKCSogc3lzL2RlY2tsaW5rL2dzdGRlY2tsaW5rc2luay5oOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuY3BwOgoJKiBzeXMvZGVja2xpbmsvZ3N0ZGVja2xpbmtzcmMuaDoKCSAgZGVja2xpbms6IEFkZCBkZWNrbGluayBwbHVnaW4KCSAgU291cmNlIGFuZCBzaW5rIGVsZW1lbnRzIGZvciBCbGFja01hZ2ljIERlY2tMaW5rIFNESSBjYXJkcy4KCjIwMTEtMDMtMTcgMTc6Mzg6NTggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzLmM6CgkqIHN5cy9saW5zeXMvZ3N0bGluc3lzc2Rpc2luay5jOgoJKiBzeXMvbGluc3lzL2dzdGxpbnN5c3NkaXNpbmsuaDoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuYzoKCSogc3lzL2xpbnN5cy9nc3RsaW5zeXNzZGlzcmMuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL2FzaS5oOgoJKiBzeXMvbGluc3lzL2luY2x1ZGUvbWFzdGVyLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGkuaDoKCSogc3lzL2xpbnN5cy9pbmNsdWRlL3NkaWF1ZGlvLmg6CgkqIHN5cy9saW5zeXMvaW5jbHVkZS9zZGl2aWRlby5oOgoJICBsaW5zeXM6IEFkZCBwbHVnaW4gZm9yIExpbmVhciBTeXN0ZW1zIFNESSBib2FyZHMKCjIwMTAtMDktMTQgMTE6MzA6MzMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2RpL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2RpL2dzdHNkaS5jOgoJKiBnc3Qvc2RpL2dzdHNkaWRlbXV4LmM6CgkqIGdzdC9zZGkvZ3N0c2RpZGVtdXguaDoKCSogZ3N0L3NkaS9nc3RzZGltdXguYzoKCSogZ3N0L3NkaS9nc3RzZGltdXguaDoKCSAgc2RpOiBBZGQgcmF3IFNESSBtdXhpbmcvZGVtdXhpbmcgZWxlbWVudHMKCjIwMTEtMDMtMTcgMTk6MDM6MjkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEZpeCBtZW1sZWFrcywgYWRkIHRlc3QKCjIwMTAtMTEtMTUgMTE6Mzc6MTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGxvZ29pbnNlcnQ6IEFkZCBkYXRhIHByb3BlcnR5CgoyMDExLTAzLTIzIDE1OjQ5OjE4ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZ3N0LWNhbWVyYWJpbjItdGVzdDogRml4IHByZW1hdHVyZSBzaHV0ZG93bgoJICBXZSBtdXN0IHdhaXQgZm9yIGNhbWVyYWJpbjIncyBzdG9wLWNhcHR1cmUgcHJvY2VkdXJlcyB0byBmaW5pc2ggYmVmb3JlIHF1aXR0aW5nCgkgIHRoZSBtYWluIGxvb3Agb3IgZmlyaW5nIG9mZiB0aGUgbmV4dCBjYXB0dXJlLiBJZiB3ZSBnZXQgc3R1Y2sgd2FpdGluZyBmb3IKCSAgY2FtZXJhYmluMiB0byBiZWNvbWUgaWRsZSwgdGhpcyBpcyBhIGJ1ZyB0aGF0IG5lZWRzIGZpeGluZy4KCjIwMTEtMDMtMjMgMTY6MzI6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBPbmx5IG1hcmsgdmlkZW8gY2FwdHVyZSBhcyBmaW5pc2hlZCBhZnRlciBFT1MKCSAgSW5zdGVhZCBvZiBwcm9iaW5nIHRoZSB2aWRlb3Npbmsgc2lua3BhZCBmb3IgcGFzc2luZyBFT1MsIGJldHRlcgoJICB0byB3YWl0IGZvciBFT1MgZnJvbSB0aGUgYnVzLgoJICBUaGlzIG1ha2VzIHN1cmUgdGhlIGZpbGVzaW5rIGhhcyBhbHJlYWR5IHByb2Nlc3NlZCBpdCBhbmQgaXMKCSAgcmVhZHkgdG8gY2xvc2UgdGhlIGZpbGUuIFRoaXMgaXMgdXNlZCB0byBub3RpZnkgYXBwbGljYXRpb25zCgkgIHRoYXQgY2FtZXJhYmluMiBpcyBpZGxlIGFuZCBjYW4gYmUgc2h1dCBkb3duLgoKMjAxMS0wMy0xOCAxNTo0OToxMiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IGNhbWVyYWJpbjI6IHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCByZWFkLW9ubHkgbWF4LXpvb20gcHJvcAoJICBUaGlzIGlzIG5vdCBpbXBsZW1lbnRlZCBpbiBhbnkgb2Ygb3VyIHJlYWwgc291cmNlcyB0byB3aGljaCB3cmFwcGVyY2FtZXJhYmluc3JjCgkgIG1pZ2h0IGNvbm5lY3QgYnV0IHRoaXMgaXMgb3B0aW9uYWwgYW5kIGNhbiBiZSBpbXBsZW1lbnRlZCBhdCBhbnkgdGltZS4gQQoJICBsaW1pdCBvbiB0aGUgc29mdHdhcmUgem9vbSBsZXZlbCB1c2luZyB2aWRlb3tjcm9wLHNjYWxlfSB3b3VsZCBiZSBhcmJpdHJhcnkuCgoyMDExLTAzLTIzIDEyOjM4OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEltcHJvdmUgaWRsZSBwcm9wZXJ0eSB1c2FnZQoJICBVc2UgcmVzb3VyY2Ugd2FybmluZyBtZXNzYWdlcyB0byBub3RpZnkgY2FtZXJhYmluMiB0aGF0IGEgY2FwdHVyZQoJICBhcyBhYm9ydGVkIG9yIGNvdWxkbid0IGJlIHN0YXJ0ZWQsIG1ha2luZyBpdCBkZWNyZW1lbnQgdGhlCgkgIHByb2Nlc3NpbmcgY291bnRlciBhbmQgbWFraW5nIHRoZSBpZGxlIHByb3BlcnR5IG1vcmUgcmVsaWFibGUuCgoyMDExLTAzLTIyIDEyOjA0OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTm8gbmVlZCB0byBmb3JjZSBhdWRpb3NyYyB0byBudWxsIG9uIHN0b3BfY2FwdHVyZQoJICBTZXR0aW5nIHRoZSBhdWRpbyBzb3VyY2UgdG8gbnVsbCBpc24ndCBuZWVkZWQgYW5kIGl0IGNvdWxkCgkgIG1ha2UgdGhlIEVPUyB0aGF0IGlzIHN0aWxsIGZsb3dpbmcgYmUgZHJvcHBlZCBpZiBhdXRvYXVkaW9zcmMKCSAgaXMgdXNlZCBiZWNhdXNlIGl0cyBwYWRzIGdvIGZsdXNoaW5nIGJlZm9yZSB0aGUgRU9TIGdldHMgcHVzaGVkCgkgIGZyb20gdGhlIHJlYWwgc291cmNlLgoKMjAxMS0wMy0yMiAwODozMjo0OCAtMDMwMCAgTGF1cmkgTGVodGluZW4gPGxhdXJpLmxlaHRpbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYWJpbnNyYzogQ2hlY2sgaWYgc2V0IHByZXZpZXcgY2FwcyBhcmUgdGhlIHNhbWUKCSAgQ2hlY2tzIGlmIHRoZSBuZXcgcmVjZWl2ZWQgcHJldmlldy1jYXBzIGFyZSBlcXVhbCB0byB3aGF0IGlzCgkgIGFscmVhZHkgaW4gdXNlLCBza2lwcyB0aGUgcHJldmlldy1jYXBzIHNldHRpbmcgbG9naWMgaW4gY2FzZQoJICBuZXcgY2FwcyBhcmUgc2FtZSBhcyBjdXJyZW50IG9uZXMuCgoyMDExLTAzLTE1IDE1OjQ3OjIxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZHMgYW5vdGhlciAnaWRsZScgdGVzdAoJICBBZGRzIGFub3RoZXIgdGVzdCB0aGF0IGNoZWNrcyB0aGF0IHRoZSBpZGxlIHByb3BlcnR5IHdvcmtzCgkgIGNvcnJlY3RseSB3aGVuIGJvZ3VzIHN0YXJ0LWNhcHR1cmUgY2FsbHMgYXJlIG1hZGUuCgkgIFRoaXMgZmFpbHMgY3VycmVudGx5LCBidXQgc2hvdWxkIHJlbWluZCB1cyBvZiBmaXhpbmcgaXQgaW4KCSAgdGhlIGZ1dHVyZSBieSBkZWZpbmluZyBhIHByb3BlciBlcnJvciByZXBvcnRpbmcgZnJvbSBjYW1lcmEKCSAgc291cmNlcyB0byBjYW1lcmFiaW4yCgoyMDExLTAzLTE1IDE1OjM0OjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IFNwcmlua2xlIHNvbWUgJ2lkbGUnIHByb3BlcnR5IGNoZWNrcwoJICBBZGRzIHNvbWUgY2hlY2tzIGZvciAnaWRsZScgcHJvcGVydHkgaW4gY2FtZXJhYmluMiB0ZXN0cwoKMjAxMS0wMy0xNSAxNToxMTowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaWRsZSBwcm9wZXJ0eQoJICBBZGRzIGlkbGUgcHJvcGVydHkgKGp1c3QgbGlrZSBjYW1lcmFiaW4xKSwgYSBib29sZWFuIHRoYXQKCSAgaXMgdHJ1ZSB3aGVuIGNhbWVyYWJpbjIgaXNuJ3QgcHJvY2Vzc2luZyBhbmQgY2FuIGJlIHNodXQgZG93bgoJICB3aXRob3V0IGxvc2luZyBkYXRhLgoKMjAxMS0wMy0xNSAxMDo1MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGRzIHRlc3RzIGZvciBuZXcgaW1hZ2UgY2FwdHVyZSBwcm9wZXJ0aWVzCgkgIEFkZHMgdGVzdHMgdG8gY2hlY2sgdGhhdCBjaGFuZ2luZyBlbmNvZGVyL211eGVyIGZvciBpbWFnZSBjYXB0dXJlCgkgIHdvcmtzCgoyMDExLTAzLTE1IDEwOjExOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHByb3BlcnRpZXMgZm9yIGltYWdlIGNhcHR1cmUgc2V0dGluZ3MKCSAgQWRkcyBwcm9wZXJ0aWVzIGZvciBzZWxlY3RpbmcgaW1hZ2UgZW5jb2RlciBhbmQgbXV4ZXIgZm9yCgkgIGltYWdlIGNhcHR1cmUKCjIwMTEtMDMtMTQgMTQ6MzM6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBNb3JlIGRlYnVnIGxvZwoJICBTbWFsbCByZWZhY3RvcmluZyBhbmQgYWRkaW5nIG1vcmUgZGVidWcgbG9nIHRvIGVuY29kZWJpbiByZWxhdGVkCgkgIHBhdGhzCgoyMDExLTAzLTE0IDE0OjMwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogU2V0IHByZXZpZXcgcGlwZWxpbmUgTlVMTAoJICBTZXQgcHJldmlldyBwaXBlbGluZSB0byBOVUxMIHdoZW4gZnJlZWQgdG8gYmUgYWJsZSB0bwoJICByZWNyZWF0ZSBpdCBvbiB0aGUgZm9sbG93aW5nIGxpbmVzCgoyMDExLTAzLTIzIDIyOjAyOjM3ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5oOgoJICBkY2FwYXJzZTogRXhwb3NlIGZyYW1lIHNpemUgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgdGhlIHNpemUgb2YgdGhlIGZyYW1lIChudW1iZXIgb2YgYnl0ZXMgZnJvbSBvbmUgc3luYyBwb2ludAoJICB0byB0aGUgbmV4dCkgYXMgdGhlICJmcmFtZV9zaXplIiBmaWVsZCBpbiBjYXBzLgoKMjAxMS0wMy0wOSAyMzowMzoxMCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEV4cG9zZSBibG9jayBzaXplIGluIGNhcHMKCSAgVGhpcyBzZXRzIHRoZSAiYmxvY2tfc2l6ZSIgZmllbGQgb24gY2FwcyBhcyB0aGUgbnVtYmVyIG9mIHNhbXBsZXMKCSAgZW5jb2RlZCBpbiBvbmUgZnJhbWUuCgoyMDExLTAzLTIyIDIwOjUzOjA4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIHJ1bm5pbmcgdGltZSBmb3Igc3luY2hyb25pemF0aW9uCgkgIFNlZSBhbHNvICM0MzI2MTIuCgoyMDExLTAzLTIyIDEzOjE4OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogY2hhaW4gdXAgdG8gcGFyZW50IGZpbmFsaXplCgoyMDExLTAzLTIyIDEzOjQ2OjQyICswMTAwICBDaHJpcyBFIEpvbmVzIDxjaHJpc0BjaHJpc2Vqb25lcy5jb20+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IENvcnJlY3RseSBoYW5kbGUgbmV3c2VnbWVudCBldmVudHMgd2l0aCBzdG9wPT0tMQoJICBGaXhlcyBidWcgIzY0NTQyMC4KCjIwMTEtMDMtMjIgMTI6MzQ6MjAgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogcmVkdW5kYW50IHVzZXMgb2YgQUNfTVNHX1JFU1VMVCgpCgkgIGNsZWFuZWQgdGhlIHJlZHVuZGFudCB1c2VzIG9mIEFDX01TR19SRVNVTFQoKSBpbiBjb25maWd1cmUuYWMKCjIwMTEtMDMtMTggMTk6MzQ6NTcgKzAxMDAgIEx1aXMgZGUgQmV0aGVuY291cnQgPGx1aXNAZGViZXRoZW5jb3VydC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuOiB3aW5nbyBzaWduZWQgY29tbWVudAoKMjAxMS0wMy0yMSAxMzozMToxNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyMi5oOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IEFkZCBuZXcgR3N0VmlkZW9GaWx0ZXIyIGJhc2UgY2xhc3MKCSAgQW4gZXhwZXJpbWVudC4gIE5vdCBjb21wbGV0ZWx5IGhhcHB5IHdpdGggaXQuCgoyMDExLTAzLTIxIDIwOjQwOjE0ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBIYW5kbGUgYWxsIElTTzg4NTkteCBlbmNvZGluZ3MgaW4gZ2V0X2VuY29kaW5nKCkKCSAgLi4uIGFjY29yZGluZyB0byBFVFNJIEVOIDMwMCA0NjgsICJTZWxlY3Rpb24gb2YgY2hhcmFjdGVyIHRhYmxlIgoKMjAxMS0wMi0yMSAxMTo0NDowMSArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c2Jhc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGRvIG5vdCB0cnkgdG8gcGFyc2UgcGFja2V0cyBjb250YWluaW5nIHNlY3Rpb24gZGF0YSBhcyBQRVMKCjIwMTEtMDItMjEgMTE6NDI6NTQgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvdHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkIHN0cmVhbSB0eXBlcyBmb3IgRFNNIENDIEEsIEIsIEMsIEQKCjIwMTEtMDMtMjEgMTg6NTQ6NDYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggcGxheWJhY2sgaWYgUE1UIGlzIHNlZW4gYmVmb3JlIFBBVAoJICBUaGUgc3RyZWFtIGZvciB0aGUgUE1UIHBpZCBoYXMgdG8gYmUgY2xlYXJlZCBzaW5jZSB0aGUgdmVyc2lvbiBjaGVja2luZwoJICBpbiB0aGUgcGFja2V0aXplciB3b24ndCBlbWl0IHRoZSBzYW1lIFBNVCBhZ2FpbiBvdGhlcndpc2UuCgoyMDExLTAzLTIxIDE2OjUxOjE2ICswMTAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTZXQgcGFyc2VkPXRydWUgaW4gdGhlIHNyY3BhZCBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjQ1NDEyLgoKMjAxMS0wMy0yMSAxMDozODo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBMb3dlciB0aGUgcmFuayB0byBNQVJHSU5BTAoJICBUaGUgcmF0aW9uYWxlIGlzIHRoYXQgaXQgY2FuJ3QgYmUgcHJvcGVybHkgdXNlZCByaWdodCBub3cgd2hlbiB1c2luZwoJICBpdCB0byBlbmNvZGUgbXBlZzJ2aWRlbyBiZWNhdXNlIG9mIHRoZSBuZWVkcy10by1iZS1yZXdyaXR0ZW4gcHJvcGVydGllcwoJICBhbmQgZm9ybWF0IG5lZ290aWF0aW9uLiBPdGhlciBlbmNvZGVycyB3aWxsIG5lZ290aWF0ZSBpbiBhIG11Y2ggc2FuZXIKCSAgZmFzaGlvbi4KCSAgT25lIHN1Y2ggZXhhbXBsZSBpcyB0aGF0IHdoZW4geW91IHBpY2sgbXBlZzJlbmMgZm9yIG1wZWcydmlkZW8sIHRoZQoJICBkZWZhdWx0IHZhbHVlIGZvciB0aGUgJ2Zvcm1hdCcgcHJvcGVydHkgaXMgIkdlbmVyaWMgTVBFRy0xIiwgd2hpY2ggaXMKCSAgY29tcGxldGVseSB3cm9uZyBpZiBkb3duc3RyZWFtIGNhcHMgYXJlIG1wZWcyLiBUaGUgd2hvbGUgbmVnb3RpYXRpb24KCSAgY29kZSBuZWVkcyBzb21lIHNlcmlvdXMgbG92aW5nIGJlZm9yZSB0aGlzIHBsdWdpbiBjYW4gYmUgYnVtcGVkIGJhY2sKCSAgdXAgdG8gYSBoaWdoZXIgcmFuay4KCjIwMTEtMDMtMTYgMDk6NTA6MzQgKzAxMDAgIEJlbmphbWluIEdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGFkZCAiZnJhbWVzLWRyb3BwZWQiIGFuZCAiZnJhbWVzLXJlbmRlcmVkIiBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDM0NjkKCjIwMTEtMDMtMTggMDk6MzM6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgc29tZSB1bnVzZWQgdmFyaWFibGVzIGluIHRoZSBJNDIwIGJsZW5kaW5nIGZ1bmN0aW9uCgoyMDExLTAzLTE3IDIwOjE5OjI3ICswMjAwICBSYWltbyBKw6RydmkgPHJhaW1vLmphcnZpQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IHVzaW5nIGFscGhhIHZhbHVlcyBpbiBibGl0dGluZy4KCSAgVXNlIGVhY2ggcGl4ZWwncyBvd24gYWxwaGEgdmFsdWUgaW5zdGVhZCBvZiBhdmVyYWdlIGFscGhhIHZhbHVlIHdoZW4KCSAgY2FsY3VsYXRpbmcgY29sb3IgY29tcG9uZW50cy4gRml4ZXMgYnVnICM2Mzk3NjMuCgoyMDExLTAzLTE3IDE2OjM0OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkgIHZwODogZml4IExJQkFERCBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMy0xNiAxNTo1MzoxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBhZGQgRklYTUUgZm9yIG1ha2luZyB0aGUgYmFzZSBjbGFzcyB1c2UgeGluZyBzZWVrIHRhYmxlcyBiZXR0ZXIKCjIwMTEtMDMtMTcgMTY6NDE6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IERvbid0IHVzZSAic3VuIiBhcyBhIHZhcmlhYmxlIG5hbWUsIGJyZWFrcyBvbiBTb2xhcmlzCgkgIFNlZW1zIGxpa2UgdGhlIFNvbGFyaXMgY29tcGlsZXIgaGFzIC1Ec3VuPTEsIHNvIGRvbid0IHVzZQoJICBzdW4gYXMgYSB2YXJpYWJsZSBuYW1lCgkgIFBhdGNoIGJ5IFRpbSBNb29uZXkgPG1vb25leUBkb2diZXJ0LmNjLm5kc3Uubm9kYWsuZWR1PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE3IDE1OjI3OjM5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNobTogQ2hlY2sgZm9yIE1TR19OT1NJR05BTCBtYWNybwoJICBEb24ndCBidWlsZCB0aGUgcGx1Z2luIGlzIE1TR19OT1NJR05BTCBpcyBub3QgZGVmaW5lZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ1MDUzCgoyMDExLTAzLTE2IDE4OjUyOjI0ICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJICBzaG1zaW5rOiBLZWVwIHNobXNpbmsgcmVmZXJlbmNlZCB3aGlsZSB0aGVyZSBhcmUgc3RpbGwgYnVmZmVycyBhcm91bmQKCjIwMTEtMDMtMTYgMTg6NTE6NTAgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZC5zaW1vbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFsbG93IFNobVBpcGUgdG8gc2F2ZSBhIGRhdGEgcG9pbnRlciBmb3IgYXBwbGljYXRpb25zCgoyMDExLTAzLTE2IDE4OjUxOjAyICswMDAwICBTam9lcmQgU2ltb25zIDxzam9lcmQuc2ltb25zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IEtlZXAgdGhlIFNobVBpcGUgYWxpdmUgYXMgbG9uZyBhcyB0aGVyZSBhcmUgYmxvY2tzIGxlZnQKCjIwMTEtMDMtMDkgMTk6MzQ6MzkgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogT25seSBjb25uZWN0IHRvIHNpbmsgaW4gUExBWUlORyBpbiBsaXZlIG1vZGUKCjIwMTEtMDMtMDkgMTk6MzQ6MjUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogS2VlcCBHc3RQb2xsIGZvciB3aG9sZSBzcmMgbGlmZXRpbWUKCjIwMTEtMDMtMTUgMDk6MTU6MzUgLTAzMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZCBhbiBhc3NlcnRpb24gdG8gcHJldmlldyBwaXBlbGluZSBnZW5lcmF0aW9uCgkgIEFkZHMgYW4gYXNzZXJ0aW9uIGluIGNhc2UgdGhlIHByZXZpZXcgcGlwZWxpbmUgaXMgTlVMTCBhbmQgYWxzbwoJICBleHBsaWNpdGx5IGluaXRpYWxpemVzIHByZXZpZXcgY2FwcyB0byBOVUxMIGZvciBjbGFyaXR5LgoKMjAxMS0wMy0xNCAxODoyNToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZGNhcGFyc2UuaDoKCSAgZGNhcGFyc2U6IEFkZCBkZXB0aCBhbmQgZW5kaWFubmVzcyB0byB0aGUgY2FwcwoJICBTb21lIGRlY29kZXJzIGNhbiBvbmx5IGhhbmRsZSBzcGVjaWZpYyBlbmRpYW5uZXNzIG9yIGEgZml4ZWQKCSAgZGVwdGggYW5kIHRoaXMgYWxsb3dzIGJldHRlciBuZWdvdGlhdGlvbi4KCSAgRml4ZXMgYnVnICM2NDQyMDguCgoyMDExLTAzLTE0IDEyOjM5OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogZml4IGJyb2tlbiBwYWQgY2FwcyByZWZjb3VudCBoYW5kbGluZwoJICBnc3RfY2Fwc19tYWtlX3dyaXRhYmxlKCkgdGFrZXMgb3duZXJzaGlwIG9mIHRoZSBjYXBzIHBhc3NlZCBpbiwgYnV0CgkgIHRoZSBjYWxsZXIgZG9lc24ndCBvd24gYSByZWYgdG8gdGhlIGNhcHMgaGVyZSwgYmVjYXVzZSBHU1RfUEFEX0NBUFMKCSAgZG9lc24ndCByZXR1cm4gYSByZWYuIExvb2tzIGxpa2UgdGhlIGNvZGUgcmVsaWVkIG9uIGEgY2FwcyBsZWFrCgkgIGVsc2V3aGVyZSBmb3IgdGhpcyB0byB3b3JrIHByb3Blcmx5LgoKMjAxMS0wMy0xNCAxMjozMzoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGRvbid0IGVycm9yIG91dCBpZiBkb3duc3RyZWFtIGZhaWxzIHRvIGhhbmRsZSB0aGUgbmV3c2VnbWVudCBldmVudAoJICBJZiBkb3duc3RyZWFtIGRvZXNuJ3QgaGFuZGxlIHRoZSBuZXdzZWdtZW50IGV2ZW50LCBkb24ndCBlcnJvciBvdXQgKGVzcC4KCSAgbm90IHdpdGhvdXQgcG9zdGluZyBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMpLCBidXQganVzdCBjb250aW51ZS4KCSAgSWYgdGhlcmUncyBhIHByb2JsZW0sIHdlJ2xsIGZpbmQgb3V0IHdoZW4gd2Ugc3RhcnQgcHVzaGluZyBidWZmZXJzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0Mzk1CgoyMDExLTAzLTExIDE0OjQwOjQ0ICswMDAwICBBbmRyZWFzIEZyaXNjaCA8YW5kcmVhcy5mcmlzY2hAbXVsdGltZWRpYS1sYWJzLmRlPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDExLTAzLTExIDE4OjIzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogU2V0IHF1ZXVlcyB0byBzaWxlbnQKCSAgT3B0aW1pemUgYSBsaXR0bGUgYnkgc2V0dGluZyBxdWV1ZXMgdG8gc2lsZW50CgoyMDExLTAzLTExIDE2OjIwOjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZWZhY3RvcmluZyBlbmNvZGViaW4gdXNhZ2UKCSAgUmVmYWN0b3Igc29tZSBjb21tb24gY29kZSByZWdhcmRpbmcgZW5jb2RlYmluIHVzYWdlIGluIGNhbWVyYWJpbjIKCjIwMTEtMDMtMTEgMTc6MDc6MDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogRml4IG51bWJlciBvZiBpdGVyYXRpb24gb2YgdGVzdHMKCSAgVGhlcmUgYXJlIDMgdGFnbGlzdCB0ZXN0cywgbm90IDIKCjIwMTEtMDMtMTEgMTA6MzI6MzUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFNvbWUgbWVtbGVhayBmaXhlcwoKMjAxMS0wMy0wOCAwOTo0Mzo1OCArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBiYXNlY2FtZXJhc3JjOiB3cmFwcGVyY2FtZXJhYmluc3JjOiBjYW1lcmFiaW4yOiBFeHBvc2UvYWRkIGZsb2F0aW5nIHBvaW50IHpvb20gcHJvcGVydHkKCjIwMTEtMDMtMDQgMTU6NTM6NDIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVtb3ZlIGRlYWQgZGVmaW5pdGlvbgoJICBUaGlzIGRlZmluaXRpb24gaXMgdW51c2VkIGluIHRoaXMgY29kZS4KCjIwMTEtMDMtMTAgMTE6Mzg6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBdm9pZCBjbGVhcmluZyByZWNvcmRpbmcgY2FwcwoJICBXaGVuIHJlY29yZGluZyAyIHZpZGVvcyBpbiBzZXF1ZW5jZSB3aXRoIHRoZSBzYW1lIHZpZGVvLWNhcHR1cmUtY2FwcywKCSAgdGhlIHNlY29uZCB2aWRlbyB3b3VsZCBnZXQgYSBub3QtbmVnb3RpYXRlZCBlcnJvciBiZWNhdXNlIHRoZQoJICBzcmMgY2FwcyB3ZXJlIGJlaW5nIGNsZWFyZWQgd2l0aG91dCBhbnkgaW50ZW50aW9uIG9mCgkgIHJlbmVnb3RpYXRpbmcgaXQgYmFjayB0byB0aGUgcmVxdWVzdGVkIGNhcHR1cmUgY2Fwcy4KCSAgVGhpcyBwYXRjaCBhdm9pZHMgdGhpcyBjYXBzIHJlc2V0IHByb2NlZHVyZSB1bmxlc3MgYSBuZXcKCSAgY2FwcyB3YXMgc2V0LgoKMjAxMS0wMy0xMSAxNDozNzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuYzoKCSAgZGlyYWNwYXJzZTogQWRkIGNvcnJlY3QgdGVtcGxhdGUgY2FwcyBhbmQgZWxlbWVudCBkZXRhaWxzCgoyMDExLTAzLTExIDEwOjQwOjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkgIGV4YW1wbGVzOiBmaXggTERBREQvTElCUyBwYXRoIG9yZGVyIGZvciBjYW1lcmFiaW4yIGV4YW1wbGUKCjIwMTEtMDMtMTEgMTA6MzQ6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBkb24ndCBsZWFrIGVsZW1lbnQgbmFtZSBzdHJpbmdzCgkgIERvbid0IGxlYWsgc3RyaW5nIGNvcHkgcmV0dXJuZWQgYnkgZ3N0X2VsZW1lbnRfZ2V0X25hbWUoKS4gQWxzbywgY2hlY2sKCSAgZm9yIGNlcnRhaW4gZWxlbWVudHMgYnkgY2hlY2tpbmcgdGhlIHBsdWdpbiBmZWF0dXJlIC8gZmFjdG9yeSBuYW1lLCBub3QKCSAgdGhlIGFzc2lnbmVkIG9iamVjdCBuYW1lLgoKMjAxMS0wMy0xMSAxMDoyNjowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiByZW1vdmUgbW9yZSB0YXJraW4vdGhlb3JhZXhwIGJ1aWxkIGNydWZ0CgoyMDExLTAzLTEwIDEzOjM5OjQwIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL01ha2VmaWxlLmFtOgoJKiBleHQvdGFya2luL1JFQURNRToKCSogZXh0L3Rhcmtpbi9UT0RPOgoJKiBleHQvdGFya2luL1dIQVRfVEhFX0hFQ0tfSVNfVEhJU19DT0RFX0RPSU5HOgoJKiBleHQvdGFya2luL2JpdGNvZGVyLmg6CgkqIGV4dC90YXJraW4vZ29sb21iLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmg6CgkqIGV4dC90YXJraW4vaW5mby5jOgoJKiBleHQvdGFya2luL21lbS5jOgoJKiBleHQvdGFya2luL21lbS5oOgoJKiBleHQvdGFya2luL3JsZS5oOgoJKiBleHQvdGFya2luL3Rhcmtpbi5jOgoJKiBleHQvdGFya2luL3Rhcmtpbi5oOgoJKiBleHQvdGFya2luL3dhdmVsZXQuYzoKCSogZXh0L3Rhcmtpbi93YXZlbGV0Lmg6CgkqIGV4dC90YXJraW4vd2F2ZWxldF9jb2VmZi5jOgoJKiBleHQvdGFya2luL3dhdmVsZXRfeGZvcm0uYzoKCSogZXh0L3Rhcmtpbi95dXYuYzoKCSogZXh0L3Rhcmtpbi95dXYuaDoKCSogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSogZ3N0L3ZpZGVvZmlsdGVycy9nc3R6ZWJyYXN0cmlwZS5oOgoJICB0aGVvcmEsdGFya2luOiBSZW1vdmUgYW5jaWVudCB1bnVzZWQgY29kZQoKMjAxMS0wMy0xMCAxNjowMzo1OCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByb3ZpZGUgZm9yIFBUUyBtZXRhZGF0YSB3aGVuIHNvIGNvbmZpZ3VyZWQKCSAgLi4uIGFuZCBub3Qgb25seSB3aGVuIHNvcnQtb2YgZmVlbGluZyBsaWtlIGl0LgoJICBJbiBhbnkgY2FzZSwgaWYgaXQgdHVybnMgb3V0IGFsbCByZWFsbHkgaXMgaW4gb3JkZXIsCgkgIGFuZCBwcmVzdW1hYmx5IERUUyA9PSBQVFMsIHRoZW4gbm8gY3R0cyB3aWxsIGJlIHByb2R1Y2VkIGFueXdheS4KCjIwMTEtMDMtMTAgMTY6MDI6NDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhbHNvIHRyYWNrIG9yaWdpbmFsIFBUUyBidWZmZXIgdGltZXN0YW1wIGluIHJlb3JkZXIgZHRzLW1ldGhvZAoKMjAxMS0wMy0wOSAxNDo1MzoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZvcmNlIEVPUyBvbiBhdWRpbyBzcmMKCSAgV2UgY2FuJ3QgcmVseSBvbiBhdWRpbyBzb3VyY2VzIHB1c2hpbmcgRU9TIHdoZW4gZ29pbmcgUEFVU0VELT5SRUFEWQoJICBiZWNhdXNlIHRoaXMgaXMgYSBiYXNlc3JjIGJhaGF2aW9yIGFuZCB3aGVuIHVzZWQgaW5zaWRlIGF1dG9hdWRpb3NyYwoJICB0aGUgZ2hvc3RwYWQgZ29lcyBmbHVzaGluZyBiZWZvcmUgdGhlIHJlYWwgc291cmNlIHB1c2hlcyB0aGUgRU9TLAoJICBzbyBpdCBpcyBkcm9wcGVkLgoKMjAxMS0wMy0wNCAwNjowNjoxNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IE5vIG5lZWQgZm9yIHN0YXJ0aW5nIHNlZ21lbnQKCjIwMTEtMDMtMDQgMDY6MDk6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGdzdGNhbWVyYWJpbjI6IFNldCBlbmNvZGViaW4ncyB2aWRlb3JhdGUgYW5kIGF1ZGlvcmF0ZSBwcm9wZXJ0aWVzCgkgIExpc3RlbiB0byBlbmNvZGViaW4ncyBlbGVtZW50LWFkZGVkIHNpZ25hbCB0byBiZSBhYmxlIHRvIHNldAoJICBza2lwLXRvLWZpcnN0IG9uIGJvdGggYXVkaW9yYXRlcyBhbmQgdmlkZW9yYXRlcy4KCjIwMTEtMDItMTUgMTQ6NTg6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBIYW5kbGUgYXVkaW8gZWxlbWVudHMgc3RhdGVzCgkgIEF1ZGlvIGVsZW1lbnRzIGFyZSBwdXQgaW50byBiaW4gb25seSB3aGVuIG5lZWRlZCwgc28gd2UgbmVlZAoJICB0byBiZSBjYXJlZnVsIHdpdGggdGhlaXIgc3RhdGVzIGFzIGNhbWVyYWJpbjIgd29uJ3QgbWFuYWdlCgkgIHRoZW0gaWYgdGhleSBhcmUgb3V0c2lkZSB0aGUgYmluLgoJICBBbHNvIHdlIHNob3VsZCByZXNldCB0aGVpciBwYWQncyBmbHVzaGluZyBzdGF0dXMgYmVmb3JlCgkgIHN0YXJ0aW5nIGEgbmV3IGNhcHR1cmUuCgoyMDExLTAxLTIxIDEyOjQ3OjU3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogdGVzdHM6IFVwZGF0ZSB0ZXN0cyB0byBjaGVjayBmb3IgYXVkaW8gc3RyZWFtcwoJICBBZGQgYSBjaGVjayB0aGF0IHJlc3VsdGluZyByZWNvcmRlZCB2aWRlbyBmaWxlcyBoYXZlIGF1ZGlvIHN0cmVhbXMuCgoyMDExLTAxLTIxIDEwOjU2OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW46IGFkZGluZyBhdWRpbyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyA0IGF1ZGlvIHByb3BlcnRpZXMgcmVsYXRlZCB0byBhdWRpbyByZWNvcmRpbmcKCSAgKiBhdWRpby1zcmMKCSAgKiBtdXRlCgkgICogYXVkaW8tc3VwcG9ydGVkLWNhcHR1cmUtY2FwcwoJICAqIGF1ZGlvLWNhcHR1cmUtY2FwcwoKMjAxMS0wMS0yMCAwOTozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGF1ZGlvIHN1cHBvcnQgZm9yIHZpZGVvIHJlY29yZGluZ3MKCSAgQWRkcyBhbiBhdWRpbyBzb3VyY2UgYW5kIGF1ZGlvIGNhcHNmaWx0ZXIvcXVldWUvY29udmVydCwgY3JlYXRpbmcKCSAgYSBuZXcgYnJhbmNoIG9uIGNhbWVyYWJpbjIgdGhhdCBpcyB1c2VkIHRvIGZlZWQgZW5jb2RlYmluIHdpdGgKCSAgYXVkaW8gYnVmZmVycyBmb3IgdmlkZW8gcmVjb3JkaW5nLgoKMjAxMS0wMi0yOCAxNTo0Mzo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBsb2dnaW5nIGZvciBzdG9wLWNhcHR1cmUgc2lnbmFsCgoyMDExLTAyLTI0IDE4OjI4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXIgY2FwcyByZWxhdGVkIHByb3BlcnRpZXMKCSAgQWRkcyBwcm9wZXJ0aWVzIHRvIGNoZWNrIHdoYXQgY2FwcyBhcmUgc3VwcG9ydGVkIG9uIHRoZQoJICB2aWV3ZmluZGVyIChmcm9tIHRoZSBjYW1lcmFzcmMgdmlld2ZpbmRlciBwYWQpIGFuZCBhbm90aGVyCgkgIG9uZSB0byBzZXQgYSBjYXBzIGZvciB0aGUgdmlld2ZpbmRlci4KCjIwMTEtMDItMjQgMTc6NDI6MjEgLTAzMDAgIExhdXJpIExlaHRpbmVuIDxsYXVyaS5sZWh0aW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogYWRkIHZpcnR1YWwgZnVuY3Rpb24gdG8gbm90aWZ5IHN1YmNsYXNzIG9mIGNoYW5naW5nIHByZXZpZXcgY2FwcwoJICBBZGRzIGEgdmlydHVhbCBmdW5jdGlvbiB0byBiYXNlY2FtZXJhc3JjIGluIGNhc2Ugc3ViY2xhc3NlcyB3YW50IHRvIGJlCgkgIG5vdGlmaWVkIG9mIGNoYW5naW5nIHByZXZpZXcgY2Fwcy4gVGhpcyBpcyB1c2VmdWwgaWYgdGhlIHN1YmNsYXNzIHdhbnRzCgkgIHRvIHBvc3QgdGhlIHByZXZpZXcgaXRzZWxmIG9yIGlmIGl0IHdhbnRzIHRvIHByb3ZpZGUgYSBwcmV2aWV3IGJ1ZmZlcgoJICBhcyBjbG9zZSB0byBhcyBwb3NzaWJsZSB0byB0aGUgdXNlcidzIHJlcXVlc3RlZCByZXNvbHV0aW9uIHRvIHRoZQoJICBwcmV2aWV3IGdlbmVyYXRpb24gcGlwZWxpbmUuCgoyMDExLTAyLTIyIDEzOjEwOjE1ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjI6IGFkZCBvcHRpb24gZm9yIHNldHRpbmcgdGhlIHdyYXBwZXIgY2FtZXJhIHNvdXJjZQoKMjAxMS0wMi0yMSAxNzowNDowNiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhYmluMi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW4yOiBhZGQgZW5jb2RpbmcgcHJvZmlsZSBsb2FkaW5nCgoyMDExLTAyLTE3IDE0OjUxOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogRml4IG5ld3NlZ21lbnQgcHVzaGluZwoJICBTZW5kIHVwZGF0ZSBuZXdzZWdtZW50cyBpbnN0ZWFkIG9mIG5vbi11cGRhdGUgb25lcwoJICBmb3IgdGhlIHZpZGVvIGJyYW5jaCB3aGVuIHN0YXJ0aW5nIHJlY29yZGluZ3MKCjIwMTEtMDItMTUgMTQ6NTk6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBTZXQgc29tZSBxdWV1ZSdzIHByb3BlcnRpZXMKCSAgU2V0cyB2aWV3ZmluZGVyIHF1ZXVlIHRvIGxlYWt5IGFuZCB0ZWxsIGltYWdlIGJyYW5jaAoJICBxdWV1ZSB0byBkb24ndCBjYXJlIGFib3V0IGR1cmF0aW9ucwoKMjAxMS0wMi0xMCAxMTo1MDoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlYWR5IGlzIGVub3VnaCBmb3IgZm9yY2luZyBhIGNhcHMgY2hhbmdlCgoyMDExLTAyLTA5IDE5OjE0OjEzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogQ2hlY2sgZm9yIGRvd25zdHJlYW0gY2FwcyBvbiBmaXJzdCBjYXB0dXJlcwoJICBVc2UgdmlkZW9fcmVuZWdvdGlhdGUgYW5kIGltYWdlX3JlbmVnb3RpYXRlIGJvb2xlYW5zIHRvIG1ha2UKCSAgdGhlIHZpZGVvc3JjIG5lZ290aWF0ZSB0aGUgY2FwdHVyZSBjYXBzIG9uIHRoZSBmaXJzdCBjYXB0dXJlIGJlY2F1c2UKCSAgdGhlIGNhcHMgbWlnaHQgYmUgc2V0IGJlZm9yZSB3cmFwcGVyY2FtZXJhYmluc3JjIGdvZXMgaW50byBQTEFZSU5HCgkgIGFuZCBwYWRzIGRyb3AgdGhlIGludGVybmFsIHJlbmVnb3RpYXRlIGV2ZW50LgoJICBUaGlzIGlzIHJlcXVpcmVkIGFzIHRoZSBvdXRwdXQtc2VsZWN0b3IgaXMgdXNpbmcgdGhlICdub25lJyBuZWdvdGlhdGlvbgoJICBtb2RlLgoKMjAxMS0wMi0wOSAxOTowOToyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEF2b2lkIGZpeGF0aW5nIGNhcHR1cmUgY2FwcwoJICBXaGVuIHNldHRpbmcgdGhlIGludGVybmFsIGNhcHNmaWx0ZXIgY2FwcyBmb3IgY2FwdHVyZSB3ZSBzaG91bGQgcHV0CgkgIHRoZSBmdWxsIGNhcHMgaW5zdGVhZCBvZiB0cnlpbmcgdG8gZml4YXRlIGl0IG91cnNlbHZlcy4gVGhpcyB3YXkgd2UgbGV0CgkgIHRoZSBlbGVtZW50cyAoYW5kIG1vc3RseSB0aGUgc291cmNlKSBzZWxlY3QgdGhlIGJlc3QgZm9ybWF0IGluc3RlYWQKCSAgb2YgZGVmYXVsdGluZyB0byB3aGF0IHRoZSBwYWQgZml4YXRpb24gZnVuY3Rpb24gcGlja3MuCgoyMDExLTAyLTA5IDA4OjI3OjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWxsb3cgZnJlZSBpbWFnZSBkaW1lbnNpb25zCgkgIENoYW5nZXMgdGhlIGRlZmF1bHQgd2lkdGgvaGVpZ2h0IG9mIGNhcHR1cmVzIHNvIHRoYXQgaXQgd2lsbAoJICBiZSBhdXRvcGlja2VkIGJ5IGNhbWVyYWJpbjIgaW5zdGVhZCBvZiBoYXJkY29kaW5nIGFuIG9wdGlvbgoKMjAxMS0wMi0wOSAwODoxNTowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmFiaW4yLXRlc3QuYzoKCSAgY2FtZXJhYmluMjogZXhhbXBsZXM6IEJhY2twb3J0IGZpeCBmcm9tIGNhbWVyYWJpbiBleGFtcGxlCgkgIFdlIHNob3VsZCBvbmx5IGNoZWNrIGlmIHRoZSB4d2luZG93IHNob3VsZCBiZSBjcmVhdGVkIGlmIHdlIGFscmVhZHkKCSAgcGFyc2VkIHRoZSBhcmd1bWVudHMgb2YgdGhlIHByb2dyYW0KCjIwMTEtMDItMDQgMTQ6NTM6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICBjYW1lcmFiaW4yOiBNb3ZpbmcgcHJldmlldyBpbWFnZSBwcm9wZXJ0aWVzIHRvIGJhc2VjYW1lcmFzcmMKCSAgTW92ZXMgcHJldmlldyBpbWFnZSByZWxhdGVkIHByb3BlcnRpZXMgdG8gYmFzZWNhbWVyYXNyYyBhcyB0aGF0CgkgIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmFzcmNzCgoyMDExLTAyLTA4IDE1OjUxOjQyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEZpeCBnZXR0aW5nIGVsZW1lbnQgaW1wbGVtZW50aW5nIHBob3RvZ3JhcGh5IGlmYWNlCgoyMDExLTAyLTAzIDEyOjAyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGNhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwcmV2aWV3IGhlbHBlciBmdW5jdGlvbnMgdG8gYmFzZWNhbWVyYWJpbnNyYwoJICBNb3ZlIHByZXZpZXcgaGVscGVyIGZ1bmN0aW9ucyB0byBiYXNlYWNhbWVyYWJpbnNyYyBzbyB0aGV5IGNhbgoJICBiZSByZXVzZWQgYnkgbXVsdGlwbGUgY2FtZXJhYmluMiBzb3VyY2VzLgoKMjAxMS0wMi0wMyAxNjo1ODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYWJpbjItdGVzdC5jOgoJICBjYW1lcmFiaW4yOiBleGFtcGxlczogQWRkIGdzdC1jYW1lcmFiaW4yLXRlc3QKCSAgQWRkcyBnc3QtY2FtZXJhYmluMi10ZXN0IGV4YW1wbGUgYXBwbGljYXRpb24sIHNpbWlsYXIgdG8KCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IGZvciBjYW1lcmFiaW4uCgkgIEl0IGlzIHVzZWZ1bCBmb3IgdGFraW5nIHBpY3R1cmVzIGFuZCByZWNvcmRpbmcgdmlkZW9zIHVzaW5nCgkgIGNhbWVyYWJpbjIgYW5kIHByb3ZpZGluZyBhcmd1bWVudHMgZm9yIG1vc3Qgb2YgY2FtZXJhYmluMgoJICBwcm9wZXJ0aWVzCgoyMDExLTAyLTA0IDEyOjM2OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHZpZXdmaW5kZXItc2luayBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2V0IHRoZSB2aWV3ZmluZGVyJ3Mgc2luayBvZiBjYW1lcmFiaW4yCgoyMDExLTAzLTA5IDEzOjE5OjUwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5jOgoJICBmaWVsZGFuYWx5c2lzOiBmaXggZG91YmxlIGZyZWUoKSBjcmFzaGVzCgoyMDExLTAzLTA4IDE3OjI5OjIwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIGludG8gMC4xMQoKMjAxMS0wMy0wOCAxNzowMzoyMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSAgbWV0YTogdXBkYXRlIGZvciBuZXcgQVBJCgoyMDExLTAzLTA4IDExOjE5OjQxICswMDAwICBCeWVvbmctcnllb2wgS2ltIDxicm9ma2ltc0BnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJICB2aWRlb2ZpbHRlcnM6IGxpbmsgdG8gbGlibQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQ0MTc2CgoyMDExLTAzLTA3IDIyOjQxOjMwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVwZGF0ZSB1cmwgZm9yIHBvcnQtZ3JvdXBzIGV4dGVuc2lvbgoKMjAxMS0wMy0wNyAxMDozNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IFRoZSBwa2ctY29uZmlnIGZpbGUgaW4gdmVyc2lvbiAxLjUgaXMgY2FsbGVkIHNvdW5kdG91Y2gKCjIwMTEtMDItMjYgMTY6MjA6NTIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9maWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHZpZGVvZmlsdGVyc2JhZC5jOgoJKiBnc3QvdmlkZW9maWx0ZXJzL2dzdHplYnJhc3RyaXBlLmM6CgkqIGdzdC92aWRlb2ZpbHRlcnMvZ3N0emVicmFzdHJpcGUuaDoKCSAgemVicmFzdHJpcGU6IE5ldyBlbGVtZW50CgkgIEFkZHMgemVicmEgc3RyaXBlcyB0byBvdmVyZXhwb3NlZCB2aWRlby4KCjIwMTEtMDMtMDQgMTc6Mzc6MDQgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBleHQ6IEFsd2F5cyBkaXN0IHRoZSBjdXJsIGRpcmVjdG9yeQoJICBFdmVudCBpZiB3ZSBjYW4ndCBidWlsZCBpdC4gRml4ZXMgbWFrZSBkaXN0CgoyMDExLTAzLTA0IDE3OjI2OjQxICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkgIHNmc2luazogdXNlIGJhc2VzaW5rIHByZXJvbGwgbG9jawoKMjAxMS0wMy0wNCAxMzozOTo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IGRpc2FibGUgdW50aWwgc29tZW9uZSBwb3J0cyBpdAoKMjAxMS0wMy0wNCAxMzoyOToyOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCjIwMTEtMDMtMDQgMTI6MTE6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RkaXJhY3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkgIHZpZGVvcGFyc2VyczogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkKCjIwMTEtMDMtMDQgMTI6MTA6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IEZpeCBwcmludC1yZWxhdGVkIGlzc3VlcwoKMjAxMS0wMy0wNCAxMTo1OTo0NCArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOHBheS5jOgoJICBydHB2cDg6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZQoJICBNYWtlcyBtYWNvc3ggY29tcGlsZXIgaGFwcHkuCgoyMDExLTAzLTA0IDA5OjI1OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXNvcmMtZGlzdC5jOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLWRpc3QuaDoKCSAgZmllbGRhbmFseXNpczogYWRkIGJhY2t1cCBmaWxlcyBmb3IgY29tcGlsaW5nIHdpdGhvdXQgb3JjCgoyMDExLTAzLTAzIDAwOjU3OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogYWxsb2NhdGUgSDI2M1BhcmFtcyBzdHJ1Y3Qgb24gdGhlIHN0YWNrCgkgIEl0J3MgZmxhdCBhbmQgbm90IGtlcHQgYXJvdW5kIGZvciBsb25nZXIuCgoyMDExLTAzLTAzIDAwOjQ1OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2M3BhcnNlLmg6CgkgIGgyNjNwYXJzZTogbWlub3IgY2xlYW4tdXBzCgkgIGNvbnN0LWlmeSBzb21lIGFyZ3VtZW50cyBhbmQgcmUtaW5kZW50IGhlYWRlciBhIGxpdHRsZS4KCjIwMTEtMDItMjggMTE6NTE6NTQgKzAxMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogZml4IHN5bmMgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZQoKMjAxMS0wMy0wMiAyMzo0Mzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBGaXggY29tcGlsYXRpb24gd2l0aCBjZWx0ID49IDAuMTEuMAoJICBGaXhlcyBidWcgIzY0MzYwNy4KCjIwMTAtMDktMTUgMTc6MzI6MDkgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvTWFrZWZpbGUuYW06CgkqIGdzdC9maWVsZGFuYWx5c2lzL2dzdGZpZWxkYW5hbHlzaXMuYzoKCSogZ3N0L2ZpZWxkYW5hbHlzaXMvZ3N0ZmllbGRhbmFseXNpcy5oOgoJKiBnc3QvZmllbGRhbmFseXNpcy9nc3RmaWVsZGFuYWx5c2lzb3JjLm9yYzoKCSAgZmllbGRhbmFseXNpczogQWRkIGZpZWxkYW5hbHlzaXMgZWxlbWVudAoJICBUaGlzIGVsZW1lbnQgYW5hbHlzZXMgdmlkZW8gYnVmZmVycyB0byBpZGVudGlmeSBpZiB0aGV5IGFyZSBwcm9ncmVzc2l2ZSwKCSAgaW50ZXJsYWNlZCBvciB0ZWxlY2luZWQgYW5kIG91dHB1dHMgYnVmZmVycyB3aXRoIGFwcHJvcHJpYXRlIGZsYWdzIGZvciBhCgkgIGRvd25zdHJlYW0gZWxlbWVudCAod2hpY2ggd2lsbCBiZSB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudCwgYWZ0ZXIgc29tZQoJICBmb3J0aGNvbWluZyBtb2RpZmljYXRpb25zKSB0byBiZSBhYmxlIHRvIG91dHB1dCBwcm9ncmVzc2l2ZSBmcmFtZXMgYW5kCgkgIGFkanVzdCB0aW1lc3RhbXBzIHJlc3VsdGluZyBpbiBhIHByb2dyZXNzaXZlIHN0cmVhbS4KCjIwMTEtMDMtMDEgMTE6MjM6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRtcHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHB2cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZXJzYmFkLnhtbDoKCSAgZG9jczogdXBkYXRlIGRvY3MgZm9yIHJlY2VudCBjaGFuZ2VzIGluIGdpdAoKMjAxMS0wMy0wMSAxMToxNjo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jdXJsLnhtbDoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgZG9jczogYWRkIG5ldyBjdXJsIHBsdWdpbiBhbmQgY3VybHNpbmsgZWxlbWVudCB0byBkb2NzCgoyMDExLTAzLTAxIDEwOjQ5OjU3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGNoZWNrIGZvciBwbGF0Zm9ybSBzb2NrZXQgaGVhZGVycyBuZWVkZWQgYnkgY3VybHNpbmsgZWxlbWVudAoKMjAxMS0wMy0wMSAxMDowMzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5jOgoJKiBleHQvY3VybC9nc3RjdXJsc2luay5oOgoJICBjdXJsc2luazogbm8gbmVlZCBmb3IgYSBwcml2YXRlIGluc3RhbmNlIHN0cnVjdHVyZQoJICBUaGUgZW50aXJlIGluc3RhbmNlIHN0cnVjdHVyZSBpcyBwcml2YXRlIGFueXdheS4KCjIwMTEtMDMtMDEgMDk6NTY6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSAgY3VybHNpbms6IGNsZWFuIHVwIHByb3BlcnR5IHJlZ2lzdHJhdGlvbiBjb2RlCgkgIEZpeCBzb21lIHR5cG9zLCB1c2Ugc2FtZSBzdHlsZSBhcyBpbiBhbGwgb3RoZXIgcGx1Z2lucywgYXZvaWRpbmcKCSAgdW5uZWNlc3NhcnkgdGVtcG9yYXJ5IEdQYXJhbVNwZWMgdmFyaWFibGVzOyB1c2UgR19QQVJBTV9TUEVDX1NUQVRJQ19TVFJJTkdTLgoKMjAxMS0wMi0yNiAyMDoyMToyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgY3VybDogYWRkIGNvbmZpZ3VyZSBjaGVjayBhbmQgaG9vayB1cCB0byBidWlsZCBzeXN0ZW0KCjIwMTEtMDItMjYgMjA6MjA6MzMgKzAwMDAgIFBhdHJpY2lhIE11c2NhbHUgPHBhdHJpY2lhQGF4aXMuY29tPgoKCSogZXh0L2N1cmwvTWFrZWZpbGUuYW06CgkqIGV4dC9jdXJsL2dzdGN1cmwuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuYzoKCSogZXh0L2N1cmwvZ3N0Y3VybHNpbmsuaDoKCSAgY3VybDogYWRkIGxpYmN1cmwtYmFzZWQgc2luayBlbGVtZW50CgkgIFNpbmsgYWN0cyBhcyBhIGNsaWVudCBhbmQgY2FuIGNvbm5lY3QgdG8gc2VydmVycyB0bwoJICB1cGxvYWQgbWVkaWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02NDE0OTYKCjIwMTEtMDItMjUgMTQ6MjQ6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkgIGpwMmtkZWM6IHBvc3QgcHJvcGVyIGVycm9yIHdoZW4gdGhlIGltYWdlJ3MgY29sb3VyIHNwYWNlIGlzIG5vdCBzdXBwb3J0ZWQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MzExNQoKMjAxMS0wMi0yOCAyMDoxOTo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogY3lnd2luL21pbmd3OyBlbmFibGUgcGx1Z2luIGxpbmtpbmcgdG8gc3RhdGljIGxpYgoJICBVc2VmdWwgZm9yIERpcmVjdFggcGx1Z2luKHMpLgoJICBGaXhlcyAjNjQyNTA3LgoKMjAxMS0wMi0yOCAxOTo1ODo0MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogZXhwb3J0IHBsdWdpbiBkZXNjcmlwdGlvbiBtb3JlIHBsYXRmb3JtIGluZGVwZW5kZW50CgkgIEZpeGVzICM2NDI1MDQuCgoyMDExLTAyLTI4IDE4OjMzOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMWRlN2Y2YSB0byA2YWVjNmI5CgoyMDExLTAyLTI3IDE5OjM5OjQwICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWV0YTogZml4IGZvciBuZXcgbWV0YWRhdGEgYXBpCgoyMDExLTAyLTI2IDE0OjU0OjQ5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZjogZml4IGNsYXNzIHN0cnVjdAoJICBGaXggY2xhc3MgcGFyZW50IHN0cnVjdHVyZQoJICBNZXRhZGF0YSBpcyBub3cgR09iamVjdAoKMjAxMS0wMi0yNiAxNDoyMjo0NiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuYzoKCSogZXh0L3Jlc2luZHZkL3JzbndyYXBwZWRidWZmZXIuaDoKCSAgbWluaW9iamVjdDogcG9ydCByc25kdmQKCjIwMTEtMDItMjYgMTM6Mzk6MDEgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBtaW5pb2JqZWN0OiBwb3J0IHRvIG5ldyAwLjExIEFQSQoJICBSZW1vdmUgbWluaW9iamVjdCBhbmQgYnVmZmVyIHN1YmNsYXNzZXN1c2luZyBHT2JqZWN0IHN1YmNsYXNzZXMgYW5kCgkgIG1ldGFkYXRhLgoKMjAxMS0wMi0yOCAxMjowNjoxMiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAnbWFzdGVyJyBpbnRvIDAuMTEKCSAgQ29uZmxpY3RzOgoJICBjb25maWd1cmUuYWMKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDExLTAyLTI2IDEzOjUzOjQ0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgUmV2ZXJ0ICJhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBlNDliODlkNWM1YTEyNDRmYTBkY2I4YmI0OTk2ZTM4ZmI5YmZmOWU1LgoKMjAxMS0wMi0yNSAxOTo1OTowNSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IHNldCBkaXRoZXJpbmcgZW51bSBkaXJlY3RseQoKMjAxMS0wMi0yNSAxOTo1Nzo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIHIyMTAKCjIwMTEtMDItMjMgMTc6MjU6MDMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogYWxsb3cgcGFyc2VkIGZyYW1lcyBvbiBzaW5rIHBhZAoKMjAxMS0wMi0yMyAxNzoyNDoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1ha2VfbWV0YWRhdGFfd3JpdGFibGUoKSBmaXgKCjIwMTEtMDItMjQgMDk6Mjk6NTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogdGVzdHM6IEluY3JlYXNlIGJ1cyB3YWl0aW5nIHRpbWVvdXQKCSAgRG91YmxlIGJ1cyB3YWl0aW5nIHRpbWVvdXQgYXMgc29tZXRpbWVzIHRoZSB0ZXN0IHdvdWxkIGZhaWwKCSAgYmVjYXVzZSBpdCB3b3VsZCB0aW1lb3V0IGFuZCBnZXQgbm8gbWVzc2FnZXMgZnJvbSB0aGUgYnVzLgoKMjAxMS0wMi0yMSAxMzoyNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlbmFtZSBHVHlwZSBmcm9tIEdzdEF1ZGlvQmFzZVBhcnNlQmFkIHRvIEdzdEJhc2VQYXJzZUJhZAoJICBXZSB1c2UgaXQgZm9yIHZpZGVvIGFzIHdlbGwgbm93LgoKMjAxMS0wMi0yMSAxMjoxNDo1OSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBSZXZlcnQgIkNoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNmQ4NzQwNDc2Y2NkM2EzNDk4ZGM0ZjE4YzE5NzMzNjQzODI1YzdiOC4KCSAgRGVwZW5kcyBvbiBhIGNvcmUgY29tbWl0IHRoYXQgd2FzIHJldmVydGVkCgoyMDExLTAyLTIwIDIzOjU3OjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIENoZWNrIHRoYXQgY29sbGVjdHBhZHMgZXhpc3RzIGJlZm9yZSByZW1vdmluZyBwYWQKCSAgVGhlIGNvcmUgbm93IGNhbGxzIHJlbGVhc2UgcGFkIGZyb20gZmluYWxpemUsIGF0IHdoaWNoIHBvaW50CgkgIHRoZSBjb2xsZWN0cGFkcyBtaWdodCBoYXZlIGFscmVhZHkgYmVlbiBmcmVlZC4KCjIwMTEtMDItMjAgMjM6MDE6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBGaXggWVVWLT5SR0IgbWF0cml4aW5nCgoyMDExLTAyLTIwIDIyOjQzOjU2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSAgY29sb3JzcGFjZTogQWRkIGRpdGhlcmluZwoJICBEaXRoZXJpbmcgb25seSBoYXBwZW5zIHdoZW4gYSAxNi1iaXQtcGVyLWNoYW5uZWwgZm9ybWF0IGlzCgkgIGludm9sdmVkLgoKMjAxMS0wMS0xMSAxMDozMjo0NyArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgIHh2aWRkZWM6IGJvZGdlIHRvIGF2b2lkIGNyYXNoZXMKCSAgSXQgc2VlbXMgeHZpZGNvcmUgb3ZlcnJlYWRzIGl0cyBpbnB1dCBidWZmZXIsIHNvIGEgbmFzdHkgd29ya2Fyb3VuZAoJICBpcyB0byBhbGxvY2F0ZSBzb21lIG1vcmUgbWVtb3J5ICgxNiBieXRlcyBzZWVtIHRvIGJlIGVub3VnaCkuCgkgIFRoZXJlIGlzIG5vIGFwcGFyZW50IGltYWdlIGNvcnJ1cHRpb24gd2l0aCB0aGVzZSBleHRyYSBieXRlcyBzZXQgdG8gMCwKCSAgdmFsZ3JpbmQgaXMgbXVjaCBoYXBwaWVyLCBhbmQgdGhlIGNyYXNoZXMgZ28gYXdheS4KCSAgSXQgaXMgdWdseSwgYW5kIHNsb3dlciB0aG91Z2guIEJ1dCB0aGVuLCB4dmlkZGVjIGlzIGN1cnJlbnRseQoJICBub3QgYXV0b3BsdWdnZWQgZm9yIHBsYXliYWNrIGFueXdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTMzNDEwNwoKMjAxMS0wMi0yMCAxNDoxNDoyNyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IGZpeCBhIGZldyBmb3JtYXRzCgoyMDExLTAyLTE5IDEzOjEyOjQxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIDE2LWJpdC1wZXItY2hhbm5lbCBoYW5kbGluZwoKMjAxMS0wMi0xOSAxMzoxMzoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEZpeCBtZW1sZWFrCgoyMDExLTAyLTE5IDEzOjA3OjM5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJICBiYXNldmlkZW9jb2RlYzogcmVtb3ZlIHBhcnNlciBpbiBmYXZvciBvZiBiYXNlcGFyc2UKCjIwMTEtMDItMTggMTU6MjQ6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkgIHZpZGVvcGFyc2VyczogY2hhbmdlIHBsdWdpbiBmaWxlbmFtZSBmcm9tIGxpYmdzdGgyNjNwYXJzZSogdG8gbGliZ3N0dmlkZW9wYXJzZXJzYmFkKgoJICBEdWUgdG8gYSByZWdpc3RyeSBidWcgeW91IG1heSBuZWVkIHRvIG1hbnVhbGx5IHJlbW92ZSB5b3VyCgkgIHJlZ2lzdHJ5IGZpbGUgdG8gbWFrZSB0aGUgbmV3IHBsdWdpbiBhcHBlYXIgd2l0aCA+MCBmZWF0dXJlcy4KCjIwMTEtMDItMTggMTU6MTc6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogZml4IGxvZyBtZXNzYWdlIHByaW50ZiBmb3JtYXQKCjIwMTEtMDItMTggMTU6MDU6MzEgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9iYXNlcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHJpbSB0cmFpbGluZyB3aGl0ZXNwYWNlCgoyMDExLTAyLTE4IDE1OjA1OjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBkZWx0YS11bml0IGZsYWdzIGluc3RlYWQgb2Ygbm9uZQoKMjAxMS0wMi0xOCAxNTowMDowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvaW5kZXhtcGVnLmM6CgkgIGluZGV4aW5nLWV4YW1wbGU6IHVzZSBwcm9wZXIgc2lnbmFsIG5hbWVzCgoyMDExLTAyLTE4IDA5OjQwOjAwICswMTAwICBPbGl2aWVyIEF1YmVydCA8b2xpdmllci5hdWJlcnRAbGlyaXMuY25ycy5mcj4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBhbGxvdyBuZWdhdGl2ZSB2YWx1ZXMgZm9yIHgveS93aWR0aC9oZWlnaHQKCjIwMTEtMDItMTggMTI6Mzk6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBmaXggYnVpbGQKCSAgQWRkIGluY2x1ZGVzIGFuZCBsaW5rIGFnYWluc3QgbmV3IGxpYmdzdGJhc2VwYXJzZSBpbiB0aGUKCSAgYnVpbGQgdHJlZS4KCjIwMTEtMDItMTcgMTQ6MzI6NDYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c2RlbXV4L01ha2VmaWxlLmFtOgoJICBtcGVndHNkZW11eDogRml4IGRpc3Rpbmcgb2YgaGVhZGVycwoKMjAxMS0wMi0xNyAxMzoyMjoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBkb2N1bWVudGF0aW9uIGZvciBBUEkgY2hhbmdlcwoKMjAxMC0xMC0xMyAxNjoxMjowMiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmM6CgkgIHRlc3RzOiBmaXggYmFzZXBhcnNlIHRlc3QKCjIwMTAtMTAtMDkgMTU6MDg6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9kaXJhY19wYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2RpcmFjX3BhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0ZGlyYWNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGRpcmFjcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9wbHVnaW4uYzoKCSAgdmlkZW9wYXJzZXJzOiBBZGQgZGlyYWMgcGFyc2VyCgoyMDExLTAyLTE3IDEzOjIwOjQ2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL2dzdC1lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBkbyB0ZXN0IGJ1aWxkIHdpdGggLWZQSUMKCjIwMTAtMTAtMDkgMTU6MDY6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXBhcnNlOgoJICBlbGVtZW50LW1ha2VyOiBBZGQgYmFzZXBhcnNlIHRlbXBsYXRlCgoyMDEwLTEwLTEzIDE1OjM5OjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZXBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RoMjY0cGFyc2UuaDoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9oMjYzcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBDcmVhdGUgYmFzZXBhcnNlIGxpYnJhcnkKCjIwMTEtMDItMTYgMjE6MTc6NTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzdWJkZWM6IG1ha2UgdXAgY2x1dCB2YWx1ZXMgaWYgdGhleSB3ZXJlbid0IHNldAoKMjAxMC0xMi0wNCAxOTo1NTozMiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IGZpeCByZWxlYXNlX3BhZAoJICBSZW1vdmUgYm9ndXMgZnJlZWluZyBvZiBwYWQgZWxlbWVudF9wcml2YXRlIGRhdGEgdGhhdCB3ZQoJICBuZXZlciBzZXQgKGNvbGxlY3RwYWRzIHVzZXMgaXQsIHdoaWNoIGNhdXNlcyBjb25mdXNpb24gaGVyZSkuCgkgIEFsc28sIGNoZWNrIHRoYXQgb3VyIGNvbGxlY3RwYWRzIGluc3RhbmNlIGV4aXN0cyBiZWZvcmUgdXNpbmcKCSAgaXQuICBQYXJ0aWFsIGZpeCBmb3IgIzYzNjAxMS4KCjIwMTEtMDItMTcgMjE6MzM6NTYgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNkZW11eC9tcGVndHNiYXNlLmM6CgkgIG1wZWd0c2RlbXV4OiB1c2UgR19HVUlOVDY0X0ZPUk1BVCBhcyBmb3JtYXQgc3BlY2lmaWVyIGZvciBndWludDY0CgkgIGZpeGVzIGNvbXBpbGF0aW9uIG9uIDMyYml0CgoyMDExLTAyLTE1IDE4OjEyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogRml4IG1lbW9yeSBsZWFrCgoyMDExLTAyLTEwIDEyOjM1OjQ3ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJICBtcGVndHNkZW11eDogcmVsaWNlbnNlIGdzdG1wZWdkZWZzLmgsIGdzdG1wZWdkZXNjLmggYW5kIGdzdG1wZWdkZXNjLmMgdG8gTEdQTCBvbmx5CgkgIHdpdGggcGVybWlzc2lvbiBmcm9tIHRoZSBsaWNlbnNlIGhlYWRlcjoKCSAgIiIiCgkgIFRoaXMgbGlicmFyeSBpcyBsaWNlbnNlZCB1bmRlciAyIGRpZmZlcmVudCBsaWNlbnNlcyBhbmQgeW91CgkgIGNhbiBjaG9vc2UgdG8gdXNlIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiBlaXRoZXIgb25lIG9mIHRoZW0uIFRoZQoJICB0d28gbGljZW5zZXMgYXJlIHRoZSBNUEwgMS4xIGFuZCB0aGUgTEdQTC4KCSAgIiIiCgoyMDExLTAyLTE2IDE3OjU3OjQyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvbXBlZ3RzZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVndHNkZW11eC9UT0RPOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWd0c2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvZ3N0dHNkZW11eC5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzYmFzZS5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c2RlbXV4L21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4LmM6CgkqIGdzdC9tcGVndHNkZW11eC90c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBhZGQgTVBFRyBUUyBkZW11eGVyIHJld3JpdGUgZnJvbSBFZHdhcmQgSGVydmV5CgkgIHdpdGggY29udHJpYnV0aW9ucyBmcm9tIE1pcXVlbCBBbmdlbCBGYXJyZSBHdWl1IGFuZCBaYWhlZXIgQWJiYXMgTWVyYWxpCgoyMDExLTAyLTE3IDE0OjEyOjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdHVuZSBRVUVSWV9TRUVLSU5HIHJlc3BvbnNlCgkgIEV2ZW4gaWYgd2UgY3VycmVudGx5IGRvIG5vdCBoYXZlIGEgZHVyYXRpb24geWV0LCBhc3N1bWUgc2Vla2FibGUgaWYKCSAgaXQgbG9va3MgbGlrZSB3ZSdsbCBsaWtlbHkgYmUgYWJsZSB0byBkZXRlcm1pbmUgaXQgbGF0ZXIgb24KCSAgKHdoaWNoIGNvaW5jaWRlcyB3aXRoIG5lZWRlZCBpbmZvcm1hdGlvbiB0byBwZXJmb3JtIHNlZWtpbmcpLgoKMjAxMS0wMi0wNyAxNDo0Njo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHR1bmUgUVVFUllfU0VFS0lORyByZXNwb25zZQoJICBFdmVuIGlmIHdlIGN1cnJlbnRseSBkbyBub3QgaGF2ZSBhIGR1cmF0aW9uIHlldCwgYXNzdW1lIHNlZWthYmxlIGlmCgkgIGl0IGxvb2tzIGxpa2Ugd2UnbGwgbGlrZWx5IGJlIGFibGUgdG8gZGV0ZXJtaW5lIGl0IGxhdGVyIG9uCgkgICh3aGljaCBjb2luY2lkZXMgd2l0aCBuZWVkZWQgaW5mb3JtYXRpb24gdG8gcGVyZm9ybSBzZWVraW5nKS4KCSAgRml4ZXMgIzY0MTA0Ny4KCjIwMTEtMDItMTcgMTI6Mjg6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiByZW1vdmUgZXh0cmFuZW91cyBidWZmZXIgdW5yZWYKCjIwMTEtMDItMTYgMTU6Mjk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBpY2xlczogQ29tcGxldGVseSByZW1vdmUgZXF1YWxpemVyLXRlc3QgZnJvbSAtYmFkLCBpdCdzIGluIC1nb29kIG5vdwoKMjAxMS0wMi0xNiAxNToyMzo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBlcXVhbGl6ZXItdGVzdDogSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeSBhZnRlciBnc3RfaW5pdCgpIHRvIGZpeCBzZWdmYXVsdAoKMjAxMS0wMi0xNCAxMjo1Mzo0OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmOTRkNzM5IHRvIDFkZTdmNmEKCjIwMTEtMDItMTQgMTI6MTQ6MTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgZG9jczogcmVtb3ZlIGR1cGxpY2F0ZWQgcnVsZSBmcm9tIE1ha2VmaWxlLmFtCgkgIFRoaXMgY2F1c2VzIGEgbWFrZSB3YXJuaW5nIGFuZCBtaWdodCBldmVuIGNhdXNlIGRpc3QtZmFpbHVyZS4gT3RoZXIgbW9kdWxlcwoJICBkb24ndCBuZWVkIHRvIG92ZXJyaWRlIHRoZSB0YXJnZXQgZWl0aGVyIGFuZCBpZiB3ZSBjYW4gZmkgaXQgaW4KCSAgY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWsuCgoyMDExLTAyLTE0IDExOjQ4OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCByc3ZnIHBsdWdpbiB0byB0aGUgZG9jcwoKMjAxMS0wMi0xNCAxMTo0Mjo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnZGVjOiBhZGQgYmFzaWMgZG9jLWJsb2IKCjIwMTEtMDItMTEgMTc6NTk6MzEgKzAxMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydEBsaXJpcy5jbnJzLmZyPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuaDoKCSAgcnN2Z292ZXJsYXk6IGltcGxlbWVudCB4L3kvd2lkdGgvaGVpZ2h0IChhYnNvbHV0ZSBhbmQgcmVsYXRpdmUpIHBvc2l0aW9uaW5nIGFuZCBkaW1lbnNpb25pbmcKCSAgU2lnbmVkLW9mZi1ieTogT2xpdmllciBBdWJlcnQgPG9saXZpZXIuYXViZXJ0QGxpcmlzLmNucnMuZnI+CgoyMDExLTAyLTEwIDE2OjAwOjAzICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiBhcHBsaWNhdGlvbiBlbGVtZW50IG1lbW9yeSBsZWFrIGZpeGVzCgkgIElmIHZpZGVvYmluL2ltYWdlYmluIHdhcyBuZXZlciBzZXQgdG8gUkVBRFkgc3RhdGUgdGhlIG93bmVyc2hpcAoJICBvZiBlbGVtZW50cyBjcmVhdGVkIGFuZCBzZXQgYnkgYXBwbGljYXRpb24gd2VyZSBuZXZlciB0YWtlbiBieQoJICBiaW4gYW5kIHRoZXJlZm9yZSBnc3Rfb2JqZWN0X3NpbmsgaXMgY2FsbGVkIGZvciB0aGVzZSBlbGVtZW50cwoJICBiZWZvcmUgdW5yZWZmaW5nICh0aGV5IG1heSBzdGlsbCBiZSBpbiBmbG9hdGluZyBzdGF0ZSBhbmQgbm90CgkgIHVucmVmZmVkIHByb3Blcmx5IHdpdGhvdXQgc2lua2luZyBmaXJzdCkKCjIwMTEtMDItMTAgMTA6MzU6MTggKzA4MDAgIEh1IEdhbmcgPGdhbmcuYS5odUBpbnRlbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IHVwZGF0ZSB0aGUgbm9pc2VfcmVkdWN0aW9uIHR5cGUgZnJvbSBndWludCB0byBHc3RQaG90b2dyYXBoeU5vaXNlUmVkdWN0aW9uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTY4MTQKCjIwMTEtMDItMDggMjM6Mzk6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBVcGRhdGUgbWluL21heCBiaXRyYXRlIGJlZm9yZSBmaXJzdCBwb3N0aW5nIHRoZW0KCSAgVGhpcyBhdm9pZHMgcG9zdGluZyBhbiBpbml0aWFsIG1pbi1iaXRyYXRlIG9mIEdfVUlOVE1BWCBhbmQgbWF4LWJpdHJhdGUKCSAgb2YgMC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1NwoKMjAxMS0wMi0wOCAyMzo1MDoxMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgbXBlZ2F1ZGlvcGFyc2U6IFBvc3QgQ0JSIGJpdHJhdGUgYXMgbm9taW5hbCBiaXRyYXRlCgkgIEV2ZW4gaWYgVkJSIGhlYWRlcnMgYXJlIG1pc3NpbmcsIHdlIGNhbid0IGd1YXJhbnRlZSB0aGF0IGEgc3RyZWFtIGlzIGluCgkgIGZhY3QgYSBDQlIgc3RyZWFtLCBzbyBpdCdzIHNhZmVyIHRvIGxldCBiYXNlcGFyc2UgY2FsY3VsYXRlIHRoZSBhdmVyYWdlCgkgIGJpdHJhdGUgcmF0aGVyIHRoYW4gYXNzdW1lIGEgQ0JSIHN0cmVhbS4gSG93ZXZlciwgaW4gb3JkZXIgdG8gbWFrZQoJICAvc29tZS8gbWV0YWRhdGEgYXZhaWxhYmxlIGJlZm9yZSB0aGUgcmVxdWlzaXRlIG51bWJlciBvZiBmcmFtZXMgaGF2ZQoJICBiZWVuIHBhcnNlZCwgdGhpcyBwb3N0cyB0aGUgYml0cmF0ZSBmcm9tIHRoZSBub24tVkJSIGhlYWRlcnMgYXMgdGhlCgkgIG5vbWluYWwgYml0cmF0ZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTg1OAoKMjAxMS0wMi0wNCAwMTowMDo1NSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFsd2F5cyB0YWtlIHBob3RvIHdoZW4gcHJldmlldy1jYXBzIGlzIHNldAoJICBXaGVuIGZpbGVuYW1lIGlzIG5vdCBzZXQsIGJ1dCBwcmV2aWV3LWNhcHMgaXMgc2V0LCB0YWtlIHRoZSBwaG90byBhbmQKCSAgc2VuZCBpdHMgcHJldmlldy4KCjIwMTEtMDEtMjYgMTE6NDk6NDggLTAyMDAgIEx1Y2lhbmEgRnVqaWkgUG9udGVsbG8gPGx1Y2lhbmFAZnVqaWkuZXRpLmJyPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGNhbWVyYWJpbjogRXZlbnRzIHdpdGggc2VsZWN0LWFsbCBpbiBpbnB1dC1zZWxlY3RvcgoJICBXaGVuIHNlbGVjdC1hbGwgd2FzIHNldCwgaW5wdXQtc2VsZWN0b3Igd2Fzbid0IGhhbmRsaW5nIHVwc3RyZWFtIGV2ZW50cy4KCSAgTm93IGlucHV0LXNlbGVjdG9yIGZvcndhcmRzIHRoZSBldmVudCB0byBhbGwgb2YgaXRzIHNpbmsgcGFkcy4gVGhpcwoJICBjaGFuZ2VzIHRoZSBpbnB1dC1zZWxlY3RvciBpbnRlcm5hbCB0byBjYW1lcmFiaW4gdW50aWwgaXQgaXMgcmVwbGFjZWQKCSAgd2l0aCBhIGJldHRlciBzb2x1dGlvbi4KCjIwMTEtMDItMDcgMjM6MTc6NTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhd3Npbms6IGF2b2lkIGFzcGVjdC1yYXRpbyBib3JkZXJzIG92ZXJseWluZyBvdGhlciB3aW5kb3dzCgkgIEZpeGVzICM2MzIwNTYuCgoyMDExLTAyLTA3IDIyOjQ3OjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBhdm9pZCByZW5kZXJpbmcgdG8gaW52YWxpZCBhcmVhCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IEhhdmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCSAgRml4ZXMgIzU5NDI4MC4KCjIwMTEtMDItMDggMTE6MjQ6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBEbyBub3QgcmUtc2V0IHRoZSBjbG9jayBpZiBpdCBpcyBudWxsCgkgIEF2b2lkcyBub3QgbmVlZGVkIHdvcmsgYW5kIGRvZXNuJ3QgYXNzZXJ0IHdoZW4gdHJ5aW5nIHRvCgkgIHVucmVmIHRoZSBudWxsIHJlZmVyZW5jZQoKMjAxMS0wMi0wNyAwOTo1MDoyMiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBmaXggLS1uby14d2luZG93IG9wdGlvbiBoYW5kbGluZyBpbiBnc3QtY2FtZXJhYmluLXRlc3QKCSAgLS1uby13aW5kb3cgZmxhZyBpcyBmYWxzZSBieSBkZWZhdWx0IGFuZCBzZWxlY3Rpb24gYmFzZWQgb24gdGhlIG9wdGlvbiB3aGV0aGVyCgkgIHRvIGNyZWF0ZSBYV2luZG93IGlzIGRvbmUgYmVmb3JlIG9wdGlvbnMgYXJlIHBhcnNlZC4gVGhlcmVmb3JlIFhXaW5kb3cgaXMgbmV2ZXIKCSAgY3JlYXRlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTY0MTcxMgoKMjAxMC0wOS0wNiAxNDoxMDoxMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGFtcnBhcnNlOiBhIHZhbGlkIGFtci13YiBmcmFtZSBzaG91bGQgbm90IGhhdmUgcmVzZXJ2ZWQgZnJhbWUgdHlwZSBpbmRleAoJICBTZWUgIzYzOTcxNS4KCjIwMTEtMDItMDcgMTQ6MDU6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IHNldCBHU1RfTElCX0xERkxBR1MKCSAgQWxpZ25zIEdTVF9MSUJfTERGTEFHUyB3aXRoIGUuZy4gLWJhc2UgdG8gYXJyYW5nZSBmb3IgcHJvcGVyIGV4cG9ydHMgaW4gbGlicy4KCjIwMTEtMDEtMTIgMTc6MTM6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBjYW1lcmFiaW4tdGVzdHM6IGZpeCBsb29rdXAgb2YgVUkgZmlsZXMKCSAgVGhlc2UgYXJlIHVuaW5zdGFsbGVkIGV4YW1wbGVzLiBQYXNzICRzcmNkaXIgdG8gY3BwIHRvIGJ1aWxkIHRoZSBjb3JyZWN0CgkgIGxvY2F0aW9uIGZvciB0aGUgVUkgZmlsZS4KCjIwMTEtMDItMDQgMDk6MDg6MjYgKzAxMDAgIEFsZXhleSBGaXNoZXIgPGJ1Zy10cmFja0BmaXNoZXItcHJpdmF0Lm5ldD4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIGRlc2NyaXB0aW9uIGZvciBiaXRyYXRlIHVuaXRzLgoKMjAxMS0wMi0wMyAxNToyMjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBGaXggcHJvcGVydHkgc2V0dGluZwoJICBTZXQgdGhlIHByb3BlcnR5IG9uIHRoZSBjaGlsZCBhbmQgbm90IG9uIGl0c2VsZiBjYXVzaW5nIGluZmluaXRlCgkgIGxvb3BpbmcKCjIwMTEtMDItMDEgMTE6MjA6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogSW1wcm92ZSBwcmV2aWV3IGNoZWNraW5nCgoyMDExLTAyLTAxIDExOjE5OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBGaXggcHJldmlldyBtZXNzYWdlcwoJICBJbWFnZSBwcmV2aWV3cyB3aGVyZSBiZWluZyBwb3N0ZWQgaW4gc3luYyB3aXRoIHRoZSBidWZmZXJzCgkgIHRpbWVzdGFtcHMsIHRoaXMgbWFrZXMgbm8gc2Vuc2UgYXMgcHJldmlld3Mgc2hvdWxkIGJlIHBvc3RlZCBBU0FQLgoJICBBbHNvIGFkZHMgc29tZSBkZWJ1Z2dpbmcgbWVzc2FnZXMuCgoyMDExLTAyLTAxIDExOjE5OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3JjIHN0YXRlIGNoYW5nZSB0byBhdm9pZCBsb3NpbmcgdGltZXN0YW1wcwoJICBDYW1lcmFiaW4yIHVzZXMgc3RhdGUgY2hhbmdlcyB0byBmb3JjZSB0aGUgc291cmNlIHRvIHJlbmVnb3RpYXRlIGl0cwoJICBjYXBzIHRvIHRoZSBjYXB0dXJlIGZvcm1hdHMuIFRoZSBzdGF0ZSBjaGFuZ2VzIG1ha2VzIHRoZSBzb3VyY2UgbG9zZQoJICBpdHMgY2xvY2sgYW5kIGJhc2VfdGltZSwgY2F1c2luZyBpdCB0byBzdG9wIHRpbWVzdGFtcGluZyB0aGUgYnVmZmVycy4KCSAgV2Ugc3RpbGwgbmVlZCBhIHByb3BlciB3YXkgdG8gbWFrZSBzb3VyY2VzIHJlbmVnb3RpYXRlIGl0cyBjYXBzLCBzbyB0aGlzCgkgIHBhdGNoIGlzIGEgaGFjayB0byBtYWtlIHRoZSBzb3VyY2UgY29udGludWUgdGltZXN0YW1waW5nIGJ1ZmZlcnMgZXZlbgoJICBhZnRlciBjaGFuZ2luZyBzdGF0ZS4gVGhlIHBhdGNoIHdvcmtzIGJ5IGdldHRpbmcgdGhlIGNsb2NrIGFuZCBiYXNlCgkgIHRpbWUgYmVmb3JlIGRvaW5nIHRoZSBzdGF0ZSBjaGFuZ2UgdG8gTlVMTCBhbmQgc2V0dGluZyB0aGVtIGJhY2sKCSAgYWZ0ZXIgcHV0dGluZyBpdCB0byBQTEFZSU5HIGFnYWluLiBJdCBhbHNvIGNhcmVzIHRvIGRyb3AgdGhlIGZpcnN0CgkgIG5ldyBzZWdtZW50IGFmdGVyIHRoaXMgc3RhdGUgY2hhbmdlLgoKMjAxMS0wMS0yNyAxNTozNToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBwcmV2aWV3IGZpbHRlciB0ZXN0cwoJICBBZGRzIHRlc3RzIHRvIHRoZSBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eSBvZiBjYW1lcmFiaW4yCgoyMDExLTAxLTI3IDE0OjM5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBwcmV2aWV3LWZpbHRlciBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IGEgY3VzdG9tIGVsZW1lbnQgZm9yIHByZXZpZXcgcGlwZWxpbmUKCSAgYnVmZmVycyBwcm9jZXNzaW5nCgoyMDExLTAxLTI3IDEwOjE5OjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IEFkZCB0ZXN0cyBmb3IgY3VzdG9tIGZpbHRlcnMKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayB0aGF0IGN1c3RvbSBmaWx0ZXJzIGVsZW1lbnRzIHJlY2VpdmUgYnVmZmVycwoKMjAxMS0wMS0yNiAxNToyNzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogQWRkIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcwoJICBBZGRzIGN1c3RvbSBmaWx0ZXIgcHJvcGVydGllcyBmb3IgY2FtZXJhYmluMi4gQ3VzdG9tIGZpbHRlcnMKCSAgY2FuIGJlIGFkZGVkIHRvIHZpZGVvL2ltYWdlL3ByZXZpZXcgYnJhbmNoZXMuCgoyMDExLTAyLTAzIDE2OjI0OjI0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEluaXRpYWxpemUgdmFyaWFibGVzCgkgIE1ha2VzIGNvbXBpbGVycyBoYXBweQoKMjAxMS0wMi0wMiAxODo0MTozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IGZpeCB1cCBlbnVtIG5pY2sgbmFtZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5MTY1MQoKMjAxMS0wMS0zMSAxNzoyNDoyNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BfY29tbW9uLmg6CgkgIGRjY3A6IHVzZSBzb2NrbGVuX3Qgd2hlcmUgYXBwcm9wcmlhdGUgcmF0aGVyIHRoYW4gc3BlY2lmaWMgdHlwZQoJICBJbiBwYXJ0aWN1bGFyLCBmaXhlcyBDeWd3aW4gYnVpbGQgd2hlcmUgc29ja2xlbl90IGlzIGRlZmluZWQgYXMgaW50CgkgIGluIGxpbmUgd2l0aCBuYXRpdmUgd2luMzIgYXBpIGRlZmluaXRpb24uCgoyMDExLTAyLTAxIDIwOjAxOjEzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHB2cDgvTWFrZWZpbGUuYW06CgkgIHJ0cHZwODogYWxzbyBsaW5rIGFnYWluc3QgbGliZ3N0YmFzZS0wLjEwIGZvciBhZGFwdGVyIGFuZCBiaXQgcmVhZGVyIEFQSQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQxMTc4CgoyMDExLTAyLTAxIDE0OjQwOjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBtYXAgbmV3IEdTVF9UQUdfRU5DT0RFRF9CWSB0byBJRDN2MiBURU5DIGZyYW1lCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyNjgKCjIwMTEtMDEtMzEgMTc6NDU6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSAgdmlkZW9wYXJzZXJzOiBkaXN0IGgyNjRwYXJzZS5oLCBmaXhpbmcgbWFrZSBkaXN0Y2hlY2sKCSAgU3BvdHRlZCBieSBOYXRoYW5hZWwgRC4gTm9ibGV0CgoyMDExLTAxLTE0IDEwOjE5OjI4ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogb3B0aW1pemUgc2V0dGluZyBuZXcgY2FwcyBmb3IgcHJldmlldyBpbWFnZSBwaXBlbGluZQoJICBBdm9pZCByZS1jcmVhdGluZyBhbmQgbGlua2luZyBvZiBwcmV2aWV3IGltYWdlIHBpcGVsaW5lIHdoZW4KCSAgc2V0dGluZyBuZXcgcHJldmlldyBpbWFnZSBjYXBzLiBCYWNrcG9ydGVkIGZyb20gY2FtZXJhYmluMi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTUwMgoKMjAxMS0wMS0zMCAxNzowODoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJICBydHB2cDg6IGZpeCBMSUJTIGFuZCBDRkxBR1Mgb3JkZXIgaW4gTWFrZWZpbGUuYW0KCjIwMTEtMDEtMjMgMTc6MDI6MzggKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuYzoKCSAgcnRwdnA4ZGVwYXk6IEFjY2VwdCBwYWNrZXRzIHdpdGggb25seSBvbmUgYnl0ZSBvZiBkYXRhCgkgIFdoZW4gZnJhZ21lbnRpbmcgcGFydGlvbnMgaXQgY2FuIGhhcHBlbiB0aGF0IGFuIFJUUCBwYWNrZXQgb25seSBjYXJpZXMgMQoJICBieXRlIG9mIFJUUCBkYXRhLgoKMjAxMS0wMS0yMyAxNjo0MjoxNyArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4cGF5OiBUcmVhdCB0aGUgZnJhbWUgaGVhZGVyIGp1c3QgbGlrZSBhbnkgb3RoZXIgcGFydGl0aW9uCgkgIFdoZW4gc2V0dGluZyB1cCB0aGUgaW5pdGlhbCBtYXBwaW5nIGp1c3QgYWN0IGFzIGlmIHRoZSBnbG9iYWwgZnJhbWUKCSAgaW5mb3JtYXRpb24gaXMgYW5vdGhlciBwYXJ0aXRpb24uIFRoaXMgc2F2ZXMgc3BlY2lhbC1jYXNpbmcgaXQgbGF0ZXIgaW4KCSAgdGhlIGFjdHVhbCBwYWNrZXRpemluZyBjb2RlLgoKMjAxMC0wNS0xNiAxNzoyMzoxNyArMDEwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRwdnA4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOC5jOgoJKiBnc3QvcnRwdnA4L2dzdHJ0cHZwOGRlcGF5LmM6CgkqIGdzdC9ydHB2cDgvZ3N0cnRwdnA4ZGVwYXkuaDoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuYzoKCSogZ3N0L3J0cHZwOC9nc3RydHB2cDhwYXkuaDoKCSAgcnRwdnA4OiBBZGQgc2ltcGxlIHBheWxvYWRlcnMgYW5kIGRlcGF5bG9hZGVycyBmb3IgVlA4CgkgIE1pbmltYWwgaW1wbGVtZW50YXRpb24gb2YgaHR0cDovL3d3dy53ZWJtcHJvamVjdC5vcmcvY29kZS9zcGVjcy9ydHAvLAoJICB2ZXJzaW9uIDAuMy4yCgoyMDExLTAxLTI4IDEyOjM4OjE5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvZ3N0aDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmM6CgkqIGdzdC92aWRlb3BhcnNlcnMvaDI2NHBhcnNlLmg6CgkqIGdzdC92aWRlb3BhcnNlcnMvcGx1Z2luLmM6CgkgIHZpZGVvcGFyc2VyczogYWRkIGgyNjRwYXJzZQoJICBGdW5jdGlvbmFsbHkgZXF1aXZhbGVudCB0byAobGVnYWN5KWgyNjRwYXJzZSBhbmQgcmUtdXNlcyB0aGUgbGF0dGVyJ3MgbG93CgkgIGxldmVsIE5BTCBwYXJzaW5nLCBidXQgb3RoZXJ3aXNlIGJhc2VkIG9uIEdzdEJhc2VQYXJzZSwgYW5kIHJlcGxhY2luZwoJICBzb21lIHByb3BlcnR5IGNvbmZpZ3VyYXRpb24gd2l0aCBjYXBzIG5lZ290aWF0aW9uLgoKMjAxMS0wMS0yNyAxODoyMDoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlbmFtZSB0byBsZWdhY3loMjY0cGFyc2UKCjIwMTEtMDEtMjcgMTg6MTY6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5jOgoJKiBnc3QvdmlkZW9wYXJzZXJzL2gyNjNwYXJzZS5oOgoJKiBnc3QvdmlkZW9wYXJzZXJzL3BsdWdpbi5jOgoJICBoMjYzcGFyc2U6IG1vdmUgdG8gdmlkZW9wYXJzZXJzIGFuZCBzZXBhcmF0ZSBwbHVnaW4gcmVnaXN0cmF0aW9uCgoyMDExLTAxLTI3IDE4OjAzOjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogdXBkYXRlIHRvIGxhdGVzdCBiYXNlcGFyc2UKCjIwMTEtMDEtMDYgMTI6Mjk6MzQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9oMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaHVmZmxlIGNvZGUgdG8gdW50YW5nbGUgaDI2M3BhcnNlIGFuZCBwYXJhbWV0ZXIgcGFyc2luZwoKMjAxMS0wMS0wNiAxMjozNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5jOgoJKiBnc3QvaDI2M3BhcnNlL2dzdGgyNjNwYXJzZS5oOgoJKiBnc3QvaDI2M3BhcnNlL2gyNjNwYXJzZS5jOgoJICBoMjYzcGFyc2U6IHByb3ZpZGUgZm9yIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSwgbWluIGZyYW1lIHNpemUgYW5kIGNvZGUgc3R5bGUKCjIwMTAtMTItMTAgMTY6NDA6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSAgaDI2M3BhcnNlOiByZW1vdmUgcmVkdW5kYW50IGdldF9jYXBzCgkgIC4uIGFzIHNyYyBwYWQgYWxyZWFkeSBzZXQgdG8gdXNlIGZpeGVkX2NhcHMKCjIwMTAtMTItMTAgMTY6MjY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuYzoKCSogZ3N0L2gyNjNwYXJzZS9nc3RoMjYzcGFyc2UuaDoKCSAgaDI2M3BhcnNlOiBzaW1wbGlmeSB2YWxpZF9mcmFtZSBwYXJzaW5nCgkgIC4uLiBjb25zaWRlcmluZyB0aGF0IGJhc2VwYXJzZSB0YWtlcyBjYXJlIG9mIHNraXBwaW5nIGV0YwoKMjAxMC0wNS0xNCAwMjowODowMyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9oMjYzcGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmM6CgkqIGdzdC9oMjYzcGFyc2UvZ3N0aDI2M3BhcnNlLmg6CgkqIGdzdC9oMjYzcGFyc2UvaDI2M3BhcnNlLmM6CgkgIGgyNjNwYXJzZTogQWRkIGFuIGgyNjNwYXJzZSBlbGVtZW50CgkgIFRoaXMgYWRkcyBhbiBoMjYzcGFyc2UgZWxlbWVudCBmb3IgcGFyc2luZyBILjI2MyBzdHJlYW1zLCBicmVha2luZyB0aGVtCgkgIHVwIGludG8gZnJhbWUtc2l6ZWQgYnVmZmVycywgYW5kIGV4cG9ydGluZyBtZXRhZGF0YSBzdWNoIGFzIHByb2ZpbGUgYW5kCgkgIGxldmVsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIyMjc2CgoyMDExLTAxLTI3IDE2OjUyOjM0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgaGFuZGxpbmcgb2YgZGVwZW5kZW50IHN1YnN0cmVhbSBmcmFtZXMKCSAgSW4gcGFydGljdWxhciwgdGltZXN0YW1wcyBvZiB0aGVzZSBzaG91bGQgdHJhY2sgbWFpbi1zdHJlYW0gdGltZXN0YW1wcy4KCjIwMTEtMDEtMjEgMTQ6NTM6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiB0dW5lIGRlZmF1bHQgZHVyYXRpb24gZXN0aW1hdGUgdXBkYXRlIGludGVydmFsCgkgIFJhdGhlciB0aGFuIGEgZml4ZWQgZGVmYXVsdCBmcmFtZSBjb3VudCwgZXN0aW1hdGUgZnJhbWUgY291bnQgdG8gYWltIGZvcgoJICBhbiBpbnRlcnZhbCBkdXJhdGlvbiBkZXBlbmRpbmcgb24gZnBzIGlmIGF2YWlsYWJsZSwgb3RoZXJ3aXNlIHVzZSBvbGQKCSAgZml4ZWQgZGVmYXVsdC4KCjIwMTEtMDEtMTQgMTU6MTY6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXZlcnNlIHBsYXliYWNrOyBtaW5kIGtleWZyYW1lcyBmb3IgZnJhZ21lbnQgYm91bmRhcnkKCjIwMTEtMDEtMTMgMTU6MjY6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJICBhbXJwYXJzZTogcHJvcGVybHkgY2hlY2sgZm9yIHN1ZmZpY2llbnQgYXZhaWxhYmxlIGRhdGEgcHJpb3IgdG8gYWNjZXNzCgoyMDExLTAxLTEyIDE0OjQwOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZW5zdXJlIG5vbi1lbXB0eSBjYW5kaWRhdGUgZnJhbWVzCgoyMDExLTAxLTExIDE1OjI0OjIzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2xhcmlmeSBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTEtMDEtMTEgMTU6MjQ6MDIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXJseSB0cmFjayB1cHN0cmVhbSB0aW1lc3RhbXBzCgkgIC4uLiByYXRoZXIgdGhhbiB3aXRoIGEgZGVsYXkuCgoyMDExLTAxLTExIDE1OjIzOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbmVlZCBwcm9wZXIgZnJhbWUgZHVyYXRpb24gdG8gb2J0YWluIHNlbnNpYmxlIGZyYW1lIGJpdHJhdGUKCjIwMTEtMDEtMTEgMTU6MjI6NTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm9wZXIgaW5pdGlhbCB2YWx1ZXMgZm9yIGluZGV4IHRyYWNraW5nIHZhcmlhYmxlcwoKMjAxMS0wMS0xMSAxMjowNToxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFycmFuZ2UgZm9yIGNvbnNpc3RlbnQgZXZlbnQgaGFuZGxpbmcKCjIwMTEtMDEtMTAgMTY6NTk6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBoZWFkZXIgc3R5bGUgY2xlYW5pbmcKCjIwMTEtMDEtMTAgMTc6MDc6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwcm92aWRlIHNvbWUgbW9yZSBpbml0aWFsIGZyYW1lIG1ldGFkYXRhIGluIHBhcnNlX2ZyYW1lCgkgIC4uLiBhbmQgZG9jdW1lbnQgYWNjb3JkaW5nbHkuCgoyMDExLTAxLTEwIDE2OjU2OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZWZhY3RvciBwYXNzdGhyb3VnaCBpbnRvIGZvcm1hdCBmbGFncwoJICBBbHNvIGFkZCBhIGZvcm1hdCBmbGFnIHRvIHNpZ25hbCBiYXNlcGFyc2UgdGhhdCBzdWJjbGFzcy9mb3JtYXQgY2FuIHByb3ZpZGUKCSAgKHBhcnNlZCkgdGltZXN0YW1wIHJhdGhlciB0aGFuIGFuIGVzdGltYXRlZCBvbmUuICBJbiBwYXJ0aWN1bGFyLCBzdWNoICJzdHJvbmciCgkgIHRpbWVzdGFtcCB0aGVuIGFsbG93cyB0byBlLmcuIGRldGVybWluZSBkdXJhdGlvbi4KCjIwMTEtMDEtMTAgMTU6MzQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW50cm9kdWNlIGEgYmFzZXBhcnNlIGZyYW1lIHRvIHNlcnZlIGFzIGNvbnRleHQKCSAgLi4uIGFuZCBhZGp1c3Qgc3ViY2xhc3MgcGFyc2VycyBhY2NvcmRpbmdseQoKMjAxMS0wMS0wNyAxNjozOTo1MSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHJlc3RyaWN0IGR1cmF0aW9uIHNjYW5uaW5nIHRvIHB1bGwgbW9kZSBhbmQgYXZvaWQgZXh0cmEgc2V0X2NhcHMgY2FsbAoKMjAxMS0wMS0wNyAxNTo1ODo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHVwZGF0ZSBzb21lIGRvY3VtZW50YXRpb24KCSAgQWxzbyBhZGQgc29tZSBtb3JlIGRlYnVnLgoKMjAxMS0wMS0wNiAxMTo0MTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFsbG93IGluY3JlYXNpbmcgbWluX3NpemUgZm9yIGN1cnJlbnQgZnJhbWUgcGFyc2luZyBvbmx5CgkgIEFsc28gY2hlY2sgdGhhdCBzdWJjbGFzcyBhY3R1YWxseSBlaXRoZXIgZGlyZWN0cyB0byBza2lwIGJ5dGVzIG9yCgkgIGluY3JlYXNlcyBleHBlY3RlZCBmcmFtZSBzaXplIHRvIGF2b2lkIGdvaW5nIG5vd2hlcmUgaW4gYm9ndXMKCSAgaW5kZWZpbml0ZSBsb29waW5nLgoKMjAxMS0wMS0xNCAxNToyNjozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYWVzcGFyc2U6IGZpeCByZWZhY3RvciByZWdyZXNzaW9uIGluIGxvb3AgYmFzZWQgcGFyc2luZwoKMjAxMS0wMS0wNiAxMToxNjo1NiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHBhc3MgYWxsIGF2YWlsYWJsZSBkYXRhIHRvIHN1YmNsYXNzIHJhdGhlciB0aGFuIG1pbmltdW0KCSAgQWxzbyByZWR1Y2Ugc29tZSBhZGFwdGVyIGNhbGxzIGFuZCBhZGQgYSBmZXcgZGVidWcgc3RhdGVtZW50cy4KCjIwMTAtMTItMTAgMTU6NTk6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggcmV2ZXJzZSBwbGF5YmFjayBoYW5kbGluZwoKMjAxMC0xMi0xMCAxNDo1NjoxMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG1pbm9yIHR5cG8gYW5kIGRlYnVnIHN0YXRlbWVudCBjbGVhbnVwCgoyMDEwLTEyLTEwIDE0OjQwOjA1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogcmVkdWNlIGxvY2tpbmcKCSAgLi4uIHdoaWNoIGlzIGVpdGhlciBhbHJlYWR5IG11dGUgYW5kL29yIGltcGxpY2l0bHkgaGFuZGxlZCBieSBTVFJFQU1fTE9DSy4KCjIwMTEtMDEtMjcgMTc6MzI6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjcgMTc6Mjk6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogSW5pdGlhbGl6ZSBzb21lIHZhcmlhYmxlcyB0byBtYWtlIGdjYyA0LjYgaGFwcHkKCjIwMTEtMDEtMjYgMTg6NDU6NTYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZGVjLCBqcDJrZW5jOiBhZGQgc3VwcG9ydCB2MzA4ICg0OjQ6NCBZVVYpCgkgIEJlY2F1c2Ugd2UgY2FuLgoKMjAxMS0wMS0yNiAxNDoyNzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBVc2UgdGhlIGNvcnJlY3QgZm9yIGxpbWl0CgkgIFRoZXJlIGFyZSAzIHRhZ2xpc3RzIHRvIGJlIHRlc3RlZCwgbm90IDIKCjIwMTEtMDEtMjYgMTE6NDA6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IERvIG5vdCBmb3JnZXQgdG8gdW5yZWYgc29tZSBzdHVmZgoJICBDbGVhbnVwIHByb3Blcmx5IGJ5IHVucmVmaW5nIHRoZSBlbmNvZGluZyBwcm9maWxlIGFuZCBwcmV2aWV3IGNhcHMKCjIwMTEtMDEtMjYgMTA6NTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IEFkZCBuYW1lcyB0byBzb21lIGVsZW1lbnRzCgkgIEFkZHMgbmFtZXMgdG8gaW5zdGFuY2VzIG9mIHNvbWUgZWxlbWVudHMgdG8gbWFrZSBkZWJ1Z2dpbmcgZWFzaWVyCgoyMDExLTAxLTI1IDE4OjEwOjE4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGVvc2luayBzdGF0ZXMgbW9yZSBjYXJlZnVsbHkKCSAgV2hlbiBnb2luZyB0byByZWFkeSwgY2FtZXJhYmluMiBjb3VsZCBjcmVhdGUgYW4gZW1wdHkgZmlsZQoJICBpZiB0aGUgdmlkZW9zaW5rIHdhcyBwdXQgdG8gcmVhZHkuIFRoaXMgcGF0Y2ggb25seSBwdXRzIHZpZGVvc2luawoJICB0byByZWFkeSBvbiB0aGUgUEFVU0VEX1RPX1JFQURZIHN0YXRlIGNoYW5nZSBpZiBpdCBpcyBvbiBQQVVTRUQKCSAgb3IgUExBWUlORy4KCjIwMTEtMDEtMTQgMTQ6MDg6MzggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhdm9pZCBsb29wIGluIGZyYW1lIGxvY2F0aW5nIGludGVycG9sYXRpb24KCjIwMTEtMDEtMjQgMjM6MzI6MzAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z292ZXJsYXkuYzoKCSAgcnN2Z292ZXJsYXk6IERvIG5vdCBzZWdmYXVsdCBvbiB1bmV4aXN0ZW50IGZpbGVzCgkgIFdoZW4gcGFzc2luZyBhbiB1bmV4aXN0ZW50IGZpbGUgdG8gcnN2Z292ZXJsYXkgaXQgd291bGQKCSAgY3Jhc2ggYmVjYXVzZSB0aGUgc3ZnIGxvYWRpbmcgd291bGQgZmFpbCB3aXRob3V0IHNldHRpbmcKCSAgYW4gZXJyb3IuCgkgIFRoaXMgcGF0Y2ggbWFrZXMgaXQgY2hlY2sgaWYgdGhlIGhhbmRsZSB3YXMgYWN0dWFsbHkgY3JlYXRlZAoJICBhbmQgbG9ncyBhbiBlcnJvciBpbiBjYXNlIGl0IGRpZG4ndC4gTWF5YmUgaXQgc2hvdWxkIHBvc3QgYW4KCSAgZXJyb3IgdG8gdGhlIGJ1cywgYnV0IHRoZSBwcmV2aW91cyBlcnJvciBoYW5kbGluZyBkaWRuJ3QsIHNvCgkgIEkganVzdCBmb2xsb3dlZCB0aGUgc2FtZSBsb2dpYy4KCjIwMTEtMDEtMjQgMTg6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiAgYWRkIHRpbWluZyBwcmludGluZyBmb3IgcHJldmlldyBpbWFnZQoJICBNZWFzdXJlIGFuZCBwcmludCB0aGUgdGltZSB0YWtlbiB0byBnZW5lcmF0ZSBwcmV2aWV3IGltYWdlLiBBbmQKCSAgZml4IGEgdHlwbwoKMjAxMS0wMS0yNCAxODozNjo1OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgbWFjcm8KCjIwMTEtMDEtMTIgMTY6MjY6MTkgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8bGFzc2UubGF1a2thbmVuQGRpZ2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogRG9uJ3Qgc2V0IGRlZmF1bHQgdmFsdWVzIGZvciBHc3RQaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgRG9uJ3Qgc2V0IGFueSBkZWZhdWx0IHZhbHVlcyBmb3Igc291cmNlIGVsZW1lbnQgR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIHNldHRpbmdzLCBzb3VyY2UgZWxlbWVudHMgc2hvdWxkIGhhdmUgc2FuZSBkZWZhdWx0cyB0aGVtc2VsdmVzLgoJICBBbHNvLCBzZXR0aW5nIHNjZW5lLW1vZGUgaXMgdHJpY2t5IGFzIGl0IGlzIGEgc3VwZXJzZXQgb2Ygb3RoZXIgR3N0UGhvdG9ncmFwaHkKCSAgc2V0dGluZ3MuIFRoaXMgbWlnaHQgY2F1c2UgcHJvYmxlbSB3aXRoIGRlZmF1bHRzIGUuZy4gc2V0dGluZyBzY2VuZS1tb2RlIHRvCgkgICduaWdodCcgbWF5IGNvbmZpZ3VyZSBmbGFzaC1tb2RlIGFzICdvbicgYnkgZGVmaW5pdGlvbiwgYW5kIGFmdGVyIHRoYXQKCSAgd2UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSB0aGlzIGZsYXNoLW1vZGUgc2V0dGluZyB3aXRoIGdzdC1jYW1lcmFiaW4tdGVzdCBkZWZhdWx0CgkgIHZhbHVlLiBNb3Jlb3ZlciwgdXNlciBuZWVkcyBoYXZlIGFuIG9wdGlvbiB0byBzZXQgc2NlbmUgbW9kZSBmaXJzdCBhbmQgdGhlbiBmb3JjZQoJICBzb21lIGluZGl2aWR1YWwgc2V0dGluZyB0byBhIGRpZmZlcmVudCB2YWx1ZSBmcm9tIHRoZSBzY2VuZS1tb2RlIGRlZmluaXRpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk4NDEKCjIwMTEtMDEtMjQgMTc6NDY6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBDaGVjayB0aGUgc3RhcnQgdGltZSBvZiBidWZmZXJzCgkgIEJlIGNhcmVmdWwgd2hlbiB0cnlpbmcgdG8gY3JlYXRlIGEgbmV3c2VnbWVudCBldmVudCB0byBhdm9pZAoJICBzdGFydCB0aW1lcyBvZiAtMSBmcm9tIGludmFsaWQgYnVmZmVyIHRpbWVzdGFtcHMKCjIwMTEtMDEtMTEgMTU6NTI6MDMgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBkdmRzcHU6IGRvbid0IHdyaXRlIGNsaXBwZWQgbGluZXMgdG8gdGhlIG91dHB1dCBidWZmZXIKCSAgV2UgbWF5IG5vdCBpbmNyZW1lbnQgdGhlIG91dHB1dCBwb2ludGVyLCBidXQgaXQnbGwgc3RpbGwgYmUganVzdAoJICBvZmYgdGhlIGVuZCBvZiB0aGUgYWxsb2NhdGVkIGFyZWEuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI4NDcKCjIwMTEtMDEtMTkgMTU6MDc6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSAgY2FtZXJhYmluMjogVXBkYXRlIHBvcnRpbmcgZmlsZQoJICBBZGRzIHBvcnRpbmcgaW5mb3JtYXRpb24gYWJvdXQgdXNpbmcgZW5jb2RlYmluIG9uIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTQgMDg6MTI6MjUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvUE9SVElORzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkIGltYWdlLWRvbmUgbWVzc2FnZQoJICBQb3N0IGFuIGltYWdlLWRvbmUgbWVzc2FnZSB3aGVuIGEgbmV3IGltYWdlIGlzIHNhdmVkIHRvIGRpc2sKCjIwMTEtMDEtMTEgMTQ6NTA6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBJbXBsZW1lbnQgdGFnc2V0dGVyIGludGVyZmFjZQoKMjAxMS0wMS0xMSAxMDoyOTo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHRlc3RzOiBjYW1lcmFiaW4yOiBBZGQgcHJldmlldyBpbWFnZSB0byB0ZXN0cwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHByZXZpZXcgaW1hZ2VzIGFyZSBwb3N0ZWQgd2l0aAoJICB0aGUgY29ycmVjdCBjYXBzIG9uIHRlc3RzCgoyMDExLTAxLTExIDA5OjEyOjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBBZGQgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGVuY29kaW5nIHByb2ZpbGUKCSAgQWRkcyBhIHZpZGVvLXByb2ZpbGUgdG8gYWxsb3cgc2VsZWN0aW5nIHdoaWNoIGVuY29kaW5nIHByb2ZpbGUKCSAgdG8gdXNlIGZvciB2aWRlbyByZWNvcmRpbmdzCgoyMDExLTAxLTExIDA4OjQ0OjQxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluCgkgIFJlbW92aW5nIHZpZGVvcmVjb3JkaW5nYmluIGFzIHdlIG5vdyB1c2UgZW5jb2RlYmluIGZvciBpdAoKMjAxMC0xMi0yNyAxMToyOTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IE1vdmUgdG8gZW5jb2RlYmluCgoyMDExLTAxLTEwIDE1OjE5OjUyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogU2V0IG91dHB1dC1zZWxlY3RvciBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBub25lCgkgIFVzZSBvdXRwdXQtc2VsZWN0b3Igbm9uZSBuZWdvdGlhdGlvbiBtb2RlIGFzIGl0IHdhcyB0aGUgZGVmYXVsdCBiZWZvcmUKCSAgdGhlIGxhc3QgY2hhbmdlcy4gVGhpcyBsaWtlbHkgbmVlZHMgdG8gYmUgZml4ZWQgdG8gdXNlICdhY3RpdmUnIG9uCgkgIGNhbWVyYWJpbjIKCjIwMTEtMDEtMTAgMTU6MTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgc3RhdGUgY2hhbmdlIGZhaWx1cmVzCgkgIFdoZW4gaXRzIGludGVybmFsIGVsZW1lbnQgZmFpbHMgdG8gY2hhbmdlIHN0YXRlLCBkb24ndCBhY3QgYXMKCSAgaWYgc3VjY2VlZGVkLgoKMjAxMC0xMi0zMCAwMDoyNzowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkgIGNhbWVyYWJpbjI6IEltcGxlbWVudCBwcmV2aWV3aW5nCgkgIEltcGxlbWVudCBwcmV2aWV3aW5nIGZ1bmN0aW9uYWxpdHkgdXNpbmcgMiBwcm9wZXJ0aWVzLiBBIGJvb2xlYW4KCSAgKHBvc3QtcHJldmlld3MpIHRoYXQgaW5kaWNhdGVzIGlmIHByZXZpZXdzIHNob3VsZCBiZSBwb3N0ZWQsIGFuZCBhCgkgIEdzdENhcHMgKHByZXZpZXctY2FwcykgdG8gcHJvdmlkZSB0aGUgZGVzaXJlZCBwcmV2aWV3IGNhcHMuCgkgIHdyYXBwZXJjYW1lcmFiaW5zcmMgaW1wbGVtZW50cyBwcmV2aWV3aW5nIGJ5IHN1cHBseWluZyB0aGUgY2FwdHVyZWQKCSAgaW1hZ2UgdG8gYSBwaXBlbGluZSB0byBhZGFwdCBpdCB0byB0aGUgcmVxdWlyZWQgY2FwcyBiZWZvcmUgcG9zdGluZy4KCjIwMTAtMTItMzAgMDA6MjY6MDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBtZXRob2RzIGZvciBwcmV2aWV3IGltYWdlIG1lc3NhZ2UgcG9zdGluZwoJICBBZGRzIGEgaGVscGVyIHN0cnVjdCBhbmQgZnVuY3Rpb25zIGZvciBpbXBsZW1lbnRpbmcgYSBwcmV2aWV3IG1lc3NhZ2UKCSAgaW4gY2FtZXJhYmluMi4KCjIwMTAtMTItMjkgMjM6NDg6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiB0ZXN0czogVXNlIG1haW5sb29wcwoJICBVc2UgbWFpbmxvb3BzIGluc3RlYWQgb2Ygc2xlZXBzIHRvIHJlYWQgYnVzIG1lc3NhZ2VzIGFuZCBjYXRjaAoJICBlcnJvcnMuCgoyMDEwLTEyLTI5IDE0OjEyOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogVXNlIGRyb3BfZW9zIGZ1bmN0aW9uIGZyb20gY2FtZXJhYmluZ2VuZXJhbAoJICBUaGVyZSB3YXMgYWxyZWFkeSBhIGV2ZW50IHByb2JlIGZ1bmN0aW9uIGZvciBkcm9wcGluZyBFT1Mgb24KCSAgY2FtZXJhYmluZ2VuZXJlYWwsIHNvIHVzZSB0aGF0IGluc3RlYWQgb2YgcmVwbGljYXRpbmcgdGhlIGNvZGUKCjIwMTEtMDEtMjQgMTE6NTU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjI6IGZpeCB3YXJuaW5ncwoJICBXYXJuaW5ncyBwYXNzZWQgbWUgYnkgb24gdGhlIGxhc3QgY29tbWl0cyB0byBjYW1lcmFiaW4yIHRlc3RzLAoJICBmaXhpbmcgdGhlbS4KCjIwMTEtMDEtMjQgMTE6MDU6NDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICB0ZXN0czogY2FtZXJhYmluMjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIDAuMTAuMjcgaXMgcHJlc2VudAoJICBBIGNhbWVyYWJpbjIgdGVzdHMgZGVwZW5kcyBvbiB0aGUgY29tbWl0CgkgIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIgZm9yIGpwZWdlbmMgb24gLWdvb2QKCSAgdGhhdCB3YXMgcmVsZWFzZWQgb24gMC4xMC4yNy4KCSAgVGhpcyBwYXRjaCBtYWtlcyBpdCBjaGVjayBmb3IgdGhpcyB2ZXJzaW9uIGJlZm9yZSBydW5uaW5nIHRoZQoJICB0ZXN0LgoKMjAxMS0wMS0yNCAxMDowODoxNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgdGVzdHM6IGltYWdlY2FwdHVyZWJpbjogT25seSBydW4gYSB0ZXN0IGlmIC1nb29kIGlzIDAuMTAuMjcgb3IgbmV3ZXIKCSAgT25lIHRlc3Qgb24gaW1hZ2VjYXB0dXJlYmluIHJlcXVpcmVzIGRjYmJhMDkzMmRjNTc5YWJkNmFhYjQ0NjBmYTFhNDE2Mzc0ZWRhMWIKCSAgb24gZ29vZCB0aGF0IHdhcyByZWxlYXNlZCBvbiAwLjEwLjI3LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjQwMjg2CgoyMDExLTAxLTE4IDE3OjMxOjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBuYW1lcyBmb3IgbW9yZSBlbGVtZW50cwoKMjAxMS0wMS0yNCAxMToxODoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMTEtMDEtMjEgMjE6MTM6MjIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4yMQoKMjAxMS0wMS0xOSAyMDowMDoxMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogRml4IGhhbmRsaW5nIG9mIGRlYnVnIGNhdGVnb3J5CgoyMDExLTAxLTE5IDE4OjI2OjMwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWluZCBnc3RfYnVmZmVyX3VucmVmIG5vdCBsaWtpbmcgTlVMTAoJICBGaXhlcyAjNjM5OTUwLgoKMjAxMS0wMS0xOCAxODoxODowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgd2FybmluZwoKMjAxMS0wMS0xOCAxMzowMDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnN1Ym92ZXJsYXkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanAya2RlY2ltYXRvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4yMC40IHByZS1yZWxlYXNlCgoyMDExLTAxLTE0IDE2OjMwOjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogYmFzZXBhcnNlOiBCZSBjYXJlZnVsIHRvIG5vdCBsb3NlIHRoZSBldmVudCByZWYKCSAgRG9uJ3QgdW5yZWYgdGhlIGV2ZW50IGlmIGl0IGhhc24ndCBiZWVuIGhhbmRsZWQsIGJlY2F1c2UgdGhlIGNhbGxlcgoJICBhc3N1bWVzIGl0IGlzIHN0aWxsIHZhbGlkIGFuZCBtaWdodCByZXVzZSBpdC4KCSAgSSByYW4gaW50byB0aGlzIHByb2JsZW0gd2hlbiB0cmFuc2NvZGluZyBhbiBBVkkgKHdpdGggbXAzIGluc2lkZSkKCSAgdG8gZ3BwLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5NTU1CgoyMDExLTAxLTEzIDExOjI4OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3Q6IHF0bXV4OiBUZXN0cyBxdG11eCByZXVzZQoJICBGb3JjZXMgdGhlIHVzZSBvZiBxdG11eCBhZnRlciBpdCBoYXMgYmVlbiBwdXQgdG8gUExBWUlORyBhbmQgYmFjawoJICB0byBOVUxMIG9uY2UKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMyAxNToyNzozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNldCBzcmMgcGFkcyB3aGVuIHN0YXJ0aW5nIGZpbGUKCSAgLi4uIHJhdGhlciB0aGFuIGF0IF9pbml0IHRpbWUsIHNvIHRoZXkgYXJlIGFsc28gYXZhaWxhYmxlIGZvbGxvd2luZyBhCgkgIHBhZCAoZGUpYWN0aXZhdGlvbiBjeWNsZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTMzOAoKMjAxMS0wMS0xMiAxNjozOToyMiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGVuc3VyZSB0aGUga2F0ZSBwYWQgZG9lcyBub3Qgc2hvb3QgYWhlYWQgb2YgdGhlIHZpZGVvIHBhZAoJICBTeW5jIGJvdGggcGFkcyBieSB3YWl0aW5nIGluIHRoZSBrYXRlIGNoYWluIGZ1bmN0aW9uLgoJICBEbyBub3QgcmVzZXQgb3VyIGludGVybmFsIHNlZ21lbnQgZnJvbSBzZWdtZW50IHVwZGF0ZXMsIGluIG9yZGVyCgkgIHRvIGJlIGFibGUgdG8gbWFwIHZpZGVvIHJ1bm5pbmcgdGltZSB0byBrYXRlIHJ1bm5pbmcgdGltZSwgdG8KCSAgZ2l2ZSBsaWJ0aWdlciB0aGUgdGltZXN0YW1wIGl0IGV4cGVjdHMuIFRoaXMgYWxsb3dzIHVzIHRvIHVzZQoJICBydW5uaW5nIHRpbWUgdG8gc3luYyB0byB2aWRlbywgd2hpY2ggaXMgVGhlIFJpZ2h0IFdheS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMS0wMS0xMyAxODozNToxNSAtMDIwMCAgTHVjaWFuYSBGdWppaSBQb250ZWxsbyA8bHVjaWFuYUBmdWppaS5ldGkuYnI+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEVuYWJsZSBjb252ZXJzaW9uIGZsYWdzCgkgIENhbWVyYWJpbiBkZWZhdWx0IHNob3VsZCBqdXN0IHdvcmssIHNvIHdlIG5lZWQgdG8gZW5hYmxlIGF1ZGlvLCBpbWFnZQoJICBhbmQgdmlkZW8gY29udmVyc2lvbnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzk0NTYKCjIwMTEtMDEtMTMgMTc6MTA6MTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogZml4IHN5bmMgd29yZCBmb3IgMTQtYml0IGxpdHRsZSBlbmRpYW4gY29kaW5nCgkgIEZpeCBjb3B5J24ncGFzdGUgYnVnIHRoYXQgbWFkZSB1cyBsb29rIGZvciB0aGUgcmF3IGxpdHRsZSBlbmRpYW4KCSAgc3luYyB3b3JkIHR3aWNlIGluc3RlYWQgb2YgbG9va2luZyBmb3IgdGhlIDE0LWJpdCBMRSBzeW5jIHdvcmQKCSAgYXMgd2VsbC4gRml4ZXMgcGFyc2luZyBvZiBzdWNoIHN0cmVhbXMgKHNlZSAjNjM2MjM0IGZvciBzYW1wbGUgZmlsZSkuCgoyMDExLTAxLTEzIDE2OjI3OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGRvY3M6IG1pbm9yIGJhc2VwYXJzZSBkb2NzL2NvbW1lbnQgZml4ZXMKCSAgUmVtb3ZlIGNvcHknbidwYXN0ZSBsZWZ0b3ZlcnMuCgoyMDExLTAxLTEzIDEzOjM2OjA5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBwYWQtbmVnb3RpYXRpb24tbW9kZSB0byBhY3RpdmUgZm9yIG91dHB1dC1zZWxlY3RvcgoJICBGaXhlcyAjNjM5NDEzLgoKMjAxMS0wMS0xMiAxNjo1NTowNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiB1c2UgZ19lcnJvcl9mcmVlIGluc3RlYWQgb2YgZ19mcmVlCgoyMDExLTAxLTEyIDE2OjUwOjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkgIGNhbWVyYWJpbjI6IHVzZSBnX2Vycm9yX2ZyZWUgaW5zdGVhZCBvZiBnX2ZyZWUKCjIwMTEtMDEtMTIgMTE6NTc6MjkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZC5oZXJ2ZXlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3k0bS9nc3R5NG1kZWMuYzoKCSAgeTRtZGVjOiBEZWZhdWx0IGNvbG9yc3BhY2UgaXMgSTQyMAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM5Mjk2CgoyMDExLTAxLTExIDIzOjQ0OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjIwLjMgcHJlLXJlbGVhc2UKCjIwMTEtMDEtMTEgMTU6NTA6NTIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZTU3MmM4NyB0byBmOTRkNzM5CgoyMDExLTAxLTEwIDE5OjExOjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBEb24ndCBmb3JnZXQgdGhlIEdUeXBlIHdoZW4gdXNpbmcgY2Fwc19uZXdfc2ltcGxlKCkKCjIwMTEtMDEtMTAgMTY6MzY6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBjY2JhYTg1IHRvIGU1NzJjODcKCjIwMTEtMDEtMTAgMTQ6NTQ6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NjQ0NWFkIHRvIGNjYmFhODUKCjIwMTEtMDEtMTAgMTE6MjU6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggc2lsbHkgd2F5IG9mIGNyZWF0aW5nIGNhcHMKCjIwMTEtMDEtMTAgMTE6MTg6NTIgKzAwMDAgIEthcm9sIFNvYmN6YWsgPG5hcGV3bm90cmFmaUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCByZS1zeW5jaW5nIG9uIGludmFsaWQgZGF0YSBhZnRlciBzZWVrCgkgIE9yIHBvc3NpYmx5IGV2ZW4gYXQgc3RhcnR1cC4gSWYgd2UgY291bGRuJ3QgZmluZCBhIHN5bmMgd2l0aGluCgkgIHRoZSBmaXJzdCBmZXcgYnl0ZXMsIHdlJ2QganVzdCBwdXNoIG1vcmUgZGF0YSBpbnRvIHRoZSBhZGFwdGVyCgkgIGJ1dCBuZXZlciBkaXNjYXJkIGFueSBvZiB0aGUgaW52YWxpZCBkYXRhIGF0IHRoZSBiZWdpbm5pbmcsIHNvCgkgIHdvdWxkIG5ldmVyIGJlIGFibGUgdG8gcmUtc3luYy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzOTA2MwoKMjAxMS0wMS0wOCAwMzoxMjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSAgY29nLCBzY2hyb2VkaW5nZXI6IGZpeCB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIC1ER19ESVNBQkxFX0FTU0VSVAoKMjAxMS0wMS0wOCAwMzoxMDowMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMjAuMiBwcmUtcmVsZWFzZQoKMjAxMS0wMS0wOCAwMjo0OTowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JzcGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzdWJvdmVybGF5LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcwoKMjAxMS0wMS0wOCAwMjo0NzoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2phLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMS0wMS0wOCAwMjo0Mzo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGlucHV0c2VsZWN0b3IuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgIGNhbWVyYWJpbjogdXNlIHByaXZhdGUgaW5wdXQtc2VsZWN0b3IgdGhhdCBzdGlsbCBoYXMgInNlbGVjdC1hbGwiIHByb3BlcnR5CgkgIFRoZSAic2VsZWN0LWFsbCIgcHJvcGVydHkgd2FzIHJlbW92ZWQgd2hlbiBpbnB1dC1zZWxlY3RvciB3YXMgbW92ZWQKCSAgdG8gY29yZSwgYnV0IGNhbWVyYWJpbiB1c2VzIHRoaXMsIHNvIG1ha2UgY2FtZXJhYmluIHVzZSBhIHByaXZhdGUKCSAgY29weSB1bnRpbCBhIGJldHRlciBmaXggaXMgZm91bmQuCgoyMDExLTAxLTA4IDAwOjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogTWFrZWZpbGUuYW0gY2xlYW4tdXAKCSAgQXZvaWQgZHVwbGljYXRlcyBHU1RfQ0hFQ0tfQ0ZMQUdTIGFuZCBHU1RfT1BUSU9OU19DRkxBR1MgYXJlIGFscmVhZHkgaW4KCSAgQU1fQ0ZMQUdTLiBBZGQgTERBREQgaW5zdGVhZCBvZiBHU1RfQ0hFQ0tfTElCUyBmb3IgY29uc2lzdGVuY3kuCgoyMDExLTAxLTA4IDAwOjE5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zbW9vdGh3YXZlL2RlbW8tb3Nzc3JjLmM6CgkgIHNtb290aHdhdmU6IHJlbW92ZSBvbGQgMC44IGV4YW1wbGUgY29udGFpbmluZyBjb2RlIHdpdGggc2lkZWVmZmVjdHMgaW4gZ19yZXR1cm5faWZfZmFpbCgpCgkgIE1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIGl0IHJhdGhlciB0aGFuIGZpeCBpdCwgc28gaXQgZG9lc24ndCBzaG93CgkgIHVwIGluIGdyZXBzIGZvciB0aGlzIGFueSBsb25nZXIuCgoyMDExLTAxLTA4IDAwOjE4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHNjaHJvZW5jIHRlc3QgYmluYXJ5CgoyMDExLTAxLTA4IDAwOjE3OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IENGTEFHUyBhbmQgTElCQUREIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTA4IDAwOjA4OjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogbmV2ZXIgZGlzYWJsZSBnX2Fzc2VydCgpIGFuZCBjYXN0IGNoZWNrcyBmb3IgdGhlIHVuaXQgdGVzdHMKCSAgVGhlIHVuaXQgdGVzdHMgYXJlIHJpZGRsZWQgd2l0aCBnX2Fzc2VydCgpIGFuZCBmcmllbmRzLCBtYWtlIHN1cmUgd2UKCSAgZG9uJ3QgZGlzYWJsZSBhc3NlcnQgYW5kIGNhc3QgY2hlY2tzIGZvciB0aGUgdW5pdCB0ZXN0cyBldmVuIGlmCgkgIHRoaXMgaGFzIGJlZW4gc3BlY2lmaWVkIGZvciB0aGUgcmVzdCBvZiB0aGUgY29kZSBiYXNlLCBlLmcuIHZpYQoJICAtLWRpc2FibGUtZ2xpYi1hc3NlcnRzLgoKMjAxMS0wMS0wOCAwMDowMTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzoKCSAgZGlyZWN0ZmI6IGRvbid0IHB1dCBjb2RlIHdpdGggc2lkZS1lZmZlY3RzIGludG8gZ19hc3NlcnQoKQoJICBJdCB3aWxsIGFsbCBiZSB0dXJuZWQgaW50byBhIE5PT1AgaWYgLURHX0RJU0FCTEVfQVNTRVJUIGlzIHVzZWQKCSAgKGFzIGl0IGlzIGZvciBwcmUtcmVsZWFzZXMgYW5kIHJlbGVhc2VzKS4KCjIwMTEtMDEtMDcgMjM6NTc6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICB4dmlkZW5jOiBkb24ndCBwdXQgY29kZSB3aXRoIHNpZGUgZWZmZWN0cyBpbnRvIGdfcmV0dXJuX3ZhbF9pZl9mYWlsKCkKCSAgQW5kIGRvbid0IHVzZSBnX3JldHVybipfaWZfZmFpbCgpIGZvciBlcnJvciBoYW5kbGluZyBpbiBlbGVtZW50cy4KCjIwMTEtMDEtMDcgMTg6NDk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIFJldmVydCAibXBlZ3ZpZGVvcGFyc2U6IGZpeCB0aW1lc3RhbXAgZ2VuZXJhdGlvbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAyMjcxNjA4YzQzMTRkNmQwYTY4NWMxOGM1YzQ3ZDU1NDk1NTg2MTU5LgoJICBUaGlzIHBhdGNoIG5lZWRzIG1vcmUgd29yayBzbyBpdCBkb2Vzbid0IGNhdXNlIGdyYXZlIHBsYXliYWNrCgkgIHJlZ3Jlc3Npb25zIChtdWx0aS1zZWNvbmQgZnJlZXplcykgd2l0aCBzb21lIGZpbGVzIHRoYXQgaGF2ZQoJICBzbGlnaHRseSBicm9rZW4gdGltZXN0YW1wcyBidXQgcGxheSBmaW5lIGV2ZXJ5d2hlcmUgZWxzZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNjI3OQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMjIyCgoyMDExLTAxLTA3IDE1OjQ3OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBmaXggLS1kaXNhYmxlLWV4dGVybmFsCgoyMDExLTAxLTA3IDE0OjUxOjQ2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB1c2UgJExJQk0gaW5zdGVhZCBvZiBoYXJkLWNvZGluZyAtbG0KCjIwMTEtMDEtMDcgMTU6MjI6MDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogZG9uJ3QgbGVhayB0aGUgY2FwcwoKMjAxMS0wMS0wNyAwMjoxMDozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggUEFUIGFuZCBQTVQgaW5mby1yZWxhdGVkIG9iamVjdCBsZWFrcwoKMjAxMS0wMS0wNiAxMjo1MToyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjUwOjE0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcDJrZGVjaW1hdG9yL2pwMmtjb2Rlc3RyZWFtLmM6CgkgIGpwMmtkZWNpbWF0b3I6IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA2IDEyOjQ5OjQzICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlIG9uIG1hY29zeAoKMjAxMC0xMi0xNSAxNTo1ODo0OCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEZpeCBjb3B5cmlnaHQKCjIwMTAtMTItMTcgMTQ6NTA6NTAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvcHVzaHNyYzoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgcHVzaHNyYwoKMjAxMS0wMS0wNSAxNjo0Mzo0NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJICB5NG06IEZpeCB1bml0aWFsaXplZCB2YXJpYWJsZXMgb24gbWFjb3N4CgoyMDExLTAxLTA1IDEzOjQ0OjA0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkgIGR2YnN1Ym92ZXJsYXk6IHNvbWUgbW9yZSBtaW5vciBjbGVhbi11cHMKCjIwMTEtMDEtMDQgMTY6MDM6MDEgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGxlYWsgb2YgImNsZWFyIHNjcmVlbiIgRFZCU3VidGl0bGVzIHN0cnVjdHMKCjIwMTEtMDEtMDQgMTM6NTE6MjEgKzAwMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggdHdvIG1pbm9yIGRlaW5pdGlhbGl6YXRpb24gbWVtb3J5IGxlYWtzCgoyMDExLTAxLTAzIDIzOjU1OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBleGFtcGxlczogZGlzdCBjYW1lcmFiaW4yIGV4YW1wbGUgYXMgd2VsbAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NjA0CgoyMDExLTAxLTAzIDIzOjQ5OjUxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBmaXggY2ZsYWdzIGFuZCBsaWJzIG9yZGVyIGluIE1ha2VmaWxlLmFtCgoyMDExLTAxLTAzIDIzOjQ3OjMzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL01ha2VmaWxlLmFtOgoJICBiYXNlY2FtZXJhYmluc3JjOiBmaXggbGlicyBvcmRlciBpbiBNYWtlZmlsZS5hbQoKMjAxMS0wMS0wMyAyMzo0NjowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBmaXggZGlzdGluZyBvZiBleHBlcmltZW50YWwgYmFzZWNhbWVyYWJpbnNyYyBsaWIgdXNlZCBieSBjYW1lcmFiaW4yCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzg2MDQKCjIwMTEtMDEtMDMgMTc6MTA6MzYgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZiOiBmaXggYnVpbGQgZXJyb3JzIG9uIG1hY29zeAoJICBmaXhlcyB0aGUgZm9sbG93aW5nIGNvbXBpbGUgZXJyb3JzOgoJICBjYzE6IHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdjYW1fc3dfY2xpZW50X29wZW4nOgoJICBjYW1zd2NsaWVudC5jOjgxOiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RybmNweScKCSAgY2Ftc3djbGllbnQuYzo4MTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluIGZ1bmN0aW9uICdzdHJuY3B5JwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnc3RyZXJyb3InCgkgIGNhbXN3Y2xpZW50LmM6ODk6IHdhcm5pbmc6IG5lc3RlZCBleHRlcm4gZGVjbGFyYXRpb24gb2YgJ3N0cmVycm9yJwoJICBjYW1zd2NsaWVudC5jOjg5OiB3YXJuaW5nOiBmb3JtYXQgJyVzJyBleHBlY3RzIHR5cGUgJ2NoYXIgKicsIGJ1dCBhcmd1bWVudCA5IGhhcyB0eXBlICdpbnQnCgkgIGNhbXN3Y2xpZW50LmM6IEluIGZ1bmN0aW9uICdzZW5kX2NhX3BtdCc6CgkgIGNhbXN3Y2xpZW50LmM6MTI5OiB3YXJuaW5nOiBpbXBsaWNpdCBkZWNsYXJhdGlvbiBvZiBmdW5jdGlvbiAnbWVtY3B5JwoJICBjYW1zd2NsaWVudC5jOjEyOTogd2FybmluZzogaW5jb21wYXRpYmxlIGltcGxpY2l0IGRlY2xhcmF0aW9uIG9mIGJ1aWx0LWluCgkgIGZ1bmN0aW9uICdtZW1jcHknCgkgIGdzdGR2YnNyYy5jOjQ4OjE5OiBlcnJvcjogZXJyb3IuaDogTm8gc3VjaCBmaWxlIG9yIGRpcmVjdG9yeQoJICBTaWduZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoyMDExLTAxLTAzIDIwOjA1OjUyICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogcmVtb3ZlIHVubmVjZXNzYXJ5IFJHQiAtPiBZVVYgY29udmVyc2lvbiBieSB1c2luZyBZVVYgcGFsZXR0ZXMKCSAgdGhlIGRlZmF1bHQgQ0xVVHMgc3RpbGwgdXNlIFJHQiAtPiBZVVYgY29udmVyc2lvbnMgc2luY2UgdGhlIHN0YW5kYXJkIGRlZmluZXMKCSAgdGhlbSBhcyBSR0JBIHZhbHVlcy4KCjIwMTEtMDEtMDMgMjA6MjE6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2VzZC5tNDoKCSogbTQvZ2xpYi5tNDoKCSogbTQvZ3N0LW1hdHJvc2thLm00OgoJKiBtNC9nc3Qtc2hvdXQyLm00OgoJKiBtNC9ndGsubTQ6CgkqIG00L29nZy5tNDoKCSogbTQvdm9yYmlzLm00OgoJICBtNDogcmVtb3ZlIHNvbWUgY3J1ZnQKCjIwMTEtMDEtMDMgMTc6MjQ6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogYWRqdXN0IG5hc3R5IGNhc2UgdGltZXN0YW1wIHRyYWNraW5nCgkgIFRoYXQgaXMsIGFsbCBzb3J0cyBvZiBwcm9ibGVtcyBhcmlzZSB3aXRoIHJlLW9yZGVyZWQgaW5wdXQgdGltZXN0YW1wcyB0aGF0CgkgIHRlbmQgdG8gZGVmeSBhdXRvbWFnaWMgaGFuZGxpbmcgZm9yIGV2ZXJ5IGNhc2UsIHNvIGFsbG93IGZvciBhIGZldyB2YXJpYXRpb25zCgkgIHRoYXQgY2FuIGJlIHRyaWVkIGRlcGVuZGluZyBvbiBjaXJjdW1zdGFuY2VzLgoJICBBbHNvIHRyeSB0byBkb2N1bWVudCBhY2NvcmRpbmdseS4KCSAgQWxzbyBmaXhlcyAjNjM4Mjg4LgoKMjAxMC0xMi0zMCAyMTo0ODo0MSArMDIwMCAgRmVsaXBlIENvbnRyZXJhcyA8ZmVsaXBlLmNvbnRyZXJhc0Bub2tpYS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdldCByaWQgb2YgdGltZXN0YW1wIG92ZXJwcm90ZWN0aXZlbmVzcwoJICBTaWduZWQtb2ZmLWJ5OiBGZWxpcGUgQ29udHJlcmFzIDxmZWxpcGUuY29udHJlcmFzQG5va2lhLmNvbT4KCjIwMTEtMDEtMDMgMTY6NTY6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvYXRvbXNyZWNvdmVyeS5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHNpbXBsaWZ5IGFuZCBmaXggcHRzX29mZnNldCBzdG9yaW5nCgkgIEluIHBhcnRpY3VsYXIsIG9ubHkgd3JpdGUgYSBjdHRzIGF0b20gaWYgYW5kIG9ubHkgaWYgZXZlciBhIG5vbi16ZXJvIG9mZnNldC4KCjIwMTEtMDEtMDMgMTA6NDM6MTUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhZGQgc29tZSBtb3JlIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTU6MjM6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiByZW1vdmUgbGFyZ2UtZmlsZSBwcm9wZXJ0eQoJICBSYXRoZXIsIGF1dG8tZGV0ZXJtaW5lIGlmIDY0LWJpdHMgZmllbGRzIGFyZSBuZWVkZWQgZm9yIGEgdmFsaWQgcmVzdWx0LCBhbmQKCSAgc3RpY2sgdG8gcGxhaW4gMzItYml0cyBpZiBub3QgbmVlZGVkLgoJICBBUEk6IEdzdFFUTXV4OmxhcmdlLWZpbGUgKHJlbW92ZWQpCgoyMDExLTAxLTAzIDE4OjEzOjM3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZHZiL1JFQURNRToKCSAgUkVBRE1FOiBmaXggdGhlIGV4YW1wbGUgcGlwZWxpbmUKCSAgRml4IHRoZSBvYnZpb3VzIG91dGRhdGVkIHBhcnRzLiBTdGlsbCB0aGlzIFJFQURNRSBsb29rcyBvdXRkYXRlZCBhbmQgc2hvdWxkIGJlCgkgIHVwZGF0ZWQgb3IgcmVtb3ZlZC4KCjIwMTEtMDEtMDIgMTk6Mzg6MDEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IEFkZCBkZWJ1ZyBjYXRlZ29yeQoKMjAxMS0wMS0wMiAxNjoxMzo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IERpc2FibGUgbWF0cml4aW5nIG9uIGJpZy1lbmRpYW4KCSAgSXQncyBicm9rZW4gdW50aWwgc29tZW9uZSB3cml0ZXMgYmV0dGVyIE9yYyBjb2RlLiAgRml4ZXMgIzYzMTIzMi4KCjIwMTAtMTItMDUgMDM6Mjk6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJICBtcGVndHNtdXg6IFNldCBhZGFwdGF0aW9uIGZsYWcgd2hlbiBhcHByb3ByaWF0ZQoJICBTcGVjaWZpY2FsbHksIHdoZW4gdGhlcmUncyBzdHVmZiB0byBnbyBpbnRvIHRoZSBhZGFwdGF0aW9uCgkgIGhlYWRlci4KCjIwMTAtMTEtMTcgMTc6NDk6MTcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogU2V0IHJhbmRvbV9hY2Nlc3NfaW5kaWNhdG9yIGZvciBrZXlmcmFtZXMKCjIwMTAtMTItMzEgMTY6MjA6MjIgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBvdXRsaW5lIHRleHQgYnkgZGVmYXVsdCwgdG8gbWFrZSBpdCBlYXNpZXIgdG8gcmVhZAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NTI3CgoyMDExLTAxLTAyIDE1OjExOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2phY2svLmdpdGlnbm9yZToKCSogZXh0L2phY2svTWFrZWZpbGUuYW06CgkqIGV4dC9qYWNrL1JFQURNRToKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuaDoKCSogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGphY2s6IG1vdmUgcGx1Z2luIHRvIGdzdC1wbHVnaW5zLWdvb2QKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTkyOQoKMjAxMS0wMS0wMiAxMzo1MjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJICBrYXRlOiBmaXggY2FwcyBhbmQgc3RyaW5nIGxlYWtzIGFuZCBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBEb24ndCBsZWFrIHNvdXJjZSBjYXBzLiBVc2UgR1NUX1BUUl9GT1JNQVQgdG8gbG9nIGNhcHMsIHNvCgkgIHdlIGRvbid0IG5lZWQgdG8gbGVhayBzdHJpbmdzIGZyb20gZ3N0X2NhcHNfdG9fc3RyaW5nKCkuCgkgIE5vIG5lZWQgdG8gdXNlIEdTVF9ERUJVR19GVU5DUFRSIGZvciB2ZnVuY3Mgd2hlcmUgdGhlIGJhc2UKCSAgY2xhc3Mgd2lsbCBuZXZlciBsb29rIHRoZW0gdXAgKGxpa2UgcHJvcGVydHkgZ2V0dGVycy9zZXR0ZXJzKS4KCSAgRG9uJ3QgdXNlIGdfcmV0dXJuXypfaWZfZmFpbCgpIGZvciB0aGluZ3MgdGhhdCBhcmVuJ3QgZGlyZWN0bHkKCSAgcHJvZ3JhbW1pbmcgZXJyb3JzIChieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyKS4KCSAgRml4ZXMga2F0ZSB1bml0IHRlc3QgdW5kZXIgdmFsZ3JpbmQuCgoyMDEwLTEyLTMxIDE2OjE3OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHJlZW5hYmxlIHRoZSBzZW5kaW5nIG9mIGEgbWVzc2FnZSBmb3IgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM4NDEyCgoyMDExLTAxLTAyIDEzOjI5OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkgIGdhdWRpZWZmZWN0czogZGlzdCBweXRob24gZXhhbXBsZXMKCjIwMTAtMTItMzEgMDA6MDk6MDkgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZ3N0LWVsZW1lbnQtbWFrZXI6CgkgIGVsZW1lbnQtbWFrZXI6IFVwZGF0ZSBGU0YgYWRkcmVzcwoKMjAxMC0xMi0zMSAwMDowNzoyOCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9NYWtlZmlsZS5hbToKCSogdG9vbHMvZ3N0LWFwcC1tYWtlcjoKCSAgQWRkIGdzdC1hcHAtbWFrZXIKCjIwMTAtMTItMzEgMDA6MTI6NTMgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSAgZHRtZjogRml4IGJ1aWxkIGZhaWx1cmUgY2F1c2VkIGJ5IHByZXZpb3VzIGNvbW1pdAoKMjAxMC0xMi0zMCAxOToyMTo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dlbmVyYXRlX3RhYmxlcy5jOgoJKiBleHQvY29nL2dzdGNtcy5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJICBjb2c6IFVzZSBtYXRoLWNvbXBhdC5oCgoyMDEwLTEyLTMwIDE5OjIxOjIxIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBGaXggYzk5LWlzbQoKMjAxMC0xMi0zMCAxOToxMjoyMyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IFVzZSBtYXRoLWNvbXBhdCBoZWFkZXIKCjIwMTAtMTItMzAgMTk6MDM6NTQgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RnYXVzc2JsdXIuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSAgY2hhbmdlIE1fUEkgdG8gR19QSQoKMjAxMC0xMi0zMCAxOTowMzoxNCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZnJlaTByL2ZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IGNvbnZlcnQgdWludDMyX3QgdG8gZ3VpbnQzMgoKMjAxMC0xMi0zMCAxODoyMDo0NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0Lmg6CgkgIGR0bWY6IGJ1aWxkIGZpeGVzIGZvciBNU1ZDCgkgIFVzZSBnaW50MTYgYW5kIEdfUEkuCgoyMDEwLTEyLTMwIDE4OjE5OjQ3IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kdG1mL3RvbmVfZGV0ZWN0LmM6CgkgIGR0bWY6IHJlaW5kZW50CgoyMDEwLTEyLTMwIDE4OjAyOjA2IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogdXNlIGdfYXNjaWlfc3RyY2FzZWNtcCgpCgoyMDEwLTEyLTMxIDAxOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3Qvc2VsZWN0b3IvLmdpdGlnbm9yZToKCSogZ3N0L3NlbGVjdG9yL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9zZWxlY3Rvci9nc3RzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2VsZWN0b3IuYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zd2l0Y2gvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiB0ZXN0cy9pY2xlcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgc2VsZWN0b3I6IG1vdmUgaW5wdXQtc2VsZWN0b3IgYW5kIG91dHB1dC1zZWxlY3RvciB0byBjb3JlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTQzMDYKCjIwMTAtMTItMzAgMDE6MTc6MjggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcnNwYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZic3Vib3ZlcmxheS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwMmtkZWNpbWF0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9wZW5jdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcwoKMjAxMC0xMi0zMCAwMToxNDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIHZhbHZlIGVsZW1lbnQvcGx1Z2luIHRvIGNvcmUKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzMDgwOAoKMjAxMC0xMi0yOSAxMzoxODozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGNhbWVyYWJpbjI6IFZhcmlvdXMgbGVhayBmaXhlcwoJICBWYXJpb3VzIGxlYWsgZml4ZXMgYW5kIHNvbWUgY29kZSByZW9yZ2FuaXphdGlvbgoKMjAxMC0xMi0yNyAxNzoxODoyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yLy5naXRpZ25vcmU6CgkgIGNhbWVyYWJpbjI6IGV4YW1wbGU6IGdpdGlnbm9yZSBjYXB0dXJlZCBmaWxlcwoKMjAxMC0xMi0yNiAyMDo1MjoyNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEltcGxlbWVudCB2aWRlbyBjYXB0dXJlIHJlbmVnb3RpYXRlCgkgIEhhbmRsZSBjYXBzIHJlbmVnb3RpYXRpb24gZnJvbSBjYW1lcmFiaW4yJ3MgcmVuZWdvdGlhdGUgZXZlbnQKCSAgdG8gYWxsb3cgdmlkZW8gY2FwdHVyZSB0byBiZSBkb25lIHdpdGggdGhlIHVzZXIncyByZXF1ZXN0ZWQKCSAgcmVzb2x1dGlvbi4KCjIwMTAtMTItMjYgMjA6NDc6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdHMgZm9yIHZpZGVvIGNhcHR1cmUKCSAgQWRkIGEgdGVzdCBmb3IgY2FwdHVyaW5nIG11bHRpcGxlIHZpZGVvcyB3aXRoIGRpZmZlcmVudCByZXNvbHV0aW9ucwoJICBpbiBhIHNlcXVlbmNlLgoKMjAxMC0xMi0yNiAyMDozNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCByZW5lZ290aWF0ZSBldmVudCBwdXNoaW5nCgkgIFVzZSBhIGhhY2sgdG8gbWFrZSB0aGUgZXZlbnQgdXBzdHJlYW0gdG8gcmVhY2ggdGhlIGNhbWVyYSBzb3VyY2UKCSAgaW5zdGVhZCBvZiBnb2luZyBkb3duc3RyZWFtIGFuZCBiZWluZyB1c2VsZXNzLgoJICBUaGlzIHdhcyBhbHJlYWR5IGZpeGVkIHRoaXMgd2F5IGZvciBpbWFnZSBzcmNwYWQgcmVuZWdvdGlhdGUgYW5kCgkgIHZpZGVvIHNyY3BhZCB3YXMgbGVmdCB1bmZpeGVkLgoKMjAxMC0xMi0yNCAwOToxMDo0OCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuaDoKCSAgd3JhcHBlcmNhbWVyYWJpbnNyYzogUmVmYWN0b3IgaW50ZXJuYWwgcGlwZWxpbmUKCSAgSW5zdGVhZCBvZiBsaW5raW5nIDMgc3JjIHBhZHMgZnJvbSB0ZWUgdG8gdGhlIGdob3N0cGFkcywgdXNlIDIKCSAgc3JjcGFkcyBhbmQgYWRkIGFuIG91dHB1dC1zZWxlY3RvciB0byBjb21wbGV0ZWx5IHNwbGl0IGNhcHMKCSAgbmVnb3RpYXRpb24gb2YgdmlkZW8vaW1hZ2UgbW9kZXMuIEkgZG9uJ3QgdGhpbmsgdGhlcmUgaXMgYW4KCSAgdXNlIGNhc2UgdGhhdCB3b3VsZCByZXF1aXJlIGltYWdlIGFuZCB2aWRlbyBwYWRzIHRvIGJlIHVzZWQKCSAgYXQgdGhlIHNhbWUgdGltZS4KCjIwMTAtMTItMjIgMTQ6NDI6MjcgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8dmluY2VudC5wZW5xdWVyY2hAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSAtcHRocmVhZCBmb3IgeHZpZCBjb25maWd1cmUgY2hlY2sKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNzgyMwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3MzA4CgoyMDEwLTEyLTI4IDE3OjE2OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9kZSBjYW4gYmUgb25seSBpbWFnZSBvciB2aWRlbwoJICBObyBuZWVkIHRvIGNoZWNrIGlmIGNhbWVyYWJpbiBpcyBvbiB2aWRlbyBtb2RlIGlmIGl0IGlzbid0IG9uCgkgIGltYWdlIG1vZGUgYXMgdGhvc2UgYXJlIHRoZSBvbmx5IDIgbW9kZXMgYXZhaWxhYmxlLgoJICBBZGRpdGlvbmFsbHksIGlmIG1vZGUgZ2V0cyBjb3JydXB0ZWQgc29tZWhvdyBhbmQgd291bGQgYmUgbmVpdGhlcgoJICBpbWFnZSBvciB2aWRlbyBpdCB3b3VsZCBjYXVzZSBhIG51bGwgcG9pbnRlciBkZXJlZmVyZW5jaW5nIHNvbWUKCSAgbGluZXMgb2YgY29kZSBiZWxvdywgc28gdGhpcyBpcyBzYWZlci4KCjIwMTAtMTItMjggMTY6NTU6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTEyLTI3IDE2OjU4OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkgIGFzZm11eDogRml4IHBsdWdpbiBwYWNrYWdlIG5hbWUvb3JpZ2luCgoyMDEwLTEyLTI3IDEzOjIwOjI4ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTEyLTI3IDExOjEwOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGNsZWFuLXVwOiBhbGxvY2F0ZSBmbGF0IGFycmF5IG9mIHJlY3RhbmdsZXMKCSAgaW5zdGVhZCBvZiBhbiBhcnJheSBvZiBwb2ludGVycyB0byBpbmRpdmlkdWFsbHktYWxsb2NhdGVkIHJlY3RhbmdsZXMuCgoyMDEwLTEyLTIzIDE4OjE4OjUwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSAgdGlnZXI6IGZhbGxiYWNrIG9uIGhlYWRlcnMgaW4gY2FwcyB0byBpbml0aWFsaXplIGlmIGhlYWRlcnMgYXJlIGFic2VudAoJICBXaGVuIFRvdGVtIHN3aXRjaGVzIHN0cmVhbXMsIHRpZ2VyIHdpbGwgYmUgcmVzZXQsIGFuZCBzdGFydCByZWNlaXZpbmcKCSAgYnVmZmVycyBmcm9tIHRoZSBtaWRkbGUgb2YgdGhlIHN0cmVhbSwgd2l0aG91dCBiZWluZyBzZW50IGhlYWRlcnMuCgkgIElmIHRoaXMgaGFwcGVucywgdHJ5IHRvIGdldCBoZWFkZXJzIGZyb20gdGhlIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzgwMDQKCjIwMTAtMTItMjYgMTc6MTk6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSAgcGhvdG9ncmFwaHk6IGZpeCB0eXBvIGluIHByb3BlcnR5IGRlc2NyaXB0aW9uCgoyMDEwLTEyLTI2IDE3OjA3OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBmaXggZ3RrMyBjb2RlIHBhdGggaW4gY2FtZXJhYmluIGV4YW1wbGUgYXBwCgkgIEp1c3QgYWRkIHJvd3MgdmlhIHRoZSBjb21ib2JveCdzIG1vZGVsLCB3aGljaCBzaG91bGQgd29yayB3aXRoCgkgIGJvdGggZ3RrMiBhbmQgZ3RrMywgaW5zdGVhZCBvZiB1c2luZyB0aGUgZ3RrX2NvbWJvX2JveF9hcHBlbmRfdGV4dCgpCgkgIGNvbnZlbmllbmNlIEFQSSAod2hpY2ggd2FzIHJlbmFtZWQgdG8gZ3RrX2NvbWJvX2JveF90ZXh0X2FwcGVuZF90ZXh0KCkpLgoJICBGaXhlcyBjb21waWxhdGlvbiBhZ2FpbnN0IGd0azMgKHRoZXJlIHdhcyBhIHR5cG8gaW4gdGhlIGxpc3Qgc3RvcmUKCSAgdmFyaWFibGUgbmFtZSwgc3BvdHRlZCBieSBNYXJrdXMgVmFydGlhaW5lbikuCgoyMDEwLTEyLTI1IDE3OjAxOjExICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBpZiBzZWVraW5nIHdpdGggR1NUX1NFRUtfVFlQRV9DVVIsIGZsdXNoIGV2ZXJ5dGhpbmcKCSAgV2UgZG9uJ3Qga25vdyBob3cgdG8gY2FsY3VsYXRlIHRoZSB0YXJnZXQsIHNvIGJlIHNhZmUuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDA5MjkKCjIwMTAtMTItMjUgMTY6NDQ6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIHRpZ2VyOiBtb3ZlICNpZiAjZWxzZSBiaXRzIG91dHNpZGUgb2YgbWFjcm8KCSAgU29tZSBjb21waWxlcnMvcHJlcHJvY2Vzc29ycyBkb24ndCBsaWtlIGlmL2Vsc2UvZW5kaWYgcHJlcHJvY2Vzc29yCgkgIGRpcmVjdGl2ZXMgaW4gdGhlIG1pZGRsZSBvZiBtYWNyb3MuCgoyMDEwLTEyLTI0IDE0OjQ0OjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSAgZHZic3Vib3ZlcmxheTogY2xlYW4tdXA6IG1lcmdlIHByaXZhdGUgZGF0YSBzdHJ1Y3QgaW50byBtYWluIHN0cnVjdAoKMjAxMC0xMi0yNCAxNDoyNDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBjbGVhbi11cDogZHZiIHN1YiBwYXJzZXIgaGVscGVyIGRvZXNuJ3QgbmVlZCB0byBiZSBhIEdPYmplY3QKCjIwMTAtMDEtMjUgMTg6MjY6MjUgKzAwMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIHRpZ2VyOiBHaXZlIHRpZ2VyIHByaW1hcnkgcmFuawoKMjAxMC0wMS0yNSAxODo1ODozOCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5oOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmg6CgkgIGthdGU6IGFkZCBzZWdtZW50IHRyYWNraW5nLCBhbmQgdmFyaW91cyBvdGhlciBpbXByb3ZlbWVudHMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwMDkyOQoKMjAxMC0xMi0yNCAxMDoxNTo0NiArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDx2aW5jZW50LnBlbnF1ZXJjaEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgIG12ZTogZG8gbm90IHVzZSB0aGUgcGFkIGJ1ZmZlciBhbGxvY2F0aW9uIGZ1bmN0aW9ucyBpbiBkZW11eGVycwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3OTI5CgoyMDEwLTEyLTI0IDA5OjUwOjAwICswMDAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPHZpbmNlbnQucGVucXVlcmNoQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkbyBub3QgdXNlIHRoZSBwYWQgYnVmZmVyIGFsbG9jYXRpb24gZnVuY3Rpb25zIGluIGRlbXV4ZXJzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc5MzEKCjIwMTAtMTItMjMgMjI6MDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiB0cnkgaGFyZGVyIHRvIG1ha2UgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBtb2RpZnlpbmcKCSAgQWxzbywgY2hlY2sgYnVmZmVyIGZvciBOVUxMLW5lc3MgYmVmb3JlIGRlcmVmZXJlbmNpbmcgaXQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mzc4MjQKCjIwMTAtMTItMjIgMTE6NDQ6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBOb3RpZnkgZWFybGllcgoJICBOb3RpZnkgYWJvdXQgcmVhZHktZm9yLWNhcHR1cmUgY2hhbmdlcyBlYXJsaWVyIHRvIGFsbG93IGNhbWVyYWJpbjIKCSAgdG8gZG8gdGhlIHZpZGVvYmluIHN0YXRlIHN3aXRjaGluZyBiZWZvcmUgdGhlIGNhcHR1cmUgc3RhcnRzLgoKMjAxMC0xMi0yMSAxOToyMjozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJICB2aWRlb3JlY29yZGluZ2JpbjogRml4IGxlYWtzCgoyMDEwLTEyLTIxIDExOjA0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVmYWN0b3IgdGVzdHMKCSAgUmVmYWN0b3IgdGVzdHMgY2FzZSBzbyB0aGF0IHRoZSBzYW1lIHRlc3RzIGNhbiBiZSBydW4gZm9yIGRpZmZlcmVudAoJICBjYW1lcmEgc291cmNlcy4KCjIwMTAtMTItMjAgMTg6MzA6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgdGVzdHM6IGdpdGlnbm9yZSBjYW1lcmFiaW4yIHRlc3RzCgkgIEFkZHMgbW9yZSBjYW1lcmFiaW4yIGVsZW1lbnRzIHRlc3RzIHRvIGdpdGlnbm9yZQoKMjAxMC0xMi0yMCAxODowOToyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IEFkZCBjb252ZXJ0ZXJzIGZvciB2aWV3ZmluZGVyIGJyYW5jaAoJICBWaWV3ZmluZGVyIGJyYW5jaCBzaG91bGQgaGF2ZSBjb252ZXJ0ZXJzIGFzIGl0IGhhcyB0byB3b3JrCgkgIGFsd2F5cyBhbnl3YXkuCgoyMDEwLTEyLTIwIDE0OjIwOjM1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBBZGQgYW5vdGhlciB0ZXN0IGNhc2UKCSAgQWRkcyBhIHRlc3QgY2FzZSB0byBjaGVjayBpZiBhIHNlcXVlbmNlIG9mIGJ1ZmZlcnMgd2l0aCBkaWZmZXJlbnQKCSAgY2FwcyBjYW4gYmUgcHVzaGVkIHRvIGltYWdlY2FwdHVyZWJpbiBhbmQgc2F2ZWQgY29ycmVjdGx5CgoyMDEwLTEyLTIwIDAyOjU5OjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IEFkZCBiYXNpYyBjaGVjayB0ZXN0CgkgIEFkZHMgbWluaW11bSBjaGVjayB0ZXN0LiBJdCdzIG5vdCBhIHZlcnkgdXNlZnVsIHRlc3QsIGJ1dCBhdCBsZWFzdAoJICBpdCBhbGxvd3MgdXMgdG8gcnVuIGl0IHVuZGVyIHZhbGdyaW5kIGFuZCBjaGVjayBmb3IgbGVha3MgYXV0b21hdGljYWxseQoKMjAxMC0xMi0yMCAwMjo1ODo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkgIHZpZXdmaW5kZXJiaW46IFJlbW92ZSBsZWFrcwoJICBSZW1vdmluZyB2YXJpb3VzIGxlYWtzIGZyb20gdmlld2ZpbmRlcmJpbgoKMjAxMC0xMi0xNyAyMzowNjo0NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IG1vcmUgbG9ncwoKMjAxMC0xMi0xNyAyMzowNjoyMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IFNtYWxsIHRlc3RzIHVwZGF0ZQoJICBJbmNyZWFzZXMgdGltZW91dCB2YWx1ZSBzbyB0aGF0IHRlc3RzIHdvbid0IGZhaWwgd2l0aCBmdWxsCgkgIGRlYnVnIG91dHB1dC4KCSAgQWxzbyByZW1vdmVzIGJ1ZmZlciBhbGxvYyBmcm9tIHZpZGVvdGVzdHNyYyBhcyB0aGlzIGZlYXR1cmUKCSAgaXNuJ3QgcmVhZHkgb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNCAyMjowNjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgdGVzdHMgZm9yIGltYWdlIGNhcHR1cmUgd2l0aCBkaWZmZXJlbnQgY2FwcwoJICBBZGRzIGEgdGVzdCB0aGF0IHRyaWVzIHN1Y2Vzc2l2ZSBjYXB0dXJlcyB3aXRoIGRpZmZlcmVudCBjYXBzCgoyMDEwLTEyLTE2IDAwOjQwOjI1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBIYW5kbGUgY2FtZXJhYmluMiBjdXN0b20gcmVuZWdvdGlhdGUgZXZlbnRzCgoyMDEwLTEyLTE1IDE0OjA1OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIGN1c3RvbSByZW5lZ290aWF0ZSBldmVudAoJICBBZGRzIGEgY3VzdG9tIHJlbmVnb3RpYXRlIGV2ZW50IHRoYXQgaXMgcHVzaGVkIHRvIHRoZSBjYW1lcmFzcmMgcGFkCgkgIHRoYXQgbmVlZHMgcmVuZWdvdGlhdGlvbiBkdWUgdG8gdGhlIHVzZXIgc2VsZWN0aW5nIGEgbmV3IGNhcHR1cmUKCSAgY2FwcyBmb3IgdGhhdCBwYWQuCgkgIFRoaXMgaXMgYSB3YXkgb2Ygbm90aWZ5aW5nIHRoZSBzb3VyY2UgdGhhdCBpdCBzaG91bGQgdXBkYXRlIGl0cyBjYXBzLCBldmVuCgkgIGlmIGl0IGRvZXNuJ3QgdXNlIHBhZCBhbGxvY3MuCgoyMDEwLTEyLTE2IDIyOjQ5OjI0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHdyYXBwZXJjYW1lcmFiaW5zcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5oOgoJICB3cmFwcGVyY2FtZXJhYmluc3JjOiBBZGQgbG9jYWwgbW9kZQoKMjAxMC0xMi0xNCAxODo0Mjo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZHMgcHJvcGVydGllcyBmb3IgY2FwdHVyZSBjYXBzCgkgIEFkZHMgcHJvcGVydGllcyBmb3Igc2VsZWN0aW5nIGNhcHMgZm9yIHZpZGVvIGFuZCBpbWFnZSBjYXB0dXJlcwoKMjAxMC0xMi0xOSAxOTo0MDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgIGJhc2VjYW1lcmFiaW5zcmM6IEZpeCBtYWtlZmlsZSBidWlsZGluZyBvcmRlcgoJICBiYXNlY2FtZXJhYmluc3JjIG11c3QgYmUgYnVpbHQgYWZ0ZXIgcGhvdG9ncmFwaHkgaW50ZXJmYWNlCgkgIGFzIGl0IGRlcGVuZHMgb24gaXQuCgoyMDEwLTEyLTEwIDE3OjQ1OjQwICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFicmV2aWF0aW9ucyBmcm9tIGltYWdlY2FwdHVyZWJpbgoKMjAxMC0xMi0xNiAwODo0Nzo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RiYXNlY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBzb21lIG1vcmUgbG9nZ2luZwoJICBBZGRzIHNvbWUgbW9yZSBsb2dnaW5nIGFuZCBhbHdheXMgYXNzdW1lIGNhcHR1cmUgaGFzIHN0YXJ0ZWQgYmVmb3JlCgkgIHN0YXJ0X2NhcHR1cmUgaXMgY2FsbGVkLiBUaGlzIGhlbHBzIG9uIGltYWdlIGNhcHR1cmVzIHRoYXQgbWlnaHQKCSAgY2FsbCBmaW5pc2hfY2FwdHVyZSBkaXJlY3RseSBmcm9tIHN0YXJ0X2NhcHR1cmUgb3IgYmVmb3JlIHN0YXJ0X2NhcHR1cmUKCSAgZmluaXNoZXMuCgoyMDEwLTEyLTE1IDIyOjM1OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IE1vcmUgY2xlYW51cAoJICBSZW1vdmUgb2xkIGxlZ2FjeSBjb2RlIGNvcGllZCBmcm9tIGNhbWVyYWJpbigxKSB0aGF0IHNob3VsZCBiZSBoYW5kbGVkCgkgIGJ5IGNhcHMgbmVnb3RpYXRpb24gb24gY2FtZXJhYmluMgoKMjAxMC0xMi0xNSAxNDowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmM6CgkgIHdyYXBwZXJjYW1lcmFiaW5zcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlIHdhaXRfZm9yX3ByZXBhcmEgdmFyaWFibGUgdGhhdCB3YXNuJ3QgYmVpbmcgdXNlZAoKMjAxMC0xMi0xNCAxNzoyMzoxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0d3JhcHBlcmNhbWVyYWJpbnNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R3cmFwcGVyY2FtZXJhYmluc3JjLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogUmVuYW1lIHY0bDJjYW1lcmFzcmMgdG8gd3JhcHBlcmNhbWVyYWJpbnNyYwoJICBVc2UgYSBiZXR0ZXIgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdGhhdCB3cmFwcyBzaW5nbGUgcGFkIHNyYyBlbGVtZW50CgkgIGludG8gYSAzcGFkIHNvdXJjZSByZXF1aXJlZCBieSBjYW1lcmFiaW4yLgoKMjAxMC0xMi0xNCAxNjo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgdjRsMmNhbWVyYXNyYzogcmVtb3ZlIHZpZGVvIGZpbHRlciBwcm9wZXJ0eSBjb2RlCgkgIFJlbW92ZXMgc29tZSB1bnVzZWQgY3VzdG9tIHZpZGVvIGZpbHRlciBlbGVtZW50IHByb3BlcnR5IGNvZGUKCjIwMTAtMTItMTYgMTA6NTE6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBGaXggdmlkZW8tc2luayBwcm9wZXJ0eSBhZ2FpbgoJICBBdm9pZCBzd2l0Y2hpbmcgdGhlIGVsZW1lbnQgb24gdGhlIHNldF9wcm9wZXJ0eSBmdW5jdGlvbiwgaW5zdGVhZCB3YWl0CgkgIGZvciB0aGUgbmV4dCBOVUxMIC0+IFJFQURZIHRyYW5zaXRpb24uCgoyMDEwLTEyLTE0IDE0OjQ4OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogVXNlIHZpZGVvdGVzdHNyYyBvbiB0aGUgdGVzdHMKCSAgVXNlIHZpZGVvdGVzdHNyYyB0byBhdm9pZCBvcGVubmluZyB0aGUgY2FtZXJhIGRldmljZSBvbiB0aGUgdGVzdHMuCgoyMDEwLTEyLTE0IDE0OjQzOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogYWRkIHZpZGVvLXNyYyBwcm9wZXJ0eQoJICBBZGRzIGEgcHJvcGVydHkgdG8gc2VsZWN0IHRoZSBzcmMgZWxlbWVudCB0byBiZSB1c2VkIGludGVybmFsbHkKCSAgb24gdjRsMmNhbWVyYXNyYy4gWWVhaCwgSSBrbm93LCB0aGlzIGVsZW1lbnQgc2hvdWxkIGhhdmUgYSBiZXR0ZXIKCSAgbmFtZS4KCjIwMTAtMTItMTMgMTc6NTY6MTQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGQgdGVzdCBmb3Igc3VwcG9ydGVkIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHRlc3RzIGZvciBjaGVja2luZyB0aGF0IHRoZSBzdXBwb3J0ZWQgY2FwcyBwcm9wZXJ0aWVzIHdvcmsKCSAgYXMgZXhwZWN0ZWQgKHVzaW5nIHRoZSByZXNwZWN0aXZlIHBhZHMgZ2V0IGNhcHMgZnVuY3Rpb24pCgoyMDEwLTEyLTE0IDA4OjQ0OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL1BPUlRJTkc6CgkgIGNhbWVyYWJpbjI6IGFkZHMgUE9SVElORyBkb2N1bWVudAoJICBBZGRzIGEgUE9SVElORyBkb2N1bWVudCB0byBleHBsYWluIHRoZSBkaWZmZXJlbmNlcyBmcm9tCgkgIGNhbWVyYWJpbiB0byBjYW1lcmFiaW4yIGFuZCBoZWxwIGFwcGxpY2F0aW9uIGRldmVsb3BlcnMgb24KCSAgcG9ydGluZyBmcm9tIG9uZSB0byBhbm90aGVyLgoKMjAxMC0xMi0xMyAxOTozNjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9iYXNlY2FtZXJhYmluc3JjL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0LWxpYnMvZ3N0L2Jhc2VjYW1lcmFiaW5zcmMvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYy9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogTW92ZSBiYXNlY2FtZXJhc3JjIHRvIGdzdC1saWJzCgkgIE1vdmUgdGhlIGJhc2UgY2FtZXJhIHNyYyBjbGFzcyB0byBnc3QtbGlicy9nc3QvYmFzZWNhbWVyYWJpbnNyYyB0bwoJICBhbGxvdyBpdCB0byBiZSBpbmNsdWRlZCBmcm9tIHRoZSB0ZXN0cy4KCjIwMTAtMTItMTQgMTQ6Mjg6NDkgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCB2aWRlb3JlY29yZGluZ2Jpbjo6dmlkZW8tbXV4ZXIgcHJvcGVydHkKCjIwMTAtMTItMTQgMTI6MjE6NTcgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCB2aWRlb3JlY29yZGluZ2Jpbjo6dmlkZW8tZW5jb2RlciBwcm9wZXJ0eQoKMjAxMC0xMi0xNCAwOTo1ODozNSArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFiYnJldmlhdGlvbnMgZnJvbSB2aWRlb3JlY29yZGluZ2JpbgoKMjAxMC0xMi0xNCAxMDo0ODo1NiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDx0ZWVtdS5rYXRhamlzdG9AZGlnaWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGltYWdlY2FwdHVyZWJpbjogcmVsZWFzZSBvYmplY3RzIGFuZCBtZW1vcnkgYWxsb2NhdGlvbnMKCjIwMTAtMTItMTMgMTY6MzY6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZCBjYW1lcmEtc3JjIHByb3BlcnR5CgkgIEFkZHMgYSBwcm9wZXJ0eSB0byBzZWxlY3QgdGhlIGNhbWVyYSBzb3VyY2UgZWxlbWVudCB0byBiZSB1c2VkLgoJICBDaGFuZ2luZyBvbmx5IGhhcHBlbnMgb24gdGhlIG5leHQgTlVMTC0+UkVBRFkgdHJhbnNpdGlvbgoKMjAxMC0xMi0xMyAxMTo1Mzo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogUmVuYW1lIHZhcmlhYmxlcwoJICBVc2UgYmV0dGVyIG5hbWUgZm9yIHRoZSB2YXJpYWJsZXMsIG1ha2luZyB0aGUgY29kZSBjbGVhcmVyLiBBbHNvCgkgIGtlZXAgYSByZWYgZm9yIHNvbWUgaW50ZXJuYWwgZWxlbWVudHMgdG8gYXZvaWQgZmV0Y2hpbmcgdGhlbQoJICBieSBuYW1lIHdoZW4gbmVlZGVkIGxhdGVyLgoKMjAxMC0xMi0xMiAyMzowMzoyMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogQWRkIHByb3BlcnRpZXMgZm9yIHN1cHBvcnRlZCBjYXB0dXJlIGNhcHMKCSAgQWRkcyAyIHByb3BlcnR5IGZvciBnZXR0aW5nIHRoZSBzdXBwb3J0ZWQgaW1hZ2UvdmlkZW8gY2FwdHVyZQoJICBjYXBzIGZyb20gdGhlIGNhbWVyYSBzb3VyY2UuCgoyMDEwLTEyLTEyIDIwOjQ2OjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBQdXQgZW51bXMgaW5zaWRlIHRoZWlyIGNsYXNzZXMgLmMKCSAgUmVtb3ZlIGdsb2JhbCBsaXN0IG9mIHByb3BlcnRpZXMnIGVudW1zIGFuZCBwdXQgdGhlbQoJICBpbnNpZGUgdGhlaXIgY2xhc3NlcyAuYwoKMjAxMC0xMi0xMiAxOTozMzoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIHZpZXdmaW5kZXJiaW46IEZpeGVzIHRvIHZpZGVvLXNpbmsgaGFuZGxpbmcKCSAgSGFuZGxlIHZpZGVvLXNpbmsgbW9yZSBjYXJlZnVsbHksIGNoZWNraW5nIGlmIGl0IHNob3VsZAoJICBiZSBhbHJlYWR5IGFkZGVkIHRvIHRoZSBiaW4sIGFuZCByZW1vdmluZyBvbGQgb25lcyB3aGVuCgkgIHJlcGxhY2luZy4KCjIwMTAtMTItMTMgMTY6Mjg6NTggKzAyMDAgIFRlZW11IEthdGFqaXN0byA8dGVlbXUua2F0YWppc3RvQGRpZ2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VjYXB0dXJlYmluLmM6CgkgIGNhbWVyYWJpbjI6IGFkZCBpbWFnZWNhcHR1cmViaW46OmltYWdlLW11eGVyIHByb3BlcnR5CgoyMDEwLTEyLTEzIDEyOjA4OjIyICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ltYWdlY2FwdHVyZWJpbi5jOgoJICBjYW1lcmFiaW4yOiBhZGQgaW1hZ2VjYXB0dXJlYmluOjppbWFnZS1lbmNvZGVyIHByb3BlcnR5CgoyMDEwLTEyLTEwIDE3OjQ1OjQwICswMjAwICBUZWVtdSBLYXRhamlzdG8gPHRlZW11LmthdGFqaXN0b0BkaWdpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgY2FtZXJhYmluMjogcmVtb3ZlIGFicmV2aWF0aW9ucyBmcm9tIGltYWdlY2FwdHVyZWJpbgoKMjAxMC0xMi0xMCAxMjowODo0OCAtMDMwMCAgQW5kcsOpIERpZWIgTWFydGlucyA8YW5kcmUuZGllYkBnbWFpbC5jb20+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbjIuYzoKCSAgY2FtZXJhYmluMjogaW1wbGVtZW50IHZpZXdmaW5kZXJiaW46OnZpZGVvLXNpbmsgcHJvcGVydHkgdG8gb3ZlcnJpZGUgZGVmYXVsdCB2aWRlbyBvdXRwdXQKCjIwMTAtMTItMDkgMTQ6MTM6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJICBiYXNlY2FtZXJhc3JjOiBNYWtlIGNvbnN0cnVjdF9waXBlbGluZSBvcHRpb25hbAoJICBDb25zdHJ1Y3QgcGlwZWxpbmUgc2hvdWxkIGJlIG9wdGlvbmFsLiBTdWJjbGFzc2VzIHRoYXQgZG9uJ3QKCSAgaGF2ZSBpbnRlcm5hbCBlbGVtZW50cyBkb24ndCBuZWVkIGl0LgoKMjAxMC0xMi0wOSAxMjoyMzowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IHdyaXRlIG1vcmUgZGV0YWlscyBvbiB0aGUgYXBpIGRvY3MKCjIwMTAtMTItMDkgMTI6MjI6MjYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogdXNlIHRoZSBlbnVtIHR5cGUgZm9yIG1vZGUKCjIwMTAtMTItMDkgMTI6MjE6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSAgYmFzZWNhbWVyYXNyYzogY29tbWVudCBjbGVhbnVwcwoKMjAxMC0xMi0yMiAyMTo0NDo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGVuc3VyZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIG1vZGlmeWluZyBpdAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3ODI0CgoyMDEwLTEyLTIyIDE4OjEzOjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvZ3N0aWQzbXV4LmM6CgkgIGlkM211eDogU2V0IHRvIEdTVF9SQU5LX1BSSU1BUlkKCSAgV2Ugd2FudCBpdCB0byB0YWtlIHByZWNlZGVuY2Ugb3ZlciBhbnkgb3RoZXIgaWQzIGZvcm1hdHRlci4KCjIwMTAtMTItMjEgMTg6MDE6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggc29tZSBtb3JlIGxlYWtzIGFuZCByZW9yZ2FuaXplIHVucmVmIGNvZGUKCjIwMTAtMTItMjAgMTU6MzM6MjggKzAxMDAgIGJlbmphbWluIGdhaWduYXJkIDxiZW5qYW1pbi5nYWlnbmFyZEBzdGVyaWNzc29uPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBdm9pZCBzb21lIGxlYWtzIGluIGF1dG9jb252ZXJ0CgkgIHVucmVmIHNpbmsgYW5kIHNyYyBwYWQgYWZ0ZXIgZ3N0X3BhZF9ieV9kaXJlY3Rpb24gY2FsbHMgdW5yZWYKCSAgZWxlbWVudCBpZiBnc3RfYXV0b19jb252ZXJ0X2FjdGl2YXRlX2VsZW1lbnQgZmFpbGVkLgoJICBTZWUgYnVnICM2Mzc1NTMuCgoyMDEwLTEyLTIxIDE3OjAzOjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpeCBidWZmZXIgbGVhayBpbiB0aGUgdW5pdCB0ZXN0CgoyMDEwLTEyLTIwIDA3OjE5OjA0IC0wODAwICBTYWxlZW0gQWJkdWxyYXNvb2wgPGNvbXBuZXJkQGNvbXBuZXJkLm9yZz4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvciBsYXRlc3QgR1RLKyBBUEkgY2hhbmdlcwoKMjAxMC0xMi0yMCAxNzo0NzoyOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE2OTQ2MmEgdG8gNDY0NDVhZAoKMjAxMC0xMi0yMCAxMTowNjo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY2FwcyBsZWFrcwoJICBGaXggc29tZSBjYXBzIGxlYWtzIG9uIHVuaXQgdGVzdHMKCjIwMTAtMTItMjAgMDk6Mzc6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogRml4IGxlYWtzIG9uIGNoZWNrIHRlc3QKCSAgRml4IGxlYWtzIGluIGppZm11eCBjaGVjayB0ZXN0CgoyMDEwLTEyLTIwIDEzOjUxOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJICBwaG90b2dyYXBoeTogdXNlIGEgZmxhZ3MgdHlwZSBpbnN0ZWFkIG9mIHRoZSB1aW50CgkgIEFsc28gdXNlIDAgYXMgZGVmYXVsdCBhbmQgbGV0IHRoZSBpbXBsZW1lbnRhdGlvbiBzZXQgc29tZXRoaW5nIHRoYXQgdGhleSBzdXBwb3J0LgoKMjAxMC0xMi0yMCAxMToxNDo0OSArMDIwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhZGQgbWlzc2luZyBwcm9wZXJ0eSBhbmQgY2FiYWJpbGl0eSBmbGFnIGZvciBub2lzZSByZWR1Y3Rpb24KCjIwMTAtMTItMTkgMTc6MjM6MjQgKzA1MzAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIHRlc3RzOiBGaXggbGVhayBpbiBhdXRvY29udmVydCB0ZXN0CgoyMDEwLTEyLTE5IDE3OjE2OjEwICswNTMwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFVzZSBnc3RfY2Fwc19jYW5faW50ZXJzZWN0KCkKCjIwMTAtMTItMTkgMTI6NTM6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIEF0b21JbmZvIHN0cnVjdHMKCjIwMTAtMTItMTkgMTI6NTA6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBGcmVlIHRhZyBzdHJpbmcgYWZ0ZXIgdXNlCgoyMDEwLTEyLTE5IDEyOjEyOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGFnc2NoZWNraW5nOiBGaXggc29tZSBtb3JlIG1lbW9yeSBsZWFrcwoKMjAxMC0xMi0xOSAxMjoxMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIG1lc3NhZ2UgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0xMi0xOSAxMjowOTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIHBhZCBhbmQgc2luawoKMjAxMC0xMi0xOSAxMjowNToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIHBhZCB0ZW1wbGF0ZSBjcmVhdGVkIGZyb20gc3RhdGljIHBhZCB0ZW1wbGF0ZQoKMjAxMC0xMi0xOSAxMjowMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSAgaW1hZ2VjYXB0dXJlYmluOiBEb24ndCBsZWFrIGxvY2F0aW9uIHN0cmluZwoKMjAxMC0xMi0xOSAxMjowMDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEb24ndCBsZWFrIHRhZ2xpc3QKCjIwMTAtMTItMTkgMTE6Mzg6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG92aWRlb2NvbnZlcnQuYzoKCSAgYXV0b3ZpZGVvY29udmVydDogRG9uJ3QgbGVhayBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgZnJvbSBzdGF0aWMgcGFkIHRlbXBsYXRlcwoKMjAxMC0xMi0xOSAxMToyMDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBBZGQgYXV0b2NvbnZlcnQgY2hpbGQgYmVmb3JlIGNoYWluaW5nIHVwIHRvIHBhcmVudCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgLi4uYW5kIHJlbW92ZS91bmxpbmsgYXV0b2NvbnZlcnQgY2hpbGQgd2hlbiBnb2luZyBiYWNrIHRvIE5VTEwuCgoyMDEwLTEyLTE5IDExOjE5OjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzdGF0ZXM6IElnbm9yZSBtb3JlIHZkcGF1IGVsZW1lbnRzIGluIHRoZSBnZW5lcmljIHN0YXRlcyB0ZXN0CgoyMDEwLTEyLTE5IDExOjE3OjQ3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXV0b3ZpZGVvY29udmVydC5jOgoJICBhdXRvdmlkZW9jb252ZXJ0OiBSZW5hbWUgYW5kIGFkanVzdCB1bml0IHRlc3QgdG9vCgoyMDEwLTEyLTE4IDEyOjQ4OjQyIC0wODAwICBMZW8gU2luZ2VyIDxsZW8uc2luZ2VyQGxpZ28ub3JnPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5tOgoJICBhcHBsZW1lZGlhOiBmaXggY29tcGlsZXIgd2FybmluZzogcmVkdW5kYW50IGRlY2xhcmF0aW9uIG9mICdwYXJlbnRfY2xhc3MnCgkgIEdTVF9CT0lMRVJQTEFURV9GVUxMIGRlY2xhcmVzIHBhcmVudF9jbGFzcyBhcyB3ZWxsLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM3NTMyCgoyMDEwLTEyLTE3IDE5OjQxOjI1ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGxhc3NlLmxhdWtrYW5lbkBkaWdpYS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFsbG93IHplcm8gZHVyYXRpb24gdHJhY2tzCgoyMDEwLTEyLTE2IDE1OjMxOjIzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSBHU1RfTE9HIGV0Yy4gZm9yIGxvZ2dpbmcKCSAgVGhlIGR2YnN1YiByb3V0aW5lcyB3ZXJlIG9yaWdpbmFsbHkgZGVzaWduZWQgYXMgYSBtaW5pIGxpYiB3aXRoIGEKCSAgbG9nIGNhbGxiYWNrICh3aGljaCBmcm9tIHRoZSBsb29rcyBvZiBpdCBpbiBvdXIgY2FzZSB3b3VsZCBhbHdheXMKCSAgYmUgY2FsbGVkIGFuZCBhbHdheXMgYXNzZW1ibGUgdGhlIHN0cmluZyBldmVuIHdpdGggZGVidWcgb3V0cHV0CgkgIGRpc2FibGVkKS4gU29tZSBvZiB0aGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIGNhbiBwcm9iYWJseSBiZSByZW1vdmVkCgkgIG9yIGNsZWFuZWQgdXAgc29tZSBtb3JlLgoKMjAxMC0xMi0xNiAwMDoxOToxMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9mZm1wZWctY29sb3JzcGFjZS5oOgoJICBkdmJzdWJvdmVybGF5OiByZW1vdmUgc29tZSB1bnVzZWQgZGVmaW5lcwoKMjAxMC0xMi0xNiAwMDoxMzoxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCBhdG9taWMgYWNjZXNzCgoyMDEwLTEyLTE2IDE1OjMzOjQ1ICswMDAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IGZpeCByZW5kZXJpbmcgYXJ0ZWZhY3RzCgkgIEluaXRpYWxpemUgc291cmNlIHggcG9zaXRpb24gZm9yIG9kZCBoZWlnaHQgc3BlY2lhbCBjYXNlLgoKMjAxMC0xMi0xNiAxMToyOTowNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8ZWR3YXJkLmhlcnZleUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFRoZSBlbmFibGUgcHJvcGVydHkgaXMgYSBib29sZWFuIGFuZCBub3QgYW4gaW50ZWdlcgoKMjAxMC0xMi0xNiAwOTo1NjowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvdmlkZW9jb252ZXJ0Lmg6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbnZlcnQ6IFJlbmFtZSBhdXRvY29sb3JzcGFjZSB0byBhdXRvdmlkZW9jb252ZXJ0CgkgIFRoaXMgZG9lc24ndCBqdXN0IGNvbnZlcnQgYmV0d2VlbiBjb2xvciBzcGFjZXMuCgoyMDEwLTEyLTE1IDEyOjQ1OjM4IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb2ZpbHRlcjoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYXVkaW9zaW5rOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9hdWRpb3NyYzoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc2luazoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZWF1ZGlvc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwZGVwYXlsb2FkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9iYXNlcnRwcGF5bG9hZDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvYmFzZXNpbms6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2VzcmM6CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2Jhc2V0cmFuc2Zvcm06CgkqIHRvb2xzL2VsZW1lbnQtdGVtcGxhdGVzL2NkZGFiYXNlc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9lbGVtZW50OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9nb2JqZWN0OgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9wdXNoc3JjOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zaW5rcGFkLXNpbXBsZToKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvc3JjcGFkOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy9zcmNwYWQtc2ltcGxlOgoJKiB0b29scy9lbGVtZW50LXRlbXBsYXRlcy90YWdkZW11eDoKCSogdG9vbHMvZWxlbWVudC10ZW1wbGF0ZXMvdmlkZW9zaW5rOgoJKiB0b29scy9nc3QtZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogQ2xlYW4gdXAgZGlyZWN0b3J5CgoyMDEwLTEyLTE1IDIxOjI4OjA2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogQWRkIGZyYW1lcmF0ZSB0byB0aGUgc2luayBjYXBzCgkgIEZpeGVzIGJ1ZyAjNjM3MjI0LgoKMjAxMC0xMi0xNSAyMToxOTo1NSArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb2xvcnNwYWNlLmM6CgkgIGF1dG9jb2xvcnNwYWNlOiBBZGQgdW5pdCB0ZXN0CgoyMDEwLTEyLTE1IDIxOjE0OjM4ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29sb3JzcGFjZS5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbG9yc3BhY2UuaDoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9wbHVnaW4uYzoKCSAgYXV0b2NvbG9yc3BhY2U6IEFkZCBhdXRvY29udmVydCBiYXNlZCB2aWRlbyBmb3JtYXQgY29udmVydCBlbGVtZW50CgkgIEZpeGVzIGJ1ZyAjNjM2MTA2LgoKMjAxMC0xMi0xNSAyMToxMToyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlbmFtZSBEVkIgc3VidGl0bGluZyBtZWRpYSB0eXBlIHRvIHN1YnBpY3R1cmUveC1kdmIKCjIwMTAtMTItMTUgMjE6MTE6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogUmVuYW1lIERWQiBzdWJ0aXRsaW5nIG1lZGlhIHR5cGUgdG8gc3VicGljdHVyZS94LWR2YgoKMjAxMC0xMi0xNSAyMDo1NDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvbid0IGRyYXcgYW55dGhpbmcgb24gdGhlIHZpZGVvIGlmIHRoZSBlbmFibGUgcHJvcGVydHkgaXMgc2V0IHRvIEZBTFNFCgoyMDEwLTEyLTE1IDIwOjUzOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogQWRkICNkZWZpbmVzIGZvciB0aGUgcHJvcGVydHkgZGVmYXVsdCB2YWx1ZXMKCjIwMTAtMTItMTUgMjA6NTE6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBVc2UgZ19hdG9taWNfaW50X2dldCgpIGZvciByZWFkaW5nIHRoZSBtYXhfcGFnZV90aW1lb3V0IGZpZWxkCgoyMDEwLTEyLTE1IDIwOjQ5OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE1hcmsgYXJyYXkgc3RhdGljIGNvbnN0IGFuZCB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2Ygc2l6ZW9mCgoyMDEwLTEyLTE1IDE0OjM5OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgREVTQ19EVkJfU1VCVElUTElORyBkZXNjcmlwdG9yIGZvciBsYW5ndWFnZSBwYXJzaW5nCgoyMDEwLTEyLTE1IDE0OjIzOjU4ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBlbmFibGUgZ2F0aGVyX3BlcyBvbmx5IGZvciBEVkIgc3VidGl0bGUgcHJpdmF0ZSBzdHJlYW1zCgoyMDEwLTEyLTE0IDE0OjM0OjU2ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHVzZSBhdG9taWMgaW5zdHJ1Y3Rpb25zIHRvIHNldC9nZXQgZW5hYmxlIHByb3BlcnR5CgoyMDEwLTEyLTE0IDE0OjI4OjQ1ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuaDoKCSAgZHZic3Vib3ZlcmxheTogYWRkIHByb3BlcnR5IHRvIGxpbWl0IHBhZ2VfdGltZV9vdXQgdG8gYSBzZXRhYmxlIG1heGltdW0KCjIwMTAtMTItMTQgMTE6MTE6MDggKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogaW1wbGVtZW50IGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IHN1YnRpdGxlIHdpbmRvd3MKCSAgc2ltcGxpZmllcyBzdWJ0aXRsZSBzY2FsaW5nIGluIGJsaXRfaTQyMCgpCgoyMDEwLTEyLTExIDE3OjI1OjI5ICswMTAwICBKYW5uZSBHcnVuYXUgPGphbm5lLmdydW5hdUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IHNjYWxlIHN1YnRpdGxlcyBhY2NvcmRpbmcgdG8gdGhlIGRpc3BsYXkgc2l6ZQoJICBEaXNwbGF5IHNpemUgaXMgZWl0aGVyIHRyYW5zbWl0dGVkIGluIHRoZSBkaXNwbGF5IGRlZmluaXRpb24gc2VnbWVudCBvcgoJICBpbXBsaWNpdGx5IGRlZmluZWQgdG8gNzIweDU3Ni4gVGhlIHN1YnRpdGxlIHdpbmRvdyBpbmZvcm1hdGlvbiBhbHNvIHByZXNlbnQgaW4KCSAgdGhlIGRpc3BsYXkgZGVmaW5pdGlvbiBzZWdtZW50IGlzIG5vdCB5ZXQgdXNlZC4KCjIwMTAtMTItMTEgMTc6MTA6MjUgKzAxMDAgIEphbm5lIEdydW5hdSA8amFubmUuZ3J1bmF1QGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBpbXBsZW1lbnQgZGlzcGxheSBkZWZpbml0aW9uIHNlZ21lbnQgcGFyc2luZwoKMjAxMC0xMi0xMCAxMjoyNzo1NCArMDEwMCAgSmFubmUgR3J1bmF1IDxqYW5uZS5ncnVuYXVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggbHVtYSBzdHJpZGUgZm9yIHNjYWxlZCBzdWJ0aXRsZXMgKGRpc3BsYXkgd2lkdGggIT0gd2lkdGgpCgoyMDEwLTEyLTE1IDE2OjQ4OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxlZHdhcmQuaGVydmV5QGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdvdmVybGF5LmM6CgkgIHJzdmdvdmVybGF5OiBEb24ndCBzZXQgdWludCBvbiBhbiBpbnQgcHJvcGVydHkKCjIwMTAtMTItMTUgMTQ6NTY6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMjA3NDJhZSB0byAxNjk0NjJhCgoyMDEwLTEyLTE0IDE5OjAzOjA5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RhdWRpb2ZpbHRlci5jOgoJKiB0b29scy9nc3RhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc2luay5jOgoJKiB0b29scy9nc3RiYXNlYXVkaW9zcmMuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlcnRwcGF5bG9hZC5jOgoJKiB0b29scy9nc3RiYXNlc2luay5jOgoJKiB0b29scy9nc3RiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2V0cmFuc2Zvcm0uYzoKCSogdG9vbHMvZ3N0Y2RkYWJhc2VzcmMuYzoKCSogdG9vbHMvZ3N0ZWxlbWVudC5jOgoJKiB0b29scy9nc3RwdXNoc3JjLmM6CgkqIHRvb2xzL2dzdHRhZ2RlbXV4LmM6CgkqIHRvb2xzL2dzdHZpZGVvc2luay5jOgoJKiB0b29scy9zaW5rcGFkLXNpbXBsZS5jOgoJKiB0b29scy9zaW5rcGFkLmM6CgkqIHRvb2xzL3NyY3BhZC1zaW1wbGUuYzoKCSogdG9vbHMvc3JjcGFkLmM6CgkgIGVsZW1lbnQtbWFrZXI6IGltcHJvdmUgZ2VuZXJhdGlvbiBvZiBzZXZlcmFsIGNsYXNzZXMKCSAgQmV0dGVyIGNyZWF0aW9uIG9mIHBhZHMsIHRlc3QgYW5kIGZpeCBtYW55IG90aGVyIGNsYXNzZXMuICBNb3N0CgkgIGNsYXNzZXMgd29yayBub3csIGFsdGhvdWdoIG1pZ2h0IG5vdCBjcmVhdGUgZnVuY3Rpb25hbCBlbGVtZW50cy4KCjIwMTAtMTItMTMgMjM6MzI6MzAgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5jOgoJKiBnc3QveTRtL2dzdHk0bWRlYy5oOgoJICB5NG1kZWM6IEFkZCB5NG1kZWMKCSAgRmVlbCB0aGUgeTRtIGxvdmUuICBJdCBzZWVrcy4gIEl0IHdvcmtzIGluIHBpdGl2aS4KCjIwMTAtMTItMTMgMjM6MTU6MDUgKzAwMDAgIEZyYW5jaXMgUmFtbWVsb28gPGZyYW5jaXMucmFtbWVsb29AZ21haWwuY29tPgoKCSogc3lzL3dpbnNjcmVlbmNhcC9nc3RnZGlzY3JlZW5jYXBzcmMuYzoKCSAgZ2Rpc2NyZWVuY2Fwc3JjOiBmaXggbWVtb3J5IGxlYWsKCSAgU3RydWN0dXJlIG1lbWJlcnMgb2YgSUNPTklORk8gc3RydWN0IGZpbGxlZCBieSBHZXRJY29uSW5mbygpIG11c3QKCSAgYmUgZGVsZXRlZCB3aGVuIG5vIGxvbmdlciBuZWVkZWQgYWNjb3JkaW5nIHRvIHRoZSBBUEkgcmVmZXJlbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjExNDI4CgoyMDEwLTEyLTEzIDE2OjIzOjM3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGF2b2lkIGxlYWtpbmcgdGFnIGV2ZW50CgoyMDEwLTEyLTEzIDE1OjE3OjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbGF4IGJzaWQgY2hlY2tpbmcKCSAgLi4uIHRvIHRoZSB3aWRlc3QgcG9zc2libGUgc3BlYyBpbnRlcnByZXRhdGlvbi4KCSAgRml4ZXMgIzYzNzA2Mi4KCjIwMTAtMTItMTMgMTY6MjM6NDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDExYmNjOCB0byAyMDc0MmFlCgoyMDEwLTEyLTEyIDIzOjM0OjAyICswMDAwICBNYXR0aGV3IElmZSA8bWF0dGhldy5pZmVAdWtmYXN0LmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICByZmJzcmM6IGZhaWwgbW9yZSBncmFjZWZ1bGx5IGlmIHNvdXJjZSBnZXRzIGRpc2Nvbm5lY3RlZCBvciBnZW9tZXRyeSBjaGFuZ2VzCgkgIERvbid0IGdldCBjYXVnaHQgaW4gYW4gaW5maW5pdGUgbG9vcCBpZiB0aGUgc291cmNlIGdldHMgZGlzY29ubmVjdGVkIGFuZCBhbHNvCgkgIHN1cHBvcnQgZ3JhY2VmdWxseSBmYWlsaW5nIHVwb24gZGV0ZWN0aW5nIHRoZSBmcmFtZSBnZW9tZXRyeSBoYXMgaW5jcmVhc2VkCgkgIChyYXRoZXIgdGhhbiBzZWdmYXVsdGluZykuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzOTcKCjIwMTAtMTItMTIgMjI6MTM6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgbGVha2luZyBjb252ZXJ0ZWQgY29tbWVudCBzdHJpbmcKCjIwMTAtMTItMTIgMTI6MDE6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBTZXQgY2xhc3NpZmljYXRpb24gdG8gRmlsdGVyL0FuYWx5emVyL1ZpZGVvIGluc3RlYWQgb2YgRmlsdGVyL0NvbnZlcnRlci9WaWRlbwoJICBGaXhlcyBidWcgIzYzNjEwOS4KCjIwMTAtMTItMTIgMDI6MjQ6MDAgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvYnVybi1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBBdm9pZCBkaXZpZGUgYnkgMCBpbiBidXJuIGVsZW1lbnQKCjIwMTAtMTItMTIgMDI6MTY6NDkgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IERlZmVyIHB1c2hpbmcgdGFnIHVwZGF0ZXMgdW50aWwgc3RyZWFtaW5nLgoJICBQdXNoIHRhZy90aXRsZSBpbmZvIHVwZGF0ZXMgaW4gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGF2b2lkaW5nCgkgIHNwdXJpb3VzIGxvc3NlcyBvZiB0aGUgZG93bnN0cmVhbSBldmVudHMgd2hlbiBmbHVzaGluZy4KCSAgU2VlOiBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk0MjIyCgoyMDEwLTExLTE2IDE3OjE4OjMzICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEF0dGVtcHQgdG8gdXNlIGdsaWIgbGFuZ3VhZ2Ugc2V0dGluZyBmb3IgRFZEIG1lbnVzL2F1ZGlvCgoyMDEwLTExLTE2IDE3OjA5OjA2ICsxMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBzaWxseSB0eXBvIGluIGJ1dHRvbiBzdGF0ZSB0cmFja2luZy4KCjIwMTAtMTItMTAgMDA6NTg6NTggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJICBhcHBsZW1lZGlhOiBvbmx5IGVucXVldWUgYnVmZmVycyBpbiB0aGUgVmlkZW9Ub29sYm94IGNhbGxiYWNrcwoJICBUaGVzZSBjYWxsYmFja3MgbWF5IGZpcmUgZnJvbSBhbnkgdGhyZWFkLCBoZW5jZSB3ZSBzaG91bGQgb25seSBlbnF1ZXVlCgkgIGJ1ZmZlcnMgYW5kIGxldCB0aGUgc3RyZWFtaW5nIHRocmVhZCB0YWtlIGNhcmUgb2YgdGhlIHJlc3QgYXMgc29vbiBhcwoJICB0aGUgYmxvY2tpbmcgZW5jb2RlIG9yIGRlY29kZSBvcGVyYXRpb24gaGFzIGZpbmlzaGVkLgoKMjAxMC0xMS0xOSAxNTo1Mzo1NSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGktaW50ZXJuYWwuaDoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS5oOgoJICBhcHBsZW1lZGlhOiBicmluZyBiYWNrIExlb3BhcmQgY29tcGF0aWJpbGl0eQoJICBBdCBsZWFzdCBhcyBmYXIgYXMgbWlvdmlkZW9zcmMgaXMgY29uY2VybmVkLiBUdXJucyBvdXQgdGhhdCBDb3JlVmlkZW8ncwoJICBDVlBpeGVsQnVmZmVyR2V0SU9TdXJmYWNlIGlzIG5vdCBwcmVzZW50IGluIExlb3BhcmQncyB2ZXJzaW9uIG9mIENvcmVWaWRlby4KCSAgV2Ugc29sdmUgdGhpcyBieSBtYWtpbmcgaXQgcG9zc2libGUgZm9yIHN5bWJvbHMgdG8gYmUgbWFya2VkIGFzIG9wdGlvbmFsLgoKMjAxMC0xMS0yOSAxMzo0NzoxMSArMDEwMCAgQ2hyaXN0aWFuIEJlcmVudHNlbiA8Y2hyaXN0aWFuLmJlcmVudHNlbkBjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGZpeCBmcmFtZXJhdGUgZnJhY3Rpb24gcmFuZ2UgbWFwcGluZwoJICBNaW4gYW5kIG1heCBtYXkgYmUgc2xpZ2h0bHkgZGlmZmVyZW50IGJ1dCBjb21wcmVzcyB0byB0aGUgc2FtZSBmcmFjdGlvbi4KCjIwMTAtMTItMDkgMTg6MDY6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSAgamFzcGVyZGVjOiBkb24ndCBmYWlsIGhhcmQgb24gZGVjb2RpbmcgZXJyb3IKCSAgZG9uJ3QgcG9zdCBhbiBlcnJvciBhbmQgcmV0dXJuIEdTVF9GTE9XX0VSUk9SIG9uIGEgc2ltcGxlIGRlY29kaW5nIGVycm9yLiBXZSBjYW4KCSAganVzdCByZXN1bWUgYW5kIGNvbnRpbnVlIGRlY29kaW5nIHRoZSBuZXh0IGltYWdlLgoKMjAxMC0xMi0wOSAxMTo1NDoxNyArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9hcHBsZW1lZGlhL3F0a2l0dmlkZW9zcmMubToKCSAgcXRraXR2aWRlb3NyYzogcmVzZXQgdGhlIHF1ZXVlIGNvbmRpdGlvbiB0byBOT19GUkFNRVMgaW4gdW5sb2NrU3RvcC4KCSAgRml4ZXMgYSBzZWdmYXVsdCBpbiBjcmVhdGU6IHdoZW4gZ29pbmcgUExBWUlORyAtPiBQQVVTRUQgLT4gUExBWUlORy4KCjIwMTAtMTItMDkgMTE6MDQ6MTkgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRlY2luYUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHJ1biB0aGUgbWFpblJ1bkxvb3AgZm9yIGEgd2hpbGUgaWYgbm90IHJ1bm5pbmcuCgkgIFFUQ2FwdHVyZVNlc3Npb246OmFkZElucHV0IGFuZCBRVENhcHR1cmVTZXNzaW9uOjphZGRPdXRwdXQgY2FsbAoJICBOU09iamVjdDo6cGVyZm9ybVNlbGVjdG9yT25NYWluVGhyZWFkIGludGVybmFsbHkgc28gdGhleSBuZWVkIHRoZSBtYWluUnVuTG9vcCB0bwoJICBydW4gYXQgbGVhc3QgZm9yIGEgd2hpbGUgdG8gY29tcGxldGUuCgoyMDEwLTEyLTA3IDE5OjQwOjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgYmFzZWNhbWVyYXNyYzogUmVtb3ZlIGdob3N0cGFkcwoJICBSZW1vdmUgZ2hvc3QgcGFkcyBmcm9tIGJhc2VjYW1lcmFzcmMuIERpZmZlcmVudCBpbXBsZW1lbnRhdGlvbnMKCSAgb2YgY2FtZXJhIHNvdXJjZXMgbWlnaHQgbm90IHVzZSBnaG9zdHBhZHMgYW5kIHVzZSBkZWZhdWx0IHBhZHMuCgoyMDEwLTEyLTA3IDE5OjEyOjQwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGJhc2VjYW1lcmFzcmM6IFJlbW92aW5nIHVudW5zZWQgbWV0aG9kcwoJICBSZW1vdmUgb25lIHVudXNlZCBtZXRob2QgX2ZpbmlzaF9pbWFnZV9jYXB0dXJlKCkKCjIwMTAtMTItMDYgMTE6MDU6MTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW4yOiBPbmx5IHJ1biB0ZXN0cyBpZiBleHBlcmltZW50YWwgaXMgZW5hYmxlZAoJICBPbmx5IHJ1biBjYW1lcmFiaW4yIHRlc3RzIGFuZCBidWlsZCBleGFtcGxlcyBpZiBleHBlcmltZW50YWwKCSAgcGx1Z2lucyBhcmUgZW5hYmxlZAoKMjAxMC0xMi0wNiAxMDowNjozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQ2xlYW51cAoJICBSZW1vdmluZyBjb21tZW50ZWQgY29kZQoKMjAxMC0xMi0wNSAxMToxODowOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IE1vdmUgc3RhcnQvc3RvcCBjYXB0dXJlIHNpZ25hbHMgdG8gYmFzZWNhbWVyYXNyYwoJICBNb3ZlIHN0YXJ0L3N0b3Agc2lnbmFscyBhbmQgcmVhZHktZm9yLWNhcHR1cmUgdG8gYmFzZWNhbWVyYXNyYwoJICBhcyB0aGlzIHNob3VsZCBiZSBwcmVzZW50IG9uIGFsbCBjYW1lcmEgc291cmNlcwoKMjAxMC0xMi0wNCAxMDoxNTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGJhc2VjYW1lcmFzcmM6IEFkZCBtb2RlIHByb3BlcnR5CgkgIE1vdmUgbW9kZSBwcm9wZXJ0eSBmcm9tIHY0bDJjYW1lcmFzcmMgdG8gYmFzZWNhbWVyYXNyYywgYXMgYWxsCgkgIGNhbWVyYSBzb3VyY2VzIHNob3VsZCBoYW5kbGUgaXQuCgoyMDEwLTEyLTA0IDAwOjI3OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBSZXNldCBhbGwgZWxlbWVudHMgb24gdmlkZW8gcmVjb3JkaW5nIGJyYW5jaCBiZWZvcmUgY2FwdHVyZQoJICBXZSBuZWVkIHRvIHJlc2V0IHRoZSBlbGVtZW50cyBmcm9tIHRoZSB2aWRlbyByZWNvcmRpbmcgYnJhbmNoLCBpbmNsdWRpbmcKCSAgdGhlIHF1ZXVlIGFuZCBjYXBzZmlsdGVyIGluIG9yZGVyIHRvIGNsZWFyIHRoZSBlb3Mgc3RhdGUgYW5kIGFjdGl2YXRlCgkgIHRoZSBwYWRzLgoJICBUaGlzIG1ha2VzIGl0IHBvc3NpYmxlIHRvIHJlY29yZCBtdWx0aXBsZSB2aWRlb3Mgd2l0aCBjYW1lcmFiaW4yIGluIGEKCSAgc2VxdWVuY2UsIG90aGVyd2lzZSB0aGUgc291cmNlIHdvdWxkIGdldCBhIHVuZXhwZWN0ZWQgcmV0dXJuIGFuZAoJICBwdXNoIEVPUywgc3RvcHBpbmcgdGhlIHdob2xlIHBpcGVsaW5lLgoKMjAxMC0xMi0wMyAxMjoxMzowNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCB0ZXN0cyBjYXB0dXJlIGxvY2F0aW9uIGNyZWF0aW9uCgkgIEZpeGVzIGNhcHR1cmUgbG9jYXRpb24gY3JlYXRpb24gdG8gdXNlIG11bHRpZmlsZXNpbmsgbG9jYXRpb24KCSAgbGlrZSBzdHJpbmdzLiBFLmcuIHVzaW5nIGNhcHR1cmVfJWQgaW5zdGVhZCBvZiBjYXB0dXJlXzAgdG8gbGV0CgkgIGNhbWVyYWJpbjIgaGFuZGxlIHRoZSAlZCByZXBsYWNpbmcKCjIwMTAtMTItMDMgMTI6MTI6MzIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IE1vcmUgZGVidWcgbG9ncwoJICBTcHJpbmtsZSBzb21lIG1vcmUgZGVidWdnaW5nIGxvZ3MKCjIwMTAtMTItMDMgMTI6MTE6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi5jOgoJICBleGFtcGxlczogY2FtZXJhYmluMjogUHJpbnQgbW9yZSBpbmZvCgkgIEFkZCBzb21lIHByaW50aW5nIGZvciBlcnJvci9lb3MgY2FzZXMuCgoyMDEwLTEyLTAyIDAzOjQ0OjM3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgY2FtZXJhYmluMjogVmFyaW91cyBmaXhlcwoJICBBcyB2aWRlbyByZWNvcmRpbmcgYmluJ3Mgc3RhdGUgaXMgbG9ja2VkLCB3ZSBzaG91bGQgYWx3YXlzCgkgIHJlbWVtYmVyIG9mIHNldHRpbmcgaXQgdG8gTlVMTCB3aGVuIGNhbWVyYWJpbjIgZ29lcyB0byBOVUxMCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aGVuIHVzaW5nIGVsZW1lbnRzIHRoYXQgbWlnaHQgbm90CgkgIGhhdmUgYmVlbiBjcmVhdGVkIHlldAoJICBBbmQgZG8gbm90IHNldCBsb2NhdGlvbiBwcm9wZXJ0eSByZWN1cnNpdmVseSBvbiB2aWRlb3JlY29yZGluZ2JpbgoKMjAxMC0xMi0wMiAwMzowODo1MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBBZGRpbmcgdGVzdHMgZm9yIGNhbWVyYWJpbjIKCSAgQWRkcyBzb21lIGJhc2ljIHRlc3RzIGZvciBjYW1lcmFiaW4yCgoyMDEwLTEyLTAyIDAyOjIxOjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWNhcHR1cmViaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yZWNvcmRpbmdiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjI6IGFkZHMgdGVzdHMgZm9yIGVsZW1lbnRzCgkgIEFkZHMgYmFzaWMgdGVzdHMgZm9yIGJvdGggaW1hZ2VjYXB0dXJlYmluIGFuZCBmb3IKCSAgdmlkZW9yZWNvcmRpbmdiaW4gZWxlbWVudHMKCjIwMTAtMTItMDIgMDE6MzM6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJICB2aWV3ZmluZGVyYmluOiBJbXByb3ZlIGVsZW1lbnRzIGNyZWF0aW9uCgkgIEJlIG1vcmUgY2FyZWZ1bCB3aXRoIGNsZWFudXAgb2YgZWxlbWVudHMuIEFsc28gYWRkIHNvbWUgbG9ncyBhbmQKCSAgaW1wcm92ZSBkb2NzIGEgbGl0dGxlLgoKMjAxMC0xMi0wMiAwMDoxOTowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW4yOiByZW1vdmUgdW51c2VkIGNvZGUKCSAgR2VuZXJhbCBjbGVhbnVwLCByZW1vdmluZyB1bnVzZWQgYml0cwoKMjAxMC0xMS0zMCAyMDoxMzoyNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RpbWFnZWNhcHR1cmViaW4uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmg6CgkgIGNhbWVyYWJpbjI6IGFkZHMgbG9jYXRpb24gcHJvcGVydHkKCSAgQWRkcyBhIGxvY2F0aW9uIHByb3BlcnR5IHRvIGVuYWJsZSBhcHBsaWNhdGlvbnMgdG8gc2VsZWN0CgkgIHRoZSBjYXB0dXJlZCBmaWxlcyBuYW1lcy4gTG9jYXRpb25zIGFyZSBoYW5kbGVkIGp1c3QgbGlrZQoJICBtdWx0aWZpbGVzaW5rIG9uZXMKCSAgQWxzbyBkaXNhYmxlcyAtV2Zvcm1hdC1ub25saXRlcmFsIHRvIGFsbG93IHRvIHVzZSBub24tbGl0ZXJhbHMKCSAgb24gZ19zdHJkdXBfcHJpbnRmIG9uIGNhbWVyYWJpbiBhbmQgZ2VuZXJhdGUgYSBzZXF1ZW5jZSBvZgoJICBsb2NhdGlvbnMgZm9yIGNhcHR1cmVzLgoKMjAxMC0xMS0zMCAyMDoxNTo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEZpeCBzZXQvZ2V0IHByb3BlcnR5IGZ1bmN0aW9uIG5hbWVzCgkgIEFkZCBtb3JlIGNvbnNpc3RlbmN5IHRvIHRoZSBmdW5jdGlvbiBuYW1lcyBieSB1c2luZwoJICBnc3RfY2FtZXJhX2JpbiBhcyB0aGUgb3RoZXIgZnVuY3Rpb25zLgoKMjAxMC0xMS0zMCAxODoxOToyMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSAgY2FtZXJhYmluMjogSGFuZGxlIHZpZGJpbiBzdGF0ZSBjaGFuZ2UgaW5kaXZpZHVhbGx5CgkgIEtlZXAgdmlkYmluIHN0YXRlIGxvY2tlZCB0byBhdm9pZCBpdCBnb2luZyB0byBwbGF5aW5nIHdpdGhvdXQKCSAgYmVpbmcgdXNlZCBhbmQgbGVhdmluZyBhbiBlbXB0eSBmaWxlIGNyZWF0ZWQuCgkgIENoZWNrIHRoZSBkb2NzIG9uIHRoZSBjb2RlIGZvciBkZXRhaWxzIG9uIHRoZSBoYW5kbGluZy4KCjIwMTAtMTEtMzAgMTE6NDA6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEtlZXAgaXQgdW5kZXIgLS1lbmFibGUtZXhwZXJpbWVudGFsCgkgIGNhbWVyYWJpbjIgaXMgc3RpbGwgdW5kZXIgaGVhdnkgZGV2ZWxvcG1lbnQsIGFjdGl2YXRlIGl0IG9ubHkgaWYKCSAgdGhlIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBmbGFnIGlzIG9uLgoJICBBbHNvIGFkZCBhIG5vdGUgdG8gdGhlIGRvY3MuCgoyMDEwLTExLTMwIDExOjA2OjMzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkIHJlYWR5LWZvci1jYXB0dXJlIHByb3BlcnR5CgkgIEFkZHMgcHJvcGVydHkgdGhhdCBpbmZvcm1zIGlmIHY0bDJjYW1lcmFzcmMgaXMgYXZhaWxhYmxlCgkgIGZvciBzdGFydGluZyBhIG5ldyBjYXB0dXJlLgoJICBJdCBpcyB1c2VmdWwgZm9yIGFwcGxpY2F0aW9ucyB0byBrbm93ICh2aWEgZGVlcC1ub3RpZnkpIHdoZW4gdGhlCgkgIHByb3BlcnR5IGNoYW5nZXMgYW5kIGEgbmV3IGNhcHR1cmUgaXMgcG9zc2libGUuIE5vdGUsIGhvd2V2ZXIsIHRoYXQKCSAgc3RhcnRpbmcgYSBuZXcgY2FwdHVyZSBmcm9tIHRoZSBub3RpZnkgY2FsbGJhY2sgd2lsbCBjYXVzZSBhIGRlYWRsb2NrLgoKMjAxMC0xMS0zMCAwOToyODo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IFVwZGF0ZSB2NGwyY2FtZXJhc3JjIHRvIHVzZSBzdGFydC9zdG9wIHNpZ25hbHMKCSAgUmVtb3ZlcyB0aGUgb2xkIGxvZ2ljIGZvciB2NGwyY2FtZXJhc3JjIHRoYXQgdXNlZCB0aGUgbW9kZQoJICBwcm9wZXJ0eSBzd2l0Y2hpbmcgdG8gc3RhcnQvc3RvcCBjYXB0dXJlcyB0byBtYWtlIGl0IGlkZW50aWNhbAoJICB0byBjYW1lcmFiaW4yIGJlaGF2aW9yIGFuZCB0byBhbGxvdyB0aGUgZnV0dXJlIGFkZGl0aW9uIG9mCgkgIHBhdXNpbmcgYSB2aWRlbyByZWNvcmRpbmcuCgkgIFRoaXMgYWxzbyByZW1vdmVzIHRoZSBNT0RFX1BSRVZJRVcgYXMgaXQgYmVjYW1lIHVzZWxlc3MuCgoyMDEwLTExLTI5IDE4OjUzOjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbjIuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5oOgoJICBjYW1lcmFiaW4yOiBDbGVhbnVwIGNhcHR1cmluZyBmbGFnCgkgIENsZWFudXAgY2FwdHVyaW5nIGZsYWcgd2hlbiB0aGUgc291cmNlIHN3aXRjaGVzIGJhY2sgdG8gdGhlCgkgIHZpZXdmaW5kZXIgbW9kZQoKMjAxMC0xMS0yOSAxODoyNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bm5lY2Vzc2FyeSBwYWRkaW5nCgoyMDEwLTExLTI5IDE1OjQ5OjI2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5oOgoJICB2NGwyY2FtZXJhc3JjOiBJbXBsZW1lbnQgdmlkZW8gY2FwdHVyZQoJICBJbXBsZW1lbnRzIHZpZGVvIGNhcHR1cmUgb24gdjRsMmNhbWVyYXNyYyBieSB1c2luZyB0aGUgbW9kZSBwcm9wZXJ0eSwKCSAgd2hlbiBtb2RlIGlzIHNldCB0byB2aWRlbywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYSBuZXcgc2VnbWVudAoJICBhbmQgc3RhcnRzIHB1c2hpbmcgYnVmZmVycyBvbiB0aGUgcGFkLCB3aGVuIGl0IHRoZSBwcm9wZXJ0eSBpcwoJICBzZW50IGJhY2sgdG8gcHJldmlldywgdGhlIHBhZCBwcm9iZSBwdXNoZXMgYW4gRU9TIGFuZCBzdG9wcwoJICBwdXNoaW5nIGJ1ZmZlcnMuCgkgIFRoaXMgaXMgY29udHJvbGxlZCBieSBhIFJlY29yZGluZyBTdGF0ZSB2YXJpYWJsZSwgdGhhdCBpcyBwcm90ZWN0ZWQKCSAgYnkgdGhlIEdTVF9PQkpFQ1RfTE9DSy4gSSBkb24ndCB0aGluayBsb2NraW5nIGZvciBldmVyeSBidWZmZXIgaXMKCSAgbmljZSwgc28gd2UgY291bGQgZmluZCBhbiBhbHRlcm5hdGl2ZSBsb2NrbGVzcyB3YXkgaGVyZS4KCjIwMTAtMTEtMjkgMTI6NTc6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICB2NGwyY2FtZXJhc3JjOiBGaXggaW1hZ2UgY2FwdHVyZQoJICBPbmNlIGEgaW1hZ2UgaXMgY2FwdHVyZWQsIHY0bDJjYW1lcmFzcmMgc2hvdWxkIHJldHVybiB0byB0aGUKCSAgcHJldmlldyBtb2RlIGFuZCBzdG9wIGNhcHR1cmluZy4KCjIwMTAtMTEtMjkgMTE6MzE6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluLWVudW0uYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJICBjYW1lcmFiaW4yOiBLZWVwIG1vZGUgZGVmaW5pdGlvbiBhdCAtZW51bSBmaWxlCgkgIFVzZSAnbW9kZScgZW51bSBkZWZpbml0aW9uIGZyb20gZ3N0Y2FtZXJhYmluLWVudW0gZmlsZSB0byBhdm9pZAoJICBjb25mbGljdHMgYmV0d2VlbiB2NGwyY2FtZXJhc3JjIGFuZCBnc3RjYW1lcmFiaW4yIG1vZGVzLgoJICBGb3Igbm93IHRoZXJlIGlzIGEgTU9ERV9QUkVWSUVXIHRoZXJlIHRoYXQgaXMgb25seSB1c2VkIG9uIHRoZQoJICBjYW1lcmFzcmMsIG5vdCBzdXJlIGlmIHdlIGFyZSBrZWVwaW5nIGl0IGF0IHRoZSBmdXR1cmUsIGJ1dCBmb3IKCSAgbm93IHRoaXMgd29ya3MuCgoyMDEwLTExLTI5IDEwOjQ2OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgdjRsMmNhbWVyYXNyYzogQWRkcyBtb2RlIHByb3BlcnR5CgkgIEFkZHMgbW9kZSBwcm9wZXJ0eSB0byB2NGwyY2FtZXJhc3JjCgoyMDEwLTExLTI5IDEwOjQ1OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbjIvY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMKCSAgQWRkaW5nIGRlYnVnIGNhdGVnb3JpZXMgdG8gdjRsMmNhbWVyYXNyYyBhbmQgY2FtZXJhYmluMiwgYWxzbwoJICByZW1vdmluZyBnZW5lcmljIGNhdGVnb3J5IGZyb20gY2FtZXJhYmluZ2VuZXJhbC4KCjIwMTAtMTEtMjYgMjM6NTU6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4yL2dzdC1jYW1lcmEyLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbjIvZ3N0LWNhbWVyYTIuaDoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluMi9nc3QtY2FtZXJhMi51aToKCSAgZXhhbXBsZXM6IEFkZHMgY2FtZXJhYmluMiBleGFtcGxlCgkgIEFkZHMgZ3RrIGNhbWVyYWJpbjIgZXhhbXBsZSBhcHAKCjIwMTAtMTEtMjYgMTc6MjQ6NTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBwcm9wZXJ0eSBhbmQgc2lnbmFscwoJICBBZGRzIG1vZGUgcHJvcGVydHkgdG8gY2FtZXJhYmluMiwgYWxsb3dpbmcgdXNlcnMgdG8KCSAgc2VsZWN0IGJldHdlZW4gdmlkZW8gYW5kIHN0aWxscyBjYXB0dXJlLiBBbHNvIGFkZHMKCSAgc3RhcnQvc3RvcCBjYXB0dXJlIGFjdGlvbnMgdG8gdHJpZ2dlciBhbmQgc3RvcAoJICBjYXB0dXJpbmcKCjIwMTAtMTEtMjYgMTU6NTU6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZGVvcmVjb3JkaW5nYmluLmM6CgkgIGNhbWVyYWJpbjI6IFNldCBmaWxlc2luaydzIGFzeW5jIHRvIEZBTFNFCgkgIEluIG9yZGVyIHRvIHByZXJvbGwsIGNhbWVyYWJpbjIgc2hvdWxkIGhhdmUgaXRzIGZpbGVzaW5rcyBpbgoJICB0aGUgaW1hZ2VjYXB0dXJlYmluIGFuZCB2aWRlb3JlY29yZGluZ2JpbiB3aXRoIGFzeW5jPUZBTFNFLgoKMjAxMC0xMS0yNiAxNDo1MTozMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmM6CgkgIGNhbWVyYWJpbjI6IEFkZGluZyBiYXNpYyBlbGVtZW50cwoJICBJbnN0YW50aWF0aW5nIGFuZCBsaW5raW5nIGJhc2ljIGVsZW1lbnRzIG9uIGNhbWVyYWJpbjIKCSAgc28gaXQgYXQgbGVhc3Qgc2hvd3MgdGhlIHZpZXdmaW5kZXIgd2hlbiBydW5uaW5nLgoKMjAxMC0xMS0yNiAxMDoxNDo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0Y2FtZXJhYmluMi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RjYW1lcmFiaW4yLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJICBjYW1lcmFiaW4yOiBBZGRzIGEgc3R1YiBlbGVtZW50IGZvciBjYW1lcmFiaW4yCgkgIEFkZHMgY2FtZXJhYmluMiBlbGVtZW50LCBpdCBpcyBub3cgYSBwaWxlIG9mIHN0dWJzLgoKMjAxMC0xMS0yNSAyMjowNTozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgkgIFJlbW92ZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb2RlCgoyMDEwLTExLTI1IDIxOjQ5OjQ3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdGJhc2VjYW1lcmFzcmMuYzoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJICBjYW1lcmFiaW4yOiBSZW1vdmluZyB1bmVlZGVkIHByb3BlcnRpZXMKCSAgUmVtb3ZpbmcgdW5lZWRlZCBhbmQgdW5yZWdpc3RlcmVkIHByb3BlcnRpZXMuCgoyMDEwLTExLTI1IDIwOjU1OjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuYzoKCSAgY2FtZXJhYmluMjogdjRsMmNhbWVyYXNyYzogRml4IHByb3BlcnR5IHdhcm5pbmcKCSAgQXZvaWQgc2V0dGluZyBhIHByb3BlcnR5IHRoYXQgZG9lc24ndCBleGlzdC4KCjIwMTAtMTEtMjUgMjA6NTM6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0djRsMmNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmg6CgkgIGNhbWVyYWJpbjI6IHY0bDJjYW1lcmFzcmM6IFJlbW92ZSB1bnVzZWQgdmFyaWFibGUKCSAgUmVtb3ZlZCB1bnVzZWQgbGVmdG92ZXIgdmFyaWFibGUKCjIwMTAtMTEtMjUgMTQ6NTc6MTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWRlb3JlY29yZGluZ2Jpbi5oOgoJICBjYW1lcmFiaW4yOiBBZGRzIHZpZGVvIHJlY29yZGluZyBiaW4KCSAgQWRkcyBhbiBiaW4gdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZW5jb2RpbmcgYW5kIHNhdmluZyB2aWRlbwoJICBzdHJlYW1zIHRvIGZpbGVzLgoJICBGb3Igbm93IGl0IGlzIHNpbXBseSBhIGZmbXBlZ2NvbG9yc3BhY2UgISB0aGVvcmFlbmMgISBvZ2dtdXggIQoJICBmaWxlc2luayBiaW4uCgkgIFN0aWxsIHVuY2FwYWJsZSBvZiByZWNvcmRpbmcgYXVkaW8uCgoyMDEwLTExLTI1IDEzOjAwOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4yL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluMi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0YmFzZWNhbWVyYXNyYy5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RiYXNlY2FtZXJhc3JjLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2NGwyY2FtZXJhc3JjLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHY0bDJjYW1lcmFzcmMuaDoKCSAgY2FtZXJhYmluMjogQWRkaW5nIHY0bDJjYW1lcmFzcmMgZnJvbSByb2JjbGFyaydzIGJyYW5jaAoJICBBZGRzIDMtcGFkIHY0bDIgY2FtZXJhIHNvdXJjZSBmcm9tIFJvYiBDbGFyaydzIGNhbWVyYWJpbgoJICBicmFuY2ggb24gaHR0cDovL2dpdG9yaW91cy5vcmcvcm9iY2xhcmstZ3N0cmVhbWVyL2dzdC1wbHVnaW5zLWJhZAoKMjAxMC0xMS0yNCAyMDozMTozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0aW1hZ2VjYXB0dXJlYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdGltYWdlY2FwdHVyZWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluMi9nc3RwbHVnaW4uYzoKCSAgY2FtZXJhYmluMjogQWRkcyBuZXcgaW1hZ2VjYXB0dXJlYmluCgkgIEFkZHMgYW4gYmluIHRoYXQgaXMgcmVzcG9uc2libGUgZm9yIGltYWdlIGNhcHR1cmVzLgoJICBJdCBpcyBhIHNpbXBsZSBmZm1wZWdjb2xvcnNwYWNlICEganBlZ2VuYyAhIGppZm11eCAhIG11bHRpZmlsZXNpbmsKCSAgZm9yIG5vdy4KCjIwMTAtMTEtMjQgMjA6MTU6MzggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbjIvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHBsdWdpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4yL2dzdHZpZXdmaW5kZXJiaW4uaDoKCSAgY2FtZXJhYmluMjogTW92ZSBwbHVnaW4gaW5pdCB0byBhIHNlcGFyYXRlIGZpbGUKCSAgTW92ZXMgcGx1Z2luIGluaXQgdG8gZ3N0cGx1Z2luLmMgdG8gYWxsb3cgbXVsdGlwbGUKCSAgZWxlbWVudHMgdG8gcmVnaXN0ZXIgdGhlbXNlbHZlcy4KCjIwMTAtMTEtMjQgMTc6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY2FtZXJhYmluMi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbjIvZ3N0dmlld2ZpbmRlcmJpbi5jOgoJKiBnc3QvY2FtZXJhYmluMi9nc3R2aWV3ZmluZGVyYmluLmg6CgkgIGNhbWVyYWJpbjI6IHZpZXdmaW5kZXJiaW46IEFkZHMgdmlld2ZpbmRlcmJpbiBlbGVtZW50CgkgIEFkZHMgdmlld2ZpbmRlciBiaW4gZWxlbWVudCwgb25lIG9mIHRoZSBtb2R1bGVzIG9mIGNhbWVyYWJpbjIKCSAgdGhhdCBpcyByZXNwb25zaWJsZSBmb3IgZGlzcGxheWluZyB0aGUgdmlkZW8gZnJvbSB0aGUgY2FtZXJhLgoJICBGb3Igbm93IGl0IGlzIG9ubHkgYSBiaW4gd2l0aCBmZm1wZWdjb2xvcnNwYWNlICEgdmlkZW9zY2FsZSAhCgkgIGF1dG92aWRlb3NpbmsKCjIwMTAtMTItMDggMTk6MzY6NDggKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1NYLgoKMjAxMC0xMS0yNCAxMjoyMjowMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgb3V0cHV0LXNlbGVjdG9yLXRlc3Q6IGRvbid0IGhhcmRjb2RlIHZpZGVvc2lua3MgYW5kIHVzZSBtb3JlIGNvbG9yc3BhY2UgY29udi4KCSAgVXNlIGF1dG92aWRlb3NpbmsgaW5zdGVhZCBvZiBoYXJkY29kZWQgc2lua3MuIFVzZSBhbiBhZGRpdGlvbmFsIGNvbG9yc3BhY2UKCSAgY29udmVydGVyIGJldHdlZW4gdmlkZW90ZXN0c3JjIGFuZCB0aW1lb3ZlcmxheS4KCjIwMTAtMTItMDggMTU6MTg6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZS9iYXNlIGluc3RlYWQgb2Ygb2xkIGdpdAoKMjAxMC0xMi0wNyAxNTo0NDowMCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IHJlLXVzZSBjbGVhbnVwKCkgaW4gZmluYWxpemUoKQoJICAuLi4gYW5kIGFsc28gZmF2b3IgZmluYWxpemUoKSByYXRoZXIgdGhhbiBkaXNwb3NlKCkuCgoyMDEwLTExLTE4IDEzOjM5OjIzICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogU2V0IHNyY3BhZCBjYXBzIGJlZm9yZSBmb3J3YXJkaW5nIG5ld3NlZ21lbnQKCSAgVGhpcyBob2xkcyBhbGwgbmV3c2VnZW1lbnQgYW5kIG1vc3Qgb3RoZXIgZXZlbnRzIHRpbGwgdGhlcmUgaXMgZW5vdWdoCgkgIGRhdGEgdG8gc2V0IHNyY3BhZCBjYXBzLCBzbyB0aGF0IHRoZSBkb3duc3RyZWFtIGxpbmsgaXMgcHJvcGVybHkKCSAgbmVnb3RpYXRlZCBiZWZvcmUgZGF0YSBzdGFydHMgZmxvd2luZy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwNAoKMjAxMC0xMS0xOCAyMzoyOTo1MSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOgoJICBtcGVnNHZpZGVvcGFyc2U6IFVzZSBzaW5rcGFkIGNhcHMgYXMgYmFzZSBmb3Igc3JjcGFkIGNhcHMKCSAgVGhpcyB3YXksIHdlIGRvbid0IGxvc2UgYWRkaXRpb25hbCBmaWVsZHMgdGhhdCBjb21lIGZyb20gdXBzdHJlYW0gKGxpa2UKCSAgcHJvZmlsZS9sZXZlbCBmb3Igbm93KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNToyMDoyOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IG1pbm9yIGZpeCB0byBlcnJvciBoYW5kbGluZwoJICBXZSB3ZXJlbid0IGhhbmRsaW5nIHVucGFyc2VhYmxlIGNvZGVjX2RhdGEgaW4gc29tZSBjYXNlcy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTIwMgoKMjAxMC0xMi0wNyAxNzoxNzo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBuZWFyZXN0IG5laWdoYm91ciBzY2FsaW5nIGZvciB0aGUgc3VicGljdHVyZXMKCSAgVGhpcyBiZWNvbWVzIG5lY2Vzc2FyeSB3aGVuIFNEVFYgc3VidGl0bGVzIGFyZSB1c2VkIGZvciBIRFRWIHZpZGVvcy4KCjIwMTAtMTItMDcgMTQ6NTU6MjggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbGlnbiBjb2RlIHdpdGggY29tbWVudAoKMjAxMC0xMi0wNyAxNDo1NToxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlLXVzZSByZXNldCgpIGluIGZpbmFsaXplKCkKCjIwMTAtMTEtMTcgMTk6MTY6MTIgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTZXQgc3JjcGFkIGNhcHMgYmVmb3JlIGZvcndhcmRpbmcgbmV3c2VnbWVudAoJICBUaGlzIGhvbGRzIGFsbCBuZXdzZWdlbWVudCBhbmQgbW9zdCBvdGhlciBldmVudHMgdGlsbCB0aGVyZSBpcyBlbm91Z2gKCSAgZGF0YSB0byBzZXQgc3JjcGFkIGNhcHMsIHNvIHRoYXQgdGhlIGRvd25zdHJlYW0gbGluayBpcyBwcm9wZXJseQoJICBuZWdvdGlhdGVkIGJlZm9yZSBkYXRhIHN0YXJ0cyBmbG93aW5nLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM1MjA1CgoyMDEwLTEyLTA2IDE5OjAwOjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHRyeSB0byBjb252ZXJ0IGNvbW1lbnQgdGFnIHRvIFVURi04CgoyMDEwLTEyLTA2IDE4OjE5OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGRpc2NhcmQgaW5jb21wbGV0ZSBpbWFnZQoJICAuLi4gYXMgZGV0ZXJtaW5lZCB3aGVuIGZpbmRpbmcgU09JIG5leHQgaW1hZ2UgYmVmb3JlIGFuIEVPSS4KCjIwMTAtMTItMDYgMTg6MTg6MTEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogYXZvaWQgaW5maW5pdGUgbG9vcCB3aGVuIHJlc3luY2luZwoKMjAxMC0xMi0wNiAyMjo0ODowOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBBbGxvdyBpbXBsaWNpdCBjaGFubmVsIG1hcCBmb3IgMS0vMi1jaGFubmVsIGF1ZGlvCgkgIFRoaXMgbWFrZXMgc3VyZSB3ZSBkb24ndCBzZXQgYW4gZW1wdHkgY2hhbm5lbCBtYXAgYXJyYXkgZm9yIDEtLzItY2hhbm5lbAoJICBhdWRpbywgY2F1c2luZyBhbiBhc3NlcnQgbGF0ZXIgb24uCgoyMDEwLTEyLTA2IDE3OjA4OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmV2ZXJ0IHNvbWUgcGFydHMgb2YgbGFzdCBjb21taXQgdGhhdCBzaG91bGRuJ3QgYmUgY29tbWl0dGVkCgoyMDEwLTEyLTA2IDE3OjA1OjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogUmVhbGx5IGNob29zZSB0aGUgbGF0ZXN0IHBvc3NpYmxlIHN1YnBpY3R1cmVzCgkgIEFuZCBub3QgdGhlIGZpcnN0IHN1YnBpY3R1cmVzIHRoYXQgYXJlIHN0aWxsIHZhbGlkIGFjY29yZGluZyB0byB0aGUKCSAgcGFnZSB0aW1lb3V0LgoKMjAxMC0xMi0wNiAxNjo0NDoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFJlZmFjdG9yIGJsZW5kaW5nIGZ1bmN0aW9uIGFuZCB0YWtlIGF2ZXJhZ2Ugb2YgYWxsIGNocm9tYSB2YWx1ZXMKCjIwMTAtMTItMDMgMTc6MzU6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXByb3ZlIHNlbGVjdGlvbiBvZiBjdXJyZW50IHRvIGJlIGRpc3BsYXllZCBzdWJwaWN0dXJlcwoJICBEcm9wIGFsbCBzdWJwaWN0dXJlcyB0aGF0IGFyZSB0b28gb2xkIGFueXdheSBhbmQgY2xlYXIgdGhlIGN1cnJlbnRseQoJICBkaXNwbGF5ZWQgc3VicGljdHVyZXMgaWYgbnVtX3JlY3RzPT0wIGhhcHBlbnMuCgoyMDEwLTEyLTAzIDE2OjIxOjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogSW1wbGVtZW50IGNsaXBwaW5nIG9mIHZpZGVvIGJ1ZmZlcnMKCSAgQWxzbyBkb24ndCBjbGlwIHN1YnBpY3R1cmUgYnVmZmVycywgdGhleSBoYXZlIG5vIGR1cmF0aW9uIGFuZAoJICBjbGlwcGluZyB0aGVtIGRvZXNuJ3QgbWFrZSBtdWNoIHNlbnNlIGhlcmUuCgoyMDEwLTEyLTAzIDE2OjA4OjEzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBDbGVhbiB1cCBsb2NraW5nIHNvbWUgbW9yZQoKMjAxMC0xMi0wMyAxNjowNTo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZsdXNoIHN1YnRpdGxlcyBhbmQgYWxsIGludGVybmFsIHN0YXRlIHdoZW4gbmVlZGVkCgoyMDEwLTEyLTAzIDE1OjUyOjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogU2V0IHRoZSBnbG9iYWwgbGlicmFyeSBsb2cgZnVuY3Rpb24gZXhhY3RseSBvbmNlCgkgIEFuZCBkb24ndCB1c2Ugb25lIG9mIHRoZSBwb3NzaWJseSBtYW55IHJlbmRlcmVyIGluc3RhbmNlcywgdGhpcyBpcyBvbmx5CgkgIGNhbGxpbmcgZm9yIGNyYXNoZXMuCgoyMDEwLTEyLTAzIDE1OjQ2OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgbG90cyBvZiBjb21tZW50ZWQgb3V0IGFuZCB1bnVzZWQgY29kZSBhbmQgY2xlYW4gdXAgbG9ja2luZwoKMjAxMC0xMi0wMSAwOTo1OToxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEZpeCBtb3JlIG9mIHRoZSBibGVuZGluZywgc28gaXQgbG9va3MgcXVpdGUgZ29vZCBub3cKCSAgKiBsaWJkdmJzdWIgZ2l2ZXMgdXMgYWxwaGEgY2hhbm5lbCBhbHJlYWR5LCBub3QgdHJhbnNwYXJlbmN5IGxldmVsLCBzbwoJICBkb24ndCBkbyBhbm90aGVyICJhbHBoYSA9IDI1NSAtIGFscGhhIiwgdGhpcyBpcyBkb25lIGJ5IGxpYmR2YnN1Yi4KCSAgKiBGaXggYWxwaGEgY2hhbm5lbCBoYW5kbGluZyBpbiBpbnRlcnBvbGF0aW9uIC0gYXNzcmVuZGVyIGhhZCBhbiBhZGRpdGlvbmFsCgkgIDFicHAgYWxwaGEgYml0bWFwIGFzIGEgcG9zc2libGUgbWFzaywgd2UgZG9uJ3QuIFNvIGRvbid0IHVzZSB0aGUgcGFsZXR0ZQoJICBpbmRleCBhcnJheSBhcyBhbHBoYSB2YWx1ZXM7IGJ1ZyBmcm9tIHF1aWNrIGNvZGUgcG9ydGluZyBsb25nIGFnbyB0bwoJICBjaGFuZ2luZyBwaXhlbCBjb2xvcnMgKGFzc3JlbmRlciBoYXMgYSBzaW5nbGUgcGl4ZWwgY29sb3IgZm9yIHdob2xlCgkgIHJlZ2lvbnMgb3Igc29tZXRoaW5nLCB1bmxpa2UgZHZic3ViLCB3aGljaCBoYXMgaW5kZXhlZCBjb2xvcnMpLgoJICAqIERvbid0IGZvcmdldCB0byByZWFzc2lnbiBvdXIgWVVWIGFuZCBvdGhlciBsb2NhbCBwaXhlbCBjb2xvciB2YXJpYWJsZXMKCSAgYWZ0ZXIgc2hpZnRpbmcgdG8gd29yayBvbiB0aGUgYm90dG9tIHBhcnQgb2YgYSAyeDIgc3Vic2FtcGxlIGJsb2NrLCBvcgoJICBpdCdzIG9idmlvdXNseSB2ZXJ5IGJsb2NreS4KCSAgUmVtYWluaW5nIGlzc3VlcyBpbiBibGVuZGluZzoKCSAgKiBTaG91bGQgcHJvYmFibHkgYmUgaW50ZXJwb2xhdGluZyBvciBkb2luZyBzb21ldGhpbmcgZWxzZSB1c2VmdWwgd2l0aCB0aGUKCSAgcmVzdWx0aW5nIFUgYW5kIFYgY2hhbm5lbHMsIHNvIHRoYXQgbW9zdCBvZiB0aGUgc291cmNlIHBpeGVsIFVWIHZhbHVlcyB3b3VsZAoJICBhY3R1YWxseSBiZSBhY3R1YWxseSBjYXJlZCBhYm91dCwgZXhjZXB0IGZvciBqdXN0IG9uZSBvdXQgb2YgcG9zc2libHkgZm91ci4KCSAgKiBEb24ndCBjb252ZXJ0IEFZVVYgdG8gQVJHQiBpbiBsaWJkdmJzdWIsIGFuZCB0aGVuIGJhY2sgZnJvbSBBUkdCIHRvIEFZVVYgaW4KCSAgZHZic3Vib3ZlcmxheSBmb3Igbm8gcmVhc29uCgkgICogUmUtZmFjdG9yIHRoZSB3aG9sZSB0aGluZyB0byBzb21ldGhpbmcgbW9yZSBsaWtlIHRleHRvdmVybGF5IGJsZW5kaW5nCgkgICogUmVsYXRlZCB0byB0aGF0LCBwZXJoYXBzIGNhY2hlIHRoZSBjdXJyZW50IHNwdSBpbiBhIGdvb2QgZm9ybWF0IGZvciBxdWljawoJICBibGVuZGluZyBvbiBlYWNoIGZyYW1lLCBhZnRlciB3aGljaCB0aGUgbW9yZSBvZnRlbiBjYWxsZWQgYmxlbmRpbmcgcGFydHMKCSAgbWlnaHQgYmVjb21lIG1vcmUgc3RyYWlnaHRmb3J3YXJkCgoyMDEwLTEyLTAxIDA3OjI2OjAzICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSAgZHZic3Vib3ZlcmxheTogRml4IGJsZW5kaW5nIGJ1ZyByZWdhcmRpbmcgY29sb3IgY2hhbm5lbCBhZGRyZXNzaW5nLgoJICBsaWJkdmJzdWIgZ2l2ZXMgdXMgQVJHQiBvcmRlcmVkIHBpeGVscyByaWdodCBub3csIG5vdCBSR0JBLgoKMjAxMC0xMi0wMSAwNzoyMDowNyArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IERvIGJsZW5kaW5nIGNhbGxzIHdoZW4gYXBwcm9wcmlhdGUKCSAgVGhpcyBnaXZlcyB1cyBhY3R1YWxseSBzaG93biBzdWJ0aXRsZXMsIGhvd2V2ZXIgd2l0aCBidWdzIGluIHRoZQoJICBjdXJyZW50IGJsaXR0aW5nIGNvZGUsIHJlc3VsdGluZyBpbiB2ZXJ5IHRyYW5zcGFyZW50IHN1YnRpdGxlcy4KCjIwMTAtMTItMDEgMDc6MDY6MzUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBJbXBsZW1lbnQgZmFsbGJhY2sgcGFnZV90aW1lX291dCBob25vcmluZwoJICBUaGUgc3BlYyBoYXMgYSBwYWdlX3RpbWVfb3V0IGluIHRoZSBwYWdlIGNvbXBvc2l0aW9uIHNlZ21lbnQgdG8gZW5zdXJlCgkgIHN1YnRpdGxlcyBkb24ndCBnZXQgc3R1Y2sgb24gc2NyZWVuIGZvciB0b28gbXVjaCBsb25nZXIgdGhhbiBpbnRlbmRlZCwKCSAgd2hlbiBmdXR1cmUgcGFnZSBjb21wb3NpdGlvbiBzZWdtZW50cyBnZXQgbG9zdCBvbiBiYWQgcmVjZXB0aW9uLCBvciBvdGhlcgoJICBwcm9ibGVtcy4gSG9ub3IgaXQgaW4gdGhlIGdzdCBwbHVnaW4gc2lkZS4KCjIwMTAtMTItMDEgMDY6MDE6MTUgKzAyMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5Lmg6CgkgIGR2YnN1Ym92ZXJsYXk6IEltcGxlbWVudCBzdWJ0aXRsZSBxdWV1ZWluZyBhbmQgc3luY2luZyB3aXRoIHZpZGVvCgkgIFB1c2ggaW5jb21pbmcgc3VidGl0bGUgcGFnZXMgaW4gYSBGSUZPIHF1ZXVlIChwZW5kaW5nX3N1YnRpdGxlcykKCSAgYW5kIGRlcXVldWUgdGhlIGhlYWQgd2hlbiBpdCdzIHRpbWUgdG8gc2hvdyBpdCAod2hlbiB2aWRlbyBydW5uaW5nCgkgIHRpbWUgcmVhY2hlcyB0aGUgc3VidGl0bGUgcGFnZSBydW5uaW5nIHRpbWUpLgoJICBLZWVwIHRoZSBzdWJ0aXRsZSBwYWdlLCB0aGF0IGlzIHN1cHBvc2VkIHRvIGJlIGJsZW5kZWQgb24gdG9wIG9mIHZpZGVvCgkgIGN1cnJlbnRseSwgaW4gYSBzZXBhcmF0ZSBvYmplY3QgdmFyaWFibGUgKGN1cnJlbnRfc3VidGl0bGUpLiBBcyBhCgkgIG5leHQgc3RlcCB3ZSBjYW4gdGhlbiBwcmUtcmVuZGVyIGN1cnJlbnRfc3VidGl0bGUgdG8gYSBiZXR0ZXIgdG8gYmxlbmQKCSAgZm9ybWF0LgoKMjAxMC0xMi0wMSAwNTo0OToyMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IE1ha2UgdGhlIG5ldyBkdmJfc3VidGl0bGVzX2ZyZWUoKSBhY2NlcHQgTlVMTAoJICBEb24ndCBjcmFzaCBpZiBkdmJfc3VidGl0bGVzX2ZyZWUoTlVMTCkgZ2V0cyBwYXNzZWQsIGxpa2UgbW9zdCBvdGhlcgoJICAqX2ZyZWUgZnVuY3Rpb25zIGFyZSBoYXBweSB3aXRoLgoKMjAxMC0xMi0wMSAwNToyNjowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5jOgoJICBkdmJzdWJvdmVybGF5OiBQYXNzIHBhZ2VfdGltZV9vdXQgYW5kIHB0cyB3aXRoIHRoZSBEVkJTdWJ0aXRsZXMgc3RydWN0dXJlCgkgIEVhc2VzIGhvbGRpbmcgb250byB0aGUgaW5mb3JtYXRpb24gaW4gZ3N0IHBsdWdpbnMgc2lkZSBxdWV1ZSBvZgoJICBEVkJTdWJ0aXRsZXMsIHNvIHdlIHdvbid0IG5lZWQgdG8gY3JlYXRlIHlldCBhbm90aGVyIHRlbXBvcmFyeSBzdHJ1Y3QKCSAgdG8ga2VlcCB0aGUgcHRzIGFuZCBwYWdlX3RpbWVfb3V0IHRvby4KCSAgQW5kIHRoaXMgcmVhbGx5IGxvZ2ljYWxseSBiZWxvbmdzIGF0IHRoZSB0b3BsZXZlbCBpbmZvcm1hdGlvbiBzZXQgYW55d2F5CgkgIGFuZCBpbiB0aGF0IHN0cnVjdC4uLgoKMjAxMC0xMi0wMSAwNDoyODowMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuaDoKCSAgZHZic3Vib3ZlcmxheTogTWFrZSB0aGUgbGliZHZic3ViIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwCgkgIFdlIHdhbnQgdG8gYWxsb3cgcXVldWVpbmcgb2YgcmF3IHJlZ2lvbiBpbWFnZSBkYXRhIGluIHRoZSBnc3QgcGx1Z2luIHNpZGUsCgkgIGFuZCBrZWVwIHRoZSBkYXRhIGFyb3VuZCB1bnRpbCB3ZSBwb3AgdGhlIGl0ZW0gZnJvbSB0aGUgcXVldWUuIFNvIG1ha2UKCSAgdGhlIGNhbGxiYWNrIGhhbmRsZXIgcmVzcG9uc2libGUgZm9yIG1lbW9yeSBjbGVhbnVwLCBpZiBvbmUgaXMgaW5zdGFsbGVkLgoKMjAxMC0xMS0zMCAwNDo0NTo1NCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9nc3RkdmJzdWJvdmVybGF5LmM6CgkgIGR2YnN1Ym92ZXJsYXk6IFdvcmsgd2l0aCBHc3RDbG9ja1RpbWUgaW5zdGVhZCBvZiBQVFMgZm9yIHN1YnRpdGxlIHRpbWluZwoJICBBYnVzZSBsaWJkdmJzdWIgUFRTIHRyYWNraW5nIHRvIGp1c3Qgc3RvcmUgb3VyIHJ1bm5pbmcgdGltZSBpbiBpdCwgdG8gZ2V0CgkgIGl0IGJhY2sgaW4gdGhlIGNhbGxiYWNrcy4gQXMgR1N0cmVhbWVyIGRvZXMgaXRzIG93biBQVFMgaGFuZGxpbmcgYmVoaW5kIG91cgoJICBiYWNrIChlc3BlY2lhbGx5IGZvciB2aWRlbyksIHdlIHNob3VsZCBqdXN0IHN5bmMgd2l0aCB2aWRlbyBwZXIgcnVubmluZyB0aW1lLAoJICBub3QgdHJ5IHRvIGRvIGl0IHdpdGggUFRTLCB3aGljaCBkb2Vzbid0IHNlZW0gd2VsbCBhY2Nlc3NpYmxlIGZvciB2aWRlbyBjaGFpbi4KCSAgV2UgY2FuIGxhdGVyIHJlbGFiZWwgZHZiLXN1Yi5jIHB0cyBuYW1pbmcgY29udmVudGlvbiBpZiB3YW50ZWQsIGl0J3MganVzdAoJICBwYXNzaW5nIGFsb25nIGd1aW50NjQgdmFsdWVzLCB3aGljaCBHc3RDbG9ja1RpbWUgZm9ydHVuYXRlbHkgaXMgdG9vLgoJICBUaGUgY3VycmVudCBpZGVhIGlzIHRvIGNvbGxlY3QgdGhlIHJlZ2lvbnMgcmV0dXJuZWQgYnkgdGhlIGNhbGxiYWNrIGludG8KCSAgYSBGSUZPIGJ1ZmZlciBhbmQgcG9wIGFuZCBwcmUtcmVuZGVyIHRoZSB0b3Agb25lIGludG8gYSBzZXBhcmF0ZQoJICBxdWljay10by1ibGVuZCBjYWNoZWQgZm9ybWF0LCB3aGljaCBpcyB0aGVuIGFwcHJvcHJpYXRlbHkgYmxlbmRlZCBpbiB0aGUKCSAgdmlkZW8gY2hhaW4gdW50aWwgdGhlIG5leHQgb25lIG9uIHRvcCBvZiB0aGUgc3RhY2sgcmVhY2hlcyB0aGUgdmlkZW8gY2hhaW5zCgkgIHJ1bm5pbmcgdGltZSAob3IgdGhlIGZhbGxiYWNrIHRpbWVyIGhpdHMpLgoKMjAxMC0xMS0zMCAwMzo1NjozMiArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmM6CgkgIGR2YnN1Ym92ZXJsYXk6IEFkZCBGSVhNRSBub3RlIGFib3V0IG5vbi1jb25zdGFudCBQVFMgZm9yIGEgZGlzcGxheSBzZXQgaGFuZGxpbmcuCgoyMDEwLTExLTMwIDAzOjQ3OjQ2ICswMjAwICBNYXJ0IFJhdWRzZXBwIDxtYXJ0LnJhdWRzZXBwQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L2R2Yi1zdWIuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5oOgoJICBkdmJzdWJvdmVybGF5OiBSZW1vdmUgZHZiX3N1Yl9mZWVkKCkgQVBJCgkgIEdTdHJlYW1lciB3aWxsIG9ubHkgdXNlIGR2Yl9zdWJfZmVlZF93aXRoX3B0cywgYXMgaXQgaGFzIGl0cyBvd24gUEVTIGZpbHRlcgoJICB0byBkbyB0aGUgaGVhZGVyIHBhcnNpbmcuCgoyMDEwLTExLTI5IDIwOjU1OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmJzdWJvdmVybGF5L1RPRE86CgkgIGR2YnN1Ym92ZXJsYXk6IG1vcmUgVE9ETwoKMjAxMC0xMS0yOSAyMDoxMDoxNyArMDAwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGdzdG1wZWd0c2RlbXV4OiBhZGQgdGVtcG9yYXJ5ICoqSEFDSyoqIGZvciBkdmIgc3VicyB0ZXN0aW5nIHNvIGR2YnN1Ym92ZXJsYXkgZ2V0cyB3aG9sZSBwYWNrZXRzCgkgIDx0cG0+IGxlaW8sIHdoYXQncyB0aGUgbXBlZ3RzIGRlbXV4IGhhY2sgYWJvdXQ/CgkgIDxsZWlvPiBteSBsaWJkdmJzdWIgY29kZSBjYW4ndCBoYW5kbGUgY3V0IHBhY2tldHMKCSAgPGxlaW8+IHNvIHRoZSBoYWNrIGluc3RydWN0cyB0aGUgZGVtdXhlciB0byBnYXRoZXIgZnVsbCBwYWNrZXRzIGJlZm9yZSBwdXNoaW5nIGRvd24sIGJ1dCBpdCBhcHBsaWVzIHRoYXQgdG8gbW9yZSBQRVMgcGFja2V0IHR5cGVzIHRoYW4ganVzdCBkdmJzdWIsIGJ1dCBJJ20gbm90IHN1cmUgaWYgdGhhdCdzIGEgYmFkIHRoaW5nCgkgIDxsZWlvPiBlaXRoZXIgd2F5LCBuZWVkcyBhIGNsZWFuZXIgc29sdXRpb24sIGVpdGhlciBpbiBkZW11eGVyLCBvciBJIG5lZWQgdG8gaGFuZGxlIGN1dCBwYWNrZXRzCgkgIDx0cG0+IG9rLCBidXQgcmVhbGx5IGl0IHNob3VsZCBiZSBmaXhlZCBpbiB0aGUgb3ZlcmxheSwgcmlnaHQ/CgkgIDx0cG0+IG9yIGEgcGFyc2VyIGJlIGluc2VydGVkCgkgIDxsZWlvPiB0aGUgcHJvYmxlbSBpcyB0aGF0IEkgZG9uJ3Qga25vdyBmcm9tIHRoZSBmaXJzdCBwYWNrZXQgYmVmb3JlaGFuZCBpZiBpdCBpcyBhIGN1dCBvbmUgb3Igbm8KCSAgPGxlaW8+IG5vdAoJICA8bGVpbz4gZXJyLCBmaXJzdCBidWZmZXIKCSAgPGxlaW8+IGp1c3Qgd2hlbiBJIHJlY2VpdmUgdGhlIG5leHQgb25lIEkgc2VlIGlmIGl0IGhhcyBhIHZhbGlkIHRpbWVzdGFtcCBvbiBpdCBvciBub3QKCSAgPGxlaW8+IHNvIEkgY2FuJ3QgdmVyeSB3ZWxsIHF1ZXVlIGl0IHVwIGluIHRoZSBjaGFpbiBlaXRoZXIsIEkgbWlnaHQgYmUgYmxvY2tpbmcgdGhlIHZlcnkgbGFzdCBzdWJ0aXRsZSBmb3Igbm8gcmVhc29uIG9yIHNvbWV0aGluZwoJICA8dHBtPiBidXQgeW91IGNvdWxkIGp1c3QgZHJvcC9pZ25vcmUgcGFja2V0cyB1bnRpbCB5b3UgZmluZCBvbmUsIHJpZ2h0PwoJICA8bGVpbz4gZmluZCB3aGF0PwoJICA8dHBtPiBhIGNvbXBsZXRlIHBhY2tldD8KCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzbid0IHRoYXQgdGhleSBhcmVuJ3QgY29tcGxldGUKCSAgPGxlaW8+IHRoZSBwcm9ibGVtIGlzIHRoYXQgdGhleSBhcmUgY3V0IGFjcm9zcyBtdWx0aXBsZSBHc3RCdWZmZXJzIGJ5IHRoZSBkZW11eGVyIHdpdGhvdXQgdGhlIGhhY2sKCSAgPHRwbT4gc3VyZSwgSSB1bmRlcnN0YW5kIHRoYXQKCSAgPHRwbT4gYnV0IHlvdSBjYW4ndCBlYXNpbHkgZGV0ZXJtaW5lIGlmIGEgR3N0QnVmZmVyIGNvbnRhaW5zIGhlIHN0YXJ0IGZyYWdtZW50IG9mIGEgcGFja2V0IG9yIG5vdD8KCSAgPGxlaW8+IEkgZ3Vlc3MgSSBjb3VsZCBwYXJzZSB0aGUgcGFja2V0IGFuZCBzZWUgaWYgaXRzIGxlbmd0aCBpcyBlbm91Z2gsIGp1c3QgbGlrZSB0aGUgbGliZHZic3ViIGNvZGUgZXZlbnR1YWxseSBkb2VzIHRvbwoJICA8bGVpbz4gSSBjYW4sIGl0IGhhcyBhIHRpbWVzdGFtcCBpZiBpdCdzIHRoZSBmaXJzdCBjaHVuawoJICA8bGVpbz4gSSBqdXN0IG5ldmVyIGtub3cgaWYgSSBuZWVkIHRvIHdhaXQgZm9yIG1vcmUsIHdpdGhvdXQgc29tZSBwYXJzaW5nCgkgIDx0cG0+IGFoIG9rCgkgIDxsZWlvPiB3aGlsZSB0aGUgZGVtdXhlciBjb3VsZCBqdXN0IGdpdmUgbWUgYW4gdW5jdXQgb25lIGluIHRoZSBmaXJzdCBwbGFjZQoJICA8bGVpbz4gbGlrZSBpdCBhbHdheXMgZG9lcyBmb3IgcHJvZ3JhbSBzdHJlYW1zCgkgIDxsZWlvPiB0aGF0IGdhdGhlcl9wZXMgaXMgYWx3YXlzIHNldCBpbiBnc3RtcGVnZGVtdXgsIGJ1dCBub3QgaW4gZ3N0bXBlZ3RzZGVtdXgKCjIwMTAtMTEtMjkgMjA6MDY6MDcgKzAwMDAgIE1hcnQgUmF1ZHNlcHAgPG1hcnQucmF1ZHNlcHBAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvVE9ETzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZHZiLXN1Yi5jOgoJKiBnc3QvZHZic3Vib3ZlcmxheS9kdmItc3ViLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2ZmbXBlZy1jb2xvcnNwYWNlLmg6CgkqIGdzdC9kdmJzdWJvdmVybGF5L2dzdGR2YnN1Ym92ZXJsYXkuYzoKCSogZ3N0L2R2YnN1Ym92ZXJsYXkvZ3N0ZHZic3Vib3ZlcmxheS5oOgoJICBkdmJzdWJvdmVybGF5OiBpbml0aWFsIHZlcnNpb24sIHdvcmsgaW4gcHJvZ3Jlc3MKCjIwMTAtMTItMDYgMTg6MDE6MzggKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBhbmRyb2lkL2FhY3BhcnNlLm1rOgoJKiBhbmRyb2lkL2FtcnBhcnNlLm1rOgoJKiBhbmRyb2lkL2gyNjRwYXJzZS5tazoKCSogYW5kcm9pZC9tZXRhZGF0YS5tazoKCSogYW5kcm9pZC9xdG11eC5tazoKCSogYW5kcm9pZC9zZHBlbGVtLm1rOgoJICBhbmRyb2lkOiB1cGRhdGUgZm9yIDAuMTEKCjIwMTAtMTItMDYgMTc6NTQ6MDQgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIGNvbmZpZzogdXBkYXRlIGNvbmZpZwoKMjAxMC0xMi0wNiAxMjoyNTo0MiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBvcGVuIDAuMTEgYnJhbmNoCgoyMDEwLTEyLTAzIDE4OjExOjU2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogdXBkYXRlIHNvbWUgZG9jdW1lbnRhdGlvbgoKMjAxMC0xMi0wMyAxODoxMTozOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGFkZCB0byBkb2N1bWVudGF0aW9uCgoyMDEwLTEyLTAzIDE4OjExOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJICBkY2FwYXJzZTogYWRkIHRvIGRvY3VtZW50YXRpb24KCjIwMTAtMTItMDMgMTg6MDk6NDEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDEwLTExLTA4IDE5OjU4OjMxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW5jcmVhc2Uga2V5ZnJhbWUgYXdhcmVuZXNzCgkgIC4uLiB3aGljaCBpcyBub3QgcGFydGljdWxhciByZWxldmFudCBmb3IgYXVkaW8gcGFyc2luZywgYnV0IG1vcmUgc28KCSAgaW4gdmlkZW8gY2FzZXMuICBJbiBwYXJ0aWN1bGFyLCBhdXRvLWRldGVybWluZSBpZiBkZWFsaW5nIHdpdGggdmlkZW8gKGNhcHMpLgoKMjAxMC0xMi0wMyAxNzo0NjoyNyArMDEwMCAgQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQHN0ZXJpY3Nzb24uY29tPgoKCSogQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvQW5kcm9pZC5tazoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvR3N0QW5kcm9pZC5jcHA6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2F1ZGlvZmxpbmdlcl93cmFwcGVyLmNwcDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvYXVkaW9mbGluZ2VyX3dyYXBwZXIuaDoKCSogc3lzL2F1ZGlvZmxpbmdlcnNpbmsvZ3N0YXVkaW9mbGluZ2VycmluZ2J1ZmZlci5oOgoJKiBzeXMvYXVkaW9mbGluZ2Vyc2luay9nc3RhdWRpb2ZsaW5nZXJzaW5rLmM6CgkqIHN5cy9hdWRpb2ZsaW5nZXJzaW5rL2dzdGF1ZGlvZmxpbmdlcnNpbmsuaDoKCSAgc3lzOiBBZGQgYW5kcm9pZCBhdWRpb2ZsaW5nZXJzaW5rCgoyMDEwLTEyLTAzIDE3OjQyOjQ2ICswMTAwICBCZW5qYW1pbiBHYWlnbmFyZCA8YmVuamFtaW4uZ2FpZ25hcmRAc3Rlcmljc3Nvbi5jb20+CgoJKiBBbmRyb2lkLm1rOgoJKiBhbmRyb2lkL05PVElDRToKCSogYW5kcm9pZC9hYWNwYXJzZS5tazoKCSogYW5kcm9pZC9hbXJwYXJzZS5tazoKCSogYW5kcm9pZC9oMjY0cGFyc2UubWs6CgkqIGFuZHJvaWQvbWV0YWRhdGEubWs6CgkqIGFuZHJvaWQvcXRtdXgubWs6CgkqIGFuZHJvaWQvc2RwZWxlbS5tazoKCSAgQWRkIGJ1aWxkIHN5c3RlbSBmb3IgQW5kcm9pZAoKMjAxMC0xMi0wMiAxNTo0NTowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzbWFsIGFwaSBkb2MgdXBkYXRlCgoyMDEwLTEyLTAyIDA1OjM5OjE0IC0wMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGFzc2VydGlvbiBvbiBpbWFnZSBmaW5pc2hpbmcKCSAgQXMgaW1nYmluX2ZpbmlzaGVkKCkgaXMgc2NoZWR1bGVkIGZyb20gZ19pZGxlX2FkZCwgaXQgbWlnaHQKCSAgYmUgcnVuIGEgbGl0dGxlIGxhdGVyIHRoYW4gZXhwZWN0ZWQsIHRoaXMgY2FuIGxlYWQgdG8gdGhlIGFwcGxpY2F0aW9uCgkgIHNldHRpbmcgY2FtZXJhYmluIHRvIHJlYWR5IGJlZm9yZSBpbWdiaW5fZmluaXNoZWQoKSBydW5zLiBJbiB0aGlzIGNhc2UsCgkgIHRoZSBwcm9jZXNzaW5nIGNvdW50ZXIgZ29lcyB0byAwIGFuZCBhbiBhc3NlcnRpb24gaGFwcGVucy4KCSAgVGhpcyBwYXRjaCByZWxheGVzIHRoZSBpbWdiaW5fZmluaXNoZWQoKSBjaGVjayBvbiB0aGUgcHJvY2Vzc2luZwoJICBjb3VudGVyLgoKMjAxMC0xMi0wMSAyMzoxNDo1NiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBIYW5kbGUgbmFtZXMgd2l0aCBtdWx0aXBsZSB1bmRlcnNjb3JlcwoKMjAxMC0xMi0wMSAyMzowNDo1NyAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaG9wbXlkYXRhLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNob3BteWRhdGEuaDoKCSAgY2hvcG15ZGF0YTogQWRkIG5ldyBlbGVtZW50CgkgIFRoaXMgZWxlbWVudCBzcGxpdHMgdXAgYSBzdHJlYW0gaW50byByYW5kb21seS1zaXplZCBidWZmZXJzLgoJICBVc2VmdWwgKG1heWJlKSBmb3IgdGVzdGluZyBwYXJzZXJzLgoKMjAxMC0xMi0wMiAwMzowOTo1OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IFJlbW92ZSBsZWZ0b3ZlciBjb21tZW50CgkgIFJlbW92ZSBjb21tZW50IHRoYXQgZG9lc24ndCBtYWtlIHNlbnNlIGFueW1vcmUKCjIwMTAtMTItMDEgMjM6MjE6MzMgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgdXNlIHRoZSBkZXByZWNhdGVkIGdfc3RyY2FzZWNtcCBmdW5jdGlvbi4KCSAgUmVwbGFjZSBnX3N0cmNhc2VjbXAgd2l0aCBnX2FzY2lpX3N0cmNhc2VjbXAuCgoyMDEwLTEyLTAxIDIzOjIwOjM2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC4yLjEgb24gT1NYLgoKMjAxMC0xMi0wMSAxNToyODo1MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuaDoKCSAgYWMzcGFyc2U6IHVzZSBwcm9wZXIgRUFDLTMgY2FwcwoKMjAxMC0xMi0wMSAxMDo0NTo0OSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtc3ZjIGZ0cnVuY2F0ZSBpbmNvbXBhdGliaWxpdHkKCSAgRml4ZXMgIzYzNjE4NS4KCjIwMTAtMTAtMDkgMTc6Mzk6MzYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NjaHJvZW5jLmM6CgkgIEFkZCBhIHNjaHJvZW5jIHRlc3QKCjIwMTAtMTEtMjcgMjA6MTM6MzggLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBGaXggcGFkIHRlbXBsYXRlIG1lbWxlYWtzCgkgIFBhZCB0ZW1wbGF0ZXMgcmV0dXJuZWQgYnkgZ3N0X3N0YXRpY19wYWRfdGVtcGxhdGVfZ2V0KCkgd2VyZSBub3QKCSAgYmVpbmcgdW5yZWZmZWQuCgoyMDEwLTExLTMwIDE4OjQzOjI0IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVhZGQgc2V0dGluZyBvZiBncmFudWxlcG9zCgkgIFJldmVydCBwYXJ0cyBvZiBsYXN0IHBhdGNoIHRoYXQgcmVtb3ZlZCBzZXR0aW5nIG9mIGdyYW51bGVwb3MuCgkgIG9nZ211eCBzdGlsbCByZXF1aXJlcyBjb3JyZWN0IGdyYW51bGVwb3MgaW4gaW5jb21pbmcgcGFja2V0LgoKMjAxMC0xMS0yOSAyMDoyMTozMSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IERvbid0IG92ZXJyaWRlIHRpbWVzdGFtcHMgc2V0IGJ5IGJhc2UgY2xhc3MKCSAgQmVjYXVzZSB0aGUgYmFzZSBjbGFzcyBkb2VzIGl0IGNvcnJlY3RseS4KCSAgRml4ZXM6ICM2MzU3MjAsICM2MjU1NTguCgoyMDEwLTExLTMwIDE1OjQxOjAyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYXZvaWQgdW5leHBlY3RlZCBzdHJheSBtZXRhZGF0YQoKMjAxMC0xMS0zMCAxNTo0MDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBwcm9wZXIgX05PTkUgb3V0cHV0IHZhbHVlIHdoZW4gYXBwbGljYWJsZQoKMjAxMC0xMS0xNSAyMDowMzowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL01ha2VmaWxlLmFtOgoJKiBnc3QvanAya2RlY2ltYXRvci9nc3RqcDJrZGVjaW1hdG9yLmM6CgkqIGdzdC9qcDJrZGVjaW1hdG9yL2dzdGpwMmtkZWNpbWF0b3IuaDoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uYzoKCSogZ3N0L2pwMmtkZWNpbWF0b3IvanAya2NvZGVzdHJlYW0uaDoKCSAganAya2RlY2ltYXRvcjogQWRkIGEgSlBFRzIwMDAgZGVjaW1hdG9yIGVsZW1lbnQKCSAgVGhpcyBlbGVtZW50IGRyb3BzIGluZm9ybWF0aW9uIGZyb20gSlBFRzIwMDAgaW1hZ2VzIHdpdGhvdXQgcmVlbmNvZGluZy4KCjIwMTAtMTEtMjMgMjE6NDU6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmtlbmM6IEVtaXQgU09QIG1hcmtlcnMgaW4gZXZlcnkgY29kZXN0cmVhbSBwYWNrZXQKCSAgVGhpcyBtYWtlcyBwYXJzaW5nIG11Y2ggZWFzaWVyLCBmYXN0ZXIgYW5kIG1vcmUgcmVsaWFibGUuCgoyMDEwLTExLTI3IDE2OjA3OjE5IC0wNjAwICBBbGVqYW5kcm8gR29uemFsZXogPGFnb256YWxlekBkZXh0cmF0ZWNoLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZ3N0X3F0bXV4X2NoZWNrX2RpZmZlcmVuY2UgdmVyaWZ5IGJlZm9yZSBzdWJ0cmFjdAoJICBBdm9pZCBuZWdhdGl2ZSBvdmVyZmxvdyBieSBjaGVja2luZyB0aGUgb3JkZXIgb2Ygb3BlcmFuZHMKCSAgb24gc3VidHJhY3Rpb24gb2YgdW5zaWduZWQgaW50ZWdlcnMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzU4NzgKCjIwMTAtMTEtMjcgMTg6NTg6MDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBGaXggc29tZSBtZW1sZWFrcwoKMjAxMC0xMS0xNSAxMTozNzozOSAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBtaW5vciBtZW1sZWFrIGZpeAoKMjAxMC0xMS0yNSAxOTozMTozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MzE6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICB2aWRlb21lYXN1cmU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjI1OjI3ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3R0YS9nc3R0dGFkZWMuYzoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICB0dGE6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCB1c2VsZXNzIHZhcmlhYmxlCgoyMDEwLTExLTI1IDE5OjI0OjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgc3RlcmVvOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMToyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMKCjIwMTAtMTEtMjUgMTk6MjE6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjIxOjAxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICByZWFsOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOToyMDo1MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJICBpdmZwYXJzZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTk6MDY6NDkgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJICBmcmVlemU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE5OjA2OjM4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowNjoyNyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBkdG1mOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxOTowMTo0MiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgZGNjcDogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NTY6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxODo1Mjo0NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwODogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCjIwMTAtMTEtMjUgMTg6NDk6MjMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICBzZGxhdWRpb3Npbms6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQ3OjE1ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hyb2VkaW5nZXI6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjQzOjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnQKCjIwMTAtMTEtMjUgMTg6NDM6MTggKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSAgY29nZG93bnNhbXBsZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODo0MjozMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2c21vb3RoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnZpZGVvZmlsdGVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGV4dHdyaXRlLmM6CgkgIG9wZW5jdjogUmVtb3ZlIGRlYWQgYXNzaWdubWVudHMKCSAgLi4uIGFuZCBmaXggaW5kZW50YXRpb24KCjIwMTAtMTEtMjUgMTg6MzM6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogUmVtb3ZlIGRlYWQgYXNzaWdubWVudAoKMjAxMC0xMS0yNSAxODozMDo1NiArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSAgY29nZnJhbWU6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzCgoyMDEwLTExLTI1IDE4OjI5OjMxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBJbml0aWFsaXplIHZhcmlhYmxlCgkgIEluIHRoZSBjYXNlIHRoZSB0YWdfc2V0dGVyIHJldHVybnMgc29tZXRoaW5nLCBlbXB0eV90YWdzIHdvdWxkIGJlCgkgIGdhcmJhZ2UgdmFsdWUuCgoyMDEwLTExLTI1IDE4OjI5OjIyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50CgoyMDEwLTExLTI1IDE4OjI2OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBSZW1vdmUgZGVhZCBhc3NpZ25tZW50cwoKMjAxMC0xMS0yNSAxNzoxNDoyMyArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZTogZml4IHBvc3NpYmxlIGRpdmlzaW9uLWJ5LXplcm8KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYzNTc4NgoKMjAxMC0xMC0yMyAwMTo1NjowNCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRG9uJ3QgcGFzcyB0aGUgU2htUGlwZSB0byB0aGUgZnVuY3Rpb24gY2xvc2luZyB0aGUgc2htIGFyZWEKCjIwMTAtMTAtMjMgMDE6MjI6NDMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFVzZSB0aGUgcmlnaHQgY291bnRlciB3aGVuIGZyZWVpbmcgYnVmZmVycwoKMjAxMC0xMC0yMyAwMToxMjo0OSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9NYWtlZmlsZS5hbToKCSogc3lzL3NobS9zaG1hbGxvYy5oOgoJICBzaG1hbGxvYzogTWFudWFsbHkgZGVjaWRlIHRvIHVzZSBHTGliIG9yIG5vdCBpbiB0aGUgc2htYWxsb2MKCSAgU28gbWFrZSBpdCBlYXNpZXIgZm9yIGVtYmVkZGVycyB0byB1c2UgaXQgd2l0aCBvciB3aXRob3V0IEdsaWIKCjIwMTAtMTAtMjAgMjI6NDk6NTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbW92ZSBkdXBsaWNhdGVkIGFyZ3VlbWVudAoKMjAxMC0xMC0yMCAyMjozOToyMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogRml4IHNvY2tldCBsZWFrIG9uIGNvbm5lY3QoKSBlcnJvcgoKMjAxMC0xMC0yMCAyMjoyODoxMyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IHNwX2NsaWVudF9yZWN2IHJldHVybnMgbmVnYXRpdmUgb24gZXJyb3IsIHNvIG1ha2UgdGhlIHJldHZhbCBzaWduZWQKCjIwMTAtMTAtMjAgMjI6MTc6MzAgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IFJlbmFtZSBjb25mdXNpbmdseSBuYW1lZCB2YXJpYWJsZQoKMjAxMC0xMC0yMCAyMjoxNDowOSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogQ2hhbmdlIHBlcm1pc3Npb25zIG9uIG9sZCBzaG0gYXJlYXMgdG9vCgkgIENoYW5nZSB0aGUgcGVybWlzc2lvbnMgb24gb2xkIHNobSBhcmVhcwoKMjAxMC0xMC0yMCAyMjowMTozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkgIHNobTogVXNlIHRoZSBtYWNybyBmb3IgdGhlIGxhc3QgZXJyb3IgdG9vCgoyMDEwLTEwLTIwIDIxOjUyOjMxICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuYzoKCSAgc2htOiBVc2UgImFibG9jayIgZm9yIGFsbCBTaG1BbGxvY0Jsb2NrIHZhcmlhYmxlcwoJICBVc2UgdGhlIGFibG9jayB2YXJpYWJsZSBuYW1lIGZvciBTaG1BbGxvY0Jsb2NrcyBhbmQgYmxvY2sgZm9yCgkgIFNobUJsb2NrCgoyMDEwLTEwLTIwIDIxOjUyOjI0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgbW9yZSBjb21tZW50cwoKMjAxMC0xMC0yMCAyMTo0MToxNSArMDIwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJICBzaG06IHN0eWxpc3QgaW1wcm92ZW1lbnRzCgoyMDEwLTEwLTIwIDIxOjMzOjI0ICswMjAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJICBzaG06IEV4cGxhaW4gc29tZSBmaWVsZHMKCSAgRXhwbGFpbiB3aGF0IHNvbWUgb2YgdGhlIGZpZWxkcyBpbiB0aGUgYWxsb2NhdG9yIGFjdHVhbGx5IG1lYW4KCjIwMTAtMTEtMjIgMTU6MjY6MDYgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogRml4IGJ1ZmZlciB0aW1lc3RhbXAgYW5kIGR1cmF0aW9uCgkgIFRoZSBmaWVsZCByYXRlIGlzIHR3aWNlIHRoZSBmcmFtZSByYXRlIG9mIHRoZSBzcmMgcGFkIGFuZCBzbyB0aGUgZHVyYXRpb24gb2YKCSAgb25lIG91dHB1dCBidWZmZXIgaXMgc3JjX2Zwc19kIC8gKDIgKiBzcmNfZnBzX24pLgoKMjAxMC0xMS0yMiAxMDoyOTo1NiArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBSZW5hbWUgcGF0dGVybiBwcm9wZXJ0eSB0byBmaWVsZC1wYXR0ZXJuCgkgIFRoaXMgaXMgbW9zdGx5IGZvciBjbGFyaXR5IG9mIHdoYXQgdGhlIHByb3BlcnR5IG1lYW5zIGFuZCwgSSBiZWxpZXZlLCBtYWtlcyB0aGUKCSAgcGF0dGVybi1vZmZzZXQgcHJvcGVydHkgbW9yZSBjb21wcmVoZW5zaWJsZS4KCjIwMTAtMTEtMjIgMTA6Mjc6MjIgKzAxMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHBhdHRlcm4gb2Zmc2V0IHByb3BlcnR5CgkgIFRoaXMgcHJvcGVydHkgYWxsb3dzIG9uZSB0byBzdGFydCBhdCBhbnkgcG9pbnQgd2l0aGluIHRoZSBmaWVsZCBwYXR0ZXJuIGFmdGVyCgkgIGEgZGlzY29udGludWl0eSAod2hlbmV2ZXIgZ3N0X2ludGVybGFjZV9yZXNldCAoKSBpcyBjYWxsZWQpLiBUaHVzIHdpdGggdGhlCgkgIDI6MzozOjIgcGF0dGVybiwgZm9yIGV4YW1wbGUsIG9uZSBjYW4gc3RhcnQgYXQgb2Zmc2V0IDIgYW5kIGFjaGlldmUgMzoyOjI6MwoJICBvciBvZmZzZXQgMSBhbmQgYWNoaWV2ZSAzOjM6MjoyLgoKMjAxMC0xMS0xOSAxNzowMTo0MSAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogQ3JlYXRlIGltYWdlYmluIGVsZW1lbnRzIHdoZW4gaW1hZ2UgbW9kZSBpcyBzZXQgaW4gY2FtZXJhYmluIE5VTEwgc3RhdGUKCSAgVGhpcyBwYXRjaCByZWZhY3RvcnMgaW1hZ2ViaW4gZWxlbWVudCBjcmVhdGlvbiBhbmQgbGlua2luZyBpbnRvIHNlcGFyYXRlIGZ1bmN0aW9ucywKCSAgYW5kIGFkZHMgcmUtdXNpbmcgYWxzbyBmb3IgaW1hZ2ViaW4gaW50ZXJuYWxseSBjcmVhdGVkIGVsZW1lbnRzLgoJICBTbyB0aGlzIHJlZmFjdG9yaW5nIGFsbG93cyBjcmVhdGluZyBpbWFnZWJpbiBlbGVtZW50cyBhbHJlYWR5IGluIE5VTEwgc3RhdGUgd2hlbgoJICBhcHBsaWNhdGlvbiBzZXRzIHRoZSBpbWFnZSBtb2RlLCBhbmQgbmV4dCBzdGF0ZSBjaGFuZ2UgZnJvbSBOVUxMIHRvIFJFQURZIHdpbGwgYmUgZmFzdGVyLgoJICBUaGlzIHJlZHVjZXMgZmlyc3QgY2FwdHVyZSBsYXRlbmN5LgoJICBFYXJsaWVyIHRoZSBlbGVtZW50cyB3ZXJlIGJvdGggY3JlYXRlZCBhbmQgbGlua2VkIGluIE5VTEwgdG8gUkVBRFkgc3RhdGUgY2hhbmdlLgoKMjAxMC0xMS0yMiAxMjoyMzozMCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBDcmVhdGUgYSBzdWItYnVmZmVyIHdpdGggdGhlIHNlY3Rpb24gbGVuZ3RoCgoyMDEwLTExLTE5IDE1OjIzOjQxIC0wNTAwICBKb3NoIERvZSA8am9zaEBqb3NoZG9lLmNvbT4KCgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXF1YWxpemVoaXN0LmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5oOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJICBvcGVuY3Y6IGZpeCBjYXBzIGlzc3VlcyBhbmQgZXh0ZW5kIHN1cHBvcnRlZCBjYXBzIGZvciBzb21lIGVsZW1lbnRzCgkgIFNvbWUgZWxlbWVudHMgaGFkIHZhZ3VlIGNhcHMsIHN1Y2ggYXMgInZpZGVvL3gtcmF3LXJnYiIsIHdoaWNoIGNhdXNlZCBwcm9ibGVtcwoJICBhdCBsZWFzdCB3aXRoIHRleHR3cml0ZS4gRm9yIG90aGVyIGVsZW1lbnRzLCB0aGUgdW5kZXJseWluZyBPcGVuQ1YgZnVuY3Rpb25zCgkgIHN1cHBvcnQgbW9yZSB0aGFuIGp1c3Qgb25lIGltYWdlIHR5cGUsIHNvIEkgaW5jcmVhc2VkIHRoZSBudW1iZXIgb2Ygc3VwcG9ydGVkCgkgIGNhcHMuCgkgIEkgY3JlYXRlZCBhIHV0aWxpdHkgZnVuY3Rpb24gImdzdF9vcGVuY3ZfY2Fwc19mcm9tX2N2X2ltYWdlX3R5cGUiLCBzbyBlYWNoCgkgIGVsZW1lbnQgY3JlYXRlcyBjYXBzIGRpcmVjdGx5IGZyb20gT3BlbkNWIGltYWdlIHR5cGVzLCBzdWNoIGFzIENWXzhVQzEgZm9yCgkgIDgtYml0IGdyYXlzY2FsZS4gVGhpcyBmdW5jdGlvbiB1c2VzIGdzdHZpZGVvIHRvIGNyZWF0ZSB1bmlmb3JtIGNhcHMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzUzMDQKCjIwMTAtMTEtMjIgMTc6NDM6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogU21hbGwgb3B0aW1pemF0aW9uIG9uIHRhZ3MgcGFyc2luZwoJICBPcHRpbWl6ZSBhIGxpdHRsZSBhdm9pZGluZyBjb3B5aW5nIGEgdGFnbGlzdCB3aGVuIHBhcnNpbmcgeG1wL2V4aWYKCSAgZGF0YS4KCjIwMTAtMDktMTcgMDk6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBBdm9pZCBsb3NpbmcgdGhlIGxhc3RfYnVmZmVyIHdoZW4gc3dpdGNoaW5nCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0c2VsZWN0b3IgdGFrZSBhbiBleHRyYSByZWYgd2hlbiBwdXNoaW5nCgkgIHRoZSBsYXN0X2J1ZmZlciB0byBhdm9pZCBpdCBsb3NpbmcgaXQgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24uCgkgIFRoaXMgbWFrZXMgcmVzZW5kLWxhdGVzdCBwcm9wZXJseSB3b3JrIGlmIHRoZSBhY3RpdmUtcGFkIGlzIGNoYW5nZWQKCSAgZHVyaW5nIHRoZSBzd2l0Y2ggZnVuY3Rpb24gYnVmZmVyIHB1c2hpbmcgKG9uIGEgcGFkIHByb2JlLCBmb3IgZXhhbXBsZSkuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMDktMTcgMDk6NDQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBSZWNoZWNrIHBlbmRpbmcgc3dpdGNoIGFmdGVyIHB1c2hpbmcgYnVmZmVyCgkgIFRoaXMgcGF0Y2ggbWFrZXMgb3V0cHV0LXNlbGVjdG9yIGFsd2F5cyByZWNoZWNrIGlmIHRoZXJlJ3MgYQoJICBwZW5kaW5nIHBhZCBzd2l0Y2ggYWZ0ZXIgcHVzaGluZyBhIGJ1ZmZlciwgcHJldmVudGluZyB0aGF0CgkgIGl0IHB1c2hlcyBhIGJ1ZmZlciBvbiB0aGUgJ3dyb25nJyBwYWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02Mjk5MTcKCjIwMTAtMTEtMjIgMTU6MTA6MjYgKzAyMDAgIE9saXZpZXIgQXViZXJ0IDxvbGl2aWVyLmF1YmVydCU0MGxpcmlzLmNucnMuZnI+CgoJKiBleHQvcnN2Zy9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvZ3N0cnN2Zy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5jOgoJKiBleHQvcnN2Zy9nc3Ryc3Znb3ZlcmxheS5oOgoJICByc3Znb3ZlcmxheTogc2NhbGFibGUgYW5kIHJlbGF0aXZlIHN2ZyBvdmVybGF5IHdpdGggY2Fpcm8KCSAgQWRkIGEgY2Fpcm8rbGlicnN2ZyBiYXNlZCBvdmVybGF5IGVsZW1lbnQgdG8gdGhlIHJzdmcgcGx1Z2luLgoKMjAxMC0xMS0yMiAxNzowNjowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIG1ha2U6IHJlbW92ZSB0cmFjZXMgb3IgbW92ZWQvcmVtb3ZlZCBwbHVnaW5zCgoyMDEwLTExLTIyIDE3OjA1OjIzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBNYWtlZmlsZS5hbToKCSAgbWFrZTogYWRkIG1pc3NpbmYgdHJhaWxpbmcgXCB0byBmaXggdGhlIGJ1aWxkCgoyMDEwLTExLTIxIDIzOjExOjE5IC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogcmVtb3ZlIGluY29ycmVjdCBjaGVjawoKMjAxMC0xMS0xOSAxNzo1NTozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSByZW1uYW50IG9mIG9ic29sZXRlIHByb3BlcnR5CgoyMDEwLTExLTE5IDE1OjE4OjU4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkgIHRlc3RzOiBxdG11eDogYWxzbyB1bml0IHRlc3QgZnJhZ21lbnRlZCBmaWxlIGNhc2VzCgoyMDEwLTA3LTMwIDEyOjQ4OjI5ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFsbG93IHNwZWNpZnlpbmcgdHJhayB0aW1lc2NhbGUKCSAgVGhpcyBpcyBtYWlubHkgYmVjYXVzZSBTbW9vdGhzdHJlYW1pbmcgY2xpZW50IGFyZSBicm9rZW4gYW5kIGRvbid0CgkgIHRha2UgdGhlIFRpbWVTY2FsZSBwcm9wZXJ0eSBpbnRvIGFjY291bnQuCgoyMDEwLTExLTE5IDE3OjQxOjQxICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbmNsdWRlIHNkdHAgYXRvbXMgZm9yIGlzbXYgZnJhZ21lbnRlZCBmaWxlcwoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTkgMTk6MTc6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbmFibGUgZGVmYXVsdCBmcmFnbWVudGVkIGZpbGUgZm9yIGlzbWxtdXgKCjIwMTAtMDktMDIgMTM6NTg6MDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICBxdG11eDogYWRkIGlzbWxtdXgsIGZvciBmcmFnbWVudGVkIGlzbWwgbWFqb3IgYnJhbmQKCjIwMTAtMTEtMTkgMTQ6NDQ6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaW5hbGl6ZSBzaW5rcGFkcyBsaXN0CgoyMDEwLTA3LTIyIDE5OjQwOjA3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogYWRkIG1vb3YgaW4gc3RyZWFtaGVhZGVyCgoyMDEwLTA4LTA2IDEzOjI2OjI3ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBzdHJlYW1hYmxlIHByb3BlcnR5IHRvIGF2b2lkIGJ1aWxkaW5nIGZyYWdtZW50ZWQgbWZyYSBpbmRleAoKMjAxMC0xMS0xOCAxNjo0ODowNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGFkZCBtZnJhIHRvIGZyYWdtZW50ZWQgZmlsZQoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCjIwMTAtMTEtMTUgMTU6MTc6NTkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBvcHRpb25hbGx5IGNyZWF0ZSBmcmFnbWVudGVkIGZpbGUKCSAgSW4gdGhpcyBtb2RlLCBhbiBpbml0aWFsIGVtcHR5IG1vb3YgKGNvbnRhaW5pbmcgb25seSBzdHJlYW0gbWV0YWRhdGEpIGlzIHdyaXR0ZW4sCgkgIGZvbGxvd2VkIGJ5IGZyYWdtZW50cyBjb250YWluaW5nIGFjdHVhbCBkYXRhIChhbG9uZyB3aXRoIHJlcXVpcmVkIG1ldGFkYXRhKS4KCSAgTmV3IGZyYWdtZW50cyBhcmUgc3RhcnRlZCBlaXRoZXIgYXQga2V5ZnJhbWUgKGlmIHN1Y2ggYXJlIHNwYXJzZSkgb3Igd2hlbgoJICBwcm9wZXJ0eSBjb25maWd1cmVkIGR1cmF0aW9uIGV4Y2VlZGVkLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCSAgRml4ZXMgIzYzMjkxMS4KCjIwMTAtMTEtMTUgMTU6MTI6NDUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiB1c2UgaGVscGVyIHRvIHNldCBhdG9tIGZsYWdzIGZyb20gZ2l2ZW4gdWludAoKMjAxMC0xMS0wOSAxNjo0OTowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlZmFjdG9yIGNvbmZpZ3VyaW5nIGFuZCBzZW5kaW5nIG9mIG1vb3YKCSAgQmFzZWQgb24gcGF0Y2ggYnkgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoyMDEwLTExLTA5IDE1OjU0OjQ0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3IgZXh0cmEgdG9wLWxldmVsIGF0b20gaGFuZGxpbmcKCSAgQWxzbyBjaGVjayBhIGJpdCBtb3JlIGZvciBwb3NzaWJsZSBlcnJvcnMsIGFuZCBmcmVlIHByb3BlciBpdGVtcyBpbiBzdWNoIGNhc2UuCgoyMDEwLTExLTA5IDE1OjAxOjE1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVmYWN0b3Igc2xpZ2h0bHkgdXNpbmcgYnVmZmVyIGhlbHBlcgoKMjAxMC0xMS0wNSAxMzo0ODo1NyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGZpeCBtaXNpbmZvcm1pbmcgY29tbWVudAoKMjAxMC0xMS0wNSAxMjowODoxNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZGVsZWdhdGUgbXZleCBoYW5kbGluZyB0byBhdG9tcwoJICAuLi4gd2hpY2gga2VlcHMgcXRtdXggc2ltcGxlci4KCjIwMDktMDktMjggMTY6MTE6MzUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCBtdmV4L3RyZXggaW4gaGVhZGVyIGlmIGZyYWdtZW50ZWQKCSAgT25lICJ0cmV4IiBpcyBhZGRlZCBwZXIgInRyYWsiLiBXZSBkb24ndCBzdXBwb3J0IGRlZmF1bHQgdmFsdWVzLAoJICBidXQgdGhlICJ0cmV4IiBib3ggaXMgbWFuZGF0b3J5LgoKMjAwOS0wOS0yOCAxMzowMTozMCArMDIwMCAgTWFyYy1BbmRyw6kgTHVyZWF1IDxtbHVyZWF1QGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgIHF0bXV4OiBhZGQgYSBjb3VwbGUgb2YgZm91cmNjIGZvciBmcmFnbWVudGVkIG1wNAoKMjAxMC0xMS0wNSAxMTowODowMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGF2b2lkIHJlbW92aW5nIHRlbXAgZmlsZSB3aGVuIGVycm9yIG9jY3VycmVkCgoyMDA5LTA5LTMwIDE3OjE2OjMwICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdHJ1bmNhdGUgYnVmZmVyIGZpbGUgYWZ0ZXIgZWFjaCBzZW5kCgoyMDA5LTA5LTI4IDE2OjUzOjUxICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVtb3ZlIHRlbXAgZmlsZSB3aGVuIHJlc2V0L2ZpbmFsaXplCgoyMDEwLTA4LTE4IDAyOjAwOjEwICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBQdXNoIHRhZ3MgYWZ0ZXIgc2V0dGluZyBzcmNwYWQgY2FwcwoJICBUaGlzIHBhdGNoIGRlZmVycyBlbWlzc2lvbiBvZiB0YWcgZXZlbnRzIHRpbGwgY2FwcyBhcmUgc2V0IG9uIHRoZSBzb3VyY2UKCSAgcGFkIG9mIGpwZWdwYXJzZSwgc28gdGhhdCB0aGVzZSB0YWdzIGNhbiBiZSBzZWVuIGRvd25zdHJlYW0uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjcyMTEKCjIwMTAtMTEtMTkgMTg6NTE6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTEtMTkgMTg6MjY6NTkgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHRoaW5rbwoKMjAxMC0xMS0xOSAxNzoyNTowMSArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggaGFuZGxpbmcgb2YgVE9UIGFuZCBURFQgc2VjdGlvbnMuIEZpeGVzICM2MzUyODEuCgkgIFREVCBhbmQgVE9UIHNlY3Rpb25zLCB3aXRoIFBJRD0weDE0LCBkb2Vzbid0IGV4dGVuZCB0byBzZXZlcmFsIHBhY2tldHMKCSAgYW5kIHRoZSBzZWN0aW9uIGZpbHRlciBpcyBub3QgbmVlZGVkIGhlcmUgYW5kIHNob3VsZG4ndCBiZSB1c2VkIGF0IGFsbAoJICBmb3IgdGhlc2UgdGFibGVzIGJlY2F1c2UgdGhlIGhhdmUgYSBkaWZmZXJlbnQgc3RydWN0dXJlLgoJICBGb3IgZXhhbXBsZSwgVERUIHRhYmxlcyB3ZXJlIG5vdCBwYXJzZWQgZm9yIG9kZCBob3VycyBiZWNhdXNlIHRoaXMgYml0CgkgIGlzIHRoZSAnY3VycmVudF9uZXh0X2luZGljYXRvcicgYml0IGZvciB0aGUgb3RoZXIgc2VjdGlvbnMsIGFuZCB0aGUgdGFibGUKCSAgd2FzIGRpc2NhcmRlZC4KCjIwMTAtMTEtMTkgMTc6MjI6MDYgKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IGRvbid0IGNhbGN1bGF0ZSB0aGUgQ1JDIGZvciBUT1QgdGFibGVzLiBGaXhlcyAjNjM1MjgxLgoJICBUT1QgdGFibGVzLCB3aXRoIHRhYmxlX2lkPTB4NzMsIGRvbid0IGhhdmUgYSBDUkMsIHNvIGRvbid0IGNhbGN1dGUgaXQKCjIwMTAtMTEtMTggMTg6NDI6MzggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBkdmJiYXNlYmluOiBBZGQgVERUIHRvIHRoZSBpbml0aWFsIHBpZHMgZmlsdGVyIGZvciBkdmJzcmMuIEZpeGVzICM2MzUyMDAuCgoyMDEwLTExLTE2IDE3OjM1OjM2ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGFkZCBnc3RfanBlZ19wYXJzZV9za2lwX21hcmtlciAoKQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTA4LTEzIDEzOjE0OjMwICswMjAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IHVzZSBieXRlIHJlYWRlciBhY2Nlc3NvcnMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNyAxMDo0OTozMCArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbmxpbmUgZ3N0X2pwZWdfcGFyc2Vfc29mICgpCgkgIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcyAoaG9wZWZ1bGx5KS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNjYxOAoKMjAxMC0xMS0xNiAxNzoyMzozNSArMDEwMCAgVsOtY3RvciBNYW51ZWwgSsOhcXVleiBMZWFsIDx2amFxdWV6QGlnYWxpYS5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBmaXggdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjE4CgoyMDEwLTExLTE4IDEwOjU4OjA2IC0wMzAwICBBbGVrc2V5IExpbSA8YWxzcm9vdEBtZW1iZXIuZnNmLm9yZz4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgdXNlIGF1ZGlvIGNsb2NrIGFmdGVyIHN0b3BwaW5nIHZpZGVvIGNhcHR1cmUKCSAgQWRkYSBwcm92aWRlIGNsb2NrIGZ1bmN0aW9uIHRvIGNhbWVyYWJpbiB0byBtYWtlIGl0IG5vdAoJICBwcm92aWRlIHRoZSBhdWRpbyBjbG9jayBvZiB0aGUgcmVjb3JkIGJpbiB3aGVuIG5vIHZpZGVvCgkgIHJlY29yZGluZyBpcyBoYXBwZW5pbmcKCSAgRml4ZXMgIzYxMzM3OQoKMjAxMC0xMS0xNyAxNjoyMzo0MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBjb3JyZWN0IG9mZnNldCB3aGVuIGFkZGluZyBpbmRleCBlbnRyeQoJICAuLi4gYmVhcmluZyBpbiBtaW5kIHRoYXQgQlVGRkVSX09GRlNFVCBpcyBtZWRpYSBzcGVjaWZpYyBhbmQgbWF5IG5vdAoJICByZWZsZWN0IHRoZSBiYXNpYyBvZmZzZXQgYWZ0ZXIgaGF2aW5nIGJlZW4gcGFyc2VkLgoKMjAxMC0xMS0xNyAxNDozMDowOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGVuaGFuY2VtZW50cyBmb3IgdGltZXN0YW1wIG1hcmtlZCBmcmFtZWQgZm9ybWF0cwoJICBUaGF0IGlzLCBhcyBzdWNoIGZvcm1hdHMgYWxsb3cgc3ViY2xhc3MgdG8gZXh0cmFjdCBwb3NpdGlvbiBmcm9tIGZyYW1lLAoJICBpdCBpcyBwb3NzaWJsZSB0byBleHRyYWN0IGR1cmF0aW9uIChpZiBub3Qgb3RoZXJ3aXNlIHByb3ZpZGVkKQoJICBmcm9tIChuZWFyKSBsYXN0IGZyYW1lLCBhbmQgYSBzZWVrIGNhbiBmYWlybHkgYWNjdXJhdGVseSB0YXJnZXQgdGhlIHJlcXVpcmVkCgkgIHBvc2l0aW9uLgoJICBGaXhlcyAjNjMxMzg5LgoKMjAxMC0xMS0xNiAxNzowNjoxNCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIGZyYW1lIHNjYW5uaW5nIHBlZm9ybWVkIGJ5IF9sb29wCgoyMDEwLTExLTE2IDE4OjA0OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogc2xpZ2h0bHkgb3B0aW1pemUgc2VuZGluZyBvZiBwZW5kaW5nIG5ld3NlZ21lbnQgZXZlbnRzCgoyMDEwLTExLTE2IDE3OjA0OjM1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgZml4ZXMgYW5kIGVuaGFuY2VtZW50cwoJICBBcnJhbmdlIGZvciB1cHN0cmVhbSBhcyB3ZWxsIGFzIGRvd25zdHJlYW0gZmx1c2hpbmcgd2hlbiBzZWVraW5nLgoJICBBbHNvIGRldGVybWluZSB1cHN0cmVhbSBzaXplIGFzIHdlbGwgYXMgc2Vla2FiaWxpdHkuICBBZGp1c3Qgc29tZSBjb21tZW50cwoJICB0byByZWFsaXR5IGFuZCBlbXBsb3kgZGVidWcgc3RhdGVtZW50IGluIHByb3BlciBvcmRlci4KCjIwMTAtMTEtMTcgMTU6MzM6MzYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogbWlub3IgY2xlYW51cHMKCjIwMTAtMTEtMTcgMTU6MjQ6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogZml4IHJlZ3Jlc3Npb24gaW4gQURJRiBzcmMgY2FwcyBzZXR0aW5nCgoyMDEwLTExLTE2IDEyOjExOjUzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmg6CgkgIGZsYWNwYXJzZTogcGFyc2Ugc2Vla3RhYmxlCgkgIEZpeGVzICM2MzEzODkgKHBhcnRpYWxseSkuCgoyMDEwLTExLTE2IDEyOjA4OjU0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbWlub3IgcmVmYWN0b3IgYW5kIGVuYWJsZSBkZWZhdWx0IGJhc2VwYXJzZSBzZWdtZW50IGNsaXBwaW5nCgoyMDEwLTExLTEyIDAwOjQwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGZpeCBuYXN0eSBkZWFkbG9jawoJICBXZSBjYW5ub3QgY2FsbCBhbnkgQ01CdWZmZXJRdWV1ZSBmdW5jdGlvbnMgd2hpbGUgaG9sZGluZyB0aGUgbG9jayB0aGF0CgkgIG91ciBjYWxsYmFjayBhbHNvIGRlcGVuZHMgb24uIFNvIG5vdyB3ZSBtYWtlIHVzZSBvZiBDTUJ1ZmZlclF1ZXVlJ3MKCSAgdHJpZ2dlciBBUEkgaW4gb3JkZXIgdG8gZ2V0IG5vdGlmaWVkIHdoZW4gdGhlIHF1ZXVlIGhhcyBkYXRhLgoKMjAxMC0xMS0xMSAyMzo0MTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkgIGNtYXBpOiBjb3ZlciBDTUJ1ZmZlclF1ZXVlJ3MgdHJpZ2dlciBBUEkKCjIwMTAtMTEtMTEgMjE6NDI6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogdW5sb2NrIHNob3VsZCBhbHNvIG5vdGlmeQoJICBPdGhlcndpc2Ugd2UgZGVwZW5kIG9uIGJlaW5nIHdva2VuIHVwIGJ5IHRoZSBDb3JlTWVkaWEgcXVldWUgZ2V0dGluZwoJICBpdHMgbmV4dCBidWZmZXIuCgoyMDEwLTExLTEwIDIzOjE2OjUxICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgYXBwbGVtZWRpYTogZG9uJ3QgcHVzaCBzeW5jaHJvbm91c2x5IGZyb20gY2FsbGJhY2sKCSAgVGhlIGNvZGVjIHRoYXQgY2FsbGVkIHVzIG1pZ2h0IGJlIGhvbGRpbmcgbG9ja3MgdG8gc2hhcmVkIHJlc291cmNlcywgc28KCSAgd2Ugc2hvdWxkIG5ldmVyIHB1c2ggZG93bnN0cmVhbSBmcm9tIHdpdGhpbiBpdHMgYnVmZmVyIGNhbGxiYWNrLgoJICBOb3RlIHRoYXQgYSBHc3RCdWZmZXJMaXN0IGlzIG5vdCB1c2VkIGhlcmUgYmVjYXVzZSB3ZSBuZWVkIHRvIHByZXNlcnZlCgkgIHRoZSBidWZmZXIgbWV0YWRhdGEgaGVsZCBieSBvdXIgR3N0QnVmZmVyIHN1YmNsYXNzZXMuCgoyMDEwLTExLTEwIDIwOjUyOjQ3ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgdnRlbmM6IGJ1bXAgSC4yNjQgbGV2ZWwgZnJvbSAxLjMgdG8gMy4wCgkgIFRoaXMgc2hvdWxkIGJlIHR1cm5lZCBpbnRvIGEgcHJvcGVydHkuCgoyMDEwLTExLTEwIDIwOjQ0OjE1ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IGFkZCBiYXNpYyBkZXZpY2Ugc2VsZWN0aW9uIHN1cHBvcnQKCjIwMTAtMTEtMTAgMjA6NTE6MjcgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jdmFwaS5oOgoJICBjdmFwaTogYWRkIHdyYXBwZXIgZm9yIElPIHN1cmZhY2UgYWNjZXNzCgkgIFRvIGJlIHVzZWQgaW4gYSBmdXR1cmUgdmlkZW8gc2luayBmb3IgemVyby1jb3B5IHJlbmRlcmluZy4KCjIwMTAtMTEtMTAgMjA6MjU6MjggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogYWRkIGNhcHR1cmUgcG9ydCB0eXBlIGNvbnN0YW50cwoKMjAxMC0xMS0wOSAyMjo0MzoxNCArMDIwMCAgTWFydCBSYXVkc2VwcCA8bWFydC5yYXVkc2VwcEBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFJlbW92ZSB1bnVzZWQgc3JjX3N0cmlkZSB2YXJpYWJsZSBmcm9tIGJsaXQgZnVuY3Rpb25zCgoyMDEwLTExLTA5IDE4OjEwOjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0cGhvdG9ncmFwaHkuZGVmOgoJICB3aW4zMjogQWRkaW5nIHBob3RvZ3JhcGh5IGludGVyZmFjZSAuZGVmIGZpbGUKCSAgQWRkcyBjaGVjay1leHBvcnRzIHRvIC1iYWQgdG8gaGF2ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UKCSAgLmRlZiBmaWxlIGNyZWF0ZWQKCSAgRml4ZXMgIzU3ODYyOQoKMjAxMC0xMS0wOSAxOTozODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgIG1wZWdhdWRpb3BhcnNlOiBmaXggc2lsbHkgbGVhayBpbiBfcmVzZXQKCjIwMTAtMTEtMDggMjM6NTQ6MzEgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkgIGFwcGxlbWVkaWE6IGJpcGxhbmFyIGlzIGFjdHVhbGx5IE5WMTIsIG5vdCBJNDIwCgkgIEQnb2ghCgoyMDEwLTExLTA4IDIxOjIyOjEzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuaDoKCSAgdnRlbmM6IHJlbW92ZSBrZXlmcmFtZSBlbmZvcmNlbWVudCB3b3JrYXJvdW5kCgkgIFdhcyBvbmx5IG5lZWRlZCBmb3Igb2xkIGlPUyB3aGVyZSB0aGUgSC4yNjQgZW5jb2RlciBkaWRuJ3Qgc3VwcG9ydAoJICBrVlRFbmNvZGVGcmFtZU9wdGlvbktleV9Gb3JjZUtleUZyYW1lLgoKMjAxMC0xMS0wOCAxODo1Njo1MiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkgIGN2YXBpOiBhZGQgYSBmZXcgZXh0cmEgYml0cyBvZiB3cmFwcGluZwoKMjAxMC0xMS0wOCAxNTowODoxOSArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSAgYXBwbGVtZWRpYTogbG9jayBDVlBpeGVsQnVmZmVyIHJlYWQtb25seQoJICBBcyBwZXIgQXBwbGUncyBkb2NzLCB0aGlzIG1heSBpbXByb3ZlIHBlcmZvcm1hbmNlIGJ5IGF2b2lkaW5nIHJlZHVuZGFudAoJICBpbnZhbGlkYXRpb25zIG9mIGV4aXN0aW5nIGNhY2hlcyBvZiB0aGUgYnVmZmVyIGNvbnRlbnRzLgoKMjAxMC0xMS0wOCAxMDozMzo1OCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiBSZW1vdmUgZ3N0cmluZyBsZWFrCgkgIFNpbXBsaWZ5IGdzdC1jYW1lcmFiaW4tdGVzdCBieSByZW1vdmluZyBHU3RyaW5nIGFuZCByZXBsYWNpbmcKCSAgd2l0aCBnY2hhciBmb3IgdGhlIGZpbGVuYW1lIGhhbmRsaW5nLiBBbHNvIHJlbW92ZXMgYSBsZWFrIG9mCgkgIHRoZSBHU3RyaW5nIGRhdGEuCgoyMDEwLTExLTA4IDE2OjAwOjIxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGF2b2lkIHJlZmZpbmcgdGhlIGVsZW1lbnQgaW4gY2hhaW4KCjIwMTAtMTEtMDggMTU6NDU6NDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9yc3ZnL2dzdHJzdmdkZWMuYzoKCSAgcnN2Z2RlYzogYWRkIHNvbWUgbWluaW1hbCBsb2dnaW5nIHRvIHRyYWNrIHdoYXQgaXQgaXMgZG9pbmcKCjIwMTAtMTEtMDggMTM6NTI6NDkgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJICBjZWx2aWRlb3NyYzogcHV0IHBsYW5hciBmaXJzdCBpbiB0ZW1wbGF0ZSBjYXBzCgoyMDEwLTExLTA4IDEzOjQ5OjA0ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY3ZhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZGVjYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5jOgoJICBhcHBsZW1lZGlhOiBpbXByb3ZlIHZ0ZW5jL3Z0ZGVjIHBlcmZvcm1hbmNlCgkgIFByb2ZpbGluZyBvZiBILjI2NCBlbmNvZGUgYW5kIGRlY29kZSByZXZlYWxlZCB0aGF0IGNvbnZlcnNpb25zCgkgIGJldHdlZW4gcGFja2VkIGFuZCBwbGFuYXIgd2VyZSBoYXBwZW5pbmcgYmVoaW5kIHRoZSBzY2VuZXMuCgkgIEhlbmNlIHdlIG5vdyBjaG9vc2UgSTQyMCBpbnN0ZWFkIG9mIFlVWTIuCgoyMDEwLTEwLTIyIDE4OjA3OjAwICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBhZGQgYXN5bmMgYnVzIGhhbmRsZXIgdG8gZ3N0LWNhbWVyYWJpbi10ZXN0CgkgIFNwbGl0cyB0aGUgYnVzIGhhbmRsZXIgaW50byBzeW5jIGFuZCBhc3luYywga2VlcGluZyB0aGUKCSAgcHJlcGFyZS14d2luZG93IGhhbmRsaW5nIGF0IHRoZSBzeW5jIGZvciBmYXN0ZXIgaGFuZGxpbmcgYW5kCgkgIG1vdmluZyB0aGUgb3RoZXJzIHRvIHRoZSBhc3luYyBoYW5kbGVyCgoyMDEwLTExLTA2IDEyOjI3OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiB3ZSBzdGlsbCByZXF1aXJlIEd0aysgPj0gMi4xNC4wIHdoZW4gY29tcGlsaW5nIGFnYWluc3QgMi4wCgkgIFRoZSBjaGVjayBmb3IgdGhlIG1pbm9yIHZlcnNpb24gd2FzIGRyb3BwZWQgaW4gb25lIG9mIHRoZSBwcmV2aW91cwoJICBjb21taXRzLgoKMjAxMC0xMS0wNSAxNjo1MTo1NyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmg6CgkgIGNlbHZpZGVvc3JjOiBtZWFzdXJlIGZwcyB3aGVuIHN0YXRpc3RpY3MgaXMgZW5hYmxlZAoJICBBbHNvIHJlZmFjdG9yIHRpbWVzdGFtcGluZyBzbGlnaHRseS4KCjIwMTAtMTEtMDUgMTU6MTQ6MDggKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJICBjZWx2aWRlb3NyYzogdXBkYXRlIHRvIG5ldyBDZWxlc3RpYWwgYW5kIE1lZGlhVG9vbGJveCBBUElzCgkgIFRoaXMgbWVhbnMgY2VsdmlkZW9zcmMgaXMgbm8gbG9uZ2VyIGNvbXBhdGlibGUgd2l0aCBpT1MgMy54LgoKMjAxMC0xMS0wNSAxNTowODo1NiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2NlbHZpZGVvc3JjLmM6CgkgIGNlbHZpZGVvc3JjOiBmaXggZGVidWcgY2F0ZWdvcnkgZGVzY3JpcHRpb24KCjIwMTAtMTEtMDUgMTU6MDg6MDIgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkgIGNlbGFwaTogdXBkYXRlIHRvIHJlZmxlY3QgbmV3IEFQSSBvbiBpT1MgNC54CgkgIEFsc28gYWRkIHJlbWFpbmluZyBwcm9wZXJ0eSBjb25zdGFudHMgZm9yIGRldmljZSBhbmQgc3RyZWFtLgoKMjAxMC0xMS0wNSAxNTowNzozOCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL210YXBpLmg6CgkgIG10YXBpOiB1cGRhdGUgdG8gcmVmbGVjdCBuZXcgQVBJIG9uIGlPUyA0LngKCSAgQWxzbyBhZGQgcmVtYWluaW5nIHByb3BlcnR5IGNvbnN0YW50cyBmb3IgZGV2aWNlIGFuZCBzdHJlYW0uCgoyMDEwLTExLTA1IDEwOjU2OjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogVXBkYXRlIGdlbmVyYXRlZCBPUkMgc291cmNlcwoKMjAxMC0wOC0yNiAxNzowODoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEFkZHMgJ2lkbGUnIHByb3BlcnR5CgkgIEFkZHMgJ2lkbGUnLCBhIHJlYWQtb25seSBib29sZWFuIHByb3BlcnR5IHRoYXQgdGVsbHMgYXBwbGljYXRpb25zCgkgIGlmIHRoZXJlIGlzIGFueSBjYXB0dXJpbmcvc2F2aW5nL2VuY29kaW5nIGdvaW5nIG9uIGluIGNhbWVyYWJpbi4gSWYKCSAgbm90LCBpdCBpcyBzYWZlIHRvIHNldCBpdCB0byBOVUxMIGFuZCByZWxlYXNlIHJlc291cmNlcyB3aXRob3V0CgkgIGxvc2luZyBkYXRhLgoKMjAxMC0wNS0wNSAxMzo1ODowNyArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eQoJICBBZGQgInJlYWR5LWZvci1jYXB0dXJlIiBwcm9wZXJ0eSB0byBpbmRpY2F0ZSBpZiBwcmVwYXJpbmcgYSBuZXcKCSAgY2FwdHVyZSBpcyBwb3NzaWJsZS4KCSAgInJlYWR5LWZvci1jYXB0dXJlIiBjaGFuZ2VzIGJlZm9yZSB0aGUgJ2ltYWdlLWRvbmUnIHNpZ25hbCwgc28KCSAgdGhlIGFwcGxpY2F0aW9uIGNhbiBiZSBub3RpZmllZCB0aGF0IGl0IGNhbiBkbyBhIG5ldyBjYXB0dXJlCgkgIGV2ZW4gYmVmb3JlIHRoZSBwcmV2aW91cyBvbmUgaGFzIGZpbmlzaGVkIGVuY29kaW5nL3NhdmluZy4KCjIwMTAtMTEtMDUgMDA6MzI6MzUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRvbid0IGV2ZW4gY2hlY2sgZm9yIEd0aysgaWYgLS1kaXNhYmxlLWV4YW1wbGVzIGlzIHNwZWNpZmllZAoJICBUaGVyZSBhcmUgR3RrKy1iYXNlZCBleGFtcGxlcyBpbiBwbHVnaW4gZGlycyBhbmQgdGVzdHMvaWNsZXMvIHRvbywgYW5kCgkgIHdlIHdhbnQgdG8gZGlzYWJsZSB0aG9zZSBhcyB3ZWxsIHRoZW4uCgoyMDEwLTExLTA1IDAwOjI0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhZGQgLS13aXRoLWd0ayBvcHRpb24gYW5kIGRlZmF1bHQgdG8gR3RrKyAyLjAgd2hpbGUgdGhlIDMuMCBBUEkgaXMgc3RpbGwgaW4gZmx1eAoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjM0MDE0CgoyMDEwLTExLTAzIDAwOjA0OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy96YmFyLmM6CgkqIHRlc3RzL2ZpbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9maWxlcy9iYXJjb2RlLnBuZzoKCSAgdGVzdHM6IGFkZCB2ZXJ5IHNpbXBsZSB6YmFyIHVuaXQgdGVzdAoJICBOb3QgdmFsZ3JpbmQgY2xlYW4geWV0IChjb3VsZCBiZSB6YmFyJ3MgZmF1bHQgdGhvdWdoKS4KCjIwMTAtMTEtMDQgMTk6MjU6MjQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IG1ha2UgdmlkZW8gc291cmNlIGVsZW1lbnQgZGV0YWlscyBjb25zaXN0ZW50CgkgIEluc3BpcmVkIGJ5IHRoZSB2NGwyc3JjIGVsZW1lbnQgZGV0YWlscy4KCjIwMTAtMTEtMDQgMTk6MTE6MDQgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IGNvbnNpc3RlbnRseSB1c2UgZ3N0X2VsZW1lbnRfY2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlCgoyMDEwLTExLTA0IDE5OjAyOjUwICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsdmlkZW9zcmMuaDoKCSAgY2VsdmlkZW9zcmM6IHVwZGF0ZSBlLW1haWwgYWRkcmVzcwoKMjAxMC0xMS0wNCAxODo1OTo0NCArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWx2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogcmVuYW1lIGlwaG9uZWNhbWVyYXNyYyB0byBjZWx2aWRlb3NyYwoJICBUaGlzIGlzIGluIG9yZGVyIHRvIGltcHJvdmUgY29uc2lzdGVuY3kgd2l0aCB0aGUgb3RoZXIgdGhyZWUgc291cmNlcy4KCjIwMTAtMTEtMDQgMTc6NTg6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9hdmZ2aWRlb3NyYy5tOgoJICBhdmZ2aWRlb3NyYzogZG9uJ3QgZXhwbGljaXRseSBlbXB0eSB0aGUgYnVmZmVyIHF1ZXVlCgkgIFdlJ3JlIGhvbGRpbmcgdGhlIG9ubHkgcmVmZXJlbmNlIHRvIGl0IHNvIHRoZXJlJ3Mgbm8gbmVlZCB0byBleHBsaWNpdGx5CgkgIGVtcHR5IGl0IHJpZ2h0IGJlZm9yZSBsZXR0aW5nIGdvIG9mIG91ciByZWZlcmVuY2UuCgoyMDEwLTExLTA0IDE3OjUwOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvYXZmdmlkZW9zcmMubToKCSAgYXZmdmlkZW9zcmM6IG1ha2UgYnVmZmVyIG9mZnNldCBzdGFydCBmcm9tIHplcm8KCjIwMTAtMTEtMDQgMTc6NDc6MjUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGltcGxlbWVudCB6ZXJvLWNvcHkgYnkgdXNpbmcgYnVmZmVyLWZhY3RvcnkKCSAgVGhpcyBtZWFucyB3ZSdsbCB3cmFwIGVhY2ggQ29yZVZpZGVvIGJ1ZmZlciBpbnNpZGUgYSBHc3RCdWZmZXIgaW5zdGVhZCBvZgoJICBtYWtpbmcgYSBjb3B5LgoKMjAxMC0xMS0wNCAxNzo0NDoxMiArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJICBidWZmZXJmYWN0b3J5OiBhZGQgc3VwcG9ydCBmb3Igd3JhcHBpbmcgQ1ZCdWZmZXIKCjIwMTAtMTEtMDQgMTc6MjQ6MDMgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IGZpeCB1cCByZWZjb3VudGluZwoJICBTaG91bGQga2VlcCBhIHN0cm9uZyByZWZlcmVuY2UgdG8gdGhlIGRldmljZSwgYnV0IHdlIGRvbid0IG5lZWQgdG8gbWFuYWdlCgkgIHRoZSByZWZlcmVuY2UgY291bnQgb2YgZWxlbWVudHMgb2YgYW4gTlNNdXRhYmxlQXJyYXkgYXMgaXQgdGFrZXMgY2FyZSBvZgoJICB0aGF0IGZvciB1cy4KCjIwMTAtMTEtMDQgMTc6MTY6MDUgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIHF0a2l0dmlkZW9zcmM6IHNpbXBsaWZ5IHRpbWVzdGFtcGluZyBhbGdvcml0aG0KCSAgQWxpZ25pbmcgdGltZXN0YW1wcyBvbiBkdXJhdGlvbiBib3VuZGFyaWVzLCBza2lwcGluZyBmcmFtZXMgYW5kIHNvIGZvcnRoCgkgIGFyZSBjbGVhcmx5IHRoaW5ncyB0aGF0IGZhbGwgb3V0c2lkZSB0aGUgc2NvcGUgb2YgYSB2aWRlbyBzb3VyY2UuCgoyMDEwLTExLTA0IDE0OjE0OjA5ICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2F2ZnZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL2J1ZmZlcmZhY3RvcnkuaDoKCSogc3lzL2FwcGxlbWVkaWEvYnVmZmVyZmFjdG9yeS5tOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSAgYXBwbGVtZWRpYTogYWRkIG5ldyBpT1MgdmlkZW8gc291cmNlIGJhc2VkIG9uIEFWRm91bmRhdGlvbgoJICBUaGlzIGVsZW1lbnQgbWFrZXMgdXNlIG9mIHRoZSBkb2N1bWVudGVkIEFWRm91bmRhdGlvbiBmcmFtZXdvcmsgbWFkZQoJICBhdmFpbGFibGUgc3RhcnRpbmcgd2l0aCBpT1MgNC4wLCBhbmQgaGVuY2UgdGhpcyBtZWFucyB3ZSBjYW4gZmluYWxseQoJICBjYXB0dXJlIHZpZGVvIHVzaW5nIGEgcHVibGljIEFQSS4KCjIwMTAtMTEtMDQgMTQ6MjQ6MzYgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uYzoKCSAgYXBwbGVtZWRpYTogZml4IHN0cmVhbS1mb3JtYXQgY2FwcyB1c2VkIGZvciBILjI2NAoJICBUaGUgc3RyZWFtLWZvcm1hdCdzICJhdmMtc2FtcGxlIiBtZW1iZXIgaXMgbm93IGNhbGxlZCBqdXN0ICJhdmMiLgoKMjAxMC0xMS0wNCAxNDoyOTozNyArMDEwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy9hcHBsZW1lZGlhL21pb3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3BsdWdpbi5tOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkgIGFwcGxlbWVkaWE6IHVwZGF0ZSBlLW1haWwgYWRkcmVzc2VzCgoyMDEwLTExLTA0IDE0OjE4OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogSW52ZXJzZSAtYmFzZSB2ZXJzaW9uIGNoZWNrIGxvZ2ljIHRvIGFjdHVhbGx5IG1ha2Ugc2Vuc2UKCjIwMTAtMTEtMDMgMTg6MzQ6MjggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogQWRkIHN1cHBvcnQgZm9yIExpbnV4IENvb2tlZCBDYXB0dXJlIChTTEwpIGZyYW1lcwoKMjAxMC0xMS0wMyAxODoyMzoyNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgcGNhcHBhcnNlOiBGYWlsIG9uIHVua25vd24gdmVyc2lvbiBvciBsaW5rdHlwZQoJICBUaGUgZWxlbWVudCBvbmx5IGtub3dzIGFib3V0IG1ham9yIHZlcnNpb24gMiBhbmQgb25seSBkZWNvZGVzIGxpbmt0eXBlIGV0aGVybmV0CgoyMDEwLTExLTAzIDE4OjAyOjQ5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJICBwY2FwcGFyc2U6IFNlbmQgZXJyb3IgR3N0TWVzc2FnZSBpZiBzdHJlYW0gZG9lc24ndCBoYXZlIHRoZSBleHBlY3RlZCBtYWdpYwoKMjAxMC0xMS0wMyAxNjoxNjoyNCArMDEwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDxhbW9yYWxlc0BmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogc2VuZCBURFQgdGFibGVzIG1lc3NhZ2VzIGluIGEgc2VyaWFsaXplZCBldmVudCBkb3duc3RyZWFtCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzM5MTcKCjIwMTAtMTEtMDMgMTU6Mzc6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgSVlVMQoKMjAxMC0xMS0wMyAxNToxMjo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXJzdCB2ZXJzaW9uIG9mIFlVVjkgYW5kIFlWVTkgaW1wbGVtZW50YXRpb24KCjIwMTAtMTEtMDMgMDk6MjA6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IFVzZSBHU1RfQ0hFQ0tfUExVR0lOU19CQVNFX1ZFUlNJT04oKSBpbnN0ZWFkIG9mIG90aGVyIGhhY2tzCgoyMDEwLTEwLTE4IDE1OjMyOjE0ICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIG1wZWd2aWRlb3BhcnNlOiBmaXggdGltZXN0YW1wIGdlbmVyYXRpb24KCSAgVXNlIGluZm9ybWF0aW9uIGZyb20gdGhlIGdvcCBoZWFkZXIgYW5kIHBpY3R1cmUKCSAgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgcGljdHVyZSB0aW1lc3RhbXAuICh0aW1lX2NvZGUKCSAgYW5kIHRlbXBvcmFsX3JlZmVyZW5jZSkgYW5kIGFkYXB0IHRvIHVwc3RyZWFtIHRpbWVzdGFtcHMgaWYKCSAgcHJvdmlkZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MzIyMjIKCjIwMTAtMTEtMDIgMjM6MDg6MzAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvYXBwbGVtZWRpYS92dGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGRlYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGVuYy5oOgoJICBhcHBsZW1lZGlhOiBzd2l0Y2ggdnRhcGkgdG8gQ0ZUeXBlUmVmIHN0eWxlIHR5cGVkZWZzCgoyMDEwLTExLTAyIDIyOjUzOjMzICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvaXBob25lY2FtZXJhc3JjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW9hcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9kZXZpY2UuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuYzoKCSogc3lzL2FwcGxlbWVkaWEvbWlvdmlkZW9zcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbXRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRhcGkuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnRkZWMuaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRlbmMuYzoKCSAgYXBwbGVtZWRpYTogc3VwcG9ydCBwdWJsaWMgdmVyc2lvbiBvZiBDb3JlTWVkaWEKCSAgQWxzbyByZW5hbWUgdGhlIHJlbGV2YW50IEFQSSBzbyB3ZSBtaXJyb3IgdGhlIHB1YmxpYyBBUEkgbW9yZSBjbG9zZWx5LCBhbmQKCSAgc3dpdGNoIHRvIENvcmVGb3VuZGF0aW9uIENGVHlwZVJlZiBzdHlsZSB0eXBlZGVmcy4gV2Ugc3RpbGwgc3VwcG9ydCB0aGUgb2xkCgkgIHByaXZhdGUgQ29yZU1lZGlhIGluIG9yZGVyIHRvIG5vdCBicmVhayBPUyBYIHN1cHBvcnQuCgkgIFRoaXMgbWVhbnMgdGhhdCB2dGVuYyBhbmQgdnRkZWMgYXJlIG5vdyBjb21wYXRpYmxlIHdpdGggaU9TIDQueCwgYW5kIGluCgkgIHRoZW9yeSBhbHNvIGZ1dHVyZSB2ZXJzaW9ucyBvZiBPUyBYLCB3aGVyZSB0aGlzIEFQSSBtYXkgdHVybiBwdWJsaWMgbGlrZQoJICBpdCBoYXMgb24gaU9TLgoKMjAxMC0xMS0wMiAxNzo0NjoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGhhbmRsZSBtb3JlIGZvcm1hdHMgdGhhdCBzdGFydCB3aXRoIGFuIDgtYml0IFkgcGxhbmUKCSAgV2UgY2FuIGhhbmRsZSBtb3N0IHBsYW5hciBZVVYgbGF5b3V0cyB0b28sIGFzIGxvbmcgYXMgd2UgZG9uJ3QKCSAgdGVsbCB6YmFyIGFib3V0IHRoZSBjaHJvbWEgcGxhbmVzLgoKMjAxMC0xMS0wMiAxNzoxODo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogdXNlIGNvcnJlY3Qgc3RyaWRlCgkgIEZpeGVzIGRldGVjdGlvbiBmb3IgaW1hZ2VzIHdpdGggYSB3aWR0aCB0aGF0J3Mgbm90IGEgbXVsdGlwbGUgb2YgZm91ci4KCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoJICBCYXNlZCBvbiBwYXRjaCBieTogU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMwODMwCgoyMDEwLTExLTAyIDE2OjU0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogZml4IGJ1aWxkIHdpdGggY3VycmVudCBnaXQgb2YgZ3N0LXBsdWdpbnMtYmFzZQoJICBpZmRlZiB0ZXN0cyBkb24ndCB3b3JrIHNvIHdlbGwgaWYgd2UgZGVmaW5lIHRoZW0gaW4gdGhlIGNvZGUKCSAgYWJvdmUgaW4gY2FzZSB0aGV5IGFyZW4ndCBkZWZpbmVkLgoKMjAxMC0xMS0wMiAxNjozNTo1NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IG1pbm9yIGNsZWFuLXVwCgkgIEZpeCB0eXBvIGFuZCB1c2UgREVGQVVMVF9GT08gZGVmaW5lIGZvciBwcm9wZXJ0eSBkZWZhdWx0LgoKMjAxMC0xMS0wMiAxNjozMjo1NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkgIHpiYXI6IGRpc2FibGUgY2FjaGUgYnkgZGVmYXVsdAoJICBTaW5jZSBpdCBicmVha3Mgc3RpbGwgaW1hZ2UgYmFyIGNvZGUgZGV0ZWN0aW9uLgoKMjAxMC0xMS0wMiAxNjowNTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciA4IGJpdCBwYWxldHRlZCBSR0IKCSAgVGhpcyBuZWVkcyB0aGUgOCBiaXQgcGFsZXR0ZWQgc3VwcG9ydCBmcm9tIC1iYXNlCgkgIHdoaWNoIHdpbGwgYmUgY29tbWl0dGVkIGFmdGVyIHJlbGVhc2UuIFdpdGhvdXQgdGhpcwoJICB0aGUgOCBiaXQgcGFydHMgYXJlIGRpc2FibGVkLgoKMjAxMC0xMS0wMiAxMDoyNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuYzoKCSAgY2FtZXJhYmluOiBBZGQgbWlzc2luZyBjaGFuZ2UgdG8gcHJldmlvdXMgY29tbWl0cwoJICBGb3Jnb3QgdG8gYWRkIHRoaXMgY2hhbmdlIHRvIHRoZSBsYXRlc3QgY29tbWl0cy4gVGhpcyBmaXhlcyB0aGUgYnVpbGQuCgoyMDEwLTExLTAyIDA5OjM5OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IEZpeCBsZWFrcyBpbiB0aGUgcHJldmlldyBoYW5kbGluZwoJICBSZW1lbWJlciB0byB1bnJlZiB0aGUgYnVzIGFmdGVyIGFkZGluZyB0aGUgd2F0Y2guCgkgIFJlbWVtYmVyIHRvIHVucmVmIHRoZSBlbGVtZW50IGFmdGVyIGdldHRpbmcgaXQgd2l0aAoJICBnc3RfYmluX2dldF9ieV9uYW1lLgoKMjAxMC0xMS0wMiAwOTozODoyMCAtMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgbGVhayBhIGNhcHMKCSAgZ3N0X2NhcHNfcmVwbGFjZSBkb2Vzbid0IHRha2Ugb3duZXJzaGlwLCBidXQgcmVmcyB0aGUgY2Fwcy4gU28gd2UKCSAgdW5yZWYgdGhlIHJlbWFpbmluZyBjYXBzLgoKMjAxMC0wOS0yNCAxNjoyODoxMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFJlc2V0IHByZS1uaWdodC1tb2RlIHN0b3JlZCBmcHMgd2hlbiBtb2RlIGNoYW5nZXMKCSAgV2hlbiBzd2l0Y2hpbmcgYmV0d2VlbiB2aWRlby9zdGlsbCBtb2RlcyB0aGUgcHJlLW5pZ2h0LW1vZGUgZnBzCgkgIHNob3VsZCBiZSByZXNldCB0byBwcmV2ZW50IGl0IGJlaW5nIHVzZWQgaW4gdGhlIGluY29ycmVjdCBtb2RlLCBjYXVzaW5nCgkgIHRoZSB2aWRlb3NvdXJjZSB0byBmYWlsIGNvbmZpZ3VyaW5nIGl0c2VsZgoKMjAxMC0wOS0yMSAxNjoyMzo0NyArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIHN1cHBvcnQgZm9yIHNldHRpbmcgbWFueSBwb3N0LXByb2Nlc3NpbmcgZWxlbWVudHMKCSAgSW5zdGVhZCBvZiB0YWtpbmcgYSBzaW5nbGUgZWxlbWVudCBhcyBpbnB1dCBmb3IgdGhlIGltYWdlIHBvc3QKCSAgcHJvY2Vzc2luZyBvcHRpb24sIHRha2UgYSBsaXN0IG9mIGNvbW1hIHNlcGFyYXRlZCBlbGVtZW50cwoJICB0aGF0IHdpbGwgYmUgdXNlZC4KCjIwMTAtMDktMjAgMTE6NTQ6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBTdG9yZSBhcHAgcHJlZmVycmVkIGNhcHR1cmUgcGFyYW1ldGVycyBzZXBhcmF0ZWx5CgkgIFN0b3JlIHdpZHRoL2hlaWdodC9mcHMgZm9yIHZpZGVvIGNhcHR1cmVzIGluIGEgc2VwYXJhdGUgdmFyaWFibGUKCSAgdGhhbiB0aGUgb25lIHRoYXQgc3RvcmVzIHRoZSBjdXJyZW50bHkgdXNlZCB2YWx1ZS4KCSAgVGhpcyBwcmV2ZW50cyB0aGUgdXNlciBwcmVmZXJlbmNlcyB0byBiZSBsb3N0IHdoZW4gcmVzZXR0aW5nCgkgIHRoZSBjdXJyZW50bHkgdXNlZCBkaW1lbnNpb25zIGZvciBuaWdodCBtb2RlLCBmb3IgZXhhbXBsZQoKMjAxMC0wOS0yMCAwODo0Mjo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNsZWFudXAgdXNlZCBjYXBzIHdoZW4gZ29pbmcgdG8gTlVMTAoJICBSZXNldHMgdXNlZCBjYXBzIHNvIHRoYXQgY2FtZXJhYmluIGRvZXNuJ3QgdHJ5IHRvIHVzZSB0aGVtCgkgIHdoZW4gcmVzdGFydGluZywgd2hlcmUgZWxlbWVudHMvcHJvcGVydGllcyBtaWdodCBoYXZlIGNoYW5nZWQKCSAgYW5kIHRoZSBvbGQgY2FwcyBiZSBpbmNvbXBhdGlibGUKCjIwMTAtMDktMDkgMTA6NTA6NTkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBwcmlvcml0eSBmb3IgaWRsZV9hZGQgZnVuY3Rpb24KCSAgQWRkcyBhIGhpZ2hlciBwcmlvcml0eSB0byB0aGUgaWRsZV9hZGQgZnVuY3Rpb24gZm9yIHdoZW4KCSAgdGhlIGltYWdlIGJpbiBmaW5pc2hlZCB0aGUgaW1hZ2UgY2FwdHVyZS4gVGhpcyByZWR1Y2VzIHRoZQoJICBkZWxheSBmb3IgdGhlIGFwcGxpY2F0aW9uIHRvIGJlIG5vdGlmaWVkIGFib3V0IHRoaXMuCgoyMDEwLTExLTAxIDIzOjA0OjQ0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBsb2cgdGltZXMgaW4gaHVtYW4gcmVhZGFibGUgZm9ybQoKMjAxMC0xMS0wMSAyMjo0MDozNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogbW92ZSByZW9jY3VyaW5nIGxvZ3MgdG8gTE9HIGFuZCByZW1vdmUgYSBkb3VibGUgaW5mbwoJICBMZXNzIGRlYnVnIHNwZXcgaW4gREVCVUcgY2F0ZWdvcnkuIE5vIG5lZWQgdG8gbG9nIHBhZCBhZ2FpbiBpZiB3ZSB1c2UKCSAgR1NUX0xPR19PQkpFQ1QocGFkLC4uLikuCgoyMDEwLTExLTAxIDE1OjUzOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy1kaXN0LmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5oOgoJICBjb2csIGNvbG9yc3BhY2U6IHVwZGF0ZSBvcmMgYmFja3VwIGZ1bmN0aW9ucyBmb3IgbGF0ZXN0IGNoYW5nZXMKCSAgU2hvdWxkIGZpeCBidWlsZCBvbiBzeXN0ZW1zIHdpdGhvdXQgdGhlIGxhdGVzdCBvcmMuCgoyMDEwLTExLTAxIDE1OjUzOjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbC5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3JvLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NsLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHVwZGF0ZSBmb3IgbmV3IHRyYW5zbGF0aW9ucwoKMjAxMC0xMC0zMSAyMzo0NjoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE1IGFuZCBCR1IxNQoKMjAxMC0xMC0zMSAyMzo0NDoyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFJHQjE2IGFuZCBCR1IxNgoKMjAxMC0xMC0zMSAyMzoyNTo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgWTE2CgoyMDEwLTEwLTMxIDIzOjI1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJICBjb2xvcnNwYWNlOiBGaXggWTgwMCBPUkMgZ2V0bGluZSBpbXBsZW1lbnRhdGlvbgoKMjAxMC0xMC0zMSAyMzowNzo0MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBzdXBwb3J0IGZvciBBNDIwCgoyMDEwLTEwLTMxIDIzOjAwOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSAgY29sb3JzcGFjZTogQWRkIHN1cHBvcnQgZm9yIFk0MUIKCjIwMTAtMTAtMzEgMjI6Mzk6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgc3VwcG9ydCBmb3IgU0RUVi9IRFRWIFlVViBjb252ZXJzaW9ucwoKMjAxMC0xMC0zMSAyMjoyMTozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JzcGFjZS9jb2xvcnNwYWNlLmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb21tZW50IGZvciB0aGUgQTQyMCBnZXRsaW5lL3B1dGxpbmUgdGFibGUgcm93CgoyMDEwLTEwLTMxIDIwOjQwOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJICBjb2xvcnNwYWNlOiBBZGQgY29uc3QgdG8gdGhlIHNvdXJjZSBhcnJheXMgYW5kIHRoZSBnZXRsaW5lL3B1dGxpbmUgdGFibGUKCjIwMTAtMTAtMzEgMTk6NDI6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBNYWtlIGZhc3QtcGF0aCB0cmFuc2Zvcm0gdGFibGUgY29uc3QKCjIwMTAtMTAtMzEgMTk6Mzk6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBPbmx5IGRvIHRoZSBJNDIwLT5ZVVkyIGNvbnZlcnNpb24gb25jZSBwZXIgc2NhbmxpbmUgaW4gdGhlIGZhc3QgcGF0aAoKMjAxMC0xMC0yOSAxNDowODo1OCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZSBvbmx5IHVwc3RyZWFtIGR1cmF0aW9uIGlmIGl0IHByb3ZpZGVzIG9uZQoKMjAxMC0xMC0yNSAxNDoxNTo1MCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmxvdyB1cGRhdGVfYml0cmF0ZSBjb2RlCgkgIC4uLiB3aGljaCBtYWtlcyBsb2NhbCB2YXJpYWJsZXMgcmVwcmVzZW50IHJlYWwgc3RhdGUgYmV0dGVyLCBhbmQgYXZvaWRzCgkgIHRyaWdnZXJpbmcgdW5uZWVkZWQgdXBkYXRlcy9hY3Rpb25zLgoKMjAxMC0xMC0yNSAxNDoxMzo1MSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMTAtMTAtMjggMTg6NTE6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSAgZ2F1ZGllZmZlY3RzOiBJbmNsdWRlIGdzdGNvbnRyb2xsZXIgaGVhZGVyIGFuZCBhZGQgdGhlIHJlcXVpcmVkIENGTEFHUwoKMjAxMC0xMC0yNyAxNDo1NzozNiArMDIwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZGlsYXRlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RwbHVnaW4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogbWFkZSBmaWx0ZXIgcGFyYW1ldGVycyBkeW5hbWljIGFuZCBjb250cm9sbGFibGUKCjIwMTAtMDctMDEgMTU6MDc6NDEgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJICB3aW5rczogd29yayBhcm91bmQgc2h1dGRvd24gZGVhZGxvY2sKCSAgR2V0T3ZlcmxhcHBlZFJlc3VsdCgpIG1pZ2h0IG5ldmVyIHJldHVybiB3aXRoIHNvbWUgZHJpdmVycy4gVGltZSBvdXQKCSAgYWZ0ZXIgMTAwMCBtcy4gV2UgY2Fubm90IHJlYWxseSBmaXggdGhpcyB3aXRob3V0IGVpdGhlcjoKCSAgMSkgQ29udHJvbGxpbmcgdGhlIHN0cmVhbWluZyB0aHJlYWQgc28gd2UgY2FuIGRvIENhbmNlbElvKCkgZnJvbSB0aGF0CgkgIHRocmVhZC4KCSAgMikgU3dpdGNoIHRvIHVzaW5nIElPIGNvbXBsZXRpb24gcG9ydHMuCgoyMDEwLTA2LTExIDE4OjA0OjU4ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJlbW92ZSBKUEVHIHZhbGlkYXRpb24gaGFjawoJICBUaGlzIHNob3VsZCBjbGVhcmx5IG5vdCBiZSBkb25lIGluIGEgdmlkZW8gc291cmNlLgoKMjAxMC0wNC0yMCAxMjowNTo0NSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogc2V0IFByaW9yaXR5U3ViQ2xhc3MgdG8gS1NQUklPUklUWV9OT1JNQUwgaW5zdGVhZCBvZiAxCgkgIEluIG9yZGVyIHRvIG1hdGNoIHRoZSByZWZlcmVuY2UgaW1wbGVtZW50YXRpb24uCgoyMDEwLTA0LTIwIDExOjU5OjIzICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSAgd2lua3M6IHJldHJ5IHdoZW4gS3NDcmVhdGVQaW4gZmFpbHMgd2l0aCBFUlJPUl9OT1RfUkVBRFkKCSAgVHVybnMgb3V0IHRoYXQgdGhlIHJlZmVyZW5jZSBpbXBsZW1lbnRhdGlvbiBkb2VzIHRoaXMsIGhlbmNlIHdlIG5lZWQgdG8KCSAgbWlycm9yIHRoaXMgYmVoYXZpb3VyLiBUaGlzIHR5cGljYWxseSBoYXBwZW5zIHdpdGggaGFyZHdhcmUgdGhhdCB0YWtlcwoJICBzb21lIHRpbWUgdG8gaW5pdGlhbGl6ZS4KCjIwMDktMTAtMjYgMTY6MDk6MDAgKzAxMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZnJhbWVyYXRlIGZyYWN0aW9uIGNvbnZlcnNpb25zCgkgICogRm9yIGluc3RhbmNlIDcuNSBmcHMgc2hvdWxkIGJlIHJlcHJlc2VudGVkIGFzIDE1LzIgaW5zdGVhZCBvZiA3LzEuCgkgICogQ2xhbXAgQXZnVGltZVBlckZyYW1lIGFuZCBkd0JpdFJhdGUgdG8gYWNjb3VudCBmb3Igcm91bmRpbmcgZXJyb3JzLgoKMjAwOS0xMC0xMiAxNzoyNjoxNSArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc2hlbHBlcnMuYzoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5oOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IGltcHJvdmUgZXJyb3ItaGFuZGxpbmcKCSAgTW9zdCBpbXBvcnRhbnQgcGFydCBoZXJlIGlzIHNwZWNpYWwtY2FzaW5nICJkZXZpY2UgYnVzeSIgc28gdGhlIGFwcGxpY2F0aW9uCgkgIGlzIGFibGUgdG8gcHJvdmlkZSBiZXR0ZXIgZmVlZGJhY2sgd2hlbiBhbm90aGVyIGFwcGxpY2F0aW9uIGlzIHVzaW5nIHRoZQoJICBkZXZpY2UuCgoyMDA5LTA5LTA3IDE2OjQ1OjU3ICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYzoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBlcmZvcm1hbmNlIGltcHJvdmVtZW50cwoJICAqIE1ha2UgdGhlIGRyaXZlciB3cml0ZSBkaXJlY3RseSBpbnRvIGVhY2ggR3N0QnVmZmVyIHRvIGF2b2lkIG1lbWNweSgpLgoJICAqIERvbid0IG1lbXNldCgpIHRoZSBidWZmZXIgYmVmb3JlIHJldXNpbmcgaXQuCgkgICogUmVjeWNsZSBtZW1vcnkgYnkga2VlcGluZyB0d28gc3BhcmUgYnVmZmVycy4gVHdvIGJlY2F1c2UgdGhlIHNpbmsKCSAgZG93bnN0cmVhbSBtYXkga2VlcCBhIHJlZiB0byB0aGUgcHJldmlvdXMgYnVmZmVyLgoJICBOb3RlIHRoYXQgd2UgYWxpZ24gYnVmZmVycyBvbiBoaWdoZXN0IHBvc3NpYmxlIGJ5dGUgYm91bmRhcnkgKDQwOTYpIHNvIHdlCgkgIGRvbid0IGhhdmUgdG8gdGFrZSBpbnRvIGFjY291bnQgd2hhdCBraW5kIG9mIGFsaWdubWVudCB0aGUgZHJpdmVyIHJlcXVpcmVzLgoKMjAwOS0wOS0wNyAxNjowOTozNCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmg6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgIHdpbmtzOiBzdG9yZSBwcml2IHBvaW50ZXIgaW5zdGVhZCBvZiBsb29raW5nIGl0IHVwCgoyMDA5LTA4LTMxIDE5OjMzOjMwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IHBvc3QgZXJyb3IgbWVzc2FnZSBvbiBmbG93LXVuZXhwZWN0ZWQKCjIwMDktMDgtMzEgMTk6Mjg6NTAgKzAyMDAgIEFuZHJlcyBDb2x1YnJpIDxhbmRyZXMuY29sdWJyaUBnbWFpbC5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5oOgoJICB3aW5rczogYWRkIHByb3BlcnR5IHByb2Jpbmcgc3VwcG9ydAoKMjAwOS0wOC0zMSAxOToyNjozNiArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgd2lua3M6IHNvcnQgZGV2aWNlcyB0aGF0IGxvb2sgbGlrZSBjYW1lcmFzIGZpcnN0CgoyMDA5LTA4LTMxIDE5OjI1OjAyICswMjAwICBLbnV0IEluZ2UgSHZpZHN0ZW4gPGtudXQuaW5nZS5odmlkc3RlbkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgd2lua3M6IHByb3ZpZGUgZ3Vlc3NlZCBwaXhlbC1hc3BlY3QtcmF0aW8gaW4gY2FwcwoKMjAwOS0wOC0zMSAxOToyMzo0MCArMDIwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvcmF2bmFzQGNpc2NvLmNvbT4KCgkqIHN5cy93aW5rcy9nc3Rrc2Nsb2NrLmM6CgkgIHdpbmtzOiBvbmx5IHRyeSB0byBjaGFuZ2Ugc3RhdGUgd2hlbiBhY3R1YWxseSBvcGVuCgoyMDA5LTA4LTMxIDE5OjIyOjQwICswMjAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJKiBzeXMvd2lua3Mva3NoZWxwZXJzLmg6CgkqIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jOgoJICB3aW5rczogaWdub3JlIHVuc3VwcG9ydGVkIGZvcm1hdHMKCjIwMTAtMTAtMjggMTY6MTQ6MzQgKzAyMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b3Jhdm5hc0BjaXNjby5jb20+CgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICB3aW5rczogYWRqdXN0IGEgY291cGxlIG9mIGxvZ2dpbmcgc2V2ZXJpdGllcwoJICBTaG91bGQgY2xlYXJseSBub3QgYmUgY29uc2lkZXJlZCB3YXJuaW5ncywgYXMgdGhleSdyZSBxdWl0ZSBjb21tb24uCgoyMDEwLTEwLTI3IDE4OjMwOjExICswMTAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9yYXZuYXNAY2lzY28uY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9hcHBsZW1lZGlhL01ha2VmaWxlLmFtOgoJKiBzeXMvYXBwbGVtZWRpYS9jZWxhcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvY2VsYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NtYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWJ1ZmZlci5jOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JlbWVkaWFidWZmZXIuaDoKCSogc3lzL2FwcGxlbWVkaWEvY29yZW1lZGlhY3R4LmM6CgkqIHN5cy9hcHBsZW1lZGlhL2NvcmVtZWRpYWN0eC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9jb3JldmlkZW9idWZmZXIuYzoKCSogc3lzL2FwcGxlbWVkaWEvY29yZXZpZGVvYnVmZmVyLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL2N2YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2R5bmFwaS1pbnRlcm5hbC5oOgoJKiBzeXMvYXBwbGVtZWRpYS9keW5hcGkuYzoKCSogc3lzL2FwcGxlbWVkaWEvZHluYXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL2lwaG9uZWNhbWVyYXNyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9pcGhvbmVjYW1lcmFzcmMuaDoKCSogc3lzL2FwcGxlbWVkaWEvbWlvYXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL21pb2FwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb2RldmljZS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5jOgoJKiBzeXMvYXBwbGVtZWRpYS9taW92aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5jOgoJKiBzeXMvYXBwbGVtZWRpYS9tdGFwaS5oOgoJKiBzeXMvYXBwbGVtZWRpYS9wbHVnaW4ubToKCSogc3lzL2FwcGxlbWVkaWEvcXRraXR2aWRlb3NyYy5oOgoJKiBzeXMvYXBwbGVtZWRpYS9xdGtpdHZpZGVvc3JjLm06CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0YXBpLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZGVjLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0ZW5jLmg6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGRlY2Jpbi5jOgoJKiBzeXMvYXBwbGVtZWRpYS92dGgyNjRkZWNiaW4uaDoKCSogc3lzL2FwcGxlbWVkaWEvdnRoMjY0ZW5jYmluLmM6CgkqIHN5cy9hcHBsZW1lZGlhL3Z0aDI2NGVuY2Jpbi5oOgoJKiBzeXMvYXBwbGVtZWRpYS92dHV0aWwuYzoKCSogc3lzL2FwcGxlbWVkaWEvdnR1dGlsLmg6CgkgIGFwcGxlbWVkaWE6IE5ldyBwbHVnaW4gZm9yIEFwcGxlIG11bHRpbWVkaWEgQVBJcwoJICBQcm92aWRlcyB0aGUgZm9sbG93aW5nIGVsZW1lbnRzOgoJICBxdGtpdHZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSByZWx5aW5nIG9uIHRoZSBRVEtpdCBBUEkuIENvbWVzIHdpdGgKCSAgaGFyZC1jb2RlZCBjYXBzIGFzIHRoZSBBUEkgZG9lcyBub3QgcHJvdmlkZSBhbnkgd2F5IG9mIHF1ZXJ5aW5nIGZvcgoJICBmb3JtYXRzIHN1cHBvcnRlZCBieSB0aGUgaGFyZHdhcmUuIEhhc24ndCBiZWVuIHRlc3RlZCBhIGxvdCwgYnV0IHNlZW1zCgkgIHRvIHdvcmsuCgkgIG1pb3ZpZGVvc3JjOiBPUyBYIHZpZGVvIHNvdXJjZSB3aGljaCB1c2VzIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDb3JlTWVkaWFJT1NlcnZpY2VzIEFQSSwgd2hpY2ggaXMgYWxzbyB0aGUgb25lIHVzZWQgYnkgaUNoYXQuCgkgIFByZXNlbnQgb24gbGF0ZXN0IHZlcnNpb24gb2YgTGVvcGFyZCBhbmQgYWxsIHZlcnNpb25zIG9mIFNub3cgTGVvcGFyZC4KCSAgSGFzIGJlZW4gdGVzdGVkIGV4dGVuc2l2ZWx5IHdpdGggYnVpbHQtaW4gY2FtZXJhcyBhbmQgVEFOREJFUkcncwoJICBQcmVjaXNpb25IRCBVU0IgY2FtZXJhLgoJICB2dGVuYywgdnRkZWM6IEdlbmVyaWMgY29kZWMgd3JhcHBlcnMgd2hpY2ggbWFrZSB1c2Ugb2YgdGhlIHVuZG9jdW1lbnRlZC8KCSAgcHJpdmF0ZSBWaWRlb1Rvb2xib3ggQVBJIG9uIE9TIFggYW5kIGlPUy4gTGlzdCBvZiBjb2RlY3MgYXJlIGN1cnJlbnRseQoJICBoYXJkLWNvZGVkIHRvIEguMjY0IGZvciB2dGVuYywgYW5kIEguMjY0ICsgSlBFRyBmb3IgdnRkZWMuIENhbiBlYXNpbHkgYmUKCSAgZXhwYW5kZWQgYnkgYWRkaW5nIG5ldyBlbnRyaWVzIHRvIHRoZSBsaXN0cywgYnV0IGhhdmVuJ3QgeWV0IGhhZCB0aW1lIHRvCgkgIGRvIHRoYXQuIFNob3VsZCBwcm9iYWJseSBhbHNvIGltcGxlbWVudCBwcm9iaW5nIGFzIGF2YWlsYWJsZSBjb2RlY3MgZGVwZW5kCgkgIG9uIHRoZSBPUyBhbmQgaXRzIHZlcnNpb24sIGFuZCB0aGVyZSBkb2Vzbid0IHNlZW0gdG8gYmUgYW55IHdheSB0bwoJICBlbnVtZXJhdGUgdGhlIGF2YWlsYWJsZSBjb2RlY3MuCgkgIHZ0aDI2NGRlY2JpbiwgdnRoMjY0ZW5jYmluOiBXcmFwcGVyIGJpbnMgdG8gbWFrZSBpdCBlYXNpZXIgdG8gdXNlCgkgIHZ0ZGVjX2gyNjQvdnRlbmNfaDI2NCBpbiBsaXZlIHNjZW5hcmlvcy4KCSAgaXBob25lY2FtZXJhc3JjOiBpUGhvbmUgY2FtZXJhIHNvdXJjZSByZWx5aW5nIG9uIHRoZSB1bmRvY3VtZW50ZWQvcHJpdmF0ZQoJICBDZWxlc3RpYWwgQVBJLiBUZXN0ZWQgb24gaU9TIDMuMSBydW5uaW5nIG9uIGFuIGlQaG9uZSAzR1MuIFN0b3BzIHdvcmtpbmcKCSAgYWZ0ZXIgYSBmZXcgbWludXRlcywgcHJlc3VtYWJseSBiZWNhdXNlIG9mIGEgcmVzb3VyY2UgbGVhay4gTmVlZHMgc29tZQoJICBsb3ZlLgoJICBOb3RlIHRoYXQgdGhlIGlPUyBwYXJ0cyBoYXZlbid0IHlldCBiZWVuIHBvcnRlZCB0byBpT1MgNC54LgoKMjAxMC0xMC0yOCAxMTo0MzozNCArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBBZGQgdGFnIGV2ZW50IGVtaXNzaW9uLiBGaXhlcyAjNjI3MjUzCgoyMDEwLTEwLTI3IDEzOjE3OjEwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdiYmQ3MDggdG8gMDExYmNjOAoKMjAxMC0xMC0yMSAxNjowNjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IENoZWNrIHRoZSBzb3VyY2Ugc2NlbmUgbW9kZSB3aGVuIGNyZWF0aW5nIGl0CgkgIEFzIGNhbWVyYWJpbiBvbmx5IGdldHMgbm90aWZpZWQgb2YgdGhlIGNoYW5nZXMgZnJvbSB0aGUKCSAgdmlkZW8gc291cmNlIGVsZW1lbnQsIGl0IHNob3VsZCBxdWVyeSB0aGUgaW5pdGlhbCB2YWx1ZQoJICBvbmNlIHRoZSBzb3VyY2UgaXMgY3JlYXRlZCBzbyBpdCBpbml0aWFsaXplcyBpdHNlbGYKCSAgY29ycmVjdGx5LgoKMjAxMC0xMC0yMCAwMDowNzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGZpeCBkaXN0Y2hlY2sgYSBiaXQgbW9yZQoJICBEaXN0IGVsZW1lbnRzL3BhcnNlci5oIGhlYWRlciBmaWxlLCB3aGljaCBmaXhlcyB0aGUgJ21ha2UgY2hlY2snIGJ1aWxkLgoKMjAxMC0xMC0xOSAyMzo0MDozNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92YWx2ZS5jOgoJICB0ZXN0czogZml4IHZhbHZlIHVuaXQgdGVzdAoJICBnc3RfYnVmZmVyX3BhZF9hbGxvYygpIG5lZWRzIHNpbXBsZSBjYXBzIG9yIE5VTEwgY2FwcywKCSAgQU5ZIGNhcHMgYXJlIG5vdCBhbGxvd2VkLgoKMjAxMC0xMC0xOSAyMzoyNTo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmM6CgkgIGRjYXBhcnNlOiBpbml0IHZhcmlhYmxlIHRvIG1ha2Ugb3N4IGJ1aWxkIGJvdCBoYXBweQoJICBnc3RkY2FwYXJzZS5jOiBJbiBmdW5jdGlvbiAnZ3N0X2RjYV9wYXJzZV9jaGVja192YWxpZF9mcmFtZSc6CgkgIGdzdGRjYXBhcnNlLmM6MjQ2OiB3YXJuaW5nOiAnYmVzdF9zeW5jJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVuY3Rpb24KCjIwMTAtMTAtMTkgMDA6MTU6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RkY2FwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGRjYXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogYWRkIHZlcnkgYmFzaWMgZHRzL2RjYSBwYXJzZXIKCSAgU3RpbGwgc29tZSBpc3N1ZXMsIGUuZy4gd2l0aCBzZWVrYWJsZSBxdWVyaWVzIGluIHRvdGVtLCBidXQgYWxzbwoJICBwcm9jZXNzaW5nIGFscmVhZHktY2h1bmtlZCBpbnB1dCAoY3JlYXRlZCB3aXRoIG1hdHJvc2thZGVtdXggISBnZHBwYXkpLgoKMjAxMC0xMC0xOSAxNjoyMzoyMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgdmFyaW91cyAoZXh0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNjoyNDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IGZpeCBjb3B5J24ncGFzdGUgb2ZmIGJ5IG9uZSBmb3IgcGFyYW0gc3BlYyBmbGFncyBjaGFuZ2UKCjIwMTAtMTAtMTkgMTM6NDM6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2ZpbHRlci9nc3RpaXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDNtdXguYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkqIGdzdC9uc2YvZ3N0bnNmLmM6CgkqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOgoJKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzoKCSogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkqIGdzdC92aWRlb2Ryb3AvZ3N0dmlkZW9kcm9wLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmFyaW91cyAoZ3N0KTogYWRkIG1pc3NpbmcgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBmbGFncwoJICBDYW5vbmljYWxpemUgcHJvcGVydHkgbmFtZXMgYXMgbmVlZGVkLgoKMjAxMC0xMC0xOSAxNTozMDowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvc2hvdXQvZ3N0c2hvdXQuYzoKCSogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgdmFyaW91czogd3JhcCBwcm9wZXJ0eSByZWdpc3RyYXRpb24gYW5kIGFkZCBhIHNpbmdsZSBmaXhtZSBmb3IgbG9uZyBkZXNjLgoKMjAxMC0xMC0xOSAxNTowNjozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiByZW1vdmUgc3RyYXkgIiBpbiBkb2MgY29tbWVudAoKMjAxMC0xMC0xOSAxMzo0NDoyNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBkdG1mc3JjOiByZW1vdmUgREVCVUdfRlVOQ1BUUiBmcm9tIGdvYmplY3Qgdm1ldGhvZHMKCjIwMTAtMTAtMDggMTk6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IEFkZHMgdGVzdHMgZm9yIHRoZSBuZXcgdGFncwoJICBBZGRzIHRlc3RzIGZvciB0aGUgbmV3IGV4aWYgdGFncyBpbiAtYmFzZQoKMjAxMC0xMC0wOSAxNzozNjowNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBiYXNldmlkZW86IE1vdmUgY29tbW9uIGZpZWxkcy9mdW5jdGlvbnMgdG8gYmFzZWNvZGVjCgoyMDEwLTA5LTI4IDE4OjIxOjU3ICswMzAwICBLYWotTWljaGFlbCBMYW5nIDxtaWxhbmdAdGFsLm9yZz4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZXh0L3piYXIvZ3N0emJhci5oOgoJICB6YmFyOiBNYWtlIHNjYW5uZXIgY2FjaGUgb3B0aW9uYWwKCjIwMTAtMTAtMTQgMjM6MDQ6MTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvZ3JhcGh5OiBhY3R1YWx5IHVzZSB0aGUgZW51bSBpbiB0aGUgdm1ldGhvZHMKCSAgSWYgd2UgaW50cm9kdWNlIGEgbmV3IEdzdFBob3RvZ3JhcGh5Tm9pc2VSZWR1Y3Rpb24sIGxldHMgYWxzbyB1c2UgaXQKCSAgaW4gdGhlIHZtZXRob2RzCgoyMDEwLTEwLTE0IDIzOjAzOjE5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogcmV0YWIgaW50ZXJmYWNlIHN0cnVjdCBmaWVsZHMKCjIwMTAtMTAtMTQgMTI6MzI6MDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1YTY2OGJmIHRvIDdiYmQ3MDgKCjIwMTAtMTAtMTQgMTQ6MDc6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1bnVzZWQgZW50cnkKCSAgUmVtb3ZlIGNhbWVyYWJpbiB1bnVzZWQgZW51bSBlbnRyeQoKMjAxMC0xMC0xNCAxMzo0MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQXZvaWQgYnJlYWtpbmcgQUJJCgkgIE1vdmUgdGhlIG5ld2x5IGFkZGVkIGZ1bmN0aW9ucy9maWVsZHMgdG8gdGhlIGVuZCBvZiB0aGUgc3RydWN0cwoKMjAxMC0xMC0xNCAxMTo0NTo1NSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogYWNjZWxlcmF0ZSBzZWFyY2ggZm9yIHN0YXJ0IGNvZGUKCSAgQXMgdGhlIHN0YXJ0Y29kZSBhbHdheXMgc3RhcnRzIHdpdGggMHgwMDAwMDEgc29tZSBpdGVyYXRpb25zCgkgIGNhbiBiZSBza2lwcGVkIGlmIHZhbHVlcyA+IDEgYXJlIGRldGVjdGVkLgoJICB+IDcwJSBmYXN0ZXIgb24gSEQgdmlkZW8gc3RyZWFtLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjMyMTMwCgoyMDEwLTEwLTE0IDE2OjQ4OjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHByb3Blcmx5IHBhcnNlIGUtYWMzIGZyYW1lIGhlYWRlcgoJICBBbHNvIGFkZCBhIGZldyBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAxMC0xMC0xNCAxMToyNDo0MiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmxvdyBvcGVuaW5nIGFuZCBjbG9zaW5nIGRlY29kZXIKCSAgSW4gcGFydGljdWxhciwgdGhpcyByZWNvbmZpZ3VyZXMgcXVpdGUgZm9yY2VmdWxseSB3aGVuIHJlbmVnb3RpYXRpb24gaXMgbmVlZGVkLgoJICBGaXhlcyAjNjMxNTAxLgoKMjAxMC0xMC0xMyAxNzo0NzoyOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHByZXZlbnQgaW5maW5pdGUgbG9vcCB3aGVuIGFkanVzdGluZyBmcmFtZXJhdGUKCSAgRml4ZXMgIzYzMjA3MC4KCjIwMTAtMTAtMTIgMjE6NDY6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIHRlc3RzOiBqaWZtdXg6IHVwZGF0ZSB0ZXN0cyB0byB0aGUgbmV3IGRhdGV0aW1lIGFwaQoJICBVcGRhdGUgamlmbXV4IHRlc3RzIHRvIHVzZSBuZXcgZ3N0ZGF0ZXRpbWUgQVBJIGluIGNvcmUKCjIwMTAtMTAtMTIgMDk6Mzc6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3Ryb3RhdGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIHJvdGF0ZSBlbGVtZW50CgkgIEFkZHMgYSBuZXcgcm90YXRlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLiBJdCBzdGlsbAoJICBuZWVkcyBzb21lIHdvcmsuIEJ1dCB0aGlzIGlzIGEgZ29vZCBzdGFydGluZyBwb2ludC4KCSAgQmFzZWQgb24gcGF0Y2ggZnJvbSBCZXJ0IERvdWdsYXMgPGJlcnRkIHRwbG9naWMgY29tPgoKMjAxMC0xMC0xMyAxMTowMDowMSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IHR3ZWFrIHNldHRpbmcgYnVmZmVyIG1ldGFkYXRhOyBhdm9pZCB0aW1lc3RhbXAgaml0dGVyCgkgIEZpeGVzICM2MzE5OTMuCgoyMDEwLTEwLTEyIDE4OjE3OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBjYXRlciBmb3IgcmVuZWdvdGlhdGlvbgoJICBBdCBsZWFzdCwgd2hlbmV2ZXIgZWl0aGVyIHN0cmVhbSAoZS5nLiBBRFRTKSBvciB1cHN0cmVhbSBwcm92aWRlcyBuZWNlc3NhcnkKCSAgaW5mbyBmb3IgZG9pbmcgc28uCgkgIEZpeGVzICM2MzE1MDEuCgoyMDEwLTEwLTEyIDE4OjA3OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogc3RyZWFtbGluZSBzcmMgY2FwcyBzZXR0aW5nCgkgIEluIHBhcnRpY3VsYXIsIGFsc28gc2V0IHNyYyBjYXBzIHdoZW5ldmVyIGNoYW5nZXMgaW4gc3RyZWFtIHdhcnJhbnQgZG9pbmcgc28uCgoyMDEwLTEwLTEyIDE2OjEzOjA3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBwb3J0IEdzdFhPdmVybGF5IGJpdHMgdG8gbmV3IEFQSQoJICBEb24ndCB1c2UgZGVwcmVjYXRlZCBBUEkuCgoyMDEwLTEwLTEyIDE2OjM1OjU1ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogYWRqdXN0IHVuaXQgdGVzdCB0byBmYWFjIG1vZGlmaWVkIG91dHB1dAoKMjAxMC0xMC0xMCAxMjozMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2tzOiByZW1vdmUgdmFyaWFibGVzIGZyb20gTWFrZWZpbGUuYW0gdGhhdCBhcmVuJ3Qgc2V0CgkgIFJlbW92ZSBzb21lIHN0dWZmIHRoYXQgd2FzIGNvcHknbidwYXN0ZWQgZnJvbSBjb3JlIGJ1dAoJICBkb2Vzbid0IGFwcGx5IGhlcmUuIFRoZSBmb2xsb3dpbmcgdmFycyBhcmVuJ3Qgc2V0OgoJICBDSEVDS19DRkxBR1MsIENIRUNLX0xJQlMsIEdTVF9PQkpfQ0ZMQUdTLCBHU1RfT0JKX0xJQlMsCgkgIHNvIHdlIG1heSBqdXN0IGFzIHdlbGwgcmVtb3ZlIHRoZW0uCgoyMDEwLTEwLTEyIDEyOjExOjM3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBGaXggY29tcGlsYXRpb24gd2l0aCBHVEsrIDMuMAoKMjAxMC0xMC0xMiAxMDoyODozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBBZGp1c3QgdW5pdCB0ZXN0cyB0byBuZXcgZmxhY3BhcnNlIGJlaGF2aW91cgoJICBHYXJiYWdlIGFmdGVyIGZyYW1lcyBpcyBub3cgaW5jbHVkZWQgaW4gdGhlIGZyYW1lcyBiZWNhdXNlIGZsYWNwYXJzZQoJICBoYXMgbm8gZWFzeSB3YXkgdG8gZGV0ZWN0IHRoZSByZWFsIGVuZCBvZiBhIGZyYW1lLiBEZWNvZGVycyBhcmUKCSAgZXhwZWN0ZWQgdG8gZXZlcnl0aGluZyBhZnRlciB0aGUgZnJhbWUgYmVjYXVzZSBvbmx5IGRlY29kaW5nIHRoZQoJICBiaXRzdHJlYW0gd2lsbCByZXZlYWwgdGhlIHJlYWwgZW5kIG9mIHRoZSBmcmFtZS4KCSAgRml4ZXMgYnVnICM2MzE4MTQuCgoyMDEwLTEwLTEyIDEwOjI3OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRG9uJ3QgZHJvcCB0aGUgbGFzdCBmcmFtZSBpZiBpdCBpcyBmb2xsb3dlZCBieSBnYXJiYWdlCgkgIFNlZSBidWcgIzYzMTgxNC4KCjIwMTAtMTAtMTEgMTc6NDk6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwZXJmb3JtIGJpdHJhdGUgaGFuZGxpbmcgYW5kIHBvc3RpbmcgYWZ0ZXIgbmV3c2VnbWVudCBzZW5kaW5nCgoyMDEwLTEwLTExIDE3OjM2OjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogaW1tZWRpYXRlbHkgcG9zdCBzdWJjbGFzcyBwcm92aWRlZCBiaXRyYXRlCgoyMDEwLTEwLTExIDE3OjA2OjQ4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogZml4IHBhcnNpbmcgd2l0aCB1bmtub3duIGZyYW1lc2l6ZXMKCSAgRml4ZXMgIzYzMTgxNCAobW9zdGx5KS4KCjIwMTAtMTAtMTEgMTc6MDU6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgIGZhYWM6IGhhbmRsZSB0cmFpbGluZyBlbmNvZGVyIG91dHB1dAoKMjAxMC0xMC0xMSAxNDoyNTo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNyYy5jOgoJICBzd2l0Y2hzcmM6IFNldCB0aGUgR1NUX0VMRU1FTlRfSVNfU09VUkNFIGZsYWcKCjIwMTAtMDktMTMgMTk6MDc6NTUgKzAxMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBpbnRlbC5jb20+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IEZpeCBleGFtcGxlIHVzYWdlLCBiYW5kd2lkdGg9OCBub3QgOE1IegoJICBUaGUgYmFuZHdpZHRoIHByb3BlcnR5IGlzIGVudW0gdGhhdCB0YWtlcyB0aGUgdmFsdWVzIDgsIDcsIDYsIEFVVE8gbm90CgkgIDhNSHouCgoyMDEwLTEwLTA4IDE3OjAxOjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkgIHNobTogQWRkIEMrKyBwcm90ZWN0aW9uCgkgIEFkZCBjKysgcHJvdGVjdGlvbiBpbiB0aGUgcmVsZXZhbnQgcGxhY2VzCgoyMDEwLTEwLTA4IDEyOjQ0OjQ1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzRhOGFkYyB0byA1YTY2OGJmCgoyMDEwLTEwLTA4IDEyOjU1OjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNWUzYzliZiB0byBjNGE4YWRjCgoyMDEwLTEwLTA3IDIzOjM3OjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogU2ltcGxpZnkgZnJhbWUgaGVhZGVyIHBhcnNpbmcgYnkgdXNpbmcgbG9va3VwIHRhYmxlcwoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5IEZlbGlwZSBDb250cmVyYXMuCgkgIFNlZSBidWcgIzYzMTIwMC4KCjIwMTAtMTAtMDcgMjM6Mjg6MDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBEb24ndCBwYXJzZSB0aGUgY29tcGxldGUgRkxBQyBmcmFtZXMgYnV0IG9ubHkgbG9vayBmb3IgdmFsaWQgZnJhbWUgaGVhZGVycwoJICBUaGFua3MgdG8gRmVsaXBlIENvbnRyZXJhcyBmb3IgdGhlIHN1Z2dlc3Rpb24uIFRoaXMgaXMgcGFydGlhbGx5CgkgIGJhc2VkIG9uIGhpcyBwYXRjaGVzIGFuZCBtYWtlcyBmbGFjcGFyc2UgbW9yZSB0aGFuIDMuNSB0aW1lcyBmYXN0ZXIuCgkgIExvb2tpbmcgZm9yIHZhbGlkIGZyYW1lIGhlYWRlcnMgaXMgdW5saWtlbHkgdG8gZ2l2ZSBmYWxzZSBwb3NpdGl2ZXMKCSAgYmVjYXVzZSBldmVyeSBmcmFtZSBoZWFkZXIgaXMgYXQgbGVhc3QgOSBieXRlcyBsb25nLCBjb250YWlucyBhCgkgIDE0IGJpdCBzeW5jIGNvZGUgYW5kIGEgOCBiaXQgY2hlY2tzdW0gb3ZlciB0aGUgZmlyc3QgOCBieXRlcy4KCSAgRml4ZXMgYnVnICM2MzEyMDAuCgoyMDEwLTEwLTA3IDExOjU5OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHdvcmthcm91bmQgaW50ZXJuYWwgcnRzcHNyYyBmYWlsaW5nIHN0YXRlIGNoYW5nZQoJICBGaXhlcyAjNjMwMDQ2LgoKMjAxMC0xMC0wNyAxMDozNDo0OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgIGF1ZGlvcGFyc2U6IEFkZCBzdXBwb3J0IGZvciBzZXR0aW5nIHRoZSBjaGFubmVsLXBvc2l0aW9ucwoKMjAxMC0xMC0wNiAxODozMjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFJlYWxseSBwb3N0IHRhZ3Mgb25seSBhZnRlciB0aGUgaW5pdGlhbCBuZXdzZWdtZW50IGV2ZW50CgkgIFRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50IHdpbGwgYmUgc2VuZCBieSB0aGUgZmlyc3QgY2FsbCB0bwoJICBnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlcigpIGlmIG5lY2Vzc2FyeSwgcG9zdGluZyB0aGUgdGFncwoJICBiZWZvcmUgdGhhdCBpcyBub3QgYSBnb29kIGlkZWEuIEluc3RlYWQgZG8gaXQgZnJvbSB0aGUKCSAgR3N0QmFzZVBhcnNlOjpwcmVfcHVzaF9idWZmZXIgdmZ1bmMuCgoyMDEwLTEwLTA2IDE2OjU0OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBGaXggaHVlIGNhbGN1bGF0aW9uIGZvciByZWQgY29sb3JzCgkgIEFsc28gbWFrZSB0aGUgY2FsY3VsYXRpb24gbXVjaCBtb3JlIGFjY3VyYXRlLi4uCgoyMDEwLTEwLTA2IDE1OjIxOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y2hyb21haG9sZC5jOgoJICBjaHJvbWFob2xkOiBNYWtlIGV2ZXJ5dGhpbmcgZ3JleXNjYWxlIGlmIHRoZSB0YXJnZXQgY29sb3IgaXMgZ3JleQoKMjAxMC0xMC0wNiAxMTo1NTozNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL01ha2VmaWxlLmFtOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNocm9tYWhvbGQuYzoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3RjaHJvbWFob2xkLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNocm9tYWhvbGQ6IEFkZCBjaHJvbWFob2xkIGNvbG9yIGVmZmVjdAoJICBUaGlzIGVmZmVjdCBjb252ZXJ0cyBhbGwgY29sb3JzIGV4Y2VwdCBhIHNpbmdsZSBvbmUgdG8KCSAgZ3JleS4gVGhlIGNvbG9yIGlzIHNlbGVjdGVkIGJ5IGFuIFJHQiB0cmlwbGUgYW5kIGEKCSAgdG9sZXJhbmNlIGZvciB0aGUgY29sb3IgbWF0Y2hpbmcgaW4gaHVlIGRlZ3JlZSBjYW4gYmUgc3BlY2lmaWVkLgoKMjAxMC0xMC0wNSAxNzowNDoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBmaXggYW5kIHJlZmxvdyBzb21lIGV4aXRzCgoyMDEwLTEwLTA1IDE2OjU2OjQ5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGVycm9yIG91dCBpZiBubyBzdHJlYW1zIGZvdW5kIGluIHNkcCBtZXNzYWdlCgoyMDEwLTEwLTA1IDE2OjQ3OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IHVuYnJlYWsgc3RhbmRhcmQgbWFuYWdlciBzZXR1cAoKMjAxMC0xMC0wNSAxMTo0NDo0OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMTAtMDUgMTE6NDI6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogbTQvTWFrZWZpbGUuYW06CgkqIG00L2dzdC1hbHNhLm00OgoJICBhbHNhc3BkaWY6IHJlbW92ZSBhbHNhc3BkaWZzaW5rIGVsZW1lbnQKCSAgUmVtb3ZlIGFsc2FzcGRpZnNpbmssIGl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyLiBhbHNhc2luayBpbiAtYmFzZQoJICBoYXMgYmVlbiBhYmxlIHRvIGhhbmRsZSBTUERJRiBmb3IgYSB3aGlsZSBub3cuCgoyMDEwLTEwLTA1IDExOjE3OjUyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIFJldmVydCAiYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBiNWEzZDYwMzYzZDgzN2ExMGYwNTMzYzE0MWVjOTNkMTBiNzQyMzEyLgoJICBSZXZlcnRpbmcgdGhpcyBmb3Igbm93LCBzaW5jZSBubyBvbmUgcmVhbGx5IHNlZW1zIHRvIHJlbWVtYmVyIHdoeSB0aGlzCgkgIHByb3BlcnR5IGV4aXN0cyBvciB3aGF0IGl0IGNvdWxkIHBvc3NpYmx5IGJlIGdvb2QgZm9yLiBJdCBzZWVtcyB0byBoYXZlCgkgIGJlZW4gaW4gdGhlIG9yaWdpbmFsIG1wM3BhcnNlIHNpbmNlIHRoZSBiZWdpbm5pbmcgb2YgdGltZSBhbmQgd2FzIGJhY2stCgkgIHBvcnRlZCBmcm9tIHRoZXJlLgoKMjAxMC0xMC0wNCAxMDo0MTo1MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgkgIFRoZXNlIHdhcm5pbmdzIGFyZSB3cm9uZywgdGhlIHZhcmlhYmxlcyBhcmUgb25seSB1c2VkIGlmIHRoZXkgd2VyZQoJICBpbml0aWFsaXplZCBieSB0aGUgYml0IHJlYWRlci4KCjIwMTAtMDktMTQgMDI6NDg6NTggKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBmaXggcGljdHVyZSBwYXJzaW5nCgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo1NDo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IFB1c2ggdGFncyBiZWZvcmUgdGhlIGhlYWRlciBidWZmZXJzIGFyZSBwdXNoZWQKCjIwMTAtMDgtMDIgMjA6NTA6MjEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiB0cml2aWFsIGNhcHMgZml4CgkgIFNpZ25lZC1vZmYtYnk6IEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKMjAxMC0xMC0wMyAyMzo0NTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHF0bXV4IHByb3BlcnRpZXMKCjIwMTAtMTAtMDMgMjM6MTQ6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiB2YWx2ZTogRml4IHRlc3RzIGJ1aWxkCgkgIEFkZHMgbWlzc2luZyBjZmxhZ3MvbGlicyB0byB2YWx2ZSBjaGVjayB0ZXN0IHRvCgkgIGZpeCBidWlsZAoKMjAxMC0xMC0wMyAyMzo1MDoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcjogTGV0IHRoZSBmb3JtYXQgc3RyaW5nIGFncmVlIHdpdGggdGhlIHBhcmFtZXRlcnMgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcKCjIwMTAtMTAtMDMgMTU6NTU6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogQ2hlY2sgcmV0dXJuIHZhbHVlcyBvZiB0aGUgYml0cmVhZGVyIGZ1bmN0aW9ucwoKMjAxMC0xMC0wMyAxNTo0MToyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBVc2UgdW5jaGVja2VkIHZlcnNpb25zIG9mIHRoZSBiaXRyZWFkZXIgZ2V0IGZ1bmN0aW9ucwoJICBXZSBkaWRuJ3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZXMgYW55d2F5Li4uCgoyMDEwLTA5LTI4IDEzOjUyOjI5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG5vIG5lZWQgdG8gcmVmIHRoZSBvYmplY3QgaW4gX2NoYWluCgkgIERvbid0IHJlZiB0aGUgcGFkIGluIGNoYWluLCBsaWtlIGVsc2V3aGVyZQoKMjAxMC0wOS0yMiAxNTo0NDo0MyArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IEZpeCBkZWJ1ZyBvdXRwdXQKCSAgV2UgbG9zZSB0aGUgcmVmZXJlbmNlIHRvIHRoZSBidWZmZXIgYWZ0ZXIgZ3N0X3BhZF9wdXNoKCksIHNvIHRoZSBkZWJ1ZwoJICBwcmludCBzaG91bGQgaGFwcGVuIGJlZm9yZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMjI3NgoKMjAxMC0xMC0wMSAxMjozNDo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmxhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3BhcnNlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuaDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgZmxhY3BhcnNlIHVuaXQgdGVzdAoJICAuLi4gYW5kIHR3ZWFrIHBhcnNlciB0ZXN0IGhlbHBlciBpbiB0aGUgcHJvY2Vzcy4KCjIwMTAtMDktMjkgMTY6MTI6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdXBwb3J0IHJldmVyc2UgcGxheWJhY2sKCSAgLi4uIGluIHB1bGwgbW9kZSBvciB1cHN0cmVhbSBkcml2ZW4uCgoyMDEwLTA5LTI3IDEyOjE2OjQzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGRvbmUgVE9ET3MgYW5kIHVwZGF0ZSBkb2N1bWVudGF0aW9uCgoyMDEwLTA5LTI1IDE0OjQwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIGRldGVybWluZWQgc2Vla2FiaWxpdHkgaW4gYW5zd2VyaW5nIFNFRUtJTkcgcXVlcnkKCjIwMTAtMDktMjUgMTQ6MzI6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBhZGQgc2tpcCBwcm9wZXJ0eQoKMjAxMC0wOS0yNSAxMzo1OTozOSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWMzcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZ2F1ZGlvcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgYWMzcGFyc2UgYW5kIG1wZWdhdWRpb3BhcnNlIHVuaXQgdGVzdAoKMjAxMC0wOS0yNSAxMzo1OToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgbXBlZ2F1ZGlvcGFyc2U6IGluaXRpYWwgdmVyc2lvbgoJICAuLi4gYWRlcXVhdGVseSBlcXVpdmFsZW50IHRvIG1wM3BhcnNlLCBzbyBsZXRzIGJvbGRseSBzZXQgaXQKCSAgdG8gaGlnaGVyIHJhbmsuCgoyMDEwLTA5LTI1IDE0OjAxOjA3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IHNldCBtaW5pbXVtIGZyYW1lIHNpemUgYXQgX3N0YXJ0CgkgIC4uLiByYXRoZXIgdGhhbiBvbmUgdGltZSBhdCBfaW5pdC4KCjIwMTAtMDktMjUgMTM6NTA6NTEgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2VfZGF0YS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9wYXJzZXIuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcGFyc2VyLmg6CgkgIGF1ZGlvcGFyc2VyczogcmVmYWN0b3IgZXhpc3RpbmcgdW5pdCB0ZXN0cyB1c2luZyBjb21tb24gaGVscGVyCgoyMDEwLTA5LTIyIDE1OjA3OjA5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZnJhbWVfcHJvcHMgdG8gY29uZmlndXJlIGZyYW1lIGxlYWRfaW4gYW5kIGxlYWRfb3V0CgkgIC4uLiBwcm92aWRlZCBhIGNvcnJlc3BvbmRpbmcgZGVjb2RlciB3aXRoIHN1ZmZpY2llbnQgbGVhZGluZyBhbmQgZm9sbG93aW5nCgkgIGZyYW1lcyB0byBjYXJyeSBvdXQgZnVsbCBkZWNvZGluZyBmb3IgYSBwYXJ0aWN1bGFyIHNlZ21lbnQuCgoyMDEwLTA5LTIyIDE0OjEzOjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFtcnBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGJhc2VwYXJzZTogdXNlIF9zZXRfZHVyYXRpb24gdG8gY29uZmlndXJlIGR1cmF0aW9uIHVwZGF0ZSBpbnRlcnZhbAoJICAuLi4gYXMgaXQgbG9naWNhbGx5IGJlbG9uZ3MgdGhlcmUgYXMgb25lIG9yIHRoZSBvdGhlcjsgZWl0aGVyIHN1YmNsYXNzCgkgIGNhbiBwcm92aWRlIGEgZHVyYXRpb24sIG9yIGFuIGVzdGltYXRlIG11c3QgYmUgbWFkZSAocmVndWFybHkgdXBkYXRlZCkuCgoyMDEwLTA5LTIyIDEzOjU1OjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbG9jYWxpemUgdXNlIG9mIHByb3ZpZGVkIGZwcyBpbmZvcm1hdGlvbgoKMjAxMC0wOS0yMiAxMjoxMzoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNlZWsgdGFibGUgYW5kIGFjY3VyYXRlIHNlZWsgc3VwcG9ydAoKMjAxMC0wOS0yMSAxMzo1NzoxMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByb3BlciBhbmQgbW9yZSBleHRlbmRlZCBzZWdtZW50IGFuZCBzZWVrIGhhbmRsaW5nCgkgIFRoYXQgaXMsIGxvb3AgcGF1c2UgaGFuZGxpbmcsIHNlZ21lbnQgc2VlayBzdXBwb3J0LCBuZXdzZWdtZW50IGZvciBnYXBzLCBldGMKCjIwMTAtMDktMjEgMTA6NTc6MDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgaW5kZXggc3VwcG9ydAoKMjAxMC0wOS0yMSAwOTo1OTo1NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHJlZmFjdG9yIHN0YXRlIHJlc2V0CgoyMDEwLTA5LTIwIDE2OjM5OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmRlZmluaXRlIHJlc3luY2luZwoKMjAxMC0wOS0yMCAxMzo1Nzo1NSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHNwZWNpZmljIEVPUyBoYW5kbGluZyBpZiBubyBvdXRwdXQgc28gZmFyCgoyMDEwLTA5LTIwIDEzOjMxOjU3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IF9zZXRfZnJhbWVfcHJvcCBkb2N1bWVudGF0aW9uIGFuZCBzZXQgZGVmYXVsdCBhcyBjbGFpbWVkCgoyMDEwLTA5LTIwIDEzOjMwOjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IGJpdHJhdGUgY29weS1hbmQtcGFzdGUgYW5kIHVwZGF0ZSBoZXVyaXN0aWMKCjIwMTAtMDktMTcgMTg6MzM6MjkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBwb3N0IGR1cmF0aW9uIG1lc3NhZ2UgaWYgYXZlcmFnZSBiaXRyYXRlcyBpcyB1cGRhdGVkCgoyMDEwLTA5LTE3IDE4OjI0OjIyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiByZW1vdmUgaXNfc2Vla2FibGUgdm1ldGhvZCBhbmQgdXNlIGEgc2V0X3NlZWsgaW5zdGVhZAoJICBTZWVrYWJpbGl0eSwgbGlrZSBkdXJhdGlvbiwgZXRjIGlzIHVubGlrZWx5IHRvIGNoYW5nZSAoZnJlcXVlbnRseSksIGFuZAoJICB0aGUgZGVmYXVsdCBhc3N1bXB0aW9uIGNvdmVycyBtb3N0IGNhc2VzLCBzbyBsZXQgc3ViY2xhc3Mgc2V0IHdoZW4gbmVlZGVkLgoJICBBdCB0aGUgc2FtZSB0aW1lLCBhbGxvdyBzdWJjbGFzcyB0byBpbmRpY2F0ZSBpZiBpdCBoYXMgc2Vlay1tZXRhZGF0YSAodGFibGUpCgkgIGF2YWlsYWJsZSwgYW5kIHBvc3NpYmx5IGhhdmUgaXQgcHJvdmlkZSBhbiBhdmVyYWdlIGJpdHJhdGUuCgoyMDEwLTA5LTE3IDE3OjM1OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHJlbW92ZSByZWR1bmRhbnQgZGVmYXVsdCBpc19zZWVrYWJsZQoKMjAxMC0wOS0xNyAxNzoyMTo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGFkZCBhbm90aGVyIGhvb2sgZm9yIHN1YmNsYXNzIHByaW9yIHRvIHB1c2hpbmcgYnVmZmVyCgkgIC4uLiBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcGVyZm9ybSBjdXN0b20gc2VnbWVudCBjbGlwcGluZywgb3IgdG8KCSAgZW1pdCB0YWdzIG9yIG1lc3NhZ2VzIGF0IHRoaXMgdGltZS4KCjIwMTAtMDktMTcgMTc6MTk6MzcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiAwIGNvbnZlcnRzIHRvIDAgYnkgZGVmYXVsdAoKMjAxMC0wOS0xNiAxODo1Njo0NiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFzZTogcmVmYWN0b3IgY29udmVyc2lvbiB1c2luZyBoZWxwZXIgZnVuY3Rpb24gYW5kIGV4cG9ydCBkZWZhdWx0IGNvbnZlcnQKCjIwMTAtMDktMTYgMTg6MzU6NDcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBzdHJlYW1saW5lIHF1ZXJ5IGhhbmRsaW5nCgoyMDEwLTA5LTE2IDExOjUxOjIwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGJhc2VwYXJzZTogY2xlYW51cCBzdHJ1Y3QgYW5kIHJlbW92ZSB1bnVzZWQgbWVtYmVyCgoyMDEwLTA4LTE2IDExOjA0OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGF1ZGlvcGFyc2VyczogaW5jcmVhc2UgcmFua3MgdG8gZW5hYmxlIGF1dG8tcGx1Z2dpbmcKCSAgQmVjYXVzZSB3ZSBjYW4sIGFuZCBzaG91bGQsIGhhdmUgc29tZSBzaGFrZWRvd24gdGVzdGluZyBiZWZvcmUgaGF2aW5nCgkgIHRoZXNlIG1ha2UgaXQgaW50byAtZ29vZCBsYXRlciBvbiAuLi4KCjIwMTAtMDktMjIgMTY6MDc6MjQgKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBBbGxvdyBjaGFpbmluZyBvZiBzdWJjbGFzcyBldmVudCBoYW5kbGVycwoJICBUaGlzIGFsbG93cyB0aGUgY2hpbGQgY2xhc3MgdG8gY2hhaW4gaXRzIGV2ZW50IGhhbmRsZXIgd2l0aAoJICBHc3RCYXNlUGFyc2UsIHNvIHRoYXQgc3ViY2xhc3NlcyBkb24ndCBoYXZlIHRvIGR1cGxpY2F0ZSBhbGwgdGhlIGRlZmF1bHQKCSAgZXZlbnQgaGFuZGxpbmcgbG9naWMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjIyNzYKCjIwMTAtMDktMzAgMTc6NDg6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZhbHZlLmM6CgkgIHRlc3RzOiBGaXggY2FwcyBsZWFrIGluIHRoZSB2YWx2ZSB0ZXN0CgoyMDEwLTA5LTMwIDE3OjI0OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdmFsdmUuYzoKCSAgdmFsdmU6IEFkZCB1bml0IHRlc3RzCgkgIEFkZCBhIHVuaXQgdGVzdCBmb3IgdGhlIHZhbHZlIGVsZW1lbnQuCgoyMDEwLTA5LTMwIDE2OjI2OjE5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIHZhbHZlOiBNYWtlIHRoZSBkcm9wIHZhcmlhYmxlIGludG8gYW4gYXRvbWljLgoJICBVc2luZyBhbiBhdG9taWMgYWxsb3dzIHVzIHRvIGF2b2lkIGxvY2tpbmcgdGhlIHdob2xlIG9iamVjdCBhbGwgdGltZSB0aW1lLgoJICBBcyBzdWdnZXN0ZWQgYnkgU3RlZmFuIEtvc3QuCgoyMDEwLTA5LTMwIDE2OjIyOjA0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IENvcnJlY3RseSBzZXQgdGhlIERJU0NPTlQgZmxhZyBhZnRlciBkcm9wcGluZyBidWZmZXJzCgoyMDEwLTA5LTMwIDE2OjE2OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IFJlbW92ZSBzdXBlcmZsb3VzIGNoZWNraW5nIGNhc3RzCgoyMDEwLTA5LTMwIDE2OjEzOjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IEZpeCBzdHlsZSwgaW1wcm92ZSBjb21tZW50cwoJICBNaW5vciBpbXByb3ZlbWVudHMgdG8gdGhlIGNvbW1lbnRzIGFuZCBicmVhayBhIGZldyBvdmVybHkgbG9uZyBsaW5lcwoKMjAxMC0wOS0zMCAxNjowNzoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogSW1wcm92ZSBkb2N1bWVudGF0aW9uCgkgIEFkZCBhbiBleGFtcGxlIHBpcGVsaW5lLCBhbmQgdHJ5IHRvIGV4cGxhaW4gYSBiaXQgbW9yZSB3aGF0IGl0IGRvZXMuCgoyMDEwLTA5LTI5IDE3OjM0OjAwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRG8gbm90IHdyb25nbHkgZmFpbCB3aGVuIHN0YXJ0aW5nIGEgY2FwdHVyZQoJICBJZiB0aGUgZWxlbWVudHMgYXJlIGluIE5VTEwvUkVBRFkgYW5kIGNoYW5naW5nIHN0YXRlIHRvCgkgIFBBVVNFRC9QTEFZSU5HIHdoaWxlIGEgY2FwdHVyZSBpcyBzdGFydGVkCgkgIGNhbWVyYWJpbiBtaWdodCBub3Qgc2V0IHRoZSBhY3RpdmVfYmluIHByb3Blcmx5IGNhdXNpbmcgdGhlCgkgIGNhcHR1cmUgc3RhcnQgdG8gZmFpbC4KCSAgVGhpcyBwYXRjaCBmaXhlcyBpdCBieSBjaGVja2luZyB0aGUgY3VycmVudCBhbmQgcGVuZGluZyBzdGF0ZQoJICBvZiB0aGUgYnJhbmNoZXMgaW5zdGVhZCBvZiBvbmx5IHRoZSBjdXJyZW50IG9uZQoKMjAxMC0wOS0yOSAxMDoxMzowNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJldmVyc2UgcGxheWJhY2s7IGNhdGVyIGZvciBkZWNvZGVyIGRlbGF5CgkgIC4uLiB0aGVyZWJ5IGFjdHVhbGx5IHVzaW5nIHRoZSBnYXRoZXIgYW5kIGRlY29kZSBxdWV1ZXMuCgoyMDEwLTA5LTI5IDEwOjA4OjE3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogdHdlYWsgb3V0cHV0IGJ1ZmZlciB0aW1lc3RhbXBpbmcKCSAgSW4gcGFydGljdWxhciwgYXZvaWQgcGFja2V0aXNlZCBpbnB1dCBsZWFkaW5nIHRvIGluaXRpYWwgdG8gbm9uLTAgb3V0cHV0IHRzLgoKMjAxMC0wOS0yOCAxNjoyMDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IFVzZSBzdGF0aWMgY2FwcyBpbnN0ZWFkIG9mIGNvbnZlcnRpbmcgc3RyaW5ncyB0byBjYXBzIGFsbCB0aGUgdGltZQoKMjAxMC0wOS0yOCAxNjoxNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEZpeCBjcmFzaGVzIGlmIHBsdWdpbnMgZG9uJ3QgcHJvdmlkZSBjb3JyZWN0IHByb3BlcnR5IGluZm9ybWF0aW9uCgkgIFRoZSB2ZXJ0aWdvIHBsdWdpbiBmb3IgZXhhbXBsZSBjbGFpbXMgdG8gaGF2ZSAzIHByb3BlcnRpZXMgYnV0CgkgIHRoZSAzcmQgcHJvcGVydHkgZG9lcyBub3RoaW5nIGFuZCBoYXMgYSBOVUxMIG5hbWUuCgkgIEZpeGVzIGJ1ZyAjNjMwNzgzLgoJICBUaGFua3MgdG8gTWFydHRpIEvDvGhuZSBmb3IgZGVidWdnaW5nIHRoaXMuCgoyMDEwLTA5LTI4IDE0OjI2OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IG1vdmUgZGVmYXVsdDogcGFyc3QgaW4gdGhlIHN3aXRjaCBzdGF0ZW1lbnQgdG8gdGhlIGVuZAoJICBOb3cgc3VyZSBpZiBpdCBtYXR0ZXJzLCBidXQgdGhlIHByZXZpb3VzIGZvcm0gbG9va3Mgd2VpcmVkLgoKMjAxMC0wOS0yOCAxNDoyMzowMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIHZhbHZlOiBtb3ZlIGRlYnVnLWNhdGVnb3J5IHJlZ2lzdHJhdGlvbiB0byB0eXBlIGluaXQKCjIwMTAtMDktMjggMTQ6MjI6MTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIGxpdmVhZGRlcjogbW92ZSBkZWJ1Zy1jYXRlZ29yeSByZWdpc3RyYXRpb24gdG8gdHlwZSBpbml0CgoyMDEwLTA5LTI4IDE0OjE3OjQ1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEdTVF9CT0lMRVJQTEFURSBhbHJlYWR5IHNldHMgcGFyZW50X2NsYXNzCgoyMDEwLTA5LTI4IDE0OjE2OjU4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IHVzZSBiYXNlX2luaXQgZm9yIHBhZF90ZW1wbGF0ZXMgYW5kIGVsZW1lbnRfZGV0YWlscwoKMjAxMC0wOS0yOCAxNDoxNTo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgbGl2ZWFkZGVyOiB1c2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBvbiBwcm9wZXJ0aWVzCgoyMDEwLTA5LTI4IDE0OjE1OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgdmFsdmU6IHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG9uIHByb3BlcnRpZXMKCjIwMTAtMDktMjggMTQ6MDc6MzkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICB2YWx2ZTogR1NUX0JPSUxFUlBMQVRFIGFscmVhZHkgc2V0cyBwYXJlbnRfY2xhc3MKCjIwMTAtMDktMjggMTQ6MDg6MjkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJICB2aWRlb21lYXNzdXJlOiBHU1RfQk9JTEVSUExBVEUgYWxyZWFkeSBzZXRzIHBhcmVudF9jbGFzcwoKMjAxMC0wOS0yOCAxMTozNTo1MyArMDMwMCAgSHUgR2FuZyA8Z2FuZy5hLmh1QGludGVsLmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSAgcGhvdG9ncmFwaHk6IGV4dGVuZCBwaG90b2dyYXBoeSBpZmFjZQoJICBBZGQgbW9yZSBjb2xvciB0b25lIG1vZGVzIGFuZCBhZGQgTm9zZVJlZHVjdGlvbiBzZXR0aW5ncy4KCSAgRml4ZXMgIzYxNjgxNC4KCjIwMTAtMDktMjYgMjA6NDE6MjUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkc3JjOiBpbXByb3ZlIGVycm9yIG1lc3NhZ2VzIG9uIHJlYWQgZXJyb3MKCSAgUHJvdmlkZSBpMThuLWVkIGVycm9yIG1lc3NhZ2VzIHdoZW4gYSByZWFkIGVycm9yIGhhcHBlbnMsCgkgIGFuZCBwb2ludCBvdXQgdGhhdCB0aGUgZXJyb3IgY291bGQgYmUgaGFwcGVuaW5nIGJlY2F1c2UgdGhlCgkgIERWRCBpcyBzY3JhbWJsZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTM2MzMKCjIwMTAtMDktMjQgMDA6MDU6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHNldCBwbHVnaW4gcmVsZWFzZSBkYXRldGltZQoKMjAxMC0wOS0yNSAxMjozMzo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb2ZhL2dzdG9mYS5jOgoJICBvZmE6IENhbGwgZ19vYmplY3Rfbm90aWZ5KCkgYWZ0ZXIgdGhlIGZpbmdlcnByaW50IHdhcyBjcmVhdGVkCgoyMDEwLTA5LTI1IDEwOjQ2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEZpeCBzY2FubmluZyBvZiBwbHVnaW4gc3ViZGlyZWN0b3JpZXMgYW5kIHN1cHBvcnQgZGlmZmVyZW50IHZlbmRvcnMKCSAgVGhlIGZyZWkwciBzcGVjIHNwZWNpZmllcywgdGhhdCBwbHVnaW5zIGNhbiBiZSBpbiBzdWJkaXJlY3RvcmllcyBpbnNpZGUKCSAgdGhlIG1haW4gcGx1Z2luIGRpcmVjdG9yaWVzIHRvIGludHJvZHVjZSBuZXcgbmFtZXNwYWNlcyBjYWxsZWQgdmVuZG9ycy4KCjIwMTAtMDktMjQgMjI6NDc6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9mcmVpMHIuaDoKCSAgZnJlaTByOiBVcGRhdGUgZnJlaTByIGludGVyZmFjZSBzcGVjaWZpY2F0aW9uIHRvIDEuMgoKMjAxMC0wOS0yNCAyMjo0Mzo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciB0aGUgRlJFSTBSX1BBVEggZW52aXJvbm1lbnQgdmFyaWFibGUKCSAgVGhpcyB3YXMgYWRkZWQgaW4gdmVyc2lvbiAxLjIgb2YgdGhlIHNwZWMgYW5kIHJlcGxhY2VzIHRoZSBkZWZhdWx0CgkgIGxpc3Qgb2YgZGlyZWN0b3JpZXMuCgoyMDEwLTA5LTIzIDE0OjE1OjA4ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdGlhbGl6ZSBpbnRlcnZhbF90cyBhbmQgbGFzdF9mcmFtZXNfKiBjb3VudGVycwoJICBJbml0aWFsaXplIGludGVydmFsX3RzIHRvIGZpcnN0IFFPUyBldmVudCB0aW1lc3RhbXAsIG90aGVyd2lzZSB0aGUKCSAgZnBzIHN0YXRpc3RpY3MgYXJlIHByaW50ZWQgYWx3YXlzIGFmdGVyIG9uZSByZW5kZXJlZCBmcmFtZS4KCSAgQWxzbywgaW5pdGlhbGl6ZSBsYXN0X2ZyYW1lc18qIGNvdW50ZXJzLCB0aGUgdmFsdWVzIGFyZSBib2d1cyBlLmcuIGFmdGVyCgkgIFBMQVlJTkctTlVMTC1QTEFZSU5HIHN0YXRlIGNoYW5nZS4KCjIwMTAtMDktMjQgMTM6Mjk6NTUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiByZW1vdmUgdW51c2VkIHZhcmlhYmxlCgoyMDEwLTA5LTI0IDEzOjI1OjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogcmVtb3ZlIHVudXNlZCBzaWduYWwgYm9pbGVycGxhdGUKCjIwMTAtMDktMjQgMTM6MjQ6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogbm8gbmVlZCB0byByZWYgcGFkIGluIF9jaGFpbigpCgoyMDEwLTA5LTIyIDIzOjQxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZTogbWFrZSBnc3QtY2FtZXJhIHVzZSBmbGFncwoJICBFbmFibGUgYWxsIGNvbnZlcnRpb24gZmxhZ3MgaW4gZ3N0LWNhbWVyYSBleGFtcGxlIGFwcAoJICBmb3Igc2FmZXR5LgoJICBGaXhlcyAjNjAzMDYzCgoyMDEwLTA5LTIyIDIzOjM5OjA3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBuZXcgdmlkZW8tY29sb3JzcGFjZS1mbGFnIHRvIGZsYWdzCgkgIEFkZHMgYSBuZXcgZmxhZyB0byBhbGxvdyBhIGNvbG9yc3BhY2UgY29udmVydGlvbiBiZWZvcmUKCSAgdGhlIHZpZGVvIGVuY29kZXIgZWxlbWVudC4KCSAgRml4ZXMgIzYwMzA2MwoKMjAxMC0wOS0yMiAyMjozOTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgbGlua19mdWxsIHZlcnNpb24gZm9yIGRpc2FibGluZyBoaWVyYXJjaHkgY2hlY2sKCSAgRGlzYWJsZSBoaWVyYXJjaHkgY2hlY2tzIHdoZW4gbGlua2luZyBiZWNhdXNlIHdlIGFyZSBhbHJlYWR5CgkgIGhhbmRsaW5nIHRoZSBlbGVtZW50IGFkZGluZyB0byBiaW5zIGFuZCBpdCBzaG91bGQgYmUgZG9uZQoJICBjb3JyZWN0bHkuCgoyMDEwLTA5LTIyIDIxOjAzOjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBTZXQgcXVldWVzIHRvIHNpbGVudAoJICBXZSBjdXJyZW50bHkgZG9uJ3QgdXNlIHF1ZXVlcycgc2lnbmFscywgc28gc2V0IHRoZW0KCSAgdG8gc2lsZW50LgoKMjAxMC0wOS0yMiAxMTo1NzoyOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBGaXggY2xhc3MgZGVmaW5pdGlvbgoJICBDbGFzcyBzdHJ1Y3R1cmVzIHNob3VsZCBpbmNsdWRlIHBhcmVudCBjbGFzcywgbm90IHRoZSBwYXJlbnQKCSAgaW5zdGFuY2Ugc3RydWN0dXJlLgoKMjAxMC0wOS0yMiAxNjo0MTozMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogZml4IHdlaXJkIGNhcHMgY29kZQoJICBSZW1vdmUgdGhlIHdlaXJkIChmYWlsaW5nKSBjb2RlIHRvIGZpZ3VyZSBvdXQgY2FwcyBvbiB0aGUgc3JjcGFkLgoJICBBZGQgYSBjYXBzIHByb3BlcnR5IHRvIGRlY2lkZSB3aGF0IGNhcHMgdG8gcHV0IG9uIHRoZSBvdXRnb2luZyBidWZmZXJzLgoJICBGaXggYW4gZXZlbnQgbGVhay4KCjIwMTAtMDktMjEgMTg6MTM6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5jOgoJICBjb2xvcnNwYWNlOiBxdWlldCBhIEdTVF9FUlJPUgoKMjAxMC0wOS0yMSAxOTowNzowNSArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBzZHBkZW11eDogYWRkIHByb3BlcnR5IHRvIGRpc2FibGUgcmVkaXJlY3QKCSAgQWRkIGEgcHJvcGVydHkgdG8gYXZvaWQgcmVkaXJlY3Rpb24gdG8gdGhlIHJ0c3Atc2RwOi8vIHVybCBidXQgaW5zdGVhZCBlbWJlZHMgYW4KCSAgcnRzcHNyYyBlbGVtZW50IGluc2lkZSBzZHBkZW11eCBhcyB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBCYXNlZCBvbiBwYXRjaCBieSBNYXJjbyBCYWxsZXNpby4KCSAgRml4ZXMgIzYzMDA0NgoKMjAxMC0wOS0yMSAxODo0NTowMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogRml4IGZ1bmN0aW9uIHByb3RvdHlwZSBmb3IgdG91Y2h5IGNvbXBpbGVycwoKMjAxMC0wOS0yMSAxODozNDoxOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMDgwZTAyNSB0byA1ZTNjOWJmCgoyMDEwLTA5LTIxIDE2OjMxOjA3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBQb3J0IHRvIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1MwoKMjAxMC0wOS0yMSAxNjoyNjozNCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBVc2UgdGhlIG5ldyBYT3ZlcmxheSBBUEkKCSAgRml4ZXMgIzYzMDI1NAoKMjAxMC0wOS0yMSAxMDo1OTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogZXhhbXBsZXM6IGRvIG5vdCB1c2UgZGVwcmVjYXRlZCBHc3RYT3ZlcmxheSBmdW5jdGlvbnMKCSAgUmVwbGFjZSB0aGUgZGVwcmVjYXRlZCBnc3RfeF9vdmVybGF5X3NldF94d2luZG93X2lkIHdpdGgKCSAgZ3N0X3hfb3ZlcmxheV9zZXRfd2luZG93X2hhbmRsZQoJICBGaXhlcyAjNjMwMjU1CgoyMDEwLTA5LTIxIDEyOjMzOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgLURHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGFnYWluIGZvciBHSVQgdmVyc2lvbnMKCjIwMTAtMDktMjEgMTI6Mjk6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoJICBBbmQgZG9uJ3QgZXJyb3Igb3V0IG9uIFVORVhQRUNURUQKCjIwMTAtMDktMjEgMTI6Mjc6NTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOS0yMSAxMjoyNzoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIG1wbGV4OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE5OjE3OjE0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzoKCSAgcGl0Y2gtdGVzdDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR3N0Q29udHJvbGxlciBBUEkKCjIwMTAtMDgtMjcgMTk6MDA6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgVU5FWFBFQ1RFRAoJICBBbHNvIGRvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE5OjAwOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTg6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBmb3IgZmF0YWwgZXJyb3JzCgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkuCgoyMDEwLTA4LTI3IDE4OjU2OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICBzZnNpbms6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUyOjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzoKCSAgdHRhcGFyc2U6IERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiBVTkVYUEVDVEVECgkgIEFsc28gZG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NTE6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBzZHBkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX1NVQ0NFU1MoKQoKMjAxMC0wOC0yNyAxODo1MToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSAgcmF3cGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA4LTI3IDE4OjUwOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGRvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBmb3IgV1JPTkdfU1RBVEUgb3IgVU5FWFBFQ1RFRC4KCjIwMTAtMDgtMjcgMTg6NDk6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkgIG5zZjogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCjIwMTAtMDgtMjcgMTg6NDc6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZWRlbXV4Lmg6CgkgIG12ZWRlbXV4OiBBZGQgcHJvcGVyIGZsb3cgcmV0dXJuIGFnZ3JlZ2F0aW9uCgkgIE5PVF9MSU5LRUQgc2hvdWxkIG9ubHkgYmUgcmV0dXJuZWQgaWYgYWxsIHN0cmVhbXMgcmV0dXJuZWQgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6NDE6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWdkZW11eDogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQW5kIGZpeCBzb21lIG1pbm9yIGlzc3VlcyByZWxhdGVkIHRvIGl0cyB1c2FnZS4KCjIwMTAtMDgtMjcgMTg6MzY6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfRkFUQUwoKQoKMjAxMC0wOC0yNyAxODozNToxMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgkgIEFsc28gZG9uJ3QgcG9zdCBhbiBlcnJvciBtZXNzYWdlIGZvciBVTkVYUEVDVEVEIGFuZCBkbyBpdAoJICBmb3IgTk9UX0xJTktFRC4KCjIwMTAtMDgtMjcgMTg6MzM6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJICBhc2ZwYXJzZTogRG9uJ3QgdXNlIEdTVF9GTE9XX0lTX0ZBVEFMKCkKCSAgQWxzbyBkb24ndCBwdXNoIEVPUyBkb3duc3RyZWFtIG9uIFdST05HX1NUQVRFLCBpdCB3aWxsIGJlIGRyb3BwZWQgYW55d2F5LgoKMjAxMC0wOC0yNyAxODozMjo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBEb24ndCB1c2UgR1NUX0ZMT1dfSVNfU1VDQ0VTUygpCgoyMDEwLTA4LTI3IDE4OjMyOjMzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IERvbid0IHVzZSBHU1RfRkxPV19JU19GQVRBTCgpCgoyMDEwLTA5LTIwIDIxOjQ2OjQ5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTWVudGlvbiBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW4gZG9jcwoJICBBZGQgYSBub3RlIHRvIGRvY3MgYWJvdXQgZ2V0dGluZyB0aGUgdmlkZW9zb3VyY2UgYW5kIGFjY2Vzc2luZwoJICBpdHMgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIChpbiBjYXNlIGl0IGhhcyBpdCkKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0yNSAxNDowNDo1OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIG1pc3NpbmcgdmFyaWFibGUgaW5pdGlhbGl6YXRpb24KCSAgQWRkcyBtaXNzaW5nIGFwcF9zcmNfdmlkIGluaXRpYWxpemF0aW9uCgoyMDEwLTA4LTI2IDE1OjMzOjU5ICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGVjayBzdGF0ZSBjaGFuZ2UgdG8gcGxheWluZyBmb3IgaW1hZ2ViaW4gYW5kIHZpZGVvYmluCgkgIFByb3Blcmx5IGNoZWNrIGFuZCBoYW5kbGUgZXJyb3IgY2FzZXMgcmVsYXRlZCB0byBpbWFnZWJpbiBhbmQKCSAgdmlkZW9iaW4gc3RhdGUgY2hhbmdlcy4KCjIwMTAtMDYtMjggMjE6NDg6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJICBjYW1lcmFiaW46IFJlbW92ZSB1c2VsZXNzIHNyYyB0ZW1wbGF0ZSBwYWQKCSAgY2FtZXJhYmluIGltYWdlYmluIGRvZXNuJ3QgbmVlZCBhIHNyYyB0ZW1wbGF0ZSBwYWQuCgoyMDEwLTA2LTIxIDA5OjM0OjQzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnByZXZpZXcuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGb3J3YXJkIHRhZyBldmVudHMgdG8gcHJldmlldyBwaXBlbGluZQoJICBGb3J3YXJkIHRhZyBldmVudHMgZnJvbSBpbWFnZSBwaXBlbGluZSB0byBwcmV2aWV3IHBpcGVsaW5lIHNvCgkgIHRoYXQgcHJldmlldyBlbGVtZW50cyBjYW4gdXNlIGNhcHR1cmUgdGFncyBpbmZvcm1hdGlvbgoKMjAxMC0wNi0yMSAxNjoxNzoyNCArMDMwMCAgSG9zZW9rIENoYW5nIDxob3Nlb2suY2hhbmdAbm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkICJwcmV2aWV3LXNvdXJjZS1maWx0ZXIiIHByb3BlcnR5CgkgIEFkZHMgJ3ByZXZpZXctc291cmNlLWZpbHRlcicgZm9yIGFkZGluZyBhbiBlbGVtZW50IHRvIHByb2NjZXNzCgkgIHRoZSBwcmV2aWV3IGltYWdlcyBiZWZvcmUgcG9zdGluZyB0aGVtIHRvIHRoZSBidXMuCgoyMDEwLTA1LTI1IDE1OjM5OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogdXBkYXRlIHRhZyBuYW1lcyBpbiB0ZXN0IGFwcGxpY2F0aW9uIHRvIGxhdGVzdCBnc3QgZGVmaW5pdGlvbnMKCjIwMTAtMDUtMTcgMTM6NDQ6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBNYWtlIGJsb2NrLWFmdGVyLWNhcHR1cmUgcmVzZXR0aW5nIG1vcmUgY29uc2lzdGVudAoJICBBZGRzIGFub3RoZXIgYm9vbGVhbiB0byBoZWxwIGNvbnRyb2xsaW5nIHZpZXdmaW5kZXIgYmxvY2tpbmcsCgkgIG1ha2luZyBpdCBwb3NzaWJsZSBmb3IgdGhlIGFwcGxpY2F0aW9ucyB0byByZXNldCB0aGUgdmlld2ZpbmRlcgoJICBibG9ja2luZyBhZnRlciBjYXB0dXJlIHdhcyBzdGFydGVkIGJ1dCBiZWZvcmUgdGhlIGJsb2NraW5nCgkgIGFjdHVhbGx5IGhhcHBlbnMuCgoyMDEwLTA1LTEyIDIxOjExOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogVW5ibG9jayB0aGUgdmlld2ZpbmRlciB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFVuYmxvY2sgdGhlIHZpZXdmaW5kZXIgd2hlbiBnb2luZyB0byByZWFkeSB0byBhdm9pZAoJICBibG9ja2luZyB3aGVuIHNldHRpbmcgY2FtZXJhYmluIHRvIHBsYXlpbmcgYWdhaW4gYW5kCgkgIGF0dGVtcGluZyB0byBjYXB0dXJlLiBLZWVwIHRoZSBwcm9wZXJ0eSBhcyBpcy4KCjIwMTAtMDktMjAgMTc6MTk6MzMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbW9uaXRvcmluZyBhbmQgc3VwcG9ydCBmb3IgcGhvdG9pZmFjZSB6b29tIGZvciB2aWRlby1zb3VyY2UKCSAgTWFrZXMgY2FtZXJhYmluIGF3YXJlIG9mIGNoYW5nZXMgaW4gaXRzIHZpZGVvc291cmNlIHpvb20gcHJvcGVydHkuCgoyMDEwLTA5LTIwIDE2OjIyOjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGNhbWVyYWJpbjogQ2hhbmdlIHpvb20gcHJvcGVydHkgZnJvbSBpbnQgdG8gZmxvYXQKCSAgVXBkYXRlcyB6b29tIHByb3BlcnR5IGZvciBhIG1vcmUgbmF0dXJhbCB0eXBlIGFuZAoJICBtYWtlcyBpdCBjb25zaXN0ZW50IHdpdGggdGhlIHBob3RvZ3JhcGh5IEFQSQoKMjAxMC0wOS0xOSAxODo1MTozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJICBwaG90b2dyYXBoeTogQWRkIHpvb20gcHJvcGVydHkKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNldC9nZXQgdGhlIHpvb20gYXMgYSBmbG9hdAoKMjAxMC0wNi0wOCAxMDowNDo1MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgY2FjaGluZyBwaG90b2dyYXBoeSBpbnRlcmZhY2Ugc2V0dGluZ3MKCSAgQ2FtZXJhYmluIGRvZXNuJ3QgaW1wbGVtZW50IHBob3RvZ3JhcGh5IGludGVyZmFjZSwgc28gd2UKCSAgZG9uJ3QgbmVlZCBjYWNoaW5nIHRoZSB2aWRlbyBzb3VyY2UgcHJvcGVydGllcyBhbnltb3JlLgoKMjAxMC0wNC0yMiAxNzo0Njo1OSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmFiaW4tdGVzdC5jOgoJICBleGFtcGxlczogY2FtZXJhYmluOiB1c2UgcGhvdG9pZmFjZSBwcm9wZXJ0aWVzIHRocm91Z2ggdmlkZW8tc291cmNlCgkgIEZpeGVzICM2MTY5MjMKCjIwMTAtMDQtMjIgMTQ6MDM6MzQgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IGNhbWVyYWJpbjogcmVtb3ZlIHBob3RvaWZhY2UgcHJvcGVydHkvc2V0dGluZ3MgdGVzdHMKCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wOC0zMSAxODowNjoxNSAtMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHJlbW92ZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgaW1wbGVtZW50YXRpb24gZnJvbSBjYW1lcmFiaW4KCSAgUmVtb3ZlIG5vdGlmeSBzaWduYWwgcHJveHkgZm9yIHZpZGVvLXNvdXJjZS4gQXBwbGljYXRpb24gY2FuIHVzZQoJICB2aWRlby1zb3VyY2UgZGlyZWN0bHkgZnJvbSBub3cgb24gdG8gZ2V0IG5vdGlmaWVkIG9mIHByb3BlcnR5IGNoYW5nZXMuCgkgIEFkZCBtb25pdG9yaW5nIHNjZW5lLW1vZGUgcHJvcGVydHkgY2hhbmdlIHRvIHNlbGVjdCBsb3dlc3QgcG9zc2libGUKCSAgZnJhbWVyYXRlIGZvciB2aWRlbyBjYXB0dXJlIHdoZW4gbmlnaHQgbW9kZSBpcyBzZWxlY3RlZC4KCSAgRml4ZXMgIzYxNjkyMwoKMjAxMC0wNC0yOSAxMjo0NDoyOSArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgZXhhbXBsZXM6IGNhbWVyYWJpbjogYWRkIC0tbm8teHdpbmRvdyBvcHRpb24gYW5kIGZpeCBvcHRpb24gaGFuZGxpbmcKCSAgQWRkIC0tbm8teHdpbmRvdyBvcHRpb24gdG8gbm90IHRvIGNyZWF0ZSB4d2luZG93LiBBbHNvIGZpeCB6b29tIGFuZAoJICBtdXRlIG9wdGlvbiB0eXBlcyBhbmQgZmlsZW5hbWUgc3RyaW5nIGhhbmRsaW5nLgoKMjAxMC0wNC0yOSAxMzoyNDoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IEFkZCBpbWFnZS1wcmV2aWV3LXN1cHBvcnRlZC1jYXBzIGludGVyZmFjZSBwcm9wZXJ0eQoJICBBZGRzIGEgcmVhZGFibGUgcHJvcGVydHkgdG8gZ3N0cGhvdG9ncmFwaHkgaW50ZXJmYWNlIHRvIHF1ZXJ5CgkgIHdoYXQgYXJlIHRoZSBhbGxvd2VkIHByZXZpZXcgY2FwcyBzdXBwb3J0ZWQuCgkgIFBhdGNoIGJ5IFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCjIwMTAtMDktMjAgMTI6MzQ6MDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9jb2RlYy5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgdW51c2VkIGNvZGUKCjIwMTAtMDktMjAgMTE6MjY6NTkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBSZW1vdmUgY2hlY2sgZm9yIG9sZCAtYmFzZQoKMjAxMC0wOS0xOSAxOTozMzo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiBBZGQgaGFuZGxpbmcgb2YgR3N0Rm9yY2VLZXlVbml0IGV2ZW50cwoKMjAxMC0wOS0xOCAxOToyNTo0OSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEZpeCBuYW1lIG9mIDMwcC82MGkgcGF0dGVybgoKMjAxMC0wOS0xOCAxOToyMTo0NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkgIGJhc2V2aWRlb2RlY29kZXI6IGFkZCBjYXB0dXJlIHBhdHRlcm4gaGFuZGxpbmcKCSAgTW92ZSB0eXBpY2FsIHNjYW5fZm9yX3N5bmMoKSB1c2FnZSBpbnRvIGJhc2UgY2xhc3MsIHdoaWNoIGp1c3QKCSAgY2FsbHMgZ3N0X2FkYXB0ZXJfbWFza2VkX3NjYW5fdWludDMyKCkuCgoyMDEwLTA5LTE4IDE5OjE0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IERvbid0IGJsb3cgYXdheSBmaWVsZCBpbmZvcm1hdGlvbgoJICBBbHNvLCBzZXQgZmllbGQgZmxhZ3MgY29ycmVjdGx5LgoKMjAxMC0wOS0xOCAxNzoyODo0OCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgZGVhZGxpbmUgdG8gZnJhbWUgc3RydWN0dXJlCgoyMDEwLTA5LTE4IDE0OjU3OjMyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGFsbG93LXJmZiBwcm9wZXJ0eS4gIEZpeCB0aW1lc3RhbXBpbmcKCjIwMTAtMDktMTggMTM6MzI6MDcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBtZXJnZSB0ZWxlY2luZSBpbnRvIG5vcm1hbCBvcGVyYXRpb24KCjIwMTAtMDktMDggMTU6MDg6NTAgKzAyMDAgIFJvYmVydCBTd2FpbiA8cm9iZXJ0LnN3YWluQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIHRlbGVjaW5lIHN1cHBvcnQKCjIwMTAtMDktMTcgMDg6NDM6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJICBjb2c6IEFsbG93IGNvbXBpbGF0aW9uIHdpdGhvdXQgb3JjCgkgIEFsc28gZG9uJ3QgaWdub3JlIC0tZGlzYWJsZS1vcmMuIEZpeGVzIGJ1ZyAjNjI5ODk3LgoKMjAxMC0wOS0xNCAxNjoxNzo0NyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBBZGRzIGEgbmV3IHRlc3QgdG8gY2hlY2sgc2VxdWVudGlhbCBjYXB0dXJlIG9mIGltYWdlcwoJICBBZGRzIGEgbmV3IHRlc3QgY2FzZSB0aGF0IHNob290cyBhIHNlcXVlbmNlIG9mIGltYWdlIGNhcHR1cmUKCSAgYW5kIGNoZWNrIHRoYXQgdGhlIGZpbGVzIGFyZSB2YWxpZC4KCSAgQWxzbyBhZGRzIHRhZ2xpc3QgY2hlY2tpbmcgY2FwYWJpbGl0aWVzIHRvIHRlc3RzLgoKMjAxMC0wOS0xNSAxNzo1NDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBxdG11eDogRm9sbG93IHhtcCBzZXJpYWxpemF0aW9uIGd1aWRlbGluZXMgY2xvc2VyCgkgIHF0IGFuZCBpc29tIHZhcmlhbnRzIGhhdmUgZGlmZmVyZW50IHdheXMgb2Ygc2VyaWFsaXppbmcKCSAgeG1wLCBmb2xsb3cgdGhlc2UgZ3VpZGVsaW5lcy4KCSAgVGhvc2UgY2FuIGJlIGZvdW5kIGluIEFkb2JlJ3MgeG1wIGRvY3MuCgoyMDEwLTA5LTE1IDIxOjQ3OjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMtZGlzdC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlb3JjLWRpc3QuaDoKCSAgY29sb3JzcGFjZTogYWRkIG9yYy1kaXN0IGZpbGVzCgkgIFNob3VsZCBmaXggYnVpbGQgd2l0aG91dCBvcmMgb3IgdG9vIG9sZCBvcmMuCgoyMDEwLTA5LTE1IDE3OjUxOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5oOgoJICBjaGVja3N1bXNpbms6IGZpeCB1cCBjb3B5cmlnaHQgaW4gaGVhZGVyIGZpbGUKCjIwMTAtMDktMTIgMTQ6NTk6NDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1saWJzLXVuaW5zdGFsbGVkLnBjLmluOgoJKiBwa2djb25maWcvZ3N0cmVhbWVyLWxpYnMucGMuaW46CgkqIHBrZ2NvbmZpZy9nc3RyZWFtZXItcGx1Z2lucy11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLnBjLmluOgoJICBwa2djb25maWc6IHJlbW92ZSBzb21lIG9sZCB1bnVzZWQgZmlsZXMgZnJvbSAwLjggZGF5cwoKMjAxMC0wOS0xNSAxODozODowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogTWFrZWZpbGUuYW06CgkgIG1ldGFkYXRhOiBhZGQgcmVtb3ZlZCBmaWxlcyB0byBjcnVmdCB2YXJzCgoyMDEwLTA5LTE1IDE4OjEzOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGFkZCBtaXNzaW5nIHN0ZGlvIGluY2x1ZGUKCjIwMTAtMDktMTUgMTg6MTA6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS8uZ2l0aWdub3JlOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBtZXRhZGF0YTogcmVtb3ZlIG1ldGFkYXRhIHBsdWdpbgoJICBUaGlzIHBsdWdpbnMgZnVuY3Rpb25hbGl0eSBpcyByZXBsYWNlZCBieSB1dGlsaXR5IGxpYnJhcmllcyBpbiBiYXNlIGZvciBleGlmCgkgIGFuZCB4bXAuIEpwZWcgaW1hZ2VzIGNhbiB1c2UgdGhpcyB2aWEganBlZ2Zvcm1hdCBwbHVnaW4uCgkgIEZpeGVzICM0ODY2NTkKCjIwMTAtMDktMTQgMTE6Mjg6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBiYXllcjJyZ2I6IEFkZCBmb3JtYXQ9Ymdnci9ldGMuIHRvIGNhcHMKCjIwMTAtMDktMTMgMTg6NDk6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcnNwYWNlL2NvbG9yc3BhY2UuYzoKCSogZ3N0L2NvbG9yc3BhY2UvY29sb3JzcGFjZS5oOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuaDoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZW9yYy5vcmM6CgkgIGNvbG9yc3BhY2U6IEFkZCBjb252ZXJzaW9uIGNvZGUKCSAgV29yayBpbiBwcm9ncmVzcy4gIENvbG9yc3BhY2UgaGFuZGxlcyBtb3N0IGZvcm1hdCBjb252ZXJzaW9uIHVzaW5nCgkgIDMtc3RhZ2UgZ2V0bGluZS9tYXRyaXgvcHV0bGluZSBwcm9jZXNzIHVzaW5nIGFuIEFZVVYgb3IgQVJHQgoJICBpbnRlcm1lZGlhdGUsIHdpdGggbW9zdCBmdW5jdGlvbnMgaGFuZGxlZCBieSBPcmMuICBUaGVyZSBpcyBhbHNvCgkgIGEgdGFibGUgb2Ygc2luZ2xlLXBhc3MgY29udmVyc2lvbnMsIGFsbCBoYW5kbGVkIGJ5IE9yYy4gIFRoZSBwbGFuCgkgIGlzIHRvIGFkZCBvcHRpb25hbCBzdGFnZXMgZm9yIHZhcmlvdXMgY2hyb21hIHVwc2FtcGxpbmcvZG93bnNhbXBsaW5nCgkgIGFsZ29yaXRobXMsIGRpdGhlcmluZywgYW5kIGZsb2F0L2ludDE2IGludGVybWVkaWF0ZXMsIGFuZCB0aGVuIGhhdmUKCSAgT3JjIGNyZWF0ZSBtdWx0aS1zdGFnZSBmdW5jdGlvbnMgYXQgcnVudGltZS4KCjIwMTAtMDktMTMgMTI6NDg6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2VvcmMub3JjOgoJKiBnc3QvY29sb3JzcGFjZS95dXYycmdiLmM6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuaDoKCSAgY29sb3JzcGFjZTogUmV2aXZlIGVsZW1lbnQKCSAgTm93IGJhc2VkIG9uIE9yYy4KCjIwMTAtMDktMDkgMTQ6NDk6MDYgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPGxlLmJ1c2luZXNzbWFuQGdtYWlsLmNvbT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBhZGRlZCB0cmFuc2xhdGFibGUgdGV4dCBmb3Igc2VydmVyIG5vdCBmb3VuZCBlcnJvcgoKMjAxMC0wOC0wOSAxNDozMjo1NyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBDaGFuZ2UgYml0cmF0ZSB0byBiaXRzL3NlYwoKMjAxMC0wOS0xMCAxMzozNjoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZXNldCB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkKCSAgUmVzZXQgdGhlIHRhZ3NldHRlciB0YWdzIHdoZW4gZ29pbmcgdG8gUkVBRFkgc3RhdGUKCjIwMTAtMDktMTAgMTM6MzM6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBGaXggZWxlbWVudCBkZXNjcmlwdGlvbgoJICBVc2Ugc2FuZXIgY2F0ZWdvcmllcyBmb3IgamlmbXV4L2pwZWdwYXJzZSBlbGVtZW50cwoKMjAxMC0wOS0xMCAxMTozMTo0NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNldCB0YWdzIHRvIG1vcmUgZWxlbWVudHMKCSAgUmVtb3ZlIGNoZWNrIGZvciAnTXV4ZXInIGNhdGVnb3J5IHdoZW4gc2V0dGluZyB0YWdzCgkgIGZvciB0YWdzZXR0ZXJzLiBTZXQgdGhlbSB0byBhbGwgdGFnc2V0dGVycyBpbiB0aGUKCSAgcGlwZWxpbmVzLgoKMjAxMC0wOS0xMCAxODozNToyNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiByZWRpcmVjdCBTRFAgd2l0aCBhbiBydHNwIGNvbnRyb2wgVVJMCgkgIFdoZW4gd2UgZmluZCBhbiBTRFAgd2l0aCBhbiBydHNwOi8vIHVybCBhcyB0aGUgZ2xvYmFsIGNvbnRyb2wgYXR0cmlidXRlIG9yIHdoZW4KCSAgYWxsIHN0cmVhbXMgaGF2ZSBhbiBydHNwOi8vIGNvbnRyb2wgYXR0cmlidXRlLCBwb3N0IGFuIHJlZGlyZWN0IG1lc3NhZ2Ugd2l0aCBhbgoJICBydHNwLXNkcDovLyB1cmwgY29udGFpbmluZyB0aGUgU0RQLgoJICBGaXhlcyAjNjI4MjE0CgoyMDEwLTA5LTEwIDEwOjI5OjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR1bm5lbC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEZpeCBidWlsZCB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoJICBBZGQgc29tZSBpZmRlZnMgdG8gcHJldmVudCBidWlsZCBmYWlsdXJlcyBkdWUgdG8gdW51c2VkCgkgIHZhcmlhYmxlcwoKMjAxMC0wOS0wOSAyMzo1OToxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBhbGxvdyBydW5uaW5nIHN0YXRlIHRlc3RzIGZvciBhbGwgZWxlbWVudHMKCSAgTm93IG9uZSBjYW4gdXNlIEdTVF9OT19TVEFURV9JR05PUkVfRUxFTUVOVFM9MSBtYWtlIGdlbmVyaWMvc3RhdGVzLmNoZWNrCgkgIHRvIHRyeSBlbGVtZW50cyB0aGF0IHdvdWxkIG5vcm1hbHkgYmUgc2tpcHBlZC4KCjIwMTAtMDktMDkgMTc6MTg6MDYgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGRlcGVuZGVuY3kgb24gbGlic3dzY2FsZQoJICBJdCdzIG5vdCB1c2VkIGluIHRoZSBnc3Qgb3BlbmN2IHBsdWdpbi4KCjIwMTAtMDktMDkgMTU6MDM6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGRlZmluZSBDVl9OT19CQUNLV0FSRF9DT01QQVRJQklMSVRZIHRvIHN1cHByZXNzIHdhcm5pbmdzIGNhdXNlZCBieSBjb21wYXQgaGVhZGVyCgkgIENvbXBpbGUgd2l0aCAtRENWX05PX0JBQ0tXQVJEX0NPTVBBVElCSUxJVFkgZm9yIG5vdywgc28gdGhhdCB0aGUgY29tcGF0IGhlYWRlcgoJICBkb2Vzbid0IGdldCBpbmNsdWRlZCwgd2hpY2ggY2F1c2VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQgKGl0IHNlZW1zKSBjYW4ndCBiZQoJICBzd2l0Y2hlZCBvZmYgZWFzaWx5LiBBcyBhIHJlc3VsdCwgd2UgYWxzbyBzcGVjaWZ5IGEgbWF4LiB2ZXJzaW9uIGluIGNvbmZpZ3VyZSwKCSAgc28gdGhlIGJ1aWxkIGRvZXNuJ3QgYnJlYWsgaWYgb3VyIGNvZGUgZG9lc24ndCBjb21waWxlIGFnYWluc3QgbmV3ZXIgb3BlbmN2CgkgIHZlcnNpb25zIGFueSBtb3JlIHdpdGggdGhhdCBmbGFnLgoKMjAxMC0wOS0wOSAxMTowNzo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IGF2b2lkICd1bnVzZWQnIGNvbXBpbGVyIHdhcm5pbmdzIHdpdGggaW5saW5lIGZ1bmN0aW9ucyBpbiBvcGVuY3YgaGVhZGVycwoJICBPdmVycmlkZSBDVl9JTkxJTkUgdG8gYXZvaWQgJ3VudXNlZCcgZ2NjIHdhcm5pbmdzLiBHTGliIHdpbGwgdGFrZSBjYXJlIG9mIGRlZmluaW5nCgkgICdpbmxpbmUnIHN1ZmZpY2llbnRseSBhbmQgT3BlbkNWJ3MgZGVmaW5lIGlzbid0IGdvb2QgZW5vdWdoIHRvIGF2b2lkICd1bnVzZWQnCgkgIGNvbXBpbGVyIHdhcm5pbmdzIChhdCBsZWFzdCBpbiB2ZXJzaW9uIDIuMS4wKS4KCjIwMTAtMDktMDkgMTA6Mjc6NDkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgb3BlbmN2OiB1cGRhdGUgcGx1Z2luIHNvdXJjZSBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbgoKMjAxMC0wOS0wOCAyMzo1OTozOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9nc3RmYWNlZGV0ZWN0Lmg6CgkgIGZhY2VkZXRlY3Q6IEFkZCBtb3JlIHBhcmFtZXRlcnMKCSAgRXhwb3NlIHRoZSBwYXJhbWV0ZXJzIG9mIGN2SGFhckRldGVjdE9iamVjdHMgaW4gZmFjZWRldGVjdAoJICBlbGVtZW50LgoKMjAxMC0wOS0wOCAxNDo1OTo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZS5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9nc3RjdmVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmM6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZsYXBsYWNlLmg6CgkqIGV4dC9vcGVuY3YvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSogZXh0L29wZW5jdi9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L2dzdHRleHR3cml0ZS5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IFJlZmFjdG9yIGZpbGVzIHN0cnVjdHVyZQoJICBSZW1vdmUgaW50ZXJuYWwgZm9sZGVycyBhbmQgcHV0IGFsbCBjb2RlIGluc2lkZSB0aGUgbWFpbiBwbHVnaW4KCSAgZm9sZGVyLiBBbHNvIGZpeGVzIHNvbWUgYnVpbGRpbmcgd2FybmluZ3MuCgoyMDEwLTA5LTA4IDAwOjA4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3BlbmN2LnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJICBvcGVuY3Y6IEFkZHMgbmV3IHBsdWdpbiBvcGVuY3YKCSAgTW92ZXMgb3BlbmN2IHBsdWdpbiBmcm9tIGh0dHA6Ly9naXRodWIuY29tL0VsbGVvL2dzdC1vcGVuY3YKCSAgaW50byAtYmFkIG1vZHVsZS4KCjIwMTAtMDktMDUgMjM6MDk6MjYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgZmFjZWRldGVjdDogUG9zdCBhbiB1c2VmdWwgbWVzc2FnZQoJICBBZGQgYSBtZXNzYWdlIHRvIGJlIHBvc3Qgd2hlbiBmYWNlcyBhcmUgZm91bmQgb24gYSBmcmFtZSB0aGF0CgkgIGNvbnRhaW5zIGFsbCBmYWNlcyBvbiBhIHNpbmdsZSBtZXNzYWdlIGFuZCBhbHNvIGhhcwoJICB0aW1lc3RhbXAvcnVubmluZy9zZWdtZW50IHRpbWVzIGZvciB0aGF0IGJ1ZmZlciBzbyBpdAoJICBjYW4gYmUgaWRlbnRpZmllZC4KCSAgVGhpcyBtZXNzYWdlIGlzIGNhbGxlZCAnZmFjZWRldGVjdCcgYW5kIGhhcyBhICdmYWNlcycgbGlzdAoJICBvZiBzdHJ1Y3R1cmVzIHdpdGggYWxsIGZhY2VzLgoJICBUaGUgb2xkICdmYWNlJyBtZXNzYWdlIGlzIHN0aWxsIHBvc3RlZCBmb3IgZWFjaCBmYWNlIGZvdW5kLCBidXQKCSAgaXQgaXMgbm90IHJlYWxseSB1c2VmdWwgYXMgaXQgZG9lc24ndCBoYXZlIGFueSByZWZlcmVuY2UgdG8gdGhlCgkgIGJ1ZmZlciB0aGF0IGdlbmVyYXRlZCBpdC4KCjIwMTAtMDktMDUgMTc6NTM6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJICBmYWNlZGV0ZWN0OiBVc2UgR3N0T3BlbmN2VmlkZW9GaWx0ZXIgYXMgdGhlIGJhc2UgY2xhc3MKCSAgUG9ydCBmYWNlZGV0ZWN0IHRvIHVzZSBHc3RPcGVuY3ZWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICB0byBpbmhlcml0IGFsbCB0aGUgZ29vZG5lc3MgdGhhdCBHc3RCYXNlVHJhbnNmb3JtL0dzdFZpZGVvRmlsdGVyCgkgIGFscmVhZHkgaGFuZGxlcy4KCjIwMTAtMDktMDMgMjA6Mjc6MzEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZGlsYXRlZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVxdWFsaXplaGlzdC5oOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmVyb2RlLmM6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNvYmVsLmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dmlkZW9maWx0ZXIuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z2aWRlb2ZpbHRlci5oOgoJICBvcGVuY3ZiYXNldHJhbnM6IFVzZSBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcwoJICBQb3J0IGZyb20gR3N0QmFzZVRyYW5zZm9ybSB0byBHc3RWaWRlb0ZpbHRlciBhcyB0aGUgYmFzZSBjbGFzcy4KCjIwMTAtMDUtMjQgMTk6Mjg6NTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2bGFwbGFjZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmxhcGxhY2UuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuaDoKCSAgY3ZsYXBsYWNlOiBhZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudAoJICBBZGRzIG5ldyBjdmxhcGxhY2UgZWxlbWVudC4KCSAgQWxzbyBhZGRzIGEgbmV3IG9wZW5jdmJhc2V0cmFuc2Zvcm0gZnVuY3Rpb24gdG8gYmUgb3ZlcnJpZGVuCgkgIGJ5IGNoaWxkcmVuIGNsYXNzZXM6IHRoZSBjdl9zZXRfY2FwcywgaXQgYWxsb3dzIGNoaWxkcmVuIGNsYXNzZXMKCSAgdG8ga25vdyB3aGF0IGFyZSB0aGV5IGdvaW5nIHRvIGhhbmRsZSBhbmQgcHJlcGFyZSBwcm9wZXJseS4KCjIwMTAtMDUtMTkgMjA6MTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2c29iZWwuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zzb2JlbC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkgIEFkZHMgbmV3IGVsZW1lbnQgY3Zzb2JlbAoKMjAxMC0wNS0xNyAxOTowNDo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZlcXVhbGl6ZWhpc3QuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkcyBuZXcgZWxlbWVudCBjdmVxdWFsaXplaGlzdAoKMjAxMC0wNS0xNiAxOToxNDo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGUuaDoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZkaWxhdGVlcm9kZS5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdmRpbGF0ZWVyb2RlLmg6CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL2dzdGN2ZXJvZGUuYzoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3Zlcm9kZS5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBBZGRzIG5ldyBlbGVtZW50cyBjdmRpbGF0ZSBhbmQgY3Zlcm9kZQoJICBBZGRzIDIgc2ltaWxhciBlbGVtZW50cyAoc28gc2ltaWxhciB0aGV5IGhhdmUgdGhlaXIgb3duIGJhc2VjbGFzcyksCgkgIGN2ZGlsYXRlIGFuZCBjdmVyb2RlLgoKMjAxMC0wNS0xNiAxNzowMzo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJICBjdnNtb290aDogSW1wcm92ZSBwYXJhbWV0ZXJzIGRvY3MKCjIwMTAtMDUtMTYgMTY6Mzc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSAgY3ZzbW9vdGg6IERlYWN0aXZhdGluZyBibHVyLW5vLXNjYWxlCgkgIERlYWN0aXZhdGUgYmx1ci1uby1zY2FsZSBiZWNhdXNlIGJhc2V0cmFuc2Zvcm0gZG9lc24ndCBwcm92aWRlIGEgd2F5CgkgIHRvIG92ZXJyaWRlIGdldGNhcHMgZm9yIHBhZHMsIGFsd2F5cyB1c2luZyB0ZW1wbGF0ZWNhcHMgaW5kZXBlbmRlbnQKCSAgb2YgcHJvcGVydGllcy4KCjIwMTAtMDUtMTYgMTE6NDI6MDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9iYXNpY2ZpbHRlcnMvZ3N0Y3ZzbW9vdGguYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3ZiYXNldHJhbnMuYzoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3Z1dGlscy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmg6CgkgIGN2c21vb3RoOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctZ3JheQoKMjAxMC0wNS0xNiAwMDo0NjowMSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdnV0aWxzLmM6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2dXRpbHMuaDoKCSAgQWRkaW5nIGdzdG9wZW5jdnV0aWxzCgkgIEFkZHMgYSBmaWxlIHRvIGtlZXAgdXRpbGl0YXJ5IGZ1bmN0aW9ucyB0b2dldGhlcgoKMjAxMC0wNS0xMSAyMDoxMTo0MiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5jOgoJKiBleHQvb3BlbmN2L2Jhc2ljZmlsdGVycy9nc3RjdnNtb290aC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJICBjdnNtb290aDogQWRkcyBuZXcgZWxlbWVudCBjdnNtb290aAoJICBBZGRzIG5ldyBjdnNtb290aCBlbGVtZW50CgoyMDEwLTA1LTA1IDAxOjI0OjU0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvYmFzaWNmaWx0ZXJzL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5jOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdmJhc2V0cmFucy5oOgoJICBnc3RvcGVuY3ZiYXNldHJhbnM6IEFkZHMgdGhpcyBuZXcgYmFzZSBjbGFzcwoJICBBZGRzIEdzdE9wZW5jdkJhc2VUcmFuc2Zvcm0gYXMgYmFzZSBjbGFzcyBmb3Igc2ltcGxlIDE6MQoJICBvcGVuY3YgZmlsdGVycwoKMjAxMC0wNC0yNiAxNzoxODo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkgIHB5cmFtaWRzZWdtZW50OiBBbGxvY2F0ZSBhIG5ldyBidWZmZXIgZm9yIG91dHB1dAoJICBVc2UgYSBuZXdseSBhbGxvY2F0ZWQgYnVmZmVyIGZvciBvdXRwdXQsIGFuZCByZWxlYXNlIHRoZSBpbnRlcm1lZGlhcnkKCSAgaW1hZ2UgdXNlZC4KCSAgQWxzbyBhZGQgYSBUT0RPIGZvciBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudAoKMjAxMC0wNC0yNiAxNzozNDoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBmYWNlYmx1cjogZmFjZWRldGVjdDogdGVtcGxhdGVtYXRjaDogdGV4dHdyaXRlOiBTZXQgYnVmZmVyIHRvIHdyaXRhYmxlCgkgIFRoZXNlIGVsZW1lbnRzIG9wZXJhdGVzIGluIHBsYWNlLCBzZXQgYnVmZmVyIHRvIHdyaXRhYmxlIGJlZm9yZQoJICBvcGVyYXRpbmcuCgoyMDEwLTA0LTI2IDE2OjE3OjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkgIGVkZ2VkZXRlY3Q6IEZpeCBjaGFpbiBidWZmZXIgaGFuZGxpbmcKCSAgQWxsb2NhdGUgYSBuZXcgb3V0cHV0IGJ1ZmZlciBpbnN0ZWFkIG9mIHVzaW5nIHRoZSBpbnB1dCBidWZmZXIKCSAgcG9pbnRpbmcgdG8gdGhlIGludGVybmFsIGN2Q0VkZ2Ugb3BlbmN2J3MgSXBsSW1hZ2UgZGF0YSwgd2hpY2gKCSAgbWlnaHQgY2hhbmdlLCBjb25zZXF1ZW50bHkgY2hhbmdpbmcgdGhlIGJ1ZmZlci4KCjIwMTAtMDQtMjUgMTY6Mjc6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9nc3R0ZW1wbGF0ZW1hdGNoLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJICBjb25maWd1cmU6IGVuYWJsZSAtV2Vycm9yIHRvIGltcHJvdmUgY29kZQoJICAtV2Vycm9yIG9uIGdpdCB2ZXJzaW9uIGlzIHVzZWZ1bCB0byBrZWVwIGNvZGUgY2xlYW4uCgoyMDEwLTAzLTAyIDEzOjU1OjA1ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHRoZSBSR0IgY29sb3Vycy4gCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaAoKMjAxMC0wMy0wMiAxMzoxODoxOSArMDUzMCAgU3JlZXJlbmogQmFsYWNoYW5kcmFuIDxic3JlZXJlbmpAZ21haWxjb20+CgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZGVkIHRoZSBwcm9wZXJ0eSBmb3Igc2V0dGluZyB0aGUgInRoaWNrbmVzcyIgb2YgZm9udCAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAzLTAyIDEyOjQ1OjU4ICswNTMwICBTcmVlcmVuaiBCYWxhY2hhbmRyYW4gPGJzcmVlcmVuakBnbWFpbGNvbT4KCgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5jOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuaDoKCSAgQWRkZWQgdGhlIHByb3BlcnR5IGZvciBzZXR0aW5nIHggYW5kIHkgY28tb3JkaW5hdGVzIAltb2RpZmllZDogICBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmgKCjIwMTAtMDMtMDIgMTI6NDE6MjUgKzA1MzAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsY29tPgoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oOgoJICBhZGRlZCB0aGUgcHJvcGVyeSBmb3Igc2V0dGluZyB4IGFuZCB5IGNvLW9yZGluYXRlcyAJbW9kaWZpZWQ6ICAgZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmMgCW1vZGlmaWVkOiAgIGV4dC9vcGVuY3YvdGV4dHdyaXRlL2dzdHRleHR3cml0ZS5oCgoyMDEwLTAyLTI4IDE0OjM2OjM1ICswMDAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkgIEFwcGx5IFN0ZWZhbidzIGZhY2VibHVyIGZpeGVzIHRvIGZhY2VkZXRlY3QKCjIwMTAtMDItMjggMTQ6MzI6MDAgKzAwMDAgIFNyZWVyZW5qIEJhbGFjaGFuZHJhbiA8YnNyZWVyZW5qQGdtYWlsLmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGV4dHdyaXRlL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3RleHR3cml0ZS9nc3R0ZXh0d3JpdGUuYzoKCSogZXh0L29wZW5jdi90ZXh0d3JpdGUvZ3N0dGV4dHdyaXRlLmg6CgkgIEFkZCBzaW1wbGUgdGV4dCBvdmVybGF5IHBsdWdpbgoKMjAxMC0wMi0xOSAyMjo1MDoxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJICBmYWNlYmx1cjogZml4IGhhbmRsaW5nIG9mIHByb2ZpbGUgcHJvcGVydHkuCgkgIER1cCBhbmQgZnJlZSB0aGUgc3RyaW5nLiBGaXhlcyBsZWFraW5nIG5ldyB2YWx1ZXMgYW5kIGF2b2lkcyBjcmFzaGluZwoJICBnc3QtaW5zcGVjdC4KCjIwMDktMTItMTggMTE6MjM6NTkgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgRml4IGluY2x1ZGVzIGluIHRlbXBsYXRlIG1hdGNoaW5nIGVsZW1lbnQKCjIwMDktMDUtMjYgMTI6NTk6MDQgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlYmx1ci9nc3RmYWNlYmx1ci5jOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5oOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBCcmluZyBjb2RlIGluIHRvIGxpbmUgd2l0aCBnZW5lcmFsIEdzdHJlYW1lciBzdGFuZGFyZHMKCjIwMDktMDUtMjUgMTI6NTc6MTEgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSAgRml4IHNlZ2ZhdWx0IGluIHRlbXBsYXRlIG1hdGNoIGVsZW1lbnQgaWYgbm8gdGVtcGxhdGUgaGFzIGJlZW4gc2V0IEFkZCB0ZW1wbGF0ZSBtYXRjaGluZyBweXRob24gZXhhbXBsZSBBZGQgYXV0b3Rvb2wsIGxpYnRvb2wgYW5kIHBrZ2NvbmZpZyBkZXBlbmRlbmNpZXMgdG8gZGViaWFuIGNvbnRyb2wgZmlsZQoKMjAwOS0wNS0yNSAxMToyNjoyOCArMDEwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VibHVyL2dzdGZhY2VibHVyLmM6CgkqIGV4dC9vcGVuY3YvZmFjZWJsdXIvZ3N0ZmFjZWJsdXIuaDoKCSogZXh0L29wZW5jdi9nc3RvcGVuY3YuYzoKCSAgQWRkIGEgcGx1Z2luIGZvciBhdXRvbWF0aWNhbGx5IGJsdXJyaW5nIGZhY2VzIGluIHZpZGVvcyBhbmQgaW1hZ2VzCgoyMDA5LTA1LTEzIDEyOjE5OjQzICswMzAwICBOb2FtIDxub2FtQGR1YXBvdi4obm9uZSk+CgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5jOgoJKiBleHQvb3BlbmN2L3RlbXBsYXRlbWF0Y2gvZ3N0dGVtcGxhdGVtYXRjaC5oOgoJICBBZGRlZCBjb250cm9sIGZvciBjaGFuZ2luZyBtZXRob2QKCjIwMDktMDUtMTMgMTE6NTU6MzEgKzAzMDAgIE5vYW0gPG5vYW1AZHVhcG92Lihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZ3N0b3BlbmN2LmM6CgkqIGV4dC9vcGVuY3YvdGVtcGxhdGVtYXRjaC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guYzoKCSogZXh0L29wZW5jdi90ZW1wbGF0ZW1hdGNoL2dzdHRlbXBsYXRlbWF0Y2guaDoKCSAgQWRkZWQgdGVtcGxhdGVtYXRjaCBlbGVtZW50CgoyMDA5LTA1LTA4IDExOjU1OjIwICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2ZhY2VkZXRlY3QvZ3N0ZmFjZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L2dzdG9wZW5jdi5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgUmVnaXN0ZXJpbmcgYWxsIGVsZW1lbnRzIHVuZGVyIG9wZW5jdiBwbHVnaW4KCjIwMDktMDUtMDYgMTU6NDk6NDIgKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgRml4IHRoZSBwcm9maWxlIHBhcmFtZXRlciBpbiB0aGUgZmFjZWRldGVjdCBlbGVtZW50IHRvIGFjY2VwdCBhIHN0cmluZyBjb3JyZWN0bHkKCjIwMDktMDUtMDYgMTU6MzM6NDggKzAxMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L2dzdGVkZ2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJICBSZWxlYXNlIE9wZW5DViBpbWFnZXMgd2hlbiBmaW5hbGl6aW5nIGVsZW1lbnRzCgoyMDA5LTA1LTA2IDE2OjM4OjE1ICswNTMwICBrYXBpbCA8a2FwaWxAa2FwaWwtbGFwdG9wLihub25lKT4KCgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9nc3RmYWNlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgRml4ZWQgY29tcGlsZSBlcnJvcnMKCjIwMDktMDQtMjAgMTg6NDA6MTMgKzAzMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSAgTWFrZSBmYWNlIGRldGVjdCBzZW5kIGEgYnVzIG1lc3NhZ2Ugd2hlbiBhIGZhY2UgaXMgZGV0ZWN0ZWQgV3JpdGUgYSBzaW1wbGUgcHl0aG9uIGV4YW1wbGUgZm9yIGZhY2UgZGV0ZWN0aW9uCgoyMDA5LTA0LTE4IDIzOjQzOjM3ICswMzAwICBNaWtlIFNoZWxkb24gPG1pa2VAbWlrZWFzb2Z0LmNvbT4KCgkqIGV4dC9vcGVuY3YvTWFrZWZpbGUuYW06CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0LmM6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9nc3RlZGdlZGV0ZWN0Lmg6CgkqIGV4dC9vcGVuY3YvZmFjZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuYzoKCSogZXh0L29wZW5jdi9mYWNlZGV0ZWN0L2dzdGZhY2VkZXRlY3QuaDoKCSogZXh0L29wZW5jdi9weXJhbWlkc2VnbWVudC9nc3RweXJhbWlkc2VnbWVudC5jOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50Lmg6CgkgIEFkZCBmYWNlIGRldGVjdGlvbiBlbGVtZW50IENsZWFuIHVwIHNvbWUgZ2VuZXJhdGVkIGZpbGVzIFVwZGF0ZSBhIGZldyBvbGQgY29tbWVudHMKCjIwMDgtMTItMTggMjM6NDg6NDAgKzAwMDAgIE1pa2UgU2hlbGRvbiA8bWlrZUBtaWtlYXNvZnQuY29tPgoKCSogZXh0L29wZW5jdi9NYWtlZmlsZToKCSogZXh0L29wZW5jdi9NYWtlZmlsZS5pbjoKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGUuaW46CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvTWFrZWZpbGUuaW46CgkgICogUmVtb3ZlIHNvbWUgYXV0b3Rvb2xzIGdlbmVyYXRlZCBmaWxlcwoKMjAwOC0xMi0xOCAyMzo0MzozNiArMDAwMCAgTWlrZSBTaGVsZG9uIDxtaWtlQG1pa2Vhc29mdC5jb20+CgoJKiBleHQvb3BlbmN2L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvTWFrZWZpbGU6CgkqIGV4dC9vcGVuY3YvZWRnZWRldGVjdC9NYWtlZmlsZS5hbToKCSogZXh0L29wZW5jdi9lZGdlZGV0ZWN0L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5jOgoJKiBleHQvb3BlbmN2L2VkZ2VkZXRlY3QvZ3N0ZWRnZWRldGVjdC5oOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmFtOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L01ha2VmaWxlLmluOgoJKiBleHQvb3BlbmN2L3B5cmFtaWRzZWdtZW50L2dzdHB5cmFtaWRzZWdtZW50LmM6CgkqIGV4dC9vcGVuY3YvcHlyYW1pZHNlZ21lbnQvZ3N0cHlyYW1pZHNlZ21lbnQuaDoKCSAgKiBNYWtlIGl0IHBvc3NpYmxlIHRvIHNldCB0aHJlc2hvbGQyIGF0IHJ1bnRpbWUgKiBJbXBsZW1lbnQgcHlyYW1pZCBzZWdtZW50YXRpb24gZWxlbWVudCAqIE1ha2UgbWFza2luZyBvcHRpb25hbCBvbiBlZGdlZGV0ZWN0ICogQ2xlYW4gdXAgZWRnZWRldGVjdCwgYWRkIGVsZW1lbnQgZGV0YWlscyAqIEltcGxlbWVudGVkIGVkZ2UgZGV0ZWN0IGVsZW1lbnQKCjIwMTAtMDktMDggMTY6NTc6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzbXV4OiBNYXAgR1NUX1RBR19BTEJVTV9BUlRJU1QKCSAgTWFwIEdTVF9UQUdfQUxCVU1fQVJUSVNUIHRvIFRQRTIgYXMgaXQgaXMgZG9uZSBpbgoJICAtYmFzZSBpZDN0YWcgbWFwcGluZ3MuCgoyMDEwLTA4LTA5IDAwOjE1OjAzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgVXNlIEFHX0dTVF9DSEVDS19HU1RfUExVR0lOU197R09PRCxVR0xZLEJBRCxGRk1QRUd9IG1hY3JvcyBmcm9tIGNvbW1vbgoJICB0byBmaW5kIHBsdWdpbiBkaXJlY3RvcmllcyBmb3IgdGhlIHZhcmlvdXMgbW9kdWxlcyBvdXIgdW5pdCB0ZXN0cyBkZXBlbmQKCSAgb24gaW4gYW4gdW5pbnN0YWxsZWQgZW52aXJvbm1lbnQuIFRoaXMgbWFrZXMgc3VyZSB0aGVzZSBwbHVnaW5zIGFyZSBmb3VuZAoJICBldmVuIHdoZW4gZGlzdGNoZWNraW5nICh3aGljaCBoYXBwZW5zIGZyb20gYSBzdWJkaXJlY3RvcnksIHdoaWNoIG1lYW5zCgkgIHRoYXQgdGhlIGN1cnJlbnRseSB1c2VkIHRyaWNrIHRvIGZpbmQgdGhlIHVuaW5zdGFsbGVkIGRpcmVjdG9yaWVzIG9mCgkgIHRoZXNlIG1vZHVsZXMgZG9lc24ndCB3b3JrIGluIHRoYXQgY2FzZSkuCgoyMDEwLTA5LTA3IDE5OjE2OjI0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jcyBzZ21sIGZpbGUgYSBiaXQKCjIwMTAtMDktMDcgMTU6MjI6MjggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IGFkZCAyIG5ldyBmaWxlcyB0byBnaXRpZ25vcmUKCSAgQWRkcyBnc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzLm5ldyBhbmQKCSAgZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXcgdG8gLmdpdGlnbm9yZQoKMjAxMC0wOS0wNyAxNDo0NToxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBNYWtlIGl0IG1vcmUgY29sb3JzcGFjZSBzbWFydAoJICBUaGlzIG1ha2VzIGl0IGFibGUgdG8gcmVjb21iaW5lIHJnYiBpbWFnZXMsIG1ha2luZyBpdCBwb3NzaWJsZQoJICB0byBhZGQgdGFncyB0byByZ2IganBlZ3MgYXMgd2VsbC4KCSAgVXNlcyBhIHNpbXBsZSBzdHJhdGVneSB0byBjaGVjayB3aGF0IGFyZSB0aGUgcG9zc2libGUgY29sb3JzcGFjZXMKCSAgYW5kIGF2b2lkIGFkZGluZyBqZmlmIHRvIG9uZXMgdGhhdCBhcmVuJ3QgWVVWL0dyYXkuCgoyMDEwLTA5LTA3IDEwOjI2OjI5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBBZGRzIHRlc3RzIGZvciBuZXcgcHBpIHRhZ3MKCSAgQWRkcyB0ZXN0cyB0byBjaGVjayBpZiBsaWJleGlmIGNhbiByZWFkIG91cgoJICBFWElGX1RBR19YL1lfUkVTT0xVVElPTiB0YWdzLgoKMjAxMC0wOS0wNyAxMzoyODoyMCArMDIwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludGVybGFjZS9nc3RpbnRlcmxhY2UuYzoKCSAgaW50ZXJsYWNlOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA5LTA3IDExOjQyOjMwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYzJlMTBiZiB0byBhYTBkMWQwCgoyMDEwLTA5LTA3IDExOjM0OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGludHJvc3BlY3Rpb24gZGF0YSBmb3IgcmVjZW50IGNoYW5nZXMKCjIwMTAtMDktMDcgMTE6Mjg6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmxhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgIGRvY3M6IHJlbW92ZSBpbnRyb3NwZWN0aW9uIGZpbGVzIGZvciBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1lcmdlZCwgbW92ZWQgb3IgcmVuYW1lZAoJICBUaGUgYWFjcGFyc2UsIGFtcnBhcnNlLCBmbGFjcGFyc2UgcGx1Z2lucyBoYXZlIGJlZW4gbWVyZ2VkIGludG8gdGhlIGF1ZGlvcGFyc2Vyc2JhZAoJICBwbHVnaW4uIFRoZSBhaWZmcGFyc2UgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYWlmZiBzaW5jZSBpdCBhbHNvIGNvbnRhaW5zIGFuCgkgIGFpZmYgbXV4ZXIgbm93LiBUaGUgYW1yd2IgcGx1Z2luIGhhcyBiZWVuIHJlbmFtZWQgdG8gYW1yd2JlbmMuIFRoZSBkdmJzcmMgcGx1Z2luCgkgIGhhcyBiZWVuIHJlbmFtZWQgdG8gZHZiLiBUaGUgZ3N0cnRwbWFuYWdlciBwbHVnaW4gaGFzIG1vdmVkIHRvIC1nb29kLiBUaGUgeDI2NAoJICBwbHVnaW4gaGFzIG1vdmVkIHRvIC11Z2x5LiBBbmQgdGhlIG1wZWd0c3BhcnNlIHBsdWdpbiBoYXMgYmVlbiBtZXJnZWQgaW50byB0aGUKCSAgbXBlZ2RlbXV4MiBwbHVnaW4uCgoyMDEwLTA5LTA3IDAwOjE2OjAwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIC5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogZml4IGRpc3RjaGVjayBieSBkaXN0aW5nIG5ldyBqYWNrIGV4YW1wbGUgZGlyZWN0b3J5CgkgIEFsc28gYWRkIHRlc3QgYmluYXJ5IHRvIGlnbm9yZXMuCgoyMDEwLTA5LTA2IDE3OjE3OjU0IC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9qYWNrL2phY2tfY2xpZW50LmM6CgkgIGV4YW1wbGVzOiBhZGQgdGVzdCB0byBkZW1vbnN0cmF0ZSBqYWNrX2NsaWVudF90IHVzYWdlCgoyMDEwLTA5LTA2IDE2OjExOjMxIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5oOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBhZGRlZCBjbGllbnQgcHJvcGVydHkKCjIwMTAtMDYtMTcgMTY6MjY6MDcgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBqYWNrOiByZW1vdmVkIHVudXNlZCBmaWxlIGdzdGphY2tiaW4uYwoJICBUaGlzIGlzIGEgMC44IGxlZnRvdmVyLgoKMjAxMC0wOS0wNiAxNDoxMjowMCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IG5vbi1USU1FIHNlZWsgZXZlbnQgaXMgc2ltcGx5IG5vdCBoYW5kbGVkCgoyMDEwLTA5LTA2IDA5OjI4OjQ2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBCdW1wIC1jb3JlLy1iYXNlIHJlcXVpcmVtZW50cyB0byAwLjEwLjMwLjEKCSAgV2UgbmVlZCAwLjEwLjMwLjEgdG8gaGF2ZSBsYXRlc3QgdGFncyBpbiBjb3JlL2Jhc2UgZm9yIGppZm11eAoJICB0ZXN0cy4KCjIwMTAtMDgtMjYgMDI6NTQ6NTUgLTA0MDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IE1ha2UgdGhlIGR0bWZzcmMgYWNjZXB0IGV2ZW50cyBzZW50IHdpdGggZ3N0X2VsZW1lbnRfc2VuZF9ldmVudAoJICBUaGUgZG9jIHNheXMgdG8gdXNlIGdzdF9lbGVtZW50X3NlbmRfZXZlbnQgb24gdGhlIHBpcGVsaW5lLCBidXQgaWYKCSAgd2UgYXJlIHRvIGNhbGwgaXQgb24gdGhlIGVsZW1lbnQgaXRzZWxmLCBpdCdzIGEgbm9vcC4gVGhpcyBzaG91bGQgbWFrZSBpdAoJICBoYW5kbGUgdGhlIGV2ZW50IHByb3Blcmx5IGJlZm9yZSBkZWxlZ2F0aW5nIGl0IHRvIGJhc2VzcmMuCgoyMDEwLTA5LTA1IDE2OjMwOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzZXQgbmV3IGZyYW1lcmF0ZSBvbiBvdXRwdXQgY2FwcyBpbnN0ZWFkIG9mIGlucHV0IGNhcHMKCSAgSXQncyBub3QgYWxsb3dlZCB0byBjaGFuZ2UgdGhlIGNhcHMgcHJvdmlkZWQgYnkgdGhlIHNldGNhcHMgZnVuY3Rpb24uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjgzMjYKCjIwMTAtMDktMDYgMDM6MjM6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvZWxlbWVudC1tYWtlcjoKCSAgZWxlbWVudC1tYWtlcjogVGFrZSBwYXJhbWV0ZXJzIG9uIGNvbW1hbmQgbGluZQoJICBOb3cgaXQncyBhY3R1YWxseSB1c2VmdWwuCgoyMDEwLTA5LTA2IDAzOjA0OjEzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDktMDYgMTA6Mjk6MjEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogVXNlIEdfR1VJTlQ2NF9GT1JNQVQgaW5zdGVhZCBvZiAlbGx1CgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmdzIG9uIDY0IGJpdCBhcmNoaXRlY3R1cmVzLgoKMjAxMC0wOS0wNiAxMTowMzowNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3Rvcjogc3luYyB3aXRoIGNvcHkgaW4gLWJhc2UKCSAgVXNlIF9nZXRfY2Fwc19yZWZmZWQgdG8gYXZvaWQgY29waWVzLgoKMjAxMC0wOC0yNCAxMTo1MDo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBtb3ZlIHRoZSBkZWJ1ZyBpbml0IHRvIHRoZSBib2lsZXJwbGF0ZSBtYWNybwoKMjAxMC0wOC0yNCAxMTo1MDowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogdXNlIEdTVF9CT0lMRVJQTEFURSBtYWNybwoKMjAxMC0wOC0yNCAxMToyNjo1MiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IGRvbid0IGFkZCBhIGdfbWFpbmxvb3AgZGVwZW5kZW5jeQoJICBKdXN0IHVwZGF0ZSB0aGUgZnBzLW1lc3NhZ2UgZnJvbSB0aGUgcHJvYmUgaGFuZGxlci4KCjIwMTAtMDgtMTggMTE6MzU6NDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBzbWFsbCBjbGVhbnVwCgkgIEFkZCBvbmUgb25lIGV4YW1wbGUgYW5kIGxvd2VyIHRoZSBmb24ndCBzaXplIGZvciB0aGUgb3ZlcmxheS4KCjIwMTAtMDgtMjMgMDk6NTE6MjUgLTA1MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtZWFzdXJlIGZwcyBpbiB0ZXJtcyBvZiB3YWxsIGNsb2NrIHRpbWUKCSAgTWVhc3VyZSBmcHMgaW4gdGVybXMgb2Ygc3lzdGVtIGNsb2NrLCByYXRoZXIgdGhhbiBwaXBlbGluZSBjbG9jaywgdG8gZ2V0CgkgIGFuIGFjY3VyYXRlIG1lYXVyZSBvZiBmcHMuCgoyMDEwLTA5LTA1IDIyOjQxOjI0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNoZWNrc3Vtc2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjaGVja3N1bXNpbmsuaDoKCSAgY2hlY2tzdW1zaW5rOiBBZGQgbmV3IGVsZW1lbnQKCjIwMTAtMDktMDUgMjI6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5jOgoJICBzc2ltOiBBZGQgSTQyMCBzdXBwb3J0CgoyMDEwLTA5LTA1IDIxOjM0OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogQWRkIG1vcmUgZm9ybWF0cwoKMjAxMC0wOS0wNSAxODo1ODozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGQzZDlhY2YgdG8gYzJlMTBiZgoKMjAxMC0wOS0wNSAyMzo0MDowOCArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3MubmV3OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFscy5uZXc6CgkgIFJlbW92ZSAubmV3IGRvY3MgZmlsZXMgZnJvbSB0aGUgcmVwb3NpdG9yeQoKMjAxMC0wOS0wNSAxNTozNDoxMyAtMDcwMCAgSm9uYXRoYW4gUm9zc2VyIDxqb25hdGhhbi5yb3NzZXJAcmQuYmJjLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggY29nX3ZpcnRfZnJhbWVfbmV3X2NvbnZlcnRfdTgoKQoJICBDb252ZXJzaW9uIHdhcyB1c2luZyB1bmluaXRpYWxpemVkIGRhdGEgaW5zdGVhZCBvZiBzb3VyY2UgZnJhbWUuCgkgIEZpeGVzICM2MjY0MjUuCgoyMDEwLTA5LTA1IDEyOjA2OjMxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJICBjb2c6IEZpeCBnZW5lcmF0ZWQgT3JjIGNvZGUKCSAgQWxzbyBkcm9wIHJlcXVpcmVkIE9yYyBiYWNrIGRvd24gdG8gMC40LjcuCgoyMDEwLTA4LTMwIDIxOjIyOjE0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgamlmbXV4IGluc3RlYWQgb2YgbWV0YWRhdGFtdXgKCSAgVXNlIGppZm11eCBlbGVtZW50IHRvIHdyaXRlIGV4aWYveG1wIHRhZ3MgaW5zdGVhZCBvZiBtZXRhZGF0YW11eAoKMjAxMC0wOC0zMCAyMToyMTo0OSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFVzZSBuZXcgdGFncyBmcm9tIC1iYXNlCgkgIFJlcGxhY2UgcHJpdmF0ZSB0YWdzIGZyb20gbWV0YWRhdGEgcGx1Z2luIHdpdGggdGhlIG5ldyBnZW5lcmljIHRhZ3MKCSAgZnJvbSAtYmFzZS4KCjIwMTAtMDktMDMgMTQ6MTI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogUmVmYWN0b3IgdGVzdHMKCSAgVGhlIHRlc3RzIHdlcmUgZG9uZSBpbiAyIHN0ZXBzLCBmaXJzdCB0aGVyZSB3YXMgYSBzdWl0ZQoJICB0aGF0IGdlbmVyYXRlZCB0aGUgZmlsZXMgKHdoaWxlIGNoZWNraW5nIHRoYXQgY2FtZXJhYmluCgkgIHdhcyBvcGVyYXRpbmcgY29ycmVjdGx5KS4gVGhlbiB0aGVyZSB3YXMgYSBzZWNvbmQgc3VpdGUKCSAgdGhhdCB3YXMgcnVuIHRvIGNoZWNrIHRoYXQgYWxsIGZpbGVzIHdlcmUgcGxheWFibGUgd2l0aAoJICBwbGF5YmluMi4gVGhvc2Ugc2Vjb25kIHRlc3RzIHdlcmUgbm90IGJlaW5nIHJ1biBiZWNhdXNlCgkgIHRoZXkgd2VyZSBjaGVja2luZyBpZiBjYW1lcmFiaW4gd2FzIGluaXRpYWxpemVkLCBhbmQgaXQKCSAgbmV2ZXIgd2FzIGFzIHRob3NlIHRlc3RzIGRpZG4ndCB1c2UgYSAnc2V0dXAnIGZ1bmN0aW9uLgoJICBUaGlzIGNvbW1pdCByZWZhY3RvcnMgdGhlIHRlc3RzIGJ5IHJlbW92aW5nIHRoaXMgc2Vjb25kCgkgIHN1aXRlIGFuZCBtZXJnaW5nIGl0cyB2YWxpZGF0aW9uIHdpdGggdGhlIGZpcnN0IHN1aXRlJ3MKCSAgZnVuY3Rpb25zLgoKMjAxMC0wOC0yNCAxNDo0Mzo1MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBnZW8gbG9jYXRpb24gdGFncyB0ZXN0cwoJICBBZGRzIHNvbWUgbW9yZSB0ZXN0cyBmb3IgZ2VvIGxvY2F0aW9uIHRhZ3MuCgkgIEFsc28gdXNlIGxpYmV4aWYgY29uc3RhbnRzIGZvciB0aGUgZXhpZiB0YWdzJyBpZHMuCgoyMDEwLTA4LTI0IDA5OjAyOjU5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICB0ZXN0czogamlmbXV4OiBSZWZhY3RvciB0ZXN0aW5nIGNvZGUgYSBsaXR0bGUKCSAgUmVmYWN0b3IgdGVzdGluZyBjb2RlIHRvIGFsbG93IHRlc3RpbmcgZm9yIGNhc2VzIHdoZXJlIHRoZQoJICBzYW1lIGdzdHJlYW1lciB0YWcgaXMgbWFwcGVkIHRvIG11bHRpcGxlIGV4aWYgdGFncy4KCjIwMTAtMDgtMjMgMTE6NTc6MzcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ppZm11eC5jOgoJICBqaWZtdXg6IE1vcmUgdGVzdHMgZm9yIGV4aWYgdGFncwoJICBSZWZhY3RvcnMgc29tZSBjb2RlIGFuZCBhZGQgc29tZSBtb3JlIHRlc3RzIGZvciBleGlmIHRhZ3MKCjIwMTAtMDktMDIgMTE6MTg6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogRG8gbm90IGxpbWl0IHRoZSBzaXplIG9mIHRoZSBpbWFnZSBvbiAxNmJpdHMKCSAgVXNlIGd1aW50IGluc3RlYWQgb2YgZ3VpbnQxNiB0byByZXByZXNlbnQgdGhlIHNpemUgb2YgdGhlIGVuY29kZWQgaW1hZ2UsCgkgIHRoaXMgd291bGQgbWFrZSBzb21lIHJlY29tYmluZWQgaW1hZ2VzIGxvc2UgbW9zdCBvZiB0aGVpciBkYXRhIGFuZAoJICBzaG93IGxpa2UgYSBiaWcgYmxhY2sgaW1hZ2Ugd2l0aCBhIHNtYWxsIGxpbmUgb2YgY29udGVudCBvbiB0b3AuCgkgIEFsc28gYWRkcyBhIG1pbm9yIGxvZyBtZXNzYWdlLgoKMjAxMC0wOC0yMSAxNzowMToyOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4Lmg6CgkgIGppZm11eDogU2V0IG91dHB1dCBwYWQgY2FwcwoJICBTZXQgb3V0cHV0IHBhZCBjYXBzIHRvIGd1YXJhbnRlZSBjYXBzIG9uIHRoZSBidWZmZXJzIGJlaW5nCgkgIHB1c2hlZCBkb3duc3RyZWFtLgoKMjAxMC0wOC0yMCAwODozNDozNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBEZXRlY3QgRU9JIGNvcnJlY3RseQoJICBFT0kgYXJlIG5vdCBhbHdheXMgYXQgdGhlIGxhc3QgNCBieXRlcy4gV2UgbmVlZCB0byBzZWFyY2gKCSAgdGhlIGxhc3QgNSBieXRlcyB0byBmaW5kIHRoZSAweEZGRDkgc2VxdWVuY2UgYXMganBlZ2VuYyBzZWVtcwoJICB0byByb3VuZCB0aGUgYnVmZmVyIHNpemUgdG8gdGhlIG5leHQgNCBtdWx0aXBsZS4KCjIwMTAtMDgtMTkgMjI6NDM6NDcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogUHV0IEFQUDAgZmlyc3QgYWx3YXlzCgkgIEZpeGVzIHRoZSBvcmRlciBvZiB0aGUgQVBQMC9BUFAxIG1hcmtlcnMuIEFQUDAgc2hvdWxkCgkgIGJlIGZpcnN0LgoKMjAxMC0wOS0wMiAwMTozMjoxMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBwYXJzZSAicGl4ZWwtYXNwZWN0LXJhdGlvIiBmcm9tIHN0cmVhbQoKMjAxMC0wOS0wMiAwMTowNDoxNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJICB2ZHBhdTogcmVtb3ZlIG5vbiB3b3JraW5nIHVudXNlZCBjb2RlIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wOS0wMiAwMDoxNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgdmRwYXU6IEdzdEJhc2VWaWRlb0RlY29kZXIgc2V0IGRlZmF1bHQgcGFyIHRvIDEvMQoKMjAxMC0wOS0wMSAyMzo0NzoyMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfYmFzZV92aWRlb19kZWNvZGVyX2dldF9jdXJyZW50X2ZyYW1lCgkgIHdlIG5vdyBwYXNzIHRoZSBjdXJyZW50IGZyYW1lIHRvIEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhcnNlX2RhdGEKCSAgYWxzbyBmaXh1cCBzb21lIGVycm9ycyBpbiB2ZHBhdW1wZWc0ZGVjIHNvIHRoYXQgaXQgbm93IGdpdmVzIGNvcnJlY3Qgb3V0cHV0CgoyMDEwLTA5LTAxIDIyOjAzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5oOgoJICB2ZHBhdTogcmV3b3JrIEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIHRpbWVzdGFtcHMgYXJlIG5vdyBjaG9zZW4gaW4gdGhlIGZvbGxvd2luZyBvcmRlcjoKCSAgdXBzdHJlYW0gLT4gcGFyc2VkIGJ5IGRlY29kZXIgLT4gY2FsY3VsYXRlZCBmcm9tIHRpbWVzdGFtcCBvZmZzZXQKCSAgd2UgYWxzbyBjaGVjayB0aGUgdGltZXN0YW1wcyBzdXBwbGllZCBmcm9tIHVwc3RyZWFtL2RlY29kZXIgdG8gc2VlIGlmIHRoZXkKCSAgYXRsZWFzdCBpcyBpbmNyZWFzaW5nLgoKMjAxMC0wOS0wMSAxNzo0NToxOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IGludmFsaWQgdW5yZWYKCjIwMTAtMDktMDUgMTI6MTk6MzIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlYzYwMjE3IHRvIGQzZDlhY2YKCjIwMTAtMDktMDUgMTE6NDU6MzUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBvcmMgcmVxdWlyZW1lbnQgdG8gMC40LjguMQoJICAwLjQuNyBjcmVhdGVzIGNvZGUgd2l0aCB1bmF2YWlsYWJsZSBzeW1ib2xzCgkgIDAuNC44IGNyZWF0ZXMgYnVnZ3kgY29kZQoJICBMZXQncyB1c2UgZ2l0IGhlYWQgb2Ygb3JjICh3aGljaCBzdGlsbCB3b24ndCB3b3JrIGJlY2F1c2UgZ2l0IGhlYWQKCSAgb2Ygb3JjIHN0aWxsIGNsYWltcyB0byBiZSAwLjQuOCkKCSAgVGhpcyBhbGxvd3MgYWxsIHRoZSByZXN0IG9mIC1iYWQgdG8gYnVpbGQgcHJvcGVybHkuCgoyMDEwLTA3LTE0IDIxOjAwOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgIHRpbWlkaXR5OiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGVzIChnY2MgNC40LjQpCgoyMDEwLTA5LTA0IDExOjM1OjE2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJICBjb2c6IHVwZGF0ZSBkaXN0ZWQgT3JjIGZpbGVzCgoyMDEwLTA4LTI2IDIyOjAzOjIwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIHNkbHZpZGVvc2luazogUmUtZW5hYmxlIFlWWVUgYW5kIFVZVlkKCSAgWVZZVSBvbiBteSBtYWNoaW5lIGFwcGVhcnMgdG8gYmUgZG9pbmcgc29mdHdhcmUgY29udmVyc2lvbgoJICAoYW5kIGRvaW5nIGl0IGluY29ycmVjdGx5KS4KCjIwMTAtMDgtMjYgMjA6MTU6NDMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogdG9vbHMvYmFzZS5jOgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJICBlbGVtZW50LW1ha2VyOiBjb25zdHJ1Y3QgZWxlbWVudCBuYW1lcwoKMjAxMC0wOC0yMiAyMTo0MzoyMCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnRlcmxhY2UvZ3N0aW50ZXJsYWNlLmM6CgkgIGludGVybGFjZTogbmV3IGVsZW1lbnQKCjIwMTAtMDgtMjAgMTc6MjQ6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiBBZGQgZmFzdCBwYXRocyBmb3IgY29sb3JzcGFjZSBjb252ZXJzaW9uCgoyMDEwLTA4LTIwIDE3OjIzOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiByZXF1aXJlIE9yYyAwLjQuNwoKMjAxMC0wOC0xMyAyMTo1ODowMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nc3RlbGVtZW50LmM6CgkgIGVsZW1lbnQtbWFrZXI6IEZpeCB1cCBHc3RFbGVtZW50CgoyMDEwLTA4LTEzIDIxOjU0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogSW1wcm92ZW1lbnRzIGluIGNvbG9yc3BhY2UgYW5kIHNjYWxlcgoJICBBZGQgZmFzdCBwYXRocyBmb3IgWVVWLT5ZVVYgY29udmVyc2lvbnMgYW5kIE9yYyBjb2RlIGZvciBhbGwuCgkgIFVzZSBPcmMgZm9yIGhvcml6b250YWwgcmVzYW1wbGluZy4KCjIwMTAtMDYtMTEgMTQ6Mzk6MzAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogbWlub3IgY2xlYW51cHMKCSAgSW1wcm92ZSBlbGVtZW50IGRlc2NyaXB0aW9ucywgcmVtb3ZlIHVudXNlZCBmaWxlcywgY29kZSBjbGVhbnVwLgoKMjAxMC0wOS0wMyAxMDowMzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJncy5uZXc6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzLm5ldzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29sb3JlZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc2V0dGluZ3MueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCSAgVGVtcG9yYXJpbHkgZGlzYWJsZSAtREdTVF9ESVNBQkxFX0RFUFJFQ0FURUQgZm9yIGdpdCBidWlsZHMgdW50aWwKCSAgdGhlIGNvZGUgaXMgdXBkYXRlZCBmb3IgdGhlIEdTVF9GTE9XX0lTXyogbWFjcm8gZGVwcmVjYXRpb25zLgoKMjAxMC0wOS0wMSAyMjowNTo0MyArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIG1wZWd0c211eDogSW5pdGlhbGl6ZSBQRVMgcGFja2V0IGJlZm9yZSBnZXR0aW5nIHRoZSBoZWFkZXIgc2l6ZS4KCSAgVGhlIFBFUyBoZWFkZXIgbGVuZ3RoIGlzIGNhbGN1bGF0ZWQgYmVmb3JlIHNldHRpbmcgdGhlIGR5bmFtaWMgZmxhZ3MsIHJldHVybmluZwoJICBhIHdyb25nIHZhbHVlLiBTbWFsbCBmcmFtZXMgdGhhdCBzaG91bGQgYmUgc2VudCBpbiBhIHNpbmdsZSBUUyBwYWNrZXQgYXJlCgkgIHNwYXduZWQgdG8gYSBuZXcgcGFja2V0IGJlY2F1c2Ugb2YgdGhhdCBlcnJvci4gRm9yIGF1ZGlvIHN0cmVhbXMgd2hlcmUgYSBzaW5nbGUKCSAgZnJhbWUgY2FuIGNvcGUgaW4gb25lIFRTIHBhY2tldCBpdCBpbnRyb2R1Y2VzIGEgaHVnZSBvdmVyaGVhZC4KCSAgRm9yIGEgMTAwQiBwYWNrZXQsIHdlIHByZXBhcmUgYSBUUyBwYWNrZXQgd2l0aCBhIHBheWxvYWQgb2YoMTAwKzkpQi4gVGhlbiwgd2UKCSAgd3JpdGUgdGhlIFRTIGhlYWRlciB1c2luZyB0aGlzIHZhbHVlIGluIHRzbXV4X3dyaXRlX3RzX2hlYWRlciwgYW5kIGNhbGwKCSAgdHNtdXhfc3RyZWFtX2dldF9kYXRhKCkuIFRoZSBkeW5hbWljIGZsYWdzIHdoZXJlIG5vdCBzZXQgeWV0IGFuZCBub3cKCSAgdHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKCkgcmV0dXJucyAxNEIgaW5zdGVhZCBvZiA5Qi4gVGhlIHBheWxvYWQgb2YgdGhlCgkgIFRTIHBhY2tldCBpcyAxMTRCLCA1QiBtb3JlIHRoYW4gd2hhdCB3YXMgY2FsY3VsYXRlZC4gMTA5QiBhcmUgc2VudCBpbiBhIGZpcnN0CgkgIHBhY2tldCBhbmQgdGhlIHJlbWFpbmluZyA1QiBhcmUgc2VudCBpbiBhbm90aGVyIG9uZS4KCSAgRml4ZXMgYnVnICM2Mjg1NDguCgoyMDEwLTA5LTAyIDEwOjIzOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBDbGFzc2lmeSBhcyBGaWx0ZXIvQ29udmVydGVyL1ZpZGVvIGluc3RlYWQgb2YgZWZmZWN0CgkgIEZpeGVzIGJ1ZyAjNjI4NTcwLgoKMjAxMC0wOS0wMSAxODozMDoxNyArMDIwMCAgVGhpYmF1bHQgU2F1bmllciA8dHNhdW5pZXJAZ25vbWUub3JnPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJICB2aWRlb2FuYWx5c2U6IFVzZSBjb3JyZWN0IGVsZW1lbnQgY2xhc3NpZmljYXRpb24KCSAgVGhpcyBpcyBubyBlZmZlY3QgYnV0IGFuIGFuYWx5emVyLiBGaXhlcyBidWcgIzYyODUyNy4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDEwLTA5LTAzIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjIwCgoyMDEwLTA5LTAzIDAwOjIxOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcGFyc2Vyc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NldHRpbmdzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWl2ZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNobS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWF4cmF0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12cDgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGZvciByZWxlYXNlCgoyMDEwLTA5LTAzIDAwOjE5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL0xJTkdVQVM6CgkqIHBvL2VsLnBvOgoJKiBwby9nbC5wbzoKCSogcG8vcm8ucG86CgkqIHBvL3NsLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wOS0wMyAwMDowMToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgZG9hcDogcmVmZXJlbmNlIGdpdCByZXBvc2l0b3J5IGluc3RlYWQgb2YgQ1ZTIHJlcG9zaXRvcnkKCjIwMTAtMDktMDIgMjI6Mzk6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBmaXggd3JvbmcgdXNlIG9mIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTA4LTMwIDE2OjAxOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS41IHByZS1yZWxlYXNlCgoyMDEwLTA4LTMwIDE1OjIwOjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBEb24ndCBpbnN0YWxsIGdzdC1jYW1lcmEudWkKCSAgVGhlIGV4YW1wbGVzIGFyZSBub3QgbWVhbnQgdG8gYmUgaW5zdGFsbGVkIGFuZCB0aGUgZXhlY3V0YWJsZXMgb2YKCSAgdGhlbSBhcmUgbm90IGluc3RhbGxlZCBhbnl3YXkuCgkgIEZpeGVzIGJ1ZyAjNjI3OTE4LgoKMjAxMC0wOC0yNSAyMjo1NjowMyAtMDQwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVW5sb2NrIHRoZSByaWdodCBtdXRleAoJICBUaGUgbXV0ZXggbG9ja2VkIGlzIGZvciB0aGUgJ211eCcgb2JqZWN0LCBidXQgd2UgdW5sb2NrIHRoZQoJICBwYWQsIHdoaWNoIG1lYW5zIHRoYXQgaWYgdGhlIHJ0cG11eCBnZXRzIGEgZmx1c2gsIHRoZW4gdGhlCgkgIG9iamVjdCBsb2NrIHdpbGwgc3RheSBsb2NrZWQgZm9yZXZlciwgY2F1c2luZyBpdCB0byBmcmVlemUKCSAgdGhlIG5leHQgdGltZSBpdCB0cmllcyB0byB0YWtlIGl0LgoJICBGaXhlcyBidWcgIzYyNzk5MQoKMjAxMC0wOC0yNyAxNTo0OTozOSArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEJ1bXAgbmVvbiByZXF1aXJlbWVudCB0byAwLjI3LjAKCSAgTmVlZGVkIGluIG9yZGVyIHRvIGhhdmUgbmVfc2V0X2Nvbm5lY3RfdGltZW91dAoJICBGaXhlcyBidWcgIzYyNTA3NgoKMjAxMC0wOC0yMSAyMTo0MjowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE5LjQgcHJlLXJlbGVhc2UKCjIwMTAtMDgtMTYgMTI6MzY6MjQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBhdXRvZGV0ZWN0IG91dC1vZi1vcmRlciBpbnB1dCB0aW1lc3RhbXBzIGFuZCBkZXRlcm1pbmUgRFRTIGFjY29yZGluZ2x5CgkgIEZhdm91ciB1c2luZyBpbnB1dCBidWZmZXIgdGltZXN0YW1wcyBmb3IgRFRTLCBidXQgZmFsbGJhY2sgdG8gdXNpbmcgYnVmZmVyCgkgIGR1cmF0aW9uIChhY2N1bXVsYXRpb24pIGlmIGlucHV0IHRzIGRldGVjdGVkIG91dC1vZi1vcmRlci4KCSAgRml4ZXMgIzYyNDIxMi4KCjIwMTAtMDgtMjAgMTE6MDk6MTkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogQXZvaWQgcmVjb21iaW5pbmcgUkdCIGpwZWdzCgkgIEpGSUYgb25seSBhbGxvd3MgWVVWIGFzIGNvbG9yc3BhY2UsIHdoZW4gd2UgcmVjZWl2ZSBhbiBSR0IganBlZywKCSAgd2Ugc2hvdWxkIGp1c3QgcHVzaCBpdCBmb3J3YXJkIHdpdGhvdXQgYWRkaW5nIHRoZSBKRklGIG1hcmtlci4KCSAgRml4ZXMgIzYyNzQxMwoKMjAxMC0wOC0xMyAxNDozNDoyMSArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IEdzdEJhc2VWaWRlb0RlY29kZXI6OnBhY2tldGl6ZWQgdG8gVFJVRSBhcyBzb29uIGFzIHBvc3NpYmxlCgkgIFRoaXMgZml4ZXMgYW4gaW5maW5pdGUgbG9vcCBpZiBhbiBFT1MgZXZlbnQgaXMgcmVjZWl2ZWQgYmVmb3JlCgkgIEdzdEJhc2VWaWRlb0RlY29kZXI6OnN0YXJ0KCkgaXMgY2FsbGVkLCBlLmcuIGltbWVkaWF0ZWx5IHdoZW4gdGhlCgkgIHBhZHMgYXJlIGFjdGl2YXRlZC4KCSAgRml4ZXMgYnVnICM2MjY4MTUuCgoyMDEwLTA4LTEzIDE3OjI0OjI1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDNlOGRiMWQgdG8gZWM2MDIxNwoKMjAxMC0wOC0xMSAyMjowMzowNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJICBnYXVkaWVmZmVjdHM6IE1hcmsgaW5saW5lIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lCgkgIE90aGVyd2lzZSBpdCBmYWlscyB0byBjb3JyZWN0bHkgbGluayB0aGVtIGluIHNvbWUgY2FzZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjY2NzAKCjIwMTAtMDgtMTEgMTc6MTk6MDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nYXVkaWVmZmVjdHMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzZXR0aW5ncy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21heHJhdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4zIHByZS1yZWxlYXNlCgoyMDEwLTA4LTExIDE3OjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogZml4IG1ha2UgZGlzdGNoZWNrCgkgIENsZWFuIHVwIGZpbGUgd2UgZ2VuZXJhdGVkIGF0IGJ1aWxkIHRpbWUuCgoyMDEwLTA4LTExIDEyOjA5OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjaGVja3M6IGJsYWNrbGlzdCBnc2V0dGluZ3MqIGVsZW1lbnRzIGZvciBnZW5lcmljL3N0YXRlcyB0ZXN0CgkgIFdoZW4gdGhlIHRlc3QgaXMgcnVuLCB0aGUgc2NoZW1hIGZpbGUgd29uJ3QgYmUgaW5zdGFsbGVkIHlldCwKCSAgYW5kIHRoZXJlIGRvZXNuJ3Qgc2VlbSB0byBiZSBhbiBlbnZpcm9ubWVudCB2YXJpYWJsZSB0byBzZXQKCSAgdG8gZm9yY2UgR1NldHRpbmdzIHRvIGxvb2sgaW4gYSBkaWZmZXJlbnQgZGlyZWN0b3J5LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI2NjAzCgoyMDEwLTA4LTExIDAwOjIzOjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvbG9yZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZW9tZXRyaWN0cmFuc2Zvcm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW52dGVsZWNpbmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taXZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qcGVnZm9ybWF0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGNhcHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBubS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjaHJvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2htLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmRwYXUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0LmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xOS4yIHByZS1yZWxlYXNlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTA5IDAwOjQyOjQ1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBidW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudCB0byByZWxlYXNlZCB2ZXJzaW9ucwoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOSAwMDo0MjoyNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZml4IC0tZGlzYWJsZS1leHRlcm5hbAoJICBUaGlzIGNvbW1pdCBpcyBvdXQgb2Ygc2VxdWVuY2UsIGl0IHJlYWxseSBiZWxvbmdzIGJldHdlZW4gY29tbWl0cwoJICAxNTA5ODMzMTQxMmNlYjk4MmMyNGI4OWJiNDM0NjM1NGZiNTY0MzNjIChBdXRvbWF0aWMgdXBkYXRlIG9mCgkgIGNvbW1vbiBzdWJtb2R1bGUpIGFuZCBkZDI2ZjM3OGIwMWQ2Nzk4MzRmMTI5MzVlZmM3MDkzZmI1ODA3OTU2CgkgIChjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVja3MgdG8gLi4uKQoKMjAxMC0wOC0wOCAxNzowOToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgY2hlY2tzOiBza2lwIGppZm11eCB0ZXN0cyBpZiByZXF1aXJlZCBlbGVtZW50cyBhcmVuJ3QgYXZhaWxhYmxlCgkgIFRoaXMgY29tbWl0IGlzIG91dCBvZiBzZXF1ZW5jZSwgaXQgcmVhbGx5IGJlbG9uZ3MgYmV0d2VlbiBjb21taXRzCgkgIDE1MDk4MzMxNDEyY2ViOTgyYzI0Yjg5YmI0MzQ2MzU0ZmI1NjQzM2MgKEF1dG9tYXRpYyB1cGRhdGUgb2YKCSAgY29tbW9uIHN1Ym1vZHVsZSkgYW5kIGRkMjZmMzc4YjAxZDY3OTgzNGYxMjkzNWVmYzcwOTNmYjU4MDc5NTYKCSAgKGNvbmZpZ3VyZTogRml4IHRoZSBDRUxUIGNoZWNrcyB0byAuLi4pCgoyMDEwLTA4LTExIDExOjUyOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgbGVnYWN5cmVzYW1wbGU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciByaW50KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6NTE6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogbTQvZ3NldHRpbmdzLm00OgoJICBnc2V0dGluZ3M6IEFkZCBnc2V0dGluZ3MubTQgZm9yIHRoZSBnc2V0dGluZ3MgbWFjcm9zCgoyMDEwLTA4LTExIDExOjUwOjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9NYWtlZmlsZS5hbToKCSAgaW52dGVsZWNpbmU6IExpbmsgYWdhaW5zdCAkKExJQk0pIGZvciBzcXJ0KCkgYW5kIGZyaWVuZHMKCjIwMTAtMDgtMTEgMTE6Mzk6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEZpeCB0aGUgQ0VMVCBjaGVjayB0byBhY3R1YWxseSBzdWNjZWVkIGlmIENFTFQgPj0gMC41IGlzIGF2YWlsYWJsZQoJICBBbHNvIHJlbW92ZSB0aGUgQUNfTVNHX1JFU1VMVFMoW25vXSksIHBrZy1jb25maWcgZG9lcyB0aGlzIGZvciB1cyBhbHJlYWR5LgoKMjAxMC0wOC0xMCAxMDo1ODo0NiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGJkMjA1NGIgdG8gM2U4ZGIxZAoKMjAxMC0wOC0wOSAxNzoyMDoxMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gc3F1YXJlIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDE2OjU1OjQzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3F1YXJlLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzcXVhcmUgIndpZHRoIiBhbmQgImhlaWdodCIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDkgMTA6MDM6MjAgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtaXJyb3IuaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBhZGQgYSAibW9kZSIgcHJvcGVydHkgdG8gbWlycm9yIGZpbHRlcgoJICBBZGQgYSAibW9kZSIgZW51bSBwcm9wZXJ0eSB0byBtaXJyb3IgdGhhdCBkZWZpbmVzIGhvdyB0byBzcGxpdCB0aGUgZnJhbWUKCSAgYW5kIHdpdGggc2lkZSByZWZsZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA5IDA4OjUyOjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZCBhICJ6b29tIiBwYXJhbWV0ZXIgdG8gYnVsZ2UgZmlsdGVyCgkgIFJld29yayBidWxnZSBtYXBwaW5nIGZ1bmN0aW9uIHRvIGdpdmUgbW9yZSBwcmVkaWN0YWJsZSByZXN1bHRzLgoJICBOb3cgdGhlIGJ1bGdlIGlzIGRvbmUgZGl2aWRpbmcgYnkgYSBzY2FsZSBmYWN0b3IgdGhhdCBzbW9vdGhzdGVwcyBmcm9tCgkgICJ6b29tIiBhdCB0aGUgY2VudGVyIHRvIDEuMCBhdCAicmFkaXVzIi4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTkwOAoKMjAxMC0wOC0wNSAxNjoxNjozNyArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHN0cmV0Y2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmg6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogYWRkIGFuICJpbnRlbnNpdHkiIHBhcmFtZXRlciB0byBzdHJldGNoIGZpbHRlcgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA1IDEyOjQzOjE1ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSB0dW5uZWwgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6Mjk6MTYgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG1ha2UgYnVsZ2UgInJhZGl1cyIgY3VzdG9taXphYmxlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU5MDgKCjIwMTAtMDgtMDUgMTI6MjU6MDQgKzAyMDAgIEZpbGlwcG8gQXJnaW9sYXMgPGZpbGlwcG8uYXJnaW9sYXNAZ21haWwuY29tPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbWFrZSBzdHJldGNoICJyYWRpdXMiIGN1c3RvbWl6YWJsZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTA4CgoyMDEwLTA4LTA4IDIzOjU2OjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5jOgoJICB2ZHBhdW1wZWc0ZGVjOiBmaXggdHlwbyBpbiBkZWZhdWx0X25vbl9pbnRyYV9xdWFudF9tYXRyaXgKCjIwMTAtMDctMTQgMTE6MDM6MzUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0bXBlZzRmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZzQvZ3N0dmRwbXBlZzRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWc0L2dzdHZkcG1wZWc0ZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnNC9tcGVnNHV0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWc0L21wZWc0dXRpbC5oOgoJICB2ZHBhdTogYWRkIG1wZWc0IHBhcnQyIGRlY29kZXIKCjIwMTAtMDgtMDggMTI6NDY6MDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaWQzbXV4LmM6CgkgIGNoZWNrczogc2tpcCBpZDNtdXggdW5pdCB0ZXN0cyB0aGF0IG5lZWQgaWQzZGVtdXggaWYgaWQzZGVtdXggaXMgbm90IGF2YWlsYWJsZQoKMjAxMC0wOC0wOCAxMjoyNjo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVpbGQgYW5kIGRpc3QgbmV3IGNvbG9yZWZmZWN0cyBwbHVnaW4KCSAgRml4ZXMgbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA4LTA4IDEyOjAxOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogT25seSBjaGVjayB0aGUgcGx1Z2luIGZpbGVuYW1lcywgbm90IHRoZSBkaXJlY3RvcnkgbmFtZXMKCjIwMTAtMDgtMDggMTE6NTY6NDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBEb24ndCB0cnkgdG8gcmVnaXN0ZXIvbG9hZCB0aGUgc2FtZSBmcmVpMHIgcGx1Z2luIGF0IGRpZmZlcmVudCBsb2NhdGlvbnMgdHdpY2UKCSAgVGhpcyBjb3VsZCBoYXBwZW4gYmVjYXVzZSBmb3IgZXhhbXBsZSAvdXNyL2xpYiBpcyBsaW5rZWQKCSAgdG8gL3Vzci9saWI2NCBhbmQgYm90aCBhcmUgbG9hZGVkLiBUaGUgZnJlaTByIHNwZWNpZmljYXRpb24KCSAgc2F5cyB0aGF0IHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBtdXN0IG9ubHkgYmUgY2FsbGVkIG9uY2UKCSAgYW5kIGZvciBzb21lIHBsdWdpbiB3ZWlyZCB0aGluZ3MgKGluY2x1ZGluZyBjcmFzaGVzKSBhcmUKCSAgaGFwcGVuaW5nLgoJICBGaXhlcyBidWcgIzYyMzcxMC4KCjIwMTAtMDgtMDYgMDE6NTY6MjkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgZHZic3JjOiBhbGlnbiBhY3R1YWwgZGVmYXVsdCB2YWx1ZXMgZm9yIHByb3BlcnRpZXMgd2l0aCBkZWZhdWx0cyBpbiBwYXJhbSBzcGVjCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjE0MDQKCjIwMTAtMDgtMDYgMTI6MTQ6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJICB2ZHBhdTogZml4IGRlc3RydWN0aW9uIG9mIEdzdFZkcERldmljZSB3aGVuIGl0IGZhaWxlZCB0byBvcGVuCgkgIG9ubHkgY2xvc2UgZGlzcGxheSBpbiBmaW5hbGl6ZSBhbmQgY2hlY2sgaWYgdmRwX2RlY29kZXJfZGVzdHJveSBpcyBhdmFpbGFibGUKCSAgYmVmb3JlIHdlIHVzZSBpdAoKMjAxMC0wOC0wNSAyMzo1NTowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIHNlcGFyYXRlIG11dGV4IGZvciBkZXZpY2UgbG9ja2luZwoJICB3ZSBjYW4ndCB1c2UgR1NUX09CSkVDVF9MT0NLIHNpbmNlIHRoYXQgY2F1c2UgcHJvYmxlbXMgd2hlbiB3ZSB0cnkgdG8gcG9zdAoJICBlcnJvcnMsIGR1ZSB0byBnc3RfZWxlbWVudF9wb3N0X21lc3NhZ2UgYWxzbyB0YWtpbmcgdGhlIEdTVF9PQkpFQ1RfTE9DSwoKMjAxMC0wOC0wNiAxMTowNDo1NyArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBuZW9uaHR0cHNyYzogYWRkIGNvbm5lY3QtdGltZW91dCBhbmQgcmVhZC10aW1lb3V0IHByb3BlcnRpZXMKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTA3NgoKMjAxMC0wOC0wNiAxMDo0NDoyNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9uZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogYWRkICJjb29raWVzIiBwcm9wZXJ0eQoJICBCYXNlZCBvbiBwYXRjaCBieTogU2FtZWVyIE5haWsKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTE3NAoKMjAxMC0wNy0yNSAxNzowNDoxMiArMDIwMCAgQW5kb25pIE1vcmFsZXMgQWxhc3RydWV5IDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgIGRzaG93dmlkZW9zaW5rOiBjbG9zZSBvdXIgb3duIHdpbmRvdyB3aGVuIGNoYW5naW5nIHRoZSB3aW5kb3cgaWQKCSAgSWYgd2UgY3JlYXRlZCB0aGUgd2luZG93LCBpdCBuZWVkcyB0byBiZSBjbG9zZWQgYWZ0ZXIgc2V0dGluZyBhIG5ldwoJICB3aW5kb3cgaWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDctMjUgMTc6MDE6MTkgKzAyMDAgIFJhaW1vIEphcnZpIDxyYWltby5qYXJ2aUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogYWxsb3cgY2hhbmdpbmcgd2luZG93IElEIHdoaWxzdCBpbiBQTEFZSU5HIHN0YXRlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NzQyOTAKCjIwMTAtMDgtMDYgMDM6MTk6MTYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTG9hZCBwbHVnaW5zIGluIC91c3Ive2xvY2FsLyx9bGliezMyLDY0fS9mcmVpMHItMSB0b28KCSAgTG9hZHMgdGhlIHBsdWdpbnMgaW4gbW9yZSBwYXRocyB3aGVyZSB0aGV5IGNvdWxkIGJlIGluc3RhbGxlZCBieQoJICBtdWx0aWxpYiBkaXN0cmlidXRpb25zLgoJICBGaXhlcyAjNjIzNzEwCgoyMDEwLTA4LTA1IDEzOjU3OjExICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGE1MTk1NzEgdG8gYmQyMDU0YgoKMjAxMC0wOC0wMyAxMDowODozNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBtYWtlIGNpY2xlZ3QgInJhZGl1cyIgcHJvcGVydHkgcmVsYXRpdmUKCSAgTWFrZSB0aGUgInJhZGl1cyIgcHJvcGVydHkgb2YgQ2lyY2xlR2VvbWV0cmljVHJhbnNmb3JtIHJlbGF0aXZlLgoJICBUaGlzIGlzIG1vcmUgY29oZXJlbnQgd2l0aCB0aGUgd2F5IFt4LHldLWNlbnRlciBwcm9wZXJ0aWVzIGFyZSBoYW5kbGVkCgkgIGFuZCBhbGxvdyB0byBzZXQgYSByYWRpdXMgd2l0aG91dCBrbm93aW5nIHRoZSB2aWRlbyBzaXplLgoJICBSYWRpdXMgaXMgZGVmaW5lZCB3aXRoIHJlc3BlY3QgdG8gdGhlIGNpcmNsZSBjaXJjdW1zY3JpYmVkIGFib3V0IHRoZQoJICB2aWRlbyByZWN0YW5nbGUgc28gdGhhdCBhIHBvaW50IGluIHRoZSBjZW50ZXIgaGFzIHJhZGl1cyAwLjAgYW5kIG9uZSBpbgoJICBhIHZlcnRleCBoYXMgcmFkaXVzIDEuMC4KCSAgTm90ZSB0aGF0IHRoaXMgaXMgbm90IGEgcmVncmVzc2lvbiBmcm9tIHRoZSBwcmV2aW91cyBhYnNvbHV0ZSB3YXkgb2YKCSAgZGVmaW5pbmcgdGhlIHJhZGl1cyBhcyBhIHVzZXIgd2hvIGtub3dzIHRoZSB2aWRlbyBzaXplIGNhbiBlYXNpbHkKCSAgY2FsY3VsYXRlIHRoZSByZWxhdGl2ZSByYWRpdXMgYW5kIHNldCB0aGF0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1OTU5CgoyMDEwLTA4LTA0IDIzOjUwOjUzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogbWlub3IgY29kZSBjbGVhbi11cAoJICBBZGQgaGVscGVyIGZ1bmN0aW9uIHRvIHdyaXRlIHRleHQgZnJhbWVzIHdpdGgganVzdCBvbmUgc3RyaW5nLgoKMjAxMC0wOC0wNCAyMzo0NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbW9yZSB1bml0IHRlc3QgYmluYXJpZXMKCjIwMTAtMDYtMTQgMjA6MDc6MzMgKzEwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGQxNG4ub3JnPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2lkM211eC5jOgoJICBpZDNtdXg6IGFkZCBzdXBwb3J0IGZvciBiZWF0cy1wZXItbWludXRlIHRhZwoJICBXcml0ZSBiZWF0cyBwZXIgbWludXRlIGludG8gdGhlIFRCUE0gZnJhbWUsIGFuZCBhZGQgdW5pdAoJICB0ZXN0IGZvciBpZDNtdXgsIGJhc2VkIG9uIGlkM3YybXV4IHVuaXQgdGVzdC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMTUyMwoKMjAxMC0wOC0wNCAxOToyNjo1MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSAgY29uZmlndXJlOiBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgSVNPIEM4OSBvciBDOTkgYW5kIHdoaWNoIHBhcmFtZXRlcnMgYXJlIHJlcXVpcmVkCgkgIFRoaXMgZmlyc3QgY2hlY2tzIHdoYXQgaXMgcmVxdWlyZWQgZm9yIElTTyBDOTkgc3VwcG9ydCBhbmQgc2V0cyB0aGUgcmVsZXZhbnQKCSAgY29tcGlsZXIgcGFyYW1ldGVycyBhbmQgaWYgbm8gQzk5IGNvbXBpbGVyIGlzIGZvdW5kLCBpdCBjaGVja3MgZm9yIGEKCSAgQzg5IGNvbXBpbGVyLiBUaGlzIGVuYWJsZXMgdXMgdG8gY2hlY2sgZm9yIGFuZCB1c2UgQzg5L0M5OSBmdW5jdGlvbnMKCSAgdGhhdCBnY2MgaGlkZXMgZnJvbSB1cyB3aXRob3V0IHRoZSBjb3JyZWN0IGNvbXBpbGVyIHBhcmFtZXRlcnMuCgoyMDEwLTA4LTA0IDEwOjE1OjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2xvcmVmZmVjdHMueG1sOgoJICBjb2xvcmVmZmVjdHM6IEFkZCB0byB0aGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wOC0wNCAxMDoxMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdGNvbG9yZWZmZWN0cy5jOgoJKiBnc3QvY29sb3JlZmZlY3RzL2dzdHBsdWdpbi5jOgoJICBjb2xvcmVmZmVjdHM6IE1pbm9yIGNsZWFudXAKCjIwMTAtMDgtMDQgMTA6MDk6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NvbG9yZWZmZWN0cy9nc3Rjb2xvcmVmZmVjdHMuYzoKCSAgY29sb3JlZmZlY3RzOiBJbXByb3ZlIHByb3BlcnR5IGRlc2NyaXB0aW9uIGEgYml0CgoyMDEwLTA4LTA0IDEwOjA4OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkgIGNvbG9yZWZmZWN0czogRG9uJ3QgdXNlIHRoZSBmaXhlZF9jYXBzIGZ1bmMgb24gdGhlIHBhZHMKCSAgY29sb3JlZmZlY3RzIGNhbiByZW5lZ290aWF0ZSBkdXJpbmcgcGxheWJhY2sgd2l0aG91dCBhbnkgcHJvYmxlbXMuCgoyMDEwLTA4LTAzIDE0OjM5OjIyICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkgIGNvbG9yZWZmZWN0czogYWRkIGF5dXYgc3VwcG9ydAoJICBDdXJyZW50bHkgaW1wbGVtZW50ZWQgc3dpdGNoaW5nIGZyb20geXV2IHRvIHJnYiwgbG9va2luZyB1cCByZ2IgZnJvbSB0aGUKCSAgdGFibGUgaW4gdGhlIHVzdWFsIHdheSwgZ2V0dGluZyBiYWNrIHRvIHl1di4gV2l0aCBsdW1hIGxvb2t1cCBwcmVzZXRzCgkgIChzZXBpYSwgaGVhdCwgeHJheSkgYSBjb2xvciBzcGFjZSBjb252ZXJzaW9uIGlzIHNhdmVkIGRpcmVjdGx5IGxvb2tpbmcKCSAgdXAgcmdiIGZvciBhIGdpdmVuIFkgYW5kIGNvbnZlcnRpbmcgdG8geXV2LgoJICBQcm9iYWJseSB0aGlzIGxhdHRlciBzdGVwIGNhbiBldmVuIGJlIG1hZGUgZmFzdGVyIHByZWNhbGN1bGF0aW5nIGEgbHVtYQoJICB0byB5dXYgdGFibGUgaW4gYW4gb3V0ZXIgbG9vcC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMSAyMzowMzoyNCArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmM6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0Y29sb3JlZmZlY3RzLmg6CgkqIGdzdC9jb2xvcmVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkgIGNvbG9yZWZmZWN0czogbmV3IHBsdWdpbiBmb3IgbG9va3VwIHRhYmxlIGNvbG9yIG1hcHBpbmcKCSAgSW1wbGVtZW50cyBhIGNvbG9yIGxvb2t1cCB0YWJsZSBmaWx0ZXIgd2l0aCA0IHByZXNldHM6CgkgIC0gaGVhdDogZmFrZSBoZWF0IGNhbWVyYSBlZmZlY3QKCSAgLSBzZXBpYTogc2VwaWEgdG9uaW5nCgkgIC0geHJheTogaW52ZXJ0ICsgc2hhZGUgdG8gYmx1ZQoJICAtIHhwcm86IGNyb3NzIHByb2Nlc3MKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTgxNwoKMjAxMC0wOC0wMyAxMDoyOTozNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2VvbWV0cmljdHJhbnNmb3JtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgZG9jczogQWRkIGxvdHMgb2YgZ2F1ZGllZmZlY3RzL2dlb21ldHJpY3RyYW5zZm9ybSBzeW1ib2xzIHRvIHRoZSBkb2NzCgoyMDEwLTA4LTAyIDExOjMwOjUwICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZmlzaGV5ZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGZpc2hleWUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBuZXcgZmlsdGVyICJmaXNoZXllIgoJICBQb3J0cyBnbGVmZmVjdHMgImZpc2hleWUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIEZha2UgZmlzaGV5ZSBsZW5zIGZpbHRlci4gU29tZXdoYXQgZW1waXJpYyBpbXBsZW1lbnRhdGlvbiBiZWNhdXNlIEkKCSAgZGlkbid0IGZpbmQgYW55IGdvb2QgYWxnb3JpdGhtIHRoYXQgZG9lcyBpdCB3aXRoIG5pY2UgcmVzdWx0cy4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMToxMjo0MiArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdG1pcnJvci5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgIm1pcnJvciIKCSAgUG9ydHMgZ2xlZmZlY3RzICJtaXJyb3IiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIFNpbXBsZSB5ZXQgZWZmZWN0aXZlIG1pcnJvciBlZmZlY3QsIHNwbGl0cyB0aGUgaW1hZ2UgaW50byBoYWx2ZXMgYW5kCgkgIHJlZmxlY3QgdGhlIGZpcnN0IGludG8gdGhlIHNlY29uZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyNTcyMgoKMjAxMC0wOC0wMiAxMTowMTozMSArMDIwMCAgRmlsaXBwbyBBcmdpb2xhcyA8ZmlsaXBwby5hcmdpb2xhc0BnbWFpbC5jb20+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNxdWFyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInNxdWFyZSIKCSAgUG9ydHMgZ2xlZmZlY3RzICJzcXVhcmUiIGZpbHRlciB0byBnZW9tZXRyaWN0cmFuc2Zvcm0uCgkgIE1hcHMgYSByZWdpb24gYXJvdW5kIHRoZSBjZW50ZXIgaW50byBhIHpvb21lZCBzcXVhcmUgYW5kIHNtb290aGx5IGdldAoJICBiYWNrIHRvIG5vcm1hbCB6b29tLiBXaXRoIGZhY2VzIGl0IG1ha2VzIGEgZnVubnkgImN1YmUtZmFjZSIgZWZmZWN0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDEwOjQ2OjQ0ICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0dHVubmVsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogbmV3IGZpbHRlciAidHVubmVsIgoJICBQb3J0cyBnbGVmZmVjdHMgInR1bm5lbCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgRG8gbm90aGluZyBpbiBhIGNpcmNsZSBhcm91bmQgdGhlIGNlbnRlciBhbmQgem9vbSBvdXRzaWRlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjM5OjUxICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0YnVsZ2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RidWxnZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgImJ1bGdlIgoJICBQb3J0cyBnbGVmZmVjdHMgImJ1bGdlIiBmaWx0ZXIgdG8gZ2VvbWV0cmljdHJhbnNmb3JtLgoJICBBZGRzIGEgcHJvdHViZXJhbmNlIGFyb3VuZCB0aGUgY2VudGVyIHBvaW50LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NzIyCgoyMDEwLTA4LTAyIDA5OjE3OjAzICswMjAwICBGaWxpcHBvIEFyZ2lvbGFzIDxmaWxpcHBvLmFyZ2lvbGFzQGdtYWlsLmNvbT4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzdHJldGNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0c3RyZXRjaC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IG5ldyBmaWx0ZXIgInN0cmV0Y2giCgkgIFBvcnRzIGdsZWZmZWN0cyAic3RyZXRjaCIgZmlsdGVyIHRvIGdlb21ldHJpY3RyYW5zZm9ybS4KCSAgU2hyaW5rcyB0aGUgaW1hZ2UgYXJvdW5kIHRoZSBjZW50ZXIgYW5kIGdyYWR1YWxseSByZXR1cm4gdG8gbm9ybWFsIHpvb20KCSAgY3JlYXRpbmcgZnVubnkgY2FyaWNhdHVyZXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU3MjIKCjIwMTAtMDgtMDIgMTg6MzM6NDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IHNldCBiYWNrIHBsdWdpbiByYW5rcyB0byBHU1RfUkFOS19OT05FCgkgIHRoZSBwcmV2aW91cyBjaGFuZ2Ugd2FzIG5vdCBtZWFudCB0byBzbGlwIGluCgoyMDEwLTA4LTAyIDE4OjIzOjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogc2xpZ2h0bHkgZml4IEdzdEJhc2VWaWRlb0RlY29kZXIgdGltZXN0YW1waW5nCgkgIGNsZWFyIHRpbWVzdGFtcHMgb24gZmx1c2ggYW5kIHByb3Blcmx5IGNhbGN1bGF0ZSB0aGUgZnJhbWUncyBlbmQgb2Zmc2V0CgoyMDEwLTA4LTAxIDEyOjMyOjMxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICB2ZHBhdTogaW5pdCBkZWJ1ZyBjYXRlZ29yeSBpbiBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfdHlwZQoKMjAxMC0wOC0wMiAyMDo0MToxMiArMTAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdhdWRpZWZmZWN0cy54bWw6CgkqIGdzdC9nYXVkaWVmZmVjdHMvTWFrZWZpbGUuYW06CgkqIGdzdC9nYXVkaWVmZmVjdHMvYmx1ci1leGFtcGxlLnB5OgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGdhdXNzYmx1ci5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHBsdWdpbi5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZCBHYXVzc2lhbiBCbHVyIGVmZmVjdCwgYW5kIGJyaWVmIGV4YW1wbGUuCgoyMDEwLTA3LTMwIDIzOjU5OjEwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogZml4IHdhcm5pbmcgb24gb3N4LgoKMjAxMC0wNy0zMCAyMjoyNzo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IGFkZCBlcnJvciByZXBvcnRpbmcgdG8gZGV2aWNlIGNyZWF0aW9uCgoyMDEwLTA3LTMwIDE2OjU0OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICB2ZHBhdTogZml4IHNtYWxsIHR5cG8gaW4gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNy0zMCAxNDo0Nzo0MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBnc3RfdmRwX3l1dl90b192aWRlb19jYXBzIGluIEdzdFZkcFZpZGVvU3JjUGFkIHRvIHRyYW5zZm9ybSBzZXQgY2FwcwoJICB0aGlzIHdheSB3ZSdsbCBrZWVwIG90aGVyIGFsbCBvdGhlciBmaWVsZHMgaW4gdGhlIGNhcHMgd2hpY2ggd2UgZGlkbid0IHRha2UgaW4KCSAgYWNjb3VudCB3aGVuIHdlIG1hbnVhbGx5IGNyZWF0ZWQgdGhlICJ2aWRlby94LXZkcGF1LXZpZGVvIiBjYXBzCgoyMDEwLTA3LTMwIDE0OjQ0OjA5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogcmVuYW1lIGdzdF92ZHBfdmlkZW9fYnVmZmVyX3BhcnNlX3l1dl9jYXBzIGFuZCBtb3ZlIGl0IHRvIGdzdHZkcHV0aWxzLmgKCjIwMTAtMDctMzAgMTQ6MDc6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dHNyY3BhZC5jOgoJICB2ZHBhdTogR3N0VmRwT3V0cHV0U3JjUGFkIHVzZSBnc3RfcGFkX2FsbG9jIHdoZW4gb3V0cHV0dGluZyB2aWRlby94LXJhdy1yZ2IKCSAgd2UgaW1wbGVtZW50ICJhY2NlcHRjYXBzIiB0byBwcmV2ZW50IHVzIGZyb20gZ2V0dGluZyBhIGJ1ZmZlciB3aXRoIGRpZmZlcmVudAoJICB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gd2hhdCB3ZSByZXF1ZXN0ZWQuCgoyMDEwLTA3LTMwIDExOjI5OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdTogcHJvcGVybHkgcmVtb3ZlICJjaHJvbWEtdHlwZSIgZmllbGQgZnJvbSB0cmFuc2Zvcm1lZCBjYXBzCgoyMDEwLTA3LTMwIDExOjI3OjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiB1c2UgR3N0VmRwW1ZpZGVvfE91dHB1dF1CdWZmZXJQb29sIHRvIGNhY2hlIG91ciBidWZmZXJzCgkgIFRoaXMgd2F5IHdlJ2xsIHJldXNlIHRoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZQoJICBzaXplIGFuZCBjaHJvbWEtdHlwZS9yZ2JhLWZvcm1hdC4KCSAgQWxzbyByZW1vdmUgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9uZWdvdGlhdGUgYW5kIHNldCBhICJzZXRjYXBzIiBmdW5jdGlvbiBvbgoJICBHc3RWZHBPdXRwdXRTcmNQYWQgaW5zdGVhZCwgbGVhdmluZyBuZWdvdGlhdGlvbiB0byBHc3RWZHBWaWRlb1Bvc3RQcm9jZXNzLgoKMjAxMC0wNy0zMCAxMToyMDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogdXNlIEdzdFZkcE91dHB1dEJ1ZmZlclBvb2wgdG8gYWxsb2Mgb3VyIGJ1ZmZlcnMKCSAgVGhpcyB3YXkgd2UnbGwgcmV1c2Ugb3VyIEdzdFZkcE91dHB1dEJ1ZmZlcnMgaWYgdGhleSdyZSBvZiB0aGUgc2FtZSBzaXplIGFuZAoJICByZ2JhLWZvcm1hdAoKMjAxMC0wNy0zMCAxMToxNjowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSAgdmRwYXU6IHVzZSBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaW4gR3N0VmRwVmlkZW9TcmNQYWQKCSAgV2UgYWxzbyBkb24ndCBwYWRfYWxsb2Mgb3VyIEdzdFZkcFZpZGVvQnVmZmVycyBhbnltb3JlIHNpbmNlIHdlIGRvbid0IHN1cHBvcnQKCSAgZG93bnN0cmVhbSBuZWdvdGF0aW9uIGFueXdheS4KCjIwMTAtMDctMzAgMTE6MDY6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcG91dHB1dGJ1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRidWZmZXJwb29sLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1OiBhZGQgR3N0VmRwT3V0cHV0QnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb091dHB1dFBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXJQb29sIHRoYXQgY2FjaGVzCgkgIEdzdFZkcE91dHB1dEJ1ZmZlcnMKCjIwMTAtMDctMzAgMTE6MDE6MTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb2J1ZmZlcnBvb2wuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogYWRkIEdzdFZkcFZpZGVvQnVmZmVyUG9vbAoJICBHc3RWZHBWaWRlb0J1ZmZlclBvb2wgaXMgYSBzdWJjbGFzcyBvZiBHc3RWZHBCdWZmZXIgdGhhdCBjYWNoZXMKCSAgR3N0VmRwVmlkZW9CdWZmZXJzCgoyMDEwLTA3LTMwIDEwOjU1OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBidWZmZXJwb29sLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwYnVmZmVycG9vbC5oOgoJICB2ZHBhdTogYWRkIEdzdFZkcEJ1ZmZlclBvb2wgYmFzZSBjbGFzcwoJICBHc3RWZHBCdWZmZXJQb29sIHdpbGwgYmUgdXNlZCB0byBjYWNoZSBHc3RWZHBbVmlkZW98T3V0cHV0XUJ1ZmZlcnMgc2luY2UKCSAgY3JlYXRpbmcgdGhlc2UgY2FuIGJlIGEgY29zdGx5IG9wZXJhdGlvbiBvbiBzb21lIGhhcmR3YXJlLgoKMjAxMC0wNy0yOCAyMTozOToxMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIGluc3RlYWQgd2UgZG8gYXMgR3N0VmRwVmlkZW9TcmNQYWQgYW5kIHVzZSB0aGUgInRlbXBsIiBwcm9wZXJ0eSBvZiBHc3RQYWQsCgkgIHdoaWNoIGVuYWJsZSB1cyB0byBjaGFuZ2UgdGhlIHNpZ25hdHVyZSBvZiBnc3RfdmRwX291dHB1dF9zcmNfcGFkX25ldyB0byBtYXRjaAoJICBnc3RfcGFkX25ld19mcm9tX3RlbXBsYXRlCgoyMDEwLTA3LTI4IDIxOjE1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IHJlbW92ZSBHc3RWZHBPdXRwdXRTcmNQYWQgY29kZSB0byByZXRyaWV2ZSB0aGUgZGV2aWNlIGZyb20gZG93bnN0cmVhbQoJICB3ZSBub3cgbm8gbG9uZ2VyIHRyeSB0byBnZXQgdGhlIEdzdFZkcERldmljZSBmcm9tIGRvd25zdHJlYW0gc2luY2UgaXQgaW4KCSAgcHJhY3RpY2UgZGlkbid0IGdpdmUgdXMgYW55dGhpbmcgYW5kIGNvbXBsaWNhdGVzIHRoZSBjb2RlIGFsb3QuIE5ldmVydGhlbGVzcyBpZiBkZXZpY2UKCSAgZGlzdHJpYnV0aW9uIHNob3VsZCBiZSBkb25lIHRoZXJlJ3MgcHJvYmFibHkgYSBsb3QgYmV0dGVyIHdheXMgdG8gZG8gaXQuCgkgIEluc3RlYWQgd2Ugbm93IHNpbXBseSBhcXVpcmUgdGhlIGRldmljZSBpbiB2ZHBhdXZpZGVvcG9zdHByb2Nlc3Mgd2hlbiB3ZSdyZQoJICBnb2luZyBpbnRvIFBBVVNFRC4KCjIwMTAtMDctMjcgMjM6MjQ6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNsZWFudXAgR3N0VmRwRGVjb2RlciBvcGVuaW5nIG9mIGl0J3MgR3N0VmRwRGV2aWNlCgkgIHdlIG5vdyBubyBsb25nZXIgdHJ5IHRvIGdldCB0aGUgR3N0VmRwRGV2aWNlIGZyb20gZG93bnN0cmVhbSBzaW5jZSBpdCBpbgoJICBwcmFjdGljZSBkaWRuJ3QgZ2l2ZSB1cyBhbnl0aGluZyBhbmQgY29tcGxpY2F0ZXMgdGhlIGNvZGUgYWxvdC4gTmV2ZXJ0aGVsZXNzIGlmIGRldmljZQoJICBkaXN0cmlidXRpb24gc2hvdWxkIGJlIGRvbmUgdGhlcmUncyBwcm9iYWJseSBhIGxvdCBiZXR0ZXIgd2F5cyB0byBkbyBpdC4KCjIwMTAtMDctMjcgMjM6MTc6MDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIHZkcGF1OiBmaXggR3N0QmFzZVZpZGVvRGVjb2RlciByZXR1cm5pbmcgd3JvbmcgR3N0U3RhdGVDaGFuZ2VSZXR1cm4KCSAgd2hlbiBnc3RfYmFzZV92aWRlb19kZWNvZGVyX1tzdGFydHxzdG9wXSBmYWlscyB3ZSBub3cgcmV0dXJuCgkgIEdTVF9TVEFURV9DSEFOR0VfRkFJTFVSRSBpbnN0ZWFkIG9mIHJldHVybmluZyB3aGF0IHRoZSBwYXJlbnQgY2xhc3MgcmV0dXJucwoKMjAxMC0wNy0yNyAxNTozMzowMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiByZW1vdmUgdW5uZWVkZWQgc2V0dGluZyBvZiBidWZmZXIgZmxhZ3MKCSAgR3N0QmFzZVZpZGVvRGVjb2RlciBzZXRzIEdTVF9WSURFT19CVUZGRVJfVEZGIGZvciB1cyBhbmQKCSAgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgZG9lc24ndCBtYWtlIHNlbnNlIGZvciBkZWNvZGVkIGZyYW1lcy4KCjIwMTAtMDctMjkgMTY6MDg6MDMgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBkb24ndCBtYWtlIGEgcmFuZ2UgaWYgbWluPT1tYXgKCSAgRml4ZXMgYnVnICM2MjUxMzgKCjIwMTAtMDctMjkgMTA6Mzg6NTggKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFjdHVhbGx5IHdvcmsgd2hlbiB3ZSBoYXZlIHNtYWxsIGJ1ZmZlcnMgY29taW5nIGluCgkgIGF2YWlsYWJsZV9mYXN0IGlzIG5vdCB3aGF0IHdlIHdhbnQgYW5kIGl0IHdpbGwgbmV2ZXIgZ2V0IHRvIGRpc2NvdmVyIHBhY2tldAoJICBzaXplIGlmIDE4OCBieXRlIGJ1ZmZlcnMgYXJlIGJlaW5nIHBpY2tlZCB1cC4KCjIwMTAtMDctMjggMTg6MzY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdzZXR0aW5ncyB4bWwgc2NoZW1hIGZpbGUKCjIwMTAtMDctMjggMTg6MzQ6MTUgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2F1ZGllZmZlY3RzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdlb21ldHJpY3RyYW5zZm9ybS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pdmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaG0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tYXhyYXRlLnhtbDoKCSAgZG9jczogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gdGhlIGRvY3MKCjIwMTAtMDctMjggMTc6NDY6NTMgKzAyMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5oOgoJICBpdmZwYXJzZTogZml4IHVwIG1hY3JvcyBhbmQgZnVuY3Rpb24gbmFtZXMgdG8gbWF0Y2ggZ3VpZGVsaW5lcwoKMjAxMC0wNy0yOCAxNzozNDowMiArMDIwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGJ1cm4uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RjaHJvbWl1bS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRpbGF0ZS5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZG9kZ2UuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RleGNsdXNpb24uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdHNvbGFyaXplLmg6CgkgIGdhdWRpZWZmZWN0czogZml4IHN0cnVjdHVyZSBuYW1lcyB0byBjb21wbHkgd2l0aCB0aGUgcGx1Z2luIG1vdmluZyBndWlkZWxpbmVzCgoyMDEwLTA3LTI4IDE2OjE1OjUzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNhcHMgYml0cmF0ZSBhdCBsYXN0IGNoYW5jZQoJICBJZiB3ZSBkaWRuJ3QgZ2V0IHRoZSBzdHJlYW0ncyBiaXRyYXRlIGZyb20gb25lIG9mIHRoZSBhdG9tcywKCSAgdHJ5IGdldHRpbmcgaXQgZnJvbSB0aGUgY2FwcyBhcyBhIGxhc3QgcmVzb3J0LgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjI1NDk2CgoyMDEwLTA3LTI4IDE2OjEyOjExICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogYnRydCAtIG1heCBiaXRyYXRlIGJlZm9yZSBhdmVyYWdlCgkgIEFjY29yZGluZyB0byBpc28gYmFzZSBtZWRpYSBmaWxlIGZvcm1hdCwgdGhlIG1heCBiaXRyYXRlCgkgIGlzIGJlZm9yZSB0aGUgYXZnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjU0OTYKCjIwMTAtMDctMjcgMTg6MjM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogUmVzZXQgdGhlIHNlZ21lbnQgb24gRkxVU0hfU1RPUCBhbmQgd2hlbiBnb2luZyBiYWNrIHRvIFJFQURZCgoyMDEwLTA3LTI3IDE4OjA3OjAwICswMjAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiBkaXN0IG5ldyBoZWFkZXIgZmlsZQoJICBGaXggbWFrZSBkaXN0Y2hlY2suCgoyMDEwLTA3LTIzIDE5OjQxOjI5ICswMjAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IEltcHJvdmVtZW50cyBjb250cmlidXRlZCBmcm9tIHRoZSBNb292aWRhIHByb2pldC4KCSAgKiBJbmhlcml0IGZyb20gR3N0VmlkZW9TaW5rCgkgICogSW1wbGVtZW50IEdzdE5hdmlnYXRpb24gaW50ZXJmYWNlCgkgICogUHJvcGVyIENPTSBpbml0aWFsaXphdGlvbiBmb3IgdGhyZWFkZWQgZW52aXJvbm1lbnRzCgkgICogRml4IFdpbmRvdyByZXNvdXJjZSBsZWFrCgkgICogQWRkIEVWUiBzdXBwb3J0IGZvciBiZXR0ZXIgdmlkZW8gc2NhbGluZyBvbiBXaW5kb3dzIFZpc3RhIGFuZCBhYm92ZQoJICAqIE9ubHkgYXBwbHkgUEFSIHNjYWxpbmcgd2hlbiB0aGUga2VlcF9hc3BlY3RfcmF0aW8gcHJvcGVydHkgaXMgc2V0IHRvIHN0YXkKCSAgY29uc2lzdGVudCB3aXRoIHRoZSBvdGhlciBMaW51eCBzaW5rcwoJICAqIFByZXZlbnQgYW4gaW5maW5pdGUgbG9vcCB3aXRoIHRoZSB3bmRwcm9jIGNoYWluCgkgICogRml4IGRlYnVnZ2luZyBtZXNzYWdlcyB0byB1c2UgdGhlIG9iamVjdCBpbnN0YW5jZQoKMjAxMC0wNy0yMyAwMDoyODo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZ3N0X3ZkcF9kZWNvZGVyX3JlbmRlciBhbmQgZ3N0X3ZkcF9kZWNvZGVyX2luaXRfZGVjb2RlcgoKMjAxMC0wNy0yMiAwOToyMTozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgZXhhbXBsZXM6IFVzZSBjYWlybyBpbnN0ZWFkIG9mIGdka19kcmF3XyogQVBJCgkgIEZpeGVzIGJ1ZyAjNjI1MDAzLgoKMjAxMC0wNy0xMiAyMjozNzo0NyAtMDMwMCAgTHVpcyBkZSBCZXRoZW5jb3VydCA8bHVpc0BkZWJldGhlbmNvdXJ0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9NYWtlZmlsZS5hbToKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RidXJuLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0YnVybi5oOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGNocm9taXVtLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0Y2hyb21pdW0uaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3RkaWxhdGUuaDoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rkb2RnZS5jOgoJKiBnc3QvZ2F1ZGllZmZlY3RzL2dzdGRvZGdlLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0ZXhjbHVzaW9uLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmM6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0cGx1Z2luLmg6CgkqIGdzdC9nYXVkaWVmZmVjdHMvZ3N0c29sYXJpemUuYzoKCSogZ3N0L2dhdWRpZWZmZWN0cy9nc3Rzb2xhcml6ZS5oOgoJICBnYXVkaWVmZmVjdHM6IEFkZHMgbmV3IHBsdWdpbiAnZ2F1ZGllZmZlY3RzJwoJICBBZGRzIHRoZSBuZXcgJ2dhdWRpZWZmZWN0cycgcGx1Z2luLCBvcmlnaW5hbGx5IGZvdW5kCgkgIGhlcmU6IGh0dHA6Ly9naXRodWIuY29tL2x1aXNiZy9nYXVkaV9lZmZlY3RzCgkgIENvbnRhaW5zIHRoZSBmb2xsb3dpbmcgdmlkZW8gZWZmZWN0IGVsZW1lbnRzOiBidXJuLCBjaHJvbWl1bSwgZGlsYXRlLAoJICBkb2RnZSwgZXhjbHVzaW9uIGFuZCBzb2xhcml6ZS4KCSAgVGhhbmtzIHRvIEphbiBTY2htaWR0IGZvciB0aGUgcmV2aWV3aW5nIGFuZCByZWZhY3RvcmluZwoKMjAxMC0wNy0xOSAyMTo1MzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IHRyeSB0byBjYWxjdWxhdGUgZnJhbWVyYXRlIGlmIHdlIGRvbid0IGdldCBvbmUgZnJvbSB1cHN0cmVhbQoKMjAxMC0wNy0xOSAxMTozNDozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBmaXggc2VnZmF1bHQgd2hlbiB2ZHBhdSBkZXZpY2UgY291bGQgbm90IGJlIGNyZWF0ZWQKCjIwMTAtMDctMTggMjE6MTU6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHByb2JsZW0gd2hlbiBlbmNvdW50ZXJpbmcgR1NUX05BTF9BVV9ERUxJTUlURVIKCjIwMTAtMDctMDggMDk6NTY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzcmMuYzoKCSAgd2FzYXBpc3JjOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTA4IDA5OjU1OjUxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBhbHNhc3BkaWZzaW5rOiBVc2UgbmV3IGdzdF9hdWRpb19jbG9ja19uZXdfZnVsbCgpCgoyMDEwLTA3LTE1IDEzOjIzOjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGNhbGN1bGF0ZSB3aWR0aCBhbmQgaGVpZ2h0IGZyb20gYml0c3RyZWFtIGluZm8KCjIwMTAtMDctMTUgMTE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHVzYWdlIG9mIGdfYml0X3N0b3JhZ2UKCjIwMTAtMDctMTQgMTE6MTk6MDUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbmFtZSB6aWd6YWcgbWF0cml4CgoyMDEwLTA3LTE0IDExOjE3OjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogdXNlIGdfYml0X3N0b3JhZ2UgaW5zdGVhZCBvZiBsb2cyCgkgIGxvZzIgY2F1c2VkIGNvbXBpbGUgaXNzdWVzIG9uIGNlcnRhaW4gcGxhdGZvcm1zCgoyMDEwLTA3LTEzIDAwOjQwOjM2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nc2V0dGluZ3MvTWFrZWZpbGUuYW06CgkgIGdzZXR0aW5nczogRml4IG1haW50YWluZXItY2xlYW4gd2hlbiBpdCBpcyBub3QgYXZhaWxhYmxlCgkgIERvIG5vdCB1c2UgQEdTRVRUSU5HU19SVUxFU0AgaWYgZ3NldHRpbmdzIGlzIG5vdCBhdmFpbGFibGUKCSAgdG8gYXZvaWQgbWFpbnRhaW5lci1jbGVhbiBmYWlsaW5nLgoKMjAxMC0wNy0xMSAxMDo0NzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5oOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuaDoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuaDoKCSAgZnJlaTByOiBVc2UgY29ycmVjdCBvcmRlciBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIHBsdWdpbnMKCSAgQW5kIGRvbid0IGZhaWwgaWYgYSBwbHVnaW4gd2FzIGFscmVhZHkgcmVnaXN0ZXJlZC4gRnJlaTByIGFsbG93cwoJICBwbHVnaW5zIGluIGRpcmVjdG9yaWVzIHdpdGggaGlnaGVyIGltcG9ydGFuY2UgdG8gb3ZlcnJpZGUgcGx1Z2lucwoJICBmcm9tIGRpcmVjdG9yaWVzIHdpdGggbG93ZXIgaW1wb3J0YW5jZS4KCjIwMTAtMDctMTAgMTY6NTI6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSAgdnA4ZW5jOiBBZGQgc3VwcG9ydCBmb3IgZW5hYmxpbmcgYXV0b21hdGljIGluc2VydGlvbiBvZiBhbHQtcmVmIGZyYW1lcyBieSB0aGUgZW5jb2RlcgoKMjAxMC0wNy0xMCAxNjo1MTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBoYW5kbGluZyBvZiBpbnZpc2libGUvYWx0IHJlZiBmcmFtZXMKCjIwMTAtMDctMTAgMTU6NTA6NTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogRml4IG1lbW9yeSBsZWFrCgkgIFRoZSB0aW1lc3RhbXBzIGFyZSBvbmx5IHVzZWQgaWYgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQsIG5vdAoJICBpZiBjb21wbGV0ZSBmcmFtZXMgYXJlIHByb3ZpZGVkIGJ5IHRoZSBkZWNvZGVyIGFuZCBmaW5pc2hfZnJhbWUoKSBpcwoJICBjYWxsZWQgYW5kIGV2ZW4gaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIG91dHB1dCBhZGFwdGVyIGlzIHVzZWQgdGhleQoJICBtaWdodCBub3QgYmUgdXNlZCBhbmQgYXJlIGxlYWtlZC4KCjIwMTAtMDctMTAgMTU6NDY6NTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZwOGRlYy5jOgoJICB2cDhkZWM6IEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB2cDhkZWMKCjIwMTAtMDctMTAgMTU6NDY6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogSW1wcm92ZSB1bml0IHRlc3QgYSBiaXQKCjIwMTAtMDctMTAgMTU6MzI6MjkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWxzbyBjaGVjayB0aGUgb3V0cHV0IGNhcHMgaW4gdGhlIHVuaXQgdGVzdAoKMjAxMC0wNy0xMCAxNToyOTo0NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdnA4ZW5jLmM6CgkgIHZwOGVuYzogQWRkIHNpbXBsZSB1bml0IHRlc3QKCjIwMTAtMDctMDkgMTc6NDQ6NTYgKzAzMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJICBhaWZtbXV4OiB1c2UgYWx0ZXJuYXRpdmUgd2F5IHRvIGNoZWNrIGZvciBpbmYKCSAgTVNWQyBlbWl0cyBhIGRpdmlkZS1ieS16ZXJvIGVycm9yIHdoZW4gY29tcGlsaW5nIGFpZmZtdXguYyBvbiBsaW5lIDIwNS4KCSAgRml4ZXMgIzYyMzg4MS4KCjIwMTAtMDctMDggMjE6NTM6MzUgKzAxMDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYzoKCSAgd2lua3M6IGZpeCBjb21waWxhdGlvbiBieSB1c2luZyB0aGUgcmlnaHQgZnVuY3Rpb24KCSAgRml4ZXMgIzYyMzg4My4KCjIwMTAtMDctMDggMTc6NTg6MTYgKzAyMDAgIFbDrWN0b3IgTWFudWVsIErDoXF1ZXogTGVhbCA8dmphcXVlekBpZ2FsaWEuY29tPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogZml4IGV4aWYgZnJhbWUgc2l6ZQoJICBTa2lwIHRoZSBjb3JyZWN0IG51bWJlciBvZiBieXRlcyB3aGVuIHJlYWRpbmcgZXhpZgoJICBkYXRhCgkgIEZpeGVzICM2MjM4NTQKCjIwMTAtMDctMDggMTU6MDc6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBDb3JyZWN0bHkgaW5pdGlhbGl6ZSBwcm9wZXJ0aWVzIHdpdGggdGhlIGRlZmF1bHQgdmFsdWVzIGFnYWluCgoyMDEwLTA3LTA4IDA3OjU3OjU1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogVXNlIFBST1BfIGluc3RlYWQgb2YgQVJHXyBmb3IgcHJvcGVydHkgZW51bXMgYW5kIHVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTCgkgIEFsc28gZG9uJ3QgdXNlIEdfUEFSQU1fQ09OU1RSVUNULCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIGZvciBlbGVtZW50cy4KCjIwMTAtMDctMDcgMjM6MDY6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggdmlld2ZpbmVyLXNpbmsgcHJvcGVydHkgZm9yIGJpbnMKCSAgQ29ycmVjdGx5IGl0ZXJhdGUgdmlld2ZpbmRlci1zaW5rIGNoaWxkcmVuIHdoZW4KCSAgaXQgaXMgYSBiaW4uCgkgIEZpeGVzICM2MjM4MDIKCjIwMTAtMDctMDYgMTQ6NDg6MDggKzA1MzAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFdyaXRlICdidHJ0JyBhdG9tIGZvciBILjI2NCBtZWRpYSBpZiBwb3NzaWJsZQoJICBUaGlzIHdyaXRlcyBvdXQgdGhlIG9wdGlvbmFsICdidHJ0JyBhdG9tIChNUEVHNEJpdHJhdGVCb3gpIGZvciBILjI2NAoJICBtZWRpYSBpZiBlaXRoZXIgb3IgYm90aCBvZiBhdmVyYWdlIGFuZCBtYXhpbXVtIGJpdHJhdGUgYXJlIGF2YWlsYWJsZSBmb3IKCSAgdGhlIHN0cmVhbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYyMzY3OAoKMjAxMC0wNy0wNSAxNDowOTo1MCArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFdyaXRlIGF2Zy9tYXggYml0cmF0ZSB0byBFU0RTIGlmIGF2YWlsYWJsZQoJICBUaGlzIGNvbGxlY3RzIHRoZSAnYml0cmF0ZScgYW5kICdtYXhpbXVtLWJpdHJhdGUnIHRhZ3Mgb24gdGhlCgkgIGNvcnJlc3BvbmRpbmcgcGFkIGFuZCB1c2VzIHRoZXNlIHRvIHBvcHVsYXRlIHRoZXNlIGZpZWxkcyBpbiB0aGUgRVNEUwoJICB3aGVyZSBhcHBsaWNhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzNjc4CgoyMDEwLTA3LTA3IDEwOjMzOjE4IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjd3JhcHBlcjogcmVzZXQgZmxvdyByZXR1cm4gc3RhdGUgdHJhY2tlciBhZnRlciBmbHVzaCB0byBhdm9pZCBzcHVyaW91cyBlcnJvcnMgYWZ0ZXIgZmx1c2hpbmcgaW4gc29tZSBjYXNlcy4KCjIwMTAtMDctMDcgMDg6Mzc6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IEFkZCBzdXBwb3J0IGZvciB3aWxkbWlkaSAwLjIuMwoJICBGaXhlcyBidWcgIzYyMzcyMi4KCjIwMTAtMDctMDEgMTA6NTY6MTkgKzAyMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBub3JtYW5kQGlnYWxpYS5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgZHNob3d2aWRlb3Npbms6IFVwZGF0ZSByZW5kZXJlciBhc3BlY3QgcmF0aW8gYWZ0ZXIgZm9yY2UtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHVwZGF0ZS4KCSAgQSBuZXcgdmlydHVhbCBtZXRob2QgaGFzIGJlZW4gYWRkZWQgdG8gdGhlIFJlbmRlcmVyU3VwcG9ydCBjbGFzcy4gSXQKCSAgaXMgY2FsbGVkIGR1cmluZyB0aGUgaW5pdGlhbCByZW5kZXJlciBjb25maWd1cmF0aW9uIGFuZCBlYWNoIHRpbWUgdGhlCgkgIGZvcmNlLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSBvZiB0aGUgc2luayBpcyB1cGRhdGVkLgoJICBGaXhlcyBidWcgIzYyMzI3Mi4KCjIwMTAtMDctMDcgMDA6MTU6MjIgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOgoJICBkc2hvd2F1ZGlvZGVjOiBGaXggY29tcGlsYXRpb24gZXJyb3IKCSAgQ2xvc2VzICM2MjM3MTMKCjIwMTAtMDctMDYgMTM6MTU6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBvbmx5IHVzZSBnX3dhcm5pbmcoKSB3aGVuIHNldHRpbmcgdGhlIG9sZCBpcy1saXZlIHByb3BlcnR5LCBub3Qgd2hlbiByZWFkaW5nIGl0CgkgIERvbid0IHdhbnQgd2FybmluZ3MgaW4gZS5nLiBnc3QtaW5zcGVjdC4KCjIwMTAtMDctMDYgMTA6NTM6MDQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgcG86IFVzZSBwcm9wZXIgZ3NldHRpbmdzIHNjaGVtYSBmaWxlCgoyMDEwLTA3LTA1IDExOjUyOjU2ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTA3LTA1IDExOjQ4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBza2lwcGluZyBleHRyYSAweGZmIG1hcmtlcnMKCSAgSW4gcGFydGljdWxhciwgdGhpcyBtYWtlcyB0aGUganBlZ3BhcnNlIHVuaXQgdGVzdCBwYXNzIGFnYWluLgoJICBBbHNvIGFkZCBhIGRlYnVnIHN0YXRlbWVudC4KCSAgRml4ZXMgIzYyMjY5MC4KCjIwMTAtMDctMDUgMTA6MDk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcHJvdmUgZGVidWdnaW5nCgoyMDEwLTA3LTA1IDEwOjA4OjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBjZWx0ZW5jOiBBZGQgc3VwcG9ydCBmb3Igc2V0dGluZyB0aGUgcHJlZGljdGlvbiBtb2RlIGFuZCB0aGUgc3RhcnQgYmFuZAoKMjAxMC0wNy0wNSAwOTo1MzozMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNlbHQ6IEFkZCBjaGVjayBmb3IgY2VsdCAwLjgKCjIwMTAtMDctMDUgMDk6NTI6MTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IFJlbW92ZSBzdXBwb3J0IGZvciBjZWx0IDwgMC41CgkgIGNlbHQgMC41IHdhcyByZWxlYXNlZCBtb3JlIHRoYW4gYSB5ZWFyIGFnbyBhbmQgdGhlIGJpdHN0cmVhbSBpcwoJICBpbmNvbXBhdGlibGUgd2l0aCB0aGUgY3VycmVudCBvbmUgYW55d2F5LgoKMjAxMC0wNy0wNSAwOTo0NzozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogRml4IGNvbXBpbGF0aW9uIHdpdGggY2VsdCAwLjgKCSAgRml4ZXMgYnVnICM2MjM1NTAuCgoyMDEwLTA3LTA1IDA5OjMyOjMwICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJICBnc2V0dGluZ3M6IGZpeCBzb21lIG1vcmUgd2FybmluZ3MKCjIwMTAtMDctMDUgMDk6Mjg6NDkgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3NhdWRpb3NpbmsuYzoKCSAgZ3NldHRpbmdzOiBmaXggYSBjb21waWxlciB3YXJuaW5nCgoyMDEwLTA3LTAzIDE2OjE1OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL01ha2VmaWxlLmFtOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5ncy5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc2luay5oOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc2F1ZGlvc3JjLmM6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0Z3NldHRpbmdzYXVkaW9zcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rnc2V0dGluZ3N2aWRlb3NyYy5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdGdzZXR0aW5nc3ZpZGVvc3JjLmg6CgkqIGV4dC9nc2V0dGluZ3MvZ3N0c3dpdGNoc2luay5jOgoJKiBleHQvZ3NldHRpbmdzL2dzdHN3aXRjaHNpbmsuaDoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuYzoKCSogZXh0L2dzZXR0aW5ncy9nc3Rzd2l0Y2hzcmMuaDoKCSogZXh0L2dzZXR0aW5ncy9vcmcuZnJlZWRlc2t0b3AuZ3N0cmVhbWVyLmRlZmF1bHQtZWxlbWVudHMuZ3NjaGVtYS54bWwuaW46CgkqIGV4dC9nc2V0dGluZ3MvcGx1Z2luLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJICBnc2V0dGluZ3M6IEluaXRpYWwgdmVyc2lvbiBvZiBHU2V0dGluZ3MgcGx1Z2luCgkgIFRoaXMgcHJvdmlkZXMgYXVkaW8vdmlkZW8gc291cmNlcyBhbmQgc2lua3MuCgkgIEZpeGVzIGJ1ZyAjNjE2MjY1LgoKMjAxMC0wNy0wMyAxNzo0ODoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkgIGRvY3M6IEludGVncmF0ZSBWUDggZG9jdW1lbnRhdGlvbgoKMjAxMC0wNy0wMyAxNzo0NzoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5oOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5oOgoJICB2cDg6IEFkZCBpbml0aWFsIGRvY3VtZW50YXRpb24sIGJhc2VkIG9uIHRoZSB0aGVvcmFkZWMvdGhlb3JhZW5jIGRvY3VtZW50YXRpb24KCjIwMTAtMDctMDMgMTc6MzQ6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuaDoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuaDoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBNb3ZlIHN0cnVjdHVyZSBkZWZpbml0aW9ucywgZXRjIHRvIHB1YmxpYyBoZWFkZXIgZmlsZXMgZm9yIGd0ay1kb2MKCjIwMTAtMDctMDIgMTI6NDU6MjAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvbid0IHVzZSBib2d1cyBjb2RlYy9mb3JtYXQgdGFncwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjIzMzY1CgoyMDEwLTA3LTAxIDE1OjE5OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgcnRwbXV4OiBBZGQgc3VwcG9ydCBmb3IgR3N0QnVmZmVyTGlzdAoJICBGYWN0b3Igb3V0IG1vc3Qgb2YgdGhlIGJ1ZmZlciBoYW5kbGluZyBhbmQgaW1wbGVtZW50IGEgY2hhaW5fbGlzdAoJICBmdW5jdGlvbi4gQWxzbywgdGhlIERUTUYgbXV4ZXIgaGFzIGJlZW4gbW9kaWZpZWQgdG8ganVzdCBoYXZlIGEKCSAgZnVuY3Rpb24gdG8gYWNjZXB0IG9yIHJlamVjdCBhIGJ1ZmZlciBpbnN0ZWFkIG9mIGhhdmluZyB0byBzdWJjbGFzcwoJICBib3RoIGNoYWluIGFuZCBjaGFpbl9saXN0LgoKMjAxMC0wNy0wMSAxNToxNTo0OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBEb24ndCBsZWFrIGludmFsaWQgYnVmZmVycwoKMjAxMC0wNi0xNCAxNToxNTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5oOgoJICB2aWRlb21heHJhdGU6IEFkZCB0byBkb2NzCgoyMDEwLTA2LTExIDE4OjMxOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmlkZW9tYXhyYXRlL3ZpZGVvbWF4cmF0ZS5jOgoJICB2aWRlb21heHJhdGU6IEFkZCBmaXhhdGVzX2NhcHMKCjIwMTAtMDYtMTAgMjA6MzY6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkgIHZpZGVvbWF4cmF0ZTogQWNjZXB0IHdpZGVyIGNhcHMKCjIwMTAtMDYtMTAgMjA6MjU6MDEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwZXJpb2Qgb3ZlciB3aGljaCB0byBhdmVyYWdlIGNvbmZpZ3VyYWJsZQoKMjAxMC0wNi0xMCAyMDo0MzoxNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBTaW1wbGlmeSB0cmFuc2Zvcm1fY2FwcwoKMjAxMC0wNi0xMCAyMDoxNDowMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWF4cmF0ZS92aWRlb21heHJhdGUuYzoKCSAgdmlkZW9tYXhyYXRlOiBVc2UgYmFzZXRyYW5zZm9ybSBjb3JyZWN0bHkKCjIwMTAtMDYtMTAgMjA6MDg6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogTWFrZSBwbHVnaW4gYWN0dWFsbHkgd29yayBieSB1c2luZyBhbiBhdmVyYWdlCgoyMDEwLTA2LTEwIDE5OjE3OjAwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC92aWRlb21heHJhdGUvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmM6CgkqIGdzdC92aWRlb21heHJhdGUvdmlkZW9tYXhyYXRlLmg6CgkgIHZpZGVvbWF4cmF0ZTogSW1wb3J0IHBsdWdpbgoJICBJbXBvcnQgcGx1Z2luIGZyb20gUHNpTWVkaWEsIGJhc2VkIG9uIG15IHdvcmsKCjIwMTAtMDctMDEgMTY6Mjg6NTcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIHdyaXRhYmxlCgkgIHNpZ25hbC1mcHMtbWVhc3VyZW1lbnRzIGlzIGEgcmVhZHdyaXRlIHByb3BlcnR5LCBub3QgcmVhZC1vbmx5LgoJICBBbHNvIGFkZHMgc29tZSBtb3JlIGRlYnVnZ2luZyBsb2dzLgoKMjAxMC0wNi0zMCAxODo1OToyMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBnc3QtZmZtcGVnIHRvIHdoaXRlbGlzdCBhcyB3ZWxsCgkgIFRoZSBteGYgdGVzdHMgdXNlIHNvbWUgZmZtcGVnIGVsZW1lbnRzIGlmIHRoZXkncmUgYXZhaWxhYmxlLgoKMjAxMC0wNi0zMCAxODo1MjoxMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgdGVzdHM6IGFkZCBwbHVnaW4gbG9hZGluZyB3aGl0ZWxpc3QgdG8gdGVzdCBlbnZpcm9ubWVudAoJICBPbmx5IHdhbnQgdG8gbG9hZCBjb3JlLy1iYXNlLy1nb29kLy11Z2x5Ly1iYWQgcGx1Z2lucyBoZXJlLgoKMjAxMC0wNi0zMCAxODoyMDoxMyArMDEwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBkb24ndCBmcmVlIFBBVCBzdHJ1Y3R1cmUgd2hpY2ggbWF5IHN0aWxsIGJlIG5lZWRlZCBsYXRlcgoJICBUaGlzIGlzIGEgcHJvYmxlbSBpZiB5b3UgdHVuZSB0byBhIGNoYW5uZWwgd2hpY2ggdXNlcyBwaWQgWCBhbmQgbGF0ZXIgdHVuZSB0bwoJICBhbm90aGVyIGNoYW5uZWwgd2hlcmUgWCBpcyB1c2VkIGZvciBhbm90aGVyIHRhYmxlIChlLmcuIFBNVCkuCgkgIFRoZSBjb2RlIHRoYXQgZG9lcyB0aGF0IHdhcyBhY3R1YWxseSBhbHJlYWR5IHRoZXJlIGJ1dCBuZXZlciB1c2VkIGJlY2F1c2UgdGhlCgkgIHBhdCBzdHJ1Y3R1cmUgd2FzIGZyZWVkIGJlZm9yZS4gVGhlIGNvbW1pdCB0aGF0IGludHJvZHVjZWQgdGhvc2UgbGluZXMgaW50ZW5kZWQKCSAgdG8gZml4IGEgbWVtb3J5IGxlYWssIGJ1dCB3ZSBjbGVhbiB0aGluZ3MgdXAgZWxzZXdoZXJlLgoJICBGaXhlcyAjNjIyNzI1LgoKMjAxMC0wNi0zMCAxODoxOTowMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yc3ZnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VnbWVudGNsaXAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12ZHBhdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi16YmFyLnhtbDoKCSAgZG9jczogdXBkYXRlIGluc3BlY3QgaW5mbywgbm93IHNvcnRlZCBhbmQgZXNjYXBlZAoKMjAxMC0wNi0zMCAxNzo1NDo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiAuZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgdGVtcG9yYXJ5IG9yYyBmaWxlcwoKMjAxMC0wNi0yOSAxMToyMTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXU6IENoZWNrIGZvciBsb2cyIGFuZCBvbmx5IHVzZSBpdCBpZiBpdCdzIGF2YWlsYWJsZQoKMjAxMC0wNi0yOCAxNjoyMDowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgYXV0b21ha2UgcmVxdWlyZW1lbnQgdG8gMS4xMCBhbmQgYXV0b2NvbmYgdG8gMi42MAoJICBGb3IgbWFpbnRhaW5hYmlsaXR5IHJlYXNvbnMsICQoYnVpbGRkaXIpIGFuZCBvdGhlciB0aGluZ3MuCgkgIFNlZSAjNjIyOTQ0IGFuZCAjNTcwNDI4LgoKMjAxMC0wNi0yOCAxMjowMDo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBkZXByZWNhdGVkIGdfcHRyX2FycmF5X2ZyZWUgaW5jYXNlIGdsaWIgPj0gMi4yMgoKMjAxMC0wNi0yOCAxMToxOToyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHJlc2l6aW5nIG9mIG91dHB1dAoKMjAxMC0wNi0yOCAxMTowODo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRmcmFtZS5jOgoJICB2ZHBhdWgyNjRkZWM6IGRvbid0IHVzZSBnbGliIDIuMjIgZnVuY3Rpb25zCgoyMDEwLTA2LTI3IDIwOjI5OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogY2hhbmdlIEdzdEJhc2VWaWRlb0RlY29kZXIgc3RhdGUgYXBpCgoyMDEwLTA2LTI3IDEwOjUyOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJICB2ZHBhdWgyNjRkZWM6IGZyZWUgZnJhbWVzIG9uIGZpbmFsaXplIGluIEdzdEgyNjREUEIKCjIwMTAtMDYtMjcgMDk6NTU6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGFkZCBkaXNwbGF5IHByb3BlcnR5IHRvIEdzdFZkcERlY29kZXIKCjIwMTAtMDYtMjcgMDE6Mjc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiByZW5hbWUgR3N0VmRwSDI2NEZyYW1lIHRvIEdzdEgyNjRGcmFtZQoKMjAxMC0wNi0yNyAwMDozNjoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1OiBmaXggZXJyb3IgaGFuZGxpbmcgd2hlbiBwbHVnZ2luZyAidmRwYXV2aWRlb3Bvc3Rwcm9jZXNzICEgZmFrZXNpbmsiCgoyMDEwLTA2LTI3IDAwOjM1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1OiBhZGQgZXJyb3IgcGFyYW1ldGVyIHRvIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9nZXRfZGV2aWNlCgoyMDEwLTA2LTI4IDEwOjQ3OjUyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IExpbmsgdG8gJChMSUJNKSBmb3IgbG9nMiBhbmQgZnJpZW5kcwoKMjAxMC0wNi0yNyAxOToyMjozOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfZnVuY3RhYmxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IEluY2x1ZGUgX3N0ZGludC5oIGZvciBpbnQxNl90IGFuZCBmcmllbmRzCgoyMDEwLTA2LTI3IDE3OjQ2OjQ0ICswMjAwICBSb2JlcnQgU3dhaW4gPHJvYmVydC5zd2FpbkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogVXNlIGdfbWFsbG9jKCkgaW5zdGVhZCBvZiBtYWxsb2MoKQoJICBtYWxsb2MoKSBuZWVkcyBzdGRsaWIuaCwgd2hpY2ggaXNuJ3QgaW5jbHVkZWQgaGVyZSBhbmQgdGhlCgkgIG1lbW9yeSBpcyBmcmVlZCBsYXRlciB3aXRoIGdfZnJlZSgpIGFueXdheS4KCjIwMTAtMDYtMjcgMTE6MjQ6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJICBhc3NyZW5kZXIsIGl2ZnBhcnNlLCBqcGVnZm9ybWF0OiBmaXggY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBkZWJ1Z2dpbmcgZGlzYWJsZWQgaW4gY29yZQoKMjAxMC0wNi0yNyAxMDo0MToxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgdGVzdHM6IEZpeCBidWlsZCB3aXRoIEdUSysgPCAyLjE3LjcKCSAgZ3RrX3dpZGdldF9nZXRfYWxsb2NhdGlvbigpIHdhcyBhZGRlZCBpbiB0aGF0IHZlcnNpb24uCgoyMDEwLTA2LTI3IDEwOjM2OjU4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjE0IGZvciB0aGUgZXhhbXBsZQoKMjAxMC0wNi0yNyAwNzo0MDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgdGVzdHM6IERvbid0IHVzZSBkZXByZWNhdGVkIEdUSyBBUEkgdG8gZml4IHRoZSBidWlsZCB3aXRoIEdUSysgMy4wCgoyMDEwLTA2LTI2IDIxOjAyOjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXU6IGFkZCBHc3RWZHBEZWNvZGVyIGJhc2UgY2xhc3MKCjIwMTAtMDYtMjYgMTk6MDI6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJICB2ZHBhdWgyNjRkZWM6IGFkZCBnc3RfaDI2NF9kcGJfc2V0X291dHB1dF9mdW5jIGZ1bmN0aW9uCgoyMDEwLTA2LTI1IDIwOjE5OjIwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogV3JpdGUgdWludCB0YWdzIHRoYXQgZG9uJ3QgaGF2ZSBhIGNvbXBsZW1lbnQKCSAgV3JpdGUgdWludCB0YWdzIHRoYXQgaGF2ZSBjb21wbGVtZW50cyAoZS5nLiB0cmFjay1udW1iZXIvCgkgIHRyYWNrLWNvdW50KSBldmVuIHdoZW4gd2Ugb25seSBoYXZlIG9uZSBvZiB0aGVtIGF2YWlsYWJsZQoJICBhbmQgc2V0IHRoZSBvdGhlciBvbmUgdG8gMC4KCSAgRml4ZXMgIzYyMjQ4NAoKMjAxMC0wNi0yNSAxMTowMjozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogSW5jbHVkZSBjb25maWcuaCBpbiBtZXRhZGF0YSouYyBmaWxlcwoJICBJbmNsdWRlIGNvbmZpZy5oIGluIG1ldGFkYXRhZXhpZi5jIGluIG1ldGFkYXRhIHBsdWdpbiBzbwoJICB0aGF0IEhBVkVfRVhJRiBnZXRzIGRlZmluZWQgYW5kIGV4aWYgbWV0YWRhdGEgaXMgcHJvcGVybHkKCSAgZ2VuZXJhdGVkLgoJICBBbHNvIGFkZHMgY29uZmlnLmggdG8gYWxsIC5jIGZpbGVzIG1pc3NpbmcgaXQgaW4gbWV0YWRhdGEgcGx1Z2luCgkgIEZpeGVzICM2MjI2OTIKCjIwMTAtMDYtMjQgMjA6MjE6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBXYXJuIGlmIHByZXJvbGwgdmFsdWUgaXMgdG9vIGJpZwoJICBQb3N0IGEgd2FybmluZyB3aGVuIHRoZSBwcmVyb2xsIHZhbHVlIGlzIGdyZWF0ZXIgdGhhbgoJICB0aGUgc3RyZWFtcyBkdXJhdGlvbgoKMjAxMC0wNi0yNCAyMzo1NzoxNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9NYWtlZmlsZS5hbToKCSAgdmRwYXk6IGZpeCBidWlsZCBpbiB1bmluc3RhbGxlZCBzZXR1cAoJICBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIHNvIGl0IGZpbmRzIHRoZSBnc3QvdmlkZW8vdmlkZW8uaAoJICBoZWFkZXJzIGluIGFuIHVuaW5zdGFsbGVkIHNldHVwLiBBbHNvIHJlc2h1ZmZsZSBvcmRlci4KCjIwMTAtMDYtMjQgMTg6MzI6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkgIGFzZm11eDogTWFrZSBtZXRhZGF0YSB3cml0YWJsZSBiZWZvcmUgc2V0dGluZyBpdAoJICBCZWZvcmUgY29weWluZyBtZXRhZGF0YSBmcm9tIG9uZSBidWZmZXIgdG8gYW5vdGhlciwgbWFrZSBzdXJlCgkgIHRoZSBkZXN0aW5hdGlvbiBpcyBtZXRhZGF0YS13cml0YWJsZS4KCjIwMTAtMDYtMjQgMjI6MTQ6MzggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHVuaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA2LTI0IDIyOjA2OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0bmFscmVhZGVyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5oOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCBpbml0YWxpemF0aW9uIG9mIEdzdE5hbFJlYWRlciBjYWNoZQoKMjAxMC0wNi0yNCAxMjozNzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy8uZ2l0aWdub3JlOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlscy1tYXJzaGFsLmxpc3Q6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBBZGRzIGEgc2lnbmFsIHRvIGluZm9ybSBtZWFzdXJlbWVudHMgdG8gYXBwcwoJICBBZGRzIGEgc2lnbmFsIGZvciBhcHBsaWNhdGlvbnMgdG8gcmVjZWl2ZSB0aGUgZnBzIG1lYXN1cmVtZW50cyBtYWRlCgkgIGluc3RlYWQgb2Ygb25seSBwcmludGluZyB0aGVtIHRvIHRoZSBmcmFtZS9zdGRvdXQuCgkgIFRoaXMgc2lnbmFsIGlzIG9ubHkgZW1pdGVkIGlmIHRoZSBzaWduYWwtZnBzLW1lYXN1cmVtZW50cyBwcm9wZXJ0eQoJICBpcyBzZXQgdG8gVFJVRQoKMjAxMC0wNi0yNCAxMDo1OTozMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogQWRkcyBtYXgtZnBzIGFuZCBtaW4tZnBzIHByb3BlcnR5CgkgIEFkZHMgMiBwcm9wZXJ0aWVzIGZvciBnZXR0aW5nIHRoZSBtYXhpbXVtIGFuZCBtaW5pbXVtIGZwcwoJICB2YWx1ZXMgbWVhc3VyZWQKCjIwMTAtMDYtMjQgMTA6MjQ6MjcgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGluIGFsbCBwcm9wZXJ0aWVzCgkgIEFkZCBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIHRvIHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlCgkgIG1pc3NpbmcgaXQKCjIwMTAtMDYtMjQgMTA6MjM6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuaDoKCSAgZnBzZGlzcGxheXNpbms6IEFkZCBmcHMtdXBkYXRlLWludGVydmFsIHByb3BlcnR5CgkgIFVzZSBhIHByb3BlcnR5IHRvIHNldC9nZXQgdGhlIGZwcyB1cGRhdGUgaW50ZXJ2YWwgaW5zdGVhZAoJICBvZiBoYXZpbmcgYSBoYXJkY29kZWQgdmFsdWUuCgoyMDEwLTA2LTI0IDE2OjIwOjIzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkgIHZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyIHVzaW5nIENGTEFHUwoKMjAxMC0wNi0yNCAxNToyMzozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXR2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5jOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuaDoKCSAgUmV2ZXJ0ICJ2ZHBhdTogcmVuYW1lIEdzdEJhc2VWaWRlb0RlY29kZXIgdG8gU2F0QmFzZVZpZGVvRGVjb2RlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBhYTA0NDRmMjA0MTU3YzIyYzExYTc0MjU0N2M5ZTY4YTllYWVjYzgwLgoKMjAxMC0wNi0yNCAxNTowOTozMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzNTYxN2MyIHRvIGE1MTk1NzEKCjIwMTAtMDYtMjQgMTM6MTg6NTUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9zYXRiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdGJhc2V2aWRlb3V0aWxzLmg6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL3NhdHZpZGVvZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvc2F0dmlkZW9mcmFtZS5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZnJhbWUuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmg6CgkgIHZkcGF1OiByZW5hbWUgR3N0QmFzZVZpZGVvRGVjb2RlciB0byBTYXRCYXNlVmlkZW9EZWNvZGVyCgoyMDEwLTA2LTIzIDIyOjMzOjA1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJICB2ZHBhdWgyNjRkZWM6IHVzZSBiaXRzaGlmdHMgaW5zdGVhZCBvZiBwb3cKCjIwMTAtMDYtMjMgMjI6MjE6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmM6CgkgIHZkcGF1aDI2NGRlYzogYWRkIGludGVybGFjZWQgPSBmYWxzZSB0byBzaW5rIGNhcHMKCSAgd2UgZG9uJ3Qgc3VwcG9ydCBpbnRlcmxhY2VkIGNvbnRlbnQgeWV0CgoyMDEwLTA2LTIzIDIyOjE4OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcDogQWxsIHJlYWQgcmV0dXJuIHZhbHVlcyBzbWFsbGVyIHRoYW4gemVybyBhcmUgZmFpbHVyZXMKCjIwMTAtMDYtMjMgMjE6MTA6MDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkgIHZkcGF1aDI2NGRlYzogZml4IHBhcnNpbmcgb2Ygc2NhbGluZyBsaXN0cwoKMjAxMC0wNi0yMyAyMTowOTo0MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJICB2ZHBhdWgyNjRkZWM6IGZpeCByZWFkaW5nIG9mIHNpZ25lZCBleHAgZ29sb21iCgoyMDEwLTA2LTIyIDE1OjQ5OjE1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogZml4dXAgZGVjb2RlciB0aW1lc3RhbXBpbmcKCjIwMTAtMDYtMjIgMTQ6NTI6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBwYXJzZV9jb2RlY19kYXRhIGZyb20gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0yMiAxNDoyNToxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRwYXJzZXIuYzoKCSAgdmRwYXVoMjY0ZGVjOiBmaXggaW5pdGlhbGl6YXRpb24gb2YgZmFsbGJhY2sgc2NhbGluZyBtYXRyaXgKCjIwMTAtMDYtMjIgMTQ6MTc6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGZyYW1lLmg6CgkgIHZkcGF1aDI2NGRlYzogaW1wcm92ZSBmdXJ0aGVyCgoyMDEwLTA2LTE3IDE1OjIwOjUxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NGRwYi5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSAgdmRwYXVoMjY0ZGVjOiBub3cgd29ya3MgZm9yIHNpbXBsZSBzdHJlYW1zCgoyMDEwLTA2LTE3IDE1OjIwOjAzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXU6IGNoYW5nZSBnc3RfdmRwX3ZpZGVvX3NyY19wYWRfZ2V0X2RldmljZSBiZWhhdmlvdXIKCSAgaXQgbm93IGNyZWF0ZXMgdGhlIGRldmljZSBpZiBpdCdzIG5vdCBhdmFpbGFibGUKCjIwMTAtMDYtMTYgMjM6MTI6NDMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0ZHBiLmM6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdGgyNjRkcGIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRkZWMuYzoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5oOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IG1vcmUgd29yayBvbiBoMjY0IGRlY29kZXIKCjIwMTAtMDYtMTAgMTI6MTM6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdHZpZGVvZnJhbWUuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0aDI2NHBhcnNlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RoMjY0cGFyc2VyLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdG5hbHJlYWRlci5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3RuYWxyZWFkZXIuaDoKCSogc3lzL3ZkcGF1L2gyNjQvZ3N0dmRwaDI2NGRlYy5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZGVjLmg6CgkqIHN5cy92ZHBhdS9oMjY0L2dzdHZkcGgyNjRmcmFtZS5jOgoJKiBzeXMvdmRwYXUvaDI2NC9nc3R2ZHBoMjY0ZnJhbWUuaDoKCSAgdmRwYXU6IGFkZCBiZWdpbm5pbmcgb2YgaDI2NCBkZWNvZGVyCgoyMDEwLTA2LTA5IDE1OjQzOjQzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9iYXNldmlkZW9kZWNvZGVyL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2Jhc2V2aWRlb2RlY29kZXIvZ3N0dmlkZW9mcmFtZS5jOgoJKiBzeXMvdmRwYXUvYmFzZXZpZGVvZGVjb2Rlci9nc3R2aWRlb2ZyYW1lLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwb3V0cHV0c3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcC9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwL2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvbXBlZy9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L21wZWcvZ3N0dmRwbXBlZ2ZyYW1lLmM6CgkqIHN5cy92ZHBhdS9tcGVnL2dzdHZkcG1wZWdmcmFtZS5oOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZy9tcGVndXRpbC5oOgoJICB2ZHBhdTogYmFzZSB2ZHBhdW1wZWdkZWMgb24gR3N0QmFzZVZpZGVvRGVjb2RlcgoKMjAxMC0wNi0wOCAxMzozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogZml4IHNtYWxsIGJ1ZwoKMjAxMC0wNS0xNSAyMjo0Nzo0MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBSRUFEX1VJTlRbOHwxNnwzMl0gbWFjcm9zCgoyMDEwLTA2LTA0IDEyOjI0OjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogcmVtb3ZlIGdzdF92ZHBfdmlkZW9fc3JjX3BhZF9zZXRfY2FwcwoKMjAxMC0wNi0yMyAyMTo0Njo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkgIHJ0bXBzcmM6IERvIHNvbWUgc2FuaXR5IGNoZWNrcyBiZWZvcmUgYWNjZXB0aW5nIGFuIFVSSQoJICBGaXhlcyBidWcgIzYyMjM2OS4KCjIwMTAtMDYtMTcgMTA6NTg6NTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvamlmbXV4LmM6CgkgIGppZm11eDogQWRkcyBpbWFnZSBvcmllbnRhdGlvbiB0YWdzIHRlc3RzCgkgIEFkZHMgdGVzdHMgZm9yIGltYWdlIG9yaWVudGF0aW9uIHRhZ3MgdG8gamlmbXV4CgoyMDEwLTA2LTIzIDEwOjM4OjU0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogb2J0YWluIGNvcnJlY3QgdXBzdHJlYW0gdGltZXN0YW1wCgkgIC4uLiBmb3Igb3B0aW9uYWwgZG93bnN0cmVhbSB1c2UuCgoyMDEwLTA2LTIyIDEyOjI4OjM4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIG5ldyBoMjY0IGNhcHMgYXR0cmlidXRlIGFsaWdubWVudAoJICBTZWUgIzYwNjY2Mi4KCjIwMTAtMDYtMjEgMjM6NDg6NTkgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZml4IHByZXZpb3VzIGNvbW1pdAoJICBXZSB3ZXJlIGxlYWtpbmcgdGhlIGVsZW1lbnQgcmVmY291bnQgYW5kIG5vdCB0aGUgcGFkIG9uZS4KCjIwMTAtMDYtMjEgMjI6MzM6NTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZG9uJ3QgbGVhayB0aGUgZWxlbWVudCByZWZjb3VudAoKMjAxMC0wNi0yMSAxOTozOTo1NCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogUmVtb3ZlIHRoZSBwYWQgZnJvbSBvdXIgaW50ZXJuYWwgbGlzdCBiZWZvcmUgY2FsbGluZyBjb2xsZWN0cGFkcwoJICBQcmV2aW91c2x5IHdlIHdvdWxkIGVuZCB1cCB3aXRoIHRoZSBjb2xsZWN0cGFkZGF0YSBzdHJ1Y3R1cmUgYWxyZWFkeSBmcmVlZC4KCSAgVGhpcyB3b3VsZCByZXN1bHQgaW4gYSBib2d1cyBpdGVyYXRpb24gb2YgbXV4LT5zaW5rcGFkcyAoYWxsIHRoZQoJICBHc3RRVFBhZCBiZWluZyBmcmVlZCkgYW5kIGl0IHdvdWxkbid0IGJlIHJlbW92ZWQgZnJvbSB0aGF0IGxpc3QuCgkgIEZpbmFsbHksIGR1ZSB0byBpdCBub3QgYmVpbmcgcmVtb3ZlZCBmcm9tIHRoYXQgbGlzdCwgd2Ugd291bGQgZW5kIHVwCgkgIGNhbGxpbmcgYSBib2d1cyBnc3RfcXRfbXV4X3BhZF9yZXNldCBvbiB0aG9zZSBzdHJ1Y3R1cmVzID0+IFNFR0ZBVUxUCgoyMDEwLTA2LTIxIDEwOjIxOjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZGVidWcuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBNb3ZlIGRlYnVnIGNhdGVnb3J5IGRlY2xhcmF0aW9uIHRvIGEgc2VwYXJhdGUgZmlsZQoJICBIYXZpbmcgR1NUX0RFQlVHX0NBVEVHT1JZIGFuZCBHU1RfREVCVUdfQ0FURUdPUllfRVhURVJOIHRvZ2V0aGVyCgkgIG1pZ2h0IGxlYWQgdG8gJ3VuZGVmaW5lZCBzeW1ib2wnIHByb2JsZW1zLiBUaGlzIGNvbW1pdCBtb3ZlcwoJICB0aGUgX0VYVEVSTiB0byBhIHNlcGFyYXRlIG5ldyBmaWxlLgoKMjAxMC0wNi0yMSAxMToxMzoyMCArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIFJldmVydCAiaDI2NHBhcnNlOiBhZGQgcGFyc2VkIGZpZWxkIHRvIHNyYyBjYXBzIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDU0ZWRhZTRmMWYyMTE5Y2Y0OTJmZmU0NGY5MzZmOTllMTMzYWY3ZGMuCgkgIFNlZSB0aGlzIGJ1ZyBmb3IgbW9yZSBpbmZvcm1hdGlvbjoKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYwNjY2MgoKMjAxMC0wNi0xNyAwODo0Mjo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICBtcGVndmlkZW9wYXJzZTogUmVtb3ZlIHJlZHVuZGFudCBsb2cgbWVzc2FnZQoKMjAxMC0wNi0yMCAxMDozOTozOSArMDIwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWRkIHBhcnNlZCBmaWVsZCB0byBzcmMgY2FwcwoKMjAxMC0wNi0xOCAxNDozNzowNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IFVzZSBnc3RfdGFnX2xpc3RfcGVla19zdHJpbmdfaW5kZXgKCSAgUmVwbGFjZSBfZ2V0X3N0cmluZ19pbmRleCB3aXRoIF9wZWVrX3N0cmluZ19pbmRleCB0byBhdm9pZAoJICBhIHN0cmluZyBjb3B5CgoyMDEwLTA2LTE4IDE4OjQxOjU5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogYWxzbyBoYW5kbGUgMy1ieXRlIGJ5dGVzdHJlYW0gc3luYyBjb2RlCgoyMDEwLTA2LTE3IDEwOjUyOjMxICswMjAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RzZWN0aW9uZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogaW1wcm92ZSBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDYtMTYgMTA6MzE6MTkgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkgIHBubWRlYzogRG9uJ3QgY3Jhc2ggaWYgbm8gdmFsaWQgaW5wdXQgd2FzIHBhcnNlZCB5ZXQKCSAgaHR0cHM6Ly9idWd6aWxsYS5yZWRoYXQuY29tL3Nob3dfYnVnLmNnaT9pZD02MDM3NzEKCjIwMTAtMDYtMTEgMTA6NTM6MjYgKzEwMDAgIEF1c3RpbiBMdW5kIDxhdXN0aW4ubHVuZEBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBBZGRlZCBkZWJ1Z2dpbmcgb3V0cHV0IGZvciBtcGVncGFja2V0aXNlcgoKMjAxMC0wNi0xNSAxNjo1MDowNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gOTMzOWNjYyB0byAzNTYxN2MyCgoyMDEwLTA2LTE1IDE2OjU0OjI4ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDVhZGIxY2EgdG8gOTMzOWNjYwoKMjAxMC0wNi0xNSAxNTozNDowNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGV2ZW50IHJlZiBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMzozNyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHByZXZlbnQgYXJpdGhtZXRpYyBvdmVyZmxvd3MgaW4gcHVsbCBtb2RlIGJ1ZmZlciBjYWNoZSBoYW5kbGluZwoKMjAxMC0wNi0xNSAxNTozMjozNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBzZWVrIGhhbmRsaW5nCgkgIEFsbG93IGEgZmV3IG1vcmUgc2VlayBldmVudCB0eXBlIGNvbWJpbmF0aW9ucywgYW5kIHJlYWxseSB1c2UgdGhlIHJlc3VsdAoJICBvZiBnc3Rfc2VnbWVudF9zZXRfc2VlayB0byBwZXJmb3JtIHRoZSBzZWVrLiAgQWxzbyBhZGQgc29tZSBkZWJ1Zy4KCjIwMTAtMDYtMTUgMTY6MzU6MzUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTdjODliNyB0byA1YWRiMWNhCgoyMDEwLTA2LTE1IDE1OjQ5OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGM4MDQ5ODggdG8gNTdjODliNwoKMjAxMC0wNi0xMiAwOTowMjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEltcGxlbWVudCBtdWx0aXBhc3MgZW5jb2RpbmcKCSAgRml4ZXMgYnVnICM2MjEzNDguCgoyMDEwLTA2LTE1IDExOjIwOjIxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogc3ByaW5rbGUgc29tZSBicmFuY2ggcHJlZGljdGlvbgoKMjAxMC0wNi0xNSAxMToxNjo0NyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGhhbmRsZSBGTFVTSF9TVE9QIGV2ZW50CgoyMDEwLTA2LTE1IDExOjE2OjM0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWRkIGNvbmZpZy1pbnRlcnZhbCBwYXJhbWV0ZXIgdG8gcmUtaW5zZXJ0IGNvbmZpZyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnN0cnVjdCB0aGUgcGFyc2VyIHRvIGluc2VydAoJICBjb25maWcgKFZPU0gsIFZPUywgZXRjKSBhdCBwZXJpb2RpYyBpbnRlcnZhbHMgaW4gdGhlIHN0cmVhbQoJICAod2hlbiBhIEdPUCBvciBWT1AtSSBpcyBlbmNvdW50ZXJlZCkuCgkgIEJhc2VkIG9uIHBhdGNoIGJ5IDxtYXJjLmxlZW1hbiBhdCBnbWFpbC5jb20+CgkgIEZpeGVzICM2MjEyMDUuCgoyMDEwLTA2LTE1IDE3OjE2OjEyICsxMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IEFwcGx5IHByZXZpb3VzIHRpbWVzdGFtcCB3aGVuIHRoZXJlIGlzbid0IGFueSBuZXdlci4KCSAgSWYgdGhlIGN1cnJlbnQgaW5jb21pbmcgcGFja2V0IGRpZG4ndCBjYXJyeSBhIHRpbWVzdGFtcCwgYnV0IGEKCSAgcHJldmlvdXMgcGFja2V0IGhhZCBvbmUgd2UgZGlkbid0IHlldCB1c2UsIHRoZW4gYXBwbHkgdGhhdCB0aW1lc3RhbXAKCSAgdG8gdGhlIG5leHQgcGljdHVyZS4KCSAgRml4ZXM6ICM2MTgzMzYKCjIwMTAtMDYtMTQgMTc6MDE6MDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIGNvbmZpZ3VyZTogUmVxdWlyZSBHTGliIDIuMjAKCjIwMTAtMDYtMTQgMTU6NTY6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBTZXQgVlA4RV9TRVRfQ1BVVVNFRCB0byAwCgkgIFRoaXMgc2V0dGluZyBjb250cm9scyBob3cgbXVjaCBDUFUgY2FuIGJlIHVzZWQgYnkgdGhlIGVuY29kZXIsIHNwZWNpZmllZAoJICBpbiBmcmFjdGlvbnMgb2YgMTYuIE5lZ2F0aXZlIHZhbHVlcyBtZWFuIHN0cmljdCBlbmZvcmNlbWVudCBvZiB0aGlzCgkgIHdoaWxlIHBvc2l0aXZlIHZhbHVlcyBhcmUgYWRhcHRpdmUuCgkgIFRoZSBkZWZhdWx0IHZhbHVlIGlzIC00LCB3aGljaCBtZWFucyB0aGF0IHdlJ3JlIG5vdCBydW5uaW5nIGFzIGZhc3QKCSAgYXMgcG9zc2libGUgYW5kIHByb2JhYmx5IGFyZSB3YXN0aW5nIHNvbWUgcXVhbGl0eS4gMCBpcyB0aGUgcmVjb21tZW5kZWQKCSAgZGVmYXVsdCBieSBsaWJ2cHggdXBzdHJlYW0uCgoyMDEwLTA2LTE0IDE1OjUxOjMwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIFZQWCBkZWZpbmVzIGZvciBSRUFMVElNRSwgR09PRC9CRVNUIHF1YWxpdHkgZGVhZGxpbmVzIGluc3RlYWQgb2Ygb3VyIG93bgoJICBUaGVzZSBhcmUgdGhlIHZhbHVlcyB1c2VkIGZvciB0aGUgc3BlZWQgcHJvcGVydHkuCgoyMDEwLTA2LTE0IDE1OjQ2OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogcHJldmVudCBjb21waWxlciB3YXJuaW5nIGlmIG9yYyBub3QgcHJlc2VudAoKMjAxMC0wNS0zMSAxODozMDozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBoYW5kbGUgRkxVU0hfU1RPUCBzaW5rIGV2ZW50CgoyMDEwLTA1LTMxIDE4OjMwOjE5ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IG9wdGltaXplIGltYWdlIHBhcnNpbmcKCSAgVXNlIGFkYXB0ZXIgQVBJIGZvciBzY2FubmluZyBhbmQgcGVla2luZyB0byByZWR1Y2UgYnVmZmVyIGNvcHlpbmcuCgkgIFNlZSAjNTgzMDQ3LgoKMjAxMC0wNi0xNCAxNTozMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IENhbGwgb3JjX2luaXQoKSBiZWZvcmUgdHJ5aW5nIHRvIGdldCB0YXJnZXQgZmxhZ3MKCjIwMTAtMDYtMTQgMTQ6NTM6MzMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBvcmMgaW5zdGVhZCBvZiBsaWJvaWwKCjIwMTAtMDYtMTQgMTQ6NTE6MzEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgZHRzZGVjOiBVc2Ugb3JjIGZvciBDUFUgZmVhdHVyZSBkZXRlY3Rpb24KCjIwMTAtMDYtMTQgMTQ6NDg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIGxpYm9pbCBmdW5jdGlvbnMKCSAgZ2xpYmMgbWVtY3B5KCkgd2lsbCBiZSBmYXN0ZXIgdGhhbiBsaWJvaWwncy9vcmMncyBmb3Igbm93IGFueXdheQoJICBhbmQgd2UgY2FuIHVzZSBvcmMncyBsYXRlciwgYWZ0ZXIgb3JjIGhhcyBzdXBwb3J0IGZvciBsb29wIHVucm9sbGluZy4KCjIwMTAtMDYtMTQgMTQ6NDc6NDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL01ha2VmaWxlLmFtOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiBEb24ndCBpbmNsdWRlIGxpYm9pbCBoZWFkZXJzLCB0aGV5J3JlIG5vdCB1c2VkIGFueXdheQoKMjAxMC0wNi0xNCAxMzoyNjo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogVXNlIEdMSUJfRVhUUkFfQ0ZMQUdTCgoyMDEwLTA2LTE0IDEzOjA0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2EwZmRmNSB0byBjODA0OTg4CgoyMDEwLTA2LTE0IDEyOjQ5OjQwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogYWRkIG9wdGlvbiB0byBpbnNlcnQgU1BTL1BQUyBpbiBzdHJlYW0KCSAgQWRkIGEgbmV3IGNvbmZpZy1pbnRlcnZhbCBwcm9wZXJ0eSB0byBpbnNlcnQgU1BTIGFuZCBQUFMgYXQgcGVyaW9kaWMgaW50ZXJ2YWxzCgkgIGluIHRoZSBzdHJlYW0gKHdoZW4gYW4gSURSIGlzIGVuY291bnRlcmVkKS4KCSAgQmFzZWQgb24gcGF0Y2ggYnkgPG1hcmMubGVlbWFuIGF0IGdtYWlsLmNvbT4KCSAgRml4ZXMgIzYyMDk3OC4KCjIwMTAtMDYtMDkgMTU6MzI6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBhbHNvIGNvbGxlY3QgU1BTIGFuZCBQUFMgbmFsdSBpbiBjb2RlY19kYXRhCgoyMDEwLTA2LTE0IDExOjM0OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNmRhM2JhYiB0byA3YTBmZGY1CgoyMDEwLTA2LTEzIDA4OjI4OjA1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgMTUvMTYgYml0IFJHQiBtYXNrcwoKMjAxMC0wNi0xMiAwODoyODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDczM2ZjYTkgdG8gNmRhM2JhYgoKMjAxMC0wNS0yMiAxMDozNTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJICB2Y2RzcmM6IG1pbm9yIGNsZWFuLXVwCgkgIFVzZSBnc3RfdXJpX2hhc19wcm90b2NvbCgpLgoKMjAxMC0wNi0xMSAxNToyOTo0MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgamlmbXV4OiBGaXggdGVzdHMgYnVpbGRpbmcKCSAgT25seSBidWlsZCBqaWZtdXggdGVzdHMgaWYgbGliZXhpZiBoZWFkZXJzIGFyZSBwcmVzZW50CgoyMDEwLTA2LTA5IDE5OjE2OjAzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0Y29nb3JjLWRpc3QuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5oOgoJKiBleHQvY29nL2dzdGNvZ29yYy5vcmM6CgkgIGNvZzogdXNlIGdsaWIgaW5zdGVhZCBvZiBzdGRpbnQgdHlwZXMKCjIwMTAtMDYtMDkgMTg6Mzk6MzggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHVzZSBtNCBtYWNybyBmb3IgT3JjIGNoZWNrCgoyMDEwLTA2LTA1IDE2OjAyOjQxICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvZGVjb2RlcjogcmVtb3ZlIHNwdXJpb3VzIHdhcm5pbmcKCjIwMTAtMDYtMTAgMTQ6MTc6MjQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IHJlcXVpcmUgY29yZS9iYXNlIGdpdCBmb3IgdGhlIG5ldyBpbWFnZSB0YWdzIGFuZCBoZWxwZXIgZnVuY3Rpb25zCgoyMDEwLTA1LTEwIDEwOjQ3OjA2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qaWZtdXguYzoKCSAgdGVzdHM6IGppZm11eDogQWRkcyBqaWZtdXggZXhpZiB0YWdzIHRlc3RzCgkgIEFkZHMgYSBiYXNpYyB1bml0IHRlc3QgZm9yIGppZm11eCB0byB0ZXN0IHRoYXQgZXhpZiB0YWdzCgkgIGFyZSB3cml0ZW4gcHJvcGVybHkuCgkgIFRoaXMgdGVzdCB1c2VzIGxpYmV4aWYuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDQtMjggMjM6NTI6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBBZGQgZXhpZiBzdXBwb3J0CgkgIEFkZHMgZXhpZiB3cml0aW5nIHN1cHBvcnQgdG8gamlmbXV4LgoJICBBZGRzIHBhcnNpbmcgc3VwcG9ydCB0byBqcGVncGFyc2UuCgkgIEZpeGVzICM2MTQ4NzIKCjIwMTAtMDYtMDkgMTI6NDA6MjEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYWQxNDViIHRvIDczM2ZjYTkKCjIwMTAtMDYtMDkgMTI6MzQ6MTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0NzY4M2MxIHRvIGZhZDE0NWIKCjIwMTAtMDYtMDkgMjA6NDk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBGaXggdGltZXN0YW1wcyBhZnRlciBhIHNlZWsKCjIwMTAtMDYtMDggMTQ6MzM6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBEZXByZWNhdGUgJ2lzLWxpdmUnIGFuZCBhZGQgJ3N0cmVhbWFibGUnIHByb3BlcnR5CgkgIEZvbGxvd2luZyB0aGUgc2ltaWxhciBjaGFuZ2UgaW4gZmx2bXV4LCB0aGlzIGNvbW1pdCBhZGRzCgkgICdzdHJlYW1hYmxlJyBwcm9wZXJ0eSBhbmQgZGVwcmVjYXRlZCAnaXMtbGl2ZScgZm9yIGEgYmV0dGVyL2xlc3Mgd3JvbmcKCSAgbmFtZS4KCjIwMTAtMDUtMTMgMTI6MTU6MjcgKzAyMDAgIEFuZG9uaSBNb3JhbGVzIEFsYXN0cnVleSA8YW1vcmFsZXNAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZG9uJ3Qgc2V0IHRoZSAnc2Vla2FibGUnIGZsYWcgaWYgd2UgYXJlIHN0cmVhbWluZwoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI5IDEwOjQ2OjQ5ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHdyaXRlIHByZXJvbGwgaW5mbyBpbiB0aGUgaGVhZGVyIGF0IGluaXRpYWxpemF0aW9uCgkgIFRoaXMgdmFsdWUgZG9lc24ndCBuZWVkIHRvIGJlIHVwZGF0ZWQgYW5kIGlzIHVzZWZ1bGwgaW4gYSBzdHJlYW1pbmcgY29udGV4dAoJICBGaXhlcyAjNjE4NTIyCgoyMDEwLTA0LTI2IDEzOjMzOjQ4ICswMjAwICBBbmRvbmkgTW9yYWxlcyBBbGFzdHJ1ZXkgPGFtb3JhbGVzQGZsdW1vdGlvbi5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IHB1dCBoZWFkZXJzIGluIHN0cmVhbWhlYWRlciBmb3Igc3RyZWFtaW5nCgkgIEZpeGVzICM2MTg1MjIKCjIwMTAtMDYtMDggMTM6NTk6NDUgKzAyMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHN0YXJ0IHBtdCBhdCAweDAyMCBhcyBzdWdnZXN0ZWQgYnkgWmFoZWVyCgoyMDEwLTA2LTA4IDEzOjU5OjA4ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IHRha2UgYWxsIHRoZSBwbXQgaW4gdGhlIHN0cmVhbWhlYWRlcnMKCjIwMTAtMDYtMDggMDk6MTQ6MDEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIHNldF9wcm9wZXJ0eSB0byBOVUxMIGZvciBlbGVtZW50cwoJICBDaGVjayBpZiB0aGUgdmFsdWUgaXMgTlVMTCBiZWZvcmUgcmVmZmluZyB0aGVtIGluIHNldF9wcm9wZXJ0eQoJICBmb3IgJ0dzdEVsZW1lbnQnIHByb3BlcnRpZXMKCjIwMTAtMDYtMDggMDg6NDE6NDkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBEbyBub3QgYXNzZXJ0IG9uIG51bGwgY2FwcyBwcm9wZXJ0eQoJICBJZiBjYW1lcmFiaW4gcmVjZWl2ZXMgYSBudWxsIGNhcHMgYXMgJ2ZpbHRlci1jYXBzJyBhcmd1bWVudCwKCSAgdXNlIHRoZSBkZWZhdWx0IHZhbHVlCgoyMDEwLTA2LTA3IDIyOjU2OjE3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogVXNlIF9DQVNUIG1hY3JvCgkgIFJlcGxhY2UgZGVmYXVsdCB0eXBlIGNhc3RpbmcgbWFjcm8gd2l0aCB0aGUgZmFzdGVyIGRpcmVjdCBfQ0FTVCBtYWNybwoKMjAxMC0wNi0wNyAyMjoyMToxMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RtYXJibGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIHByb3BlcnRpZXMgY29udHJvbGxhYmxlCgkgIE1ha2VzIHRoZSBlbGVtZW50J3MgcHJvcGVydGllcyBjb250cm9sbGFibGUgYW5kIHRocmVhZHNhZmUuCgkgIEZpeGVzICM2MjA4MjUKCjIwMTAtMDYtMDcgMTc6Mzk6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBSZW1vdmUgcGFnZS11cmwgYW5kIHN3Zi11cmwgcHJvcGVydGllcwoJICBJdCdzIHBvc3NpYmxlIHRvIGluY2x1ZGUgYWxsIHRob3NlIG9wdGlvbnMgaW4gdGhlIFVSTCBhbHJlYWR5CgkgIGJ5IGFwcGVuZGluZyB0aGUgb3B0aW9ucyBhbmQgc2VwYXJhdGluZyB0aGVtIGJ5IHNwYWNlcywgZS5nLgoJICBydG1wOi8vc29tZXdoZXJlL3NvbWV0aGluZyBvcHQxPXZhbDEgb3B0Mj12YWwyCgoyMDEwLTA2LTA3IDE3OjMwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogRml4IG1lbW9yeSBsZWFrcwoKMjAxMC0wNi0wNyAxMToxNToyNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogT25seSB3b3JrcyB3aXRoIHJhdGU9ODAwMCwgZml4IGluIGNhcHMKCjIwMTAtMDYtMDcgMDc6NTg6MjIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggY3Jhc2ggaW4gJ2ZpbGVuYW1lJyBwcm9wZXJ0eQoJICBEbyBub3QgY3Jhc2ggd2hlbiBmaWxlbmFtZSBwcm9wZXJ0eSBpcyBzZXQgdG8gTlVMTCwgdXNlIGFuCgkgIGVtcHR5IHN0cmluZyBpbnN0ZWFkLgoKMjAxMC0wNi0wNyAwNzozODozMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVzcHUuYzoKCSAga2F0ZTogUnVuIGdzdC1pbmRlbnQgb24gLmMgZmlsZXMKCSAga2F0ZSBwbHVnaW4gaGFzIHNvbWUgaW5kZW50YXRpb24gcHJvYmxlbXMsIHJ1biBnc3QtaW5kZW50IG9uIHRoZW0KCSAgYW5kIGZpeCBpdAoKMjAxMC0wNi0wNiAyMjozNDo1NSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0bWFyYmxlLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIG1hcmJsZTogQWRkcyAnbWFyYmxlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoJICBBZGRzIGEgbmV3IGVsZW1lbnQgdGhhdCBkb2VzIGEgbWFyYmxpbmcgZWZmZWN0IHRvCgkgIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDYgMTQ6MzU6NDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBVc2UgZXhwbGljaXQgZm9ybWF0cyBmcm9tIGdzdHZpZGVvCgkgIFVzZSBleHBsaWNpdCBmb3JtYXQgbWFjcm9zIGZyb20gZ3N0dmlkZW8gdG8gYXZvaWQgZXhwb3NpbmcKCSAgdW5zdXBwb3J0ZWQgZm9ybWF0cyBvbiB0ZW1wbGF0ZSBwYWRzLiBVc2luZyB0aGUgbWFjcm9zCgkgIGFsc28gZ2l2ZSB1cyBjb21wbGV0ZSBjYXBzICh3aWR0aC9oZWlnaHQvZnJhbWVyYXRlKS4KCSAgQW5kIGFkZCBzdXBwb3J0IGZvciBBWVVWLgoJICBGaXhlcyAjNjIwNzE3CgoyMDEwLTA2LTA1IDE5OjM4OjQ0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0ZGlmZnVzZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGRpZmZ1c2UuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAgZGlmZnVzZTogQWRkcyBkaWZmdXNlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgdGhlICdkaWZmdXNlJyBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybS4gSXQgbW92ZXMKCSAgdGhlIHBpeGVscyBvZiB0aGUgaW1hZ2UgaW4gcmFuZG9tIGRpcmVjdGlvbnMKCjIwMTAtMDYtMDUgMTk6MjA6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBNYWtlIG1hcCBwcmVjYWxjdWxhdGlvbiBvcHRpb25hbAoJICBBZGRzIGEgdmFyaWFibGUgdG8gYmUgc2V0IHRvIGFsbG93IHN1YmNsYXNzZXMgdG8gZW5hYmxlCgkgIG9yIGRpc2FibGUgcHJlY2FsY3VsYXRpb24gb2YgdGhlIHBpeGVscyBtYXBwaW5nCgoyMDEwLTA2LTA2IDE1OjMyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWRkIHNvbWUgYnJhY2VzIHRvIGltcHJvdmUgcmVhZGFiaWxpdHkKCjIwMTAtMDYtMDYgMTU6Mjk6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJICBydG1wc3JjOiBJbXByb3ZlIHRpbWVzdGFtcCBoYW5kbGluZyBhIGJpdAoKMjAxMC0wNi0wNiAxNToyNDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcKCjIwMTAtMDYtMDYgMTM6NTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkgIHJ0bXBzcmM6IEhhbmRsZSB0aW1lc3RhbXBzIGFuZCB0aGUgcG9zaXRpb24gcXVlcnkKCSAgVGhpcyBpcyBub3QgdmVyeSBhY2N1cmF0ZSBidXQgYmV0dGVyIHRoYW4gbm90aGluZy4gVGhlIGRlbXV4ZXIKCSAgYWZ0ZXIgdGhlIHNvdXJjZSBrbm93cyBtb3JlIGFjY3VyYXRlIHRpbWVzdGFtcHMuCgoyMDEwLTA2LTA2IDA4OjMwOjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSAgcnRtcHNyYzogQWxsb2NhdGUgYW5kIGZyZWUgdGhlIFJUTVAgaW5zdGFuY2UgaW4gc3RhcnQvc3RvcAoKMjAxMC0wNi0wNCAyMjozNjoxNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSAgcnRtcHNyYzogQWRkIHByb3BlcnRpZXMgZm9yIHNldHRpbmcgdGhlIHN3ZlVybCBhbmQgcGFnZVVybCBwcm9wZXJ0aWVzCgkgIFRoZXNlIGFyZSByZXF1aXJlZCBmb3Igc29tZSBzdHJlYW1zIHVuZm9ydHVuYXRlbHkuCgoyMDEwLTA2LTA0IDIyOjA0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9ydG1wL2dzdHJ0bXBzcmMuYzoKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5oOgoJICBydG1wc3JjOiBNYWpvciBjbGVhbnVwIGFuZCByZW9yZ2FuaXphdGlvbgoKMjAxMC0wNi0wNCAwODoxNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3J0bXAvTWFrZWZpbGUuYW06CgkqIGV4dC9ydG1wL1JFQURNRToKCSogZXh0L3J0bXAvZ3N0cnRtcHNyYy5jOgoJKiBleHQvcnRtcC9nc3RydG1wc3JjLmg6CgkqIGdzdC9ydG1wL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRtcC9hbWYuYzoKCSogZ3N0L3J0bXAvYW1mLmg6CgkqIGdzdC9ydG1wL2J5dGVzLmg6CgkqIGdzdC9ydG1wL2RoLmg6CgkqIGdzdC9ydG1wL2RoZ3JvdXBzLmg6CgkqIGdzdC9ydG1wL2hhbmRzaGFrZS5oOgoJKiBnc3QvcnRtcC9oYXNoc3dmLmM6CgkqIGdzdC9ydG1wL2h0dHAuaDoKCSogZ3N0L3J0bXAvbG9nLmM6CgkqIGdzdC9ydG1wL2xvZy5oOgoJKiBnc3QvcnRtcC9wYXJzZXVybC5jOgoJKiBnc3QvcnRtcC9ydG1wLmM6CgkqIGdzdC9ydG1wL3J0bXAuaDoKCSogZ3N0L3J0bXAvcnRtcF9zeXMuaDoKCSAgcnRtcDogTW92ZSB0byBleHQgYW5kIGRyb3AgaW50ZXJuYWwgbGlicnRtcCBjb3B5CgkgIFdlIHJlYWxseSBkb24ndCB3YW50IHRoaXMgaW4gZ3N0LXBsdWdpbnMtYmFkIGJlY2F1c2Ugb2YKCSAgbGVnYWwgY29tcGxleGl0aWVzIGFyb3VuZCBSVE1QIGFuZCBwb3NzaWJsZSBwcm9ibGVtcwoJICBmb3IgZGlzdHJpYnV0aW9ucy4KCSAgQWRkIFJFQURNRSB0aGF0IGV4cGxhaW5zIGhvdyB0byBidWlsZCBsaWJydG1wIHRvIGJlIHN1aXRhYmxlCgkgIGZvciBsaW5raW5nIHRvIHRoZSBHU3RyZWFtZXIgcGx1Z2luLgoKMjAxMC0wNi0wMiAwMDo0NTowNiArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvcnRtcC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0bXAvYW1mLmM6CgkqIGdzdC9ydG1wL2FtZi5oOgoJKiBnc3QvcnRtcC9ieXRlcy5oOgoJKiBnc3QvcnRtcC9kaC5oOgoJKiBnc3QvcnRtcC9kaGdyb3Vwcy5oOgoJKiBnc3QvcnRtcC9nc3RydG1wc3JjLmM6CgkqIGdzdC9ydG1wL2dzdHJ0bXBzcmMuaDoKCSogZ3N0L3J0bXAvaGFuZHNoYWtlLmg6CgkqIGdzdC9ydG1wL2hhc2hzd2YuYzoKCSogZ3N0L3J0bXAvaHR0cC5oOgoJKiBnc3QvcnRtcC9sb2cuYzoKCSogZ3N0L3J0bXAvbG9nLmg6CgkqIGdzdC9ydG1wL3BhcnNldXJsLmM6CgkqIGdzdC9ydG1wL3J0bXAuYzoKCSogZ3N0L3J0bXAvcnRtcC5oOgoJKiBnc3QvcnRtcC9ydG1wX3N5cy5oOgoJICBydG1wOiBBZGQgUlRNUCBzb3VyY2UgcGx1Z2luCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01NjY2MDQKCjIwMTAtMDYtMDUgMTE6MDQ6NDUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBTZXQgb3V0cHV0IGJ1ZmZlciBkYXRhIHRvIDAKCSAgSW5pdGlhbGl6ZSBvdXRwdXQgYnVmZmVyIGRhdGEgdG8gMCBiZWZvcmUgZG9pbmcgdGhlCgkgIHRyYW5zZm9ybS4KCjIwMTAtMDYtMDUgMTA6NTg6MDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RjaXJjbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBEZXNjcmlwdGlvbnMgYW5kIGRlZmF1bHQgdmFsdWVzCgkgIEltcHJvdmUgc29tZSBwcm9wZXJ0aWVzIGFuZCBlbGVtZW50IGRlc2NyaXB0aW9ucyBhbmQgY2hhbmdlcwoJICBzb21lIGRlZmF1bHQgcHJvcGVydGllcyB2YWx1ZXMuCgoyMDEwLTA2LTA0IDE2OjE0OjAyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogVmVyaWZ5IHRoYXQgcGlwZSBleGlzdHMgYmVmb3JlIHJlc2l6aW5nIGl0CgoyMDEwLTA2LTA0IDE1OjU0OjMzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvc2htL3NobWFsbG9jLmM6CgkqIHN5cy9zaG0vc2htYWxsb2MuaDoKCSogc3lzL3NobS9zaG1waXBlLmM6CgkqIHN5cy9zaG0vc2htcGlwZS5oOgoJICBzaG06IEFkZCBjb3B5cmlnaHQgbm90aWNlcyB0byBzaG1hbGxvYy5bY2hdIGFuZCBzaG1waXBlLltjaF0KCjIwMTAtMDYtMDQgMTU6NTM6MjAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGthbGVpZG9zY29wZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RzcGhlcmUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlCgkgIFJlbW92ZSB0cmFpbGluZyB3aGl0ZXNwYWNlIGZyb20gZ2VvbWV0cmljdHJhbnNmb3JtIGZpbGVzCgoyMDEwLTA2LTAzIDAwOjI0OjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0d2F0ZXJyaXBwbGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R3YXRlcnJpcHBsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICB3YXRlcnJpcHBsZTogQWRkcyBuZXcgd2F0ZXJyaXBwbGUgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc29mbXIKCSAgQWRkcyBhbiB3YXRlciByaXBwbGUgZGlzdG9ydGlvbiBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybQoKMjAxMC0wNi0wMiAyMzo1NTo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHNwaGVyZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBzcGhlcmU6IEFkZHMgbmV3ICdzcGhlcmUnIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0byBkbyAnc3BoZXJlJyBlZmZlY3QgaW50byBnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgcGx1Z2luCgoyMDEwLTA2LTAyIDIyOjAxOjMxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Y2lyY2xlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0a2FsZWlkb3Njb3BlLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IGFkZHMgc29tZSBwcm9wZXJ0aWVzIHRvIGJhc2UgY2xhc3MKCSAgQWRkcyBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGF0IHRvIGRvIHdpdGggcGl4ZWxzIHRoYXQgYXJlIG1hcHBlZCBvdXQgb2YKCSAgZWRnZXM6IGlnbm9yZSwgY2xhbXAgb3Igd3JhcC4KCjIwMTAtMDYtMDIgMTg6NTg6NDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nZW9tZXRyaWNtYXRoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL3BsdWdpbi5jOgoJICBjaXJjbGU6IEFkZHMgY2lyY2xlIGVsZW1lbnQgdG8gZ2VvbWV0cmljdHJhbnNmb3JtIHBsdWdpbgoJICBBZGRzIHRoZSBuZXcgJ2NpcmNsZScgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luCgoyMDEwLTA2LTAyIDAxOjIxOjIzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vTWFrZWZpbGUuYW06CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ2VvbWV0cmljbWF0aC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dlb21ldHJpY21hdGguaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RrYWxlaWRvc2NvcGUuaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9wbHVnaW4uYzoKCSAga2FsZWlkb3Njb3BlOiBBZGRzIG5ldyBlbGVtZW50ICdrYWxlaWRvc2NvcGUnCgkgIEFkZHMgbmV3IGthbGVpZG9zY29wZSBlbGVtZW50IHRvIGdlb21ldHJpY3RyYW5zZm9ybSBwbHVnaW4KCjIwMTAtMDYtMDIgMDA6NDg6MTUgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3R0d2lybC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHR3aXJsLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdzdHR3aXJsOiBBZGRzIG5ldyBlbGVtZW50IHR3aXJsCgkgIEFkZHMgYSBuZXcgZWxlbWVudCB0byBnZW9tZXRyaWN0cmFuc2Zvcm0gcGx1Z2luOiB0d2lybAoKMjAxMC0wNi0wMiAwMDozNDozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL01ha2VmaWxlLmFtOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybS5oOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmM6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0cGluY2guaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBBZGRzIGEgaW50ZXJtZWRpYXJ5IGJhc2VjbGFzcyBjaXJjbGVnZW9tZXRyaWN0cmFuc2Zvcm0KCSAgQWRkcyBhbiBpbnRlcm1lZGlhcnkgYmFzZWNsYXNzIG5hbWVkIGdzdGNpcmNsZWdlb21ldHJpY3RyYW5zZm9ybQoJICB0byBrZWVwIGNvbW1vbiBwcm9wZXJ0aWVzIGNvZGUgZm9yIGZpbHRlcnMgdGhhdCBvcGVyYXRlIG9uCgkgIGEgY2lyY3VsYXIgYXJlYS4KCjIwMTAtMDUtMzAgMTI6NTA6NTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkgIHBpbmNoOiBTb21lIG9wdGltaXphdGlvbiB1c2luZyB0aGUgcHJlcGFyZSBmdW5jCgkgIFNtYWxsIG9wdGltaXphdGlvbiBieSBwcmVjYWxjdWxhdGluZyB0aGUgY2VudGVyIG9mIHRoZSBlZmZlY3QsCgkgIGFsc28gdXNlIG5ld2x5IGFkZGVkIF9DQVNUIG1hY3JvLgoKMjAxMC0wNS0zMCAxMjozNjowOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdGdlb21ldHJpY3RyYW5zZm9ybS5oOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IEFkZHMgcHJlcGFyZSBmdW5jdGlvbiBhbmQgY2xlYW51cAoJICBBZGRzIGEgcHJlcGFyZSBmdW5jdGlvbiB0byBtYWtlIHN1YmNsYXNzZXMgcHJlY2FsY3VsYXRlIHZhbHVlcwoJICB0aGF0IHdpbGwgYmUgdXNlZCB0aHJvdWdob3V0IHRoZSBtYXBwaW5nIGZ1bmN0aW9ucy4KCSAgQWxzbyBhZGRzIGEgbWlzc2luZyBjbGVhbnVwIHRvIGZpeCBhIG1lbWxlYWsKCjIwMTAtMDUtMjYgMjE6Mzk6MjEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSAgZ2VvbWV0cmljdHJhbnNmb3JtOiBQcmVjYWxjdWxhdGUgbWFwcGluZyBhcnJheQoJICBQcmVjYWxjdWxhdGUgd2hlbiBzZXR0aW5nIGNhcHMgdGhlIHdhcnBpbmcgbWFwIHRvIGF2b2lkCgkgIHJlY2FsY3VsYXRpbmcgaXQgZXZlcnkgYnVmZmVyCgoyMDEwLTA1LTI2IDE4OjI5OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vZ3N0Z2VvbWV0cmljdHJhbnNmb3JtLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogQWNjZXB0IGFueSByZ2Igb3IgZ3JheQoJICBVc2luZyBnc3R2aWRlbyBmdW5jdGlvbnMgZ2VvbWV0cmljdHJhbnNmb3JtIGNhbiBoYW5kbGUKCSAgcmdiIG9yIGdyYXksIHB1dCB0aGF0IG9uIHRlbXBsYXRlIGNhcHMKCjIwMTAtMDUtMjYgMTg6MjI6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJICBnZW9tZXRyaWN0cmFuc2Zvcm06IFJlbmFtZSBzb21lIHZhcmlhYmxlcyBmb3IgY2xhcml0eQoJICBSZW5hbWVzIHNvbWUgdmFyaWFibGVzIGFuZCBhZGRzIGEgbWluaW11bSBkb2MgdG8gdGhlCgkgIG1hcHBpbmcgZnVuY3Rpb24gZm9yIGEgbGl0dGxlIGNsYXJpdHkuCgkgIEFsc28gdXNlcyBnc3R2aWRlbyBmdW5jdGlvbnMgZm9yIHRoZSByb3cgYW5kIHBpeGVsIHN0cmlkZXMKCSAgaW5zdGVhZCBvZiBoYXJkY29kZWQgdmFsdWVzCgoyMDEwLTA1LTI0IDIzOjU3OjA1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9NYWtlZmlsZS5hbToKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uYzoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RnZW9tZXRyaWN0cmFuc2Zvcm0uaDoKCSogZ3N0L2dlb21ldHJpY3RyYW5zZm9ybS9nc3RwaW5jaC5jOgoJKiBnc3QvZ2VvbWV0cmljdHJhbnNmb3JtL2dzdHBpbmNoLmg6CgkqIGdzdC9nZW9tZXRyaWN0cmFuc2Zvcm0vcGx1Z2luLmM6CgkgIGdlb21ldHJpY3RyYW5zZm9ybTogTmV3IHBsdWdpbiBmb3IgZ2VvbWV0cmljIHRyYW5zZm9ybXMKCSAgQWRkcyBhIG5ldyBwbHVnaW4gdGhhdCBoYXMgZWxlbWVudHMgdGhhdCBwZXJmb3JtIGdlb21ldHJpYwoJICB0cmFuc2Zvcm1hdGlvbnMgdG8gaW1hZ2VzLiBCeSBnZW9tZXRyaWMgdHJhbnNmb3JtYXRpb25zIEkgbWVhbgoJICB0aGF0IHRoZSBvcGVyYXRpb25zIGFyZSBmdW5jdGlvbnMgdGhhdCBnaXZlbiB0aGUgb3V0cHV0IHBpeGVsCgkgIHBvc2l0aW9uLCBnZXQgdGhlIHBpeGVsIHBvc2l0aW9uIGluIHRoZSBpbnB1dCBpbWFnZS4gVGhpcyBwaXhlbAoJICBpcyB0aGVuIGNvcGllZCBmcm9tIGlucHV0IHRvIG91dHB1dC4KCSAgVGhlIGdzdGdlb21ldHJpY3RyYW5zZm9ybSBiYXNlY2xhc3MgbWFrZXMgaXQgZWFzeSB0byB3cml0ZQoJICBzdWNoIGVsZW1lbnRzLiBJdCBib2lscyBkb3duIHRvIHdyaXRlIHRoZSBtYXBwaW5nIGZ1bmN0aW9uCgkgIGFuZCBleHBvc2luZyBwcm9wZXJ0aWVzCgkgIEFscmVhZHkgYWRkZWQgdGhlIGZpcnN0IG9mIHRoZSBlbGVtZW50cywgJ3BpbmNoJy4gSXQncyBhIGNvbW1vbgoJICBlZmZlY3QgaW4gaW1hZ2UgZWRpdG9ycywgbGlrZSBnaW1wIChkaXN0b3J0IC0+IHBpbmNoKQoKMjAxMC0wNi0wMyAyMzoxOTozNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0b29scy9lbGVtZW50LW1ha2VyOgoJKiB0b29scy9nb2JqZWN0LmM6CgkqIHRvb2xzL2dzdGJhc2VzaW5rLmM6CgkqIHRvb2xzL2dzdGJhc2VzcmMuYzoKCSAgdG9vbHM6IGZsZXNoIG91dCBlbGVtZW50LW1ha2VyIHRlbXBsYXRlcwoKMjAxMC0wNi0wMyAxODoxNDowNSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkgIGJheWVyMnJnYjogaGFuZGxlIG90aGVyIGJheWVyIGZvcm1hdHMKCjIwMTAtMDYtMDMgMTg6MTQ6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIHJnYjJiYXllcjogaGFuZGxlIG11bHRpcGxlIGJheWVyIGZvcm1hdHMKCjIwMTAtMDYtMDMgMTU6NTM6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIuYzoKCSogZ3N0L2JheWVyL2dzdHJnYjJiYXllci5jOgoJKiBnc3QvYmF5ZXIvZ3N0cmdiMmJheWVyLmg6CgkgIGJheWVyOiBBZGQgcmdiMmJheWVyIGVsZW1lbnQKCSAgTW9zdGx5IGZvciB0ZXN0aW5nL2NvbXBsZXRlbmVzcy4KCjIwMTAtMDYtMDMgMjA6NTE6NTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogZml4IGRlYnVnIG1lc3NhZ2VzCgkgIE1pc2MuIHByaW50ZiBmb3JtYXQgZml4ZXMgYW5kIG1pc3NpbmcgYXJndW1lbnRzLgoKMjAxMC0wNi0wMyAxNToyNzowMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IE1ha2Ugc3RhdGljIGZ1bmN0aW9uIHN0YXRpYwoKMjAxMC0wNi0wMyAxNToyNjo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3NobS9nc3RzaG1zaW5rLmM6CgkqIHN5cy9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobTogVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wNi0wMyAxNDo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vTWFrZWZpbGUuYW06CgkqIHN5cy9zaG0vZ3N0c2htLmM6CgkqIHN5cy9zaG0vZ3N0c2htc2luay5jOgoJKiBzeXMvc2htL2dzdHNobXNpbmsuaDoKCSogc3lzL3NobS9nc3RzaG1zcmMuYzoKCSogc3lzL3NobS9nc3RzaG1zcmMuaDoKCSogc3lzL3NobS9zaG1hbGxvYy5jOgoJKiBzeXMvc2htL3NobWFsbG9jLmg6CgkqIHN5cy9zaG0vc2htcGlwZS5jOgoJKiBzeXMvc2htL3NobXBpcGUuaDoKCSAgc2htOiBNb3ZlIHRvIHN5cy8gc2luY2UgaXQgZG9lc24ndCBleGlzdCBvbiB3aW5kb3dzCgoyMDEwLTA2LTAzIDE0OjQxOjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEZpeCBpbmRlbnRhdGlvbgoKMjAxMC0wNi0wMyAxNDoyMjozNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htc2luazogUHJpbnQgZXJyb3JzIGlmIGZjaG1vZCBmYWlscwoKMjAxMC0wNC0wNyAxOTowNTozNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IEZpeCBjcmFzaCB3aGVuIHNwX2Nsb3NlX3NobSBpcyBjYWxsZWQgd2l0aCBzZWxmID09IE5VTEwuCgkgIElmIHNwX29wZW5fc2htIGVycm9ycyBvdXQgdHJ5aW5nIHRvIG9wZW4gYSBzaG0gYXJlYSwgaXQgd291bGQgY3Jhc2gKCSAgd2hlbiB0cnlpbmcgdG8gZnJlZSB0aGUgYXJlYS4gVGhlIFJFVFVSTl9FUlJPUiBtYWNybyBjYWxscwoJICBzcF9zaG1fYXJlYV9kZWMgd2l0aCBzZWxmID09IE5VTEwuIHNwX3NobV9hcmVhX2RlYyBjYWxscwoJICBzcF9zaG1fY2xvc2UsIHdpdGggc2VsZiA9PSBOVUxMLCB3aGljaCBpdCB0aGVuIHRyaWVzIHRvIGFjY2VzcyBhCgkgIHBhcmFtZXRlciBvZiB3aXRob3V0IGNoZWNraW5nLiBUaGlzIHBhdGNoIGNoZWNrcyB0byBtYWtlIHN1cmUKCSAgc2VsZiAhPSBOVUxMIGJlZm9yZSBhY2Nlc3NpbmcgdGhhdCBwYXJhbWV0ZXIuCgoyMDEwLTA0LTA3IDE5OjA1OjE1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogVXBkYXRlIGNvZGUgc3RhbmRhcmQKCjIwMTAtMDItMDMgMTM6NTA6MTMgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIHNvY2tldCBwYXRoIHRvIGVycm9yIG1lc3NhZ2UKCjIwMTAtMDItMDIgMTc6NDA6MDkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBSZW1vdmUgd3JvbmcgdGVzdCBpbnZlcnNpb24KCjIwMTAtMDItMDIgMTc6MzU6MjYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBWZXJpZnkgdGhhdCBhY2NlcHQgc3VjY2VlZHMKCjIwMTAtMDItMDIgMTc6MzU6MTUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBGaXggb25lIGJ5dGUgb3ZlcmZsb3cKCjIwMTAtMDItMDIgMTE6MTE6MDYgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJICBzaG1zcmM6IEltcHJvdmUgZGVidWcgcHJpbnRzCgoyMDEwLTAxLTI2IDEyOjM0OjM0ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSAgc2htc2luazogR2V0IHBvdGVudGlhbGx5IG1vZGlmaWVkIGFmdGVyIG9wZW5pbmcgc2htcGlwZQoKMjAxMC0wMS0yNiAxMjozMjo1NiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkqIGdzdC9zaG0vc2htcGlwZS5oOgoJICBzaG06IFRyeSBhbHRlcm5hdGUgcGF0aHMgZm9yIHRoZSBzb2NrZXQKCjIwMTAtMDEtMjkgMTE6MDY6NDQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBEb24ndCBwcmV0ZW5kIHRoZSBwYXRoIGlzIHJhbmRvbQoKMjAxMC0wMS0yOSAxMDo1NzoyNyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IENyZWF0ZSBzaG0gYXJlYSBleGNsdXNpdmVseQoKMjAxMC0wMS0yOCAxNTozNDo0NCArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1hbGxvYy5oOgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSogZ3N0L3NobS9zaG1waXBlLmg6CgkgIHNobWFsbG9jOiBNYWtlIGl0IGJ1aWxkIGluIG5vbi1nbGliIHdvcmxkCgoyMDEwLTAxLTI4IDEyOjE5OjA3ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IE1ha2UgdGhlIHNobXBpcGUgbGlmZSBpbmRlcGVuZGFudCBvZiB0aGUgZWxlbWVudCBzdGF0ZXMKCjIwMTAtMDEtMjggMTE6NTc6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG1waXBlOiBTaW1wbGlmeSBoYW5kbGluZyBvZiByYW5kb20gcGF0aHMKCjIwMTAtMDEtMjggMTE6MzY6MDEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXBpcGU6IFJlbW92ZSB1c2VsZXNzIGF0dHJpYgoKMjAxMC0wMS0yOCAxMTozMToxMSArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobXBpcGU6IFJlZiBjbGllbnQgc2htYXJlYSB3aGVuIGEgYnVmZmVyIGlzIHJlY2VpdmVkIGluIGl0CgoyMDEwLTAxLTI4IDExOjMwOjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL3NobXBpcGUuYzoKCSAgc2htcGlwZTogRG9uJ3QgZGVjIG9sZCBzaG0gYXJlYSB3aGVuIG5ldyBvbmUgaXMgYWRkZWQKCSAgSXRzIHJlZiB3aWxsIGJlIGRyb3BwZWQgd2hlbiB0aGUgImNsb3NlIiBtZXNzYWdlIGFycml2ZXMKCjIwMTAtMDEtMjcgMTE6NDk6MzQgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogTG9jayB1c2VzIG9mIHNobXBpcGUKCjIwMTAtMDEtMjYgMTQ6MjA6MzUgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkgIHNobXNyYzogQWRkIGlzLWxpdmUgcHJvcGVydHkKCjIwMDktMTEtMDMgMjA6MDM6MjQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJICBzaG06IFByaW50IGRldGFpbHMgb24gZXJyb3JzCgoyMDA5LTExLTAzIDE4OjMzOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogTWFrZSB2YWxncmluZCBoYXBweQoKMjAwOS0xMS0wMyAxNjozMTozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmM6CgkgIHNobXNpbms6IERvbid0IGJsb2NrIG9uIEVPUyBpbiBub24tYmxvY2tpbmcgbW9kZQoKMjAwOS0xMS0wMyAxNjowOTozNSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9zaG1waXBlLmM6CgkgIHNobTogQmxvY2sgaWYgcmVxdWlyZWQKCjIwMDktMTAtMzAgMTg6MjQ6NTggKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaG0vZ3N0c2htLmg6CgkqIGdzdC9zaG0vZ3N0c2htc2luay5jOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuaDoKCSAgc2htc2luazogUG9ydCB0byBTaG1QaXBlCgoyMDA5LTEwLTMwIDEyOjM3OjUwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2htL2dzdHNobXNyYy5jOgoJKiBnc3Qvc2htL2dzdHNobXNyYy5oOgoJICBzaG1zcmM6IFBvcnQgdG8gU2htUGlwZQoKMjAwOS0xMC0yOSAxOToxODoyNSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NobS9NYWtlZmlsZS5hbToKCSogZ3N0L3NobS9zaG1hbGxvYy5jOgoJKiBnc3Qvc2htL3NobWFsbG9jLmg6CgkqIGdzdC9zaG0vc2htcGlwZS5jOgoJKiBnc3Qvc2htL3NobXBpcGUuaDoKCSAgc2htOiBBZGQgc2htcGlwZSBpbXBsZW1lbnRhdGlvbgoKMjAwOS0wNC0yOSAxNjozMzo0NiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2htL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2htL2dzdHNobS5jOgoJKiBnc3Qvc2htL2dzdHNobS5oOgoJKiBnc3Qvc2htL2dzdHNobXNpbmsuYzoKCSogZ3N0L3NobS9nc3RzaG1zaW5rLmg6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmM6CgkqIGdzdC9zaG0vZ3N0c2htc3JjLmg6CgkgIHNobTogQWRkIHNobSBiYXNlZCBzaW5rIGFuZCBzcmMKCSAgVGhlc2UgdHdvIGVsZW1lbnRzIChzaG1zaW5rIGFuZCBzaG1zcmMpIGNvbW11bmljYXRlIGJ1ZmZlcnMgdXNpbmcgUE9TSVgKCSAgc2hhcmVkIG1lbW9yeS4gVGhleSBhbHNvIGNvbW11bmljYXRlIHRoZSBjYXBzLiBUaGUgc291cmNlIGN1cnJlbnRseSBhY3RzIGFzCgkgIGEgbGl2ZSBzb3VyY2UgYW5kIGlnbm9yZXMgdGhlIHRpbWVzdGFtcHMgY29taW5nIGZyb20gdGhlIHNpbmsuIEl0IGFsc28gZG9lcwoJICBub3QgdHJhbnNmZXIgdGhlIHRhZ3MuCgoyMDEwLTA2LTAzIDE1OjUxOjE4ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFNvbWUgY2hlY2tzIHRvIGF2b2lkIGFzc2VydHMKCSAgZ3N0X21wZWdfZGVzY3JpcHRvcl9maW5kKCkgZXhwZWN0cyB0aGUgZGVzY3JpcHRpb24gZmllbGQgdG8gYmUgbm9uLU5VTEwuCgkgIFRoaXMgZml4ZXMgYSBjb3VwbGUgb2YgY2FsbHMgd2hlcmUgdGhlIHZhbHVlIGJlaW5nIHBhc3NlZCBpcyBub3QKCSAgdmVyaWZpZWQgdG8gYmUgbm9uLU5VTEwgZmlyc3QuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MjA0NTYKCjIwMTAtMDYtMDMgMTA6NDk6NDAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBmaXggcHJpbnRmIGZvcm1hdCB3YXJuaW5nIGluIGxvZyBtZXNzYWdlCgkgIGdzdHZwOGVuYy5jOjU2NDogZXJyb3I6IGZvcm1hdCDigJglZOKAmSBleHBlY3RzIHR5cGUg4oCYaW504oCZLCBidXQgYXJndW1lbnQgOCBoYXMgdHlwZSDigJhzaXplX3TigJkKCSAgZ3N0dnA4ZW5jLmM6NzQ0OiBlcnJvcjogZm9ybWF0IOKAmCVk4oCZIGV4cGVjdHMgdHlwZSDigJhpbnTigJksIGJ1dCBhcmd1bWVudCA4IGhhcyB0eXBlIOKAmHNpemVfdOKAmQoKMjAxMC0wNi0wMyAxMDo0MzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwbXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBsb2cgbWVzc2FnZSBhcmd1bWVudAoKMjAxMC0wNi0wMiAyMjowNzozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IGFkZCBhbiBhc3NlcnQgdG8gcGxhY2F0ZSBnY2MtNC41CgoyMDEwLTA2LTAyIDE5OjQ2OjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW9wYXJzZTogZml4IHdhcm5pbmcKCjIwMTAtMDYtMDIgMTk6Mzg6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3BhcnNlLmM6CgkgIGJhc2V2aWRlb3BhcnNlOiByZW1vdmUgYm9ndXMgYXBpCgoyMDEwLTA2LTAyIDE3OjU0OjQyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvOiByZW1vdmUgZ3N0X2Jhc2VfdmlkZW9fc3RhdGVfZnJvbV9jYXBzCgoyMDEwLTA2LTAyIDE3OjQwOjE3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IHJlbW92ZSBjb21wYXRpYmlsaXR5IGNvZGUKCjIwMTAtMDYtMDIgMTY6MDY6MjAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IE9yYyBpcyBub3QgcmVxdWlyZWQKCjIwMTAtMDYtMDIgMTY6MDE6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSAgYmFzZXZpZGVvOiB1c2UgZGVidWcgY2F0ZWdvcnkgZm9yIGVhY2ggY2xhc3MKCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgkgIE1lcmdpbmcgcHJldmlvdXMgY29tbWl0IGludG8gY3VycmVudCBjb2RlYmFzZS4KCjIwMTAtMDYtMDIgMTM6MzE6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgYmFzZXZpZGVvZGVjb2RlcjogY3JlYXRlIG5ldyBzZWdtZW50cyBpZiBtaXNzaW5nCgoyMDA5LTA5LTE3IDEwOjUwOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGEgd2FybmluZwoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCB2cDg6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoJICBNZXJnaW5nIHByZXZpb3VzIGNvbW1pdCBpbnRvIGN1cnJlbnQgY29kZWJhc2UuCgoyMDEwLTA2LTAyIDE5OjUyOjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogQ2xlYXIgYWRhcHRlciB3aGVuIGZsdXNoaW5nCgoyMDEwLTA2LTAyIDE5OjQ1OjI5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogU3RvcCBkZWNvZGluZyBpZiBjYW4ndCBwdXNoCgoyMDEwLTA2LTAyIDE5OjQ0OjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRmx1c2ggYWRhcHRlciByaWdodCBhdGVyIHVzaW5nIGl0CgoyMDA5LTExLTE4IDExOjE0OjI4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogTm8gbmVlZCB0byBkbyBhIHRyeSBhbGxvY2F0aW9uCgoyMDA5LTExLTE4IDExOjA4OjI1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogRG9jdW1lbnQgcGF1c2VkLW1vZGUgcHJvcGVydHkKCjIwMDktMTAtMTIgMjA6MTk6MzggLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIGxvZyBsb2dsZXZlbCBmb3IgbWVzc2FnZXMgdGhhdCBhcmUgc2hvd24gb24gZXZlcnkgZnJhbWUKCjIwMDktMTAtMTIgMjA6MDk6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IFJlbW92ZSBvYmplY3QgbG9jayB1c2FnZSwgc3RyZWFtIGxvY2sgaXMgZW5vdWdoCgoyMDA5LTEwLTEyIDIwOjA4OjEyIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogT3V0cHV0IGZyYW1lcmF0ZSBpcyB1bmtub3duCgoyMDA5LTEwLTEyIDIwOjA2OjEzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgbWltZGVjOiBSZW1vdmUgbG9jYWwgc3RhdGUgdmFyaWFibGUgZnJvbSBpbnN0YW5jZQoKMjAwOS0xMC0xMiAxOTo1Nzo1MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBtaW1kZWM6IFJlbW92ZSB1c2VsZXNzIHZhcmlhYmxlCgoyMDA5LTEwLTEyIDE5OjU2OjU0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTWFrZSBjYXBzIGEgbG90IHN0cmljdGVyCgoyMDA5LTEwLTEyIDE5OjUyOjM1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogU2V0IGRlbHRhX3VuaXQgZmxhZyBvbiBpbnRyYSBmcmFtZXMKCjIwMDktMTAtMTIgMTk6NTA6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogSW5pdGlhbGl6ZSBlbmNvZGVyL2RlY29kZXJzIGluIHN0YXRlIGNoYW5nZSBhbmQgc2V0Y2FwcyB3aGVyZSBwb3NzaWJsZQoKMjAwOS0xMC0xMiAxOTozNjoyOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGaXggZWxlbWVudCBkZXRhaWxzCgoyMDA5LTEwLTEyIDE5OjMxOjM4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBIb2xkIGVsZW1lbnQgbG9jayB3aGlsZSBhY2Nlc3NpbmcgdGhlIGNsb2NrCgoyMDA5LTEwLTEyIDE5OjI5OjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBSZWZhY3RvciB0Y3AgaGVhZGVyIGNyZWF0aW9uIHRvIG5vdCBtYWtlIGEgc2VwYXJhdGUgYnVmZmVyCgoyMDA5LTEwLTEyIDE5OjE4OjIwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWljOiBGdW5jdGlvbiBjYW4ndCBmYWlsCgoyMDA5LTEwLTEyIDE5OjE3OjMwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltaWM6IFJlbW92ZSBDKysgc3R5bGUgY29tbWVudHMKCjIwMDktMTAtMTIgMTk6MTY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogVXNlIEdTVF9FTEVNRU5UX0VSUk9SIHdoZW4gcmV0dXJuaW5nIGEgZmxvdyBlcnJvcgoKMjAwOS0xMC0xMiAxODo1NDo1OSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkgIG1pbWljOiBGaXggR1NUX01JTV8qX0NMQVNTIG1hY3JvcwoKMjAwOS0xMC0xMiAxODo0NzozNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogV2FybiBpZiBwYXVzZWQtbW9kZSBpcyB0b2dnbGVkIHdoaWxlIHBsYXlpbmcKCjIwMDktMTAtMTIgMTg6Mzk6MDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1pYzogQWRkIEdTVF9ERUJVR19GVU5DUFRSIHdoZXJlIGFwcHJvcHJpYXRlCgoyMDA5LTEwLTEyIDE4OjM2OjU4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBtaW1pYzogUmVuYW1lIGZ1bmN0aW9ucy9tYWNyb3MgdG8gbWF0Y2ggY2xhc3MgbmFtZXMKCjIwMTAtMDUtMTAgMTg6Mzc6NTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBBZGQgc29tZSBkZWJ1ZyBtZXNzYWdlcwoKMjAxMC0wNS0wNyAxODo1Njo1NyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBSZW1vdmUgc3RyZWFtLWxvY2sgZXZlbnQgaGFuZGxpbmcKCjIwMTAtMDUtMDcgMTg6NTQ6NDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBVcGRhdGUgZG9jIGZvciBzaW1wbGlmaWNhdGlvbgoKMjAxMC0wNS0wNyAxODo0MjowNiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIGR0bWY6IFJlbW92ZSBydHBkdG1mbXV4IHN0cmVhbS1sb2NrIGNvZGUKCjIwMTAtMDUtMDcgMTg6NDA6MzAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQ2hhbmdlIHRlc3RzIHRvIG5vdCB1c2UgdGhlIHByaW9yaXR5IHBhZHMgaW5zdGVhZCBvZiB0aGUgZXZlbnRzCgoyMDEwLTA1LTA2IDE5OjUxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkgIHJ0cGR0bWZtdXg6IERyb3AgYnVmZmVycyBvbiBub24tcHJpb3JpdHkgc2lua3Mgd2hlbiBzb21ldGhpbmcgaXMgaW5jb21pbmcgb24gdGhlIHByaW9yaXR5IHNpbmsKCjIwMTAtMDUtMDYgMTg6MTE6NDAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBydHBkdG1mbXV4OiBBZGQgcHJpb3JpdHkgc2luayBwYWRzCgoyMDEwLTA1LTA3IDE3OjE1OjQ3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogQ2xlYW51cCBldmVudCBmdW5jdGlvbgoKMjAxMC0wNS0wNyAxNjo0MjoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwbXV4LmM6CgkgIHJ0cG11eDogQWdncmVnYXRlIGluY29taW5nIHNlZ21lbnRzCgoyMDEwLTA1LTA2IDE5OjA5OjQ4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogVXBkYXRlIGRvY3VtZW50YXRpb24KCjIwMTAtMDUtMDYgMTg6MTA6NDUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIHJ0cG11eDogU2ltcGxpZnkgcmVxdWVzdCBwYWQgY3JlYXRpb24KCjIwMTAtMDYtMDIgMTI6MTY6NTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJICBiYXNldmlkZW86IG1ha2UgcHJpbnRmIGZvcm1hdHMgcG9ydGFibGUKCjIwMTAtMDYtMDIgMTE6NDE6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgT3JjIHJlcXVpcmVtZW50IHRvIDAuNC40LjEKCjIwMTAtMDYtMDIgMTE6MzE6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgTWVyZ2UgYnJhbmNoICdoYWNraW5nJwoKMjAxMC0wNS0yMiAxODoxNDowOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IEFkZCB2ZXJpZnktZmllbGQtZmxhZ3MgcHJvcGVydHkKCSAgV2hlbiBlbmFibGVkLCBjaGVjayB0aGF0IHRoZSB2aWRlbyBtYXRjaGVzIHRoZSBmaWVsZCBmbGFncyBvbiB0aGUKCSAgaW5jb21pbmcgYnVmZmVycy4KCjIwMTAtMDUtMjIgMTE6MzY6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiByZW1vdmUgb2xkIGNvZGUKCjIwMTAtMDUtMjIgMTE6MzA6NTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgNDoyOjIgZm9ybWF0cwoKMjAxMC0wNS0yMiAwMDo0NDo0MCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvZ3N0aW52dGVsZWNpbmUuYzoKCSAgaW52dGVsZWNpbmU6IENoYW5nZSBmb3JtYXQgdGFibGUKCSAgQWRkIGZvcm1hdCBuYW1lLCBwaGFzZSB0YWJsZS4KCjIwMTAtMDMtMDkgMTI6MzI6NDIgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBBZGQgbXVsdGlwbGUgcHVsbGRvd24gZm9ybWF0cwoKMjAxMC0wNS0yMSAyMzozOTowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaGFuZGxlIGRpZmZlcmVudCBmcmFtZSBzaXplcwoKMjAxMC0wNS0yNCAxMjo1NToxNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiAoaW4gdnA4KSBNYXJrIGRpc2NvbnQgYnVmZmVycwoKMjAxMC0wNi0wMiAwNTo1MTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuYzoKCSAgaXZmcGFyc2U6IEZpeCBmb3JtYXQgc3RyaW5nIHdhcm5pbmcKCSAgRml4ZXMgIzYyMDMyNAoKMjAxMC0wNi0wMSAyMzo1MDowMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgY29nOiByZW1vdmUgb2xkIHRlc3RzCgoyMDEwLTA2LTAxIDIzOjM0OjA1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB0ZXN0czogQWRkIG9yYyB0ZXN0cyB0byBjaGVjayBNYWtlZmlsZQoKMjAxMC0wNi0wMSAxNjo1NToxNyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nc3Rjb2dvcmMtZGlzdC5jOgoJKiBleHQvY29nL2dzdGNvZ29yYy1kaXN0Lmg6CgkqIGV4dC9jb2cvZ3N0Y29nb3JjLm9yYzoKCSAgY29nOiB1c2UgY29tbW9uL29yYy5tYWsKCjIwMTAtMDUtMTYgMTA6MjQ6MjIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hybzogRml4IHNlZ2ZhdWx0IG9uIEVPUwoKMjAxMC0wNS0xNCAwMToyMTowOCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvOiBmaXggZm9yIGJhc2UgdmlkZW8gdXBkYXRlcwoKMjAxMC0wNS0xNiAxMDoxNTo1MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjOiBGaXhlcyBmb3IgYmFzZSB2aWRlbyBlbmNvZGVyIGNoYW5nZXMKCjIwMTAtMDYtMDEgMTU6NTQ6NTEgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9NYWtlZmlsZS5hbToKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5jOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3R2aWRlb2NvbXBhdC5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IE1vdmUgYmFzZSB2aWRlbyBmcm9tIHZwOCB0byBnc3QtbGlicwoKMjAxMC0wNi0wMSAyMzo0OTozMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDE3Zjg5ZTUgdG8gNDc2ODNjMQoKMjAxMC0wNi0wMSAyMjo1NToxMSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkN2NhMDQgdG8gMTdmODllNQoKMjAxMC0wNS0yNiAwNjo1MjoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogVXNlIFZQWF9QTEFORV8qIGluc3RlYWQgb2YgUExBTkVfKgoKMjAxMC0wNS0yNCAxMTowNDowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmg6CgkgIHZwODogQWRkIGNvbXBhdGlsaWJpdHkgZGVmaW5lcyB0byB3b3JrIHdpdGggb2xkZXIgdmVyc2lvbnMgb2YgbGlidnB4IHRvbwoKMjAxMC0wNS0yMyAwOToyODoxMyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGRlYzogcy9JTUdfRk1UX0k0MjAvVlBYX0lNR19GTVRfSTQyMC8KCSAgVGhpcyBjb3JyZXNwb25kcyB0byB1cHN0cmVhbSBsaWJ2cHggY29tbWl0IDZjZDRhMTBlMTY3MjAzZDFkZWI3OWFiZjYwZWU3MjU5OWU5Nzg5MWIKCjIwMTAtMDUtMjIgMTI6NTU6NDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBBbGxvdyBhIG1heGltdW0ga2V5ZnJhbWUgZGlzdGFuY2Ugb2YgMCwgaS5lLiBhbGwgZnJhbWVzIGFyZSBrZXlmcmFtZXMKCjIwMTAtMDUtMjIgMDk6MDg6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBTZW5kIGFuIGluaXRpYWwgTkVXU0VHTUVOVCBldmVudAoKMjAxMC0wNS0yMiAwOTowMjoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pdmZwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2l2ZnBhcnNlL2dzdGl2ZnBhcnNlLmM6CgkgIGl2ZnBhcnNlOiBJbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDEwLTA1LTIyIDA4OjU2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pdmZwYXJzZS9nc3RpdmZwYXJzZS5jOgoJKiBnc3QvaXZmcGFyc2UvZ3N0aXZmcGFyc2UuaDoKCSAgaXZmcGFyc2U6IEFkZCBzaW1wbGUgSVZGIHBhcnNlcgoJICBUaGlzIG9ubHkgc3VwcG9ydHMgVlA4IHNvIGZhci4KCSAgRml4ZXMgYnVnICM2MTkxNTguCgoyMDEwLTA1LTIyIDA4OjQ1OjM1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogU2V0IGRlY29kZXIgZGVhZGxpbmUgZnJvbSB0aGUgUW9TIGluZm9ybWF0aW9uCgoyMDEwLTA2LTAxIDEwOjE4OjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXhzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2Nocm8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWdtZW50Y2xpcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZwOC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXpiYXIueG1sOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDEwLTA1LTMxIDAyOjEwOjU4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21lbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleHNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYXRhdXJpc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludnRlbGVjaW5lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2ZhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlZ21lbnRjbGlwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdnA4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOQoKMjAxMC0wNS0zMSAwMjoxMDowOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wNS0zMSAwMTo1MjoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIGRvY3M6IGFkZCBzb21lIGRpc3RjbGVhbiBydWxlcyB0byBmaXggZGlzdGNoZWNrCgkgIFN0b2xlbiBmcm9tIGd0ay1kb2MubTQgYW5kIG5vdCBmb3VuZCBpbiBndGstZG9jLXBsdWdpbi5tNC4gV2UgbmVlZAoJICB0aGVtIGJlY2F1c2Ugd2UgZG8gaGF2ZSBsaWJzL2ludGVyZmFjZXMgc3R1ZmYgYXMgd2VsbCBub3cgKG5hbWVseQoJICBHc3RQaG90b2dyYXBoeSkuCgoyMDEwLTA1LTMxIDAwOjMzOjE2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgZG9jczogZml4IGJ1aWxkIG9mIGd0ay1kb2Mgc2Nhbm5lcgoKMjAxMC0wNS0yOCAxNjozNToxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IE1vdmUgZGVidWcgb3V0cHV0IG9uZSBsaW5lIGFib3ZlIHdoZXJlIHRoZSBwYWNrZXQgaXMgc3RpbGwgdmFsaWQKCjIwMTAtMDUtMjggMTU6NTM6MzAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBDb3JyZWN0bHkgaWdub3JlIG5vbi1mcmFtZSBwYWNrZXRzIGZyb20gdGhlIGVuY29kZXIKCSAgRml4ZXMgYnVnICM2MTk5MTYuCgoyMDEwLTA1LTIxIDE0OjAxOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogY2hhbmdlIHByb2ZpbGUgYW5kIGxldmVsIHN0cmluZ3MgdG8gc29tZXRoaW5nIG5pY2VyLWxvb2tpbmcKCSAgVGhpcyBpcyBtb3JlIGluIGxpbmUgd2l0aCB3aGF0IHdlIGRvIGVsc2V3aGVyZSwgZXZlbiBpZiBpdCBkb2Vzbid0CgkgIHJlc2VtYmxlIHRoZSBvZmZpY2FsIGFiYnJldmlhdGlvbnMgZXhhY3RseS4KCSAgU2VlICM2MTYwNzguCgoyMDEwLTA1LTI1IDE2OjM3OjU4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGx1ZyBhIGZldyBtZW1vcnkgbGVha3MKCSAgRml4ZXMgIzYxOTYxNy4KCjIwMTAtMDUtMjYgMTQ6MTE6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTguMyBwcmUtcmVsZWFzZQoKMjAxMC0wNS0yNiAxNDowMzoyMCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2NhbWVyYWJpbi5kb3Q6CgkqIGRvY3MvcGx1Z2lucy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9NYWtlZmlsZS5hbToKCSAgZG9jczogZml4IGRpc3QvZGlzdGNoZWNrIGlzc3VlcyB3aXRoIGNhbWVyYWJpbiBmaWd1cmVzCgkgIE1vdmUgZmlndXJlcyBpbnRvIGRvY3MvcGx1Z2lucyBhcyB3ZWxsLCB0byBhdm9pZCBpc3N1ZXMgd2l0aAoJICBtYWtlIGRpc3QgYW5kIG1ha2UgZGlzdGNoZWNrIChtYWtlIGRpc3RkaXIgd2lsbCBub3QgZmlyc3QgZGVzY2VuZAoJICBpbnRvIGNoaWxkIGRpcmVjdG9yaWVzKS4gT3V0LW9mLXNvdXJjZSBidWlsZCBzZWVtcyB0byBzdGlsbCB3b3JrCgkgIGFzIHdlbGwuCgoyMDEwLTA1LTI2IDEyOjM2OjIxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogdXBkYXRlIHRyYW5zbGF0aW9ucwoKMjAxMC0wNS0yNiAxMTo1NTo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1N2IwZGIgdG8gZmQ3Y2EwNAoKMjAxMC0wNS0wNyAxNjo0MjoxMiArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgbXBsZXg6IGFkZCBNUExFWF9MREZMQUdTIHZhcmlhYmxlCgkgIFNvIG1pbmd3MzIgdXNlcnMgY2FuIGhhY2sgYXJvdW5kIGEgY29tcGlsZXIvbGlua2VyIGJ1Zy4KCSAgRml4ZXMgIzYxNzE0NQoKMjAxMC0wNS0yNSAwMDoyNzoxNyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCBjcmFzaCBpZiBkb3duc3RyZWFtIGlzIHVubGlrZWQKCSAgbXBlZ19wYWNrZXRpemVyX2dldF9ibG9jaygpIGluIHNvbWUgY2lyY3Vtc3RhbmNlcyAoaGVyZTogaWYKCSAgZG93bnN0cmVhbSB3YXMgdW5saW5rZWQpIHJldHVybnMgYSBibG9jayBidXQgZG9lcyBub3Qgc2V0IHRoZQoJICBidWZmZXIgY2F1c2luZyBtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCgpIHRvIGNhdXNlIGludmFsaWQgbWVtb3J5CgkgIGFjY2Vzcy4KCSAgRml4ZXMgIzYxOTUwMi4KCjIwMTAtMDUtMjQgMTc6NDE6NDAgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBnc3QtbGlicy9nc3QvYXBwLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLW1hcnNoYWwubGlzdDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJKiBnc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmluZyByZW1haW5pbmcgZ3N0YXBwKgoJICBUaGVyZSBhcmUgc29tZSByZW1haW5pbmcgZ3N0YXBwKiBsaXZpbmcgdW5saW5rZWQgZnJvbSB0aGUgYnVpbGQgc2NyaXB0cy4KCSAgUmVtb3ZlIHRoZW0uCgoyMDEwLTA1LTI0IDE5OjIxOjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBjYW1lcmFiaW46IEZpeCB0ZXN0IGJ1aWxkCgkgIEFkZHMgbWlzc2luZyAtYmFkIGNmbGFncyB0byBjYW1lcmFiaW4gdGVzdHMuCgoyMDEwLTA1LTIzIDE5OjE3OjQxICswMTAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBmaXggbWlub3IgbWVtb3J5IGxlYWsKCSAgRG9uJ3QgbGVhayBsYW5ndWFnZSBjb2RlLgoJICBGaXhlcyAjNjE5NDQ0LgoKMjAxMC0wNS0yMSAyMDo0ODozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSAgY29nY29sb3JzcGFjZTogcmVzYW1wbGUgWVVWLT5ZVVYgY29udmVyc2lvbnMKCSAgRml4ZXMgYSBzZWdmYXVsdCAoYnVnICM2MTgwNDQpLgoKMjAxMC0wNC0wOCAxNjowNToxMSArMDEwMCAgQmFzdGllbiBOb2NlcmEgPGhhZGVzc0BoYWRlc3MubmV0PgoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgdmNkc3JjOiBjaGFuZ2UgVkNEIFVSSSBoYW5kbGVyIHRvIHRoZSBEVkQgc2NoZW1lCgkgIFRoZSBjdXJyZW50IFVSSSBwYXJzaW5nIGNvZGUgZG9lc24ndCBhbGxvdyBzZXR0aW5nIHRoZSAiZGV2aWNlIgoJICBmcm9tIHdoaWNoIHRoZSBWQ0Qgc2hvdWxkIGJlIHJlYWQuCgkgIFVzZSB0aGUgc2FtZSBzdHJ1Y3R1cmUgYXMgdGhlIERWRCBVUkkgaGFuZGxpbmcgaW5zdGVhZCwgc28gdGhhdAoJICBkZXZpY2VzIGNhbiBiZSBwYXNzZWQgaW4gdGhlIFVSSSwgYXMgd2VsbCBhcyB0cmFjayBudW1iZXIuCgkgIFVwIHRoZSByYW5rIG9mIHRoZSBWQ0QgcGx1Z2luIHNvIHRoYXQgaXQgY2FuIGJlIGF1dG8tcGx1Z2dlZCBhbmQKCSAgdXNlZCBieSBUb3RlbS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTM0MDk4NgoKMjAxMC0wNS0yMiAwNzo0NDoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlb2RlY29kZXI6IFRha2UgdGhlIGZyYW1lIGR1cmF0aW9uIGludG8gYWNjb3VudCB3aGVuIGNhbGN1bGF0aW5nIHRoZSBlYXJsaWVzdCB0aW1lCgkgIFRoaXMgZm9ybXVsYSBpcyB1c2VkIGluIG1hbnkgb3RoZXIgZWxlbWVudHMgdG9vLgoJICBGaXhlcyBidWcgIzYxOTMxOC4KCjIwMTAtMDUtMjIgMDc6MzU6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJICBiYXNldmlkZW9kZWNvZGVyOiBSZXNldCBRb1MgdmFsdWVzIHdoZW4gbmVjZXNzYXJ5CgoyMDEwLTA1LTIyIDA5OjM1OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXNlIEdTVF9WSURFT19DQVBTX1lVVihJNDIwKSBpbnN0ZWFkIG9mIGhhbmR3cml0dGVuIEk0MjAgY2FwcyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZQoJICBGaXhlcyBidWcgIzYxOTM0NC4KCjIwMTAtMDUtMjEgMjA6NTM6MzYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBkcm9wIGxhdGUgZnJhbWVzIGFmdGVyIGRlY29kaW5nIHRoZW0KCSAgVGhpcyBzYXZlcyBhIG1lbWNweSwgd2hpY2ggaXMgYWx3YXlzIHNvbWV0aGluZy4KCjIwMTAtMDUtMjEgMjE6Mjg6MjkgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IHRocmVhZHMgcHJvcGVydHkKCSAgSW5jcmVhc2luZyBmcm9tIDEgdG8gMiB0aHJlYWRzIG9uIGFuIFRoaW5rcGFkIFg2MHMgZGVjcmVhc2VkIGVuY29kZSB0aW1lCgkgIGluIGEgdGVzdCBmcm9tIH4yNCBzIHRvIH4xOSBzLCBzbyB0aGlzIGlzIHF1aXRlIHVzZWZ1bC4KCSAgSWRlYWxseSB3ZSBzaG91bGQgbGV0IDAgYmUgdGhlIGRlZmF1bHQgYW5kIGF1dG9tYXRpY2FsbHkgbWF0Y2ggdGhlIG51bWJlcgoJICBvZiBDUFUgY29yZXMgKG9yIHNvbWV0aGluZykuCgoyMDEwLTA1LTIxIDE1OjE3OjQ2ICswMjAwICBQaGlsaXAgSsOkZ2Vuc3RlZHQgPHBoaWxpcGpAb3BlcmEuY29tPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBhZGQgbW9kZSBwcm9wZXJ0eSB0byBzd2l0Y2ggYmV0d2VlbiBDQlIvVkJSCgkgIEFsd2F5cyB1c2luZyBDQlIgd2hlbiBiaXRyYXRlIGlzIHVzZWQgaXNuJ3QgdGhhdCBncmVhdCwgVkJSIG1vZGUKCSAgY2FuIHByb2R1Y2UgbWVhbmluZ2Z1bCByZXN1bHRzIHRvby4KCjIwMTAtMDUtMjEgMTA6NTQ6NTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBPbmx5IGVuYWJsZSBwb3N0cHJvY2Vzc2luZyBpZiB0aGUgZGVjb2RlciBzdXBwb3J0cyBpdAoKMjAxMC0wNS0yMSAwODoyMzo1OCArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvcGx1Z2luLmM6CgkgIHZwODogdHlwbzogcy9IQVZFX1ZQOF9ERUNPREVSL0hBVkVfVlA4X0VOQ09ERVIvCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjEgMDg6MTM6MDYgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDg6IG1vdmUgI2lmZGVmIEhBVkVfVlA4X0VOQ09ERVIvREVDT0RFUgoJICBPdGhlcndpc2Ugd2UnbGwgdHJ5IGluY2x1ZGluZyBlLmcuIDx2cHgvdnA4Y3guaD4gd2hpY2ggZG9lc24ndCBleGlzdC4KCjIwMTAtMDUtMjAgMTY6NDk6MDMgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZwODogbGluayB3aXRoIC1sbSAtbHB0aHJlYWQgd2hlbiB0ZXN0aW5nIGZvciB2cDggZW5jb2Rlci9kZWNvZGVyCgkgIEZpeHVwIGZvciBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMjA6MDY6MDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBXcml0ZSBHU3RyZWFtZXIgZWxlbWVudCBhbmQgdmVyc2lvbiBpbiB0aGUgdm9yYmlzY29tbWVudCB2ZW5kb3Igc3RyaW5nCgoyMDEwLTA1LTIwIDE2OjQ5OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBPbmx5IGVuYWJsZSB0aGUgZW5jb2RlciBvciBkZWNvZGVyIGlmIGl0J3MgYXZhaWxhYmxlIGluIGxpYnZweAoJICBGaXhlcyBidWcgIzYxOTE3Mi4KCjIwMTAtMDUtMjAgMTA6MTk6NTQgKzAyMDAgIFBoaWxpcCBKw6RnZW5zdGVkdCA8cGhpbGlwakBvcGVyYS5jb20+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L3BsdWdpbi5jOgoJICB2cDg6IGV4bGN1ZGUgZGVjL2VuYyBiYXNlZCBvbiBDT05GSUdfVlA4X0RFQ09ERVIvRU5DT0RFUgoJICBUaGlzIG1heSBub3QgYmUgdmVyeSBhdXRvdG9vbGlzaCwgYnV0IHdvcmtzIHdpdGggbGlidnB4IGluIHRoZSBzdGF0ZQoJICB0aGF0IGxpYnZweCBpcyBhY3R1YWxseSBpbi4gTW92ZWQgdGhlIGRlYnVnIGluaXQgdG8gdGhlIGVsZW1lbnRzCgkgIHRoZW1zZWx2ZXMgdG8gbWluaW1pemUgYW1vdW50IG9mICNpZmRlZnMKCjIwMTAtMDUtMjAgMTU6NTk6NTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBmaXggaHRtbCBpbWFnZSBsb2NhdGlvbiBmb3Igb3V0LW9mLXNvdXJjZSBidWlsZAoKMjAxMC0wNS0yMCAwOToyNDo1MyArMDIwMCAgUGhpbGlwIErDpGdlbnN0ZWR0IDxwaGlsaXBqQG9wZXJhLmNvbT4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogTGltaXQgbWF4LWxhdGVuY3kgdG8gMjUgdG8gbWF0Y2ggbGlidnB4CgkgIEZyb20gbGlidnB4L3ZwOC9lbmNvZGVyL29ueXhfaW50Lmg6CgkgICNkZWZpbmUgTUFYX0xBR19CVUZGRVJTIChDT05GSUdfUkVBTFRJTUVfT05MWT8gMSA6IDI1KQoJICBXaGlsZSB3ZSBkb24ndCBuZWVkIHRvIGJlIHRpZWQgdG8gd2hhdCBsaWJ2cHggZG9lcyBpbnRlcm5hbGx5LCBpdAoJICBkb2Vzbid0IG1ha2Ugc2Vuc2UgdG8gcHJldGVuZCB0byBzdXBwb3J0IGxvbmdlciBmcmFtZSBsYWdzIHRoYW4gYXJlCgkgIGFjdHVhbGx5IHBvc3NpYmxlLgoKMjAxMC0wNS0yMCAwOTo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkgIHZwODogVW5kZWYgSEFWRV9DT05GSUdfSCBiZWZvcmUgaW5jbHVkaW5nIGxpYnZweCBoZWFkZXJzCgkgIEEgcHVibGljIGxpYnZweCBoZWFkZXIgaW5jbHVkZXMgcHJpdmF0ZSBoZWFkZXJzIGlmIHRoaXMgaXMKCSAgZGVmaW5lZCwgY2F1c2luZyBjb21waWxhdGlvbiBmYWlsdXJlcyBiZWNhdXNlIHRoZSBwcml2YXRlIGhlYWRlcnMKCSAgYXJlIG5vdCBpbnN0YWxsZWQgb2YgY291cnNlLgoKMjAxMC0wNS0yMCAwODo1MzoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNvbWUgbW9yZSBtaW5vciBhZGp1c3RtZW50cyBmb3IgdGhlIE9nZyBtYXBwaW5nCgoyMDEwLTA1LTE5IDE3OjEyOjU1IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2F1ZGlvZmlsZS9NYWtlZmlsZS5hbToKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zbmRmaWxlL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FzZm11eC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkgIFNwbGl0IG91dCBHU1RfUExVR0lOU19CQURfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICBNb3ZlIGluY2x1ZGUgZGlyZWN0aXZlcyBmb3IgZ3N0LWxpYnMgaW50byBHU1RfUExVR0lOU19CQURfQ0ZMQUdTLAoJICBhbmQgZml4IGFsbCB0aGUgTWFrZWZpbGVzIHRoYXQgdXNlIGl0LiAgVGhpcyBpcyBzbyB0aGF0IGFsbCB0aGUKCSAgaW5jbHVkZSBkaXJlY3RvcmllcyBhcmUgYWRkZWQgaW4gdGhlIHByb3BlciBvcmRlcjogZmlyc3QgdGhlCgkgIGRpcmVjdG9yaWVzIGluIHNyY2Rpci9idWlsZGRpciwgdGhlbiBnc3QtcGx1Z2lucy1iYXNlIGRpcnMsIHRoZW4KCSAgZ3N0cmVhbWVyIGRpcnMuICBJZiB0aGUgb3JkZXIgaXMgd3JvbmcsIGluc3RhbGxlZCBoZWFkZXJzIG1heSBiZQoJICB1c2VkIGluc3RlYWQgb2YgbG9jYWwgaGVhZGVycyBhbmQvb3IgdW5pbnN0YWxsZWQgaGVhZGVycyBmcm9tIC1iYXNlLgoKMjAxMC0wNS0xOSAyMzowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVhawoKMjAxMC0wNS0xOSAyMTozNDo0MiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkanVzdCBPZ2cgbWFwcGluZyBmb3IgdGhlIGNoYW5nZXMKCjIwMTAtMDUtMTIgMTg6NTA6MzQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBBZGQgVlA4CgoyMDEwLTA1LTE5IDE4OjEyOjE4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQWRkIHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgVlA4IGRlY29kZXIgcG9zdCBwcm9jZXNzaW5nIGZlYXR1cmUKCSAgVGhpcyBpcyBkaXNhYmxlZCBieSBkZWZhdWx0IGZvciBub3cuCgoyMDEwLTA1LTE5IDE3OjE2OjU0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUmVuYW1lIGtleWZyYW1lLWludGVydmFsIHRvIG1heC1rZXlmcmFtZS1kaXN0YW5jZQoJICBBbmQgdXNlIGRlZmF1bHQgc2V0dGluZ3MgZm9yIGJ1ZmZlciBzaXplcyB1bnRpbCB3ZSBleHBvc2UgdGhpcwoJICBzb21laG93LgoKMjAxMC0wNS0xOSAxNzoxMzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L01ha2VmaWxlLmFtOgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJKiBleHQvdnA4L2dzdHZwOHV0aWxzLmM6CgkqIGV4dC92cDgvZ3N0dnA4dXRpbHMuaDoKCSAgdnA4OiBJbXByb3ZlIGVycm9yIGhhbmRsaW5nIGFuZCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDUtMTkgMTQ6NDY6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4OiBVc2UgY29ycmVjdCBzdHJpZGVzIGFuZCBwbGFuZSBvZmZzZXRzIGZvciBHU3RyZWFtZXIKCjIwMTAtMDUtMTggMTQ6NDc6NTQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSAgdnA4ZW5jOiBJbXBsZW1lbnQgR3N0VGFnU2V0dGVyIGludGVyZmFjZQoKMjAxMC0wNS0xOCAxNDozMzo0OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEZpeCBzZXR0aW5nIG9mIHRoZSBrZXlmcmFtZSBmbGFnIG9uIGVuY29kZWQgZnJhbWVzCgoyMDEwLTA1LTE4IDE0OjMwOjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogUG9zdCBhbiBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgaWYgZW5jb2RlciBpbml0aWFsaXphdGlvbiBmYWlscwoKMjAxMC0wNS0xOCAxNDoyODo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBtZW1vcnkgbGVha3MgYW5kIGZhaWwgaWYgaW5pdGlhbGl6aW5nIHRoZSBkZWNvZGVyIGZhaWxzCgoyMDEwLTA1LTE4IDAyOjQ0OjU0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogU2V0IHRpbWViYXNlCgkgIEFsc28gbWlzYyBjbGVhbnVwLgoKMjAxMC0wNS0xNiAxMDozNjoxMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IEZpeCBkZWNvZGluZyBvZiBpbnZpc2libGUgZnJhbWVzCgoyMDEwLTA1LTE0IDE0OjI2OjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogVXBkYXRlIHRoZSBsYXRlbmN5IHdoZW4gaW5pdGlhbGl6aW5nIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTE0IDE0OjAyOjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZGVjLmM6CgkgIHZwOGRlYzogQ29ycmVjdGx5IGluaXRpYWxpemUgc3RyZWFtIGluZm8gYmVmb3JlIHBlZWtpbmcgYXQgdGhlIHN0cmVhbQoJICBPdGhlcndpc2UgcGVla2luZyB3aWxsIGZhaWwgYW5kIHdlJ2xsIGdldCBpbnZhbGlkIHZhbHVlcwoKMjAxMC0wNS0xNCAxMTowMToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGRlYy5jOgoJICB2cDhkZWM6IE1ha2Ugc3VyZSB0byBwYXNzIGEga2V5ZnJhbWUgYXMgZmlyc3QgZnJhbWUgdG8gdGhlIGRlY29kZXIsIGNvcHkgb3V0cHV0IGZyYW1lcyBvbmx5IG9uY2UgYW5kIHJlcXVpcmUgd2lkdGgvaGVpZ2h0L2V0YyBvbiB0aGUgaW5wdXQgY2FwcwoKMjAxMC0wNS0xNCAxMDozMDoxOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IEFkZCBzdXBwb3J0IGZvciBpbnZpc2libGUgZnJhbWVzIGFuZCB0aGUgT2dnIG1hcHBpbmcKCjIwMTAtMDUtMTQgMDE6MTQ6NDYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSAgdnA4ZGVjOiBGaXggcmVzZXQgYWZ0ZXIgc2Vla2luZwoJICBBbHNvIHJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAxMC0wNS0xMyAyMToxOTozMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdnA4L2dzdHZwOGVuYy5jOgoJICB2cDhlbmM6IFNldCBmcmFtZSBudW1iZXJzIGFzIGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTA1LTEzIDIxOjE4OjA4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQWx3YXlzIGdldCBhcyBtYW55IGZyYW1lcyBhcyBwb3NzaWJsZSBmcm9tIHRoZSBlbmNvZGVyCgoyMDEwLTA1LTEzIDIxOjA4OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogRmlsbCB0aGUgb2xkZXN0IHBlbmRpbmcgZnJhbWUgaW5zdGVhZCBvZiB0aGUgbmV3ZXN0CgoyMDEwLTA1LTEzIDIwOjIwOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC92cDgvZ3N0dnA4ZW5jLmM6CgkgIHZwOGVuYzogQ29ycmVjdGx5IHNldCBkZWx0YSB1bml0IGZsYWcgZm9yIG5vbi1rZXlmcmFtZXMKCjIwMTAtMDUtMTMgMDE6MDQ6MDQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvTWFrZWZpbGUuYW06CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5oOgoJKiBleHQvdnA4L2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGV4dC92cDgvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2VuY29kZXIuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuYzoKCSogZXh0L3ZwOC9nc3QvdmlkZW8vZ3N0dmlkZW9jb21wYXQuaDoKCSogZXh0L3ZwOC9nc3R2cDhkZWMuYzoKCSogZXh0L3ZwOC9nc3R2cDhlbmMuYzoKCSogZXh0L3ZwOC9wbHVnaW4uYzoKCSAgdnA4OiBBZGQgZW5jb2Rlci9kZWNvZGVyCgoyMDEwLTA1LTE4IDIxOjMyOjIyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IHdyb25nIHRpbWVzdGFtcHMgaW4gc29tZSBjYXNlcyBhZnRlciBzZWVraW5nLgoJICBSZXNldCAtPmxhc3Rfb3V0YnVmX2R0cyBvbiBmbHVzaC1zdG9wLiBGaXhlcyAjNjE5MDY0LgoKMjAxMC0wNS0xNyAxNjoyNjowMyArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1vcnkgY29ycnVwdGlvbiB3aGVuIHBhcnNpbmcgYWRhcHRhdGlvbiBmaWVsZAoKMjAxMC0wNS0xNyAxMTo1Mjo0NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9wb2x5cC9NYWtlZmlsZS5hbToKCSogZXh0L3BvbHlwL3BsdWdpbi5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgUmVtb3ZlIHVudXNlZCBwb2x5cCBhdWRpbyBwbHVnaW4gY29kZQoJICBwb2x5cGF1ZGlvIHdhcyByZW5hbWVkIHRvIHB1bHNlYXVkaW8gYWdlcyBhZ28uCgkgIEZpeGVzICM2MTg4NjcuCgoyMDEwLTA1LTE1IDE1OjM3OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJICByZXNpbmR2ZDogQ2hlY2sgZm9yIGR2ZG5hdiBhbmQgZHZkcmVhZCBsaWJyYXJpZXMKCjIwMTAtMDUtMTUgMDE6MTg6NTIgKzAyMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGluc3RhbGwgY2FtZXJhYmluIGV4YW1wbGVzCgoyMDEwLTA1LTE1IDAwOjE5OjE3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE4LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDUtMTQgMTg6MzE6NTIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICBkb2NzOiByZW1vdmUgbW9yZSBjcnVmdCByZWxhdGVkIHRvIHBsdWdpbnMgdGhhdCBoYXZlIGJlZW4gbW92ZWQgdG8gLWdvb2QKCjIwMTAtMDUtMTQgMTg6MjU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA0ZDY3YmQ2IHRvIDM1N2IwZGIKCjIwMTAtMDUtMTQgMTY6NTM6MjAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwKCjIwMTAtMDUtMTQgMDE6NTU6NDEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBhZGQgb2xkIHNoYXZlIGZpbGVzIGluIGNvbW1vbiB0byAnY3J1ZnQnIGZpbGVzCgoyMDEwLTA1LTEzIDE0OjQyOjQ4ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBmZXN0aXZhbDogT25seSBjbG9zZSB0aGUgY29ubmVjdGlvbiBpZiBpdCdzIG9wZW5lZAoKMjAxMC0wNS0xMyAxNDo0MTowOCArMDIwMCAgSXZhbiBaZGVyYWRpY2thIDxpdmFuLnpkZXJhZGlja2FAZ21haWwuY29tPgoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgIGZlc3RpdmFsOiBEb24ndCBvcGVuIGFuIGluZmluaXRlIG51bWJlciBvZiBjb25uZWN0aW9ucyB0byB0aGUgc2VydmVyIGFuZCBjbG9zZSBjb25uZWN0aW9ucwoJICBGaXhlcyBidWcgIzYxODUyNy4KCjIwMTAtMDUtMTMgMTI6NTU6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFja3NyYzogbWFrZSBzdXJlIHdlIGFsd2F5cyByZWFkIG5mcmFtZXMKCSAgRXJyb3Igb3V0IHdoZW4gd2UgYXJlIGFza2VkIHRvIHJlYWQgYSBkaWZmZXJlbnQgc2l6ZSB0aGF0IHdoYXQgd2FzIGNvbmZpZ3VyZWQgYXMKCSAgdGhlIGphY2sgcGVyaW9kIHNpemUgYmVjYXVzZSB0aGF0IHdvdWxkIG1lYW4gc29tZXRoaW5nIGVsc2UgaXMgd3JvbmcuCgkgIEZpeGVzICM2MTg0MDkKCjIwMTAtMDUtMTEgMTc6NTY6MzEgLTA0MDAgIFRyaXN0YW4gTWF0dGhld3MgPHRyaXN0YW5Ac2F0LnFjLmNhPgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBqYWNrOiBpbXByb3ZlIHByb2Nlc3NfY2IKCjIwMTAtMDUtMTEgMTM6NTI6NTEgLTA0MDAgIEpvc2h1YSBNLiBEb2UgPGpvc2h1YS5kb2VAdXMuYXJteS5taWw+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5oOgoJICBmcmVpMHI6IEZpeCBzZXR0aW5nIG9mIGJvb2xlYW4gdmFsdWVzCgkgIFNldHRpbmcgYm9vbGVhbiB0eXBlIHBhcmFtZXRlcnMgZnJvbSBnc3QtbGF1bmNoIGZhaWxlZCBiZWNhdXNlIG9mIGltcHJvcGVyIGhhbmRsaW5nIG9mIHR5cGUgY29udmVyc2lvbnMuCgkgIEZpeGVzIGJ1ZyAjNjE4Mzg4LgoKMjAxMC0wNS0xMiAxMzowMDoxNiArMDIwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgVERUIHRhYmxlIGluIG1wZWd0cy4KCSAgU29tZSB0YWJsZXMgaW4gTVBFRy1UUyBkbyBub3QgaGF2ZSBhIGNyYyBpbiB0aGUgc3BlYywgc28gYWxzbyBtcGVndHNwYXJzZQoJICBpcyBub3QgY2FsY3VsYXRpbmcgY3JjIGZvciBzZWN0aW9ucyB3aXRoIHRhYmxlX2lkIDB4NzAgLSAweDcyIGJlY2F1c2UgdGhleQoJICBkbyBub3QgaGF2ZSBhIENSQyBpbiB0aGUgc3BlYy4gU2VlIEVOMzAwNDY4LiBQYXJzZSBUaW1lIGFuZCBEYXRlIHRhYmxlIGFuZAoJICBvdXRwdXQgYnVzIG1lc3NhZ2UuCgoyMDEwLTA1LTExIDE2OjAzOjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBwbzogcmVtb3ZlIG9zczQgc3RyaW5ncwoKMjAxMC0wNS0xMSAxNTozMzo1NCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5pbjoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSogc3lzL29zczQvb3NzNC1hdWRpby5jOgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXItZW51bS5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuaDoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmg6CgkqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkqIHN5cy9vc3M0L29zczQtc291bmRjYXJkLmg6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgUmVtb3ZlIG9zczQgcGx1Z2luCgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE0MzA1LgoKMjAxMC0wNS0xMSAxNDowMjozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbWFnZWZyZWV6ZS54bWw6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgUmVtb3ZlIGltYWdlZnJlZXplIHBsdWdpbi9lbGVtZW50LgoJICBJdCBoYXMgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kLgoJICBTZWUgIzYxMzc4Ni4KCjIwMTAtMDUtMTEgMTM6MTU6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICB0ZXN0czogZG9uJ3QgZmFpbCB0YWdzY2hlY2tpbmcgdGVzdCBpZiBxdGRlbXV4IGlzIG5vdCBhdmFpbGFibGUgb3IgdG9vIG9sZAoKMjAxMC0wNS0xMSAxMzowODo0MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9kZWJ1Z3V0aWxzYmFkLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJICBSZW1vdmUgY2Fwc3NldHRlciBlbGVtZW50CgkgIEl0IGhhcyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdvb2QuCgkgIFNlZSAjNjE3NzM5LgoKMjAxMC0wNS0xMSAxMDowNDo1MCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQ2hlY2sgZm9yIEdUSysgMy4wIGFuZCBpZiBpdCdzIG5vdCBhdmFpbGFibGUgZm9yIEdUSysgMi4wCgoyMDEwLTA1LTExIDEwOjAxOjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgdXNlIGRlcHJlY2F0ZWQgR1RLIHN5bWJvbHMgaW4gdGhlIGRlbW8KCjIwMTAtMDUtMDcgMTk6MTU6MzEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcmUtc2VuZCB0aGUgc2FtZSBldmVudCBtb3JlIHRoYW4gb25jZQoKMjAxMC0wNS0wNyAyMjo1MzoxNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtYWtlIHRoZSBpbnRlbnRpb24gb2YgdGhlIGVsZW1lbnRzIG1vcmUgY2xlYXIKCjIwMTAtMDUtMDcgMTM6NTc6MTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIFJldmVydCAiamlmbXV4OiBNZXJnZSB4bXAgYW5kIHRhZ3NldHRlciB0YWdzLiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0ZTVjNDEyMjM0OTAzMTI2NGJmNDdlNmFmOTMzOGY4YWUwMjM2ZDVmLgoJICBqaWZtdXggc2hvdWxkbid0IGJlIGFibGUgdG8gaGFuZGxlIGppZiBhbmQgc2hvdWxkbid0IGV4cGVjdAoJICBhbnkgeG1wIG9uIGl0cyBkYXRhLiBTbywgbm8gbmVlZCB0byBoYW5kbGUgdGhlbS4KCjIwMTAtMDUtMDcgMTI6NDI6MjMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkgIGppZm11eDogTWVyZ2UgeG1wIGFuZCB0YWdzZXR0ZXIgdGFncy4KCSAgV2hlbiB0aGUgY3VycmVudCBmaWxlIGFscmVhZHkgaGFzIHRhZ3MsIHRoZXkgc2hvdWxkbid0IGJlIGlnbm9yZWQsCgkgIHBhcnNlIHRoZW0gYW5kIG1lcmdlIHdpdGggdGhlIHRhZ3NldHRlciBvbmVzLgoKMjAxMC0wNS0wNyAxMTowNzozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBSZWplY3QgYnVmZmVycyB3aXRob3V0IGNhcHMKCSAgamlmbXV4IGV4cGVjdHMgd2hvbGUganBlZyBwaWN0dXJlcyBpbiBidWZmZXJzLCBzbyBpdCBzaG91bGQKCSAgcmVqZWN0IGJ1ZmZlcnMgd2l0aG91dCBjYXBzLgoKMjAxMC0wNS0wNyAxMDo1OToyMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBCZSBzYWZlIGFuZCBjaGVjayBieXRld3JpdGVyIHJldHVybnMKCSAgQ2hlY2sgR3N0Qnl0ZVdyaXRlciByZXR1cm5zIHRvIGtub3cgd2hlbiByZWNvbWJpbmluZyB0aGUgaW1hZ2UKCSAgZmFpbGVkIGFuZCBsb2cgYSB3YXJuaW5nLgoKMjAxMC0wNS0wNyAxMDoxMzo1NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSAgamlmbXV4OiBBdm9pZCBhZGRpbmcgMiB4bXAgcGFja2V0cwoJICBqaWZtdXggd2FzIG9ubHkgYXBwZW5kaW5nIGEgbmV3IHhtcCBwYWNrZXQgdG8gdGhlIHN0cmVhbSwKCSAgaXQgc2hvdWxkIHJlcGxhY2UgaWYgdGhlcmUgaXMgYWxyZWFkeSBvbmUuCgoyMDEwLTA1LTA3IDEwOjU4OjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmcmVlemUgdG8gcGx1Z2luIGRvY3MKCjIwMTAtMDUtMDcgMDg6MTI6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXhhbXBsZXMvbXB0c190ZXN0Mi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9tcGVndHNtdXgvbXB0c190ZXN0Mi5jOgoJICBtcGVndHNtdXg6IE1vdmUgbXVsdGktcHJvZ3JhbSBtdXhpbmcgZXhhbXBsZSBhdCBsZWFzdCB0byB0aGUgY29ycmVjdCBkaXJlY3RvcnkKCSAgQnV0IGl0IGRvZXNuJ3Qgd29yayBvdXQgb2YgdGhlIGJveCBiZWNhdXNlIG9mIGhhcmRjb2RlZCBwYXRocy4KCjIwMTAtMDUtMDYgMTM6NTE6MjIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltaWM6IFB1c2ggb3V0IG5ld3NlZ21lbnQgZnJvbSBjdXJyZW50IHRpbWVzdGFtcCBpZiB0aGUgaW5jb21pbmcgdHMgaXMgdmFsaWQKCSAgUHVzaCBvdXQgbmV3c2VnbWVudCBldmVudCB3aXRoIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgaW5jb21pbmcgYnVmZmVyIGlmCgkgIHRoZSBpbmNvbWluZyBidWZmZXJzIGhhdmUgYSB2YWxpZCB0aW1lc3RhbXAgYnV0IG5vIHZhbGlkIG5ld3NlZ21lbnQgZXZlbnQKCSAgaGFzIGJlZW4gdGhyb3VnaC4KCjIwMTAtMDUtMDYgMjI6Mzg6MjIgKzEwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQXBwbHkgY2FwcyB0byBnZW5lcmF0ZWQgYnVmZmVycwoJICBBdm9pZCB0aGUgbmV3IHdhcm5pbmcgZnJvbSB0aGUgY29yZSBhYm91dCBub3QgYmVpbmcgYWJsZSB0byBhcHBseSBjYXBzCgkgIHRvIE5BViBwYWNrZXQgYnVmZmVycywgd2hlcmUgcmVzaW5kdmRzcmMgaG9sZHMgYSByZWYuCgoyMDEwLTA1LTA2IDEzOjEyOjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5oOgoJICBjYXBzc2V0dGVyOiBTb21lIG1pbm9yIGNsZWFudXAKCjIwMTAtMDUtMDYgMDk6NTE6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBVc2UgdGhlIGVzY2FwZWQgbG9jYXRpb24gZm9yIHRoZSBSVFNQIHJlZGlyZWN0IG1lc3NhZ2UKCSAgZ3N0X3VyaV9nZXRfbG9jYXRpb24oKSB1bmVzY2FwZXMgdGhlIGxvY2F0aW9uLCB3aGljaCBjb3VsZCByZXN1bHQgaW4KCSAgYW4gaW52YWxpZCBSVFNQIFVSSS4KCjIwMTAtMDUtMDYgMDk6NDg6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBDaGVjayBVUkkgZm9yIHZhbGlkaXR5IGFuZCB3b3JrIGFyb3VuZCBVUkkgcGFyc2luZyBidWdzIGluIGxpYm1tcwoJICBGaXhlcyBidWcgIzYxNzY1MC4KCjIwMTAtMDUtMDYgMDg6MDg6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBTb21lIHJhbmRvbSBjbGVhbnVwCgoyMDEwLTA1LTA1IDEyOjIzOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogU2V0IGZpeGVkIGNhcHMgb24gdGhlIGNvcnJlY3QgcGFkCgkgIFRoaXMgbWFrZXMgdGhlIHNpbmsgZ2V0Y2FwcyBmdW5jdGlvbiBhY3R1YWxseSB1c2VkIGluc3RlYWQgb2YgdXNpbmcKCSAgdGhlIGZpeGVkIGNhcHMgZnVuY3Rpb24gZm9yIGl0LgoKMjAxMC0wNS0wMSAxMjozMTo1MSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgQWRkIG5ldyBjYW1lcmFiaW4gdGVzdCBiaW5hcnkgdG8gLmdpdGlnbm9yZQoKMjAxMC0wNS0wMSAxNTowMDoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuaDoKCSAgdmRwYXU6IGZpeCBzbWFsbCB0eXBvCgoyMDEwLTA1LTAxIDE0OjU4OjMwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmg6CgkgIHZkcGF1OiBhZGQgbGVmdG92ZXIgZ3N0dmRwLmgKCjIwMTAtMDUtMDEgMTQ6NDU6MDQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBjcmFzaGVyIG9uIHNldHRpbmcgcHJvcGVydGllcyBiZWZvcmUgd2UncmUgaW4gUkVBRFkKCjIwMTAtMDQtMjkgMjI6NDM6NTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0c3JjcGFkLmM6CgkgIHZkcGF1OiByZW1vdmUgZGVidWcgY29kZQoKMjAxMC0wNC0yOSAyMjoyNDozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkgIHZkcGF1OiBzbWFsbCBhcGkgY2xlYW51cAoJICBtZXJnZSBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9nZXRfYWxsb3dlZF9bdmlkZW98eXV2XV9jYXBzIGludG8KCSAgZ3N0X3ZkcF92aWRlb19idWZmZXJfZ2V0X2FsbG93ZWRfY2FwcwoKMjAxMC0wNC0yMiAxMjo1NzozMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogc21hbGwgZml4ZXMKCjIwMTAtMDQtMjIgMTI6NTI6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXUuYzoKCSAgdmRwYXU6IGFkZCBiYWNrIGdzdHZkcGF1LmMKCjIwMTAtMDMtMTcgMjE6MDI6MDcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIGdzdF92ZHBfaW5pdCBmdW5jdGlvbiB3aGVyZSB3ZSByZWdpc3RlciB0eXBlcwoKMjAxMC0wMy0xNyAyMDo1OTowOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdTogYWRkIGJldHRlciBlcnJvciBoYW5kbGluZyB0byBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9wdXNoLCBnc3RfdmRwX291dHB1dF9zcmNfcGFkX2FsbG9jX2J1ZmZlciBhbmQKCSAgZ3N0X3ZkcF9vdXRwdXRfc3JjX3BhZF9nZXRfZGV2aWNlIG5vdyB0YWtlIGEgR0Vycm9yIHBhcmFtZXRlciB0byBiZSBhYmxlIHRvCgkgIHNpZ25hbCBlcnJvcnMgdG8gdGhlIGNhbGxlcgoKMjAwOS0xMS0yOCAyMzo1ODo1NyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IG1ha2UgR3N0VmRwVmlkZW9TcmNQYWQoQ2xhc3MpPyBwcml2YXRlCgoyMDA5LTExLTI4IDIzOjU1OjA5ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBmb2xsb3cgR3N0VmRwVmlkZW9TcmNQYWQgY2hhbmdlcwoKMjAwOS0xMS0yOCAyMzo1MjoxNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuaDoKCSAgdmRwYXU6IHJlbW92ZSB0ZW1wbGF0ZS1jYXBzIHByb3BlcnkgZm9ybSBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCBub3cgdXNlIHRoZSB0ZW1wbGF0ZSBwcm9wZXJ0eSBvZiBHc3RQYWQgaW5zdGVhZC4gQWxzbyBjaGFuZ2VkCgkgIHRoZSBfbmV3IGZ1bmN0aW9uIHRvIGJlIGxpa2UgZ3N0X3BhZF9uZXdfZnJvbV90ZW1wbGF0ZS4KCjIwMTAtMDUtMDEgMDE6MTY6NTAgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmM6CgkgIEZpeCB3YXJuaW5ncyBpbiBkaXJlY3RkcmF3c2luayBhbmQgZGlyZWN0c291bmRzcmMKCSAgRml4ZXMgIzYxNzMzMQoKMjAxMC0wNC0zMCAxOTowMzo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucwoKMjAxMC0wNC0yOSAxNjozMzo0NCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBpbXByb3ZlIGJ1ZmZlciBzY2FubmluZwoJICBTcGVjaWZpY2FsbHksIHdoZW4gc2Nhbm5pbmcgZm9yIGVudHJvcHkgZGF0YSBzZWdtZW50IGxlbmd0aCBhbmQgbmVlZGluZwoJICBtb3JlIGRhdGEsIGRvIG5vdCByZXNjYW4gZnJvbSBzdGFydCBuZXh0IHRpbWUgYXJvdW5kLCBidXQgcmVzdW1lIGF0CgkgIGxhc3QgcG9zaXRpb24uCgkgIFNlZSBhbHNvICM1ODMwNDcuCgoyMDEwLTA0LTI3IDEwOjQ4OjMyIC0wNDAwICBUcmlzdGFuIE1hdHRoZXdzIDx0cmlzdGFuQHRyaXN0YW4tbGFwdG9wLihub25lKT4KCgkqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuYzoKCSogZXh0L2phY2svZ3N0amFja3V0aWwuaDoKCSAgamFjazogaW1wbGVtZW50IG11bHRpY2hhbm5lbCBzdXBwb3J0IGNvcnJlY3RseSBmb3IgamFja2F1ZGlvc3JjCgkgIEZpeGVzIHBhcnRzIG9mIGJ1ZyAjNjE2NTQxLgoKMjAxMC0wNC0yOSAxMzoxODo1OCArMDEwMCAgQnJpYW4gQ2FtZXJvbiA8YnJpYW4uY2FtZXJvbkBvcmFjbGUuY29tPgoKCSogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkqIHN5cy9vc3M0L29zczQtc2luay5oOgoJICBvc3M0c2luazogaW1wbGVtZW50IEdzdFN0cmVhbVZvbHVtZSBpbnRlcmZhY2UgYW5kIGFkZCBtdXRlIGFuZCB2b2x1bWUgcHJvcGVydGllcwoJICBPU1M0IHN1cHBvcnRzIHBlci1zdHJlYW0gdm9sdW1lIGNvbnRyb2wsIHNvIGV4cG9zZSB0aGlzIHVzaW5nIHRoZSByaWdodAoJICBBUEksIHNvIHRoYXQgcGxheWJpbjIgYW5kIGFwcGxpY2F0aW9ucyBsaWtlIHRvdGVtIGNhbiBtYWtlIHVzZSBvZiBpdAoJICAoaW5zdGVhZCBvZiB1c2luZyBhIHZvbHVtZSBlbGVtZW50IGZvciB2b2x1bWUgY29udHJvbCkuCgkgIEZpeGVzICM2MTQzMDUuCgoyMDEwLTA0LTI5IDA0OjQyOjIxICswNDAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJKiBzeXMvd2luaW5ldC9nc3R3aW5pbmV0c3JjLmM6CgkgIEZpeCBwcmludGYgZm9ybWF0IHN0cmluZ3MgZm9yIGdjYyA0LjUKCSAgRG9uZSBvbiBXaW5kb3dzL01pbkdXLgoJICBGaXhlcyAjNjE3MTQ2CgoyMDEwLTA0LTI3IDExOjIxOjE2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrcmluZ2J1ZmZlci5oOgoJICBqYWNrOiByZW1vdmUgZW1wdHkgZGlzcG9zZSBhbmQgZmluYWxpemUgbWV0aG9kcwoKMjAxMC0wNC0yNyAxMDo1OTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogZG9uJ3QgbGVhayBjYXBzCgkgIEFkZCBkaXNwb3NlIG1ldGhvZHMgdG8gY2xlYXIgY2Fwcy4KCjIwMTAtMDQtMjcgMTA6MzQ6MjQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIGphY2s6IGRvbid0IHVzZSBHU1RfREVCVUdfRlVOQ1BUUiBmb3IgZ29iamVjdCB2bWV0aG9kcwoKMjAxMC0wNC0yNiAxNTowNjowOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhLGx2MjogZG9uJ3QgZmFpbCBpbiBwbHVnaW5faW5pdCB3aGVuIGhhdmluZyAwIGVsZW1lbnRzCgkgIElmIHdlIGZhaWwsIHRoZSBwbHVnaW4gc2Nhbm5lciB3aWxsIGJsYWNrbGlzdCB1cy4KCjIwMTAtMDQtMjMgMTQ6NDE6MTcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmYzg1ODY3IHRvIDRkNjdiZDYKCjIwMTAtMDQtMjAgMTY6NTg6MzMgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgbWVhbmluZ2Z1bCBuYW1lcyBmb3IgcXVldWUgZWxlbWVudHMgaW5zaWRlIGNhbWVyYWJpbgoKMjAxMC0wNC0yMCAxNTozNzowMyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGFsc28gc2V0IHNob3J0IGNvbmZpZ3VyYXRpb24gZGF0YSBpbiBjb2RlY19kYXRhCgkgIFRoYXQgaXMsIGhlYWRlciBjb25maWd1cmF0aW9uIG1heSBzdGFydCBhdCBWaWRlbyBPYmplY3QgKHN0YXJ0Y29kZSksCgkgIHJhdGhlciB0aGFuIGF0IFZpc3VhbCBPYmplY3QgU2VxdWVuY2UsIHdoaWNoIGlzIGNhdGVyZWQgZm9yIGFuZCBwYXJzZWQsCgkgIHNvIGxldCdzIGFsc28gdGFrZSBpdCBhcyBjb2RlY19kYXRhIGlmIG5vIG1vcmUgYXZhaWxhYmxlLgoJICBGaXhlcyAocmVtYWluZGVyIG9mKSAjNTcyNTUxLgoKMjAxMC0wNC0xOSAxOTowNDoyNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEF2b2lkIGNyYXNoaW5nIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwKCSAgQXZvaWQgc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUgYmVjYXVzZSB0aGUgc291cmNlIGlzIG5vdAoJICBzZXQgeWV0IGFuZCB0aGlzIGxlYWRzIHRvIGEgY3Jhc2guIEl0IGlzIHNldCBvbiBSRUFEWSA+IFBBVVNFRAoJICBhbnl3YXkuCgoyMDEwLTA0LTE4IDE0OjUxOjM1ICswNTMwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBFeHBvcnQgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcwoJICBUaGlzIGV4cG9ydHMgcHJvZmlsZSBhbmQgbGV2ZWwgaW4gY2FwcyBmb3IgTVBFRyAyIHN0cmVhbXMuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTYwNzgKCjIwMTAtMDQtMTYgMTk6NDU6MTYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZWZzLmg6CgkgIHJlc2luZHZkYmluOiBVc2UgR1NUX0ZMT1dfQ1VTVE9NX1NVQ0NFU1MgaW5zdGVhZCBvZiBzb21lIGludGVnZXIKCSAgRml4ZXMgY29tcGlsZXIgd2FybmluZ3Mgd2l0aCBnY2MgNC41LgoJICBUaGlzIGlzIHRoZSBzYW1lIGFzIGNvbW1pdCA1YTUxZGJkLgoKMjAxMC0wNC0xNiAxOTo0Mzo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZWZzLmg6CgkgIG1wZWdkZW11eDogVXNlIEdTVF9GTE9XX0NVU1RPTV9TVUNDRVNTIGluc3RlYWQgb2Ygc29tZSBpbnRlZ2VyCgkgIEZpeGVzIGNvbXBpbGVyIHdhcm5pbmcgd2l0aCBnY2MgNC41LgoKMjAxMC0wNC0xNiAxOTo0MjowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgIm1wZWdwc2RlbXV4OiBXb3JrYXJvdW5kIG5ldyBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmciCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgYTMzMTIyOGVjY2ZiOGM2NjQ5M2ZhM2M4YzQ5MzM4Yzc5Y2Y0NjQyYy4KCjIwMTAtMDQtMTYgMTk6NDE6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICBSZXZlcnQgInJlc2luZHZkYmluOiBBcHBseSBnY2MgNC41IGNvbXBpbGVyIHdhcm5pbmcgd29ya2Fyb3VuZCB0byB0aGUgbXBlZ3BzZGVtdXggY29weSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWIwZjc1ZDFiMzExOTMxNmIyZGNhZjViZmY0ZGZkMmJkODI0Y2MxLgoKMjAxMC0wNC0xNSAyMTo0NDoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBBbm90aGVyIHdvcmthcm91bmQgZm9yIGVudW0gdmFsdWVzIHRoYXQgYXJlIG5vdCBhY3R1YWxseSBtZW1iZXIgb2YgdGhlIGVudW0KCjIwMTAtMDQtMTUgMjE6NDA6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZGJpbjogQXBwbHkgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nIHdvcmthcm91bmQgdG8gdGhlIG1wZWdwc2RlbXV4IGNvcHkKCSAgU2FtZSBhcyBhMzMxMjI4ZWNjZmI4YzY2NDkzZmEzYzhjNDkzMzhjNzljZjQ2NDJjLgoKMjAxMC0wNC0xNSAyMTozODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdTogSW5pdGlhbGl6ZSBwb3NzaWJseSB1bmluaXRpYWxpemVkIHZhcmlhYmxlCgoyMDEwLTA0LTE1IDIxOjM1OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWN0dWFsbHkgY29tcGFyZSB0aGUgc3RhdGUgYW5kIG5vdCB0aGUgc3RhdGUgY2hhbmdlIHJldHVybiBmcm9tIF9nZXRfc3RhdGUoKQoKMjAxMC0wNC0xNSAyMToyNjo0NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogV29ya2Fyb3VuZCBuZXcgZ2NjIDQuNSBjb21waWxlciB3YXJuaW5nCgkgIGdjYyA0LjUgd2FybnMgd2hlbiBjb21wYXJpbmcgc29tZSBpbnRlZ2VyIHdpdGggYW4gZW51bSB2YWx1ZSwgaW4KCSAgdGhlIGNhc2Ugb2YgR3N0Rmxvd1JldHVybiB0aGlzIGlzIHZhbGlkIHRob3VnaC4gV2Ugc2hvdWxkIGxhdGVyCgkgIGFkZCBHU1RfRkxPV19DVVNUT01fT0sxLCBHU1RfRkxPV19DVVNUT01fT0syLCBldGMuIGFmdGVyIG5ldyBjb3JlCgkgIGlzIHJlbGVhc2VkLgoKMjAxMC0wNC0xNSAyMDo1MDo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IENvbXBhcmUgdGhlIGNvcnJlY3QgdmFyaWFibGUgdG8gR1NUX1NFRUtfVFlQRV9TRVQKCjIwMTAtMDQtMTUgMDc6MjQ6MTYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IERyb3AgLVdjYXN0LWFsaWduCgkgIENvbW1pdCBtZXNzYWdlIGNvcGllZCBmcm9tIGNvcmUncyBjb21taXQgZnJvbSBCZW5qYW1pbiBPdHRlOgoJICAyNDZmNWRiYTk2YTViNTBiYjc0NjIxYWY2N2IzMDk0MmNjYTcyYWY1CgkgIEFwcGFyZW50bHkgZ2NjIHdhcm5zIHRoYXQgR3N0TWluaU9iamVjdCBpcyBub3QgY2FzdGFibGUgdG8KCSAgR3N0RXZlbnQvTWVzc2FnZS9CdWZmZXIgZHVlIHRvIHRoZW0gY29udGFpbmluZyA2NGJpdCB2YXJpYWJsZXMsIGV2ZW4KCSAgdGhvdWdoIEFSTSBoYWNrZXJzIGNsYWltIHRoYXQgdGhvc2Ugb25seSBuZWVkIDRieXRlIGFsaWdubWVudC4gQW5kIGFzCgkgIGxvbmcgYXMgZ2NjIGJlaGF2ZXMgdGhhdCB3YXksIHRoaXMgd2FybmluZyBpcyBub3QgdmVyeSB1c2VmdWwuCgkgIFNvIHdlJ2xsIHJlbW92ZSB0aGUgd2FybmluZyB1bnRpbCB0aGlzIHByb2JsZW0gaXMgZml4ZWQuCgkgIEZpeGVzICM2MTU2OTgKCjIwMTAtMDQtMTUgMTM6MjA6NDIgKzAzMDAgIEFkYW0gRW5kcm9kaSA8YWRhbS5lbmRyb2RpQGJsdW1zb2Z0LmV1PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiByZXNldCBzb2Z0d2FyZSB6b29taW5nIGlmIG5vdCBzZXQgYnkgdGhlIHBob3RvIGludGVyZmFjZQoJICBPdGhlcndpc2UgYm90aCBzb2Z0d2FyZSAodmlkZW9zY2FsK3ZpZGVvY3JvcCkgYW5kIGhhcmR3YXJlIHpvb21pbmcgd291bGQgYmUgdXNlZC4KCjIwMTAtMDQtMTQgMTY6NDI6NTcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBGaXggdXAgZWxlbWVudCBkZXRhaWxzCgoyMDEwLTA0LTE0IDE2OjMyOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHRvb2xzL01ha2VmaWxlLmFtOgoJKiB0b29scy9iYXNlLmM6CgkqIHRvb2xzL2VsZW1lbnQtbWFrZXI6CgkqIHRvb2xzL2dvYmplY3QuYzoKCSogdG9vbHMvZ3N0YXVkaW9maWx0ZXIuYzoKCSogdG9vbHMvZ3N0YXVkaW9zaW5rLmM6CgkqIHRvb2xzL2dzdGF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VhdWRpb3NpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZWF1ZGlvc3JjLmM6CgkqIHRvb2xzL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSogdG9vbHMvZ3N0YmFzZXNpbmsuYzoKCSogdG9vbHMvZ3N0YmFzZXNyYy5jOgoJKiB0b29scy9nc3RiYXNldHJhbnNmb3JtLmM6CgkqIHRvb2xzL2dzdGNkZGFiYXNlc3JjLmM6CgkqIHRvb2xzL2dzdGVsZW1lbnQuYzoKCSogdG9vbHMvZ3N0cHVzaHNyYy5jOgoJKiB0b29scy9nc3R0YWdkZW11eC5jOgoJKiB0b29scy9nc3R2aWRlb3NpbmsuYzoKCSAgdG9vbHM6IEFkZCBlbGVtZW50LW1ha2VyCgkgIEFkZCBhIHNjcmlwdCB0aGF0IGNyZWF0ZXMgZWxlbWVudHMgYmFzZWQgb24gYW55IG9mIHRoZSBHU3RyZWFtZXIKCSAgYmFzZSBjbGFzc2VzLiAgSXQgaXNuJ3QgdmVyeSB1c2VyIGZyaWVuZGx5IGF0IHRoZSBtb21lbnQsIG9uZQoJICBuZWVkcyB0byBlZGl0IHRoZSBzY3JpcHQgdG8gbWFrZSBpdCB3b3JrIHByb3Blcmx5LiAgRWFjaCBiYXNlIGNsYXNzCgkgIGhhcyBhIHRlbXBsYXRlIGZpbGUgZGVzY3JpYmluZyB3aGF0IHRvIHB1dCBpbnRvIHRoZSBjb25zdHJ1Y3RlZAoJICBlbGVtZW50LiAgRXZlbnR1YWxseSwgdGhlc2UgdGVtcGxhdGVzIHNob3VsZCBiZSBtb3ZlZCB0byByZXNpZGUKCSAgd2l0aCB0aGUgYmFzZSBjbGFzcyBzb3VyY2UgYW5kIGluc3RhbGxlZCB0byBhIHdlbGwta25vd24gZGlyZWN0b3J5LAoJICB3aGVyZSBhbiBpbnN0YWxsZWQgc2NyaXB0IGNvdWxkIGZpbmQgdGhlbS4KCSAgVGhlIHRlbXBsYXRlIGZpbGVzIHVzZSB0aGUgLmMgZW5kaW5nIHNvIGVkaXRvcnMga25vdyB0aGV5IGFyZSBDCgkgIHNvdXJjZSwgYnV0IGdzdC1pbmRlbnQgZG9lc24ndCBoYW5kbGUgdGhlbSBjb3JyZWN0bHkuICBTbyB0aGV5CgkgIG5lZWQgdG8gYmUgY29tbWl0dGVkIHdpdGggLW4uICBVZ2guICBJJ2xsIHRyeSB0byBmaWd1cmUgb3V0IGEgZml4CgkgIGZvciB0aGF0IHNvb24uCgoyMDEwLTA0LTEzIDIwOjMyOjUwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IEFkZCB2aWRlby1jYXB0dXJlLXdpZHRoL2hlaWdodC9mcmFtZXJhdGUgcHJvcGVydGllcwoJICBBZGRzIHZpZGVvLWNhcHR1cmUtd2lkdGgsIHZpZGVvLWNhcHR1cmUtaGVpZ2h0IGFuZAoJICB2aWRlby1jYXB0dXJlLWZyYW1lcmF0ZSBwcm9wZXJ0aWVzIHRvIGFsbG93IGFwcGxpY2F0aW9ucyB0bwoJICBnZXQvc2V0IHRob3NlIHZhbHVlcy4gR2V0dGluZyB3YXMgbm90IHBvc3NpYmxlIGJlZm9yZSB0aGlzIHBhdGNoLAoJICBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZSBzZXQtdmlkZW8tcmVzb2x1dGlvbi1mcHMKCSAgYWN0aW9uLCB3aGljaCBzZXRzIHRoZSBwcm9wZXJ0aWVzIGFuZCBwcm9tcHRseSByZXNldHMgdGhlCgkgIHZpZGVvIHNvdXJjZSB0byB1c2UgdGhlbS4KCSAgRml4ZXMgIzYxNDk1OAoKMjAxMC0wNC0xMyAxODozMzo0MCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkcyBpbWFnZS1jYXB0dXJlLXdpZHRoL2hlaWdodCBwcm9wZXJ0aWVzCgkgIEFkZHMgaW1hZ2UtY2FwdHVyZS13aWR0aCBhbmQgaW1hZ2UtY2FwdHVyZS1oZWlnaHQgcHJvcGVydGllcwoJICB0byBjYW1lcmFiaW4sIGFsbG93aW5nIHRoZSB1c2VyIHRvIGdldC9zZXQgdGhlbS4gR2V0dGluZyB3YXMKCSAgbm90IHBvc3NpYmxlIGJlZm9yZSBhbmQgc2V0dGluZyB3YXMgZG9uZSB0aHJvdWdoIHRoZQoJICBzZXQtaW1hZ2UtcmVzb2x1dGlvbiBhY3Rpb24sIHdoaWNoIHNob3VsZG4ndCBub3cganVzdCBzZXQKCSAgdGhlIHByb3BlcnRpZXMuCgkgIEZpeGVzICM2MTQ5NTgKCjIwMTAtMDQtMTMgMTU6NTk6MDQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwaG90b2dyYXBoeTogU3ByaW5nIEdfUEFSQU1fU1RBVElDX1NUUklOR1MKCSAgU3ByaW5rbGUgc29tZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIG92ZXIgdGhlIHByb3BlcnRpZXMKCSAgaW4gR3N0UGhvdG9ncmFwaHkgaW50ZXJmYWNlIGFuZCBpbiBjYW1lcmFiaW4KCjIwMTAtMDMtMDIgMTQ6MDQ6NDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIGJsb2NrLWFmdGVyLWNhcHR1cmUgcHJvcGVydHkgZm9yIHZpZXdmaW5kZXIgYmxvY2tpbmcKCSAgQWRkcyBibG9jay1hZnRlci1jYXB0dXJlIHByb3BlcnR5IHRvIGJsb2NrIHJ1bm5pbmcgdmlld2ZpbmRlciBhZnRlciBjYXB0dXJpbmcuCgkgIFRoaXMgcHJvcGVydHkgaXMgdXNlZnVsIGlmIGFwcGxpY2F0aW9uIHdhbnRzIHRvIGRpc3BsYXkgY2FwdHVyZSBwcmV2aWV3IGFuZCBhdm9pZAoJICBydW5uaW5nIHZpZXdmaW5kZXIgb24gYmFja2dyb3VuZC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieSBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoyMDEwLTAyLTA5IDE0OjUyOjQ5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYWJpbi10ZXN0LmM6CgkgIGV4YW1wbGVzOiBjYW1lcmFiaW46IGFkZCB2aWV3ZmluZGVyLWZpbHRlciBhbmQgZmlsdGVyIGNhcHMgcHJvcGVydGllcwoJICBBZGRzIHN1cHBvcnQgZm9yIHNldHRpbmcgZmlsdGVyLWNhcHMgYW5kIHZpZXdmaW5kZXItZmlsdGVyCgkgIHByb3BlcnRpZXMgaW4gdGhlIGdzdC1jYW1lcmFiaW4tdGVzdCBhcHBsaWNhdGlvbgoKMjAxMC0wMS0yNiAxNToxODoyNCArMDIwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBHc3RQaG90b2dyYXBoeTogQWRkIGZsaWNrZXIgYW5kIGZvY3VzIG1vZGUgc2V0dGluZ3MgdG8gcGhvdG9ncmFwaHkgQVBJCgkgIEFkZHMgZmxpY2tlciBhbmQgZm9jdXMgbW9kZSBzZXR0aW5ncyB0byBwaG90b2dyYXBoeSBBUEkgYW5kIGFsc28KCSAgaW1wbGVtZW50IGl0IGluIGNhbWVyYWJpbi4KCjIwMDktMTEtMjYgMTI6MTI6MDYgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhYmluLXRlc3QuYzoKCSAgY2FtZXJhYmluOiBhZGQgZ3N0LWNhbWVyYWJpbi10ZXN0IGNvbW1hbmQgbGluZSB0ZXN0IHRvb2wKCSAgZ3N0LWNhbWVyYWJpbi10ZXN0IHRvb2wgY2FuIGJlIHVzZWQgdG8gY2FwdHVyZSBzdGlsbCBpbWFnZXMgYW5kCgkgIHZpZGVvIGNsaXBzIHVzaW5nIGNhbWVyYWJpbiBlbGVtZW50LgoKMjAwOS0xMS0xNiAxNTowMjowMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkbyBub3Qgc2V0IGltYWdlYmluIHNpbmtwYWQgdHdpY2UKCSAgSWYgd2UgYWxyZWFkeSBoYXZlIGEgc2lua3BhZCwgZG8gbm90IGdldCBhIG5ldyBvbmUKCjIwMDktMTEtMTYgMTU6MTM6MzEgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgdW5pdCB0ZXN0cwoJICBBZGQgdGVzdGluZyBvZiBzZXR0aW5nIGFuZCBnZXR0aW5nIG9mIGNhbWVyYWJpbiBwcm9wZXJ0eSBlbGVtZW50cyBhbmQKCSAgYWRkIHBvc3QtcHJvY2Vzc2luZyBlbGVtZW50cyB0byBwaXBlbGluZS4KCjIwMDktMTEtMTMgMTY6NDI6NDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhZGQgdW5pdCB0ZXN0cyBmb3Igc2V0dGluZyBkaWZmZXJlbnQgZmxhZ3Mgd2hlbiBjYXB0dXJpbmcKCSAgQWRkcyBzb21lIHRlc3RzIHRoYXQgdXNlIGZsYWdzIGZvciBjYXB0dXJpbmcgdG8gYXN1cmUgaXQgd29ya3MKCSAgd2l0aCBmbGFncyBzZXQgb3Igbm90LgoKMjAwOS0xMC0yOCAxNzozNzo1NiArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGFkZCBwYXVzZWQgdmlkZW8gY2FwdHVyZSBmaWxlIHZhbGlkaXR5IGNoZWNrIGluIHVuaXQgdGVzdAoJICBBbHNvIGNoZWNrIHRoYXQgdGhlIGZpbGUgY2FwdHVyZWQgaW4gdGhlIHBhdXNlZCBjYXB0dXJlIHVuaXQgdGVzdCBpcwoJICBwbGF5YWJsZS4KCjIwMDktMTAtMTkgMTQ6MzE6NTQgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWRkIHZpZXdmaW5kZXItZmlsdGVyIHByb3BlcnR5CgkgIEFkZHMgYSBuZXcgcHJvcGVydHkgY2FsbGVkIHZpZXdmaW5kZXItZmlsdGVyIHRvIGNhbWVyYWJpbi4KCSAgVGhpcyBwcm9wZXJ0eSBpcyB1c2VkIHRvIGFkZCBhIGZpbHRlciB0byBwcm9jZXNzIHRoZSB2aWRlbwoJICBmbG93IHJpZ2h0IGJlZm9yZSB0aGUgdmlld2ZpbmRlciBzaW5rLgoJICBBbHNvIHVwZGF0ZXMgdGVzdCB0byBjaGVjayBwcm9wZXJ0eSBleGlzdHMuCgoyMDA5LTEwLTIxIDE4OjAyOjI3ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzZXQgdmlkZW90ZXN0c3JjIHBhdHRlcm4gdG8gd2hpdGUgaW4gdW5pdCB0ZXN0CgkgIExvd2VyIGNvbXBsZXhpdHkgb2YgZW5jb2RpbmcgYW5kIHZpZGVvdGVzdHNyYyByZWRyYXdpbmcgaW4gb3JkZXIKCSAgdG8gcHJldmVudCB1bml0IHRlc3QgdGltZW91dHMuCgoyMDA5LTEwLTE0IDE0OjAxOjM0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHByb3h5IHZpZGVvIHNvdXJjZSBwaG90b2dyYXBoeSBpbnRlcmZhY2UgcHJvcGVydHkgbm90aWZ5IHNpZ25hbHMKCSAgSWYgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIHByb3BlcnRpZXMgY2hhbmdlIGluIHZpZGVvIHNvdXJjZSwgbm90aWZ5IHRoZQoJICBhcHBsaWNhdGlvbiBieSBlbWl0dGluZyBub3RpZnkgZm9yIHJlc3BlY3RpdmUgY2FtZXJhYmluIHByb3BlcnRpZXMuCgoyMDA5LTEwLTE0IDE0OjQyOjAxICswMzAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogTmV3IHVuaXQgdGVzdHMKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGNhbWVyYWJpbiBwcm9wZXJ0aWVzIHNldHRpbmcgYW5kIGdldHRpbmcsCgkgIGFkZHMgb25lIGZvciB2aWRlbyBjYXB0dXJpbmcgd2l0aCBwYXVzZS4KCSAgQWxzbyBkb2VzIHNvbWUgYzk5IHZhcmlhYmxlIGRlY2xhcmF0aW9uIGZpeGVzLgoKMjAwOS0xMC0xNCAxNDowMTowNSArMDMwMCAgU2hlbmdodWEgTGl1IDxFWFQtTGl1LnNoZW5naHVhQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSB1bml0IHRlc3QgdG8gaGF2ZSB0ZXN0IG9uIHJlY29yZGluZyBzbmFwc2hvdCBwcmV2aWV3CgkgIEFkZHMgYSBzbWFsbCBjaGVjayB0byB2ZXJpZnkgdGhhdCB0aGUgcHJldmlldyBpbWFnZSBtZXNzYWdlIGlzCgkgIGJlaW5nIHNlbnQgb24gdmlkZW8gcmVjb3JkaW5nLgoKMjAwOS0wOS0yMSAxNzo0NzoyMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tZW51bS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWRkIGFwaSB0byBxdWVyeSBzdXBwb3J0ZWQgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uCgkgIEFkZHMgbmV3IHByb3BlcnR5ICdpbWFnZS1jYXB0dXJlLXN1cHBvcnRlZC1jYXBzJyB0byBHc3RQaG90b2dyYXBoeQoJICB0byBxdWVyeSB0aGUgc3VwcG9ydGVkIGltYWdlIGNhcHR1cmUgY2Fwcy4KCSAgQWxzbyBpbXBsZW1lbnQgaXQgaW4gY2FtZXJhYmluLgoKMjAwOS0wNy0wMiAxODowMzo1NyArMDMwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiByZW5hbWUgZnVuY3Rpb24gYW5kIHZhcmlhYmxlIG5hbWVzLCB1cGRhdGUgZG9jdW1lbnRhdGlvbgoJICBHZXQgcmlkIG9mIHVzZXJfKiBwcmVmaXggaW50ZXJuYWxseSwgdXNlIGFwcF8qIGluc3RlYWQuCgoyMDA5LTA5LTE2IDE1OjExOjQ5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogYWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkKCSAgQWRkIHZpZGVvLXNvdXJjZS1maWx0ZXIgcHJvcGVydHkgdGhhdCBjYW4gYmUgdXNlZCB0byBpbmplY3QgYXBwbGljYXRpb24KCSAgc3BlY2lmaWMgZ3N0cmVhbWVyIGVsZW1lbnQgdG8gY2FtZXJhYmluIHBpcGVsaW5lLiBUaGUgdmlkZW8tc291cmNlLWZpbHRlcgoJICBlbGVtZW50IHdpbGwgcHJvY2VzcyBhbGwgZnJhbWVzIGNvbWluZyBmcm9tIHZpZGVvIHNvdXJjZS4KCSAgT25lIGNvdWxkIGFkZCBpbWFnZSBhbmFseXplcnMgdG8gY29sbGVjdCBpbmZvcm1hdGlvbiBhYm91dCB0aGUgc3RyZWFtLAoJICBvciBhZGQgaW1hZ2UgZW5oYW5jZXJzIHRvIGltcHJvdmUgY2FwdHVyZSBxdWFsaXR5LCBmb3IgZXhhbXBsZS4KCjIwMTAtMDQtMTIgMTg6MDc6MjkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZS5jOgoJICBjaGVjazogRG9uJ3QgcmUtZGVjbGFyZSAnR0xpc3QgKmJ1ZmZlcnMnIGluIHRoZSB0ZXN0cwoJICBJdCdzIGFuIGV4dGVybmFsIHdoaWNoIGxpdmVzIGluIGdzdGNoZWNrLmMuIFJlZGVjbGFyaW5nIGl0IG1ha2VzIHNvbWUKCSAgY29tcGlsZXJzL2FyY2hpdGVjdHVyZXMgdGhpbmsgdGhlICdidWZmZXJzJyBpbiB0aGUgaW5kaXZpZHVhbCB0ZXN0cyBhcmUKCSAgYSBkaWZmZXJlbnQgc3ltYm9sLi4uIGFuZCB0aGVyZWZvcmUgd2UgZW5kIHVwIGNvbXBhcmluZyBob2xvZGVja3Mgd2l0aAoJICBvcmFuZ2VzLgoKMjAxMC0wMi0xOCAxODoxOTo1MCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCB0cnkgYWRhcHRpbmcgaW1hZ2UgY2FwdHVyZSByZXNvbHV0aW9uIGlmIG5vIHNvdXJjZS1yZXNpemUgZmxhZwoJICBJZiBzb3VyY2UtcmVzaXplIGZsYWcgaXMgZGlzYWJsZWQgdGhlbiBzZXQgcmVzb2x1dGlvbiB0byBpbWFnZSBjYXB0dXJlIGNhcHMKCSAgYWNjb3JkaW5nIHRvIGNhcHR1cmUgcmVzb2x1dGlvbiB2aWRlbyBzb3VyY2UgZWxlbWVudCBwcm9kdWNlcy4gT3RoZXJ3aXNlIHdlCgkgIHdyaXRlIHdyb25nIHJlc29sdXRpb24gdG8gaW1hZ2UgbWV0YWRhdGEuCgoyMDEwLTAxLTA1IDE1OjEzOjAyICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IEZpeCBjYXB0dXJpbmcgZmxhZyBoYW5kbGluZyBhZnRlciBpbWFnZSBoYXMgYmVlbiBjYXB0dXJlZAoJICBNYWtlIHN1cmUgY2FwdHVyaW5nIGZsYWcgaXMgdW5zZXQgYW5kIGltYWdlLWNhcHR1cmVkIG1lc3NhZ2UgaXMgc2VudAoJICBiZWZvcmUgc2VuZGluZyBlb3MgZXZlbnQgdG8gaW1hZ2UgYmluIGFuZCBzYXZpbmcgdGhlIGltYWdlIHRvIGEgZmlsZS4KCjIwMDktMTEtMDQgMTM6MjQ6MTMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IHNldHRpbmcgZmlsdGVyLWNhcHMgcHJvcGVydHkgaW4gTlVMTCBzdGF0ZQoJICBTcGxpdCBfc2V0X2NhcHNmaWx0ZXJfY2FwcygpIGludG8gdHdvIHBhcnRzIHNvIHRoYXQgd2UgY2FuIGNhbGwgb25lIHBhcnQKCSAgcmVnYXJkbGVzcyBvZiB0aGUgZWxlbWVudCBzdGF0ZS4KCjIwMDktMDktMTEgMDk6Mzg6NTEgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBpbWFnZSBkb25lIHNpZ25hbCBlbWlzc2lvbgoJICBVc2UgZ19pZGxlX2FkZF9mdWxsKCkgd2l0aCBHX1BSSU9SSVRZX0hJR0ggdG8gZW1pdCBpbWFnZSBkb25lIHNpZ25hbCwKCSAgZ19pZGxlX2FkZCgpIGlzIG1vcmUgbGlrZWx5IHRvIHN0YXJ2ZSB3aXRoIGhpZ2hlciBwcmlvcml0eSBldmVudHMuCgoyMDEwLTA0LTEyIDEyOjQyOjA2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlbW92ZSAtV3VuZGVmIGZsYWcKCSAgU2FtZSBmaXggYXMgZm9yICM2MTUxNjEKCjIwMTAtMDQtMTIgMDk6MTY6MTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogQ29ycmVjdGx5IGxpbmsgdG8gdGhlIGxvY2FsIGxpYmdzdHZkcC0wLjEwIGJ5IHVzaW5nIHRoZSBsaWJ0b29sIGFyY2hpdmUKCjIwMTAtMDQtMDkgMDk6MTQ6MDIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBjYW1lcmFiaW46IGVuYWJsZSBjYW1lcmFiaW4gdGVzdHMKCSAgUmUtZW5hYmxpbmcgY2FtZXJhYmluIHRlc3RzLCB0aGV5IGFyZSBwYXNzaW5nLgoKMjAxMC0wNC0wOSAxMToyMjo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGZkZjAyM2QgdG8gZmM4NTg2NwoKMjAxMC0wNC0wOCAxMjowMDoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogRml4IGNvbXBpbGF0aW9uIGVycm9yIG9uIG1hY29zeAoKMjAxMC0wNC0wOCAxMDo0NTozMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IDgtYml0IFBDTSBhdWRpbyBjYXBzIGRvbid0IG5lZWQgYW4gZW5kaWFubmVzcyBmaWVsZAoKMjAxMC0wNC0wOCAxMDo0MDowMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGRvbid0IGl0ZXJhdGUgdGhlIGZvcm1hdHMgdGFibGUgdHdpY2UgZm9yIGVhY2ggZW50cnkKCSAgV2hlbiBpdGVyYXRpbmcgdGhlIGZvcm1hdHMgdGFibGUsIHdlIGNhbiBqdXN0IHBhc3MgdGhlIHdob2xlCgkgIGVudHJ5IHRvIG91ciBoZWxwZXIgZnVuY3Rpb24sIHdoaWNoIGF2b2lkcyBpdGVyYXRpbmcgdGhlIHRhYmxlCgkgIGFnYWluIHRvIGZpbmQgdGhlIGVudHJ5IHN0cnVjdHVyZSBmcm9tIHRoZSBwYXNzZWQgZm9ybWF0IGlkLgoKMjAxMC0wMy0zMCAxMTo0MzowNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmM6CgkgIG9zczQ6IGFsc28gYWNjZXB0IGZvcm1hdHMgbm90IG5hdGl2ZWx5IHN1cHBvcnRlZAoJICBBbHNvIGFjY2VwdCBmb3JtYXRzIHRoYXQgYXJlIG5vdCBuYXRpdmVseSBzdXBwb3J0ZWQgYnkgdGhlCgkgIGhhcmR3YXJlLCBPU1M0IGNhbiBjb252ZXJ0IHRoZW0gaW50ZXJuYWxseS4gTGlzdCB0aGUgbmF0aXZlCgkgIGZvcm1hdHMgZmlyc3QgaW4gdGhlIGNhcHMgdGhvdWdoLCB0byBleHByZXNzIG91ciBwcmVmZXJlbmNlCgkgIGZvciB0aGUgbmF0aXZlIGZvcm1hdHMuIFdlIG5lZWQgdGhpcyBpbiBvcmRlciB0byBzdXBwb3J0IHRoZQoJICBjYXNlIHByb3Blcmx5IHdoZXJlIHRoZSBhdWRpbyBoYXJkd2FyZSBzdXBwb3J0cyBvbmx5IGUuZy4KCSAgbGl0dGxlIGVuZGlhbiBQQ00sIGJ1dCB0aGUgaG9zdCBpcyBiaWcgZW5kaWFuLCBzaW5jZSBtYW55CgkgIGF1ZGlvIGVsZW1lbnRzIG9ubHkgc3VwcG9ydCBuYXRpdmUgZW5kaWFubmVzcyBhbmQgbWFrZSB0aGUKCSAgcmVhc29uYWJsZSBhc3N1bXB0aW9uIHRoYXQgYW55IGF1ZGlvc2luayB3aWxsIGJlIGFibGUgdG8KCSAgaGFuZGxlIGF1ZGlvIGluIG5hdGl2ZSBlbmRpYW5uZXNzLgoJICBCYXNlZCBvbiBwYXRjaCBieSBKZXJyeSBUYW4gPGplcnJ5LnRhbkBzdW4uY29tPgoJICBGaXhlcyAjNjE0MzE3LgoKMjAxMC0wNC0wOCAwODo0ODozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgc291bmR0b3VjaDogdXNlICQoTElCTSkgaW4gTWFrZWZpbGUuYW0gaW5zdGVhZCBvZiAtbG0KCjIwMTAtMDQtMDggMDE6NDI6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ludnRlbGVjaW5lL2dzdGludnRlbGVjaW5lLmM6CgkgIGludnRlbGVjaW5lOiBmaXggcHJpbnQgZm9ybWF0IGluIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDQtMDggMDE6NDE6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBwYXNzIGNvbnN0YW50IHN0cmluZyBhcyBmb3JtYXQgc3RyaW5nIHRvIHByaW50ZgoJICBGaXggY29tcGlsZXIgd2FybmluZyBhYm91dCBub24tc3RyaW5nIGxpdGVyYWwgYmVpbmcgcGFzc2VkIGFzCgkgIGZpcnN0IGFyZ3VtZW50IHRvIHByaW50LgoKMjAxMC0wMy0yNiAxODo1Njo0OSArMDAwMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IERvbid0IGVtaXQgYml0cmF0ZSB0YWdzIHRvbyBlYXJseQoJICBXZSB3YWl0IHRvIHBhcnNlIGEgbWluaW11bSBudW1iZXIgb2YgZnJhbWVzICgxMCwgYXJiaXRyYXJpbHkpIGJlZm9yZQoJICBlbWl0aW5nIGJpdHJhdGUgdGFncyBzbyB0aGF0IG91ciBlYXJseSBlc3RpbWF0ZXMgYXJlIG5vdCB3aWxkbHkKCSAgaW5hY2N1cmF0ZSBmb3Igc3RyZWFtcyB0aGF0IHN0YXJ0IHdpdGggYSBzaWxlbmNlLiBJZiB0aGUgc3RyZWFtIGVuZHMKCSAgYmVmb3JlIHRoYXQsIHdlIGp1c3QgZW1pdCB0aGUgdGFncyBhbnl3YXkuCgkgIFdoaWxlIGl0IF93b3VsZF8gYmUgbmljZXIgdG8gYmUgc3BlY2lmeSB0aGUgdGhyZXNob2xkIHRvIHN0YXJ0IHB1c2hpbmcKCSAgdGhlIHRhZ3MgaW4gdGVybXMgb2YgZHVyYXRpb24sIHRoaXMgd291bGQgaW50cm9kdWNlIG1vcmUgY29tcGxleGl0eSB0aGFuCgkgIHRoaXMgbWVyaXRzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0OTkxCgoyMDEwLTA0LTA3IDExOjIyOjQzICswMjAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY3Jhc2ggd2hlbiBjb252ZXJ0aW5nIHVuaXRzCgkgIHgveS1yZXNvbHV0aW9uIGFyZSBmcmFjdGlvbnMsIHNvIHNldHRpbmcgdGhlbSB1c2luZyBmbG9hdCB2YWx1ZXMgaXMgbm90CgkgIGEgZ29vZCBpZGVhLgoJICBodHRwczovL2J1Z3ppbGxhLnJlZGhhdC5jb20vc2hvd19idWcuY2dpP2lkPTU3NzY1NQoKMjAxMC0wNC0wNSAxMDozMzoyNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgc3VwcG9ydCBmb3IgQmx1ZVJheSBzdHlsZSBEVFMKCSAgRml4ZXMgYnVnICM2MTQyNTkuCgoyMDEwLTA0LTA0IDIwOjIzOjAwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQWRkIHN1cHBvcnQgZm9yIHRoZSB0d28gRFRTIEhEIHN0cmVhbSB0eXBlcwoJICBGaXhlcyBidWcgIzYxNDI1OS4KCjIwMTAtMDQtMDIgMTk6NTI6MjUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYWNrZXRpemVyOiBBZGRpdGlvbmFsbHkgdXNlIHRoZSBDUkMgdG8gY2hlY2sgaWYgdGFibGVzIGFyZSBkdXBsaWNhdGVzCgkgIFRoZSBjdXJyZW50IGNvZGUganVzdCB1c2VzIHRhYmxlIGlkLCBzdWJ0YWJsZSBleHRlbnNpb24gYW5kIHZlcnNpb24gbnVtYmVyIHRvCgkgIGNoZWNrIGlmIHRoZSBzZWN0aW9uIGhhcyBiZWVuIHNlZW4gYmVmb3JlLiBIb3dldmVyLCB0aGlzIGNvbXBhcmlzb24gaXMgbm90CgkgIHN1ZmZpY2llbnQsIGNhdXNpbmcgYWN0dWFsbHkgbmV3IHRhYmxlcyBiZWluZyBkaXNtaXNzZWQuCgkgIEZpeGVzIGJ1ZyAjNjE0NDc5LgoKMjAxMC0wNC0wMiAxOTo0ODo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSBjbGVhbiB1cCBpbnRlcm5hbCBzdGF0ZSBmb3IgcmV1c2UKCSAgRml4ZXMgYnVnICM2MTQ1OTEuCgoyMDEwLTA0LTAyIDE5OjE5OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IE1ha2Ugc3VyZSB0aGF0IHRoZSBidWZmZXIgbWV0YWRhdGEgaXMgd3JpdGFibGUgYmVmb3JlIHNldHRpbmcgY2FwcwoJICBGaXhlcyBidWcgIzYxNDM0OS4KCjIwMTAtMDQtMDIgMTk6MDk6NDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBVc2UgdWludCBpbnN0ZWFkIG9mIGludCBmb3IgZnJlcXVlbmN5IGFuZCBzeW1ib2wtcmF0ZSBwcm9wZXJ0aWVzCgkgIFRoZSBrZXJuZWwgQVBJIHNwZWNpZmllcyB0aGVtIGFzIHVpbnQzMiBhbmQgZnJlcXVlbmNpZXMvc3ltYm9sLXJhdGVzIGdyZWF0ZXIKCSAgdGhhbiAyXjMxIGFyZSBhY3R1YWxseSBuZWVkZWQgc29tZXRpbWVzLgoJICBGaXhlcyBidWcgIzYxNDQ3NS4KCjIwMTAtMDMtMzAgMDE6MTc6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC9NYWtlZmlsZS5hbToKCSogc3lzL01ha2VmaWxlLmFtOgoJICBidWlsZDogYnVpbGQgcGx1Z2lucyBhbmQgZXhhbXBsZXMgaW4gcGFyYWxsZWwgd2hlcmUgcG9zc2libGUsIGlmIG1ha2UgLWpOIGlzIHVzZWQKCjIwMTAtMDMtMzAgMDE6MTY6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIHBvOiB1cGRhdGUgZm9yIHN0cmluZyBjaGFuZ2VzIGFuZCBuZXcgY29tbWVudAoKMjAxMC0wMy0zMCAwMToxNDo1OCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IGFkZCBjb21tZW50IGZvciB0cmFuc2xhdG9ycwoJICBOb3QgdGhhdCB0aGF0IHdpbGwgbWFrZSB0aGVzZSBzdHJpbmdzIG11Y2ggYmV0dGVyLiBBbHNvIHJlbW92ZSBpMThuCgkgIG1hcmtlciB3aGVyZSBpdCBkb2Vzbid0IG1ha2Ugc2Vuc2UuCgoyMDEwLTAzLTI3IDA5OjQ2OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogdXNlIEdTdHJlYW1lciBwYWNrYWdlIG5hbWUgYW5kIG9yaWdpbiBpbiB0aGUgcGx1Z2luIGluZm8KCjIwMTAtMDMtMjkgMTQ6NDk6MDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggd3JpdGluZyBOQUxVIHByZWZpeCBmb3IgYnl0ZS1zdHJlYW0gb3V0cHV0IGZvcm1hdAoJICBTcGVjaWZpY2FsbHksIGlucHV0IG1heSBhbHJlYWR5IGJlIGluIGJ5dGUtc3RyZWFtIGZvcm1hdCwgc28gc3luYwoJICBieXRlcyBzaG91bGQgbm90IGJlIG1pc2ludGVycHJldGVkIGFzIE5BTFUgc2l6ZS4KCjIwMTAtMDMtMjkgMTA6MDA6NTcgKzExMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9zcGMvZ3N0c3BjLmg6CgkgIG9wZW5zcGM6IEZpeCBidWlsZCB3YXJuaW5nCgkgIEFkZCBhIHByb3RvdHlwZSBmb3IgZ3N0X3NwY19kZWNfZ2V0X3R5cGUKCjIwMTAtMDMtMjYgMTg6NTg6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSAgZmxhY3BhcnNlOiBPcHRpb25hbGx5IGNoZWNrIHRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyB0b28gYmVmb3JlIGFjY2VwdGluZyBhIGZyYW1lIGFzIHZhbGlkCgkgIFRoaXMgaXMgb3B0aW9uYWwgYmVjYXVzZSBpdCdzIGEgcXVpdGUgZXhwZW5zaXZlIG9wZXJhdGlvbiBhbmQgaXQncyB2ZXJ5CgkgIHVubGlrZWx5IHRoYXQgYSBub24tZnJhbWUgaXMgZGV0ZWN0ZWQgYXMgZnJhbWUgYWZ0ZXIgdGhlIGhlYWRlciBDUkMgY2hlY2sKCSAgYW5kIGNoZWNraW5nIGFsbCBiaXRzIGZvciB2YWxpZCB2YWx1ZXMuIFRoZSBvdmVyYWxsIGZyYW1lIGNoZWNrc3VtcyBhcmUKCSAgbWFpbmx5IHVzZWZ1bCB0byBkZXRlY3QgaW5jb25zaXN0ZW5jaWVzIGluIHRoZSBlbmNvZGVkIHBheWxvYWQuCgoyMDEwLTAzLTI2IDE4OjQyOjI4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogQ2hlY2sgdGhlIENSQy04IG9mIHRoZSBoZWFkZXJzIGJlZm9yZSBhY2NlcHRpbmcgYSBmcmFtZSBhcyB2YWxpZAoJICBUaGlzIG1ha2VzIGZhbHNlLXBvc2l0aXZlcyBkdXJpbmcgc2Vla2luZyBtdWNoIGxlc3MgbGlrZWx5IGFuZCBkZXRlY3Rpb24gb2YKCSAgdGhlbSBtdWNoIGZhc3Rlci4KCjIwMTAtMDMtMjYgMTg6MjA6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBTZXQgdGhlIGxhc3Qgc3RvcCB0byB0aGUgYnVmZmVyIHN0YXJ0dGltZSBpZiB0aGUgZHVyYXRpb24gaXMgaW52YWxpZAoJICAuLi5pbnN0ZWFkIG9mIG5vdCBzZXR0aW5nIGl0IGF0IGFsbC4KCjIwMTAtMDMtMjYgMTg6MTk6MDAgKzAxMDAgIEpvc2h1YSBNLiBEb2UgPGpvc2hAam9zaGRvZS5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IFNlbmQgTkVXU0VHTUVOVCBldmVudCB3aXRoIGNvcnJlY3Qgc3RhcnQgYW5kIHBvc2l0aW9uCgkgIEluc3RlYWQgb2YgdGFraW5nIHRoZSBsYXN0IHN0b3AgKHdoaWNoIGNvdWxkIGJlIGJ1ZmZlciBlbmR0aW1lIGluc3RlYWQKCSAgb2Ygc3RhcnR0aW1lKSBhbHdheXMgdGFrZSB0aGUgYnVmZmVyIHN0YXJ0dGltZS4KCSAgRml4ZXMgYnVnICM2MTQwMTYuCgoyMDEwLTAzLTI2IDE2OjQ5OjAxICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogRml4IGJ1ZmZlciByZWZjb3VudCBpc3N1ZQoJICBXaGVuIGNhbGxlZCBmcm9tIHRoZSBHU1RfRkxBQ19QQVJTRV9TVEFURV9IRUFERVJTIGNhc2UsCgkgIGdzdF9mbGFjX3BhcnNlX2hhbmRfaGVhZGVycygpIGRvZXMgYSBnc3RfYnVmZmVyX3NldF9jYXBzKCkgb24gYSBidWZmZXIKCSAgd2l0aCByZWZjb3VudCA+IDEuIFRoaXMgY2hhbmdlIGhhbmRsZXMgdGhpcyBjYXNlIGJ5IG1ha2luZyB0aGUgYnVmZmVyCgkgIG1ldGFkYXRhX1dyaXRhYmxlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjE0MDM3CgoyMDEwLTAzLTI2IDEyOjA0OjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGFkZCBtaXNzaW5nIHNwYWNlIHRvIGRlYnVnIG1lc3NhZ2UKCjIwMTAtMDMtMjYgMDg6NDE6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBkb24ndCB1c2UgZnVuY3Rpb24gdGhhdCBkb2Vzbid0IGV4aXN0CgkgIEZpeGVzIHRoZSBidWlsZC4KCjIwMTAtMDMtMjUgMjM6NDg6MDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOgoJICBkaXZ4OiBhZGQgY29uc3QgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmdzCgoyMDEwLTAzLTI1IDIzOjMwOjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBib29sZWFuIHJldHVybiB0byBfcHJvY2VzcwoJICBBdm9pZCB0cnlpbmcgdG8gcHVzaCByZXN1bHRzIGlmIHByb2Nlc3NpbmcgZmFpbGVkIGFueXdheS4KCjIwMTAtMDMtMjUgMjM6Mjg6MjUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVtb3ZlIHVzZWxlc3MgZ19hc3NlcnQKCSAgZ19tYWxsb2MgYW5kIGNvIHdvdWxkIHRlcm1pbmF0ZSB3aGVuIG91dCBvZiBtZW1vcnkuIE5vIG5lZWQgdG8gY2hlY2sgYWZ0ZXIgaXQuCgoyMDEwLTAzLTI1IDIzOjI0OjM2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IGFkZCBtb3JlIGxvZ2dpbmcKCjIwMTAtMDMtMjUgMjM6MTI6MzcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIHNpZ25hbHByb2Nlc3NvcjogcmVnaXN0ZXIgZnVuY3Rpb24gcG9pbnRlcnMganVzdCBvbmNlCgkgIEF2b2lkIHJlLXJlZ2lzdGVyaW5nIHRob3NlIGZvciBlYWNoIHdyYXBwZWQgbGFkcHNhL2x2MiBlbGVtZW50LgoKMjAxMC0wMy0yNSAyMzowNzo0NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBhZGQgcmF0ZSB0byBjYXBzCgoyMDEwLTAzLTI1IDIzOjA0OjQxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbmFtZSBsb2cgY2F0ZWdvcnkgdG8gYmUgbGVzcyBhbWJpZ291cwoKMjAxMC0wMy0yNSAyMjo1OToxOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIGx2MjogYWRkIG1vcmUgZXhhbXBsZXMKCjIwMTAtMDMtMjUgMjI6NTg6NDcgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogaWYgd2UgdGVsbCB0aGF0IHdlIGhhbmRsZSBnYXAgZmxhZ3MsIHRoZW4gZG8gc28KCjIwMTAtMDMtMjUgMjI6NTU6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogdXNlIGdsaWIgdHlwZXMKCjIwMTAtMDMtMjUgMjI6NTQ6NDkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuYzoKCSAgZHRtZmRldGVjdDogZml4IGNsYXNzaWZpY2F0aW9uCgoyMDEwLTAzLTI1IDIyOjUzOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkgIGR0bWZkZXRlY3Q6IHJlZm9ybWF0IG1lc3NhZ2UgZG9jcwoJICBVc2UgYSBsaXN0IGxpa2UgaW4gb3RoZXIgZWxlbWVudCBkb2NzIGFzIGFuIHVudHdlYWtlZCBkb2Nib29rIHRhYmxlIGxvb2sgdWdseS4KCjIwMTAtMDMtMjUgMTc6MDk6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYXVkaW9wYXJzZXJzOiByZW1vdmUgdW51c2VkIEdzdEJhc2VQYXJzZUNsYXNzUHJpdmF0ZSBzdHJ1Y3R1cmUKCjIwMTAtMDMtMjUgMTI6NTU6MDIgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBNYWtlIGJpdHJhdGUgZXN0aW1hdGlvbiBtb3JlIGFjY3VyYXRlCgkgIFRoaXMgaW1wbGVtZW50cyB0aGUgZ2V0X2ZyYW1lX292ZXJoZWFkKCkgdmZ1bmMgc28gdGhhdCBiYXNlcGFyc2UgY2FuCgkgIG1ha2UgbW9yZSBhY2N1cmF0ZSBiaXRyYXRlIGVzdGltYXRlcy4KCjIwMTAtMDMtMjUgMTE6NDg6NDYgKzAwMDAgIEFydW4gUmFnaGF2YW4gPGFydW4ucmFnaGF2YW5AY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGJpdHJhdGUgY2FsY3VsYXRpb24KCSAgVGhpcyBwYXRjaCBhZGRzIHRoZSBnZXRfZnJhbWVfb3ZlcmhlYWQoKSB2ZnVuYyBzbyB0aGF0IGJhc2VwYXJzZSBjYW4KCSAgYWNjdXJhdGVseSBjYWxjdWxhdGUgdGhlIG1pbi9hdmcvbWF4IGJpdHJhdGVzIGZvciBhYWNwYXJzZS4KCSAgTm90ZTogVGhlIGJpdHJhdGUgd2FzIGJlaW5nIGluY29ycmVjdGx5IGNhbGN1bGF0ZWQgZm9yIEFEVFMgc3RyZWFtcwoJICAoaXQncyBub3QgaW4gdGhlIGhlYWRlciBhcyB0aGUgY29kZSBzdWdnZXN0cykuCgoyMDEwLTAzLTI1IDExOjIyOjU4ICswMDAwICBBcnVuIFJhZ2hhdmFuIDxhcnVuLnJhZ2hhdmFuQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmg6CgkgIGF1ZGlvcGFyc2VyczogQWRkIGJpdHJhdGUgY2FsY3VsYXRpb24gdG8gYmFzZXBhcnNlCgkgIFRoaXMgbWFrZXMgYmFzZXBhcnNlIGtlZXAgYSBydW5uaW5nIGF2ZXJhZ2Ugb2YgdGhlIHN0cmVhbSBiaXRyYXRlLCBhcwoJICB3ZWxsIGFzIHRoZSBtaW5pbXVtIGFuZCBtYXhpbXVtIGJpdHJhdGVzLiBTdWJjbGFzc2VzIGNhbiBvdmVycmlkZSBhCgkgIHZmdW5jIHRvIG1ha2Ugc3VyZSB0aGF0IHBlci1mcmFtZSBvdmVyaGVhZCBmcm9tIHRoZSBjb250YWluZXIgaXMgbm90CgkgIGFjY291bnRlZCBmb3IgaW4gdGhlIGJpdHJhdGUgY2FsY3VsYXRpb24uCgkgIFdlIHRha2UgY2FyZSBub3QgdG8gb3ZlcnJpZGUgdGhlIGJpdHJhdGUsIG1pbmltdW0tYml0cmF0ZSwgYW5kCgkgIG1heGltdW0tYml0cmF0ZSB0YWdzIGlmIHRoZXkgaGF2ZSBiZWVuIHBvc3RlZCB1cHN0cmVhbS4gV2UgYWxzbwoJICByYXRlLWxpbWl0IHRoZSBlbWlzc2lvbiBvZiBiaXRyYXRlIHNvIHRoYXQgaXQgaXMgb25seSB0cmlnZ2VyZWQgYnkgYQoJICBjaGFuZ2Ugb2YgPjEwIGticHMuCgoyMDEwLTAzLTIzIDE3OjM0OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy90YWdzY2hlY2tpbmcuYzoKCSAgdGVzdHM6IHRhZ3NjaGVja2luZzogTmV3IHRhZ3MgdGVzdHMKCSAgQWRkcyBuZXcgdGFncyBjaGVja2luZyB0ZXN0cy4KCjIwMTAtMDMtMjUgMDA6MjA6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBpbml0IGRlYnVnIGNhdGVnb3J5IGJlZm9yZSB1c2luZyBpdAoKMjAxMC0wMy0yNCAxODo1NDo1NyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTVjZDUxNCB0byBjMWQwN2RkCgoyMDEwLTAzLTI0IDE3OjA1OjE0ICswMTAwICBBbmRvbmkgTW9yYWxlcyA8eWxhdHV5YUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3d2aWRlb3NyYzogQWRkIHN1cHBvcnQgZm9yIFlVWTIgaW5wdXQgZm9ybWF0CgkgIEZpeCBidWcgIzYxMzcwOAoKMjAxMC0wMy0yNCAxNjoxNTozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkgIGRvY3M6IGFkZCBwaG90b2dyYXBoeSBpZmFjZSB0byBkb2NzCgkgIFdlIG5vcm1hbHkgaGF2ZSBzZXBhcmF0ZSBsaWJzIGRvY3MsIG5vdCBkb25lIGJlY2FzdWUgb2YgbGF6eW5lc3MgaGVyZSB5ZXQuCgoyMDEwLTAzLTI0IDE2OjA1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIGJsYW5rIGxpbmUgdG8gZml4IGdlbmVyYXRlZCB4bWwKCjIwMTAtMDMtMjQgMTU6NTk6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBmaXggZWxlbWVudCBuYW1lIGluIHNlY3Rpb24gZG9jIGJsb2IKCjIwMTAtMDMtMjQgMTU6MDU6NTAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGV4dC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgIG1vZHBsdWc6IERlZmluZSBXT1JEU19CSUdFTkRJQU4gdG8gYXZvaWQgdW5kZWZpbmVkIHdhcm5pbmcKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTYxMzc5NQoKMjAxMC0wMy0yNCAxMjoxNjowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVc2UgcGtnY29uZmlnIHRvIGRldGVjdCBkdmRuYXYKCSAgVGhlIHByZXZpb3VzbHkgdXNlZCBkdmRuYXYtY29uZmlnIHNjcmlwdCB3YXMgYnJva2VuIGluIGEgbG90IG9mIGRpc3Ryb3MuCgoyMDEwLTAzLTI0IDAwOjI3OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiBmaXggeWV0IGFub3RoZXIgY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAxOTo1Njo0OCAtMDQwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zcmMuYzoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgb3N4OiBtb3JlIGNvbXBpbGVyIHdhcm5pbmcgZml4ZXMKCSAgQXZvaWQgbmV3IHdhcm5pbmdzLgoJICBGaXhlcyAjNjEzNzU4LgoKMjAxMC0wMy0yMyAxNDoxNTo1MyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9mYWFjLmM6CgkgIHRlc3RzOiBmYWFjOiBGaXggYnVpbGQKCSAgRml4ZXMgYnVpbGQgb2YgZmFhYyBkdWUgdG8gZnVuY3Rpb25zIG5vdCBiZWluZyBzdGF0aWMgbm9yCgkgIGhhdmluZyBiZWluZyBkZWNsYXJlZCBpbiBoZWFkZXJzLiAoTm8gcHJldmlvdXMgcHJvdG90eXBlIGVycm9yKQoJICBQcm9iYWJseSBkdWUgdG8gYWRkZWQgLVdtaXNzaW5nLXByb3RvdHlwZXMKCjIwMTAtMDMtMjMgMTE6MTA6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiBGaXggY29tcGlsZXIgd2FybmluZwoKMjAxMC0wMy0yMyAwOToxNDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogdG91Y2ggY29nLm9yYyB0byBmb3JjZSByZWdlbmVyYXRpb24gb2YgY29nb3JjLltjaF0KCSAgLi4gd2l0aCBuZXcgTWFrZWZpbGUuYW0gcnVsZXMsIHdoaWNoIHNob3VsZCBmaXggdGhlIGJ1aWxkCgkgIHdpdGhvdXQgdGhlIG5lZWQgdG8gZG8gYSAnbWFudWFsJyBtYWtlIGNsZWFuIGFmdGVyIHVwZGF0aW5nLgoKMjAxMC0wMy0yMyAwMTo0MTozMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICB3aW5pbmV0OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjMgMDE6MzA6NTQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXc6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMyAwMToxNToyNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgLVd1bmRlZiBmb3IgV2luZG93cwoJICBXaW5kb3dzIGhlYWRlcnMgdGVuZCB0byBjaGVjayBfTVNDX1ZFUiB1bmNvbmR0aW9uYWxseSBpbiBzb21lIHBsYWNlcywKCSAgYnV0IHVzZSAjaWZkZWYgX01TQ19WRVIgaW4gb3RoZXIgcGxhY2VzLgoKMjAxMC0wMy0yMyAwMToxNDozMyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBBZGQgYSBidW5jaCBvZiB3YXJuaW5nIGZsYWdzCgkgIE5vbmUgb2YgdGhlbSB0cmlnZ2VyIGFueSB3YXJuaW5nCgoyMDEwLTAzLTIzIDAxOjExOjQyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXhlcyBmb3IgLVdhZ2dyZWdhdGUtcmV0dXJuCgkgIFRoZSBmbGFnIHdhc24ndCBhZGRlZCBkdWUgdG8gbGliZXhpZiB1c2luZyBhZ2dyZWdhdGUgcmV0dXJuIHZhbHVlcy4KCjIwMTAtMDMtMjIgMTg6MDI6MzkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9nZXR0ZXh0Lmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkgIGkxOG46IGJ1aWxkIGZpeGVzOiAjaWYgLT4gI2lmZGVmIGZvciBFTkFCTEVfTkxTCgoyMDEwLTAzLTIyIDE4OjAxOjI3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3QvZ3N0LWkxOG4tcGx1Z2luLmg6CgkgIGkxOG46IGZpeCB0aGUgYnVpbGQKCSAgRG9uJ3QgaW5jbHVkZSBsb2NhbGUuaCB3aGljaCB3ZSBpbmNsdWRlIGluIGdldHRleHQuaCBpZiBuZWVkZWQuIEd1YXJkIHRoZQoJICBpbmNsdWRlIGxpa2Ugd2UgZG8gaW4gdGhlIHNpbWlsbGFyIGhlYWRlcnMgaW4gY29yZS4KCjIwMTAtMDMtMjIgMTY6NTY6MDMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJKiBnc3QvbGlicmZiL2QzZGVzLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2Fwc3NldHRlci5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEFkZCAtV29sZC1zdHlsZS1kZWZpbml0aW9uCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjIxOjMxICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIEFkZCAtV2Zvcm1hdC1ub25saXRlcmFsIC1XZm9ybWF0LXNlY3VyaXR5IGZsYWdzCgkgIGFuZCBmaXggdGhlIHdhcm5pbmdzCgoyMDEwLTAzLTIyIDE2OjEzOjEyICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IFJlZmFjdG9yIGNvZGUgdG8gbWFrZSBpdCBsb29rIG1vcmUgbW9kZXJuCgkgIEEgc2lkZSBlZmZlY3QgaXMgdGhhdCBpdCBwYXNzZXMgLVdmb3JtYXQtbm9ubGl0ZXJhbCBhbmQgZG9lc24ndCByZWFkCgkgIGludmFsaWQgbWVtb3J5IGluIHNvbWUgY2FzZXMsIGxpa2Ugd2hlbiB0aGUgbWl4ZXIgdHJhY2sgY29udGFpbnMKCSAgYSAlIHNpZ24gb3IgdGhlcmUgaXMgYSBudW1iZXIgYnV0IG5vdCBhIGtub3duIG1peGVyIG5hbWUuCgoyMDEwLTAzLTIyIDE0OjA5OjI0ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF2b2lkIGdfcXVhcmtfdG9fc3RyaW5nIChnX3F1YXJrX2Zyb21fc3RyaW5nICgpKSBtYWRuZXNzCgkgIFdlIHRvIHRoZSBzdHJkdXAgaW5zaWRlIGdzdF9vc3M0X21peGVyX2NvbnRyb2xfZ2V0X3RyYW5zbGF0ZWRfbmFtZSgpCgkgIGluc3RlYWQgb2YgaW4gdGhlIG9ubHkgY2FsbGVyLgoKMjAxMC0wMy0yMiAxMzo1MDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMi0wMiAxNTo0OToyOSArMDUzMCAgQXJ1biBSYWdoYXZhbiA8YXJ1bi5yYWdoYXZhbkBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogUGFyc2UgYml0cmF0ZSBhbmQgZW1pdCBhcyB0YWcKCSAgVGhpcyBwYXRjaCBwaWNrcyB1cCB0aGUgYml0cmF0ZSBmb3IgdGhlIHN0cmVhbSBmcm9tIHRoZSBNUEVHIHNlcXVlbmNlCgkgIGhlYWRlciBhbmQgZW1pdHMgaXQgYXMgYSB0YWcgb24gdGhlIHNvdXJjZSBwYWQuCgkgIEZpeGVzICM1OTkyOTguCgoyMDEwLTAzLTIyIDEyOjM4OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgc291bmR0b3VjaDogYnVpbGQgZml4ZXM6ICNpZiAtPiAjaWZkZWYKCjIwMTAtMDMtMjIgMTM6MTY6MzMgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSAgQWRkIC1Xd3JpdGUtc3RyaW5ncwoJICBhbmQgZml4IGl0cyB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjozMDowMSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvcHRpb25zLmNjOgoJKiBnc3QvbnNmL2Ztb3BsLmg6CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgLVd1bmRlZgoJICBhbmQgZml4IHRoZSB3YXJuaW5ncwoKMjAxMC0wMy0yMiAxMjowMzo1NiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIFVwZGF0ZSAuZ2l0aWdub3JlCgoyMDEwLTAzLTIyIDEyOjAyOjE2ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqaWZtdXguYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6CgkgIEFkZCAtV3JlZHVuZGFudC1kZWNscyBmbGFnCgkgIGFuZCBmaXggd2FybmluZ3MgZnJvbSBpdAoKMjAxMC0wMy0yMiAwODo0Nzo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWU6IEZpeCBjb21waWxlciB3YXJuaW5nCgoyMDEwLTAzLTIyIDA4OjQ1OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuaDoKCSAgdmRwYXU6IEZpeCBjb21waWxlciB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzoxMDowOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJICBvcmM6IEZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMzowMDo0OCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOgoJICBleGFtcGxlczogRml4IHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIyOjQ4OjEzICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBkaXJlY3RkcmF3OiBGaXggd2FybmluZ3MKCjIwMTAtMDMtMjEgMjI6NDY6MDAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuaDoKCSAgZ3N0LWNhbWVyYTogQWRkIGEgaGVhZGVyIGRlY2xhcmluZyB0aGUgZnVuY3Rpb25zIGZyb20gdGhlIHVpIGZpbGUKCjIwMTAtMDMtMjEgMjI6MTA6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuaDoKCSAgdGVzdHM6IEFkZCBmaWxlIEkgZm9yZ290IHRvIGNoZWNrIGluCgoyMDEwLTAzLTIxIDIyOjA5OjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21tcDNkZWM6IGZpeCB3YXJuaW5ncwoKMjAxMC0wMy0yMSAyMTo1Mzo0NCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgRml4IGFjbWVuYyBmb3Igd2FybmluZyBmbGFncwoKMjAxMC0wMy0yMSAyMTozOToxOCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSogZXh0L2ZsaXRlL2dzdGZsaXRldGVzdHNyYy5jOgoJKiBleHQvamFjay9nc3RqYWNrLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9kZWMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvcGFyc2UuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSogZ3N0L2FkcGNtZW5jL2FkcGNtZW5jLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmg6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5oOgoJKiBnc3QvbXZlL212ZWF1ZGlvZGVjLmM6CgkqIGdzdC9tdmUvbXZlYXVkaW9lbmMuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L25zZi9uZXNfYXB1LmM6CgkqIGdzdC9uc2YvbnNmLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5jOgoJKiBnc3Qvc2lyZW4vY29tbW9uLmg6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kY3Q0Lmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkqIGdzdC9zaXJlbi9ybWx0Lmg6CgkqIGdzdC90dGEvZ3N0dHRhZGVjLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJKiBzeXMvZHZiL2NhbS5jOgoJKiBzeXMvZHZiL2NhbS5oOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5oOgoJKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuYzoKCSogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuaDoKCSogc3lzL2R2Yi9jYW1zZXNzaW9uLmM6CgkqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5jOgoJKiBzeXMvZHZiL2R2YmJhc2ViaW4uaDoKCSogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYWFjcGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYW1ycGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNmbXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Fzc3JlbmRlci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdXRvY29udmVydC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbWFnZWZyZWV6ZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBsZXguYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3F0bXV4LmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zZWxlY3Rvci5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90aW1pZGl0eS5jOgoJKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgQWRkIC1XbWlzc2luZy1kZWNsYXJhdGlvbnMgLVdtaXNzaW5nLXByb3RvdHlwZXMgdG8gY29uZmlndXJlIGZsYWdzCgkgIEFuZCBmaXggYWxsIHdhcm5pbmdzCgoyMDEwLTAzLTIxIDIxOjM3OjM3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBnc3Qvc2lyZW4vY29tbW9uLmM6CgkqIGdzdC9zaXJlbi9kY3Q0LmM6CgkqIGdzdC9zaXJlbi9kZWNvZGVyLmM6CgkqIGdzdC9zaXJlbi9lbmNvZGVyLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9ybWx0LmM6CgkgIHNpcmVuOiBSdW4gZ3N0LWluZGVudCBzY3JpcHQKCSAgSW5jbHVkZXMgcnVubmluZyBkb3MydW5peCBvbiBkZWNvZGVyLmMKCjIwMTAtMDMtMjEgMjE6Mjk6NDcgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAgdGVzdHM6IEZpeCBrYXRlIHRlc3QKCSAgSXQgd2FzIGZhaWxpbmcgZHVlIHRvIHRoZSBuZXcgYnVmZmVyX21ldGFkYXRhX3dyaXRhYmxlIGNoZWNrcyBhZGRlZCB0bwoJICB0aGUgY29yZSByZWNlbnRseS4KCjIwMTAtMDMtMjEgMTg6NTk6MzAgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2NodW5rLmM6CgkgIGxlZ2FjeXJlc2FtcGxlOiByZW1vdmUgdW51c2VkIGZpbGUKCjIwMTAtMDMtMjEgMTc6NTQ6MjYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBzL0dTVF9DVlMvR1NUX0dJVC8KCjIwMTAtMDMtMTkgMTY6NDc6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSAgY29nOiBHZW5lcmF0ZSBjb3JyZWN0IFlVVi0+UkdCIHRhYmxlcwoJICBGaXhlczogIzYxMzMzMi4KCjIwMTAtMDMtMTkgMTE6MTA6NDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkgIHNkcGRlbXV4OiBkaXNhYmxlIGxvb3AgYW5kIGF1dG8gbXVsdGljYXN0IGpvaW4KCSAgRGlzYWJsZSBsb29wYmFjayBvZiBwYWNrZXRzLgoJICBEaXNhYmxlIGF1dG9qb2luIG9mIG11bHRpY2FzdCBncm91cHMgaW4gdGhlIHNpbmsgYmVjYXVzZSB0aGUgc291cmNlIGFscmVhZHkKCSAgZG9lcyB0aGF0IG9uIHRoZSBzaGFyZWQgc29ja2V0LgoKMjAxMC0wMy0xOCAxNzozMDoyNiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dzY2FsZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmNjOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuYzoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvcG9seXAvcG9seXBzaW5rLmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJKiBleHQvcmVzaW5kdmQvcnNucGFyc2V0dGVyLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2ZzaW5rLmM6CgkqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6CgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdHJ0cGFzZnBheS5jOgoJKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSogZ3N0L2RlYnVndXRpbHMvZ3N0Y2Fwc3NldHRlci5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSogZ3N0L212ZS9nc3RtdmVkZW11eC5jOgoJKiBnc3QvbXZlL2dzdG12ZW11eC5jOgoJKiBnc3QvbnNmL2dzdG5zZi5jOgoJKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuYzoKCSogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJKiBnc3Qvdm1uYy92bW5jZGVjLmM6CgkqIHN5cy9hY21lbmMvYWNtZW5jLmM6CgkqIHN5cy9hY21tcDNkZWMvYWNtbXAzZGVjLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzoKCSogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSogc3lzL3dhc2FwaS9nc3R3YXNhcGlzaW5rLmM6CgkqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmM6CgkqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzID0+IGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZQoKMjAxMC0wMy0xOCAxNzoxMTo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZpcnR1YWxkdWIvTElDRU5TRToKCSogZ3N0L3ZpcnR1YWxkdWIvTWFrZWZpbGUuYW06CgkqIGdzdC92aXJ0dWFsZHViL2dzdHZpcnR1YWxkdWIuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5oOgoJKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJKiBnc3QvdmlydHVhbGR1Yi92aXJ0dWFsZHViLnZjcHJvajoKCSAgdmlydHVhbGR1YjogUmVtb3ZlCgkgIFRIZSBwbHVnaW4gaXMgc28gaG9wZWxlc3NseSBvdXRkYXRlZCwgaXQncyBqdXN0IG5vdCB3b3J0aCBrZWVwaW5nLgoKMjAxMC0wMy0xOCAxNzowNDo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgUmVtb3ZlIHhpbmUgcGx1Z2luIGNvZGUKCSAgVGhlIHBsdWdpbiBpcyB1bm1haW50YWluZWQgKGV2ZW4gd29yc2UgdGhhbiBYaW5lIDspKQoKMjAxMC0wMy0xOCAxNjoxNzoxMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkgIFJlbW92ZSBnb2IgZXhhbXBsZXMKCSAgVGhleSB3ZXJlIG91dGRhdGVkIGFuZCB3b3VsZG4ndCBoYXZlIGNvbXBpbGVkIGFueW1vcmUuCgoyMDEwLTAzLTE3IDExOjMwOjM0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IG9mZi1ieS1vbmUgaW4gNDQ0LT40MjAgY29udmVyc2lvbgoJICBGaXhlcyAjNjEzMTYwLgoKMjAxMC0wMy0xNyAxNDoyOTozMSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgIihwbmdfaW5mb3BwKSBOVUxMIiBpbnN0ZWFkIG9mIHBuZ19pbmZvcHBfTlVMTAoKMjAxMC0wMy0xNyAxNDoyMzo0MSArMDMwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBVc2UgcG5nX2dldF9pb19wdHIoKSBpbnN0ZWFkIG9mIGFjY2Vzc2luZyBpb19wdHIgZGlyZWN0bHkKCjIwMTAtMDMtMTcgMTQ6MjE6NTMgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb2c6IENoZWNrIGZvciBsaWJwbmcgPj0gMS4yIGluc3RlYWQgb2YgbGlicG5nMTIKCjIwMTAtMDMtMTYgMjM6NDY6MDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSAgZG9jczogdGhlIHhkZ21pbWUgcGx1Z2luIHdhcyBtZXJnZWQgaW50byB0eXBlZmluZGVycwoKMjAxMC0wMy0xNiAyMzo0MzowMiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgbmVvbixkdmQ6IGFsc28gdXNlIGdfdmFsdWVfc2V0X3N0YXRpY19zdHJpbmcoKSBoZXJlIGZvciBzdGF0aWMgc3RyaW5ncwoKMjAxMC0wMy0xNSAxMDoxMzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbWlub3IgbWVtb3J5IGxlYWsgaW4gcHJvcGVydHkgZ2V0dGVyCgkgIERvbid0IGxlYWsgdGhlIHN0cmluZyByZXR1cm5lZCBieSBnX3N0cmpvaW52KCkuIFdoaWxlIHdlJ3JlIGF0IGl0LAoJICB1c2UgR1N0cmluZyB0byBhc3NlbWJsZSB0aGUgc3RyaW5nIHRvIGJlIHJldHVybmVkLgoKMjAxMC0wMy0xNSAwOToyNDoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBkdmJzcmM6IHVzZSBnX3ZhbHVlX3NldF9zdGF0aWNfc3RyaW5nKCkgd2hlcmUgcG9zc2libGUKCjIwMTAtMDMtMTUgMTI6MTc6MzcgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGRpc2FibGUgY29kZSB0aGF0IGNhdXNlcyBhbiBvcmNjIGNyYXNoCgkgIFJldmVydCB0aGlzIGFmdGVyIG9yYyByZWxlYXNlIGFuZCB2ZXJzaW9uIGJ1bXAuCgoyMDEwLTAzLTE1IDExOjU0OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5jOgoJICBpbWFnZWZyZWV6ZTogT25seSBzdGFydCB0aGUgdGFzayBhZnRlciBhIHNlZWsgaWYgYSBidWZmZXIgd2FzIHJlY2VpdmVkIGFscmVhZHkKCjIwMTAtMDMtMTUgMDE6NDY6NDUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogY29tbWVudCBvbiBwcmV2aW91cyBiYWQgY29tbWl0IG1lc3NhZ2UKCSAgVGhlIHJlY2VudCBjb21taXQgImxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRSIgc2hvdWxkCgkgIGFjdHVhbGx5IHJlYWQ6ICBGaXggbG9nb2luc2VydCB2YXJpYWJsZSBuYW1lcy4KCjIwMTAtMDMtMTUgMDE6MjY6MjUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGltcGxlbWVudCBjaHJvbWEtc2l0ZQoJICBEZXRlcm1pbmUgY2hyb21hIHNpdGUgcG9zaXRpb24gZnJvbSB0aGUgY2FwcyBhbmQgdXNlIGl0IHdoZW4KCSAgdXBzYW1wbGluZy9kb3duc2FtcGxpbmcgY2hyb21hLgoKMjAxMC0wMy0xNCAxODo1NjowNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2djb2xvcnNwYWNlOiBpbXBsZW1lbnQgY29sb3ItbWF0cml4IGhhbmRsaW5nCgoyMDA5LTEwLTA4IDE1OjE4OjQxIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IGxvZ29pbnNlcnQgY2hlY2twb2ludCBGSVhNRQoKMjAwOS0xMC0zMCAxNTozNTozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBBZGQgbl90YXBzIHRvIGNocm9tYSB1cHNhbXBsaW5nCgoyMDEwLTAzLTEzIDE4OjU0OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHR5cG8gaW4gcHJvcGVydHkgZGVzY3JpcHRpb24KCjIwMTAtMDMtMTMgMDY6MDM6MzIgKzAxMDAgIFJhaW1vIErDpHJ2aSA8cmFpbW8uamFydmlAZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBVcGRhdGUgY2FwcyB3aGVuIHRoZSBzZXF1ZW5jZSBoZWFkZXIgY2hhbmdlcwoJICBGaXhlcyBidWcgIzYxMjY4Ny4KCjIwMTAtMDMtMTIgMTk6MzA6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBhY3RpdmF0ZSB2aWRlbyBiaW4gYmVmb3JlIGZlZWRpbmcgZGF0YSB0byBpdAoJICBGaXhlcyAjNjEyNjE1LgoKMjAxMC0wMy0xMiAxMToyODo1MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGFnc2NoZWNraW5nLmM6CgkgIHRlc3RzOiB0YWdzY2hlY2tpbmc6IEltcHJvdmVtZW50cyBhbmQgbmV3IGdlby1sb2NhdGlvbiB0ZXN0cwoJICBNYWtlcyBzb21lIGltcHJvdmVtZW50cyB0byB0YWdzY2hlY2tpbmcuYywgbWFraW5nIGl0IHVzZQoJICBmYWtlc3JjIGluc3RlYWQgb2YgdmlkZW90ZXN0c3JjIGFuZCBhbGxvd2luZyB0byBzZXQgaW5wdXQKCSAgY2FwcyBzbyB0aGF0IG1vcmUgbXV4ZXJzIGNhbiBiZSB1c2VkLiBQcmV2aW91c2x5IHdlIGNvdWxkCgkgIG9ubHkgdXNlIHRob3NlIHRoYXQgYWNjZXB0ZWQgcmF3IHZpZGVvIGNhcHMuCgkgIEFsc28gYWRkcyBzb21lIHRlc3RzIGZvciBnZW8tbG9jYXRpb24gdGFncwoKMjAxMC0wMy0xMiAxMDo1MzozNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IFVzZSB4bXAgb24gbXA0bXV4IGFuZCBncHBtdXggdG9vCgkgIERvIG5vdCByZXN0cmljdCB4bXAgdG8gcXRtdXgsIGJ1dCB1c2UgaXQgdG9vCgkgIG9uIG1wNG11eCBhbmQgZ3BwbXV4CgoyMDEwLTAzLTEyIDEzOjU5OjEyICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBlMjcyZjcxIHRvIDU1Y2Q1MTQKCjIwMTAtMDMtMTIgMDk6NTI6NTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUgb24gbWFjb3N4IDEwLjUKCjIwMTAtMDMtMTEgMjE6MzI6MjggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogYWRkIHhtcCByZWFkaW5nIGFuZCB3cml0aW5nIHN1cHBvcnQKCSAgQnVtcCBuZWVkZWQgYmFzZSB2ZXJzaW9uIGZvciBuZXcgeG1wIGhlbHBlciBsaWJyYXJ5LiBVc2UgeG1wIGhlbHBlcnMgaW4KCSAganBlZ3BhcnNlIGFuZCBqaWZtdXguCgoyMDEwLTAzLTEyIDA4OjIzOjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBGaXggbWVyZ2UgbWlzdGFrZQoKMjAxMC0wMi0yOCAxOTo0MTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zZWdtZW50Y2xpcC9NYWtlZmlsZS5hbToKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuYzoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdGF1ZGlvc2VnbWVudGNsaXAuaDoKCSogZ3N0L3NlZ21lbnRjbGlwL2dzdHNlZ21lbnRjbGlwLmM6CgkqIGdzdC9zZWdtZW50Y2xpcC9nc3RzZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5jOgoJKiBnc3Qvc2VnbWVudGNsaXAvZ3N0dmlkZW9zZWdtZW50Y2xpcC5oOgoJKiBnc3Qvc2VnbWVudGNsaXAvcGx1Z2luLmM6CgkgIHNlZ21lbnRjbGlwOiBBZGQgYXVkaW8vdmlkZW8gYnVmZmVyIHNlZ21lbnQgY2xpcCBlbGVtZW50cwoJICBUaGVzZSBlbGVtZW50cyBjbGlwIHRoZSBhdWRpby92aWRlbyBidWZmZXJzIHRvIHRoZSBjb25maWd1cmVkIHNlZ21lbnQKCSAgZm9yIHRoZSBjYXNlIHdoZW4gdGhlIHVwc3RyZWFtIGVsZW1lbnRzIGRvbid0IGRvIHRoaXMgY29ycmVjdGx5LgoKMjAxMC0wMi0yOCAxNjowODoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvaW1hZ2VmcmVlemUuYzoKCSAgaW1hZ2VmcmVlemU6IEFkZCBzb21lIHVuaXQgdGVzdHMKCjIwMTAtMDItMjggMTY6MDQ6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBTZXQgdW5kZWZpbmVkIGZyYW1lcmF0ZSBpbiBzaW5rIGdldGNhcHMgZnVuY3Rpb24KCjIwMTAtMDItMjggMTU6MDI6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkgIGltYWdlZnJlZXplOiBJbXBsZW1lbnQgcmV2ZXJzZSBwbGF5YmFjayBhbmQgc2V0IGJ1ZmZlciBvZmZzZXRzCgoyMDEwLTAyLTI3IDE3OjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWltYWdlZnJlZXplLnhtbDoKCSAgaW1hZ2VmcmVlemU6IEFkZCB0byB0aGUgZG9jcwoKMjAxMC0wMi0yNyAxNzozMzowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ltYWdlZnJlZXplL2dzdGltYWdlZnJlZXplLmM6CgkqIGdzdC9pbWFnZWZyZWV6ZS9nc3RpbWFnZWZyZWV6ZS5oOgoJICBpbWFnZWZyZWV6ZTogQWRkIHN0aWxsIGZyYW1lIHN0cmVhbSBnZW5lcmF0b3IgZWxlbWVudAoKMjAxMC0wMy0wNSAxMzozMzozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RhZ3NjaGVja2luZy5jOgoJICBjaGVjazogdGFnc2NoZWNraW5nOiB0ZXN0cyBmb3IgdGFncyBzZXJpYWxpemF0aW9uIGluIG11eGVycwoJICBBZGRzIGEgY2hlY2sgdW5pdCB0ZXN0IHRoYXQgYWltcyB0byB0ZXN0IHRhZ3Mgc2VyaWFsaXphdGlvbgoJICBhbmQgZGVzZXJpYWxpemF0aW9uIGNvbnNpc3RlbmN5IChpbiBtdXhlcnMpLiBJdCBwcm92aWRlcyBhCgkgIGJhc2ljIGZ1bmN0aW9uIHRoYXQgYWxsb3dzIG9uZSB0byBlYXNpbHkgc3BlY2lmeSB0YWdzLCBhCgkgIG11eGVyIGFuZCBhIGRlbXV4ZXIgYW5kIGEgdGVzdCB3aWxsIGJlIGRvbmUgdG8gY2hlY2sgaWYKCSAgdGhlIHRhZ3MgaGF2ZSBiZWVuIGNvbnNpc3RlbnRseSBtdXhlZCBhbmQgZGVtdXhlZAoKMjAxMC0wMi0yMiAxNjo0NTozNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGFkZCB4bXAgc3VwcG9ydAoJICBBZGRzIHhtcCBtZXRhdGFncyBhZGRpbmcgdG8gcXRtdXguCgkgIEZpeGVzICM2MDk1MzkKCjIwMTAtMDMtMTEgMDk6Mjk6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBSZW1vdmUgX1hNUF9HRU9fKiB0YWdzCgkgIFJlbW92ZXMgR1NUX1RBR19YTVBfR0VPX0xPQ0FUSU9OX0NPVU5UUlksCgkgIEdTVF9UQUdfWE1QX0dFT19MT0NBVElPTl9DSVRZIGFuZAoJICBHU1RfVEFHX1hNUF9HRU9fTE9DQVRJT05fU1VCTE9DQVRJT04gZnJvbSBtZXRhZGF0YSdzCgkgIHByaXZhdGUgdGFncyBhcyB0aG9zZSBhcmUgbm93IHByZXNlbnQgYXQgLWNvcmUgdGFncy4KCSAgRml4ZXMgIzYxMjQxMAoKMjAxMC0wMy0xMSAxNzoxNzoxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IEdTVF9FTEVNRU5UX0VSUk9SIHVzYWdlCgkgIFdlIG5lZWQgdG8gcGFzcyAoTlVMTCkgcmF0aGVyIHRoYW4gTlVMTCBmb3IgZW1wdHkgYXJndW1lbnRzLgoKMjAxMC0wMy0xMSAxNzo1ODoyNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5jOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ2Zvcm1hdDogRml4IHVuaXRpYWxpemVkIHZhcmlhYmxlcwoKMjAxMC0wMy0xMCAxMTo1MDo0NyAtMDYwMCAgUm9iIENsYXJrIDxyb2JAdGkuY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBmaXggY29tcGlsZSBlcnJvciB3aXRoIHRyYWNlIG1hY3JvCgkgIE5vdGUgdGhhdCB0aGlzIG9uZSBpc24ndCBhIHByb2JsZW0gd2l0aCBub3JtYWwgdHJhY2UgbWFjcm9zLCBidXQgY2F1c2VzIHByb2JsZW1zIHdpdGgKCSAgc29tZSByZXBsYWNlbWVudCB0cmFjZSBtYWNyb3MgdGhhdCBJIHVzZSwgd2hpY2ggZXhwZWN0IHRoZSBmb3JtYXQgc3RyaW5nIHRvIGJlCgkgIGFwcGVuZGFibGUgKGllICJmb28gImZtdCBpbiB0aGUgbWFjcm8pCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MTI0NTQKCjIwMTAtMDMtMTAgMTE6NDk6MjIgLTA2MDAgIFJvYiBDbGFyayA8cm9iQHRpLmNvbT4KCgkqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOgoJICBmaXggdHJhY2UgbWFjcm8gdHlwbwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjI2OjI3IC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGZpeCBjb21waWxlIGVycm9yCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6Njg5OiB3YXJuaW5nOiBjb21wYXJpc29uIGlzIGFsd2F5cyB0cnVlIGR1ZSB0byBsaW1pdGVkIHJhbmdlIG9mIGRhdGEgdHlwZQoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTEwIDEwOjIzOjIzIC0wNjAwICBSb2IgQ2xhcmsgPHJvYkB0aS5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJICBxdG11eDogZml4IGNvbXBpbGUgZXJyb3IKCSAgZ3N0L3F0bXV4L2dzdHF0bW9vdnJlY292ZXIuYzoyNjg6IHdhcm5pbmc6IGZvcm1hdCBub3QgYSBzdHJpbmcgbGl0ZXJhbCBhbmQgbm8gZm9ybWF0IGFyZ3VtZW50cwoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjEyNDU0CgoyMDEwLTAzLTExIDExOjIxOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIGRmOGE3YzggdG8gZTI3MmY3MQoKMjAxMC0wMy0xMSAxMToyOToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogZG9uJ3QgY2hlY2sgZm9yIE5VTEwgd2hlbiBjYWxsaW5nIGdfZnJlZS4KCSAgZ19mcmVlIGRvZXMgdGhlIGNoZWNrIGFscmVhZHkuIEFsc28gc21hbGwgY29kZSBsb2dpYyBjbGVhbnVwIGFuZCB3aGl0ZXNwYWNlIGZpeC4KCjIwMTAtMDMtMTEgMTE6Mjg6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICBtZXRhZGF0YTogcmVtb3ZlIGVtcHR5IHNldHRlci9nZXR0ZXIgdm1ldGhvZCBpbXBsZW1lbnRhdGlvbnMKCjIwMTAtMDMtMTEgMTE6MTQ6NTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogaW5sY3VkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMTAtMDItMTcgMTM6MTE6MTggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBtZXRhZGF0YTogdXBkYXRlIGJ1ZyBzdGF0dXMKCjIwMDktMDktMDggMDk6MTM6MDcgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogcmVmYWN0b3IgY3JvcHBpbmcgYW5kIGFkYXB0aW5nIGNhcHR1cmVkIGltYWdlcwoKMjAwOS0wOS0xMCAxMzo0MTo0MCArMDMwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCBOVUxMIC0+IFJFQURZIHN0YXRlIGNoYW5nZSBmYWlsdXJlIGhhbmRsaW5nLgoJICBJbiBzb21lIGVycm9yIHNpdHVhdGlvbnMgdGhlIE5VTEwgLT4gUkVBRFkgc3RhdGUgY2hhbmdlIGZhaWxlZAoJICBhbmQgY2FtZXJhYmluIGVsZW1lbnRzIHdlcmUgbm90IGRlc3Ryb3llZC4KCjIwMTAtMDItMTcgMTE6NTE6MjYgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IHVzZSBnc3RfYnVzX3BvbGwoKSB3aGVuIGNyZWF0aW5nIHByZXZpZXcgaW1hZ2UKCSAgQXZvaWQgdXNpbmcgZ3N0X2J1c19wb2xsKCkgYXMgdGhlIGRvY3MgcmVjb21tZW5kLiBVc2UKCSAgZ3N0X2J1c190aW1lZF9wb3BfZmlsdGVyZWQoKSBpbnN0ZWFkLgoKMjAxMC0wMy0xMCAyMTowMToyMCArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgZm9yIHJlY2VudCBjaGFuZ2VzIHRvIGNvbW1vbiBzdWJtb2R1bGUKCSAgVGhpcyBqdXN0IHJlcGxhY2VzIGV2ZXJ5ICIkRVJST1JfQ0ZMQUdTIiB1c2FnZSB3aXRoIGEgdXNhZ2Ugb2YKCSAgIiRXQVJOSU5HX0NGTEFHUyAkRVJST1JfQ0ZMQUdTIiB0byBnZXQgdGhlIHNhbWUgZnVuY3Rpb25hbGl0eSBhcwoJICBwcmV2aW91c2x5LgoJICBBY3R1YWxseSB1c2luZyB0aGF0IHNlcGFyYXRpb24gd2lsbCBoYXBwZW4gbGF0ZXIuCgoyMDEwLTAzLTEwIDIxOjUyOjIwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk3MjBhN2QgdG8gZGY4YTdjOAoKMjAxMC0wMy0xMCAyMDo0NDowNyArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwYjZlMDcyIHRvIDk3MjBhN2QKCjIwMTAtMDMtMTAgMTY6MTA6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gN2NjNWViNCB0byAwYjZlMDcyCgoyMDEwLTAzLTEwIDExOjMzOjEwICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnZ0ZWxlY2luZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2YueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgIGRvY3M6IFVwZGF0ZSB0byBtYXRjaCByZWNlbnQgY29tbWl0cwoKMjAxMC0wMy0xMCAwMToxMDoyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDdhYTY1YjUgdG8gN2NjNWViNAoKMjAwOS0xMi0wOCAxNjozNjoxNiAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGxpc3QgdmFsaWQgaXNvLXNwZWVkcyBpbiBoZWxwIGFuZCB2YWxpZGF0ZSBzcGVlZHMgaW4gc2V0X3Byb3BlcnR5LgoKMjAwOS0xMi0wOCAxNjowNToxNCAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICBkYzEzOTQ6IGNoZWNrIGlzby1zcGVlZCB2YWx1ZXMgaW4gc2V0X3Byb3BlcnR5LCBpZ25vcmUgaWYgaW52YWxpZAoKMjAwOS0xMi0wOCAxNTozNzowMyAtMDUwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBkYzEzOTQ6IGFkZCBpc28tc3BlZWQgcHJvcGVydHkKCSAgQWRkIGlzby1zcGVlZCBwcm9wZXJ0eSB3aGljaCBhbGxvd3MgZm9yIGhpZ2hlciBiYW5kd2lkdGggZGMgdmlkZW8uCgkgIEF1dG9tYXRpY2FsbHkgc2V0IHRvIGItbW9kZSBhcyBuZWVkZWQuCgkgIEZpeGVzICM2MDM3NDUuCgoyMDEwLTAzLTA5IDE5OjQ4OjQ0ICswMTAwICBWw61jdG9yIE1hbnVlbCBKw6FxdWV6IExlYWwgPHZqYXF1ZXpAaWdhbGlhLmNvbT4KCgkqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgaW5wdXRzZWxlY3RvcjogZml4IHRoZSBMREZMQUdTCgoyMDEwLTAzLTA5IDIxOjM4OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDRlY2NlNyB0byA3YWE2NWI1CgoyMDEwLTAzLTA5IDIxOjI2OjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSAgc2Nocm9lbmM6IE9ubHkgZW5hYmxlIGZyYW1lc3RhdHMgY29kZSB3aXRoIHNjaHJvID49IDEuMC45CgoyMDEwLTAyLTI4IDEwOjQyOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJzcmMuYzoKCSAgZnJlaTByOiBTeW5jIHByb3BlcnRpZXMgdG8gdGhlIGNvbnRyb2xsZXIgaWYgb25lIHdhcyBzZXQKCjIwMTAtMDItMjcgMTk6MDg6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IFByb3RlY3Qgc2V0L2dldCBwcm9wZXJ0eSBhbmQgcHJvY2Vzc2luZyBmdW5jdGlvbnMgZnJvbSBjb25jdXJyZW50IGFjY2VzcwoJICBUaGUgZnJlaTByIGRvY3VtZW50YXRpb24gc2F5cyB0aGF0IHRoZXNlIGZ1bmN0aW9ucyBtdXN0IG5vdCBiZSBjYWxsZWQKCSAgb24gdGhlIHNhbWUgaW5zdGFuY2UgZnJvbSBkaWZmZXJlbnQgdGhyZWFkcyBhdCB0aGUgc2FtZSB0aW1lLiBBbGwKCSAgb3RoZXIgZnVuY3Rpb25zIGFyZSBndWFyYW50ZWVkIHRvIGJlIHRocmVhZHNhZmUuCgoyMDEwLTAyLTI2IDE2OjQwOjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiBNYWtlIHNvbWUgbW9yZSBydWxlcyBzaWxlbnQgaWYgcmVxdWVzdGVkCgoyMDEwLTAyLTI2IDE1OjQ1OjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBVc2UgYXV0b21ha2UgMS4xMSBzaWxlbnQgcnVsZXMgaW5zdGVhZCBvZiBzaGF2ZSBpZiBhdmFpbGFibGUKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgd2UgdXNlIHNvbWV0aGluZyB0aGF0IGlzIHN0aWxsIG1haW50YWluZWQgYW5kCgkgIGFsc28gYnJpbmdzIGJhY2sgbGlidG9vbCAxLjUgc3VwcG9ydC4KCjIwMTAtMDItMjYgMTU6MjU6NTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHRlc3QgZm9yIGNvcnJlY3QgSTQyMCByZW5kZXJpbmcKCjIwMTAtMDMtMDkgMTI6MzM6MzcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogQWRkIGZyYW1lLXN0YXRzIG1lc3NhZ2UKCjIwMTAtMDMtMDggMjE6MDA6MjEgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaW52dGVsZWNpbmUvTWFrZWZpbGUuYW06CgkqIGdzdC9pbnZ0ZWxlY2luZS9nc3RpbnZ0ZWxlY2luZS5jOgoJICBpbnZ0ZWxlY2luZTogQWRkIGludnRlbGVjaW5lIGVsZW1lbnQKCSAgQXV0b21hdGljIGludmVyc2UgdGVsZWNpbmUgZWxlbWVudC4gIFJpZ2h0IG5vdywgaXQgY2x1bXNpbHkgYXR0ZW1wdHMKCSAgdG8gcmVhcnJhbmdlIHZpZGVvIGZpZWxkcyBpbnRvIGZyYW1lcyB0aGF0IGRvbid0IGhhdmUgY29tYmluZyBlZmZlY3RzLAoJICBhbmQgb25seSB3b3JrcyB3aXRoIDYwaS8yNHAgY29udGVudCBhdCA3MjB4NDgwLiAgTGF0ZXIsIGl0IHdpbGwgaGFuZGxlCgkgIG90aGVyIHB1bGxkb3duIHZhcmlhdGlvbnMsIGNoYW5nZSBjYXBzIGFuZCBzbW9vdGggdGltZXN0YW1wcwoJICBhcHByb3ByaWF0ZWx5LgoKMjAxMC0wMy0wMSAxMzo0OTozOSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzoKCSAgYXBleHNpbms6IFVzZSAiYXBleHNpbmsiIGZvciBwbHVnaW4gbmFtZQoKMjAxMC0wMy0wMSAxMzo0NzozMiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB3bW5jOiBVcGRhdGUgZGVzY3JpcHRpb24KCjIwMTAtMDMtMDEgMTM6MjI6MDYgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBudXZkZW11eDogVXBkYXRlIHBsdWdpbiBkZXNjcmlwdGlvbgoKMjAxMC0wMy0wMSAxMzoxODo1OSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgbnNmOiBOYW1lIHRoZSBwbHVnaW4gbnNmLCBub3QgbnNmZGVjCgkgIFRoZSBwbHVnaW4gaW4gZ3N0bnNmLnNvIHNob3VsZCBiZSBuYW1lZCBuc2YsIG5vdCBuc2ZkZWMuCgoyMDEwLTAzLTA4IDEyOjIzOjQ4IC0wMzAwICBUaWFnbyBLYXRjaXBpcyA8dGlhZ29rYXRjaXBpc0BnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgc291bmR0b3VjaDogcmVtb3ZpbmcgdmVyeSBhbm5veWluZyBnX3ByaW50KCkgaW4gcGl0Y2ggZWxlbWVudAoJICBGaXhlcyAjNjEyMjA4LgoKMjAxMC0wMy0wOSAxNzo1MDoyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudAoKPT09IHJlbGVhc2UgMC4xMC4xOCA9PT0KCjIwMTAtMDMtMDYgMDE6NDk6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jb2cueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGF0YXVyaXNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xOAoKMjAxMC0wMy0wNiAwMTozOTo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAxMC0wMy0wMyAyMzo0MjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy40IHByZS1yZWxlYXNlCgoyMDEwLTAyLTIyIDE5OjM4OjE1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogUmVuYW1lICdhdmMtc2FtcGxlJyB0byAnYXZjJyBpbiBjYXBzCgkgIEZpeGVzICM2MDY2NjIKCjIwMTAtMDItMjIgMTk6MjQ6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBSZXBsYWNlICdhdmMtc2FtcGxlJyB3aXRoICdhdmMnIGluIGNhcHMKCSAgRml4ZXMgIzYwNjY2MgoKMjAxMC0wMi0yOCAyMzoxNDozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgZG9jczogcmVtb3ZlIGJpdHMgdGhhdCByZWZlciB0byBwbHVnaW5zIHRoYXQgaGF2ZSBiZWVuIG1vdmVkCgoyMDEwLTAyLTI2IDE4OjA2OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRHJvcCB0ZXh0IGJ1ZmZlcnMgYmVmb3JlIHRoZSBzZWdtZW50IHN0YXJ0IGFuZCBjbGlwIHJ1bm5pbmcgdGltZSBlbmQgdG8gdGhlIHNlZ21lbnQgc3RvcAoKMjAxMC0wMi0yNyAxMToyMzoxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IENvbnN1bWUgdGV4dCBidWZmZXJzIGlmIHRoZXkncmUgdG8gYmUgZGlzcGxheWVkIGluIHRoZSBuZXh0IDUwMG1zCgkgIEluc3RlYWQgb2Ygb25seSBjb25zdW1pbmcgdGhlbSBpZiB0aGV5J3JlIHRvIGJlIGRpc3BsYXkgbm93LiBDb25zdW1pbmcKCSAgdGhlbSB0aGVuIG1pZ2h0IG1ha2UgZm9sbG93aW5nIGJ1ZmZlcnMgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXAgdG8KCSAgYmUgdG9vIGxhdGUuCgoyMDEwLTAyLTI2IDExOjUwOjI1IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogVGFrZSBsb2NrIGFyb3VuZCB1c2Ugb2YgKG5vbi10aHJlYWRzYWZlKSB0YWdzZXR0ZXIgaW50ZXJmYWNlLgoKMjAxMC0wMi0yNCAwMjowMzoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNy4zIHByZS1yZWxlYXNlCgoyMDEwLTAyLTIzIDE4OjE2OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogUHJvdGVjdCBsaWJhc3Mgc3RydWN0dXJlcyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzIGZyb20gbXVsdGlwbGUgdGhyZWFkcwoJICBGaXhlcyBidWcgIzYwODc1MS4KCjIwMTAtMDItMjMgMTc6Mjg6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgJFBLR19DT05GSUcgaW5zdGVhZCBvZiBwa2ctY29uZmlnIHRvIGZpeCBjcm9zcyBjb21waWxhdGlvbgoKMjAxMC0wMi0yMiAxNjo1MTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IHdyaXRlIGFsbCB1ZHRhIGNoaWxkcmVuIGF0b21zCgkgIFVEVEEgbWlnaHQgaGF2ZSBNRVRBIGFuZCBvdGhlciBjaGlsZHJlbiBhdG9tcwoJICB0b2dldGhlciwgd3JpdGUgdGhlbSBhbGwuCgoyMDEwLTAyLTIyIDEwOjQ4OjExIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IFVzZSBpbnRlcm5hbCBzaW5rIHBhZHMgbGlzdAoJICBEdWUgdG8gR3N0Q29sbGVjdFBhZHMgc2luayBwYWRzIGxpc3QgYmVpbmcgbm90IHJlbGlhYmx5CgkgIGl0ZXJhdGFibGUgKHdoZW4gbm90IGluc2lkZSB0aGUgY29sbGVjdGVkIGZ1bmN0aW9uKSB0aGlzCgkgIHBhdGNoIGFkZHMgYSBzaW5rIHBhZHMgbGlzdCB0byBxdG11eCB0byBiZSB1c2VkIHdoZW4gaXRlcmF0aW5nCgkgIHNpbmsgcGFkcyBvbiByZXNldCBmdW5jdGlvbi4KCSAgRml4ZXMgIzYwOTA1NQoKMjAxMC0wMi0yMSAxOTo1NzoxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgZmFhZDogZml4IE1ha2VmaWxlLmFtIHNvbWUgbW9yZQoJICBGQUFEX0NGTEFHUyBhbmQgX0xJQlMgc2hvdWxkIGJlIGF0IHRoZSBlbmQsIGFuZCAtbGdzdGF1ZGlvLTAuMTAKCSAgc2hvdWxkIGdvIHJpZ2h0IGFmdGVyIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4KCjIwMTAtMDItMTkgMTU6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvTWFrZWZpbGUuYW06CgkgIGZhYWQ6IExpbmsgd2l0aCBsaWJnc3RiYXNlIGZvciBHc3RBZGFwdGVyCgkgIEFsc28gZml4IG9yZGVyIG9mIENGTEFHUyBhbmQgTElCUwoKMjAxMC0wMi0xOSAwODo1ODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE3LjIgcHJlLXJlbGVhc2UKCjIwMTAtMDItMTkgMDg6NTg6MDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIGdlbmVyYXRlZCBjb2cgZmlsZXMKCjIwMTAtMDItMTkgMTA6MzI6MzMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGZpeCBOVUxMIHJlZiBhbmQgZXJyb3IgaGFuZGxpbmcgaWYgbm8gdmlkZW8gc2luayBpcyBmb3VuZAoJICBJZiBubyB2aWRlbyBzaW5rIGlzIHNldCBhbmQgYXV0b3ZpZGVvc2luayBpcyBub3QgYXZhaWxhYmxlIGZvciBzb21lCgkgIHJlYXNvbiwgcG9zdCBhIHByb3BlciBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMgd2hlbiBmYWlsaW5nIHRvCgkgIGNoYW5nZSBzdGF0ZSwgYW5kIGRvbid0IHRyeSB0byBnc3Rfb2JqZWN0X3JlZigpIE5VTEwgcG9pbnRlcnMuIEZpeGVzCgkgIGdlbmVyaWMvc3RhdGVzIHVuaXQgdGVzdCB3aGVuIGRpc3RjaGVja2luZy4KCjIwMDktMTItMTAgMTY6MzA6MjYgLTA1MDAgIFN0ZXBoZW4gRGVwb290ZXIgPHN0ZXBoZW5kQHhhbmRyb3MuY29tPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0OiBmaXggY29tcGlsZSBhZ2FpbnN0IGVhcmxpZXIgQ0VMVCB2ZXJzaW9ucwoJICBDaGVjayB0aGUgZXhpc3RlbmNlIG9mIHRoZSBDRUxUX1NFVF9DT01QTEVYSVRZIHN5bWJvbAoJICBiZWZvcmUgdHJ5aW5nIHRvIHVzZSBpdC4gRml4ZXMgY29tcGlsYXRpb24gYWdhaW5zdAoJICBsaWJjZWx0IDAuNC4wLgoJICBGaXhlcyAjNjA0MzExLgoKMjAxMC0wMi0xNyAxMjozNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogcmV0dXJuIG9mZnNldCtsZW5ndGggZnJvbSBfZ2V0X2ltYWdlX2xlbmd0aCgpLgoJICBfZmluZF9lbmRfbWFya2VyKCkgZmluZCB0aGUgcG9zaXRpb24gb2YgdGhlIG1hcmtlci4gRU9JIGhhcyBhIGZpeGVkIGxlbmd0aCBvZiAyCgkgIGJ5dGVzIHRoYXQgd2hlcmUgbWlzc2luZy4gRml4ZXMgIzYwODk5OAoKMjAxMC0wMi0xNyAwMTozNDo0NSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgbmV3IGZhYWQgdW5pdCB0ZXN0CgoyMDEwLTAyLTE3IDAxOjI5OjQwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGZpeCBpbnZhbGlkIG1lbW9yeSBhY2Nlc3MKCSAgU2VlIGJ1ZyAjNjA4OTk4LgoKMjAxMC0wMi0xNiAyMjoyMzo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBGaXggdW5pdCB0ZXN0IHRvIGFjdHVhbGx5IGNoZWNrIGZvciBldmVyeXRoaW5nIHRvIHdvcmsgY29ycmVjdGx5CgoyMDEwLTAyLTE2IDIyOjIyOjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgbm8gY29kZWMgZGF0YSBpcyBzZXQsIHN0aWxsIGluaXRpYWxpemUgdGhlIGFzcyB0cmFjawoKMjAxMC0wMi0xNiAyMTo0MTozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvYXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogQWRkIHNpbXBsZSB1bml0IHRlc3QKCSAgVGhpcyByZW5kZXJzIGEgdGVzdCBzdHJpbmcgb24gdG9wIG9mIGEgcmVkIHZpZGVvIHN0cmVhbSBhbmQgY2hlY2tzCgkgIGlmIHRoZSB0ZXh0IGlzIG9ubHkgcmVuZGVyZWQgYXQgdGhlIGNvcnJlY3QgdGltZXN0YW1wcy4KCjIwMTAtMDItMTYgMjA6Mzg6MzEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6CgkgIG9mYTogRml4IHdhcm5pbmcgbWVzc2FnZSBwYXJzaW5nCgoyMDEwLTAyLTE2IDE2OjQ5OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZ3VhcmQgYWdhaW5zdCBjb2RlY19kYXRhIGZpZWxkIHdpdGggYSBOVUxMIGJ1ZmZlciBpbiBjYXBzCgkgIEZpeGVzICM2MDk0NzguCgoyMDEwLTAyLTE2IDE3OjEzOjA5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogcHJldmVudCBsZWFraW5nIGhkbHIgbmFtZQoKMjAxMC0wMi0xNiAxNjoyNDoxMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IHN1cHBvcnQgZm9yIEFMQUMKCSAgRml4ZXMgIzU4MDczMS4KCjIwMTAtMDItMTYgMTQ6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiByZWZhY3RvciBidWlsZGluZyBzdHNkIGVudHJ5ICd3YXZlJyBleHRlbnNpb24KCjIwMTAtMDItMTYgMTA6MDA6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSAuc3BlYyBmaWxlOiBzaGFwZXdpcGUgYW5kIGl2b3JiaXNkZWMgaGF2ZSBiZWVuIG1vdmVkIGVsc2V3aGVyZQoKMjAxMC0wMi0xNiAwOTo0OTowNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGRvY3M6IHVuaWZ5IGRvYyBzdHlsZQoJICBVc2UgZ3RrZG9jIHN5bnRheCBhbmQgYWRkIHNob3J0IGRlc2MgZm9yIHRoZSBleGFtcGxlcy4KCjIwMTAtMDItMTUgMjM6NDM6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCB1cCBHU1RfQ1hYRkxBR1MgcHJvcGVybHkKCSAgV2UgZG9uJ3Qgd2FudCBDIHNwZWNpZmljIGZsYWdzIGluIEdTVF9DWFhGTEFHUywgc28gYmFzZSBpdCBvbiB0aGUKCSAgR1NUX0NGTEFHUyB0aGF0IG9ubHkgY29udGFpbnMgdGhlIHBrZy1jb25maWcgQ0ZMQUdTIGJ1dCBub25lIG9mCgkgIHRoZSBHU1RfT1BUSU9OX0NGTEFHUy4gQWxzbywgd2Ugb25seSBuZWVkIHRoZSBsb2NhbCBpbmNsdWRlcyBvbmNlLgoKMjAxMC0wMi0xNSAyMzoxNzo1NyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJhc2UgR1NUX0NYWEZMQUdTIG9uIC0tY2ZsYWdzIGZyb20gcGtnLWNvbmZpZwoJICBwa2ctY29uZmlnIHNldHMgR1NUX0NGTEFHUyBhbmQgR1NUX0xJQlMuIFdlIG5lZWQgdG8gdXNlIENGTEFHUyBhcyBhIHN0YXJ0aW5nCgkgIHBvaW50IGZvciBmb3IgYm90aCBDIGFuZCBDWFggc2V0dGluZ3MuCgoyMDEwLTAyLTE1IDEyOjU3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkgIGNvZ21zZTogZml4IHByaW50ZiBmb3JtYXQgYW5kIGEgZmV3IHJlZiBsZWFrcwoKMjAxMC0wMi0xNSAxMjo0NjoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIG00L01ha2VmaWxlLmFtOgoJKiBtNC9nc3QtaXZvcmJpcy5tNDoKCSAgYnVpbGQ6IHJlbW92ZSBzb21lbSBtb3JlIGl2b3JiaXMgY3J1ZnQKCjIwMTAtMDItMTUgMTE6NTU6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSAgTW92ZWQgJ2l2b3JiaXMoZGVjKScgZnJvbSAtYmFkIHRvIC1iYXNlLgoJICBGaXhlcyAjNjA5MDYzLgoKMjAxMC0wMi0xNSAwOTozNjowNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRml4IGZpZWxkIGVycm9yLgoJICBTcG90dGVkIGJ5IEJ1cmtoYXJkIFBsYXVtCgoyMDEwLTAyLTE1IDAxOjI2OjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2pwZWdwYXJzZS5jOgoJICB0ZXN0czogZml4IGNhcHMgbGVhayBpbiBqcGVncGFyc2UgdW5pdCB0ZXN0CgoyMDEwLTAyLTEzIDE1OjI4OjM5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RhdGF1cmlzcmMuYzoKCSAgdGVzdHM6IGFkZCB1bml0IHRlc3QgZm9yIGRhdGF1cmlzcmMKCSAgUmVxdWlyZXMgZml4ZXMgZnJvbSBjb3JlIGdpdCwgc28gYnVtcCBjb3JlIHJlcXVpcmVtZW50IHRvIGdpdCBhcyB3ZWxsLgoKMjAxMC0wMi0xNCAyMzoxODoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDk2ZGM3OTMgdG8gNDRlY2NlNwoKMjAxMC0wMi0xNCAxNToyMjowNSArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEudWk6CgkgIGV4YW1wbGVzOiBDYWxsIGdzdF9lbnN1cmVfbmF0aXZlX3dpbmRvdygpIGZvciBnc3QtY2FtZXJhCgkgIEZpeGVzIHNwdXJpb3VzIFNFR1ZzIGR1ZSB0byBtdWx0aXRocmVhZGluZyBjb25mbGljdHMgaW4KCSAgY2xpZW50LXNpZGUtd2luZG93IEd0ayB2ZXJzaW9ucy4KCjIwMTAtMDItMTQgMTM6NDM6MDQgKzAxMDAgIEJlbmphbWluIE90dGUgPG90dGVAcmVkaGF0LmNvbT4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBVc2UgZ3RrIGZ1bmN0aW9ucyBpbnN0ZWFkIG9mIGxpYlgxMSBmdW5jdGlvbnMgaW4gY2FtZXJhYmluCgkgIEdldHMgYXJvdW5kIHRoZSBuZWVkIHRvIGxpbmsgdG8gbGliWDExIGRpcmVjdGx5IGFuZCBwcm92aWRlcyB0aGUgc2FtZQoJICBmdW5jdGlvbmFsaXR5LgoJICBUbyBib29zdCwgaXQncyBtb3JlIHBvcnRhYmxlLCB0b28hCgoyMDEwLTAyLTE0IDEzOjQxOjU3ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IFByb3Blcmx5IGxpbmsgdG8gbGlibQoKMjAxMC0wMi0xMyAxMTowMDowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSAgQWRkIHNoYXBld2lwZSBleGFtcGxlcyBkaXJlY3RvcnkgdG8gQ1JVRlRfRElSUwoKMjAxMC0wMi0xMiAxMTozNTowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tanBlZ2Zvcm1hdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJICBkb2NzOiBVcGRhdGUgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMiAxMToyMToyMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBNYWtlZmlsZS5hbToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvc2hhcGV3aXBlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBNb3ZlZCAnc2hhcGV3aXBlJyBmcm9tIC1iYWQgdG8gLWdvb2QKCSAgRml4ZXMgYnVnICM1ODQ1MzYuCgoyMDEwLTAyLTExIDIxOjU3OjQ5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBhZGQgZG9jdW1lbnRhdGlvbgoKMjAxMC0wMi0xMSAyMDozNzo1NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvZmFhZC5jOgoJICBmYWFkOiBhZGQgdW5pdCB0ZXN0CgoyMDEwLTAyLTExIDIwOjIxOjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IGRvY3VtZW50YXRpb24gdHlwbwoKMjAxMC0wMi0xMSAyMDoyMToxNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlbW92ZSBzb21lIHJlZHVuZGFudCBjb2RlCgkgIC4uLiBhbmQgbW92ZSBhbmQgbW9kaWZ5IHNvbWUgZGVidWcgbG9nZ2luZy4KCjIwMTAtMDItMTAgMjM6Mjk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBkcmFpbiBzeW5jIHBlbmRpbmcgZnJhbWVzIHdoZW4gYXBwcm9wcmlhdGUKCjIwMTAtMDItMTAgMjM6MTQ6NDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBzZW5kIHRhZ3MgZXhhY3RseSBvbmNlIHdoZW4gaW5pdCdlZAoKMjAxMC0wMi0xMCAyMzoxNDoyMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IHJlZmFjdG9yIHNvbWUgcGFydGlhbCBzdHJlYW0gcmVzZXQKCjIwMTAtMDItMTAgMjI6MTQ6MDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBjb3JyZWN0bHkgZXN0aW1hdGUgYXZlcmFnZSBicHMKCSAgQ291bnQgY29uc3VtZWQgYnl0ZXMgYW5kIGNvcnJlc3BvbmRpbmcgZHVyYXRpb24gYXRvbWljYWxseSwKCSAgcmF0aGVyIHRoYW4gbGV0dGluZyBieXRlY291bnQgcnVuIGFoZWFkIG9mIHdoYXQgaGFzIGJlZW4gZGVjb2RlZC4KCSAgRml4ZXMgIzQ0MDQ3Ni4KCjIwMTAtMDItMTAgMjE6NDk6MDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiBnaXZlIHVwIGFmdGVyIHNvbWUgbnVtYmVyIG9mIGRlY29kaW5nIGZhaWx1cmVzCgoyMDEwLTAyLTEwIDIxOjM3OjEyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiBkbyBub3QgYXR0ZW1wdCB0byBzeW5jIGluZGVmaW5pdGVseQoKMjAxMC0wMi0xMCAyMToxMjowNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFkYXB0ZXIgcmF0aGVyIHRoYW4gdGVtcG9yYXJ5IGJ1ZmZlcgoKMjAxMC0wMi0xMCAxOToxNDoxOSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IG9iamVjdGlmeSBkZWJ1ZyBzdGF0ZW1lbnRzIGFuZCBhZGp1c3Qgc29tZSBsZXZlbHMKCjIwMTAtMDItMTAgMTg6NDY6MTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciBzcmMgY2FwcyAocmUpbmVnb3RpYXRpb24gYW5kIHJlZmxvdyBzb21lIGVycm9yIGV4aXRzCgoyMDEwLTAyLTA5IDIzOjM1OjIwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5oOgoJICBmYWFkOiByZW1vdmUgZGVmdW5jdCBhbmQgb3RoZXJ3aXNlIG9ic29sZXRlIGNvZGUKCjIwMTAtMDItMDkgMjM6MjU6MTMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiByZWZhY3RvciByZXNldAoKMjAxMC0wMi0wOSAyMjo0NjozMiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgZmFhZDogdXNlIGFuIGluIHN0cnVjdCBzZWdtZW50IHJhdGhlciB0aGFuIGEgc2VwYXJhdGVseSBhbGxvY2F0ZWQgb25lCgoyMDEwLTAyLTEwIDEwOjUyOjUzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogUHJlc2VydmUgdGhlIGlucHV0IGNvbG9yIHZhbHVlcyBpbiBhbGwgY2FzZXMKCjIwMTAtMDItMTAgMTA6NTA6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBTY2FsZSBtYXNrIGFscGhhIHZhbHVlcyBieSB0aGUgc291cmNlIGFscGhhIHZhbHVlcwoKMjAxMC0wMi0xMCAxMDo0MjozMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEZpeCBBUkdCIHByb2Nlc3NpbmcKCjIwMTAtMDItMTAgMTA6MzQ6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL3NoYXBld2lwZS1leGFtcGxlLmM6CgkgIHNoYXBld2lwZTogUHJpbnQgc29tZSBtb3JlIGRldGFpbHMgb24gZXJyb3Ivd2FybmluZyBtZXNzYWdlcwoKMjAxMC0wMi0wOSAxNToyMDozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBOZXZlciBmbHVzaCBtb3JlIGJ5dGVzIHRoYW4gYXZhaWxhYmxlCgkgIFRoaXMgY291bGQgaGFwcGVuIGlmIHRoZSBpbnB1dCBkb2Vzbid0IGNvbnRhaW4gYW55IE1QRUcgVFMKCSAgZGF0YSBhbmQgdGhlIGNvbXBsZXRlIGFkYXB0ZXIgY29udGVudCBzaG91bGQgYmUgc2tpcHBlZC4KCjIwMTAtMDItMDggMTE6NTE6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSAgcXRtdXg6IGF0b21zcmVjb3Zlcnk6IEZpeCBjb21waWxhdGlvbiBwcm9ibGVtCgkgIEZpeGVzIGEgY29tcGlsYXRpb24gZXJyb3IgZHVlIHRvIHVudXNlZCBmdW5jdGlvbiByZXN1bHQuCgoyMDEwLTAyLTA4IDA4OjI2OjMzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogSW1wcm92ZS9hZGQgZGVidWcgb3V0cHV0CgoyMDEwLTAyLTA4IDA4OjIwOjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWx3YXlzIGhvbGQgdGhlIG1hc2sgbXV0ZXggYmVmb3JlIHNpZ25hbGxpbmcgdGhlIEdDb25kCgoyMDEwLTAyLTA4IDA4OjE5OjQ4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogTW92ZSBjaGFpbiBmdW5jdGlvbiBlcnJvciBjYXNlcyBhdCB0aGUgZW5kIG9mIHRoZSBmdW5jdGlvbiBhbmQgYWRkIHVzZWZ1bCBkZWJ1ZyBvdXRwdXQKCjIwMTAtMDItMDggMDg6MTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBGaXggcmFjZSBjb25kaXRpb24gZHVyaW5nIHNodXRkb3duIHRoYXQgY2FuIGxlYWQgdG8gYSBkZWFkbG9jawoKMjAxMC0wMi0wOCAwODoxMTozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IERyb3AgbWFzayBidWZmZXIgb24gRkxVU0ggZXZlbnRzCgoyMDEwLTAyLTA4IDA4OjA5OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkgIHNoYXBld2lwZTogVXBkYXRlIGNvcHlyaWdodCB5ZWFyCgoyMDEwLTAyLTA4IDA4OjA4OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgcmVzZXQgcHJvcGVydGllcyB3aGVuIGdvaW5nIFBBVVNFRC0+UkVBRFkKCSAgQWxzbyB1c2UgZGVmaW5lcyBmb3IgdGhlIGRlZmF1bHQgdmFsdWVzIG9mIHRoZSBwcm9wZXJ0aWVzLgoKMjAxMC0wMi0wNyAxMTowOTo0NSArMDEwMCAgRGF2aWQgSG95dCA8ZGhveXRAbGxubC5nb3Y+CgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmM6CgkgIHJzdmdkZWM6IGZpeCBjb21waWxhdGlvbiB3aXRoIE1TVkMKCSAgTVNWQyBkb2Vzbid0IGxpa2UgI2lmICNlbHNlIHdpdGhpbiBzdGF0ZW1lbnRzLgoJICBGaXhlcyAjNjA5MjE1LgoKMjAxMC0wMS0yNiAxNzowODowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSAga2F0ZWRlYzogZG9uJ3QgZXNjYXBlIHNwZWNpYWwgY2hhcmFjdGVycwoJICBEb24ndCBlc2NhcGUgc3BlY2lhbCBjaGFyYWN0ZXJzLCBhcyB3ZSdsbCBzZW5kIHRoZSBidWZmZXIgYXMKCSAgdGV4dC9wbGFpbiByYXRoZXIgdGhhbiB0ZXh0L3gtcGFuZ28tbWFya3VwOyB0aGlzIGF2b2lkcyBlLmcuCgkgIHF1b3RlcyBmcm9tIGFwcGVhcmluZyBhcyAmcXVvdDsgaW4gdGhlIHJlbmRlcmVkIHN1YnRpdGxlcy4KCSAgU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMS0yNCAxMToxNDoxNSArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICBrYXRlOiByZW5hbWUgdGhlIHRpZ2VyIG92ZXJsYXkgZWxlbWVudCdzIHNpbmsgcGFkIHRvICdzdWJ0aXRsZV9zaW5rJwoJICBBcyB0aGlzIGlzIHdoYXQgcGxheWJpbjIgZXhwZWN0cy4gU2VlIGJ1ZyAjNjAwOTI5LgoKMjAxMC0wMi0wNyAxMDoxOTowNiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkgIGpwZWdwYXJzZTogbG93ZXIgcmFuayB0byBOT05FIHNvIGl0IGlzIG5vdCBhdXRvcGx1Z2dlZCBmb3IgZGVjb2RpbmcKCSAgVGhpcyBlbGVtZW50IGlzIHRvbyBuZXcgYW5kIHRvbyB1bnRlc3RlZCB0byBoYXZlIGl0IGF1dG9wbHVnZ2VkLgoKMjAxMC0wMi0wNSAxNzoyNTo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBGaXggdW5pdCB0ZXN0CgkgIFRoZSBwYXJzZWQgYnVmZmVycyBoYXZlIGEgZnJhbWVyYXRlIG9mIDEvMS4KCSAgRml4ZXMgYnVnICM2MDg5OTguCgoyMDEwLTAyLTA1IDEwOjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkgIG1ldGFkYXRhOiBhcHBlbmRfc29ydGVkIHNob3VsZCByZWFsbHkgYXBwZW5kIHNvcnRlZAoJICAuLi4gd2hpY2ggbWVhbnMgdGhhdCBpZGVudGljYWwgb2Zmc2V0X29yaWcgc2hvdWxkIHByZXNlcnZlIHRoZSBvcmRlcgoJICBpbiB3aGljaCB0aGV5IGFyZSBhcHBlbmRlZC4KCjIwMTAtMDItMDUgMTA6MTY6MjcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgbWV0YWRhdGE6IHVzZSBhIG5vbi1ERUZBVUxUIHByb3BlciBkZWJ1ZyBjYXRlZ29yeSBpbiBoZWxwZXIgZmlsZXMKCjIwMTAtMDItMDQgMTk6NDU6NDIgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSAgbXBlZ3RzbXV4OiBGaXggYSBwb3RlbnRpYWwgdW5yZWYgb2YgYSBOVUxMIHBvaW50ZXIuCgkgIEF0IGZpcnN0IGl0ZXJhdGlvbiB3ZSBkb24ndCBoYXZlIGFueSBjYWNoZWQgU1BTL1BQUyBidWZmZXIgdG8gZnJlZS4KCjIwMTAtMDItMDIgMTE6NDM6MjIgLTA1MDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBhZGQgUEFUL1BNVCBpbiBzdHJlYW1oZWFkZXIKCSAgVGhlIGNoZWNrIGZvciBQQVQvUE1UIGJ1ZmZlcnMgd2FzIHN1Z2dlc3RlZCBieQoJICBaYWhlZXIgQWJiYXMgTWVyYWxpLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA4ODk2CgoyMDEwLTAyLTAzIDEzOjMxOjIyICswMTAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eGNvbW1vbi5oOgoJICBtcGVndHNtdXg6IGFkZCBwYXQtaW50ZXJ2YWwgYW5kIHBtdC1pbnRlcnZhbCBwcm9wZXJ0aWVzCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDItMDMgMTM6NDE6MjcgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogZml4IFBBVC9QTVQgaW5zZXJ0aW9uIGZyZXF1ZW5jeQoJICBUaGUgY3VycmVudCBjb2RlIGlzIGNvbXBhcmluZyB0aW1lc3RhbXBzIHdpdGggZGlmZmVyZW50IGNsb2NrLgoJICBMZXQncyB1c2Ugb25seSB0aGUgY2xvY2sgZm9yIFBUUyB2YWx1ZXMuCgkgIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBpbnRlcnZhbCwgdG8gYXZvaWQgY29uZnVzaW9uLiBBbmQgcmVtb3ZlCgkgIGRvY3VtZW50YXRpb24gYWJvdXQgdmFsdWUgMCwgd2hpY2ggd29uJ3Qgd29yayBsaWtlIGRvY3VtZW50ZWQuCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDg4OTYKCjIwMTAtMDEtMjcgMTY6Mjk6MDAgKzAxMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbWFya2luZyBub24tZGVsdGEgdW5pdCwgaW5jbHVkaW5nIHByZS1zZWN0aW9ucwoJICBUaGlzIHBhdGNoIGFkZHJlc3MgdGhlIGlzc3VlIG9ic2VydmVkIHdpdGggS0YgdGltZXN0YW1wcwoJICBhbmQgZGVsdGEgZmxhZy4gV2hlbiBhIHNlY3Rpb24gaXMgYXBwZW5kZWQgYmVmb3JlIHRoZSBrZXlmcmFtZSwKCSAgaXQgaXMgbm90IG1hcmtlZCBhcyBub24tZGVsdGEuIEl0J3MgcHJlZmVyYWJsZSB0byBtYXJrIHRoZQoJICBmaXJzdCBidWZmZXIgbm9uLWRlbHRhLgoJICBUaGlzIHBhdGNoIGFsc28gc2ltcGxpZnkgdGhlIGluaXRpYWwgcGF0Y2ggd3JpdHRlbiBieSB0aG9tYXMsCgkgIHNpbmNlIGl0IGRvZXMgbm90IGNsdXR0ZXIgdHNtdXgvIHdpdGggYSBkZWx0YSBmbGFnIHBhc3NlZAoJICBhcm91bmQgb25seSBmb3IgR1N0cmVhbWVyIGNvbnZlbmllbmNlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjA0OTA4CgoyMDEwLTAyLTAzIDE1OjA3OjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9NYWtlZmlsZS5hbToKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0amlmbXV4LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGppZm11eC5oOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSAganBlZ2Zvcm1hdDogYWRkIGEgYmFzaWMgamlmbXV4ZXIKCSAgVGhlIG5ldyBlbGVtZW50IGNhbiBjaG9wIGFuZCByZWFzc2VtYmxlIHRoZSBtYXJrZXJzLiBJIGltcGxlbWVudHMgdGhlIHRhZ3NldHRlcgoJICBhbmQgZm9yIG5vdyBjYW4gc2VyaWFsaXplIHNvbWUgdGFncyB0byBqcGVnIGNvbW1lbnRzLgoKMjAwOS0xMi0xMiAxNjowNzoxNSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuYzoKCSogZ3N0L3F0bXV4L2F0b21zcmVjb3ZlcnkuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtb292cmVjb3Zlci5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eHBsdWdpbi5jOgoJICBxdG11eDogQWRkcyBtb292IHJlY292ZXJ5IGZlYXR1cmUKCSAgQWRkcyBhIG5ldyBwcm9wZXJ0eSB0byBxdG11eCB0aGF0IHNldHMgYSBwYXRoIHRvIGEgZmlsZSB0byB3cml0ZQoJICBhbmQgdXBkYXRlIGRhdGEgYWJvdXQgdGhlIG1vb3YgYXRvbSAodGhhdCBpcyBub3Qgd3JpdGVuIHRpbGwgdGhlCgkgIGVuZCBvZiB0aGUgZmlsZSkuIElmIHRoZSBwaXBlbGluZS9hcHAgY3Jhc2hlcyBkdXJpbmcgZXhlY3V0aW9uIGl0CgkgIG1pZ2h0IGJlIHBvc3NpYmxlIHRvIHJlY292ZXIgdGhlIG1vdmllIHVzaW5nIHRoZSBxdG1vb3ZyZWNvdmVyIGVsZW1lbnQuCgkgIHF0bW9vdnJlY292ZXIgaXMgYW4gZWxlbWVudCB0aGF0IGlzIGFsc28gYSBwaXBlbGluZS4gSXQgaXMgbm90CgkgIG1lYW50IHRvIGJlIHVzZWQgd2l0aCBvdGhlciBlbGVtZW50cyAoaXQgaGFzIG5vIHBhZHMpLiBJdCBpcyBtZXJlbHkKCSAgYSB0b29sL3V0aWxpdGFyeSB0byByZWNvdmVyIHVuZmluaXNoZWQgcXRtdXggZmlsZXMuCgkgIEZpeGVzICM2MDE1NzYKCjIwMTAtMDItMDIgMTE6MjI6MDYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkgIGpwZWdwYXJzZTogaW1wcm92ZSBwYXJzaW5nCgkgIEhhbmRsZSBtb3JlIGFwcCBtYWtlci4gUHJpbnQgYXBwIG1hcmtlciBuYW1lcyB0byBkZWJ1ZyBsb2cuIFJlbWVtYmVyIGxhc3RfbWFya2VyCgkgIHdoZW4gcGFyc2luZyB0byBhdm9pZCByZXBhcnNpbmcgZnJvbSB0aGUgdmVyeSBiZWdpbi4KCjIwMTAtMDItMDIgMTI6MjM6MjQgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2gyNjQuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5oOgoJICBtcGVndHNtdXg6IGdlbmVyYXRlIFNQUy9QUFMgaGVhZGVyIG9uY2UgYW5kIGZpeCBvdmVyZmxvdwoJICBTb21lIEgyNjQgcGFja2V0cyBjYW4gYmUgYXMgc21hbGwgYXMgNSBieXRlcyBmb3IgcmVwZWF0ZWQgZnJhbWVzLgoJICBJbiBzdWNoIGEgc2l0dWF0aW9uIHRoZSBvdXRwdXQgYnVmZmVyIHNpemUgd2FzIG5vdCBiaWcgZW5vdWdoICg1KjIpIHRvIGZpdCB0aGUKCSAgU1BTL1BQUyBoZWFkZXIgYW5kIHRoZSBzdGFydCBjb2Rlcy4gVGhpcyBjb3JydXB0cyB0aGUgRVMgc3RyZWFtLgoJICBXZSBub3cgZ2VuZXJhdGUgdGhlIFNQUy9QUFMgb25seSBvbmNlIHdoaWNoIGlzIG11Y2ggbW9yZSBvcHRpbWFsIGFuZCB3ZSBub3cKCSAga25vdyB0aGUgc2l6ZSBvZiB0aGUgaGVhZGVyIHRvIGNhbGN1bGF0ZSB0aGUgb3V0cHV0IGJ1ZmZlciBzaXplIG1vcmUgc2FmZWx5LgoKMjAxMC0wMi0wMiAwMTo0NDoyMCArMDEwMCAgR3JpZ29yaSBHb3Jvbnp5IDxncmVnQGJsYWNrYm94PgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBpbnN0cnVjdCBsaWJhc3MgdG8gdXNlIGxpZ2h0IGF1dG9oaW50aW5nCgkgIEZpeGVzIGJ1ZyAjNjA4NzUzLgoKMjAxMC0wMi0wMiAwODo1Mzo1MyArMDEwMCAgRXJpYyBBcHBsZW1hbiA8ZXJhcHBsZW1hbkBnbWFpbC5jb20+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERvbid0IHNjYW4gY3VycmVudCB3b3JraW5nIGRpcmVjdG9yeSByZWN1cnNpdmVseSBmb3IgZm9udHMKCSAgVGhpcyBjYW4gdGFrZSBhIHZlcnkgbG9uZyB0aW1lIGFuZCBhbHNvIGxpYmFzcyB3aWxsIG92ZXJ3cml0ZSBmaWxlcwoJICBpZiB0aGVyZSdzIGFuIGVtYmVkZGVkIGZvbnQgd2l0aCB0aGUgc2FtZSBmaWxlbmFtZSBhcyBhbiBleGlzdGluZyBmaWxlLgoJICBGaXhlcyBidWcgIzU3NTg3OCBhbmQgIzYwODcwNi4KCjIwMTAtMDItMDEgMTY6MjY6MzYgLTA4MDAgIERhdmlkIEhveXQgPGRob3l0QGxsbmwuZ292PgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgZHNob3d2aWRlb3Npbms6IGRvbid0IGNyYXNoIG9uIGludmFsaWQgQU1fTUVESUFfVFlQRQoKMjAxMC0wMS0yNyAxOTowNjo1MyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IGZvciBmaXhlZC1zYW1wbGUgc2l6ZSBzdHJlYW1zIChQQ00gYXVkaW8sIGV0YykgZG9uJ3QgYWxsb2NhdGUgYW4gZW5vcm1vdXMgYnVmZmVyIHRoYXQgd2UgdGhlbiB3b24ndCB1c2UgYXQgYWxsLgoKMjAxMC0wMS0yNyAxNTozNzozNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGhhbmRsZSBtdXhpbmcgYWRwY20gY29ycmVjdGx5LgoKMjAxMC0wMS0yMiAxMzozNjowNCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgcXRtdXg6IFNldCB0aGUgbWRpYSBoZGxyIG5hbWUgZmllbGQgdG8gd2hhdCBxdWlja3RpbWUgdXNlcy4gRml4IHdyaXRpbmcgaXQgc2luY2UgaXQncyBub3QgbnVsbC10ZXJtaW5hdGVkLiBJbXByb3ZlcyBjb21wYXRpYmlsaXR5IHdpdGggc29tZSBoYXJkd2FyZSBwbGF5ZXJzLgoKMjAxMC0wMS0yMiAxMzozMDowNyAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGVuZGlhbm5lc3MgaW4gZ3N0cmVhbWVyIGlzIGFuIGludCwgbm90IGJvb2xlYW4uCgoyMDEwLTAxLTE2IDEzOjE3OjA4IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogcGFyc2UgbW9yZSBmb3JtcyBvZiBjb2RlY19kYXRhCgoyMDEwLTAyLTAxIDIyOjM3OjM5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNvZGUgY2xlYW51cHMKCSAgTW9yZSBsb2dnaW5nIGFuZCBjb21tZW50cy4gUmVuYW1lIHNvbWUgdmFycyBmb3IgY29uc2lzdGVuY3kuIEZ1bGx5IGluaXQgcG9ydAoJICBzdHJ1Y3QuCgoyMDEwLTAyLTAxIDIyOjMyOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3IsbHYyLGxhZHNwYTogbW92ZSBzYW1wbGUtcmF0ZSB0byBiYXNlY2xhc3MKCSAgV2UgbmVlZCB0aGUgc2FtcGxlLXJhdGUgaW4gYmFzZWNsYXNzIGZvciB1cGNvbW1pbmcgdGltZXN0YW1wIGNoYW5nZXMuCgoyMDEwLTAyLTAxIDIyOjI0OjUyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL1JFQURNRToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaG9ydGVyIGVsZW1lbnQgbmFtZXMKCSAgQ3V0IG9mZiB0aGUgcHJvdG9jb2wgcGFydCBmcm9tIHRoZSB1cmkuIEFsc28ganVzdCBnX1N0cmR1cCwgaW5zdGVhZCBvZiBwcmludGYKCSAgdGhlIG5hbWUuCgoyMDEwLTAyLTAxIDE3OjQ2OjI5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBwcm92aWRlIGEgZ2V0Y2FwcyBmdW5jdGlvbiBmb3Igc3JjIHBhZCBhbmQgaW1wcm92ZSBzZXRjYXBzCgkgIFByZXZpb3VzbHkganBlZ3BhcnNlIHdhcyBmYWlsaW5nIGluIGRlY29kZWJpbiBhcyB0aGUgY2FwcyB3ZSB3ZXJlIHNldHRpbmcgd2hlcmUgbm90CgkgIHNldHRpbmcgYWxsIGNhcHMgZmllbGRzLiBXZSBuZWVkIHRoZSBvd24gZ2V0Y2FwcyBmdW5jdGlvbiB0byByZXBvcnQgd2hhdCB3ZSBhY3R1YWx5CgkgIGFjY2VwdC4KCjIwMTAtMDItMDEgMTc6MTY6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVncGFyc2U6IGV4dHJhY3QgY29tbWVudCBhbmQgcG9zdCBhcyBtZXRhZGF0YQoKMjAxMC0wMi0wMSAxNTowNDoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2pwZWdmb3JtYXQvTWFrZWZpbGUuYW06CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdmb3JtYXQuaDoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5oOgoJICBqcGVnZm9ybWF0OiBjb2RlIGNsZWFudXBzCgkgIE1vdmUgdGhlIGpwZWcgbWFya2VyIGRlZmluZXMgdG8gYSBoZWFkZXIgKHRvIGJlIHVzZWQgZm9yIGppZm11eCkuIFJld3JpdGUgc29tZQoJICBjb21tZW50cy4gVXNlIGdzdF9lbGVtZW50X2NsYXNzX3NldF9kZXRhaWxzX3NpbXBsZSgpLiBBZGQgbW9yZSBsb2dnaW5nLgoKMjAxMC0wMS0zMSAyMjoyMTo0MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzaW1waWZ5IHByb3BlcnR5IHJlZ2lzdHJhdGlvbgoJICBBdm9pZCB0eXBlIGNoZWtpbmcgY2FzdHMgZm9yIGVhY2ggcHJvcGVydHkuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjE2OjE4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSB0aGUgZ3N0LWNvbnRyb2xsZXIsIGFkZCBzb21lIGJhc2ljIHRpbWVzdGFtcGluZwoJICBBdGxlYXN0IGZvciBGWCB3ZSBub3cgaGF2ZSB0aW1lc3RhbXBzIGFuZCBjYW4gc3luYyB0aGUgY29udHJvbGxlci4gU3RpbGwgbmVlZAoJICB0aW1lc3RhbXBzIGZvciBzb3VyY2VzLgoKMjAxMC0wMS0zMSAyMjoxNDowNCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBzaW1wbGlmeSBwcm9wZXJ0eSByZWdpc3RyYXRpb24KCSAgRG9uJ3QgZG8gY2hlY2tpbmcgY2FzdCBmb3IgZWFjaCBwYXJhbWV0ZXIuIFVzZSBhIHJ1bm5pbmcgaW5kZXguCgoyMDEwLTAxLTMxIDIyOjEzOjA2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IHVzZSBwbHVnaW4gZGVwZW5kZW5jeSByZWdpc3RyeSBhcGkKCjIwMTAtMDEtMzEgMjI6MTE6NDAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogbG9va3VwIEdRdWFyayBqdXN0IG9uY2UgaW5zdGVhZCBmb3IgZWFjaCBwbHVnaW4rMQoKMjAxMC0wMS0zMSAyMjowODozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgbGFkc3BhOiBsb29rdXAgR1F1YXJrIGp1c3Qgb25jZSBhbmQgbm90IGZvciBlYWNoIHBsdWdpbisxCgoyMDEwLTAxLTMxIDIyOjA3OjA5ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHRoZXNlIGFyZSBub3QgZ3RrLWRvYyBjb21tZW50cwoKMjAxMC0wMS0zMSAyMjowNTozMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbGFkc3BhL2x2MjogbGluayBhbmQgaW5pdCB0byBnc3QtY29udHJvbGxlcgoKMjAxMC0wMS0zMSAxNTo1MzoyNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiBuZXcgaXMgYSBjKysga2V5d29yZCwgYmV0dGVyIGxvZ2dpbmcKCSAgVXNlIHBhZCBpbnN0ZWFkIG9mIG5ldyBmb3IgdGhlIHBhZCB2YXIuIEFsc28gdXNlIHBhZCBhcyBvYmplY3QgaW4gdG8gZGVidWcKCSAgbG9nZ2luZy4KCjIwMTAtMDEtMzAgMTU6MTk6MzAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAxNWQ0N2E2IHRvIDk2ZGM3OTMKCjIwMTAtMDEtMjkgMTI6MjU6MDggKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVnZm9ybWF0LmM6CgkqIGdzdC9qcGVnZm9ybWF0L2dzdGpwZWdwYXJzZS5jOgoJICBqcGVnZm9ybWF0OiBtb3ZlIHBsdWdpbiBwYXJ0IHRvIHNwZXBhcmF0ZSBmaWxlLCBzbyB0aGF0IHdlIGNhbiBhZGQgdGhlIGppZm11eAoKMjAxMC0wMS0yOSAxMTozOTo1MCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWpwZWdmb3JtYXQueG1sOgoJICBkb2NzOiB1cGRhdGUgb2YgdGhlIHBsdWdpbiBkb2NzLCBhZGRpbmcgbmV3IGludHJvc3BlY3QgZGF0YQoKMjAwOS0wOC0xOSAxMjoyMjozMCArMDIwMCAgQXJub3V0IFZhbmRlY2FwcGVsbGUgPGFybm91dEBtaW5kLmJlPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9qcGVnZm9ybWF0L01ha2VmaWxlLmFtOgoJKiBnc3QvanBlZ2Zvcm1hdC9nc3RqcGVncGFyc2UuYzoKCSogZ3N0L2pwZWdmb3JtYXQvZ3N0anBlZ3BhcnNlLmg6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9qcGVncGFyc2UuYzoKCSAganBlZ3BhcnNlOiBuZXcganBlZyBwYXJzZXIgZWxlbWVudC4gRkl4ZXMgIzU4MzA5OAoJICBQYXJzZSBKUEVHIGltYWdlcywgZXh0cmFjdHMgaXRzIG1ldGFkYXRhLCBzZXQgY2FwcyBhbmQKCSAgcGFja2V0aXplIGFuIGltYWdlIHBlciBidWZmZXIuCgoyMDEwLTAxLTI4IDE1OjAwOjMyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW4tZXhhbXBsZTogY2xlYW51cHMgZm9yIG1haW5sb29wIGFuZCBzdGF0ZS1jaGFuZ2VzLiBGaXhlcyAjNjA4MDQyCgkgIFN0YXJ0IGNhbWVyYWJpbiB2aWEgaWRsZSBoYW5kbGVyIHRvIGhhdmUgdGhlIG1haW5sb29wIGFscmVhZHkgcnVubmluZy4gQXZvaWQKCSAgc29tZSB1bm5lY2Vzc2FyeSBzdGF0ZSBjaGFuZ2VzLiBDbGVhbnVwIHRoZSBidXMgdXNhZ2Ugd2hlbiByZXN0YXJ0aW5nLgoKMjAxMC0wMS0yOCAxNDo1NzowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb2cgTlVMTCBjYXBzLCBhbHNvIGRvd25ncmFkZSB0byBERUJVRyBhcyBpdCBpcyB2ZXJ5IHZlcmJvc2UKCSAgVGhpcyBkZWJ1ZyBsb2cgZW50cnkgd2FzIGFsc28gbm90IG1lbnQgdG8gYmUgdXNlZCBpbiB0aGUgZmFpbHVyZSBjYXNlLgoKMjAxMC0wMS0yOCAwMDowNzoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IGFkZCBzdGFydCBmdW5jdGlvbiBzbyB3ZSBjYW4gZXJyb3Igb3V0IHByb3Blcmx5IGlmIG5vIHVyaSBpcyBzZXQKCSAgQWxzbyBzYXZlIGEgc2V0IFVSSSBhZnRlciBpdCBoYXMgYmVlbiBwYXJzZWQgc3VjY2Vzc2Z1bGx5LCBzbyB0aGF0IF9nZXRfdXJpKCkKCSAgYWN0dWFsbHkgd29ya3MuCgoyMDEwLTAxLTI3IDIzOjQ2OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlIHdoZW4gc2V0dGluZyB0aGUgVVJJIGZhaWxlZAoJICBUaGVyZSdzIGEgZ2Jvb2xlYW4gcmV0dXJuIGZvciB0aGF0LCBhbmQgdGhlIG1lc3NhZ2VzIGRvbid0IHJlYWxseQoJICBhZGQgYW55dGhpbmcgdXNlZnVsLgoKMjAxMC0wMS0yNyAyMzozOToxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmM6CgkgIGRhdGF1cmlzcmM6IG11c3QgcmVsZWFzZSB0aGUgb2JqZWN0IGxvY2sgYmVmb3JlIHVzaW5nIEdTVF9FTEVNRU5UX0VSUk9SCgoyMDEwLTAxLTI3IDIzOjM0OjM0ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGFkZCBtb3JlIGRlYnVnIGFuZCByZW1vdmUgIlxuIiBmcm9tIGRlYnVnIGxvZ2dpbmcKCjIwMTAtMDEtMjcgMjM6Mjk6NDQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogYmV0dGVyIGdvYmplY3QgcHJvcGVydGllcwoJICBVc2UgbHYyOnN5bWJvbCBhcyBhIGJhc2UgZm9yIHRoZSBwcm9wZXJ0eSBuYW1lIGFuZCBsdjI6bmFtZSBmb3IgbmljayBhbmQgYmx1cmIuCgoyMDEwLTAxLTI2IDE3OjU0OjI4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IHN0cmVhbWxpbmUgbW9vdiBkYXRhIG1lbW9yeSBzdG9yYWdlCgkgIEluIHBhcnRpY3VsYXIsIHVzZSBhcnJheXMgcmF0aGVyIHRoYW4gKGRvdWJsZSkgbGlua2VkIGxpc3RzLgoKMjAxMC0wMS0xNCAxMTo1MDozMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlcnM6IHJlbmFtZSBiYXNlcGFyc2UgR1R5cGUgbmFtZSB0byBhdm9pZCBwb3NzaWJsZSBjb25mbGljdHMKCjIwMTAtMDEtMTQgMTI6MDY6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiB1c2UgY29ycmVjdCBoMjY0X3BhcnNlIHByZWZpeCBpbiBmdW5jdGlvbiBuYW1lCgoyMDEwLTAxLTI3IDEyOjA4OjQ4ICswMTAwICBWaW5jZW50IEdFTklFVVggPHZnZW5pZXV4IGF0IGZyZWUuZnI+CgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBkdmJzcmM6IGZpeCBlbGVtZW50IHNodXRkb3duIG9uIGJhZCByZWNlcHRpb24KCSAgV2hlbiB3ZSBoYXZlIGEgYmFkIHJlY2VwdGlvbiwgYXZvaWQgZ29pbmcgaW50byBhbiBpbmZpbml0ZSBsb29wIGJ5IHNldHRpbmcgYQoJICBzaHV0ZG93biBmbGFnIHdoZW4gc2h1dHRpbmcgZG93bi4KCSAgRml4ZXMgIzYwNzc0NwoKMjAxMC0wMS0yNiAxMzo0NDowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IGdfZnJlZSBpcyBOVUxMIHNhZmUKCjIwMTAtMDEtMjUgMTk6MDY6NTMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5oOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkgIHJ0cGFzZnBheTogRml4IHBhY2tldCBsZW5ndGggc2VtYW50aWNzCgkgIEZvbGxvd2luZyB0aGUgZWQ0ZDA4MTg5ZWE2ZTE5YTUwZTAyOWU2MGRhNTJkMzU4M2MzOWZiYgoJICBjb21taXQsIHRoaXMgb25lIGZpeGVzIHJ0cGFzZnBheSB0byB1c2UgcGFja2V0IGxlbmd0aAoJICBhcyB0aGUgcGF5bG9hZGVkIGRhdGEgbGVuZ3RoLCBidXQgYWxzbyBhY2NlcHRpbmcgaXQKCSAgYXMgdGhlIGZ1bGwgcGFja2V0IHNpemUgZm9yIGNvbXBhdGliaWxpdHkgd2l0aAoJICBvdGhlciBpbXBsZW1lbnRhdGlvbnMgZHVlIHRvIHRoZSBsYWNrIG9mIGNsYXJpdHkgb2YgdGhlCgkgIHNwZWMgaW4gdGhpcyBwYXJ0LgoKMjAxMC0wMS0yMSAxMDo1MToxNiAtMDMwMCAgSMOla29uIFNramVsdGVuIDxza2plbHRlbkBwdnYub3JnPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZvYmplY3RzLmg6CgkgIGFzZm11eDogQ29tcGF0aWJpbGl0eSB3aXRoIFdNU1AgaW4gV01QCgkgIE1ha2VzIHRoZSBhc2ZtdXggY29udGVudCBjb21wYXRpYmxlIHdpdGggV01TUCBhbmQgZG9lcwoJICBzb21lIGhhY2tzIHRvIG1ha2UgaXQgcGxheWFibGUgaW4gV01QLCBpdCBkb2Vzbid0IGFjY2VwdAoJICBkYXRhIG9iamVjdHMgd2l0aCAwIHNpemUgaW5kaWNhdGluZyB0aGF0IHdlIGRvbid0IGtub3cKCSAgaXRzIHNpemUsIHRob3VnaCB0aGUgc3BlYyBzYXlzIGl0IHNob3VsZCBiZSBwb3NzaWJsZS4KCSAgRml4ZXMgIzYwNzU1NQoKMjAxMC0wMS0yNSAyMzowNjo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSAgY2FtZXJhYmluLWV4YW1wbGU6IHJlbW92ZSBtYWVtbyBjb21tZW50IGFuZCBsb2cgZmlsZW5hbWUKCSAgVGhlIG1hZW1vIGZpeG1lIGlzIG5vdCBuZWVkZWQgYW55bW9yZS4gTG9nIHRoZSBjaG9vc2VuIGZpbGVuYW1lIHRvIGhlbHAKCSAgcGVvcGxlIGZpbmRpbmcgdGhlIGZpbGVzLgoKMjAxMC0wMS0yNSAyMzowNDozOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkgIGNhbWVyYWJpbjogcmVmIGVsZW1lbnQgYmVmb3JlIHJlbW92aW5nIGZyb20gdGhlIGJpbiB0byByZXN1cnJlY3QKCSAgVGhpcyBmdW5jdGlvbiBpcyBub3Qgc3VwcG9zZWQgdG8gZGlzcG9zZSB0aGUgZWxlbWVudCBpbiB0aGUgY2FzZSBvZiBmYWlsdXJlCgkgIGFzIHRoZSBjYWxsZXIgaXMgdXNpbmcgdGhlIGVsZW1lbnRzIG5hbWUgaW4gdGhlIGVycm9yIG1lc3NhZ2UuIEFsc28gYWRkCgkgIHNvbWUgbW9yZSBpbnB1dCBwYXJhbWV0ZXIgY2hlY2tzIGluIHRoZSBmb3JtIG9mIGdfcmV0dXJuX3ZhbF9pZl9mYWlsCgoyMDEwLTAxLTI1IDEyOjIxOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJldmVydCAiaW5wdXRzZWxlY3RvcjogUHJvdGVjdCBnX29iamVjdF9ub3RpZnkoKSB3aXRoIHRoZSBvYmplY3QncyBtdXRleCIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA3ZTA2NzYxNWZmYjU2MTRmMDY4Zjc3NTNjMTBkZGU5OWFmZTQ5YzNjLCBpdCdzIGNhdXNpbmcKCSAgZGVhZGxvY2tzIHdpdGggcGxheWJpbjIuCgoyMDEwLTAxLTI1IDEyOjEyOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kYXRhdXJpc3JjL2dzdGRhdGF1cmlzcmMuYzoKCSAgZGF0YXVyaXNyYzogUmVtb3ZlIHJvbGUgYXR0cmlidXRlIGZyb20gbGlua3MKCjIwMTAtMDEtMjUgMTE6NTY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3BhcnNlcnNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY29nLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRhdGF1cmlzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJICBkYXRhdXJpc3JjOiBBZGQgZG9jcyBhbmQgaW50ZWdyYXRlIGludG8gYnVpbGQgc3lzdGVtCgkgIEZpeGVzIGFnYWluIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAxMToxMjo0NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGF0YXVyaXNyYy9NYWtlZmlsZS5hbToKCSogZ3N0L2RhdGF1cmlzcmMvZ3N0ZGF0YXVyaXNyYy5jOgoJKiBnc3QvZGF0YXVyaXNyYy9nc3RkYXRhdXJpc3JjLmg6CgkgIGRhdGF1cmlzcmM6IEFkZCBkYXRhOiBVUkkgc291cmNlIGVsZW1lbnQKCSAgVGhpcyBpcyBzbGlnaHRseSBiYXNlZCBvbiB0aGUgV2ViS2l0IGRhdGE6IFVSSSBzb3VyY2UKCSAgYnV0IHN1cHBvcnRzIG1vcmUgcGFydHMgb2YgUkZDIDIzOTcuCgkgIEZpeGVzIGJ1ZyAjNTk2ODg1LgoKMjAxMC0wMS0yNSAwNzo0Mjo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kYXRhdXJpc3JjL01ha2VmaWxlLmFtOgoJICBkYXRhdXJpc3JjOiBBZGQgZGlyZWN0b3J5IGZvciBkYXRhOiBVUkkgc291cmNlCgoyMDEwLTAxLTI1IDExOjM2OjQ4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBsdjI6IGNyZWF0ZSB2YWxpZCBnb2JqZWN0IHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNjAyNTI4CgkgIFdlIGNhbm5vdCB1c2UgdGhlIG5hbWVzIGFzIHdlIGdldCB0aGVtIGZyb20gbHYyIGZvciB0aGUgZ3BhcmFtc3BlYyBuYW1lLCBvbmx5CgkgIGZvciBuaWNrL2JsdXJiLiBBcHBseSBzYW1lIGFsZ29yaXRobXMgbGlrZSBlbHNld2hlcmUgKGxhZHNwYSkgZm9yIG5hbWUuCgoyMDEwLTAxLTI1IDExOjQ5OjQ2ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjUgMTE6NDg6MjkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmV2ZXJ0ICJteGY6IGFkZCBhIHJldHVybiB0byBmaXggdGhlIGJ1aWxkIHdoZW4gdHVybmluZyBhc3NlcnQgb2ZmIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDY4Y2E2MmIzNjlmYzFiNzdhZGFlODVkOWQ4MDU0NTdmZTRlM2I1NjIuCgoyMDEwLTAxLTIyIDE3OjQ1OjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZ3N0L214Zi9teGZ1cC5jOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIG14ZjogYWRkIGEgcmV0dXJuIHRvIGZpeCB0aGUgYnVpbGQgd2hlbiB0dXJuaW5nIGFzc2VydCBvZmYKCjIwMTAtMDEtMjQgMjA6NTM6MDAgKzAxMDAgIEtpcHAgQ2Fubm9uIDxrY2Fubm9uQGxpZ28uY2FsdGVjaC5lZHU+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBQcm90ZWN0IGdfb2JqZWN0X25vdGlmeSgpIHdpdGggdGhlIG9iamVjdCdzIG11dGV4CgkgIFRoaXMgd29ya3MgYXJvdW5kIHRoZSB0aHJlYWQgdW5zYWZldHkgb2YgZ19vYmplY3Rfbm90aWZ5KCkKCSAgRml4ZXMgYnVnICM2MDc1MTMuCgoyMDEwLTAxLTIyIDEwOjQ4OjI2ICswMTAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZml4IHdhcm5pbmdzIHVuZGVyIE9TIFguLgoKMjAxMC0wMS0yMiAxMDo0Njo1MSArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGJ1aWxkIG9zeHZpZGVvc3JjIGFuZCBxdHdyYXBwZXIgaW4gU25vdyBMZW9wYXJkLgoJICBRdWlja1RpbWUgaXNuJ3QgYXZhaWxhYmxlIGFueW1vcmUgaW4gT1MgWCBTbm93IExlb3BhcmQuCgoyMDEwLTAxLTIyIDAyOjIzOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiB1c2Ugc2FtZSBtZWRpYSB0eXBlIGFzIG90aGVyIGVsZW1lbnRzCgkgIGdka3BpeGJ1ZiBhbmQgb3VyIG5ldyB0eXBlZmluZGVyIGluIC1iYXNlIHVzZSBpbWFnZS94LXBvcnRhYmxlLSouCgoyMDEwLTAxLTIyIDAyOjIyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogbWFrZSBlbGVtZW50IGRldGFpbHMgYSBiaXQgbW9yZSBkZXNjcmlwdGl2ZQoKMjAxMC0wMS0yMiAwMjoxOToyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBhZGQgY29weXJpZ2h0IG5vdGljZQoKMjAxMC0wMS0yMiAwMjoxMDowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJICBwbm06IG1vdmUgdHlwZWZpbmRpbmcgaW50byAtYmFzZQoKMjAxMC0wMS0xMSAwMToxODoxNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICB0ZXN0czogcmVmYWN0b3Igd2VpcmQgYnVzIHN5bmMgaGFuZGxlciBjb2RlIGluIGNhbWVyYWJpbiBleGFtcGxlCgoyMDEwLTAxLTIxIDE4OjExOjM0ICswMTAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBmbGl0ZTogYnVpbGQgYW5kIGRpc3QgZmxpdGUgcGx1Z2luCgkgIGZpeGluZyAibWFrZSBkaXN0IgoKMjAxMC0wMS0yMSAxNTo1ODoxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkgIG14ZjogQ29ycmVjdGx5IGluaXRpYWxpemUgbWVtb3J5CgoyMDEwLTAxLTIwIDEzOjMwOjQ4ICswMTAwICBCZW5qYW1pbiBPdHRlIDxvdHRlQHJlZGhhdC5jb20+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkqIGdzdC9xdG11eC9kZXNjcmlwdG9ycy5oOgoJKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICBbY2xlYW51cF0gVmFyaW91cyBzdHlsZSBhbmQgY2xlYW51cHMKCSAgVmFyaW91cyBmaXhlcyBmb3IgZ3RrLWRvYyB3YXJuaW5ncyBhbmQgbWFraW5nIGZ1bmN0aW9ucyB3aXRob3V0CgkgIGFyZ3VtZW50cyB0YWtlIHZvaWQgYXMgcGFyYW1ldGVyLgoKMjAxMC0wMS0yMCAxMzoyOTo1MiArMDEwMCAgQmVuamFtaW4gT3R0ZSA8b3R0ZUByZWRoYXQuY29tPgoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBbb3NzNF0gRml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW51c2VkIHJldHVybiB2YWx1ZQoKMjAxMC0wMS0yMCAwMDo1NDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDM1OGNmNWMgdG8gMTVkNDdhNgoKMjAxMC0wMS0xOCAxMDo1Nzo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICBjZHhhcGFyc2U6IEZpeCBidWZmZXIgbGVhawoJICBGaXhlcyBidWcgIzYwNzI4NS4KCjIwMTAtMDEtMTYgMTU6MzI6NDcgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBGaXggY2hhbm5lbCBsYXlvdXQKCSAgQWRqdXN0ZWQgdGhlIGNoYW5uZWwgbWFwcGluZ3MgdG8gYWdyZWUgd2l0aCB0aGUgZGVmYXVsdCBjaGFubmVsIG1hcHBpbmdzCgkgIGluIHRoZSBzcGVjLCB3aGljaCBpcyBwcmVzdW1hYmx5IHdoYXQgZmFhYyBpcyB1c2luZy4gIEZpeGVzICM2MDcxMDUuCgoyMDEwLTAxLTE2IDE1OjMyOjAyIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZXRlc3RzcmMuYzoKCSAgZmxpdGU6IGhhbmRsZSBzYW1wbGVzcGVyYnVmZmVyCgoyMDEwLTAxLTE2IDEyOjQzOjQzIC0wODAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvZmxpdGUvTWFrZWZpbGUuYW06CgkqIGV4dC9mbGl0ZS9nc3RmbGl0ZS5jOgoJKiBleHQvZmxpdGUvZ3N0ZmxpdGV0ZXN0c3JjLmM6CgkgIGZsaXRlOiBBZGQgZmxpdGV0ZXN0c3JjCgkgIEZsaXRlIGlzIGEgc3BlZWNoIHN5bnRoZXNpemVyIGxpYnJhcnkgKEJTRC1pc2ggbGljZW5zZSkuICBUaGlzIGVsZW1lbnQKCSAgbmVnb3RpYXRlcyBhIChwb3NzaWJseSkgbXVsdGljaGFubmVsIGF1ZGlvIHN0cmVhbSwgYW5kIHRoZW4gY29udGludWFsbHkKCSAgb3V0cHV0cyBidWZmZXJzIG5hbWluZyB0aGUgbnVtYmVyIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2hhbm5lbC4gIEl0J3MKCSAga2luZGEgY3JhcHB5LCBidXQgSSBuZWVkZWQgaXQgZm9yIHRlc3RpbmcgcHVycG9zZXMuCgoyMDEwLTAxLTE2IDE3OjAyOjUyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogTWFrZSBzdXJlIHRoYXQgcHJvcGVydHkgbmFtZXMgYWx3YXlzIHN0YXJ0IHdpdGggYSBsZXR0ZXIKCSAgT3RoZXJ3aXNlIEdMaWIgdGhyb3dzIGFzc2VydGlvbnMKCjIwMTAtMDEtMTYgMTY6NTI6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBSZXBsYWNlIGZsb2F0aW5nIHBvaW50IGFyaXRobWV0aWMgaW4gdGhlIGlubmVyIHByb2Nlc3NpbmcgbG9vcHMgYnkgaW50ZWdlciBhcml0aG1ldGljCgoyMDEwLTAxLTE2IDEzOjA1OjU4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogT25seSBhY2NlcHQgc3BlY2lmaWMgY2hhbm5lbCBsYXlvdXRzIGFzIHJlcXVpcmVkIGJ5IEFBQwoJICBGaXhlcyBidWcgIzYwNzEwNS4KCjIwMTAtMDEtMTYgMTE6NDE6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IEZpeCBidWlsZCBhbmQgc2lnbmFsIGNvbm5lY3Rpb24gZm9yIEd0a0J1aWxkZXIgc3R1ZmYKCjIwMTAtMDEtMTYgMTE6MjY6MTUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENoZWNrIGZvciBnbW9kdWxlLWV4cG9ydC0yLjAgZm9yIEd0a0J1aWxkZXIKCjIwMTAtMDEtMTYgMTE6MjM6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBpY2xlczogTGluayB3aXRoIEdUSysKCjIwMTAtMDEtMTYgMTE6MTY6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IFJlcXVpcmUgR1RLKyA+PSAyLjEyIGZvciBHdGtCdWlsZGVyCgkgIEdUSysgMi4xMiBpcyBhbHJlYWR5IG9sZGVyIHRoYW4gMiB5ZWFycyBzbyB0aGlzIHNob3VsZG4ndAoJICBiZSBhIHByb2JsZW0gZm9yIGFueWJvZHkuIEFsc28gaXQncyBvbmx5IHVzZWQgaW4gZXhhbXBsZXMuCgoyMDEwLTAxLTE2IDA2OjU3OjI2ICswMTAwICBKYXZpZXIgSmFyZMOzbiA8amphcmRvbkBnbm9tZS5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBwby9QT1RGSUxFUy5za2lwOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuZ2xhZGU6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYudWk6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLnVpOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci51aToKCSAgdGVzdHM6IFBvcnQgZnJvbSBsaWJnbGFkZSB0byBHdGtCdWlsZGVyCgkgIEZpeGVzIGJ1ZyAjNjAxMTA4LgoKMjAxMC0wMS0xNSAyMTozNDowMiArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8ZG9scGh5QGltYWMuKG5vbmUpPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBkb24ndCBzZXQgYW4gaW52YWxpZCBmcmFtZXJhdGUuCgkgIFdoZW4gZml4ZWRfdm9wX3JhdGUgaXMgbm90IHNldCB3ZSBjYW4gbm90IHNldCBhIGZyYW1lcmF0ZSBiYXNlZCBvbgoJICB2b3BfdGltZV9pbmNyZW1lbnRfcmVzb2x1dGlvbiBhcyBpdCB3b3VsZCBtb3N0IGxpa2VseSBiZSB3cm9uZy4KCSAgRG9uJ3Qgc2V0IGFueSBmcmFtZXJhdGUgb24gdGhlIGNhcHMgaW4gdGhhdCBjYXNlLgoKMjAxMC0wMS0xNCAwODowOTowMyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBY3R1YWxseSB1c2UgbmV3IGNhcHMgaW5mbyBvbiByZW5lZ290aWF0aW9uCgkgIEZvbGxvd2luZyB0aGUgcHJldmlvdXMgcXRtdXggY29tbWl0LCB0aGlzIHBhdGNoIHRyaWVzCgkgIHRvIHVzZSB0aGUgbmV3IGluZm8gYWRkZWQgdG8gdGhlIGNhcHMgdG8gZmlsbCB0aGUgJ3RyYWsnCgkgIGF0b20ncyBmaWVsZHMgYW5kIGNoaWxkcmVuIGF0b21zLiBUaGlzIHdheSBxdG11eCB3aWxsCgkgIHVzZSB0aGUgbGF0ZSBhZGRlZCAnY29kZWNfZGF0YScgd2hlbiBoMjY0cGFyc2UgYWRkcwoJICBpdCBpbiB0aGUgZm9sbG93aW5nIHBpcGVsaW5lOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTEzIDIzOjMzOjUxIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IERvIGNhcHMgcmVuZWdvdGlhdGlvbiB3aGVuIGl0IG9ubHkgYWRkcyBmaWVsZHMKCSAgUXRtdXggY2FuIGFjY2VwdCBjYXBzIHJlbmVnb3RpYXRpb24gaWYgdGhlIG5ldyBjYXBzIGlzIGEKCSAgc3VwZXJzZXQgb2YgdGhlIG9sZCBvbmUsIG1lYW5pbmcgdXBzdHJlYW0gYWRkZWQgbmV3IGluZm8gdG8KCSAgdGhlIGNhcHMuIFRoaXMgcGF0Y2ggc3RpbGwgZG9lc24ndCBtYWtlIHF0bXV4IHVwZGF0ZSBhbnkKCSAgYXRvbXMgaW5mbyBmcm9tIHRoZSBuZXcgaW5mbywgYnV0IGF0IGxlYXN0IGl0IGRvZXNuJ3QKCSAgcmVqZWN0IHRoZSBuZXcgY2FwcyBhbnltb3JlLgoJICBBIHBpcGVsaW5lIHRoYXQgcmVwcm9kdWNlcyB0aGlzIHVzZSBjYXNlIGlzOgoJICB2aWRlb3Rlc3RzcmMgbnVtLWJ1ZmZlcnM9MjAwICEgeDI2NGVuYyBieXRlLXN0cmVhbT10cnVlICEgXAoJICBoMjY0cGFyc2Ugb3V0cHV0LWZvcm1hdD0wICEgcXRtdXggISBcCgkgIGZpbGVzaW5rIGxvY2F0aW9uPXRlc3QubW92CgoyMDEwLTAxLTE0IDEyOjU5OjIxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSW1wcm92ZSBkZWJ1ZyBvdXRwdXQgYSBiaXQgYW5kIHNpbXBsaWZ5IGNvZGUKCjIwMTAtMDEtMTQgMTI6NTY6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBNYWtlIHN1cmUgdGhhdCB0aGUgdmlkZW8gYnVmZmVyIGlzIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIHRvIGl0CgoyMDEwLTAxLTE0IDEyOjQ3OjE1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkgIGFwZXhzaW5rOiBjaGFuZ2Ugdm9sdW1lIHByb3BlcnR5IHRvIGEgZG91YmxlCgkgIENoYW5nZSB0aGUgdm9sdW1lIHByb3BlcnR5IGZyb20gaW50IHRvIGEgZG91YmxlIHNvIHRoYXQgcGxheWJpbjIgY2FuIHVzZSBpdC4KCSAgS2VlcCB0aGUgdm9sdW1lIGludGVybmFsbHkgYXMgYSBwZXJjZW50IGZvciBub3cgd2l0aCB0aGUgZGVmYXVsdCA3NSUgbWFwcGVkIHRvCgkgIGEgdm9sdW1lIG9mIDEuMC4KCSAgc29tZSBjbGVhbnVwcywgYWRkIHNvbWUgRklYTUUgYW5kIGNvbW1lbnRzLgoJICBGaXhlcyAjNjA2ODc4CgoyMDEwLTAxLTEzIDE5OjMwOjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcHJvdmlkZSByZXF1ZXN0IHBhZHMgdW5kZXIgd2lkZXIgY29uZGl0aW9ucwoJICBGaXhlcyAjNjA2ODU5LgoKMjAxMC0wMS0xMyAxMDozNTowMCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IGF2Yy1zYW1wbGUgaDI2NAoJICBxdG11eCBhbmQgbXA0bXV4IHNob3VsZCBvbmx5IGFjY2VwdCBoMjY0IGluIGF2Yy1zYW1wbGUKCSAgZm9ybWF0CgoyMDEwLTAxLTEzIDA5OjQyOjEyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gY2FwcwoJICBBZGRzIHRoZSBuZXcgc3RyZWFtLWZvcm1hdCBmaWVsZCB0byBoMjY0cGFyc2UgY2FwcwoJICBGaXhlcyAjNjA2NjYyCgoyMDEwLTAxLTEzIDAwOjM4OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb21tb246CgkgIGJ1aWxkOiBpbmNsdWRlIGNydWZ0Lm1hayBhbmQgYWRkIHJlY2VudGx5LW1lcmdlZCBwbHVnaW5zIHRvIGNydWZ0IGxpc3QKCjIwMTAtMDEtMTIgMjM6NTM6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zc3JjOiBwb3N0IGVycm9yIG1lc3NhZ2UgaW4gYWRkaXRpb24gdG8gcmVkaXJlY3Qgd2hlbiBjb25uZWN0IGZhaWxzCgkgIFdoZW4gd2UgY2FuJ3QgY29ubmVjdCB0byB0aGUgc2VydmVyLCB3ZSBzaG91bGQgc3RpbGwgcG9zdCBhIHByb3BlcgoJICBlcnJvciBtZXNzYWdlIG9uIHRoZSBidXMsIHNvIHRoYXQgYXBwbGljYXRpb25zIHRoYXQgZG9uJ3QgaGFuZGxlIHRoZQoJICByZWRpcmVjdCBtZXNzc2FnZSBnZXQgYSBwcm9wZXIgZXJyb3IgbWVzc2FnZSAoYW5kIGEgaGludCB0byBsb29rIGZvcgoJICB0aGUgcmVkaXJlY3QpLgoJICBGaXhlcyAjNjA2NjM2LgoKMjAxMC0wMS0xMiAxNTo0NToxNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IENvcnJlY3RseSByZXdyaXRlIGFsbCBuYWwgcHJlZml4ZXMKCSAgV2hlbiBjb252ZXJ0aW5nIHRvIGJ5dGUtc3RyZWFtIGRvIG5vdCBmb3JnZXQgdG8gcmV3cml0ZQoJICBhbGwgbmFsIHByZWZpeGVzIGluc3RlYWQgb2Ygb25seSB0aGUgZmlyc3Qgb25lLgoKMjAxMC0wMS0xMiAxOTozMzozNyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGltcHJvdmUgZmFhYyBjb25maWd1cmF0aW9uCgkgIEluIHBhcnRpY3VsYXIsIGFsaWduIGNvbmZpZ3VyYXRpb24gc29tZSBtb3JlIHdpdGggcmVmZXJlbmNlIGJpbmFyeSBmYWFjLgoJICBGaXhlcyAjNjA2NzI2LgoKMjAxMC0wMS0xMiAxNDo1MTowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6CgkgIG1wZWd0c211eDogRml4IG1pc3Rha2Ugb24gcHJldmlvdXMgY29tbWl0CgkgIFVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZXMgYW5kIHZhcmlhYmxlIGZvcm1hdCBpbiB0aGUgd2FybmluZwoJICBtZXNzYWdlCgoyMDEwLTAxLTEyIDE4OjU1OjUzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBJbml0aWFsaXplIHZhcmlhYmxlcy4KCSAgRml4ZXMgYnVpbGQgb24gJCNAKiggbWFjb3N4CgoyMDEwLTAxLTEyIDE3OjA1OjEzICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBBZGQgbmVvbmh0dHBzcmMgdG8gdGhlIGxpc3Qgb2YgZWxlbWVudHMgaWdub3JlZCBmb3Igc3RhdGUtY2hhbmdlCgkgIFNldHRpbmcgbmVvbmh0dHBzcmMgdG8gUEFVU0VEL1BMQVlJTkcgcmVxdWlyZXMgYSBydW5uaW5nIGh0dHAgc2VydmVyIG9uCgkgIGxvY2FsaG9zdC4KCjIwMTAtMDEtMTIgMDk6NTg6NDggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZW1vdmUgY29kZWNfZGF0YSBpZiBvdXRwdXQgaXMgYnl0ZXN0cmVhbQoJICBjb2RlY19kYXRhIHNob3VsZCBiZSByZW1vdmVkIGZyb20gdGhlIHNyYyBwYWQgY2FwcyBpZiB0aGUKCSAgb3V0cHV0IGlzIGluIGJ5dGVzdHJlYW0gZm9ybWF0CgkgIEZpeGVzICM2MDY2NTcKCjIwMTAtMDEtMTIgMDk6MzU6MjQgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXhfaDI2NC5jOgoJICBtcGVndHNtdXg6IERvIG5vdCBjcmFzaCBvbiBtaXNpbnRlcnByZXRlZCBoMjY0CgkgIEF2b2lkIGNyYXNoaW5nIHdoZW4gYnl0ZXN0cmVhbSBoMjY0IGlzIGludGVycHJldGVkIGFzIGF2YyBmb3JtYXQKCSAgaDI2NAoJICBGaXhlcyAjNjA2NjU3CgoyMDEwLTAxLTExIDIyOjQxOjU3ICswMzAwICDQ8/Hr4O0gyObh8+vg8u7iIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICB3aW4zMjogSW5jbHVkZSBjb25maWcuaCBiZWZvcmUgYW55dGhpbmcgZWxzZS4gRml4IG1wZWdkZW11eCBMSUJBREQKCSAgQmVjYXVzZSBjb25maWcuaCBkZWZpbmVzIF9fTVNWQ1JUX1ZFUlNJT05fXywgd2hpY2ggc2hvdWxkIGJlIGRlZmluZWQKCSAgYmVmb3JlIGluY2x1c2lvbiBvZiBhbnkgc3lzdGVtIGhlYWRlci4KCSAgQWxzbyBmaXhlcyBtcGVnZGVtdXggTWFrZWZpbGUuYW0gTElCQUREIHR5cG8uCgkgIEZpeGVzICM2MDY2NjUKCjIwMTAtMDEtMTIgMDA6NDY6MjcgKzAzMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogcG9ydCByZmJzcmMgdG8gTWluR1cKCSAgRml4ZXMgIzYwNjY3NwoKMjAxMC0wMS0xMSAxMzoyMDoyNiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBBbHNvIGFkZCBzdHJlYW0tZm9ybWF0IHRvIHRlbXBsYXRlIGNhcHMKCSAgRG8gbm90IGZvcmdldCB0byBhZGQgc3RyZWFtLWZvcm1hdCB0byB0ZW1wbGF0ZSBjYXBzCgkgIG9mZiBhYWNwYXJzZQoKMjAxMC0wMS0xMSAxMzoxMzo0MSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBSZW5hbWUgYWFjJ3Mgc3RyZWFtLWZvcm1hdCAnbm9uZScgdG8gJ3JhdycKCSAgUmVuYW1lcyBhYWMncyBzdHJlYW0tZm9ybWF0IGZyb20gcHJldmlvdXMgY29tbWl0cyBmcm9tIG5vbmUgdG8KCSAgcmF3CgoyMDEwLTAxLTExIDE2OjA5OjM4ICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBpbmNsdWRlIDx3aW5kb3dzLmg+IGludG8gbXNhY20uaCBjb25mdGVzdAoKMjAxMC0wMS0xMSAxMjoxMDowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogdXBkYXRlIHRlc3RzIHRvIHN0cmVhbS1mb3JtYXQgY2hhbmdlcwoJICBVcGRhdGVzIGFhY3BhcnNlIHVuaXQgdGVzdHMgdG8gY2hlY2sgZm9yIHN0cmVhbS1mb3JtYXQKCSAgY29ycmVjdG5lc3MgYXMgd2VsbC4KCjIwMTAtMDEtMTEgMTA6NTE6MTggLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQWRkIHN0cmVhbS1mb3JtYXQgdG8gb3V0cHV0IGNhcHMKCSAgQWRkcyBzdHJlYW0tZm9ybWF0IGZpZWxkIHRvIG91dHB1dCBjYXBzCgoyMDEwLTAxLTExIDEwOjM0OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IE9ubHkgYWNjZXB0IHN0cmVhbS1mb3JtYXQ9J25vbmUnIGFhYwoJICBPbmx5IGFjY2VwdCByYXcgYWFjIHN0cmVhbXMgKHN0cmVhbS1mb3JtYXQ9bm9uZSkgdG8gYXZvaWQKCSAgZ2VuZXJhdGluZyBpbnZhbGlkIGZpbGVzLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDA5OjQ4OjM0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogQWRkIGZvcm1hdCB0byBvdXRwdXQgY2FwcwoJICBBZGRzICdzdHJlYW0tZm9ybWF0JyB0byBvdXRwdXQgY2FwcyB0byBpbmZvcm0gaWYgdGhlIHN0cmVhbSBpcwoJICBhZHRzIG9yIHJhdy4gVGhpcyBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgbXV4ZXJzIHRvIHJlamVjdAoJICBpbnB1dCBzdHJlYW1zIG9uIGNhcHMgaWYgdGhleSBkb24ndCBzdXBwb3J0IGFkdHMgaW5zdGVhZCBvZgoJICBnZW5lcmF0aW5nIGEgaW52YWxpZCBmaWxlLgoJICBGaXhlcyAjNjA0OTI1CgoyMDEwLTAxLTExIDAxOjAyOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IGZpeCB1bmFsaWduZWQgYWNjZXNzIGluIHRoaXMgY29weSBvZiBtcGVnZGVtdXggYXMgd2VsbAoJICBTZWUgIzYwNjM3MS4KCjIwMTAtMDEtMTEgMDA6NTk6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICB2bW5jOiB1c2UgZXhpc3RpbmcgbWFjcm9zIHRvIGF2b2lkIGFsaWdubWVudCBpc3N1ZXMKCjIwMTAtMDEtMTEgMDA6NTc6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIHJmYnNyYzogdXNlIGV4aXN0aW5nIG1hY3JvcyB0byBhdm9pZCBhbGlnbm1lbnQgaXNzdWVzCgoyMDEwLTAxLTExIDAwOjI0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJICBhc2ZtdXg6IGZpeCBhbGlnbm1lbnQgYW5kIGVuZGlhbm5lc3MgaXNzdWUKCjIwMTAtMDEtMTEgMDA6MTY6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiB1c2UgR1NUX01BS0VfRk9VUkNDIHRvIGNyZWF0ZSBGT1VSQ0MKCjIwMTAtMDEtMTAgMTA6MDY6NTUgLTAzMDAgIExpbnFpYW5nIFB1IDxwdWxxLnVzdGNAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBmaXggYWxsaWdubWVudCBpc3N1ZQoJICBVc2UgR1NUX1JFQURfVUlOVDMyX0JFIGluc3RlYWQgb2YgR1VJTlQzMl9GUk9NX0JFIHRvCgkgIGZpeCBpbnQgYWxsaWdubWVudCBpc3N1ZXMgb24gQVJNCgkgIEZpeGVzICM2MDYzNzEKCjIwMTAtMDEtMDggMTY6MDY6MzggKzAwMDAgIE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSAgbXBlZ3RzbXV4OiBvbmx5IHZpZGVvIGNhbiBoYXZlIG5vbi1kZWx0YS11bml0CgoyMDA5LTEyLTE4IDE0OjE0OjE3ICswMTAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzoKCSogZ3N0L21wZWd0c211eC90c211eC90c211eC5oOgoJICBtcGVndHNtdXg6IG1hcmsgZGVsdGEtdW5pdCBvbiBvdXRnb2luZyBidWZmZXJzCgkgIFNpZ25lZC1vZmYtYnk6IE1hcmMtQW5kcsOpIEx1cmVhdSA8bWx1cmVhdUBmbHVtb3Rpb24uY29tPgoKMjAxMC0wMS0wNyAxNzo1NDoyOCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IG9wdGltaXplIHNyYyBjYXBzIHVwZGF0aW5nCgoyMDEwLTAxLTA3IDE3OjQ3OjAzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZml4IGZyYW1lcmF0ZSBjYWxjdWxhdGlvbgoJICAuLi4gYW5kIGFsc28gcmVtb3ZlIGEgc3VwZXJmbHVvdXMgZHVwbGljYXRlIGRlYnVnIHN0YXRlbWVudC4KCjIwMTAtMDEtMDcgMTc6NDI6MjQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggcmVncmVzc2lvbiBpbiBvdXRwdXQgYnVmZmVyIHRpbWVzdGFtcGluZwoJICBTcGVjaWZpY2FsbHksIHByb3Blcmx5IG1hcmsgYSBidWZmZXIgKE5BTFUgb3IgQVUpIHRvIHN0YXJ0IGEgZnJhbWUgb3Igbm90LgoKMjAxMC0wMS0wNiAxMToyMDowNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGF2b2lkIGNyYXNoIGlmIHZvcyA8IDUgYnl0ZXMuCgoyMDA5LTEyLTEzIDEzOjUzOjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggdHlwbyBpbiBwcm9wZXJ0eSBkZXNjcmlwdGlvbgoKMjAwOS0xMi0xMyAxMzo0OTozOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBmaXggbGFuZ3VhZ2UgZXh0cmFjdGlvbgoJICBUaGUgZGVzY3JpcHRvciBjb250YWlucyBJU08gNjM5LTIgbGFuZ3VhZ2UgY29kZXMsIGJ1dCB3ZSB3YW50CgkgIHR3by1sZXR0ZXIgSVNPIDYzOS0xIGNvZGVzIGluIEdTVF9UQUdfTEFOR1VBR0UuCgoyMDA5LTEyLTA1IDE4OjE2OjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLmM6CgkgIGV4YW1wbGVzOiBtYWtlIGNhbWVyYWJpbiB0ZXN0IGFwcGxpY2F0aW9uIGhhbmRsZSBlcnJvcnMgd2hlbiBzdGFydGluZyB1cAoJICBJbnN0ZWFkIG9mIGhhbmdpbmcgZm9yZXZlciBpbiBhIF9nZXRfc3RhdGUoKSBpbiBjYXNlIGFuIGVycm9yIG9jY3VycyB3aGVuCgkgIHN0YXJ0aW5nIHVwIGNhbWVyYWJpbiwgYmFpbCBvdXQgYW5kIHByaW50IGFuIGVycm9yIG1lc3NhZ2UuIEFsc28gcmVtb3ZlCgkgIHVubmVjZXNzYXJ5IF9nZXRfc3RhdGUoKSB3aGVuIHNodXR0aW5nIGRvd24gdGhlIHBpcGVsaW5lLgoKMjAxMC0wMS0wNSAxODo0NDo0NSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXVkaW9wYXJzZXJzYmFkLnhtbDoKCSAgYXVkaW9wYXJzZXJzOiBhZGQgc29tZSBtaXNzaW5nIGRvY3VtZW50YXRpb24gcGllY2VzCgoyMDEwLTAxLTA1IDE2OjEwOjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBmYWFjOiBkb2N1bWVudGF0aW9uIGZpeAoKMjAxMC0wMS0wNSAxNTowNTowNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYXVkaW9wYXJzZXJzOiBkb2N1bWVudGF0aW9uIGZpeGVzCgoyMDEwLTAxLTA1IDE1OjA0OjM4ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogYWRkIGRvY3VtZW50YXRpb24KCjIwMTAtMDEtMDUgMTQ6NDg6NDkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5oOgoJICBmbGFjcGFyc2U6IGFkZCBkb2N1bWVudGF0aW9uCgoyMDA5LTEyLTIxIDE4OjI5OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcGVyZm9ybSBhZGRpdGlvbmFsIGZyYW1lIGNoZWNrcyB3aGVuIHJlc3luY2luZwoKMjAxMC0wMS0wNSAxNjozNTo1MiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGZpeCAobXVsdGlwbGUgY2hhbm5lbCkgZnJhbWUgcGFyc2luZwoKMjAxMC0wMS0wNSAxNjozNTo0NCArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGZsYWNwYXJzZS5jOgoJICBmbGFjcGFyc2U6IGRlY2xhcmUgdW5wYXJzZWQgaW5wdXQgYW5kIHBhcnNlZCBvdXRwdXQKCjIwMDktMTItMjEgMTg6MTk6MjMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZml4IHNjYW5uaW5nIGZvciBuZXh0IHN5bmN3b3JkCgoyMDA5LTEyLTIxIDE4OjE4OjM5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogYWRqdXN0IHNlZWsgaGFuZGxpbmcgYW5kIG5ld3NlZ21lbnQgc2VuZGluZwoJICBQZXJmb3JtIHNhbml0eSBjaGVjayBvbiB0eXBlIG9mIHNlZWssIGFuZCBvbmx5IHBlcmZvcm0gb25lIHRoYXQgaXMKCSAgYXBwcm9wcmlhdGVseSBzdXBwb3J0ZWQuICBBZGp1c3QgZG93bnN0cmVhbSBuZXdzZWdtZW50IGV2ZW50CgkgIHRvIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdGhhdCBpcyBzZW50IGRvd25zdHJlYW0uCgoyMDA5LTEyLTIxIDExOjU5OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogbWlub3IgcmVmYWN0b3IgY2xlYW51cAoJICBBbHNvIGFkZCBzb21lIGRlYnVnIGxvZ2dpbmcuCgoyMDA5LTEyLTE4IDIxOjA1OjExICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogbG9jYXRlIG5leHQgc3luYyBjb2RlIG1vcmUgZWZmaWNpZW50bHkKCjIwMDktMTItMTggMjE6MDQ6MTIgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSAgZmxhY3BhcnNlOiBiYXNlcGFyc2UgdGFrZXMgY2FyZSBvZiBoYW5kbGluZyBsZWZ0b3ZlciBwaWVjZXMKCjIwMDktMTItMTggMjE6MDI6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBpbXBsZW1lbnQgbGVmdG92ZXIgZHJhaW5pbmcgaW4gcHVsbCBtb2RlCgoyMDA5LTEyLTE3IDEyOjQ1OjM2ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogc2V0IF9PRkZTRVQgYW5kIF9PRkZTRVRfRU5EIG9uIG91dGdvaW5nIGJ1ZmZlcnMKCjIwMDktMTItMTcgMTI6NDQ6MjAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RmbGFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSogZ3N0L2ZsYWNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjLmM6CgkgIGF1ZGlvcGFyc2VyczogbW92ZSAnZmxhY3BhcnNlJyBpbnRvIGl0CgoyMDA5LTEyLTE2IDE4OjM4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvdmlkZSBkZWZhdWx0IGNvbnZlcnNpb24gdXNpbmcgYnBzIGlmIG5vIGZwcyBhdmFpbGFibGUKCSAgQWxzbyBzdG9yZSBlc3RpbWF0ZWQgZHVyYXRpb24gYXMgc3VjaCwgcmF0aGVyIHRoYW4gcHJldGVuZGluZyBvdGhlcndpc2UKCSAgKGUuZy4gc2V0IGJ5IHN1YmNsYXNzKS4KCjIwMTAtMDEtMDQgMTA6MjM6MzcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgbW9kcGx1ZzogRml4IGluZGVudGlvbgoKMjAwOS0xMi0yOSAxNzoyODowNiArMDIwMCAgS2FqLU1pY2hhZWwgTGFuZyA8bWlsYW5nQHRhbC5vcmc+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBBbGxvdyAxLTIgY2hhbm5lbHMgZm9yIDE2IGFuZCAzMiBiaXQgZGVwdGhzLCBub3Qgb25seSBmb3IgOCBiaXRzLgoJICBGaXhlcyBidWcgIzYwNTcyMS4KCjIwMDktMTItMjkgMTY6MDc6NTkgKzAyMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZXh0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICBtb2RwbHVnOiBBbGxvdyAzMiBiaXQgZGVwdGgsIG1vZHBsdWdzIG5hdGl2ZSBmb3JtYXQuCgkgIEZpeGVzIGJ1ZyAjNjA1NzIwLgoKMjAxMC0wMS0wMiAxNzozMzo1NyArMDEwMCAgQXJuYXVkIFBhdGFyZCA8YXJuYXVkLnBhdGFyZEBydHAtbmV0Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IEhhbmRsZSBlYWMzIGluIFBNVAoJICBXaGVuIHRoZSBzdHJlYW0gdHlwZSBpcyBzZXQgdG8gcHJpdmF0ZSBkYXRhLCBnc3QtbXBlZ3RzZGVtdXggaXMgdHJ5aW5nIHRvIGZpbmQKCSAgYXVkaW8gZGVzY3JpcHRvcnMgaW4gUE1UIGFuZCBsb29rIGZvciBBQzMgKHRhZyAweDZhKSBidXQgZG9lc24ndCBsb29rIGZvciBFQUMzCgkgICh0YWcgMHg3YSkuIEhhbmRsZSB0aGlzIGNhc2UgdG9vLgoJICBGaXhlcyBidWcgIzYwNTkwNC4KCjIwMDktMTItMzAgMjE6NTA6MzIgKzAxMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBoYW5kbGluZyBpbiBfdXBkYXRlX3NyY19jYXBzLgoKMjAwOS0xMi0yOCAxMTozNDozNSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkgIHF0bXV4OiBhbHNvIGFkZCAuaCBmaWxlIGNoYW5nZXMgdG8gdW5icmVhayB0aGUgYnVpbGQKCjIwMDktMTItMjcgMjM6NTE6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogdXNlIGNvcnJlY3QgbmFtZXMgZnJvbSB0ZW1wbGF0ZSBmb3IgcmVxdWVzdCBwYWRzCgkgIFRoZSBwYWRzIHdoZXJlIG5hbWVzIHBhZDAsIHBhZDEsIC4uLgoKMjAwOS0xMi0yNyAyMzozMjo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBtb3ZlIGVycm9ycyBfbmV3X3BhZCB0byB0aGUgZW5kCgoyMDA5LTEyLTIxIDE5OjEyOjQyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNDdjYjIzYSB0byAxNGNlYzg5CgoyMDA5LTEyLTIxIDEzOjU4OjMwIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWNjZXB0IG5vbi1wYWlyZWQgdWludCB0YWdzCgkgIEFkZHMgc3VwcG9ydCBmb3IgdW5wYWlyZWQgdW5zaWduZWQgaW50ZXJnZXIgdGFncwoKMjAwOS0xMi0yMSAxMjowNTozNyAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQWRkcyBuZXcgdGFncwoJICBNYXBzIG1vcmUgdGFncyB0aGF0IGFyZSBhbHJlYWR5IHBvc3RlZCBieSBxdGRlbXV4CgkgIEZpeGVzICM1OTk3NTkKCjIwMDktMTItMTggMTY6MTY6NDYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBvbmx5IHJhdyBvdXRwdXQgbmVlZHMgY29kZWNfZGF0YSBpbiBjYXBzCgoyMDA5LTEyLTE4IDEzOjMwOjI5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogY2hlY2sgZm9yIHJlbWFpbmluZyBkYXRhIHdoZW4gZHJhaW5pbmcgaW4gcHVzaCBtb2RlCgoyMDA5LTEyLTE4IDEzOjMwOjA3ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IHB1bGwgbW9kZSBjYWNoZSBzaXplIGNvbXBhcmlzb24KCjIwMDktMTItMTggMTM6MDE6MTcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmM6CgkgIGFjM3BhcnNlOiBGaXggdW5pdGlhbGl6ZWQgdmFyaWFibGUuCgoyMDA5LTEyLTE3IDExOjA0OjI4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBJbnRlcm5hbCBzaW5rIGltcHJvdmVtZW50cwoJICBEb2VzIHNvbWUgZ2VuZXJhbCBpbXByb3ZlbWVudHMgd2l0aCB0aGUgaW50ZXJuYWwgc2luayBoYW5kbGluZy4KCSAgMSkgRG8gbm90IHJlbW92ZSBhbmQgcmUtYWRkIHRoZSBnaG9zdHBhZCB3aGVuIGNoYW5naW5nCgkgIGludGVybmFsIHNpbmsKCSAgMikgT25seSBpbnN0YW50aWF0ZSB0aGUgZGVmYXVsdCBzaW5rIHdoZW4gY2hhbmdpbmcgZnJvbSBOVUxMCgkgIHRvIFJFQURZIGlmIHRoZXJlIGlzIG5vIG90aGVyIGF2YWlsYWJsZQoJICAzKSBBdm9pZCBjaGFuZ2luZyB0aGUgaW50ZXJuYWwgc2luayBpZiBub3Qgb24gTlVMTCBzdGF0ZQoJICBGaXhlcyAjNTk4NjgyCgoyMDA5LTEyLTE3IDA3OjU0OjA0IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBNaW5vciBmaXhlcwoJICBEb3duZ3JhZGUgYSB3YXJuaW5nIG1lc3NhZ2UgdG8gZGVidWcuIFJlbW92ZSBhbgoJICBhbHJlYWR5IGZpeGVkIEZJWE1FIGFuZCBhZGQgYSBub3RlIGFib3V0IChub3QtKXVzaW5nCgkgIGZwc2Rpc3BsYXlzaW5rIGluIGF1dG92aWRlb3NpbmsuIENoYW5nZSB0aGUgY3JlYXRlZAoJICBnaG9zdHBhZCB0byB1c2UgdGhlIG5hbWUgInNpbmsiIGFzIGl0IGlzIGFkdmVydGlzZWQgaW4KCSAgdGhlIHBhZCB0ZW1wbGF0ZS4KCjIwMDktMTItMTcgMTQ6NDY6MDEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgc3BlYyBmaWxlIGFuZCBmaXggYWMzcGFyc2VyIGhlYWRlciBsaXN0aW5nIGluIE1ha2VmaWxlLmFtCgoyMDA5LTEyLTE3IDAxOjA1OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICB0ZXN0czogdHJ5IHRvIGZpeCAnbWFrZSBkaXN0JyB3aGVuIGNvZyBpcyBub3QgaW5zdGFsbGVkCgoyMDA5LTEyLTE2IDE4OjMyOjQyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXlzaW5rOiBmaXggc2V0dGluZyBzeW5jIG9uIGNoaWxkIGJpbgoJICBVc2UgR1NUX0lTX0JJTiBpbnN0ZWFkIG9mIEdfT0JKRUNUX1RZUEUgdG8gY2hlY2sgaWYgdGhlCgkgIGludGVybmFsIHNpbmsgaXMgYSBiaW4uIFVzaW5nIHRoZSBsYXRlciB3b24ndCB3b3JrIHdoZW4KCSAgdGhlIHNpbmsgaXMgbm90IGEgYmluIGRpcmVjdGx5IChidXQgaW5oZXJpdHMgZnJvbSBvbmUsIGxpa2UKCSAgYXV0b3ZpZGVvc2luaykuCgkgIEZpeGVzICM2MDQyODAKCjIwMDktMTItMTUgMTM6MDg6MDggKzAxMDAgIFBoaWxpcHBlIE5vcm1hbmQgPHBoaWxAYmFzZS1hcnQubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHRoZSBzeW5jIHByb3BlcnR5IGV4aXN0cyBvbiBlbWJlZGRlZCBzaW5rKHMpCgkgIEZvbGxvdy11cCBvbiA0MTExZDYzMjFmMTQwZWI3NzkwNjIwYWI0MmU1Y2YxZDk0MTNiNTZhLCB0aGUgdmlkZW8KCSAgc2luayhzKSB1c2VkIGJ5IGZwc2Rpc3BsYXlzaW5rIG1pZ2h0IG5vdCBoYXZlIHRoZSBzeW5jIHByb3BlcnR5LiBTbyB3ZQoJICBjaGVjayBpdHMgZXhpc3RlbmNlIHRvIGF2b2lkIHdhcm5pbmcgZnJvbSBnX29iamVjdF9zZXQoKSBhdCBydW50aW1lLgoJICBGaXhlcyAjNjA0MjgwCgoyMDA5LTEyLTEwIDIyOjIwOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4Lmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBtb3JlIG9mIGoyawoJICBSZWFkcyB0aGUgbmV3IGNhcHMgYWRkZWQgdG8gcXRkZW11eCBieSBjb21taXQKCSAgYzkxN2Q2NWU2ZGYwYjVkNTg1ZjkwNWM3YWQ3OGE4YTBhNDRiMmNiMAoJICBhbmQgYWRkcyBpdHMgY29ycmVzcG9uZGluZyBhdG9tcy4KCSAgQWxzbyBhZGRzIHN1cHBvcnQgZm9yIGltYWdlL3gtanBjIGFzIGl0IGlzIHRoZSBzYW1lCgkgIGFzIGltYWdlL3gtanAyLCBleGNlcHQgdGhhdCB0aGUgYnVmZmVycyBuZWVkIHRvIGJlCgkgIGJveGVkIGluc2lkZSBhIGpwMmMgaXNvbSBib3ggYmVmb3JlIG11eGluZy4gVG8gc29sdmUKCSAgdGhpcyB0aGUgUVRQYWRzIG5vdyBoYXZlIGEgZnVuY3Rpb24gdGhhdCAoaWYKCSAgbm90IE5VTEwpIGlzIGNhbGxlZCB3aGVuIGEgYnVmZmVyIGlzIGNvbGxlY3RlZC4gVGhpcwoJICBmdW5jdGlvbiByZXR1cm5zIGEgcmVwbGFjZW1lbnQgdG8gdGhlIGN1cnJlbnQgY29sbGVjdGVkCgkgIGJ1ZmZlci4KCSAgRml4ZXMgIzU5ODkxNgoKMjAwOS0xMi0xNCAxNjoxNjowOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IFRhYmxlIGdlbmVyYXRpb24gdXRpbGl0eSBuZWVkcyB0byBsaW5rIHRvIC1sbSB0b28KCjIwMDktMTItMTQgMTY6MDg6MDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvY29nL2NvZy5vcmM6CgkgIGNvZzogRG9uJ3QgYnVpbGQgb3JjX21lbWNweSgpIGFuZCBkZXBlbmQgb24gb3JjID49IDAuNC4zIGZvciBvcmNfbWVtY3B5KCkKCSAgSW4gdGhlIGxhdGVzdCByZWxlYXNlIHRoaXMgZnVuY3Rpb24gaXMgYWxyZWFkeSBkZWZpbmVkLgoKMjAwOS0xMi0xMCAxNjo1MzoxOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IE1hcHMgJ2NsYXNzaWZpY2F0aW9uJyB0YWcgZm9yIDNncHAgZmlsZXMKCSAgQWRkcyB0aGUgbWFwcGluZyBvZiAnY2xhc3NpZmljYXRpb24nIHRhZ3MgdG8gd3JpdGluZyBvZgoJICAnY2xzZicgYXRvbXMgZm9yIGdwcG11eC4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKMjAwOS0xMi0xMCAyMjo0OToxMyAtMDMwMCAgUGhpbGlwcGUgTm9ybWFuZCA8cGhpbEBiYXNlLWFydC5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogZXhwb3NlIHZpZGVvIHNpbmsgdXNpbmcgYSBwcm9wZXJ0eQoJICBFeHBvc2VzIHRoZSBpbnRlcm5hbGx5IHVzZWQgc2luayBhcyB2aWRlby1zaW5rIHByb3BlcnR5IGFuZAoJICBtYWtlcyB0aGUgZGVmYXVsdCBvbmUgdG8gYmUgYXV0b3ZpZGVvc2luayBpbnN0ZWFkIG9mCgkgIHRoZSBoYXJkY29kZWQgeHZpbWFnZXNpbmsKCSAgRml4ZXMgIzYwNDI4MAoKMjAwOS0xMi0xMSAxNjozMjo0OCAtMDgwMCAgUGV0ZXIgdmFuIEhhcmRlbmJlcmcgPHB2aEBzb25nYmlyZG5lc3QuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L2FkcGNtZW5jL01ha2VmaWxlLmFtOgoJKiBnc3QvYWRwY21lbmMvYWRwY21lbmMuYzoKCSAgYWRwY21lbmM6IGFkZCBuZXcgYWRwY20gZW5jb2RlciBlbGVtZW50LgoKMjAwOS0xMi0xMSAxMDoyNToxNiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGJhc2VwYXJzZS5jOgoJICBhdWRpb3BhcnNlOiBmaXggYSBmb3JtYXQgc3RyaW5nIGFzIHJlcG9ydGVkIG9uIGlyYy4KCjIwMDktMTItMTAgMTA6MTA6MTUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2FkcGNtZGVjL2FkcGNtZGVjLmM6CgkgIGFkcGNtZGVjOiBtYWtlIHBvd2VyIG9mIDIgbW9yZSBhY2N1cmF0ZS4KCjIwMDktMTItMTAgMTI6NTY6NDcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBmaXggY2FwcyBwYXJhbWV0ZXJzIHNldHRpbmcKCSAgQWxzbyBjb25zaWRlciBQUFMgd2hlbiBzZWxlY3RpbmcgU1BTIHRvIHBpY2sgcGFyYW1ldGVycyBmcm9tLgoJICBPbmx5IHVwZGF0ZSBjYXBzIHdoZW4gc2V0dGluZ3MgYWN0dWFsbHkgY2hhbmdlZCwgYW5kIHdoZW4gdGhlc2UgYXJlIHZhbGlkLgoKMjAwOS0xMi0wOCAxODo1Nzo0OSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIGl2b3JiaXM6IGFsc28gY2F0ZXIgZm9yIHRyYWRpdGlvbmFsIDE2LWJpdCB3aWR0aCBzYW1wbGUgb3V0cHV0CgoyMDA5LTEyLTEwIDEwOjQwOjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRG9uJ3QgZG8gcG9pbnRlciBkZXJlZmVyZW5jZXMgaW4gdGhlIHByb2Nlc3NpbmcgbG9vcAoJICBMb3dlcnMgdGhlIHRpbWUgdGFrZW4gdGhlcmUgaW4gbXkgdGVzdGNhc2UgZnJvbSA2LjkxJSB0byA2LjIwJQoJICBhcyBtZWFzdXJlZCBieSBjYWxsZ3JpbmQuCgoyMDA5LTExLTE4IDE2OjM4OjMzICswMTAwICB1bmtub3duIDxoYXZhcmQuZ3JhZmZALmV1LnRhbmRiZXJnLmludD4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogdXBkYXRlIHRoZSBjdXJyZW50X3NzcmMgZnJvbSB0aGUgY2FwcwoJICBGaXhlcyAjNjA0MTAxCgoyMDA5LTEyLTA5IDE0OjQyOjIxICswMTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiByZWxlYXNlIHBhZHMgd2hlbiBkaXNwb3NpbmcKCSAgQmVjYXVzZSBvZiBhbiBhbGxvY2F0ZWQgcHJpdiAoR3N0UlRQTXV4UGFkUHJpdmF0ZSksIHRoZSBlbGVtZW50IHdpbGwKCSAgbGVhayBtZW1vcnkgaWYgbm90IGdzdF9ydHBfbXV4X3JlbGVhc2VfcGFkKCkgaXMgY2FsbGVkLiBUaGlzIHdvdWxkCgkgIHByZXZpb3VzbHkgb25seSBoYXBwZW4gaWYgcmVsZWFzZV9yZXF1ZXN0X3BhZCgpIHdhcyBjYWxsZWQgZXhwbGljaXRseSwKCSAgc29tdGhpbmcgdGhhdCBzaG91bGQgbm90IGJlIG5lY2Nlc2FyeS4KCSAgRml4ZXMgIzYwNDA5OQoKMjAwOS0xMi0wOSAxMzo0MDo0MyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBkdG1mbXV4OiBtZXRob2QgbmFtZSBjbGVhbnVwcwoKMjAwOS0xMi0wOSAwOTo1Nzo1OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgcXVlcnkgZnVuY3Rpb24gdG8gYWx3YXlzIGZvcndhcmQgdG8gdGhlIHZpZGVvIHNpbmtwYWQKCjIwMDktMTItMDkgMDk6NTU6MzIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBQcm94eSBidWZmZXIgYWxsb2NhdGlvbiBvbiB2aWRlbyBzaW5rcGFkIHRvIHRoZSBzcmNwYWQKCSAgLi4uYW5kIGFkZCBnZXRjYXBzIGZ1bmN0aW9uIHRvIHRoZSB2aWRlbyBzaW5rcGFkLgoKMjAwOS0xMi0wOSAwOTo1MToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcGxlbWVudCBzcmNwYWQgZXZlbnQgZnVuY3Rpb25zIGZvciBzZWVraW5nIGFuZCBjb3JyZWN0IGV2ZW50IGZvcndhcmRpbmcKCSAgQ29waWVkIGZyb20gdGV4dG92ZXJsYXkuCgoyMDA5LTEyLTA4IDE3OjU5OjA0IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHJlbW92ZSBjKysgY29tbWVudHMgYW5kIGFkZCBzb21lIG1vcmUgY29tbWVudHMuCgoyMDA5LTEyLTA4IDE3OjU1OjU2IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBhZGQgaW1hIGFkcGNtIHN1cHBvcnQKCjIwMDktMTItMDggMTc6NTU6MTMgLTA4MDAgIFN0ZXBoZW4gTWNOYW1hcmEgPHN0ZXZlLm1jbmFtYXJhQHVsdHJhLXNtbC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogZG9uJ3QgbGVhayBmaWx0ZXJfbWVkaWFfZXZlbnQKCjIwMDktMTEtMjMgMTY6MzQ6NTAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZW5zdXJlIHN1ZmZpY2llbnQgZGF0YSBhdmFpbGFibGUgZm9yIHBhcnNpbmcKCjIwMDktMTAtMjkgMTU6MTk6MDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogZXh0cmFjdCBhbmQgdXNlIHNvbWUgbW9yZSBkZXRhaWxzIGZvciBFbmhhbmNlZCBBYy0zIHN0cmVhbXMKCjIwMDktMTAtMjkgMTU6MTg6MzcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBjdXN0b20gYnVmZmVyZmxhZyBpbmRpY2F0ZXMgbm90IHRvIGNvdW50IGZyYW1lIGluIHN0YXRzCgoyMDA5LTEwLTI4IDE0OjA4OjQzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IHBlcmZvcm0gYWRkaXRpb25hbCBmcmFtZSBjaGVja3Mgd2hlbiByZXN5bmNpbmcKCjIwMDktMTAtMjggMTQ6MDc6MTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJICBhYzNwYXJzZTogaW5mb3JtIGJhc2UgcGFyc2VyIG9mIGZyYW1lIGR1cmF0aW9uCgoyMDA5LTEwLTI3IDE2OjE2OjUwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWMzcGFyc2UuYzoKCSAgYWMzcGFyc2U6IGltcHJvdmUgc3JjIGNhcHMgc2V0dGluZ3MKCjIwMDktMTEtMjcgMTc6NTk6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9NYWtlZmlsZS5hbToKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhYzNwYXJzZS5jOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFjM3BhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvcGx1Z2luLmM6CgkgIGFjM3BhcnNlOiBpbml0aWFsIHZlcnNpb24KCSAgTUFSR0lOQUwgcmFuayBmb3Igbm93OyBtaWdodCB0YWtlIHNvbWUgdGltZSBmb3Igc29tZSAodXNlZnVsKQoJICBmcmFtZWQ9dHJ1ZS9mYWxzZSB0byBhcHBlYXIgaGVyZSBhbmQgdGhlcmUuCgoyMDA5LTExLTI2IDE4OjM0OjQ1ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJICBhbXJwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTEtMjYgMTg6MTU6MjEgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkqIGdzdC9hdWRpb3BhcnNlcnMvTWFrZWZpbGUuYW06CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RhbXJwYXJzZS5oOgoJKiBnc3QvYXVkaW9wYXJzZXJzL3BsdWdpbi5jOgoJICBhdWRpb3BhcnNlcnM6IG1vdmUgJ2FtcnBhcnNlJyBpbnRvIGl0CgoyMDA5LTExLTI3IDE3OjI3OjMyICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YmFzZXBhcnNlLmM6CgkgIGF1ZGlvcGFyc2VyczogcmVmZXJlbmNlIEdzdEJhc2VQYXJzZSBub3cgbGl2ZXMgaGVyZQoKMjAwOS0xMS0yOCAxODoxMzozMSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL01ha2VmaWxlLmFtOgoJKiBnc3QvYXVkaW9wYXJzZXJzL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hdWRpb3BhcnNlcnMvZ3N0YWFjcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9nc3RiYXNlcGFyc2UuaDoKCSogZ3N0L2F1ZGlvcGFyc2Vycy9wbHVnaW4uYzoKCSAgYXVkaW9wYXJzZXJzOiByZW5hbWUgJ2FhY3BhcnNlJyBwbHVnaW4gdG8gZ2VuZXJpYyAnYXVkaW9wYXJzZXJzJyBwbHVnaW4KCjIwMDktMTEtMjYgMTc6MDQ6NDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL3BsdWdpbi5jOgoJICBhYWNwYXJzZTogc2VwYXJhdGUgcGx1Z2luIHJlZ2lzdHJhdGlvbiBhbmQgcmVuYW1lIHBsdWdpbgoKMjAwOS0xMS0yNiAxNzowNDozNiArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGVuc3VyZSBzdWZmaWNpZW50IGRhdGEgYXZhaWxhYmxlIGJlZm9yZSBhY2Nlc3NpbmcKCjIwMDktMTEtMDUgMTQ6MzE6NDAgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5oOgoJICBhYWNwYXJzZTogdXNlIChkZWZhdWx0KSB0aW1lIGhhbmRsaW5nIG9mIGJhc2VwYXJzZXIgY2xhc3MKCjIwMDktMTAtMjkgMTU6MTk6MzUgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXh1cCBjb21tZW50cyB0byBDLXN0eWxlCgoyMDA5LTEwLTI5IDE2OjA1OjAwICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiByZXNldCBwYXNzdGhyb3VnaCBtb2RlIHRvIGRlZmF1bHQgKGRpc2FibGVkKSBvbiBhY3RpdmF0aW9uCgoyMDA5LTEwLTI5IDE1OjE2OjU5ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBlbnN1cmUgYnVmZmVyIG1ldGFkYXRhIGlzIHdyaXRhYmxlCgoyMDA5LTEwLTI4IDE0OjA2OjEzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IGZpeC9lbmhhbmNlIERJU0NPTlQgbWFya2luZwoJICBJbiBwYXJ0aWN1bGFyLCBjb25zaWRlciBESVNDT05UID09ICFzeW5jLCBhbmQgYWxsb3cgc3ViY2xhc3MgdG8gcXVlcnkKCSAgc3luYyBzdGF0ZSwgYXMgaXQgbWF5IHdhbnQgdG8gcGVyZm9ybSBhZGRpdGlvbmFsIGNoZWNrcyBkZXBlbmRpbmcKCSAgb24gd2hldGhlciBzeW5jIHdhcyBhY2hpZXZlZCBlYXJsaWVyIG9uLgoJICBBbHNvIGFycmFuZ2UgZm9yIHN1YmNsYXNzIHRvIHF1ZXJ5IHdoZXRoZXIgbGVmdG92ZXIgZGF0YSBpcyBiZWluZyBkcmFpbmVkLgoKMjAwOS0xMS0yMyAxNTo0ODoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuaDoKCSAgYmFzZXBhcnNlOiBhZGQgdGltZXN0YW1wIGhhbmRsaW5nLCBhbmQgZGVmYXVsdCBjb252ZXJzaW9uCgkgIEluIHBhcnRpY3VsYXIsIChvcHRpb25hbGx5KSBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGEgbm90aW9uIG9mIGZyYW1lcyBwZXIgc2Vjb25kCgkgIChhbmQgdGhlcmVmb3JlIGFsc28gZnJhbWUgZHVyYXRpb24pIGFuZCBoYXZlIGl0IHRyYWNrIGZyYW1lIGFuZCBieXRlIGNvdW50cy4KCSAgVGhpcyB3YXksIHN1YmNsYXNzIGNhbiBwcm92aWRlIGJhc2VwYXJzZSB3aXRoIGZwcyBhbmQgaGF2ZSBpdCBwcm92aWRlIGRlZmF1bHQKCSAgYnVmZmVyIHRpbWUgbWV0YWRhdGEgYW5kIGNvbnZlcnNpb25zLCB0aG91Z2ggc3ViY2xhc3MgY2FuIHN0aWxsIGluc3RhbGwKCSAgY2FsbGJhY2tzIHRvIGhhbmRsZSBzdWNoIGl0c2VsZi4KCjIwMDktMTAtMjggMTI6MDI6MDMgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGRvY3VtZW50YXRpb24gZml4ZXMKCjIwMDktMTAtMjggMTI6MDA6MDggKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IHVzZV9maXhlZF9jYXBzIGZvciBzcmMgcGFkCgkgIEFmdGVyIGFsbCwgc3RyZWFtIGlzIGFzLWlzLCBhbmQgdGhlcmUgaXMgbGl0dGxlIG1vbGRpbmcgdG8gZG93bnN0cmVhbSdzCgkgIHRhc3RlIHRoYXQgY2FuIGJlIGRvbmUuICBJZiBzdWJjbGFzcyBjYW4gYW5kIHdhbnRzIHRvIGRvIHNvLCBpdCBjYW4KCSAgc3RpbGwgb3ZlcnJpZGUgYXMgc3VjaC4KCjIwMDktMTItMDggMTQ6NDY6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1rYXRlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbHYyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvbWVhc3VyZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEFkZCBkb2NzIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgZG9jcyBidWlsZCBzeXN0ZW0KCjIwMDktMTItMDggMTQ6MDY6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGb3Igc3luY2hyb25pemluZyB0aGUgdGV4dCwgdGFrZSB0aGUgdmlkZW8gcnVubmluZyB0aW1lIG9mIHRoZSBuZXh0IGZyYW1lCgkgIFRoaXMgbWFrZXMgc3VyZSB0aGF0IGxpYmFzcyBhbHJlYWR5IGhhcyBhbGwgdGV4dCBidWZmZXJzIGZvciB0aGUgbmV4dCBmcmFtZQoJICBhdCB0aGUgdGltZSB3aGVuIHRoZSBuZXh0IGZyYW1lIGlzIHByb2Nlc3NlZC4gV2l0aG91dCB0aGlzIHRleHQgYnVmZmVycwoJICBtaWdodCBiZSBvbmUgZnJhbWUgbGF0ZSBvciBub3Qgc2hvd24gYXQgYWxsIGlmIHRoZXkncmUgb25seSBzaG93biBmb3IgYQoJICBzaW5nbGUgZnJhbWUuCgoyMDA5LTEyLTA4IDExOjI2OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IEk0MjAgbW9kZSBhbmQgZW5hYmxlIGl0CgoyMDA5LTEyLTA4IDExOjI1OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggb2xkZXIgbGliYXNzIHZlcnNpb25zCgoyMDA5LTEyLTA3IDEwOjIxOjMyIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5oOgoJICBkc2hvd3ZpZGVvc2luazogc3BlbGwgdGhpbmdzIG1vcmUgYmV0dGVyZXIuCgoyMDA5LTEyLTA3IDEwOjA5OjE5IC0wODAwICBTdGVwaGVuIE1jTmFtYXJhIDxzdGV2ZS5tY25hbWFyYUB1bHRyYS1zbWwuY29tPgoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIGRzaG93dmlkZW9zaW5rOiBhZGQgdmlydHVhbCBkZXN0cnVjdG9yIGZvciBpbnRlcm5hbCBoZWxwZXIgY2xhc3MuCgoyMDA5LTEyLTA3IDE4OjM1OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgdW5yZWYgYnVmZmVycyB0d2ljZQoKMjAwOS0xMi0wNyAxODozMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEltcHJvdmUgZW1iZWRkZWQgZm9udCB1c2FnZQoJICBGb3IgdGhpcyBhZGQgc29tZSBuZXcgbWltZXR5cGVzIGFuZCBhbHNvIGNoZWNrIHRoZSBmaWxlbmFtZSBleHRlbnNpb24uCgkgIEZpeGVzIGJ1ZyAjNjAzOTM4LgoKMjAwOS0xMi0wNyAxODowMzoyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERpc2FibGUgSTQyMCBzdXBwb3J0IGZvciBub3csIGl0IGRvZXNuJ3Qgd29yayByZWxpYWJsZSB5ZXQKCjIwMDktMTItMDcgMTc6MDQ6MDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBBZGQgc3VwcG9ydCBmb3IgSTQyMAoKMjAwOS0xMi0wNyAxNTozMTo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IE9wdGltaXplIGJsaXQgZnVuY3Rpb24gYW5kIGFkZCBzdXBwb3J0IGZvciBhbGwgb3RoZXIgbm9uLWFscGhhIFJHQiBmb3JtYXRzCgkgIEFsc28gbWFrZSBzdXJlIHRvIG5vdCB3cml0ZSBiZWhpbmQgYXJyYXkgYm91bmRzLgoKMjAwOS0xMi0wNyAxNDozNTo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IEZpeCBhdHRhY2htZW50IHRhZyBoYW5kbGluZyBhbmQgbW92ZSBpdCBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24KCSAgLi4udG8gcHJldmVudCBjb2RlIGR1cGxpY2F0aW9uLgoKMjAwOS0xMi0wNyAxNDoyNjo0NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSB0ZXh0IGxhc3Qgc3RvcCBhZnRlciBjaGVja2luZyBpZiB0aW1lc3RhbXAvZHVyYXRpb24gaXMgdmFsaWQKCjIwMDktMTItMDcgMTQ6MjM6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJZiBhbiBBU1MgdHJhY2sgd2FzIGFsbG9jYXRlZCBhbHJlYWR5IG9ubHkgZmVlZCBuZXcgY29kZWNfZGF0YSB0byBpdCBpbnN0ZWFkIG9mIHJlY3JlYXRpbmcKCjIwMDktMTItMDcgMTQ6MDU6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBMb3RzIG9mIHJhbmRvbSBjbGVhbnVwIGFuZCBzb21lIG1pbm9yIG1lbWxlYWsgZml4ZXMKCjIwMDktMTItMDcgMTM6NDA6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBFeHRyYWN0IGVtYmVkZGVkIGZvbnRzIGZyb20gdGhlIHN1YnRpdGxlIHN0cmVhbXMgaWYgcmVxdWVzdGVkCgoyMDA5LTEyLTA3IDEzOjI2OjM5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRG9uJ3QgbGV0IGxpYmFzcyBwcmludCBzdHVmZiBvbiBzdGRlcnIgYnV0IHByb3h5IHRoZSBtZXNzYWdlcyB0byB0aGUgR1N0cmVhbWVyIGRlYnVnZ2luZyBzeXN0ZW0KCjIwMDktMTItMDUgMTE6MjU6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIGFwZXhzaW5rOiBjbGVhbiB1cCBhbmQgZml4IGNvbmZpZ3VyZSBsb2dpYyBhbmQgTWFrZWZpbGUuYW0KCSAgQ2hlY2sgZm9yIG9wZW5zc2wgYW5kIGxpYmNyeXB0byB1c2luZyBwa2ctY29uZmlnIGFuZCBkb24ndCBidWlsZCB0aGUKCSAgcGx1Z2luIGlmIHRob3NlIGFyZSBub3QgYXZhaWxhYmxlLiBBbHNvLCBmaXggdGhlIENGTEFHUy9MSUJTIG9yZGVyCgkgIGluIE1ha2VmaWxlLmFtIGFuZCB1c2UgdGhlIGRldGVjdGVkIExJQlMgaW5zdGVhZCBvZiBoYXJkLWNvZGluZwoJICAtbGNyeXB0byBpbiB0aGUgTWFrZWZpbGUuYW0uIFNob3VsZCBmaXggIzYwMTQxNy4KCjIwMDktMTItMDEgMTU6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA4N2JmNDI4IHRvIDQ3Y2IyM2EKCjIwMDktMTItMDEgMTQ6MDk6MjkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IENhbGwgQUdfR1NUX1BMQVRGT1JNIGZvciBHU1RfRVhUUkFfTU9EVUxFX1NVRkZJWAoJICBUaGlzIGlzIHVzZWQgaW4gdGhlIGZyZWkwciBwbHVnaW4gYWxyZWFkeSBidXQgbmV2ZXIgZGVmaW5lZCBhbnl3aGVyZS4KCSAgRml4ZXMgYnVnICM2MDI1MjQuCgoyMDA5LTEyLTAxIDE0OjE3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZGE0Yzc1YyB0byA4N2JmNDI4CgoyMDA5LTExLTI3IDE4OjU1OjU4ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1M2EyNDg1IHRvIGRhNGM3NWMKCjIwMDktMTEtMjcgMTQ6Mzg6MDQgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5oOgoJICBjYW1lcmFiaW46IHBob3RvZ3JhcGh5IGludGVyZmFjZSBwcm9wZXJ0aWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFsbHkpCgkgIEFkZGVkIEdPYmplY3QgcHJvcGVydGllcyB0byBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIGltcGxlbWVudGVkCgkgIHRoZW0gaW4gY2FtZXJhYmluLiBDaGFuZ2VkIHpvb21pbmcgdG8gY2hlY2sgaWYgdmlkZW8tc291cmNlIGhhcwoJICB6b29tIHByb3BlcnR5LgoKMjAwOS0wMi0yMyAyMzoxODozMyArMDIwMCAgUmVuw6kgU3RhZGxlciA8cmVuZS5zdGFkbGVyQG5va2lhLmNvbT4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIHBrZ2NvbmZpZy9NYWtlZmlsZS5hbToKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC11bmluc3RhbGxlZC5wYy5pbjoKCSogcGtnY29uZmlnL2dzdHJlYW1lci1wbHVnaW5zLWJhZC5wYy5pbjoKCSAgQWRkIHBrZ2NvbmZpZyBmaWxlcyBmb3IgcGhvdG9ncmFwaHkgaW50ZXJmYWNlIGxpYnJhcnkuCgoyMDA5LTEwLTI4IDEyOjQ3OjE5ICswMjAwICBUZWVtdSBLYXRhamlzdG8gPGV4dC10ZWVtdS5rYXRhamlzdG9Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi1lbnVtLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLWVudW0uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBhZGQgZmxhZ3MgcHJvcGVydHkuIEZpeGVzICM1NzMzNzAgKHBhcnRpYWxseSkKCSAgQWRkcyBmbGFncyBwcm9wZXJ0eSB0byBlbmFibGUgcnVudGltZSBjb25maWd1cmF0aW9uIG9mCgkgIGNvbnZlcnNpb24gYW5kIHNjYWxpbmcgZWxlbWVudHMuIEFsc28gYWRkcyBmbGFnIGZvciBkaXNhYmxpbmcKCSAgYXVkaW8gY29tcGxldGVseS4KCjIwMDktMTAtMjcgMTY6Mjg6MjUgKzAyMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiByZW1vdmUgdGltZW92ZXJsYXkgYnVpbGQtdGltZSBkZWZpbml0aW9uCgoyMDA5LTExLTI2IDE1OjMzOjMyIC0wNjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJICB2ZHBhdTogZml4IGJ1aWxkCgoyMDA5LTExLTI1IDIxOjQxOjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogcmVwbGFjZSBfc2NhbGUgd2l0aCBfc2NhbGVfcm91bmQKCSAgVXNlIHRoZSByb3VuZGluZyB2ZXJzaW9uIGZvciBpbXByb3ZlZCBzeW5jIGJldHdlZW4gc3RyZWFtcy4KCSAgU21hbGwgdmFyaWF0aW9ucyBpbiB0aGUgZHVyYXRpb24gd2hlbiBtdXhpbmcgbWlnaHQgbGVhZCB0bwoJICBjdW11bGxhdGl2ZSB3cm9uZyB0aW1lc3RhbXBpbmcgd2hlbiBkZW11eGluZy4KCSAgRml4ZXMgIzYwMjkzNgoKMjAwOS0xMS0yNCAxNjoxNjo1NiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXg6IHVzZSB0aW1lc3RhbXBzIGZvciBtdXhpbmcKCSAgVHJ5IHRvIHVzZSB0aW1lc3RhbXBzIGV2ZW4gd2hlbiB0aGUgc3RyZWFtIGhhcyBvdXQgb2Ygb3JkZXIKCSAgdGltZXN0YW1wcywgb25seSBmYWxsIGJhY2sgdG8gZHVyYXRpb25zIHdoZW4gd2UgZGV0ZWN0IGFuCgkgIG91dCBvZiBvcmRlciBidWZmZXIuIEltcHJvdmVzIHN5bmMgYmV0d2VlbiBzdHJlYW1zLgoKMjAwOS0xMS0yNCAxNDozNDo1MSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkgIG1ldGFkYXRhOiBmaXggY2xhc3NpZmljYXRpb24KCjIwMDktMTEtMTggMTE6Mzg6NTAgKzAxMDAgIFhhdmllciBRdWVyYWx0IE1hdGV1IDx4cXVlcmFsdEBmbHVtb3Rpb24uY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEV4cG9zZSBsYW5nIGNvZGVzIGluIHBtdAoKMjAwOS0xMS0yMiAxOTozMDo0MyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsIHRyYW5zZm9ybWluZyBmcm9tIGJ5dGVzdHJlYW0gdG8gc2FtcGxlIGZvcm1hdCAob3IgdmljZSB2ZXJzYSkKCjIwMDktMTEtMjAgMTg6MzE6MzkgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiByZWZhY3RvciBhIGJpdCBpbnRvIGEgcmVzZXQgZnVuY3Rpb24KCjIwMDktMTEtMjAgMTg6NDk6NTYgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBwcm92aWRlIHcvaCBmcm9tIHN0cmVhbSBpbiBzcmMgY2FwcyBpZiBub3QgaW4gc2luayBjYXBzCgoyMDA5LTExLTA2IDEyOjU4OjMzICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogcGFyc2UgU1BTIHNvbWUgbW9yZSAoZS5nLiBmb3Igd2lkdGgvaGVpZ2h0KQoKMjAwOS0xMS0yMiAxOTozNDoyNSArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IG9wdGlvbmFsbHkgb3V0cHV0IEFVcyByYXRoZXIgdGhhbiBOQUxVcwoJICBUaGF0IGlzLCBBY2Nlc3MgVW5pdHMgKGZyYW1lcy9maWVsZHMpIGluc3RlYWQgb2YgKHBvc3NpYmx5KSBwYXJ0cyB0aGVyZW9mLgoKMjAwOS0xMS0yMyAxMDozMjo0MSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSAgcG86IHJlbW92ZSBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jCgoyMDA5LTExLTIzIDA5OjM1OjMwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogcHJlLXJlbGVhc2U9PmdpdAoKMjAwOS0xMS0yMyAwOToxNzozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSAgdmRwYXU6IEZpeCBpbmNsdWRlcwoKMjAwOS0xMS0yMiAyMjo1NDoyNyArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGNvbnZlcnQgdG8gMS8xIHBpeGVsLWFzcGVjdC1yYXRpbyBmb3IgcmdiIHRvbwoKMjAwOS0xMS0yMiAyMjozNDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogaW50ZXJzZWN0IGFsbG93ZWQgY2FwcyB3aXRoIG91ciB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTExLTIyIDIyOjMxOjM4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkgIHZkcGF1OiBmaXggZ3N0X3ZkcF9bdmlkZW98eXV2XV90b19vdXRwdXRfY2FwcyB0byBhbHNvIGFkZCByZ2IgY2FwcwoKMjAwOS0xMS0yMiAyMjozMDoxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogdXNlIEdzdFZkcFZpZGVvU3JjUGFkCgoyMDA5LTExLTIyIDIyOjI5OjU4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dGJ1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmg6CgkgIHZkcGF1OiBhZGQgZnVuY3Rpb25zIHRvIEdzdFZkcE91dHB1dEJ1ZmZlciBuZWVkZWQgZm9yIHJnYiBkb3dubG9hZAoKMjAwOS0xMS0yMiAyMjoyODoxOCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRzcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG91dHB1dHNyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBPdXRwdXRTcmNQYWQKCSAgR3N0VmRwT3V0cHV0U3JjUGFkIGlzIGEgc3ViY2xhc3Mgb2YgR3N0UGFkIHRoYXQgaXMgdXNlZCBmb3IgcHVzaGluZyBvdXQKCSAgR3N0VmRwT3V0cHV0QnVmZmVycy4gSXQgdGFrZXMgY2FyZSBvZiBjYXBzIG5lZ290aWF0aW9uIGFuZCBjb252ZXJzaW9uIHRvCgkgIHZpZGVvL3gtcmF3LXJnYi4KCjIwMDktMTEtMjIgMjI6MjQ6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBhZGQgInRlbXBsYXRlLWNhcHMiIHByb3BlcnR5CgkgIFRoZSBwcm9wZXJ0eSBsaW1pdHMgdGhlIGF2YWlsYWJsZSBvdXRwdXQgY2FwcwoKMjAwOS0xMS0yMiAyMjoxODo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJICBnc3R2ZHB2aWRlb2J1ZmZlcjogZml4IHR5cG8KCjIwMDktMTEtMjEgMDI6NTE6MzkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiByZXBsYWNlIGdldF9wYWRfdGVtcGxhdGUoKSB3aXRoIGdldF90ZW1wbGF0ZV9jYXBzKCkKCjIwMDktMTEtMjEgMDE6MTA6NTAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9zcmNwYWQuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmg6CgkgIGdzdHZkcHZpZGVvc3JjcGFkOiBkb24ndCByZWNyZWF0ZSBjYXBzIGluIGdldGNhcHMKCjIwMDktMTEtMjEgMDA6MTM6NDYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvc3JjcGFkLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3NyY3BhZC5oOgoJICB2ZHBhdTogYWRkIEdzdFBhZCBzdWJjbGFzcyBHc3RWZHBWaWRlb1NyY1BhZAoJICBHc3RWZHBWaWRlb1NyY1BhZCB0YWtlcyBjYXJlIG9mIGNhcHMgbmVnb3RpYXRpb24gYW5kIGNvbnZlcnNpb24gb2YKCSAgR3N0VmRwVmlkZW9CdWZmZXJzIHRvIHRoZSBuZWdvdGlhdGVkIG91dHB1dCBmb3JtYXQuCgoyMDA5LTEwLTI3IDIyOjA0OjEwICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkgIHZkcGF1c2luazogcmV3b3JrIHByZXNlbnRhdGlvbiBibG9ja2luZyBhIGJpdAoJICBpbnN0ZWFkIG9mIGJsb2NraW5nIHVudGlsIHRoZSBwcmV2aW91cyBzdXJmYWNlIGhhcyBiZWVuIGRpc3BsYXllZCwgd2UgbmV3IG9ubHkKCSAgYWRkIHN1cmZhY2VzIHRvIHRoZSBxdWV1ZSBpZiBpdCdzIGlkbGUuCgoyMDA5LTEwLTI3IDIxOjE4OjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBzcGxpdCB1cCBjaGFpbiBmdW5jdGlvbgoKMjAwOS0xMC0yNyAyMDo1NzowNSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogaW1wbGVtZW50IGJhc2ljIHFvcyBoYW5kbGluZwoKMjAwOS0xMC0xNiAwMDoxNjoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIGRpc3BsYXkgcHJvcGVydHkKCjIwMDktMTAtMDggMjM6Mzg6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkgIHZkcGF1OiByZW1vdmUgdW51c2VkIGZ1bmN0aW9ucwoKMjAwOS0xMC0wOCAyMDoyNTo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1OiB1c2UgbG9jYWwgbGliZ3N0dmRwIGhlYWRlcnMKCjIwMDktMTAtMDggMjA6MjM6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW1vdmUgbm93IHVubmVlZGVkIHZkcGF1dmlkZW95dXYgYW5kIHZkcGF1eXV2dmlkZW8gZWxlbWVudHMKCjIwMDktMTAtMDggMjA6MTk6NTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGFkZCBkaXNwbGF5IHByb3BlcnR5CgoyMDA5LTEwLTA4IDIwOjEzOjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSAgdmRwYXVzaW5rOiBhZGQgZGVidWcgb3V0cHV0CgoyMDA5LTEwLTA4IDIwOjEzOjA0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXcteXV2IGlucHV0CgoyMDA5LTEwLTA3IDEwOjI1OjQ2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBhZGQgc3JjX2dldGNhcHMgZnVuYwoJICB0aGlzIHdheSB3ZSBjYW4gcmV0dXJuIG9ubHkgdGhlIGNhcHMgd2UgcmVhbGx5IHN1cHBvcnQsIHNpbmNlIHdlJ3JlIGFibGUgdG8gcXVlcnkgdmRwYXUKCSAgYWJvdXQgaXQKCjIwMDktMTAtMDcgMDA6MTM6MDAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIHN1cHBvcnQgZm9yIG5lZ290YXRpb24gb2YgeC1yYXcteXV2IG91dHB1dAoKMjAwOS0xMC0wNCAxOToyNzo1NiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGNyZWF0ZSBhIGxpYmdzdHZkcCBsaWJyYXJ5LgoJICBUaGUgbGlicmFyeSBjb250YWlucyBHc3RWZHBEZXZpY2UgR3N0VmRwVmlkZW9CdWZmZXIgYW5kIEdzdFZkcE91dHB1dEJ1ZmZlci4gVGhlCgkgIGxpYnJhcnkgd2lsbCAoYXBhcnQgZnJvbSB0aGUgcGx1Z2lucyBoZXJlKSBiZSB1c2VkIGJ5IHRoZSB1cGNvbWluZyBnc3QtZmZtcGVnCgkgIHZkcGF1IHN1cHBvcnQuCgoyMDA5LTEwLTAzIDE0OjMwOjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBjaGVjayBmb3Igc2luayBlbGVtZW50IHJldHVybmluZyB3cm9uZyBidWZmZXIgdHlwZQoKMjAwOS0xMC0wMiAwMTowNDowMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSB1bm5lZWRlZCBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9hZGRfcmVmZXJlbmNlIGZ1bmN0aW9uCgoyMDA5LTA5LTI0IDIyOjI2OjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBmaXggbG9uZ25hbWUKCjIwMDktMTEtMjIgMTk6MzA6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL01ha2VmaWxlLmFtOgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSAgQ2xlYW4gdXAgTERGTEFHUywgTElCUywgQ0ZMQUdTCgkgIEZpeCBvcmRlciwgZml4IHZhcmlhYmxlcyB0aGF0IGRvbid0IGV4aXN0LCBsaWtlIEdTVF9MSUJTX0xJQlMsCgkgIHVzZSAkKExJQk0pIGluc3RlYWQgb2YgLWxtLCBhbmQgbW92ZSBfTElCUyBmcm9tIExERkxBR1MgdG8gTElCQURELgoJICBTcG90dGVkIGJ5IEhhdmFyZCBHcmFmZi4KCjIwMDktMTEtMjIgMTk6MDI6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2NvZy9jb2d1dGlscy5oOgoJICBjb2c6IGluY2x1ZGUgb3VyIG93biBfc3RkaW50LmggaW5zdGVhZCBvZiA8c3RkaW50Lmg+CgoyMDA5LTExLTIwIDExOjEzOjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saWJyZmIvZDNkZXMuYzoKCSogZ3N0L2xpYnJmYi92bmNhdXRoLmM6CgkgIGxpYnJmYjogaW5jbHVkZSBvdXIgb3duIF9zdGRpbnQuaCBub3Qgc3RkaW50LmgKCjIwMDktMTEtMjEgMTc6MzE6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5oOgoJICByZXNpbmR2ZDogUmVtb3ZlIGxvY2FsIGJhc2VzcmMgY29weQoJICBVc2UgdGhlIHJlYWwgdmVyc2lvbiBvZiBiYXNlc3JjIGluc3RlYWQgb2YgYSBsb2NhbCBjb3B5IG5vdyB0aGF0IGl0CgkgIHN1cHBvcnRzIHRoZSBzZWFtbGVzcyBzZWdtZW50IGZlYXR1cmUgdGhhdCByZXNpbiBuZWVkcy4KCjIwMDktMTEtMjAgMTM6NDE6MjcgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIHRlc3RzL2ljbGVzOiBtYWtlIGNvZyB0ZXN0IHByb2dyYW0gZGVwZW5kIG9uIFVTRV9DT0cuIEZpeGVzIGJ1aWxkIHdpdGhvdXQgb3JjLgoKMjAwOS0xMS0yMCAyMDo1NToxNSArMDEwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZy5vcmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogY29udmVydCBzb21lIHBhcmFtcyB0byBjb25zdHMgaW4gb3JjIGNvZGUKCjIwMDktMTEtMjAgMTc6MzM6MjEgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSAgZnJlaTByOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MuCgoyMDA5LTExLTIwIDE3OjMyOjQ0ICswMTAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AZmx1ZW5kby5jb20+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBGaXggY29tcGlsYXRpb24gd2FybmluZ3MKCjIwMDktMTEtMjAgMTc6MzI6MTMgKzAxMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBmbHVlbmRvLmNvbT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBjb21waWxhdGlvbiB3YXJuaW5ncwoKMjAwOS0xMS0yMCAxMDozMTo0NyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBnc3QvZHRtZi90b25lX2RldGVjdC5oOgoJICBkdG1mOiBVc2UgX3N0ZGludC5oIGZyb20gY29uZmlndXJlCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMjAgMTM6MTM6MzYgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIGNvZzogQWRkIG9yYyB0ZXN0IGNvZGUgZm9yIGNvZwoJICBBbHNvIGxvb2sgZm9yIGNvZy5vcmMgc291cmNlIGZpbGUgaW4gdGhlIHJpZ2h0IHBsYWNlLgoKMjAwOS0xMS0xOSAyMDozMzowNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZjogVXBkYXRlIGR0bWZkZXRlY3QgdG8gbWFrZSBpdCBNU1ZDIGZyaWVuZGx5CgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD02MDI0NjUKCjIwMDktMTEtMTkgMTg6Mjg6NTIgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoJICBBZGRzIGEgbWlzc2luZyBkZWJ1ZyBhcmd1bWVudAoKMjAwOS0xMS0xOSAyMzowMToyOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBzZXQgdGhlIGF1ZGlvLWNoYW5uZWwgcG9zaXRpb25zIGFnYWluLCBidXQgbm93IGluIF9zZXR1cAoJICBSZWFkZCB0aGUgY29kZSB0aGF0IHdhcyByZXZlcnRlZCBmb3IgdGhlIHJlbGVhc2UuIFdlIG5vdyBzZXQgYXVkaW8tY2hhbm5lbAoJICBwb3NpdGlvbnMgaWYgYW55IG9uIHRoZSBwYWQgY2FwcyBhbmQgbm90IG9uIHRoZSB0ZW1wbGF0ZXMuCgoyMDA5LTExLTE5IDIyOjU5OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3I6IHJlbW92ZSBjb21tZW50ZWQgb3V0IGNvZGUgdGhhdCB3ZSBkb24ndCBuZWVkIGFueW1vcmUKCjIwMDktMTEtMTcgMDA6Mzk6NTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIHRlc3RzOiBtYWtlIHN0YXRlLWNoYW5nZSB0ZXN0IHRpbWVvdXQgbG9uZ2VyIGlmIHdyYXBwZXJzIGFyZSBlbmFibGVkCgkgIFdoZW4gbGFkc3BhIHx8IGx2MiBhcmUgZW5hYmxlZCBvbmUgY291bGQgcXVpY2tseSBnZXQgdG8gNTAwIGVsZW1lbnRzLgoKMjAwOS0xMS0xNyAwMDozNzoyOCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6CgkgIHJlYWxhdWRpb2RlYzogcmVpbmRlbnQgYW5kIG1ha2UgdmFsZ3JpbmQgaGFwcHkKCSAgVGhlIHN0YXRlLWNoYW5nZSB0ZXN0cyByZXBvcnRlZCBhY2Nlc3MgdG8gdW5pbml0aWFsaXplZCBtZW1vcnkuCgoyMDA5LTExLTE2IDIyOjA3OjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IG9ubHkgdXNlIGdfcmV0dXJuX3ZhbF9pZl9mYWlsIGZvciBjaGVja2luZyBwcmUtY29uZGl0aW9ucwoJICBnX3JldHVybl8qIGNhbiBiZSBkaXNhYmxlZC4gU3RpbGwgd2Ugd2FudCB0byBjaGVjayBmb3IgZmFpbGVkIGluc3RhbmNlIGNyZWF0aW9uLgoKMjAwOS0xMS0xNiAyMjowNToxNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgbHYyOiBvbmx5IHVzZSBnX3JldHVybl92YWxfaWZfZmFpbCBmb3IgY2hlY2tpbmcgcHJlLWNvbmRpdGlvbnMKCSAgZ19yZXR1cm5fKiBjYW4gYmUgZGlzYWJsZWQuIFN0aWxsIHdlIHdhbnQgdG8gY2hlY2sgZm9yIGZhaWxlZCBpbnN0YW5jZSBjcmVhdGlvbi4KCjIwMDktMTEtMTYgMjE6NTI6MzIgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogcmVtb3ZlIGxlZnQtb3ZlciBjb21tZW50CgoyMDA5LTExLTE2IDIxOjUwOjIwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGNoYW5nZSBfc2V0dXAgdG8gcGFzcyB3aG9sZSBjYXBzIGFuZCBub3QganVzdCBzYW1wbGluZ19yYXRlCgkgIFRoaXMgYWxsb3dzIHRvIGdldCByaWQgb2YgdGhlIHNhbXBsaW5nX3JhdGUgdmFyaWFibGUgaW4gdGhlIGJhc2UtY2xhc3MuIEFsc28gbm93CgkgIHN1YmNsYXNzZXMgY2FuIG1vZGlmeSB0aGUgY2FwcyB0byBhY3R1YWx5IG5lZ290aWF0ZS4gVGhpcyBpcyBuZWVkZWQgdG8gZS5nLiBzZXQKCSAgYXVkaW8tY2hhbm5lbCBwb3NpdGlvbnMuCgoyMDA5LTExLTE5IDExOjM2OjE0ICswMTAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogZml4IG1pc2luZm9ybWluZyBkZWJ1ZyBzdGF0ZW1lbnQKCjIwMDktMTEtMTkgMTE6MTQ6NTcgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBlbnN1cmUgd3JpdGFibGUgYnVmZmVyIG1ldGFkYXRhIGJlZm9yZSBzZXR0aW5nIGNhcHMKCjIwMDktMTEtMTkgMTA6MzE6MTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwNzAyZmUxIHRvIDUzYTI0ODUKCjIwMDktMTEtMTggMjA6MDY6MDYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnby5zb3VzYS5zYW50b3NAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBpbXByb3ZpbmcgZGVidWcgbWVzc2FnZXMKCSAgSW1wcm92ZXMgZGVidWcgbWVzc2FnZXMgZm9yIGFzZm11eAoKMjAwOS0xMC0yOSAwODozNjowMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICBxdG11eDogc3VwcG9ydCBmb3IgU1ZRMwoJICBBZGRzIHN1cHBvcnQgZm9yIG11eGluZyBTVlEzIGNvbnRlbnQuIFVzdWFsbHkgdGhpcyBmb3JtYXQKCSAgaGFzIGRlY29kZXIgaW5mbyB0aGF0IG11c3QgYmUgcGFzc2VkIGluIHRoZSAnc2VxaCcgZmllbGQKCSAgaW4gdGhlIGNhcHMuIEl0IGlzIGFsc28gZ29vZCB0byBhZGQgdGhlIGdhbWEgYXRvbSB0byBtYWtlCgkgIHF1aWNrdGltZSBub3QgY3Jhc2guCgkgIEZpeGVzICM1ODc5MjIKCjIwMDktMTEtMTggMTg6MDA6MzcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvanAyay9nc3RqcDJrLmM6CgkgIGpwMms6IFJhaXNlIHJhbmsgb2YgZW5jb2RlciB0byBNQVJHSU5BTAoKMjAwOS0xMS0xOCAxODowMDoyMyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkgIGdzbTogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTg6MDA6MDAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2IuYzoKCSAgYW1yd2JlbmM6IFJhaXNlIHJhbmsgdG8gU0VDT05EQVJZCgoyMDA5LTExLTE4IDE3OjU5OjIxICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICBkaXJhYzogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIE1BUkdJTkFMCgkgIFdlJ2xsIHByZWZlciB0byB1c2Ugc2Nocm9lZGluZ2VyIGlmIGF2YWlsYWJsZSwgYnV0IGluIGNhc2UgaXQncyBub3QgYXZhaWxhYmxlCgkgIHdlIHN0aWxsIGhhdmUgdGhlIGxpYmRpcmFjIG9wdGlvbgoKMjAwOS0xMS0xOCAxNzo1ODo1MyArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSAgeHZpZDogUmFpc2UgcmFuayBvZiBlbmNvZGVyIHRvIFNFQ09OREFSWQoKMjAwOS0xMS0xOCAxNzo1ODozOSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgYWlmZjogUmFpc2UgcmFuayBvZiBtdXhlciB0byBQUklNQVJZCgoyMDA5LTExLTE4IDE3OjU3OjU5ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L212ZS9nc3RtdmUuYzoKCSAgbXZlOiBSYWlzZSByYW5rIG9mIG11eGVyIHRvIFBSSU1BUlkKCjIwMDktMTEtMTggMTc6NTc6MjUgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFJhaXNlIHJhbmsgdG8gUFJJTUFSWQoKMjAwOS0xMS0xOCAxMzo0MTozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogYnVtcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjI1LjEgYXMgd2VsbAoJICBNYWtlIGltcGxpY2l0IHJlcXVpcmVtZW50IGV4cGxpY2l0LgoKMjAwOS0xMS0xNyAxNjozMTowOSArMDEwMCAgWWFha292IFNlbGtvd2l0eiA8eXNlbGtvd2l0ekB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJICBzaWduYWxwcm9jZXNzb3I6IFVzZSBjb3JyZWN0IENGTEFHUyBmb3IgdGhlIHNpZ25hbHByb2Nlc3NvciBoZWFkZXJzIGluIExWMi9MQURTUEEKCSAgVGhpcyBtYWtlcyBzdXJlIHRoYXQgdGhlIGhlYWRlcnMgZnJvbSB0aGUgc291cmNlIHRyZWUgYXJlIHRha2VuIGFuZCBub3QKCSAgYWNjaWRlbnRpYWxseSBpbnN0YWxsZWQgc3lzdGVtIGhlYWRlcnMgaW4gdGhlIGNhc2Ugb2YgYnVpbGRkaXIhPXNyY2Rpci4KCSAgRml4ZXMgYnVnICM2MDIxNjEuCgoyMDA5LTExLTE4IDAzOjA5OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgcmVzaW5kdmQsIGR2ZHNwdTogVXNlIG5ldyBzdGlsbC1mcmFtZSBBUEkgZnJvbSBnc3QtcGx1Z2lucy1iYXNlCgkgIFJlcGxhY2UgdGhlIGN1cnJlbnQgY3VzdG9tIERWRCBzdGlsbC1mcmFtZSBldmVudHMgd2l0aCBuZXcgZXZlbnQKCSAgY3JlYXRpb24vcGFyc2luZyBBUEkgZnJvbSBsaWJnc3R2aWRlby4KCjIwMDktMTEtMTggMDI6MTY6MDMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYnVtcCBnc3QtcGx1Z2lucy1iYXNlIHJlcXVpcmVtZW50IHRvIDAuMTAuMjUuMQoKMjAwOS0xMS0xOCAwMjowNDoxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2FpZmYvTWFrZWZpbGUuYW06CgkqIGdzdC9haWZmL2FpZmYuYzoKCSAgUmV2ZXJ0ICJhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgNzQyNmJlNzBmZmIxMTNmMDJlMzc0MDdlYTk4OWU2MGI2MzhiMmYwMC4KCSAgUmUtZW5hYmxlIHRoZSBhaWZmIG11eGVyIG5vdyB0aGF0IGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3IGlzIG91dAoJICBhbmQgd2UgY2FuIHJlbHkgb24gZ3N0LXBsdWdpbnMtYmFzZSBmcm9tIGdpdC4KCjIwMDktMTEtMTcgMTc6MjU6MTQgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguaDoKCSAgYXNmbXV4OiBoYW5kbGUgc3RyZWFtcyB3aXRoIGRpZmZlcmVudCBzdGFydCB0aW1lcwoJICBQcmV2ZW50cyBsb3Npbmcgc3luYyB3aGVuIHJlbXV4aW5nIHN0cmVhbXMgd2l0aCBkaWZmZXJlbnQKCSAgc3RhcnQgdGltZXMuIFRoZSBzbWFsbGVzdCBzdGFydCB0aW1lIGlzIHNlbGVjdGVkIGFzCgkgIHRoZSBiYXNlIHRpbWUgYW5kIGFsbCB0aW1lc3RhbXBzIGFyZSBzdWJ0cmFjdGVkCgkgIGZyb20gaXQgdG8gZ2V0IHRoZSBhY3R1YWwgdGltZSB0byBiZSB1c2VkIHdoZW4KCSAgbXV4aW5nIGFuZCBidWlsZGluZyBpbmRleGVzCgkgIEZpeGVzICM1ODY4NDgKCjIwMDktMTEtMTcgMDk6MjY6MDUgLTAzMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQHJlZG1vb24uKG5vbmUpPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBkbyBub3QgbGVhayBhIHN0cmluZwoJICBGcmVlcyBhIHN0cmluZyBhZnRlciB1c2UuIEFsc28gZG9lcyBzb21lIGNvZGUgb3JnYW5pemF0aW9uCgoyMDA5LTExLTE2IDE0OjU3OjUzIC0wMzAwICBUaGlhZ28gU291c2EgU2FudG9zIDx0aGlhZ29zc0ByZWRtb29uLihub25lKT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZG8gbm90IGFkZCBzaXplIHRvIHRoZSBwb2ludGVyIHZhcmlhYmxlCgkgIERvIG5vdCB3cm9uZ2x5IGFkZCB0aGUgcmVzdWx0IG9mIHRoZSBmdW5jdGlvbiB0byB0aGUKCSAgcG9pbnRlciB0byB0aGUgYnVmZmVyIHNpemUuIEluc3RlYWQsIGNoZWNrIHRoZSByZXN1bHQKCSAgdG8gc2VlIGlmIHRoZSBzZXJpYWxpemF0aW9uIHdhcyBvay4KCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIkNhcnN0ZW4gS3JvbGwgPGNhckB4aW1pZGkuY29tPiIKCSAgRml4ZXMgIzYwMjEwNgoKMjAwOS0xMS0wNiAxMDozNDozOSAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IGhhbmRsZSAnbGF0ZScgc3RyZWFtcwoJICBXaGVuIG11eGluZyBzdHJlYW1zLCBzb21lIGNhbiBzdGFydCBsYXRlciB0aGFuIG90aGVycy4gcXRtdXgKCSAgbm93IGhhbmRsZSB0aGlzIGJ5IGFkZGluZyBhbiBlbXB0eSBlZHRzIGVudHJ5IHdpdGggdGhlCgkgIGR1cmF0aW9uIG9mIHRoZSAnbGF0ZW5lc3MnIHRvIHRoZSBzdHJlYW0ncyB0cmFrLgoJICBJdCB0b2xlcmF0ZXMgYSBzdHJlYW0gdG8gYmUgdXAgdG8gMC4xcyBsYXRlLgoJICBGaXhlcyAjNTg2ODQ4CgoyMDA5LTExLTA1IDIxOjM1OjU2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgcXRtdXg6IGFkZHMgdGhlIEVEVFMgYW5kIEVMVFMgYXRvbXMgdG8gYXRvbXMuYwoJICBUaGVzZSBhdG9tcyB3aWxsIGJlIHVzZWZ1bCBmb3Igc2lnbmFsaW5nIHN0cmVhbXMKCSAgdGhhdCBzdGFydCBsYXRlciBpbiB0aGUgZmlsZS4gQXMgd2VsbCBmb3IgYWRkaW5nCgkgIGVkaXQgbGlzdHMgaWYgbmVlZGVkIHNvbWV0aW1lIGxhdGVyLgoKMjAwOS0xMS0xNyAxNzo1OTo1NiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGRlY29kZSBhZHBjbSB3aXRob3V0IGV4cGxpY2l0IGxlbmd0aCwgYXMgZm91bmQgaW4gcXQuCgoyMDA5LTExLTE1IDAzOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEZvcndhcmQgdGhlIHN0aWxsIGZyYW1lIGV2ZW50IGRvd25zdHJlYW0KCSAgRm9yd2FyZCBzdGlsbC1mcmFtZSBldmVudHMgZG93bnN0cmVhbSBzbyBlbGVtZW50cyBsaWtlIGRlaW50ZXJsYWNlCgkgIGNhbiB1c2UgdGhlbS4KCjIwMDktMTEtMTQgMDA6MzE6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogR3VhcmQgYWdhaW5zdCBhIGRpdmlkZS1ieS16ZXJvIGVycm9yLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NjAwMjYzCgoyMDA5LTExLTE4IDAxOjQ2OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjE3LjEKCjIwMDktMTEtMTcgMDE6NTM6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICBBZGQgMC4xMC4xNyByZWxlYXNlIHRvIHRoZSBkb2FwIGZpbGUKCj09PSByZWxlYXNlIDAuMTAuMTcgPT09CgoyMDA5LTExLTE3IDAxOjI1OjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTcKCjIwMDktMTEtMTcgMDE6MTM6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTExLTE1IDIxOjQ2OjAxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBzaWduYWxwcm9jZXNzb3I6IGRvbid0IHNldCBjaGFubmVsIHBvc2l0aW9ucyBpbiB0ZW1wbGF0ZS1jYXBzLCBGaXhlcyAjNjAxNzc1CgkgIFJldmVydCB0aGUgY2hhbmdlcyB0aGF0IGFkZGVkIGF1ZGlvIHBvc2l0aW9ucyB0byB0ZW1wbGF0ZSBjYXBzLiBXZSBoYXZlIGFuIHVuLQoJICBmb3J0dW5hdGUgbGltaXRhdGlvbiBpbiBjb3JlIHRoYXQgZG9lcyBub3QgYWxsb3cgdG8gZG8gaXQuIEtlZXAgYSBmZXcgdGhpbmdzCgkgIGNvbW1lbnRlZCBvdXQsIHNvIHRoYXQgdGhlIGNoYW5uZWwgcG9zaXRpb24gY2FuIGxhdGVyIG9uIGJlIHNldCBpbiBzZXRjYXBzLgoKMjAwOS0xMS0xMyAwMjoxODozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBwby9reS5wbzoKCSogcG8vbHYucG86CgkqIHBvL3N2LnBvOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTYuMyBwcmUtcmVsZWFzZQoKMjAwOS0xMS0xMSAxMDo1ODoyOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogUG9ydCB0byAwLjcgQVBJCgkgIEZpeGVzIGJ1ZyAjNjAwNzI0LgoKMjAwOS0xMS0xMSAxMDo1NDoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdDogTWFrZSBjZWx0IHZlcnNpb24gY2hlY2tzIGJldHRlciBleHRlbnNpYmxlCgoyMDA5LTExLTA5IDE5OjIwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNi4yIHByZS1yZWxlYXNlCgoyMDA5LTExLTA5IDE5OjA4OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBEaXNhYmxlIGFpZmYgbXV4ZXIgZm9yIHRoaXMgcmVsZWFzZS4KCSAgVGhlIGFpZmYgbXV4ZXIgcmVsaWVzIG9uIEdzdEJ5dGVXcml0ZXIgQVBJIGFkZGVkIGFmdGVyIDAuMTAuMjUuIERpc2FibGUKCSAgaXQgZm9yIHRoaXMgcmVsZWFzZS4KCSAgUmV2ZXJ0IHRoaXMgY29tbWl0IGFmdGVyIGdzdC1wbHVnaW5zLWJhZCAwLjEwLjE3CgoyMDA5LTExLTA5IDE0OjEwOjIwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXNmbXV4L01ha2VmaWxlLmFtOgoJICBhc2ZtdXg6IFVuY29tbWVudCAtLWRpc2FibGUtc3RhdGljIGZsYWcKCSAgRm9yIHNvbWUgcmVhc29uIHRoYXQgbGlidG9vbCBmbGFncyBsaW5lIHRoYXQgcHJldmVudHMgYnVpbGRpbmcKCSAgdGhlIHN0YXRpYyBsaWIgd2FzIGNvbW1lbnRlZCBvdXQuIFJlcG9ydGVkIGJ5IE1hcnQgUmF1ZHNlcHAgb24gSVJDLgoKMjAwOS0xMS0wOSAxMTo0OToxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBSZW1vdmUgdXNlbGVzcyB2YXJpYWJsZXMgYW5kIGZpeCBhIHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUgY29tcGlsZXIgd2FybmluZ3MKCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgZGZkNTFhYTgyYTllMWM5OTI0Mzc1MTgzNzk2ZWFiNzBlNTc0YTIzMS4KCjIwMDktMTEtMDkgMTE6NDg6MzkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogTWFrZSBzdXJlIHRoYXQgcnVubmluZ190aW1lLT50aW1lc3RhbXAgY2FsY3VsYXRpb24gbmV2ZXIgYmVjb21lcyBuZWdhdGl2ZQoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBmMzY1Mzg1NDU4NTg2NGEwOWQzNWUwMzc4NTM0MDczMzJlYTY5MDFmLgoKMjAwOS0xMS0wOSAxMTo0ODowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHN0YXJ0IHRpbWUgKGkuZS4gdGltZXN0YW1wKSBhcyB0aGUgbGFzdCBzdG9wCgkgIFVzaW5nIHRoZSBlbmQgdGltZSBtYWtlcyBpdCBpbXBvc3NpYmxlIHRvIHJlcGxhY2UgYnVmZmVycywgd2hpY2ggaXMKCSAgYSBiaWcgcHJvYmxlbSBmb3Igc3VidGl0bGVzIHRoYXQgY291bGQgaGF2ZSB2ZXJ5IGxvbmcgZHVyYXRpb25zLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCAyNzAzNGJlNDYxMTIzMWNjNTVmYTNkM2UyNTNiYWE0MGM2YmZmNDFkLgoKMjAwOS0xMS0wOSAxMTo0NzoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBJbXByb3ZlIGRlYnVnZ2luZwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLgoKMjAwOS0xMS0wNyAxMjoyOToxNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBGaXgga2xhc3MgKHMvRGVjb2Rlci9FbmNvZGVyLykKCjIwMDktMTEtMDYgMTU6MzE6MjYgKzAxMDAgIENocmlzIEhpbGxzIDxjaGF6QGNoYXo2LmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogQWRkIHN1cHBvcnQgZm9yIERWQi1UL0RWQi1DIHdpdGggRFZCIEFQSSAzLjMKCjIwMDktMTEtMDYgMTE6NDQ6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBUaGUgdGV4dCBhbmQgdmlkZW8gZHVyYXRpb24gc2hvdWxkIG9ubHkgY29tcGFyZWQgYXMgcnVubmluZyB0aW1lIHRvbwoJICBUaGUgZW5kIHRpbWVzIG9mIHRoZSB0ZXh0IGFuZCB2aWRlbyBidWZmZXJzIGNvdWxkIGJlIGRpZmZlcmVudCB0aGFuCgkgIHRoZWlyIHN0YXJ0IHJ1bm5pbmcgdGltZSArIGR1cmF0aW9uIGJlY2F1c2Ugb2YgZGlmZmVyZW50IHJhdGVzLgoKMjAwOS0xMS0wNiAwOToxNjoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IExvd2VyIHRpZ2VyJ3MgcmFuayB0byBOT05FIGFnYWluCgkgIEl0J3Mgbm90IHdlbGwgdGVzdGVkIHlldCBhbmQgZG9lc24ndCBoYW5kbGUgc2VnbWVudHMgYW5kIHRleHQvdmlkZW8KCSAgc3luY2hyb25pemF0aW9uIHByb3Blcmx5IHlldC4gQXV0b3BsdWdnaW5nIGl0IHdpbGwgY2F1c2UgZmFpbHVyZXMuCgoyMDA5LTExLTA2IDA3OjEyOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogUmVzZXQgc2VnbWVudHMgb24gRkxVU0hfU1RPUCBldmVudHMKCjIwMDktMTEtMDUgMTc6NDE6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBJbXByb3ZlIGRlYnVnZ2luZwoKMjAwOS0xMS0wNiAwMDo0NjoxMiAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvLnNvdXNhLnNhbnRvc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBBZGRpbmcgc29tZSBpZnMgZm9yIHByb3RlY3Rpb24KCSAgQWRkaW5nIHNvbWVzIGlmcyB0byBwcm90ZWN0IGFnYWluc3Qgd2FybmluZyBjb25kaXRpb25zCgkgIHRoYXQgbWlnaHQgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZWxlbWVudCBpcyBub3Qgc2FuZQoJICBGaXhlcyAjNjAwODk1CgoyMDA5LTExLTA1IDEzOjQwOjM4IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzoKCSAgc2NhbGV0ZW1wbzogcHJvcGVybHkgdXBkYXRlIG5ldyBzZWdtZW50cwoJICBTY2FsZXRlbXBvIHdhcyBtaXNzaW5nIGFuIHVwZGF0ZSBvZiAnc3RvcCcgaW4KCSAgbmV3IHNlZ21lbnQgcGFyYW1ldGVycyB3aGVuIHB1c2hpbmcgaXQgZG93bnN0cmVhbSwKCSAgd2hpY2ggY2F1c2VkIGZpbGVzIHRvIGVuZCBlYXJsaWVyIHdoZW4gcmF0ZSA8IDEuCgkgIEZpeGVzICM1OTk5MDMKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IEJhc3RpYW4gSGVjaHQgPGhlY2h0YkBnbWFpbC5jb20+CgoyMDA5LTExLTA1IDIzOjE3OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB0aW1pZGl0eTogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMjowMzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICBteXRodHY6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NTg6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjUxOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJICBrYXRlOiBwcmludGYgZm9ybWF0IGZpeGVzCgoyMDA5LTExLTA1IDIxOjQ3OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIGR2YmJhc2ViaW46IHByaW50ZiBmb3JtYXQgZml4ZXMKCjIwMDktMTEtMDUgMjE6NDQ6NTEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkaXJlY3RmYjogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAyMTo0NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgYWxzYXNwZGlmc2luazogcHJpbnRmIGZvcm1hdCBmaXhlcwoKMjAwOS0xMS0wNSAxNzoxMzozNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVwZGF0ZSBsYXN0IHN0b3AgZm9yIHRoZSBzdWJ0aXRsZXMKCjIwMDktMTEtMDUgMTc6MDY6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSAgYXNzcmVuZGVyOiBTeW5jaHJvbml6ZSB0ZXh0IGFuZCB2aWRlbyBieSB0YWtpbmcgdGhlIHJ1bm5pbmcgdGltZSBpbnN0ZWFkIG9mIHRoZSBzdHJlYW0gdGltZQoKMjAwOS0xMS0wNSAxNjo0NDowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBhc3NyZW5kZXI6IEtlZXAgdHJhY2sgb2YgdGhlIHN1YnRpdGxlIHNlZ21lbnRzCgoyMDA5LTExLTA1IDE2OjQxOjU2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogSWYgdGhlIHZpZGVvIHNlZ21lbnQgaXMgbm90IGluIFRJTUUgZm9ybWF0IGRvbid0IGFjY2VwdCBpdAoKMjAwOS0xMS0wNCAyMjo1MjoxOSAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBkdG1mZGV0ZWN0OiBBZGQgZHRtZmRldGVjdHMgdG8gcGx1Z2lucyBkb2NzCgoyMDA5LTExLTA0IDIyOjE5OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mZGV0ZWN0LmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZkZXRlY3QuaDoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuYzoKCSogZ3N0L2R0bWYvdG9uZV9kZXRlY3QuaDoKCSAgZHRtZmRldGVjdDogQWRkIERUTUYgdG9uZSBkZXRlY3RvcgoJICBJdCBsb29rcyBhdCByYXcgYXVkaW8gZGF0YSBhbmQgZW1pdHMgbWVzc2FnZXMgd2hlbiBEVE1GIGlzIGRldGVjdGVkLgoJICBUaGUgZHRtZiBkZXRlY3RvciBpcyB0aGUgc2FtZSBHb2VydHplbCBpbXBsZW1lbnRhdGlvbiB1c2VkIGluIEZyZWVTd2l0Y2gKCSAgYW5kIEFzdGVyaXNrLiBJdCBpcyBpbiB0aGUgcHVibGljIGRvbWFpbi4KCjIwMDktMTEtMDUgMTM6NTM6NDYgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBSZXZlcnQgImlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKSIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA0OWVjNGY3OTZhMGUzZjg4YTg1MTcwODc4MmM4NTNiYWY0YjA1NzI0LgoJICBXZSBjYW4ndCB1c2UgdGhpcyBuZXcgZnVuY3Rpb24geWV0LgoKMjAwOS0xMS0wNSAxMzoyOTo1NSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IHVzZSBnZXRfY2Fwc19yZWZmZWQoKQoKMjAwOS0xMS0wNSAxMzoxNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IERyb3AgdG9vIGxhdGUgdGV4dCBidWZmZXIgaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdCBhbmQgZHJvcCBidWZmZXJzIHdpdGhvdXQgdmFsaWQKCSAgdGltZXN0YW1wIG9yIGR1cmF0aW9uIGJlY2F1c2Ugd2UgY2FuJ3QgaGFuZGxlIHRoZW0uCgoyMDA5LTExLTA1IDEyOjI1OjI1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IHJhY2UgY29uZGl0aW9uIHRoYXQgcmVzdWx0cyBpbiBhIGRlYWRsb2NrIG9uIHNodXRkb3duCgoyMDA5LTExLTA0IDIyOjIxOjM1IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFJlamVjdCBlbXB0eSBjYXBzCgoyMDA5LTExLTA0IDIyOjIxOjIyIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IFVzZSBsb2cgbGV2ZWwgZm9yIHJlcGVhdGVkIGRlYnVnIG1lc3NhZ2VzCgoyMDA5LTExLTA0IDIwOjA1OjE3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIGR0bWZzcmM6IEFsbG93IGZvciBhbnkgc2FtcGxlcmF0ZQoKMjAwOS0xMS0wNCAyMzozMjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBGaXggcHJldmlvdXMgY29tbWl0OiBlbnN1cmUgd2UgdGFrZSBhIHJlZiBvbiB0aGUgZmVhdHVyZXMKCjIwMDktMTEtMDQgMTU6MjE6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZCxhdXRvY29udmVydDogQXZvaWQgZGVwZW5kaW5nIG9uIDAuMTAuMjYgQVBJCgkgIFdhaXQgdW50aWwgYWZ0ZXIgdGhlIG5leHQgcmVsZWFzZSB0byBidW1wIHRoZSBjb3JlIHJlcXVpcmVtZW50LgoJICBVbnRpbCB0aGVuLCBkb24ndCB1c2UgZ3N0X3BsdWdpbl9mZWF0dXJlX2xpc3RfY29weSBhbmQKCSAgZ3N0X3BhZF9wZWVyX2dldF9jYXBzX3JlZmVkLgoKMjAwOS0xMS0wMiAxNzowNjo1MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIG9sZCBjb2RlIGFuZCBvYnNvbGV0ZSBjb21tZW50cwoJICBSZW1vdmUgc29tZSBkaXNhYmxlZCBjb2RlIHBhdGhzIGFuZCBvYnNvbGV0ZSBGSVhNRSBjb21tZW50cwoKMjAwOS0xMC0xNCAxNTo0NzoyNyAtMDQwMCAgR2FicmllbCBNaWxsYWlyZSA8Z2FicmllbC5taWxsYWlyZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGRlYyA6IGNoYWluX3BhcnNlX2RhdGEgOiBjaGVjayB2YWxpZGl0eSBvZiB0aW1lc3RhbXAsIGNyZWF0ZSBhIG5ldyBvbmUgaWYgbmVlZGVkIGNlbHRlbmMgOiBkZWZhdWx0IGZyYW1lc2l6ZSBpcyA0ODAgICAgICAgICAgIHNldGNhcHMgOiBnZXRzIGZyYW1lc2l6ZSBhbmQgc2V0IGNhcHMgICAgICAgICAgIGVuY19jaGFpbiA6IHNldHMgZnJhbWVzaXplIGluIGNhcHMgICAgICAgICAgIEFkZGVkIGZyYW1lLXNpemUgdG8gc3RhdGljIGNhcHMgb2YgYXVkaW8veC1jZWx0ICAgICAgICAgICBSZXBsYWNlZCBHU1RfREVCVUdfT0JKRUNUIGJ5IEdTVF9MT0dfT0JKRUNUIGluIGVuY19jaGFpbiAgICAgICAgICAgc2V0Y2FwczogZ2V0IGZyYW1lLXNpemUgZnJvbSBpbnQgaW5zdGVhZCBvZiBzdHJpbmcgICAgICAgICAgIHNldGNhcHM6IHVzZSBkZWZhdWx0IHZhbHVlIGZvciBmcmFtZS1zaXplCgoyMDA5LTExLTA0IDE3OjEzOjM0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWdkZW11eDogRml4IHBvaW50ZXItZGlmZmVyZW5jZXMgcHJpbnRvdXQKCSAgVGhlcmUgaXMgdW5mb3J0dW5hdGVseSBubyBHXypfRk9STUFUIGNvbnZlcnNpb24gc3BlY2lmaWVyIGZvciBkaWZmZXJlbmNlcyBvZgoJICBwb2ludGVycyBpbiBnbGliLCBhbmQgd2UgY2FuJ3QgcmVseSBlaXRoZXIgb24gYWxsIHBsYXRmb3JtcyBiZWluZyA2NGJpdC4KCSAgU28gbGV0J3MganVzdCBjYXN0IHRoZSBkaWZmZXJlbmNlIHRvIGEgZ2ludCBhbmQgYmUgZG9uZSB3aXRoIGl0LgoKMjAwOS0xMS0wNCAxMzo1NTowNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vTWFrZXZhcnM6CgkgIHBvOiBEb24ndCBjcmVhdGUgYmFja3VwIC5wbyBmaWxlcwoJICBBcyB3ZWxsIGFzIHByZXZlbnRpbmcgY3JlYXRpb24gb2YgdXNlbGVzcyBiYWNrdXAgZmlsZXMsIGl0IHdvcmtzCgkgIGFyb3VuZCBhIGJ1ZyBpbiBnZXR0ZXh0IDAuMTcgb24gT1MvWAoKMjAwOS0xMS0wNCAxNTo1Nzo0MCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgY2RhdWRpbzogZml4IHByb3BlcnRpZXMKCSAgRml4IHByb3BlcnRpZXMgYW5kIGFsbG93IHNldHRpbmcgdGhlIGRldmljZSBwcm9wZXJ0eS4KCjIwMDktMTEtMDQgMTM6MTE6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBSZXR1cm4gV1JPTkdfU1RBVEUgZnJvbSB0aGUgc3VidGl0bGUgY2hhaW4gd2hlbiBmbHVzaGluZwoKMjAwOS0xMS0wNCAxMzowNzoyNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IFVubG9jayBhbmQgZnJlZSBhbnkgcGVuZGluZyBzdWJ0aXRsZSBidWZmZXJzIG9uIEZMVVNIX1NUQVJUCgoyMDA5LTExLTA0IDEyOjUwOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmg6CgkgIGFzc3JlbmRlcjogU3luY2hyb25pemUgc3VidGl0bGUgYnVmZmVycyB3aXRoIHRoZSB2aWRlbwoJICBGaXhlcyBidWcgIzYwMDY2Mi4KCjIwMDktMTEtMDQgMDA6MjE6MTkgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGFsc28gYWRkIGlubGluZSB0byB0aGUgcHJvdG8gdG8gZml4IHRoZSBidWlsZAoKMjAwOS0xMS0wNCAwMDoxOToyMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICB6YmFyOiBpbmNsdWRlIHF1YWxpdHkgYW5kIGNoZWNrIGNvdW50LCBmaXhlcyAjNjAwNDYxCgkgIFdlIHJlcG9ydCB0aGUgcmVsYXRpdmUgcXVhbGl0eSBpbiB0aGUgbWVzc2FnZSBhbmQgd2UgYWxzbyB1c2UgdGhlIGNhY2hlIHRvIHNraXAKCSAgZWFybHkgZGV0ZWN0cyBhbmQgZG91Ymxlcy4KCjIwMDktMTEtMDMgMTg6MTQ6MTIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBnc3Q6IFJlbW92ZSBkZWFkIGFzc2lnbm1lbnRzIGFuZCByZXN1bHRpbmcgdW51c2VkIHZhcmlhYmxlcwoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCA4Y2QxYjUyMDliNjg5NDRlMWJlNTZjYThiYjY5ZTQ2ZDRhYmI3YTM0LgoKMjAwOS0xMS0wMyAxODoxMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBVc2UgdGhlIHNhbWUgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbiBhcyBpbiBnc3QtcGx1Z2lucy1iYXNlCgoyMDA5LTExLTAzIDE4OjExOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIFJlbW92ZSBHU1RfREVCVUdfRlVOQ1BUUiB3aGVyZSB0aGV5J3JlIHBvaW50bGVzcwoJICBUaGVyZSdzIG5vdCBtdWNoIHBvaW50IGluIHVzaW5nIEdTVF9ERUJVR19GVU5DUFRSIHdpdGggR09iamVjdAoJICB2aXJ0dWFsIGZ1bmN0aW9ucyBzdWNoIGFzIGdldF9wcm9wZXJ0eSwgc2V0X3Byb3BlcnksIGZpbmFsaXplIGFuZAoJICBkaXNwb3NlLCBzaW5jZSB0aGV5J2xsIG5ldmVyIGJlIHVzZWQgYnkgYW55b25lIGFueXdheS4gU2F2ZXMgYQoJICBmZXcgYnl0ZXMgYW5kIHBvc3NpYmx5IGEgc2l4dGVlbnRoIG9mIGEgcG9sYXIgYmVhci4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgNmY0YzFhYzU4MzQxZWUxODkyMjVkMzEzZGRmZTlhZTI0YTY1Yzg4Yy4KCjIwMDktMTEtMDMgMTg6MDk6NTUgKzAxMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgUmVtb3ZlIFJvbmFsZCBCdWx0amUgZnJvbSBBdXRob3JzIGZpZWxkCgkgIFJlcGxhY2VkIHdpdGggIkdTdHJlYW1lciBtYWludGFpbmVycwoJICA8Z3N0cmVhbWVyLWRldmVsQGxpc3RzLnNvdXJjZWZvcmdlLm5ldD4iIG9yIGp1c3QgcmVtb3ZlZCwKCSAgZGVwZW5kaW5nIG9uIHRoZSBudW1iZXIgb2Ygb3RoZXIgYXV0aG9ycy4KCSAgTWVyZ2VkIGZyb20gZ3N0LXBsdWdpbnMtYmFzZSwgMGU5YmM1MTI1YWNhNTQ2ZDc3M2VkMTAwMmRmNTczZGQ4ZTJkYzEzNi4KCjIwMDktMTEtMDMgMTg6MDg6MDUgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBzZXQgb3V0cHV0IGNhcHMgYmVmb3JlIHB1c2hpbmcKCSAgU2V0IHRoZSBvdXRwdXQgY2FwcyBvbiB0aGUgc3JjcGFkIGJlZm9yZSBwdXNoaW5nIHRoZSBidWZmZXIgYmVjYXVzZSBlbHNlIGNvcmUKCSAgd2lsbCBkbyBhIHJhdGhlciBleHBlbnNpdmUgY2hlY2sgdG8gc2VlIGlmIHdlIGNhbiBhY3R1YWxseSBhY2NlcHQgdGhvc2UgY2FwcyBvbgoJICB0aGUgc3JjcGFkLgoJICBNZXJnZWQgZnJvbSBnc3QtcGx1Z2lucy1iYXNlLCBiZGZiNGI0NmQ3NDZlZjI5OGZjZjQ0MjYwODc5YzM0MmFmNGNhZmEzLgoKMjAwOS0xMS0wMyAxODowNjoxMSArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IGluc3RhbGwgYW4gYWNjZXB0Y2FwcyBmdW5jdGlvbgoJICBJbnN0YWxsIGEgY3VzdG9tIGFjY2VwdGNhcHMgZnVuY3Rpb24gaW5zdGVhZCBvZiB1c2luZyB0aGUgZGVmYXVsdCBleHBlbnNpdmUKCSAgY2hlY2suIFdlIGFjY2VwdCB3aGF0ZXZlciBkb3duc3RyZWFtIGFjY2VwdHMgc28gd2UgcGFzcyBhbG9uZyB0aGUgYWNjZXB0Y2FwcwoJICBjYWxsIHRvIHRoZSBkb3duc3RyZWFtIHBlZXIuCgkgIE1lcmdlZCBmcm9tIGdzdC1wbHVnaW5zLWJhc2UsIDViNzJmMmFkZjk5NjczOTAzNmU4ZDliNWY5MTAwNTQ1NWQxZmZhY2UuCgoyMDA5LTExLTAzIDE1OjA4OjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogTWFrZSBzdXJlIHRoYXQgdGlnZXIgaXMgbm90IGF1dG9wbHVnZ2VkIGJ5IGRlY29kZWJpbjIKCSAgSXQncyBub3QgcmVhbGx5IGEgZGVjb2Rlci4uLgoKMjAwOS0xMS0wMyAxNDo1MDoxNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGU6IENoYW5nZSByYW5rcyBvZiBrYXRlZGVjIGFuZCB0aWdlciB0byBQUklNQVJZIHRvIGJlIGF1dG9wbHVnZ2VkCgoyMDA5LTExLTAzIDE0OjQ5OjQ0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJICB0aWdlcjogQ2hhbmdlIG5hbWUgb2YgdGhlIHN1YnRpdGxlIHNpbmsgdGVtcGxhdGUgYW5kIGNsYXNzaWZpY2F0aW9uCgkgIFRoaXMgd2lsbCBtYWtlIHN1cmUgdGhhdCBzdWJ0aXRsZW92ZXJsYXkgY2FuIHdvcmsgd2l0aCB0aWdlci4KCjIwMDktMTEtMDIgMTE6MzM6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICByZXNpbmR2ZDogVGFrZSBhIGNvcHkgb2YgdGhlIHBhc3NlZCBwbHVnaW4gZmVhdHVyZXMKCSAgQ2xhcmlmeSB0aGUgb3duZXJzaGlwIG9mIHRoZSBpbnRlcm5hbCBwbHVnaW4gZmVhdHVyZSBsaXN0IGJ5IG1ha2luZwoJICBhIGNvcHkgb2YgYW55IHBhc3NlZCBsaXN0LiBBdm9pZHMgY3Jhc2hlcyB3aGVuIGZyZWVpbmcgYSBwYXNzZWQgbGlzdCwKCSAgb3IgbGVha3MgY2F1c2VkIGJ5IG5vdCBmcmVlaW5nIGFueSBpbnRlcm5hbGx5IGJ1aWx0IGxpc3QuCgoyMDA5LTExLTAyIDEwOjIwOjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICByZXNpbmR2ZDogRml4IGFuIG92ZXJzaWdodCBmcm9tIHVwZGF0aW5nIHRoZSBjb3B5IG9mIGJhc2VzcmMKCSAgUGx1Z2lucyBuZWVkIGdzdC1pMThuLXBsdWdpbi5oLCBub3QgZ3N0LWkxOG4tbGliLmgKCjIwMDktMTEtMDEgMTU6NTY6NTQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIHBpdGNoOiByZW1vdmUgcG9pbnRsZXNzIGdzdF9lbGVtZW50X25vX21vcmVfcGFkcygpCgoyMDA5LTExLTAxIDIzOjE3OjAyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFVzZSBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKQoJICBXaGVuIHN3aXRjaGluZyB0byBhIG5ldyBzZWFtbGVzcyBzZWdtZW50LCB1c2UgdGhlIG5ldwoJICBnc3RfYmFzZV9zcmNfbmV3X3NlYW1sZXNzX3NlZ21lbnQoKSBmdW5jdGlvbiwgYmVjYXVzZSBlbGVtZW50cyBjYW4ndAoJICBzZW5kIHRoZW1zZWx2ZXMgc2VlayBldmVudHMgZnJvbSB0aGUgc3RyZWFtaW5nIHRocmVhZC4KCjIwMDktMTEtMDEgMjM6MTY6MTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkgIHJlc2luZHZkOiBBZGQgZ3N0X2Jhc2Vfc3JjX25ld19zZWFtbGVzc19zZWdtZW50KCkgdG8gR3N0QmFzZVNyYyBjb3B5CgkgIEFkZCBhIG5ldyBmdW5jdGlvbiB0byB0aGUgaW50ZXJuYWwgY29weSBvZiBHc3RCYXNlU3JjIGZvciBzdGFydGluZyBhIG5ldwoJICBzZWFtbGVzcyBzZWdtZW50LgoKMjAwOS0xMS0wMSAxOToyMTozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmg6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmg6CgkgIHJlc2luZHZkOiBVcGRhdGUgdGhlIGJhc2Ugc291cmNlIGNvcHkKCSAgVGhpcyBicmVha3Mgc2VhbWxlc3Mgc2VnbWVudCB1cGRhdGVzLCBjYXVzaW5nIGRlYWRsb2NrcywKCSAgdG8gYmUgZml4ZWQgaW4gc3Vic2VxdWVudCBjb21taXRzLgoKMjAwOS0xMS0wMiAwMjo0ODoxOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGR2ZHNwdTogRml4IFBHUyB3aW5kb3cgcGFyc2luZwoJICBGaXggYSBwcm9ibGVtIGludHJvZHVjZWQgaW4gdGhlIGxhc3QgUEdTIHBhcnNpbmcgcGF0Y2ggYnkgc2tpcHBpbmcKCSAgdGhlIHdpbmRvdyBjb3VudCBieXRlIGFmdGVyIHJlYWRpbmcgaXQuCgoyMDA5LTExLTAxIDIwOjQyOjQ0ICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkgIGFpZmY6IGZpeCBhaWZmcGFyc2UgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgbmFtZQoJICBGaXhlcyBtaXNzaW5nIHN5bWJvbCB3aGVuIGNvbXBpbGluZyB3aXRoIGRlYnVnZ2luZywgc2luY2UgdGhpcyBpcyBub3cgaW4gc3luYwoJICB3aXRoIHRoZSBwbHVnaW5faW5pdCBpbiBhaWZmLmMuCgoyMDA5LTExLTAxIDIwOjQxOjAzICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FpZmYvYWlmZi5jOgoJICBhaWZmOiBpbml0IHBsdWdpbiBkZWJ1ZyBjYXRlZ29yeQoJICBGaXhlcyBhc3NlcnRpb24gKG9yIHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggRElTQUJMRV9OTFMpLgoKMjAwOS0xMC0zMSAxOTo0Mjo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmLnhtbDoKCSogZ3N0L2FpZmYvYWlmZm11eC5oOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogYWRkIGFpZmYgZWxlbWVudHMgdG8gZG9jcwoKMjAwOS0xMC0zMSAxOTozNzowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9haWZmLmM6CgkqIGdzdC9haWZmL2FpZmZtdXguYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJICBhaWZmOiBncmF0dWl0aW91cyBjbGVhbi11cHM6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcywgc3RydWN0cyBhbmQgZGVmaW5lcwoKMjAwOS0xMC0zMSAxNzo1MDo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZi5jOgoJKiBnc3QvYWlmZi9haWZmbXV4LmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5jOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuaDoKCSAgYWlmZjogZW5hYmxlIG5ldyBhaWZmIG11eGVyCgkgIEZpeGVzICM1OTg3NjMgZXZlbiBtb3JlLgoKMjAwOS0xMC0xNyAyMjo1ODowMyArMDEwMCAgUm9iZXJ0IFN3YWluIDxyb2JlcnQuc3dhaW5AZ21haWwuY29tPgoKCSogZ3N0L2FpZmYvYWlmZm11eC5jOgoJKiBnc3QvYWlmZi9haWZmbXV4Lmg6CgkgIGFpZmY6IGFkZCBiYXNpYyBBSUZGIG11eGVyCgkgIEZpeGVzICM1OTg3NjMuCgoyMDA5LTEwLTMxIDE3OjI1OjE1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9haWZmL01ha2VmaWxlLmFtOgoJKiBnc3QvYWlmZi9haWZmcGFyc2UuYzoKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmg6CgkgIGFpZmY6IHJlbW92ZSB1bnVzZWQgaW5jbHVkZXMgYW5kIGZpeCBmbGFncyBvcmRlciBpbiBNYWtlZmlsZS5hbQoJICBBbHNvIHJlbW92ZSBHU1RfUExVR0lOU19CQVNFX0xJQlMgZnJvbSBMSUJBREQgc2luY2Ugd2UgZG9uJ3QKCSAgbmVlZCB0byBsaW5rIGFnYWluc3QgYW55IG9mIHRoZSAtYmFzZSBsaWJzICh3ZSBqdXN0IHVzZSBhIGRlZmluZQoJICBmcm9tIHRoZSBnc3RhdWRpbyBoZWFkZXJzKS4KCjIwMDktMTAtMzEgMTc6MjA6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZi54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvYWlmZi9NYWtlZmlsZS5hbToKCSogZ3N0L2FpZmYvYWlmZnBhcnNlLmM6CgkqIGdzdC9haWZmL2FpZmZwYXJzZS5oOgoJKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJKiBwby9QT1RGSUxFUy5pbjoKCSAgYWlmZjogcmVuYW1lICdhaWZmcGFyc2UnIHBsdWdpbiB0byAnYWlmZicKCjIwMDktMTAtMDggMTk6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHRlc3QgZm9yIHJ0cGR0bWZtdXggbG9ja2luZwoKMjAwOS0wOS0yOCAxOTo1NDo1MyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cG11eC5jOgoJICB0ZXN0czogQWRkIHVuaXQgdGVzdCBmb3IgcnRwbXV4CgoyMDA5LTA5LTI4IDEzOjM2OjQ0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvbid0IGlnbm9yZSByZXF1ZXN0ZWQgcGFkIG5hbWUKCjIwMDktMTAtMjkgMTY6NDI6MzQgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBVc2UgR1NUX1BMVUdJTlNfQkFTRV97Q0ZMQUdTLExJQlN9IGZvciBjYW1lcmFiaW4gdGVzdHMuCgoyMDA5LTEwLTI5IDE2OjM0OjIzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLmM6CgkgIG9zeHZpZGVvc3JjOiBjaGFuZ2UgYSAubSBmaWxlIGNvbnRhaW5pbmcgb25seSBDIGNvZGUgdG8gYSAuYyBmaWxlLiBNYWtlcyBidWlsZGluZyB0aGlzIGVhc2llci4KCjIwMDktMTAtMjcgMjI6MDg6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IHNlbmQgbmV3LXNlZ21lbnQgd2l0aCBzdGFydCB0aW1lID09IC0xCgkgIFdoZW4gc2VuZGluZyBuZXctc2VnbWVudCB0byBhIHN0cmVhbSwgZW5zdXJlIHRoYXQgdGhlcmUgaXMgZWl0aGVyIGEgdmFsaWQKCSAgUENSLCBvciBlbHNlIHdhaXQgdW50aWwgdGhlcmUncyBhIFBUUyBvbiB0aGUgc3RyZWFtIChkcm9wcGluZyBwYWNrZXRzIGlmCgkgIG5lZWRlZCkgaW4gb3JkZXIgdG8gYXZvaWQgZ2VuZXJhdGluZyBhbiBpbnZsYWlkIG5ldy1zZWdtZW50cyBldmVudC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5NTE2MQoKMjAwOS0xMC0yOCAxNjoyMjoxMyArMDIwMCAgVGVlbXUgS2F0YWppc3RvIDxleHQtdGVlbXUua2F0YWppc3RvQG5va2lhLmNvbT4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVzZSByYXcgYXVkaW8vdmlkZW8gaW4gdW5pdCB0ZXN0cwoJICBSZW1vdmVzIGRlcGVuZGVuY3kgdG8gb2dnL3ZvcmJpcy90aGVvcmEgd2hlbiBydW5uaW5nIGNhbWVyYWJpbgoJICB1bml0IHRlc3RzLgoKMjAwOS0xMC0yOCAxNzozNzo0NCArMDEwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrCgoyMDA5LTEwLTI3IDE0OjMxOjM5IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZ2xpYiBkb2Vzbid0IHJlbGlhYmx5IG51bGwtdGVybWluYXRlIHdpZGUtY2hhcmFjdGVyIGVuY29kaW5ncyBpbiBnX2NvbnZlcnQsIHNvIHdyaXRlIHRoZSBudWxsLXRlcm1pbmF0b3Igc2VwYXJhdGVseSBhbmQgZXhwbGljaXRseS4KCjIwMDktMTAtMTggMTQ6MjA6MDcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIGx2MjogZml4IHBhZCBkaXJlY3Rpb24gZm9yIHVuZ3JvdXBlZCBwb3J0cwoJICBDbGFzc2ljIGNvcHknbidwYXN0ZSBidWcuCgoyMDA5LTEwLTI3IDE2OjM3OjUzIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ28uc291c2Euc2FudG9zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogZml4IHRhZyB3cml0aW5nIGJ1ZwoJICBnX2NvbnZlcnQgc2VlbXMgdG8gYWRkIGEgc2luZ2xlIG51bGwgdGVybWluYXRpbmcgYnl0ZSB0bwoJICB0aGUgZW5kIG9mIHRoZSBzdHJpbmcsIGV2ZW4gd2hlbiB0aGUgb3V0cHV0IGlzIFVURjE2LCB3ZQoJICBmb3JjZSB0aGUgc2Vjb25kIDAgYnl0ZSB3aGVuIGNvcHlpbmcgdG8gdGhlIG91dHB1dCBidWZmZXIuCgkgIFRoaXMgaXNzdWUgd2FzIGNhdXNpbmcgcmFuZG9tIGNyYXNoZXMgYmVjYXVzZSBpdCB3YXMKCSAgYXNzdW1lZCB0aGF0IHRoZSBzdHJpbmcgcmVzdWx0aW5nIGZyb20gZ19jb252ZXJ0IGhhZAoJICAyIGV4dHJhIGJ5dGVzLCBidXQgaXQgaGFzIG9ubHkgb25lLgoKMjAwOS0xMC0yNyAxMTo1MTowNSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgIFJlbW92ZSBleGVjdXRhYmxlIGJpdHMgZnJvbSBub24tZXhlY3V0YWJsZSBmaWxlcy4KCjIwMDktMTAtMjcgMDA6MjI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuaDoKCSAgcmVzaW5kdmQ6IFJlbW92ZSBleHRyYSBuZXctc2VnbWVudCBpbiByc25zdHJlYW1zZWxlY3Rvci4gU2VuZCBkaXNjb250LgoJICBBbGwgdGhlIGlucHV0IHBhZHMgZm9yIHRoZSByZXNpbiBzdHJlYW0gc2VsZWN0b3JzIGhhdmUgdGhlIHNhbWUgc291cmNlLAoJICBhbmQgcmVjZWl2ZS9zZW5kIHRoZSBzYW1lIHNlZ21lbnQgaW5mbywgc28gdGhlcmUncyBubyBuZWVkIHRvIHNlbmQgYQoJICBzZWdtZW50IHdoZW4gc3dpdGNoaW5nIGFuZCBhY3RpdmF0aW5nIGEgZGlmZmVyZW50IHBhZC4gUmVtb3ZpbmcgaXQgbWFrZXMKCSAgb24tdGhlLWZseSBhdWRpbyB0cmFjayBzd2l0Y2hpbmcgd29yayBwcm9wZXJseS4KCSAgQWZ0ZXIgc3dpdGNoaW5nIGF1ZGlvIHRyYWNrLCBtYXJrIHRoZSBuZXh0IGJ1ZmZlciBkaXNjb250LgoKMjAwOS0xMC0yNiAyMDo1NToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBBdm9pZCBhIGRlYWRsb2NrLiBJbXByb3ZlIGNoYXB0ZXIgc2Vlay4KCSAgQXZvaWQgYSBwb3RlbnRpYWwgZGVhZGxvY2sgdGhhdCBoYXBwZW5zIHdoZW4gYSBjYWxsIHRvCgkgIGdzdF9jbG9ja19pZF93YWl0X2FzeW5jKCkgaW1tZWRpYXRlbHkgY2FsbHMgdGhlIGNhbGxiYWNrLgoJICBJbXByb3ZlIHByZXZpb3VzIGNoYXB0ZXIgc2Vla2luZyBzbGlnaHRseSBieSBhdm9pZGluZyAnc2VnbWVudAoJICBzdGFydCAhPSAtMScgYXNzZXJ0aW9ucyB3aGVuIHRoZXJlIGlzIG5vIHByZXZpb3VzIGNoYXB0ZXIgYW5kCgkgIHRoZSBzZWVrIHRoZXJlZm9yZSBmYWlscy4KCjIwMDktMTAtMjYgMTI6MTk6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByZXNpbmR2ZDogbG93ZXIgYSBkZWJ1ZyBtZXNzYWdlIHRvIGxvZyBsZXZlbC4KCjIwMDktMTAtMjYgMTE6MDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIGEga2V5cHJlc3MgbWFwcGluZyBmb3Igc3dpdGNoaW5nIGF1ZGlvIHRyYWNrCgkgIEZvciBkZWJ1Z2dpbmcgcHVycG9zZXMsIG1ha2Uga2V5cyAxLTggc3dpdGNoIGF1ZGlvIHRyYWNrLgoKMjAwOS0xMC0yNCAxMjo1NDoxOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBBZGQgYSBzaW1wbGUgdW5pdCB0ZXN0CgkgIFNldCB1cCBhbiBhdXRvY29udmVydCB3aXRoIDIgZmFjdG9yaWVzLCBhbmQgY2hlY2sgdGhhdCBpdCBjYW4gc3dpdGNoCgkgIGJldHdlZW4gdGhlbSB3aGVuIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMTAtMjQgMTQ6Mjk6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuYzoKCSAgcmVzaW5kdmQ6IFNldCB0aGUgbmV3IGluaXRpYWwtaWRlbnRpdHkgcHJvcGVydHkgb24gYXV0b2NvbnZlcnQKCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU5OTQ2OQoKMjAwOS0xMC0yNCAxMjozODoxNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogU3VwcG9ydCBpbnN0YWxsaW5nIGlkZW50aXR5IGFzIHRoZSBpbml0aWFsIGNoaWxkCgkgIEFkZCB0aGUgJ2luaXRpYWwtaWRlbnRpdHknIHByb3BlcnR5LCB3aGljaCBpbnNlcnRzIGlkZW50aXR5IGZvcgoJICBhdCBzdGFydHVwIGZvciBldmVudCBwYXNzaW5nLCBhbmQgcmVwbGFjZXMgaXQgd2l0aCBhIG5ldyBjaGlsZAoJICB3aGVuIHRoZSBmaXJzdCBidWZmZXIgKGFuZCBjYXBzKSBhY3R1YWxseSBhcnJpdmVzLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk5NDY5CgoyMDA5LTEwLTI0IDExOjE4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0Lmg6CgkgIGF1dG9jb252ZXJ0OiBDYWNoZSBpbmNvbWluZyBuZXcgc2VnbWVudCBldmVudHMgYW5kIHB1c2ggdG8gY2hpbGRyZW4uCgkgIENhY2hlIGluY29taW5nIG5ldy1zZWdtZW50IGluZm8uCgkgIFdoZW4gaW5zdGFsbGluZyBhIGNoaWxkIGVsZW1lbnQsIGluZm9ybSBpdCBvZiB0aGUgY3VycmVudCBzZWdtZW50IGluZm8uCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTk0NjkKCjIwMDktMTAtMjYgMDA6NDE6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogQWRkIHNvbWUgZGVidWcgaW4gZmFjdG9yeSBjYXBzIGludGVyc2VjdGlvbgoKMjAwOS0xMC0yNCAxMTowNTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBTaW1wbGUgZml4ZXMuCgkgIEZyZWUgdGhlIHBsdWdpbiBmZWF0dXJlIGxpc3Qgb24gZGlzcG9zZS4KCSAgT3V0cHV0IGEgZGVidWcgbWVzc2FnZSB3aGVuIGRvd25zdHJlYW0gcmV0dXJucyBhIGZhdGFsIGZsb3cgcmVzdWx0CgkgIEZpeCBhd2t3YXJkIHdvcmRpbmcgaW4gYSBkZWJ1ZyB3YXJuaW5nLgoKMjAwOS0xMC0yNCAxMDoyNzowMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkgIGF1dG9jb252ZXJ0OiBHcmF0dWl0b3VzbHkgbW92ZSBHU1RfT0JKRUNUX0xPQ0sgaW50byBhIG1hY3JvCgkgIENyZWF0ZSBHU1RfQVVUT0NPTlZFUlRfTE9DSy9VTkxPQ0sgbWFjcm9zIHRoYXQgKGZvciBub3cpIGp1c3QgY2FsbAoJICBHU1RfT0JKRUNUX0xPQ0suCgoyMDA5LTEwLTE1IDEzOjMyOjMyICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBVc2UgZGVmaW5pdGlvbnMgZm9yIGRlZmF1bHQgdmFsdWVzCgkgIE1ha2VzIGNoYW5naW5nIHRoZSBkZWZhdWx0cyBlYXNpZXIgYW5kIG1vcmUgZm9vbC1wcm9vZiBpbiB0aGUgZnV0dXJlLgoJICBGaXhlcyAjNTk4NTUyCgoyMDA5LTEwLTE1IDEzOjE3OjQ2ICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgZGVmYXVsdCBBQUMgUHJvZmlsZSB0byBMb3cgQ29tcGxleGl0eSAoTEMpIGFzIHRoaXMgaXMgbW9yZSB3aWRlbHkgc3VwcG9ydGVkCgoyMDA5LTEwLTE1IDEzOjE1OjQwICswMTAwICBSb2JlcnQgU3dhaW4gPHJvYkBmbHVmZnkuKG5vbmUpPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBDaGFuZ2UgdGhlIHBhcmFtX3NwZWMgZGVmYXVsdCB2YWx1ZSBmb3IgYWxsb3dlZCBibG9jayB0eXBlcyB0byBtYXRjaCB0aGUgZ3N0X2ZhYWNfaW5pdCB2YWx1ZSBvZiAnbm9ybWFsJyBhcyB0aGlzIGlzIGJldHRlcgoKMjAwOS0xMC0yMCAxMDo1NzoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGNoZWNrIHdpZHRoL2hlaWdodCByYW5nZQoJICBDaGVja3MgaWYgdGhlIHdpZHRoL2hlaWdodCB0aGF0IGFyZSB0byBiZSBzZXQgb24gc3JjIHBhZCBjYXBzCgkgIGFyZSB3aXRoaW4gdmFsaWQgcmFuZ2Ugb2YgWzE2LDQwOTZdCgoyMDA5LTEwLTE2IDEwOjQ3OjMyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmg6CgkgIGdwcG11eDogQWRkIHN1cHBvcnQgZm9yIDNncjYKCSAgS2VlcCB0cmFjayBvZiB0aGUgY2h1bmsgZHVyYXRpb25zIHRvIGJlIGFibGUgdG8gYWRkIDNncjYKCSAgYnJhbmQgaWYgaXQgaXMgYSBmYXN0c3RhcnQgZmlsZSBhbmQgdGhlIGxvbmdlc3QgY2h1bmsgaXMKCSAgc21hbGxlciB0aGFuIGEgc2VjLiBJbXBsZW1lbnRlZCBhY2NvcmRpbmcgdG8gM2dwcAoJICBUUyAyNi4yNDQgdjYuNC4wICgyMDA1LTA5KQoJICBGaXhlcyAjNTg0MzYxCgoyMDA5LTEwLTE1IDIxOjExOjE2IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogT25seSBwdXNoIGZ0eXAgbGF0ZXIgKGluIGZhc3RzdGFydCBtb2RlKQoJICBJbiBmYXN0c3RhcnQgbW9kZSwgdGhlcmUgaXMgbm8gbmVlZCB0byBzZW5kIHRoZSBmdHlwCgkgIHJpZ2h0IGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbS4gV2FpdGluZyBhbmQgc2VuZGluZyBpdAoJICBvbmx5IGxhdGVyICh3aGVuIHRoZSBtb292IGF0b20gaXMgcmVhZHkgdG8gYmUgc2VudCkgcHJvdmlkZXMKCSAgdXMgd2l0aCBtb3JlIGluZm9ybWF0aW9uIGFib3V0IHRoZSBzdHJlYW0gYW5kIHdlIGNhbiBiZXR0ZXIKCSAgc2VsZWN0IHRoZSBjb21wYXRpYmxlIGJyYW5kcy4KCjIwMDktMTAtMTUgMTc6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBJbXByb3ZlIGVycm9yIG1lc3NhZ2UKCSAgSW1wcm92ZSBlcnJvciBtZXNzYWdlIHdoZW4gd2UgY2FuJ3QgZ2V0IG9yIGVzdGltYXRlIHRoZQoJICB0aW1lc3RhbXAvZHVyYXRpb24gb2YgYSBidWZmZXIKCjIwMDktMTAtMjYgMDA6NDI6MTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IENvbW1pdCBidW1wZWQgdmVyc2lvbiBudW1iZXIKCjIwMDktMTAtMjQgMTY6MzE6MjYgLTA0MDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSAgY2FtZXJhYmluOiBmaXggYnVpbGQKCjIwMDktMTAtMTkgMTU6NTQ6MjkgKzAzMDAgIFRlZW11IEthdGFqaXN0byA8ZXh0LXRlZW11LmthdGFqaXN0b0Bub2tpYS5jb20+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZm9yIGdzdHJlYW1lciBjb3JlIHVuaXQgdGVzdCBmcmFtZXdvcmsgdXBkYXRlCgkgIFNldCBjYW1lcmFiaW4gc3RhdGUgdG8gTlVMTCBpbiB0aGUgZWFjaCB0ZXN0IGNhc2UgZW5kLgoKMjAwOS0xMC0xOSAxNDo1NDo1OSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS5jOgoJICBjYW1lcmFiaW46IHJlbW92ZSBhYmJyZXZpYXRpb25zIGZyb20gdGhlIHByb3BlcnR5IG5hbWVzLiBGaXhlcyAjNTczMzcwIChwYXJ0aWFseSkKCSAgQWxzbyByZW5hbWUgdGhlaXIgdXNlIGluIHRlc3RzIGFuZCBleGFtcGxlcy4KCjIwMDktMTAtMTYgMTE6NTA6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIGJ1aWxkOiB1c2UgZ3N0LWdsaWItZ2VuLm1hayB0byBmaXggdGhlIGdsaWIgYnVpbGQgcnVsZXMuCgkgIFRoZSBidWlsZCBydWxlcyBpbiBnbGliLWdlbi5tYWsgd2VyZSB1c2luZyBwYXR0ZXJuIHJ1bGVzIGluIGEgbm9uIHNhdmUgd2F5LgoKMjAwOS0xMC0xNiAxMToyMTowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vLmdpdGlnbm9yZToKCSAgZ2l0aWdub3JlOiBpZ25vcmUgbW9yZQoKMjAwOS0xMC0xNSAxNzo0NTowMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gdG8gUkVBRFkgYmVmb3JlIGFjY2Vzc2luZyB0aGUgZWxlbWVudHMKCjIwMDktMTAtMTQgMTc6NDI6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogdXNlIEdfRElSX1NFUEFSQVRPUl9TIGluc3RlYWQgb2YgaGFyZGNvZGVkIHNsYXNoZXMKCjIwMDktMTAtMTUgMTc6MTc6NDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogY29kZSBjbGVhbnVwcwoJICBBbGlnbiBlbGVtZW50IGluaXRpYWxpc2F0aW9uLiBUaGlzIHNob3VsZCBiZSByZS10aG91Z2h0LCBnX29iamVjdF9uZXcgemVyb3MgdGhpbmdzIGFscmVhZHkuCgkgIEhhcm1vbml6ZSB0aGUgZWxlbWVudCBnZXR0ZXJzIGZvciB0aGUgc3JjL3NpbmtzIHRvIHJldHVybiB3aGF0IHdlIGFjdHVhbHkgdXNlLgoKMjAwOS0xMC0xNSAxNjo0MToxMiArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGltcGxlbWVudCB2aWRlbyBwcmV2aWV3IGNyZWF0aW9uCgkgIENvbXBsZXRlcyBwcmV2aWV3IGNyZWF0aW9uIG1lY2hhbmlzbSB0byBiZSBhYmxlIHRvIHByb3ZpZGUgYSBwcmV2aWV3CgkgIGltYWdlIGZvciB2aWRlbyBjbGlwcyB0b28uCgoyMDA5LTEwLTE1IDE2OjE1OjAzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBjYW1lcmFiaW4gZGVmYXVsdCBzb3VyY2VzL3NpbmtzIGxpa2UgaW4gcGxheWJpbjIuIEZpeGVzICM1NzQ0MzQKCSAgVGhpcyB1c2VzIHNhbWUgYXBwcm9hY2ggbGlrZSBpbiBwbGF5YmluLCBuYW1lbHkgY2hlY2tpbmcgZm9yIHVzZXIgZGVmaW5lZAoJICBlbGVtZW50LCBhdXRve2F1ZGlvLHZpZGVvfXtzaW5rLHNyY30gYW5kIGZpbmFsbHkgREVGQVVMVF97QVVESU8sVklERU99e1NSQyxTSU5LfQoJICBkZWZpbmVzIGZyb20gY29uZmlnLmguCgoyMDA5LTEwLTE1IDE1OjU5OjIzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGRvbid0IHJlZmVyZW5jZSBmcmVlZCBwb2ludGVyIHdoZW4gYnVpbGRpbmcgcG9ydG5hbWVzCgoyMDA5LTEwLTA4IDE1OjE4OjA0IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggdG8gUkdCLT5ZQ2JDciBjb252ZXJzaW9uCgoyMDA5LTEwLTA4IDE0OjMzOjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nZW5lcmF0ZV90YWJsZXMuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBjb2c6IEFkZCBjb2xvciBtYXRyaXggc2VsZWN0aW9uIHRvIGNvZ2NvbG9yc3BhY2UKCSAgRXZlbnR1YWxseSBob29rIGl0IHVwIHRvIGNhcHMgdmlhIGdzdHZpZGVvCgoyMDA5LTEwLTA4IDEzOjI0OjM2IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkgIGNvZzogSW1wcm92ZSBSR0I8LT5ZQ2JDciBtYXRyaXhpbmcKCSAgWUNiQ3ItPlJHQiBub3cgaGFzIGEgJ2JpdHMnIHNldHRpbmcsIHdoaWNoIGNvbnRyb2xzIHRoZSBudW1iZXIKCSAgb2YgYml0cyB1c2VkIGZvciB0aGUgbWF0cml4IGNvZWZmaWNpZW50cy4gIENob2ljZXMgYXJlIDYgb3IgOC4KCSAgNiBpcyBsb3cgcXVhbGl0eSwgYnV0IGZhc3Rlci4KCSAgUkdCLT5ZQ2JDciBub3cgd29ya3MuICBBbHdheXMgd29ya3MgaW4gOCBiaXQsIHNpbmNlIGl0J3MgdGhlIHNhbWUKCSAgc3BlZWQgYXMgNiBiaXQuCgoyMDA5LTEwLTA4IDEzOjIzOjUzIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiBGaXggQVlVViB1bnBhY2tpbmcKCjIwMDktMTAtMDcgMTY6MzA6MjYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJICBjb2c6IGhhY2tpbmcgdG8gaW1wcm92ZSBtYXRyaXggcXVhbGl0eQoKMjAwOS0xMC0yNCAyMDozMzoyNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBBbmQgYmFjayB0byBkZXZlbG9wbWVudCB3ZSBnbwoKPT09IHJlbGVhc2UgMC4xMC4xNiA9PT0KCjIwMDktMTAtMjMgMjM6MTY6NDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlaTByLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdtZWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3BzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGxleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcG5tLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zaGFwZXdpcGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xNgoKMjAwOS0xMC0yMyAyMzoxNTozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMTAtMjMgMTE6MDA6NTMgKzAzMDAgIEthai1NaWNoYWVsIExhbmcgPG1pbGFuZ0B0YWwub3JnPgoKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJICBGaXggc3RhcnQvc3RvcCB0eXBvCgoyMDA5LTEwLTIzIDEwOjQ4OjI1ICswMTAwICBUaG9tYXMgR3JlZW4gPHRvbTc4OTk5QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBhbHNvIGJ1aWxkIG5lb25odHRwc3JjIHdpdGggbGlibmVvbi0yOS54CgkgIEZpeGVzICM1OTkzMzIuCgoyMDA5LTEwLTIzIDEwOjE4OjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogVXNlIGd1aW50NjQgaW5zdGVhZCBvZiB1aW50NjRfdC4gRml4ZXMgIzU5OTM1NQoKMjAwOS0xMC0yMiAxNDowMDoxMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIFJldmVydCAiZHNob3dzcmN3cmFwcGVyOiBjbGVhbnVwIHB1c2ggYnVmZmVyIGNhbGxiYWNrIgoJICBnc3QtcGx1Z2lucy1iYWQgaXMgc3RpbGwgZnJvemVuIGZvciBnZW5lcmFsIGNvbW1pdHMuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMmU0MTMxOTI2ZjI3MjZmZThmZWU1YzM5ZGQ5MzU3ZjE0NzY0ZDBjYi4KCjIwMDktMTAtMjIgMTQ6MjY6MzAgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogY2xlYW51cCBwdXNoIGJ1ZmZlciBjYWxsYmFjawoKMjAwOS0xMC0yMiAxMTo0MzoxNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ3BzbXV4L01ha2VmaWxlLmFtOgoJICBtcGVncHNtdXg6IHNvbWUgbWlub3IgYnVpbGQgZml4ZXMKCSAgQ0xGQUdTIC0+IENGTEFHUywgYW5kIGZpeCBvcmRlciBvZiB2YXJpYWJsZXMgd2hpbGUgd2UncmUgYXQgaXQuCgoyMDA5LTEwLTIyIDAwOjUwOjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuYzoKCSAgYXV0b2NvbnZlcnQ6IFRha2UgdGhlIG9iamVjdCBsb2NrIGZld2VyIHRpbWVzCgkgIFdoZW4gc3RhcnRpbmcgdXAgYW5kIGNyZWF0aW5nIHRoZSBsaXN0IG9mIGVsZW1lbnQgZmFjdG9yaWVzLCBvbmx5CgkgIHRha2UgdGhlIG9iamVjdCBsb2NrIHR3aWNlIGluc3RlYWQgb2YgMyB0aW1lcy4KCjIwMDktMTAtMjEgMjM6MDY6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogRG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2sgd2hlbiBwdXNoaW5nCgkgIFdoZW4gcHVzaGluZyBvdXQgY2FjaGVkIGV2ZW50cywgZG9uJ3QgaG9sZCB0aGUgb2JqZWN0IGxvY2suIEF2b2lkcwoJICBkZWFkbG9ja3Mgc3RhcnRpbmcgdXAgRFZEIHBsYXliYWNrLgoKMjAwOS0xMC0yMiAxMToxMDoyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgZmFhYzogTGluayB3aXRoIGxpYmdzdGJhc2UgZm9yIEdzdEFkYXB0ZXIKCSAgRml4ZXMgYnVnICM1OTkyNzIuCgo9PT0gcmVsZWFzZSAwLjEwLjE1ID09PQoKMjAwOS0xMC0yMSAxNzoxNDozNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNmbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ21lZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4ta2F0ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1pbWljLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnZGVtdXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdwc211eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb21lYXN1cmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICByZWxlYXNlIDAuMTAuMTUKCjIwMDktMTAtMjEgMTY6NTE6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2V1LnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL2x2LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTEwLTE2IDE0OjM3OjAyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM3RhZzogYWN0dWFsbHkgd3JpdGUgaW1hZ2UgdG8gQVBJQyB0YWcuCgoyMDA5LTEwLTE2IDEyOjMwOjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC40IHByZS1yZWxlYXNlCgoyMDA5LTEwLTE2IDExOjUzOjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEluY2x1ZGUgdmRwc2luay5oIGluIHRoZSB0YXJiYWxsIHRvIGZpeCB0aGUgZGlzdC4KCjIwMDktMTAtMTYgMTE6MDg6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogVXNlIGdzdF9idWZmZXJfcmVmL3VucmVmLCBub3QgZ3N0X29iamVjdF9yZWYvdW5yZWYKCSAgcHJvcGVybHkgZml4ZXM6ICM1OTgyNzQKCjIwMDktMTAtMTYgMDE6MjY6MTAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJICBhdXRvY29udmVydDogVXNlIGdzdF9wYWRfcGVlcl9hY2NlcHRfY2FwcyBpbnN0ZWFkIG9mIGdzdF9wYWRfc2V0X2NhcHMuCgkgIGdzdF9wYWRfc2V0X2NhcHMgb24gdGhlIGludGVybmFsIHNvdXJjZSBwYWQgYWx3YXlzIHN1Y2NlZWRzLCBiZWNhdXNlCgkgIGNhcHMgcHJvcGFnYXRlIHRvIHRoZSBwZWVyIHdpdGggYnVmZmVycywgbm90IGltbWVkaWF0ZWx5LiBVc2luZwoJICBnc3RfcGFkX3BlZXJfYWNjZXB0X2NhcHMgcHJvcGVybHkgY2hlY2tzIHdoZXRoZXIgdGhlIGFjdHVhbAoJICBzdWItZWxlbWVudCBjYW4gYWNjZXB0IGNhcHMgd2hlbiB0aGV5IGNoYW5nZS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMTowOTo0OSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZS1zZW5kIGF1ZGlvIHN0cmVhbSBzZWxlY3Qgb24gcmUtY29uZmlndXJhdGlvbgoJICBXaGVuIHRoZSBsYXlvdXQgb2YgdGhlIGF1ZGlvIHN0cmVhbXMgY2hhbmdlcywgcmUtc2VuZCB0aGUgY3VycmVudAoJICBhdWRpbyBzdHJlYW0gc2VsZWN0aW9uIGV2ZW50LCBpbiBvcmRlciB0byB0cmlnZ2VyIHN3aXRjaGluZyB0byB0aGUKCSAgbmV3IHN0cmVhbSBwcm9wZXJseS4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNiAwMDo1MDozMSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBGaXggYSBzbWFsbCBmbGF3IC0gaWYgYW55IGF1ZGlvIHN0cmVhbSBleGlzdHMsIHVzZSBpdAoJICBEb24ndCBjcmVhdGUgYSBkdW1teSBhdWRpbyBzdHJlYW0gaWYgb25seSBub24tQUMzIHRyYWNrcyBleGlzdC4KCjIwMDktMTAtMTYgMTA6MTY6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gODVkMTUzMCB0byAwNzAyZmUxCgoyMDA5LTEwLTE1IDIzOjQ4OjUzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZXUucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xNC4zIHByZS1yZWxlYXNlCgoyMDA5LTEwLTE0IDExOjA2OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkgIHJlc2luZHZkOiBGaXggZGVjb2RlciBwYWQgdGVtcGxhdGUgdG8gYWxsb3cgTFBDTQoJICBUaGUgcGFkIHRlbXBsYXRlIGluIHRoZSBuZXcgc3dpdGNoaW5nIGRlY29kZXIgaXMgdG9vIHJlc3RyaWN0aXZlLAoJICBwcmV2ZW50aW5nIHRoZSBMUENNIGRlY29kZXIgZnJvbSBiZWluZyBzZWxlY3RlZC4KCSAgaHR0cHM6Ly9idWd6aWxsYS5nbm9tZS5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTU2OAoKMjAwOS0xMC0xNCAxMDo0MTozOCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gYTNlM2NlNCB0byA4NWQxNTMwCgoyMDA5LTEwLTEzIDEzOjA1OjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFyZW50IGluIHJzbmF1ZGlvbXVuZ2UKCSAgRG9uJ3QgbGVhayBhIHJlZmVyZW5jZSB0byB0aGUgcGFkIHBhcmVudCBpbiB0aGUgc2luayBwYWQgZXZlbnQgaGFuZGxlcgoJICBpbiByc25hdWRpb211bmdlLgoJICBodHRwczovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTk4MjYzCgoyMDA5LTEwLTEzIDEzOjA0OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJICBkdHNkZWM6IEZpeCByZWZlcmVuY2UgbGVhayBvbiBhbGwgaW5wdXQgYnVmZmVycyBpbiAnZHZkIG1vZGUnCgkgIGh0dHBzOi8vYnVnemlsbGEuZ25vbWUub3JnL3Nob3dfYnVnLmNnaT9pZD01OTgyNzQKCjIwMDktMTAtMTMgMTY6MDE6MjYgKzAyMDAgIFBldGVyIENocmlzdG9mZmVyc2VuIDxnbm9tZS1idWd6aWxsYUBwbHl0LmRrPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkMjogRG9uJ3QgbGVhayBlbGVtZW50IHJlZmVyZW5jZSBpbiB0aGUgc2V0Y2FwcyBmdW5jdGlvbgoJICBGaXhlcyBidWcgIzU5ODEzOS4KCjIwMDktMTAtMTIgMTQ6Mjc6NTcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9MSU5HVUFTOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9ldS5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjE0LjIgcHJlLXJlbGVhc2UKCjIwMDktMTAtMTIgMTI6Mjk6NDQgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgZmFhZDogZml4ZXMgd2FybmluZyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTEyIDA5OjA2OjM3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICBqYWNrOiBlbnN1cmUgc2VndG90YWwgaXMgYXQgbGVhc3QgMgoJICBOb3Qgb25seSBhZGp1c3QgYnVmZmVyLXRpbWUgYW5kIGF2b2lkIHNlZ3RvdGFsPTAsIGJ1dCBpbnN0ZWFkIGVuc3VyZSBzZWd0b3RhbCBpcwoJICBhdGxlYXN0IDIuIERvIHNhbWUgY2hhbmdlIG9uIGphY2tzcmMuIFdlIGNvdWxkIGFsc28gY2hlY2sgdGhlIGxhdGVuY3kgYW5kIGJ1ZmZlcgoJICB0aW1lIGNvbmZpZ3VyZWQgYnkgdGhlIGNsaWVudCBhbmQgYWRqdXN0IGJ1ZmZlci10aW1lIHNvIHRoYXQgd2UgZ2V0IHRvIHRoZSBzYW1lCgkgIG51bWJlciBvZiBzZWdtZW50cy4KCjIwMDktMTAtMTIgMDA6NTE6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgamFjazogZG9uJ3QgY3Jhc2ggaW4gcmluZ2J1ZmZlciB3aXRoIFNJR0ZQRSBvbiBzbWFsbCBidWZmZXItdGltZXMKCSAgSmFjayBvdmVycmlkZXMgdXNlci1zcGVjaWZpZWQgbGF0ZW5jeS10aW1lIHdpdGggdGhlIG9uZSBpdCBnZXRzIGZyb20gamFjawoJICBpdHNlbGYuIEl0IGFsc28gbmVlZHMgdG8gYWRqdXN0IGJ1ZmZlci10aW1lIHNvbWV3aGF0IHRvIGF2b2lkIHNlZ3RvdGFsIGJlaW5nIDAKCjIwMDktMTAtMTEgMjI6MTA6MDQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgbWV0YWRhdGE6IGluaXQgdmFyaWFibGVzCgkgIG1ldGFkYXRhbXV4X2V4aWZfZ2V0X2V4aWZfZnJvbV90YWcoKSBkb2VzIG5vdCBuZWNjZXNhcmlseSBpbml0IHRoZSBwYXNzZWQKCSAgdmFyaWFibGVzLgoKMjAwOS0xMC0wMyAyMTozNTowMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgc2lnbmFscHJvY2Vzc29yOiB1c2UgdGhlIHR5cGUgZGVmaW5lIGxpa2UgZXZlcnl3aGVyZSBlbHNlCgoyMDA5LTEwLTAzIDIxOjMxOjU1ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICBzaWduYWxwcm9jZXNzb3J0OiByZWdpc3RlciBkZWJ1ZyBjYXRlZ29yeSBqdXN0IG9uY2UKCSAgUHJldmlvdXNseSB3ZSB3ZXJlIHRyeWluZyB0byByZWdpc3RlciBpdCBmb3IgZXZlcnkgc3ViY2xhc3MuCgoyMDA5LTEwLTExIDE0OjEwOjU5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBzb3VuZHRvdWNoOiBmaXhlcyB3YXJuaW5ncyBvbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDE0OjAyOjI2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9lbmMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3BhcnNlLmM6CgkgIHNjaHJvZWRpbmdlcjogZml4IHdhcm5pbmdzIG9uIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NTY6NDMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkgIG1ldGFkYXRhOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMzo1MTo1OCArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgbW1zOiBmaXhlcyB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6NDY6MDAgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTM6MTM6NTYgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgc3BlZWQ6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDEzOjA3OjE5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgbXBlZ3ZpZGVvcGFyc2U6IGZpeCB3YXJuaW5nIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTI6NTY6MjkgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVnZGVtdXg6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjM1OjIzICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgZHRtZjogZml4IHdhcm5pbmdzIGluIG1hY29zeCBzbm93IGxlb3BhcmQKCjIwMDktMTAtMTEgMTE6Mjc6MDggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGFtcnBhcnNlOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0xMSAxMToyMjoxMSArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYWFjcGFyc2U6IGZpeCB3YXJuaW5ncyBpbiBtYWNvc3ggc25vdyBsZW9wYXJkCgoyMDA5LTEwLTExIDExOjE0OjE2ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZGVjb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuYzoKCSAgYmFzZXZpZGVvOiBmaXggd2FybmluZ3MgaW4gbWFjb3N4IHNub3cgbGVvcGFyZAoKMjAwOS0xMC0wOSAxMzoxODozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBhc3NyZW5kZXIvZHZkc3B1OiBJbmNyZWFzZSByYW5rcyB0byBQUklNQVJZCgoyMDA5LTEwLTA5IDA5OjE5OjA2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogSW5jbHVkZSBTdWJQaWN0dXJlIGluIHRoZSBjbGFzc2lmaWNhdGlvbgoKMjAwOS0xMC0wOSAwOToxODowNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBhc3NyZW5kZXI6IE1ha2UgY2xhc3NpZmljYXRpb24gYSBiaXQgbW9yZSBhY2N1cmF0ZQoJICBDaGFuZ2UgZnJvbSAiRmlsdGVyL0VmZmVjdC9WaWRlbyIgdG8gIk1peGVyL1ZpZGVvL092ZXJsYXkvU3VidGl0bGUiCgoyMDA5LTEwLTA4IDE5OjUxOjMxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYXBzc2V0dGVyLmM6CgkgIGNhcHNzZXR0ZXI6IGFkZCB1bml0IHRlc3QKCjIwMDktMTAtMDggMTE6MDA6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gMTlmYTRmMyB0byBhM2UzY2U0CgoyMDA5LTEwLTA3IDE2OjI5OjA4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJICBzY2hybzogcmVtb3ZlIHVudXNlZCBpbmNsdWRlIG9mIGxpYm9pbC5oCgoyMDA5LTEwLTA3IDE1OjQzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgbWV0YWRhdGE6IGRvbid0IGNvcHkgdHJhaWxpbmcgTlVMTCBvZiBzdHJpbmdzIGluIHhtcCBtZXRhZGF0YQoJICBBbHNvIHVzZWluZyBnX3N0cmR1cCwgZml4ZXMgdGhlIG1hbGxvYyA8LT4gZ19mcmVlIG1pc21hdGNoLgoKMjAwOS0xMC0wNyAxNToyNjoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2RpcmVjdGZiL2RmYi1leGFtcGxlLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBidWlsZDogZnByaW50Ziwgc3ByaW50Ziwgc3NjYW5mIG5lZWQgc3RkaW8uaAoKMjAwOS0wOS0xOCAxODo0NTowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWltaWMuYzoKCSAgdGVzdHM6IEFkZCB0ZXN0IGZvciBtaW1pYyBlbGVtZW50cwoKMjAwOS0wOS0xOCAxNzo0Nzo1OCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFJlbW92ZSBpbnZhbGlkIHRvZG8KCjIwMDktMTAtMDYgMTg6MzY6MTUgKzAyMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnBAay1kLXcub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBJZ25vcmUgZW1waGFzaXMgb24vb2ZmIGJ5dGVzLCBhbmQgZG8gZmFsbGJhY2sgc3RyaW5nIGVuY29kaW5nLgoJICBGb3IgZmFsbGJhY2ssIHRyeSBJU08gODg1OS05IGVuY29kaW5nIGlmIElTTyA2NjM3IGZhaWxlZC4KCSAgQWRkIG1vcmUgZGVidWcgY2FsbHMuCgoyMDA5LTEwLTA1IDE3OjA0OjI4IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IHZhcmlvdXMgZml4ZXMKCSAgLSBXb3JrIGFyb3VuZCBCYXNlRW5jb2RlciBidWcgbm90IHRyYWNraW5nIGZyYW1lIGluZGV4IGVhcmx5LgoJICAtIEZpeCBjb252ZXJzaW9uIG9mIFVZVlksIFlVWTIsIEFZVVYgdG8gaW50ZXJuYWwgZm9ybWF0LgoKMjAwOS0xMC0wNSAxNjoxNjozNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBiYXNldmlkZW86IFJldmVydCAiQ2FsbCBHc3RCYXNlVmlkZW9FbmNvZGVyOjpzdGFydC9zdG9wIGR1cmluZyBwYWQgW2RlXWFjdGl2YXRpb24uIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDRjMDg3YmNiMDcyZGNjOTg0N2IxMWMwMDEyM2NmOTNjNWU1NDFkY2IuCgkgIFRoZSByZXZlcnRlZCBjb21taXQgY2hhbmdlcyB0aGUgb3JkZXIgdGhhdCBzZXRfZm9ybWF0KCkgYW5kIHN0YXJ0KCkKCSAgYXJlIGNhbGxlZCwgd2hpY2ggaXMgaW5jb3JyZWN0LiAgVGhlIGNvcnJlY3Qgb3JkZXIgaXMgc2V0X2Zvcm1hdCgpLAoJICBzdGFydCgpLCBoYW5kbGVfZnJhbWUoKS4uLiwgc3RvcCgpCgoyMDA5LTEwLTA1IDEzOjMzOjIyIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGJhc2V2aWRlbzogRnJlZSBmcmFtZSB1c2luZyB1dGlsaXR5IGZ1bmN0aW9uCgoyMDA5LTEwLTA1IDIxOjExOjE4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIGRpcmFjZW5jOiBGaXggY2FwcyB1bmxpbmtlZCBuZWdvdGlhdGlvbgoJICBtb3ZlIGNhcHMgcmVsYXRlZCBjb2RlIHRvIGdzdF9kaXJhY19lbmNfc2V0X2Zvcm1hdCwgYW5kCgkgIHVzZSB0aGUgc291cmNlIHBhZCB0ZW1wbGF0ZSB0byBnZXQgYWxsb3dlZCBjYXBzIHdoZW4gdGhlcmUgaXMKCSAgbm8gcGVlciBwYWQuCgoyMDA5LTEwLTA1IDE5OjQ5OjA2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBXaGVuIHRoZSBzb3VyY2UgcGFkIGlzbid0IGxpbmtlZCwgdXNlIHRoZSBwYWQgdGVtcGxhdGUKCSAgRm9yIG5lZ290aWF0aW9uLCB1c2UgdGhlIHNvdXJjZSBwYWQgcGFkIHRlbXBsYXRlIHdoZW4gaXQgZG9lc24ndAoJICBoYXZlIGEgcGVlci4KCjIwMDktMTAtMDUgMTU6NDc6NTggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5jOgoJICBiYXNldmlkZW86IEZhaWwgaWYgY2FwcyBkb24ndCBjb250YWluIGEgZnJhbWVyYXRlIGZpZWxkCgkgIFJldHVybiBmYWxzZSBmcm9tIHRoZSBjYXBzIHBhcnNpbmcgZnVuY3Rpb24gaWYgdGhlcmUgaXMgbm8gZnJhbWVyYXRlCgkgIGZpZWxkIGluIHRoZSBwcm92aWRlZCBjYXBzCgoyMDA5LTEwLTA1IDExOjE1OjAzIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogV3JpdGUgVVRGLTE2IGJ5dGUgb3JkZXIgbWFya2VyIGNvcnJlY3RseS4KCjIwMDktMTAtMDUgMTY6Mzk6MzcgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogbW92ZSBjYXBzIHJlbGF0ZWQgY29kZSB0byBnc3Rfc2Nocm9fZW5jX3NldF9mb3JtYXQuCgoyMDA5LTEwLTA1IDE1OjI4OjQ3ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgRGVwZW5kIG9uIGd0ay14MTEgZXhwbGljaXRseS4KCSAgRml4ZXMgdGhlIGJ1aWxkIG9uIE9TWCBpZiBndGsrLXF1YXJ0eiBpcyBpbnN0YWxsZWQuCgoyMDA5LTEwLTA1IDE1OjI2OjE1ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggY29tcGlsYXRpb24gd2FybmluZyB3aXRoIGdjYy00LjIuCgoyMDA5LTEwLTA1IDExOjQ3OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBBZGQgZmFhYyB0ZXN0IGJpbmFyeSB0byB0aGUgZ2l0IGlnbm9yZXMKCjIwMDktMTAtMDUgMTE6NDc6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSogZXh0L3NjaHJvZWRpbmdlci9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9DWFhGTEFHUyBhbmQgR1NUX0NGTEFHUyB0byBwdWxsIGluIGxvY2FsIGdzdC1saWJzIGluY2x1ZGVzLgoJICBNb3ZlIHRoZSBHU1RfQ1hYRkxBR1MgYW5kIEdTVF9DRkxBR1MgdG8gdGhlIHN0YXJ0IG9mIHRoZSBpbmNsdWRlcyBzZXQKCSAgdG8gcHVsbCBpbiB0aGUgbG9jYWwgZ3N0LWxpYnMgZnJvbSB0aGVyZSBmaXJzdCwgaW5zdGVhZCBvZiBsaXN0aW5nCgkgIGl0IGV4cGxpY2l0bHkuCgoyMDA5LTEwLTA1IDExOjAyOjE2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkgIEZpeCBDRkxBR1MgYW5kIExERkxBR1MgZm9yIGRpcmFjL3NjaHJvZGluZ2VyCgkgIEluY2x1ZGUgdGhlIGxvY2FsIGhlYWRlcnMgYW5kIGxpYnMgYmVmb3JlIG9uZXMgb3V0c2lkZSB0aGlzCgkgIG1vZHVsZS4KCjIwMDktMTAtMDIgMTY6MzU6MDkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2RpcmFjL01ha2VmaWxlLmFtOgoJKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkgIGRpcmFjOiBjb252ZXJ0IHRvIEJhc2VWaWRlb0VuY29kZXIKCjIwMDktMDktMjcgMTQ6MjU6MzkgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3RjbXMuYzoKCSogZXh0L2NvZy9nc3RjbXMuaDoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2xvcmNvbnZlcnQuYzoKCSogZXh0L2NvZy9nc3Rsb2dvaW5zZXJ0LmM6CgkgIGNvZzogaGFja2luZwoJICBBZGQgUkdCIHRvIFlDYkNyIG1hdHJpeGluZwoJICBBZGQgdGlueSBjb2xvciBtYW5hZ2VtZW50IHN5c3RlbSAoQ01TKSBmb3IgdmlkZW8KCSAgQWRkIHF1YWxpdHkgbGV2ZWwgZm9yIGNvbG9yc3BhY2UKCjIwMDktMDktMjUgMTg6MTQ6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiByZXNldCBjYWNoZSBpbnN0ZWFkIG9mIHJldHVybmluZyBOVUxMCgkgIFJldHVybmluZyBOVUxMIG1ha2VzIHRoaW5ncyBjcmFzaC4gIFJlc2V0dGluZyB0aGUgY2FjaGUKCSAgbWFrZXMgdGhpbmdzIHJ1biBzbG93LiAgU3RpbGwgYW4gdW5kZXJseWluZyBidWcgc29tZXdoZXJlLAoJICBidXQgbm90IGNyaXRpY2FsLgoKMjAwOS0wOS0yMyAxMzoxNzo1NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogSGFuZGxlIGxvb2thaGVhZCwgZGlzY29udAoKMjAwOS0xMC0wMiAxOTowODoyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgYnVpbGQ6IGFkZCBtaXNzaW5nIHN0ZGxpYiBpbmNsdWRlIHRvIGZpeCB0aGUgYnVpbGQKCjIwMDktMTAtMDIgMTQ6MjU6NTAgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuaDoKCSAgQWRkIEdzdEJhc2VWaWRlb0RlY29kZXI6OnNldF9zaW5rX2NhcHMgdmZ1bmMuCgoyMDA5LTEwLTAyIDEyOjQwOjAyICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIENhbGwgR3N0QmFzZVZpZGVvRGVjb2Rlcjo6c3RhcnQvc3RvcCBkdXJpbmcgcGFkIFtkZV1hY3RpdmF0aW9uLgoKMjAwOS0xMC0wMSAxNjowNjowMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBEb24ndCBpZ25vcmUgdGhlIHZhbHVlIHJldHVybmVkIGZyb20gR3N0QmFzZVZpZGVvRW5jb2Rlcjo6c2V0X2Zvcm1hdC4KCjIwMDktMTAtMDEgMTY6MTI6MTUgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBGaXggc2Nocm9lbmMgZm9yIHJlZmNvdW50IGNoYW5nZSBpbiBHc3RCYXNlVmlkZW9FbmNvZGVyLgoKMjAwOS0xMC0wMSAxNTo1MDo1NSArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBVbnJlZiBmcmFtZS0+c2lua19idWZmZXIgaW4gZ3N0X2Jhc2VfdmlkZW9fZW5jb2Rlcl9maW5pc2hfZnJhbWUKCjIwMDktMTAtMDEgMTY6MTE6NDYgKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBNYWtlIGdzdF9zY2hyb19lbmNfaGFuZGxlX2ZyYW1lIHJldHVybiBHc3RGbG93UmV0dXJuLgoKMjAwOS0xMC0wMSAxNjoyNjoyMiArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5oOgoJICBNYWtlIEdzdEJhc2VWaWRlb0VuY29kZXI6OmhhbmRsZV9mcmFtZSByZXR1cm4gR3N0Rmxvd1JldHVybgoKMjAwOS0xMC0wMSAxNjoyNDo1MCArMDIwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvZW5jb2Rlci5jOgoJICBDYWxsIEdzdEJhc2VWaWRlb0VuY29kZXI6OnN0YXJ0L3N0b3AgZHVyaW5nIHBhZCBbZGVdYWN0aXZhdGlvbi4KCjIwMDktMTAtMDIgMTI6MDQ6MjggKzAyMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgIEZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA5LTEwLTAyIDEzOjAyOjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvemJhci9nc3R6YmFyLmM6CgkqIGV4dC96YmFyL2dzdHpiYXIuaDoKCSAgemJhcjogcG9zdCBhIG1lc3NhZ2UgaW5zdGVhZCBvZiBwcmludGluZyB0aGUgY29kZSB0byBzdGRvdXQKCSAgRG9jbWVudCB0aGUgbWVzc2FnZSBmb3JtYXQgdGhhdCB3ZSBzZW50LiBBZGQgYSBwcm9wZXJ0eSB0byB0dXJuIG1lc3NhZ2Ugc2VuZGluZyBvZmYuCgoyMDA5LTEwLTAyIDExOjIzOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVpMHIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWx2Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVzaW5kdmQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJzdmcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2hhcGV3aXBlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIGRvY3M6IHVwZGF0ZSBwbHVnaW4gZG9jIHNjYW4gZmlsZXMKCjIwMDktMTAtMDIgMTE6MjI6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC96YmFyL2dzdHpiYXIuYzoKCSAgemJhcjogY2xlYW51cHMKCSAgVXNlIHN0YXJ0L3N0b3AgdG8gbWFuYWdlIHRoZSBjYWNoZS4gRmV3IGNvZGUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoKMjAwOS0xMC0wMiAxMTowOToxMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNvZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbm0ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9tZWFzdXJlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4temJhci54bWw6CgkgIGRvY3M6IGFkZCB6YmFyIHBsdWdpbgoKMjAwOS0xMC0wMiAxMDozNzo0MyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICB6YmFyOiBhZGQgbmV3IHBsdWdpbiB0byB0aGUgYnVpbGQgaGVyZSB0b28KCjIwMDktMTAtMDIgMTA6MzI6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGtlZXAgbGlzdCBzb3J0ZWQKCjIwMDktMTAtMDIgMDc6NDY6MTcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmUuYWM6IEZpeCBidWlsZCBzeXN0ZW0sIHpiYXIgaXMgbm8gZGVwZW5kZW5jeS1sZXNzIHBsdWdpbgoKMjAwOS0xMC0wMSAyMzo1MTowNCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvemJhci9NYWtlZmlsZS5hbToKCSogZXh0L3piYXIvZ3N0emJhci5jOgoJKiBleHQvemJhci9nc3R6YmFyLmg6CgkgIHpiYXI6IHdyYXAgemJhciBsaWJyYXJ5IGFzIGEgaW1hZ2UgYW5hbHl6ZXIKCSAgemJhciBpcyBhIGJhciBjb2RlIHNjYW5uZXIgbGlicmFyeS4KCjIwMDktMTAtMDEgMTc6MTk6NTQgKzAxMDAgIENocmlzdGlhbiBGLksuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHdpbjMyL01BTklGRVNUOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMgYW5kIHJlbW92ZSBmaWxlIGZyb20gTUFOSUZFU1Qgd2hpY2ggaXNuJ3QgdGhlcmUgYW55IGxvbmdlcgoKMjAwOS0wOS0wMiAxNToyNjoxNSArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIG1ldGFkYXRhOiBjaGFuZ2UgWE1QIGxvY2F0aW9uIHRhZ3MgdG8gc3RhcnQgd2l0aCBjYXBpdGFscwoKMjAwOS0wOC0yNSAxMDoxMDoxNSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggZGVhZGxvY2sgd2hlbiBlcnJvciBvY2N1cnMgYXQgdmlkZW8gcmVjb3JkaW5nIHN0YXJ0dXAKCjIwMDktMDgtMjcgMTQ6MzU6MjYgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogaGFuZGxlIHByZXZpZXctY2FwcyBvbmx5IGluIGltYWdlIG1vZGUgYW5kIG9ubHkgd2hlbiB0aGV5IGNoYW5nZQoJICBUaGlzIHByZXZlbnRzIGNhbWVyYWJpbiB0byBjcmVhdGUgcHJldmlldyBwaXBlbGluZSBldmVyeSB0aW1lIHdoZW4KCSAgYXBwbGljYXRpb24gcmUtc2V0cyB0aGUgc2FtZSBjYXBzIGFnYWluLgoKMjAwOS0wOC0yNSAwOTozNTowNyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSAgY2FtZXJhYmluOiBkb24ndCBzZW5kIG11bHRpcGxlIEVPUyBldmVudHMgdG8gdmlkZW8gcGlwZWxpbmUKCjIwMDktMDgtMjIgMTc6MDk6MzkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlucGhvdG9ncmFwaHkuYzoKCSAgY2FtZXJhYmluOiBmaXggc2NlbmUgbW9kZSBzZXR0aW5nCgkgIENhbWVyYWJpbiBjYWNoZXMgcGhvdG9ncmFwaHkgc2V0dGluZ3MsIGJ1dCBpdCBkaWRuJ3QgdGFrZSBpbnRvIGFjY291bnQKCSAgdGhhdCBzY2VuZSBtb2RlIHNldHRpbmcgbWF5IGNoYW5nZSBvdGhlciBzZXR0aW5ncyBhcyB3ZWxsLiBTbywgY29uZmlnCgkgIG5lZWRzIHRvIGJlIHJlYWQgYmFjayBmcm9tIGRldmljZSBhZnRlciBzY2VuZSBtb2RlIGlzIHNldC4KCjIwMDktMDgtMjEgMDk6MTQ6MzEgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgbW9kZSBwYXJhbWV0ZXIgc2V0dGluZyBpbiBOVUxMIHN0YXRlCgoyMDA5LTA4LTIwIDE3OjU1OjI2ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJICBjYW1lcmFiaW46IGFsbG93IGNhcHR1cmUgcmVzb2x1dGlvbiB0byBiZSBzZXQgaW4gTlVMTCBzdGF0ZQoKMjAwOS0wOS0xMCAxNToxNjoyMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBmaXggaW1hZ2UgcXVldWUgcGFyYW1ldGVyIHNldHRpbmcKCSAgQ2FtZXJhYmluIGluY29ycmVjdGx5IHVzZWQgR19HVUlOVDY0X0NPTlNUQU5UIG1hY3JvIGZvciBzZXR0aW5nCgkgICJtYXgtc2l6ZS1idWZmZXJzIiBhbmQgIm1heC1zaXplLWJ5dGVzIiBwcm9wZXJ0aWVzIGluIGltYWdlIHF1ZXVlLAoJICBldmVuIHdoZW4gdGhleSBhcmVuJ3QgNjRiaXQgaW50ZWdlcnMuCgoyMDA5LTA4LTEyIDExOjEwOjU1ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGZpeCB3YXJuaW5nIHdpdGggZ19vYmplY3RfZ2V0IGFuZCBqb2luIHNlcGFyYXRlIGdfb2JqZWN0X3NldHMgaW50byBvbmUKCjIwMDktMDctMzEgMTE6NTc6MTIgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmVzZXQgYWN0aXZlLXBhZCBpbiBvdXRwdXQtc2VsZWN0b3IgYWZ0ZXIgUkVBRFkgc3RhdGUKCSAgQ2FtZXJhYmluIHNldHMgaXRzZWxmIHRvIFJFQURZIHN0YXRlIGR1cmluZyByZXNvbHV0aW9uIGNoYW5nZS4gVGhpcwoJICBvcGVyYXRpb24gbWFrZXMgb3V0cHV0LXNlbGVjdG9yIHRvIGZvcmdldCBpdHMgY3VycmVudGx5IGFjdGl2ZSBwYWQsCgkgIHNvIGl0IG11c3QgYmUgc2V0IGFnYWluIGFmdGVyIHN0YXRlIGNoYW5nZS4KCjIwMDktMDYtMjkgMTU6MjM6MjUgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcmVzZXQgY2Fwc2ZpbHRlcnMgb3Igem9vbSBpZiBlcnJvciBvY2N1cnMKCSAgSWYgYW4gZXJyb3Igb2NjdXJzLCBhcHBsaWNhdGlvbiBzaG91bGQgc2V0IHBpcGVsaW5lIHRvIE5VTEwsIGFuZCB1cGRhdGluZwoJICB6b29tIGNhbiBhY3R1YWxseSBibG9jayBtZXNzYWdlIGhhbmRsaW5nIGlmIHZpZGVvIGRldmljZSBkcml2ZXIgaGFzIGZhaWxlZAoJICBhbmQgdmlkZW8gc3JjIGVsZW1lbnQgc3VwcG9ydHMgem9vbWluZyB1c2luZyBwaG90b2dyYXBoeSBpbnRlcmZhY2UgYW5kIFNfQ1JPUC4KCjIwMDktMTAtMDEgMTc6MTc6MDMgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPHJlbmUuc3RhZGxlckBub2tpYS5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGxpbmsgd2l0aCBsaWJtCgoyMDA5LTEwLTAxIDE1OjA5OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmRiaW46IElmIG5vIHN1aXRhYmxlIGF1ZGlvIGRlY29kZXIgaXMgZm91bmQgcGxheSB0aGUgRFZEIHdpdGhvdXQgYXVkaW8KCjIwMDktMTAtMDEgMTQ6NTQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBBbHNvIHBvc3QgbWlzc2luZyBlbGVtZW50IG1lc3NhZ2VzIGlmIGFueSBvdGhlciBlbGVtZW50IGlzIG1pc3NpbmcKCjIwMDktMTAtMDEgMTQ6NTI6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IFBvc3QgbWlzc2luZyBkZWNvZGVyIG1lc3NhZ2VzIGlmIG9uZSBpcyBtaXNzaW5nCgkgIEZvciB2aWRlbyB0aGlzIGlzIGFuIGVycm9yLCBmb3IgYXVkaW8gb25seSBhIHdhcm5pbmcuCgoyMDA5LTEwLTAxIDE0OjQwOjU2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICByZXNpbmR2ZGJpbjogVXNlIHRoZSBuZXcgdmlkZW8gZGVjb2RlcgoJICBUaGlzIG1ha2VzIHJlc2luZHZkYmluIHdvcmsgd2l0aCBvdGhlciBNUEVHIHZpZGVvIGRlY29kZXJzIHRoYW4KCSAgbXBlZzJkZWMsIGZvciBleGFtcGxlIHRoZSBGRk1QRUcgb3IgRmx1ZW5kbyBNUEVHIGRlY29kZXJzLgoKMjAwOS0xMC0wMSAxNDozNzo0MyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25kZWMuaDoKCSAgcmVzaW5kdmRiaW46IFJlbmFtZSBmaWxlcwoKMjAwOS0xMC0wMSAxNDozNjoyMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkYmluOiBSZWZhY3RvciBhdWRpbyBkZWNvZGVyIGFuZCBhZGQgYSAoTVBFRykgdmlkZW8gZGVjb2RlcgoKMjAwOS0xMC0wMSAxMzoyOTowMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSAgcnNuYXVkaW9kZWM6IEdldCBkZXNpcmVkIHNpbmsgY2FwcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGUKCjIwMDktMTAtMDEgMTA6NTQ6MTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJICByc3ZnOiBVbnByZW11bHRpcGx5IENhaXJvJ3MgQVJHQiB0byBtYXRjaCBHU3RyZWFtZXIncwoKMjAwOS0wOS0yNSAxMjoyMDo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSAgVGFrZSBvZmZzZXQgZ2FwcyBpbnRvIGFjY291bnQuCgkgIFByZXZlbnRzIG1lYXN1cmVjb2xsZWN0b3IgZnJvbSBjcmFzaGluZyB3aGVuIGZyYW1lIG51bWJlcnMgYXJlIG5vdCBjb25zZWN1dGl2ZS4KCSAgRml4ZXMgYnVnICM1OTYyODUuCgoyMDA5LTA5LTI5IDE1OjQ3OjEzICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJICBxdG11eDogZml4IGZsYWdzX2FzX3VpbnQgdG8gZmxhZ3NbXQoKMjAwOS0wOS0zMCAxNTo0NzoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmRiaW46IENyZWF0ZSBleHRlcm5hbCBzcmNwYWRzIGZyb20gdGhlIHN0YXRpYyBwYWQgdGVtcGxhdGVzCgoyMDA5LTA5LTIyIDEyOjE2OjM3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBJbXByb3ZlIFBHUyBwYXJzaW5nCgkgIEltcHJvdmUgKHNsaWdodGx5KSB0aGUgaW50ZXJwcmV0YXRpb24gb2YgUEdTIHNldC13aW5kb3cgYmxvY2tzCgkgIHRvIGF2b2lkIHByaW50aW5nIHdhcm5pbmdzIGFib3V0IHVudXNlZCBieXRlcyB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZQoJICB3aW5kb3cgZGVmaW5pdGlvbnMuCgoyMDA5LTA5LTIyIDAxOjE2OjQ3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZHZkc3B1OiBGaXggcmVuZGVyaW5nIGFuZCBhZGQgZ3VhcmRzCgkgIEZpeCB0aGUgcmVuZGVyaW5nIHdoZW4gd2UgaGl0IHRoZSByaWdodCBoYW5kIHNpZGUgb2YgdGhlIGRpc3BsYXkKCSAgYXJlYSwgYnkgcmVzZXR0aW5nIHRvIHRoZSBjb3JyZWN0IFggY29vcmRpbmF0ZSwgYW5kIGFkZCBzb21lIG1vcmUKCSAgZ3VhcmRzIGFnYWluc3QgYmFkIFBHUyBkYXRhLgoKMjAwOS0wOS0wOCAwMDowMToyOCArMDMwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgdmlkZW9zaWduYWw6IGNoYW5nZSBwYXR0ZXJuIGRhdGEgdHlwZSB0byB1aW50NjQsIGFkZCBwcm9wZXJ0eSBhbmQgbWVzc2FnZSBmaWVsZAoJICBLZWVwcyB0aGUgb2xkIHVpbnQgdHlwZWQgdmFsdWUgc3VwcG9ydCBmb3IgY29tcGF0aWJpbGl0eS4KCjIwMDktMDktMDYgMDU6MzY6NDYgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogYWxsb3cgcGF0dGVybi1jb3VudCBwcm9wZXJ0eSB0byBiZSAwCgoyMDA5LTA5LTA0IDIyOjUwOjM0ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBzdXBwb3J0IGZvciBwYWNrZWQgWVVWIGZvcm1hdHMKCjIwMDktMDktMDQgMjI6MzA6MjcgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5oOgoJICB2aWRlb3NpZ25hbDogYWRkIHN1cHBvcnQgZm9yIGFsbCBwbGFuYXIgWVVWIGZvcm1hdHMsIHVzaW5nIGdzdHZpZGVvCgoyMDA5LTA5LTA2IDAyOjQ0OjA1ICswMzAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuYzoKCSAgdmlkZW9zaWduYWw6IGFkZCBib3VuZCBjaGVja3MKCjIwMDktMDktMDQgMTY6MjU6MDUgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICB2aWRlb3NpZ25hbDogcmVtb3ZlIHVudXNlZCBtYWNyb3MKCjIwMDktMDktMjYgMTc6MjM6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgZ3N0X2NhcHNfY2FuX2ludGVyc2VjdCgpIGJlY2F1c2UgaXQncyBmYXN0ZXIKCjIwMDktMDktMjYgMTc6MjE6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByc25hdWRpb2RlYzogVXNlIGdob3N0IHBhZHMgYW5kIGFsd2F5cyBmb3J3YXJkIGFwcGxpY2F0aW9uL3gtZ3N0LWR2ZCBldmVudHMgaW1tZWRpYXRlbHkKCSAgRml4ZXMgYnVnICM1ODI3NzkuCgoyMDA5LTA5LTI2IDE3OjE5OjMyICswMjAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJlc2luZHZkYmluOiBVc2UgYXV0b2NvbnZlcnQgaW4gcnNuYXVkaW9kZWMgYW5kIGJ1aWxkIGEgbGlzdCBvZiBwb3NzaWJsZSBkZWNvZGVycwoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICM1ODI3NzkuCgoyMDA5LTA5LTI1IDE2OjU0OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBiYXNlcGFyc2U6IHN5bmMgYmFzZXBhcnNlIGNoYW5nZQoKMjAwOS0wOS0yNSAxNzowMjo1MyArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFhY3BhcnNlOiBmb3JlZ28gKGJvZ3VzKSBwYXJzaW5nIG9mIGFscmVhZHkgcGFyc2VkIChyYXcpIGlucHV0CgoyMDA5LTA5LTI1IDExOjA3OjAyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSBuZXcgc2luZ2xlIGl0ZXJhdG9yIGZvciB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkcwoJICBUaGlzIGZpeGVzIGEgZGVhZGxvY2sgYW5kIHJlbW92ZXMgc29tZSB1c2VsZXNzIGNvZGUuCgoyMDA5LTA5LTI1IDExOjA0OjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yc25zdHJlYW1zZWxlY3Rvci5jOgoJICByc25zdHJlYW1zZWxlY3RvcjogVXNlIG5ldyBzaW5nbGUgb2JqZWN0IGl0ZXJhdG9yIGZvciB0aGUgaW50ZXJuYWxseSBsaW5rZWQgcGFkcwoJICBUaGlzIHByZXZlbnRzIGFuIHVnbHkgZGVhZGxvY2suCgoyMDA5LTA5LTI1IDEwOjUwOjMxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICByZXNpbmR2ZGJpbjogRG9uJ3QgYmxvY2sgdGhlIGV4dGVybmFsIGdob3N0IHBhZHMgYnV0IG9ubHkgdGhlaXIgdGFyZ2V0cwoKMjAwOS0wOS0yNCAxMToyNjoyOSAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJICBjb2c6IHVzZSBCVUlMVF9TT1VSQ0VTIGluc3RlYWQgb2YgdGVtcCBsaWJyYXJ5CgoyMDA5LTA5LTIzIDEyOjMyOjU0ICswMjAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuYzoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIEZpeCB3YXJuaW5ncyB3aXRoIGdjYyA0LjAuMS4KCjIwMDktMDktMjIgMTI6MjU6MTMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgYWdhaW4KCjIwMDktMDktMjIgMTM6NDQ6MTQgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFJldmVydCAiTFYyIHByZXNldCBzdXBwb3J0LiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCBjOTVmNTljZDJkYzEyOTg5OWIzN2ZlY2FhNTJjODlkYjNkOGE1ZWY4LgoKMjAwOS0wOS0yMiAxMzo0Mzo1NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgUmV2ZXJ0ICJGaXggcHJvcGVydHkgaW5kZXggd2hlbiBzZXR0aW5nIHByZXNldC4iCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMGE2YjIyYjE5MTdhZjhhODlkYjE5ODFhMGY1ZGYzZGNlZTc4YjFkZC4KCjIwMDktMDktMjIgMTM6MjM6MjUgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkgIGNvZzogZml4IHRoZSBidWlsZAoJICBBZGQgYSB1bmluc3RhbGxlZCBjb252aW5pZW5jZSBsaWJ0b29sIGxpYnJhcnkgY29udGFpbmluZyB0aGUgZ2VuZXJhdGVkIHNvdXJjZXMuCgkgIEFkZCB0aGF0IGFzIGEgZGVwZW5kZW5jeSB0byB0aGUgcGx1Z2luLgoKMjAwOS0wOC0xNyAxNzoyMTo0MSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgRml4IHByb3BlcnR5IGluZGV4IHdoZW4gc2V0dGluZyBwcmVzZXQuCgoyMDA5LTA4LTE3IDE3OjA2OjQwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBMVjIgcHJlc2V0IHN1cHBvcnQuCgoyMDA5LTA5LTIyIDA4OjExOjM2ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5oOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkgIHBubTogSGFuZGxlIEFTQ0lJIGVuY29kZWQgUE5NIGRhdGEgdGhhdCBpcyBzcGxpdCBvdmVyIG11bHRpcGxlIGJ1ZmZlcnMKCSAgQWxzbzoKCSAgLSB1bnJlZiBidWZmZXJzIGFmdGVyIGdzdF9idWZmZXJfc3BhbgoJICAtIGZpeCBzY2FubmluZyBvZiBoZWFkZXIgaWYgaGVhZGVyIGRhdGEgaXMgc3BsaXQgb3ZlciBzZXZlcmFsIGJ1ZmZlcnMKCSAgRml4ZXMgYnVnICM1OTU3MDAuCgoyMDA5LTA5LTIxIDExOjMzOjUwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvY29ndGFibGVzLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmg6CgkqIGV4dC9jb2cvZ2VuZXJhdGVfdGFibGVzLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSAgY29nOiBBZGQgcXVhbGl0eSBzZXR0aW5nIHRvIGNvZ3NjYWxlCgoyMDA5LTA5LTIxIDA5OjM1OjMwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nLm9yYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSAgY29nOiAocmUtKWltcGxlbWVudCAxLzIvNC10YXAgc2NhbGluZwoKMjAwOS0wOS0yMSAwOTozMDo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkgIGNvZzogRml4IHRoZSB2aXJ0dWFsIGZyYW1lIGxpbmUgY2FjaGUKCjIwMDktMDktMjEgMDk6NDk6MjMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBWQlIgcmVxdWlyZXMgY2VsdC0wLjYuMAoKMjAwOS0wOS0yMSAxMjowNjo1NSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IFNwZWNpZnkgdGhhdCBwc2kgdGFibGUgaXMgc3RhdGljIGNvbnN0LgoJICBUaGlzIGF2b2lkcyByZS1hbGxvY2F0aW5nIGl0IGV2ZXJ5IHNpbmdsZSB0aW1lIHdlIGdvIGludG8gaXQuCgkgIFJvdWdobHkgMTAlIHBlcmZvcm1hbmNlIGJvb3N0IGluIG92ZXJhbGwgdHNwYXJzZSBwcm9jZXNzaW5nIHRpbWUuCgoyMDA5LTA5LTIwIDE3OjUzOjI0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBSZXZlcnQgIm1wZWd0c3BhcnNlOiB1c2UgZml4ZWQgc2l6ZSBhcnJheSByYXRoZXIgdGhhbiBkeW5hbWljYWxseSBhbGxvY2F0aW5nIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGFlNzViNmYzNjY2NTEyODg3YWU1MjZmMTZhMWFkNDFiYmYyNTE3YWMuCgoyMDA5LTA5LTIwIDE1OjMwOjU5ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYXJzZTogdXNlIGZpeGVkIHNpemUgYXJyYXkgcmF0aGVyIHRoYW4gZHluYW1pY2FsbHkgYWxsb2NhdGluZwoKMjAwOS0wOS0yMCAxNToxODo0NiArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogcmVwbGFjZSBzdHJlYW1zIGhhc2h0YWJsZSB3aXRoIGFuIGFycmF5IG9mIHN0cmVhbXMKCjIwMDktMDktMjAgMTQ6MDg6NTAgKzAxMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IHVucmVmIGNhcHMgb24gZGlzcG9zZSwgcmVzZXQgcGFja2V0IHNpemUgb24gX3Jlc2V0CgoyMDA5LTA5LTIwIDEzOjE1OjE0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBtYWtlIHN1cmUgcGFja2V0c2l6ZSBpcyBzZXQgb24gY2FwcyBvZiBidWZmZXJzCgoyMDA5LTA5LTIwIDEyOjM4OjAwICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5oOgoJICBtcGVndHNwYXJzZTogZGV0ZWN0IHBhY2tldHNpemUgYW5kIGRvbid0IGp1c3QgYXNzdW1lIDE4OCBieXRlcy4KCjIwMDktMDktMTkgMTQ6MTA6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIGNlbHRlbmM6IEFkZCBjb21wbGV4aXR5LCBjYnIsIGFuZCBtYXgtYml0cmF0ZSBwcm9wZXJ0aWVzCgoyMDA5LTA5LTE5IDEzOjMyOjE5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NvZy9NYWtlZmlsZS5hbToKCSogZXh0L2NvZy9jb2cub3JjOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29nb3JjLmM6CgkqIGV4dC9jb2cvY29nb3JjLmg6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJICBjb2c6IGF1dG9nZW5lcmF0ZSBjb2RlLCBjb2xvcnNwYWNlIGltcHJvdmVtZW50cwoKMjAwOS0wOS0xOCAyMDoyNzo0NCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndmlydGZyYW1lLmM6CgkqIGV4dC9jb2cvZ3N0Y29nLmM6CgkqIGV4dC9jb2cvZ3N0Y29nY29sb3JzcGFjZS5jOgoJKiBleHQvY29nL2dzdGNvZ2Rvd25zYW1wbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2dmaWx0ZXIuYzoKCSogZXh0L2NvZy9nc3Rjb2dtc2UuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiByZW1vdmUgLy8gY29tbWVudHMKCjIwMDktMDktMTYgMjA6Mzk6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBEb24ndCB1c2UgR3N0SXRlcmF0b3IsIGRvIGNoYW5nZSBkZXRlY3Rpb24gb3Vyc2VsdmVzLgoJICBVc2luZyBhIEdzdEl0ZXJhdG9yIGlzIHNsb3cgYmVjYXVzZSB3ZSBoYXZlIHRvIGNyZWF0ZS9kZXN0cm95IHRoYXQKCSAgaXRlcmF0b3IgZXZlcnkgc2luZ2xlIHRpbWUuCgkgIFdlIGp1c3QgZG8gdGhlIHRocmVhZHNhZmUgY29va2llIGNoZWNrIGFuZCBsaXN0IGl0ZXJhdGlvbiBvdXJzZWx2ZXMuCgoyMDA5LTA5LTE1IDIzOjE4OjQzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogQXZvaWQgdHlwZS1jaGVja2luZyBjYXN0cyBpbiB0aWdodCBsb29wcwoKMjAwOS0wOS0xNSAyMzoxMjozMyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBNYWtlIG5leHRfcGFja2V0KCkgcmV0dXJuIGFuIGVudW0uCgkgIFRoaXMgYXZvaWRzIGNhbGxpbmcgYW4gZXh0cmEgZ3N0X2FkYXB0ZXJfYXZhaWxhYmxlKCkgaW4gYSB0aWdodCBsb29wLgoKMjAwOS0wOS0xNSAyMzoxMTowMSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFyc2U6IE1vcmUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zCgoyMDA5LTA5LTE1IDIwOjQ5OjM5ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogU3ByZWFkIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3JvcwoKMjAwOS0wOS0xNSAxOToxNjozNiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXI6IFJlZ2lzdGVyIGFuZCB1c2UgR1F1YXJrIGZvciBzdHJ1Y3R1cmVzLgoKMjAwOS0wOS0xNSAxODo1NzoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYWNrZXRpemVyOiBJbml0aWFsaXplIGRlYnVnZ2luZyBpbiBfZ2V0X3R5cGUKCSAgVGhlcmUncyBubyBuZWVkIGZvciBhbiBleHRyYSBmdW5jdGlvbiBzaW5jZSBhbGwgZGVidWdnaW4gd2lsbCByZXF1aXJlCgkgIGEgTXBlZ1RTUGFja2V0aXplciB3aGljaCBtZWFucyB0aGF0IHRoZSBHVHlwZSB3aWxsIGJlIGNyZWF0ZWQsIHRoZXJlZm9yZQoJICBtb3ZlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbiB0aGVyZS4KCjIwMDktMDktMTUgMjM6MDk6MjEgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFja2V0aXplcjogbWVtc2V0IHN0cnVjdHVyZSBpbnN0ZWFkIG9mIGluZGl2aWR1YWxseSBzZXR0aW5nIGZpZWxkcyB0byAwCgoyMDA5LTA5LTE1IDIzOjA4OjEzICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXI6IFJlbW92ZSBnX3JldHVybl9pZl9mYWlsCgkgIEl0J3Mgb3ZlcmtpbGwgZm9yIGNvZGUgb25seSB1c2VkIGJ5IG9uZSBlbGVtZW50LgoKMjAwOS0wOS0xNSAxOTo0NDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhY2tldGl6ZXIvcGFyc2U6IERvbid0IHVzZSBnc3Rfc3RydWN0dXJlX3RvX3N0cmluZygpIGZvciBkZWJ1Z2dpbmcuCgkgIFRoZXJlJ3MgR1NUX1BUUl9GT1JNQVQgZm9yIHRoYXQsIGFuZCB0b28gYmFkIGZvciB0aGUgc3lzdGVtcyB0aGF0IGRvbid0IGhhdmUKCSAgc3VwcG9ydCBmb3IgdGhhdC4gSXQganVzdCBjb3N0cyB0b28gbXVjaCBjcHUuCgoyMDA5LTA5LTE1IDE5OjAwOjMwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWd0c3BhcnNlLy5naXRpZ25vcmU6CgkqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmM6CgkqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZW1hcnNoYWwubGlzdDoKCSAgZ3N0OiBSZW1vdmUgZGVhZCBtcGVndHNwYXJzZSBkaXJlY3RvcnkuCgkgIFRoaXMgd2FzIHNlcmlvdXNseSBjb25mdXNpbmcuIEFsc28sIHRoZSBjb2RlIGlzIGluIGdzdC9tcGVnZGVtdXgvCgoyMDA5LTA5LTE4IDE0OjI1OjQ5IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvY29nL01ha2VmaWxlLmFtOgoJKiBleHQvY29nL2NvZy5oOgoJKiBleHQvY29nL2NvZ2ZyYW1lLmM6CgkqIGV4dC9jb2cvY29ndXRpbHMuaDoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuYzoKCSogZXh0L2NvZy9jb2d2aXJ0ZnJhbWUuaDoKCSogZXh0L2NvZy9nc3Rjb2cuYzoKCSogZXh0L2NvZy9nc3Rjb2djb2xvcnNwYWNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZG93bnNhbXBsZS5jOgoJKiBleHQvY29nL2dzdGNvZ2ZpbHRlci5jOgoJKiBleHQvY29nL2dzdGNvZ21zZS5jOgoJKiBleHQvY29nL2dzdGNvZ3NjYWxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29ndXRpbHMuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5oOgoJKiBleHQvY29nL2dzdGNvbG9yY29udmVydC5jOgoJKiBleHQvY29nL2dzdGxvZ29pbnNlcnQuYzoKCSAgY29nOiBmaXhlcyB0byBtYWtlIGNvZyB3b3JrIGluc2lkZSAtYmFkCgoyMDA5LTA5LTE4IDE1OjA2OjU3IC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC92aWRlb21lYXN1cmUvTWFrZWZpbGUuYW06CgkgIHZpZGVvbWVhc3VyZTogZml4IGxpbmUgZW5kaW5ncwoKMjAwOS0wOS0xOCAxNTowNjozNiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJICB2aWRlb21lYXN1cmU6IGZpeCBkaXN0Y2hlY2sKCjIwMDktMDktMTcgMTg6MTY6MzUgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogcXVpZXQgZGVidWdnaW5nIG1lc3NhZ2UgaW4gbGFzdCBjb21taXQKCjIwMDktMDktMTcgMTg6MTU6MjggLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2VuYy5jOgoJICBzY2hyb2VuYzogS2VlcCB0cmFjayBvZiBncmFudWxlIG9mZnNldAoKMjAwOS0wOC0zMSAxMDozNjo0NiAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9jb2cvTWFrZWZpbGUuYW06CgkqIGV4dC9jb2cvY29nZnJhbWUuYzoKCSogZXh0L2NvZy9jb2dmcmFtZS5oOgoJKiBleHQvY29nL2NvZ29yYy5jOgoJKiBleHQvY29nL2NvZ29yYy5oOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5jOgoJKiBleHQvY29nL2NvZ3ZpcnRmcmFtZS5oOgoJKiBleHQvY29nL2dzdGNvZy5jOgoJKiBleHQvY29nL2dzdGNvZ2NvbG9yc3BhY2UuYzoKCSogZXh0L2NvZy9nc3Rjb2dkb3duc2FtcGxlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nZmlsdGVyLmM6CgkqIGV4dC9jb2cvZ3N0Y29nbXNlLmM6CgkqIGV4dC9jb2cvZ3N0Y29nc2NhbGUuYzoKCSogZXh0L2NvZy9nc3Rjb2d1dGlscy5jOgoJKiBleHQvY29nL2dzdGNvZ3V0aWxzLmg6CgkqIGV4dC9jb2cvZ3N0Y29sb3Jjb252ZXJ0LmM6CgkqIGV4dC9jb2cvZ3N0bG9nb2luc2VydC5jOgoJICBDb3B5IGNvZyBwbHVnaW4gYW5kIHZpZGVvIGxpYnJhcnkgZnJvbSBjb2cgcHJvamVjdAoKMjAwOS0wOS0xNyAxNjo1NDo1NyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZGVjLmM6CgkgIHNjaHJvZGVjOiBGaXggcmVzeW5jIGJ1ZyBkdWUgdG8gYWRhcHRlciBBUEkgY2hhbmdlCgkgIGdzdF9hZGFwdGVyX21hc2tlZF9zY2FuX3VpbnQzMigpIGNoYW5nZWQgc2xpZ2h0bHkgZnJvbSB3aGVuCgkgIHRoaXMgZWxlbWVudCB3YXMgaW4gU2Nocm9lZGluZ2VyLiAgT29wcy4KCjIwMDktMDktMTcgMTY6NTc6MTYgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2RlY29kZXIuYzoKCSAgYmFzZXZpZGVvOiBkZWJ1ZyBhdCBuZXcgc2VnbWVudCBldmVudHMKCjIwMDktMDktMTcgMTY6NTQ6MTQgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBTZXQgRElTQ09OVCBvbiBidWZmZXJzCgoyMDA5LTA5LTE3IDEwOjUwOjQwIC0wNzAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkgIGJhc2V2aWRlbzogQWRkIGEgd2FybmluZwoKMjAwOS0wOS0xNyAxMDo0OToxMyAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHRlbmM6IGRvbid0IGxpbWl0IGJpdCByYXRlCgoyMDA5LTA5LTE3IDA5OjM4OjAyICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJICBwbm06IEFkZCBBU0NJSSBkZWNvZGluZyBzdXBwb3J0CgkgIC4uLmFuZCBtYWtlIHRoZSBBU0NJSSBvdXRwdXQgb2YgdGhlIGVuY29kZXIgYSBiaXQgbW9yZSBwcmV0dHkuCgkgIEZpeGVzIGJ1ZyAjNTk1NDA5LgoKMjAwOS0wOS0xNyAwOTozNTowMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIHBubTogUmVtb3ZlIHRoZSBleHBlcmltZW50YWwgc3RhdHVzIGZyb20gdGhlIHBubSBwbHVnaW4KCjIwMDktMDgtMTQgMTg6MDg6NTYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE1vcmUgdG9sZXJhdGUgcG9ydCBncm91cCBzdXBwb3J0LCBwbHVnaW4gY2xlYW51cC4KCSAgR3JhY2VmdWxseSBoYW5kbGUgcGx1Z2lucyB3aXRoIGlsbGVnYWwgZ3JvdXBzIHRoYXQgY29udGFpbiBubyBzeW1ib2wgYnkKCSAgdHJlYXRpbmcgcG9ydHMgaW4gdGhhdCBncm91cCBub3JtYWxseSAoaS5lLiBhcyBpZiB0aGV5IHdlcmVuJ3QgcGFydCBvZiBhCgkgIGdyb3VwKS4gIFRoZSBwb3J0IGdyb3VwcyBzcGVjIG1hbmRhdGVzIHRoYXQgZ3JvdXBzIGhhdmUgYSB2YWxpZCB1bmlxdWUKCSAgc3ltYm9sLCBidXQgcGx1Z2lucyBhcmVuJ3QgcGVyZmVjdC4uLgoJICBNYWtlIChjb25jZXB0dWFsbHkpIHN0YXRpYyBwbHVnaW4gdmFyaWFibGVzIGFjdHVhbGx5IChDKSBzdGF0aWMsCgkgIGFuZCBjbGVhbiB1cCBTTFYyIHJlbGF0ZWQgdGhpbmdzIHdpdGggYSBHQ0Mgc2hhcmVkIGxpYnJhcnkgZGVzdHJ1Y3RvciwKCSAgaWYgR0NDIGlzIGluIHVzZS4KCjIwMDktMDgtMTIgMDE6MDc6NTcgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkgIE1ha2UgbW9ubyB3YXJuaW5nIHZpc2libGUgaW4gcHVibGljIGRvY3VtZW50YXRpb24uCgoyMDA5LTA4LTEyIDAxOjAzOjMyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICBNdWx0aS1jaGFubmVsIHN1cHBvcnQgd2l0aCBjaGFubmVsIHBvc2l0aW9ucy4KCSAgVGhpcyBxdWVyaWVzIHBvcnQgcm9sZXMgZnJvbSB0aGUgTFYyIGRhdGEgYW5kIGNvbnZlcnRzIGl0IGludG8gR1N0cmVhbWVyCgkgIGNoYW5uZWwgcG9zaXRpb25zLiAgVGhpcyBzaG91bGQgYWxsb3cgYW55IHR5cGUgb2YgbXVsdGktY2hhbm5lbCBwbHVnaW4KCSAgKGluY2x1ZGluZyBiZXlvbmQgc3RlcmVvLCBlLmcuIHN1cnJvdW5kKSB0byB3b3JrIGZpbmUgaW4gR1N0cmVhbWVyLAoJICBhbmQgd2l0aCBlbGVtZW50cyB0aGF0IHJlcXVpcmUgY2hhbm5lbCBwb3NpdGlvbnMgdG8gYmUgZXhwbGljaXRseSBzdGF0ZWQuCgoyMDA5LTA4LTEwIDIzOjEyOjI0IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgTFYyIGVsZW1lbnQuCgoyMDA5LTA4LTEwIDIzOjA0OjQ3IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBGaXggdHlwbyBpbiBMQURTUEEgZWxlbWVudCBkb2N1bWVudGF0aW9uLgoKMjAwOS0wNy0yMSAxNTo0NTowNiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIFNMVjIgZGVwZW5kZW5jeSB0byAwLjYuNi4KCjIwMDktMDctMTAgMjE6NTI6MzAgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvY2FsZi1sdjItcG9ydC1ncm91cHMucGF0Y2g6CgkqIGV4dC9sdjIvc3doLWx2Mi1wb3J0LWdyb3Vwcy5wYXRjaDoKCSAgQWRkIHN3aCBhbmQgY2FsZiBMVjIgcG9ydCBncm91cCBwYXRjaGVzLgoKMjAwOS0wNy0wMyAyMDowMDoxMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSogZ3N0LWxpYnMvZ3N0L3NpZ25hbHByb2Nlc3Nvci9nc3RzaWduYWxwcm9jZXNzb3IuaDoKCSAgV29ya2luZyBtdWx0aS1jaGFubmVsIHBhZHMgZm9yIExWMiBwbHVnaW5zLgoKMjAwOS0wNi0yNyAwMDoyNTozOCAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgQWxsb2NhdGUgYSBzdGF0aWMgcHJlZGljYXRlIGZvciBwZzppbkdyb3VwLgoKMjAwOS0wNi0yNSAxNzoyNTo1MiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgT25seSBhbGxvY2F0ZSBsdjI6aW5QbGFjZUJyb2tlbiBwcmVkaWNhdGUgb25jZS4KCjIwMDktMDYtMjUgMTU6MTA6MjQgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIEVsaW1pbmF0ZSB1c2Ugb2Ygc3RhdGljIG1vbm8gcGFkIHRlbXBsYXRlLgoKMjAwOS0wNi0yNSAxNTowNzowNSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSAgU2VwYXJhdGUgcG9ydCBkaXNjb3ZlcnkgZnJvbSBwYWQgdGVtcGxhdGUgY3JlYXRpb24uCgkgIFRoaXMgZmlyc3QgY291bnRzIHBvcnRzICh1c2luZyB0aGUgYnVpbHRpbiBzbHYyIGZ1bmN0aW9ucyB0byBkbyBzbwoJICByYXRoZXIgdGhhbiBtYW51YWxseSBhcyBiZWZvcmUpLCB0aGVuIGNyZWF0ZXMgZGVzY3JpcHRvcnMgZm9yIGVhY2ggcG9ydAoJICBhbmQgZmluZHMgYWxsIHBvcnQgZ3JvdXBzLiAgT25seSB0aGVuIGFyZSBwYWQgdGVtcGxhdGVzIGNyZWF0ZWQgKHRvd2FyZHMKCSAgdXNpbmcgZ3JvdXAgaW5mb3JtYXRpb24gZm9yIGNyZWF0aW5nIG11bHRpLWNoYW5uZWwgcGFkcykuCgoyMDA5LTA2LTI1IDEyOjM0OjAzIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBVc2Ugc2lsbHkgZ2xpYiB0eXBlcyA6KS4KCjIwMDktMDYtMjAgMTk6NTI6MjYgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGV4dC9sdjIvZ3N0bHYyLmM6CgkqIGV4dC9sdjIvZ3N0bHYyLmg6CgkgIFF1ZXJ5IGFuZCBzdG9yZSBwb3J0IGdyb3VwIGluZm9ybWF0aW9uLgoJICBSZXBsYWNlIHBvcnQgaW5kZXggYXJyYXlzIHdpdGggYSBzdHJ1Y3QgZm9yIGhvbGRpbmcgbW9yZSBpbmZvcm1hdGlvbgoJICB0aGFuIGp1c3QgaW5kaWNlcyAoZS5nLiBncm91cHMpLgoKMjAwOS0wNS0yNSAyMjoxNTo1NiAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSAgV29ya2luZyBiYXNpYyBMVjIgc2lnbmFsIHByb2Nlc3NpbmcuCgkgIExWMiBwbHVnaW5zLCBzaG9ydCBvZiBhbnkgc3VycHJpc2VzLCBzaG91bGQgd29yayB3aXRoIHRoZSBzYW1lIGJhc2ljCgkgIGZ1bmN0aW9uYWxpdHkgYXMgTEFEU1BBIHBsdWdpbnMuCgoyMDA5LTA1LTI1IDIwOjQzOjEwIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBTZXQgY2xhc3MgaW5QbGFjZUJyb2tlbiBwcm9wZXJ0eS4KCjIwMDktMDktMTcgMDk6NDM6MzcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICBkb2NzOiBmaXggZXhhbXBsZSBhbmQgbWVudGlvbiBkaWZmZXJlbmNlIHRvIHZvcmJpc2RlYwoKMjAwOS0wOS0wMiAxMToxMToyMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXU6IEZpeCBib2d1cyBjaGVjayBiZWZvcmUgdW5yZWZmaW5nCgoyMDA5LTA5LTAxIDE5OjQ4OjQzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZkcGF1OiBGaXggcGtnLWNvbmZpZyB0ZXN0CgkgIElmIHRoZSBwa2ctY29uZmlnIGNoZWNrIGRvZXNuJ3Qgc3VjY2VlZCwgdGVzdCB3aXRoIHRoZSBvbGQgbWV0aG9kCgkgIGluc3RlYWQgb2YgYmFpbGluZyBvdXQgb2YgY29uZmlndXJlIHdpdGggYW4gZXJyb3IuCgoyMDA5LTA4LTIwIDAwOjE2OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogaGFuZGxlIHBpeGVsLWFzcGVjdC1yYXRpbyBiZXR0ZXIKCSAgdGhlIGltcGxlbWVudGF0aW9uIGlzIG5vdCBlbnRpcmVseSBjb3JyZWN0IHNpbmNlIHdlIGFzc3VtZSB0aGF0IHRoZSBzaW5rCgkgIGVsZW1lbnQncyBwaXhlbC1hc3BlY3QtcmF0aW8gaXMgMS8xCgoyMDA5LTA4LTE5IDIyOjUyOjM0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogcmVtb3ZlIHBhciBmcm9tIGNhcHMgc2luY2Ugd2UgZG9uJ3QgaGFuZGxlIGl0IHlldAoKMjAwOS0wOC0xOSAyMjo0MDo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGRvbid0IHJlbW92ZSBpbnRlcmxhY2VkIGZsYWcgaW4gdmlkZW9fdG9fb3V0cHV0X2NhcHMoKQoKMjAwOS0wOC0xOSAyMjoyMzoxNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIGludmVyc2UtdGVsZWNpbmUgcHJvcGVydHkKCjIwMDktMDgtMTkgMjI6MDM6MTEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IGZpeCBub2lzZS1yZWR1Y3Rpb24gcHJvcGVydHkgZ2V0dGVyCgoyMDA5LTA4LTE5IDIyOjAyOjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc2hhcnBlbmluZyBwcm9wZXJ0eQoKMjAwOS0wOC0xNyAyMzo0Mjo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwYXU6IHJlbW92ZSBnc3RfdmRwX2RldmljZV9uZXcgZnJvbSBoZWFkZXIKCjIwMDktMDgtMTcgMjM6NDI6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwc2luay5jOgoJICB2ZHBhdXNpbms6IGZpeCBlcnJvciBoYW5kbGluZyBpZiBnc3RfdmRwX2dldF9kZXZpY2UgcmV0dXJucyBOVUxMCgoyMDA5LTA4LTE3IDIzOjM5OjUyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogYWRkIGJhY2sgdmRwYXVzaW5rIGFuZCB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MKCjIwMDktMDgtMTcgMjM6Mzk6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSAgdmRwZGV2aWNlOiBmaXggZXJyb3IgaGFuZGxpbmcgYW5kIHRocmVhZHNhZmV0eQoJICByZXR1cm4gTlVMTCBpbmNhc2Ugb2YgaW5pdGFsaXphdGlvbiBlcnJvcnMgYW5kIGd1YXJkIGhhc2h0YWJsZSBhY2Nlc3Mgd2l0aCBhIG11dGV4CgoyMDA5LTA3LTE3IDIyOjUwOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBnZXQgY29ycmVjdCBudW1iZXIgb2YgbmVlZGVkIGZyYW1lcyBpZiB3ZSdyZSBkb2luZyBub2lzZSByZWR1Y3Rpb24KCjIwMDktMDctMTcgMjI6NDg6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGluZGVudCBmaXgKCjIwMDktMDctMTUgMjA6MTg6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBnc3RfYnl0ZV9yZWFkZXJfbWFza2VkX3NjYW5fdWludDMyIHVzYWdlCgoyMDA5LTA3LTA0IDE5OjQ4OjQyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlcG9zdHByb2Nlc3M6IHJlbW92ZSBib29sZWFuIG5vaXNlLXJlZHVjdGlvbiBwcm9wZXJ0eQoJICBVc2UgdGhlIGZsb2F0IG9uZSB0byBkZXRlcm1pbmUgaWYgd2Ugc2hvdWxkIGVuYWJsZSBub2lzZSByZWR1Y3Rpb24gb3Igbm90CgoyMDA5LTA3LTA0IDE1OjQ2OjAyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkgIHZkcGF1dmlkZW9wb3N0cHJvY2VzczogYWRkIHN1cHBvcnQgZm9yIG5vaXNlIHJlZHVjdGlvbgoKMjAwOS0wNy0wNCAxMzo1OTozNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvcG9zdHByb2Nlc3MuaDoKCSAgdmRwYXV2aWRlb3Bvc3Rwcm9jZXNzOiBhZGQgc3VwcG9ydCBmb3IgZGVpbnRlcmxhY2luZwoJICBUaGUgY29kZSBpcyByb3VnaGx5IG1vZGVsZWQgYWZ0ZXIgdGhlIGRlaW50ZXJsYWNlIHBsdWdpbgoKMjAwOS0wNy0wMiAxNzoxMToxMCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBzaW5rLmg6CgkgIHZkcGF1c2luazogYWRkIG15c2VsZiB0byBjb3B5cmlnaHQKCjIwMDktMDctMDIgMTQ6MDE6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9wb3N0cHJvY2Vzcy5jOgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3M6IHMvZ3N0X3ZkcF92cHBfc2V0X2NhcHMvZ3N0X3ZkcF92cHBfc2lua19zZXRjYXBzCgoyMDA5LTA3LTAxIDIzOjEyOjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZ3N0X2J5dGVfcmVhZGVyX21hc2tlZF9zY2FuX3VpbnQzMiBpbnN0ZWFkIG9mIG91ciBvd24gdmVyc2lvbgoKMjAwOS0wNy0wMSAwMDoyMDozMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiB1c2UgR19OX0VMRU1FTlRTIGluc3RlYWQgb2YgaGFyZGNvZGluZyBhcnJheSBzaXplcwoKMjAwOS0wNy0wMSAwMDoxMzoxNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IHVzZSBHX05fRUxFTUVOVFMgaW5zdGVhZCBvZiBOVUxMIHRlcm1pbmF0aW5nIGFycmF5CgoyMDA5LTA2LTMwIDIzOjU1OjEzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwb3V0cHV0YnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBvdXRwdXRidWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHNpbmsuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3Bvc3Rwcm9jZXNzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSAgdmRwYXU6IGFkZCBuZXcgdmRwYXVzaW5rIGFuZCB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgZWxlbWVudHMKCSAgdmRwYXVzaW5rIGlzIGFzIHRoZSBuYW1lIGltcGxpZXMgYSBzaW5rIHdoaWNoIHRha2VzIHZpZGUveC12ZHBhdS1vdXRwdXQgYnVmZmVycwoJICBhbmQgb3V0cHV0cyBpdCB0byB0aGUgc2NyZWVuLgoJICB2ZHBhdXZpZGVvcG9zdHByb2Nlc3MgaXMgYW4gZWxlbWVudCB3aGljaCB0YWtlcyB2aWRlby94LXZkcGF1LXZpZGVvIGJ1ZmZlcnMgYW5kCgkgIG91dHB1dHMgdmlkZW8veC12ZHBhdS1vdXRwdXQgYnVmZmVycy4gVGhlIGVsZW1lbnQgY2FuIGFsc28gZG8gdGhpbmdzIGxpa2UKCSAgZGVpbnRlcmxhY2luZyBhbmQgb3RoZXIgcG9zdHByb2Nlc3NpbmcgYnV0IHRoaXMgaXMgbm90IGltcGxlbWVudGVkIHlldC4KCjIwMDktMDYtMjkgMjI6NTA6NDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIHZkcGF1OiBjaGVjayBmb3IgdmRwYXUgd2l0aCBwa2ctY29uZmlnIGZpcnN0CgoyMDA5LTA2LTI0IDE3OjUxOjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIHZkcGF1OiBzcGxpdCBnc3RfdmRwX21wZWdfZGVjX3Jlc2V0IGludG8gc3RhcnQgYW5kIHN0b3AKCjIwMDktMDYtMjQgMTE6MzY6MjggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHV0aWxzLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiBkb24ndCBwdXQgdGhlIEdzdFZkcERldmljZSBpbiB0aGUgY2FwcwoKMjAwOS0wNi0yMyAyMzowMzo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBWaWRlb1lVViBpbXBsZW1lbnQgcGFkX2FsbG9jCgkgIGFsc28gY2hhbmdlIEdzdFZkcE1wZWdEZWMgYW5kIEdzdFZkcFlVVlZpZGVvIHRvIG1ha2UgdXNlIG9mIHRoaXMKCjIwMDktMDYtMjMgMTc6MjY6MjIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogYWRkIHN1cHBvcnQgZm9yIFlVWTIKCjIwMDktMDYtMjMgMTc6MTY6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkgIHZkcGF1OiBhZGQgc3VwcG9ydCBmb3IgVVlWWQoKMjAwOS0wNi0yMyAxNjo1Nzo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGZhY3RvciBvdXQgY29tbW9uIGNhcHMgY2FsY3VsYXRpb24gYW5kIHB1dCBpdCBpbiBnc3R2ZHB1dGlscy5bY2hdCgoyMDA5LTA2LTIyIDIzOjI1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB1dGlscy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdXRpbHMuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJICB2ZHBhdTogcmVmYWN0b3IgR3N0VmRwVmlkZW9ZVVYgYW5kIEdzdFZkcFlVVlZpZGVvCgoyMDA5LTA2LTIyIDIyOjE3OjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5oOgoJICB2ZHBhdTogbWFrZSBHc3RWZHBZVVZWaWRlbyBpbmhlcml0IGZyb20gR3N0QmFzZVRyYW5zZm9ybQoKMjAwOS0wNi0yMiAxMTowMDo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5jOgoJICB2ZHBhdTogZml4dXAgc29tZSBkZWJ1ZyBwcmludHMKCjIwMDktMDYtMjIgMTA6NTc6MjUgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkgIHZkcGF1OiBtYWtlIEdzdFZkcFZpZGVvWVVWIGluaGVyaXQgZnJvbSBHc3RCYXNlVHJhbnNmb3JtCgoyMDA5LTA5LTE2IDA4OjIyOjE5ICswMjAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJKiBnc3QvcG5tL2dzdHBubWRlYy5jOgoJKiBnc3QvcG5tL2dzdHBubWVuYy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmM6CgkqIGdzdC9wbm0vZ3N0cG5tdXRpbHMuaDoKCSAgcG5tOiBTdXBwb3J0IEFTQ0lJIGZvcm1hdCBmb3IgZW5jb2RpbmcgYW5kIGhhbmRsZSB1bnN1cHBvcnRlZCBmb3JtYXRzIGJldHRlciBpbiB0aGUgZGVjb2RlcgoJICBGaXhlcyBidWcgIzU5NTIxNS4KCjIwMDktMDktMTUgMjM6MzI6MDYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogSGFuZGxlIGJhc2VfdGltZSB3aGVuIHNlbmRpbmcgc2VnbWVudCB1cGRhdGVzLgoJICBEb24ndCBzZW5kIGJvZ3VzIG5ldyBzZWdtZW50IHVwZGF0ZSBldmVudHMgd2hlbiB0aGUgc3RyZWFtIGRvZXNuJ3QKCSAgc3RhcnQgYXQgMC4gRml4ZXMgYnJva2VuIHNlZWtpbmcgaW4gc29tZSBmaWxlcy4KCSAgRml4ZXM6ICM1OTQ4MTIKCjIwMDktMDgtMTggMTM6MzU6NTkgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ3RzZGVtdXgsIG1wZWd0c3BhcnNlOiBtYXggc2VjdGlvbiBsZW5ndGggaXMgNDA5MyBub3QgMTAyMS4KCjIwMDktMDgtMTggMDE6MDg6MDMgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgcGFkIGZvciBEVkIgU3VidGl0bGluZyBwYWRzCgoyMDA5LTA5LTEzIDE5OjM5OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogVXNlIGNvcnJlY3Qgcm93c3RyaWRlIGZvciA4IGJpdCBncmF5c2NhbGUgdG9vCgoyMDA5LTA5LTEzIDE5OjMzOjU3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogQ29ycmVjdGx5IGNvbnZlcnQgZnJvbS90byBHU3RyZWFtZXIgcm93c3RyaWRlCgoyMDA5LTA5LTEzIDE5OjE3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkgIHBubTogRml4IGNhcHMKCSAgOCBiaXQgZ3JheXNjYWxlIGNhcHMgaGF2ZSBubyBlbmRpYW5uZXNzIGZpZWxkIGFuZCB0aGUgY2FwcyBuYW1lCgkgIG9mIEdTVF9WSURFT19DQVBTX1JHQiBpcyBzdGlsbCAidmlkZW8veC1yYXctcmdiIiBhbmQgbm90IEdTVF9WSURFT19DQVBTX1JHQi4KCjIwMDktMDktMTMgMTk6MTM6MjQgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGdzdC9wbm0vZ3N0cG5tZGVjLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmM6CgkqIGdzdC9wbm0vZ3N0cG5tZW5jLmg6CgkgIHBubTogTG90cyBvZiBidWdmaXhlcwoJICAoMSkgRml4IGV4YW1wbGVzLgoJICAoMikgQWRkIHN1cHBvcnQgZm9yIGdyYXkgaW1hZ2VzLgoJICAoMykgUmVtb3ZlICJ1c2VfZml4ZWRfY2FwcyIgd2hpY2ggZG9lc24ndCBzZWVtIHRvIGJlIHVzZWZ1bC4KCSAgKDQpIERvIHByb3BlciBuZWdvdGlhdGlvbiBpbiB0aGUgZW5jb2Rlci4KCSAgKDUpIEZpeCBtZW1sZWFrIGluIHRoZSBzZXRjYXBzIGZ1bmN0aW9uIGluIHRoZSBlbmNvZGVyLgoJICAoNikgS2VlcCBhIGxpbmsgdG8gdGhlIHNyYyBwYWQgaW4gdGhlIGVuY29kZXIgbm93IHRoYXQgd2UgbmVlZCBpdCBtb3JlIG9mdGVuLgoJICBQYXJ0aWFsbHkgZml4ZXMgYnVnICMxNjQ4NzAuCgoyMDA5LTA5LTEyIDE4OjU3OjA1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBGaXggZmFjdG9yeSBpbmZvcm1hdGlvbiBmb3IgaDI2NHBhcnNlLCBhZGQgbWlzc2luZyBWaWRlbwoKMjAwOS0wOS0xMSAxNDozODo0NiAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBhaWZmcGFyc2U6IEZpeCBhbiBvZmYtYnktOCBidWcgaW4gcGFyc2luZyB0aGUgQUlGRiBkYXRhIHNpemUuCgkgIFRoaXMgbGVkIHRvIG92ZXJyZWFkaW5nIGJ5IDggYnl0ZXMsIGdpdmluZyBhbiBhdWRpYmxlIGdsaXRjaCBhdCB0aGUgZW5kIG9mCgkgIGEgZmlsZSAoZXhjZXB0IHdoZW4gdGhlIGZpbGUgZGlkbid0IGhhdmUgYSB0cmFpbGluZyBjaHVuayBvZiBzb21lIHNvcnQpLgoKMjAwOS0wOS0wOCAyMDo1MjowOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFVzZSBHU1RfVElNRV9GT1JNQVQgaW4gZGVidWcgc3RhdGVtZW50LgoKMjAwOS0wOS0wOCAwOToyMDowMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFJlc2V0IHN0cmVhbS0+bGFzdF90aW1lIHdoZW4gZmx1c2hpbmcuCgkgIFRoaXMgZml4ZXMgbmFpdmUgc2Vla2luZyBhIHRpbnkgYml0IChieSBiYXNpY2FsbHkgaGludGluZyBhdCBfZGF0YV9jYgoJICB0aGF0IGl0IHNob3VsZG4ndCBleHBlY3QgdGhlIGluY29taW5nIGJ1ZmZlcnMgdG8gYmUgdGhlIG9uZXMganVzdCBhZnRlcgoJICB0aGUgcHJldmlvdXMgb25lcykuCgkgIFdpdGhvdXQgdGhpcywgc2Vla2luZyBieSBtb3JlIHRoYW4gMTBtaW5zIGZvcndhcmQgd291bGQganVzdCBlbmQgdXAgaW4gYW4KCSAgZW5kbGVzcyBsb29wLgoKMjAwOS0wOS0wOCAwOToxODo0MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IFNwcmlua2xlIGJyYW5jaCBwcmVkaWN0aW9uIG1hY3Jvcy4KCjIwMDktMDktMTAgMTI6MTI6MjYgLTA3MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBXaGVuIHdyaXRpbmcgaWQzdjIuMywgZG8gbm90IHVzZSBVVEYtOC4KCSAgVVRGLTggaXMgb25seSBwZXJtaXR0ZWQgaW4gdjIuNC4gU28gaW5zdGVhZCB1c2UgSVNPLTg4NTktMSBmb3IgYXNjaWktb25seQoJICBzdHJpbmdzLCBhbmQgVVRGMTYgb3RoZXJ3aXNlLiBBbHNvLCBkbyBub3QgbnVsbCB0ZXJtaW5hdGUgc3RyaW5ncyBpbiB0ZXh0CgkgIGZyYW1lcywgZXhjZXB0IHdoZXJlIHJlcXVpcmVkLiBUaGVzZSB0d28gYWxsb3cgd2luZG93cyBtZWRpYSBwbGF5ZXIgdG8gcGxheQoJICAoYW5kIGNvcnJlY3RseSByZWFkIHRhZ3MpIGZpbGVzIGNyZWF0ZWQgYnkgaWQzbXV4LgoKMjAwOS0wNy0yMyAxNjoxMzoyOCAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGNvbXBsZXRlIGltYSBhZHBjbSBzdXBwb3J0LgoKMjAwOS0wNy0yMyAxMTo1OTozOSAtMDcwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3QvYWRwY21kZWMvYWRwY21kZWMuYzoKCSAgYWRwY21kZWM6IGNoZWNrcG9pbnQgZm9yIGluY29tcGxldGUgSU1BIEFEUENNIHN1cHBvcnQuCgoyMDA5LTA5LTEwIDEyOjAyOjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkgIHZpZGVvbWVhc3VyZTogRml4IGZvcm1hdCBzdHJpbmdzIGFuZCBpbmNsdWRlIGNvcnJlY3QgaTE4biBoZWFkZXIKCjIwMDktMDktMTAgMTE6NTg6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmUuaDoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX2NvbGxlY3Rvci5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9zc2ltLmM6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uaDoKCSAgdmlkZW9tZWFzdXJlOiBGaXggaW5kZW50aW9uLCBsaW5lIGVuZGluZ3MgYW5kIHVzZSBMUk4ncyByZWFsIG5hbWUKCjIwMDktMDktMDkgMTk6MTQ6MjcgKzA0MDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdmlkZW9tZWFzdXJlL01ha2VmaWxlLmFtOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5jOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZS5oOgoJKiBnc3QvdmlkZW9tZWFzdXJlL2dzdHZpZGVvbWVhc3VyZV9jb2xsZWN0b3IuYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfY29sbGVjdG9yLmg6CgkqIGdzdC92aWRlb21lYXN1cmUvZ3N0dmlkZW9tZWFzdXJlX3NzaW0uYzoKCSogZ3N0L3ZpZGVvbWVhc3VyZS9nc3R2aWRlb21lYXN1cmVfc3NpbS5oOgoJICB2aWRlb21lYXN1cmU6IEluaXRpYWwgdmVyc2lvbiBvZiB2aWRlb21lYXN1cmUgcGx1Z2luCgkgIFRoaXMgcGx1Z2luIGNvbnRhaW5zIGVsZW1lbnRzIGZvciBjYWxjdWxhdGluZyBtZXRyaWNzIG9mIHZpZGVvIHN0cmVhbXMsIGludGVuZGVkIGZvciBvYmplY3RpdmUgdmlkZW8gY29kZWMgY29tcGFyaXNvbi4KCSAgQXQgdGhlIG1vbWVudCBvbmx5IFNTSU0gbWV0cmljIGlzIGltcGxlbWVudGVkICh3aHkgd291bGQgeW91IG5lZWQgYW55dGhpbmcgZWxzZSBhbnl3YXk/KS4KCSAgQWxzbyBjb250YWlucyBhIGhlbHBlciB2aWRlb21lYXN1cmVfY29sbGVjdG9yIGVsZW1lbnQgdGhhdCBjb2xsZWN0cyBtZWFzdXJlbWVudCBldmVudHMgYW5kIG91dHB1dHMgdGhlbSBpbnRvIGEgZmlsZSAodG8gYmUgdXNlZCB3aXRoIGdzdC1sYXVuY2gpLgoJICBPdGhlciBtZXRyaWNzIG1heSBiZSBpbXBsZW1lbnRlZCBpbiB0aGUgZnV0dXJlIGFsb25nIHdpdGggYSBiYXNlIGNsYXNzIGZvciBhbGwgbWVhc3VyZXJzLgoJICBGaXhlcyBidWcgIzU5NDMyMS4KCjIwMDktMDktMTAgMDg6NTQ6MjMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBwbm06IE1hcmsgUE5NIHBsdWdpbiBhcyBleHBlcmltZW50YWwgYmVjYXVzZSBpdCBkb2Vzbid0IHdvcmsgd2VsbCB5ZXQKCjIwMDktMDktMTAgMDg6NTM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSAgcG5tZGVjOiBQYXJ0aWFsbHkgZml4IG5lZ290aWF0aW9uIGlzc3VlcyBhbmQgcmVmY291bnQgbGVha3MKCjIwMDktMDktMTAgMDg6NDg6MTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSAgcG5tZW5jOiBGaXggbmVnb3RpYXRpb24gaXNzdWVzIGFuZCByZWZjb3VudCBsZWFrcwoKMjAwOS0wOS0xMCAwODoyOTowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcG5tL2dzdHBubS5jOgoJICBwbm06IEZpeCB0eXBlZmluZGVyIGNhcHMKCjIwMDktMDktMTAgMDg6MjM6MjIgKzAyMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3BubS9NYWtlZmlsZS5hbToKCSogZ3N0L3BubS9nc3Rwbm0uYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuYzoKCSogZ3N0L3BubS9nc3Rwbm1kZWMuaDoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuYzoKCSogZ3N0L3BubS9nc3Rwbm1lbmMuaDoKCSogZ3N0L3BubS9nc3Rwbm11dGlscy5jOgoJKiBnc3QvcG5tL2dzdHBubXV0aWxzLmg6CgkgIHBubTogQWRkIFBOTSBlbmNvZGVyIGFuZCBkZWNvZGVyIGVsZW1lbnRzCgkgIEZpeGVzIGJ1ZyAjMTY0ODcwLgoKMjAwOS0wOS0xMCAwNzo1NjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yL01ha2VmaWxlLmFtOgoJICBzaWduYWxwcm9jZXNzb3I6IEZpeCB2YXJpb3VzIGJ1aWxkL2Rpc3QgaXNzdWVzCgkgIEluc3RhbGwgdGhlIGhlYWRlcnMsIHZlcnNpb24gdGhlIGxpYnJhcnkgd2l0aCBAR1NUX01BSk9STUlOT1JALAoJICBhZGQgYWxsIHJlcXVpcmVkIGxpYnJhcmllcyB0byBfTElCQUREIGluc3RlYWQgb2YgX0xERkxBR1MsCgkgIGFuZCBhZGQgR1NUXypfTERGTEFHUyB0byBfTERGTEFHUy4KCSAgRml4ZXMgYnVnICM1OTQ3MTUuCgoyMDA5LTA5LTA5IDE0OjM0OjAzICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGNhY2hlIGRldmljZSBjYXBzCgoyMDA5LTA5LTA5IDEyOjQxOjE3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHdpbjMyL3ZzOS9saWJnc3Rkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3ZpZGVvc3JjOiB1c2UgSUVudW1NZWRpYVR5cGVzIHdoZW4gSUFNU3RyZWFtQ29uZmlnIGlzIG5vdCB1c2FibGUKCSAgRm9yIHNvbWUgZGV2aWNlIGRyaXZlcnMgSUFNU3RyZWFtQ29uZmlnIGlzIG5vdCBzdXBwb3J0ZWQuCgkgIEJ1dCBFbnVtTWVkaWF0eXBlcyBkb2VzIG5vdCBwcm92aWRlIHJhbmdlIHNpemUgYW5kIGZyYW1lcmF0ZS4KCjIwMDktMDktMDYgMTE6NTA6MzkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2ZhYWMuYzoKCSAgZmFhYzogYWRkIHVuaXQgdGVzdAoKMjAwOS0wOS0wOCAyMjoyNDoxMiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkgIGZhYWM6IGFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMgZm9yIGRpc2NyZXBhbmN5IGNhc2VzIGFuZCBwbHVnIG1lbWxlYWsKCjIwMDktMDktMDYgMTE6NDk6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBzcHJpbmtsZSBzb21lIG1vcmUgR18oVU4pTElLRUxZCgoyMDA5LTA5LTA2IDExOjQ0OjI3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZW5mb3JjZSBzeW5jIGJldHdlZW4gd3JhcHBlciB2aWV3IG9mIGRhdGEgYW5kIGVuY29kZXIgcmV0dXJuZWQgZGF0YQoKMjAwOS0wOS0wNSAyMTozNTozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGFkZCBmYWFjIHRvIGRvY3VtZW50YXRpb24KCjIwMDktMDktMDUgMjE6MzU6MTkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJICBmYWFjOiBhZGQgc29tZSBkb2N1bWVudGF0aW9uCgoyMDA5LTA4LTMxIDE5OjMxOjU3ICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0c2VsZWN0b3I6IG1ha2UgR1NUX0ZPUk1BVF9USU1FIHRoZSBkZWZhdWx0IHNlZ21lbnQgZm9ybWF0CgoyMDA5LTA4LTMxIDE5OjMzOjUwICswMjAwICBIYXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyBidWcgIzU5NDI3OC4KCjIwMDktMDktMDggMTU6MTY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IHVzYWdlIG9mIF9fYWx3YXlzX2lubGluZV9fIGF0dHJpYnV0ZQoJICBUaGlzIGF0dHJpYnV0ZSBjYW4ndCBiZSB1c2VkIGZvciBmdW5jdGlvbiBkZWNsYXJhdGlvbnMgYmVjYXVzZQoJICBpdCBuZWVkcyB0aGUgZnVuY3Rpb24gYm9keS4gSW5zdGVhZCBvZiBhIGZvcndhcmQgZGVjbGFyYXRpb24gb2YKCSAgZnVuY3Rpb25zLCBtb3ZlIHRoZSBmdW5jdGlvbiBpdHNlbGYgYWJvdmUgaXQncyBmaXJzdCB1c2UuCgkgIEZpeGVzIGJ1ZyAjNTk0NDg5IGFuZCBjb21waWxhdGlvbiB3aXRoIGdjYyA0LjMgYW5kIGVhcmxpZXIuCgoyMDA5LTA5LTA3IDE3OjMzOjE1ICswMjAwICBNYXJjLUFuZHLDqSBMdXJlYXUgPG1sdXJlYXVAZmx1bW90aW9uLmNvbT4KCgkqIGV4dC9hc3NyZW5kZXIvZ3N0YXNzcmVuZGVyLmM6CgkgIGFzc3JlbmRlcjogRml4IGNvbXBpbGF0aW9uIHdpdGggbGliYXNzID0gMC45LjYKCSAgRml4ZXMgYnVnICM1OTQzODIuCgoyMDA5LTA5LTA3IDE5OjA4OjA4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogZml4IGFzcGVjdC1yYXRpbyBwYXJzaW5nIGluIFZPCgoyMDA5LTA5LTA3IDE2OjIwOjIzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIG1wZWc0dmlkZW9wYXJzZTogYWxzbyBjb25zaWRlciB1c2VyX2RhdGEgcGllY2VzIHdoZW4gcGFyc2luZyBWTyhTKQoKMjAwOS0wOS0wNyAxNjo0NDo1MiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiBhZGQgc3VwcG9ydCBib3RoIFVuaWNvZGUgYW5kIE1CQ1MKCjIwMDktMDktMDcgMTU6NDQ6MTYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogd2luMzIvdnM4L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzOS9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czkvbGliZ3N0ZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dzcmN3cmFwcGVyOiB1cGdyYWRlIGZyb3plbiBidWlsZCB0byB2czkKCjIwMDktMDktMDcgMTU6MjE6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudCBkc2hvd3NyY3dyYXBwZXIuY3BwCgoyMDA5LTA5LTA3IDE1OjEyOjU1ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmNwcDoKCSAgUmV2ZXJ0ICJkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSB1bnVzZWQgZXh0ZXJuIEMiCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgZDNjODhkNjM3ZDdlN2Q2MGYxNDM3Y2NkM2RmYzIzYjM3ZTJhMzIwZS4KCSAgUmV2ZXJ0aW5nIHRoaXMgc2luY2UgdGhlIGVudHJ5IHBvaW50IGlzbid0IGZvdW5kIGJlY2F1c2Ugb2YKCSAgQysrIGJ1aWxkLgoKMjAwOS0wOS0wNyAxMDo1OTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IGluZGVudAoKMjAwOS0wOS0wNyAxMDo1MToyOCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjb252ZXJ0IGxpbmUgZW5kZWQgY2hhcmFjdGVycyB0byBMRgoKMjAwOS0wOS0wNyAxMDozODozOSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVudXNlZCBleHRlcm4gQwoKMjAwOS0wOS0wNyAxMDozMTo1NCArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgZHNob3dzcmN3cmFwcGVyOiBnbyBiYWNrIHRvIHByZXZpb3VzIG1vZGUKCjIwMDktMDktMDUgMTA6MjI6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAwMGE4NTllIHRvIDE5ZmE0ZjMKCjIwMDktMDktMDQgMTk6MTc6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaS90aW1pZGl0eTogQWRkIGF1ZGlvL3JpZmYtbWlkaSB0byB0aGUgc3JjIHBhZCB0ZW1wbGF0ZSBjYXBzCgoyMDA5LTA5LTA0IDE3OjMyOjM0ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBzaXJlbjogZml4IHNldHRpbmcgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZAoJICBBbHNvIHNldCB0aGUgY2FwcyBvbiB0aGUgb3V0cHV0IHBhZCB3aGVuIHRoZSBpbnB1dCBidWZmZXJzIGRvbid0IGhhdmUgY2Fwcy4KCjIwMDktMDktMDQgMTc6Mjc6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBjbGVhbnVwcyBhbmQgZml4IHNlZWtpbmcKCSAgUmVtb3ZlIHRpbWVfcGVyX2ZyYW1lLCBpdCdzIHRvbyBpbmFjY3VyYXRlLgoJICBGaXggY29udmVydCBmb3IgLTEgdmFsdWVzLgoJICBVc2Ugc2NhbGluZyB0byBjb252ZXJ0IHNhbXBsZXMgdG8gdGltZS4KCSAgRml4IHNlZ21lbnQgaGFuZGxpbmcuCgkgIEZpeCBzZWVraW5nLgoJICBGaXggYnVmZmVyIGNsaXBwaW5nIChub3QgeWV0IGVuYWJsZWQpCgkgIFByb3RlY3QgdGhlIFdpbGRNaWRpIGxpYnJhcnkgd2l0aCB0aGUgb2JqZWN0IGxvY2sgdG8gYXZvaWQgcmFjZXMgd2hlbiBjaGFuZ2luZwoJICBwcm9wZXJ0aWVzLgoJICBGaXggb2Zmc2V0cyBvbiBvdXRwdXQgYnVmZmVycywgZm9yIHJhdyBhdWRpbyB0aGUgb2Zmc2V0IGNvbnRhaW5zIHRoZSBzYW1wbGUKCSAgcG9zaXRpb24gbm90IGJ5dGUgcG9zaXRpb24uCgkgIEFkZCBiZXR0ZXIgRElTQ09OVCBoYW5kbGluZy4KCSAgRml4ZXMgIzUxOTAwMQoKMjAwOS0wOS0wNCAxNjoyOTo1MyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIFZJREVPX1NUUkVBTV9DT05GSUdfQ0FQUyB0byBHc3RDYXB0dXJlUGluTWVkaWFUeXBlCgoyMDA5LTA5LTA0IDE0OjExOjMzICswMTAwICBjaHJpc3RpYW4gc2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJICBNZXJnZSBicmFuY2ggJ21hc3Rlcicgb2Ygc3NoOi8vdXJhZXVzQGdpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDktMDQgMTQ6MTA6NTUgKzAxMDAgIGNocmlzdGlhbiBzY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA5LTA0IDEzOjEzOjM5ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBuZW9uaHR0cHNyYzogaGFuZGxlIGFsbCByZWRpcmVjdGlvbiBodHRwIHN0YXR1cyBjb2RlcwoKMjAwOS0wOS0wNCAxMjo1MzozNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IGluIHNlZWtpbmcgdXNlIGEgZmFjdG9yIGZvciBTQ1IgaW50ZXJwb2xhdGlvbgoJICBGaXhlcyBzZWVraW5nIG9uIGNsaXBzIHdoZXJlIFBUUyBhcmUgdW5hbGlnbmRlZCB3aXRoIFNDUi4KCjIwMDktMDktMDQgMTI6NDA6NDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkgIHNpcmVuZGVjOiByZXdyaXRlIHNpcmVuZGVjCgkgIEFkZCBzZXRjYXBzIGFuZCBldmVudCBmdW5jdGlvbnMuCgkgIEFkZCBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb25zIHRvIGNsZWFuIHZhcmlhYmxlcy4KCSAgVXNlIGFkYXB0ZXIuCgkgIEFkZCB0aW1lc3RhbXBzIGFuZCBkdXJhdGlvbiBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBBZGQgRElTQ09OVCBoYW5kbGluZy4KCjIwMDktMDktMDQgMTI6NDA6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgc2lyZW5lbmM6IGNsZWFudXBzCgoyMDA5LTA5LTA0IDEyOjM1OjMxICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzZXQgc3BlY2lmaWMgY2FwcyBmb3IgbHBjbSBpbiBwcml2YXRlIHN0cmVhbQoJICBJbiB0aGUgY2xpcHMgdGhhdCBJJ3ZlIGZvdW5kIHRob3NlIHN0cmVhbXMsIHRoZSBscGNtIGhlYWRlciBpcwoJICBkaWZmZXJlbnQgdGhhbiB0aGUgRFZEIGNhc2UuCgkgIFRoZW4gdGhlIGRlY29kZXIgbmVlZCB0byBrbm93IHRoaXMgaW4gb3JkZXIgdG8gYmUgYWJsZSBwYXJzZSBpdC4KCjIwMDktMDktMDQgMTI6MzA6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogYWRkZWQgYXV0b2RldGVjdCBvZiBwYWNrZXQgc2l6ZSBhbmQgcmVtb3ZlZCBtMnRzIG1vZGUgcHJvcGVydHkKCjIwMDktMDktMDQgMTI6MDg6NDUgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA5LTA0IDEyOjA4OjAyICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBtb3ZlIGRlZmF1bHQgdmlkZW8gY2FwcyBpbnRvIEdzdENhcHR1cmVQaW5NZWRpYVR5cGUKCjIwMDktMDktMDQgMTI6MDI6MTggKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBzb21lIG1vcmUgaGFuZGxpbmcgb2YgVkMxIGFuZCBFQUMzCgkgIElmIHRoZSBQTVQgaGF2ZSB0aGUgcmVnaXN0ZXIgZGVzY3JpcHRvciBIRE1WIGFzc3VtZSBFQUMzCgkgIEZvciBWQzEgbWFrZSB0aGUgY29kZSBtb3JlIGFsaWduZWQgdG8gUlAyMjcuCgoyMDA5LTA3LTE2IDEwOjA2OjM2ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBUcnkgdG8gZml0IHN1YnRpdGxlcyB3aXRoaW4gdGhlIHZpZGVvIGZyYW1lIHdoZW4gdGhleSdyZSB0b28gbGFyZ2UKCjIwMDktMDktMDEgMjE6MzA6MzUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmg6CgkgIHBjYXBwYXJzZTogU2V0IHRoZSBHU3RyZWFtZXIgdGltZXN0YW1wIGFjY29yZGluZyB0byB0aGUgcGNhcCB0aW1lc3RhbXBzCgoyMDA5LTA5LTAzIDE5OjA0OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IGV2ZW50cyBhbmQgY2FwcwoJICBBZGQgYW4gZXZlbnQgZnVuY3Rpb24gdGhhdCBjbGVhcnMgdGhlIGFkYXB0ZXIuCgkgIEFkZCBhIHNldGNhcHMgZnVuY3Rpb24gdG8gY29uZmlndXJlIGNhcHMgb24gdGhlIHNyY3BhZC4gUmVtb3ZlIHRoZSBpbnN0YW5jZQoJICB2YXJpYWJsZSBmb3IgdGhlIGNhcHMuCgoyMDA5LTA5LTAzIDE4OjQzOjI2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBzaXJlbmVuYzogZml4IHRpbWVzdGFtcGluZwoJICBIYW5kbGUgRElTQ09OVCBhbmQgcmVzZXQgYWRhcHRlci4KCSAgY29kZSBjbGVhbnVwcy4KCSAgUHV0IHRpbWVzdGFtcHMgYW5kIGRpc2NvbnQgZmxhZ3Mgb24gb3V0cHV0IGJ1ZmZlcnMuCgkgIEZpeCBlcnJvciBoYW5kbGluZy4KCSAgUmVtb3ZlIGJvZ3VzIG9iamVjdCBsb2NrcywgaXQncyBhbGwgcHJvdGVjdGVkIGJ5IHRoZSBTVFJFQU1fTE9DSy4KCjIwMDktMDktMDMgMTc6NDk6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkgIGRzaG93dmlkZW9zcmM6IGZhY3Rvcml6ZSBkc2hvdyBmb3JtYXQgdG8gZ3N0IGNhcHMgY29udmVyc2lvbgoKMjAwOS0wOS0wMyAxNzoyMDo0NyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJICBkc2hvd3NyY3dyYXBwZXI6IHJlbW92ZSBjcGx1c3BsdXMgY29uZGl0aW9uCgoyMDA5LTA5LTAzIDE3OjEyOjI2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBmYWN0b3JpemUgZHNob3cgdmlkZW8gZm9ybWF0IHBhcnNpbmcKCjIwMDktMDktMDMgMTU6NDU6MDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSWYgc3RyZWFtIHR5cGUgaXMgQUMzIGFuZCBubyBFQUMzIGRlc2NyaXB0b3IgaXMgZm91bmQgYXNzdW1lIEFDMwoKMjAwOS0wOS0wMyAxNTo0MDoxNCArMDIwMCAgSm9zZXAgVG9ycmEgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJbXBsZW1lbnQgRUFDMyBoYW5kbGluZyBhY2NvcmRpbmcgc29tZSBBVFNDIHNwZWNzLgoJICBGaXhlcyBidWcgIzU5NDAzMC4KCjIwMDktMDktMDMgMDA6Mjg6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJICB4ZGdtaW1lOiBtb3ZlIHhkZyB0eXBlZmluZGVyIHRvIHRoZSBvdGhlciB0eXBlZmluZGVycyBpbiAtYmFzZQoJICBSZW1vdmUgdGhlIHhkZ21pbWUgcGx1Z2luIHdoaWNoIG5vdyBiYXJlbHkgY29udGFpbnMgYW55IGNvZGUgYXQgYWxsCgkgIGFuZCBtb3ZlIHRoZSBmdW5jdGlvbmFsaXR5IGludG8gZ3N0LXBsdWdpbnMtYmFzZSBuZXh0IHRvIHRoZSBvdGhlcgoJICB0eXBlZmluZGVycy4KCjIwMDktMDktMDIgMTM6MzU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3NtdXgsIG1wZWdwc211eDogZml4IHVudXNlZCB2YXJpYWJsZSB3YXJuaW5nIHdpdGggdGhlIGRlYnVnZ2luZyBzeXN0ZW0gaW4gY29yZSBkaXNhYmxlZAoKMjAwOS0wOS0wMSAxMjo0MToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBTdHJlYW0gdHlwZSAweDgxIGlzIG5vcm1hbCBBQzMsIG5vdCBFQUMzCgkgIE5vdCBzdXJlIHdoYXQgdGhlIHN0cmVhbSB0eXBlIGZvciBFQUMzIGlzIHRob3VnaC4KCSAgRml4ZXMgYnVnICM1OTMwNTkuCgoyMDA5LTA4LTMwIDIzOjA3OjMwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogcmVmYWN0b3Igc2xpZ2h0bHkgYW5kIHJlbW92ZSBzdXBlcmZsdW91cyBjb2RlCgoyMDA5LTA4LTMwIDIzOjA2OjI0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogZnJlc2hlbiB1cCBjYXBzIG5lZ290aWF0aW9uCgkgIFBlcmZvcm0gc2luayBhbmQgc3JjIGNhcHMgbmVnb3RpYXRpb24gZHVyaW5nIGNhcHMgbmVnb3RhdGlvbiwKCSAgYW5kIGFsc28gY2F0ZXIgZm9yIHJlLW5lZ290aWF0aW9uLgoKMjAwOS0wOC0zMCAyMzowMDozNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZmFhYy9nc3RmYWFjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgZmFhYzogcmV3cml0ZSBkYXRhIGNhY2hpbmcgYW5kIHRpbWVzdGFtcCBoYW5kbGluZwoJICBBbHNvIGZpeGVzICM1OTMzNDguCgoyMDA5LTA4LTMxIDE4OjU1OjUyICswMjAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlOiBBIGxpdHRsZSBjbGVhbiB1cC4KCSAgUmVvcmRlciB0aGUgbGlzdCBvZiBBTV9DT05ESVRJT05BTCgpcyB1c2VkIHdoZW4gLS1kaXNhYmxlLWV4dGVybmFsIGlzCgkgIHNwZWNpZmllZCB0byBtYXRjaCB0aGUgYWN0dWFsIG9yZGVyIG9mIHRoZSBwbHVnLWlucyBlYXJsaWVyIGluIHRoZSBmaWxlLgoKMjAwOS0wOC0zMSAxODo0OToxNiArMDIwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogQWxsb3cgLS1kaXNhYmxlLWV4dGVybmFsIHRvIGJlIHNwZWNpZmllZCBhZ2Fpbi4KCjIwMDktMDgtMzEgMTg6NDc6NDQgKzAyMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IEFsbG93IC0tZGlzYWJsZS1rYXRlIHRvIGFjdHVhbGx5IGJlIHNwZWNpZmllZC4KCjIwMDktMDgtMzEgMTg6NDE6NTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGNsZWFudXAgZXJyb3IgaGFuZGxlcgoKMjAwOS0wOC0zMSAxODozNDowMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogZnJlZSB0aGUgYWRhcHRlcgoKMjAwOS0wOC0zMSAxODozMjowNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogY2xlYW51cHMKCjIwMDktMDgtMzEgMTg6MjE6MzQgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgd2lsZG1pZGk6IGFsbG93IGZvciBwdXNoIG1vZGUgb3BlcmF0aW9uCgkgIEZpeGVzICM1ODY5MjkKCjIwMDktMDgtMzEgMTg6MjA6MDAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiB1c2Ugc3RhdGUgbWFjaGluZQoJICBVc2UgYSBzdGF0ZSBtYWNoaW5lIHRvIGtlZXAgdHJhY2sgb2YgdGhlIGN1cnJlbnQgc3RhdGUuCgkgIEFkZCBjaGFpbiBmdW5jdGlvbiBhbmQgZXZlbnQgZnVuY3Rpb24gb24gdGhlIHNpbmtwYWQuCgkgIFJlbW92ZSBzb21lIHVudXNlZCBjb2RlLgoKMjAwOS0wOC0zMSAxNzozODoyOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICB3aWxkbWlkaTogcmVtb3ZlIHVzZWxlc3MgZnVuY3Rpb24gY2FsbHMKCjIwMDktMDgtMzEgMTc6MzM6MzIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIHdpbGRtaWRpOiBzZXQgY2FwcyBvbiBwYWQKCSAgU2V0IHRoZSBjYXBzIG9uIHRoZSBwYWQgYW5kIHVzZSB0aG9zZSBjYXBzIGluc3RlYWQgb2Yga2VlcGluZyBhIHNlcGFyYXRlIGNhcHMKCSAgcG9pbnRlciBhcm91bmQuCgkgIEZpeCBzb21lIHdoaXRlc3BhY2UuCgoyMDA5LTA4LTMxIDE3OjI3OjM5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIHdpbGRtaWRpOiBmaXggd2hpdGVzcGFjZQoKMjAwOS0wOC0zMSAxNjowNzowMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSAga2F0ZTogZml4IHR5cG8gaW4gTWFrZWZpbGUuYW0KCSAgR1NUX1BMVUdJTl9CQVNFX0xJQlMgc2hvdWxkIGJlIEdTVF9QTFVHSU5TX0JBU0VfTElCUy4gRml4ZXMgIzU5MzY4My4KCjIwMDktMDgtMzEgMTM6MzE6MTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzZm11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbGFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVncHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnN2Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBkb2NzOiB1cGRhdGUgcGx1Z2luIGRvY3MgZm9yIGdpdCB2ZXJzaW9uCgoyMDA5LTA4LTMxIDEzOjE0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkgIEdzdEFkYXB0ZXIgaXMgbm90IGEgR3N0T2JqZWN0IGFuZCBzaG91bGQgYmUgZnJlZWQgd2l0aCBnX29iamVjdF91bnJlZigpCgoyMDA5LTA4LTMxIDEzOjAwOjA0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogdXNlIGFuIG9sZC1mYXNoaW9uZWQgYXJyYXkgaW5zdGVhZCBvZiBHUHRyQXJyYXkgZm9yIG11eC0+cHJvZ3JhbXMKCSAgVXNpbmcgR1B0ckFycmF5IGZvciBhIGZpeGVkLXNpemVkIGFycmF5IGlzIGEgYml0IHBvaW50bGVzcyBhbmQgbWFrZXMKCSAgZm9yIHVnbHkgY29kZS4KCjIwMDktMDgtMzEgMTA6NDg6MzUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdwc211eC9tcGVncHNtdXhfYWFjLmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2FhYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eF9oMjY0LmM6CgkqIGdzdC9tcGVncHNtdXgvbXBlZ3BzbXV4X2gyNjQuaDoKCSAgbXBlZ3BzbXV4OiBBZGQgbWlzc2luZyBmaWxlcyB0byBmaXggY29tcGlsYXRpb24KCSAgRml4ZXMgYnVnICM1OTM2MjUuCgoyMDA5LTA4LTEwIDAxOjE0OjE5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGV4YW1wbGVzL21wdHNfdGVzdDIuYzoKCSAgbXBlZ3RzbXV4OiBUZXN0IHByb2dyYW0gb2YgbXB0cyBzdXBwb3J0IGlzIGFkZGVkCgoyMDA5LTA3LTIyIDIwOjI3OjM2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkgIG1wZWd0c211eDogTWlub3IgZml4ZXMKCjIwMDktMDctMjIgMjA6MjU6NDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBtdXgtPnByb2dyYW1zOiB1c2UgR1BydEFycmF5IGluc3RlYWQgb2YgR0FycmF5CgoyMDA5LTA3LTExIDE5OjI5OjUzICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogbXBlZ3RzbXV4X2NvbGxlY3RlZCgpOiBjYWxjdWxhdGUgUENSIGZvciBwcm9ncmFtcwoKMjAwOS0wNy0xMSAxOToxNToxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBtcGVndHNtdXg6IG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcygpOiBjcmVhdGUgbXVsdGkgc3RyZWFtcwoKMjAwOS0wNy0xMSAxOToxMzoyMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICBtcGVndHNtdXg6IE1wZXRUc1BhZERhdGE6IGFkZCBwcm9nX2lkIGFuZCByZWYgdG8gaXRzIHByb2dyYW0KCjIwMDktMDctMTEgMTk6MDk6MTcgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguaDoKCSAgbXBlZ3RzbXV4OiBFeHRlbmQgbXV4LT5wcm9ncmFtIHRvIGEgR0FycmF5IHByb2dyYW1zCgoyMDA5LTA3LTExIDE3OjQ0OjU0ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6CgkqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4Lmg6CgkgIG1wZWd0c211eDogQWRkIG5ldyBwcm9wZXJ0eSBwcm9nLW1hcCB0byB0aGUgbXV4ZXIKCjIwMDktMDgtMTggMTI6MTQ6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBGcmVlIHRoZSBQUFMgYnVmZmVycyB0b28KCjIwMDktMDgtMTcgMTg6MDM6MDAgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBjb21wdXRlIHRpbWVzdGFtcAoKMjAwOS0wOC0xNyAxNzo1ODo0NiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IHJlY29nbml6ZSBtb3JlIHR5cGVzIG9mIE5BTAoJICBBbHNvIHJlY29nbml6ZXMgTkFMcyBjYXJyeWluZyBWQ0wgKGkuZS4gdmlzaWJsZSBwaWN0dXJlcykuIFdlCgkgIHR5cGljYWxseSBvbmx5IGNvbXB1dGUgdGltZXN0YW1wcyBmb3Igc3VjaCBOQUxzCgoyMDA5LTA4LTE3IDE3OjU2OjI2ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogcGFyc2VyIGluaXQgJiBmaW5hbGl6ZQoKMjAwOS0wOC0xNyAxNzo1Mzo0MyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBzbGljZSBoZWFkZXIKCjIwMDktMDgtMTcgMTc6NTM6MTEgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgU0VJCgoyMDA5LTA4LTE3IDE3OjUyOjQ3ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNFSTogcGljdHVyZSB0aW1pbmcgaW5mbwoKMjAwOS0wOC0xNyAxNzo1MjoxMiArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRlY29kZSBTRUk6IGJ1ZmZlcmluZyBwZXJpb2QKCjIwMDktMDgtMTcgMTc6NTE6MzYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBkZWNvZGUgUFBTCgoyMDA5LTA4LTE3IDE3OjUxOjEwICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIGgyNjRwYXJzZTogZGVjb2RlIFNQUwoKMjAwOS0wOC0xNyAxNzo1MDozMyArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IFNQUzogZGVjb2RlIHZ1aSBwYXJhbXMKCjIwMDktMDgtMTcgMTc6NTA6MDIgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSAgaDI2NHBhcnNlOiBTUFM6IGRlY29kZSBocmQgcGFyYW1zCgoyMDA5LTA4LTE3IDE3OjQ0OjM4ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgc2xpY2UgaGVhZGVyIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xNyAxNzo0Mzo1MSArMDgwMCAgTGluIFlBTkcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBoMjY0cGFyc2U6IFN0YXJ0IFNFSSBwYXJzaW5nIHdvcmsKCjIwMDktMDgtMTcgMTc6NDI6MDYgKzA4MDAgIExpbiBZQU5HIDxveGNzbmljaG9AZ21haWwuY29tPgoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzoKCSogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgaDI2NHBhcnNlOiBTdGFydCBQUFMgcGFyc2luZyB3b3JrCgoyMDA5LTA4LTE3IDE3OjM4OjU5ICswODAwICBMaW4gWUFORyA8b3hjc25pY2hvQGdtYWlsLmNvbT4KCgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmg6CgkgIGgyNjRwYXJzZTogU3RhcnQgU1BTIHBhcnNpbmcgd29yawoKMjAwOS0wOC0xMSAxMjowMDoxMCArMDIwMCAgTGluIFlhbmcgPG94Y3NuaWNob0BnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9tcGVncHNtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9tcGVncHNtdXgvYml0cy5oOgoJKiBnc3QvbXBlZ3BzbXV4L2NyYy5oOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5jOgoJKiBnc3QvbXBlZ3BzbXV4L21wZWdwc211eC5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4LmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXguaDoKCSogZ3N0L21wZWdwc211eC9wc211eGNvbW1vbi5oOgoJKiBnc3QvbXBlZ3BzbXV4L3BzbXV4c3RyZWFtLmM6CgkqIGdzdC9tcGVncHNtdXgvcHNtdXhzdHJlYW0uaDoKCSAgbXBlZ3BzbXV4OiBBZGQgTVBFRyBQUyBtdXhlcgoKMjAwOS0wOC0xMyAxNjo0NTo1NSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3JzdmcvTWFrZWZpbGUuYW06CgkqIGV4dC9yc3ZnL2dzdHJzdmcuYzoKCSogZXh0L3JzdmcvZ3N0cnN2Z2RlYy5jOgoJKiBleHQvcnN2Zy9nc3Ryc3ZnZGVjLmg6CgkgIHJzdmc6IEFkZCBSU1ZHIFNWRyBkZWNvZGVyIHBsdWdpbgoJICBUaGlzIHN1cHBvcnRzCgkgIC0gZGVjb2Rpbmcgc2luZ2xlIFNWRyBpbWFnZXMgYW5kIGEgc3RyZWFtIG9mIFNWRyBpbWFnZXMgd2l0aCBhIGdpdmVuIGZyYW1lcmF0ZQoJICAtIGxvc3NsZXNzIHNjYWxpbmcgb2YgU1ZHIGltYWdlcwoJICAtIEFSR0Igb3V0cHV0CgoyMDA5LTA4LTMxIDA5OjExOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuYzoKCSogZXh0L2Fzc3JlbmRlci9nc3Rhc3NyZW5kZXIuaDoKCSAgYXNzcmVuZGVyOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJhc3MgPj0gMC45LjcgYW5kIGZpeCBhc3BlY3QgcmF0aW8gc2V0dGluZwoJICBGaXhlcyBidWcgIzU3NTI2MS4KCjIwMDktMDgtMzAgMjI6MjA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMzAgMjI6MTc6NTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QveGRnbWltZS9NYWtlZmlsZS5hbToKCSogZ3N0L3hkZ21pbWUvZ3N0eGRnbWltZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWFsaWFzLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWljb24uaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVtYWdpYy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVwYXJlbnQuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50Lmg6CgkgIHhkZ21pbWU6IEFsd2F5cyB1c2UgR0xpYiBpbnN0ZWFkIG9mIHhkZ21pbWUKCSAgTm93IHRoYXQgd2UgZGVwZW5kIG9uIEdMaWIgMi4xNiB3ZSBjYW4gYXMgd2VsbCB1c2UgaXQncwoJICBpbnRlcm5hbCBjb3B5IG9mIHRoZSB4ZGdtaW1lIGluc3RlYWQgb2Ygb3VyIG93bi4KCjIwMDktMDgtMzAgMjI6MTM6MjYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSAgaWQzdGFnOiBVbmNvbmRpdGlvbmFsbHkgdXNlIEdMaWIgMi4xNiBBUEkKCjIwMDktMDgtMTkgMTc6MTg6MjUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgIHJzbnN0cmVhbXNlbGVjdG9yOiBVc2UgaXRlcmF0ZSBpbnRlcm5hbCBsaW5rcyBpbnN0ZWFkIG9mIGRlcHJlY2F0ZWQgZ2V0IGludGVybmFsIGxpbmtzCgoyMDA5LTA4LTE5IDE3OjA1OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6CgkgIGlucHV0c2VsZWN0b3I6IFVzZSBpdGVyYXRlIGludGVybmFsIGxpbmtzIGluc3RlYWQgb2YgZGVwcmVjYXRlZCBnZXQgaW50ZXJuYWwgbGlua3MKCjIwMDktMDgtMzAgMjM6Mzg6NDUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIEJhY2sgdG8gaGFja2luZyAtPiAwLjEwLjE0LjEKCj09PSByZWxlYXNlIDAuMTAuMTQgPT09CgoyMDA5LTA4LTMwIDAwOjI0OjQ3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgY29tbW9uOiB1cGRhdGUgY29tbW9uIHRvIGEgdmVyc2lvbiB0aGF0IGluY2x1ZGVzIGEgZml4ZWQgbWFuZ2xlLXRtcGwucHkKCSAgV2hpY2ggaXMgbmVlZGVkIHRvIGJ1aWxkIHRoZSBwbHVnaW4gZG9jcyBmb3IgdGhlIGZyZWkwciBwbHVnaW4gKGFuZAoJICB3YXMgaW5jbHVkZWQgaW4gdGhlIDAuMTAuMTQgcmVsZWFzZSB0YXJiYWxsKS4KCjIwMDktMDgtMjkgMTk6MzU6MzEgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkcGNtZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc2ZtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXNzcmVuZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWhkdnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWlkM3RhZy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1taW1pYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2hyby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZkcGF1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjE0CgoyMDA5LTA4LTI5IDE5OjAyOjM2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDgtMjYgMDE6MjE6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTMuNSBwcmUtcmVsZWFzZQoKMjAwOS0wOC0yNiAwMToxODowMCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNyYy5jOgoJICBkaXJlY3RkcmF3LCBkaXJlY3Rzb3VuZDogdW5pZnkgQ0ZMQUdTIGFuZCBmaXggY29uZmlndXJlIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZCBwbHVnaW5zCgkgIE9uZSBzZXQgb2YgQ0ZMQUdTIGZvciBhbGwgRGlyZWN0WC1iYXNlZCBwbHVnaW5zLiBDb3JyZWN0IGhlYWRlci9saWJyYXJ5CgkgIGNoZWNrcyBmb3IgRGlyZWN0WC1iYXNlZC1wbHVnaW5zLiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlIGFuZCBsYWJlbCBpbgoJICBkaXJlY3Rzb3VuZHNyYy4KCSAgRml4ZXMgIzU5MzA2OC4KCjIwMDktMDgtMjYgMDA6MjY6NDIgKzAxMDAgIEFyZWsgS29yYmlrIDxhcmthZGluaUBnbWFpbC5jb20+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvZW5jOiBzZXQgcmlnaHQgT0ZGU0VUIGFuZCBPRkZTRVRfRU5EIG9uIGhlYWRlciBidWZmZXJzIHRvIG1ha2Ugb2dnbXV4IGhhcHB5CgkgIFdpdGhvdXQgdGhpcyBvZ2dtdXggd2lsbCBqdXN0IGtlZXAgYnVmZmVyaW5nIG91dHB1dCBwYWdlcyBpbiBzb21lIGNhc2VzLgoJICBGaXhlcyAjNTkzMDI0LgoKMjAwOS0wOC0yNSAyMzo0NDo1MCArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgcmVzaW5kdmQsIHJhd3BhcnNlOiBmaXggTERGTEFHUyBmb3IgZ3N0LXBsdWdpbnMtYmFzZSBsaWJzCgkgIEZpeGVzICM1OTMwNjMuCgoyMDA5LTA4LTI0IDIwOjA2OjI3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjQgcHJlLXJlbGVhc2UKCjIwMDktMDgtMjQgMTg6MTY6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmM6CgkgIGFtcndiZW5jOiB1c2UgZGlmZmVyZW50IGVsZW1lbnQgR1R5cGUgbmFtZSB0byBhdm9pZCBjb25mbGljdCB3aXRoIHByZXZpb3VzIHBsdWdpbgoJICBVc2UgYSBkaWZmZXJlbnQgR1R5cGUgbmFtZSBmb3IgdGhlIGVsZW1lbnQgdG8gYXZvaWQgJ2Nhbm5vdCByZWdpc3RlciBleGlzdGluZyB0eXBlJwoJICB3YXJuaW5ncyB3aGVuIHJ1bm5pbmcgJ21ha2UgY2hlY2snIGluIHRoZSB1bnBhY2tlZCB0YXJiYWxsIHdpdGggdGhlIG9sZCBhbXJ3YiBwbHVnaW4KCSAgYWxzbyBpbnN0YWxsZWQgYXMgc3lzdGVtIHBsdWdpbiB1bmRlciB0aGUgb2xkIG5hbWUgKGl0IHVzZWQgdG8gYmUgY2FsbGVkICdhbXJ3cmInCgkgIGFuZCBub3cgaXQncyAnYW1yd2JlbmMnKS4KCjIwMDktMDgtMjQgMTQ6Mzc6MjggKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiB1c2Ugb2YgZGVmYXVsdCBkZWJ1ZyBjYXRlZ29yeSBhbmQgYmV0dGVyIGRzaG93IGVycm9ycyByZWFkYWJpbGl0eQoKMjAwOS0wOC0yMSAwMToxNzoxOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9pY2xlcy90ZXN0LW9zczQuYzoKCSAgdGVzdHM6IGZpeCB0ZXN0LW9zczQgdG8gdHJlYXQgYW4gZW1wdHkgZGV2aWNlIG5hbWUgdGhlIHNhbWUgYXMgYSBOVUxMIG5hbWUKCjIwMDktMDgtMTggMTU6NDg6MDkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBXcml0ZSBGT1VSQ0MgYXMgMzJiaXQKCjIwMDktMDgtMTUgMTc6NTQ6NTAgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogUkVRVUlSRU1FTlRTOgoJICByZW1vdmUgYSBidW5jaCBvZiBqdW5rIGZyb20gUkVRVUlSRU1FTlRTCgoyMDA5LTA4LTE0IDIwOjIwOjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9qYS5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9sdi5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEzLjMgcHJlLXJlbGVhc2UKCjIwMDktMDgtMTQgMTQ6MTA6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGRpc2FibGUgYXNzIHBsdWdpbiBmb3IgbGliYXNzID49IDAuOS43IGJlY2F1c2Ugb2YgQVBJIGNoYW5nZXMKCSAgU2VlICM1NzUyNjEuCgoyMDA5LTA4LTEyIDE4OjMzOjIyIC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogRG8gbm90IG1lc3MgdXAgR3N0Q29sbGVjdERhdGEgbGlzdAoJICBhc2ZtdXggd2FzIG1lc3NpbmcgdXAgd2l0aCB0aGUgR3N0Q29sbGVjdERhdGEgbGlzdCBvZiBpdHMKCSAgR3N0Q29sbGVjdFBhZHMgd2hlbiBzb3J0aW5nIHRoZSBsaXN0IGlucGxhY2UuIFRoaXMgcGF0Y2ggbWFrZXMKCSAgaXQgY29weSB0aGUgbGlzdCBiZWZvcmUgc29ydGluZyBpdCwgbGVhdmluZyB0aGUgR3N0Q29sbGVjdFBhZHMKCSAgbGlzdCBhcyBpcy4gRml4ZXMgIzU5MTYxMAoKMjAwOS0wOC0xMiAxMjoyMzozMCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVVNFIEdTVF9XUklURV8qX0xFIG1hY3JvcwoKMjAwOS0wOC0xMiAxMjoyMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogUmVmdXNlIHRvIGdvIHBsYXlpbmcgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBjbG9jawoJICBPbmx5IHRyeSB0byB1c2UgdGhlIGNsb2NrIGluIGlmIHBhdXNlZC1tb2RlIGlzIHNldCBhbmQgcmVmdXNlIHRvIGdvIHBsYXlpbmcKCSAgaW4gcGF1c2VkLW1vZGUgd2l0aG91dCBpdC4KCSAgRml4ZXMgYnVnICM1OTE1MzgKCjIwMDktMDgtMTEgMTY6NDI6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgZHRtZnNyYzogRW1wdHkgZXZlbnQgcXVldWUgb24gZmluYWxpemUKCjIwMDktMDgtMTEgMTY6Mzk6NDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBkdG1mOiBVc2UgR1NsaWNlIGZvciBpbnRlcm5hbCBldmVudCBzdHJ1Y3R1cmVzCgoyMDA5LTA4LTExIDE2OjIzOjIwIC0wNDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgcnRwZHRtZnNyYzogQ2xlYW51cCBldmVudHMgb24gZmluYWxpemUKCSAgUHJvYmxlbSBmb3VuZCBieSBMYXVyZW50IEdsYXlhbAoJICBGaXhlcyBidWcgIzU5MTQ0MAoKMjAwOS0wOC0xMSAxNjoyMzoyMCAtMDQwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIHJ0cGR0bWZzcmM6IENsZWFudXAgZXZlbnRzIG9uIGZpbmFsaXplCgkgIFByb2JsZW0gZm91bmQgYnkgTGF1cmVudCBHbGF5YWwKCSAgRml4ZXMgYnVnICM1OTE0NDAKCjIwMDktMDgtMTIgMTA6Mjg6MzIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICB2ZHBhdTogYmxhY2tsaXN0IGZvciBnZW5lcmljIHN0YXRlcyB0ZXN0LCBhbmQgZGVtb3RlIHRvIEdTVF9SQU5LX05PTkUKCSAgVGhlc2UgZWxlbWVudHMgYXJlIG5vdCBmaXQgZm9yIGF1dG9wbHVnZ2luZywgc28gZGVtb3RpbmcgdG8gUkFOS19OT05FLgoJICBBbHNvIGJsYWNrbGlzdGluZyBmb3IgZ2VuZXJpYyBzdGF0ZXMgdGVzdCwgc2luY2UgZml4aW5nIHRoZXNlIGVsZW1lbnRzCgkgIHVwIHRvIGRvIHNvbWUgbWluaW1hbCBlcnJvciBoYW5kbGluZyBzZWVtcyB0byBiZSBhIGJpdCBtb3JlIHdvcmsuCgkgIFBhcnRpYWxseSBmaXhlcyAjNTkxNTM4LgoKMjAwOS0wOC0xMSAxODowMTozNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbHYucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMy4yIHByZS1yZWxlYXNlLgoKMjAwOS0wOC0xMSAxNToyNzozNCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBNQUlOVEFJTkVSUzoKCSAgQWRkIG15c2VsZiB0byBNQUlOVEFJTkVSUyBmaWxlIGFuZCB1cGRhdGUgV2ltJ3MgZS1tYWlsLgoKMjAwOS0wOC0xMSAxNDoxNzozMiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOS0wOC0xMSAxMjo0MjoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWVuYzogZXJyb3Igb3V0IGlmIGNhdGVnb3J5IGhhcyBub3QgYmVlbiBzZXQgYW5kIGNoZWNrIGZvciBvYnZpb3VzbHkgd3JvbmcgdmFsdWVzCgoyMDA5LTA4LTExIDAyOjQ2OjU0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9ydHBtYW5hZ2VyLy5naXRpZ25vcmU6CgkqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvcnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBNb3ZlIHJ0cG1hbmFnZXIgZnJvbSAtYmFkIHRvIC1nb29kLgoKMjAwOS0wOC0xMSAwOTowNTozNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICAuZ2l0aWdub3JlOiBpZ25vcmUgYXNmbXV4IHVuaXQgdGVzdCBiaW5hcnkKCjIwMDktMDgtMTEgMDk6MDA6MzcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrczogZGlzYWJsZSB1bml0IHRlc3RzIHRoYXQgYXJlIGZsYWt5IG9yIGRvbid0IHdvcmsgd2l0aCBjb3JlIGdpdAoJICBjYW1lcmFiaW4gdGVzdCBzZWVtcyB0byB0aW1lIG91dCB3aXRoIGNvcmUgZ2l0LCBzbyBkaXNhYmxpbmcgYmVjYXVzZQoJICBjaGFuY2VzIGFyZSB0aGUgcHJvYmxlbSBpcyBpbiB0aGUgdGVzdCBhbmQgdGhlIGNvcmUgZ2l0IHN0dWZmIHdpbGwKCSAgYmUgcmVsZWFzZWQgYmVmb3JlIHdlIGNhbiBmaXggdGhlIGNvZGUgaW4gdGhlIHRlc3QuCgkgIG5lb25odHRwc3JjIHVuaXQgdGVzdCBpcyBhIGJpdCBmbGFreSwgaXQgdGVuZHMgdG8gZmFpbCB0aGUgZmlyc3QKCSAgdGltZSB3aGVuIGNhbGxlZCAodGhlIGhvc3QvdXJsIGl0IGNoZWNrcyBmb3Igc2VlbXMgdG8gYmUgZG93biBhcwoJICB3ZWxsL2FueXdheSkuCgoyMDA5LTA4LTEwIDIyOjE2OjM3ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgUmVtb3ZlIGV4ZWN1dGUgZmxhZ3MgZnJvbSBzb3VyY2UgZmlsZXMKCjIwMDktMDgtMDkgMDI6MDQ6NDYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBjb25maWd1cmU6IGJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9uCgkgIFRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDktMDgtMTAgMTY6MzU6MzYgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSAgZHNob3dzcmN3cmFwcGVyOiBjYW4gbGlzdCBtb3JlIHRoYW4gMSBkZXZpY2UKCSAgc29tZXRoaW5nIGxpa2UgdGhlIGZvbGxvd2luZyBjb2RlIG5vdyB3b3JrczoKCSAgdmVjdG9yPHN0cmluZz4gZ2V0VmlkZW9EZXZpY2VOYW1lcygpCgkgIHsKCSAgdmVjdG9yPHN0cmluZz4gbF9uYW1lOwoJICBzdHJpbmcgcHJvcGVydHk7CgkgIEdzdEVsZW1lbnQqIHZpZGVvZGV2aWNlc3JjID0gY3JlYXRlX2VsZW1lbnQoImRzaG93dmlkZW9zcmMiLCAidmlkZW9kZXZpY2VzcmMiKTsKCSAgR3N0UHJvcGVydHlQcm9iZSogcHJvYmUgPSBHU1RfUFJPUEVSVFlfUFJPQkUgKHZpZGVvZGV2aWNlc3JjKTsKCSAgR1ZhbHVlQXJyYXkqIHZhID0gZ3N0X3Byb3BlcnR5X3Byb2JlX2dldF92YWx1ZXNfbmFtZSAocHJvYmUsICJkZXZpY2UtbmFtZSIpOwoJICBpZiAodmEpCgkgIHsKCSAgZm9yKHNpemVfdCBpPTA7IGkgPCB2YS0+bl92YWx1ZXM7ICsraSkKCSAgewoJICBHVmFsdWUqIHYgPSBnX3ZhbHVlX2FycmF5X2dldF9udGgodmEsIGkpOwoJICBzdHJpbmcgbmFtZShnX3ZhbHVlX2dldF9zdHJpbmcodikpOwoJICBsX25hbWUucHVzaF9iYWNrKG5hbWUpOwoJICB9CgkgIH0KCSAgaWYgKHZpZGVvZGV2aWNlc3JjKQoJICBnc3Rfb2JqZWN0X3VucmVmKEdTVF9PQkpFQ1QgKHZpZGVvZGV2aWNlc3JjKSk7CgkgIHJldHVybiBsX25hbWU7CgkgIH0KCjIwMDktMDgtMTAgMTY6MTc6NDEgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmNwcDoKCSAgZHNob3dhdWRpb3NyYzogaGFuZGxlcyBkZXZpY2UtbmFtZSBwcm9wZXJ0eQoKMjAwOS0wOC0xMCAxNjowMzoxNyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93LmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvdy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuY3BwOgoJICBkc2hvd3NyY3dyYXBwZXI6IGFkZCBhIGhlbHBlciBmdW5jdGlvbiB0byBjaGVjayBhIG1lZGlhIHR5cGUKCjIwMDktMDgtMTAgMTQ6MzI6MDMgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2NhcEBnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA4LTEwIDEzOjIxOjA5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgc3BjOiBmaXggdHlwbyBpbiBNYWtlZmlsZS5hbSBhbmQgYnVpbGQgdGhlIHJpZ2h0IHBsdWdpbiAoc3BjIG5vdCBnbWUpCgoyMDA5LTA4LTEwIDE0OjIzOjE0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJICBkc2hvd3ZpZGVvc3JjOiBjYW4gdXNlIG90aGVyIHZpZGVvIHNpemVzIGFuZCBmcmFtZXJhdGVzIHRoYW4gdGhlIGRlZmF1bHRzCgkgIEV2ZW4gaWYgdGhlIGRldmljZSBjb3VsZCBjYXB0dXJlIHNldmVyYWwgdmlkZW8gc2l6ZXMgYXQgc2V2ZXJhbCBmcmFtZXJhdGVzLAoJICB3aXRob3V0IHRoaXMgY29tbWl0LCBpdCB3YXMgb25seSBwb3NzaWJsZSB0byB1c2Ugb25lIHZpZGVvIHNpemUgYW5kCgkgIG9uZSBmcmFtZXJhdGU6IHRoZSBkZWZhdWx0IGRpcmVjdHNob3cgdmFsdWVzLgoKMjAwOS0wOC0xMCAxMTo0MDoxMyArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiB3aW4zMi92czgvZ3N0LXBsdWdpbnMtYmFkLnNsbjoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgZGlyZWN0c291bmRzcmM6IGFkZCB2czggcHJvamVjdAoKMjAwOS0wOC0xMCAxMTozNjo0MSArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSAgZGlyZWN0c291bmRzcmM6IExGIGFuZCBpbmRlbnQKCjIwMDktMDgtMDkgMTU6MjA6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogQ2FjaGUgZXZlbnRzIGFuZCBzZW5kIHRoZW0gZG93bnN0cmVhbSBvbmNlIGFuIGVsZW1lbnQgd2FzIHNlbGVjdGVkCgoyMDA5LTA4LTA5IDE0OjU1OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5jOgoJKiBnc3QvYXV0b2NvbnZlcnQvZ3N0YXV0b2NvbnZlcnQuaDoKCSAgYXV0b2NvbnZlcnQ6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA5IDEyOjI1OjAxICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIGRpcmVjdGRyYXdzaW5rOiBGaXggY3Jhc2ggd2hlbiBleHBvc2luZyBpbiBHU1RfU1RBVEVfUkVBRFkKCSAgRml4ZXMgYnVnICM1NDE5NjIuCgoyMDA5LTA4LTA4IDIyOjE0OjUzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IERvbid0IGFuc3dlciB0aGUgU0VFS0lORyBxdWVyeSBpZiB3ZSBkb24ndCBrbm93IHRoZSBhbnN3ZXIgeWV0CgkgIEEgYml0cmF0ZSE9LTEgaXMgcmVxdWlyZWQgZm9yIHNlZWtpbmcgYnV0IHRoZSBiaXRyYXRlIGlzIG9ubHkgY2FsY3VsYXRlZAoJICBhZnRlciB0aGUgc2Vjb25kIFBDUiB3YXMgcmVhZC4KCSAgRml4ZXMgYnVnICM1OTA0NDYuCgoyMDA5LTA4LTA4IDIxOjIwOjAxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zcGMvZ3N0c3BjLmM6CgkgIHNwYzogTG93ZXIgcmFuayB0byBTRUNPTkRBUlkgdG8gbWFrZSB0aGUgZ21lIHBsdWdpbiB0aGUgZGVmYXVsdAoKMjAwOS0wOC0wOCAyMToxNzozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBBZGQgdGhlIE9wZW5TUEMgc3BjIHBsdWdpbiBhZ2FpbgoJICBUaGUgZ21lIHBsdWdpbiBvYnNvbGV0ZXMgaXQgYnV0IGl0IG1pZ2h0IHN0aWxsIGJlIHVzZWZ1bAoJICBmb3IgdXNlcnMgdGhhdCBkb24ndCBoYXZlIGdtZSB5ZXQgb3IgcHJlZmVyIG9wZW5zcGMgZm9yIHNvbWUgcmVhc29uLgoKMjAwOS0wOC0wOCAxMjoyMDo1NSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJICBrYXRlOiBzb21lIG1pbm9yIGNsZWFuLXVwcwoJICBQcmludCBmbG93IHJldHVybiBhcyBzdHJpbmcgaW4gbG9nIG1lc3NhZ2U7IGlmIHdlIGNoZWNrIHRoZSByZXR1cm4KCSAgdmFsdWUgb2YgZ3N0X2J1ZmZlcl9uZXdfYW5kX2FsbG9jKCkgd2Ugc2hvdWxkIHVzZSB0aGUgX3RyeSgpIGZ1bmN0aW9uCgkgIHRoYXQgbWlnaHQgYWN0dWFsbHkgcmV0dXJuIE5VTEwuIFBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZwoJICBHU1RfRkxPV19FUlJPUi4gVXNlIHBvcnRhYmxlIEdMaWIgbWFjcm9zIHRvIHByaW50IDY0LWJpdCBpbnRlZ2Vycy4KCSAgRG9uJ3QgdXNlIDBMTCwgdGhhdCdzIGFsc28gbm90IHBvcnRhYmxlIChhbmQgdW5uZWVkZWQgaGVyZSkuCgoyMDA5LTA4LTA4IDEwOjMwOjExICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIHZpZGVvcGFyc2U6IE9ubHkgcHJvdmlkZSB2ZXJ5IGZ1bmRhbWVudGFsIGNhcHMgaW4gdGhlIHBhZCB0ZW1wbGF0ZQoJICBXZSBjYW4ndCBlYXNpbHkga25vdyB3aGljaCBjYXBzIHdpbGwgY2FuIGJlIHVzZWQgYmVjYXVzZSB3ZSByZWx5IG9uCgkgIGxpYmdzdHZpZGVvJ3Mgc3VwcG9ydCBmb3IgdmlkZW8gZm9ybWF0cy4KCjIwMDktMDgtMDggMTA6Mjc6NTIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5oOgoJICByYXdwYXJzZTogU21hbGwgY2xlYW51cHMgYW5kIGltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA4LTA4IDA4OjI3OjI0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IFNtYWxsIGNsZWFudXBzCgoyMDA5LTA4LTA4IDA3OjU5OjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIHZpZGVvcGFyc2U6IFVzZSBsaWJnc3R2aWRlbyBmb3IgZXZlcnl0aGluZyBpbnN0ZWFkIG9mIG91ciBvd24gY2FsY3VsYXRpb25zCgkgIEFsc28gbWFrZSBSR0IgdXNhZ2UgZWFzaWVyIGJ5IHByb3ZpZGluZyB4UkdCLCBSR0J4LCBldGMuIGZvcm1hdHMKCSAgaW5zdGVhZCBvZiByZXF1aXJpbmcgdG8gc2V0IHJlZF9tYXNrIGFuZCBmcmllbmRzLgoKMjAwOS0wOC0wNyAxOToxMjoyNiArMDIwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogZml4IGEgbWVtb3J5IGxlYWsKCjIwMDktMDgtMDcgMTk6MDA6MjMgKzAyMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogYWRkZWQgVkMxLCBFQUMzIGFuZCBMUENNIHJlbGF0ZWQgdG8gYmx1ZXJheS9oZG12CgoyMDA5LTA4LTA3IDE4OjM1OjQyICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVncHNkZW11eDogYWRkZWQgY2FwcyBmb3IgQUFDIGFuZCBmaXhlZCBwbGF5YmFjayBvZiBhIGNsaXAgd2l0aCBMUENNCgoyMDA5LTA4LTA3IDE4OjE3OjI4ICswMjAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJICBtcGVncHNkZW11eDogaW1wcm92ZWQgZGVtdXhlciBwZXJmb3JtYW5jZQoJICBJbmNyZWFzZWQgcGVyZm9ybWFuY2UgZG9pbmcgcHVsbF9yYW5nZSBpbiBibG9ja3Mgb2YgMzJLYiBpbnN0ZWFkIG9mIDRLYi4KCSAgQ2FjaGluZyB0aGUgdmFsdWUgb2YgZ3N0X2FkYXB0ZXJfYXZhaWxhYmxlIGluc3RlYWQgb2YgY2FsbGluZyBpdCAzIHRpbWVzLgoJICBBZGRlZCBzb21lIGNvbW1lbnRzIHdpdGggdGhlIGhlYWRlciBkZXNjcmlwdGlvbnMuCgkgIFBlZWsgZW5vdWdoIGRhdGEgdG8gYXZvaWQgYSBjb3JuZXIgY2FzZSB3aGVyZSBjb3VsZCBiZSByZWFkZWQgZGF0YSBvdXRzaWRlCgkgIHRoZSBidWZmZXIuCgkgIFNwZWVkIHVwIHNvbWUgbW9yZSBpbmxpbmluZyBzb21lIGZ1bmN0aW9ucyBhbmQga2VlcGluZyBhbm90aGVyIHN0cmVhbSBwb2ludGVyCgkgIGxpc3QgdG8gYmUgdXNlZCBhcyBpdGVyYXRvci4KCSAgU3ByaW5rbGUgYnJhbmNoIHByZWRpY3Rpb24gbWFjcm9zIGFjY3Jvc3MgdGhlIGNvZGUuCgkgIEhhbmRsaW5nIHRoZSBzZWVraW5nIHdpdGggZmx1c2ggaW4gcHVsbCBtb2RlIGluIHRoZSBwcm9wZXIgd2F5LgoKMjAwOS0wOC0wNyAxNDo0MTozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJICBnbWVkZWM6IFVzZSBHc3RBZGFwdGVyIGluc3RlYWQgb2YgbWFueSBidWZmZXIgam9pbnMKCSAgVGhpcyByZWR1Y2VzIHRoZSBudW1iZXIgb2YgcmVhbGxvY2F0aW9ucyBhbmQgbWVtY3B5cyBkcmFzdGljYWxseS4KCSAgQWxzbyBmcmVlIHRoZSBpbnB1dCBkYXRhIGFzIHNvb24gYXMgaXQncyBjb21wbGV0ZSBhbmQgcGFzc2VkIHRvIEdNRQoJICBhcyBpdCdzIG5vdCBuZWVkZWQgYW55bW9yZS4KCjIwMDktMDgtMDcgMTM6MDc6MTcgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJldmVudCBpbmZpbml0ZSBsb29wIHdoZW4gZHJhaW5pbmcKCjIwMDktMDgtMDcgMTM6MDY6MjggKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogZml4IG1pbm9yIG1lbW9yeSBsZWFrCgoyMDA5LTA4LTA3IDEzOjA0OjE4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGZsYWNwYXJzZTogc3luYyBiYXNlcGFyc2UgKHNvbWUgbW9yZSkKCjIwMDktMDgtMDcgMDk6MjE6MDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSAgZ21lZGVjOiBBZGQgY2FwcyBmb3IgYWxsIHN1cHBvcnRlZCBmaWxlIGZvcm1hdHMgdG8gdGhlIHNyY3BhZCB0ZW1wbGF0ZQoKMjAwOS0wOC0wNyAwNzoyMzowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IERvbid0IGFkZCBlbXB0eSBzdHJpbmcgdGFncwoKMjAwOS0wOC0wNyAwNzowMToxMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJICBnbWU6IEZpeCBjYXBzIG5hbWUgYWdhaW4KCjIwMDktMDgtMDcgMDY6NTk6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2dtZS9nc3RnbWUuYzoKCSogZXh0L2dtZS9nc3RnbWUuaDoKCSAgZ21lOiBSZW5hbWUgZXZlcnl0aGluZyBmcm9tIFNQQyB0byBHTUUKCjIwMDktMDgtMDcgMDY6NTk6NDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSogZXh0L3NwYy9nc3RzcGMuaDoKCSogZXh0L3NwYy90YWcuYzoKCSogZXh0L3NwYy90YWcuaDoKCSAgc3BjOiBSZWFsbHkgcmVtb3ZlIG9sZCBTUEMgY29kZQoKMjAwOS0wOC0wNyAwNjo1Njo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZ21lL01ha2VmaWxlLmFtOgoJKiBleHQvZ21lL2dzdGdtZS5jOgoJKiBleHQvZ21lL2dzdGdtZS5oOgoJKiBleHQvZ21lL3RhZy5jOgoJKiBleHQvZ21lL3RhZy5oOgoJICBnbWU6IFVzZSBnbWUgZm9yIHRhZ3MgYW5kIGR1cmF0aW9uIHBhcnNpbmcKCjIwMDktMDgtMDcgMDY6NDE6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvTWFrZWZpbGUuYW06CgkqIGV4dC9nbWUvZ3N0Z21lLmM6CgkqIGV4dC9nbWUvZ3N0Z21lLmg6CgkqIGV4dC9nbWUvdGFnLmM6CgkqIGV4dC9nbWUvdGFnLmg6CgkgIHNwYzogUmVuYW1lIFNQQyBwbHVnaW4gdG8gR01FCgkgIGFzIHByZXBhcmF0aW9uIGZvciBlbmFibGluZyBzdXBwb3J0IGZvciBub24tU1BDIGdhbWluZyBjb25zb2xlIHNvdW5kIGZpbGVzLgoKMjAwOS0wOC0wNiAyMTo0MjowMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJICBzcGNkZWM6IEZvcndhcmQgYWxsIHVua25vd24gc3JjIGV2ZW50cyB1cHN0cmVhbSBhbmQgZG9uJ3QgcmVzdHJpY3QgdG8gU1BDCgoyMDA5LTA4LTA2IDE5OjI2OjIxICswMjAwICByaWMgPGNzeG5qdSBhdCBzb2dvdS5jb20+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhdm9pZCBidWZmZXIgbGVhayBvbiBiYWQgc2VxbnVtCgkgIEZpeGVzICM1OTA3OTcKCjIwMDktMDgtMDUgMDk6MzY6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVnW3B0XXNkZW11eDogRml4IFNFRUtJTkcgcXVlcnkKCSAgU2VuZCB0aGUgQllURVMgYmFzZWQgcXVlcnkgZG93bnN0cmVhbSwgbm90IHRoZSBvcmlnbmFsIG9uZS4KCjIwMDktMDgtMDQgMTI6NTg6MzUgKzAyMDAgIEphbiBVcmJhbnNraSA8d3VsY3plckB3dWxjemVyLm9yZz4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRG9uJ3QgcmVxdWlyZSBlbmRpYW5uZXNzIGZpZWxkIGZvciA4IGJpdCByYXcgYXVkaW8KCSAgRml4ZXMgYnVnICM1OTAzNjAuCgoyMDA5LTA4LTA0IDEwOjE4OjQ2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NwYy9nc3RzcGMuYzoKCSAgc3BjOiBNYWtlIHRoZSBTUEMgcGx1Z2luIHdvcmsgd2l0aCB0aGUgbGF0ZXN0IGxpYmdtZSByZWxlYXNlCgkgIGdtZV9lbmFibGVfYWNjdXJhY3koKSB3YXMgYWRkZWQgaW4gU1ZOIHRydW5rIGFuZCBpcyBub3QgeWV0CgkgIGluIGFueSByZWxlYXNlLgoKMjAwOS0wOC0wNCAxMDowNjo1NCArMDIwMCAgTWljaGFlbCBQeW5lIDxtcHluZUBrZGUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc3BjL2dzdHNwYy5jOgoJKiBleHQvc3BjL2dzdHNwYy5oOgoJICBzcGM6IFVzZSB0aGUgcG9ydGFibGUgbGliZ21lIGluc3RlYWQgb2YgeDg2LW9ubHkgT3BlblNQQyBsaWJyYXJ5CgkgIFRoaXMgd2lsbCBsYXRlciBhbGxvdyB1cyB0byBwbGF5IG90aGVyIGdhbWluZyBjb25zb2xlIGZpbGVzCgkgIHRoYXQgYXJlIHN1cHBvcnRlZCBieSBsaWJnbWUuCgkgIEZpeGVzIGJ1ZyAjNTc2ODAwLgoKMjAwOS0wNi0xMiAxNzoyMjoyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmxhY3BhcnNlL01ha2VmaWxlLmFtOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5jOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJpdHJlYWRlci5oOgoJKiBnc3QvZmxhY3BhcnNlL2dzdGJ5dGVyZWFkZXIuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmg6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6CgkgIGZsYWNwYXJzZTogcmVtb3ZlIGludGVybmFsIGJpdHJlYWRlciBhbmQgYnl0ZXJlYWRlciBub3cgdGhhdCB0aGVzZSBhcmUgaW4gbGliZ3N0YmFzZQoKMjAwOS0wNy0zMSAxMToyNzowMyArMDMwMCAgVG9tbWkgTXnDtmjDpG5lbiA8ZXh0LXRvbW1pLjEubXlvaGFuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBjaGVjayBmb3IgcGVuZGluZyBzcmNwYWQgaW4gX2dldF9wcm9wZXJ0eSgpCgkgIElmIHRoZXJlIGlzIGEgcGVuZGluZyBzcmNwYWQsIHJldHVybiBpdCBpbnN0ZWFkIG9mIGFjdGl2ZSBzcmNwYWQKCSAgaW4gZ3N0X291dHB1dF9zZWxlY3Rvcl9nZXRfcHJvcGVydHkoKSBmdW5jdGlvbi4KCjIwMDktMDctMzAgMTQ6MTc6NTkgKzAzMDAgIFRvbW1pIE15w7Zow6RuZW4gPGV4dC10b21taS4xLm15b2hhbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogU2V0IGNhbWVyYXNyYyB0byBSRUFEWSBzdGF0ZSBpbnN0ZWFkIG9mIFBBVVNFRCB3aGVuIGFjcXVpcmluZyBhbGxvd2VkIGNhcHMKCjIwMDktMDctMzEgMDc6MTY6MDIgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgZGlyZWN0ZHJhdzogRml4IGluZGVudGlvbgoKMjAwOS0wNy0zMSAwMjowNTo0MSArMDQwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBkaXJlY3RkcmF3OiBJbXBsZW1lbnQgR3N0TmF2aWdhdGlvbiBpbnRlcmZhY2UKCSAgRml4ZXMgYnVnICM1OTAyMDguCgoyMDA5LTA3LTMxIDAwOjE5OjE5IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3RydHBhc2ZwYXkuYzoKCSAgcnRwYXNmcGF5OiBzZXQgcGFkZGluZyBmaWVsZCB0byAwIG9uIHJ0cCBhc2YgcGFja2V0cwoJICBUaGUgQVNGIFJUUCBzcGVjIGRlbWFuZHMgdGhhdCBwYWNrZXRzIGhhdmUgdGhlaXIgcGFkZGluZyByZW1vdmVkCgkgIGFuZCB0aGUgcGFkZGluZyBzaXplIGZpZWxkIHNldCB0byAwIGZvciBwYWNrZXRzIHdoZW4gcHV0aW5nIHRoZW0KCSAgaW5zaWRlIHRoZSBSVFAgcGFja2V0cwoKMjAwOS0wNy0zMCAwMDoxOToxOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IFNldCB2aWRlbyBzdHJlYW0gc2Vla2FibGUgcHJvcGVydHkgdG8gdHJ1ZQoJICBWaWRlbyBzdHJlYW0gYWx3YXlzIGhhdmUgaW5kZXhlcywgc28gdGhleSBhcmUgYWxsIHNlZWthYmxlCgoyMDA5LTA3LTMwIDAwOjEyOjQ1IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkgIGFzZm11eDogUmVtb3ZpbmcgdXNlbGVzcyBUT0RPcwoJICBBZnRlciB0ZXN0aW5nIGluIHdpbmRvd3MgYW5kIGxpbnV4LCB0aGlzIGF1ZGlvIGNvcnJlY3Rpb24gZmllbGQKCSAgbWFkZSBubyBkaWZmZXJlbmNlIHNvIGZhci4gQWxsIGV4YW1wbGUgZmlsZXMgSSBnb3Qgb25seSBoYWQKCSAgemVyb2VzIGluIHRoaXMgZmllbGQKCjIwMDktMDctMzAgMDA6MDQ6NDMgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBGaXhlcyB2aWRlbyBzdHJlYW0gcHJvcGVydGllcyBvYmplY3QKCSAgRml4ZXMgc3RyZWFtIHByb3BlcnRpZXMgb2JqZWN0IGNyZWF0aW9uIGZvciB2aWRlbyBjb250ZW50CgoyMDA5LTA3LTI5IDE5OjA3OjI3IC0wMzAwICBUaGlhZ28gU2FudG9zIDx0aGlhZ29zc0BlbWJlZGRlZC51ZmNnLmVkdS5icj4KCgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkgIGFzZm11eDogYWNjZXB0IHBhZCByZXF1ZXN0cyBhIGxpdHRsZSBsb25nZXIKCSAgYXNmbXV4IG5vdyBzdGFydCByZWplY3RpbmcgcGFkIHJlcXVlc3RzIGFmdGVyIGl0IHB1c2hlcyB0aGUgZmlyc3QKCSAgYnVmZmVyLCBiZWZvcmUgdGhpcywgaXQgd2FzIHJlamVjdGluZyBhZnRlciBnb2luZyB0byBwYXVzZWQKCjIwMDktMDctMjkgMTg6NDQ6MTEgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZtdXguYzoKCSAgYXNmbXV4OiBhZGRzIHN1cHBvcnQgdG8gdmMtMSBzdHJlYW1zCgoyMDA5LTA3LTI5IDE3OjIzOjMxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IFJlbW92ZSBlbXB0eSBmaW5hbGl6ZQoKMjAwOS0wNy0yOSAxNjowMjo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogRml4IG1hY3JvIG5hbWUKCjIwMDktMDctMjkgMTU6MzU6MDMgKzAyMDAgIEpvbmkgVmFsdGFuZW4gPGpvbmkudmFsdGFuZW5AbW92aWFsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzcmMuYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc3JjLmg6CgkgIGRpcmVjdHNvdW5kc3JjOiBBZGQgRGlyZWN0U291bmQgc291cmNlIHBsdWdpbgoJICBGaXhlcyBidWcgIzM0NDEyOS4KCjIwMDktMDctMjggMjI6NTE6MzkgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FzZm11eC5jOgoJICBhc2ZtdXg6IEZpcnN0IGJhc2ljIGNoZWNrIHVuaXQgdGVzdHMKCSAgQWRkcyBzaW1wbGUgYXNmbXV4IHVuaXQgdGVzdHMsIHRoYXQgdGVzdCBwYWQgY3JlYXRpb24gYW5kIHB1c2hpbmcgYQoJICBzaW5nbGUgYnVmZmVyIHRocm91Z2ggdGhlbQoKMjAwOS0wNy0yOCAyMTozNzowNCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvYXNmbXV4L2dzdGFzZm11eC5jOgoJICBhc2ZtdXg6IEZvcmNpbmcgcGFkIG5hbWVzIHRvIGJlIHZpZGVvXyUwMmQgYW5kIGF1ZGlvXyUwMmQgbGlrZQoKMjAwOS0wNy0yOCAxODoxODoyMCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VyY2U6IGFsbG93IGZvciBOVUxMIGNhcHMgb24gYnVmZmVycwoJICBBZGQgdGhlIE5VTEwgY2FwcyBjaGVjayB3aGVyZSBpdCBtYXR0ZXJzIGFuZCBhbHNvIGNvdmVyIGFub3RoZXIgY2FzZSBvZgoJICBwb3RlbnRpYWwgTlVMTCBjYXBzLgoJICBGaXhlcyAjNTkwMDMwCgoyMDA5LTA3LTI4IDExOjU5OjU2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBJbmNvbWluZyBidWZmZXJzIGRvIG5vdCBhbHdheXMgaGF2ZSBjYXBzCgoyMDA5LTA3LTI3IDE0OjAzOjU5ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogcGhvdG8gaWZhY2Ugc2V0dGVyIGZ1bmN0aW9ucyByZXR1cm4gVFJVRSB3aGVuIHVzZWQgaW4gTlVMTCBzdGF0ZQoJICBXZSBjYWNoZSB0aGUgdmFsdWVzIGFuZCBhcHBseSB0aGVuIHdoZW4gcG9zc2libGUuCgoyMDA5LTA3LTI3IDA4OjI1OjM3ICswMzAwICBUb21taSBNecO2aMOkbmVuIDxleHQtdG9tbWkuMS5teW9oYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkbyBub3QgcHV0IHZpZGVvIHBpcGVsaW5lIGludG8gUkVBRFkgd2hlbiBzdGFydCByZWNvcmRpbmcgY2FtZXJhYmluOiByZW1lbWJlciBwcm9iZSBJRHMgYW5kIGRpc2Nvbm5lY3QgdGhlbSB3aGVuIGRlc3Ryb3lpbmcgcGlwZWxpbmVzCgoyMDA5LTA3LTI3IDE5OjU5OjMyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3YmVuYy5jOgoJICBhbXJ3YmVuYzogRml4IGNvbXBpbGF0aW9uCgoyMDA5LTA3LTI3IDE5OjU1OjI3ICswMjAwICBJYWdvIFRvcmFsIDxpdG9yYWxAaWdhbGlhLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2JlbmMueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJKiBleHQvYW1yd2JlbmMvR3N0QW1yd2JFbmMucHJzOgoJKiBleHQvYW1yd2JlbmMvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3YmVuYy9SRUFETUU6CgkqIGV4dC9hbXJ3YmVuYy9nc3RhbXJ3Yi5jOgoJKiBleHQvYW1yd2JlbmMvZ3N0YW1yd2JlbmMuYzoKCSogZXh0L2FtcndiZW5jL2dzdGFtcndiZW5jLmg6CgkgIGFtcndiOiBSZW1vdmUgQU1SLVdCIHBhcnNlciBhbmQgZGVjb2RlciBhbmQgcmVuYW1lIGVuY29kZXIgcGx1Z2luIGZyb20gYW1yd2IgdG8gYW1yd2JlbmMKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTg0ODkwLgoKMjAwOS0wNy0yNyAxNTo0NjoyMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYXZvaWQgZG9pbmcgbGlwLXN5bmMgaW4gQllFCgkgIFdoZW4gd2UgZ2V0IGEgQllFIHBhY2tldCwgZG9uJ3QgZG8gbGlwLXN5bmMgd2l0aCB0aGUgU1IgaW5zaWRlIGJlY2F1c2Ugc29tZQoJICBzZW5kZXJzIGhhdmUgdHJvdWJsZSBjb25zdHJ1Y3RpbmcgdmFsaWQgU1IgcGFja2V0cyBhZnRlciBCWUUuCgoyMDA5LTA3LTI3IDE1OjMzOjA0ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL01BTklGRVNUOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM3L2dzdC1wbHVnaW5zLWJhZC5zbG46CgkqIHdpbjMyL3ZzNy9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICBkaXJlY3RkcmF3c2luazogdXBkYXRlIHZzOCBidWlsZAoJICBhbHNvIHJlbW92ZSBkaXJlY3RkcmF3c2luayBmcm9tIHZzNiBhbmQgdnM3IGJ1aWxkCgoyMDA5LTA3LTI3IDE0OjUyOjU3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93ZmFrZXNpbmsuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2ludGVyZmFjZS5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2xpYmdzdGRzaG93LmRlZjoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93c3Jjd3JhcHBlcjogcmVtb3ZlIHVzZSBvZiBJR3N0RHNob3dJbnRlcmZhY2UKCjIwMDktMDctMjcgMTM6MTc6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6CgkgIHJ0cGJpbjogZG9uJ3QgZG8gbGlwLXN5bmMgYWZ0ZXIgYSBCWUUKCSAgQWZ0ZXIgYSBCWUUgcGFja2V0IGZyb20gYSBzb3VyY2UsIHN0b3AgZm9yd2FyZGluZyB0aGUgU1IgcGFja2V0cyBmb3IgbGlwLXN5bmMKCSAgdG8gcnRwYmluLiBTb21lIHNlbmRlcnMgZG9uJ3QgdXBkYXRlIHRoZWlyIFNSIHBhY2tldHMgY29ycmVjdGx5IGFmdGVyIHNlbmRpbmcgYQoJICBCWUUgYW5kIHRoZW4gd2UgYnJlYWsgbGlwLXN5bmMuIFdlIHByZWZlciB0byBsZXQgdGhlIGppdHRlcmJ1ZmZlcnMgZHJhaW4gd2l0aAoJICB0aGUgY3VycmVudCBsaXAtc3luYyBpbnN0ZWFkLgoKMjAwOS0wNy0yNyAxMjo0MzowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBvbmx5IHJlY29uc2lkZXIgb25jZSBmb3IgQllFCgkgIFdoZW4gaXRlcmF0aW5nIHRoZSBzb3VyY2VzIG9mIGEgQllFIHBhY2tldCwgZG9uJ3Qgc2lnbmFsIGEgcmVjb25zaWRlcmF0aW9uIGZvcgoJICBlYWNoIG9mIHRoZW0gYnV0IHNpZ25hbCBhZnRlciB3ZSBoYW5kbGVkIGFsbCBzb3VyY2VzLgoKMjAwOS0wNy0yNSAxMjoxOTowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkgIGthdGU6IGJyZWFrIHVwIG1hY3JvcyBpbnRvIG11bHRpcGxlIGxpbmVzCgoyMDA5LTA3LTI0IDIxOjU0OjU5ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWRlYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1LmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IHVzZSBHU1RfRUxFTUVOVF9FUlJPUiBmb3IgZXJyb3IgcmVwb3J0aW5nCgkgIFNlZSAjNTI1NzQzLgoKMjAwOS0wNy0yNCAxNDo1MjoyOCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9hc2ZtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmLmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmbXV4Lmg6CgkqIGdzdC9hc2ZtdXgvZ3N0YXNmb2JqZWN0cy5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZm9iamVjdHMuaDoKCSogZ3N0L2FzZm11eC9nc3Rhc2ZwYXJzZS5jOgoJKiBnc3QvYXNmbXV4L2dzdGFzZnBhcnNlLmg6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5LmM6CgkqIGdzdC9hc2ZtdXgvZ3N0cnRwYXNmcGF5Lmg6CgkgIGFzZm11eDogQWRkcyBuZXcgcGx1Z2luIGFzZm11eAoJICBBZGRzIHRoZSBicmFuZCBuZXcgYXNmbXV4IHBsdWdpbiwgY29udGFpbmluZyAzIGVsZW1lbnRzOgoJICBhc2ZtdXgsIHJ0cGFzZnBheSBhbmQgYXNmcGFyc2UuIFRoaXMgcGx1Z2luIHdhcyBkZXZlbG9wZWQKCSAgYXMgYSBHU29DIDIwMDkgcHJvamVjdCwgd2l0aCBEYXZpZCBTY2hsZWVmIGFzIHRoZSBtZW50b3IgYW5kCgkgIFRoaWFnbyBTYW50b3MgYXMgdGhlIHN0dWRlbnQuCgoyMDA5LTA3LTI0IDA4OjI1OjAzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB3aW4zMi9NQU5JRkVTVDoKCSAgd2luMzI6IEZpeCB0aGUgZGlzdGNoZWNrIGFmdGVyIGRzaG93c3Jjd3JhcHBlciByZWFycmFuZ2VtZW50cwoJICBSZW1vdmUgb2xkIGZpbGVzIGZyb20gdGhlIHdpbjMyIG1hbmlmZXN0LCBhbmQgYWRkIHRoZSBuZXcgb25lLgoKMjAwOS0wNy0yNCAwNzo0MDoxNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgbXVzZXBhY2tkZWM6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTI0IDAxOjAwOjM0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFJldmVydCAiZG9jczogZml4IGRvY3MgYnVpbGQgYWdhaW4iCgkgIEl0J3Mgbm90IG5lZWRlZCBhbnkgbG9uZ2VyIGFmdGVyIFN0ZWZhbidzIHVwZGF0ZXMgaW4gdGhlIGNvbW1vbiBtb2R1bGUuCgkgIFRoaXMgcmV2ZXJ0cyBjb21taXQgMDljNTUwYTE3MmEyYzhhNzZmMGI0OGYyZjhjZTExMDcwNTk4ZjY2Yy4KCjIwMDktMDctMjQgMDA6NDI6NTMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZmVkYWFlZSB0byA5NGY5NWUzCgoyMDA5LTA3LTIzIDE3OjU3OjE0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIGRvY3M6IGZpeCBkb2NzIGJ1aWxkIGFnYWluCgkgIFRoZXJlIGlzIG5vIGVsZW1lbnQgY2FsbGVkICdsYWRzcGEnLCBzbyB0aGVyZSB3b24ndCBiZSBhIC1kZXRhaWxzCgkgIGZpbGUgZm9yIGl0LgoKMjAwOS0wNy0yMyAwOTo1ODozOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWdkZW11eDogUmVtb3ZlIHNvbWUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBjb2RlCgkgIEFsc28gd2UgYWx3YXlzIHJlcXVpcmUgbGlib2lsIHNvIHVzZSBpdCB1bmNvbmRpdGlvbmFsbHkuCgoyMDA5LTA3LTIzIDA5OjUyOjM2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBJbXBsZW1lbnQgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWRzCgoyMDA5LTA3LTIwIDIyOjEzOjExIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogTG9jayBlbGVtZW50IGJlZm9yZSB1bmxvY2tpbmcKCjIwMDktMDctMjAgMjI6MDg6NTIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBGaXggbGVha3MKCSAgVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkgdG8gbm90IGxlYWsgdGhlIHBhZCB0ZW1wbGF0ZQoJICBBbHNvIHByb3Blcmx5IGNoYWluIHVwIHRoZSBmaW5hbGl6ZSB0byB0aGUgcGFyZW50CgoyMDA5LTA3LTIwIDIyOjA4OjI0IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogVXNlIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlCgkgIFByZXZlbnRzIGxlYWsgZm91bmQgYnkgdmFsZ3JpbmQKCjIwMDktMDctMjAgMjE6NTI6NTkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgbWltZW5jOiBVbnJlZiBjbG9ja2lkCgoyMDA5LTA3LTIwIDE0OjAwOjE3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogRG9uJ3Qgb3ZlcndyaXRlIHZhbGlkIHRpbWVzdGFtcHMKCjIwMDktMDctMjAgMTM6NDU6NTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBSZXZlcnQgIm1pbWRlYzogSWdub3JlIHRoZSB0aW1lc3RhbXBzIGluc2lkZSB0aGUgYnVmZmVycyIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA1ZTA1MWZhOThhZWViZGNlMmVjYTZiMzIxZWMxOTI5ZTZmOGZkZjYxLgoKMjAwOS0wNy0yMSAxNTozMzo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBGcmVlIGNvbmZsaWN0aW5nIGFkZHJlc3NlcyBvbiBmaW5hbGl6ZQoKMjAwOS0wNy0yMSAxNTozMTozMyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGcmVlIHRoZSBwYWQgcHJpdmF0ZSBkYXRhIG9uIHBhZCByZWxlYXNlCgkgIEZyZWUgdGhlIHBhZCBwcml2YXRlIGRhdGEgb24gcGFkIHJlbGVhc2UgaW5zdGVhZCBvZiB1c2luZyBhIHdlYWsgcmVmLAoJICB3aGljaCBpcyBub3QgdGhyZWFkIHNhZmUuIEFsc28sIGxvY2sgdGhlIGNvbnRlbnQgb2YgdGhlIHBhZCBwcml2YXRlIHVzaW5nIHRoZSBlbGVtZW50J3MKCSAgb2JqZWN0IGxvY2suCgoyMDA5LTA3LTIyIDE0OjE5OjE4IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogSWdub3JlIGVycm9ycyBwdXNoaW5nIG91dCBuZXcgc2VnbWVudHMKCSAgVGhlIGZvbGxvd2luZyBidWZmZXIgcHVzaCB3aWxsIHJldHVybiBtb3JlIHZhbHVhYmxlIGluZm9ybWF0aW9uLgoKMjAwOS0wNy0yMiAxODowMToxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1dG9jb252ZXJ0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jYW1lcmFiaW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kYzEzOTQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWJ1Z3V0aWxzYmFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWkwci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sdjIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGltaWRpdHkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGRvY3M6IGFkZCBkb2NzIGZvciBsYWRzcGEgYW5kIHVwZGF0ZSBwbHVnaW4gZG9jcwoJICBBZGQgYWxzbyBpbnNwZWN0IGZpbGVzIGZvciBsdjIgYW5kIGZyZWkwciAobm8gZG9jcyB5ZXQpLgoKMjAwOS0wNy0yMiAxNzowNToyOSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IG1vcmUgcGVyZi10ZXN0IGNsZWFudXBzCgkgIFJlbW92ZSBzb21lIG9ic29sZXRlIGV4bWFwbGVzLiBBZGQgdmlkZW8td2lkdGgvaGVpZ2h0LiBVc2UgcHJvcGVyIGFwaSBmb3IKCSAgc2V0dGluZyBzdGlsbCBpbWFnZSByZXNvbHV0aW9uLiBGaXggc3RvcHBpbmcgcmFuZG9tIHRlc3RzIG9uIGJpbi1zdGF0ZS1jaGFuZ2VzLgoJICBSZW1vdmUgdGhlIG1lbWR1cCBpbiBzbmFwc2hvdCBhZ2FpbiwgYXMgaXRzIG5vdCBuZWVkZWQgKHBpeGJ1ZiBnb2VzIG91dCBvZgoJICBzY29wZSB3aXRoIHRoZSBidWZmZXIpLgoKMjAwOS0wNy0yMiAxMTo0NToyMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL01ha2VmaWxlLmFtOgoJICBkc2hvd3NyY3dyYXBwZXI6IHVwZGF0ZSBNYWtlZmlsZS5hbSBmb3Igc291cmNlIGZpbGUgcmVuYW1lcyBhcyB3ZWxsCgoyMDA5LTA3LTIxIDEzOjM3OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgZG9jczogYWRkIHBjYXBwYXJzZSB0byBkb2NzCgoyMDA5LTA3LTIyIDEyOjM0OjM2ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jcHA6CgkgIGRzaG93YXVkaW9zcmM6IGRvIG5vdCByZW1vdmUgYSByYW5nZSBvZiBsZW5ndGggMAoKMjAwOS0wNy0yMiAxMjoyNDo0NiArMDIwMCAgSnVsaWVuIElzb3JjZSA8anVsaWVuLmlzb3JjZUBnbWFpbC5jb20+CgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuY3BwOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgZHNob3dhdWRpb3NyYzogY29udmVydHMgY29kZSB0byBDKysKCjIwMDktMDctMjIgMTE6MDE6NDkgKzAyMDAgIEp1bGllbiBJc29yY2UgPGp1bGllbi5pc29yY2VAZ21haWwuY29tPgoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmNwcDoKCSogd2luMzIvdnM4L2xpYmRzaG93c3Jjd3JhcHBlci52Y3Byb2o6CgkgIGRzaG93dmlkZW9zcmM6IGNvbnZlcnRzIGNvZGUgdG8gQysrCgoyMDA5LTA3LTIyIDAwOjMzOjIyICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IGRvbid0IGFkZCBhIGJhc2VfdGltZT09LTEgdG8gc2VnbWVudCBwb3NpdGlvbnMKCSAgRml4ZXMgYXNzZXJ0aW9uIGFib3V0IG5ld3NlZ21lbnQgd2l0aCBzdGFydD0tMS4KCjIwMDktMDctMjEgMTc6NDg6MzMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogc21hbGwgc3BlZWR1cCBpbiBzb2Z0d2FyZSB6b29tCgkgIEZvcmNlIGNyb3Agb24gZXZlbiBwaXhlbCBwb3NpdGlvbiB0byBhdm9pZCBzbG93cGF0aCBpbiBjcm9wICYgc2NhbGUuCgoyMDA5LTA3LTIxIDE2OjQ4OjI2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogd2UgbmVlZCB0byBjb3B5IHRoZSBkYXRhIGluIHRoZSBleGFtcGxlCgkgIGdka19waXhidWZfbmV3X2Zyb21fZGF0YSBkb2VzIG5vdCBjb3B5IHRoZSBkYXRhLgoKMjAwOS0wNy0yMSAxMToyODoyMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSAgbWFrZTogcmVtb3ZlIHdoaXRlc3BhY2UgYWZ0ZXIgdHJhaWxpbmcgYmFja3NsYXNoCgoyMDA5LTA3LTIxIDEyOjQyOjMzICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5oOgoJICBrYXRlOiBmaXggdGltZSBjb252ZXJzaW9uIGZyb20gRFZEIHN0eWxlIHRpbWVzdGFtcHMuCgoyMDA5LTA3LTIxIDEzOjUxOjIwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBTRUVLSU5HIHF1ZXJ5CgoyMDA5LTA3LTIxIDEzOjM5OjIxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBJbXBsZW1lbnQgU0VFS0lORyBxdWVyeQoJICBGaXhlcyBidWcgIzU4ODk0NC4KCjIwMDktMDctMjEgMTM6MzM6NTggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogSW1wbGVtZW50IFNFRUtJTkcgcXVlcnkKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTg4OTQ0LgoKMjAwOS0wNy0yMSAxMzoxNzowNiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBGcmVlIHRoZSBQTVQgYmVmb3JlIHNldHRpbmcgYSBuZXcgb25lCgoyMDA5LTA3LTIxIDEzOjE0OjAwICswMjAwICBNaWthZWwgTWFnbnVzc29uIDxtaWttYUB1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBSZW1vdmUgb2xkIFBFUyBQSURzIHdoZW4gcmVjZWl2aW5nIFBBVCB0YWJsZXMKCSAgRml4ZXMgYnVnICM1ODM0NzAuCgoyMDA5LTA3LTIxIDExOjEwOjQ5ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIHdpbjMyL3ZzOC9saWJkc2hvd3NyY3dyYXBwZXIudmNwcm9qOgoJICBkc2hvd3NyY3dyYXBwZXI6IGZpeCByZWxhdGl2ZSBwYXRoCgoyMDA5LTA3LTIxIDEwOjQ5OjM3ICswMjAwICBKdWxpZW4gSXNvcmNlIDxqdWxpZW4uaXNvcmNlQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzcmMuY3BwOgoJKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2ludGVyZmFjZS5jcHA6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3cuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93Lmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2Zha2VzaW5rLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuY3BwOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93c3Jjd3JhcHBlci5oOgoJKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkqIHN5cy9kc2hvd3NyY3dyYXBwZXIvbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmRzaG93c3Jjd3JhcHBlci5kc3A6CgkqIHdpbjMyL3ZzOC9nc3QtcGx1Z2lucy1iYWQuc2xuOgoJKiB3aW4zMi92czgvbGliZHNob3dzcmN3cmFwcGVyLnZjcHJvajoKCSAgc3RhcnQgcmVmYWN0b3Jpbmcgb2YgZHNob3dzcmN3cmFwcGVyCgkgIC1yZW1vdmUgZ3N0LWxpYnMvZ3N0L2RzaG93CgkgIC1mYWtlc291cmNlIGlzIG1vdmVkIGZyb20gZ3N0LWxpYnMvZ3N0L2RzaG93IHRvIHN5cy9kc2hvd3NyY3dyYXBwZXIKCSAgLXNvbWUgbWlub3IgY2hhbmdlcyAoQy9DKysgY2hlY2sgYW5kIGluY2x1ZGVzKSB0byBtYWtlIHRoZSBwbHVnaW4KCSAgY29tcGlsZSBhZ2Fpbi4KCjIwMDktMDctMjEgMDE6MDY6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSAga2F0ZTogdXNlIG5ldyBHU1RfVEFHX1NVQklUTEVfQ09ERUMgdGFnIGluc3RlYWQgb2YgR1NUX1RBR19DT0RFQwoKMjAwOS0wNy0yMSAwMDo1NDo0NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZWRlYzogb25seSBwdXQgcHJpbWFyeSBsYW5ndWFnZSB0YWcgaW4gR1NUX1RBR19MQU5HVUFHRQoJICBPbmx5IHB1dCBwcmltYXJ5IGxhbmd1YWdlIGludG8gR1NUX1RBR19MQU5HVUFHRSwgYW5kIGNvbnZlcnQgdG8gbG93ZXIgY2FzZSwKCSAgaWUuIG9ubHkgdXNlICJlbiIgb2YgImVuX0dCIi4gVGhpcyBpcyBwZXIgb3VyIHRhZyBkb2N1bWVudGF0aW9uIGFuZCBoZW5jZQoJICB3aGF0IGFwcHMgZXhwZWN0LiBBbHNvIGFkZCBleGFtcGxlIHRvIGthdGVlbmMgcHJvcGVydHkgZGVzY3JpcHRpb24gc28gcGVvcGxlCgkgIGtub3cgYSBsYW5ndWFnZSBjb2RlIGlzIHdhbnRlZCBoZXJlLgoKMjAwOS0wNy0yMSAwMDowNDoyOCArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkgIGthdGVkZWM6IGFkZCBjb21tZW50IHdoeSB3ZSBkb250JyBzdXBwb3J0IGFwcGxpY2F0aW9uL3gta2F0ZSBoZXJlIGZvciBub3cKCjIwMDktMDctMjAgMTM6NTQ6NDkgKzAxMDAgIFZpbmNlbnQgUGVucXVlcmMnaCA8b2dnLmsub2dnLmtAZ29vZ2xlbWFpbC5jb20+CgoJKiBleHQva2F0ZS9NYWtlZmlsZS5hbToKCSogZXh0L2thdGUvUkVBRE1FOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXNwdS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlc3B1Lmg6CgkgIGthdGVkZWM6IGNyZWF0ZSBTUFUgZm9ybWF0IGltYWdlcyBmcm9tIHN1aXRhYmxlIGJhY2tncm91bmQgaW1hZ2VzCgkgIE1ha2Uga2F0ZWRlYyBmYWJyaWNhdGUgZHZkLXN0eWxlIHN1YnBpY3R1cmVzIGZvciBzdWJ0aXRsZSBvdmVybGF5CgkgIGJpdG1hcHMsIGZvciBlYXNpZXIgcGxheWJpbjIgaW50ZWdyYXRpb24gKCM1ODg2MzgpLgoKMjAwOS0wNy0yMCAxNjoyNDoyMyArMDEwMCAgb2dnLmsub2dnLmsgPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldXRpbC5jOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMva2F0ZS5jOgoJICBrYXRlOiBmaXggc29tZSBtaW5vciBtZW1vcnkgbGVha3MKCSAgTWFrZXMgJ21ha2UgY2hlY2stdmFsZ3JpbmQnIHdvcmsgZm9yIHRoZSBrYXRlIHVuaXQgdGVzdCAoIzUyNTc0MykKCjIwMDktMDctMjAgMTY6Mzk6NDIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgY29kZSBpbiB0ZXN0IHRvIHN0b3JlIHNuYXBzaG90cyBmb3IgbWFudWFsIHZlcmlmaWNhdGlvbgoJICBVc2UgZ2RrX3BpeGJ1ZiB0byBzYXZlIHRoZSBpbWFnZSBpbiBwZXJmLXRlc3QuIEFsc28gcmVtb3ZlIHNvbWUgb2Jzb2x1dGUKCSAgY29tbWVudGVkIG91dCBjb2RlLgoKMjAwOS0wNy0yMCAxNjoyNDowNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkgIGNhbWVyYWJpbjogbG9nIGZvcm1hdHMgaW4gcHJldmlldyBpbWFnZSBjb252ZXJzaW9uCgoyMDA5LTA3LTIwIDE2OjIxOjA2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogcmVtb3ZlIHVudXNlZCB2YXJpYWJsZSBhc3NpZ25tZW50CgkgIFJlc3VsdCBpcyBub3QgbmVlZGVkIGhlcmUsIGJ1dCB2YXJpYWJsZSBpcyB1c2VkIGxhdGVyIG9uLiBBbHNvIHJlbW92ZSBkb3VibGUgbmV3CgkgIGxpbmVzIGluIGZ1bmN0aW9uLgoKMjAwOS0wNy0yMCAxNjoyMDoxNSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheXNpbms6IGNoZWNrIHF1ZXJ5IHJldHVybiByZXN1bHQgYmVmb3JlIHVzaW5nIGl0CgoyMDA5LTA3LTIwIDE2OjE5OjQwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBkb24ndCBkZXJlZmVyZW5jZSB0aGUgcG9pbnRlciBiZWZvcmUgdGhlIHZhbGlkaXR5IGNoZWNrCgoyMDA5LTA3LTIwIDEwOjE3OjA3ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vZ3N0LWNhbWVyYS1wZXJmLmM6CgkgIGNhbWVyYWJpbjogaW1wcm92ZSBwZXJmIHRlc3Qgcm9idXN0bmVzcyBhbmQgYWRkIGNvbW1lbnRzCgoyMDA5LTA3LTIwIDEyOjI1OjE1ICswMTAwICBWaW5jZW50IFBlbnF1ZXJjJ2ggPG9nZy5rLm9nZy5rQGdvb2dsZW1haWwuY29tPgoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJICBrYXRlZW5jOiBhbHNvIHJlY29nbmlzZSB0aGUgbmV3IHJlY29tbWVuZGVkICdTVUInIGNhdGVnb3J5CgkgIE1vdmUgdGhlIGNoZWNrIGZvciAnc2ltcGxlJyBzdWJ0aXRsZXMgY2F0ZWdvcnkgdG8gYSBzZXBhcmF0ZSByb3V0aW5lCgkgIGFuZCBhZGQgaW4gdGhlIG5ldyByZWNvbW1lbmRlZCBTVUIgY2F0ZWdvcnkgKCM1MjU3NDMpLgoKMjAwOS0wNy0yMCAxMTo0MTo0MCArMDEwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5oOgoJICBrYXRlZW5jOiBrZWVwIGJpdG1hcC9wYWxldHRlL3JlZ2lvbiBhcm91bmQgd2hlbiBvbiB0aGUgc3BvdCBlbmNvZGluZyBpcyBub3QgcG9zc2libGUgZHVlIHRvIGFuIHVua25vd24gZW5kIHRpbWUKCSAgRml4ZXMgdmFsZ3JpbmQgdW5pdGlhbGl6ZWQgdmFsdWUgcmVwb3J0LiBTZWUgIzUyNTc0My4KCjIwMDktMDctMTkgMjM6NDU6MDIgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWthdGUueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBpbmZvIGZvciBrYXRlIHBsdWdpbgoJICBTaG91bGQgZml4IHRoZSBkb2NzIGJ1aWxkLgoKMjAwOS0wNy0xOSAyMzozNTowNSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVlbmMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV0YWcuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IGFkZCBzb21lIEZJWE1FcwoKMjAwOS0wNy0xOSAyMzozMjowNyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmM6CgkgIGthdGVkZWM6IGRlbW90ZSB0byBHU1RfUkFOS19OT05FIGZvciBub3cKCSAgVGhlcmUgYXJlIHN0aWxsIHNvbWUgYXV0b3BsdWdnaW5nIGlzc3VlcyB0byBzb3J0IG91dCwgYW5kIGl0IG5lZWRzCgkgIHNvbWUgdGVzdGluZy4KCjIwMDktMDctMTkgMjM6Mjk6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGNoZWNrczogYWRkIGthdGUgdW5pdCB0ZXN0cyB0byB2YWxncmluZCBibGFja2xpc3QgZm9yIG5vdwoJICBBbmQgYWRkIGNoZWNrIGJpbmFyeSB0byBpZ25vcmUgbGlzdC4KCjIwMDktMDctMTkgMjM6MTY6MDcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZXBhcnNlLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkgIGthdGU6IG1ha2Ugc3VyZSB0byBmcmVlIHNvbWUgbW9yZSBzdHVmZgoKMjAwOS0wNy0xOSAyMjoyOToxOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkqIGV4dC9rYXRlL2dzdGthdGV1dGlsLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2thdGUuYzoKCSAga2F0ZTogZml4IHVwIGZvciBhZGRpdGlvbmFsIHN1YnRpdGxlL3gta2F0ZSBtZWRpYSB0eXBlCgoyMDA5LTA3LTEzIDIyOjM4OjQzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSAga2F0ZTogcmVtb3ZlIGxvY2FsIGthdGUgdHlwZWZpbmRlciwgdXNlIHRoZSBvbmUgaW4gLWJhc2UKCjIwMDktMDctMTAgMTg6NDU6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2thdGUvZ3N0a2F0ZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXRpZ2VyLmM6CgkgIGthdGU6IGNoYW5nZSBtZWRpYSB0eXBlIHRvIHN1YnRpdGxlL3gta2F0ZSBhbmQgdXBkYXRlIGRlZmluZSBhY2NvcmRpbmdseQoKMjAwOS0wMi0xNSAxODozNTowNCArMDAwMCAgVmluY2VudCBQZW5xdWVyYydoIDxvZ2cuay5vZ2cua0Bnb29nbGVtYWlsLmNvbT4KCgkqIExJQ0VOU0VfcmVhZG1lOgoJKiBSRVFVSVJFTUVOVFM6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9rYXRlL01ha2VmaWxlLmFtOgoJKiBleHQva2F0ZS9SRUFETUU6CgkqIGV4dC9rYXRlL2dzdGthdGUuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZS5oOgoJKiBleHQva2F0ZS9nc3RrYXRlZGVjLmM6CgkqIGV4dC9rYXRlL2dzdGthdGVkZWMuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZWVuYy5jOgoJKiBleHQva2F0ZS9nc3RrYXRlZW5jLmg6CgkqIGV4dC9rYXRlL2dzdGthdGVwYXJzZS5jOgoJKiBleHQva2F0ZS9nc3RrYXRlcGFyc2UuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXRhZy5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGFnLmg6CgkqIGV4dC9rYXRlL2dzdGthdGV0aWdlci5jOgoJKiBleHQva2F0ZS9nc3RrYXRldGlnZXIuaDoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuYzoKCSogZXh0L2thdGUvZ3N0a2F0ZXV0aWwuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9rYXRlLmM6CgkgIGFkZCBuZXcgS2F0ZSBwbHVnaW4sIGZvciBLYXRlIG92ZXJsYXkgc3RyZWFtcwoJICBrYXRlZGVjOiBLYXRlIGRlY29kZXIgKHRleHQgb25seSkKCSAga2F0ZWVuYzogS2F0ZSBlbmNvZGVyICh0ZXh0IGFuZCBEVkQgU1BVIG9ubHkpCgkgIGthdGV0YWc6IEthdGUgdGFnZ2VyCgkgIGthdGVwYXJzZTogS2F0ZSBwYXJzZXIKCSAgdGlnZXI6IEthdGUgcmVuZGVyZXIgdXNpbmcgdGhlIFRpZ2VyIHJlbmRlcmluZyBsaWJyYXJ5CgkgIEZpeGVzICM1MjU3NDMuCgoyMDA5LTA3LTE5IDE1OjM3OjUwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzoKCSAgcmVhbDogZGlmZmVyZW50aWF0ZSBiZXR3ZWVuICdtb2R1bGUgZG9lcyBub3QgZXhpc3QnIGFuZCBnZW51aW5lIG1vZHVsZSBvcGVuaW5nIGVycm9ycwoJICBEb24ndCBsb2cgYSBHU1RfRVJST1IgaWYgb25lIG9mIHRoZSBjb2RlYyBtb2R1bGVzIHdlIHdlcmUgbG9va2luZyBmb3IKCSAgZG9lc24ndCBleGlzdC4gVGhhdCdzIG5vdCBhIGdlbnVpbmUgZXJyb3IsIGJ1dCBzb21ld2hhdCBleHBlY3RlZC4KCjIwMDktMDctMTggMDg6NDM6MzcgKzAyMDAgIE1hdGlqcyB2YW4gWnVpamxlbiA8TWF0aWpzLnZhbi5adWlqbGVuQHhzNGFsbC5ubD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4IGludGVnZXIgb3ZlcmZsb3cKCSAgVGhpcyBicmVha3MgcGxheWJhY2sgb2YgZmlsZXMgPjQgR0IgYXMgdGhlIG9mZnNldCB3YXMKCSAgYSBndWludCBiZWZvcmUuIENoYW5naW5nIGl0IHRvIGEgZ3VpbnQ2NCBmaXhlcyB0aGlzLgoKMjAwOS0wNy0xNyAxNTo0NzoxMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmVzZXQgc3RhdGUgaWYgdGhlcmUgaXMgc29tZXRoaW5nIHRvIHJlc2V0CgkgIFRoZSBjb25kaXRpb24gd2FzIHdyb25nIGFuZCBhcyBzdWNoIHRoZSBlbGVtZW50IHdhcyB3cml0aW5nIHRoZSBzYW1lIHRhZ3Mgb24gc3Vic2VxdWVudAoJICBpbWFnZXMgaWYgcmV1c2VkLgoKMjAwOS0wNy0xNyAxNTo0NTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1c2UgZ3N0X2NhcHNfcmVwbGFjZSBpbnN0ZWFkIG9mIHNlcGFyYXRlIGNhbGxzCgkgIFRoaXMgZml4ZXMgc2V0dGluZyBzbmFwc2hvdCBjYXBzIGJhY2sgdG8gTlVMTCBhbHNvLgoKMjAwOS0wNy0xNyAxNTozODowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IGltcGxlbW5ldCB0d28gbW9yZSB0ZXN0cwoJICBBZGQgdGVzdHMgZm9yIHZpZGVvcmVjb3JkaW5nIHN0YXJ0dXAgYW5kIGNhcHR1cmUgc3RhcnR1cCBkZWxheS4KCjIwMDktMDctMTcgMDk6MzY6MTUgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBjb21wb25lbnQgdGFnIHRvIHRoZSB2aWRlbyBjb21wb25lbnQgc3RydWN0dXJlIGluIGVpdAoKMjAwOS0wNy0xNiAxNzoyNzowOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IERvbid0IHByZXRlbmQgdG8gYmUgTUwyMCBpZiBwYXVzZWQKCjIwMDktMDctMTYgMTY6MDY6MjYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJICBtaW1kZWM6IElnbm9yZSB0aGUgdGltZXN0YW1wcyBpbnNpZGUgdGhlIGJ1ZmZlcnMKCjIwMDktMDctMTYgMTU6NDM6NDYgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBEb24ndCB0cnkgdG8gcGFyc2UgdGhlIGhlYWRlciBiZWZvcmUgZHJvcHBpbmcgdGhlIHBhdXNlZCBmcmFtZXMKCjIwMDktMDctMTYgMTU6NDM6MTUgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgbWltZGVjOiBQcmludCB0aGUgaW5jb21pbmcgZm91cmNjIG9uIGVycm9ycwoKMjAwOS0wNi0xOSAyMDoxMzo1MyArMTAwMCAgQXVzdGluIEx1bmQgPGF1c3Rpbi5sdW5kQGdtYWlsLmNvbT4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEluY3JlYXNlZCB0aGUgbGVuZ3RoIG9mIHRpbWUgZm9yIHR1bmluZyBpbiBnc3RkdmJzcmMuYy4KCSAgU29tZSBkZXZpY2VzIHRha2UgYSB3aGlsZSB0byB0dW5lIGFuZCA1MDBtcyB3YXMgdG9vIHNob3J0IHRvIGRldGVjdAoJICBzdWNjZXNzZnVsIHR1bmluZy4gIEFzIHdlbGwgYXMgd2FpdGluZyBmb3IgNSBzZWNvbmRzIGVhY2ggMTAwbXMgdGhlCgkgIHN0YXR1cyBpcyBjaGVja2VkIGFuZCB0aGUgbG9vcCBpcyBicm9rZW4gb3V0IG9mIHdoZW4gdHVuaW5nIGhhcyBzdWNlZWRlZC4KCjIwMDktMDctMTYgMTk6NDk6MjYgKzAyMDAgIEFsZWtzZXkgWXVsaW4gPHVsaW5AdHV0LmJ5PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRG9uJ3QgdXNlIFBJRHMgPiBNUEVHVFNfTUFYX1BJRAoJICBUaGUgbXBlZ3RzZGVtdXggc3RyZWFtcyBhcnJheSBvbmx5IGhhcyBNUEVHVFNfTUFYX1BJRCBlbnRyaWVzCgkgIGFuZCBhY2Nlc3Npbmcgb25lIGFmdGVyd2FyZHMgd2lsbCByZXN1bHQgaW4gY3Jhc2hlcy4KCSAgRml4ZXMgYnVnICM1NzU2NzIuCgoyMDA5LTA3LTE2IDE4OjE0OjE4ICswMzAwICBaZWVzaGFuIEFsaSAoS2hhdHRhaykgPHplZXNoYW5ha0Bnbm9tZS5vcmc+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSAgQWRkIG1vcmUgZGVidWcgb3V0cHV0IHRvIG1ldGFkYXRhbXV4CgoyMDA5LTA3LTE2IDEyOjAzOjMyICswMjAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBwZXNmaWx0ZXI6IFBlcm1pdCB1bmJvdW5kZWQgcGFja2V0cyBmb3IgMHhmZCAoZXh0ZW5kZWQgc3RyZWFtIGlkKS4KCSAgQWRkZWQgcGFyc2luZyBvZiBQRVMgZXh0ZW5zaW9uIHJlbGF0ZWQgZGF0YS4KCSAgRml4ZXMgc29tZSBWQzEgcmVsYXRlZCBpc3N1ZXMuCgoyMDA5LTA3LTE2IDEzOjU1OjE0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIG9zczQ6IEF0dGVtcHQgdG8gZml4IGEgY29tcGlsZXIgd2FybmluZwoJICBEb24ndCBzdG9yZSBhIGNvbnN0IGdjaGFyICogaW4gYSBub24tY29uc3QgZ2NoYXIgKiBsb2NhbCB2YXIuCgkgIEFsc28sIG1ha2UgdGhlIHRyYW5zbGF0aW9uIHN0cmluZyBmdW5jdGlvbiBzdGF0aWMgc2luY2UgaXQncyBvbmx5CgkgIHVzZWQgaW4gdGhlIG9uZSBmaWxlLgoKMjAwOS0wNy0xNSAxODoxMDowNCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBtZXRhZGF0YTogRml4IHNvbWUgY29tcGlsZXIgd2FybmluZ3MKCSAgQ2FzdCBzb21lIGRlYnVnIHN0cmluZyBwYXJhbWV0ZXJzIHNvIHRoYXQgdGhleSBkb24ndCBjYXVzZSBtaXNtYXRjaGVkCgkgIHR5cGUgd2FybmluZ3MuCgoyMDA5LTA3LTE1IDE2OjE3OjM1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdTogRml4IGEgY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpc2VkIHZhcmlhYmxlIHVzZS4KCjIwMDktMDYtMTAgMTk6MjE6MjEgKzAxMDAgIEdhcnJldHQgRCdBbW9yZSA8Z2FycmV0dC5kYW1vcmVAc3VuLmNvbT4KCgkqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guYzoKCSogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICBvc3M0OiBFbmhhbmNlbWVudHMgdG8gdGhlIG1peGVyIGFuZCBhdWRpbyBvdXRwdXQKCSAgQ29kZSBjbGVhbnVwcywgZ2VuZXJhbCBpbXByb3ZlbWVudHMsIHN1cHBvcnQgZm9yIHRoZQoJICBuZXcgbWl4ZXIgZmxhZ3MgaW4gbGF0ZXN0IGdzdC1wbHVnaW5zLWJhc2UuCgkgIEZpeGVzOiAjNTg0MjUyCgkgIFBhdGNoIEJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgkgIFBhdGNoIEJ5OiBHYXJyZXR0IEQnQW1vcmUgPGdhcnJldHQuZGFtb3JlQHN1bi5jb20+CgoyMDA5LTA3LTE1IDE4OjI3OjM5ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBhZGQgY29tcG9uZW50IHRhZyB0byBzdHJ1Y3R1cmUgZm9yIGNvbXBvbmVudCBtZXNzYWdlCgoyMDA5LTA3LTE1IDE3OjQ0OjEwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uYzoKCSAgY2FtZXJhYmluOiB1c2Ugbm9uYnVmZmVyZWQgaW8gdG8gc2F2ZSBtZW1jb3BpZXMKCSAgV2Ugd3JpdGUgbGFyZ2UgYmxvY2tzIGFueXdheSwgc28gbm8gZXh0cmEgYnVmZmVyaW5nIHBsZWFzZS4gQWxzbyB1c2Ugb25lCgkgIGdfb2JqZWN0X3NldCB0byBzZXQgbXVsdGlwbGUgcHJvcGVydGllcyBvbiBzYW1lIG9iamVjdC4KCjIwMDktMDctMTUgMTI6MjA6MTcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vVE9ETzoKCSAgY2FtZXJhYmluOiB0cmFjayB0b2RvIGl0ZW1zCgoyMDA5LTA3LTE1IDExOjE3OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIGltYWdlL3ZpZGVvIGJpbiBpbiByZWFkeSB3aGVuIGNoYW5naW5nIG1vZGUKCjIwMDktMDctMTQgMTQ6MTA6NTUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgIGFtcnBhcnNlOiBTeW5jIGJhc2VwYXJzZSBjaGFuZ2VzCgoyMDA5LTA3LTE0IDE0OjA4OjA0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBhYWNwYXJzZTogQWRkIGZ1bmN0aW9uIGZvciB0aGUgYmFzZXBhcnNlIHN1YmNsYXNzIHRvIHB1c2ggYnVmZmVycyBkb3duc3RyZWFtCgkgIEFsc28gaGFuZGxlIHRoZSBjYXNlIGdyYWNlZnVsbHkgd2hlcmUgdGhlIHN1YmNsYXNzIGRlY2lkZXMgdG8gZHJvcAoJICB0aGUgZmlyc3QgYnVmZmVycyBhbmQgaGFzIG5vIGNhcHMgc2V0IHlldC4gSXQncyBzdGlsbCByZXF1aXJlZCB0bwoJICBoYXZlIHZhbGlkIGNhcHMgc2V0IHdoZW4gdGhlIGZpcnN0IGJ1ZmZlciBzaG91bGQgYmUgcGFzc2VkIGRvd25zdHJlYW0uCgoyMDA5LTA3LTE0IDE0OjA3OjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2VlayBldmVudCBsZWFraW5nCgoyMDA5LTA3LTE0IDEwOjQ0OjU4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIG1ldGFkYXRhOiBmaXggY29weSduJ3Bhc3RlIGluIHRhZyBkZXNjcmlwdGlvbgoKMjAwOS0wNy0xMyAxODowNDoxNCAtMDcwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkgIHNjaHJvOiBBZGQgZW51bSB0eXBlcyBmb3Igc2Nocm9lZGluZ2VyIHNldHRpbmdzCgoyMDA5LTA2LTMwIDE2OjMxOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgZW1wdHkgbGFuZ3VhZ2UgY29kZSBzdHJpbmdzCgkgIElnbm9yZSBlbXB0eSBsYW5ndWFnZSBjb2RlcyBvbiBzb21lIHBvb3JseSBjb2RlZCBEVkRzLCByYXRoZXIgdGhhbgoJICBzZXR0aW5nIGVtcHR5IHN0cmluZ3MgaW50byBvdXIgb3V0Z29pbmcgdGFnbGlzdC4KCjIwMDktMDctMTMgMTI6MjQ6MDQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gNTg0NWI2MyB0byBmZWRhYWVlCgoyMDA5LTA3LTEwIDIxOjQyOjE5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkgIG1pbWVuYzogT25seSBlbmFibGUgcGF1c2VkIG1vZGUgaWYgdGhlIHByb3BlcnR5IGlzIHRydWUKCjIwMDktMDctMTAgMTM6MDM6NTQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICBpdm9yYmlzOiBleHRyYWN0IHZvcmJpcyBjb21tZW50cwoJICBGaXhlcyAjNTc1ODE4LgoKMjAwOS0wNy0wOCAxNzo1OToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBCR1JBIHN1cHBvcnQgZm9yIHZpZGVvIGluL291dHB1dAoKMjAwOS0wNy0wOCAxNToyNjowNyArMDIwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBkb3VibGUgZnJlZQoJICBUaGUgaGFzaCB0YWJsZSBhbHJlYWR5IG1ha2VzIHN1cmUgdGhhdCB0aGUgc3RyZWFtIGlzIGNvcnJlY3RseQoJICBmcmVlJ2Qgd2hlbiBlbGVtZW50cyBhcmUgcmVtb3ZlZC4KCSAgRml4ZXMgYnVnICM1ODc4MTkuCgoyMDA5LTA3LTA4IDEwOjE2OjE5ICswMTAwICBNaWd1ZWwgw4BuZ2VsIEZhcnLDqSA8bWlxdWVsLmZhcnJlQGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY29tcG9uZW50IHRhZwoKMjAwOS0wNy0wOCAxMDoxMTo1MiArMDEwMCAgTWlndWVsIMOAbmdlbCBGYXJyw6kgPG1pcXVlbC5mYXJyZUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogcGFyc2UgY2Fyb3VzZWwgaWRlbnRpZmllciBkZXNjcmlwdG9yCgoyMDA5LTA3LTA3IDE1OjI4OjA0ICswMTAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgbXBlZ3RzcGFyc2U6IGFkZCBwYXJzaW5nIG9mIGRhdGEgYnJvYWRjYXN0IGRlc2NyaXB0b3JzCgoyMDA5LTA3LTA3IDIwOjI4OjA5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSAgYmFzZXZpZGVvOiBMaW5rIHdpdGggbGliZ3N0dmlkZW8gZm9yIHNvbWUgdXNlZCBmdW5jdGlvbnMKCjIwMDktMDctMDcgMTk6MTg6MTYgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNlbmQgcGF1c2UgZnJhbWVzIHdoZW4gcGF1c2VkCgoyMDA5LTA3LTA3IDE5OjE1OjQyICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIG1pbWRlYzogSWdub3JlIHBhdXNlIGZyYW1lcwoKMjAwOS0wNy0wNyAxODoyNzozNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCBrZXlmcmFtZS9wYXVzZWQgZmxhZ3MgaW4gdGNwIGhlYWRlcgoKMjAwOS0wNy0wNyAxODoxODowNiArMDEwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBtaW1lbmM6IFB1dCB0aW1lc3RhbXAgb24gdGhlIGhlYWRlciBidWZmZXIKCjIwMDktMDctMDcgMTg6MjI6NTQgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUKCjIwMDktMDctMDYgMTc6MTc6MjIgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IFNhdmUgdGhlIHNlZ21lbnQKCjIwMDktMDctMDYgMTY6MjQ6NTkgKzAxMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJICBtaW1lbmM6IEFkZCBwcm9wZXJ0eSBmb3IgdGhlIHBhdXNlZCBtb2RlCgoyMDA5LTA3LTAzIDE2OjA4OjM4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC92aWRlby9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5oOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvdXRpbHMuaDoKCSAgYmFzZXZpZGVvLCBzY2hyb2VkaW5nZXI6IGd1YXJkIHVuc3RhYmxlIEFQSSB3aXRoIEdTVF9VU0VfVU5TVEFCTEVfQVBJCgkgIEFkZCBzb21lIGd1YXJkcyBhbmQgZmF0IHdhcm5pbmdzIHRvIHRoZSBoZWFkZXIgZmlsZXMgd2l0aCBzdGlsbCB1bnN0YWJsZQoJICBBUEksIHNvIHBlb3BsZSB3aG8ganVzdCBsb29rIGF0IHRoZSBpbnN0YWxsZWQgaGVhZGVycyBrbm93IHRoYXQgaXQKCSAgYWN0dWFsbHkgaXMgdW5zdGFibGUgQVBJLgoKMjAwOS0wNy0wMiAxNTo1ODowMCArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IHNkdCBwYXJzaW5nLgoJICBmaXggcGFyc2luZyBvZiBldmVyeXRoaW5nIGZvciBlYWNoIHNlcnZpY2UgZnJvbSBlaXQgc2NoZWR1bGUgZmxhZyBvbiBhbmQgYWxzbwoJICBhZGQgYSBydW5uaW5nLXN0YXR1cyBwYXJhbWV0ZXIgdG8gdGhlIGJ1cyBtZXNzYWdlIHN0cnVjdHVyZS4KCjIwMDktMDctMDIgMTE6MjQ6NDggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuaDoKCSAgc2hhcGV3aXBlOiBBZGQgc3VwcG9ydCBmb3IgQVJHQiB2aWRlbyBpbnB1dC9vdXRwdXQKCjIwMDktMDctMDEgMTA6NTU6MTIgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvTWFrZWZpbGUuYW06CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm8uYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb2RlYy5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvZW5jLmM6CgkqIGV4dC9zY2hyb2VkaW5nZXIvZ3N0c2Nocm9wYXJzZS5jOgoJKiBleHQvc2Nocm9lZGluZ2VyL2dzdHNjaHJvdXRpbHMuYzoKCSogZXh0L3NjaHJvZWRpbmdlci9nc3RzY2hyb3V0aWxzLmg6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvY29kZWMuYzoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb2NvZGVjLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9kZWNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9lbmNvZGVyLmg6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW9wYXJzZS5jOgoJKiBnc3QtbGlicy9nc3QvdmlkZW8vZ3N0YmFzZXZpZGVvcGFyc2UuaDoKCSogZ3N0LWxpYnMvZ3N0L3ZpZGVvL2dzdGJhc2V2aWRlb3V0aWxzLmM6CgkqIGdzdC1saWJzL2dzdC92aWRlby9nc3RiYXNldmlkZW91dGlscy5oOgoJICBiYXNldmlkZW86IG1vdmUgZnJvbSAtYmFzZQoJICBBbHNvIG1vdmUgc2Nocm9lZGluZ2VyIHBsdWdpbi4gIFRoaXMgY3JlYXRlcyBhIG5ldyBsaWJyYXJ5LAoJICBnc3RiYXNldmlkZW8tMC4xMCwgd2hpY2ggd2lsbCBwcm9iYWJseSBiZSBtZXJnZWQgYmFjayBpbnRvCgkgIGdzdHZpZGVvLTAuMTAgd2hlbiB0aGlzIGlzIG1vdmVkIGJhY2sgdG8gLWJhc2UuCgoyMDA5LTA3LTAxIDEyOjU1OjAzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6CgkgIHJ0cGJpbjogdXNlIG5ldyBtZXRob2QgZm9yIG5ldGFkZHJlc3MgdG8gc3RyaW5nCgoyMDA5LTA2LTI5IDE3OjI0OjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3Q6IEFkZCBsdjIgcGx1Z2luIHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE2OjM3OjAxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZGlzdDogQWRkIHRoZSBjYW1lcmFiaW4gZXhhbXBsZXMgc3ViZGlyZWN0b3J5IHRvIHRoZSBkaXN0CgoyMDA5LTA2LTI5IDE4OjQ4OjMzICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbi5jOgoJICBydHBiaW46IGRvIGJldHRlciBjbGVhbnVwIG9mIHRoZSBzcmMgZ2hvc3RwYWRzCgkgIENvbm5lY3QgdG8gdGhlIHBhZC1yZW1vdmVkIHNpZ25hbCBvZiB0aGUgcHRkZW11eCBlbGVtZW50cyBzbyB0aGF0IHdlIHJlbW92ZSB0aGUKCSAgZ2hvc3RwYWRzIGZvciB0aGVtLiBGaXhlcyBjbGVhbnVwIHdoZW4gZ29pbmcgdG8gTlVMTCBhcyB3ZWxsIGFzIHdoZW4gcmVsZWFzaW5nCgkgIHRoZSBzaW5rcGFkcy4KCSAgRml4ZXMgIzU2MTc1MgoKMjAwOS0wNi0yOSAxNzo0ODoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIGRvY3M6IHJlbW92ZSBvbGQgZWxlbWVudAoKMjAwOS0wNS0yOCAxOTowODo0MCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogYWRkIGEgY29tbWVudAoKMjAwOS0wNi0yOSAxNjozNzo1NCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBiaW46IGFkZCBTREVTIHByb3BlcnR5CgkgIFJlbW92ZSBhbGwgaW5kaXZpZHVhbCBTREVTIHByb3BlcnRpZXMgYW5kIHVzZSBvbmUgc2RlcyBwcm9wZXJ0eSB0aGF0IHRha2VzIGEKCSAgR3N0U3RydWN0dXJlIGluc3RlYWQuIFRoaXMgd2lsbCBhbGxvdyB1cyB0byBhZGQgbW9yZSBjdXN0b20gc3R1ZmYgdG8gdGhlIFNERVMKCSAgbWVzc2FnZXMgbGF0ZXIuCgoyMDA5LTA2LTI5IDE2OjIxOjA1ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgcnRwYmluOiBhZGQgU0RFUyBwcm9wZXJ0eSB0aGF0IHRha2VzIEdzdFN0cnVjdHVyZQoJICBSZW1vdmUgYWxsIGluZGl2aWR1YWwgU0RFUyBwcm9wZXJ0aWVzIGFuZCB1c2Ugb25lIHNkZXMgcHJvcGVydHkgdGhhdCB0YWtlcyBhCgkgIEdzdFN0cnVjdHVyZSBpbnN0ZWFkLiBUaGlzIHdpbGwgYWxsb3cgdXMgdG8gYWRkIG1vcmUgY3VzdG9tIHN0dWZmIHRvIHRoZSBTREVTCgkgIG1lc3NhZ2VzIGxhdGVyLgoKMjAwOS0wNi0wMiAxNzo0NjowOCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOgoJICBydHBiaW46IHJlbW92ZWQgb2xkIGdzdHJ0cGNsaWVudAoKMjAwOS0wNi0yOSAxMjoyMzo1OSArMDIwMCAgQW5kb25pIE1vcmFsZXMgPHlsYXR1eWEgYXQgZ21haWwuY29tPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsOiBvbmx5IGluY2x1ZGUgc3lzL3RpbWUuaCB3aGVuIHdlIGhhdmUgaXQKCSAgRml4ZXMgIzU4Njk1NgoKMjAwOS0wNi0yOSAxMjowMjoxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogQ29ycmVjdGx5IGNsZWFuIHVwIGVsZW1lbnRzIHRvIGJlIHJldXNhYmxlIGFuZCBub3QgbGVhayBtZW1vcnkKCjIwMDktMDYtMjkgMTE6NTk6MTMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuaDoKCSAgZnJlaTByOiBJbiB0aGUgZmlsdGVyIHBsdWdpbnMgY3JlYXRlIHRoZSBmcmVpMHIgaW5zdGFuY2VzIGluIGNyZWF0ZSgpIGJlZm9yZSBwbGF5YmFjayBzdGFydHMKCjIwMDktMDYtMjkgMTE6NTY6NTkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJICBmcmVpMHI6IEluIHRoZSBtaXhlciBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjU0OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogSW4gdGhlIHNyYyBwbHVnaW5zIGNyZWF0ZSB0aGUgZnJlaTByIGluc3RhbmNlcyBpbiBjcmVhdGUoKSBiZWZvcmUgcGxheWJhY2sgc3RhcnRzCgoyMDA5LTA2LTI5IDExOjUwOjQ0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkgIGZyZWkwcjogVXNlIGZpeGVkIGNhcHMgb24gdGhlIGZpbHRlciBwYWRzCgkgIFRoaXMgaXMgcmVxdWlyZWQgYmVjYXVzZSB3ZSBoYXZlIHRvIGNyZWF0ZSBhIG5ldyBmcmVpMHIKCSAgaW5zdGFuY2UgZm9yIGFueSBjYXBzIGNoYW5nZXMgYW5kIHRoZSBpbnN0YW5jZXMgY2FuIGhhdmUgaGlzdG9yeS4KCSAgSnVzdCBjcmVhdGluZyBhIG5ldyBpbnN0YW5jZSBkdXJpbmcgcGxheWJhY2sgY2FuIHJlc3VsdCBpbiBiYWQgb3V0cHV0CgkgIHJpZ2h0IGFmdGVyIHRoZSBjYXBzIGNoYW5nZS4KCjIwMDktMDYtMjcgMDk6NTE6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBTZXQgdGhlIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzIGNvcnJlY3RseQoKMjAwOS0wNi0yNiAxODozNTowNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjb2RlIGNsZWFudXBzCgkgIERvd25ncmFkZSBhIFdBUk5JTkcgdG8gSU5GTy4gVXNlIGEgYml0IG1vcmUgY29tcGFjdCBjb2RlLiBBZGQgYSBmaXhtZSBjb21tZW50LgoKMjAwOS0wNi0yNiAxODozNDozNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBqdXN0IHJlZiBjYXBzLCB3ZSBkb24ndCBuZWVkIGEgd3JpdGFibGUgY29weQoKMjAwOS0wNi0yNiAxODozMzo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBubyBuZWVkIHRvIHJlZiBhbmQgdW5yZWYgdGhpcyB0ZW1wb3JhcmlseQoKMjAwOS0wNi0yNiAxODozMjo0MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsZWFrIHNpbmtfY2FwcyBpZiB0aGV5IHdvdWxkIGJlIGFueS1jYXBzCgoyMDA5LTA2LTI2IDE4OjMxOjUxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcHJldmlldyBpbWFnZXMKCjIwMDktMDYtMjYgMTg6MzA6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbGVhayB2aWV3ZmluZGVyLWNhcHMKCjIwMDktMDYtMjYgMTY6MDc6NDMgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBtYWtlIHNob3Qyc2hvdCB0ZXN0IG1vcmUgcmVsaWFibGUKCSAgV2UgY2FuIG9ubHkgdHJpZ2dlciBuZXh0IHNob3QgKGluIHRoZSB0ZXN0KSB3aGVuIGN1cnJlbnQgaXMgY2FwdHVyZWQgYW5kIHNhdmVkLgoKMjAwOS0wNi0yNiAxMzoxMDoxMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJICBjYW1lcmFiaW46IGluc2VydCBhIGZldyBibGFuayBsaW5lcyBmb3IgcmVhZGFiaWxpdHkKCjIwMDktMDYtMjYgMTM6MDk6MjcgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgbWVzc2FnZXMgYW5kIGVsZW1lbnQgcmVmcyBpbiBwcmV2aWV3CgoyMDA5LTA2LTI2IDE1OjEwOjA1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nLiBDaGVjayBmb3IgYXV0b21ha2UtMS4xWzAxXQoJICBDaGVjayBmb3IgbW9yZSBhdXRvbWFrZSBjb21tYW5kIHZhcmlhbnRzLiBVc2UgcHJpbnRmIGluc3RlYWQgb2YgJ2VjaG8gLW4nCgkgIGZvciBwb3J0YWJpbGl0eQoKMjAwOS0wNi0yNiAxMzo0Mjo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmODEwMDMwIHRvIDU4NDViNjMKCjIwMDktMDYtMjYgMDk6MzA6MjIgKzAxMDAgIENoYW5nd29vIFJ5dSA8Y3dyeXVAZGViaWFuLm9yZz4KCgkqIGdzdC9mcmVlemUvTWFrZWZpbGUuYW06CgkgIGZyZWV6ZTogZG9uJ3QgYnVpbGQgcGx1Z2luIHN0YXRpYyBsaWIKCSAgUGFzcyAtLXRhZz1kaXNhYmxlLXN0YXRpYyB0byBsaWJ0b29sIGxpa2Ugd2UgZG8gZm9yIG90aGVyIHBsdWdpbnMuCgkgIEZpeGVzICM1ODcwMjMuCgoyMDA5LTA2LTI1IDEyOjMxOjMyIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbHYyL2dzdGx2Mi5jOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBmcHJpbnRmLgoKMjAwOS0wNS0zMCAxMToxODoyMSAtMDQwMCAgRGF2ZSBSb2JpbGxhcmQgPGRhdmVAZHJvYmlsbGEubmV0PgoKCSogZXh0L2x2Mi9SRUFETUU6CgkgIEFkZCBMVjIgcXVpY2sgc3RhcnQgUkVBRE1FLgoKMjAwOS0wNi0yNSAxOToyMzoxNiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRvbid0IGxlYWsgcmVxdWVzdHBhZHMKCSAgUmVxdWVzdHBhZHMgbmVlZCB0byBiZSByZWxlYXNlZCBhbmQgdW5yZWZmZWQuIEFkZCBhIGNvbW1lbnQgaW4gb25lIGNhc2Ugd2hlcmUKCSAgd2UgaW50ZW50aW9uYWx5IGRvbid0IHVucmVmLgoKMjAwOS0wNi0yNSAxOToyMTo0NyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5jOgoJICBjYW1lcmFiaW46IHN5bmMgZmlyc3QgdGVzdCBtb3JlIHNhZmVseQoJICBEb24ndCB1c2UgZ3N0X2VsZW1lbnRfZ2V0X3N0YXRlKCkgdG8gd2FpdCBmb3IgUExBWUlORywgVXNlIHRoZSBidXMtaGFuZGxlcgoJICBpbnN0ZWFkZXIgYW5kIGFzeW5jaHJvbm91c2x5IHNjaGVkdWxlIG5leHQgdGVzdC4KCjIwMDktMDYtMjUgMTY6NDE6NDkgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9nc3RjYXBzc2V0dGVyLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2dzdGNhcHNzZXR0ZXIuaDoKCSAgY2Fwc3NldHRlcjogaW1wb3J0IGVsZW1lbnQgaW50byAtYmFkCgoyMDA5LTA2LTI1IDA4OjM4OjIxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBSZW1vdmUgdW51c2VkIHZhcmlhYmxlLgoKMjAwOS0wNi0yNSAwODozODoxMCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogRml4IGRlYnVnIHN0YXRlbWVudC4KCjIwMDktMDYtMjQgMTg6NTY6MjggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSAgY2FtZXJhYmluOiBhZGQgdGFyZ2V0LXRpbWVzIG9wdGlvbiB0byBzcGVjaWZ5IHRlc3QgdGltZXMKCSAgSGF2ZSBzb21lIHJlYXNvbmFibGUgZGVmYXVsdCB0aW1lcy4gQWRkIGEgY29tbWFuZGxpbmUgb3B0aW9uIHRvIG92ZXJyaWRlCgkgIGRlZmF1bHRzLiBJbnRlcnByZXQgdGFyZ2V0LXRpbWU9MCBhcyBza2lwLXRlc3QuCgoyMDA5LTA2LTIzIDEzOjAxOjUyICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGJ1ZmZlci1hbGxvYyBzdXBwb3J0IGZpeGVzIHRvIGltYWdlIGFuZCB2aWRlbyBiaW4gaGFuZGxpbmcKCSAgS2VlcCBpbWFnZSBiaW4gaW4gUEFVU0VEIHN0YXRlIGluIGltYWdlIG1vZGUgZXhjZXB0IHdoZW4gcHJvY2Vzc2luZy9zYXZpbmcgKFBMQVlJTkcvUkVBRFkpLgoJICBDaGFuZ2Ugb3V0cHV0LXNlbGVjdG9yIHRvIHZpZXcgZmluZGVyIGJlZm9yZSBzZXR0aW5nIHZpZGVvIGJpbiB0byBSRUFEWS4KCSAgRml4IGZpbGVuYW1lIHNlbnQgd2l0aCBpbWctZG9uZSBzaWduYWwuCgoyMDA5LTA2LTIzIDEzOjAxOjEzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmludmlkZW8uaDoKCSAgY2FtZXJhYmluOiBmaXggc2V0dGluZyBtdXRlIHdoZW4gdmlkZW8gYmluIGVsZW1lbnRzIGhhdmVuJ3QgYmVlbiBjcmVhdGVkCgoyMDA5LTA2LTE2IDE4OjEyOjI5ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZSBiaW4gdG8gUEFVU0VEIHdoZW4gc3RhcnRpbmcgY2FwdHVyZQoJICBTZXQgaW1hZ2UgYmluIHRvIFBBVVNFRCBhbHNvIHdoZW4gc3RhcnRpbmcgY2FwdHVyZSB1c2luZyBwaG90b2dyYXBoeQoJICBpbnRlcmZhY2UuCgoyMDA5LTA0LTIxIDEwOjU1OjM2ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGxlYXZlIHY0bDJjYW1zcmMgImNhcHR1cmUtbW9kZSIgYXMgdmlkZW8gbW9kZSB3aGVuIHBhdXNpbmcKCjIwMDktMDYtMjQgMTU6MTQ6MzMgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmM2JiNTFiIHRvIGY4MTAwMzAKCjIwMDktMDYtMjIgMDM6NTU6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBNb3ZlIEk0MjAvWVYxMiB0byB0aGUgZnJvbnQgb2YgdGhlIGNhcHMuIEFkZCBkZWJ1Zy4KCSAgTWFrZSBJNDIwL1lWMTIgY2FwcyBiZSBwcmVmZXJyZWQgd2hlbiBkb3dubG9hZGluZyB0byBZVVYgYnVmZmVycywKCSAgd2hlbiBwb3NzaWJsZSwgYnkgbGlzdGluZyB0aGVtIGZpcnN0IGluIHRoZSBzZXQgb2Ygb3V0cHV0IGNhcHMuCgkgIEFkZCBzb21lIGRlYnVnIGluIHRoZSBjYXBzIHNlbGVjdGlvbiBjb2RlLgoKMjAwOS0wNi0yMyAxODowMToxOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWRlbmM6IGFsc28gYWxsb3cgdmlkZW8vbXBlZyBvbiBvdXRwdXQgY2Fwcy4gIEZpeGVzICMzNzc3ODQuCgoyMDA5LTA2LTIzIDE4OjIzOjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQ29ycmVjdGx5IGhhbmRsZSAwLzEgZnBzCgoyMDA5LTA2LTIyIDIzOjUwOjQ5ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJKiBleHQvbHYyL01ha2VmaWxlLmFtOgoJKiBleHQvbHYyL2dzdGx2Mi5oOgoJICBzaWduYWxwcm9jZXNzb3I6IHVzZSAkKHRvcF9idWlsZGRpcikgaW5zdGVhZCBvZiByZWxhdGl2ZSBwYXRocwoKMjAwOS0wNi0yMiAyMzo0OTowMyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBhZGQgbG9jYWwgaW5jbHVkZSBkaXIgdG8gQ0ZMQUdTCgoyMDA5LTA0LTI4IDIzOjI0OjQ1IC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSogZXh0L2xhZHNwYS9nc3RsYWRzcGEuaDoKCSogZXh0L2x2Mi9NYWtlZmlsZS5hbToKCSogZXh0L2x2Mi9nc3RsdjIuYzoKCSogZXh0L2x2Mi9nc3RsdjIuaDoKCSogZ3N0LWxpYnMvZ3N0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3Qvc2lnbmFscHJvY2Vzc29yLy5naXRpZ25vcmU6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGdzdC1saWJzL2dzdC9zaWduYWxwcm9jZXNzb3IvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIFdvcmtpbmcgTFYyIHBsdWdpbiBkaXNjb3ZlcnkuCgkgIC0gU2VwYXJhdGUgZ3N0c2lnbmFscHJvY2Vzc29yIGludG8gYSBzZXBhcmF0ZSBsaWJyYXJ5IChub3Qgc3VyZSBpZiB0aGlzCgkgIGlzIGluIHRoZSByaWdodCBwbGFjZSwgYnV0IGl0IHdvcmtzIGZvciBub3cgYW55d2F5KQoJICAtIENyZWF0ZSBMVjIgZWxlbWVudCBiYXNlZCBvbiBMQURTUEEgZWxlbWVudCwgcG9ydCBtb3N0IGRpc2NvdmVyeQoJICBmdW5jdGlvbmFsaXR5CgoyMDA5LTAzLTI5IDEzOjMxOjIxIC0wNDAwICBEYXZlIFJvYmlsbGFyZCA8ZGF2ZUBkcm9iaWxsYS5uZXQ+CgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5oOgoJICBGaXggaW5jb25zaXN0ZW50IHN0eWxlICh0cml2aWFsIHRlc3QgY29tbWl0KS4KCjIwMDktMDMtMjkgMTM6MjM6MDIgLTA0MDAgIERhdmUgUm9iaWxsYXJkIDxkYXZlQGRyb2JpbGxhLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIGNvbmZpZ3VyZSBjaGVjayBmb3IgU0xWMi4KCjIwMDktMDYtMjIgMjI6MDE6MjIgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGRlYnVnIGxvZyBvbmx5IGNoYW5nZQoKMjAwOS0wNi0yMiAxODozNToyMSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5jOgoJICBtZXRhZGF0YTogbWFwIG1vcmUgdGFncyBhbmQgZml4IHJlYWRpbmcgb2YgeG1wIHRhZ3MKCSAgUmVnaXN0ZXIgeG1wIHNjaGVtYXMgZm9yIHBob3Rvc2hvcCBhbmQgaXB0Yy4gTWFwIGEgZmV3IGxvY2F0aW9uIHRhZ3MgdGhlcmUuCgkgIEFkZCBtb3JlIGRjIHRhZ3MuIEZpeCByZWFkaW5nIHhtcCB0YWcgYnkgaXRlcmF0aW9uIG92ZXIga25vd24gc2NoZW1hcy4gQWRkCgkgIHNvbWUgbW9yZSBkZWJ1ZyBsb2dnaW5nLgoKMjAwOS0wNi0xNiAxNzoxMjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogbW9yZSBjbGVhbnVwIGluIHRlc3RzCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ2dpbmcuIFJlbW92ZSB1bnVzZWQgbXV0ZXggYW5kIGNvbmQuCgoyMDA5LTA2LTEyIDE0OjI2OjI0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGNvZGUgY3J1ZnQgcmVtb3ZhbCBhbmQgZGVidWcgbG9ncwoJICBSZW1vdmUgdW51c2VkIGNvZGUuIEFkZCBsb3RzIG9mIGRlYnVnIGxvZ2luZy4gQ2hhbmdlIGNvbW1lbnRzIGZvciBsb2NhbAoJICBmdW5jdGlvbnMgdG8gbm90IHVzZSAvKiogZ3RrLWRvYyBzdGFydCBzdHlsZS4KCjIwMDktMDYtMTIgMTA6NDA6NDggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhbWVyYWJpbi9nc3QtY2FtZXJhLXBlcmYuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEtcGVyZi5nbGFkZToKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvY2FtZXJhYmluL2dzdC1jYW1lcmEuZ2xhZGU6CgkgIGNhbWVyYWJpbjogYWRkIGNhbWVyYWJpbiBleGFtcGxlcwoJICBnc3QtY2FtZXJhIGlzIGEgZ3RrLXRlc3QgYXBwIHRvIHBsYXkgd2l0aCB0aGUgaW1hZ2VjYXB0dXJlIGFuZCB2aWRlb3JlY29yZGluZy4KCSAgZ3N0LWNhbWVyYS1wZXJmIGlzIGEgdG9vbCB0byBydW4gdmFyaW91cyBzY2VuYXJpb3MgYW5kIHRha2UgdGltZSBtZWFzc3VyZW1lbnRzCgkgIChlLmcuIHNob3QtdG8tc2hvdCkuIEFsc28gc29ydCB0aGUgb3V0cHV0IGZpbGVzIGluIGNvbmZpZ3VyZS5hYyBhIGJpdCB0byBiZQoJICBpbiBhbHBoYWJldGljYWwgb3JkZXIuCgoyMDA5LTA2LTEwIDExOjE1OjAxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIG1ldGFkYXRhOiBmaXggY29udmVyc2lvbiBvZiBnZW8gY29vcmRpbmF0ZXMKCSAgQ29vcmRpbmF0ZSBjb252ZXJzaW9uIGhhcyBiZWVuIHZlcmlmaWVkIHdpdGggZXhpdjIgYW5kIHNvbWUgd2VicGFnZXMuCgkgIE1pbnV0ZXMgd2hlciB0b3RhbGx5IG9mZiBhbmQgc2Vjb25kcyB3ZXJlIG5vdCB1c2VkIGF0IGFsbC4KCjIwMDktMDYtMjIgMTE6MTk6MDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBoMjY0cGFyc2U6IGRldGVjdCBhbmQgZml4IGZvciBiYWQgTkFMVSBzaXplcwoJICB3aGVuIGluIEFWQyBtb2RlIGEgbmFsdSBzaXplIHNlZW1zIGludmFsaWQsIGFzc3VtZSB0aGUgTkFMVSBoYXMgdGhlIHNpemUgb2YgdGhlCgkgIGF2YWlsYWJsZSBkYXRhIGluc3RlYWQgb2YgbG9vcGluZyBmb3JldmVyLgoJICBGaXhlcyAjNTg2MzU0CgoyMDA5LTA2LTE5IDIxOjIwOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSAgVkRQQVU6IEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMKCjIwMDktMDYtMTggMTc6MDY6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgVkRQQVU6IEZpeCBidWlsZCBmbGFncyB0byBwdWxsIGluIGdzdC1wbHVnaW5zLWJhc2UgbGlicwoKMjAwOS0wNi0xNSAxODozMzowNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkgIFZEUEFVOiBSZWZhY3RvciB0aGUgZXJyb3IgcGF0aCB0byBhIGNvbW1vbiBvdXRwdXQsIGFuZCBmaXggYSBsZWFrLgoJICBEb24ndCBsZWFrIHRoZSBpbnB1dCBidWZmZXIgb24gZXJyb3JzLiBBZGQgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOS0wNi0xNSAxODoyOTo1NiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgVkRQQVU6IEZpeCB1cCBjYXBzIGluIHZkcGF1bXBlZ2RlYy4gUmVtb3ZlIGV4dHJhIHNlbWljb2xvbgoJICBGaXggYSB0eXBvIGluIHRoZSBjYXBzIGZvciB0aGUgVkRQQVUgbXBlZyBkZWNvZGVyIChjaHJvbWFfdHlwZS0+Y2hyb21hLXR5cGUpCgkgIGFuZCB1c2UgdGhlIEdTVF9WRFBfVklERU9fQ0FQUyBmb3IgdGhlIHBhZCB0ZW1wbGF0ZS4KCSAgUmVtb3ZlIGEgc3RyYXkgc2VtaWNvbG9uLgoKMjAwOS0wNi0xMiAxNjozOTozOSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkgIFZEUEFVOiBFbmhhbmNlIHRoZSBjb25maWd1cmUgdGVzdHMKCSAgQ2hlY2sgZm9yIHRoZSBWRFBBVSBoZWFkZXJzIGluIC91c3IvaW5jbHVkZS9udmlkaWEgYXMgdGhleSBhcmUgb24gc29tZQoJICBwbGF0Zm9ybXMgKEZlZG9yYS9ycG1mdXNpb24pLiBBbHNvIGNoZWNrIHRoYXQgdGhlIGxpYnZkcGF1IGxpYnJhcnkgaXMKCSAgYXZhaWxhYmxlLgoKMjAwOS0wNi0wOSAyMzoxNDoyNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogdXNlIGZpeGVkIHNyYyBjYXBzCgoyMDA5LTA2LTA4IDE0OjM1OjI5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiBkcm9wIGFsbCBmcmFtZXMgYmVmb3JlIGEgR09QIHdoZW4gd2Ugc2VlawoKMjAwOS0wNi0wOCAxNDoxNTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cAoKMjAwOS0wNi0wNyAyMzo0NjozOCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHMvSVNfVkRQQVUvSVNfVkRQCgoyMDA5LTA2LTA3IDAxOjI1OjAxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgaWYgb25seSB0aGUgcmF0ZSBoYXMgYmVlbiB1cGRhdGVkCgoyMDA5LTA2LTA3IDAxOjEyOjUwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuaDoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgbXV0ZXggdG8gcHJvdGVjdCBtcGVnX2RlYy0+c2Vla2luZyBmcm9tIGNvbmN1cnJlbnQgYWNjZXNzCgoyMDA5LTA2LTA3IDAwOjU1OjU1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgZ3N0X3BhZF9nZXRfcGFyZW50IGZvciB0aHJlYWRzYWZldHkKCjIwMDktMDYtMDYgMjE6Mjc6NTIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IGZ1cnRoZXIgd29yayBvbiBzZWVraW5nCgoyMDA5LTA2LTA1IDIzOjExOjE4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWMuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogc21hbGwgY2xlYW51cHMKCjIwMDktMDYtMDUgMjI6Mjg6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlYy5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBHU1RfQlVGRkVSX0ZMQUdfREVMVEFfVU5JVCBvbiBub24gSV9GUkFNRSdzCgoyMDA5LTA2LTA1IDIxOjQ4OjI4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIGdzdHZkcG1wZWdkZWNvZGVyLltjaF0gdG8gZ3N0dmRwbXBlZ2RlYy5bY2hdCgoyMDA5LTA2LTA1IDIxOjQ2OjA4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVuYW1lIEdzdFZkcE1wZWdEZWNvZGVyIHRvIEdzdFZkcE1wZWdEZWMKCjIwMDktMDYtMDUgMjE6NDI6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcGFzcyBidWZmZXIgc2l6ZSBkaXJlY3RseSB0byBnc3RfdmRwX21wZWdfZGVjb2Rlcl9kZWNvZGUKCjIwMDktMDYtMDUgMjE6MTg6NDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBzbWFsbCBjbGVhbnVwCgoyMDA5LTA2LTA1IDIxOjE2OjQ4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWM6IGNhbGN1bGF0ZSBieXRlcmF0ZSBmcm9tIHRoZSBzaXplIG9mIHRoZSBpbmNvbWluZyBkYXRhCgoyMDA5LTA2LTA1IDE5OjA4OjI0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcHJpbnQgZnJhbWVfbnIgaW4gZGVidWcgcHJpbnQKCjIwMDktMDYtMDUgMTg6Mjg6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBpbnRlcmxhY2VkIGZpeGVzCgoyMDA5LTA2LTA1IDE4OjE4OjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogb25seSBzZXQgYmFzZSBkdXJhdGlvbiBvbmNlCgoyMDA5LTA2LTA1IDE3OjUzOjE2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogZG9uJ3Qgc2VuZCB0aGUgRVZFTlRfTkVXU0VHTUVOVCBkb3duc3RyZWFtIGlmIHdlJ3JlIHNlZWtpbmcKCjIwMDktMDYtMDUgMTc6NDM6NDkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogaW1wbGVtZW50IHNlZWtpbmcKCjIwMDktMDYtMDUgMTE6NTQ6MTcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjaGFuZ2UgYSBHU1RfREVCVUcgdG8gR1NUX1dBUk5JTkcKCjIwMDktMDYtMDUgMTE6NTI6MzIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVudXNlZCBicm9rZW5fZ29wIGZpZWxkCgoyMDA5LTA2LTA1IDExOjUxOjQxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkIG5ldyBnc3RfdmRwX21wZWdfZGVjb2Rlcl9mbHVzaCBmb3IgZmx1c2hpbmcgdGhlIGRlY29kZXIKCjIwMDktMDYtMDUgMTE6MjQ6MzQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiB1c2UgR1NFX0RFQlVHX0ZVTkNQVFIKCjIwMDktMDYtMDUgMTE6MjA6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBkb24ndCBkcm9wIGRpc2NvbnQgYnVmZmVycwoKMjAwOS0wNi0wNSAxMToxNzoxNiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBHU1RfUVVFUllfUE9TSVRJT04gYW5kIEdTVF9RVUVSWV9EVVJBVElPTgoKMjAwOS0wNi0wNCAyMToxNzo0MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGNhbGN1bGF0ZSBjb3JyZWN0IGR1cmF0aW9uIGZyb20gZGF0YSBpbiBNUEVHX1BBQ0tFVF9FWFRfUElDVFVSRV9DT0RJTkcKCjIwMDktMDYtMDQgMTk6MzA6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogZml4IHNvIHRoYXQgdGhlIGZpcnN0IGZyYW1lIGluIGEgcmF3IG1wZWd2aWRlbyBzdHJlYW0gZ2V0IHRpbWVzdGFtcCAwCgoyMDA5LTA2LTA0IDE5OjE3OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZwZGF1bXBlZ2RlYzogcmVtb3ZlIHVzZWxlc3MgR3N0VmRwRGVjb2RlciBiYXNlY2xhc3MKCjIwMDktMDYtMDQgMTg6MTE6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IHVzZSBHc3RCaXRSZWFkZXIgdG8gcGFyc2UgYml0c3RyZWFtCgoyMDA5LTA1LTA2IDIzOjA3OjAwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IGNoYW5nZSBlbGVtZW50IHJhbmsgZm9yIHRlc3RpbmcgcHVycG9zZXMKCSAgc2V0IG1wZWd2aWRlb3BhcnNlIHJhbmsgdG8gcHJpbWFyeSBhbmQgdmRwYXVtcGVnZGVjIHRvIHByaW1hcnkgLSAxIHRvIGdldCB2ZHBhdW1wZWdkZWMKCSAgY29ycmVjdGx5IHBsdWdnZWQgaW50byBwbGF5YmluCgoyMDA5LTA1LTA1IDIzOjE5OjU2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGFkZCBkZWJ1ZyBvbiBHc3RWZHBEZXZpY2UgZGVzdHJveQoKMjAwOS0wNS0wNSAyMzoxMzoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNtYWxsIGNvZGUgY2xlYW51cAoKMjAwOS0wNS0wNSAyMzowODo1MSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHJlbW92ZSB1bm51c2VkIEdzdFZkcEJGcmFtZSBzdHJ1Y3QKCjIwMDktMDUtMDUgMjM6MDc6MDYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeCBzbWFsbCB0eXBvIGluIGRlYnVnIHByaW50CgoyMDA5LTA1LTA1IDE4OjU0OjMxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCB0aW1lc3RhbXBpbmcgb2Ygb3V0Z29pbmcgYnVmZmVycwoKMjAwOS0wNS0wNSAxODo0NTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRvbid0IGFkZCBmb3J3YXJkX3JlZmVyZW5jZSBpZiB0aGUgZnJhbWUgaXMgYW4gSV9GUkFNRQoKMjAwOS0wNS0wNSAxODozNzo1MCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBjb3JyZWN0IHRpbWVzdGFtcHMKCjIwMDktMDUtMDUgMTc6MzA6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVlZGVkIGxvY2tpbmcgc2luY2Ugd2Uga25vdyBkbyBTdGF0ZUNoYW5nZSBjb3JyZWN0bHkKCjIwMDktMDUtMDUgMTc6Mjg6MTkgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHMvR1NUX1RZUEVfVkRQQVUvR1NUX1RZUEVfVkRQL2cKCjIwMDktMDUtMDUgMTc6MjA6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IHMvR1NUX1RZUEVfVkRQQVUvR1NUX1RZUEVfVkRQL2cKCjIwMDktMDUtMDUgMTc6MTU6MzMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBzdGF0ZSBjaGFuZ2UKCjIwMDktMDUtMDUgMTY6Mjk6MjQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwZGV2aWNlLmM6CgkgIHZkcGF1OiBpbml0ICJ2ZHBhdWRldmljZSIgZGVidWcgY2F0b2Vnb3J5IGluIGdzdF92ZHBfZ2V0X2RldmljZQoKMjAwOS0wNS0wNSAwODoxMTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGhvbGQgdGhlIGxvY2sgaW4gY2hhbmdlX3N0YXRlCgoyMDA5LTA1LTAzIDIxOjUyOjQ5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogdGhlIEJfRlJBTUUgZGVjb2Rpbmcgd2FzIGNvbXBsZXRlbHkgd3JvbmcsIGZpeCBpdAoJICB0aGUgYnVmZmVycyBkb24ndCBjb21lIGluIG91dHB1dCBvcmRlciBzbyBmaXggdGhlIGRlY29kZXIgdG8gaGFuZGxlIHRoaXMKCSAgYWRkIG5ldyBnc3RfdmRwX3ZpZGVvX2J1ZmZlcl9hZGRfcmVmZXJlbmNlIG1ldGhvZCB0byBHc3RWZHBWaWRlb0J1ZmZlciB0byBiZSBhYmxlIHRvIGtlZXAKCSAgYnVmZmVycyBhbGl2ZS4gSWUuIGEgQl9GUkFNRSBuZWVkIHRvIGhhdmUgYm90aCB0aGUgZm9yd2FyZCByZWZlcmVuY2UgYW5kIHRoZSBiYWNrd2FyZAoJICByZWZlcmVuY2UgYWxpdmUgZHVyaW5nIGl0J3MgbGlmZXRpbWUuCgkgIGFkZCBtdXRleCB0byBwcm90ZWN0IGZvciB0aHJlYWRzYWZldHkgaXNzdWVzIHdoZW4gd2UgcmVzZXQgdGhlIGRlY29kZXIgaW4gRkxVU0hfU1RPUAoKMjAwOS0wNC0zMCAyMTo1ODowMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IHNldCBmdWxsX3BlbF9mb3J3YXJkX3ZlY3RvciB0byAwIHdoZW4gcGljX3R5cGUgPT0gUF9GUkFNRQoKMjAwOS0wNC0yNyAyMTozMDo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRyb3AgZnJhbWVzIGlmIHdlIGhhdmVuJ3QgZ290IGFuIElfRlJBTUUgeWV0CgoyMDA5LTA0LTI3IDIwOjU3OjEyICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcC5jOgoJICB2ZHBhdTogc2V0IHZkcGF1dmlkZW95dXYgYW5kIHZkcGF1eXV2dmlkZW8gdG8gR1NUX1JBTktfUFJJTUFSWQoKMjAwOS0wNC0yNyAyMDo1MDoxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGRlc3Ryb3kgdGhlIFZkcERlY29kZXIgYW5kIHJlc2V0IHRoZSBkZWNvZGVyIG9uIHN0YXRlIGNoYW5nZQoKMjAwOS0wNC0yNyAyMDo0NToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSAgdmRwYXU6IGZpeCBlcnJvciB3aGVyZSB3ZSBmb3Jnb3QgdG8gcGFzcyBhIHRyYWlsaW5nIE5VTEwgdG8gZ19vYmplY3RfbmV3CgoyMDA5LTA0LTI3IDIwOjIxOjQ0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogY2xvc2UgZGlzcGxheSBvbiBmaW5hbGl6ZQoKMjAwOS0wNC0yNyAyMDoxODo1MiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBmaXhlcwoJICBpbml0IGNyZWF0ZSBHc3RWZHBEZXZpY2Ugb24gR1NUX1NUQVRFX0NIQU5HRV9SRUFEWV9UT19QQVVTRUQgaW5zdGVhZCBvZiBvbgoJICBHU1RfU1RBVEVfQ0hBTkdFX05VTExfVE8gUkVBRFkKCSAgYWRkIGJhY2sgaW5jcmVtZW50aW5nIG9mIGZyYW1lX25yCgoyMDA5LTA0LTI3IDIwOjE1OjA3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5jOgoJICB2ZHBhdTogdXNlIGdfb25jZV9pbml0X2VudGVyIGluc3RlYWQgb2YgZ19vbmNlCgoyMDA5LTA0LTI3IDE4OjM0OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogaWYgYXZhaWxhYmxlIHVzZSBpbmNvbWluZyBidWZmZXIgdGltZXN0YW1wIGFzIG91dHB1dCB0aW1lc3RhbXAKCjIwMDktMDQtMjcgMTU6MTI6MjYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBjbGVhciB0aGUgYWRhcHRlciB3aGVuIHdlIHJlc2V0IHRoZSBkZWNvZGVyCgoyMDA5LTA0LTI2IDIzOjI1OjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2Lmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB5dXZ2aWRlby5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uaDoKCSAgdmRwYXU6IGZpeHVwIHJlbmFtaW5nCgkgIHRoZSByZW5hbWUgd29yayBkb25lIGluIGNvbW1pdCAyNGNmODRkMDZiMmY0YjJlZGVjMzM4M2IxOTg0NDFhMDc4Mjk2MThiIGRpZG4ndAoJICBpbmNsdWRlIHR5cGVjYXN0cy4gVGhpcyBjb21taXQgZml4ZXMgdGhpcy4KCjIwMDktMDQtMjYgMjM6MjA6MzAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiByZXNldCBkZWNvZGVyIG9uIEdTVF9FVkVOVF9GTFVTSF9TVE9QCgoyMDA5LTA0LTI2IDIyOjA1OjExICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVzZXQgZGVjb2RlciB3aGVuIHdlIGdldCBhIGRpc2NvbnQgYnVmZmVyCgoyMDA5LTA0LTI2IDIwOjQwOjQ1ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogYWRkICJNUEVHX1BBQ0tFVF9FWFRfUElDVFVSRV9DT0RJTkciIGRlYnVnIHN0YXRlbWVudAoKMjAwOS0wNC0yMiAyMzozNTowNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdW1wZWdkZWM6IGhhbmRsZSBicm9rZW5fZ29wIGZpZWxkCgoyMDA5LTA0LTIyIDIxOjA0OjU4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogY29udmVydCBhbGwgbWFudWFsIHBhcnNpbmcgdG8gdXNlIHJlYWRfYml0cyBpbnN0ZWFkCgoyMDA5LTA0LTIyIDIwOjI4OjE5ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogcmVtb3ZlIHVubmVkZWQgZ3N0X2J1ZmZlcl9yZWYgYW5kIHRoZSBhY2NvbXBhbnlpbmcgZ3N0X2J1ZmZlcl91bnJlZgoKMjAwOS0wNC0yMiAyMDoyNTo1NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIGVycm9yIHdoZXJlIHdlIHNldCBmb3J3YXJkX3JlZmVyZW5jZSBpbnN0ZWFkIG9mIGJhY2t3YXJkX3JlZmVyZW5jZQoKMjAwOS0wNC0xNiAyMzo0MzoyNCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1bXBlZ2RlYzogaGFuZGxlIG11bHRpcGxlIEJfRlJBTUVzIGluIGEgcm93CgoyMDA5LTA0LTE2IDIyOjMwOjI3ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogbW9yZSBCX0ZSQU1FIHdvcmsKCjIwMDktMDQtMTYgMjI6MDY6NTAgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1bXBlZ2RlYzogaW5pdGFsIHN1cHBvcnQgYXQgaGFuZGxpbmcgQl9GUkFNRVMKCjIwMDktMDQtMTUgMjM6NDk6MDcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSAgdmRwYXVtcGVnZGVjOiBmaXh1cCBHc3RGbG93UmV0dXJuIHByb3BhZ2F0aW9uIGEgYml0CgoyMDA5LTA0LTE1IDIzOjM4OjUzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXVtcGVnZGVjOiBwYXJzZSBQSUNUVVJFX0NPRElOR19FWFRFTlNJT04gYWx0ZXJuYXRlX3NjYW4gYml0CgoyMDA5LTA0LTE1IDIzOjMxOjMzICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJICB2ZHBhdW1wZWdkZWM6IGZpeHVwIHF1YW50bWF0cml4IGV4dGVuc2lvbiBwYXJzaW5nCgoyMDA5LTA0LTE1IDE4OjE3OjU0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlYzogY29ycmVjdCBzb21lIGRlZmF1bHQgdmFsdWVzCgkgIG1wZWcxIG5vdyBnaXZlIG5lYXJseSBjb3JyZWN0IG91dHB1dCA6KQoKMjAwOS0wNC0xNSAxNzo1MjoyNyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdW1wZWdkZWNvZGVyOiByZW1vdmUgdW51c2VkIHNsaWNlIGZpZWxkCgoyMDA5LTA0LTE0IDIzOjQ3OjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVvYnVmZmVyLmg6CgkgIHZkcGF1OiByZW5hbWUgInZpZGVvL3ZkcGF1LXZpZGVvIiBjYXBzIHRvICJ2aWRlby94LXZkcGF1LXZpZGVvIgoKMjAwOS0wNC0xNCAyMTowNzozMiArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkgIHZkcGF1OiByZW1vdmUgInNpbGVudCIgcHJvcGVydHkgZnJvbSBHc3RWZHBEZWNvZGVyCgoyMDA5LTA0LTE0IDIxOjA1OjQ0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGRlY29kZXIuYzoKCSAgdmRwYXU6IGRvbid0IHNldCBlbGVtZW50IGRldGFpbHMgaW4gR3N0VmRwRGVjb2RlcgoKMjAwOS0wNC0xNCAyMTowNDo1OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1bXBlZ2RlY29kZXI6IHJlbmFtZSB0byAidmRwYXVtcGVnZGVjIgoKMjAwOS0wNC0xNCAxOTowODo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuaDoKCSAgdmRwYXVtcGVnZGVjb2RlcjogcmVtb3ZlIHVubmVjZXNhcnkgd2FudF9zbGljZSBmaWVsZAoKMjAwOS0wNC0xMyAyMjoyMTowMyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHAuYzoKCSAgdmRwYXU6IHNtYWxsIGNvc21ldGljYWwgZml4CgoyMDA5LTA0LTEzIDIyOjE5OjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGRldmljZS5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwbXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcG1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb2J1ZmZlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwdmlkZW9idWZmZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcHZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHB2aWRlb3l1di5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRweXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcHl1dnZpZGVvLmg6CgkgIHZkcGF1OiByZW5hbWUgYWxsIGZpbGVzIGFuZCBvYmplY3RzIGZyb20gVmRwYXUgdG8gVmRwCgoyMDA5LTA0LTEzIDIxOjIzOjM4ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IGRlY29kZSBzbGljZXMgd2hlbiB3ZSBnZXQgdGhlIG5leHQgcGljdHVyZSBoZWFkZXIuIE1QRUcyIG5vdyBraW5kb2Ygd29ya3MuCgoyMDA5LTA0LTEzIDIxOjExOjU0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkgIHZkcGF1OiBzbWFsbCBpbXByb3ZlbWVudCB0byBtcGVnIGRlY29kZXIKCjIwMDktMDQtMTMgMjA6MDQ6MjEgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IHJlbW92ZSB1bnVzZWQgInNpbGVudCIgcHJvcGVydGllcwoKMjAwOS0wNC0xMyAxOTozNjo1MyArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXl1dnZpZGVvLmM6CgkgIHZkcGF1OiBpbXBsZW1lbnQgR3N0VmRwYXVWaWRlb0J1ZmZlciAtPiBJNDIwIGNvbnZlcnNpb24KCjIwMDktMDQtMDkgMTY6NTQ6MjcgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSAgdmRwYXU6IG1vdmUgZGVmaW5pdGlvbiBvZiB0aGUgVmRwQ2hyb21hVHlwZSBhcnJheSBhbmQgdGhlIFZkcGF1Rm9ybWF0cyB0byBnc3RkZXZpY2UuaAoKMjAwOS0wNC0wNyAyMTo1MTo0OCArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBmaXgKCSAgc2V0IHZkcF9pbmZvLmZvcndhcmRfcmVmZXJlbmNlIHRvIFZEUF9JTlZBTElEIGhhbmRsZSB3aGVuIHVucmVmZmluZyB0aGUgb2xkCgkgIGJ1ZmZlcgoKMjAwOS0wNC0wNyAyMDo0Njo0OSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZXZpY2UuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1dmlkZW95dXYuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1eXV2dmlkZW8uaDoKCSAgdmRwYXU6IGFkZCBuZXcgR3N0VmRwYXVZVVZWaWRlbyBlbGVtZW50CgkgIHRoZSBHc3RWZHBhdVlVVlZpZGVvIGVsZW1lbnQgdGFrZXMgcmF3IFlVViB2aWRlbyBhbmQgb3V0cHV0cwoJICBHc3RWZHBhdVZpZGVvQnVmZmVycwoKMjAwOS0wNC0wNCAyMjo0NTowOSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBWaWRlb1lVViB1bnJlZiBidWZmZXIgaW4gY2hhaW4gc28gdGhhdCB3ZSBkb24ndCBsZWFrIHRoZW0gTXBlZ0RlY29kZXIgcGFyc2Ugc2VxdWVuY2UgaGVhZGVycwoKMjAwOS0wNC0wNCAyMjowNToxMSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSAgdmRwYXU6IHJlbW92ZSBzb21lIHVubmVkZWQgaW5jbHVkZXMKCjIwMDktMDQtMDQgMjI6MDM6MjMgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdS5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkgIHZkcGF1OiBtb3ZlIHBsdWdpbiBkZWZpbml0aW9uIHRvIGEgbmV3IGdzdHZkcGF1LmMgZmlsZSBmaXggdXAgZGVidWcgY2F0ZWdvcmllcwoKMjAwOS0wNC0wNCAyMDo1MzozNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVvYnVmZmVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2LmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdXZpZGVveXV2Lmg6CgkgIHZkcGF1OiBhZGQgbmV3IEdzdFZkcGF1VmlkZW9ZVVYgZWxlbWVudAoJICBHc3RWZHBhdURlY29kZXIgbm93IHB1c2hlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBpbnN0ZWFkIG9mIGRvaW5nCgkgIFZkcFN1cmZhY2UgLT4gWVVWIGNvbnZlcnNpb24uIFRvIGdldCBZVVYgZGF0YSB5b3Ugbm93IHB1dCBpbiBhIEdzdFZkcGF1VmlkZW9ZVVYKCSAgZWxlbWVudCB3aGljaCB0YWtlcyBHc3RWZHBhdVZpZGVvQnVmZmVycyBhbmQgb3V0cHV0cyBZVVYgZGF0YS4KCjIwMDktMDQtMDMgMTc6NTk6MDIgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJICB2ZHBhdTogc21hbGwgaW5kZW50IGZpeAoKMjAwOS0wNC0wMyAxNzo1ODoyNSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRldmljZS5jOgoJICB2ZHBhdTogcmVtb3ZlIG9ib3NvbGV0ZSBGSVhNRSBhbmQgc29tZSBkZWJ1ZyBwcmludHMgZnJvbSBnc3R2ZHBhdWRldmljZS5jCgoyMDA5LTA0LTAzIDE3OjUzOjIxICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmg6CgkgIHZkcGF1OiBjb21taXQgcmVuYW1lIG9mIGdzdC12ZHBhdS1kZXZpY2UuaCB0byBnc3R2ZHBhdWRldmljZS5oCgoyMDA5LTA0LTAzIDE3OjUyOjIwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdC12ZHBhdS1kZXZpY2UuYzoKCSAgdmRwYXU6IHJlbW92ZSBnc3QtdmRwYXUtZGV2aWNlLmMKCjIwMDktMDQtMDMgMTc6NTE6MTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGV2aWNlLmM6CgkgIHZkcGF1OiByZW5hbWUgZ3N0LXZkcGF1LWRldmljZS5bY2hdIHRvIGdzdHZkcGF1ZGV2aWNlLltjaF0KCjIwMDktMDQtMDEgMjE6NDI6NTYgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSAgdmRwYXU6IGNoYW5nZSBhbGwgcmVmZXJlbmNlcyBvZiAiZ3N0X3ZkcGF1ZGVjb2RlcioiIHRvICJnc3RfdmRwYXVfZGVjb2RlciIKCjIwMDktMDQtMDEgMjE6NDA6MTQgKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBtYWtlIHRoZSBkZWNvZGVyIGNsZWFuIHVwIGFmdGVyIGl0c2VsZgoKMjAwOS0wNC0wMSAyMToyNjo0NSArMDIwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgdmRwYXU6IHJlbW92ZSBleHRyYSBcIGZyb20gTWFrZWZpbGUuYW0KCjIwMDktMDQtMDEgMjE6MTk6MTggKzAyMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmM6CgkqIHN5cy92ZHBhdS9nc3QtdmRwYXUtZGV2aWNlLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGdzdHZkcGF1ZGV2aWNlIGZvciBhYnN0cmFjdGluZyB2ZHBhdSBpbml0YWxpemF0aW9uCgoyMDA5LTAzLTMxIDIyOjU0OjE0ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSAgdmRwYXU6IHJlbW92ZSBjb21tZW50CgoyMDA5LTAzLTMxIDIyOjUzOjQwICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1bXBlZ2RlY29kZXIuaDoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmM6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5oOgoJICB2ZHBhdTogTVBFRzEgZGVjb2Rpbmcga25vdyBnaXZlcyByZWNvZ25pemFibGUgb3V0cHV0CgoyMDA5LTAzLTI5IDE1OjI4OjA2ICswMjAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9tcGVndXRpbC5jOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuaDoKCSAgdmRwYXU6IGNyZWF0ZSBWZHBEZWNvZGVyIGluIHNldF9jYXBzIGFkZCBtb3JlIGZ1bmN0aW9ucyBmb3IgcGFyc2luZyBtcGVnCgoyMDA5LTAzLTI3IDE3OjExOjA0ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L01ha2VmaWxlLmFtOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuaDoKCSogc3lzL3ZkcGF1L3ZkcGF1dmFyaWFibGVzLmg6CgkgIHZkcGF1OiBzdG9yZSB2ZHBhdSBmdW5jdGlvbiBwb2ludGVycyBpbiBhIGxvY2FsIHN0cnVjdHVyZQoKMjAwOS0wMy0yNyAxNjo1NToxOSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVtcGVnZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvbXBlZ3V0aWwuYzoKCSogc3lzL3ZkcGF1L21wZWd1dGlsLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcyIHByb2ZpbGUgZnJvbSBjb2RlY19kYXRhCgoyMDA5LTAzLTI2IDIxOjA0OjQ4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBleHRyYWN0IG1wZWcgdmVyc2lvbgoKMjAwOS0wMy0yNSAyMDo0MTo0NiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWgyNjRkZWNvZGVyLmg6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkgIHZkcGF1OiBhZGQgdmVyc2lvbiBzcGVjaWZpY2F0aW9uIHRvIG1wZWdkZWNvZGVyIGNhcHMKCjIwMDktMDMtMjUgMjA6Mzg6MjcgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmM6CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdW1wZWdkZWNvZGVyLmg6CgkgIHZkcGF1OiBmb2N1cyBvbiBtcGVnIGluc3RlYWQgb2YgaDI2NAoKMjAwOS0wMy0yNSAxOTo1OTowNiArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IHJvdWdoIHRyeSBhdCBpbXBsZW1lbnRpbmcgcHVzaGluZiBvZiBZVjEyIGJ1ZmZlcnMKCjIwMDktMDMtMjQgMjI6MjY6NTYgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiByZW1vdmUgb2Jzb2xldGUgY29tbWVudAoKMjAwOS0wMy0yMyAyMTozNjo1NSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGluaXQgdmRwYXUgaW4gR1NUX1NUQVRFX0NIQU5HRV9OVUxMX1RPX1JFQURZIGFkZCBnc3RfdmRwYXVkZWNvZGVyX3B1c2hfdmlkZW9fc3VyZmFjZSB0byB2ZHBhdWRlY29kZXIuaAoKMjAwOS0wMy0yMyAyMDo0NzowMCArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIHN0dWJzIGZvciBwdXNoaW5nIFZkcFZpZGVvU3VyZmFjZXMgdG8gdGhlIHNyYyBwYWQKCjIwMDktMDMtMjEgMjI6MDY6MTIgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJICB2ZHBhdTogdXBkYXRlIFZkcGF1SDI2NERlY29kZXIgZWxlbWVudCBkZXNjcmlwdGlvbgoKMjAwOS0wMy0yMCAyMToyNjoxMSArMDEwMCAgQ2FybC1BbnRvbiBJbmdtYXJzc29uIDxjYS5pbmdtYXJzc29uQGdtYWlsLmNvbT4KCgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSAgdmRwYXU6IGNoYW5nbGUgZ3N0dmRwYXVkZWNvZGVyLmMgY2xhc3NpZmljYXRpb24KCjIwMDktMDMtMjAgMjE6MjQ6NDAgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5jOgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVoMjY0ZGVjb2Rlci5oOgoJKiBzeXMvdmRwYXUvdmRwYXV2YXJpYWJsZXMuaDoKCSAgdmRwYXU6IGltcGxlbWVudCBkb3duc3RyZWFtIGNhcHMgbmVnb3RpYXRpb24KCjIwMDktMDMtMTUgMjE6MjM6MzUgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvZ3N0dmRwYXVkZWNvZGVyLmM6CgkgIHZkcGF1OiBzbWFsbCBpbmRlbnRhdGlvbiBmaXgKCjIwMDktMDMtMTUgMjE6MjE6NDkgKzAxMDAgIENhcmwtQW50b24gSW5nbWFyc3NvbiA8Y2EuaW5nbWFyc3NvbkBnbWFpbC5jb20+CgoJKiBzeXMvdmRwYXUvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9nc3R2ZHBhdWRlY29kZXIuYzoKCSogc3lzL3ZkcGF1L2dzdHZkcGF1ZGVjb2Rlci5oOgoJICB2ZHBhdTogYWRkIGJhc2ljIGJhc2UgY2xhc3MgZm9yIHZkcGF1IGRlY29kZXJzCgoyMDA5LTAzLTE0IDEwOjQzOjI4ICswMTAwICBDYXJsLUFudG9uIEluZ21hcnNzb24gPGNhLmluZ21hcnNzb25AZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92ZHBhdS9NYWtlZmlsZS5hbToKCSAgYWRkIG5ldyB2ZHBhdSBkaXJlY3RvcnkKCjIwMDktMDYtMTkgMTk6MDk6MTkgKzAyMDAgIEJyYW5rbyBTdWJhc2ljIDxicmFua28uc3ViYXNpYyBhdCBheGlzLmNvbT4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3J0cGJpbl9idWZmZXJfbGlzdC5jOgoJICBydHBiaW46IGFkZCBzdXBwb3J0IGZvciBidWZmZXItbGlzdAoJICBBZGQgc3VwcG9ydCBmb3Igc2VuZGluZyBidWZmZXItbGlzdHMuCgkgIEFkZCB1bml0IHRlc3QgZm9yIHRlc3RpbmcgdGhhdCB0aGUgYnVmZmVyLWxpc3QgcGFzc2VkIHRocm91Z2ggcnRwYmluLgoJICBmaXhlcyAjNTg1ODM5CgoyMDA5LTA2LTE4IDEyOjEzOjI4ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogQURJRjogZG8gbm90IHNlbmQgYm9ndXMgdGltZXN0YW1wcywgbGVhdmUgdG8gZG93bnN0cmVhbSAoZGVjb2RlcikKCjIwMDktMDYtMTEgMTU6NTQ6NDIgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgcXRtdXg6IG9ubHkgdXNlICg2NC1iaXQpIGV4dGVuZGVkIChtZGF0KSBhdG9tIHNpemUgaWYgbmVlZGVkLiAgRml4ZXMgIzU4NTMxOS4KCjIwMDktMDYtMTAgMTQ6NDY6MTQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBzZXQgZGVmYXVsdCBtb3ZpZSB0aW1lc2NhbGUgdG8gbWljcm9zZWNvbmQgdW5pdHMKCjIwMDktMDYtMTAgMTM6MjQ6MjAgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkgIHF0bXV4OiBjb21wcmVzcy9vcHRpbWl6ZSBzdHNjIHdyaXRpbmcKCjIwMDktMDYtMTAgMTI6NDI6NDQgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgcXRtdXg6IGFkZCAzR1Agc3R5bGUgdGFnZ2luZyAoYW5kIHJlZmFjdG9yIGFwcHJvcHJpYXRlbHkpCgoyMDA5LTA2LTAxIDIzOjAwOjQ0ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9hdG9tcy5jOgoJKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgcXRtdXggKGFuZCB2YXJpYW50cyk6IGhhbmRsZSBwaXhlbC1hc3BlY3QtcmF0aW8uICBGaXhlcyAjNTg0MzU4LgoKMjAwOS0wNi0xOSAxNzowNDoxMyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOgoJICBGaXggcHJldmlvdXMgY29tbWl0IHNvIHRoYXQgdGhpbmdzIHN0aWxsIHdvcmsgd2l0aCBkZWJ1ZyBsb2dzIGVuYWJsZWQKCjIwMDktMDYtMTkgMTY6MjE6MjggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6CgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgIE1ha2UgYnVpbGQgd2l0aG91dCB3YXJuaW5ncyB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZAoKMjAwOS0wNi0xNiAyMTozNDo1NiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogTWFrZSBwbHVnaW4gc2Nhbm5pbmcgbW9yZSByb2J1c3QKCjIwMDktMDYtMTYgMjE6Mjc6MzggKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHIuYzoKCSAgZnJlaTByOiBNYWtlIHN1cmUgdG8gb25seSByZWdpc3RlciBwbHVnaW5zIHRoYXQgaGF2ZSB2YWxpZCBwcm9wZXJ0IHR5cGVzCgoyMDA5LTA2LTE2IDE5OjQyOjQxICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBSZW1vdmUgY3VzdG9tIGdldF91bml0X3NpemUgaW1wbGVtZW50YXRpb24KCSAgVGhpcyBpcyBhbHJlYWR5IGhhbmRsZWQgYnkgdGhlIGRlZmF1bHQgb25lIGZyb20gR3N0VmlkZW9GaWx0ZXIKCjIwMDktMDYtMTUgMTc6MDU6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSAgZnJlaTByOiBGaXggdGhlIGtsYXNzIG9mIHRoZSBmaWx0ZXIgZWxlbWVudHMKCjIwMDktMDYtMTQgMTk6NDE6MjcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJmaWx0ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEZyZWUgdHlwZSBuYW1lcwoKMjAwOS0wNi0xNCAxOTozNToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcm1peGVyLmM6CgkgIGZyZWkwcjogVW5yZWYgdGhlIEdzdENvbGxlY3RQYWRzIGluc3RhbmNlIG9uIGZpbmFsaXplCgoyMDA5LTA2LTE0IDE5OjI3OjAzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByc3JjLmM6CgkgIGZyZWkwcjogRG9uJ3QgYWxsb3cgY2FwcyBjaGFuZ2VzIGluIFBMQVlJTkcvUEFVU0VECgkgIE1vc3QgZnJlaTByIHNvdXJjZSBwbHVnaW5zIGdlbmVyYXRlIG91dHB1dCBiYXNlZCBvbgoJICBwcmV2aW91cyBvdXRwdXQgYW5kIGNyZWF0aW5nIGEgbmV3IGluc3RhbmNlIG9uIGNhcHMKCSAgY2hhbmdlcyB3aWxsIGxldCB0aGUgb3V0cHV0IHN0YXJ0IGF0IDAgYWdhaW4uCgoyMDA5LTA2LTE0IDE5OjIxOjM0ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTBybWl4ZXIuYzoKCSogZ3N0L2ZyZWkwci9nc3RmcmVpMHJtaXhlci5oOgoJICBmcmVpcjA6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgbWl4ZXIgcGx1Z2lucwoKMjAwOS0wNi0xMyAxMDowNjo1NyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IERlc3Ryb3kgdGhlIGYwcl9pbnN0YW5jZV90IGluIHN0b3AoKQoKMjAwOS0wNi0xMiAyMjowNDoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcmZpbHRlci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJICBmcmVpMHI6IEFkZCB0aGUgZnJlaTByIHBsdWdpbiB0eXBlIHRvIHRoZSBlbGVtZW50IG5hbWUKCSAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8gZGlzdGluZ3Vpc2ggZ2VuZXJhdG9ycyBmcm9tIGZpbHRlcnMsIGV0YwoKMjAwOS0wNi0xMiAyMjowMDoyMCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZnJlaTByL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwci5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5jOgoJKiBnc3QvZnJlaTByL2dzdGZyZWkwcnNyYy5oOgoJICBmcmVpMHI6IEFkZCBzdXBwb3J0IGZvciBmcmVpMHIgc291cmNlL2dlbmVyYXRvciBwbHVnaW5zCgoyMDA5LTA2LTEyIDE1OjEzOjI5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogQWxsb3cgdGhlIGNvbXBsZXRlIGRvdWJsZSByYW5nZSBmb3IgZG91YmxlIHByb3BlcnRpZXMKCSAgVGhlIHNwZWMgcmVzdHJpY3RzIGl0IHRvIFswLDFdIGJ1dCBzb21lIHBsdWdpbnMgYXJlIHVzaW5nIHRoZQoJICBjb21wbGV0ZSBkb3VibGUgcmFuZ2UuCgoyMDA5LTA2LTEyIDE1OjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkgIGZyZWkwcjogVXNlIGJldHRlciBwcm9wZXJ0eSBuaWNrcwoKMjAwOS0wNi0xMiAxNDo1OToyOCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVpMHIvTWFrZWZpbGUuYW06CgkqIGdzdC9mcmVpMHIvZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByLmg6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmM6CgkqIGdzdC9mcmVpMHIvZ3N0ZnJlaTByZmlsdGVyLmg6CgkgIGZyZWkwcjogRmlyc3QgdmVyc2lvbiBvZiBhIGZyZWkwciB3cmFwcGVyIHBsdWdpbgoJICBDdXJyZW50bHkgdGhpcyBvbmx5IHN1cHBvcnRzIGZyZWkwciBmaWx0ZXJzLgoKMjAwOS0wNi0xNCAyMDowMDo1MSArMDIwMCAgTWF4aW1pbGlhbiBIw7ZnbmVyIDxwYm1heGlAaG9lZ25lcnMuZGU+CgoJKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6CgkgIHNjYWxldGVtcG86IEV4cGxpY2l0ZWx5IGNhc3QgdG8gc2lnbmVkIGludGVnZXJzIHRvIGZpeCBhIHNlZ2ZhdWx0CgkgIEZpeGVzIGJ1ZyAjNTg1NjYwLgoKMjAwOS0wNi0wOSAxOToxNDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJICBzaGFwZXdpcGU6IEltcGxlbWVudCBiYXNpYyBRb1MKCSAgVGhpcyBjaGFuZ2UgaXMgYmFzZWQgb24gVGltJ3MgUW9TIGltcGxlbWVudGF0aW9uCgkgIGZvciBqcGVnZGVjLgoKMjAwOS0wNi0wOSAxODo0NToxOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFByb3h5IHF1ZXJpZXMgb24gdGhlIHZpZGVvIHBhZHMgdG8gdGhlIGNvcnJlY3QgcGVlcnMKCjIwMDktMDYtMDkgMTg6Mzc6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NoYXBld2lwZS9nc3RzaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBQcm94eSBidWZmZXJhbGxvYyBvbiB0aGUgdmlkZW8gc2lua3BhZAoKMjAwOS0wNi0wOSAxODoyNToxMyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IFRyeSB0byB3b3JrIGlucGxhY2UgaWYgcG9zc2libGUKCSAgVGhpcyBzYXZlcyBvbmUgbmV3LCBsYXJnZSBhbGxvY2F0aW9uIHBlciBmcmFtZSBmb3IgdGhlCgkgIG1vc3QgY2FzZXMuCgoyMDA5LTA2LTE2IDE4OjQ2OjQ5ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IGZpeCBzdHJheSBzZW1pY29sb25zIHRoYXQgbWVzcyB1cCBpZiBzdGF0ZW1lbnQKCjIwMDktMDYtMTEgMTM6NDI6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBkb2NzOiBCdW1wIGNvbW1vbiB0byBjb3JyZWN0IHVwbG9hZC1kb2MubWFrLCBmaXggYSBjb21tZW50IGluIHRoZSBkb2MgTWFrZWZpbGUKCjIwMDktMDYtMTggMjA6MzM6MDAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTMuMQoKMjAwOS0wNi0xOCAwODo1MzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCAwLjEwLjEzIHJlbGVhc2UgZW50cnkgdG8gdGhlIGRvYXAgZmlsZQoKPT09IHJlbGVhc2UgMC4xMC4xMyA9PT0KCjIwMDktMDYtMTggMDg6Mjk6NTYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWRwY21kZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWlmZnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcGV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFzc3JlbmRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVidWd1dGlsc2JhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RzaXJlbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taGR2cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taWQzdGFnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjEzCgoyMDA5LTA2LTE3IDIxOjU2OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2phLnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDYtMTYgMTc6MDk6MjYgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiByZXNldCBmaWxlbmFtZSBhZnRlciBjYXB0dXJlIHRvIGF2b2lkIHJhY3kgd2hlbiBjYXB0dXJpbmcgYWdhaW4KCSAgSWYgd2UgZG9uJ3QgcmVzZXQgdGhlIGZpbGVuYW1lIHdlIGNhbm5vdCBjaGVjayBpZiB3ZSBzdGlsbCBleHBlY3QgdGhlIGZpbGVuYW1lCgkgIGZvciBhIHN1YnNlcXVlbnQgY2FwdHVyZSBwYXNzLiBUaGUgaW1hZ2ViaW4gd291bGQgZ29vZCB0byBwYXVzZWQgYW5kIHdlIHNldCB0aGUKCSAgZmlsZW5hbWUgaW4gdGhhdCBzdGF0ZS4gVGhpcyB0cmlnZXJzIGFuIGVycm9yLW1lc3NhZ2UgYW5kIHdvdWxkIGNhcHR1cmUgdG8gdGhlCgkgIG9sZCBmaWxlbmFtZS4KCjIwMDktMDYtMTIgMTA6Mjk6MjAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbnVwcyBpbiB0aGUgdGVzdHMKCSAgU3ByaW5rbGUgbW9yZSBsb2dnaW5nIHRvIG1ha2UgaXQgZWFzaWVyIHRvIGZvbGxvdy4gU3BlY2lmeSBhIGxvdyBmcmFtZXJhdGUgYW5kCgkgIGNhcHR1cmUgcmVzb2x1dGlvbiB0byBhdm9pZCB0ZXN0cyB0aW1pbmcgb3V0LiBNYWtlIHRoZSBzaW5rcyBzeW5jIHRvIHRlc3QgY2xvc2VyCgkgIHRvIHJlYWxpdHkuIEZpeCBNYWtlZmlsZSB0byB1c2UgdW5pbnN0YWxsZWQgaW50ZXJmYWNlLgoKMjAwOS0wNi0xMiAxMDoyNjozMCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHNldCBpbWFnZWJpbiB0byBQQVVTRUQgb24gY2FwdHVyZSBhbmQgZGVsYXllZCBmaWxlbmFtZSBzZXR0aW5nCgkgIFdlIG5lZWQgdG8gc2V0IGltYWdlYmluIHRvIFBBVVNFRCB0byBub3QgZmFpbCB0aGUgYnVmZmVyYWxsb2MuIFdlIGFsc28gbmVlZCB0bwoJICBrZWVwIHRoZSBmaWxlc2lua3Mgc3RhdGUgbG9ja2VkIHVudGlsIHdlIGhhdmUgdGhlIGZpbGVuYW1lIGZvciB0aGUgcnVuLgoKMjAwOS0wNi0xMiAxMDoxNDoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGFkIHRoYXQgaXMgcGVuZGluZyBhbmQgaGF2ZSBhIGZhbGxiYWNrCgkgIFdlIHNob3VsZCBkbyB0aGUgcGFkX2FsbG9jIGZvciB0aGUgcGVuZGluZyBwYWQgaWYgYW55LCBhcyB3ZSB3aWxsIHN3aXRjaCB0byB0aGF0CgkgIHBhZCBvbiBuZXh0IF9jaGFpbigpIGNhbGwuIEFsc28gZG8gYSBmYWxsYmFjayBhbGxvYywgaWYgdGhlcmUgaXMgbm8gb3V0cHV0IHlldCB0bwoJICBub3QgZmFpbCBzdGF0ZSB0cmFuc2l0aW9ucyBpbiBkeW5hbWljIHBpcGVsaW5lcy4KCjIwMDktMDYtMTEgMTY6MDA6MzYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IEJ1bXAgd2luMzIgY29uZmlnLmggdmVyc2lvbiBudW1iZXIgdG9vCgoyMDA5LTA2LTA1IDIyOjQzOjUwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL0xJTkdVQVM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8vamEucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjEyLjMgcHJlLXJlbGVhc2UKCjIwMDktMDYtMDYgMjE6Mjg6MjcgKzA0MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSAgQWRkZWQgYmFzZSBsaWJzIHRvIGRlYnVnIHV0aWxzIG1ha2VmaWxlCgkgIEZpeGVzICM1ODUwMTUKCjIwMDktMDYtMDcgMTA6NTU6NTkgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgdGVzdHMvbWV0YWRhdGE6IERvbid0IHRyeSB0YWdzIHdlIGNhbid0IGhhbmRsZS4gRml4ZXMgIzU4NDk0NQoKMjAwOS0wNi0wNiAxOToyODowNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9NYWtlZmlsZS5hbToKCSAgaGR2cGFyc2U6IExpbmsgYWdhaW5zdCBsaWJtIGJlY2F1c2Ugd2UgdXNlIHBvdygpLgoKMjAwOS0wNi0wNiAxMzo1MzowNCArMDEwMCAgSmFuIFNjaG1pZHQgPGphbi5zY2htaWR0QHN1bi5jb20+CgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZXhhbXBsZXM6IERvbid0IGJ1aWxkIHRoZSBteGYgZXhhbXBsZSBpZiBHVEsgaXNuJ3QgcHJlc2VudC4KCjIwMDktMDYtMDYgMTM6MTc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6CgkqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBhcGV4c2luazogRml4IGNvbXBpbGVyIHdhcm5pbmdzCgkgIEZpeCBjb21waWxlIHdhcm5pbmdzIG9uIHNvbGFyaXMgZnJvbSBiemVybyBub3QgYmVpbmcgZGVjbGFyZWQgKHVzZQoJICBtZW1zZXQgaW5zdGVhZCksIGFuZCBzdHJpY3QtYWxpYXNpbmcgd2FybmluZ3MgKHVzZSBhIHRlbXBvcmFyeQoJICB2YXJpYWJsZSkuCgoyMDA5LTA2LTA2IDAyOjM1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogaW5pdCBnZW5yZSBmaWVsZCBpbiBJRDN2MSB0YWcgdG8gYW4gaW52YWxpZCBudW1iZXIKCSAgU28gdGhhdCBpdCBpcyBub3QgaW50ZXJwcmV0ZWQgYXMgJ0JsdWVzJyBpZiBubyBnZW5yZSBpcyB0byBiZSB3cml0dGVuLgoKMjAwOS0wNi0wNiAwMTowNTo0OSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJICBpZDNtdXg6IGRvbid0IHdyaXRlIElEM3YxIHRhZyB1bnRpbCBzcGVjaWZpY2FsbHkgaW5zdHJ1Y3RlZCB0byBkbyBzbwoJICBJRDN2MSB0YWdzIGFyZSBvbmUgb2YgdGhlIG1vc3QgYnJva2VuIGFuZCBpbGwtZGVzaWduZWQgdGhpbmdzIHRoYXQKCSAgZXhpc3Qgb24gdGhpcyBwbGFuZXQuIExldCdzIG5vdCB3cml0ZSB0aGVtIGJ5IGRlZmF1bHQuCgoyMDA5LTA2LTA2IDAwOjU4OjQ2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9pZDN0YWcvaWQzdGFnLmM6CgkgIGlkM211eDogZG9uJ3Qgd3JpdGUgZW1wdHkgSUQzdjEgdGFnCgoyMDA5LTA2LTA2IDAwOjM5OjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJKiBnc3QvaWQzdGFnL01ha2VmaWxlLmFtOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM211eC5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5oOgoJICBpZDN0YWc6IHJlbmFtZSBuZXcgaWQzdGFnIGVsZW1lbnQgdG8gaWQzbXV4IHJlcGxhY2luZyB0aGUgb25lIHJlbW92ZWQgZnJvbSAtdWdseQoKMjAwOS0wNi0wNSAyMzo1MjowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L25zZi9uZXM2NTAyLmM6CgkgIG5zZjogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gU29sYXJpcy4KCSAgQSBTRUMoKSBtYWNybyBhbHJlYWR5IGV4aXN0cyBvbiBTb2xhcmlzLCBjYXVzaW5nIHdhcm5pbmdzIGFib3V0CgkgIHJlZGVmaW5pbmcgaXQuCgoyMDA5LTA2LTA1IDIyOjIwOjQ2ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBGaXggdGhlIGJ1aWxkIG9uIENvbW1hbmRlciBUaGF5dGFuJ3MgUzEwU1AKCjIwMDktMDYtMDUgMTk6NTM6MDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5naXRpZ25vcmU6CgkgIGdpdGlnbm9yZTogSWdub3JlIHNoYXBld2lwZSB1bml0IHRlc3QgYmluYXJ5CgoyMDA5LTA2LTA1IDE5OjMyOjI2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSAgTW92ZWQgJ3gyNjRlbmMnIGZyb20gLWJhZCB0byAtdWdseQoKMjAwOS0wNi0wNSAyMToxNzo1NSArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNhbWVyYWJpbjogZml4IGxpbmsgb3JkZXIKCSAgTW92ZSBsb2NhbCB2ZXJzaW9uIHVwIGluIHRoZSBsaW5rIG9yZGVyLgoKMjAwOS0wNi0wNSAyMDoyMjoxNyArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJICBoZHZwYXJzZTogRW1pdCBhIEdTVF9NRVNTQUdFX0VMRU1FTlQgd2l0aCBzb21lIGdvb2RuZXNzIGluIGl0LgoKMjAwOS0wNi0wNSAxMDo0OTo0MSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICBtcGVndmlkZW9wYXJzZTogQWRkIG1ldGhvZHMgdG8gZ2V0IG5hbWVzIG9mIHZhcmlvdXMgdmFsdWVzLgoKMjAwOS0wNi0wNSAxMDo0ODo1MiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IEhEViBwcml2YXRlIHN0cmVhbSBkZWZpbml0aW9uL2NhcHMuCgoyMDA5LTA2LTA1IDEwOjQ3OjQxICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2hkdnBhcnNlL2dzdGhkdnBhcnNlLmM6CgkgIGhkdnBhcnNlOiBSZXdyaXRlIGZyb20gc2NyYXRjaC4gSGFuZGxlIGJvdGggaGR2LWEgYW5kIGhkdi12CgkgIFRoaXMgdGltZSB3ZSBhbmFseXplIGEgbG90IG1vcmUgaW5mb3JtYXRpb24uCgkgIFN0aWxsIG5lZWQgdG8gcmUtYWRkIHRoZSBtZXNzYWdlIGVtaXNzaW9uLgoKMjAwOS0wNi0wNSAxNjo0ODowNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgY2VsdGVuYzogY29ycmVjdCBmcmFtZXNpemUgcmFuZ2UKCSAgQSBDRUxUIGZyYW1lc2l6ZSBjYW4gYmUgYmV0d2VlbiA2NCBhbmQgNTEyIHNhbXBsZXMuCgkgIEZpeCBhIHR5cG8gaW4gdGhlIGJpdHJhdGUgcHJvcGVydHkgZGVzY3JpcHRpb24uCgoyMDA5LTA1LTI3IDExOjMzOjAxICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5wcmV2aWV3LmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmlucHJldmlldy5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBwcmV2aWV3IGltYWdlIHNlbmRpbmcgb3B0aW1pemF0aW9uCgkgICogZGVjb3VwbGUgaW1hZ2UgY2FwdHVyaW5nIGZyb20gaW1hZ2UgcG9zdC1wcm9jZXNzaW5nIGFuZCBlbmNvZGluZwoJICAqIHBvc3QgaW1hZ2UtY2FwdHVyZWQgbWVzc2FnZSBhZnRlciBpbWFnZSBpcyBjYXB0dXJlZAoJICAqIHBvc3QgcHJldmlldy1pbWFnZSBtZXNzYWdlIHdpdGggc25hcHNob3Qgb2YgY2FwdHVyZWQgaW1hZ2UKCjIwMDktMDUtMTkgMTY6NTg6MzYgKzAzMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuYzoKCSAgY2FtZXJhYmluOiBkb24ndCBsb3NlIHBvc3QgcHJvY2Vzc2luZyBlbGVtZW50IGluIGZpcnN0IHJlc2V0CgoyMDA5LTA1LTEyIDEyOjQ5OjMzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmdlbmVyYWwuYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5pbWFnZS5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogYWRkIGRlYnVnIGluY2x1ZGluZyBkb3QgZ3JhcGggd3JpdGluZwoKMjAwOS0wNS0wNSAxNDoxOTo0NiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1bmJsb2NrIGlmIGVycm9yIG9jY3VycyBkdXJpbmcgY2FwdHVyZQoKMjAwOS0wNS0wNCAxMDozMzoxOCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJICBjYW1lcmFiaW46IGlnbm9yZSBuaWdodCBtb2RlIGhhbmRsaW5nIGlmIGFscmVhZHkgaW4gbmlnaHQgbW9kZQoKMjAwOS0wNS0wNCAxMDozMjoxMCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBzdG9wIG9uZ29pbmcgY2FwdHVyZSBpZiBjaGFuZ2luZyByZXNvbHV0aW9uCgoyMDA5LTA0LTIzIDE4OjE1OjQzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmM6CgkgIGNhbWVyYWJpbjogbGltaXQgdGhlIHNpemUgb2YgdmlkZW8gYmluIHF1ZXVlIGxlYWRpbmcgdG8gdmlldyBmaW5kZXIKCSAgV2UgZG9uJ3Qgd2FudCB0byBzaG93IG9sZCBidWZmZXJzIGluIHZpZXcgZmluZGVyLgoKMjAwOS0wNC0yMiAxMjoyOToxNCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnhvdmVybGF5Lmg6CgkgIGNhbWVyYWJpbjogZG9uJ3QgcHJveHkgZ3N0IHhvdmVybGF5IGludGVyZmFjZQoJICBEZWZhdWx0IHZpZXcgZmluZGVyIHNpbmsgaW4gY2FtZXJhYmluIGlzIGF1dG92aWRlb3Npbmsgd2hpY2ggZG9lc24ndAoJICBzdXBwb3J0IHhvdmVybGF5IGlmYWNlLiBJZiBhcHBsaWNhdGlvbiBkZWNpZGVzIHRvIHVzZSBhbm90aGVyIHNpbmsKCSAgdGhhdCBzdXBwb3J0cyB4b3ZlcmxheSwgdGhlbiBpdCBjYW4gdXNlIHRoZSBpbnRlcmZhY2UgZGlyZWN0bHkuCgoyMDA5LTA0LTIwIDE3OjA2OjE0ICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5LmM6CgkgIGNhbWVyYWJpbjogYWxsb3cgY29uZmlndXJpbmcgcGhvdG9ncmFwaHkgc2V0dGluZ3Mgd2hlbiBpbiBOVUxMIHN0YXRlCgkgIENhY2hlIHRoZSBwaG90b2dyYXBoeSBzZXR0aW5ncyBpZiBzZXQgaW4gTlVMTCBzdGF0ZSBhbmQgYXBwbHkgdGhlbSBsYXRlcgoKMjAwOS0wNC0yMCAxNzowNTo0OSArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgcGhvdG9ncmFwaHk6IGFkZCBmdW5jdGlvbnMgdG8gc2V0L2dldCBhbGwgc2V0dGluZ3Mgd2l0aCBvbmUgY2FsbAoKMjAwOS0wMy0wOSAxODowMDo0NSArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjcm9wIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgaWYgbmVjZXNzYXJ5CgkgIElmIGluY29taW5nIHN0aWxsIGltYWdlIGNhcHR1cmUgZnJhbWUgYXNwZWN0IHJhdGlvIGRpZmZlcnMgZnJvbSBhc3BlY3QKCSAgcmF0aW8gdGhhdCBhcHBsaWNhdGlvbiByZXF1ZXN0ZWQsIHRoZW4gYXBwbHkgY3JvcCB0byB0aGUgZnJhbWUuCgoyMDA5LTA2LTA1IDEwOjI1OjI2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hZHBjbWRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oZHZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pZDN0YWcueG1sOgoJICBkb2NzOiBhZGQgaW5zcGVjdCBmaWxlcyBmb3IgbmV3IHBsdWdpbnMKCjIwMDktMDYtMDUgMTA6MTY6MjMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICBkb2NzOiBmaXggYnVpbGQgb2YgcGx1Z2luIGRvY3MgYnkgdXBkYXRpbmcgaW5zcGVjdCB0ZW1wbGF0ZXMKCSAgVGhlIHhtbCBpbnNwZWN0IGRhdGEgb2YgdGhlIGRlYnVndXRpbHNiYWQgcGx1Z2luIGRpZG4ndCBjb250YWluIHRoZQoJICBkYXRhIGZvciB0aGUgZnBzZGlzcGxheXNpbmsgZWxlbWVudCAoc29tZW9uZSBwcm9iYWJseSByYW4gJ21ha2UgdWRwYXRlJwoJICBpbiBkb2NzL3BsdWdpbnMgd2l0aCB0aGUgb2xkIGxpYmdzdGZwc2Rpc3BsYXlzaW5rLnNvIGZyb20gYmVmb3JlIHRoZQoJICByZW5hbWUgc3RpbGwgYXJvdW5kKS4KCjIwMDktMDYtMDUgMTA6MzQ6MzAgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL3htbC9lbGVtZW50LWZwc2Rpc3BsYXlzaW5rLWRldGFpbHMueG1sOgoJICBSZXZlcnQgImRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbiIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCAwMzllZjNlYjA3MjU1NWI3Y2EzOGZjMzUxY2EzODZiYjY4MGNjY2NjLgoJICBXZSBkb24ndCB0cmFjayB0aGUgc3R1ZmYgaW4geG1sLyBpbiBnaXQuCgoyMDA5LTA2LTA1IDExOjE4OjMxICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMveG1sL2VsZW1lbnQtZnBzZGlzcGxheXNpbmstZGV0YWlscy54bWw6CgkgIGRvY3M6IGFkZCBkb2MgZmlsZSBmcm8gbmV3IHBsdWdpbgoKMjAwOS0wNi0wMSAxNjozMTo0MiArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3Rvcjogc2VyaWFsaXplIHNldHRpbmcgYW5kIGFjdHVhbCBjaGFuZ2luZyBvZiBuZXcgYWN0aXZlIHBhZAoKMjAwOS0wNS0wNCAxMjoyOTo1NCArMDMwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dC1zZWxlY3RvcjogdW5yZWYgbGF0ZXN0IGJ1ZmZlciBhbHNvIHdoZW4gcmVzZW5kaW5nIGhhcyBiZWVuIGRpc2FibGVkCgoyMDA5LTA0LTE2IDE3OjMyOjAzICswMzAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgb3V0cHV0LXNlbGVjdG9yOiBrZWVwIHJlZiB0byBidWZmZXIgZm9yIHJlc2VuZGluZyBvbmx5IGlmIGV4cGxpY2l0bHkgcmVxdWVzdGVkCgoyMDA5LTA2LTA0IDE5OjA4OjE2ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgaW5wdXRzZWxlY3RvcjogZG9uJ3QgbGVhayBwYWRzIGluIGl0ZXJhdG9yCgoyMDA5LTA2LTA0IDE2OjI5OjMxICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgIG1wZWdkZW11eDogQWRkIGEgR1NUX01FTURVTVAgbGluZSBpbiB0aGUgZGVzY3JpcHRvciBwYXJzaW5nCgkgIE1ha2UgaXQgcG9zc2libGUgdG8gc2VlIGRlc2NyaXB0b3IgY29udGVudHMgaW4gdGhlIGRlYnVnIG91dHB1dAoJICAoR1NUX0RFQlVHPW1wZWd0c2Rlc2M6OSksIGFuZCByZW1vdmUgYSBzdHJheSBzZW1pLWNvbG9uLgoKMjAwOS0wNi0wNCAxNjoxMToxNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogQXZvaWQgcGFzc2luZyB0aGUgY3VzdG9tIEdTVF9GTE9XX05FRURfTU9SRV9EQVRBIHVwc3RyZWFtCgkgIERvbid0IHJldHVybiBHU1RfRkxPV19ORUVEX01PUkVfREFUQSBmcm9tIHRoZSBjaGFpbiBmdW5jdGlvbiBhdCB0aGUgZW5kCgkgIG9mIGZpbGVzLgoKMjAwOS0wNi0wNCAwODo1NjoyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBOb3RpZnkgd2hlbiB0aGUgdGFncyBwcm9wZXJ0eSBvZiB0aGUgc2VsZWN0b3Igc2lua3BhZHMgY2hhbmdlcwoJICBGaXJzdCBwYXJ0IG9mIGJ1ZyAjNTg0Njg2LgoKMjAwOS0wNi0wNCAwODo1NjoxNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBJbmNyZWFzZSB0aW1lb3V0IG9mIHRoZSB1bml0IHRlc3QKCjIwMDktMDYtMDMgMjM6MzU6MzYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMKCjIwMDktMDYtMDIgMTE6MzY6MDEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgdHdvIG5ldyBwbHVnaW5zIHRvIHNwZWMgZmlsZQoKMjAwOS0wNi0wMiAxMToyMzozNyArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbToKCSAgZHZkc3B1OiBhZGQgbWlzc2luZyBoZWFkZXIgdG8gTWFrZWZpbGUuYW06IGdzdHNwdS1jb21tb24uaAoKMjAwOS0wNi0wMiAwMTowOTozMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgIGRpcmFjOiB1c2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgYysrIGNvbXBpbGVycwoJICBGaXhlcyBjb21waWxlciBtZXNzYWdlIGFib3V0IHBhc3NpbmcgLVdkZWNsYXJhdGlvbi1hZnRlci1zdGF0ZW1lbnQKCSAgdG8gdGhlIEMrKyBjb21waWxlci4KCjIwMDktMDYtMDEgMTU6NTM6MjcgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBmaXggc2FtcGxlIHJhdGUgZXh0cmFjdGlvbiBmcm9tIGNvZGVjIGRhdGEKCSAgSW4gb25lIGNhc2Ugd2UgZXh0cmFjdGVkIHRoZSBzYW1wbGUgcmF0ZSBpbmRleCBmcm9tIHRoZSBjb2RlYyBkYXRhCgkgIGFuZCBzYXZlZCBpdCBhcyBzYW1wbGUgcmF0ZSByYXRoZXIgdGhhbiBnZXR0aW5nIHRoZSByZWFsIHNhbXBsZQoJICByYXRlIGZyb20gdGhlIHRhYmxlLiBGaXggdGhhdCwgYW5kIGFsc28gbWFrZSBzdXJlIHdlIGRvbid0IGFjY2VzcwoJICBub24tZXhpc3RhbnQgdGFibGUgZW50cmllcyBieSBhZGRpbmcgYSBzbWFsbCBoZWxwZXIgZnVuY3Rpb24gdGhhdAoJICBndWFyZHMgYWdhaW5zdCBvdXQtb2YtYm91bmRzIGFjY2VzcyBpbiBjYXNlIG9mIGludmFsaWQgaW5wdXQgZGF0YS4KCjIwMDktMDYtMDEgMTQ6MDI6MzMgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RhbXJwYXJzZS5jOgoJICBhYWNwYXJzZSwgYW1ycGFyc2U6IHJlbW92ZSBib2d1cyBnc3RfcGFkX2ZpeGF0ZV9jYXBzKCkgY2FsbHMKCjIwMDktMDYtMDEgMTM6NTY6MTggKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcHJvcGFnYXRlIHJldHVybiB2YWx1ZSBvZiBHc3RCYXNlUGFyc2U6OnNldF9zaW5rX2NhcHMoKQoJICBnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMoKSBwcmVzdW1hYmx5IHNob3VsZCBmYWlsIGlmIHRoZSBzdWJjbGFzcwoJICByZXR1cm5zIEZBTFNFIGZyb20gaXRzIDo6c2V0X3NpbmtfY2FwcygpIGZ1bmN0aW9uLgoKMjAwOS0wNi0wMSAxMzo0NzowMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBkb24ndCB0cnkgdG8gR1NUX0xPRyBhbiBhbHJlYWR5LWZyZWVkIGNhcHMgc3RyaW5nCgkgIFRoZSBwcm9wZXIgd2F5IHRvIGxvZyBjYXBzIGlzIHZpYSBHU1RfUFRSX0ZPUk1BVCBhbnl3YXkuCgoyMDA5LTA2LTAxIDEzOjA1OjM1ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogc2V0IGNoYW5uZWxzIGFuZCByYXRlIG9uIG91dHB1dCBjYXBzLCBhbmQga2VlcCBjb2RlY19kYXRhCgkgIENyZWF0ZSBvdXRwdXQgY2FwcyBmcm9tIGlucHV0IGNhcHMsIHNvIHdlIG1haW50YWluIGFueSBmaWVsZHMgd2UKCSAgbWlnaHQgZ2V0IG9uIHRoZSBpbnB1dCBjYXBzLCBzdWNoIGFzIGNvZGVjX2RhdGEgb3IgcmF0ZSBhbmQgY2hhbm5lbHMuCgkgIFNldCBjaGFubmVscyBhbmQgcmF0ZSBvbiB0aGUgb3V0cHV0IGNhcHMgaWYgd2UgZG9uJ3QgaGF2ZSBpbnB1dCBjYXBzCgkgIG9yIHRoZXkgZG9uJ3QgY29udGFpbiBzdWNoIGZpZWxkcy4gV2UgZG8gdGhpcyBwYXJ0bHkgYmVjYXVzZSB3ZSBjYW4sCgkgIGJ1dCBhbHNvIGJlY2F1c2Ugc29tZSBtdXhlcnMgbmVlZCB0aGlzIGluZm9ybWF0aW9uLiBUYWdyZWFkYmluIHdpbGwKCSAgYWxzbyBiZSBoYXBweSBhYm91dCB0aGlzLgoKMjAwOS0wNi0wMSAyMjo0MjowOCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSogZ3N0L3F0bXV4L2F0b21zLmg6CgkqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIGdwcG11eDogZW5oYW5jZSBmdHlwIGJyYW5kIGhldXJpc3RpYy4gIEZpeGVzICM1ODQzNjAuCgoyMDA5LTA2LTAxIDIxOjI0OjI3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogRml4IHNvbWUgaXNzdWVzIHRoYXQgd2VyZSBleHBvc2VkIGJ5IHRoZSBuZXcgdW5pdCB0ZXN0CgoyMDA5LTA2LTAxIDIxOjI0OjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zaGFwZXdpcGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgdW5pdCB0ZXN0IGZvciBzaGFwZXdpcGUKCjIwMDktMDUtMzEgMjE6MzM6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNoYXBld2lwZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBkb2N1bWVudGF0aW9uIGFuZCBpbnRlZ3JhdGUgaW50byB0aGUgYnVpbGQgc3lzdGVtCgoyMDA5LTA1LTMxIDIwOjI0OjQ0ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgc2RwZGVtdXg6IGluY2x1ZGUgZ2xpYi5oIGJlZm9yZSBjaGVja2luZyBpZiBHX09TX1dJTjMyIGlzIGRlZmluZWQKCjIwMDktMDUtMzEgMjA6MjM6MTkgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogLmdpdGlnbm9yZToKCSAgLmdpdGlnbm9yZTogaWdub3JlIG5ldyBzaGFwZXdpcGUgZXhhbXBsZSBiaW5hcnkKCjIwMDktMDUtMzEgMTg6MjM6NTAgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IFNldHRpbmcgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHBpY2tlZCB1cCBieSBwbGF5YmluMi4KCjIwMDktMDUtMzEgMTg6MjM6MDggKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuYzoKCSAgaGR2cGFyc2U6IEVtaXQgYXBwbGljYXRpb24gbWVzc2FnZSB3aXRoIHRoZSBwYXJzZWQgaW5mb3JtYXRpb24uCgoyMDA5LTA1LTMxIDE0OjE1OjExICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvaGR2cGFyc2UvTWFrZWZpbGUuYW06CgkqIGdzdC9oZHZwYXJzZS9nc3RoZHZwYXJzZS5jOgoJKiBnc3QvaGR2cGFyc2UvZ3N0aGR2cGFyc2UuaDoKCSAgaGR2cGFyc2U6IE5ldyBlbGVtZW50IGZvciBwYXJzaW5nIHByaXZhdGUvaGR2LWExIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDIxOjA3OjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkgIHNoYXBld2lwZTogQWRqdXN0IGJvcmRlciB0byBzdGlsbCBoYXZlIGV2ZXJ5dGhpbmcgdHJhbnNwYXJlbnQgYXQgMS4wIGFuZCB0aGUgb3RoZXIgd2F5IGFyb3VuZAoKMjAwOS0wNS0yOSAxNjo1NToyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBEaXZpZGUgdGhlIGJvcmRlciB2YWx1ZSBieSB0d28sIG90aGVyd2lzZSB3ZSB1c2UgYSB0d2ljZSBhIHdpZGUgYm9yZGVyCgoyMDA5LTA1LTI5IDE2OjUxOjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmM6CgkqIGdzdC9zaGFwZXdpcGUvZ3N0c2hhcGV3aXBlLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9zaGFwZXdpcGUtZXhhbXBsZS5jOgoJICBzaGFwZXdpcGU6IEFkZCBib3JkZXIgcHJvcGVydHkgdG8gYWxsb3cgc21vb3RoIGJvcmRlcnMKCSAgLi4uYW5kIHVzZSBhIGJvcmRlciBvZiAwLjAxIGluIHRoZSBleGFtcGxlIGFwcGxpY2F0aW9uLgoKMjAwOS0wNS0yOSAxNTo0NDo1MSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogRml4IGJvZ3VzIHVuaW5pdGlhbGlzZWQgdmFyaWFibGUgYWNjZXNzCgkgIFR5cG8gaW4gdGhlIHByZXZpb3VzIGNvbW1pdAoKMjAwOS0wNS0yOSAxNTowMTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogVXNlIHRoZSBJU08gNjM5IGxhbmd1YWdlIGNvZGUgZGVzY3JpcHRvciB0byBzZW5kIHRhZ3MuCgkgIElmIHRoZXJlIGlzIGFuIElTTyA2MzkgbGFuZ3VhZ2UgZGVzY3JpcHRvciBmb3IgYSBzdHJlYW0sIHNlbmQgYSBsYW5ndWFnZQoJICBjb2RlIHRhZyBzbyB0aGF0IHBsYXllcnMgY2FuIHNob3cgYSBtZWFuaW5nZnVsIGxhbmd1YWdlIGZvciB0aGUgYXVkaW8gYW5kCgkgIHN1YnRpdGxlIHN0cmVhbXMuCgoyMDA5LTA1LTI5IDE2OjAwOjE2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL3NoYXBld2lwZS9NYWtlZmlsZS5hbToKCSAgc2hhcGV3aXBlOiBGaXggTWFrZWZpbGUgb2YgdGhlIGV4YW1wbGUgYXBwbGljYXRpb24KCjIwMDktMDUtMjkgMTU6MzI6MjQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3Qvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5jOgoJKiBnc3Qvc2hhcGV3aXBlL2dzdHNoYXBld2lwZS5oOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc2hhcGV3aXBlL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zaGFwZXdpcGUvc2hhcGV3aXBlLWV4YW1wbGUuYzoKCSAgc2hhcGV3aXBlOiBBZGQgYSBzaW1wbGUgc2hhcGV3aXBlIHRyYW5zaXRpb24gZmlsdGVyICYgZXhhbXBsZSBhcHBsaWNhdGlvbgoKMjAwOS0wNS0yOCAxNzozNzo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogVHJhbnNmb3JtIHRoZSByaWdodCBzZXNzaW9uIHNkZXMgbWVzc2FnZQoJICBGaXhlcyAjNTg0MTY1CgoyMDA5LTA1LTI4IDE3OjMzOjEwIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgQWRkIHNzcmMgdG8gYXBwbGljYXRpb24veC1ydHAtc291cmNlLXNkZXMgc3RydWN0dXJlCgoyMDA5LTA1LTI4IDIzOjEyOjEzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6CgkgIGF1ZGlvcGFyc2U6IGFkZCBzdXBwb3J0IGZvciBBLUxhdyBhbmQgwrUtTGF3CgoyMDA5LTA1LTI4IDIzOjA4OjE3ICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSAgZ3N0c3B1OiBGaXggY29tcGlsZXIgd2FybmluZ3Mgb24gT1MvWAoJICBGaXggc29tZSB3YXJuaW5ncyBmb3IgZm9ybWF0IHN0cmluZyBhcmdzIGFuZCB1bmluaXRpYWxpemVkIHZhcnMgb24gT1MvWAoJICBGaXhlczogIzU4NDE2NAoJICBTaWduZWQtb2ZmLWJ5OiBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoyMDA5LTA1LTI4IDEzOjU2OjEwICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9xdG11eC9mb3VyY2MuaDoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiB1c2UgZGlmZmVyZW50IHN0c2QgYXRvbSB0eXBlIGZvciBIMjYzIGZvciBJU08gYW5kIFFUIHZhcmlhbnRzCgkgIEZpeGVzICM1ODQxMTQuCgoyMDA5LTA1LTI4IDEzOjA3OjM3ICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgc291bmR0b3VjaDogZml4IGRldGVjdGlvbiBvZiBsaWJzb3VuZHRvdWNoID49IDEuNAoKMjAwOS0wNS0yOCAxMzowOToyNCArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGFtcnBhcnNlLmg6CgkgIGFtcnBhcnNlOiBjb25zaWRlciBoZWFkZXIgc2l6ZSBpbiBieXRlIDwtPiB0aW1lIGNvbnZlcnNpb25zCgoyMDA5LTA1LTI2IDE5OjQzOjUzICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9hYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBiYXNlcGFyc2U6IGZpeCBkZWJ1ZyBjYXRlZ29yeQoKMjAwOS0wNS0yOCAxMDozODo1MCArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgIHNlbGVjdG9yOiByZW1vdmUgbm90IG5lZWRlZCBpbnN0YW5jZSB2YXIgKHByZXZpb3VzIGNvbW1pdCkuCgoyMDA5LTA1LTExIDE2OjEyOjU0ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9jbGllbnQuYzoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICBqYWNrOiB3aGVuIHN0b3BwaW5nIHBsYXliYWNrLCBkbyBvbmUgbW9yZSBjeWNsZSB0byBmbHVzaCB0aGUgcG9ydC4gRml4ZXMgIzU4MjE2NwoJICBUaGUgZ3N0X2phY2tfYXVkaW9fY2xpZW50X3NldF9hY3RpdmUoKSBmbGFncyB0aGUgcG9ydCBhcyBkZWFjdGl2YXRpbmcgYW5kIHVzZXMKCSAgYSBHQ29uZCB0byB3YWl0IHVudGlsIHRoZSBqYWNrX3Byb2Nlc3NfY2IoKSBoYXMgcnVuIG9uY2UgbW9yZSBhbmQgY2xlYXJlZCB0aGUKCSAgZmxhZy4gVGhpcyB3YXkgdGhlIGNsaWVudCB6ZXJvJ3MgdGhlIGJ1ZmZlci4gVGhpcyBoYXBwZW5zIGlmIG9uZSBtYW55YWxseSBnbwoJICB0byBQQVVTRUQgYW5kIHRoZW4gdG8gUkVBRFksIHdoaWxlIGxldGluZyB0aGUgbWFpbmxvb3AgcnVuIGluYmV0d2Vlbi4KCjIwMDktMDUtMjggMTA6MTI6NTggKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuaDoKCSAgb3V0cHV0c2VsZWN0b3I6IGltcGxlbWVudCBwYWRfYWxsb2Mgb24gYWN0aXZlIHBhZC4KCjIwMDktMDUtMjcgMjI6NTQ6NTEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgcmVzaW5kdmQ6IENyZWF0ZSBhbGwgdGhlIGF1ZGlvIHN0cmVhbXMgb2YgYWxsIGZvcm1hdHMKCSAgRW5hYmxlIGNyZWF0aW9uIG9mIHRoZSBkZW11eGVyIHBhZHMgZm9yIGFsbCBhdWRpbyBzdHJlYW1zLCBldmVuIHR5cGVzIHdlCgkgIGRvbid0IHlldCBzdXBwb3J0LiBUaGlzIG1lYW5zIHRoYXQgdW5zdXBwb3J0ZWQgdHlwZXMgKExQQ00sIERUUykgYXJlIG91dHB1dCwKCSAgYnV0IG5vdCBsaW5rZWQgdG8gYW55dGhpbmcgeWV0LiBJZiBvbmx5IHVuc3VwcG9ydGVkIHN0cmVhbXMgYXJlIGF2YWlsYWJsZSwKCSAgdGhlIHVzZXIgaGVhcnMgc2lsZW5jZSBpbnN0ZWFkIG9mIGhhdmluZyB0aGUgcGlwZWxpbmUgbm90IHByZS1yb2xsIGNvcnJlY3RseS4KCSAgVGhpcyBpcyBhIHByZXJlcXVpc2l0ZSBmb3IgaG9va2luZyB1cCB0aGUgYXV0b21hdGljIGRlY29kZXIgc3dpdGNoaW5nLgoKMjAwOS0wNS0yNyAxMTowMzoxNCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBydHBzb3VjZTogdGhlIG5ldHdvcmsgYWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyCgkgIEJyaW5nIHRoZSBuZXR3b3JrIGFkZHJlc3MgaW4gbmV0b3drciBieXRlIG9yZGVyIHRvIHRoZSBob3N0IG9yZGVyLgoKMjAwOS0wNS0yNyAwMDo1MTo0NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkgIGdzdHNwdTogQ29udmVydCBnX3dhcm5pbmdzIHRvIEdTVF9FUlJPUiwgYW5kIGZpeCBmb3JtYXQgc3BlY2lmaWVycwoJICBVc2UgR19HU1NJWkVfRk9STUFUIGZvciBwcmludGluZyBwb2ludGVyIGRpZmZlcmVuY2VzLCB3aGljaCBzaG91bGQgd29yayBvbgoJICBib3RoIDMyLWJpdCBhbmQgNjQtYml0IHN5c3RlbXMuCgkgIFVzZSBHU1RfRVJST1IgaW5zdGVhZCBvZiBnX3dhcm5pbmcgZm9yIHByaW50aW5nIG1lc3NhZ2VzIGFib3V0IHVua25vd24KCSAgcGFja2V0IGNvbnRlbnRzLgoKMjAwOS0wNS0yNyAwMDo0NzowNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtdm9ic3ViLXJlbmRlci5jOgoJICBnc3RzcHU6IEZpeCBhIG5hc3R5IHJlZ3Jlc3Npb24sIHdpdGggRFZEcyByYW5kb21seSBjcmFzaGluZwoJICBVc2UgdGhlIGxvY2FsIHdyYXBwZXIgZnVuY3Rpb24gd2hlbiBjbGVhcmluZyB0aGUgY29tcG9zaXRpbmcgYnVmZmVycyB0bwoJICBlbnN1cmUgdGhlIGNvcnJlY3QgcG9ydGlvbiBpcyBiZWluZyBjbGVhcmVkLgoKMjAwOS0wNS0yNiAxOTozODo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTFBDTSBzdHJlYW1zIGFyZSBvbmx5IGZyb20gMHhhMCB0byAweGFmLgoJICBGaXggdGhlIHNhbWUgYnVnIGFzIHRoZSBwcmV2aW91cyBjb21taXQsIGJ1dCBpbiByZXNpbmR2ZCdzIGNvcHkgb2YKCSAgbXBlZ2RlbXV4LgoKMjAwOS0wNS0yNiAxODo0NzozMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBPbmx5IHRyZWF0IHN0cmVhbXMgZnJvbSAweGEwIHRvIDB4YWYgYXMgTFBDTSwgbm90IDB4YTAuLjB4YmYKCSAgRG9uJ3QgdHJlYXQgc29tZSBzdHJlYW1zIChQcml2YXRlIFN0cmVhbSAyKSBhcyBMUENNIHdoZW4gdGhleSdyZSBub3QuIEZpeGVzCgkgIHBsYXliYWNrIG9mIGZpbGVzIHRoYXQgaGF2ZSBwcml2YXRlIHN0cmVhbXMgaW4gdGhlbSBub3cgdGhhdCB0aGUgUEVTIGZpbHRlcgoJICBlbWl0cyBzdWNoIHBhY2tldHMuCgoyMDA5LTA1LTI2IDE4OjQzOjE4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IGZpeCBwcmludGYgZm9ybWF0cyB0byBhdm9pZCBjb21waWxlciB3YXJuaW5ncwoKMjAwOS0wNS0yNiAxNzoxOTozNSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA2YWIxMWQxIHRvIGM1NzI3MjEKCjIwMDktMDUtMjMgMjM6MTk6MDUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LXJlbmRlci5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1jb21tb24uaDoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWItcmVuZGVyLmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZ3N0c3B1OiBJbXBsZW1lbnQgUEdTIHJlbmRlcmluZyBhbmQgYWxwaGEgYmxlbmRpbmcKCSAgUmVmYWN0b3IgdGhlIERWRCBzdWJwaWN0dXJlIGNvbXBvc2l0aW5nLCBzd2l0Y2hpbmcgaXQgdG8gOC1iaXQgYWxwaGEKCSAgY2FsY3VsYXRpb25zLiBSZXVzZSBzb21lIG9mIHRoZSByZXN1bHRpbmcgY29kZSB0byBpbXBsZW1lbnQgUEdTCgkgIHN1YnBpY3R1cmUgYmxlbmRpbmcuCgkgIEltcGxlbWVudCBwYXJzaW5nIGFuZCBjb2xsZWN0aW5nIG9mIGNvbXBvc2l0aW9uIG9iamVjdHMgcHJvcGVybHksIGJ1dAoJICBhc3N1bWluZyBhIHNpbmdsZSBhY3RpdmUgd2luZG93IGFuZCBjb2xvdXIgcGFsZXR0ZSBmb3Igbm93LiBJIG5lZWQgbW9yZQoJICBQR1Mgc2FtcGxlcy4KCjIwMDktMDUtMjIgMTE6MTM6NTkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXZvYnN1Yi5jOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS12b2JzdWIuaDoKCSAgZHZkc3B1OiBNb3ZlIGEgYnVuY2ggb2Ygdm9ic3ViIHNwZWNpZmljIGxvZ2ljIHRvIGEgc2VwYXJhdGUgZmlsZS4KCSAgU3RhcnQgc2VwYXJhdGluZyBvdXQgdGhlIHZvYnN1YiBsb2dpYyBpbiBwcmVwYXJhdGlvbiBmb3IgY3JlYXRpbmcKCSAgc2VwYXJhdGUgcmVuZGVyZXIgb2JqZWN0cyBmb3IgZWFjaCBzdWJwaWN0dXJlIGZvcm1hdC4KCjIwMDktMDUtMjIgMTE6MTI6NTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IEFkZCBjb3B5cmlnaHQgaGVhZGVyIGFuZCBpbmNsdWRlcyB0byB0aGUgUEdTIGhhbmRsZXIKCjIwMDktMDUtMjIgMTA6MTU6NDQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0c3B1LXBncy5jOgoJICBkdmRzcHU6IE1ha2UgdGhlIFBHUyBkdW1waW5nIGxlc3MgdmVyYm9zZQoKMjAwOS0wNS0yMSAyMzo0NTo0MyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBDb2xsZWN0IGVudGlyZSBQR1MgcGFja2V0cyBhbmQgcXVldWUgYXMgZXZlbnRzCgkgIENvbGxlY3QgZnJhZ21lbnRlZCBQR1MgcGFja2V0cyBhbmQgc3VibWl0IGFzIGNvbXBsZXRlIGV2ZW50cyBmb3IKCSAgcHJvY2Vzc2luZyBhdCB0aGUgY29ycmVjdCBtb21lbnQuCgoyMDA5LTA1LTIwIDA4OjU1OjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJKiBnc3QvZHZkc3B1L2dzdHNwdS1wZ3MuYzoKCSogZ3N0L2R2ZHNwdS9nc3RzcHUtcGdzLmg6CgkgIGR2ZHNwdTogQWRkIHNpbXBsZSBQR1MgaGFuZGxlciB0aGF0IGR1bXBzIHRoZSBwYWNrZXQgaW5mbwoJICBBZGQgc2V0Y2FwcyBsb2dpYyBvbiB0aGUgc3VicGljdHVyZSBzaW5rIHBhZCBmb3IgY29uZmlndXJpbmcKCSAgd2hpY2ggc3VicGljdHVyZSBmb3JtYXQgaXMgYXJyaXZpbmcuCgkgIEFkZCB0aGUgZmlyc3QgcGllY2Ugb2YgUEdTIHN1YnBpY3R1cmUgaGFuZGxpbmcgYnkgZHVtcGluZyB0aGUgc3RyZWFtCgkgIGNvbnRlbnRzIG91dCB0byB0aGUgdGVybWluYWwgYXMgdGhlIHBhY2tldHMgYXJyaXZlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnLgoJICBEb24ndCBjYWxjdWxhdGUgdGhlIHJ1bm5pbmcgdGltZSBmb3Igb3VyIHN1YnBpY3R1cmUgcGFja2V0cyB0d2ljZSwKCSAgb25jZSBpcyBlbm91Z2guCgoyMDA5LTA1LTIxIDE1OjIyOjU4ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFkZCBhIHNpbXBsZSBkZWZhdWx0IGNvbG91ciB0YWJsZS4KCSAgV2hlbiB3ZSdyZSBub3QgcHJvdmlkZWQgd2l0aCBhIHBhbGV0dGUgaW4gYWR2YW5jZSwgZHJhdyB3aXRoIGEgZ3JleQoJICBjb2xvdXIgb3IgdHdvLCBpbnN0ZWFkIG9mIFlVViBncmVlbi4KCjIwMDktMDUtMjEgMTE6MTM6NTQgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIG1wZWdkZW11eDogQWRkIHNwYXJzZSBzdHJlYW0gZmlsbGluZy4KCSAgRmlyc3Qgc3RhYiBhdCBzZW5kaW5nIG5ldy1zZWdtZW50IGV2ZW50cyB0byBlZmZlY3Qgc3BhcnNlIHN0cmVhbQoJICB1cGRhdGVzLgoKMjAwOS0wNS0yMSAwMDo0MTo0NyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ2RlbXV4OiBBZGQgc3VwcG9ydCBmb3Igb3V0cHV0dGluZyBzdWItcGljdHVyZSBzdHJlYW1zIGZvdW5kIGluIGZpbGVzLgoJICBPdXRwdXQgc3VicGljdHVyZSBzdHJlYW1zIHdoZW4gdGhleSBhcmUgZm91bmQgb24gdGhlIHByaXZhdGUgc3RyZWFtIElELgoJICBEb24ndCBzdHJpcCBvZmYgdGhlIGZpcnN0IGJ5dGUgb2Ygc3VjaCBwYWNrZXRzIHdoZW4gcHVzaGluZy4KCjIwMDktMDUtMjAgMDg6NTA6MzcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlZnMuaDoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgRFZEIGFuZCBCbHVyYXkgc3VicGljdHVyZSBzdHJlYW1zLgoJICBBZGQgb3V0cHV0IHN1YnBpY3R1cmUgcGFkcyBmb3IgRFZEICh2aWRlby94LWR2ZC1zdWJwaWN0dXJlKSBhbmQgQmx1cmF5IFBHUwoJICAoc3VicGljdHVyZS94LXBncykgc3RyZWFtcy4gUmVtb3ZlIGFuIHVudXNlZCB2YXJpYWJsZSBmcm9tCgkgIHRoZSBQRVMgZmlsdGVyLgoKMjAwOS0wNS0yNSAwMDoyNTowNyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogRml4IHN1YnBpY3R1cmUgdGltaW5nIGluIHNvbWUgY2FzZXMKCSAgTWFrZSBzdXJlIHdlIHNlbmQgZXZlbnRzIHRvIGFsbCBwYWRzLiBVbm1hcmsgdGhlIG5vdGxpbmtlZCBmbGFnIG9uCgkgIGZyZXNobHkgc2VsZWN0ZWQgcGFkcyB0byBlbnN1cmUgdGhleSBnZXQgZGF0YS4KCjIwMDktMDUtMjIgMTQ6MDI6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgcmVzaW5kdmQ6IFRyeSBhIGRpZmZlcmVudCBhcHByb2FjaCB0byBzZWdtZW50IGZpbGxpbmcuCgkgIFJlc3RvcmUgdGhlIG9sZCBzZWdtZW50IHVwZGF0ZSBiZWhhdmlvdXIsIGFuZCBpbnN0ZWFkIGV4dGVuZCB0aGUKCSAgY2xvc2Ugc2VnbWVudCBzdG9wIHRpbWUgaWYgdGhlIFNDUiAobGFzdF9zdG9wKSBvdmVycnVucyB0aGUgY2FsY3VsYXRlZAoJICBzdG9wIHBvc2l0aW9uLgoKMjAwOS0wNS0yMSAxMToxMDoxMyArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogTWlub3IgY2hhbmdlIHRvIGlubGluZSBhIGZ1bmN0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA1LTIwIDE5OjMxOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgc3RhdGVzOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0CgkgIEl0IGFjY2Vzc2VzIHRoZSB2aWRlbyBkZXZpY2UsIHdoaWNoIGlzbid0IGdlbmVyYWxseSBkZXNpcmFibGUgZm9yIHRoZQoJICBzdGF0ZSB0ZXN0LgoKMjAwOS0wNS0yMiAxMzowNzozOCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBEb24ndCBhY2NpZGVudGFsbHkgbG9zZSB0aGUgY29sb3VyIHBhbGV0dGUgd2hlbiBmbHVzaGluZyB0aGUgU1BVCgkgIEZpeGVzIHJhY3kgc3RhcnR1cCBvbiBEVkRzIHdoZXJlIGl0IHNvbWV0aW1lcyBnZXRzIGVudGlyZWx5IHRoZSB3cm9uZyBzZXQKCSAgb2YgY29sb3VycyBpbiB0aGUgbWVudXMgYW5kIHN1YnRpdGxlcy4KCjIwMDktMDUtMjYgMTU6NDA6NTIgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBieXRlc3dhcCB0aGUgcG9ydCBmcm9tIEdzdE5ldEFkZHJlc3MKCSAgU2luY2UgdGhlIHBvcnQgaW4gR3N0TmV0QWRkcmVzcyBpcyBpbiBuZXR3b3JrIG9yZGVyIHdlIG1pZ2h0IG5lZWQgdG8gYnl0ZXN3YXAgaXQKCSAgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgc291cmNlIHN0YXRpc3RpY3MuCgoyMDA5LTA1LTExIDE5OjMwOjM0ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgZ3N0cGVzZmlsdGVyOiBEaXJlY3RseSB1c2UgZ3N0X2FkYXB0ZXJfdGFrZV9idWZmZXIoKS4KCjIwMDktMDUtMjUgMTY6Mjc6MzQgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHBlZWsgdGhlIGFkYXB0ZXIgaWYgd2UgZG9uJ3QgaGF2ZSBlbm91Z2ggZGF0YS4KCjIwMDktMDUtMjUgMTY6MjU6NDIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBnc3RwZXNmaWx0ZXI6IERvbid0IHNraXAgcHJpdmF0ZSBzdHJlYW1zIFBFUyBidXQgcHVzaCB0aGVtIG91dC4KCSAgVGhlIG9uZSB0aGluZyB3ZSAqRE8qIG5lZWQgdG8gZG8gZm9yIHRob3NlIHN0cmVhbXMgaXMgdG8gc2tpcCBhbGwKCSAgdGhlIFBUUy9EVFMvU2NyYW1ibGluZy9EU00vZXh0ZW5zaW9uLy4uLiBoYW5kbGluZy4KCjIwMDktMDUtMjUgMTU6MjE6NTIgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBJZ25vcmUgTlVMTCBwYWNrZXRzIGFzIGVhcmx5IGFzIHBvc3NpYmxlLgoJICBUaGlzIGF2b2lkczoKCSAgKiBjcmVhdGluZyBhIE1wZWdUU1N0cmVhbSBzdHJ1Y3R1cmUgZm9yIG5vdGhpbmcKCSAgKiBwcm9jZXNzaW5nIHBhY2tldCBkYXRhIGZvciBub3RoaW5nCgoyMDA5LTA1LTI1IDE1OjIxOjEyICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBBZGQgbWFwcGluZyBmb3IgSERWIHByaXZhdGUgc3RyZWFtcwoKMjAwOS0wNS0yNSAxNzoyNDozMiArMDIwMCAgTWF0aGlhcyBIYXNzZWxtYW5uIDxtYXRoaWFzLmhhc3NlbG1hbm4gYXQgZ214LmRlPgoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgbmVvbmh0dHA6IGFkZCBwcm9wZXJ0eSB0byBzdXBwb3J0IFNTIGNlcmlmaWNhdGVzCgkgIEFkZCBhIHByb3BlcnR5IHRvIHN1cHBvcnQgc2VsZi1zaWduZWQgY2VydGlmaWNhdGVzIGluIG5lb25odHRwc3JjLiBUaGlzIHByb3BlcnR5CgkgIGlzIEZBTFNFIGJ5IGRlZmF1bHQuCgkgIEZpeGVzICM1MTEwOTcKCjIwMDktMDUtMjUgMTM6NDY6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiByZW1vdmUgcHRkZW11eCBnaG9zdHBhZHMKCjIwMDktMDUtMjUgMTM6MzM6MjAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCByZWNlaXZlIHJ0cGJpbiB1bml0IHRlc3QKCjIwMDktMDUtMjUgMTE6MTg6NTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIG11bHRpcGFzcy1jYWNoZS1maWxlIHByb3BlcnR5CgkgIEZpeGVzICM1ODM2MjcKCjIwMDktMDUtMjMgMTM6MTE6MjggKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlCgoyMDA5LTA1LTIyIDE2OjU2OjUyIC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvYWRwY21kZWMvTWFrZWZpbGUuYW06CgkqIGdzdC9hZHBjbWRlYy9hZHBjbWRlYy5jOgoJICBhZHBjbWRlYzogQWRkIG5ldyBwbHVnaW4gZm9yIG1zLWFkcGNtIGRlY29kaW5nLgoKMjAwOS0wNS0yMCAxNjo0Njo0OSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuaDoKCSogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6CgkgIG1wZWd2aWRlb3BhcnNlOiBEZXRlY3QgaW50ZXJsYWNlZCBjb250ZW50IGFuZCBzZXQgaXQgb24gb3V0Z29pbmcgY2Fwcy4KCSAgSSBhbHNvIGFkZGVkIHRoZSBwYXJzaW5nIG9mIGFsbCB0aGUgb3RoZXIgYml0cyBpbiB0aGUgc2VxdWVuY2UgZXh0ZW5zaW9uCgkgIGhlYWRlciBpbiBjYXNlIHdlIG5lZWQgaXQgbGF0ZXIuCgoyMDA5LTA1LTIyIDE2OjQxOjE5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogYWRkIHRvIG5ldyBzaWduYWwgdG8gcmVtb3ZlIFNTUkMgcGFkcwoKMjAwOS0wNS0yMiAxNjozNToyMCArMDIwMCAgQWxpIFNhYmlsIDxhbGkuc2FiaWwgYXQgZ21haWwuY29tPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBzc3JjZGVtdXg6IGVtaXQgc2lnbmFsIHdoZW4gcGFkcyBhcmUgcmVtb3ZlZAoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byBjbGVhciBhbiBTU1JDIGluIHRoZSBzc3JjIGRlbXV4ZXIuCgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIHJlbW92ZWQgc3NyYy4KCSAgU2VlICM1NTQ4MzkKCjIwMDktMDUtMjIgMTU6NDU6MTkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1c2Ugb3VyIGdob3N0cGFkcyBpbnN0ZWFkIG9mIGl0cyB0YXJnZXQKCSAgU2luY2Ugd2Uga2VlcCBhIHJlZmVyZW5jZSB0byBvdXIgZ2hvc3RwYWRzLCB3ZSBjYW4gdXNlIHRoZW0gdG8gdHJhY2sgc2Vzc2lvbnMuCgkgIFRoaXMgYXZvaWQgdXMgaGF2aW5nIHRvIG1lc3Mgd2l0aCB0aGUgdGFyZ2V0IG9mIHRoZSBnaG9zdHBhZC4KCjIwMDktMDUtMjIgMTU6Mzc6MjkgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IG1vcmUgcnRwYmluIGNoZWNrcwoKMjAwOS0wNS0yMiAxNTozNjoxNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IGRvbid0IHdhcm4gd2hlbiBnZXR0aW5nIHJlcXVlc3QgcGFkcyB0d2ljZQoJICBBbGxvdyBnZXR0aW5nIHRoZSByZXF1ZXN0IHBhZHMgbXVsdGlwbGUgdGltZXMsIGp1c3QgcmV0dXJuIHRoZSBwcmV2aW91c2x5CgkgIGNyZWF0ZWQgcGFkcy4KCjIwMDktMDUtMjIgMTM6NDc6MzAgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291cmNlOiBhZGQgUlRQIGFuZCBSVENQIHNvdXJjZSBhZGRyZXNzCgkgIEFkZCB0aGUgUlRQIGFuZCBSVENQIHNlbmRlciBhZGRyZXNzZXMgaW4gdGhlIHN0YXRzIHN0cnVjdHVyZS4KCjIwMDktMDUtMjIgMTM6NDU6MTUgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIHJ0cHNlc3Npb246IHJldXNlIHNvdXJjZSBjb2RlIGZvciBTREVTCgkgIFJldXNlIHRoZSBSVFBTb3VyY2Ugb2JqZWN0IHByb3BlcnR5IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgY29kZS4KCjIwMDktMDUtMjIgMTM6NDQ6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBtb3JlIHJ0cGJpbiB0ZXN0cwoKMjAwOS0wNS0yMiAxMjoyMzoyNyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9ydHBiaW4uYzoKCSAgdGVzdHM6IGFkZCBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCB0aGUgYmVnaW5uaW5ncyBvZiBhbiBydHBiaW4gdW5pdCB0ZXN0CgkgIEFkZCBzb21lIG1vcmUgc3R1ZmYgdG8gLmdpdGlnbm9yZQoKMjAwOS0wNS0yMiAxMjoyMDoxMyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHNldCB0YXJnZXQgc3RhdGUgb24gbmV3IGVsZW1lbnRzCgkgIFNldCB0aGUgc3RhdGUgb24gbmV3bHkgYWRkZWQgZWxlbWVudHMgdG8gdGhlIHN0YXRlIG9mIHRoZSBwYXJlbnQuCgkgIEFkZCBzb21lIGRlYnVnIGluZm8gYW5kIGRvIHNvbWUgY2xlYW51cHMKCjIwMDktMDUtMjIgMTE6NTk6MTcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiB1bnJlZiByZXF1ZXN0cyBwYWRzIGFmdGVyIHJlbGVhc2luZwoKMjAwOS0wNS0yMSAxNjowMDo0NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IGZpeCBtZW1sZWFrcyBhbmQgcmVmY291bnRzCgkgIFVzZSBjb3JyZWN0IGNvbnN0YW50cyBmb3IgUElEX3R5cGUgc28gdGhhdCB3ZSBjbGVhciB0aGUgcmlnaHQgZmlsdGVyLgoJICBwcm92aWRlX2Nsb2NrIG11c3QgcmV0dXJuIGEgcmVmIHRvIGEgY2xvY2suCgoyMDA5LTA1LTIyIDA5OjU1OjIwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYXV0b3Rvb2xzOiBtb3ZlIC1Xbm8tcG9ydGFiaWxpdHkgZm9yIGF1dG9tYWtlIHRvIGNvbmZpZ3VyZS5hYwoKMjAwOS0wNS0yMiAwOTo1NDo1NyArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2lkM3RhZy5jOgoJICBpZDN0YWc6IGNhbm9uaWNhbGlzZSBmdW5jdGlvbiBuYW1lcwoKMjAwOS0wNS0yMiAwOTo1MToyOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5jOgoJKiBnc3QvaWQzdGFnL2dzdGlkM3RhZy5oOgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IGNoYW5nZSBHVHlwZSB0byBHc3RJZDNUYWcgc28gaXQgZG9lc24ndCBjb25mbGljdCB3aXRoIHRoZSBpZDN0YWcgcGx1Z2luIGluIC11Z2x5CgoyMDA5LTA1LTIyIDAxOjI5OjMzICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IHVwZGF0ZSBjb25maWcuaAoKMjAwOS0wNS0yMiAwMToyNzowOSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvaWQzdGFnL2dzdHRhZ211eC5jOgoJICBpZDN0YWc6IHJlZ2lzdGVyIEdUeXBlIG9mIHRoZSBiYXNlIGNsYXNzIHdpdGggYSBsZXNzIGdlbmVyaWMgbmFtZQoJICAuLiBzbyB3ZSBjYW4gZWFzaWx5IG1vdmUgdGhlIGJhc2UgY2xhc3MgaW50byAtYmFzZSBsYXRlciB3aXRob3V0CgkgIGNhdXNpbmcgR1R5cGUgbmFtZSBjb25mbGljdHMuCgoyMDA5LTA1LTIyIDAxOjA0OjAyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbW1vbjoKCSogbTQvZ3N0LWZpb25yZWFkLm00OgoJICBtNDogZml4ICdzdXNwaWNpb3VzIGNhY2hlIHZhbHVlIGlkJyB3YXJuaW5ncyBpbiBnc3QtZmlvbnJlYWQubTQKCSAgQW5kIHVwZGF0ZSBjb21tb24gdG8gcHVsbCBpbiBhIHJlbGF0ZWQgZml4IGZyb20gdGhlcmUuCgoyMDA5LTA1LTIyIDAxOjQzOjUwICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBJbXBsZW1lbnQgcmVsZWFzaW5nIHRoZSBzdHJlYW1zCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTIyIDAxOjE2OjExICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBLZWVwIGpiIHNpZ25hbHMgaGFuZGxlcgoJICBLZWVwIHRoZSBzaWduYWwgaGFuZGxlcnMgc28gdGhleSBjYW4gYmUgZGlzY29ubmVjdGVkIGF0IHJlbGVhc2UgdGltZQoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMToxMjo1NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IHVzZSB0aGUgcmlnaHQgbG9jayBmb3IgdGhlIHNlc3Npb25zCgkgIFVzZSB0aGUgcmlnaHQgbG9jayB3aGVuIGl0ZXJhdGluZyB0aGUgc2Vzc2lvbnMuCgoyMDA5LTA1LTIyIDAxOjAzOjU1ICswMjAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgcnRwYmluOiBGcmVlIHNlc3Npb24gaWYgcmVxdWVzdCBwYWRzIGFyZSByZWxlYXNlZAoJICBGcmVlIHRoZSBzZXNzaW9uIHdoZW4gYWxsIHRoZSByZXF1ZXN0IHBhZHMgYXJlIHJlbGVhc2VkLgoJICBEb24ndCBtZXNzIHdpdGggdGhlIHNlc3Npb24gbGlzdCBpbiBmcmVlX3Nlc3Npb24gYXMgaXQgaXMgY2FsbGVkIGZyb20gYSBmb3JlYWNoCgkgIG9uIHRoYXQgbGlzdC4KCSAgU2V0IHRoZSBzdGF0ZSBvZiB0aGUgdXBzdHJlYW0gZWxlbWVudCB0byBOVUxMIGZpcnN0LgoJICBTZWUgIzU2MTc1MgoKMjAwOS0wNS0yMiAwMDo1MTo1MyArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGFzaW5nIG9mIHRoZSBydHAgcmVjdiBwYWQKCjIwMDktMDUtMjIgMDA6NDQ6NTEgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRwIHNlbmQgcGFkcwoKMjAwOS0wNS0yMiAwMDozNDozNiArMDIwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIHJ0cGJpbjogSW1wbGVtZW50IHJlbGVhc2Ugb2YgdGhlIHJlY3YgcnRjcCBwYWQKCSAgU2VlICM1NjE3NTIKCjIwMDktMDUtMjIgMDA6MTY6MTkgKzAyMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBydHBiaW46IEltcGxlbWVudCByZWxlYXNpbmcgb2YgcnRjcCBzcmMgcGFkCgkgIFNlZSAjNTYxNzUyCgoyMDA5LTA1LTE4IDIzOjM4OjU5ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFJlY29uY2lsZSBlbGVtZW50IGNvZGUgd2l0aCBhNTJkZWMgY2hhbmdlcwoJICBSZS13b3JrIHRoZSBkdHNkZWMgZWxlbWVudCBjb2RlIHRvIHVuaWZ5IGl0IHdpdGggY2hhbmdlcyBtYWRlIGl0IGE1MmRlYywKCSAgaW5jbHVkaW5nIHN1cHBvcnQgZm9yIHJldmVyc2UgcGxheWJhY2sgYW5kIGR5bmFtaWMgY2hhbm5lbCBuZWdvdGlhdGlvbgoJICBvbiB0aGUgc291cmNlIHBhZC4KCjIwMDktMDUtMjEgMjE6MzU6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgd2luMzI6IFVwZGF0ZSB0aGUgd2luMzIgY29uZmlnLmgKCjIwMDktMDUtMTggMjM6MjE6NDcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6CgkqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgc2RwZGVtdXg6IHJld29yayBSVENQIHNlbmRpbmcgYW5kIFJUUCByZWNlaXZpbmcKCSAgV2hlbiB3ZSBhcmUgZGVhbGluZyB3aXRoIG11bHRpYXN0LCBjcmVhdGUgdGhlIHVkcCBzcmMgYW5kIHNpbmsgZWxlbWVudHMgcG9pbnRpbmcKCSAgdG8gdGhlIG11bHRpY2FzdCBhZGRyZXNzZXMuIFdoZW4gd2UgYXJlIGRvaW5nIHVuaWNhc3QsIHJlY2VpdmUgZGF0YSBvbiB0aGUgbG9jYWwKCSAgcG9ydHMgYW5kIGRvbid0IHNlbmQgUlRDUCBiZWNhdXNlIHdlIGRvbid0IGtub3cgd2hlcmUgd2UgaGF2ZSB0byBzZW5kIGl0LgoJICBGaXhlcyAjNTgzMTg4CgoyMDA5LTA1LTIxIDEzOjE1OjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2lkM3RhZy9NYWtlZmlsZS5hbToKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9nc3RpZDN0YWcuaDoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguYzoKCSogZ3N0L2lkM3RhZy9nc3R0YWdtdXguaDoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuYzoKCSogZ3N0L2lkM3RhZy9pZDN0YWcuaDoKCSAgaWQzdGFnOiBBZGQgbmV3IGlkMyB0YWdnaW5nIHBsdWdpbiwgc3VwcG9ydHMgdjEsIHYyLjMsIGFuZCB2Mi40LgoJICBCeSBkZWZhdWx0LCBkb2VzIHYxIGFuZCB2Mi4zLCBidXQgdGhlcmUgYXJlIHByb3BlcnRpZXMgdG8gc2VsZWN0LgoJICBXaWxsIGhvcGVmdWxseSByZXBsYWNlIGlkM211eCwgaWQzdjJtdXgsIGluIHRoZSBub3QtdG9vLWRpc3RhbnQgZnV0dXJlLgoKMjAwOS0wNS0yMSAyMTowMjo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGhhY2tpbmcgLT4gMC4xMC4xMi4xCgo9PT0gcmVsZWFzZSAwLjEwLjEyID09PQoKMjAwOS0wNS0yMCAyMjozMTo1NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0c2lyZW4ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxpdmVhZGRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14ZGdtaW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTIKCjIwMDktMDUtMjAgMjA6NDQ6MTIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vYmcucG86CgkqIHBvL2NhLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2lkLnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL2x0LnBvOgoJKiBwby9tdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3RyLnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTA1LTIwIDE3OjEwOjQwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IEZpeCBmcmFtZV9sYXlvdXQgZm9yIG5vbi1pbnRlcmxhY2VkIGZvcm1hdHMuIEZpeGVzICM1ODMzMzcKCjIwMDktMDUtMTYgMDE6NTg6MzMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjMgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTYgMDE6NTM6MTUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHdpbjMyL01BTklGRVNUOgoJICB3aW4zMjogQWRkIGRpcmVjdGRyYXcgcHJvamVjdCBmaWxlcyB0byB0aGUgd2luMzIgbWFuaWZlc3QKCjIwMDktMDUtMTYgMDE6MTQ6MjMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyZWN0ZHJhdy54bWw6CgkqIHN5cy9NYWtlZmlsZS5hbToKCSAgTW92ZWQgJ2RpcmVjdGRyYXcnIGZyb20gLWdvb2QgdG8gLWJhZAoKMjAwNy0wNi0xNSAwOToxMzo1NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSB3aW4zMi92czYvOiBNYXJrICouZHNwICYgKi5kc3cgYXMgYmluYXJ5IGZpbGVzIGFuZCBjb252ZXJ0IHRvIERPUyBsaW5lIGVuZGluZ3MsIGFzIHRoZXkgZG9uJ3QgbG9hZCBpbnRvIFZTNiBjb3JyZWN0bHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2F1dG9nZW4uZHNwOgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19nb29kLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFscGhhLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YWxwaGFjb2xvci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGFwZXRhZy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF1ZGlvZnguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RhdXBhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0YXV0b2RldGVjdC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGF2aS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGN1dHRlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGVmZmVjdHYuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RmbHguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rnb29tLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0aWN5ZGVtdXguZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RpZDNkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGludGVybGVhdmUuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RqcGVnLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bGV2ZWwuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtYXRyb3NrYS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1lZGlhbi5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1vbm9zY29wZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG11bGF3LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0bXVsdGlwYXJ0LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0cC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHJ0c3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RzbXB0ZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHNwZWV4LmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dWRwLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9iYWxhbmNlLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0dmlkZW9ib3guZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2Nyb3AuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb2ZsaXAuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R2aWRlb21peGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZlbmMuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3R3YXZwYXJzZS5kc3A6CgkgIE1hcmsgKi5kc3AgJiAqLmRzdyBhcyBiaW5hcnkgZmlsZXMgYW5kIGNvbnZlcnQgdG8gRE9TIGxpbmUKCSAgZW5kaW5ncywgYXMgdGhleSBkb24ndCBsb2FkIGludG8gVlM2IGNvcnJlY3RseSBvdGhlcndpc2UuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0xMS0wMSAxMDoxOToxOCArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy86IFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmggaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCAgPHNlcmdleSBkb3Qgc2NvYmljaCBhdCBnbWFpbCBjb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua193aW5kb3dfdGhyZWFkKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jcmVhdGVfZGVmYXVsdF93aW5kb3cpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oCgkgIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdGRyYXcudmNwcm9qOgoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3Rzb3VuZC52Y3Byb2o6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNi0wNy0yNCAyMTo0MzowNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUgZGlyZWN0c291bmQgYnVmZmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgYW4gYXR0ZW51YXRpb24gcHJvcGVydHkgdGhhdCB3aWxsIGRpcmVjdGx5IGF0dGVudWF0ZSB0aGUKCSAgZGlyZWN0c291bmQgYnVmZmVyLgoJICBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIGRpcmVjdHNvdW5kIHNlY29uZGFyeSBidWZmZXIgdG8gYSBoYWxmIHNlY29uZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgQWRkIGEgbG9jayB0byBwcm90ZWN0IGRzb3VuZCBidWZmZXIgd3JpdGUgYWNjZXNzLgoJICBGaXggYSBiYWQgaW1wbGVtZW50YXRpb24gb2YgcmVzZXQuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEFkZCBhIGtlZXBfYXNwZWN0X3JhdGlvIHByb3BlcnR5LgoJICBEbyBub3QgdXNlIG92ZXJsYXkgaWYgbm90IHN1cHBvcnRlZC4KCSAgQWRkIG1vcmUgZGVidWcgbG9ncy4KCSAgUmVtb3ZlIG92ZXJ3cml0ZSBvZiBXTV9FUkFTRUJLR05EIG1lc3NhZ2UgaGFuZGxpbmcuIEl0IHdhcyBub3QKCSAgcmVkcmF3aW5nIGJvcmRlciB3aGVuIGtlZXBfYXNwZWN0X3JhdGlvIHdhcyBlbmFibGVkLgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgdXBkYXRlIHZlcnNpb24gd2FpdGluZyBhbiBhdXRvLWdlbmVyYXRlZCBjb25maWcuaAoKMjAwNi0wMy0wMyAyMzo0NToyMyArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzLzogc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdzoKCSAgKiBzeXMvZGlyZWN0c291bmQ6CgkgIHNpbmtzIGFyZSBub3cgdXNpbmcgR1NUX1JBTktfUFJJTUFSWSB0byBiZSB1c2VkIHdpdGggYXV0b2RlY3RlY3Rpb24KCSAgKiB3aW4zMi92czY6CgkgIHByb2plY3QgZmlsZXMgdXBkYXRlZCB0byBmaXggc29tZSBidWdzCgkgICogd2luMzIvdnM3OgoJICAqIHdpbjMyL3ZzODoKCSAgdnM3IGFuZCB2czggcHJvamVjdCBmaWxlcyBhZGRlZAoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICBbTU9WRUQgRlJPTSBHT09EXSBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwOS0wMi0yNyAyMDo0MDozMSArMDEwMCAgTFJOIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGRpcmVjdGRyYXdzaW5rOiBGaXggdHlwZSBtaXNtYXRjaGVzCgkgIEZpeGVzIGJ1ZyAjNTczMzQzLgoKMjAwOS0wMS0yOSAxMTowNzo1OSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gUmVtb3ZlIHZlcnNpb24gbnVtYmVycyBmcm9tIGEgZmV3IGdzdC1sYXVuY2ggZXhhbXBsZXMuCgkgIFRoZSBtYWpvcml0eSBvZiB0aGUgZXhhbXBsZXMgZG9lIG5vdCB1c2UgLTAuMTAgYW5kIHRoaXMgd2lsbCBhbHNvIGhlbHAgdXMgdG8gbWFpbnRhaW4gdGhlIGRvY3MuCgoyMDA5LTAxLTI5IDEwOjEwOjA4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICBbTU9WRUQgRlJPTSBHT09EXSBVcGRhdGUgYW5kIGFkZCBkb2N1bWVudGF0aW9uIGZvciBwbGF0Zm9ybSBzcGVjaWZpYyBwbHVnaW5zIChzeXMpLgoJICBMaW5rIHRvIHByb3BlcnRpZXMuIENvcnJlY3QgdGl0bGVzIGZvciBleGFtcGxlcy4gRml4IGV4YW1wbGVzLgoKMjAwOC0xMS0wNCAxMjoyODozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hYWxpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Fpcm8vTWFrZWZpbGUuYW06CgkgICogZXh0L2R2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9lc2QvTWFrZWZpbGUuYW06CgkgICogZXh0L2ZsYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2djb25mL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nZGtfcGl4YnVmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oYWwvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwZWcvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGliY2FjYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlibW5nL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJwbmcvTWFrZWZpbGUuYW06CgkgICogZXh0L21pa21vZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvcHVsc2UvTWFrZWZpbGUuYW06CgkgICogZXh0L3JhdzEzOTQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291cC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BlZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWxwaGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9meC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXV0b2RldGVjdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXZpL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jdXR0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlYnVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lZmZlY3R2L01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZseC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ29vbTJrMS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaWN5ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L2lkM2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9sYXcvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xldmVsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tYXRyb3NrYS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbWVkaWFuL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb25vc2NvcGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXVsdGlwYXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vbGRjb3JlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0c3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NtcHRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdWRwL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2JveC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9taXhlci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvd2F2ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC93YXZwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL29zcy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4YXVkaW8vTWFrZWZpbGUuYW06CgkgICogc3lzL29zeHZpZGVvL01ha2VmaWxlLmFtOgoJICAqIHN5cy9zdW5hdWRpby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2F2ZWZvcm0vTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgLWdvb2QuCgoyMDA4LTA4LTIxIDIxOjU2OjE5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYyAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MsIGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVycG9vbF9jbGVhcik6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jLAoJICBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpOgoJICBGaXggdHdvIG1vcmUgYnVmZmVyIHJlZiBsZWFrcy4KCjIwMDgtMDgtMjEgMTU6Mjg6MDkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGaXggYnVmZmVyIHJlZiBsZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBGaXggYnVmZmVyIHJlZiBsZWFrLgoKMjAwOC0wNS0wNyAxNTozMzo1MiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KTogRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IEkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KToKCSAgRG8gSURpcmVjdERyYXdDbGlwcGVyX1NldEhXbmQoKSBpZiB0aGUgd2luZG93IElEIGhhcyBhbHJlYWR5IGJlZW4KCSAgc2V0IGFmdGVyIGNyZWF0aW5nIHRoZSBjbGlwcGVyLgoKMjAwOC0wNS0wNyAxNToyODowNiArMDAwMCAgSGFha29uIFNwb3JzaGVpbSA8aGFha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOiBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpOgoJICBBZGRlZCBjaGVja2luZyBvZiBzdXJmYWNlIGxvc3QgY2FzZSBhZnRlciBhbiB1bnN1Y2Nlc3NmdWwKCSAgSURpcmVjdERyYXdTdXJmYWNlN19Mb2NrKCkgY2FsbC4KCSAgSWYgc3VyZmFjZSBpcyBsb3N0LCByZXR1cm4gR1NUX0ZMT1dfT0suCgoyMDA4LTA1LTA3IDE1OjE5OjQ3ICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltIGF0IHRhbmRiZXJnIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsCgkgIFduZFByb2MsIGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEltcHJvdmVkIFdpbmRvd3MgbWVzc2FnZSBsb29wIGFuZCBmaXhlZCB3aW5kb3cgZGVzdHJ1Y3Rpb24gaXNzdWUuCgkgIFdoZW4gdGhlIHdpbmRvdyB3aGljaCBEaXJlY3REcmF3IGlzIHJlbmRlcmluZyB0byBpcyBkZXN0cm95ZWQsIHRoZQoJICByZW5kZXIvc2hvd19mcmFtZSBmdW5jdGlvbiB3aWxsIHJldHVybiBHU1RfRkxPV19FUlJPUi4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE1OjA5OjEwICswMDAwICBIYWFrb24gU3BvcnNoZWltIDxoYWFrb24uc3BvcnNoZWltQHRhbmRiZXJnLmNvbT4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOiBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhhYWtvbi5zcG9yc2hlaW0gYXQgdGFuZGJlcmcgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X2NhcHMpOgoJICBGaXhlZCBtaWQgc3RyZWFtIHJlc29sdXRpb24gY2hhbmdlIGJ1ZywgdGhlIG9mZnNjcmVlbiBzdXJmYWNlIGlzIG5vdwoJICByZWxlYXNlZCB3aGVuIHNldF9jYXBzIGlzIGNhbGxlZC4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgoyMDA4LTA1LTA3IDE0OjU2OjIyICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1ha2UgaXQgc28gdGhhdCBnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyB1c2VzIHRoZSByaWdodAoJICB3aWR0aC9oZWlnaHQuCgkgIEVzcGVjaWFsbHkgd2hlbiBsb29raW5nIHRocm91Z2ggdGhlIHBvb2wgb2YgYnVmZmVycywgbWFrZSBzdXJlIHRoYXQKCSAgdGhlIHdpZHRoL2hlaWdodCBvZiBjYXBzIGlzIHVzZWQgaW5zdGVhZCBvZiB0aGUgYWxyZWFkeSBuZWdvdGlhdGVkCgkgIGRpbWVuc2lvbnMuCgkgIEZvciBleGFtcGxlIGlmIGEgYnVmZmVyIHdpdGggZGlmZmVyZW50IGNhcHMgaXMgcmVxdWVzdGVkLCBpLmUuCgkgIGhpZ2hlciByZXNvbHV0aW9uLCB0aGUgY2FsbGVyIHdvdWxkIGdldCBhIGJ1ZmZlciB3aXRoIHRoZSBvbGQKCSAgZGltZW5zaW9ucyBhbmQgdGh1cyBjb3JydXB0IHRoZSBoZWFwLgoKMjAwOC0wNS0wNyAxNDo0MzozOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBDbGVhciB0aGUgZmxhZ3Mgb24gcmVjeWNsZWQgYnVmZmVycyBmcm9tIGJ1ZmZlcl9hbGxvYy4KCSAgUGFydGlhbGx5IGZpeGVzICM1MjA4ODUuCgkgIFRoZSByaWdodCBmaXggdGhpcyB0aW1lLgoKMjAwOC0wNS0wNyAxNDozOTo0NSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpOgoJICBSZXZlcnRpbmcgcHJldmlvdXMgY29tbWl0LCBpdCBoYWQgaXQgYWxsIG1peGVkIHVwLCB3YXMgZm9yIGEgZGlmZmVyZW50CgkgIHBhdGNoIChtYWpvciBhdXRvbWF0aW9uIHNjcmV3LXVwKS4gU29ycnkhCgoyMDA4LTA1LTA3IDEzOjQ4OjI4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIENsZWFyIHRoZSBmbGFncyBvbiByZWN5Y2xlZCBidWZmZXJzIGZyb20gYnVmZmVyX2FsbG9jLgoJICBQYXJ0aWFsbHkgZml4ZXMgIzUyMDg4NS4KCjIwMDgtMDItMTIgMTI6MjI6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IFByb3Blcmx5IGNoYWluIHVwIGZpbmFsaXplIGZ1bmN0aW9ucy4gRml4ZXMgYnVnICM1MTU5ODAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGRyYXdzdXJmYWNlX2NsYXNzX2luaXQpLCAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2ZpbmFsaXplKToKCSAgUHJvcGVybHkgY2hhaW4gdXAgZmluYWxpemUgZnVuY3Rpb25zLiBGaXhlcyBidWcgIzUxNTk4MC4KCjIwMDgtMDEtMDcgMTY6NDE6MDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBGQUxTRSBpcyBub3QgYSBncG9pbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCk6CgkgIEZBTFNFIGlzIG5vdCBhIGdwb2ludGVyLgoKMjAwOC0wMS0wNSAyMToyMDowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBNYWtlIHN1cmUgd2UgY3JlYXRlIG91ciBpbnRlcm5hbCB3aW5kb3cgb25seSB3aGVuIHdlIG5lZWQgaXQuIFRoYXQgd2lsbCBnaXZlIGEgY2guLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMDUgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2V0X3dpbmRvd19pZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZHJhd19ib3JkZXJzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3NldHVwX2RkcmF3KSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6IE1ha2Ugc3VyZSB3ZSBjcmVhdGUgb3VyCgkgIGludGVybmFsIHdpbmRvdyBvbmx5IHdoZW4gd2UgbmVlZCBpdC4gVGhhdCB3aWxsIGdpdmUgYSBjaGFuY2UgdG8KCSAgdGhlIGFwcGxpY2F0aW9uIHRvIGdldCB0aGUgcHJlcGFyZS14d2luZG93LWlkIGJ1cyBtZXNzYWdlLiBEcmF3CgkgIGJsYWNrIGJvcmRlcnMgd2hlbiBrZWVwaW5nIGFzcGVjdCByYXRpby4gSGFuZGxlIHRoZSBjYXNlIHdoZXJlCgkgIG91cgoJICByZW5kZXJpbmcgd2luZG93IGRpc2FwcGVhcnMgKGNsb3NlZCBvciBlcnJvcnMpIGxpa2Ugb3RoZXIgc2lua3MKCSAgZG8uIFZhcmlvdXMgODAgY29sdW1ucyBmaXhlcywgaW1wcm92ZSBzdGF0ZSBjaGFuZ2Ugb3JkZXIuIFRoYXQKCSAgZWxlbWVudCBjb3VsZCBuZWVkIHNvbWUgbW9yZSBsb3ZlLgoKMjAwNy0wOS0yMiAwODoxMjo1NyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBbTU9WRUQgRlJPTSBHT09EXSBmaXggaGVhZGVyIGFuZCBjb21tZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IGhlYWRlciBhbmQgY29tbWVudHMKCjIwMDctMDYtMTQgMTI6MTQ6MjQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZSBzdXJlIHRvIGRpc3QgZXZlcnl0aGluZyBuZWVkZWQgZm9yIHdpbjMyIGJ1aWxkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZGlyZWN0c291bmQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhdmVmb3JtL01ha2VmaWxlLmFtOgoJICBNYWtlIHN1cmUgdG8gZGlzdCBldmVyeXRoaW5nIG5lZWRlZCBmb3Igd2luMzIgYnVpbGRzLgoKMjAwNy0wNi0wOCAxNjozMToxNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBSZW5hbWUgdGhlIGtlZXAtYXNwZWN0LXJhdGlvIHByb3BlcnR5IHRvIGZvcmNlLWFzcGVjdC1yYXRpbyB0byBtYWtlIGl0IGNvbnNpc3RlbnQgd2l0aCB4dmltYWdlc2luayBhbmQgeGltYWdlc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2xhc3NfaW5pdCk6CgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UKCSAgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoKMjAwNy0wNS0yNCAwODozNToyMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19wcmltYXJ5X3N1cmZhY2UpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jaGVja19vZmZzY3JlZW5fc3VyZmFjZSksCgkgIChFbnVtTW9kZXNDYWxsYmFjazIpLCAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEZpeCBtb3JlIHdhcm5pbmdzIHdoZW4gY29tcGlsaW5nIHdpdGggTWluZ1cgKCM0Mzk5MTQpLgoKMjAwNy0wNS0yMCAxNDo1OTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsgZGVjbGFyZSBhbm90aGVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RkcmF3c3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX2dldF9kZHJhd2NhcHMpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zdXJmYWNlX2NyZWF0ZSk6CgkgIEJ1bmNoIG9mIHNtYWxsIGZpeGVzOiByZW1vdmUgc3RhdGljIGZ1bmN0aW9uIHRoYXQgZG9lc24ndCBleGlzdDsKCSAgZGVjbGFyZSBhbm90aGVyIG9uZSB0aGF0IGRvZXM7IHByaW50ZiBmb3JtYXQgZml4OyB1c2UgcmlnaHQgbWFjcm8KCSAgd2hlbiBzcGVjaWZ5aW5nIGRlYnVnIGNhdGVnb3J5OyByZW1vdmUgYSBidW5jaCBvZiB1bnVzZWQgdmFyaWFibGVzOwoJICAjaWYgMCBvdXQgYW4gdW51c2VkIGNodW5rIG9mIGNvZGUgKHBhcnRpYWxseSBmaXhlcyAjNDM5OTE0KS4KCjIwMDctMDUtMTUgMTc6MjI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZSBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9NYWtlZmlsZS5hbToKCSAgQWRkIERJUkVDVERSQVdfQ0ZMQUdTIGFuZCBESVJFQ1RTT1VORF9DRkxBR1MgdG8gTWFrZWZpbGUuYW07IHNhdmUKCSAgYW5kIHJlc3RvcmUgdGhlIHZhcmlvdXMgZmxhZ3MgaW4gdGhlIGRpcmVjdGRyYXcvZGlyZWN0c291bmQKCSAgZGV0ZWN0aW9uIHNlY3Rpb24uIEFwcGFyZW50bHkgaW1wcm92ZXMgY3Jvc3MtY29tcGlsaW5nIGZvciB3aW4zMgoJICB3aXRoIG1pbmd3MzIgdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzICgjNDM3NTM5KS4KCjIwMDctMDQtMjkgMTM6NTY6MTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgW01PVkVEIEZST00gR09PRF0gODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTAzLTExIDIyOjIzOjA0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBIYW5kbGUgZGlzcGxheSBtb2RlIGNoYW5nZXMgZHVyaW5nIHBsYXliYWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgoyMDA3LTAyLTI3IDEyOjAyOjAzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xMSAxNToyNjo0OSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgW01PVkVEIEZST00gR09PRF0gTWFrZWZpbGUuYW06IEFkZCB3aW4zMiBNQU5JRkVTVAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgQWRkIHdpbjMyIE1BTklGRVNUCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBDbGVhciB1bnVzZWQgY29kZSBhbmQgYWRkIGNvbW1lbnRzLgoJICBSZW1vdmUgeXV2IGZyb20gdGVtcGxhdGUgY2FwcywgaXQgb25seSBzdXBwb3J0cyBSR0IKCSAgYWN0dWFsbHkuCgkgIEltcGxlbWVudCBYT3ZlcmxheSBpbnRlcmZhY2UgYW5kIHJlbW92ZSB3aW5kb3cgYW5kIGZ1bGxzY3JlZW4KCSAgcHJvcGVydGllcy4KCSAgQWRkIGRlYnVnIGxvZ3MuCgkgIFRlc3QgZm9yIGJsaXQgY2FwYWJpbGl0aWVzIHRvIHJldHVybiBvbmx5IHRoZSBjdXJyZW50IGNvbG9yc3BhY2UgaWYKCSAgdGhlIGhhcmR3YXJlIGNhbid0IGJsaXQgZm9yIG9uZSBjb2xvcnNwYWNlIHRvIGFub3RoZXIuCgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICBBZGQgc29tZSBkZWJ1Z3MuCgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBWUzcgcHJvamVjdCBmaWxlcyBhbmQgc29sdXRpb24uCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3Rzb3VuZC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDctMDEtMDMgMTk6NTQ6MzMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICBBZGQgZGlyZWN0ZHJhd3NpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbgoJICBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlcnMgYW5kIGxpYnJhcmllcwoJICBhcmUgYXZhaWxhYmxlIChmaXhlczogIzM5MjMxMykuCgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19jZW50ZXJfcmVjdCksIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc2V0dXBfZGRyYXcpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgQ29tbWVudCBvdXQgc29tZSB1bnVzZWQgdGhpbmdzIGFuZCBmaXggc29tZSBwcmludGYgZm9ybWF0IGlzc3VlcyBpbgoJICBvcmRlciB0byBhdm9pZCB3YXJuaW5ncyB3aGVuIGJ1aWxkbGluZyB3aXRoIE1pbmdXICgjMzkyMzEzKS4KCjIwMDYtMTEtMDEgMTA6MTk6MTggKzAwMDAgIFNlcmdleSBTY29iaWNoIDxzZXJnZXkuc2NvYmljaEBnbWFpbC5jb20+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBXYWl0IHVudGlsIHRoZSB3aW5kb3cgaXMgY3JlYXRlZCBiZWZvcmUgdXNpbmcgaXQ7IGd1YXJkIHVuaXN0ZC5oIGluY2x1ZGVzIHdpdGggSEFWRV9VTklTVERfSC4gKCMzNjY1MjMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VyZ2V5IFNjb2JpY2ggIDxzZXJnZXkgZG90IHNjb2JpY2ggYXQgZ21haWwgY29tPgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfd2luZG93X3RocmVhZCksCgkgIChnc3RfZGlyZWN0ZHJhd3NpbmtfY3JlYXRlX2RlZmF1bHRfd2luZG93KToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaAoJICBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICAqIHdpbjMyL3ZzOC9saWJnc3RkaXJlY3RkcmF3LnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0c291bmQudmNwcm9qOgoJICBVcGRhdGUgcHJvamVjdCBmaWxlcy4KCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDYtMTIgMTA6NTM6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBleHQvbGlibW1zL2dzdG1tcy5jOiBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBTZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6IChnc3RfZGlyZWN0ZHJhd3NpbmtfaW5pdCk6CgkgIENvbW1lbnQgb3V0IHVudXNlZCBnbG9iYWwgaW5zdGFuY2UgdmFyaWFibGUuCgoyMDA2LTA2LTAxIDIyOjAwOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuaDoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNkZWMuaDoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmg6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5oOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5oOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmg6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc2hvdXQvZ3N0c2hvdXQuaDoKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuaDoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmVuYy5oOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmg6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmg6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkgICogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5oOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdkZWMuaDoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5oOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmg6CgkgICogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5oOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICAqIGdzdC9zdGVyZW8vZ3N0c3RlcmVvLmg6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaDoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5oOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5oOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIEZpeCBtb3JlIGdvYmplY3QgbWFjcm9zOiBvYmo8LT5rbGFzcywgR3N0WFhYPC0+R3N0WFhYQ2xhc3MKCjIwMDYtMDQtMjUgMjE6NTY6MzggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIFtNT1ZFRCBGUk9NIEdPT0RdIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcyBnbG9iYWwpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6CgkgICogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnBhcnNlLmM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X211c2ljYnJhaW56X2Jhc2VfaW5pdCk6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzc2lua19iYXNlX2luaXQpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAoZ3N0X3B1enpsZV9iYXNlX2luaXQpOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhZGVjLmM6IChnc3RfdHRhX2RlY19iYXNlX2luaXQpOgoJICAqIGdzdC90dGEvZ3N0dHRhcGFyc2UuYzogKGdzdF90dGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSAgKiBnc3QvdmlydHVhbGR1Yi9nc3R4c2hhcnBlbi5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdzdF94aW5nX211eF9iYXNlX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfYmFzZV9pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBEZWZpbmUgR3N0RWxlbWVudERldGFpbHMgYXMgY29uc3QgYW5kIGFsc28gc3RhdGljICh3aGVuIGRlZmluZWQgYXMKCSAgZ2xvYmFsKQoKMjAwNi0wNC0wMSAxMDowOToxMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV3b3JrIGJ1aWxkOyBhZGQgdHJhbnNsYXRpb25zIGZvciB2NGwyCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBbTU9WRUQgRlJPTSBHT09EXSBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAxLTA1IDIzOjE3OjQ0ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFtNT1ZFRCBGUk9NIEdPT0RdIGFkZGVkIHN5cy9kaXJlY3RkcmF3IGFkZGVkIHN5cy9kaXJlY3Rzb3VuZCBhZGRlZCB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdyBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0wNSAgU2ViYXN0aWVuIE1vdXR0ZSAgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoJICAqIGFkZGVkIHN5cy9kaXJlY3RkcmF3CgkgICogYWRkZWQgc3lzL2RpcmVjdHNvdW5kCgkgICogYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cKCSAgKiBhZGRlZCB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwCgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwCgkgICogYWRkZWQgd2luMzIvY29tbW9uL2NvbmZpZy5oCgoyMDA5LTA1LTE1IDEwOjQ1OjQ1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogRml4IHJlc2V0dGluZyBvZiB0aGUgc2luayBpbiBOVUxMCgkgIFJlc2V0IHRoZSBmcHNkaXNwbGF5c2luayBpbiBOVUxMIGJ5IHJlbW92aW5nIHRoZSB0ZXh0b3ZlcmxheSBpZiB3ZQoJICBjcmVhdGVkIGl0LgoJICBGaXhlczogIzU4MjYzMwoKMjAwOS0wNS0xNiAwMDoxNzowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5oOgoJKiBnc3QveTRtL3k0bWVuYy52Y3Byb2o6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzoKCSAgTW92ZWQgJ3k0bWVuYycgZnJvbSAtYmFkIHRvIC1nb29kCgoyMDA5LTA1LTE1IDE4OjI0OjQxICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHBvL01ha2V2YXJzOgoJICBwbzogYWRkIE1ha2V2YXJzIG1hZ2ljIHNvIHdlIGRvbid0IGdldCBsaW5lIG51bWJlcnMgaW4gKi5wbyBmaWxlcwoJICBUaGlzIGF2b2lkcyB0aGUgbnVtYmVyIG9uZSByZWFzb24gZm9yIGxvY2FsIG1vZGlmaWNhdGlvbnMgaW4gKi5wbwoJICBmaWxlcyBhbmQgYW5kIG1ha2VzIHRoaW5ncyBsZXNzIGFubm95aW5nIHdoZW4gd29ya2luZyB3aXRoIGdpdCAob3IKCSAgYW55IG90aGVyIFZDUyBmb3IgdGhhdCBtYXR0ZXIpLgoKMjAwOS0wNS0xNSAwMTo1NDo0NCAtMDMwMCAgVGhpYWdvIFNhbnRvcyA8dGhpYWdvc3NAZW1iZWRkZWQudWZjZy5lZHUuYnI+CgoJKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgW3F0bXV4XSBGaXhlcyBzZWdmYXVsdCB3aGVuIGFkZGluZyBhIGJsb2IgYXMgZmlyc3QgdGFnLgoJICBNb3ZlcyB0YWdzIGRhdGEgaW5pdGlhbGl6YXRpb24gdG8gdGhlIGZ1bmN0aW9uIHRoYXQgYWN0dWFsbHkgYXBwZW5kcwoJICB0aGUgdGFncyB0byB0aGUgbGlzdC4gRml4ZXMgIzU4MjcwMgoJICBBbHNvIGZpeGVzIHNvbWUgc3R5bGUgY2F1Z2h0IGJ5IHRoZSBwcmUtY29tbWl0IGhvb2suCgoyMDA5LTA1LTE0IDIxOjIwOjQ3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogVXNlIGEgUlcgbG9jayB0byBwcm90ZWN0IG1ldGFkYXRhIGFuZCBhZGQgYWxsIHBhZHMgYXQgb25jZSB3aXRob3V0IGEgbG9jayBoZWxkCgkgIFRoaXMgbWFrZXMgaXQgcG9zc2libGUsIGFtb25nIG90aGVyIHRoaW5ncywgdG8gZG8gYSBxdWVyeSBpbiB0aGUKCSAgcGFkLWFkZGVkIGNhbGxiYWNrLgoJICBGaXhlcyBidWcgIzU4MjY1Ni4KCjIwMDktMDUtMTQgMTA6MzQ6MDggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRml4IHRoZSBhcmd1bWVudCBvcmRlciBpbiBhIGRlYnVnIHN0YXRlbWVudAoJICBNYWtlIHRoZSBkZWJ1ZyBzdGF0ZW1lbnQgY29ycmVjdGx5IHNob3cgdGhlICdvbGQnIGFuZCAnbmV3JyBidXR0b24KCSAgY29vcmRpbmF0ZXMsIGluc3RlYWQgb2YgdGhlIHdyb25nIHdheSBhcm91bmQuCgoyMDA5LTA1LTE0IDA5OjUzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgcmVzaW5kdmQ6IE1ha2Ugc2VnbWVudCB1cGRhdGVzIGxlc3MgYWdncmVzc2l2ZS4KCSAgV2hlbiB1cGRhdGluZyBhIHBhZCwgc2VuZCB0aGUgdXBkYXRlIHRvIGhhbGYgYSBzZWNvbmQgYmVoaW5kIHRoZSBTQ1IsCgkgIHdoaWNoIGF2b2lkcyBldmVyIHVwZGF0aW5nIHRoZSBzdGFydCB0aW1lIGZvciBhIHBhZCB0byBiZXlvbmQgdGhlIGVuZCBvZgoJICB0aGUgY2VsbC4gQWxzbywgcmVtZW1iZXIgdGhlIGxhc3QgYWN0dWFsIG5ldy1zZWdtZW50IHN0YXJ0IHRpbWUgZm9yIGVhY2gKCSAgcGFkLCBhbmQgdXNlIGl0IHdoZW4gY2xvc2luZyB0aGUgc2VnbWVudC4KCjIwMDktMDUtMTMgMTI6NDc6NDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogUmV3b3JrIGJ1dHRvbiBoaWdobGlnaHQgY2FsY3VsYXRpb24gc2xpZ2h0bHkKCSAgV2hlbiB0aGUgY3VycmVudCBidXR0b24gbnVtYmVyIGlzIGhpZ2hlciB0aGFuIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlCgkgIGJ1dHRvbnMsIHN3aXRjaCB0byB0aGUgaGlnaGVzdCBudW1iZXJlZCBidXR0b24gcmF0aGVyIHRoYW4gdGhlIGxvd2VzdC4KCSAgQWxzbywgZG9uJ3QgdGhyb3cgZXJyb3JzIHdoZW4gd2UgZmFpbCB0byByZXRyaWV2ZSBzb21lIGJ1dHRvbiBpbmZvCgkgIGZyb20gbGliZHZkbmF2LCBqdXN0IHJlc2V0IHRoZSBoaWdobGlnaHQuCgoyMDA5LTA1LTEyIDIzOjQyOjAwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGNvbW1hbmRzLWNoYW5nZWQgb24gYnV0dG9uIGNoYW5nZSBhbmQgaGFuZGxlIGNvbW1hbmRzIHF1ZXJ5CgkgIFNlbmQgdGhlIGNvbW1hbmRzLWNoYW5nZWQgbmF2aWdhdGlvbiBtZXNzYWdlIHdoZW4gdGhlIHNldCBvZiBhdmFpbGFibGUKCSAgRFZEIG1lbnUgYnV0dG9uIGFjdGlvbnMgY2hhbmdlcywgYW5kIGhhbmRsZSB0aGUgY29tbWFuZHMgbmF2aWdhdGlvbgoJICBxdWVyeSBzbyB0aGF0IChlLmcuKSBUb3RlbSBjYW4ga25vdyBhYm91dCB0aGUgYXZhaWxhYmxlIG5hdmlnYXRpb24KCSAgY29tbWFuZHMuCgoyMDA5LTA1LTE0IDA4OjQyOjI0ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEZpeCBhIGxlYWsgb2YgdGhlIERWRCB0aXRsZSBzdHJpbmcKCjIwMDktMDUtMTQgMTA6NTU6MzggKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogUHVzaCB1cGRhdGUgZnJhbWUsIGlmIGFueSwgd2hlbiBlbnRlcmluZyBzdGlsbHMuCgkgIFdoZW4gZW50ZXJpbmcgYSBzdGlsbCBmcmFtZSBnZW5lcmF0ZXMgYW4gdXBkYXRlZCBidWZmZXIsIG1ha2Ugc3VyZQoJICB0byBwdXNoIGl0IG91dCwgb3RoZXJ3aXNlIHdlIG1heSBub3QgcHV0IGEgZnJhbWUgb25zY3JlZW4gd2l0aCBhCgkgIHJlbmRlcmVkIGJ1dHRvbiwgY2F1c2luZyByYWNpbmVzcyBhcyB0byB3aGV0aGVyIGJ1dHRvbnMgZ2V0IGRyYXduCgkgIG9yIG5vdCB3aGVuIGp1bXBpbmcgYmFjayB0byB0aGUgbWVudSBvbiBzb21lIGRpc2NzLgoKMjAwOS0wNS0xMyAxMDoyOTozNiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5oOgoJICByZXNpbmR2ZDogRml4IHJhY2luZXNzIGluIHJzbmR2ZGJpbiB3aGVuIGluaXRpYWxseSBjcmVhdGluZyBwYWRzCgkgIFByb3RlY3QgcGFkIGV4cG9zdXJlIHdpdGggYSBwcmVyb2xsIGxvY2sgdG8gYXZvaWQgc2l0dWF0aW9ucwoJICB3aGVyZSBuby1tb3JlLXBhZHMgaXMgZmlyZWQgbW9yZSB0aGFuIG9uY2UsIG9yIGZpcmVkIGp1c3QgYmVmb3JlCgkgIHRoZSBsYXN0IHBhZCBpcyBhY3R1YWxseSBhZGRlZC4KCjIwMDktMDUtMTMgMTc6NTU6NDYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOgoJICB5NG1lbmM6IGNoYW5nZSBteSBlbWFpbAoJICBjaGFuZ2UgbXkgZW1haWwgdG8gc29tZXRoaW5nIG1vcmUgY3VycmVudAoJICBTZWUgIzU4MDc4MwoKMjAwOS0wNS0xMyAxNzo1NDo0NyArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIHk0bWVuYzogZG9uJ3Qgc3RyaXAgdGltZXN0YW1wcwoJICBGaXhlcyAjNTgyNDgzCgoyMDA5LTA1LTEzIDEwOjQ3OjIzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGdzdC9kZWludGVybGFjZS8uZ2l0aWdub3JlOgoJKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkqIGdzdC9kZWludGVybGFjZS9kZWludGVybGFjZS52Y3Byb2o6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhcmJsZW5kLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL21teC5oOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQS5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZS5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgTW92ZWQgJ2RlaW50ZXJsYWNlMicgZnJvbSAtYmFkIHRvIC1nb29kCgkgIEFuZCByZW1vdmUgb2xkIGRlaW50ZXJsYWNlIHBsdWdpbiBhcyBkZWludGVybGFjZTIgd2lsbAoJICBiZSBjYWxsZWQgZGVpbnRlcmxhY2UgaW4gLWdvb2QuCgoyMDA5LTA1LTEyIDIxOjUwOjEyICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBNb3ZlZCAnZmx2JyBmcm9tIC1iYWQgdG8gLWdvb2QKCjIwMDktMDUtMTIgMDA6NTA6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby90ci5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBwby96aF9DTi5wbzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjExLjIgcHJlLXJlbGVhc2UKCjIwMDktMDUtMTEgMTc6NTA6NDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5oOgoJICByZXNpbmR2ZDogTW9kaWZ5IHRoZSBzZWdtZW50IHVwZGF0ZSBsb2dpYwoJICBTZW5kIHNlZ21lbnQgdXBkYXRlcyB0byB0aGUgYXVkaW8gYW5kIHN1YnBpY3R1cmUgcGFkcyBtb3JlIGZyZXF1ZW50bHksCgkgIGJ1dCBsZXNzIG9mdGVuIHRvIHRoZSB2aWRlbyBwYWQsIHdoZXJlIHRpbWVzdGFtcHMgYXBwZWFyIGxlc3Mgb2Z0ZW4uCgkgIFRoaXMgaGVscHMgd2l0aCBnYXAgZmlsbGluZyBvbiBzb21lIERWRHMuCgoyMDA5LTA1LTExIDE2OjA5OjU2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5jOgoJICByZXNpbmR2ZDogSW5jcmVhc2UgdGhlIGFtb3VudCBvZiBmaWxsZXIgYXVkaW8gZ2VuZXJhdGVkCgkgIFdoZW4gY3JlYXRpbmcgYSBmaWxsZXIgYXVkaW8gYnVmZmVyIGluIHJzbmF1ZGlvbXVuZ2UsIGdlbmVyYXRlCgkgIGEgYml0IG1vcmUsIGFzIGF1ZGlvIHNpbmtzIGRvbid0IHNlZW0gdG8gcHJlcm9sbCBvdGhlcndpc2UuIFRoaXMKCSAgbmVlZHMgYSBiZXR0ZXIgYWxnb3JpdGhtIGluIGdlbmVyYWwsIHRvIGludGVsbGlnZW50bHkgZmlsbCB0aGUKCSAgZ2FwLCByYXRoZXIgdGhhbiBoYXJkLWNvZGluZyBhIHZhbHVlLgoKMjAwOS0wNS0xMSAxNDoxNzo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogTWFuYWdlIHRpbWVkIHN0aWxsIHNlcXVlbmNlcyBiZXR0ZXIKCSAgTWFrZSB0aW1lZCBzdGlsbCBmcmFtZXMgd29yayBiZXR0ZXIgYnkgZXh0ZW5kaW5nIHRoZSBjdXJyZW50IHNlZ21lbnQKCSAgd2hlbiBuZWVkZWQsIGFuZCByZXN0YXJ0aW5nIHRoZSBzdGlsbCBzZXF1ZW5jZSB3aXRoIHRoZSBjb3JyZWN0CgkgIHJlbWFpbmluZyBkdXJhdGlvbiB3aGVuIHRoZSB3YWl0IGl0IGludGVycnVwdGVkIGJ5IGFjdGl2YXRpb24gb2YgYQoJICBoaWdobGlnaHQgTkFWIHBhY2tldC4KCjIwMDktMDUtMTEgMTE6MDY6MDMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDaGFuZ2UgdGhlIGF1ZGlvbXVuZ2UgZGVidWcgb3V0cHV0LgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNob3cgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHNlZ21lbnQgZXZlbnRzIHBhc3NpbmcgdGhyb3VnaCwKCSAgZXZlbiB3aGVuIHByZS1yb2xsIGF1ZGlvIGJ1ZmZlcnMgYXJlbid0IGdvaW5nIHRvIGJlIG5lZWRlZC4KCjIwMDktMDUtMTEgMTE6MDQ6MjUgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIGR2ZHNwdTogTWFrZSB0aGUgZGVidWdnaW5nIG91dHB1dCBhIGJpdCBjbGVhcmVyLgoJICBEaXNwbGF5IG1vcmUgaW5mbyBhYm91dCBjdXN0b20gRFZEIGV2ZW50cyBpbiB0aGUgZGVidWcgbWVzc2FnZXMuCgoyMDA5LTA1LTA4IDE3OjQyOjEyICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBkdmRzcHU6IEFsd2F5cyBwdXNoIGEgZnJhbWUgYXQgdGhlIHN0YXJ0IG9mIGEgc3RpbGwgZnJhbWUsIGFuZCBmaXggYSBsZWFrLgoJICBNYWtlIHN1cmUgdG8gcHVzaCB0aGUgZnJhbWUgZm9yIGEgc3RpbGwgZnJhbWUsIHdpdGggZGlzY29udCA9IHRydWUgYW5kCgkgIHRpbWVzdGFtcD1ub25lLCBzbyB0aGF0IGl0IGdldHMgZGlzcGxheWVkIGJ5IHRoZSBzaW5rLiBBbHNvLCBkb24ndCBsZWFrCgkgIGVhY2ggcmVuZGVyZWQgdmlkZW8gZnJhbWUgZHVyaW5nIHN0aWxsIG1lbnVzLgoKMjAwOS0wNS0wOCAxNzo0MDo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUtcmVuZGVyLmM6CgkgIGR2ZHNwdTogQWRkIGEgZ3VhcmQgd2hlbiB3ZSBkb24ndCBoYXZlIGFueSBzdWJwaWN0dXJlIGJ1ZmZlciB0byByZW5kZXIKCjIwMDktMDUtMDggMTY6Mjk6MjAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBSZW5hbWUgdGhlIGF1ZGlvIG11bmdlciBkZWJ1ZyBjYXRlZ29yeQoJICBSZW5hbWUgYSBkZWJ1ZyBjYXRlZ29yeTogcnNuX2F1ZGlvbXVuZ2UgLT4gcnNuYXVkaW9tdW5nZS4KCjIwMDktMDUtMDggMTY6Mjc6MzEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRW5zdXJlIHdlIHNlbmQgYSB0aXRsZSB0YWcgaW4gdGhlIGZpcnN0IHBsYXkgc2VjdGlvbi4KCjIwMDktMDUtMDggMTY6MDY6MDEgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU2ltcGxpZnkgc29tZSBzdHVmZi4gUmVtb3ZlIGFuIHVubmVjZXNzYXJ5IExPRyBtZXNzYWdlLgoJICBTa2lwIGF0dGVtcHRpbmcgdG8gc2NoZWR1bGUgYSBuYXYgYmxvY2sgdW5sZXNzIHdlJ3JlIGluIFBMQVlJTkcuIFRha2UgYSBsb2NrCgkgIHNsaWdodGx5IGxhdGVyLCB3aGVuIHdlIGFjdHVhbGx5IG5lZWQgaXQuIFJlbW92ZSBhIG5vaXN5IExPRyBtZXNzYWdlLgoKMjAwOS0wNS0wOCAxNDoyMzo0OCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBSZW1vdmUgcGVyLW1lbnUgZGVzY3JpcHRpb24gZnJvbSB0aGUgVElUTEUgdGFnCgkgIFRoZSBwYXJ0IG51bWJlciByZXBvcnRlZCB3aGlsZSBpbiBhIG1lbnUgZG9lc24ndCByZWZsZWN0IHRoZSBzZWxlY3RlZAoJICBtZW51LCBzbyBpdCdzIHBvaW50bGVzcyB0byB1c2UgaXQgdG8gcmVwb3J0IHdoaWNoIG1lbnUgd2UncmUgaW4gKEF1ZGlvLAoJICBBbmdsZSBldGMpLiBKdXN0IHJlcG9ydCAiRFZEIE1lbnUiIGluIHRoZSB0aXRsZSB0YWcgaW5zdGVhZC4KCjIwMDktMDUtMDggMTQ6MjA6MzIgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFNlbmQgdGl0bGUgaW5mbyBtZXNzYWdlIHdoZW4gY3VycmVudCBhbmdsZSBpcyBzd2l0Y2hlZC4KCSAgTWFrZSBzdXJlIHdlIHNlbmQgYW4gdXBkYXRlIHRpdGxlIHRhZyB3aGVuIHRoZSBjdXJyZW50IGFuZ2xlIG9yIGF2YWlsYWJsZQoJICBhbmdsZXMgY2hhbmdlcy4KCjIwMDktMDUtMDggMTA6NDM6MjcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IEltcGxlbWVudCBuYXZpZ2F0aW9uIGNvbW1hbmQgY2hhbmdlIG1lc3NhZ2UgYW5kIHF1ZXJ5CgkgIFNlbmQgbWVzc2FnZXMgd2hlbiB0aGUgYXZhaWxhYmxlIERWRCBuYXZpZ2F0aW9uIGNvbW1hbmRzIGNoYW5nZXMsIGFuZAoJICBoYW5kbGUgbmF2aWdhdGlvbiBjb21tYW5kcyBhbmQgYW5nbGVzIHF1ZXJpZXMuCgoyMDA5LTA1LTExIDE2OjU5OjIwICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBQcm90ZWN0IGJpdHJhdGUgZXN0aW1hdGlvbiBhZ2FpbnN0IGJvZ3VzIHZhbHVlcy4KCSAgSWYgdGhlIGVzdGltYXRlZCBiaXRyYXRlIGlzIGxvd2VyIHRoYW4gMTg4IGJ5dGVzLCB0aGVyZSdzIG1vc3QgbGlrZWx5CgkgIHNvbWV0aGluZyBjb21wbGV0ZWx5IHdyb25nIHdpdGggdGhlIHR3byBzYW1wbGVzLiBJZiB0aGF0IGhhcHBlbnMsCgkgIGZvcmNlIHJlY2FsY3VsYXRpb24uCgkgIFVzZSBndWludDY0IGZvciBvYnNlcnZhdGlvbiBQQ1IsIEkgc2F3IGNhc2VzIHdoZXJlIGl0IHdvdWxkIG92ZXJmbG93LgoKMjAwOS0wNS0xMSAxNjo1ODo1OCArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IE9ubHkgdGFrZSBQQ1IgZnJvbSB0aGUgYWN0aXZlIHN0cmVhbSBmb3IgYml0cmF0ZSBlc3RpbWF0aW9uLgoKMjAwOS0wNS0xMSAxNjo0MDo0NiArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgbXBlZ3RzZGVtdXg6IENoYW5nZSBkZWJ1Z2dpbmcgbGV2ZWxzIGZvciB2ZXJ5IGZyZXF1ZW50IG1lc3NhZ2VzLgoJICBUaGlzIGFsbG93cyBkZWJ1Z2dpbmcgd2l0aCBtcGVndHNkZW11eDo0IHdoaWxlIGJlaW5nIGFibGUgdG8gdHJhY2sgd2hhdCdzCgkgIGdvaW5nIG9uIChhbmQgYXZvaWQgdGFraW5nIHVwIGFzIG11Y2ggY3B1IGZvciBkZWJ1Z2dpbmcgYXMgZm9yIHRoZSBhY3R1YWwKCSAgZGVtdXhpbmcgcHJvY2VzcykuCgoyMDA5LTA1LTA5IDA5OjU3OjQ3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogUmV2ZXJ0IGluZGVudGF0aW9uIGFuZCBjb21tZW50IGhlYWRlciBmaWxlLgoJICBPbmUgc2hvdWxkbid0IHJ1biBnc3QtaW5kZW50IG9uIC5oIGZpbGVzLCBpbiB0aGlzIGNhc2UgaXQgd2FzIHVuLWJlYXV0aWZ5aW5nCgkgIHRoZSBpbmRlbnRhdGlvbiA6KQoKMjAwOS0wNS0xMCAyMToyMTozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgZ3BwbXV4OiBBZGQgTVBFRy00IHBhcnQgMiB0byBzdXBwb3J0ZWQgZm9ybWF0cy4gIEZpeGVzICM1ODE1OTMuCgoyMDA5LTA1LTEwIDE3OjE3OjE1ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZmFhZDogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3IgdGhlIEZBQUQgdmVyc2lvbgoJICBUaGUgcHJldmlvdXMgdmVyc2lvbiBtYXRjaGVkIHRoaW5ncyBsaWtlIDI5NyBmb3IKCSAgdmVyc2lvbiAyLjcsIGV0YyB3aGljaCBjb3VsZCBiZSBhZGRlZCB0byB0aGUgZmlsZQoJICBieSBvdGhlciBoZWFkZXJzLgoJICBGaXhlcyBidWcgIzU4MjA3NC4KCjIwMDktMDUtMTAgMTE6MTc6MTcgKzAyMDAgIE1hcmMtQW5kcmUgTHVyZWF1IDxtYXJjYW5kcmUubHVyZWF1QGdtYWlsLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkgIFJ1biBsaWJ0b29saXplIGJlZm9yZSBhY2xvY2FsCgkgIFRoaXMgdW5icmVha3MgdGhlIGJ1aWxkIGluIHNvbWUgY2FzZXMuIEZpeGVzIGJ1ZyAjNTgyMDIxCgoyMDA5LTA1LTEwIDEwOjQwOjM2ICswMjAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmcKCSAgVGhpcyB3aWxsIGFsd2F5cyBiZSBzZXQgdG8gc29tZXRoaW5nIGJ1dCBnY2MgZGlkbid0IGRldGVjdAoJICB0aGlzLiBGaXhlcyBidWcgIzU4MjAxMy4KCjIwMDktMDUtMDkgMjM6NDc6MzkgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC94MjY0L0dzdFgyNjRFbmMucHJzOgoJICBSZW1vdmUgd3Jvbmcgc3R1ZmYgZnJvbSBwcmVzZXQgZmlsZQoKMjAwOS0wNS0wOSAxNTo0ODo1NCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214Zm11eC5oOgoJICBteGZtdXg6IFdyaXRlIG1ldGFkYXRhIGl0ZW1zIGluIHJlZmVyZW5jZSBvcmRlcgoJICBUaGlzIGVuc3VyZXMgdGhhdCB0aGUgbWV0YWRhdGEgaXRlbXMgYXJlIGFsd2F5cyB3cml0dGVuCgkgIGluIHRoZSBzYW1lIG9yZGVyIGFuZCB0aGF0IGZpcnN0IGNvbWVzIHRoZSBwcmVmYWNlLAoJICB0aGVuIHRoZSBpZGVudGlmaWNhdGlvbiBsaW5rZWQgZnJvbSB0aGUgcHJlZmFjZSwgLi4uCgkgIFNvbWUgZGVtdXhlcnMgY2FuJ3QgaGFuZGxlIGZpbGVzIHdoZXJlIHRoZSBtZXRhZGF0YQoJICBpdGVtcyBhcmUgaW4gcmFuZG9tIG9yZGVyLgoKMjAwOS0wNS0wOSAxNTo0ODo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBFT1MgbG9naWMgYWdhaW4KCjIwMDktMDUtMDkgMTU6NDg6MDEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBEb24ndCB1bnJlZiBOVUxMIGJ1ZmZlcnMgaWYgcHVzaGluZyBhIGJ1ZmZlciBhZnRlciB0aGUgZmlyc3QgZmFpbGVkCgoyMDA5LTA1LTA5IDEyOjQyOjI1ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSAgQWRkIGEgbW9yZSByZXByZXNlbnRhdGl2ZSBleGFtcGxlIHByZXNldCBmaWxlIGZvciB4MjY0CgoyMDA5LTA1LTA4IDE4OjI0OjI4ICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIG1wZWd0c2RlbXV4OiBBZGQgaW5pdGlhbCBuYWl2ZSBzZWVraW5nIHN1cHBvcnQgYW5kIGZpeCBkdXJhdGlvbiBxdWVyeS4KCSAgU3luYyBmcm9tIGdzdC1mbHVlbmRvLW1wZWdkZW11eCBhbmQgaGF2ZSBzZWVraW5nL2R1cmF0aW9uIHF1ZXJ5CgkgIGltcHJvdmVtZW50cyBpbi4gTm8gc3VwcG9ydCBob3dldmVyIGZvciB3cmFwcGVkIGFyb3VuZCBwY3JzIGV0Yy4gYnV0IGEKCSAgc3RhcnQgbm9uZXRoZWxlc3MuCgkgIEFsc28gZml4IGluZGVudGF0aW9uIGlzc3Vlcy4KCjIwMDktMDUtMDggMTY6Mzg6MjYgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBDb21tZW50IG91dCBwcmVzZXQgbm90IGluIHlldAoKMjAwOS0wNS0wOCAxNTozOToyNCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICBkZWludGVybGFjZTI6IEFkZCBhIGRpc2FibGVkIG1vZGUgZm9yIHBhc3N0aHJvdWdoIG9wZXJhdGlvbgoJICBBbHNvIGFsbG93IHRvIGNoYW5nZSB0aGUgbW9kZSBpbiBQQVVTRUQgYW5kIFBMQVlJTkcgYnkgdXBkYXRpbmcKCSAgdGhlIGNhcHMgaWYgbmVjZXNzYXJ5LgoKMjAwOS0wNS0wNyAxNzo1Mzo0MiArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2ZhYWMvZ3N0ZmFhYy5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgQWRkIHJhbmtzIHRvIHZhcmlvdXMgbXV4ZXJzIGFuZCBlbmNvZGVycyBpbiAtYmFkCgoyMDA5LTA1LTA3IDE3OjM0OjM2ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIHNwZWMgZmlsZQoKMjAwOS0wNS0wNyAxMzoxMjozNCArMDIwMCAgUm92IEp1dmFubyA8cm92anV2YW5vQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1wbGF5ZXIuYzoKCSAgc2NhbGV0ZW1wbzogRG9uJ3QgcmVxdWlyZSBnY29uZmF1ZGlvc2luayBpbiB0aGUgZGVtbwoJICBGaXhlcyBidWcgIzUzNzcwMC4KCjIwMDktMDUtMDYgMjE6NDg6MzAgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogRG9uJ3Qgb3BlbiBhbGwgVlRTIGlmbyBhdCB0aGUgc3RhcnQKCSAgTG9hZCBlYWNoIFZUUyBpZm8gdGhlIGZpcnN0IHRpbWUgdGhlIGRpc2MgZW50ZXJzIHRoYXQgVlRTLAoJICByYXRoZXIgdGhhbiBzY2FubmluZyB0aGVtIGFsbCBhdCB0aGUgc3RhcnQuCgoyMDA5LTA1LTA2IDIxOjE5OjEzICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIHJlc2luZHZkOiBTZW5kIGEgdGl0bGUgdGFnIHdoZW4gd2UgY2hhbmdlIGNoYXB0ZXIvbWVudS9hbmdsZQoJICBBbGxvdyBhcHBzIGxpa2UgVG90ZW0gdG8gZGlzcGxheSBhIG5pY2VyIHRpdGxlIHRoYXQgcmVmbGVjdHMgdGhlIGN1cnJlbnQKCSAgcG9zaXRpb24gb24gdGhlIGRpc2MuCgoyMDA5LTA1LTA1IDEzOjE4OjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IERvbid0IHNlbmQgaGlnaGxpZ2h0LXJlc2V0IG1lc3NhZ2VzIHdoZW4gbm90IG5lZWRlZAoJICBGaXggYSBzbWFsbCBidWcgdGhhdCByZXN1bHRzIGluIHRoZSBTUFUgaGlnaGxpZ2h0IGJlaW5nIHJlc2V0IG1vcmUgb2Z0ZW4KCSAgdGhhbiBpcyBuZWNlc3NhcnkgLSBpZSwgY2xlYXJpbmcgaXQgd2hlbiBpdCdzIGFscmVhZHkgY2xlYXJlZC4KCjIwMDktMDUtMDUgMTM6MTQ6NDcgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IHNlbmQgYW5nbGVzLWNoYW5nZWQgbWVzc2FnZXMgd2hlbiBhcHByb3ByaWF0ZQoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGNoYW5nZXMsIG9yIHRoZSBudW1iZXIgb2YgYXZhaWxhYmxlIGFuZ2xlcyBjaGFuZ2VzLAoJICBzZW5kIGFuIGFuZ2xlcy1jaGFuZ2VkIG1lc3NhZ2UgdG8gbGV0IHRoZSBhcHAga25vdy4KCjIwMDktMDUtMDUgMTE6MzQ6MjYgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSB0aGUgbmV4dC9wcmV2IGFuZ2xlIHN3aXRjaGluZyBjeWNsZSBhdCB0aGUgZW5kcwoJICBXaGVuIHRoZSBjdXJyZW50IGFuZ2xlIGlzIDEgYW5kIHByZXZfYW5nbGUgaXMgcmVxdWVzdGVkLCBsb29wIHRvIHRoZQoJICBtYXhpbXVtIGFuZ2xlIGFuZCB2aWNlIHZlcnNhIGZvciBuZXh0X2FuZ2xlCgoyMDA5LTA1LTA1IDE2OjU0OjM5ICswMjAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOgoJICBtcGVnNHZpZGVvcGFyc2U6IGRvbid0IGxlYWsgdGhlIGNvbmZpZyBkYXRhCgkgIENsZWFyIHRoZSBjb25maWcgZGF0YSB3aGVuIGdvaW5nIHRvIFJFQURZIG9yIHdoZW4gZGlzcG9zZWQuCgkgIEZpeGVzICM1ODE0MjcKCjIwMDktMDUtMDUgMTY6NDg6MzcgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgcnRwc3NyY2RlbXV4OiBkcm9wIHVuZXhwZWN0ZWQgUlRDUCBwYWNrZXRzCgkgIFdlIHVzdWFsbHkgb25seSBnZXQgU1IgcGFja2V0cyBpbiBvdXIgY2hhaW4gZnVuY3Rpb24gYnV0IGlmIGFuIGludmFsaWQgcGFja2V0CgkgIGNvbnRhaW5zIHRoZSBTUiBwYWNrZXQgYWZ0ZXIgdGhlIFJSIHBhY2tldCwgd2UgbXVzdCBub3QgZmFpbCBidXQgc2ltcGx5IGlnbm9yZQoJICB0aGUgbWFsZm9ybWVkIHBhY2tldC4KCSAgRml4ZXMgIzU4MTM3NQoKMjAwOS0wNS0wNCAyMjowOTowNSArMDEwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyQGxvY2FsaG9zdC5sb2NhbGRvbWFpbj4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBtcGVndHNwYXJzZTogUmVtZW1iZXIgcGlkcyB0aGF0IGFyZSBtZWFudCB0byBiZSBzdHJlYW0gcGlkcy4KCSAgRml4ZXMgIzU2OTc4MQoKMjAwOS0wNS0wNCAxMjozNzozMSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgIGNlbHQ6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM2OjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgZGlyYWM6IEltcGxlbWVudCBwcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjM0OjU5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBJbXBsZW1lbnQgcHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMzo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgIG1wZWcyZW5jOiBJbXBsZW1lbnQgUHJlc2V0IGludGVyZmFjZQoKMjAwOS0wNS0wNCAxMjozMTo1OCArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgIHh2aWQ6IEltcGxlbWVudCBQcmVzZXQgaW50ZXJmYWNlCgoyMDA5LTA1LTA0IDEyOjMwOjI2ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgZmFhYzogSW1wbGVtZW50IHByZXNldCBpbnRlcmZhY2UKCjIwMDktMDUtMDMgMTc6NDI6NDQgKzAxMDAgIFZpbmNlbnQgR2VuaWV1eCA8bXV0ZXhAcnVuYm94LmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOgoJICBtcGVndHNwYXJzZTogSWdub3JlIHN1YnRhYmxlIGV4dGVuc2lvbiB3aGVuIHBhcnNpbmcgUEFUCgkgIEZpeGVzICM1Njk2NzMuCgoyMDA5LTA1LTAzIDE3OjIxOjIyICswMTAwICBWaW5jZW50IEdlbmlldXggPG11dGV4QHJ1bmJveC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuaDoKCSAgbXBlZ3RzcGFyc2U6IG1ha2Ugc2FmZSBjaGFuZ2luZyB0aGUgcHJvZ3JhbS1udW1iZXJzIHByb3BlcnR5IGR5bmFtaWNhbGx5CgkgIEZpeGVzICM1Njk0MzcuCgoyMDA5LTA1LTAzIDE0OjI4OjUxICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tczogZXh0ZW5kIEJhc2VTcmMgcXVlcnkgaGFuZGxpbmcgcmF0aGVyIHRoYW4gb3ZlcnJpZGluZwoKMjAwOS0wNC0yNyAyMjozOToxNSArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBmaXggKHJlZ3Jlc3Npb24gaW4pIG5ld3NlZ21lbnQgaGFuZGxpbmcKCSAgKGFhY3BhcnNlLCBhbXJwYXJzZSwgZmxhY3BhcnNlKS4gIEZpeGVzICM1ODAxMzMuCgoyMDA5LTA1LTAyIDEyOjIzOjAzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiBmaXggcGVzIGZpbHRlciBwaWQgcmVzZXR0aW5nCgoyMDA5LTA1LTAxIDAyOjI2OjIyICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkgIGR0c2RlYzogY29zbWV0aWMgZml4IHRvIGhlYWRlciBzdHJ1Y3R1cmUgdG8gbWFrZSBndGstZG9jIGhhcHB5CgoyMDA5LTA1LTAxIDE0OjI1OjQwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZG9jczogbWFrZSBmcHNkaXNwbGF5c2luayBzaG93IHVwIGluIHRoZSBkb2NzCgoyMDA5LTA1LTAxIDAyOjIxOjEwICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmg6CgkgIGZwc2Rpc3BsYXlzaW5rOiBtb3ZlIHByaXZhdGUgc3RydWN0IGludG8gcGx1Z2luIHN0cnVjdCBhbmQgdXNlIEdzdCBuYW1lc3BhY2UKCjIwMDktMDUtMDEgMDE6NTk6NTYgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlYnVndXRpbHNiYWQueG1sOgoJKiBnc3QvZGVidWd1dGlscy9NYWtlZmlsZS5hbToKCSogZ3N0L2RlYnVndXRpbHMvZGVidWd1dGlsc2JhZC5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogcmVuYW1lIHBsdWdpbiAobm90IGVsZW1lbnQpIHRvIGRlYnVndXRpbHNiYWQKCSAgTWFrZXMgaXQgZWFzaWVyIHRvIGFkZCBmdXJ0aGVyIHV0aWxzIGhlcmUgd2l0aG91dCBjcmVhdGluZyB5ZXQgYW5vdGhlciBwbHVnaW4uCgoyMDA5LTA1LTAxIDE0OjI4OjIzICswMTAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgZHZic3JjOiB1bnNldCBwaWQgZmlsdGVycyBjb3JyZWN0bHkKCjIwMDktMDQtMzAgMTQ6NDM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIHF0bXV4OiBjaGFuZ2VzIGNhcHMgb2Ygc3JjIHBhZHMgdG8gdmlkZW8vcXVpY2t0aW1lLCB2YXJpYW50PXNvbWV0aGluZwoJICBUYWtlIGEgbG9vayBhdCBidWcgIzU4MDAwNSBmb3IgZnVydGhlciBpbmZvLgoKMjAwOS0wNC0zMCAxNzoyOTozNSArMDEwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTA0LTMwIDE3OjI4OjQ3ICswMTAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNocmlzdGlhbi5zY2hhbGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgVXBkYXRlIGZvciBuZXcgcHJlc2V0cyBmaWxlCgoyMDA5LTA0LTMwIDE3OjA4OjUyICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5c2luazogaW5pdCB2YXJpYWJsZSB0byBOVUxMIHRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcKCSAgRml4ZXMgIzU4MDkwMS4KCjIwMDktMDQtMzAgMTQ6MjA6MTYgKzAyMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuaDoKCSAgZHZkc3B1OiBkbyBzb21lIGJhc2ljIGNsaXBwaW5nCgkgIEFkZCBzb21lIGJhc2ljIGNsaXBwaW5nIG9mIHRoZSBzdWJ0aXRsZSByZWdpb24gd2hlbiB0aGUgc3VidGl0bGUgaXMgYmlnZ2VyIHRoYW4KCSAgdGhlIGltYWdlIHdlIHNob3VsZCBwdXQgaXQgb24uCgoyMDA5LTA0LTMwIDE0OjE4OjU4ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBkb24ndCBFT1Mgd2hlbiB0aGUgc3VidGl0bGUgZ290IEVPUwoJICBEb24ndCBmb3J3YXJkIHRoZSBFT1Mgb24gdGhlIHN1YnRpdGxlIHBhZCBhcyB0aGUgdmlkZW8gbWlnaHQgc3RpbGwgYmUgcnVubmluZy4KCjIwMDktMDQtMzAgMTM6NDU6MzAgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IGNvZGUgY2xlYW51cCBhbmQgcGx1ZyBvdmVybGF5IGFzIG5lZWRlZAoJICBQbHVnZ2luIHRoZSB0ZXh0LW92ZWxheSBjYXVzZXMgc29tZSBzbG93ZG93bnMgYW5kIG1pZ2h0IG5lZWQgYSBjb2xvcnNwYWNlCgkgIGNvbnZlcnRlci4gV2Ugbm93IG9ubHkgY2hlY2sgdGhlIHRleHQtb3ZlcmxheSBwcm9wZXJ0eSB3aG5lIGdvaW50IHRvIHJlYWR5IGFuZAoJICBwbHVnIG9yIHVucGx1ZyB0aGUgdGV4dC1vdmVybGF5IGF0IHRoYXQgdGltZS4gSWYgdGhlIHByb3BlcnR5IGNoYW5nZXMgZHVyaW5nCgkgIHBsYXlpbmcsIGl0cyBub3Qgc3dpdGNoZWQgaW1tZWRpYXRlbHkuCgoyMDA5LTA0LTMwIDAwOjA2OjM2ICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQveDI2NC9Hc3RYMjY0RW5jLnByczoKCSogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzoKCSAgeDI2NGVuYzogYWRkIHByZXNldCBzdXBwb3J0CgkgIEFkZCBwcmVzZXQgaWZhY2UgYW5kIGEgKGR1bW15KSBwcmVzZXQgZmlsZSBhcyBhIHN0YXJ0aW5nIHBvaW50LgoKMjAwOS0wNC0yNiAyMToyNjowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIHJlc2luZHZkOiBDb252ZXJ0IHNvbWUgZ19wcmludCB0byBHU1RfTE9HX09CSkVDVCBhbmQgZnJpZW5kcywgcmVtb3ZlIHNvbWUgb3RoZXJzCgkgIFRyaW0gZG93biB0aGUgZ19wcmludCB2ZXJib3NpdHkuCgoyMDA5LTA0LTI2IDIxOjI5OjI3ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IEFkZCBEVkRGQVNUU1RBUlQgZW52IHZhciB0byBtYWtpbmcgc29tZSB0ZXN0aW5nIGVhc2llcgoKMjAwOS0wNC0yNCAxNDowODo1NSArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICByZXNpbmR2ZDogUmVtb3ZlIHJlZHVuZGFudCBtb2R1bG8gb3BlcmF0aW9uIGluIHRoZSBkZW11eGVyCgoyMDA5LTA0LTI0IDE0OjA3OjMwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFwIGF1ZGlvIGFuZCBzdWJwaWN0dXJlIGxvZ2ljYWwgc3RyZWFtcyB0byBwaHlzaWNhbC4KCSAgVGhlIGxvZ2ljYWwgYXVkaW8gYW5kIHN1YnBpY3R1cmUgc3RyZWFtIG51bWJlciBkb2Vzbid0IGFsd2F5cyBjb3JyZXNwb25kCgkgIHdpdGggdGhlIHBoeXNpY2FsIHN1YnN0cmVhbSBpdCBpcyBjb21pbmcgZnJvbS4gV2hlbiBjb25maWd1cmluZyB0aGUgZGVtdXhlcgoJICBwYWRzLCB1c2UgdGhlIG1hcHBpbmcgdGFibGUgcHJvdmlkZWQgaW4gZWFjaCBQR0MgdG8gZ2V0IHRoZSBsYXlvdXQgYW5kCgkgIGVuc3VyZSB0aGUgZGVtdXhlciBjcmVhdGVzIHRoZSBjb3JyZWN0IHBhZHMuCgoyMDA5LTA0LTI5IDE4OjUyOjIwICswMTAwICBUcmlzdGFuIE1hdHRoZXdzIDxsZS5idXNpbmVzc21hbkBnbWFpbC5jb20+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHZtdXg6IGluaXQgdmFyaWFibGUgdG8gTlVMTCB0byBmaXggY29tcGlsZXIgd2FybmluZwoJICBGaXhlcyAjNTgwNzg2LgoKMjAwOS0wNC0yOSAxNjo1NzozNiArMDIwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIHgyNjRlbmM6IGFkZCBzb21lIGRvY3VtZW50YXRpb24gb24gcHJvZmlsZQoKMjAwOS0wNC0yOSAxMzo1NjowNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogU2V0L3JlcXVpcmUgdGhlIGZyYW1lZC9wYXJzZWQgZmllbGRzIG9mIHRoZSBhdWRpby9tcGVnIGNhcHMgdG8gVFJVRQoKMjAwOS0wNC0yOSAxMzoxNjoyNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdm11eC5jOgoJICBmbHY6IEFsd2F5cyB3cml0ZSBhdCBsZWFzdCB0aGUgbWluaW1hbCB0YWdzIGFuZCB3cml0ZSB0aGUgUEFSIGFzIHRhZ3MKCjIwMDktMDQtMjkgMTM6MDM6NDYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIHNvbWUgdGFncwoKMjAwOS0wNC0yOSAxMzowMzoyNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogQWRkIHN1cHBvcnQgZm9yIHRpdGxlIHRhZwoKMjAwOS0wNC0yOSAwOTo0MDo0MSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIGZsdjogRml4IHBhcnNpbmcgb2YgdGFncyBhbmQgYWRkIG5ldyBtYXBwaW5ncwoJICBXZSBzaG91bGRuJ3QgcmVnaXN0ZXIgYSBuZXcgR3N0VGFnIGZvciBldmVyeSB1bmtub3duIHRhZwoJICB3ZSBmaW5kIGFzIHRoaXMgbWlnaHQgbGVhZCB0byBjb25mbGljdHMgYW5kIGFsc28gdGhvc2UKCSAgdGFncyBhcmUgZXNzZW50aWFsbHkgdW5rbm93bi4KCSAgQWRkIG1hcHBpbmdzIGZvciBzb21lIGtub3duIHRhZ3MgYW5kIGFsc28gY29udmVydCBzdHJpbmcKCSAgZGF0ZXMgdG8gR0RhdGUsIGFzIGZvdW5kIGluIG1hbnkgRkxWIGZpbGVzLgoKMjAwOS0wNC0yOCAxNjoxMDoyMSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZWplY3Qgd3JvbmcgY2FwcwoKMjAwOS0wNC0yOCAxNjowMzoxOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhayBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yOCAxNTo1ODo0MSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggbGVhawoJICBGaXhlZCBhIGxlYWsgZGlzY292ZXJlZCBieSBMYXVyZW50IEdsYXlhbCA8c3BlZ2xlQHlhaG9vLmZyPgoKMjAwOS0wNC0yNyAxMTowOTowOCArMDIwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgcnRwc291Y2U6IG1ha2UgV0FSTklORyBpbnRvIExPRwoJICBTaW5jZSBuZWl0aGVyIHJ0cG1hbmFnZXIgbm9yIGFueSBvZiB0aGUgcGF5bG9hZGVycyBwcm9wZXJseSBpbXBsZW1lbnQKCSAgcGFkIGFsbG9jYXRpb24sIHRoZXJlIGlzIG5vIHdheSBmb3IgdGhlIHJ0cG1hbmFnZXIgdG8gaW5mb3JtIGRvd25zdHJlYW0gZWxlbWVudHMKCSAgb2YgdGhlIG5ldyBTU1JDIGlmIHRoZXJlIGlzIGFuIFNTUkMgY29sbGlzaW9uLiBTbyB0aGUgd2FybmluZyBpcyBlbWl0dGVkIGFsbCB0aGUKCSAgdGltZSBhbmQgaXQgaXMgY29uZnVzaW5nLgoJICBGaXhlcyAjNTgwMTQ0CgoyMDA5LTA0LTI3IDExOjA2OjAxICswMjAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzoKCSAgcnRwc2Vzc2lvbjogbm90aWZ5IHdoZW4gU1NSQyBjaGFuZ2VzCgkgIEVtaXQgYSBnX29iamVjdF9ub3RpZnkgd2hlbiB0aGUgU1NSYyBjaGFuZ2VzIGJlY2F1c2Ugb2YgYSBjb2xsaXNpb24uCgkgIEZpeGVzICM1ODAxNDQKCjIwMDktMDQtMjcgMTA6MDQ6NTEgKzAxMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgQWRkIG5ldyBwbHVnaW4gdG8gc3BlYyBmaWxlIGFuZCBhZGQgbWlzc2luZyBoZWFkZXIgdG8gZ3N0L2RjY3AvTWFrZWZpbGUuYW0KCjIwMDktMDQtMjUgMDA6NDQ6MTUgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvLmdpdGlnbm9yZToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5naXRpZ25vcmU6CgkgIHRlc3RzOiBtYWtlIGdpdCBpZ25vcmUgbmV3IHVuaXQgdGVzdHMgYmluYXJpZXMKCjIwMDktMDQtMjUgMDA6NDI6NDQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvTUFOSUZFU1Q6CgkgIHdpbjMyOiBkaXN0IGxpYmdzdGRzaG93LmRlZiBieSBhZGRpbmcgaXQgdG8gd2luMzIvTUFOSUZFU1QKCSAgRml4ZXMgIzU3ODU2My4KCjIwMDktMDQtMjQgMTg6NTM6MzYgLTAzMDAgIFRoaWFnbyBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIG1wNG11eDogQ2hhbmdlcyBzcmMgY2FwcyB0byBhcHBsaWNhdGlvbi94LWlzby1tcDQKCSAgRml4ZXMgIzU4MDAwNQoKMjAwOS0wNC0yNCAxNjowMTo0NCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICB3aW4zMjogQ29tbWl0IHRoZSB3aW4zMiBjb25maWcgd2l0aCBidW1wZWQgdmVyc2lvbiBudW1iZXIuCgkgIFNob3VsZCBoYXZlIGNvbW1pdHRlZCB0aGlzIHdoZW4gSSB1bmZyb3plIHRoZSBidWlsZCBsYXN0IHRpbWUsIHNvcnJ5LgoKMjAwOS0wNC0yNCAxNDo1MTowMCArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIGNoZWNrOiBleGNsdWRlIHJzbmR2ZGJpbiBmcm9tIHRoZSBzdGF0ZXMgdGVzdAoKMjAwOS0wNC0yNCAxNTo0MjoyNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBmaXggY29uZmlndXJlIHRvIHVzZSBwcm9wZXIgc2hlbGwgc3ludGF4LiBmaXhlcyAjNTgwMDkxCgoyMDA5LTA0LTIzIDE3OjMzOjI1ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIHNvdW5kdG91Y2g6IEZpeCBjb21waWxhdGlvbiBvbiBuZXdlciBsaWJTb3VuZFRvdWNoCgkgIE5ld2VyIGxpYnNvdW5kdG91Y2ggcmVxdWlyZXMgdGhhdCB3ZSBpbmNsdWRlIGFuIGV4dHJhIGhlYWRlciB0aGF0IHdhc24ndAoJICBwcmV2aW91c2x5IHJlcXVpcmVkLCBzbyBkZWZpbmUgSEFWRV9TT1VORFRPVUNIXzFfNCBmb3IgbmV3ZXIgYnVpbGRzIHNvIHRoYXQgaXQKCSAgZ2V0cyBpbmNsdWRlZC4KCjIwMDktMDQtMjAgMTE6Mzg6MDEgKzAzMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9kZWJ1Z3V0aWxzL2Zwc2Rpc3BsYXlzaW5rLmM6CgkgIGZwc2Rpc3BsYXk6IG1vcmUgY2xlYW51cHMKCSAgVXNlIG5vcm1hbCBnc3QtZGVmaW5lcyBpbiBQTFVHSU5fREVGSU5FLiBTaG9ydGVuIF9zdGFydC9zdG9wIG1ldGhvZCBuYW1lcy4KCSAgTW9yZSBpZGVhcy4gTW92ZSBkZWJ1ZyBjYXRlZ29yeS1pbml0IGRvd24gdG8gcGx1Z2luLWluaXQuCgoyMDA5LTA0LTIwIDA5OjUxOjUwICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJICBmcHNkaXNwbGF5OiB1c2UgYSBuaWNlciBmb250IGZhbWlseQoKMjAwOS0wNC0yMCAxMDoyNDozNyArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogdmFyaW91cyBjbGVhbnVwcywgZG9jcyBhbmQgY29tbWVudHMKCSAgUmVtb3ZlIHVudXNlZCBiYXNlX2luaXQuIEFkZCBiYXNpYyBkb2MgYmxvYi4gUmV1c2UgcXVlcnkgb2JqZWN0LiBSZW5hbWUKCSAgdmFyaWFibGVzIGZvciBjbGFyaXR5LiBBZGQgY29tbWVudHMgYW5kIFRvRG9zLgoKMjAwOS0wNC0yMCAwOTo0OTozMiArMDMwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2RlYnVndXRpbHMvZnBzZGlzcGxheXNpbmsuYzoKCSAgZnBzZGlzcGxheTogcmVtb3ZlIGlmYWNlIHByb3h5CgkgIFdoZW4gd2UgZ2V0IGJ1cyBtZXNzYWdlcyBmb3Igc2V0dGluZyB0aGUgeGlkLCB3ZSBoYXZlIHRoZSByZWFsIHNpbmsgZWxlbWVudAoJICBpbnN0YW5jZSBhcyBtZXNzYWdlX3NyYy4gTm8gbmVlZCB0byBwcm94eSB0aGUgeG92ZXJsYXkgaWZhY2UgdGhlcmVmb3JlCgkgIChhdXRvdmlkZW9zaW5rIGRvZXMgbm90IGRvIGl0IGVpdGhlcikuIEFsc28gd2UgZG9uJ3QgbmVlZCB0byByZXdyaXRlIHRoZQoJICBtZXNzYWdlIHNyYyBvZiBhbGwgbWVzc2FnZXMgZnJvbSB0aGF0IHNpbmsuCgoyMDA5LTA0LTIzIDExOjA0OjQ2ICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogRm9yd2FyZCBzZWdtZW50IGV2ZW50cyBmb3IgdGhlIGFjdGl2ZSBwYWQgaW1tZWRpYXRlbHkuCgkgIFdoZW4gYSBzZWdtZW50IGV2ZW50IGlzIHJlY2VpdmVkIG9uIHRoZSBhY3RpdmUgcGFkLCBmb3J3YXJkIGl0IGRvd25zdHJlYW0KCSAgaW1tZWRpYXRlbHkgaW5zdGVhZCBvZiBkZWZlcnJpbmcgaXQgdW50aWwgdGhlIG5leHQgZGF0YSBidWZmZXIgYXJyaXZlcy4gVGhpcwoJICBmaXhlcyBwcm9ibGVtcyB3aXRoIHNlZ21lbnQgdXBkYXRlcyBuZXZlciBiZWluZyBzZW50IGRvd25zdHJlYW0sIGxpa2UgdGhvc2UKCSAgbmVlZGVkIGZvciBzcGFyc2Ugc3RyZWFtcywgb3IgZm9yIGNsb3NpbmcgcHJldmlvdXNseSBvcGVuZWQgc2VnbWVudHMuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgRFZEIG1lbnVzIHdpdGggYSBzdGlsbCB2aWRlbyBmcmFtZSBhbmQgYW4gYXVkaW8gdHJhY2ssCgkgIGZvciBleGFtcGxlLgoJICBGaXhlczogIzU3Nzg0MwoKMjAwOS0wNC0yMiAxODowMTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBGaXggd2FybmluZwoKMjAwOS0wNC0yMCAyMDowMDoxNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBTZXQgZGlmZmVyZW50IGNhcHMgZGVwZW5kaW5nIG9uIHRoZSBpbnB1dAoKMjAwOS0wNC0yMiAxNjoyNTowNyAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBPbmx5IGZyZWUgcGFkIHByaXZhdGUgd2hlbiBwYWQgaXMgZGlzcG9zZWQKCjIwMDktMDQtMjIgMTk6NTI6MDUgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6CgkqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguYzoKCSogZ3N0L2Zsdi9nc3RmbHZtdXguaDoKCSAgZmx2OiBBZGQgZG9jdW1lbnRhdGlvbiB0byBmbHZtdXggYW5kIGZsdmRlbXV4CgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzczNy4KCjIwMDktMDQtMjIgMTk6NDU6MDcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmOiBNYXJrIG1vc3QgZmllbGRzIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3QgYXMgcHJpdmF0ZQoKMjAwOS0wNC0yMiAxOTo0MzoyMiArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGRvY3VtZW50YXRpb24gYW5kIGludGVncmF0ZSBpbnRvIHRoZSBidWlsZCBzeXN0ZW0KCjIwMDktMDQtMjIgMTk6MjQ6NDMgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hc3NyZW5kZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcHNkaXNwbGF5c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkgIG14ZjogQWRkIGRvY3VtZW50YXRpb24gdG8gbXhmbXV4IGFuZCB1cGRhdGUgdGhlIGRvY3MKCjIwMDktMDMtMTkgMTU6Mzc6MTcgLTA3MDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBtb2RwbHVnOiBVc2UgY29ycmVjdCBoZWFkZXIgZmlsZQoJICBtb2RwbHVnJ3Mgc25kZmlsZS5oIGNvbmZsaWN0cyB3aXRoIGxpYnNuZGZpbGUncyBzbmRmaWxlLmgsIHNvCgkgIHdlJ2xsIGFjY2VzcyBpdCBkaXJlY3RseSB1c2luZyBtb2RwbHVnL3NuZGZpbGUuaC4gIEZpeGVzICM1NzM4NDkKCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE1OjI5OjA0IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogbTQvZ3N0LXNkbC5tNDoKCSAgc2RsOiBVc2UgU0RMIHN0YXRpYy1saWJzIGZvciBjb25mdGVzdAoJICBGaXhlczogIzU3Mzg0Ny4gIFRoaXMgZml4ZXMgYnVpbGRpbmcgd2l0aCBTREwgb24gV2luZG93cy4KCSAgU2lnbmVkLW9mZi1ieTogRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoyMDA5LTAzLTE5IDE0OjU1OjI2IC0wNzAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgbXBlZzJlbmM6IEdldCBudW1iZXIgb2YgcHJvY2Vzc29ycyBvbiB3aW4zMgoJICBGaXhlcyAjNTczODQ4LgoJICBTaWduZWQtb2ZmLWJ5OiBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCjIwMDktMDMtMTkgMTQ6NDk6MTMgLTA3MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBzb3VuZHRvdWNoOiBBZGQgcGtnY29uZmlnIGNoZWNrIGZvciBzb3VuZHRvdWNoLTEuNAoJICBGaXhlcyAjNTczODQ2LgoKMjAwOS0wMi0yNiAxNDoxODo1NCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzoKCSogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmg6CgkgIEFkZCBpbnRlcmxhY2VkIHN1cHBvcnQgdG8gdmlkZW9wYXJzZQoJICBBZGQgYSB2aXJ0dWFsIG1ldGhvZCBpbiByYXdwYXJzZSB0byBzZXQgYnVmZmVyIGZsYWdzLiAgVGhpcyBkb2Vzbid0CgkgIHVzZSBBUEkgZnJvbSB1bnJlbGVhc2VkIC1iYXNlLCBzaW5jZSBpdCBkZWZpbmVzIEdTVF9WSURFT19CVUZGRVJfVEZGCgkgIGlmIGl0J3Mgbm90IGRlZmluZWQgeWV0LgoKMjAwOS0wNC0yMSAyMjoxMzoxMiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBiMzk0MWVhIHRvIDZhYjExZDEKCjIwMDktMDQtMjEgMTM6Mjc6MjkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkgIE1lcmdlIGJyYW5jaCAncnRwbXV4LWZpeGVzJwoKMjAwOS0wNC0yMSAxNjo0ODozOSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIG1tc3NyYzogSWYgdGhlIGNvbm5lY3Rpb24gZmFpbHMsIGVtaXQgYSByZWRpcmVjdGlvbiBtc2cgdG8gdGhlIHJ0c3AgZXF1aXZhbGVudC4KCSAgVGhpcyBzaG91bGQgaGVscCBmaXggdGhlIGlzc3VlIHdpdGggV2luZG93cyBNZWRpYSBTZXJ2ZXIgdXNpbmcgcnRzcC4uLiBidXQKCSAgc3RpbGwgZGVjbGFyaW5nIHRoZSBzdHJlYW0gd2l0aCBtbXM6Ly8KCjIwMDktMDQtMjEgMTY6MDg6NTUgKzAyMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBtcGVnZGVtdXg6IE9ubHkgZXJyb3Igb3V0IGF0IEVPUyBwdXNoIGZhaWx1cmUgaWYgd2UgZG9uJ3QgaGF2ZSBhbnkgc3RyZWFtcy4KCSAgVGhpcyBzaG91bGQgcmVtb3ZlIHRoZSBib2d1cyBlcnJvciBtZXNzYWdlcyB3aGlsZSBzdGlsbCBrZWVwaW5nIHRoZSBvcmlnaW5hbAoJICBpbnRlbnQgb2YgdGhpcywgd2hpY2ggaXMgdG8gaW5mb3JtIHRoZSBwaXBlbGluZS9hcHBsaWNhdGlvbi91c2VyIHRoYXQgd2UKCSAgY291bGQgbm90IGZpbmQgYW55IHZhbGlkIHN0cmVhbXMuCgkgIFRoZXJlIGFyZSBtYW55IHJlYXNvbnMgd2h5IHB1c2hpbmcgYW4gZXZlbnQgY2FuIGZhaWwsIGFuZCBub3QgYWxsIG9mIHRoZW0gYXJlCgkgIGJlY2F1c2UgdGhlcmUncyBubyBsaW5rIGRvd25zdHJlYW0gKGl0IGNvdWxkIGJlIGJlY2F1c2UgaXQgd2FzIGJsb2NrZWQsIG9yCgkgIGZsdXNoaW5nKS4KCjIwMDktMDQtMTAgMTk6MjQ6MjYgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIG1wZWd0c2RlbXV4OiBhZGQgaGFjayBzcGVjaWZpYyBmb3IgaXR2aGQKCSAgaXR2aGQgbWFza3MgaXRzIGgyNjQgdmlkZW8gc3RyZWFtIGFzIGEgcHJpdmF0ZSBzdHJlYW0gbWFraW5nIGl0IGhhcmRlciBmb3IKCSAgb3RoZXIgc2V0IHRvcCBib3hlcyB0byBkZWNvZGUuIHRoaXMgY2hlY2tzIGZvciBzcGVjaWZpYyBwcm9ncmFtIG51bWJlciwgdmlkZW8KCSAgcGlkIGFuZCBzdHJlYW0gdHlwZSBjb21iaW5hdGlvbiBiZWZvcmUgZGVjbGFyaW5nIGl0IGFzIGgyNjQuCgoyMDA5LTA0LTEwIDE5OjA2OjU1ICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIG1wZWd0c3BhcnNlOiBkZXRlY3QgQUMzIHN0cmVhbXMgaW4gUE1UIHRhYmxlCgkgIGFkZCAnaGFzLWFjMycgYm9vbGVhbiB0byBwbXQgYnVzIG1lc3NhZ2UKCjIwMDktMDQtMTAgMDE6MTY6MzAgKzAyMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlckBsb2NhbGhvc3QubG9jYWxkb21haW4+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIGl0diBoZCBoYWNrCgoyMDA5LTA0LTEwIDAxOjExOjAxICswMjAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJAbG9jYWxob3N0LmxvY2FsZG9tYWluPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBoYWNrIGZvciBpdHZoZCBzaWQgdG8gZGV0ZWN0IG1wZWcxIGFzIGgyNjQKCjIwMDktMDQtMjAgMTg6NDE6MzkgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogUmVtb3ZlIHVzZWxlc3MgY2FwcyBtYW5nbGluZwoKMjAwOS0wNC0yMCAxODozNjo0MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBSZW5hbWUgdmFyaWFibGUgZm9yIG1vcmUgY2xhcml0eQoKMjAwOS0wNC0yMCAxNzo0MzozOSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIHJ0cG11eDogVXNlIEdTVF9CT0lMRVJQTEFURQoKMjAwOS0wNC0yMCAxNzo0Mjo0MCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBydHBtdXg6IERvIHRoZSBpbmNsdWRlcyBsb2NhbGx5CgoyMDA5LTA0LTIwIDE2OjM0OjMwICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0B3aW5nb21hYy5iY24ub2Jsb25nLm5ldD4KCgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NyYy5jOgoJICBwYXRjaCBvdmVyIGxvZ2ljIGVycm9ycyBpbiBvc3h2aWRlb3NyYwoJICBhcHBsZSdzIGNvbXBpbGVyIGNhcnBzLCB3aXRoIHJlYXNvbiwgYWJvdXQgc29tZSBjb25zdHJ1Y3RzIGluIG9zeHZpZGVvc3JjLmMKCSAgZml4IHRoZW0uCgkgIGFsc28gaXQgc2VlbXMgdGhhdCBmb3Igc29tZSByZWFzb24gdGhpcyByZXF1aXJlZCBhIGdzdC1pbmRlbnQgcnVuLiB3aGVlCgoyMDA5LTA0LTIwIDEzOjA5OjQ2ICswMjAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIG9zeHZpZGVvc3JjCgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vTWFrZWZpbGUuYW06IEF1dG9jb25maXNjYXRpb24uCgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvcGx1Z2luLm06CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc3JjLmM6IEFkZCBvc3h2aWRlb3NyYy4gU2hvdWxkIGZpeCAjMTUzNjg0LgoJICBQYXRjaC1ieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEFsaSBTYWJpbCA8YWxpLnNhYmlsQHRhbmRiZXJnLmNvbT4KCSAgUGF0Y2gtYnk6IEJhcnJhY3VkYSBOZXR3b3JrcyA8anVzdGluQGFmZmluaXguY29tPgoKMjAwOS0wNC0xOSAxNzoxODozNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IE1ha2UgaXQgcG9zc2libGUgdG8gc2VsZWN0IGludGVybGFjaW5nIGF1dG9kZXRlY3Rpb24gb3IgdG8gZW5mb3JlIGRlaW50ZXJsYWNpbmcKCSAgRm9yIHRoaXMgYWRkIGEgIm1vZGUiIHByb3BlcnR5IHRoYXQgZGVmYXVsdHMgdG8gImludGVybGFjZWQiIGZvciBub3cgYXMKCSAgbW9zdCBkZWNvZGVycy9kZW11eGVycyBkb24ndCBwcm9wZXJseSBzZXQgdGhlICJpbnRlcmxhY2VkIiBmaWVsZCBvbiB0aGUKCSAgY2FwcyB5ZXQuCgkgIElmIHRoaXMgcHJvcGVydHkgaXMgc2V0IHRvICJhdXRvIiB0aGUgZWxlbWVudCB3aWxsIHdvcmsgaW4gcGFzc3Rocm91Z2gKCSAgbW9kZSB1bmxlc3MgdGhlIGNhcHMgY29udGFpbiB0aGUgImludGVybGFjZWQiIGZpZWxkLgoKMjAwOS0wNC0xOCAyMzo0Mjo1NyArMDEwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IGxlYWsgb2YgR1NUX1RZUEVfTElTVCBndmFsdWUKCjIwMDktMDQtMTggMTM6MDk6MjMgKzAxMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIG1wZWd0c3BhcnNlOiBmaXggbGVhayBpbiBzcmNfcGFkX3F1ZXJ5CgoyMDA5LTA0LTE3IDE2OjE2OjI5ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBydHBzZXNzaW9uOiBqb2luIHRoZSBSVENQIHRocmVhZAoJICBBdm9pZCBhIGNhc2Ugd2hlcmUgYSBqb2luYWJsZSB0aHJlYWQgd291bGQgYmUgbGVmdCB1bmpvaW5lZCwgd2hpY2ggbGVha2VkIHRoZQoJICB0aHJlYWQgc3RydWN0dXJlLgoJICBGaXhlcyAjNTc3MzE4LgoKMjAwOS0wNC0xNyAxNTozOTo1OSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICBkZWludGVybGFjZTI6IFVzZSBHU1RfKERFQlVHfFdBUk5JTkd8RVJST1IpX09CSkVDVCBpbnN0ZWFkIG9mIHRoZSBub24tT0JKRUNUIG9uZXMKCjIwMDktMDQtMTcgMTU6Mzk6MzYgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBSZXNldCBoaXN0b3J5IGlmIERJU0NPTlQgaXMgc2V0IG9uIHRoZSBpbmNvbWluZyBidWZmZXIKCjIwMDktMDQtMTcgMTU6Mzk6MTAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBGaXggdGltZXN0YW1wcyBmb3IgYnVmZmVycyB3aXRoIFJGRiBmbGFnIHNldAoKMjAwOS0wNC0xNiAyMjoxNDoxNSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZjogUHJvcGVybHkgaGFuZGxlIHRoZSBuZXcgaW50ZXJsYWNlZCBzdXBwb3J0IGZyb20gbGliZ3N0dmlkZW8gZm9yIChkZSltdXhpbmcKCjIwMDktMDQtMTYgMTc6NDE6MzcgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlYmZmLmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZldGZmLmM6CgkgIGRlaW50ZXJsYWNlMjogUmVuYW1lIGxpbmVfbGVuZ3RoIHRvIHJvd19zdHJpZGUgYW5kIHJlbW92ZSBvdXRwdXRfc3RyaWRlCgoyMDA5LTA0LTE2IDE1OjUyOjM5ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIGRlaW50ZXJsYWNlMjogSW1wbGVtZW50IHN1cHBvcnQgZm9yIFJGRiBhbmQgT05FRklFTEQgYnVmZmVyIGZsYWdzCgoyMDA5LTA0LTE2IDE4OjM2OjEzICswMzAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kZWJ1Z3V0aWxzL01ha2VmaWxlLmFtOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5jOgoJKiBnc3QvZGVidWd1dGlscy9mcHNkaXNwbGF5c2luay5oOgoJICBmcHNkaXNwbGF5c2luazogYWRkIGEgaW5pdGlhbCBwb3J0IG9mIGEgc2luayB3aXRoIGZwcyBkaXNwbGF5CgkgIFRoaXMgbm93IHdvcmtzIHdpdGggYSBldmVudCBwcm9iZS4gTmVlZHMgc29tZSBleHRyYSB3b3JrLgoKMjAwOS0wMy0wOSAxODoyMjoyOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjbGVhbiB1cCBhbmQgZml4IGFzc2VydGlvbiBmYWlsIHdoZW4gc2V0dGluZyB6b29tIGluIE5VTEwgc3RhdGUKCjIwMDktMDMtMDkgMTg6MzE6MDcgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZml4IGZvcm1hdCBtYXRjaGluZyB3aGVuIGRldGVjdGluZyBhbGxvd2VkIGZyYW1lIHJhdGUKCjIwMDktMDMtMDkgMTg6MjU6NDggKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogZG9uJ3QgbG9zZSBwZW5kaW5nIHN0YXRlIHdoZW4gY2hhbmdpbmcgcmVzb2x1dGlvbgoKMjAwOS0wMi0yNyAxNzoxMjozOCArMDIwMCAgTGFzc2UgTGF1a2thbmVuIDxleHQtbGFzc2UuMi5sYXVra2FuZW5Abm9raWEuY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4tbWFyc2hhbC5saXN0OgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBjaGFuZ2UgaW1nLWRvbmUgc2lnbmFsIHBhcmFtZXRlciBmcm9tIEdTdHJpbmcqIHRvIGNvbnN0IGdjaGFyKgoJICBEb24ndCBhbGxvdyBzZXR0aW5nIGZpbGVuYW1lIHZpYSBpbWctZG9uZSBzaWduYWwgcGFyYW1ldGVyIGJ1dCBmb3JjZSBhcHAKCSAgdXNlIGZpbGVuYW1lIHByb3BlcnR5LiBEb24ndCBzdG9wIGNhcHR1cmUgd2hlbiBzZXR0aW5nIGZpbGVuYW1lIHByb3BlcnR5LgoJICBVcGRhdGUgY2hlY2sgdW5pdCB0ZXN0IGJhc2VkIG9uIHRoZSBjaGFuZ2UuCgoyMDA5LTA0LTE1IDEzOjIzOjAxIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgcnRwbXV4OiBBZGQgR1NUX0RFQlVHX0ZVTkNQVFJzCgoyMDA5LTA0LTE1IDEzOjE1OjU1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgcnRwZHRtZm11eDogUmVsZWFzZSBsb2NrZWQgcGFkIG9uIHJlbGVhc2VfcGFkCgkgIFJlbGVhc2UgdGhlIHNwZWNpYWwgcGFkIGlmIHRoZSBwYWQgaXMgcmVtb3ZlZCBmcm9tIHRoZSBtdXhlci4KCjIwMDktMDQtMTUgMTM6MDk6MjcgLTA0MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBydHBkdG1mbXV4OiBSZWxlYXNlIHNwZWNpYWwgb24gcGFkIGRpc3Bvc2UKCSAgRml4ZXMgIzU3NzY5MAoKMjAwOS0wNC0xNSAxODoxNDo0OCArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHByZXZlbnQgb3ZlcmZsb3cgaW4gRU9TIGVzdGltYXRpb24KCSAgVXNlIGEgZ3VpbnQ2NCBpbnN0ZWFkIG9mIGEgZ3VpbnQgdG8gaG9sZCBhIDY0Yml0IHZhbHVlIHRvIHByZXZlbnQgY29tcGxldGVseQoJICBib2d1ZXMgRU9TIGVzdGltYXRpb24gdmFsdWVzIGR1ZSB0byBvdmVyZmxvd3MuCgoyMDA5LTA0LTE1IDE3OjQ0OjE3ICswMjAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBydHBiaW46IHdlIHNob3VsZCBub3QgcHJvdmlkZSBhIGNsb2NrCgkgIFRoZXJlIGlzIG5vIG5lZWQgdG8gcHJvdmlkZSBhIGNsb2NrLgoKMjAwOS0wNC0xNSAxNzoyODo1NiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IG1vcmUgZXN0aW1hdGVkIEVPUyBmaXhlcwoJICBEbyBtb3JlIGFjY3VyYXRlIEVPUyBlc3RpbWF0ZSBhbmQgZ3VhcmQgYWdhaW5zdCBiYWNrd2FyZCB0aW1lc3RhbXBzLgoKMjAwOS0wNC0xNSAxNzoyNTowMiArMDIwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBqaXR0ZXJidWZmZXI6IHJlbGVhc2UgbG9jayBiZWZvcmUgcHVzaGluZyBFT1MKCSAgTWFrZSBzdXJlIHdlIHJlbGVhc2UgdGhlIGppdHRlcmJ1ZmZlciBsb2NrIGJlZm9yZSB3ZSBzdGFydCBwdXNoaW5nIG91dCBkYXRhCgkgIGJlY2F1c2UgZWxzZSB3ZSBtaWdodCBkZWFkbG9jay4KCjIwMDktMDQtMTUgMTU6NDY6NDQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgZGVpbnRlcmxhY2UyOiBNb3ZlIG91dHB1dCBidWZmZXIgZnJvbSB0aGUgaW5zdGFuY2Ugc3RydWN0IHRvIGEgZnVuY3Rpb24gcGFyYW1ldGVyCgoyMDA5LTA0LTE1IDE1OjMzOjE3ICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIGRlaW50ZXJsYWNlMjogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgYXV0b21hdGljIGRldGVjdGlvbiBvZiB0aGUgZmllbGQgb3JkZXIKCjIwMDktMDQtMTUgMTQ6NDc6NDkgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgZGVpbnRlcmxhY2UyOiBBZGQgc3VwcG9ydCBmb3IgWVZZVSBjb2xvcnNwYWNlCgkgIFRoaXMgaXMgdGhlIHNhbWUgYXMgWVVZMiB3aXRoIGp1c3QgQ3IgYW5kIENiIHN3YXBwZWQuIEFzCgkgIHdlIGRvbid0IG1ha2UgYSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlbSB3aGVuIGRlaW50ZXJsYWNpbmcKCSAgdGhpcyB3b3Jrcy4KCjIwMDktMDQtMTMgMTM6MzI6MzQgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBTbWFsbCBjbGVhbnVwCgoyMDA5LTA0LTEwIDE4OjAwOjA2ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgIGRzaG93ZGVjOiBmaXggY29tcGlsYXRpb24gd2l0aCB0aGUgZGVidWdnaW5nIHN5c3RlbSBkaXNhYmxlZAoJICBPbmUgR1NUX0RFQlVHX0NBVEVHT1JZX0lOSVQgc2hvdWxkIGJlIGVub3VnaCBhbnl3YXkuCgkgIEZpeGVzICM1Nzg1NjIgKHNwb3R0ZWQgYnkgRGF2aWQgSG95dCkuCgoyMDA5LTA0LTA5IDIzOjUzOjM5ICswMjAwICBKYW5pbiBLb2xlbmMgPGphbmluLmtvbGVuYyBhdCBtYXJhbmQuc2k+CgoJKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgeDI2NGVuYzogYWRkIGZvcmNlIGtleWZyYW1lIGV2ZW50IGhhbmRsaW5nCgkgIFVzZSB0aGUgR3N0Rm9yY2VLZXlVbml0IGV2ZW50IHRvIGZvcmNlIGEga2V5ZnJhbWUuCgkgIEZpeGVzICM1NzgxMTIuCgoyMDA5LTA0LTA4IDExOjUyOjQ2IC0wNzAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSogc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbToKCSAgYWNtZW5jLCBhY21tcDNkZWMsIHNkcDogbGluayB0byBhbGwgcmVxdWlyZXMgbGlicmFyaWVzIG9uIHdpbjMyLgoJICBBZGQgd2luc29jayBmb3Igd2luZG93cyAoZm9yIHNkcCkuIExpbmsgdG8gYWxsIHRoZSBwbHVnaW5zLWJhc2UKCSAgbGlicyB3ZSBpbmRpcmVjdGx5IHVzZSBmb3IgYWNtbWVuYyBhbmQgYWNtbXAzZGVjLgoKMjAwOS0wNC0wNyAxNTo1MDozNyArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL214Zi5jOgoJICBteGY6IEFkZCB1bml0IHRlc3RzIGZvciBjaGVja2luZyBpZiBteGZtdXggISBteGZkZW11eCBwaXBlbGluZXMgYXJlIHdvcmtpbmcgd2l0aG91dCBlcnJvcnMKCjIwMDktMDQtMDcgMTU6NDk6MDAgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRG9uJ3QgdXNlIGludmFsaWQgYnVmZmVyIG9mZnNldHMsIGluc3RlYWQgYXNzdW1lIG9mZnNldCA9PSAwCgoyMDA5LTA0LTA3IDE1OjQ1OjUwICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggY29tcGFyaXNvbgoKMjAwOS0wNC0wNyAxNToxOToyOSArMDIwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBVc2UgVUwgZGF0YWJhc2UgZm9yIGFsbCBtZXRhZGF0YSBVTHMKCjIwMDktMDQtMDcgMDQ6NTM6MDIgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggc2xpZ2h0bHkgYnJva2VuIGJ1ZmZlci1pbi1zZWdtZW50IGNoZWNrIChhYWNwYXJzZSwgYW1ycGFyc2UsIGZsYWNwYXJzZSkKCjIwMDktMDQtMDUgMDM6NTA6MTkgKzAzMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9hbXJwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgYmFzZXBhcnNlOiBGaXggcHVzaCBtb2RlIHNlZWtpbmcgKGFhY3BhcnNlLCBhbXJwYXJzZSkKCSAgU2VuZGluZyB0aGUgZmx1c2gtc3RhcnQgZXZlbnQgZm9yd2FyZCBiZWZvcmUgdGFraW5nIHRoZSBzdHJlYW0gbG9jayBhY3R1YWxseQoJICB3b3JrcywgaW4gY29udHJhc3QgdG8gZGVhZGxvY2tpbmcgaW4gZG93bnN0cmVhbSBwcmVyb2xsX3dhaXQgKGh1bmsgMSkuCgkgIEFmdGVyIHRoYXQgd2UgZ2V0IHRoZSBjaGFpbiBmdW5jdGlvbiBiZWluZyBzdHVjayBpbiBhIGJ1c3kgbG9vcC4gVGhpcyBpcyBmaXhlZAoJICBieSB1cGRhdGluZyB0aGUgbWluaW11bSBmcmFtZSBzaXplIGluc2lkZSB0aGUgc3luY2hyb25pemF0aW9uIGxvb3AgYmVjYXVzZSB0aGUKCSAgc3ViY2xhc3MgYXNrcyBmb3IgbW9yZSBkYXRhIGluIHRoaXMgd2F5IChodW5rIDIpLgoJICBGaW5hbGx5LCB0aGlzIGxlYWRzIHRvIGEgdmVyeSBwcm9iYWJsZSBjcmFzaCBiZWNhdXNlIHRoZSBzdWJjbGFzcyBjYW4gZmluZCBhCgkgIHZhbGlkIGZyYW1lIHdpdGggYSBzaXplIGdyZWF0ZXIgdGhhbiB0aGUgY3VycmVudGx5IGF2YWlsYWJsZSBkYXRhIGluIHRoZQoJICBhZGFwdGVyLiBUaGlzIG1ha2VzIHRoZSBzdWJzZXF1ZW50IGdzdF9hZGFwdGVyX3Rha2VfYnVmZmVyIGNhbGwgcmV0dXJuIE5VTEwsCgkgIHdoaWNoIGlzIG5vdCBleHBlY3RlZCAoaHVuayAzKS4KCjIwMDktMDQtMDQgMjE6MTk6MTEgKzAzMDAgIEZlbGlwZSBDb250cmVyYXMgPGZlbGlwZS5jb250cmVyYXNAZ21haWwuY29tPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBkMGVhODllIHRvIGIzOTQxZWEKCjIwMDktMDQtMDQgMTc6NTE6MzQgKzAxMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgYnoyOiBmaXggc29tZSByZWZjb3VudCBtaXN0YWtlcyBhbmQgZG8gc29tZSBjbGVhbmluZyB1cAoJICBObyBuZWVkIHRvIHVucmVmIGJ1ZmZlcnMgaWYgcGFkX3B1c2ggcmV0dXJucyBzb21ldGhpbmcgbm9uLUZMT1dfT0suCgkgIEluIGZhY3QsIHRoaXMgd2lsbCBjYXVzZSBhc3NlcnRpb25zIG9yIGNyYXNoZXMuIEhvd2V2ZXIsIHdlIGRvIG5lZWQKCSAgdG8gdW5yZWYgdGhlIGlucHV0IGJ1ZmZlciB3aGVuZXZlciB3ZSBkb24ndCBwYXNzIGl0IGRvd25zdHJlYW0uIEFsc28sCgkgIGEgbm9uLU9LIGZsb3cgcmV0dXJuIGlzIG5vdCBhbiBlcnJvciwgc28gZG9uJ3QgcG9zdCBlcnJvciBtZXNzYWdlcyBvbgoJICB0aGUgYnVzIC0gdGhlIHBpcGVsaW5lIG1heSBqdXN0IGJlIHNodXR0aW5nIGRvd24uIE1pc2NlbGxhbmVvdXMgb3RoZXIKCSAgY2xlYW4tdXBzIGFuZCBjcmFjayByZW1vdmFsLiBQbGVudHkgb2Ygd29yayBsZWZ0IGZvciB0aG9zZSB3aG8gZmVlbAoJICBsaWtlIGl0LgoKMjAwOS0wNC0wNCAxNDo1NDoyNSArMDIwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGNvbW1vbjoKCSAgQXV0b21hdGljIHVwZGF0ZSBvZiBjb21tb24gc3VibW9kdWxlCgkgIEZyb20gZjhiM2Q5MSB0byBkMGVhODllCgoyMDA5LTA0LTAzIDIzOjEwOjI4ICswMTAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgY29uZmlndXJlLmFjOiBmaXggZHZkbmF2IHZlcnNpb24gY2hlY2sKCSAgRml4ZXMgIzU3Nzg2NC4gVGhpcyB0aW1lIGZvciByZWFsLgoKMjAwOS0wNC0wMyAxNzo1NTozMSArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogcmVxdWlyZSBsaWJkdmRuYXYgPj0gNC4xLjIgZm9yIGR2ZG5hdl9nZXRfY3VycmVudF90aW1lKCkKCSAgRml4ZXMgIzU3Nzg2NC4KCjIwMDktMDQtMDMgMTA6Mjk6NTMgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgbWlzYzogQnVtcCBwbHVnaW5zLWJhc2UgcmVxdWlyZW1lbnQgdG8gMC4xMC4yMi4xCgoyMDA5LTA0LTAxIDE3OjQxOjQwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFNlbmQgYm90aCB0aGUgbG9naWNhbCBhbmQgcGh5c2ljYWwgc3Vic3RyZWFtIElEIGluIHRoZSBzdHJlYW0gY2hhbmdlLgoJICBXaGVuIHNlbmRpbmcgdGhlIHN0cmVhbSBjaGFuZ2UgbWVzc2FnZShzKSB0byB0aGUgZGVtdXhlciwgYWxzbyBpbmNsdWRlIHRoZQoJICBsb2dpY2FsIHN0cmVhbSBpZCBhbG9uZyB3aXRoIHRoZSBwaHlzaWNhbCBJRCwgc28gdGhhdCB0aGUgZGVtdXhlciBjYW4gcmVtYXAKCSAgbG9naWNhbC0+cGh5c2ljYWwgTVBFRyBzdHJlYW0gSUQuCgoyMDA5LTA0LTAxIDAyOjIzOjIwICswMTAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgcmVzaW5kdmQ6IFVzZSBuZXcgR3N0TmF2aWdhdGlvbiBmdW5jdGlvbmFsaXR5LgoJICBIYW5kbGUgdGhlIG5ldyBEVkQgY29tbWFuZHMsIHNvIHRoYXQgd2UgY2FuIGhhbmRsZSBjb21tYW5kcyBmcm9tIGEgcGxheWVyCgkgIHRvIGNoYW5nZSBhbmdsZSwganVtcCB0byBtZW51cyBldGMuIFVzZSB0aGUgbmV3IEdzdE5hdmlnYXRpb24gZXZlbnQgcGFyc2luZwoJICBmdW5jdGlvbnMsIGluc3RlYWQgb2YgaGFuZC1yb2xsZWQgc3R1ZmYuCgkgIFNlbmQgR3N0TmF2aWdhdGlvbiBub3RpZmljYXRpb24gbWVzc2FnZXMgd2hlbiB0aGUgbW91c2UgZW50ZXJzIGEgYnV0dG9uCgkgIG9yIGxlYXZlcyBpdCwgc28gVUkgY2FuIHR1cm4gdGhlIG1vdXNlIGN1cnNvciB0byBhIGhhbmQgaWNvbi4KCjIwMDktMDMtMzAgMDE6MDc6NDkgKzAxMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uaDoKCSAgcmVzaW5kdmQ6IFN3aXRjaCB0byB1c2luZyBhIGhhcmQtY29kZWQgbXBlZzJkZWMsIGFuZCBjaGFuZ2UgcGFkIGJsb2NraW5nIGEgYml0LgoJICBDaGFuZ2UgdGhlIHBhZCBibG9ja2luZyBiZWhhdmlvdXIgZHVyaW5nIHN0YXJ0dXAsIGFuZCB1c2UgYSBoYXJkLWNvZGVkIG1wZWcyZGVjIChmb3IgdGhlIG1vbWVudCksIGluIG9yZGVyIHRvIG1ha2UgdGhpbmdzIHdvcmsgd2l0aCBwbGF5YmluMi4KCjIwMDktMDMtMjUgMTI6MzE6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogQWRkIG5ld2xpbmUgdG8gZGVidWcgZ19wcmludCBzdGF0ZW1lbnQKCjIwMDktMDMtMjUgMDI6MjA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogTWFrZSBoaWdobGlnaHRzIHdvcmsgd2hlbiBqdW1waW5nIGludG8gbWVudXMKCSAgTWFrZSB0aGUgaGlnaGxpZ2h0cyByZS1hcHBlYXIgY29ycmVjdGx5IHdoZW4ganVtcGluZyBiYWNrIGludG8gbWVudXMKCSAgYnkgbWFraW5nIHN1cmUgdG8gc2V0IHRoZSBmbHVzaGluZ19zZWVrIGZsYWcgZm9yIHVzZXItYWN0aW9uIGluaXRpYXRlZAoJICBzZWVrcy4KCSAgRmlkZGxlIHNvbWUgZGVidWcgcmVsYXRlZCB0byB0cmFja2luZyBkb3duIHRoZSBpc3N1ZS4KCjIwMDktMDMtMjUgMDE6MjE6MjggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICByZXNpbmR2ZDogU3VwcG9ydCBtdWx0aWFuZ2xlIHRpdGxlcy4KCSAgQWRkIGEgd29ya2Fyb3VuZCBmb3IgYW4gYXBwYXJlbnQgbGliZHZkbmF2IGJ1ZyB3aGVyZSBpdCBsb3NlcyBuYXYgcGFja2V0cwoJICBkdXJpbmcgbXVsdGlhbmdsZSB0aXRsZXMsIGFuZCBhZGQgc29tZSBrZXlwcmVzcyBiaW5kaW5ncyB0byBzd2l0Y2ggdGhlIGFuZ2xlLgoKMjAwOS0wMy0xOCAwOTozNToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgIHJlc2luZHZkOiBBZGQgYmFjayBpbiBzdXBwb3J0IGZvciB1c2luZyBoYXJkY29kZWQgYTUyZGVjCgoyMDA5LTAzLTE2IDIwOjMxOjU4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIHJlc2luZHZkOiBBZGQgc29tZSBkZWJ1ZyB3aGVuIGNyZWF0aW5nIHRoZSBvdXRwdXQgcGFkcyBpbiB0aGUgZGVtdXhlcgoKMjAwOS0wMy0xMCAxMDozOToyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkgIHJlc2luZHZkOiBNb3JlIGhhY2tpbmcgb24gdGhlIGF1ZGlvIGRlY29kZXIuCgoyMDA5LTAzLTA1IDAwOjA0OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgcmVzaW5kdmQ6IFRyaW0gYmFjayB0aGUgZ19wcmludCBkZWJ1ZyAtIGNvbnZlcnQgdG8gR1NUX0RFQlVHIGFuZCBHU1RfTE9HCgoyMDA5LTAzLTA0IDE2OjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb2RlYy5oOgoJICByZXNpbmR2ZDogRXh0ZW5kIHRoZSBSZXNpbiBhdWRpbyBkZWNvZGVyIGVsZW1lbnQsIGFuZCBzd2l0Y2ggcnNuZHZkYmluIHRvIHVzZSBpdAoKMjAwOS0wMi0yNyAxMDoxODoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9kZWMuYzoKCSogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvZGVjLmg6CgkgIHJlc2luZHZkOiBGaXJzdCBwYXJ0IG9mIHRoZSByZS1wbHVnZ2luZyBhdWRpbyBkZWNvZGVyCgoyMDA5LTAyLTI3IDA5OjQyOjM1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgcmVzaW5kdmQ6IHJlbW92ZSB1bnVzZWQgY29kZSBwYXRoIGZyb20gdGhlIGJpbgoKMjAwOS0wMi0yNiAwMDoyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIHJlc2luZHZkOiBJbmRlbnQgc29tZSB0aGluZ3MKCjIwMDktMDItMjYgMDA6Mjc6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmM6CgkgIHJlc2luZHZkOiBTd2l0Y2ggR1NUX0JPSUxFUlBMQVRFIHRvIEdfREVGSU5FX1RZUEUgZm9yIG5vIHJlYWwgcmVhc29uLgoKMjAwOS0wMy0yNCAwMTowMjoyOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICByZXNpbmR2ZDogQWRkIGZhc3RzdGFydCwgYW5kIHdvcmsgYXJvdW5kIHNvbWUgbXVsdGktYW5nbGUgaXNzdWVzCgkgIEFkZCBhICdmYXN0LXN0YXJ0JyBwcm9wZXJ0eSB0byB0aGUgcnNuZHZkc3JjIGVsZW1lbnQsIHRoYXQgYXR0ZW1wdHMgdG8KCSAganVtcCBkaXJlY3RseSB0byB0aGUgRFZEIG1lbnUgd2hlbiBzdGFydGluZy4gRG9lc24ndCB3b3JrIGNvcnJlY3RseSBvbiBhbGwKCSAgdGl0bGVzIHlldC4KCSAgQWRkIHdvcmthcm91bmRzIGZvciBpc3N1ZXMgd2l0aCBtdWx0aXBsZSBhbmdsZXMgaW4gbGliZHZkbmF2OiBVc2UgYSBoZXVyaXN0aWMKCSAgdG8gYXZvaWQgZGV0ZWN0aW5nIGRpc2NvbnRpbnVpdGllcyBkdXJpbmcgbXVsdGlwbGUtYW5nbGUgdGl0bGVzLCBpdCBzZWVtcwoJICBjYXVzZWQgYnkgbGliZHZkbmF2IGxvc2luZyBzb21lIE5BViBwYWNrZXRzIGluIG11bHRpYW5nbGUgdGl0bGVzLiBGaXgKCSAgc2Vla2luZyBpbiBtdWx0aS1hbmdsZSB0aXRsZXMgYnkgYWxpZ25pbmcgb3VyIHNlY3RvciBjYWxjdWxhdGlvbiBsb2dpYwoJICB3aXRoIGxpYmR2ZG5hdidzLiBBbHNvLCB1c2UgbGliZHZkbmF2J3MgZHZkbmF2X2dldF9jdXJyZW50X3RpbWUoKSBtZXRob2QKCSAgdG8gZGV0ZXJtaW5lIHRoZSBsb2dpY2FsIHBvc2l0aW9uIG9mIHRoZSBjdXJyZW50IGNlbGwgd2hlbiBpdCBjaGFuZ2VzLCBhcyB0aGUKCSAgY2VsbF9zdGFydCB2YWx1ZSBpbiB0aGUgY2VsbF9jaGFuZ2UgZXZlbnQgcHJvdmlkZXMgYSBudW1iZXIgdGhhdCBkb2Vzbid0CgkgIGNvbXBlbnNhdGUgZm9yIGFuZ2xlIGNlbGwgYmxvY2tzLgoKMjAwOS0wMy0yMSAxOTowNDowNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgIHJlc2luZHZkOiBTbWFsbCBkZWJ1ZyBvdXRwdXQgY2hhbmdlIGluIHRoZSBzb3VyY2UgZWxlbWVudAoKMjAwOS0wNC0wMSAwMjoyNTo0MiArMDEwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgZHZkc3B1OiBBZGQgc29tZSBkZWJ1ZwoJICBBZGQgYSBsaXR0bGUgYml0IG9mIGV4dHJhIGRlYnVnLiBXcmFwIGEgaGFyZGNvZGVkICNpZiAwIGludG8gYSBkZWZpbmUgaW5zdGVhZC4KCjIwMDktMDQtMDIgMTM6MDU6MTEgKzAyMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6CgkgIGpwMmVuYzogVW5yZWYgcGVlciBjYXBzIGFmdGVyIHVzYWdlIHRvIGZpeCBhIG1lbW9yeSBsZWFrCgoyMDA5LTA0LTAyIDEyOjQ2OjEzICswMjAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZtdXguYzoKCSAgbXhmbXV4OiBBZGQgdW5pdCB0ZXN0cwoKMjAwOS0wNC0wMSAxNTo0NToyMiArMDEwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuYzoKCSAgbGVnYWN5cmVzYW1wbGU6IGZpeCBuZWdvdGlhdGlvbiBzbyB0aGF0IHVwc3RyZWFtIGNhbiBhY3R1YWxseSBmaXhhdGUgdG8gZG93bnN0cmVhbSdzIHJhdGUKCSAgSWYgb25lIHNpZGUgaGFzIGEgcHJlZmVyZW5jZSBmb3IgYSBwYXJ0aWN1bGFyIHNhbXBsZSByYXRlIG9yIHNldCBvZiBzYW1wbGUgcmF0ZXMsIHdlCgkgIHNob3VsZCBob25vdXIgdGhpcyBpbiB0aGUgY2FwcyB3ZSBhZHZlcnRpc2UgYW5kIHRyYW5zZm9ybSB0byBhbmQgZnJvbSwgc28gdGhhdCBlbGVtZW50cwoJICBhY3R1YWxseSBrbm93IGFib3V0IHRoZSBvdGhlciBzaWRlJ3Mgc2FtcGxlIHJhdGUgcHJlZmVyZW5jZSBhbmQgY2FuIG5lZ290aWF0ZSB0byBpdAoJICBpZiBzdXBwb3J0ZWQuIEFsc28gYWRkIHVuaXQgdGVzdCBmb3IgdGhpcy4KCjIwMDktMDMtMzEgMTY6MDc6NDYgKzAyMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogRGVsYXkgbmV3c2VnbWVudCBhcyBsb25nIGFzIHBvc3NpYmxlLgoJICBJZiBuZXdzZWdtZW50IGlzIHNlbnQgKHRvbykgZWFybHksIGNhcHMgbWF5IG5vdCB5ZXQgYmUgZml4ZWQvc2V0LAoJICBhbmQgZG93bnN0cmVhbSBtYXkgbm90IGhhdmUgYmVlbiBsaW5rZWQuCgoyMDA5LTAzLTMwIDIxOjU3OjEyICswMjAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgIG1wZWcyZW5jOiBmaXggYml0cmF0ZSBwcm9wZXJ0eSBzZXR0aW5ncwoJICBBbGlnbiBiaXRyYXRlIHByb3BlcnR5IGludGVycHJldGF0aW9uIHdpdGggdXN1YWwgbXBlZzJlbmMgYmVoYXZpb3VyLgoJICBGaXhlcyAjNTc1NzM2LgoKMjAwOS0wMy0yNyAyMTozOTowNSArMDAwMCAgQWxhbiBGYWxsb29uIDxhZmFsbG9vbkBsdW1lbmVyYS5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogbWFrZSAtLWRpc2FibGUtZXh0ZXJuYWwgd29yayBhZ2FpbgoKMjAwOS0wMy0yNyAxOTozNzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvanAyay9nc3RqYXNwZXJkZWMuYzoKCSogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIGpwMmtkZWM6IGltcGxlbWVudCBiYXNpYyBRb1MKCSAgRG9uJ3QgdHJ5IHRvIGRlY29kZSBmcmFtZXMgdGhhdCBhcmUgZ29pbmcgdG8gYmUgbGF0ZSBhbnl3YXkuCgoyMDA5LTAzLTI3IDE3OjQ0OjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIHJ0cGJpbjogYWRkIG9uX25wdF9zdG9wIHNpZ25hbAoJICBBZGQgdGhlIG9uX25wdF9zdG9wIHNpZ25hbCB0byBydHBiaW4gYW5kIHJ0cGppdHRlcmJ1ZmZlciB0byBub3RpZnkgdGhlCgkgIGFwcGxpY2F0aW9uIHRoYXQgdGhlIE5QVCBzdG9wIHBvc2l0aW9uIGhhcyBiZWVuIHJlYWNoZWQuCgoyMDA5LTAzLTI3IDExOjIwOjAyICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIG91dHB1dHNlbGVjdG9yOiByZXNldCBzdGF0ZSB3aGVuIGdvaW5nIHRvIFJFQURZCgkgIFJlc2V0IHRoZSBsYXN0LWJ1ZmZlciwgdGhlIHBlbmRpbmcgcGFkIGFuZCB0aGUgc2VnbWVudCB3aGVuIGdvaW5nIHRvIHRoZSBSRUFEWQoJICBzdGF0ZS4KCSAgRml4ZXMgIzU3NjcxMi4KCjIwMDktMDMtMjUgMjE6MjQ6NDQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggcmV1c2luZyBlbGVtZW50CgkgIFN0YXRlIGNoYW5nZSB0byBSRUFEWSBhbmQgdGhlbiBiYWNrIHRvIFBBVVNFRCBzaG91bGQgc3RpbGwgcHJvdmlkZQoJICB0aGUgcHJvcGVyIHN0cnVjdHVyZXMgYXMgYXJlIG90aGVyd2lzZSBmcmVzaGx5IGF2YWlsYWJsZSBmb2xsb3dpbmcKCSAgYSByZXF1ZXN0X25ld19wYWQuCgkgIFBvaW50ZWQgb3V0IGJ5IFRoaWFnbyBTYW50b3MuCgoyMDA5LTAzLTI2IDIwOjI4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuYzoKCSAgbXhmOiBGaXggY29tcGlsYXRpb24gYW5kIGNvbXBpbGVyIGVycm9ycyB3aXRoIEdMaWIgPCAyLjE2LjAKCjIwMDktMDMtMjYgMTQ6MjY6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IEZpeCAiY2FzdCB0byBwb2ludGVyIHR5cGUgb2YgZGlmZmVyZW50IHNpemUiIGNvbXBpbGVyIHdhcm5pbmcKCjIwMDktMDMtMjYgMTM6MjQ6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJICBteGY6IFJlbmFtZSBmb3Jnb3R0ZW4gZnVuY3Rpb24gdG8gZml4IHVucmVzb2x2ZWQgc3ltYm9scyBlcnJvcgoKMjAwOS0wMy0yNiAxMzoyMDoxOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGY6IFVzZSBteGZfdXtsLHVpZH1faXNfZXF1YWwoKSBhbmQgZnJpZW5kcyBpbnN0ZWFkIG9mIG1lbWNtcCgpCgoyMDA5LTAzLTI2IDEzOjExOjA3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214ZmRtczEuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214Zm11eC5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmM6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmOiBEaWZmZXJlbnRpYXRlIGJldHdlZW4gVUwgYW5kIFVVSUQKCjIwMDktMDMtMjYgMTI6NDY6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuYzoKCSogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSogZ3N0L214Zi9teGZlc3NlbmNlLmM6CgkqIGdzdC9teGYvbXhmZXNzZW5jZS5oOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZtcGVnLmg6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5jOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJICBteGY6IFNvdXJjZSBmaWxlcyBhbmQgI2luY2x1ZGUgY2xlYW51cAoKMjAwOS0wMy0yNiAxMjoxMDowNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC94ZGdtaW1lL01ha2VmaWxlLmFtOgoJKiBnc3QveGRnbWltZS9nc3R4ZGdtaW1lLmM6CgkgIHhkZ21pbWU6IFVzZSBHSU9zIGdfY29udGVudF90eXBlX2d1ZXNzKCkgaWYgcG9zc2libGUKCjIwMDktMDMtMjYgMTE6NTE6NDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ3cml0ZS5jOgoJICBteGY6IFVzZSB0aGUgVUwgZGF0YWJhc2UgZm9yIHNvbWUgbW9yZSBVTHMKCjIwMDktMDMtMjYgMTE6NDI6NDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlbW92ZSBzb21lIEdMaWIgPCAyLjE0IGNvbXBhdGliaWxpdHkgc3R1ZmYKCjIwMDktMDMtMjYgMTE6Mzc6MjggKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvYWNtZW5jL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJKiBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY206IFBvcnQgdG8gTWluR1cKCSAgRml4ZXMgYnVnICM1NzM1OTUuCgoyMDA5LTAzLTI2IDExOjMzOjUwICswMTAwICDQoNGD0YHQu9Cw0L0g0JjQttCx0YPQu9Cw0YLQvtCyIDxscm4xOTg2QGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkgIHhkZ21pbWU6IExpbmsgd2l0aCB3aW5zb2NrIGxpYnJhcnkgdG8gZml4IGJ1aWxkIHdpdGggTWluR1cKCSAgUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTczNTk1LgoKMjAwOS0wMy0yNiAxMTozMjowOCArMDEwMCAg0KDRg9GB0LvQsNC9INCY0LbQsdGD0LvQsNGC0L7QsiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL01ha2VmaWxlLmFtOgoJKiBnc3QvZGNjcC9nc3RkY2NwLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcF9jb21tb24uaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuaDoKCSogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNyYy5oOgoJICBkY2NwOiBQb3J0IERDQ1AgcGx1Z2luIHRvIE1pbkdXCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMTE6MjM6MzAgKzAxMDAgINCg0YPRgdC70LDQvSDQmNC20LHRg9C70LDRgtC+0LIgPGxybjE5ODZAZ21haWwuY29tPgoKCSogY29uZmlndXJlLmFjOgoJICBkY2NwOiBEaXNhYmxlIHRoZSBkY2NwIHBsdWdpbiBpZiBubyBwdGhyZWFkIHN1cHBvcnQgaXMgYXZhaWxhYmxlCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU3MzU5NS4KCjIwMDktMDMtMjYgMDg6MTM6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSAgTWVyZ2UgYnJhbmNoICdteGZtdXgnCgoyMDA5LTAzLTI2IDA4OjEyOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmbXV4OiBDbGVhbnVwCgoyMDA5LTAzLTI2IDA4OjExOjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBGaXggaGFuZGxpbmcgb2YgYnVmZmVycyB3aXRoIG1vcmUgdGhhbiBvbmUgZWRpdCB1bml0IGFuZCBFT1MgaGFuZGxpbmcKCjIwMDktMDMtMjUgMjM6MDQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkgIGxhZHNwYTogY29tbWVudCBzaWduYWxwcm9jZXNzb3IgY2xhc3MgbW9yZSBhbmQgZG8gbWlub3IgY29kZSBjbGVhbnVwcwoKMjAwOS0wMy0yNSAxMjo0MDozNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIFJlcXVpcmUgY29yZSA+PSAwLjEwLjIyLjEgZm9yICV1IHBhZCB0ZW1wbGF0ZSBzdXBwb3J0CgoyMDA5LTAzLTI0IDE1OjIzOjAzICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgc2VsZWN0b3I6IG1lcmdlIHRoZSB0YWdzCgkgIE1lcmdlIHRoZSB0YWdzIHJlY2VpdmVkIG9uIHRoZSBpbnB1dC1zZWxlY3RvciBzaW5rcGFkcyBpbnN0ZWFkIG9mIG9ubHkga2VlcGluZwoJICB0aGUgbGFzdCBvbmUgd2Ugc2F3LgoKMjAwOS0wMy0yMyAxOTozMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogTkVXUzoKCSAgRml4IHZlcnNpb24gbnVtYmVyIGluIHRoZSBORVdTIGZpbGUKCjIwMDktMDMtMTkgMDE6MTc6MjUgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgYWFjcGFyc2U6IEZpeCBidXN5bG9vcCB3aGVuIHNlZWtpbmcuIEZpeGVzICM1NzUzODgKCSAgVGhlIHByb2JsZW0gaXMgdGhhdCBhZnRlciBhIGRpc2NvbnQsIHNldF9taW5fZnJhbWVfc2l6ZSgxMDI0KSBpcyBjYWxsZWQgd2hlbgoJICBkZXRlY3Rfc3RyZWFtIHJldHVybnMgRkFMU0UuIEhvd2V2ZXIsIGRldGVjdF9zdHJlYW0gY2FsbHMgY2hlY2tfYWR0c19mcmFtZQoJICB3aGljaCBzZXRzIHRoZSBmcmFtZSBzaXplIG9uIGl0cyBvd24gdG8gc29tZXRoaW5nIGxhcmdlciB0aGFuIDEwMjQuIFRoaXMgaXMgdGhlCgkgIHNhbWUgc2l0dWF0aW9uIGFzIGluIHRoZSBiZWdpbm5pbmcsIHNvIHRoZSBiYXNlIGNsYXNzIGVuZHMgdXAgY2FsbGluZwoJICBjaGVja192YWxpZF9mcmFtZSBpbiBhbiBlbmRsZXNzIGxvb3AuCgoyMDA5LTAzLTE5IDAwOjMyOjQwICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6CgkgIGFhY3BhcnNlOiBSZWZhY3RvciBjaGVja192YWxpZF9mcmFtZSB0byBleHBvc2UgYnJva2VuIGNvZGUKCSAgSnVzdCBtb3ZpbmcgY29kZSBhcm91bmQgYW5kIHJlbW92aW5nIGFuIHVuaGVscGZ1bC9taXNsZWFkaW5nIGNvbW1lbnQuCgoyMDA5LTAzLTIzIDExOjE3OjM5ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6CgkgIHF0bXV4OiBmaXggaW5jbHVkZXMgZm9yIGxzZWVrCgkgIC0tCgoyMDA5LTAzLTIwIDE0OjIwOjE2ICswMTAwICBMUk4gPGxybjE5ODYgYXQgZ21haWwgZG90IGNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICB3aW4zMjogZml4IHNlZWtpbmcgaW4gbGFyZ2UgZmlsZXMKCSAgVXNlIF9sc2Vla2k2NCgpIG9uIFdpbmRvd3MgdG8gc2VlayBpbiBsYXJnZSBmaWxlcy4KCSAgRml4ZXMgIzU3NjAyMS4KCjIwMDktMDMtMTYgMTE6MjE6MDIgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvamFjay9nc3RqYWNrLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suaDoKCSogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgamFjazogQWRkIG5ldyBjb25uZWN0aW9uIG1vZGUKCSAgQWRkIGEgbmV3IGNvbm5lY3Rpb24gbW9kZSB0byBqYWNrc3JjIGFuZCBqYWNrc2luay4gSW4gdGhpcyBuZXcgYXV0by1mb3JjZQoJICBjb25uZWN0aW9uIG1vZGUgamFjayB3aWxsIGNyZWF0ZSBhcyBtYW55IHBvcnRzIGFzIHJlcXVlc3RlZC9uZWVkZWQgaW4gdGhlCgkgIHBpcGVsaW5lIGFuZCB3aWxsIHRoZW4gY29ubmVjdCBhcyBtYW55IHBoeXNpY2FsIHBvcnRzIGFzIHBvc3NpYmxlLCBwb3NzaWJseQoJICBsZWF2aW5nIHNvbWUgcG9ydHMgdW5jb25uZWN0ZWQuCgkgIEFsc28gZ2V0IHJpZCBvZiBzb21lIGxlZnRvdmVyIGdfcHJpbnQuCgkgIEZpeGVzICM1NzUyODQuCgoyMDA5LTAzLTIzIDE1OjA2OjExICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgbXhmOiBNb3ZlIHNvbWUgc3RhdGljIGNvbnN0IHZhcmlhYmxlcyBpbnRvIGZ1bmN0aW9ucwoKMjAwOS0wMy0xMyAxOTo0MjoxOCArMDEwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZGVjaW5hQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOgoJICBjZWx0ZW5jOiBidWlsZCB3aXRoIGNlbHQgMC41LgoKMjAwOS0wMy0yMiAyMDoxNDoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuMTEuMQoKMjAwOS0wMy0yMCAxNTo1NToxOSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiByZWVuYWJsZSBtZXRhZGF0YSB0ZXN0CgoyMDA5LTAzLTIwIDE1OjMzOjMxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgbWV0YWRhdGE6IHJlZW5hYmxlIHRlc3QKCjIwMDktMDMtMjAgMTU6MTg6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGRhdGE6IG1vcmUgbG9nZ2luZyBhbmQgY29kZSBjbGVhbnVwcwoJICBTcHJpbmtsZSBtb3JlIGRlYnVnIGxvZyBzdGF0ZW1lbnRzIGludG8gdGhlIGNvZGUuIE1vdmUgc29tZSByZXBlYWRlZCBzdHJpbmcKCSAgY29uc3RhbnQgaW50byBoZWFkZXIgZmlsZXMgYW5kIHVzZSBzaXplb2YgaW5zdGVhZCBvZiBtYW51YWxseSBjb3VudGVkIGJ5dGVzLiBBZGQKCSAgY29tbWVudHMuCgoyMDA5LTAzLTIwIDE1OjE0OjA3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkgIG1ldGFkYXRhOiBmaXggbXV4aW5nIGpmaWZsZXNzIGpwZWcuIEZpeGVzICM1NzQ0MDEKCSAgRG9uJ3QgZXJyb3Igb3V0IHdoZW4gdG8gYmUgbXV4ZWQganBlZyBoYXMgbm8gamZpZiwgYXMgd2UgY2FuIGVhc2lseQoJICBhZGQgaXQuCgoyMDA5LTAzLTIwIDE1OjEwOjIyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIG1ldGFkYXRhOiBmaXggaW5jbHVkZSBndWFyZHMKCjIwMDktMDMtMjAgMTU6MDQ6MTYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJICBtZXRhZGF0YTogcmV3b3JrIGRvYyBjb21tZW50CgoyMDA5LTAzLTA5IDIzOjQzOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBnc3QvYXV0b2NvbnZlcnQvTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL01ha2VmaWxlLmFtOgoJKiBnc3QvbGl2ZWFkZGVyL01ha2VmaWxlLmFtOgoJKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJKiBnc3QvbnV2ZGVtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3J0cG11eC9NYWtlZmlsZS5hbToKCSogZ3N0L3NpcmVuL01ha2VmaWxlLmFtOgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkgIE1ha2VmaWxlLmFtOiBubyBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucwoKMjAwOS0wMy0yMiAxNTo1ODo1MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEZpeCBlcnJvciBoYW5kbGluZwoKMjAwOS0wMy0yMiAxNTo1MTozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIG14Zm11eDogRml4IHNvbWUgbWVtb3J5IGxlYWtzLCBpbXByb3ZlIGRlYnVnZ2luZyBhbmQgaGFuZGxlIGVycm9ycyBiZXR0ZXIKCjIwMDktMDMtMjIgMTU6MzU6NDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSogZ3N0L214Zi9teGZtdXguaDoKCSAgbXhmbXV4OiBBZGQgYW4gZXJyb3Igc3RhdGUgZnJvbSB3aGljaCB3ZSByZXR1cm4gaW1tZWRpYXRlbHkKCSAgQWxzbyBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDktMDMtMTkgMjA6NDE6MTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1bC5jOgoJICBteGY6IE9wdGltaXplIG14Zl91bF9pc19zdWJjbGFzcygpIGEgYml0CgoyMDA5LTAzLTE5IDE0OjMwOjM0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmdWwuYzoKCSogZ3N0L214Zi9teGZ1bC5oOgoJICBteGY6IFN0YXJ0IGltcGxlbWVudGluZyBhIGNlbnRyYWwgVUwgZGF0YWJhc2UgYW5kIGFkZCBzb21lIGhlbHBlciBmdW5jdGlvbnMgYW5kIHVzZSB0aGVtCgoyMDA5LTAzLTE3IDE0OjI3OjUwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IE1ha2Ugc3VyZSB0byBpbmNsdWRlIGEgcGljdHVyZSBpbiB0aGUgZWRpdCB1bml0cyB3aGVuIG11eGluZyBNUEVHMi9NUEVHNAoKMjAwOS0wMy0xNyAxNDoyMzozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IFJlbW92ZSBhY2NpZGVudGlhbGx5IGNvbW1pdHRlZCBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpCgoyMDA5LTAzLTE2IDE3OjQ5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmdXAuYzoKCSAgbXhmOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nL2RlbXV4aW5nIHN1YnNhbXBsZWQgWVVWIGZvcm1hdHMKCjIwMDktMDMtMTYgMTc6MjI6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogVXNlIGNvcnJlY3Qgd2lkdGgvaGVpZ2h0IGZvciBzdHJpZGUgY29udmVyc2lvbnMKCjIwMDktMDMtMTYgMTc6MTg6MTcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGY6IEltcGxlbWVudCBzdHJpZGUgdHJhbnNmb3JtYXRpb25zIGZvciByYXcgdmlkZW8gY29udGVudCBmb3IgbXV4aW5nIGFuZCBkZW11eGluZwoKMjAwOS0wMy0xNiAxNTozNzoyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBTaW1wbGlmeSBjYXBzIHNlbGVjdGlvbiBieSB1c2luZyBhIGxvb2t1cCB0YWJsZQoKMjAwOS0wMy0xNiAxMjo0ODozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14Zm11eDogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXV4aW5nIHJhdyBwaWN0dXJlIGVzc2VuY2UKCjIwMDktMDMtMTYgMTI6MTU6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtdXguYzoKCSAgbXhmbXV4OiBPbmx5IGFkZCBhbiBlc3NlbmNlIGNvbnRhaW5lciBVTCBvbmNlIHRvIHRoZSBwYXJ0aXRpb24gYW5kIHByZWZhY2UKCjIwMDktMDMtMTYgMTI6MDc6MjAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZ1cC5jOgoJICBteGZkZW11eDogQWRkIHN1cHBvcnQgZm9yIEFZVVYgYW5kIHYzMDggWVVWIGNvbG9yc3BhY2VzCgoyMDA5LTAzLTE2IDExOjAwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IFVzZSB0aGUgY29ycmVjdCBlZGl0IHJhdGUgaW5zdGVhZCBvZiBlc3RpbWF0aW5nIGl0IGZyb20gdGhlIGZpcnN0IGJ1ZmZlciBkdXJhdGlvbgoKMjAwOS0wMy0xNSAxNToyNzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBFcnJvciBvdXQgZGlyZWN0bHkgaWYgcHVzaGluZyBhIHBhY2tldCBkb3duc3RyZWFtIGZhaWxlZAoKMjAwOS0wMy0xNSAxNToyNzoyNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBEVi9ESUYgbXV4aW5nIGFuZCBhZGQgZnJhbWVyYXRlLCBldGMgdG8gdGhlIGNhcHMgd2hlbiBkZW11eGluZyBEVi9ESUYgY29udGVudAoKMjAwOS0wMy0xNSAxNToyNzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm11eC5jOgoJICBteGZtdXg6IEFkZCBzb21lIGRlYnVnZ2luZyBhbmQgZXJyb3Igb3V0IG9uIGludmFsaWQgaW5wdXQgZGF0YQoKMjAwOS0wMy0xNCAxOTo1OTozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgZGVpbnRlcmxhY2U6IEZpeCB1bmluaXRpYWxpemVkIHZhcmlhYmxlIGNvbXBpbGVyIHdhcm5pbmdzCgoyMDA5LTAzLTExIDE5OjM4OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgTVBFRyBhdWRpbyBhbmQgdmlkZW8KCjIwMDktMDMtMTEgMTk6Mzg6MDIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIG14ZmRlbXV4OiBVc2UgY29ycmVjdCBjYXBzIHR5cGUgZm9yIEFDMyBhdWRpbyAoYXVkaW8veC1hYzMgaW5zdGVhZCBvZiBhdWRpby9hYzMpCgoyMDA5LTAzLTExIDE5OjM0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEpQRUcyMDAwIGNvZGUgc3RyZWFtcwoKMjAwOS0wMy0xMSAxOTozMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnZjMy5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgVkMtMyAoYWthIEROeEhEKSB2aWRlbwoKMjAwOS0wMy0xMSAxOTozMzozOCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSAgbXhmbXV4OiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIEEtTGF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMzOjE4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZtdXg6IEFkZCBzdXBwb3J0IGZvciBtdXhpbmcgcmF3IGF1ZGlvCgoyMDA5LTAzLTExIDE5OjMyOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSogZ3N0L214Zi9teGYuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXV4LmM6CgkqIGdzdC9teGYvbXhmbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5oOgoJKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkqIGdzdC9teGYvbXhmd3JpdGUuYzoKCSogZ3N0L214Zi9teGZ3cml0ZS5oOgoJICBteGY6IEFkZCBNWEYgbXV4ZXIKCSAgVGhpcyBtdXhlciBjdXJyZW50bHkgb25seSBzdXBwb3J0cyBPUDFhIGFuZCBpcwoJICBwcm9iYWJseSBub3QgeWV0IDEwMCUgY29tcGx5aW5nIHRvIHRoZSBzdGFuZGFyZHMuCgoyMDA5LTAzLTExIDE5OjMwOjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOgoJICBqcDJrZW5jOiBBZGQgd2lkdGgvaGVpZ2h0L2ZvdXJjYyB0byB0aGUgcGFkIHRlbXBsYXRlIGNhcHMKCj09PSByZWxlYXNlIDAuMTAuMTEgPT09CgoyMDA5LTAzLTIxIDAxOjA5OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXV0b2NvbnZlcnQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNhbWVyYWJpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRlaW50ZXJsYWNlMi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGlyYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vZmEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wY2FwcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXNpbmR2ZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZhbHZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGRnbWltZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIFJlbGVhc2UgMC4xMC4xMQoKMjAwOS0wMy0yMCAyMzozNzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL210LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9wbC5wbzoKCSogcG8vcHRfQlIucG86CgkqIHBvL3J1LnBvOgoJKiBwby9zay5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdHIucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDktMDMtMjAgMjM6MzE6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBkc2hvd2RlYzogQWRkIHBhcl9uIGFuZCBwYXJfZCB0byB0aGUgb2JqZWN0IHN0cnVjdHVyZSB0byBmaXggY29tcGlsYXRpb24KCjIwMDktMDMtMTggMTI6MzI6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAwLjEwLjYuNSBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xOCAxMDozNTo0MyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBGaXggYnVpbGQgb24gR0xpYiA8IDIuMTYgc29tZSBtb3JlCgoyMDA5LTAzLTE4IDAwOjAyOjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuMTAuNCBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xNiAxNzoyOToxNiArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IFJlcGxhY2UgZ19oYXNoX3RhYmxlX2dldF92YWx1ZXMgd2l0aCBjb2RlIHdvcmtpbmcgd2l0aCBnbGliIDIuNi4KCSAgRml4ZXMgIzU3NTU2NQoKMjAwOS0wMy0xMyAxNjozMTo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIDAuMTAuMTAuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMy0xMyAxNjoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogcG8vZmkucG86CgkqIHBvL2lkLnBvOgoJKiBwby9wdF9CUi5wbzoKCSAgcG86IFVwZGF0ZSBwbyBmaWxlcyBmcm9tIHVwc3RyZWFtCgoyMDA5LTAzLTEzIDE2OjA4OjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBwby9MSU5HVUFTOgoJKiBwby90ci5wbzoKCSAgcG86IEFkZCBUdXJraXNoIHRyYW5zbGF0aW9uCgoyMDA5LTAzLTEyIDIzOjU0OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogbWFrZSB4ZGcgdHlwZWZpbmRlciBtb3JlIGNvbnNlcnZhdGl2ZQoJICBUaGUgd2hvbGUgcmFpc29uIGQnZXRyZSBvZiB0aGlzIHR5cGVmaW5kZXIgaXMgdG8gaGVscCBhdm9pZCBmYWxzZQoJICBwb3NpdGl2ZXMgd2hlbiB1c2VkIGluIGNvbWJpbmF0aW9uIHdpdGggb3VyIG1haW4gdHlwZWZpbmRlciBpbgoJICAtYmFzZS4gSXRzIHRhc2sgaXMgbm90IHJlYWxseSB0byB0eXBlZmluZCBhdWRpby92aWRlbyBmaWxlcywgZXZlbgoJICBsZXNzIHNvIGdpdmVuIHRoYXQgaXQgZGV0ZWN0cyAqTUlNRSogdHlwZXMsIG5vdCBHU3RyZWFtZXIgbWVkaWEKCSAgdHlwZXMuIFRoZXJlZm9yZSwgaWYgdGhpcyB0eXBlZmluZGVyIGRldGVjdHMgYW4gYXVkaW8gb3IgdmlkZW8KCSAgdHlwZSwgZG9uJ3QgZXZlbiBzdWdnZXN0IGl0IC0gb3VyIG93biB0eXBlZmluZGVycyBhcmUgaG9wZWZ1bGx5CgkgIGJldHRlciBhdCB0aGlzIGFuZCBkZXRlY3QgdGhlIHJpZ2h0IHR5cGUgb2YgdHlwZSBvbiB0b3Agb2YgdGhhdCwKCSAgYW5kIGV2ZW4gaWYgdGhleSdyZSBub3Qgd2UgcmVhbGx5IHdhbnQgdG8ga25vdyBhYm91dCBpdCBhbmQgZml4CgkgIGl0LiBGaXhlcyAjNTc1MTU3LgoKMjAwOS0wMy0xMyAxNTo1OTozNyArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgcnRwYmluOiBkb24ndCByZXR1cm4gRkFMU0Ugb24gc2VlayBldmVudHMKCSAgU2lsZW50bHkgaWdub3JlIHRoZSBzZWVrIGV2ZW50IGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFLgoKMjAwOS0wMy0xMyAxMDowNzoxOCArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ3BzZGVtdXg6IHdvcmthcm91bmQgdG8gZml4IHBsYXliYWNrIG9mIGNlcnRhaW4gbWFsZm9ybWVkIGNsaXBzCgkgIEFkZGVkIGEgd29ya2Fycm91bmQgdG8gcGVybWl0IHBsYXkgY2VydGFpbiBtYWxmb3JtZWQgY2xpcHMgd2hlcmUgZmlyc3QKCSAgU0NSIGlzIGdyZWF0ZXIgdGhhbiBsYXN0IFNDUi4gRml4ZXMgYnVnICM0NTQyMjgKCjIwMDktMDMtMTIgMjA6MTM6MTEgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IERpc2FibGluZyBtZXRhZGF0YSB1bml0IHRlc3QgdW50aWwgIzU3NDQwMSBpcyBmaXhlZC4KCjIwMDktMDMtMTIgMTc6NTM6MzcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8Y2hyaXN0aWFuLnNjaGFsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgc29tZSBtb3JlIHBsdWdpbnMgdGhlIHNwZWMgZmlsZQoKMjAwOS0wMy0xMSAxMzowNDozNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjaHJpc3RpYW4uc2NoYWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0xMCAxNToxMjoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIGRmYnZpZGVvc2luazogaW5jbHVkZSBzdGRsaWIuaCBmb3IgYWJzKCkKCjIwMDktMDMtMTAgMjE6MTg6MjAgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdkZW11eDogRml4ZWQgYSBidWcgaW4gdGhlIFRTIHNjYW5uZXIuIEZpeGVzICM1NzQwMDkKCjIwMDktMDMtMTAgMDA6MjI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vcGwucG86CgkqIHBvL3B0X0JSLnBvOgoJKiBwby9ydS5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgMC4xMC4xMC4yIHByZS1yZWxlYXNlCgoyMDA5LTAzLTEwIDAwOjEwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC90d29sYW1lL01ha2VmaWxlLmFtOgoJKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6CgkqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuaDoKCSogcG8vUE9URklMRVMuaW46CgkgIE1vdmVkIHR3b2xhbWUgZnJvbSBCYWQgdG8gVWdseQoKMjAwOS0wMy0wOSAyMzoxMzowMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA3MDMyMTYzIHRvIGY4YjNkOTEKCjIwMDktMDMtMDggMTI6MDU6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSBmZmE3MzhkIHRvIDcwMzIxNjMKCjIwMDktMDMtMDggMTE6MjE6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzZjEzZTRlIHRvIGZmYTczOGQKCjIwMDktMDMtMDcgMTE6NDY6MzMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSAzYzc0NTZiIHRvIDNmMTNlNGUKCjIwMDktMDMtMDcgMTA6NDY6NDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1N2M4M2YyIHRvIDNjNzQ1NmIKCjIwMDktMDMtMDYgMjI6MzY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IE1ha2UgdGhlIHRlc3RzIHBhc3Mgd2hlbiB0aGUgY2FtZXJhYmluIGNhbid0IGluaXRpYWxpc2UuCgkgIFRoZSBjYW1lcmFiaW4gdGVzdHMgd2VyZSB0aHJvd2luZyBnbGliIGVycm9ycyBhbmQgaGFuZ2luZyB3aGVuCgkgIGdzdC1wbHVnaW5zLWdvb2QgZWxlbWVudHMgKGpwZWdlbmMsIHZpZGVvY3JvcCkgY2FuJ3QgZm91bmQuCgoyMDA5LTAzLTA2IDIxOjE0OjQ4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtaXNjOiBJZ25vcmUgdGhlIGNhbWVyYWJpbiBiaW5hcnkgaW4gdGhlIGNoZWNrL2VsZW1lbnRzIHN1YmRpcgoKMjAwOS0wMy0wNiAxOToyMjo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgY2FtZXJhYmluOiBQYXJ0bHkgZml4IGRpc3RjaGVjawoJICBEb24ndCBkaXN0IHRoZSBnZW5lcmF0ZWQgbWFyc2hhbC5oIGhlYWRlciBieSBwdXR0aW5nIGl0IGluIHRoZSBoZWFkZXJzCgkgIGxpc3QuCgoyMDA5LTAzLTA3IDAwOjIwOjI4ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGE6IGNoYW5nZSAncScgYmFjayB0byAnanBlZ2VuYycgKG15IGtleWJvYXJkIGhhdGVzIG1lKQoKMjAwOS0wMy0wNiAyMzozNDo1NiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogdGVzdHMvY2hlY2svcGlwZWxpbmVzL21ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBjbGVhbnVwLCBmaXggdGhlIHRlc3QsIGFkZCBjb21tZW50cwoJICBGaXJzdCBkbyBub3QgYnVpbGQgdGhlIHBsdWdpbiwgaWYgd2UgaGF2ZSBub25lIG9mIHRoZSBiYWNrZW5kLCBhcyBpdCB3b24ndCB3b3JrCgkgIHRoZW4uIEZpeCB0aGUgbWluaW9iamVjdF91bnJlZiBlcnJvciBpbiB0aGUgdGVzdC4gU3ByaW5rbGUgYSBmaXJzdCBoYW5kZnVsIG9mCgkgIGRlYnVnIGxvZ3MgaW50byB0aGUgZWxlbWVudCBjb2RlLgoKMjAwOS0wMy0wNiAyMDowMjoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBsZWdhY3lyZXNhbXBsZTogRml4IG1lbW9yeSBsZWFrIGluIHRoZSB1bml0IHRlc3QgYnkgdW5yZWZmaW5nIHRoZSBjYXBzCgoyMDA5LTAzLTA2IDE3OjQ2OjM3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogU3RvcmUgYW5kIHVzZSB0aGUgc2VxbnVtIG9mIHRoZSBjdXJyZW50bHkgcnVubmluZyBzZWdtZW50IGV2ZXJ5d2hlcmUKCjIwMDktMDMtMDYgMTc6MjQ6MDMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGY6IERvbid0IGV2ZW4gdHJ5IHRvIHNlcmlhbGl6ZSBETSBmcmFtZXdvcmtzIGFzIGl0IHdpbGwgY2F1c2UgYW4gYXNzZXJ0aW9uIHVudGlsIHRoaXMgaXMgZmluaXNoZWQKCjIwMDktMDMtMDYgMTI6NDI6NTAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIGZhYWQ6IFVzZSB0aGUgcHVibGljIGhlYWRlcnMgaWYgZmFhZDIgPj0gMi43LiBGaXhlcyAjNTczMzY5CgkgIFNpbmNlIGZhYWQyLTIuNywgdGhlIHB1YmxpYyBmdW5jdGlvbiBwcm90b3R5cGVzIGFyZSBpbiBzeW5jIHdpdGggdGhlCgkgIGFjdHVhbCBmdW5jdGlvbiBwcm90b3R5cGVzIHVzZWQgaW50ZXJuYWxseSBpbiBsaWJmYWFkLgoKMjAwOS0wMy0wNiAxMTowODoxOCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIGxhZHNwYTogZml4IGNvbXBpbGF0aW9uIHdoZW4gTFJERiBpcyBtaXNzaW5nCgkgIC0tCgoyMDA5LTAzLTA1IDIyOjU1OjE3ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIGxhZHNwYTogcmVtb3ZlIC1sZGwgYXMgd2Ugbm93IHVzZSBnbGlicyBnbW9kdWxlLgoKMjAwOS0wMy0wNSAyMjozNzo1MiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBpbml0aWFsIGxpYmxyZGYgc3VwcG9ydC4KCSAgR2V0IGNsYXNzaWZpY2F0aW9uIGZyb20gcmRmIG1ldGFkYXRhLgoKMjAwOS0wMy0wNSAyMjowNDo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L21wbGV4L2dzdG1wbGV4LmNjOgoJICBtcGxleDogZml4IHJlcXVpcmVkIHZlcnNpb24KCSAgV2l0aCB0aGlzIHZlcnNpb24gaXQgYnVpbGRzIG9uIG9wZW5zdXNlIDExLjEuCgoyMDA5LTAzLTA1IDE0OjQwOjU3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBEb24ndCB1c2UgTlVMTCBHc3RTdHJ1Y3R1cmVzIHRvIHByZXZlbnQgd2FybmluZ3MKCSAgQ3VycmVudGx5IHNlcmlhbGl6aW5nIG9mIERNIEZyYW1ld29ya3MgaXMgbm90IHN1cHBvcnRlZAoJICB5ZXQgYnkgRE1TMSBhbmQgd2lsbCBnaXZlIHVzIE5VTEwuCgoyMDA5LTAzLTA0IDIxOjMwOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW0ubXVsbGVyQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS5oOgoJKiBnc3QvY2FtZXJhYmluL01ha2VmaWxlLmFtOgoJICBwaG90b2dyYXBoeTogZGVjbGFyZSBpbnRlcmZhY2UgYXMgdW5zdGFibGUgQVBJIGJ5IG1lYW5zIG9mIGEgd2FybmluZwoJICBBcHBsaWNhdGlvbiBkZXZlbG9wZXJzIHdvbid0IGtub3cgcmlnaHQgYXdheSB3aGljaCBtb2R1bGUgYW4gaW50ZXJmYWNlIGNvbWVzIGZyb20sCgkgIGFuZCBtYXkgYXNzdW1lIHRoYXQgaXQgaXMgY292ZXJlZCBieSB0aGUgdXN1YWwgR1N0cmVhbWVyIEFQSSBndWFyYW50ZWVzLCBzbyBtYWtlCgkgIGl0IGFzIGNsZWFyIGFzIHBvc3NpYmxlIHRoYXQgdGhpcyBwYXJ0aWN1bGFyIEFQSSBpcyBzdGlsbCBzdWJqZWN0IHRvIGNoYW5nZQoJICAoc2hvdWxkIGhhdmUgZG9uZSB0aGF0IHdpdGggb3RoZXIgbGlicmFyaWVzIGluIC1iYWQgYmVmb3JlIHRvbyByZWFsbHkpLgoKMjAwOS0wMy0wNCAyMDozNzo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZTogZGV0ZWN0IGZhYWQncyBtaW5vciB2ZXJzaW9uIGFuZCBkZWZpbmUgRkFBRDJfTUlOT1JfVkVSU0lPTiBpbiBjb25maWcuaAoKMjAwOS0wMy0wNCAxNjo0NjowOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmFsdmUueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3ZhbHZlL01ha2VmaWxlLmFtOgoJICB2YWx2ZTogcmVuYW1lIHBsdWdpbiBmaWxlIGZyb20gbGliZnN2YWx2ZS4qIHRvIGxpYmdzdHZhbHZlLioKCSAgSWYgeW91J3JlIHJ1bm5pbmcgdGhpbmdzIHVuaW5zdGFsbGVkLCB5b3UgbWlnaHQgbmVlZCB0byBtYW51YWxseQoJICByZW1vdmUgdGhlIHJlZ2lzdHJ5IHRvIGdldCB0aGUgcGx1Z2luJ3MgZmVhdHVyZXMgdG8gc2hvdyB1cAoJICBjb3JyZWN0bHkuIEFsc28sIHlvdSBwcm9iYWJseSB3YW50IHRvIGRvIGEgbWFrZSBjbGVhbiB0byBnZXQgcmlkCgkgIG9mIHRoZSBvbGQgcGx1Z2luIGZpbGUuCgoyMDA5LTAzLTA0IDE5OjUwOjEwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICBnc3JlYWw6IGJyaW5nIGRvd24gdGhlIHJhbmsgb2YgdGhlIHJlYWwgZGVjb2RlcnMgdG8gTUFSR0lOQUwuCgkgIEJhc2ljYWxseSwgYXQgdGhpcyBwb2ludCwgdGhlIGZmbXBlZyBlcXVpdmFsZW50IGRlY29kZXJzIHBlcmZvcm0gd2F5CgkgIGJldHRlciwgc28gd2UnbGwgbWFrZSB0aGUgZmZtcGVnIGVxdWl2YWxlbnRzIFBSSU1BUlkgYW5kIHRoZXNlCgkgIE1BUkdJTkFMLgoKMjAwOS0wMy0wNCAxODo0MjoxNSArMDAwMCAgWmFoZWVyIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIGR2YnNyYzogbWFrZSBzb21lIGRvY3MgdXAgdG8gZGF0ZQoKMjAwOS0wMy0wNCAxODoxNjozMSArMDAwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBtcGVndHNkZW11eDogcmVzZXQgc3luY19sdXRfbGVuIHRvIDAgb24gUkVBRFkgdG8gTlVMTAoKMjAwOS0wMy0wNCAxNTozMDowNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL3VyYWV1c0BnaXQuZnJlZWRlc2t0b3Aub3JnL2dpdC9nc3RyZWFtZXIvZ3N0LXBsdWdpbnMtYmFkCgoyMDA5LTAzLTA0IDE1OjI4OjQ2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPGNzY2hhbGxlQGNyYXp5aG9yc2UubG9jYWxkb21haW4+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiB0ZXN0cy9leGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBhZGQgZmlndXJlcyBzdWJkaXJlY3RvcnkgdGVzdHMvZXhhbXBsZXMvTWFrZWZpbGUuYW06IGFkZCBteGYgc3ViZGlyZWN0b3J5IGdzdC1wbHVnaW5zLnNwZWMuaW46IGFkZCBuZXcgcGx1Z2lucwoKMjAwOS0wMy0wNCAxNjoxNTo1NyArMDEwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgY2hlY2s6IGdzdC1wbHVnaW5zLWJhZC5zdXBwIG5lZWRzIHRvIGJlIGRpc3RyaWJ1dGVkLgoKMjAwOS0wMy0wNCAxNTowNTo0OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOgoJICBsYWRzcGE6IGFkZCBMSUJESVIvbGFkc3BhIHRvIHNlYXJjaCBwYXRoIGFuZCBtYWtlIHBhdGggbW9yZSBwb3J0YWJsZQoJICBVc2UgZ2xpYiBkZWZpbmVzIGZvciBzZWFyY2hwYXRoIHNlcGFyYXRvcnMuIEZpbHRlciBzZWFyY2hwYXRoIHRvIGF2b2lkIHNjYW5uaW5nCgkgIHBhdGggZW50cmllcyB0d2ljZS4gRml4IHRoZSByZXR1cm4gaW4gbGFkc3BhX3BsdWdpbl9kaXJlY3Rvcnlfc2VhcmNoIHRvIHJldHVybgoJICB3aGV0ZXIgd2UgZm91bmQgYSBwbHVnaW4uCgoyMDA5LTAzLTA0IDE0OjM0OjEyICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJKiBleHQvbGFkc3BhL2xvYWQuYzoKCSogZXh0L2xhZHNwYS9zZWFyY2guYzoKCSogZXh0L2xhZHNwYS91dGlscy5oOgoJICBsYWRzcGE6IHJld3JpdGUgdGhlIGRpcmVjdG9yeSBzY2FubmluZywgZml4ZXMgZmlyc3QgcGFydCBvZiAjNTczMzcwCgkgIE1vdmUgdGhlIHR3byBmdW5jdGlvbiBmcm9tIHNlYXJjaC5jIGludG8gZ3N0bGFkc3BhLmMgYW5kIG1ha2UgdGhlbSBzdGF0aWMuCgkgIFJlbW92ZSBub24gbmVlZGVkIGFyZ3VtZW50cyBmcm9tIGZ1bmN0aW9uIHByb3RvdHlwZXMuIFVzZSBnbGliIGFwaSBmb3IKCSAgc2ltcGxpY2l0eSBhbmQgcG9ydGFiaWxpdHkuCgoyMDA5LTAzLTA0IDExOjE0OjE4ICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBmYWFkOiB1c2UgZ2ludDggaW5zdGVhZCBvZiBpbnQ4X3QKCSAgVXNlIGdpbnQ4IGluc3RlYWQgb2YgaW50OF90IHRvIGZpeCBjb21waWxhdGlvbi4KCSAgRml4ZXMgIzU3Mzg1MS4KCjIwMDktMDMtMDQgMTE6MDc6NTIgKzAxMDAgIExSTiA8bHJuMTk4NkBnbWFpbC5jb20+CgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICBnc21kZWM6IFVzZSBHX0JZVEVfT1JERVIgdG8gZml4IFdpbmRvd3MgY29tcGlsZQoJICBnc3Rnc21kZWMgcmVsaWVzIG9uIEJZVEVfT1JERVIsIHdoaWNoIGlzIG5vdCBhdmFpbGFibGUgb24gV2luZG93cy4gVXNlCgkgIEdfQllURV9PUkRFUiBpbnN0ZWFkLgoJICBGaXhlcyAjNTczODUwLgoKMjAwOS0wMy0wMyAxNDozMDo1MyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWltaWMueG1sOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgQWRkIERvYyBmb3IgbWltaWMgcGx1Z2luCgoyMDA5LTAzLTAzIDE0OjAzOjM0IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIE1vdmUgbWltaWMgdG8gLWJhZAoKMjAwOS0wMy0wMyAxNDoyMDozNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltaWMuYzoKCSAgUmUtaW5kZW50IHRvIEdTVCBzdHlsZQoKMjAwOC0wNy0yNSAyMjo0NzoyNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgb3V0cHV0IGEgbmV3c2VnbWVudCBpZiB0aGUgaW5jb21pbmcgbmV3c2VnbWVudCBpc250IGEgdGltZSBzZWdtZW50CgkgIDIwMDgwNzI1MjI0NzI2LTNlMmRjLWY4MmI5OTNjMGZiZmU4YmQ0ODdkMmYxOTYyZmVjMWQwYjY1NjRlYmMuZ3oKCjIwMDgtMDctMjUgMjI6MjY6NDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIG1lbWJlciB2YXJpYWJsZXMKCSAgMjAwODA3MjUyMjI2NDgtM2UyZGMtMjQ2NDk3ODJhMzk0NjJjN2MzZmVmOWQ2MjcwYjNkYjRjNGFjZTFiYi5negoKMjAwOC0wNy0yNSAyMjoyNDo0OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG91dCB0aGUgcmlnaHQgc2VnbWVudCBhbmQgdXNlIHN0b3JlZCB0aW1lc3RhbXBzIGRpcmVjdGx5CgkgIDIwMDgwNzI1MjIyNDQ4LTNlMmRjLWUxMTliZjA5ZWRlMWNmMTg3NTgxZDU5MTc2YzhiMzViYWZiNzMxYWUuZ3oKCjIwMDgtMDctMjUgMTk6NDg6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2tpcCBub24ta2V5ZnJhbWVzIGJlZm9yZSB3ZSBnZXQgYSBrZXlmcmFtZQoJICAyMDA4MDcyNTE5NDgzMy0zZTJkYy01ODNkZjU3YzhlYmNlNGIxNDlhMDE3NjhlZDdkMzczNzEzNmEyMDhmLmd6CgoyMDA4LTA3LTI1IDE5OjMzOjU4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIElnbm9yZSB1cHN0cmVhbSBuZXdzZWdtZW50IGV2ZW50cyBpbiBtaW1kZWMKCSAgMjAwODA3MjUxOTMzNTgtM2UyZGMtN2MwZjIyMzg2ZTAyMDhhNDVlYWU5YzFkN2ViNjJlODZmNjFkMTRiYS5negoKMjAwOC0wNy0yNSAxOToyNTozMCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBlbWl0IHRoZSByaWdodCB0aW1lc3RhbXAgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODA3MjUxOTI1MzAtM2UyZGMtYTNjYzBjZTczZmNhMTgxY2FlZTMyM2Q2OTlkODU3NmRmOTE2ZThkMy5negoKMjAwOC0wNy0yNSAxOTowODo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB2aWRlby94LW1pbWljIGFzIHRoZSBjYXBzIHR5cGUKCSAgMjAwODA3MjUxOTA4NDktM2UyZGMtMzhlNGFjYzlkNGFkODIzMWVkMjJmNmNjNGQ3ZDhjMmE4YjU2NjhlOS5negoKMjAwOC0wNy0wNCAyMjowNzoxMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwcm9wZXIgbG9ja2luZyB0byBtaW1lbmMKCSAgMjAwODA3MDQyMjA3MTMtM2UyZGMtNmEyMmQxYTQyMzcxNmU4Yjg0YmMzYmRhOTk4NmExYjRmZjBjMGQzNy5negoKMjAwOC0wNy0wNCAyMjowMzoxOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBpbXBsZW1lbnRhdGlvbiBvZiBnZXRjYXBzIGZyb20gbWltZGVjCgkgIDIwMDgwNzA0MjIwMzE4LTNlMmRjLWQ4MWJjNTliMjMwOGM1YWQwZDMxNDQwMzBjNTY1MDI5NWU5OWYzYzYuZ3oKCjIwMDgtMDctMDQgMjI6MDI6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgcHJvcGVyIGxvY2tpbmcgdG8gbWltZGVjCgkgIDIwMDgwNzA0MjIwMjQzLTNlMmRjLTcxYzE1N2Q4Mjk5OWRmYjQxYmQ2MmI0MDY0YjE4ODdhYjIyZTg0YzEuZ3oKCjIwMDgtMDctMDQgMjE6NTk6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGxlYWsKCSAgMjAwODA3MDQyMTU5MzYtM2UyZGMtMjJkOTkyZjk4Yzk5MzFmMDYyNjYyZmMwNWYxY2U2NWJjOTdmNjE5YS5negoKMjAwOC0wNy0wNCAyMTo1NTo1MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCB0aGUgZ3N0IHRpbWVzdGFtcCBpZiB0aGUgdGltZSBkaWZmZXJlbnQgaXMgdG9vIGxhcmdlCgkgIDIwMDgwNzA0MjE1NTUwLTNlMmRjLTc2ZWIzZjYwMGYyYjk3N2U5MTZmN2UxZjY1NDUyOWRkYWZmMDZhYzkuZ3oKCjIwMDgtMDctMDQgMjE6NTI6MDggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZmlyc3QgYnVmZmVyIGFzIHRoZSBiYXNlCgkgIDIwMDgwNzA0MjE1MjA4LTNlMmRjLTU4MjI3NzFmMjY5NGRlZGE0YTdjZDVjZGQzYzM4YWI5ZWZmN2ZhMmQuZ3oKCjIwMDgtMDctMDQgMjE6NDk6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIHRpbWVzdGFtcCBpbiB0aGUgaGVhZGVyCgkgIDIwMDgwNzA0MjE0OTM1LTNlMmRjLTkwZWM3M2RmMzIyNWI0MWJhYTY4MWFiNjkxZmI4YmQ0N2UxN2M3ODAuZ3oKCjIwMDgtMDctMDQgMjE6MTk6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmUtaW5kZW50IG1pbWRlYwoJICAyMDA4MDcwNDIxMTk0My0zZTJkYy1kZWYxZTBkYWNjNGE0NWZlMmI0YWZkY2I5MDNhMTMyOGM5NTExN2FjLmd6CgoyMDA4LTA3LTA0IDIxOjE1OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNpbXBsaWZ5IG5ld3NlZ21lbnQgY29kZQoJICAyMDA4MDcwNDIxMTUxMS0zZTJkYy1iOThkMWU1YjMxYzIzZWI3OTEyMTk3ZjkzNjRhMzE1NjBkMDkyYzYzLmd6CgoyMDA4LTA3LTA0IDIwOjUwOjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgbWltaWMgcGx1Z2lucyB0byBHU1RfQk9JTEVSUExBVEUKCSAgMjAwODA3MDQyMDUwMTAtM2UyZGMtZGE0MWU1Njg1YWI5Y2ViNjc1NTVkNDk5MTI1NDMyY2QxMmQ1NTA1ZC5negoKMjAwOC0wNy0wNCAyMDo0MToxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1pYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHRyYWlsaW5nIHdoaXRlc3BhY2UgaW4gbWltaWMgcGx1Z2luCgkgIDIwMDgwNzA0MjA0MTEyLTNlMmRjLTFhYjRiOTEzZDU4ZmFhMDU4NzQyYjAxZTA4M2Y3ZGViZDY4NzdiYjMuZ3oKCjIwMDgtMDctMDQgMjA6Mjk6NDEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29uZmxpY3RzCgkgIDIwMDgwNzA0MjAyOTQxLTNlMmRjLTdmNWEzODg0NWI3OTdlMTJkNjcyNTUxNDY2ZTYzNWQ0ODRjYjY3NjMuZ3oKCjIwMDctMTEtMTAgMDU6MTc6MTcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG1pbWljIGVuYyBjaGFpbiBmdW5jdGlvbiwgcmV0dXJuIHJlcyBmb3IgY2hhaW4oKSwgZ2V0IHRoZSBwYXJlbnQgZWxlbWVudCB3aXRoIHRoZSBwcm9wZXIgYWNjZXNzb3IgZnVuY3Rpb24sIHVzZSB0aGUgX09CSkVDVCBkZWJ1Z2dpbmcgbWFjcm9zCgkgIDIwMDcxMTEwMDUxNzE3LTNlMmRjLTQ3MjZmY2QxOWNjM2QxMTIxYTRlMTMyNzZhNDFmNWY4NmRjMWM5YjEuZ3oKCjIwMDctMTEtMTAgMDU6MTQ6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSB0aGUgX3NldF9jYXBzIGZ1bmN0aW9uIG9mIG1pbWljIGVuYyBtb3JlIHJvYnVzdAoJICAyMDA3MTExMDA1MTQyNy0zZTJkYy0zODFhNzFmMmNiZmRiZjUwOGU5NDFiNjcyZTkwNThjODJmYWJjZTI0Lmd6CgoyMDA3LTExLTEwIDA1OjE0OjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSB0aGUgZ3N0IDAuOS4xIGlmZGVmCgkgIDIwMDcxMTEwMDUxNDAxLTNlMmRjLTFmMDcxZDczMmQ2NDU3Mzg4OTk3NzQwNTk5NTY5MmQ5NGIxMGEwZDYuZ3oKCjIwMDctMTEtMTAgMDU6MTA6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBjYXBzIGdzdCAwLjEwIGNvbXBsaWFudAoJICAyMDA3MTExMDA1MTAzNS0zZTJkYy1mNzAyNGJkM2VjZmI2Nzk0ZmU4ZDA5ZGNiMTAwYmEwYjQ3ODNkZjVkLmd6CgoyMDA3LTExLTEwIDA1OjA5OjUwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCBpbnN0ZWFkIG9mIHJlZmZpbmcgdGhlIHBhcmVudCBjbGFzcyBkaXJlY3RseQoJICAyMDA3MTExMDA1MDk1MC0zZTJkYy02ZDE0ZGRkNmFlM2NlZWVhYTRlNjQxYjdiMDk2MTNlNDQyOTI3ZjkyLmd6CgoyMDA3LTExLTEwIDA1OjA4OjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlbW92ZSBmcmFtZXNpemUgcHJvcGVydGllcyBvbiB0aGUgbWltaWMgZW5jb2RlcgoJICAyMDA3MTExMDA1MDg1Mi0zZTJkYy1jYjgxNjVjMDczYmZhOTgxNzkwZGM5MTY5M2ZkMWM0ODNlYTdiNmVhLmd6CgoyMDA3LTExLTEwIDA1OjA3OjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSB0aGUgX09CSkVDVCBkZWJ1ZyBtYWNyb3MKCSAgMjAwNzExMTAwNTA3NTMtM2UyZGMtNTYwZDIyYTg2ZWVhMTEwOGYxNzQ2ZDAxMjM3NDRkMzM4MTJlOTRjOS5negoKMjAwNy0xMS0xMCAwNTowMzo1MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZ3N0X3BhZF9nZXRfcGFyZW50IGluc3RlYWQgb2YgbG9va2luZyBpbnRvIHRoZSBHc3RPYmplY3QgZGlyZWN0bHkKCSAgMjAwNzExMTAwNTAzNTEtM2UyZGMtNjM2ZjdkNzczNzQ5NGY4MTAwNDdhOGVlNjkyN2NkZTA2MGJiNGI0Yi5negoKMjAwNy0xMS0xMCAwNTowMjozMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXR1cm4gYmFjayByZXN1bHQgb2YgcGFkIHB1c2gKCSAgMjAwNzExMTAwNTAyMzItM2UyZGMtNGEwODBkOTc5NjNjZDhhYjZkNTI4YzQwMTJkMTQzNTNjMWNmZTk3Yi5negoKMjAwNy0xMS0xMCAwNDoxMToyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9sZSdzIHBvcnQgdG8gZ3N0IDAuMTAKCSAgMjAwNzExMTAwNDExMjUtM2UyZGMtZTI5OTRjM2JiZTE1NzhkOThlNGY3MDdiZDEwZjI0ZmFiZjk0MmMyYi5negoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTAyLTExIDIyOjI0OjMxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGltaXQgdGltZXN0YW1wIGRpZmYgaW4gY2FzZSBvZiBhIGp1bXAgaW4gdGhlIHRpbWVzdGFtcHMKCSAgMjAwODAyMTEyMjI0MzEtNGYwZjYtNzI2ZmM2NjQwMzA4MTUzMzM3MWY3NzU5NTRhYWI0YzdiOGZkYzY0My5negoKMjAwOC0wMi0wNiAwMzoxNjo1NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgaXQgYmFjayB0byAzMCBmcHMgaW4gY2FwcwoJICAyMDA4MDIwNjAzMTY1NC00ZjBmNi1kODE5N2U1Mzg4ODkwNjgwNTA0MWU2NTUyYzBkZDc3NGM1NWU5ZTg5Lmd6CgoyMDA4LTAyLTA2IDAzOjA5OjQ3ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJKiBleHQvbWltaWMvZ3N0bWltZGVjLmg6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCB0aW1lc3RhbXBzIGluIGdzdCBidWZmZXJzIHNlbnQgYnkgZ3N0bWltaWMKCSAgMjAwODAyMDYwMzA5NDctNGYwZjYtOWRjN2Q5YjFhOTJhNzE3YzcxYjFlNDkwYTU1OTFmMGUyZmZlMGRhZC5negoKMjAwOC0wMi0wNiAwMjowMzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBmcmFtZXJhdGUgdHlwZSBpbiBjYXBzIGZvciBnc3RtaW1pYyBlbGVtZW50CgkgIDIwMDgwMjA2MDIwMzM1LTRmMGY2LTBkOWUxMzYwMzlhZDZiN2I4NDk4MmJkYWMyNDJhMDU5ZDUwZmJiNjYuZ3oKCjIwMDYtMDMtMjQgMjA6MTY6MTkgKzAwMDAgIHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51ayA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4ZWQgY291cGxlIG9mIGNvbXBpbGF0aW9uIGlzc3VlcwoJICAyMDA2MDMyNDIwMTYxOS0yNDI1Yi1iZjMzOTkyNmY1MzNhYTRlZmVjZTg1NWZiYmU5NGU1OWM3YmI5NTVmLmd6CgoyMDA2LTAzLTI0IDE5OjU3OjIwICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENhbGxzIHRvIGdzdF9wYWRfZ2V0X3BhcmVudCByZWYgdGhlIG9iamVjdCBzbyBpdCBuZWVkcyB0byBiZSB1bnJlZmZlZCA8IGhleGEwMEBnbWFpbC5jb20KCSAgMjAwNjAzMjQxOTU3MjAtMjQyNWItMTc5MjhiZTM0ZWU2N2Y3MWVmYmFmNjJkZTc2ZGViYTlhZDEzZjBmMi5negoKMjAwNi0wMi0xNCAyMTowMDoyNyArMDAwMCAgcGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrIDxwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXBhcmF0ZWQgRVJST1JfQ0ZMQUdTIGZyb20gR1NUX0NGTEFHUwoJICAyMDA2MDIxNDIxMDAyNy0yNDI1Yi0xZjllNmVkNTkxYzA4ZTU5MDdkMDJlZjdlYTlhOGNmNjJiZjI5ODQwLmd6CgoyMDA1LTEwLTI0IDE1OjM3OjQ4ICswMDAwICBQaGlsaXBwZSBLaGFsYWYgPGJ1cmdlciBhdCBzcGVlZHkgZG90IG9yZz4KCgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNob3VsZCBub3QgYmUgZG9uZSBpbiBkaXNwb3NlLCBtb3ZpbmcgdG8gZmluYWxpemUKCSAgMjAwNTEwMjQxNTM3NDgtMDU0NTktOTYyNWZlYzA1NTQ3YzUzNWJmNWYzYzY2YWViYmE4NDg2MWI1NDlhYS5negoKMjAwNS0wNy0xNiAxOTo1MDoyMSArMDAwMCAgUGhpbGlwZSBLYWxhZiA8cGhpbGlwcGUua2FsYWZAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L21pbWljLy5naXQtZGFyY3MtZGlyOgoJKiBleHQvbWltaWMvTWFrZWZpbGUuYW06CgkqIGV4dC9taW1pYy9nc3RtaW1kZWMuYzoKCSogZXh0L21pbWljL2dzdG1pbWRlYy5oOgoJKiBleHQvbWltaWMvZ3N0bWltZW5jLmM6CgkqIGV4dC9taW1pYy9nc3RtaW1lbmMuaDoKCSogZXh0L21pbWljL2dzdG1pbWljLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgZnJvbSBDVlMgdG8gZGFyY3MKCjIwMDktMDMtMDMgMTQ6MzI6MzggLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIHJ0cG11eDogSWdub3JlIHJ0cG11eCBnZXRfdHlwZSBmdW5jdGlvbiBmb3IgZG9jcwoKMjAwOS0wMy0wMyAxOTowODoyOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOgoJICBtcGVndHNwYXJzZTogZml4IG1lbWxlYWsKCSAgRml4IG1lbWxlYWsgaW4gbXBlZ3RzX3BhY2tldGl6ZXJfY2xlYXIgd2hlcmUgTXBlZ1RTUGFja2V0aXplclN0cmVhbSBpcwoJICBub3QgZnJlZWQgcHJvcGVybHkgd2hlbiB1c2luZyBmb3JlYWNoX3N0cmVhbV9jbGVhciBmdW5jdGlvbi4KCjIwMDktMDMtMDMgMTg6Mjg6MTAgKzAwMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBtcGVndHNkZW11eDogZHluYW1pY2FsbHkgYWRqdXN0IHRoZSBzeW5jIExVVCB0YWJsZQoJICBNYWtlIHRoZSBzeW5jIExVVCB0YWJsZSBhZGp1c3RlZCBkeW5hbWljYWxseSBhY2NvcmRpbmcgdG8gdGhlIHNpemUKCSAgb2Ygc2Nhbm5lZCBkYXRhLiBGaXhlcyBkZW11eGluZyBidWZmZXJzIG9mIGFueSBzaXplLgoKMjAwOS0wMi0yNSAyMTowNTo0MiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdXRvY29udmVydC54bWw6CgkqIGdzdC9hdXRvY29udmVydC9NYWtlZmlsZS5hbToKCSogZ3N0L2F1dG9jb252ZXJ0L2dzdGF1dG9jb252ZXJ0LmM6CgkqIGdzdC9hdXRvY29udmVydC9nc3RhdXRvY29udmVydC5oOgoJICBhdXRvY29udmVydDogSW1wb3J0IGZzc2VsZWN0b3IgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCBhcyBhdXRvY29udmVydAoJICBmc3NlbGVjdG9yIGlzIHRvbyBjbG9zZSB0byBzZWxlY3Rvciwgc28gaW1wb3J0IGlzIGFzIGF1dG9jb252ZXJ0LiBOb3QgaW1wb3J0aW5nCgkgIHRoZSBoaXN0b3J5IGJlY2F1c2UgdGhlIGRpcmVjdG9yeSBpcyBhbHNvIGNhbGxlZCBnc3Qvc2VsZWN0b3IgYW5kIGl0IGZhaWxzLgoKMjAwOS0wMy0wMiAxMDo1NzozNSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICBxdG11eDogQmUgYSBiaXQgbW9yZSB2ZXJib3NlIGluIG91ciBkZWJ1ZyBtZXNzYWdlIHdoZW4gZmFpbGluZyB0byByZW5lZ290aWF0ZQoKMjAwOS0wMy0wMiAxNzowMDo0MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIG14ZmRlbXV4OiBVc2UgYXJyYXlzIGluc3RlYWQgb2YgbGlzdHMgZm9yIHRoZSBtZXRhZGF0YSByZWdpc3RyaWVzCgoyMDA5LTAzLTAyIDE2OjI5OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogUmVkdWNlIHByb2JhYmlsaXR5IHRvIFBPU1NJQkxFCgoyMDA5LTAzLTAyIDE2OjI3OjU1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogQWRkIGxvY2tpbmcgdG8gdGhlIHhkZ19taW1lXyogY2FsbHMgYXMgaXQncyBub3QgdGhyZWFkLXNhZmUKCjIwMDktMDMtMDEgMjA6MTg6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lYWxpYXMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lZ2xvYi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5jOgoJICB4ZGdtaW1lOiBVc2UgZ19wYXR0ZXJuX21hdGNoX3NpbXBsZSgpIGluc3RlYWQgb2YgZm5tYXRjaCgpIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjEzOjMxICswMTAwICBMUk4gPGxybjE5ODZAZ21haWwuY29tPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSAgeGRnbWltZTogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nCgoyMDA5LTAzLTAxIDIwOjEyOjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWNhY2hlLmM6CgkgIHhkZ21pbWU6IERvbid0IHdhcm4gaWYgd2UgaGF2ZSBubyBNTUFQIHN1cHBvcnQKCjIwMDktMDMtMDEgMjA6MTE6MDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lY2FjaGUuYzoKCSAgeGRnbWltZTogVXNlIGdfbnRvaFtsc10gaW5zdGVhZCBvZiB0aGUgbm9uLUdMaWIgZnVuY3Rpb25zIGZvciBXaW4zMiBjb21wYXRpYmlsaXR5CgoyMDA5LTAzLTAxIDIwOjA5OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZW1hZ2ljLmM6CgkgIHhkZ21pbWU6IFVzZSBHX0JZVEVfT1JERVIgaW5zdGVhZCBvZiByZWx5aW5nIG9uIExJVFRMRV9FTkRJQU4gdG8gYmUgZGVmaW5lZAoKMjAwOS0wMy0wMSAyMDowMjoxMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICBsYWRzcGE6IERvbid0IGNvbXBpbGUgdW51c2VkIGNvZGUgZnJvbSBsb2FkLmMKCjIwMDktMDItMjggMjM6NDc6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbS5tdWxsZXJAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3JlYWwvZ3N0cmVhbC5jOgoJICByZWFsZGVjOiB1c2UgZ3N0X3BsdWdpbl9hZGRfZGVwZW5kZW5jeSgpCgoyMDA5LTAyLTI4IDE1OjIzOjA3IC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc3luY3dvcmQuKG5vbmUpPgoKCSogc3lzL2FjbWVuYy9hY21lbmMuYzoKCSAgYWNtZW5jOiBmaXggd2hpdGVzcGFjZQoJICBDb252ZXJ0IHRvIHVuaXggbmV3bGluZXMsIGFuZCByZWluZGVudCBpbiBzb21lIGJyb2tlbiBwbGFjZXMuCgoyMDA5LTAyLTI4IDIwOjQyOjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmOiBGaXggbWVtb3J5IGxlYWsKCSAgZ3N0X3N0cnVjdHVyZV9pZF9zZXQoKSB3aWxsIGNvcHkgR3N0U3RydWN0dXJlcyBpbnN0ZWFkIG9mIHRha2luZwoJICB0aGUgb3duZXJzaGlwLgoKMjAwOS0wMi0yOCAyMDozOTo0MiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmOiBTdG9yZSB0aGUgbWV0YWRhdGEgdHlwZSBJRCBpbnNpZGUgdGhlIGNsYXNzIHN0cnVjdHVyZQoKMjAwOS0wMi0yOCAxOTo0MToxMCArMDEwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHNlY3Rpb25maWx0ZXIuYzoKCSAgbXBlZ3RzZGVtdXg6IEZpeCBtZW1vcnkgbGVha3Mgd2hlbiBQVVNJIGlzIG1pc3NlZCBkdWUgdG8gcGFja2V0IGxvc3MKCSAgRml4ZXMgYnVnICM1NzMyODguCgoyMDA5LTAyLTI4IDExOjQzOjU2ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L25zZi9mbW9wbC5jOgoJICBuc2Y6IERvbid0IHdyaXRlIGZ1cnRoZXIgdGhhbiB0aGUgbGltaXRzIG9mIHRoZSB0YWJsZSAoc2l6ZSBpcyA3NSwgYXMgZGVmaW5lZCBpbiB0aGUgaGVhZGVyKQoJICBnY2MgNC4zLjMgZm91bmQgdGhpcyBvbmUsIEknbSBpbXByZXNzZWQuCgoyMDA5LTAyLTI4IDEwOjI5OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIHRlc3RzL2V4YW1wbGVzL214Zi9teGZkZW11eC1zdHJ1Y3R1cmUuYzoKCSAgbXhmOiBEb24ndCB1c2UgR0xpYiAyLjE2IEFQSSB1bmNvbmRpdGlvbmFsbHkgaW4gdGhlIGV4YW1wbGUKCjIwMDktMDItMjcgMjA6NDM6MjUgKzAxMDAgIEFuZHJ6ZWogUG9sYXR5xYRza2kgPGFwb2xhdHluc2tpQGdtYWlsLmNvbT4KCgkqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgdmlkZW9hbmFseXNlOiBGaXggYnJpZ2h0bmVzcyBjYWxjdWxhdGlvbiB0byBub3Qgb25seSB1c2UgdGhlIGZpcnN0IHJvd3N0cmlkZQoJICBGaXhlcyBidWcgIzU3MzM5MS4KCjIwMDktMDItMjcgMTE6MzY6NTggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgbXBlZzR2aWRlb3BhcnNlOiBVc2UgY29ycmVjdCB2YWx1ZXMgZm9yIGNoZWNraW5nIFZPIHN0YXJ0Y29kZS4KCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgZHVlIHRvIGNvbmRpdGlvbiBhbHdheXMgYmVpbmcgdHJ1ZSAtIHNpbmNlIHdlJ3JlCgkgIG9ubHkgbG9va2luZyBhdCB0aGUgZmluYWwgYnl0ZSBvZiB0aGUgc3RhcnRjb2RlIChub3QgdGhlIGxlYWRpbmcKCSAgMHgwMDAwMDEpLCBvbmx5IGNoZWNrIGZvciA8IDB4MWYsIG5vdCA8IDB4MTFmCgoyMDA5LTAyLTI3IDIwOjIxOjIzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSAgeGRnbWltZTogVXNlIGVtcHR5IGNhcHMgZm9yIHJlZ2lzdGVyaW5nIHRoZSB0eXBlZmluZGVycyB3aXRoIG9sZCBjb3JlIHZlcnNpb25zCgkgIGNvcmUgYmVmb3JlIDAuMTAuMjIuMSBwcm9kdWNlZCBhc3NlcnRpb25zIHdoZW4gc3RvcmluZyB0eXBlZmluZCBmYWN0b3JpZXMKCSAgd2l0aCBOVUxMIGNhcHMgaW4gdGhlIHJlZ2lzdHJ5LgoKMjAwOS0wMi0yNiAxNTo0MDoyNiArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIG1wZWc0dmlkZW9wYXJzZTogaGFuZGxlIG1vcmUgZm9ybWF0cwoJICBXZSBvbmx5IG5lZWQgYSBWaWRlbyBPYmplY3QgU3RhcnQgY29kZSBiZWZvcmUgd2UgY2FuIHN0YXJ0IHB1c2hpbmcgb3V0IGRhdGEuCgkgIFNlYXJjaCBmb3IgdGhpcyBjb2RlIGFsc28gaW5zdGVhZCBvZiBvbmx5IGxvb2tpbmcgZm9yIFZPUyBhbmQgVk9QLgoJICBGaXhlcyAjNTcyNTUxLgoKMjAwOS0wMi0yNyAxMjowMzoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSAgTWVyZ2UgYnJhbmNoICd3b3JrJwoKMjAwOS0wMi0yNyAxMTo1Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGRvY3M6IElnbm9yZSBzb21lIG1vcmUgZ2VuZXJhdGVkIGZpbGVzCgoyMDA5LTAyLTI3IDExOjU1OjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmM6CgkqIGV4dC9jZWx0L2dzdGNlbHRkZWMuaDoKCSAgY2VsdGRlYzogTW92ZSBkZWZpbmUgaW50byB0aGUgQyBmaWxlIHNvIGl0IGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgZG9jcwoKMjAwOS0wMi0yNyAxMTo1NDo0MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmFjLnhtbDoKCSAgZG9jczogRW5yb2xsIGRpcmFjIHBsdWdpbiBpbnRvIHRoZSBkb2NzCgoyMDA5LTAyLTI3IDExOjM5OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkgIGR0c2RlYzogQWRkIHNvbWUgYmFzaWMgZG9jcyB0byB0aGUgcGx1Z2luCgoyMDA5LTAyLTI3IDEwOjE2OjU3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBleHQvYXBleHNpbmsvZ3N0YXBleHJhb3AuYzoKCSAgYXBleHNpbms6IFVzZSBhIHVuaW9uIHRvIGF2b2lkIHR5cGUtcHVubmluZyBzdHJpY3QgYWxpYXNpbmcgY29tcGlsZXIgd2FybmluZy4KCjIwMDktMDItMjcgMTI6MzU6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vTWFrZWZpbGUuYW06CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvY2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogcmV3b3JrIHNpZ25hbGluZyBhbmQgdGVzdHMKCSAgUmV2ZXJ0IHRoZSBHU3RyaW5nIGNoYW5nZS4gVGhlcmUgYXJlIG5vIG1hcnNoYWxsZXJzIGZvciBpdC4gQSBiZXR0ZXIgY2hhbmdlIGlzCgkgIG5vdyBkZXNjcmliZWQgaW4gaHR0cDovL2J1Z3ppbGxhLmdub21lLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTczMzcwLgoJICBUZXN0IHNob3VsZCB3b3JrIGFnYWluLgoKMjAwOS0wMi0yNyAxMToyNDozNyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmV2ZXJ0IGxhc3QgY2hhbmdlIGFuZCBwcm9wZXJseSBmaXgKCSAgQmFzZXBhcnNlIGludGVybmFseSBicmVha3MgdGhlIHNlbWFudGljcyBvZiBhIF9jaGFpbiBmdW5jdGlvbiBieSBjYWxsaW5nIGl0IHdpdGgKCSAgYnVmZmVyPT1OVUxMLiBUaGUgcmVzb24gSSBiZWxpdmVkIGl0IHdhcyBva2F5IHRvIHJlbW92ZSBpdCB3YXMgdGhhdCB0aGVyZSBpcwoJICBhbHNvIGFuIHVuY2hlY2tlZCBhY2Nlc3MgdG8gYnVmZmVyIGxhdGVyIGluIF9jaGFpbi4gQWN0dWFsbHkgdGhhdCBjb2RlIGlzIHdyb25nLAoJICBhcyBpdCBtb3N0IHByb2JhYmx5IHdhbnRzIHRvIHNldCBkaXNjb250IG9uIHRoZSBvdXRnb2luZyBidWZmZXIuCgoyMDA5LTAyLTI3IDExOjA2OjA0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogc3lzL3F0d3JhcHBlci9xdHV0aWxzLmM6CgkgIHF0d3JhcHBlcjogT25seSB1c2UgX2R1bXBfbWVtKCkgaWYgcmVxdWVzdGVkLgoKMjAwOS0wMi0yNiAxMjo0ODoxNiAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBBZGQgdjIxMCBmb3JtYXQKCjIwMDktMDItMjYgMTI6NDc6MTYgLTA4MDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgRml4IGluY29ycmVjdCAicGl4ZWxfYXNwZWN0X3JhdGlvIiBpbiBjYXBzCgkgIFNob3VsZCBiZSAicGl4ZWwtYXNwZWN0LXJhdGlvIi4KCjIwMDktMDItMjYgMTg6NDY6MDAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvbXhmL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9teGYvbXhmZGVtdXgtc3RydWN0dXJlLmM6CgkgIG14ZjogQWRkIGV4YW1wbGUgYXBwbGljYXRpb24gdG8gb3V0cHV0IHRoZSBzdHJ1Y3R1cmFsIG1ldGFkYXRhIHRyZWUgaW50byBhIEd0a1RyZWVWaWV3CgoyMDA5LTAyLTI2IDEzOjEwOjI5ICswMTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIGdzdHJ0cGJpbjogRG9uJ3QgZm9yd2FyZCByZXZjIGV2ZW50cyB0byBzZW5kZXIKCSAgRG9uJ3Qgc2VuZCBldmVudHMgZnJvbSB0aGUgcmVjZWl2ZXIgdG8gdGhlIHNlbmRlciBzaWRlLgoJICBGaXhlcyAjNTcyOTAwLgoKMjAwOS0wMi0yNiAxMTowMjowNiArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIGJhc2VwYXJzZTogcmVtb3ZlIGNoZWNrcyBmb3IgYnVmZmVyPT1OVUxMCgkgIEFjY29yZGlmbiB0byBkb2NzIGZvciBHc3RQYWRDaGFpbkZ1bmN0aW9uIGJ1ZmZlciBjYW5ub3QgYmUgTlVMTC4gSWYgd2Ugd291bGQKCSAgbGVhdmUgdGhlIGNoZWNrLCB3ZSB3b3VsZCBhbHNvIG5lZWQgbW9yZSBzdWNoIGNoZWNrIGJlbG93LgoKMjAwOS0wMi0yNSAxNTowNjowNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBVcGRhdGUgc2hhdmUgaW5pdCBzdGF0ZW1lbnQgZm9yIGNoYW5nZXMgaW4gY29tbW9uLiBCdW1wIGNvbW1vbi4KCjIwMDktMDItMjUgMTU6MjQ6MTMgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIHRlc3RzOiBhZGQgYSB0aW1lb3V0IG9mIDUgc2xpZ2h0bHkgYWJvdmUgdGhlIGRlZmF1bHQKCjIwMDktMDItMjUgMTU6MTc6MTQgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IGluY3JlYXNlIHRpbWVvdXQgYW5kIGxvd2VyIHZpZGVvIHJlY29yZGluZyBsZW5ndGgKCSAgVGhlIHZpZGVvIHdhcyByZWNvcmRlZCBmb3IgdG9vIGxvbmcgZm9yIHRoZSB0ZXN0IHRpbWVvdXRzLiBBbHNvIHRoZSB2ZXJpZmljYXRpb24KCSAgc3VpdGUgZGlkIG5vdCBoYWQgY3VzdG9tIHRpbW91dHMgYXQgYWxsLiBBbHNvIHNwbGl0IHRoZSB2ZXJpZmljYXRpb24gZm9yIGltYWdlcwoJICBhbmQgdmlkZW8gdG8gZ2V0IGJldHRlciByZXBvcnRpbmcuCgoyMDA5LTAyLTI1IDExOjMyOjIyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDljZjhjOWIgdG8gYTZjZTVjNgoKMjAwOS0wMi0yNSAxMjozNDozMyArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIHRlc3RzOiBibGFja2xpc3QgZGNjcCBwbHVnaW5zLgoJICBVbmxlc3Mgb25lIHJ1bnMgYSB2ZXJ5IHJlY2VudCBrZXJuZWwsIHRoZXkgY2FuIGVhc2lseSBsb2NrdXAgdGhlIHdob2xlIHN5c3RlbS4KCjIwMDktMDItMjUgMTE6NDU6MDUgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgZG9jczogdmFyaW91cyBkb2MgZml4ZXMKCSAgTm8gc2hvcnQtZGVzYyBhcyB3ZSBoYXZlIHRoZW0gaW4gdGhlIGVsZW1lbnQgZGV0YWlscy4KCSAgQWxzbyBrZWVwIHRoaW5ncyAoTWFrZWZpbGUuYW0gYW5kIHNlY3Rpb25zLnR4dCkgc29ydGVkLgoJICBSZXdvcmQgYW1iaWdvdXMgcmV0dXJucy4gTm8gdGV4dCBhZnRlciBzaW5jZSBwbGVhc2UuCgoyMDA5LTAyLTI1IDExOjM0OjQ1ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgbXBlZ2RlbXV4OiBkb24ndCBpZ25vcmUgR3N0Rmxvd1JldHVybiB2YWx1ZXMKCSAgZG9uJ3QgaWdub3JlIHRoZSByZXR1cm4gdmFsdWUgb2YgcHVsbF9yYW5nZSBiZWNhdXNlIHdlIG9ubHkgZ2V0IGEgdmFsaWQgbm9uLU5VTEwKCSAgYnVmZmVyIHdoZW4gdGhlIHJldHVybiB2YWx1ZSBpcyBHU1RfRkxPV19PSy4gQXZvaWRzIGEgY3Jhc2ggd2hlbiB0aGUgcGlwZWxpbmUgaXMKCSAgc2h1dHRpbmcgZG93bi4KCjIwMDktMDItMjUgMTE6NDE6MzYgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiB1cGRhdGUgc2lnbmFsIG1hcnNoYWxsZXIgYW5kIGRvY3MKCSAgVXNlIEdTdHJpbmcgaW5zdGVhZCBvZiBHUG9pbnRlciBmb3IgdGhlIG1hcnNoYWxsZXIgYXMgdGhpcyBpcyB3aGF0IHRoZSBjYWxsYmFjayB1c2VzLgoJICBTbGlnaHRseSByZWZvcm1hdCBkb2NzLgoKMjAwOS0wMi0yNSAxMTozODo1OCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9maWd1cmVzL01ha2VmaWxlLmFtOgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4uZG90OgoJKiBkb2NzL3BsdWdpbnMvZmlndXJlcy9jYW1lcmFiaW4ucG5nOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFpZmZwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1yd2IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBleC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2FtZXJhYmluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjMTM5NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZWludGVybGFjZTIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRtZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1saXZlYWRkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWdkZW11eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teGYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHdvbGFtZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhkZ21pbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICBkb2NzOiB1cGRhdGUgZG9jcyB0byBhZGQgY2FtZXJhYmluIGFuZCBpdHMgZmlndXJlCgoyMDA5LTAyLTI1IDExOjAwOjU1ICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBnZXQgcmlkIG9mIC8vIGNvbW1lbnQgYW5kIGV4cGxhaW4KCjIwMDktMDItMjUgMTA6NDY6MTAgKzAyMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNmLm5ldD4KCgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2NhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVwZGF0ZSBjaGVjayB1bml0IHRlc3QKCSAgVXNlIHBsYXliaW4yIGZvciB2YWxpZGF0aW9uLiBVc2UgdG1wX2RpciBmb3IgY2FwdHVyaW5nLiBXYWl0IHdpdGggZ19jb25kIGZvcgoJICBidXJzdCBjYXB0dXJlIGZpbmlzaC4gQ2xlYW51cCBzb21lIGdfb2JqZWN0X3NldC4gQWRkIHNvbWUgbG9nZ2luZyB0byBlYXNlCgkgIHRyYWNpbmcuCgoyMDA5LTAyLTI1IDEwOjQ1OjE5ICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IHVuYmxvY2sgY29ycmVjdCBwYWQgaW4gcmVzZXQsIHN1cHBvcnQgZmFrZXNpbmsgYXMgdmlldyBmaW5kZXIKCjIwMDktMDItMjQgMTY6MzY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogdGVzdHMvZXhhbXBsZXMvYXBwLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBSZW1vdmUgdGVzdHMvZXhhbXBsZXMvYXBwIGFzIGl0IHdhcyBtb3ZlZCB0byAtYmFzZSBhIGxvbmcgdGltZSBhZ28KCjIwMDktMDItMjQgMTY6MzM6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc2luay1zcmMuYzoKCSogdGVzdHMvZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJKiB0ZXN0cy9leGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2NhcHNmaWx0ZXIvY2Fwc2ZpbHRlcjEuYzoKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RlY2tlci50dGY6CgkqIHRlc3RzL2V4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJKiB0ZXN0cy9leGFtcGxlcy9kaXJlY3RmYi9nc3RkZmIuYzoKCSogdGVzdHMvZXhhbXBsZXMvZ29iL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9nb2IvZ3N0LWlkZW50aXR5Mi5nb2I6CgkqIHRlc3RzL2V4YW1wbGVzL2dzdHBsYXkvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvLmdpdGlnbm9yZToKCSogdGVzdHMvZXhhbXBsZXMvaW5kZXhpbmcvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2V4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvbGV2ZWwvUkVBRE1FOgoJKiB0ZXN0cy9leGFtcGxlcy9sZXZlbC9kZW1vLmM6CgkqIHRlc3RzL2V4YW1wbGVzL2xldmVsL3Bsb3QuYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tZ3VpLmM6CgkqIHRlc3RzL2V4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLW1haW4uYzoKCSogdGVzdHMvZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOgoJKiB0ZXN0cy9leGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tcGxheWVyLmg6CgkqIHRlc3RzL2V4YW1wbGVzL3N0YXRzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9leGFtcGxlcy9zdGF0cy9tcDJvZ2cuYzoKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoLy5naXRpZ25vcmU6CgkqIHRlc3RzL2V4YW1wbGVzL3N3aXRjaC9NYWtlZmlsZS5hbToKCSogdGVzdHMvZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgIE1vdmUgZXhhbXBsZXMgZGlyZWN0b3J5IHRvIHRlc3RzL2V4YW1wbGVzIGFzIGluIGV2ZXJ5IG90aGVyIEdTdHJlYW1lciBtb2R1bGUKCjIwMDktMDItMjQgMTY6MjE6MTggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5jOgoJKiBleHQvZHRzL2dzdGR0c2RlYy5oOgoJICBkdHNkZWM6IFVzZSBuZXcgRENBIGZ1bmN0aW9ucy9jb25zdGFudHMgYXMgbm90IGFsbCBkaXN0cm9zIHBhY2thZ2UgdGhlIGNvbXBhdCBkdHMuaAoJICBGb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eSB3ZSBkZWZpbmUgdGhlIERDQSBmdW5jdGlvbnMvY29uc3RhbnRzIHRvIHRoZQoJICBvbGQgRFRTIGZ1bmN0aW9ucy9jb25zdGFudHMgaWYgd2UncmUgYnVpbGRpbmcgYWdhaW5zdCBsaWJkdHMuCgoyMDA5LTAyLTI0IDE1OjI2OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L3hkZ21pbWUvTWFrZWZpbGUuYW06CgkqIGdzdC94ZGdtaW1lL2dzdHhkZ21pbWUuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVhbGlhcy5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVjYWNoZS5oOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVnbG9iLmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWdsb2IuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1laWNvbi5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpY29uLmg6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZWludC5jOgoJKiBnc3QveGRnbWltZS94ZGdtaW1lL3hkZ21pbWVpbnQuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuYzoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lbWFnaWMuaDoKCSogZ3N0L3hkZ21pbWUveGRnbWltZS94ZGdtaW1lcGFyZW50LmM6CgkqIGdzdC94ZGdtaW1lL3hkZ21pbWUveGRnbWltZXBhcmVudC5oOgoJICB4ZGdtaW1lOiBBZGQgbmV3IHR5cGVmaW5kZXIgYmFzZWQgb24geGRnbWltZQoJICBUaGlzIHR5cGVmaW5kZXIgaXMgbW9zdGx5IHVzZWZ1bCB0byBmaWx0ZXIgb3V0IGFueSBmYWxzZSBwb3NpdGl2ZXMKCSAgYnkgdGhlIG90aGVyIHR5cGVmaW5kZXJzIGxpa2UgdGhlIHVzdWFsIFdvcmQgZG9jdW1lbnQgbWlzZGV0ZWN0ZWQgYXMKCSAgTVAzIGZpbGUuCgoyMDA5LTAyLTI0IDEzOjM3OjI0ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgZHRzOiBQcmVmZXIgbGliZGNhIG92ZXIgbGliZHRzIGFzIGl0J3MgdGhlIHN1Y2Nlc3NvcgoKMjAwOS0wMi0yMyAxNjowMjowOCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBxdHdyYXBwZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjMgMTU6MjU6MDMgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBsaXZlYWRkZXI6IEZpeCBidWlsZCBvbiBtYWNvc3gKCjIwMDktMDItMjAgMTI6MDg6MDQgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmg6CgkgIGNhbWVyYWJpbjogQWRkIGFzcGVjdCByYXRpbyBjYXBzZmlsdGVyIGZvciB2aWV3IGZpbmRlcgoJICBJZiBkZWFsaW5nIHdpdGggbGFyZ2VyIGZyYW1lIHNpemVzIHRoYW4gdmlldyBmaW5kZXIgc2luayBlbGVtZW50CgkgIGFjY2VwdHMgdGhlbiBtYWludGFpbiBhc3BlY3QgcmF0aW8gd2hlbiBzY2FsaW5nIGZyYW1lcyB0byBmaXQuCgoyMDA5LTAyLTIwIDEyOjA3OjMzICswMjAwICBMYXNzZSBMYXVra2FuZW4gPGV4dC1sYXNzZS4yLmxhdWtrYW5lbkBub2tpYS5jb20+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNjYWxlIGluY29taW5nIGZyYW1lcyBpZiB0aGVpciBzaXplIGRvZXMgbm90IG1hdGNoIHJlcXVlc3RlZCBzaXplCgkgIElmIGNhcHR1cmUgcHJlcGFyYXRpb24gaW4gdmlkZW9zcmMgcmVzdWx0cyBpbiBmcmFtZSBzaXplIGRpZmZlcmVudAoJICBmcm9tIHJlcXVlc3RlZCBzaXplLCB0aGVuIHdlIG5lZWQgdG8gc2NhbGUgdGhlbS4KCjIwMDktMDItMjAgMTI6MDM6MDMgKzAyMDAgIExhc3NlIExhdWtrYW5lbiA8ZXh0LWxhc3NlLjIubGF1a2thbmVuQG5va2lhLmNvbT4KCgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LmM6CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5Lmg6CgkgIHBob3RvIGlmYWNlOiBBZGQgY2FwcyBvYmplY3QgdG8gcHJlcGFyYXRpb24gQVBJIGZvciByZXF1ZXN0ZWQgYW5kIGFjdHVhbCBjYXB0dXJlIGZvcm1hdAoJICBBbGxvdyByZXF1ZXN0aW5nIG9mIGNlcnRhaW4gZm9ybWF0IHdpdGggcHJlcGFyZV9mb3JfY2FwdHVyZSgpIGFuZCByZXR1cm4KCSAgdGhlIGFjdHVhbCBmb3JtYXQgaW4gR3N0UGhvdG9DYXB0dXJlUHJlcGFyZWQgY2FsbGJhY2suCgoyMDA5LTAyLTIzIDExOjQ5OjA3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJ1aWxkOiBBZGQgc291bmR0b3VjaCdzIC1sQlBNIHRvIF9MSUJTLCBub3QgX0NGTEFHUwoKMjAwOS0wMi0yMiAyMjowMDo1OCArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmM6CgkgIGRjY3A6IEZpeCAibm9uLXZvaWQgd2l0aG91dCByZXR1cm4gdmFsdWUiIGNvbXBpbGF0aW9uIGlzc3VlLgoKMjAwOS0wMi0yMiAxOToxNzozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICBEZXRlY3QgbGlic291bmR0b3VjaCAxLjQgYW5kIGhpZ2hlci4KCSAgSW4gbGlic291bmR0b3VjaCAxLjQsIGxpYkJQTSBhcHBlYXJzIHRvIGhhdmUgYmVlbiBzdWJzdW1lZCBpbnRvCgkgIGxpYlNvdW5kVG91Y2gsIGFuZCBpbnRvIHRoZSBzb3VuZHRvdWNoIG5hbWVzcGFjZS4KCjIwMDktMDItMjIgMTg6MTI6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVc2Ugc2hhdmUgZm9yIHRoZSBidWlsZCBvdXRwdXQKCjIwMDktMDItMjIgMTg6NDE6MDggKzAxMDAgIEFuZG9uaSBNb3JhbGVzIDx5bGF0dXlhQGdtYWlsLmNvbT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLmM6CgkgIGNhbWVyYWJpbjogRml4IGNvbXBpbGF0aW9uIG9uIFdpbmRvd3Mgd2l0aCBWaXN1YWwgU3R1ZGlvCgkgIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN0cmNhc2VjbXAgc28gd2Ugc2hvdWxkIHVzZQoJICBnX2FzY2lpX3N0cmNhc2VjbXAgaGVyZSBpbnN0ZWFkLgoJICBBbHNvIFdpbmRvd3MgZG9lc24ndCBoYXZlIHN5cy90aW1lLmggc28gd2UgZmlyc3QKCSAgbmVlZCB0byBjaGVjayBpZiBpdCBhY3R1YWxseSBleGlzdHMgYW5kIGlmIG5vdAoJICB3ZSBzaG91bGQgbm90IGluY2x1ZGUgaXQuCgkgIEZpeGVzIGJ1ZyAjNTcyMzE1LgoKMjAwOS0wMi0yMiAxNTo1ODowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29tbW9uOgoJICBBdXRvbWF0aWMgdXBkYXRlIG9mIGNvbW1vbiBzdWJtb2R1bGUKCSAgRnJvbSA1ZDdjOWNjIHRvIDljZjhjOWIKCjIwMDktMDItMjIgMTQ6NTg6MzYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBkZmJ2aWRlb3Npbms6IERvbid0IHVzZSB2b2lkICogcG9pbnRlciBhcml0aG1ldGljCgoyMDA5LTAyLTIyIDEzOjE3OjU0ICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZXh0L3h2aWQvZ3N0eHZpZC5jOgoJICB4dmlkOiBGaXggY29tcGlsYXRpb24gd2FybmluZwoKMjAwOS0wMi0yMSAxMToxMzo1MCAtMDgwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJKiBjb21tb246CgkgIEF1dG9tYXRpYyB1cGRhdGUgb2YgY29tbW9uIHN1Ym1vZHVsZQoJICBGcm9tIDgwYzYyN2QgdG8gNWQ3YzljYwoKMjAwOS0wMi0xMCAxNzowMjoyNCArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdG1mLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG11eC54bWw6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIE1vdmVkIHJ0cG11eCBmcm9tIGdzdC1wLWZhcnNpZ2h0IHRvIC1iYWQKCjIwMDktMDItMjAgMTc6NDU6NTAgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0bXV4LnhtbDoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eGVyLmM6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTAgMTk6MTE6MTUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb2N1bWVudCBydHAgbXV4ZXIgYSBiaXQKCjIwMDktMDItMjAgMTM6MzA6NDkgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBzaWduYWxzIGJlZm9yZSBzdHJlYW0gbG9jayBhbmQgYWZ0ZXIgdW5sb2NraW5nCgoyMDA5LTAyLTE4IDIwOjE4OjQ2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTGV0IHNzcmMgdGhyb3VnaCBnZXRjYXBzCgoyMDA5LTAyLTE4IDE5OjU4OjU4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIGhhdmVfYmFzZSB0byBoYXZlX3RzX2Jhc2UKCjIwMDktMDItMTggMTg6MTQ6NTIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm90ZWN0IHRoZSBzZXFudW0gd2l0aCBvYmplY3QgbG9jayBpbiBydHBtdXgKCjIwMDktMDItMTggMTg6MDc6NDQgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIHNpbmtfdHNfYmFzZQoKMjAwOS0wMi0xOCAxNToyMDo1OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEhhdmUgZ2V0Y2FwcyB0byBmb3JjZSB0aGUgc2FtZSBjbG9ja3JhdGUgb24gYWxsIHBhZHMKCjIwMDktMDItMTggMTc6MDU6MTMgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBWYWxpZGF0ZSBSVFAgZGF0YSBpbiBSVFAgTXV4CgoyMDA5LTAyLTE4IDE0OjE2OjAwIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBjbG9jay1yYXRlIHByb3BlcnR5CgoyMDA5LTAyLTE4IDEzOjU2OjM2IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENsYXJpZnkgbG9ja2luZyBpbiBydHBkdG1mbXV4CgoyMDA5LTAyLTE4IDEzOjMyOjU2IC0wNTAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4Ly5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTAxIDE3OjU1OjIyIC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVwZGF0ZSBzZXFudW0gYmFzZSBpbiBydHAgbXV4ZXIKCSAgV2l0aCBoZWxwIGZyb20gV2ltCgoyMDA4LTEyLTAxIDE3OjU0OjU4IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggc29tZSBtb3JlIGxlYWtzCgoyMDA4LTEyLTAxIDE3OjQ4OjI5IC0wNTAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggbGVhawoKMjAwOC0wOS0yOSAxNTowMzowNSAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVucmVmIGNhcHMgd2UgZG9uJ3Qga25vdyAodGhhbmtzIFdpbSkKCjIwMDgtMDgtMTIgMTI6NDg6MDIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgcGVyLWJ1ZmZlciBkZWJ1ZyBhdCBsZXZlbCBMT0cKCjIwMDgtMDgtMTIgMTI6NDc6MTQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGRlYnVnIHByaW50IGFjY3VyYXRlCgoyMDA4LTA4LTEyIDEyOjQ2OjIzIC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IG91ciBjYXBzIG9uIHRoZSBidWZmZXJzCgoyMDA4LTA4LTEyIDEyOjQ2OjA3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVGFrZSB0aGUgY2xvY2stYmFzZSBzdG9yZWQgZnJvbSB0aGUgbGFzdCBzZXRjYXBzCgoyMDA4LTA4LTEyIDEyOjQxOjU5IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU3RvcmUgdGhlIGNsb2NrLWJhc2Ugb24gc2V0Y2FwcwoKMjAwOC0wOC0xMiAxMjozMDo1MiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBwYWRwcml2YXRlIHRvIHRoZSByZXF1ZXN0IHBhZHMKCjIwMDgtMDgtMTIgMTI6MjM6MzIgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHdoaXRlc3BhY2UgaW4gZ3N0cnRwbXV4CgoyMDA4LTA4LTExIDIxOjIwOjA2IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpbmRlbnRhdGlvbiBtb3JlIGNvcnJlY3QKCjIwMDgtMDgtMTEgMjE6MDU6MzQgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwbwoKMjAwOC0wOC0xMSAyMTowMzoyMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBzZXFudW0tYmFzZSBhbmQgY2xvY2stYmFzZSBpbiBjYXBzIGZyb20gcnRwbXV4ZXIKCjIwMDctMDgtMTUgMTM6NTA6MzggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbW9yZSBkZWJ1ZwoJICAyMDA3MDgxNTEzNTAzOC1mM2YxZS05YzdhNTQ5MGE1MjVjNmU4NzUzY2IxYjhjMDMzNTRkZjk5MTMyYjVjLmd6CgoyMDA3LTA4LTIzIDIxOjIyOjI1ICswMDAwICBwaGlsaXBwZS5rYWxhZkBjb2xsYWJvcmEuY28udWsgPHBoaWxpcHBlLmthbGFmQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTeW5jIGppdHRlcmJ1ZmZlciB3aXRoIENWUyAtYmFkCgkgIDIwMDcwODIzMjEyMjI1LTI0MjViLTBmZTY5YmY3MjUzOTY3OGRkYTQ1ZDYxNWEwOWYxY2JmNTAyY2M3MWEuZ3oKCjIwMDctMDgtMjAgMTg6NTA6MzIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWlzc2luZyBjb21tZW50CgkgIDIwMDcwODIwMTg1MDMyLTRmMGY2LTBhYjY3YjZhYzQwZGQ0ZTM1YThmZTUzZjNjYjZkYWZmNjVjZTQzYjkuZ3oKCjIwMDctMDctMTIgMTk6NTM6MzYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgYnVmZmVyIHdyaXRhYmxlIGJlZm9yZSB3cml0aW5nIGludG8gaXQKCSAgMjAwNzA3MTIxOTUzMzYtM2UyZGMtOTFhNWZiNzk3Y2ZhNDkxOWQ0ZTJmOWE3MjhjNmQ2ZmJkM2I4M2Q5My5negoKMjAwNy0wNy0wNiAyMDoyNDo1OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2V0IHBhZHMgYWN0aXZlIHdoZW4gYWRkaW5nIHRoZW0gdG8gYSBwb3RlbnRpYWxseSBydW5uaW5nIGVsZW1lbnQKCSAgMjAwNzA3MDYyMDI0NTktM2UyZGMtYTM3MzFmODg1NzI1NTk0ZGVmMGE3YmU5OTdmYzdiM2E3MzllZTk2Ny5negoKMjAwNy0wNi0wNyAxMjowMToyMSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG11bHRpcGxlIHJlZiBsZWFrcyAocGF0Y2hlcyBieSBTUCBHTEUpCgkgIDIwMDcwNjA3MTIwMTIxLTNlMmRjLTA2MWU5ZWY3YTQ3YjFiODRmYThmODA5MmY0YjhiY2MwZTZkYjhjOGMuZ3oKCjIwMDctMDUtMjggMTU6MjU6MDUgKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBzZW5kIGV2ZW50IHRvIGFsbCBzcmMgcGFkcwoJICAyMDA3MDUyODE1MjUwNS1mM2YxZS0wMzkyMTZjNzNkYzkzZjY0YzQ5OTYyYzc3YTAyNTNjYjljZmVjNGQzLmd6CgoyMDA3LTA1LTI4IDEyOjM3OjQ5ICswMDAwICBaZWVzaGFuIEFsaSA8Zmlyc3QubGFzdEBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcHJpbnQgYSB3YXJuaW5nIGlmIHJlY2VpdmUgYW4gZXJyb3IgaXRlcmF0aW5nIHNpbmtwYWRzCgkgIDIwMDcwNTI4MTIzNzQ5LWYzZjFlLTRjMWViM2Y1MTFiNTYxMDE0MzYxMGE2NWE5NGQxMTdmMmMzZDI1ODAuZ3oKCjIwMDctMDUtMjggMTI6Mjg6MDggKzAwMDAgIFplZXNoYW4gQWxpIDxmaXJzdC5sYXN0QG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBkZWFsIHdpdGggYWxsIHRoZSBnc3RfaXRlcmF0b3JfbmV4dCgpIHJldHVybiB2YWx1ZXMKCSAgMjAwNzA1MjgxMjI4MDgtZjNmMWUtZDMwMTY0NGMzYmU3NjMzZWM2ZGM1ZTI4NTk2ZTkzNDZkMmRhNmE1MC5negoKMjAwNy0wNS0yNSAxMjozMToxNiArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJldHVybiBjb3JyZWN0IHZhbHVlIGZyb20gdGhlIGV2ZW50IGhhbmRsZXIKCSAgMjAwNzA1MjUxMjMxMTYtZjNmMWUtMTMxYjM3YjVmNDUyMTYxOGZlMmYxMzIwNDA5YTQ3ZTY1YjM1YWQyZC5negoKMjAwNy0wNS0yNSAxMDoyNzowOSArMDAwMCAgWmVlc2hhbiBBbGkgPGZpcnN0Lmxhc3RAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFZpbGxlJ3Mgb3JpZ2luYWwgcGF0Y2ggdG8gZml4IHRoZSB0cmF2ZXJzYWwgb2YgZHRtZiBldmVudAoJICAyMDA3MDUyNTEwMjcwOS1mM2YxZS02YzQxZDFlZjkzNDA2OGE0ZjRlODEwZTdlOTgxYjQyMDA3NWIwYzk4Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjUwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZXQgdGhlIGNvcnJlY3QgdHMtb2Zmc2V0IG9uIHRoZSBnZXRfcHJvcCB2YWx1ZQoJICAyMDA3MDMyOTEzNTI1MC02NTAzNS1hNDNlMjIyZDkxZDU3YzBhNjFjYjMyODc1ODZhYWEyOWFiZjc4Njc0Lmd6CgoyMDA3LTAzLTI5IDEzOjUyOjIzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWZhY3Rvcml6ZSBzdGF0ZV9jaGFuZ2UKCSAgMjAwNzAzMjkxMzUyMjMtNjUwMzUtMjNhMDEwN2IyZTM5NzcxMGYwMzVjNmU4OGNjMGU0OWI2NWJiNGQ1ZC5negoKMjAwNy0wMy0yOSAxMzozNjoyMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gc2V0IFNTUkMgb24gdGhlIHBhY2tldHMKCSAgMjAwNzAzMjkxMzM2MjItNjUwMzUtMWJlNmUwYWE4NWE3MTM4OWY3ZDI1N2I5Y2QzZTEzYTczZDZiNzQ1Yi5negoKMjAwNy0wMy0yOSAxMzoxOTozNiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29kZSBjbGVhbi11cCBhbmQgbW9yZSBkZWJ1ZyBvdXRwdXQKCSAgMjAwNzAzMjkxMzE5MzYtNjUwMzUtOWQ0OTllMjA5ZTBkN2E0MDljM2FhMGQxMDQwNzc4YmFiZjA3NjE3OS5negoKMjAwNy0wMy0yOCAxMToyMjoxOSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIG93biBjbG9jay1iYXNlCgkgIDIwMDcwMzI4MTEyMjE5LTY1MDM1LTFiYTVmZWZiYzY1MDU5ZTliMGM4NjA1MjhhMzEwNjJjZWI2YTczMzEuZ3oKCjIwMDctMDMtMjMgMTY6MzE6MzkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgYWNjZXB0IFJUUCBzdHJlYW1zIHRoYXQgaGF2ZSB0aGUgc2FtZSBjbG9jay1yYXRlCgkgIDIwMDcwMzIzMTYzMTM5LTY1MDM1LWZjMGIxN2IwYjhhN2EwNDFmNDg5OTRjNGYyNmU5NjU2ODE2OGJmOTUuZ3oKCjIwMDctMDMtMjIgMTY6MTU6NTIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIG1vcmUgY29kZS1jbGVhbnVwcwoJICAyMDA3MDMyMjE2MTU1Mi02NTAzNS1iZGE5NjE2NWUxNDZiNGYxZDVmZWExY2M5NTc2YTdhYjNhYmViYzllLmd6CgoyMDA3LTAzLTIyIDE1OjQyOjUxICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZXR1cm4gbmV3cGFkIGluc3RlYWQgb2YgTlVMTCBhbmQgd2FybiBpZiBmYWlsZWQgdG8gY3JlYXRlIGEgcGFkCgkgIDIwMDcwMzIyMTU0MjUxLTY1MDM1LWNkYjY2NTFlNjFjMmViMDIwNWNjOGMyNDY5M2I0M2Y5OGEyZGE3MTguZ3oKCjIwMDctMDMtMjIgMTI6NDE6MzIgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlZmFjdG9yaXplIHRoZSBSVFBNdXggY29kZQoJICAyMDA3MDMyMjEyNDEzMi02NTAzNS0wYTMyNzgxNDc1NDZlMzNmNjg3MDk3YTQzYjc3NWIzZjZhYTk5ZjkzLmd6CgoyMDA3LTAzLTIyIDEyOjE0OjUzICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU29tZSBtb3JlIGRvYyBmaXhpbmcKCSAgMjAwNzAzMjIxMjE0NTMtNjUwMzUtMTJkNjAyMjcyMjE3YjUxYmQ5N2RmNGU1NzkwMDI0YzM5OTYyMmRkMy5negoKMjAwNy0wMy0yMiAxMTozMjoyOCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgUmVmYWN0b3JpbmcKCSAgMjAwNzAzMjIxMTMyMjgtNjUwMzUtYmFlMzRhNzk1OTllN2RlNTI5M2VkNzdiMDIyMzYxY2NmZjgyMmJiOS5negoKMjAwNy0wMy0yMiAxMTozMTo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vcmUgZG9jdW1lbnRhdGlvbgoJICAyMDA3MDMyMjExMzE1NC02NTAzNS02MjQ4NTA1NDFhNWI1ZmMzZGYyMzEyMDRiZTVhODNkMDcyMzlkYjI4Lmd6CgoyMDA3LTAzLTIxIDE2OjMzOjExICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwZHRtZm11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVmYWN0b3IgdGhlIGV2ZW50IGhhbmRsZXIgZnVuY3Rpb24KCSAgMjAwNzAzMjExNjMzMTEtNjUwMzUtOTg3ZTdmMjVkMWFiNTMzNWI3OWY0NGIyNzdhYmYxNWU0ZTM3ZDMxNy5negoKMjAwNy0wMy0yMSAxNDo1Mjo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cGR0bWZtdXguYzoKCSogZ3N0L3J0cG11eC9nc3RydHBkdG1mbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4Lmg6CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4ZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBSVFBEVE1GTXV4IGVsZW1lbnQKCSAgMjAwNzAzMjExNDUyNDQtNjUwMzUtOWEwMTM5MGIwZGVlMzM5OGU1MzE5OWExZmExZDkzNTIwMDRmMzM4ZS5negoKMjAwNy0wMy0yMSAxMjozMTo0OSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L01ha2VmaWxlLmFtOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIERUTUYtc3BlY2lmaWMgY29kZSBmcm9tIFJUUCBtdXhlciBhbmQgbWFrZSBpdCBleHRlbmRhYmxlCgkgIDIwMDcwMzIxMTIzMTQ5LTY1MDM1LWI4YThmNTVmZjc4ZWVkOGNiYjAwNDJlODI3ODg1ZWRmYzU0MzgyNDIuZ3oKCjIwMDctMDMtMjAgMTI6MDU6MjQgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1dCBtb3JlIGhlbHBmdWwgZGVzY3JpcHRpb24KCSAgMjAwNzAzMjAxMjA1MjQtNjUwMzUtZGIyN2E3Y2Y2MzA3YjUxMWFlYjNkOTk2ZDI2ZTc5MGUzNjdhN2JhZC5negoKMjAwNy0wMy0xNiAxNToxNjo0MSArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVtb3ZlIHRoZSAoY29tbWVudGVkLW91dCkgY29kZSBmb3IgYmxvY2tpbmcgdGhlIHBhZHMKCSAgMjAwNzAzMTYxNTE2NDEtNjUwMzUtMDEyM2FmMzg3OTUxZjg4NTk0Nzk3YzcyMmU4ODJjZmU3MDI0MGFmZi5negoKMjAwNy0wMy0xNiAxMzoxNDo0NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRHJvcCBidWZmZXJzIGluc3RlYWQgb2YgYmxvY2tpbmcgdGhlIHNpbmtwYWRzCgkgIDIwMDcwMzE2MTMxNDQ0LTY1MDM1LTljMTM0NWFkOTYxMDg4ODFmNDU1ZDRiNTVhN2Y2MjNjZDMwMmQwZWQuZ3oKCjIwMDctMDMtMTQgMTc6MTY6MTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdHJlYW0gbG9ja2luZywgbmVlZGVkIGZvciBEVE1GCgkgIDIwMDcwMzE0MTcxNjE4LTY1MDM1LWU0ZDI0YjE2MDZjZTBhM2UyZTczOWYwMTgzM2Y2MWU0ZDc1NTVlYWMuZ3oKCjIwMDctMDMtMTQgMTA6MjA6NTggKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cG11eC9nc3RydHBtdXguYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzZSBHU1RfKl9PQkpFQ1QgaW5zdGVhZCBvZiBnXyoKCSAgMjAwNzAzMTQxMDIwNTgtNjUwMzUtZTI0NDI4ODhmMmUzZTVhM2E3NjU5YWQ3OTU0YTRmYmEzNDc0OWNlMi5negoKMjAwNy0wMy0xNCAxMDoxODo1NCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwbXV4L2dzdHJ0cG11eC5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTm8gbmVlZCB0byBtYW5hZ2UgcGFkcywgcGFyZW50IGRvZXMgdGhhdCBmb3IgdXMKCSAgMjAwNzAzMTQxMDE4NTQtNjUwMzUtZWY1ZjRhYmRlMjI3MTAyYTExMjg4MzVhYjMyNTkwNWVhZTRjMzcyNi5negoKMjAwNy0wMy0xNCAwOTowMzo1OCArMDAwMCAgemVlbml4QGdtYWlsLmNvbSA8emVlbml4QGdtYWlsLmNvbT4KCgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0IGhlYWRlcgoJICAyMDA3MDMxNDA5MDM1OC1kMDE0YS0zYTZkM2VlZWFhZjVjYjhjYTNiY2E2YTMzZTk5YTU1MWY1OThiZDQ4Lmd6CgoyMDA3LTAzLTA3IDA4OjUzOjA3ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBtdXgvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC9ydHBtdXgvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBtdXgvZ3N0cnRwbXV4LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUaGUgZmlyc3QgaW1wbGVtZW50YXRpb24gb2YgUlRQIG11eGVyCgkgIDIwMDcwMzA3MDg1MzA3LTY1MDM1LTgzMzQwMjQxM2Y5OWNiM2Y4YmU0ODgzZTkyYmFkNGM4NzIyNTEwYzkuZ3oKCjIwMDktMDItMjAgMTg6MTY6MDIgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgRG9jdW1lbnQgcnRwZHRtZmRlcGF5IGEgYml0CgoyMDA5LTAyLTIwIDE3OjQxOjM3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0bWYueG1sOgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkgIE1vdmVkIGR0bWYgZWxlbWVudHMgZnJvbSBnc3QtcGx1Z2lucy1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTIwIDE3OjQwOjU3IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBGaXggdXAgZG9jdW1lbnRhdGlvbiBibG9icyBTR01MCgoyMDA5LTAyLTIwIDE3OjM3OjQzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mY29tbW9uLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFJlLWluZGVudCB0byBHc3Qgc3R5bGUKCjIwMDktMDItMTggMTM6MzA6NDQgLTA1MDAgIExhdXJlbnQgR2xheWFsIDxzcGdsZWdsZUB5YWhvby5mcj4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1pc3NpbmcgZm9ybWF0IGRpcmVjdGl2ZQoKMjAwOC0xMi0wNCAyMToyMTo0NCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1heGltdW0gZHVyYXRpb24gdG8gYSBSVFAgRFRNRiBldmVudAoKMjAwOC0xMi0wNCAyMToxMToxNyAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXByb3ZlIHRoZSBtaW5pbXVtIHF1YW50YSB0byBtYWtlIGl0IGltcG9zc2libGUgZm9yIHRoZSBkdXJhdGlvbiB0byBmYWxsIGRvd24gdG8gMAoKMjAwOC0xMi0wMSAxODozMTo0OCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWxsb3cgc2V0dGluZyBhIG1pbmltdW0gc2l6ZSBvZiBhIHNvdW5kIHF1YW50YSBpbiB0aGUgZHRtZiBkZXBheWxvYWRlcgoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvLmdpdC1kYXJjcy1kaXI6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgLmdpdC1kYXJjcy1kaXIgZmlsZXMKCjIwMDgtMTItMDEgMTc6Mzc6MTAgLTA1MDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHdpZXJkIGNhc3Rpbmcgb2YgdGhlIHZvbHVtZSB0byBtYWtlIE1TVkMgaGFwcHkKCjIwMDgtMTAtMTUgMTY6MjE6NTAgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xhcmlmeSB0aGUgZG9jdW1lbnRhdGlvbiBvZiB0aGUgImV2ZW50LXR5cGUiIGZpZWxkIHdoZW4gc3BlY2lmeWluZyBkdG1mIGV2ZW50cwoKMjAwOC0wNy0yMiAyMTozOTozOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgZ19kZWJ1Z3MKCSAgMjAwODA3MjIyMTM5MzgtM2UyZGMtNDRhODJkMDE3ZmU2NmYzMTEyMzAxYzQxMGFhMGI1NDNkZTYxNTZhZC5negoKMjAwOC0wNi0xMyAyMzo1NzoyMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBUYWtlIHJhdGUgZnJvbSB0aGUgcGVlcnMgY2FwcyBpZiBwb3NzaWJsZQoJICAyMDA4MDYxMzIzNTcyMy0zZTJkYy0xNTY5MGVlNDI3MDhjNTM5ZTFiZTEyZTIwZTA3NmE1NjEzZmFlYTk2Lmd6CgoyMDA4LTA2LTEzIDIzOjQxOjQ0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IHRoZSBzYW1wbGUgcmF0ZSBpbiBkdG1mc3JjIGludG8gYSB2YXJpYWJsZQoJICAyMDA4MDYxMzIzNDE0NC0zZTJkYy1lNjAwNzA5NDNiZWM4MjliNzAzYjg4MjFjN2FhNDM1MWEwMmRlZWJlLmd6CgoyMDA4LTA2LTEzIDIzOjMwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRha2UgdGhlIGNsb2NrLXJhdGUgZnJvbSB0aGUgY2FwcyBpbiBydHBkdG1mc3JjCgkgIDIwMDgwNjEzMjMzMDA2LTNlMmRjLWE3ZDRlOTE4NjQzZjRmOGMxYmIyY2MyNjc4NTU4YzY1NDAyNTkyMGUuZ3oKCjIwMDgtMDQtMjggMjI6MjI6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBMaW5rIG1vZHVsZXMgd2l0aCBsaWJtIHdoZXJlIHJlcXVpcmVkCgkgIDIwMDgwNDI4MjIyMjM3LTNlMmRjLWIxZTkxMjBjMWU5Y2ExYTUxMGJmZDdjMjdlMmQ0NWYwZDRhMTI1MDQuZ3oKCjIwMDgtMDQtMTIgMjM6NDQ6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGJ5dGUgb3JkZXJpbmcgaXNzdWVzIHdpdGggZHRtZnNyYyBhbmQgcnRwZHRtZmRlcGF5Li4gdXNlIG9mIEdfU1RSSU5HSUZZIHRvIGF2b2lkIGVycm9yIG9uIE1TVkMKCSAgMjAwODA0MTIyMzQ0MTgtNGYwZjYtNDgyOGQxNjEzZGZjZDU2NGFmZDIzNmRmYzhmYjU3YTI5OTA5MmY4My5negoKMjAwOC0wMy0yMCAxOToxNDozOCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBjb3B5cmlnaHRzIGFnYWluLCBwZXIgc21jdidzIGFkdmljZS4uCgkgIDIwMDgwMzIwMTkxNDM4LTRmMGY2LTY3MWM5ZGI1ZDk5NmE0NjAxZGYwMTdjZWFiNGFmNmQxNjQ2OWM5NjYuZ3oKCjIwMDgtMDMtMTkgMjE6MTc6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBjbGVhciB0aGF0IGR0bWZzcmMgYWxzbyB0YWtlcyBuYW1lZCBldmVudHMgYXMgaW5wdXQKCSAgMjAwODAzMTkyMTE3MzEtM2UyZGMtMjZjNzI5ZjZkYzhkYjI3ZTcxY2Y2YjIyNjQ2YTgxNTMwZGJmODYyZi5negoKMjAwOC0wMy0yMCAxODo0ODo0MSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZGVidWcgbWVzc2FnZSBtYWRlIGludG8gZXJyb3JzIGJlY2F1c2UgdGhhdCdzIHdoYXQgdGhleSBhcmUuLi4KCSAgMjAwODAzMjAxODQ4NDEtNGYwZjYtOGEyZDI4MzI5N2IwMjcxM2RhZGUwYWU0YWNhYTVmNmUwZjY3ZWFjZS5negoKMjAwOC0wMy0yMCAxODozOTozNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4gdW51c2VkIHN0dWZmLi4uCgkgIDIwMDgwMzIwMTgzOTM3LTRmMGY2LWJjYjg0MWNkYzA3ZjllOTY3NzUxMmY0YjUwYjRiNjU5YTU4YzY3ODMuZ3oKCjIwMDgtMDMtMjAgMTg6Mzk6MTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mZGVwYXkuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggY29weXJpZ2h0cwoJICAyMDA4MDMyMDE4MzkxMi00ZjBmNi02ODkzNjVkNWE0MDY2MzJlM2QwODhmYWM3NGU0ZmI2ZjhhNGViMGVhLmd6CgoyMDA4LTAzLTIwIDAxOjEzOjAxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdGR0bWYuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIHN1cHBvcnQgZm9yIHJ0cGR0bWZkZXBheQoJICAyMDA4MDMyMDAxMTMwMS00ZjBmNi1kMzZhNWQyNGJlMjAzMzZlMzZjNDc5NmQ3NTQ3NmM5YjVlZTFhN2UxLmd6CgoyMDA4LTAzLTE5IDE5OjMyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGVuY29kaW5nIG5hbWUgaGFzIHRvIGJlIHVwcGVyLWNhc2UKCSAgMjAwODAzMTkxOTMyNTEtM2UyZGMtMTU4MWIzM2JlOWI0ODZlMzVlYzQ5NDgwMDk2NzdjY2Q1ZmZkYzA5OC5negoKMjAwOC0wMy0yMCAwMDo1MTo0NyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZjb21tb24uaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZmRlcGF5LmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZkZXBheS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkaW5nIG5lY2Vzc2FyeSBmaWxlcyBmb3IgcnRwZHRtZmRlcGF5CgkgIDIwMDgwMzIwMDA1MTQ3LTRmMGY2LTU1MGZlMjJmNzAxNTJmM2FhYjNkY2Q3YTZiMDJjYmY4MWU4OTIzMmQuZ3oKCjIwMDgtMDMtMjAgMDA6NTA6NDEgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdHlwb3MKCSAgMjAwODAzMjAwMDUwNDEtNGYwZjYtOWQyMmZhNWQxNTVlMzViNjA1ZWE4NWIxZmQ5ZTcxOTdhODgyYTFmMC5negoKMjAwOC0wMi0xNiAxMzo0MTo0MCArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZHRtZnNyYzogQ29ycmVjdGx5IHNldCB0aGUgZW5kaWFuZXNzIGluIHRoZSBjYXBzIHRvIHRoZSBtYWNoaW5lcyBlbmRpYW5lc3MKCSAgMjAwODAyMTYxMzQxNDAtOTNiOWEtNDBhM2E5ZDdhYzE2NzljNWUwZGZkMjRhNmI5MWU0YWJhNmNjNjQ5Ni5negoKMjAwNy0wOS0xNyAxNzo1MjozMyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZWFyY2gmUmVwbGFjZSBvb3BzCgkgIDIwMDcwOTE3MTc1MjMzLTNlMmRjLTU3ZjU3OWM0Yjg5MDk5M2Y0OWZhOGU5ZTY0NzBhM2ViNzlkMmI5MjIuZ3oKCjIwMDctMDktMTcgMTc6NTE6MzMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXZlbnRzIGRvbnQgeWV0IGJlbG9uZyBpbiB0aGUgY2FwcwoJICAyMDA3MDkxNzE3NTEzMy0zZTJkYy1mZDFkODNiNzgyNmI4OTgxMTBmYzU3MWFlN2MzNDQwZjE4ODc0MzRkLmd6CgoyMDA3LTA5LTE3IDE2OjA4OjIwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHBhdGNoIHRvIG1ha2UgaXQgd29yayB3aXRoIG1hZW1vIGRzcCBzb3VyY2VzIHRoYXQgcGF5bG9hZCBpbmNvcnJlY3RseQoJICAyMDA3MDkxNzE2MDgyMC0zZTJkYy0wNmIxYjFkMWIwOTE4YjMwZGFiZWE1YTA3MTRjYjczMmIzYjhkOGRkLmd6CgoyMDA3LTA5LTE3IDA0OjI2OjQ5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT29wcywgc2V0IHRvIG5vIHByZXJvbGwgd2hlbiBwbGF5aW5nLT5wYXVzZWQgdG9vCgkgIDIwMDcwOTE3MDQyNjQ5LTNlMmRjLTk0YWRiNmFhMDYxN2U4MTVhNmUyMzMyMzJkYWJiNGJiYzQ4ZGM4MmMuZ3oKCjIwMDctMDktMTcgMDA6MzY6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wbGV0ZSBwb3J0IHRvIGJhc2VzcmMKCSAgMjAwNzA5MTcwMDM2NTQtM2UyZGMtZGIwZjg0ZGFiZDlkZDFhYzkyOWEwNDYxODY1YjhhYWE4ZWY5MWE3Ny5negoKMjAwNy0wOS0xNyAwMDoyNDoxMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjYXBzIG5lZ290aWF0aW9uIGZ1bmN0aW9uCgkgIDIwMDcwOTE3MDAyNDEyLTNlMmRjLWNhMjY2ODE2ZTk2Mjk3NDZlOTA4M2M1YmI4YjdmNzNiOTRhOWIyYjAuZ3oKCjIwMDctMDktMTcgMDA6MTY6NTkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJvcGVybHkgZnJlZSBub24tc3RhcnQgZXZlbnRzCgkgIDIwMDcwOTE3MDAxNjU5LTNlMmRjLWE1NzE3NzdlM2VjZmI5MDk4OWY4NzQxMmY1NTRhYTEwYTMxY2MyY2EuZ3oKCjIwMDctMDktMTcgMDA6MTU6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIGludGVydmFsIGFuZCBwYWNrZXRfcmVkdW5kYW5jeSBpbnRvIHVpbnQKCSAgMjAwNzA5MTcwMDE1NTItM2UyZGMtNjAwMzJlNTQ3YjM2NjliODczMTdjOTgxZDk4NWMxNTZhYWI5MWI0MC5negoKMjAwNy0wOS0xNiAxOTo0NDowOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHJ0cCBkdG1mIHNyYyB1c2UgYmFzZXNyYwoJICAyMDA3MDkxNjE5NDQwOC0zZTJkYy03MzQwMDAxMzBkY2UyNDM0YTAxNGFjZjg0M2Q2NDFmZjBlNjBhYTVhLmd6CgoyMDA3LTA5LTE2IDE5OjQxOjAxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZHRtZiBzcmMgY29kZSBuaWNlcgoJICAyMDA3MDkxNjE5NDEwMS0zZTJkYy1hOGJlOGM1MDljNjU0MDBkMWQzOTYyZGEwMmU2N2QxNWQyMDU0MzE2Lmd6CgoyMDA3LTA5LTE2IDE5OjQwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVudXNlZCBkaXJlY3RvcnkKCSAgMjAwNzA5MTYxOTQwNTItM2UyZGMtNDRkN2Y0Y2IyZjIyMDc2MWI2NWUyYjliNmNlYzRiM2M2ZjhiZTdjNS5negoKMjAwNy0wOS0xNCAwNDoyMDo0MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEltcGxlbWVudCBzdG9wcGluZyBpbiBhIG5pY2UgdGhyZWFkIHNhZmUgd2F5CgkgIDIwMDcwOTE0MDQyMDQyLTNlMmRjLTFmZTI1N2ZmNGI3MmFjYTRiMGViNWYyODVhMTQ2NTBiOGRmMjY4YzMuZ3oKCjIwMDctMDktMTQgMDQ6MTg6MzQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIGdldF90aW1lcyAoV2ltIHNheXMgaXRzIG9ubHkgZ29vZCBmb3IgcmVhbGx5IGZha2Ugc291cmNlcykKCSAgMjAwNzA5MTQwNDE4MzQtM2UyZGMtZmZmNGQ1ZGEyYTE0NWYxOWU3YjYxMGExMDI3ZDJjNGQ0YmM1ZWFlMC5negoKMjAwNy0wOS0xMyAyMToyMTo0NSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVzaW5nIHRoZSB1bmxvY2sgbWV0aG9kIG9mIGJhc2VzcmMKCSAgMjAwNzA5MTMyMTIxNDUtNGYwZjYtMGU0MzhhNjgxYmYxNjUxYzBjYzBkOGZhMzI2OWFlZDNmMTY2OGI2Yi5negoKMjAwNy0wOS0xMyAyMToxMjoyNiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG1vcmUgZGVidWcKCSAgMjAwNzA5MTMyMTEyMjYtNGYwZjYtYmMzMmI1ODI4ZmM4ZTAzMjNjOGE2ZWVlNzc5YTM4MTQ1YWFjZDU5My5negoKMjAwNy0wOS0xMyAyMDo0NjoxNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGRlYnVncwoJICAyMDA3MDkxMzIwNDYxNC00ZjBmNi02OGMyYTY5YWU3YTFlZmNhNmUxM2MxMTZkYmFkN2Y5YjY4NmYwMjQyLmd6CgoyMDA3LTA5LTEzIDE5OjIwOjUzICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBzdXJlIHRvIHVubG9jayB0aGUgdGhyZWFkIHdoZW4gZ29pbmcgdG8gcmVhZHkgYW5kIHRvIGZsdXNoIHRoZSBxdWV1ZSB3aGVuIG1vdmluZyB0byBwYXVzZWQgb3IgcGxheWluZwoJICAyMDA3MDkxMzE5MjA1My00ZjBmNi03NmMzOTI1MzgwZDFhMzA5ODgyODYxNzA1MzVhNjVkZWE2NGE1NTgzLmd6CgoyMDA3LTA5LTEzIDE3OjU1OjIwICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDaGFuZ2VkIGR0bWZzcmMgaW50byBhIHN1YmNsYXNzIG9mIEdzdEJhc2VTcmMKCSAgMjAwNzA5MTMxNzU1MjAtNGYwZjYtMTZjYTRiZjkzNjkwMDcyZjNlODM2ZDFjOGE1YjUyY2Y3YTQyMTkxNi5negoKMjAwNy0wOS0wNCAyMjo1Nzo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5oOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBhbm90aGVyIGZpeCBmb3IgYSBwb3NzaWJsZSByYWNlIGNvbmRpdGlvbgoJICAyMDA3MDkwNDIyNTc1My00ZjBmNi01YmE4YzQyNjBjMDAyYmIyN2ViOThlOWZhYmEzYzE1Nzk5MzU3YjU3Lmd6CgoyMDA3LTA5LTA0IDIxOjUyOjI0ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBjb21tZW50IHRvIGV4cGxhaW4gcHVzaCBiYWNrCgkgIDIwMDcwOTA0MjE1MjI0LTNlMmRjLWQ5MmFjMWY0MDNkY2Y1NzE1NDZhN2M1M2YxODgwOWY4NDBlZWE1MWQuZ3oKCjIwMDctMDktMDQgMjA6NTU6MDkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcm9wZXJseSBkbyB0aGUgbG9ja2luZyB0byBhdm9pZCByYWNlIGNvbmRpdGlvbnMgd2l0aCBjbG9jayB1bnNjaGVkdWxpbmcKCSAgMjAwNzA5MDQyMDU1MDktM2UyZGMtZGExOTkwMGI1MWFmNmFlZGI2NTQ3ZjRmMzkyYmVmNGQxMDYxZGVjMi5negoKMjAwNy0wOS0wMSAwMDowMzoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91cHMsIEkgZGlkIGl0IGFnYWluLi4uCgkgIDIwMDcwOTAxMDAwMzI0LTRmMGY2LTNkOGI0NjY5MWVlNTIwNTM3YjA2YzUxMWE1ZTczMmY1YjgxMmI4NDQuZ3oKCjIwMDctMDgtMzEgMjM6NTQ6MjggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBvdXBzLCBzb3JyeS4uIERUTUYsIG5vdCBSVFBfRFRNRiBmb3IgdGhpcyBmaWxlLi4uCgkgIDIwMDcwODMxMjM1NDI4LTRmMGY2LTAwYjYwNmJmYjQ4OTJlNGYyMTdjNDQwYjYxMWNjNzk0YWIwZGU1NWEuZ3oKCjIwMDctMDgtMzEgMjM6NDQ6MTMgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXhlcyB0aGUgZGVhZGxvY2sgd2hlbiBwYXVzaW5nIHRoZSBkdG1mc3JjIGFuZCBydHBkdG1mc3JjLiBIYWQgdG8gcHVzaCBzb21ldGhpbmcgb24gdGhlIGFzeW5jIHF1ZXVlIHRvIHJlbGVhc2UgdGhlIGJsb2NraW5nIGFzeW5jX3F1ZXVlX3BvcCgpLiBUaGFua3MgdG8gT2xpdmllciBmb3IgdGhlIHNvbHV0aW9uLgoJICAyMDA3MDgzMTIzNDQxMy00ZjBmNi03OTNjZjM1ZmM0MzYzNmU3Mjc1MjU4Y2M3MDYzZmMwNjhmNWVmYTBhLmd6CgoyMDA3LTA4LTI4IDIyOjE1OjM0ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xvY2tJRCB3aGVuIHdhaXRpbmcgZm9yIGJ1ZmZlciBpcyBub3cgdW5zY2hlZHVsZWQgd2hlbiBzdG9wcGluZyB0aGUgdGFzay4gVmFyaW91cyBmaXhlcyB0byBhdm9pZCBidWdzICh0aGFua3MgdG8gLVdhbGwgLVdlcnJvcikuIEZpeGVzIHRvIGFsbG93IHRoZSBtZXJnZSBvZiB0aGUgYnJhbmNoLgoJICAyMDA3MDgyODIyMTUzNC00ZjBmNi1iMGQ2YTRmZTQ4YzRlMmExNmI5ZmY2OWNiMzEwMDg3Yzk3MGNlNDhlLmd6CgoyMDA3LTA4LTI4IDE3OjE1OjQ2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDbGVhbmVkIHVwIHRoZSBjb2RlIGEgYml0LCBubyB1c2Ugb2YgR1NUXyogYW5kIHJldHVybiB2YWx1ZSB2ZXJpZmljYXRpb24gZnJvbSBnc3RfKgoJICAyMDA3MDgyODE3MTU0Ni00ZjBmNi1iZGViNGIxYjdmOTlmOTQ2NGFhYmU1YzQzYmQ0YTRkMjAyNTI2MmI2Lmd6CgoyMDA3LTA4LTI3IDE5OjU2OjEwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IG92ZXJseSBsb25nIGxpbmVzIGFuZCB0YWJzCgkgIDIwMDcwODI3MTk1NjEwLTNlMmRjLTM5NmEzZmEwMWUxNmYxODRlNDEwOWM3MWZlMmRlYjZlNTE2YmRmMGQuZ3oKCjIwMDctMDgtMjcgMTk6MjY6MTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHVudGFiYmlmaWVkIGR0bWZzcmMKCSAgMjAwNzA4MjcxOTI2MTgtNGYwZjYtNzdkNjgwNzA0NjRmMWI1ZjlhNDZjYjZlZWMyZDkyMjM0MDE0M2MwNC5negoKMjAwNy0wOC0yNyAxNzoyNDoyNCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBSVFAgdGltZXN0YW1wcyBieSBzZW5kaW5nIGEgbmV3X3NlZ21lbnQgZXZlbnQgdG8gdGhlIHBheWxvYWRlcgoJICAyMDA3MDgyNzE3MjQyNC00ZjBmNi1kMjA5MDdlM2Q0MzZkNTBiZmU3NGViNGZjM2QyZDZkN2I2YjZkYmM1Lmd6CgoyMDA3LTA4LTI3IDE3OjIzOjM5ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQmV0dGVyIGhhbmRsaW5nIG9mIHBhY2tldHMsIHdlIHNlbmQgdGhlIHNhbWUgZHVyYXRpb24gZm9yIGFsbCBwYWNrZXRzIHRvIGF2b2lkIGh1Z2UgcGFja2V0cyB3aGVuIG1pbiBkdXJhdGlvbiBkZWZpbmVzIGFyZSBtb2RpZmllZC4KCSAgMjAwNzA4MjcxNzIzMzktNGYwZjYtY2M5MzMwNDQzN2VhMzc2ZmZmNjQ1OGM3NGM0NmMxOWY2OTIwZDMyOS5negoKMjAwNy0wOC0yNyAxNzoyMzoyMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoYW5naW5nIG1pbmltdW0gdmFsdWVzIHRvIHdvcmsgYmV0dGVyIG9uIHNvbWUgZ2F0ZXdheXMKCSAgMjAwNzA4MjcxNzIzMjItNGYwZjYtNWJmMmJmZmE1OWE4MjQ0NTM4ZGNlZDc5NWZhN2Q3NjQ5NDUyY2E5MS5negoKMjAwNy0wOC0yMiAyMDoxNjo1MyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFRoZSBEVE1GIHRvbmUgZ2VuZXJhdG9yIG5vdyByZXNwZWN0cyB0aGUgdm9sdW1lIGFyZ3VtZW50IHBhc3NlZCBpbiB0aGUgZXZlbnQKCSAgMjAwNzA4MjIyMDE2NTMtNGYwZjYtOGI3ZmY4NzQwMDZlMTFmNWE3NGQwZmQ5MWU1YTlhNDNjZDA4MmFkYS5negoKMjAwNy0wOC0yMiAxODowMTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGRvbid0IGtub3cgd2h5IEkgZGlkIHRoYXQuLi4KCSAgMjAwNzA4MjIxODAxMzMtNGYwZjYtNmE3MzgyZjZjN2QzNjMwZjkxZGEzODRlMTkwNDc2M2M3ZWE2ZmExYS5negoKMjAwNy0wOC0yMiAxNzo1NTozMyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydGVkIHRoZSBldmVudCBxdWV1ZSB3b3JrIGZyb20gZHRtZnNyYyB0byBydHBkdG1mc3JjCgkgIEFkZGVkIGEgcXVldWUgYmFzZWQgc3lzdGVtIGZvciB0aGUgcnRwZHRtZnNyYy4gTm93IGl0IHdhaXRzIGZvciBzdGFydC9zdG9wIG1lc3NhZ2VzIG9uIHRoZSBxdWV1ZSwgYW5kIG1ha2VzIHN1cmUgdGhhdCB0aGUgbWluaW11bSBkdXR5IGN5Y2xlICgxMjBtcykgaXMgcmVzcGVjdGVkIGJldHdlZW4gZWFjaAoJICB0b25lLCBpbmNsdWRpbmcgaW50ZXItZGlnaXQgc2lsZW5jZS4KCSAgMjAwNzA4MjIxNzU1MzMtNGYwZjYtZjI3NDE0YzQwNmYxZjdiMDBjOWE5MDg0YTk4OGNmM2E3OTMwZmU1Yy5negoKMjAwNy0wOC0yMiAxNzo1NDo0NCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG91Y2gsIHByaW50aW5nIHdpdGggYXJndW1lbnRzIGJ1dCB3aXRob3V0ICVzLi4gdGhhdCBtYWRlIGl0IHNlZ2ZhdWx0IGEgZmV3IHRpbWVzLi4uCgkgIDIwMDcwODIyMTc1NDQ0LTRmMGY2LTQ0NWVhNmNlN2E5NjY4ZDA0Y2Y5OTlhZjc3MmE1MDRlYzc0ZmI2N2EuZ3oKCjIwMDctMDgtMjIgMTc6NTE6MjYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmVkIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUgZXZlbnQgdG8gZHRtZnNyYyBzdHJ1Y3R1cmUgc2luY2Ugd2UgaGF2ZSBvbmx5IG9uZSBldmVudCBhdCBhIHRpbWUsIHNvIGxldCdzIGtlZXAgaXQgc3RvcmVkIGluIHRoZSBkdG1mc3JjIHN0cnVjdAoJICAyMDA3MDgyMjE3NTEyNi00ZjBmNi01M2JjZGEyYmQ4YWU4YzU2ZDI5ZTYyZTY5YWMxOWEzMGUwOGFkMzUwLmd6CgoyMDA3LTA4LTIwIDIwOjM4OjI2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2R0bWYvZ3N0ZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBhIHF1ZXVlIGJhc2VkIHN5c3RlbSBmb3IgdGhlIGR0bWZzcmMuIE5vdyBpdCB3YWl0cyBmb3Igc3RhcnQvc3RvcCBtZXNzYWdlcyBvbiB0aGUgcXVldWUsIGFuZCBtYWtlcyBzdXJlIHRoYXQgdGhlIG1pbmltdW0gZHV0eSBjeWNsZSAoMTIwbXMpIGlzIHJlc3BlY3RlZCBiZXR3ZWVuIGVhY2ggdG9uZSwgaW5jbHVkaW5nIGludGVyLWRpZ2l0IHNpbGVuY2UuCgkgIDIwMDcwODIwMjAzODI2LTRmMGY2LTc1MGEyMmI2MTJhNWU0OTVlNzY3NjY2OTM0NDY1YzM0ZmUzMjA3NGIuZ3oKCjIwMDctMDgtMjAgMTg6NDg6NTIgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi9NYWtlZmlsZS5hbToKCSogZ3N0L2R0bWYvZ3N0ZHRtZi5jOgoJKiBnc3QvZHRtZi9nc3RkdG1mc3JjLmM6CgkqIGdzdC9kdG1mL2dzdGR0bWZzcmMuaDoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBkdG1mc3JjLCBhIERUTUYgVG9uZSBHZW5lcmF0b3IsIGFuZCBtYWRlIGl0IHBhcnQgb2YgdGhlICdkdG1mJyBwbHVnaW4uCgkgIDIwMDcwODIwMTg0ODUyLTRmMGY2LWEwZDg1ZTY3NzA4MjkwYWViYWZhODlhYjc5ZDNjZWRkNTgxNWI2MjAuZ3oKCjIwMDctMDgtMjAgMTg6NDg6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2R0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9kdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L2R0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTW92ZWQgcnRwZHRtZiB0byBkdG1mIGRpcmVjdG9yeQoJICAyMDA3MDgyMDE4NDgwMC00ZjBmNi1mYTMzZWE5NzQ1MTAxNjFkZThjOTk1MWMzOTA4N2FmMzYxM2I2NWE0Lmd6CgoyMDA3LTA3LTEyIDE5OjU3OjE1ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gU2VuZCBhbGwgcGFja2V0IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQsIGluY2x1ZGluZyB0aGUgbGFzdCBvbmUKCSAgMjAwNzA3MTIxOTU3MTUtM2UyZGMtNjg0OGM3MGE3ZjAxMzdjOTFmYTg4MmE4ZWZiNmRiZjgzODkxYWUxMy5negoKMjAwNy0wNy0xMiAxOTo1NToyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQdXQgbm9uLXplcm8gZHVyYXRpb24gaW4gZmlyc3QgcGFja2V0IGFuZCBwdXQgYSBtaW5pbXVtIGR1cmF0aW9uIG9mIDUwbXMKCSAgMjAwNzA3MTIxOTU1MjgtM2UyZGMtZDQ2ZWRlYWFiODRmYjU1ZTc0ODQyYmRjZjRmODc5MmRmY2RiMDQ1Ny5negoKMjAwNy0wNy0xMiAxNjoyMzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggUlRQIHRpbWVzdGFtcCBvbiBkdG1mIHBhY2tldHMKCSAgMjAwNzA3MTIxNjIzMjgtM2UyZGMtOThjMTMwM2Y0YTUyYjg5MWNlNTliZjg4ZTA3ZDI5ZjRlMmRmYzk3NC5negoKMjAwNy0wNy0xMSAxNTo1MjowMiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBPbmx5IHNldCBtYXJrZXIgb24gdmVyeSBmaXJzdCBwYWNrZXQgb2YgYW4gZXZlbnQKCSAgMjAwNzA3MTExNTUyMDItM2UyZGMtZjdlYTNhYmQyY2IwY2EyOTM3ZWE0NTA4ZTZlMzAxYmFhYTZlMjE1NC5negoKMjAwNy0wNy0xMSAxNTo1MTo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTZW5kIG9uIHBhY2tldCBzdGFydCB0aW1lCgkgIDIwMDcwNzExMTU1MTU3LTNlMmRjLWVlMGU5ZmMxM2QzNTI5NjU5MzAwNTI2N2EyNDE3ZGQ2NWU3OTBkMjkuZ3oKCjIwMDctMDctMTEgMTU6NTA6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUlRQIHRpbWVzdGFtcCBpcyB0aGUgdGltZSBvZiB0aGUgYmVnaW5uaW5nIG9mIHRoZSBkdG1mIGV2ZW50CgkgIDIwMDcwNzExMTU1MDU2LTNlMmRjLWNiNWNkYTczZmJmN2RmMWM1NDVjYjAzMjFiMGUzMzk5MTRjNTg5N2YuZ3oKCjIwMDctMDQtMjQgMjA6MDI6NTIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gODAgY29sdW1uIGlzIGVub3VnaCBmb3IgZXZlcnlvbmUKCSAgMjAwNzA0MjQyMDAyNTItM2UyZGMtZDFiYzE3MjY2YWZmZjI1OTkxMjlhMjVkNDQzMzgwNjIzNzJmN2VhMy5negoKMjAwNy0wNC0yNCAxOTozMTo1NSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCByZWR1bmRhbmN5IGFuZCBpbnRlcnZhbCBwcm9wZXJ0aWVzIHRvIHJ0cGR0bWZzcmMgKHBhdGNoIGJ5IFNQIEdMRSA8c3BnbGVnbGVAeWFob28uZnI+KQoJICAyMDA3MDQyNDE5MzE1NS0zZTJkYy02NjY4ODAwMWU3YjUyOWM0NmYxMDg2MzNjZDk1MjAzNDdjM2M4YzNlLmd6CgoyMDA3LTA1LTA0IDE5OjUyOjUxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2VuZCBkdG1mIGlmIHRoZSBtZXRob2QgaXMgdW5zcGVjaWZpZWQgb3IgaXMgMQoJICAyMDA3MDUwNDE5NTI1MS0zZTJkYy1iOTViNGI4ZThkYWQ4Nzk2MmNmMzllYzJlZTY3YjZmMWI2MTllOWJkLmd6CgoyMDA3LTAzLTA4IDIyOjM1OjU5ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgZG9jdW1lbnRhdGlvbiBjb25zaXN0ZW50IHdpdGggaXRzZWxmCgkgIDIwMDcwMzA4MjIzNTU5LTNlMmRjLWNjMjBmZTU3MTM3MGJjNTFiZjk2M2NjM2RmMWI4YWI0YTNkZGMyMGIuZ3oKCjIwMDctMDQtMTIgMjA6MDQ6MzUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2Ugc2VnbWVudCB0byBjYWxjdWxhdGUgZHRtZnNyYyBydHAgdGltZXN0YW1wCgkgIDIwMDcwNDEyMjAwNDM1LTNlMmRjLWI1Y2MyNmIxMmI2ZThiODlmMTMxZmQyN2YwZTQ2Mjc3NDZlODU2OTcuZ3oKCjIwMDctMDQtMDIgMTI6NDY6MzUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2xlYW4tdXAgYW5kIHJlZmFjdG9yaXplIGR0bWZzcmMgY29kZQoJICAyMDA3MDQwMjEyNDYzNS02NTAzNS0zZDEzMjQ0NDYxYzFkZDFmY2M5NmI3NDEyNGFkN2E3NGQyZmYwMTQ0Lmd6CgoyMDA3LTAzLTMwIDE1OjQzOjAzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9vb3BzLCBsaXR0bGUgdHlwbwoJICAyMDA3MDMzMDE1NDMwMy0zZTJkYy05ZjZlZGNkZTI0ZDMwY2FlYThlYTg3NmIyNGEzYTY4MGQ0MGIyZWExLmd6CgoyMDA3LTAzLTMwIDAwOjE3OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gTWFrZSBpdCBnZW5lcmF0ZSB0aGUgcHJvcGVyIHJ0cCB0aW1lc3RhbXBzIGluIHN5bmMgd2l0aCB0aGUgbGl2ZSBzb3VyY2UKCSAgMjAwNzAzMzAwMDE3MDAtM2UyZGMtYmJmOTU0ZTRlZGVjMDYxNWM0ZWVlNjAzZmJjNmFiOGE3ZDg5NDM2Zi5negoKMjAwNy0wMy0yOSAxMTo0Mjo1NyArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbmNyZW1lbnQgdGhlIHRzIGFmdGVyIHNldHRpbmcgdGhlIGJ1ZmZlcidzIHRzCgkgIDIwMDcwMzI5MTE0MjU3LTY1MDM1LWM4Njg2YWI0Y2UyMGIxZjM2ZjNkYWMxMjA0ODVhZGU1Y2Q5MGFhYzkuZ3oKCjIwMDctMDMtMjkgMTA6Mzk6NDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2FsY3VsYXRlIHRoZSBydHAgdHMgYmVmb3JlIGdzdCB0cyBnZXQgaW5jcmVtZW50ZWQKCSAgMjAwNzAzMjkxMDM5NDYtNjUwMzUtZjc0ZTNhMDE0MGM1N2U5NDE0NDRiYjgzN2Q2MDUzYWQxYzNjZjU2Ny5negoKMjAwNy0wMy0yOSAxMDozOTowNCArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBTb21lIGNvZGUtY2xlYW51cAoJICAyMDA3MDMyOTEwMzkwNC02NTAzNS1kYjA4Y2M3YzMwOThiNjBhNTU2ZDM4MDlkZTkxMmNkMGUxYTU0NWMxLmd6CgoyMDA3LTAzLTI5IDEwOjM4OjI0ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEluaXRpYWxpemUgdGhlIEdzdFNlZ21lbnQgYXQgdGhlIHJpZ2h0IHRpbWUKCSAgMjAwNzAzMjkxMDM4MjQtNjUwMzUtOWFiM2EwYTAzYzVmOTMyOWNkNDYyNWFlNjU2N2MyYzFmZDRhNzNkOC5negoKMjAwNy0wMy0yNiAxMDo1NzoxMiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDYWxsIHNldF9jYXBzIHdoZW4gd2UgaGF2ZSBhbGwgdGhlIHBhcmFtcwoJICAyMDA3MDMyNjEwNTcxMi02NTAzNS0zZTNkZmNlMGI1MGQ2MWVhZmRhODQ2YmVlMGE2ZDY2YzM1NDFjNmVkLmd6CgoyMDA3LTAzLTIzIDE2OjI5OjIyICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCBjYXBzIG9uIHRoZSBidWZmZXIgYmVmb3JlIHB1c2hpbmcgaXQKCSAgMjAwNzAzMjMxNjI5MjItNjUwMzUtOWU0YmU1NDQ5Yzc5YzBhNDU5OTY1ZWUwN2FkYjRhODE0M2M0YzFkNS5negoKMjAwNy0wMy0xNCAxNzoxNzo1NiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXF1ZXN0IGZvciBzdHJlYW0gbG9jayB3aGVuIGdlbmVyYXRpbmcgRFRNRiBwYWNrZXRzCgkgIDIwMDcwMzE0MTcxNzU2LTY1MDM1LTBiNDk3ZGZhYzIwM2ZmNGY1Nzk1MjU0ODVkNTgwNGU1ZjUwOTNiM2YuZ3oKCjIwMDctMDMtMDcgMTE6NDE6MDkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ29ycmVjdCBjYXBzIHByaW50b3V0CgkgIDIwMDcwMzA3MTE0MTA5LTY1MDM1LTEyNDIwMjg4NDkxOGE5YzhhODAzMDgwZDY5NjcyMzQ1MzlkMjRiOTcuZ3oKCjIwMDctMDItMTYgMTI6MDY6MDYgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIGRvYy1zZWN0aW9uIGNvbW1lbnRzCgkgIDIwMDcwMjE2MTIwNjA2LTY1MDM1LTZlN2QyODcyMWRjMDg3MmYzZjU1YmE3Y2NkNGZlZDNkNjZmODE3NWYuZ3oKCjIwMDctMDItMTUgMTM6NDg6NTMgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgY29weXJpZ2h0cwoJICAyMDA3MDIxNTEzNDg1My02NTAzNS01MGZlNWY4ZTk5OWFlODZhMWUzYmEwZGJkZWNlNDkxMWViOWRjY2EwLmd6CgoyMDA3LTAyLTE1IDEzOjM1OjM2ICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE5vIG5lZWQgdG8gaGFuZGxlIGRvd25zdHJlYW0gZXZlbnRzCgkgIDIwMDcwMjE1MTMzNTM2LTY1MDM1LTY0OGI3OTFkNDA0YmYwNjkwMGJkMjY5OGQ5MjUxMTdjODk3NDNkYjkuZ3oKCjIwMDctMDItMTUgMTI6MjY6NTUgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQXR0ZW1wdCB0byBjb3JyZWN0IGV2ZW50IGhhbmRsaW5nCgkgIDIwMDcwMjE1MTIyNjU1LTY1MDM1LTQ3MDcwZDlhMjhjMDhkOTM1M2IwNGQyZDkzMDFlMjliN2VlNzJiODMuZ3oKCjIwMDctMDItMTUgMTA6MjY6MjkgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVXNlIHBhdXNlX3Rhc2sgaW5zdGVhZCBvZiBzdG9wX3Rhc2sgdG8gYXZvaWQgYW55IHBvc3NpYmxlIGRlYWRsb2NrcwoJICAyMDA3MDIxNTEwMjYyOS02NTAzNS1hNDhjNzczNjYxZTM4NWE5MWUwMjJlMGFjMWRhMDg2MmM0MjA2Zjg1Lmd6CgoyMDA3LTAyLTE1IDEwOjEwOjMwICswMDAwICB6ZWVzaGFuLmFsaUBub2tpYS5jb20gPHplZXNoYW4uYWxpQG5va2lhLmNvbT4KCgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHV0IGNvcnJlY3Qgc2VxIGFuZCB0aW1lc3RhbXBzIG9uIHRoZSBwYWNrZXRzCgkgIDIwMDcwMjE1MTAxMDMwLTY1MDM1LTcxNDZhM2M0YThkMGZlYWI1MTNkMTNhMjA3YjJjZGM1ZGUzMTFmMDMuZ3oKCjIwMDctMDItMTQgMTM6NTU6MDEgKzAwMDAgIHplZXNoYW4uYWxpQG5va2lhLmNvbSA8emVlc2hhbi5hbGlAbm9raWEuY29tPgoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5jOgoJKiBnc3QvcnRwZHRtZi9nc3RydHBkdG1mc3JjLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggdGhlIGNvcHlyaWdodCBub3RpY2UKCSAgMjAwNzAyMTQxMzU1MDEtNjUwMzUtZTkwNzUzYjFmNjUyNWY3YjljMGFjMmViN2U0MGNlZjdjYTY3M2U2OC5negoKMjAwNy0wMi0xNCAxMzoxMzo1MiArMDAwMCAgemVlc2hhbi5hbGlAbm9raWEuY29tIDx6ZWVzaGFuLmFsaUBub2tpYS5jb20+CgoJKiBnc3QvcnRwZHRtZi8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L3J0cGR0bWYvTWFrZWZpbGUuYW06CgkqIGdzdC9ydHBkdG1mL2dzdHJ0cGR0bWZzcmMuYzoKCSogZ3N0L3J0cGR0bWYvZ3N0cnRwZHRtZnNyYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIFJUUCBEVE1GIGV2ZW50IHBhY2tldCBnZW5lcmF0b3IgZWxlbWVudCBhbmQgdGVzdCBhcHAgZm9yIGl0CgkgIDIwMDcwMjE0MTMxMzUyLTY1MDM1LTNjMTRhMTA0N2MzY2Q2Njk2ZjNhNzE2YTYyYjIxZDNmNGI5ZGE2MmIuZ3oKCjIwMDktMDEtMzAgMDk6MDM6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoOiBhY3R1YWxseSBzZXR0aW5nIHVwIGEgc3ltYm9saWMgbGluayBmb3IgdGhlIHByZS1jb21taXQgaG9vawoKMjAwOS0wMi0yMSAxNzo0NTowOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBBZGQgcmVhZC1vbmx5IHByb3BlcnR5IHRvIGdldCB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoKMjAwOS0wMi0yMSAxNzo0MDowMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IEFkZCBNUEVHIHZpZGVvIGJpdHJhdGUgdG8gdGhlIHRhZ3MgaWYgYXZhaWxhYmxlCgoyMDA5LTAyLTIxIDE3OjM4OjQ5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSogZ3N0L214Zi9teGZxdWFyay5jOgoJKiBnc3QvbXhmL214ZnF1YXJrLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBvc3Qgc3RydWN0dXJhbCBtZXRhZGF0YSB0cmVlIGFzIHRhZyBvbiB0aGUgYnVzCgkgIFRoaXMgd2lsbCBsYXRlciBiZSB1c2VkIHRvIGtlZXAgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgd2hlbgoJICByZW11eGluZyBhbiBNWEYgZmlsZSBhbmQgY2FuIGFsc28gYmUgdXNlZCBpbiBQaXRpdmkgZm9yIGV4YW1wbGUKCSAgdG8ga25vdyB0aGUgZmlsZSBzdHJ1Y3R1cmUgYW5kIHRvIHNlbGVjdCB3aGF0IHNob3VsZCBiZSB1c2VkCgkgIGFuZCBwbGF5ZWQuCgoyMDA5LTAyLTIxIDE2OjA5OjI3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICBteGZkZW11eDogRml4IGNhbGN1bGF0aW9uIG9mIEFFUzMgYml0cmF0ZSB0YWcKCjIwMDktMDItMjEgMTY6MDU6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgbXhmZGVtdXg6IEFkZCBoZWxwZXIgZnVuY3Rpb24gdG8gY29udmVydCBNWEZyYWN0aW9uIHRvIGdkb3VibGUgYW5kIHVzZSBpdAoKMjAwOS0wMi0yMSAxNjowMDozOSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBteGZkZW11eDogT25seSBzdG9yZSB0aGUgbWFpbiBkZXNjcmlwdG9yIGluIHNvdXJjZSBwYWNrYWdlcwoJICBGb3IgdGhlIHRyYWNrcyB3ZSBzdGlsbCByZXNvbHZlIHRoZSBkZXNjcmlwdG9ycyBidXQgdGhlCgkgIHNvdXJjZSBwYWNrYWdlIG9ubHkgY29udGFpbnMgdGhlIGRlc2NyaXB0b3IgaXQgcmVhbGx5IHJlZmVyZW5jZXMKCSAgaW5zdGVhZCBvZiBhbGwgc3ViZGVzY3JpcHRvcnMgb2YgbXVsdGlwbGUgZGVzY3JpcHRvcnMuCgkgIFRoaXMgbWFrZXMgaXQgZWFzaWVyIGxhdGVyIHRvIHNlcmlhbGl6ZSB0aGUgc3RydWN0dXJhbCBtZXRhZGF0YQoJICBhZ2Fpbi4KCjIwMDktMDItMTcgMTc6Mzc6NDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogU2V0IGZyZWUnZCBtZW1vcnkgdG8gTlVMTCB0byBwcmV2ZW50IGEgZG91YmxlIGZyZWUgbGF0ZXIgaW4gc29tZSBjYXNlcwoKMjAwOS0wMi0xNSAwOTo1MToyNSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBEb24ndCB1c2UgZ2VuZXJpYyBtZXRhZGF0YSBwYXJzZXJzIGZvciB1bmtub3duIG1ldGFkYXRhLCB0aGUgcmVzdWx0cyBhcmUgdXNlbGVzcyBhbnl3YXkKCjIwMDktMDItMTkgMTE6MzY6NDUgKzAwMDAgIFphaGVlciBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdW1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10aW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgbXBlZ3RzZGVtdXg6IHMvZmx1dHMvbXBlZ3RzCgkgIENoYW5nZSBhbGwgZGVmaW5pdGlvbnMgZnJvbSBmbHV0cyB0byBtcGVndHMuCgoyMDA5LTAyLTEwIDE4OjU4OjQwICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIEFkZCBkb2MgaW5mcmFzdHJ1Y3R1cmUgdG8gdmFsdmUKCjIwMDktMDItMTAgMTg6NTI6NTQgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgRG9jdW1lbnQgdGhlIEdzdFZhbHZlCgoyMDA5LTAyLTEwIDE4OjAzOjI2ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12YWx2ZS54bWw6CgkgIE1vdmVkIHZhbHZlIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoKMjAwOS0wMi0xMCAxNzo1NzoxNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFJlbmFtZSBmc3ZhbHZlIHRvIHZhbHZlCgoyMDA5LTAyLTEwIDE3OjU1OjQ3ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFJlLWluZGVudCB2YWx2ZSBpbiBnc3Qgc3R5bGUKCjIwMDgtMTItMTMgMDA6MzE6NDUgLTA1MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gSWdub3JlIGVycm9ycyBpZiBkcm9wcGluZyBpcyBzZXQgdG8gdHJ1ZQoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEyLTEwIDE3OjAwOjMzIC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBnZXRjYXBzIHByb3h5aW5nIHRvIHRoZSB2YWx2ZQoKMjAwOC0wOC0yMCAxNDoxMTowMiAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmViYXNlIHZhbHZlIG9udG8gZ3N0ZWxlbWVudCBpbnN0ZWFkIG9mIGJhc2V0cmFuc2Zvcm0KCjIwMDgtMDgtMTkgMTg6NDk6NTEgLTA0MDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmV2ZXJ0ICJGaXggcmVmY291bnRpbmcgaXNzdWVzIGluIHByZXBhcmVfb3V0cHV0X2J1ZmZlciIKCSAgVGhpcyByZXZlcnRzIGNvbW1pdCA2NWRkNDYwZjBhM2E5YzQ4ODJlNjM4Yzg2MjA4Zjc0ZWY2MmMzNDYwLgoKMjAwOC0wOC0wNSAxMTozMDo1NyArMDAwMCAgc2pvZXJkQGx1b24ubmV0IDxzam9lcmRAbHVvbi5uZXQ+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCByZWZjb3VudGluZyBpc3N1ZXMgaW4gcHJlcGFyZV9vdXRwdXRfYnVmZmVyCgkgIDIwMDgwODA1MTEzMDU3LWJlMGYyLTlkYzI3MDc4MWYwYTBmMjFjNjE2ZWQxMWRiZDFmMTk4ZmQxYjMyNmUuZ3oKCjIwMDgtMDQtMDkgMTY6MzI6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdW51c2VkIGRpc3Bvc2UgbWV0aG9kIGluIHZhbHZlCgkgIDIwMDgwNDA5MTYzMjIxLTNlMmRjLTkyY2NiMmRiODc0ZTQ2ZTBkOTJjMTU1MjA1NzdjMWJlMGUyYmM2MTcuZ3oKCjIwMDctMTItMTkgMjA6MzI6MzAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb250IGhvbGQgdGhlIG9iamVjdCBsb2NrIHdoaWxlIGNhbGxpbmcgYmFzZSBhbGxvYyBmdW5jdGlvbgoJICAyMDA3MTIxOTIwMzIzMC0zZTJkYy02NTE5MTc1ZDhkODE0OTY1MTViMmQ5MDYwYWMzMTY2NTA1NjBmNjkxLmd6CgoyMDA3LTEyLTE5IDIwOjMyOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFNldCB0aGUgRElTQ09OVCBmbGFnIGFmdGVyIGRyb3BwaW5nIGJ1ZmZlcnMKCSAgMjAwNzEyMTkyMDMyMTgtM2UyZGMtYmM1ZjAzZDg4ZmY1ODM3MDQwYjkyMTRkZTAxNmNjMTQyNzc2ZGZjMi5negoKMjAwNy0xMi0xOSAwMDo1NzozOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVc2UgZG8gdGhlIGFsbG9jX2J1ZmZlciBmdW5jdGlvbiBpbiB0aGUgdmFsdmUKCSAgMjAwNzEyMTkwMDU3MzktM2UyZGMtMmEwZmRmYTJmMzhmMDNhYjQ3OTFmZTVjNGFiODVlODc5MDExMzY4My5negoKMjAwNy0xMS0yMSAyMDowODo1OCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE9ubHkgc2V0IHBhc3N0aHJvdWdoIHRvIFRSVUUgb24gbmV3ZXIgdmVyc2lvbnMgb2YgZ3N0CgkgIDIwMDcxMTIxMjAwODU4LTNlMmRjLWIxNmNkZWFiYmMzYzA1NjJjNmZjN2IxMWI5Yjk3OTJjOTEwZjU2OWUuZ3oKCjIwMDctMTEtMjEgMTg6MTc6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBDb21wYXJlIG1pbm9yLCBub3QgbWFqb3IKCSAgMjAwNzExMjExODE3MjktM2UyZGMtYTU5OTdjM2I3ZjVjODY5NjYzNzA5Njk3MTRmYWNmOGVlMjQyNjU5ZC5negoKMjAwNy0xMC0yNiAyMjozNzo0OSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvZ3N0dmFsdmUuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1ha2UgdGhlIHZhbHZlIGVsZW1lbnQgd29yayB3aXRoIGdzdCA8IDAuMTAuMTMKCSAgMjAwNzEwMjYyMjM3NDktM2UyZGMtMThmNjg1YTRlNDVmYmRjZTY3N2FjNzc3NTg2ODc2ZmM3MTlkNzIyMi5negoKMjAwNy0xMC0yNCAyMjo0Mjo0NiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvTWFrZWZpbGUuYW06CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIHZhbHZlIHRvIGZzdmFsdmUKCSAgMjAwNzEwMjQyMjQyNDYtM2UyZGMtYzU0MjE2YWYyZWYwZWYzZjFhMjIwNmQ3MjNlODdiZTJhMjNhYjhlZC5negoKMjAwNy0xMC0yNCAyMjo0MTo0NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvdmFsdmUvLmdpdC1kYXJjcy1kaXI6CgkqIGdzdC92YWx2ZS9NYWtlZmlsZS5hbToKCSogZ3N0L3ZhbHZlL2dzdHZhbHZlLmM6CgkqIGdzdC92YWx2ZS9nc3R2YWx2ZS5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkIHZhbHZlIGVsZW1lbnQKCSAgMjAwNzEwMjQyMjQxNDctM2UyZGMtZjI4YWIwYzA3M2UyODM4OTRiNjVjMjJjNGY0NDM5N2M4OTdkZWMwMS5negoKMjAwOS0wMi0xMCAxOToyMDoyNiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uIHRvIHRoZSBzaXJlbiBlbmMvZGVjIHBsdWdpbnMKCjIwMDktMDItMTAgMTk6MjA6MTkgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgUmUtaW5kZW50IHRoZSBzaXJlbiBzdHVmZiB0byBiZSBnc3Qgc3R5bGUKCjIwMDktMDItMTAgMTc6Mjk6MDUgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHNpcmVuLnhtbDoKCSAgTW92ZWQgc2lyZW4gZnJvbSBnc3QtcC1mYXJzaWdodCB0byAtYmFkCgoyMDA5LTAyLTEwIDE3OjIzOjM4ICswMDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbnBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuLmM6CgkgIE1vdmUgc2lyZW4gcnRwIHBheS9kZXBheSAgdG8gZ29vZAoKMjAwOC0xMi0xMSAxNzo1NDoxOCAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTEwLTA1IDIyOjAzOjA1IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCB1bmRlcnNjb3JlIHRvIG1ha2UgdGhlIGVuY29kZXIgbGlrZSB0aGUgZGVjb2RlcgoKMjAwOC0xMC0wNSAyMjowMTo0NCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW5hbWUgb2Zmc2V0IHRvIG91dF9vZmZzZXQgdG8gbWFrZSBpdHMgbWVhbmluZyBjbGVhcmVyCgoyMDA4LTEwLTA1IDIyOjAwOjI3IC0wNDAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIENoZWNrIHRoZSBzaXplIG9mIHRoZSBpbnB1dCBidWZmZXIsIG5vdCB0aGUgb3V0cHV0IGJ1ZmZlcgoKMjAwOC0wOS0xNiAxNTo0MDowNCAtMDQwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQcmVzZXJ2ZSB0aW1lc3RhbXAKCjIwMDgtMDctMDQgMjI6MjE6MDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIHVzZWxlc3MgY2hlY2tzLCBkb2N1bWVudCBsb2NraW5nCgkgIDIwMDgwNzA0MjIyMTAzLTNlMmRjLTQ3YTdmNDljNDE0Zjk4YTE4OGZmYzQyYjA3MTg5ZGFmNTE0NzQ4M2IuZ3oKCjIwMDgtMDctMDQgMjI6MTc6NDMgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gbWFrZSBzaXJlbmVuYyB0aHJlYWQgc2FmZQoJICAyMDA4MDcwNDIyMTc0My0zZTJkYy1mOTNkYTg2NDM4Zjc1M2UxNGJlMjUxNjZhZWU0NWY4ODAyZjdkMTAwLmd6CgoyMDA4LTA3LTA0IDIwOjE4OjMwICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgdXNlIEdTVF9ERUJVR19PQkpFQ1QgaW4gc2lyZW5lbmMKCSAgMjAwODA3MDQyMDE4MzAtM2UyZGMtOGYzZTQwMWFhYTU5NGM4Y2M1ODUzYjczZjQxY2E1Y2IwNDdlZTJkMy5negoKMjAwOC0wNy0wNCAyMDoxNzo0NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5kZWMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUG9ydCBzaXJlbmRlYyB0byBHc3RlbGVtZW50CgkgIDIwMDgwNzA0MjAxNzQ0LTNlMmRjLTk5YmY3Yjg2ZTQyZGEzNjNkOGM4MjY0NDlkODRiNDM3NTE1NzJkNWUuZ3oKCjIwMDgtMDctMDQgMjA6MDQ6NTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWxlYXNlIHJlZiBhdCB0aGUgZW5kIG9mIGNoYWluCgkgIDIwMDgwNzA0MjAwNDU0LTNlMmRjLTM4NmYyNjg1ODgyYTc0ZDAxY2U1MDNmOTEzOTZlYTM3NTA2ZGJlODMuZ3oKCjIwMDgtMDctMDQgMjA6MDM6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjYWxsIHRvIHBlZWtfcGFyZW50CgkgIDIwMDgwNzA0MjAwMzE1LTNlMmRjLTZiMzBlZmQyZDMyYjZjYTk2NjA5ZjRiZGMwYzNlMjg2ZjQ0NDE3NDYuZ3oKCjIwMDgtMDctMDQgMjA6MDA6MjkgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBNYWtlIEdzdFNpcmVuRW5jIHVzZSBHU1RfKl9PQkpFQ1QgYXBwcm9wcmlhdGVseQoJICAyMDA4MDcwNDIwMDAyOS0zZTJkYy1mNjhmZGFhYTg5MjkwMzlmZDg0MTNmZjBiZjhmZjUxNGY2ZTRmYmUxLmd6CgoyMDA4LTA3LTA0IDE5OjUxOjAyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RzaXJlbmVuYy5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFBvcnQgc2lyZW5lbmMgdG8gZ3N0ZWxlbWVudAoJICAyMDA4MDcwNDE5NTEwMi0zZTJkYy1jZDc2ODc1MTJhYzU2MGZhYWYxNWY1M2UxZTI2MmQxODc0YTM2Y2RmLmd6CgoyMDA4LTA0LTI4IDIyOjIyOjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9NYWtlZmlsZS5hbToKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIExpbmsgbW9kdWxlcyB3aXRoIGxpYm0gd2hlcmUgcmVxdWlyZWQKCSAgMjAwODA0MjgyMjIyMzctM2UyZGMtYjFlOTEyMGMxZTljYTFhNTEwYmZkN2MyN2UyZDQ1ZjBkNGExMjUwNC5negoKMjAwOC0wNC0xMiAyMzo0MzoyNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9zaXJlbi9nc3RydHBzaXJlbmRlcGF5LmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmVkIGRlYnVnIG91dHB1dAoJICAyMDA4MDQxMjIzNDMyNS00ZjBmNi0zNmI5NDZhN2NhM2FiNGU1ODAyOTE3Yjg5MzBmMDM2YzUwYTkzYTI5Lmd6CgoyMDA4LTA0LTEwIDIzOjQzOjI4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gT3VwcywgdHlwbwoJICAyMDA4MDQxMDIzNDMyOC00ZjBmNi05NjJlMzc1ZTc4ZGEwNWVhYjUyODkyYTU3ZDMyMjZmZGQyZmZjODZkLmd6CgoyMDA4LTA0LTEwIDA3OjAxOjE2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3NpcmVuLy5naXQtZGFyY3MtZGlyOgoJKiBnc3Qvc2lyZW4vTWFrZWZpbGUuYW06CgkqIGdzdC9zaXJlbi9jb21tb24uYzoKCSogZ3N0L3NpcmVuL2NvbW1vbi5oOgoJKiBnc3Qvc2lyZW4vZGN0NC5jOgoJKiBnc3Qvc2lyZW4vZGN0NC5oOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZGVjb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5jOgoJKiBnc3Qvc2lyZW4vZW5jb2Rlci5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5jOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5kZXBheS5oOgoJKiBnc3Qvc2lyZW4vZ3N0cnRwc2lyZW5wYXkuYzoKCSogZ3N0L3NpcmVuL2dzdHJ0cHNpcmVucGF5Lmg6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbi5jOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW4uaDoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZGVjLmM6CgkqIGdzdC9zaXJlbi9nc3RzaXJlbmRlYy5oOgoJKiBnc3Qvc2lyZW4vZ3N0c2lyZW5lbmMuYzoKCSogZ3N0L3NpcmVuL2dzdHNpcmVuZW5jLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmM6CgkqIGdzdC9zaXJlbi9odWZmbWFuLmg6CgkqIGdzdC9zaXJlbi9odWZmbWFuX2NvbnN0cy5oOgoJKiBnc3Qvc2lyZW4vcm1sdC5jOgoJKiBnc3Qvc2lyZW4vcm1sdC5oOgoJKiBnc3Qvc2lyZW4vc2lyZW43Lmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGRlZCBTaXJlbiBlbmNvZGVyL2RlY29kZXIvcGF5bG9hZGVyL2RlcGF5bG9hZGVyCgkgIDIwMDgwNDEwMDcwMTE2LTRmMGY2LTcyZmZiZGJiMjYyZjA3YmZhYmQxZTQ2OTk3M2EwMWIzMzU5YmVlNDUuZ3oKCjIwMDktMDItMTAgMTg6NDY6MDMgKzAwMDAgIE9saXZpZXIgQ3LDqnRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgQWRkIGxpdmVhZGRlciB0byB0aGUgZG9jcwoKMjAwOS0wMi0xMCAxODozODoxMSArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgRG9jdW1lbnQgdGhlIGxpdmVhZGRlcgoKMjAwOS0wMi0xMCAxNjoxODozMiArMDAwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGl2ZWFkZGVyLnhtbDoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgTW92ZWQgbGl2ZWFkZGVyIGZyb20gZ3N0LXBsdWdpbnMtZmFyc2lnaHQgdG8gLWJhZAoJICBSZS1pbmRlbnQgbGl2ZWFkZGVyIGluIGdzdCBzdHlsZSBhbmQgYWRkIGl0IHRvIGNvbmZpZ3VyZQoKMjAwOC0xMi0xMyAwMDowOTo0NiAtMDUwMCAgT2xpdmllciBDcsOqdGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBsb2cgZm9yIG1lc3NhZ2UgdGhhdHMgb24gZXZlcnkgYnVmZmVyCgoyMDA4LTEyLTExIDE3OjU0OjE4IC0wNTAwICBPbGl2aWVyIENyw6p0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyLy5naXQtZGFyY3MtZGlyOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVtb3ZlIC5naXQtZGFyY3MtZGlyIGZpbGVzCgoyMDA4LTA4LTI3IDE3OjE2OjI3ICswMjAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGxpdmVhZGRlciA6IEhhbmRsZSBqaXR0ZXIgaW4gaW5jb21pbmcgYnVmZmVycwoJICBJbmNvbWluZyBidWZmZXJzIChlc3BlY2lhbGx5IHRob3NlIGZyb20gYW4gUlRQIGNvbm5lY3Rpb24pIG1pZ2h0IGhhdmUgc2xpZ2h0IHRpbWVzdGFtcCBqaXR0ZXIuIFRoaXMgaXMgbm9ybWFsbHkgaGFuZGxlZCBieSBhdWRpb3NpbmsgKGFjY2VwdGluZyB1cCB0byA1MDBtcyBvZiBqaXR0ZXIpLgoJICBIZXJlIHdlIGFjY2VwdCBhIG1heGltdW0gaml0dGVyIG9mIDEwbXMuIElmIGEgYnVmZmVyIGlzIHdpdGhpbiAxMG1zIG9mIHRoZSBleHBlY3RlZCB0aW1lLCB3ZSBjb3JyZWN0IGl0cyB0aW1lc3RhbXAuCgoyMDA4LTA3LTA0IDE4OjU3OjIxICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgaGFuZGxpbmcgb2YgcG9zaXRpb24gcXVlcnkgdG8gbGl2ZWFkZGVyCgkgIDIwMDgwNzA0MTg1NzIxLTNlMmRjLTdhNjg3ZTM0NmU3NGI0NGZhODQ3YzVlNWI2ZWI2NGMzZTA5NDk3NjQuZ3oKCjIwMDgtMDUtMjEgMTc6MjA6MDUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFJlcGxhY2UgQzk5IGxsYWJzIHdpdGggQzg5IGNvZGUKCSAgMjAwODA1MjExNzIwMDUtM2UyZGMtOGU2MzdkMWRhYTBlMjdjYzJlZGFlMWZkZmQwZGJmMjM4OTZmYjViYy5negoKMjAwOC0wNS0xNSAwMToyMjo1NyArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgdmFycyBiZWZvcmUgcmVzdGFydGluZyB0aHJlYWQgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNTAxMjI1Ny0zZTJkYy1lMzUyMTc1MmNmM2VhZjJiODc2N2Y0YzYyMGVhZGZjMjRhOGU4ZTMxLmd6CgoyMDA4LTA1LTE1IDAxOjIyOjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBsZW1lbnQgZmlyc3QgdmVyc2lvbiBvZiBzZWVraW5nCgkgIDIwMDgwNTE1MDEyMjI3LTNlMmRjLTdmNTNmNzhkMWMzZGZkY2RiNmU3YWQ1M2U2YzdmMTZkNWU5OThhMDUuZ3oKCjIwMDgtMDUtMTUgMDE6MjE6NDIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBkdXJhdGlvbiBxdWVyeSBmcm9tIGFkZGVyCgkgIDIwMDgwNTE1MDEyMTQyLTNlMmRjLTI3NjgxOTkxODNiZmI5ZDU2OWJlMTM4OWUzODJiZWRjMDJlM2U5NWUuZ3oKCjIwMDgtMDUtMTUgMDA6MDI6MTQgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1vdmUgZmx1c2ggc3RvcCBpbnNpZGUgd2hlcmUgaXQgYmVsb25ncwoJICAyMDA4MDUxNTAwMDIxNC0zZTJkYy1jZGE1Y2RkZDFlYWQ1YzQ4YTU1NGU5ZTliYzc1YWU2ODQzN2JjZGZiLmd6CgoyMDA4LTA1LTE0IDIzOjQ5OjQ4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmg6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBIYXZlIHRoZSBsaXZlYWRkZXIgcmVtZW1iZXIgaWYgaXRzIHBsYXlpbmcgb3Igbm90CgkgIDIwMDgwNTE0MjM0OTQ4LTNlMmRjLTkwNjRhMjdhNTRhZWY1OTg0NDRhYTZhZDY0NjMzNDU5NzkxMjA4MjguZ3oKCjIwMDgtMDUtMTQgMjM6NDk6MTAgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGJ1ZmZlciBpZiB3ZSdyZSBub3QgcGxheWluZyB3aGlsZSB0aGVyZSBpcyBubyBjbG9jawoJICAyMDA4MDUxNDIzNDkxMC0zZTJkYy0xMDk2ZWI3ZGMzZmFkYTE5YWZjODFkY2Q1MzZkOWVkYzgyMWQwZGE5Lmd6CgoyMDA4LTA1LTE0IDIzOjI2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBFbXB0eSB0aGUgcXVldWUgb24gZmx1c2ggc3RhcnQKCSAgMjAwODA1MTQyMzI2NDMtM2UyZGMtNWEzZjUyYTNmZDM3NzExNjRkZWE5NWJkMTQ0MTBkNzZiNGZjZTJhYS5negoKMjAwOC0wNS0xNCAyMzoxNzo1MiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVzZXQgcGFkIHByaXZhdGUgb24gZmx1c2ggc3RvcAoJICAyMDA4MDUxNDIzMTc1Mi0zZTJkYy0xMTNmZWMyZmFhZmMyZGMxMWMxZWFhODE4Y2I0ODhiNzFlNjAxZjliLmd6CgoyMDA4LTA1LTE0IDIzOjE2OjQzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBQYXNzIHBhZCBhcyBwYWQgdG8gcmVzZXRfcGFkX3ByaXZhdGUKCSAgMjAwODA1MTQyMzE2NDMtM2UyZGMtMDA2OTYwYjljZGMzY2U4ZTFmODkwZGM2ZDE5NDc3OGNiYzdjOTczNi5negoKMjAwOC0wNS0wMiAxOToxMDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUHJpbnQgZGVidWcgbWVzc2FnZSBpZiB3ZSByZXR1cm4gbm9uLW9rIGZyb20gY2hhaW4KCSAgMjAwODA1MDIxOTEwMDQtM2UyZGMtZjFmNzIzN2MwNmMxMTU4Y2YyN2UyOWQzMmE2OWRlMDZmNzExMjUwNi5negoKMjAwOC0wNS0wMiAxOTowOTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB3ZSBoYXZlIG5vIHBhZHMKCSAgMjAwODA1MDIxOTA5NTQtM2UyZGMtNDEzNTEyMjVlOTA5ZTZkMDgzN2E2YTYwZTE4N2QzM2FiMTg2YWQ3Ni5negoKMjAwOC0wNS0wMSAyMDozMTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ2hlY2sgdGhhdCB0aGUgZm9ybWF0IGlzIE5PVCB0aW1lCgkgIDIwMDgwNTAxMjAzMTU0LTNlMmRjLTc4MGU0NmIxZjBmZTc2YTY2ZTJkNzlhMmViODVkNzY0ZmY1ZjE4MmYuZ3oKCjIwMDgtMDQtMjggMjI6MTc6MzcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvbid0IHVzZSBnX3F1ZXVlX2NsZWFyKCkKCSAgMjAwODA0MjgyMjE3MzctM2UyZGMtYmI4ZTQ3NDg3NTFjMjllMDg1NzMxM2EwOWY4NTA2N2FiMTJjM2ZlNC5negoKMjAwOC0wNS0wMSAyMDowOTo0MCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUGFkIHB1c2ggZXZlbnQgYWZ0ZXIgdGhlIGxvY2sgaGFzIGJlZW4gdW5sb2NrZWQKCSAgMjAwODA1MDEyMDA5NDAtM2UyZGMtYWU1ZmVjNWY3OWYzMjc3N2JiYTY0OWQwZDcwMGQ0OWY3YmVkZmY0MC5negoKMjAwOC0wNS0wMSAxODoyNTo1NCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQ3JlYXRlIGdlbmVyaWMgc2VnbWVudCBpcyBub25lIHJlY2VpdmVkIGFuZCByZWZ1c2Ugbm9uLXRpbWUgc2VnbWVudHMKCSAgMjAwODA1MDExODI1NTQtM2UyZGMtYWNlNWNhMDAwNDE0NDI4ZDZkOTQ0NzhhZGM1OTI3YzlmOTE5NzVkZi5negoKMjAwOC0wNC0yOSAxNDowODowMiArMDAwMCAgU2ltb24gTWNWaXR0aWUgPHNpbW9uLm1jdml0dGllQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBZGQgbWlzc2luZyBzZW1pY29sb24gKGRpZCBhbnlvbmUgdGVzdCB0aGlzPyEpCgkgIDIwMDgwNDI5MTQwODAyLTUzZWVlLTQxZmRiNDM5MWVkZGIxMjViN2UzNDAxOTQyN2NmYTVkYzhhZmQ2YzAuZ3oKCjIwMDgtMDQtMjkgMDA6MzY6MDAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUm9idXN0bmVzcyBjaGVjaywgbWFrZSBzdXJlIHRoZSBxdWV1ZSBpcyBub3QgZW1wdHkgYmVmb3JlIHVzaW5nIHRoZSBoZWFkIGVsZW1lbnQKCSAgMjAwODA0MjkwMDM2MDAtNGYwZjYtNzA4YzY1NGI2NTgxMmNhZWIzNjEyMjQ4ZGJlMGIyZTYyNTY3YzI1MC5negoKMjAwOC0wNC0yOSAwMDozNDoxMiArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZW1vdmUgdXNlbGVzcyBjb25kaXRpb24KCSAgMjAwODA0MjkwMDM0MTItNGYwZjYtOWU4OTBhZDBhYzQ0Mjc5MWE4YjIyNjUwYTc1Y2I3NTRkN2YyZDcyMy5negoKMjAwOC0wNC0yOSAwMDowMzozOSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVjayBhZ2FpbnN0IGF1ZGlvX2J1ZmZlcl9jbGlwIHdoaWNoIGNhbiByZXR1cm4gTlVMTCBpZiB0aGUgYnVmZmVyIGlzIG91dHNpZGUgdGhlIGNsaXBwaW5nIHNlZ21lbnQKCSAgMjAwODA0MjkwMDAzMzktNGYwZjYtN2U0ZTMxZjA2NmI4N2UyOTI2NWRkYjM5Nzg5MjllNTFlZmJmZjQ3ZC5negoKMjAwOC0wNC0yOCAyMzo0OTo0OCArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGaXggb2JqZWN0IGxvY2tpbmcgaW4gc2V0Y2FwcwoJICAyMDA4MDQyODIzNDk0OC00ZjBmNi00NTg2NDM0YjQzMDhlMTE0ZjQ5NWU5MjY5OTZmYzE5NDgzYzEwNTZmLmd6CgoyMDA4LTA0LTI4IDIzOjQ5OjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBnX2NvbmRfYnJvYWRjYXN0IGluc3RlYWQgb2YgZ19jb25kX3NpZ25hbAoJICAyMDA4MDQyODIzNDkzNS00ZjBmNi1lNTFmYWIzMTc3MmIzMmYyZmIwODBhZDcwYzZiZWRlZmM1YzI2ZGM2Lmd6CgoyMDA4LTA0LTI4IDIzOjI4OjUxICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIE1heCBsYXRlbmN5IHNob3VsZCBhbHNvIGJlIGluY3JlYXNlZCBieSBvdXIgb3duIGxhdGVuY3kKCSAgMjAwODA0MjgyMzI4NTEtNGYwZjYtMDVmOWE4OTQwM2NkNTQyMTFmMmY0YTY1OTU3MDQyNzBlYWI5NjE2Zi5negoKMjAwOC0wNC0yOCAyMjozNjowNiArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRml4IGRlYWRsb2NrIG9uIGludmFsaWQgdGltZXN0YW1wIGVycm9yCgkgIDIwMDgwNDI4MjIzNjA2LTNlMmRjLTk2M2U0OGIzM2VmYWY4NGMxNmQ0ZWM0Yjc4OWE2ZGZiMmQ5MzU4YWQuZ3oKCjIwMDgtMDQtMjggMTY6MTk6NTggKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gQWRkZWQgY29tbWVudCBmb3IgY2xhcml0eQoJICAyMDA4MDQyODE2MTk1OC00ZjBmNi1jYmFhMTY2ZmJkZTk5MDEzYjU1NWM2OWFiNDhkOTY0ZDc1NzczYTdmLmd6CgoyMDA4LTA0LTI4IDE2OjEyOjM1ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIFRPRE8gY29tbWVudHMKCSAgMjAwODA0MjgxNjEyMzUtNGYwZjYtZmJjNzg1MzNkMjlkMzdiNjVhZGQ2ZjYwNDZmZWMxN2NlNWUzMGNhZS5negoKMjAwOC0wNC0yOCAxNTo1OToyNyArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBjaGVja19lb3Mgd2lsbCBhbHdheXMgcmV0dXJuIEZBTFNFIGhlcmUuLgoJICAyMDA4MDQyODE1NTkyNy00ZjBmNi0xYTkzZTI5NWQzZGY2OGE5NjM2N2I3NTA2MGE4OWE5NDdlZmE4OTQ0Lmd6CgoyMDA4LTA0LTI4IDE1OjQ5OjU2ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIGFkZGVkIGNvbW1lbnQgb24gdGhlIG5vIGNsb2NrIGVycm9yCgkgIDIwMDgwNDI4MTU0OTU2LTRmMGY2LTdlMjRlZDMxZjljODIyZTQzMjNiNjgxYTU0YmMyM2YwM2MxYTMyNWUuZ3oKCjIwMDgtMDQtMjggMTU6NDg6NTAgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gZXJyb3IgaWYgbm8gY2xvY2sgaXMgYXZhaWxhYmxlCgkgIDIwMDgwNDI4MTU0ODUwLTRmMGY2LTM4ZmRjNDEzNDgzNWM0NTdkMDA1NDMwMTU3OWQ4Y2Q0Y2JkNDk4OWEuZ3oKCjIwMDgtMDQtMjUgMjE6MDQ6NTYgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gcmVuYW1pbmcgdW51c2VkIGFyZwoJICAyMDA4MDQyNTIxMDQ1Ni00ZjBmNi1hYjFjZGM5NDRjOWJjZDc3OTUwNDI5MmIyMWRjMTc4N2Q2Y2I2MmExLmd6CgoyMDA4LTA0LTI1IDIwOjM5OjM4ICswMDAwICBZb3VuZXNzIEFsYW91aSA8eW91bmVzcy5hbGFvdWlAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIHJlbW92ZWQgdW51c2VkIHVzZXJfZGF0YSBhbmQgY29tbWVudGVkIGxpbmUKCSAgMjAwODA0MjUyMDM5MzgtNGYwZjYtNzg3Nzc4NDc1YjY0NjQ2MWRhNDBmM2UwMDAwYTEwYmM5NmUxNDJiYy5negoKMjAwOC0wNC0yNSAyMDozNzozNSArMDAwMCAgWW91bmVzcyBBbGFvdWkgPHlvdW5lc3MuYWxhb3VpQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSByZW1vdmUgdW51c2VkIGNhc2VzIGFuZCBlbXB0eSBzd2l0Y2gKCSAgMjAwODA0MjUyMDM3MzUtNGYwZjYtYzA0NDJmY2Y1N2UzZjA4YjgxYmMxYmUzZDY5ZjVjZmEwMjU3YjUyYS5negoKMjAwOC0wNC0yOCAxODozNDowOSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRXhwbGljaXQgdGhlIGRpc2NvbnQgZmxhZyBtYW5nbGluZwoJICAyMDA4MDQyODE4MzQwOS0zZTJkYy00ZGIyNTA1ZWVjYTAzM2E2MzQyNTNiNmMyZDJmNGYxMzk4ZTlmY2NhLmd6CgoyMDA4LTA0LTI4IDE4OjA3OjExICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBVbnJlZiBldmVudHMgd2hlbiB0aGV5IGFyZSBkcm9wcGVkCgkgIDIwMDgwNDI4MTgwNzExLTNlMmRjLWViNjU5Nzg3ZjE3OTU2MmYxNTQwMmM4MTlmMTg4ZGUzOThkZWVmMmQuZ3oKCjIwMDgtMDQtMjQgMjI6NDY6MjcgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFVzZSBHbGliIEdfe01BWCxNSU59e1UsfUlOVHs4LDE2LDMyfSBtYWNyb3MKCSAgMjAwODA0MjQyMjQ2MjctM2UyZGMtMTAzNmJjNThiNmI0ZGIyZjlmMTI4MzFjZGJhZTNiYzYxM2ZhY2JiZi5negoKMjAwOC0wNC0yMSAwMzoyNjoxNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5sb2NrIGxpdmVhZGRlciBlbXB0eSBidWZmZXIgZ2NvbmQgb24gZmx1c2gKCSAgMjAwODA0MjEwMzI2MTQtM2UyZGMtNGVkMjllMTU4M2ZmNjg0MzM4YmE1ZDc2MTFmNjBiMWE3ZWFmZjU2My5negoKMjAwOC0wNC0xOCAxOToyOTo0MSArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gVW5yZWYgZXZlbnQgaW5zdGVhZCBvZiBsZWFraW5nIGl0CgkgIDIwMDgwNDE4MTkyOTQxLTNlMmRjLTM1MmUyNWY2YWIyOTE2MTJiZTFkYzEzOTc5MDMwM2ExMzMzZjY1ZDcuZ3oKCjIwMDgtMDQtMDMgMTc6MDk6NTYgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIG5vbi1wZXJmZWN0IHN0cmVhbSBpc250IGFuIGVycm9yLCBsZXRzIGp1c3QgbG9nIGl0CgkgIDIwMDgwNDAzMTcwOTU2LTNlMmRjLTY2M2Y2YWY4Y2UwNjdmNDRjYTI1MWE4OWFlYmYyNjJkNGI4YTI4NjkuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MzEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFdlIHJldGltZXN0YW1wIHRvIHRoZSBydW5uaW5nIHRpbWUsIHN0YXJ0aW5nIHRoZSBzZWdtZW50cyBmcm9tIDAgc2hvdWxkIHRoZXJlZm9yZSB3b3JrCgkgIDIwMDgwNDAzMTY1NDMxLTNlMmRjLWQ5ODFhYzJmOWVhN2ZkM2M4ZDJiZTRkMjJmMTgxN2NmNzhjNjE0ZTQuZ3oKCjIwMDgtMDQtMDMgMTY6NTQ6MTUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIERvIHRoZSBtaW4vbWF4IG9mIHRoZSBsYXRlbmNpZXMgY29ycmVjdGx5CgkgIDIwMDgwNDAzMTY1NDE1LTNlMmRjLWMxMTI0YmQ4NGU2N2NmOGE5MTFhMTRiYjEyM2I4NzMxZGE5ZjRmYzQuZ3oKCjIwMDgtMDQtMDMgMDI6MTQ6MjUgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEZpeCBpbmRlbnRhdGlvbgoJICAyMDA4MDQwMzAyMTQyNS0zZTJkYy1lZmQ3M2E2ZWVkMDY3NmUxNThhZjcwNDg0ZDRlNWM0MmVhNzVkZTc0Lmd6CgoyMDA4LTA0LTAzIDAyOjAzOjE4ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSBpbiBjYXNlIHdlJ3JlIGFscmVhZHkgcGxheWluZwoJICAyMDA4MDQwMzAyMDMxOC0zZTJkYy1hZmQ1OGY5OTJjMGIzMDU3MjIxYjkxMDM0YjJmY2Q5MWYyOTZlNTJkLmd6CgoyMDA4LTA0LTAzIDAyOjAyOjUzICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBGb3IgbGF0ZW5jaWVzLCB1c2UgdGhlIG1pbiBvZiB0aGUgbWF4IGFuZCB0aGUgbWF4IG9mIHRoZSBtaW4gKGFuZCB0aGUgbWluIHdpbnMgaWYgdGhleSBjcm9zcykKCSAgMjAwODA0MDMwMjAyNTMtM2UyZGMtZGRhN2U0NzEwNzNlZTc1YTZmNjBlODQ1YzNjNTQ2YWY5YmUxOTY3NS5negoKMjAwOC0wNC0wMyAwMDo1NzoyOCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gUmVuYW1lIG5leHRfdHMgaW50byBleHBlY3RlZF90cywgbWFrZSBzdXJlIGFsbCBidWZmZXJzIGhhdmUgYSBkdXJhdGlvbgoJICAyMDA4MDQwMzAwNTcyOC0zZTJkYy04MjQ1Y2UxYmZlZWJlYmZiOGY3NTA3MzI1M2IzYzBlM2M0YjVmNTk2Lmd6CgoyMDA4LTA0LTAzIDAwOjQwOjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBEb24ndCB0cnkgdG8gc2V0IHRoZSBkaXNjb250IGZsYWcgaWYgdGhlIGR1cmF0aW9uIG9mIHRoZSBwcmV2aW91cyBpbmNvbWluZyBidWZmZXIgd2FzIG5vdCB2YWxpZAoJICAyMDA4MDQwMzAwNDAxMi0zZTJkYy02Zjk1NTIwYzkyOGMzNDc1MDhiZGY2MTg4Yzg3M2VkNzI0YWQyZGQ3Lmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZXNldCBidWZmZXJzIG9mZnNldHMgdG8gbm9uZQoJICAyMDA4MDQwMjIyNDYyNy0zZTJkYy1kM2VlOGM3ZDBjMTQxMzEwMTc4NDJkODE1OWY3ZjY4NGQwY2NlZjZkLmd6CgoyMDA4LTA0LTAyIDIyOjQ2OjEyICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBJbXBvcnQgYWRkZXIgc3JjIGV2ZW50IGhhbmRsaW5nCgkgIDIwMDgwNDAyMjI0NjEyLTNlMmRjLTIxYTY4MmIxOGZlMTg3ODJiZjdmYTQ4OTgzYzEzYzFhZDg2ZGM1YTEuZ3oKCjIwMDgtMDMtMzEgMTg6NDQ6MjEgKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIFB1c2ggb3V0IGEgc2ltcGxlIG5ld3NlZ21lbnQgZXZlbnQKCSAgMjAwODAzMzExODQ0MjEtM2UyZGMtNjk1NDRiNWIwM2FlM2JiOGMxZTNmOTY3OTc0ZmQyNTBkMDQwNTZiNS5negoKMjAwOC0wMy0zMSAxODo0NDowNCArMDAwMCAgT2xpdmllciBDcmV0ZSA8b2xpdmllci5jcmV0ZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbGl2ZWFkZGVyL2xpdmVhZGRlci5jOgoJICBbTU9WRUQgRlJPTSBHU1QtUC1GQVJTSUdIVF0gRG9uJ3QgcmV0dXJuIEVPUyBpZiB0aGVyZSBpcyBubyBzaW5rIHBhZAoJICAyMDA4MDMzMTE4NDQwNC0zZTJkYy00ODJhMTM0YjQ3ZWFkY2Q5ZjFmOWQxNDRjMDJhYjExNDUwMjhmYTA3Lmd6CgoyMDA4LTAzLTMxIDE3OjExOjE2ICswMDAwICBPbGl2aWVyIENyZXRlIDxvbGl2aWVyLmNyZXRlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9saXZlYWRkZXIvbGl2ZWFkZGVyLmM6CgkgIFtNT1ZFRCBGUk9NIEdTVC1QLUZBUlNJR0hUXSBSZWR1Y2UgbG9ja2luZyBhIGJpdCBhbmQgY2xlYW51cCBjb2RlIGEgYml0CgkgIDIwMDgwMzMxMTcxMTE2LTNlMmRjLTVkZGZiMGU0NTkwMDQ3ODBkM2Y3YTY2MGM2NGY1ODI0MzkzNmE4NDQuZ3oKCjIwMDgtMDMtMjkgMDA6NDU6MTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPG9saXZpZXIuY3JldGVAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L2xpdmVhZGRlci8uZ2l0LWRhcmNzLWRpcjoKCSogZ3N0L2xpdmVhZGRlci9NYWtlZmlsZS5hbToKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuYzoKCSogZ3N0L2xpdmVhZGRlci9saXZlYWRkZXIuaDoKCSAgW01PVkVEIEZST00gR1NULVAtRkFSU0lHSFRdIEFkZCBsaXZlYWRkZXIgZWxlbWVudAoJICAyMDA4MDMyOTAwNDUxOC0zZTJkYy00MGU0NzQ2ZmU4MmJiYzVhODcxZjAzZmU2ZmY2MDQ4ZjQzNmM5Zjg1Lmd6CgoyMDA5LTAyLTE2IDE2OjA4OjMxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBGaXggYWNjaWRlbnRhbGx5IGludHJvZHVjZWQgc3RhY2sgb3ZlcndyaXRpbmcgaW50cm9kdWNlZCBpbiBsYXN0IGNvbW1pdAoKMjAwOS0wMi0xNiAxNjowNjowMiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIGJwbWRldGVjdDogU2F2ZSBvbmUgbWVtb3J5IGFsbG9jYXRpb24gcGVyIHN0ZXJlbyBidWZmZXIKCjIwMDktMDItMTMgMTI6MTg6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBzY2FsZXRlbXBvOiBEbyBub3QgdXNlIHZvaWQgcG9pbnRlciBhcml0aG1ldGljLgoKMjAwOS0wMi0xMiAxNzozMTo1MCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuY3BwOgoJICBkc2hvd3ZpZGVvc2luazogUmV0dXJuIEFTWU5DIGFwcHJvcHJpYXRlbHkgZnJvbSBjaGFuZ2Vfc3RhdGUuCgkgIE1ha2Ugc3VyZSB3ZSBkb24ndCBkbyB0aGUgd3JvbmcgdGhpbmcgd2hlbiBvdXIgYmFzZSBjbGFzcyBpcyByZXR1cm5pbmcKCSAgQVNZTkMgaW4gc3RhdGUgY2hhbmdlcy4KCjIwMDktMDItMTIgMTU6MDE6NDggLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBmaXggY29tcGlsYXRpb24uCgkgIEFjY2lkZW50bHkgbWVyZ2VkIHBhcnQgb2Ygb25lIGNoYW5nZTsgcmVtb3ZlIGl0LgoKMjAwOS0wMi0xMiAyMjo0MDo0OCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgTWFrZSB0aGUgZGVtdXhlciByZXVzYWJsZSBpbiBSRUFEWS0+UExBWUlORy0+UkVBRFktPlBMQVlJTkcgY3ljbGVzIGJ5IGZsdXNoaW5nIGFkYXB0ZXJzIGNvcnJlY3RseS4KCjIwMDktMDItMTIgMTA6NTM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWxzbyBpbmNsdWRlIHRoZSBwaWN0dXJlL3NvdW5kL2RhdGEgZXNzZW5jZSBjb2RpbmcgaW4gdGhlIHVua25vd24gY2FwcwoKMjAwOS0wMi0xMiAwOTo0NjowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETywgd2Ugc2hvdWxkIHN1cHBvcnQgdGhlIGRyb3AtZnJhbWUgcHJvcGVydHkgb2YgdGltZWNvZGUgdHJhY2tzCgoyMDA5LTAyLTEyIDA4OjQ2OjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSAgbXhmZGVtdXg6IEZpeCByZXNvbHZhbCBvZiBpZGVudGlmaWNhdGlvbnMgZnJvbSB0aGUgcHJlZmFjZQoKMjAwOS0wMi0xMSAxODo0MDo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZkbXMxLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgbXhmZGVtdXg6IFBhcnNlIE1YRlRpbWVzdGFtcCdzIG1pbGxpc2Vjb25kcyBhbmQgYWRkIF90b19zdHJpbmcoKSBmdW5jdGlvbgoKMjAwOS0wMi0xMCAxNDoyMzowNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETwoKMjAwOS0wMi0xMiAxMDo0NjoyMyArMDEwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIG1ldGFkYXRhOiBhbHNvIHBvc3QgZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZyBlcnJvcgoKMjAwOS0wMi0xMSAxNzoyMzowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDxjc2NoYWxsZUBjcmF6eWhvcnNlLmxvY2FsZG9tYWluPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBVcGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMsIGFsc28gYWRkIHNvbWUgbWlzc2luZyBkaXN0aW5nIGRpcmVjdG9yaWVzIHRvIGEgY291cGxlIG9mIE1ha2VmaWxlcy5hbSBmaWxlcwoKMjAwOS0wMi0xMSAxNzoyMToyMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dHNlbGVjdG9yOiBGaXggY29tcGlsYXRpb24sIGFjdGl2YXRlX3NpbmtwYWQoKSBoYXMgbm8gbm90aWZ5IHBhcmFtZXRlcgoKMjAwOS0wMi0xMCAxNjoyMjo1NCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBpbnB1dC1zZWxlY3RvcjogQWN0aXZhdGUgYW5kIG5vdGlmeSBwYWQgYmVmb3JlIHByb2Nlc3NpbmcgZXZlbnRzLgoJICBFdmVudHMgc2hvdWxkIHRyaWdnZXIgcGFkIHNlbGVjdGlvbiBpZiB3ZSBkb24ndCBhbHJlYWR5IGhhdmUgYW4KCSAgZXhwbGljaXRseSBzZWxlY3RlZCBwYWQsIHNvIHRoYXQgZXZlbnRzIHByaW9yIHRvIGZpcnN0IGJ1ZmZlciBkb24ndCBnZXQKCSAgbG9zdC4KCjIwMDktMDItMTEgMDE6NTQ6MDMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbi5jOgoJICBjYW1lcmFiaW46IFNhbml0aXplIGNvbnN0YW50cyB1c2VkIGZvciBlbGVtZW50IGZhY3RvcnkgbmFtZXMuCgoyMDA5LTAyLTExIDAxOjI0OjUxICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBVc2UgdjRsMnNyYyBhcyBkZWZhdWx0IHNvdXJjZS4KCjIwMDktMDItMTEgMDE6MDc6MDQgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy8uZ2l0aWdub3JlOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IC5naXRpZ25vcmUgZ2VuZXJhdGVkIGZpbGVzLgoKMjAwOS0wMi0xMSAwMTowMjo0MiArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIHdpbjMyL2NvbW1vbi9waG90b2dyYXBoeS1lbnVtdHlwZXMuYzoKCSogd2luMzIvY29tbW9uL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5oOgoJICBwaG90b2dyYXBoeSBpbnRlcmZhY2U6IE1vdmUgZ2VuZXJhdGVkIGZpbGVzIHRvIHdpbjMyL2NvbW1vbi4KCjIwMDktMDItMTEgMDA6Mjg6NTMgKzAyMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJKiBnc3QvY2FtZXJhYmluLy5naXRpZ25vcmU6CgkgIGNhbWVyYWJpbjogQWRkIC5naXRpZ25vcmUgdG8gaGlkZSBnZW5lcmF0ZWQgc2lnbmFsIG1hcnNoYWxsZXIgZmlsZXMuCgoyMDA5LTAyLTExIDAwOjE5OjIyICswMjAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSAgY2FtZXJhYmluOiBGaXggcGx1Z2luIGRldGFpbHMgdG8gdXNlIEdTVF9QQUNLQUdFXyogdmFsdWVzLgoKMjAwOS0wMi0xMSAwMDoxNTo0MyArMDIwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkqIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOgoJICBhYWNwYXJzZTogRml4IGxpY2Vuc2Ugc3BlY2lmaWVkIGluIHBsdWdpbiBkZXRhaWxzLgoKMjAwOS0wMi0xMCAxMjoyODo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBkc2hvd2RlY3dyYXBwZXI6IFBhc3MgcGl4ZWwgYXNwZWN0IHRocm91Z2ggZnJvbSBkZW11eGVycywgaWYgc3VwcGxpZWQuCgkgIElmIHRoZSBpbmNvbWluZyBjYXBzIGhhdmUgYSBwaXhlbC1hc3BlY3QtcmF0aW8sIGVuc3VyZSBpdCdzIHNldCBvbiB0aGUKCSAgb3V0cHV0LiBDb3JyZWN0cyBQQVIgZm9yIG1hbnkgKGJ1dCBwcm9iYWJseSBub3QgYWxsKSBmaWxlcy4KCjIwMDktMDItMTAgMTI6MjY6MjUgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgZHNob3dkZWN3cmFwcGVyOiBNYWtlIGF1ZGlvIGRlY29kZXJzIGhhdmUgU0VDT05EQVJZIHJhbmsuCgkgIFRoZXNlIHdyYXBwZXJzIGFyZSBub3QgaWRlYWwsIGFuZCBmb3IgbWFueSBvZiB0aGVzZSBmb3JtYXRzIHRoZXJlIGFyZQoJICBiZXR0ZXIgZ3N0cmVhbWVyIGVsZW1lbnRzIGF2YWlsYWJsZS4gU28sIG1ha2UgdGhlIHJhbmsgU0VDT05EQVJZLiBJbgoJICBwYXJ0aWN1bGFyLCB0aGUgbXAzIGRlY29kZXIgb24gd2luWFAgZG9lc24ndCB3b3JrIHZlcnkgd2VsbC4KCjIwMDktMDItMTAgMTI6MTI6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICBkc2hvd2RlY3dyYXBwZXI6IERlbGV0ZSBvbGQgLmMgZmlsZXMgdGhhdCBhcmUgdW51c2VkCgkgIFRoZXNlIG9sZCBmaWxlcyBhcmUgc3RhbGU7IHRoZSBwbHVnaW4gd2FzIHJld3JpdHRlbiBpbiBjKysgYWdlcwoJICBhZ28uIE5vdCBzdXJlIHdoeSB0aGVzZSBhcmUgaGFuZ2luZyBhcm91bmQuCgoyMDA5LTAyLTEwIDEwOjE3OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgYnBtZGV0ZWN0OiBQYXNzIGF0IG1vc3QgMjA0OCBzYW1wbGVzIHRvIFNvdW5kVG91Y2gncyBCUE1EZXRlY3QKCSAgSW50ZXJuYWxseSBCUE1EZXRlY3QgYXNzdW1lcyB0aGF0IGF0IG1vc3QgMjA0OCBzYW1wbGVzIGFyZSBwYXNzZWQKCSAgdG8gaXQgYXQgb25jZSBhbmQgc3RvcmVzIHRob3NlIGluIGEgc3RhY2sgYWxsb2NhdGVkIHN0YXRpYyBzaXplZAoJICBhcnJheS4gSWYgd2UgcGFzcyB0b28gbWFueSBzYW1wbGVzIHRoaXMgd2lsbCByZXN1bHQgaW4gYSBidWZmZXIgb3ZlcmZsb3cKCSAgcmVzdWx0aW5nIGluIGhlYXZ5IHN0YWNrIGNvcnJ1cHRpb24gYW5kIGEgY3Jhc2guIEZpeGVzIGJ1ZyAjNTcwOTk2LgoKMjAwOS0wMi0wOSAxNzo1ODo0MiAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvYWNtbXAzZGVjL2FjbW1wM2RlYy5jOgoJICBhY21tcDNkZWM6IGZpeCBtYWpvciBtZW1vcnkgbGVha3MgYW5kIGNsZWFuIHVwIGNvZGUuCgkgIFVucmVmIGluY29taW5nIGJ1ZmZlcnMgd2hlbiB3ZSdyZSBkb25lLgoJICBSZWluZGVudCwgY2xlYW4gdXAgd2hpdGUgc3BhY2UuIEZpeCBjb21tZW50cy4KCjIwMDktMDItMDkgMTg6MTQ6MTQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogQWZ0ZXIgcHVsbGluZyB0aGUgZm9vdGVyIG1ldGFkYXRhIHJlc2V0IGVzc2VuY2UgdHJhY2sgcG9zaXRpb25zIHRvIDAKCjIwMDktMDItMDkgMTc6NTU6MDUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogV2hlbiB0cnlpbmcgdG8gZmluZCBhbiBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHRyeSB0byBmaW5kIHBvc2l0aW9uKzEgdG9vCgkgIEJ5IHNlYXJjaGluZyBmb3IgdGhlIGZvbGxvd2luZyBwb3NpdGlvbiB3ZSB3aWxsIGFkZCB0aGUgY29tcGxldGUKCSAgZ2VuZXJpYyBjb250YWluZXIgKGkuZS4gYWxsIHRyYWNrcykgYXQgdGhlIHNhbWUgcG9zaXRpb24gdG8gdGhlCgkgIGluZGV4IHdoaWNoIHNob3VsZCBtYWtlIGZpbmRpbmcgcG9zaXRpb25zIGZvciBtb3JlIHRoYW4gb25lIHRyYWNrCgkgIGEgYml0IGZhc3Rlci4KCjIwMDktMDItMDkgMTc6NDg6MzggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRm9yIG5ldyBlc3NlbmNlIHRyYWNrcyBvbmx5IHNldCB0aGUgcG9zaXRpb24gdG8gMCBpZiBpdCBzdGFydHMgaW4gdGhlIGN1cnJlbnQgcGFydGl0aW9uCgoyMDA5LTAyLTA5IDE3OjQ0OjQzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENoZWNrIGlmIHRoZSBsZW5ndGggb2YgdGhlIHNyYy9lc3NlbmNlIHRyYWNrIGFycmF5cyBhcmUgMCwgbm90IHRoZSBhcnJheSBpdHNlbGYKCjIwMDktMDItMDkgMTc6MjU6MzUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogTWFrZSBzdXJlIHRoYXQgdGhlIHNyY3BhZCBhbmQgZXNzZW5jZSB0cmFjayBhcnJheXMgYWx3YXlzIGV4aXN0CgoyMDA5LTAyLTA5IDE2OjEyOjUxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENoYW5nZSBzb21lIEdTVF9FUlJPUnMgdG8gc29tZXRoaW5nIGxlc3MgY3JpdGljYWwKCjIwMDktMDItMDkgMTY6MDk6MjIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogT25seSBnbyBpbnRvIEVPUyBhbmQgc2VuZCBzZWdtZW50LWRvbmUgYWZ0ZXIgYWxsIHRyYWNrcyBhcmUgZmluaXNoZWQKCjIwMDktMDItMDkgMTY6MDk6MTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkgIG14ZmRlbXV4OiBVcGRhdGUgVE9ETwoKMjAwOS0wMi0wOSAxNTo0ODoyMCArMDEwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQGZsdWVuZG8uY29tPgoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIGZvciBjYW1lcmFiaW4uCgoyMDA5LTAyLTA5IDEyOjAyOjUwICswMTAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSogY29tbW9uOgoJICBCdW1wIHJldmlzaW9uIHRvIHVzZSBmb3IgY29tbW9uIHN1Ym1vZHVsZS4KCjIwMDktMDEtMzAgMTY6MDk6MzAgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmdpdGlnbm9yZToKCSAgTW9yZSBmaWxlcyB0byBpZ25vcmUKCjIwMDktMDItMDUgMjM6MDY6MjMgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9jYW1lcmFiaW4uYzoKCSAgdGVzdHM6IEFkZCBjYW1lcmFiaW4gdW5pdCB0ZXN0cy4KCjIwMDktMDItMDUgMTU6NDg6MzIgKzAyMDAgIE5va2lhIENvcnBvcmF0aW9uIDxtdWx0aW1lZGlhQG1hZW1vLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2NhbWVyYWJpbi9NYWtlZmlsZS5hbToKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW5nZW5lcmFsLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluZ2VuZXJhbC5oOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbmltYWdlLmM6CgkqIGdzdC9jYW1lcmFiaW4vY2FtZXJhYmluaW1hZ2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9jYW1lcmFiaW52aWRlby5jOgoJKiBnc3QvY2FtZXJhYmluL2NhbWVyYWJpbnZpZGVvLmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmluLW1hcnNoYWwubGlzdDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW4uaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5jb2xvcmJhbGFuY2UuaDoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW5waG90b2dyYXBoeS5jOgoJKiBnc3QvY2FtZXJhYmluL2dzdGNhbWVyYWJpbnBob3RvZ3JhcGh5Lmg6CgkqIGdzdC9jYW1lcmFiaW4vZ3N0Y2FtZXJhYmlueG92ZXJsYXkuYzoKCSogZ3N0L2NhbWVyYWJpbi9nc3RjYW1lcmFiaW54b3ZlcmxheS5oOgoJICBBZGQgY2FtZXJhYmluIGVsZW1lbnQuCgoyMDA5LTAyLTA2IDEyOjA2OjIzICswMjAwICBOb2tpYSBDb3Jwb3JhdGlvbiA8bXVsdGltZWRpYUBtYWVtby5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkqIGdzdC1saWJzL2dzdC9pbnRlcmZhY2VzL3Bob3RvZ3JhcGh5LWVudW10eXBlcy5jOgoJKiBnc3QtbGlicy9nc3QvaW50ZXJmYWNlcy9waG90b2dyYXBoeS1lbnVtdHlwZXMuaDoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuYzoKCSogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvcGhvdG9ncmFwaHkuaDoKCSAgQWRkIHBob3RvZ3JhcGh5IGludGVyZmFjZS4KCjIwMDktMDItMDkgMDc6MzM6NDEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogRml4IHNlZWtpbmcgdG8gdGhlIGVuZCBvZiBmaWxlCgkgIFdoZW4gc2Vla2luZyB0byBhIHBvc2l0aW9uIHdoZXJlIG5vIG5ldyBvZmZzZXQgY2FuIGJlCgkgIGZvdW5kIG9yIGFmdGVyIHRoZSBlbmQgb2YgYSB0cmFjayBkb24ndCBzZXQgdGhlIEVPUyBmbGFnCgkgIHRvIFRSVUUgYXMgd2UgZG9uJ3QgKGFuZCBjYW4ndCkgcHVzaCBFT1MgZG93bnN0cmVhbSB0aGVuLgoJICBJbnN0ZWFkIHNldCB0aGUgY3VycmVudCBlc3NlbmNlIHRyYWNrIHBvc2l0aW9uIHRvIHRoZW4KCSAgZW5kIG9mIHRoZSBlc3NlbmNlIHRyYWNrIGFuZCBsZXQgdGhlIGxvb3Agb3IgY2hhaW4gZnVuY3Rpb24KCSAgc2V0IGV2ZXJ5dGhpbmcgdG8gRU9TIGFuZCBwdXNoIEVPUyBkb3duc3RyZWFtLgoJICBBbHNvIHJlc3RhcnQgdGhlIHBhZCdzIHRhc2sgaWYgcmVzb2x2aW5nIG1ldGFkYXRhIGZhaWxlZAoJICAocGxheWJhY2sgd2lsbCBjb250aW51ZSBhcyBiZWZvcmUpIGFuZCByZXR1cm4gRkFMU0UgZnJvbQoJICB0aGUgc2VlayBpZiBubyBuZXcgb2Zmc2V0IGNvdWxkIGJlIGZvdW5kLgoKMjAwOS0wMi0wOCAyMTo1MjowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIG14ZmRlbXV4OiBGaXggbGFzdF9zdG9wIGNhbGN1bGF0aW9uIHdoZW4gc2Vla2luZwoKMjAwOS0wMi0wOCAyMTozMTo0MCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIG14ZmRlbXV4OiBSZXNvbHZlIHNvdXJjZSBwYWNrYWdlIGJlZm9yZSBhY2Nlc3NpbmcgaXQncyBtZW1iZXJzCgoyMDA5LTAyLTA4IDIxOjIzOjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogQ29ycmVjdGx5IGltcGxlbWVudCB0aW1lc3RhbXBpbmcgaW4gYWxsIGNhc2VzCgkgIFdoZW4gdGhlIG1hdGVyaWFsIHBhY2thZ2UgdHJhY2sgYW5kIHNvdXJjZSBwYWNrYWdlIHRyYWNrCgkgIGVkaXQgcmF0ZSBhcmUgZGlmZmVyZW50IHRoZSBzb3VyY2UgcGFja2FnZSB0cmFjayBlZGl0CgkgIHJhdGUgYXBwbGllcyB0byB0aGUgc3RvcmVkIGVzc2VuY2UgYW5kIHRoZSBtYXRlcmlhbCB0cmFjawoJICBlZGl0IHJhdGUgb25seSBhcHBsaWVzIHRvIHRoZSB2YWx1ZXMgaW4gdGhlIHRyYWNrJ3Mgc2VxdWVuY2UKCSAgYW5kIGNvbXBvbmVudHMuCgoyMDA5LTAyLTA4IDIxOjIyOjE3ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IENvcnJlY3RseSBoYW5kbGUgRFVSQVRJT04gcXVlcmllcyB3aXRoIGEgbmVnYXRpdmUgZHVyYXRpb24KCjIwMDktMDItMDggMjE6MTc6MTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogV2hlbiBjaGFuZ2luZyB0byB0aGUgY29tcG9uZW50IGFmdGVyIHRoZSBsYXN0IGNvbXBvbmVudCB1cGRhdGUgdGhlIGVzc2VuY2UgdHJhY2sgcG9zaXRpb24KCjIwMDktMDItMDggMjE6MTI6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogU21hbGwgY2xlYW51cCBhbmQgYW4gYWRkaXRpb25hbCBjaGVjawoJICBVcGRhdGUgVE9ETyBsaXN0LCByZWR1Y2Ugc2l6ZSBvZiBhIHN0YWNrIGFsbG9jYXRlZCBzdHJpbmcKCSAgYW5kIGRvbid0IGFsbG93IGVzc2VuY2UgdHJhY2tzIHdpdGggYW4gaW52YWxpZCBlZGl0IHJhdGUKCjIwMDktMDItMDggMDc6MzA6NDggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRm9yIG1hdGVyaWFsIHBhY2thZ2VzIG1ha2Ugc3VyZSB0aGF0IHRyYWNrcyByZXNvbHZlIHRvIHNvdXJjZSB0cmFja3MKCjIwMDktMDItMDcgMTA6Mzg6MjYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMgY29udGFpbmluZyBETnhIRCBlc3NlbmNlCgkgIEF2aWQgdXNlcyBhIGN1c3RvbSBlc3NlbmNlIGNvbnRhaW5lciBVTCBhbmQgY3VzdG9tIGVzc2VuY2UgZWxlbWVudCBrZXlzCgkgIHRoYXQgYXJlIGZvcnR1bmF0ZWx5IGNvbXBhdGlibGUgd2l0aCB0aGUgZ2VuZXJpYyBjb250YWluZXIgZXNzZW5jZQoJICBlbGVtZW50cy4gUGFydGlhbGx5IGZpeGVzIGJ1ZyAjNTYxOTIyLgoKMjAwOS0wMi0wNyAxMDoxMzo1NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgbXhmZGVtdXg6IE1ha2UgZXNzZW5jZSB0cmFjayBjcmVhdGlvbiBhIGJpdCBtb3JlIHJvYnVzdCBhZ2FpbnN0IGJyb2tlbiBmaWxlcwoJICBTb21lIGZpbGVzIGNvbnRhaW4gbXVsdGlwbGUgdHJhY2tzIHdpdGggdGhlIHNhbWUgdHJhY2sgbnVtYmVyIGJ1dCBkaWZmZXJlbnQKCSAgdHJhY2sgaWQgaW5zaWRlIHRoZSBzYW1lIHNvdXJjZSBwYWNrYWdlLiBUaGlzIGlzIGludmFsaWQgYW5kIHdlIHNpbXBseSBpZ25vcmUKCSAgdGhlIHNlY29uZCBhbmQgZm9sbG93aW5nIG9mIHN1Y2ggdHJhYWNrcyBub3cgaW5zdGVhZCBvZiBvdmVyd3JpdGluZyB0aGUKCSAgaW5mb3JtYXRpb24gb2YgdGhlIGZpcnN0IG9uZS4KCjIwMDktMDItMDcgMTA6MDM6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogRG9uJ3QgaW5jbHVkZSBtdWx0aXBsZSBkZXNjcmlwdG9ycyBpbiB0aGUgdHJhY2sncyBkZXNjcmlwdG9ycwoKMjAwOS0wMi0wNyAwOToyNzoxMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgbXhmZGVtdXg6IEFkZCBzdXBwb3J0IGZvciBub24tc3RhbmRhcmQgQXZpZCBNWEYgZmlsZXMgY29udGFpbmluZyBEViBlc3NlbmNlCgkgIEF2aWQgdXN1YWxseSB1c2VzIGEgY3VzdG9tIGVzc2VuY2UgY29udGFpbmVyIGxhYmVsIGZvciB0aGUgZXNzZW5jZQoJICBkZXNjcmlwdG9ycyBhbmQgc3RvcmVzIHRoZSBhY3R1YWwgY29kZWMgdGhhdCBpcyB1c2VkIGluc2lkZSB0aGUKCSAgcGljdHVyZSBlc3NlbmNlIGNvZGluZyBmaWVsZCAoYW5kIGZvciBzb3VuZCBwcm9iYWJseSBpbiB0aGUgc291bmQKCSAgZXNzZW5jZSBjb2RpbmcgZmllbGQgYnV0IEkgaGF2ZSBubyBzYW1wbGUgZmlsZXMgd2l0aCBzb3VuZCkuCgkgIFBhcnRpYWxseSBmaXhlcyBidWcgIzU2MTkyMi4KCjIwMDktMDItMDYgMTE6NTc6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBteGZkZW11eDogQWRkIGRhdGEgZGVmaW5pdGlvbiBmb3IgQXZpZCB2ZW5kb3Igc3BlY2lmaWMgcGljdHVyZSBlc3NlbmNlCgoyMDA5LTAyLTA2IDExOjU1OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZvciB0cmFja3Mgd2l0aCBubyBrbm93biBtYXBwaW5nIHVzZSBkdW1teSBjYXBzCgoyMDA5LTAyLTA2IDExOjIxOjAwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IERvbid0IHJlbW92ZSBpbnZhbGlkIG5ldyBlc3NlbmNlIHRyYWNrIHR3aWNlIGZyb20gdGhlIEdQdHJBcnJheQoKMjAwOS0wMi0wNiAxMTowOToxMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgbXhmZGVtdXg6IEltcGxlbWVudCBrZXlmcmFtZSBkZXRlY3Rpb24gZm9yIE1QRUc0IHZpZGVvIHN0cmVhbXMKCjIwMDktMDItMDYgMTA6NDY6NDcgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBteGZkZW11eDogSGFuZGxlIHNvbWUgbW9yZSBzcGVjaWFsIGNhc2VzIHdoZW4gc2V0dGluZyB0aGUgcG9zaXRpb24gd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA2IDEwOjQ2OjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEFkanVzdCBsYXN0X3N0b3AgdG8gdGhlIGxhc3Qga2V5ZnJhbWUgd2hlbiBzZWVraW5nCgoyMDA5LTAyLTA2IDEwOjA2OjU5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgbXhmZGVtdXg6IEZpeCBsb2dpYyBmb3IgZmluZGluZyB0aGUgcHJldmlvdXMga2V5ZnJhbWUKCjIwMDktMDItMDYgMDk6NTM6MTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJICBteGZkZW11eDogQWRkIGtleWZyYW1lIGRldGVjdGlvbiBmb3IgTVBFRzIgdmlkZW8gc3RyZWFtcwoJICBUaGlzIGlzIHVzZWZ1bCBmb3Igc2Vla2luZyBhcyB3ZSB1c3VhbGx5IHdhbnQgdG8gc2VlayB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIFRoZSBrZXlmcmFtZSBkZXRlY3Rpb24gaXMgZG9uZSBieSBwYXJzaW5nIHRoZSBNUEVHMgoJICBlbGVtZW50YXJ5IHN0cmVhbSBhbmQgaWYgYSBHT1Agb3IgSS1mcmFtZSBwYWNrZXQgaXMgZm91bmQgd2UKCSAgYXNzdW1lIGEga2V5ZnJhbWUgaW4gdGhpcyBlZGl0IHVuaXQuCgoyMDA5LTAyLTA1IDIxOjI5OjI5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBteGZkZW11eDogUHJvdGVjdCB0aGUgbWV0YWRhdGEgd2l0aCBhIGxvY2sgYWdhaW5zdCBjb25jdXJyZW50IGFjY2VzcwoKMjAwOS0wMi0wNSAxNzo0MjozNyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBSYW5kb20gY2xlYW51cCBhbmQgc21hbGxlciBidWdmaXhlcwoJICBVc2UgZ3N0X2VsZW1lbnRfa2xhc3Nfc2V0X2RldGFpbHNfc2ltcGxlKCksIGluc3RhbGwgcHJvcGVydGllcwoJICB3aXRoIHN0YXRpYyBzdHJpbmdzLCBjcmVhdGUgcGFkcyBkaXJlY3RseSBmcm9tIHRoZSBzdGF0aWMgcGFkCgkgIHRlbXBsYXRlcywgZGlyZWN0bHkgcHV0IHRoZSBzZWdtZW50IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCwKCSAgdXNlIEdTVF9NU0VDT05EIGluc3RlYWQgb2YgbnVtYmVycy4KCSAgVGhlIFBBUiBpcyBhIEdzdEZyYWN0aW9uIGFuZCBub3QgYSBkb3VibGUsIHVzZSBnc3Rfc3RydWN0dXJlX2dldF9mcmFjdGlvbigpLgoJICBTaW1wbGlmeSBzZXRjYXBzKCkgZnVuY3Rpb25zLgoKMjAwOS0wMi0wNSAxNzowMDozMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBVc2UgR1NUX1ZJREVPX0NBUFNfUkdCIGZvciB0aGUgdGVtcGxhdGUgY2FwcwoKMjAwOS0wMi0wNSAxNjo1Nzo1NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZ3MKCjIwMDktMDItMDUgMTY6NTQ6MDEgKzAxMDAgIEJlbmphbWluIFNjaG1pdHogPHZvcnRleEB3b2xwem9uZS5kZT4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL01ha2VmaWxlLmFtOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5jOgoJKiBleHQvYXNzcmVuZGVyL2dzdGFzc3JlbmRlci5oOgoJICBBZGQgYXNzcmVuZGVyIHBsdWdpbiBmb3IgcmVuZGVyaW5nIEFTUy9TU0Egc3VidGl0bGVzCgkgIFRoaXMgZWxlbWVudCBoYXMgdGhlIGFkdmFudGFnZSBvdmVyIHN1YnBhcnNlJ3MgQVNTL1NTQQoJICBzdXBwb3J0IHRoYXQgbW9yZSBmZWF0dXJlcyBhcmUgc3VwcG9ydGVkLCBsaWtlIGZhZGluZywKCSAgYnkgdXNpbmcgbGliYXNzLiBGaXhlcyBidWcgIzQ4MTA3NS4KCjIwMDktMDItMDUgMTA6NTA6MjcgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgbWV0YWRhdGEgdGVzdDogRml4IHdyb25nIGxvb3BpbmcgdmFyaWFibGUuIFRlc3QgaXMgbm93IHZhbGlkIChidXQgZmFpbHMpLgoJICBUaGUgaW5uZXIgbG9vcGluZyB3YXMgdXNpbmcgdGhlIG91dGVyIGxvb3BpbmcgdmFyaWFibGUuCgoyMDA5LTAyLTA0IDE4OjExOjAzIC0wODAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAc29uZ2JpcmRuZXN0LmNvbT4KCgkqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICBGaXggdXAgdGhpbmdzIHRoYXQgdGhlIGluZGVudCB0aGluZ3kgY29tcGxhaW5lZCBhYm91dAoKMjAwOS0wMi0wNCAxODowOTo1OCAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzoKCSAgRml4IG1ham9yIGxlYWtzIGluIHF0d3JhcHBlciBhdWRpbyBkZWNvZGVycy4KCSAgRnJlZSB0aGUgZGVjb2RlciBjb21wb25lbnQgYW5kIGF1ZGlvYnVmZmVybGlzdCB3aGVuIGNhcHMgY2hhbmdlLCBvciB3aGVuCgkgIGRpc3Bvc2luZyBlbGVtZW50LgoKMjAwOS0wMi0wNCAxNzo1MDo1MSAtMDgwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuaDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEhhbmRsZSBtYW55IG1vcmUgZWRnZSBjYXNlcyBpbiBkc2hvd3ZpZGVvc2luay4KCSAgSW5zdHJ1bWVudCB2YXJpb3VzIGNvZGVwYXRocyB3aXRoIGRlYnVnIG1lc3NhZ2VzLgoJICBIYW5kbGUgKGFzIGJlc3QgYXMgSSBjb3VsZCBzZWUgaG93IC0gaXQncyBwcmV0dHkgbmFzdHkpIG1vdmluZyBhIHZpZGVvCgkgIHdpbmRvdyB0byBhbm90aGVyIG1vbml0b3IuCgkgIEFkZCBsaXN0ZW5pbmcgZm9yIGRpcmVjdHNob3cgZXZlbnRzLgoKMjAwOS0wMi0wNCAyMjo1MDozMCArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgbXBlZ3BzZGVtdXg6IGZpeGVzIGNsb3NzaW5nIHNlZ21lbnQgZ2VuZXJhdGlvbi4KCSAgRW5zdXJlIHRoYXQgdGhlIGNsb3NzaW5nIHNlZ21lbnQgaXMgZ2VuZXJhdGVkIGNvcnJlY3RseSBhbmQgYmVpbmcKCSAgcHJvcGVybHkgcHVzaGVkLgoJICBBZGRlZCBzb21lIEdTVF9ERUJVRyB0byBjaGVjayBpdC4KCSAgRW5zdXJlIHRoYXQgbGFzdF9zdG9wIGlzIHVwZGF0ZWQgaW4gc3RyZWFtIHRpbWUuCgkgIENhbGN1bGF0ZSBkdXJhdGlvbiBhcyBkZWx0YSBvZiBQVFMgYXMgaXQgc2VlbXMgbW9yZSBjb3JyZWN0IHRoYW4gZGVsdGEKCSAgb2YgU0NSIGluIHNvbWUgY2xpcHMgdGhhdCBJIHRlc3RlZC4KCjIwMDktMDItMDQgMjI6MTc6MzYgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgIG1wZWdwc2RlbXV4OiBzZXZlcmFsIGZpeGVzIG9uIHRoZSBzZWVraW5nIGZ1bmN0aW9uIGluIHB1bCBtb2RlLgoJICBSZW1vdmVkIGEgbGluZSB3cm9uZ2x5IGNvcHkgcGFzdGVkIGluIG15IHByZXZpb3VzIGNvbW1pdC4KCSAgQXZvaWQgYW4gdW5zaWduZWQgaW50ZWdlciBvdmVyZmxvdy4KCSAgU2VlayBsYXN0X3N0b3AgaW4gc3RyZWFtIHRpbWUuCgkgIENsYW1wIGxhc3Rfc3RvcCBpbiBzdHJlYW0gdGltZSBiZXR3ZWVuIGZpcnN0IGFuZCBsYXN0IFNDUi4KCSAgRml4ZWQgYSB0eXBvIGluIHRoZSBHU1RfREVCVUcgbGluZSBhbmQgYWRkZWQgc29tZSBtb3JlIGluZm8uCgoyMDA5LTAyLTA0IDE2OjIwOjQwICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJICBNb3ZlZCB2YXIgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbiBvZiBmdW5jdGlvbgoKMjAwOS0wMi0wNCAxNjoxODoyNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSAgTWVyZ2UgYnJhbmNoICdtYXN0ZXInIG9mIHNzaDovL2dpdC5mcmVlZGVza3RvcC5vcmcvZ2l0L2dzdHJlYW1lci9nc3QtcGx1Z2lucy1iYWQKCjIwMDktMDItMDQgMTY6MTE6MjMgKzAxMDAgIEpvc2VwIFRvcnJhIDxuNzcwZ2FsYXh5QGdtYWlsLmNvbT4KCgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lmg6CgkgIEltcHJvdmVkIHNlZWtpbmcgaW4gcHVsbCBtb2RlLiBTb21lIHJlZmFjdG9yaW5nIGFuZCBzbWFsbCBmaXhlcwoKMjAwOS0wMi0wNCAxMToxMTozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBUT0RPCgoyMDA5LTAyLTA0IDExOjA5OjI2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBQb3N0IGFuIFVNSUQgdGFnIHdpdGggdGhlIGN1cnJlbnQgcGFja2FnZSdzIFVNSUQKCjIwMDktMDItMDQgMTA6NTk6NTMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNldCB0aGUgY3VycmVudCBwYXJ0aXRpb24gYWZ0ZXIgc2Vla2luZyBhbmQgTkVXU0VHTUVOVCBldmVudHMKCjIwMDktMDItMDQgMTA6NTM6NTIgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbiBwdXNoIG1vZGUgcGxheSBhbGwgcmVtYWluaW5nIHBhcnRzIG9mIHRoZSBmaWxlIG9uIEVPUyBpZiB0aGVyZSBhcmUgYW55CgoyMDA5LTAyLTA0IDEwOjM3OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgcHJvcGVydHkgdG8gc2V0IHRoZSBtYXhpbXVtIGFsbG93ZWQgdGltZSBkaWZmZXJlbmNlIGJldHdlZW4gdHJhY2tzCgoyMDA5LTAyLTA0IDEwOjI3OjAzICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgQWx3YXlzIHNldCB0aGUgY3VycmVudCBwYWNrYWdlLCBub3Qgb25seSB3aGVuIGl0IHdhcyBjaGFuZ2VkCgkgIFRoaXMgaXMgbmVjZXNzYXJ5IGFzIHRoZSBjdXJyZW50IHBhY2thZ2UgbGluayB3aWxsIGJlIHNldCB0byBOVUxMCgkgIHdoZW4gdXBkYXRlZCBtZXRhZGF0YSBpcyBwYXJzZWQgYW5kIHNob3VsZCBiZSBzZXQgaGVyZSBhZ2Fpbi4KCjIwMDktMDItMDQgMTA6MTk6NTEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBUcnkgdG8gcmVzb2x2ZSBhbGwgc3luY2hyb25pemF0aW9uIGlzc3Vlcywgbm90IG9ubHkgdGhlIGZpcnN0CgoyMDA5LTAyLTAzIDE3OjQ3OjEwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmVtb3ZlIHNvbWUgY2hlY2tzIHRoYXQgd2lsbCBhbHdheXMgYmUgVFJVRQoKMjAwOS0wMi0wMyAyMjoyNzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltLm11bGxlckBjb2xsYWJvcmEuY28udWs+CgoJKiBjb25maWd1cmUuYWM6CgkgIGNvbmZpZ3VyZS5hYzogYnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zCgoyMDA5LTAyLTAyIDIzOjI5OjI0ICswMTAwICBKb3NlcCBUb3JyYSA8bjc3MGdhbGF4eUBnbWFpbC5jb20+CgoJKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgQWxzbyBmbHVzaCBwYXJzZXIgd2hlbiBhIG5ld3NlZ21lbnQgaXMgcmVjZWl2ZWQuIEZpeGVzIGxvb3AgaW4gcmV2ZXJzZSBtb2RlLgoKMjAwOS0wMi0wMiAyMzoxMjowNyArMDEwMCAgSm9zZXAgVG9ycmEgPG43NzBnYWxheHlAZ21haWwuY29tPgoKCSogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5oOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBBZGQgcHVsbCBtb2RlIHRvIG1wZWdwc2RlbXV4IGFuZCByZXBvcnQgZHVyYXRpb24gcmVhZGluZyBmaXJzdCBhbmQgbGFzdCBQVFMuIFNvbWUgcmFuZG9tIGNsZWFudXBzLgoKMjAwOS0wMi0wMiAxNzo0NDozMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIENsZWFudXAgcGxheWJhY2sgcGFja2FnZSBzZWxlY3Rpb24gYW5kIG5vdGlmeSBhYm91dCB0aGUgY3VycmVudCBwYWNrYWdlCgoyMDA5LTAyLTAyIDE2OjIzOjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIHRhZ3MgcHJvcGVybHksIGVzcGVjaWFsbHkgb24gY29tcG9uZW50IHN3aXRjaAoKMjAwOS0wMi0wMiAxNjowNToxNCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEVycm9yIG91dCBpZiBubyBwYWRzIGNvdWxkIGJlIGNyZWF0ZWQKCjIwMDktMDItMDIgMTU6NTQ6MjMgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNvbHZlIG1ldGFkYXRhIGFuZCB1cGRhdGUgdHJhY2tzIGlmIG5lY2Vzc2FyeSBiZWZvcmUgc2Vla2luZwoKMjAwOS0wMi0wMiAxNTo1NDowMCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIERvbid0IGdvIGFmdGVyIHRoZSBsYXN0IGNvbXBvbmVudCBvZiBhIHRyYWNrCgoyMDA5LTAyLTAyIDE1OjUzOjMyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgUmV0dXJuIGFuIGVycm9yIGlmIHVwZGF0aW5nIGFuIGFscmVhZHkgZXhpc3RpbmcgcGFkIGZhaWxzCgoyMDA5LTAyLTAyIDA3OjQ0OjEyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgRml4IHNlZWtpbmcgaWYgdGhlIHNvdXJjZSBjbGlwIGR1cmF0aW9uIGlzIHVua25vd24KCjIwMDktMDItMDEgMTY6NTk6MjUgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBzZWVraW5nIGluIHB1c2ggbW9kZQoKMjAwOS0wMi0wMSAxNjo1ODo1MSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBkZWFkbG9ja3Mgd2hlbiBzZWVraW5nIGluIHB1bGwgbW9kZSBmYWlsZWQgYW5kIGNoZWNrIG5ldyBvZmZzZXQgYmVmb3JlIHVzaW5nIGl0CgoyMDA5LTAyLTAxIDE2OjU4OjAxICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgVXBkYXRlIG9mZnNldCBpbiBwdXNoIG1vZGUgYW5kIGhhbmRsZSBldmVudHMgcHJvcGVybHkKCjIwMDktMDItMDEgMTU6MDc6MDkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEltcGxlbWVudCBpbml0aWFsIHNlZWtpbmcgc3VwcG9ydCAocHVsbCBtb2RlIG9ubHkpCgoyMDA5LTAxLTMxIDExOjI5OjIwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJICBEb24ndCB1c2UgR0xpYiAyLjE2IEFQSSB1bmNvbmRpdGlvbmFsbHkKCjIwMDktMDEtMzAgMTk6NTI6NTkgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBDaGVjayBmb3IgRU9TIG9uIGFsbCBwYWRzIGFmdGVyIGFkanVzdGluZyB0aGUgZXNzZW5jZSB0cmFjayBkdXJhdGlvbnMKCjIwMDktMDEtMzAgMTk6MzM6NTYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBGaXggZHVyYXRpb24gY2FsY3VsYXRpb24gZm9yIGVzc2VuY2UgdHJhY2tzCgoyMDA5LTAxLTMwIDE1OjUwOjE2ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wbGVtZW50IEdzdEVsZW1lbnQ6OnF1ZXJ5L2dldF9xdWVyeV90eXBlcyB2ZnVuY3MKCjIwMDktMDEtMzAgMTU6MzQ6MTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBSZXNldCBhbGwgaW50ZXJuYWwgc3RhdGUgaW4gZmluYWxpemUKCjIwMDktMDEtMjkgMjA6Mjc6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBJbXByb3ZlIEVPUyBkZXRlY3Rpb24gYW5kIGZpeCBwdXNoIG1vZGUgZm9yIHRoZSBsYXN0IHB1c2hlZCBpbiBidWZmZXIKCjIwMDktMDEtMjkgMTk6NTg6NTAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEtlZXAgdHJhY2sgb2YgZXNzZW5jZSB0cmFjayBwb3NpdGlvbiB3aGVuIHBsYXlpbmcgc291cmNlIHBhY2thZ2VzCgkgIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMgYXJlIHBsYXllZCBhbmQKCSAgdGhhdCB3ZSBzZWVrIHRvIHRoZSBjb3JyZWN0IGVzc2VuY2UgZWxlbWVudHMuCgoyMDA5LTAxLTI5IDE5OjQyOjA5ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBDb21wZW5zYXRlIGZvciB0aW1lc3RhbXAvZHVyYXRpb24gcm91bmRpbmcgZXJyb3JzCgoyMDA5LTAxLTI5IDE1OjU2OjA4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgbG9naWMgdG8gY2hlY2sgYWxsIHBhZHMgd2hlbiBwdWxsaW5nIGEgcGFja2V0IHJldHVybmVkIEVPUwoJICBUaGlzIG1ha2VzIHN1cmUgdGhhdCB3ZSBmaW5pc2ggYWxsIHBhZHMgdGhhdCBhcmUgYXQgRU9TIG5vdyBpbnN0ZWFkIG9mCgkgIGp1c3QgZmluaXNoaW5nIG9uZSBhbmQgcmV0dXJuaW5nIHRvIHRoaXMgcG9pbnQgb3ZlciBhbmQgb3ZlciBhZ2Fpbi4KCjIwMDktMDEtMjkgMTU6NTU6NDQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBPbmx5IHB1c2ggYnVmZmVycyBmb3IgcGFkcyB0aGF0IGFyZSBub3QgbW9yZSB0aGFuIDUwMG1zIGJlZm9yZSBvdGhlciBwYWRzCgoyMDA5LTAxLTI5IDE1OjM5OjQwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgSW1wcm92ZSBFT1MgbG9naWMgdG8gb25seSBnbyBpbnRvIEVPUyBhZnRlciBhbGwgdHJhY2tzIGFyZSBmaW5pc2hlZAoKMjAwOS0wMS0yOCAxNzozNDo1NyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIFVwZGF0ZSBUT0RPIGxpc3QKCjIwMDktMDEtMjggMTY6Mzk6MzAgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJICBUcnkgdG8ga2VlcCB0aGUgdGltZXN0YW1wIGRpZmZlcmVuY2UgYmV0d2VlbiB0cmFja3MgbG93ZXIgdGhhbiA1MDBtcwoKMjAwOS0wMS0yNyAxNTozNjo1MyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIEZpeCBwbGF5YmFjayBvZiBhdG9tIGZpbGVzCgoyMDA5LTAxLTI3IDE1OjI3OjQ1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgS2VlcCB0cmFjayBvZiBjdXJyZW50IHBsYXliYWNrIHBvc2l0aW9uCgoyMDA5LTAxLTI3IDE0OjM4OjMwICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgU2V0IGVzc2VuY2UgdHJhY2sgcG9zaXRpb25zIHRvIDAgaWYgd2UncmUgYXQgdGhlIHN0YXJ0IHBhcnRpdGlvbgoKMjAwOS0wMS0yNyAxNDoyNToyNiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSogZ3N0L214Zi9teGZhbGF3LmM6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmR2LWRpZi5jOgoJKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkqIGdzdC9teGYvbXhmdXAuYzoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSAgR2VuZXJhdGUgYW4gaW5kZXggdGFibGUgZm9yIGVzc2VuY2Ugc3RyZWFtcwoJICBHZW5lcmF0ZSBhbiBpbmRleCB0YWJsZSBmb3IgZXNzZW5jZSBzdHJlYW1zIGR1cmluZyBwbGF5YmFjawoJICBhbmQgbWFrZSBzdXJlIHRoYXQgb25seSB0aGUgY29ycmVjdCBlc3NlbmNlIGVsZW1lbnRzIGFyZQoJICB1c2VkIGZvciBwbGF5ZWQgdHJhY2tzLgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIGhhdmUgb25lIGVzc2VuY2Ugc3RyZWFtIHVzZWQgaW4gbXVsdGlwbGUKCSAgcGxheWJhY2sgdHJhY2tzLgoJICBGaXggc29tZSBtaW5vciBidWdzLgoKMjAwOS0wMS0yNyAxNDoyMzowMyArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIERvbid0IGNvbXBsYWluIGlmIHRoZSBwcmVmYWNlIGhhcyBubyBwcmltYXJ5IHBhY2thZ2Ugc2V0CgoyMDA5LTAxLTI2IDE2OjIzOjM4ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJICBBbGxvdyBpbmRleCB0YWJsZSBzZWdtZW50cyB3aXRob3V0IHByaW1lciBwYWNrCgkgIFdoZW4gcGFyc2luZyBhbiBpbmRleCB0YWJsZSBzZWdtZW50IHdpdGhvdXQgYSB2YWxpZAoJICBwcmltZXIgcGFjayBpbiB0aGlzIHBhcnRpdGlvbiBvbmx5IHBhcnNlIHRoZSBzdGF0aWMKCSAgbG9jYWwgdGFncyBhbmQgaWdub3JlIGFsbCBkeW5hbWljIG9uZXMuCgkgIFRoaXMgYWxsb3dzIHVzIHRvIHVzZSBpbmRleCB0YWJsZSBzZWdtZW50cyBpbiBzb21lCgkgIGJyb2tlbiBmaWxlcy4KCjIwMDktMDEtMjYgMTY6MjA6MzQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBlc3NlbmNlIHRyYWNrIGFic3RyYWN0aW9uCgkgIEFkZCBhbiBhYnN0cmFjdGlvbiB0byByZXByZXNlbnQgZXNzZW5jZSB0cmFja3MgYW5kCgkgIHVzZSB0aGlzIGV2ZXJ5d2hlcmUuIFRoaXMgd2lsbCBsYXRlciBiZSB1c2VkIHRvIGtlZXAKCSAgdHJhY2sgb2YgcG9zaXRpb25zIGFuZCB0byBnZW5lcmF0ZS9oYW5kbGUgc2VlayB0YWJsZXMuCgkgIFNvbWUgcmFuZG9tIGNsZWFudXAgYW5kIHJlbmFtaW5nLgoKMjAwOS0wMS0yNiAxNDo0NzozMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2ViYXN0aWFuLmRyb2VnZUBjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIEZpeCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzCgkgIEFsbG9jYXRlIG1lbW9yeSBmb3IgdGhlIHBvcyB0YWJsZXMgYW5kIHNsaWNlIG9mZnNldHMKCSAgb2YgdGhlIGluZGV4IGVudHJpZXMgc2VwYXJhdGVseSB0byBhKSBmaXggYWxpZ25tZW50IGluCgkgIHdlaXJkIGNhc2VzIGFuZCBiKSB0byBhY3R1YWxseSBoYXZlIHNvbWV0aGluZyB0byBmcmVlKCkKCSAgaW4gdGhlIGluZGV4IHRhYmxlIHNlZ21lbnQgcmVzZXQgZnVuY3Rpb24uCgoyMDA5LTAxLTI2IDE0OjMzOjAyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzZWJhc3RpYW4uZHJvZWdlQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXByb3ZlIGRldGVjdGlvbiBvZiB0aGUgZW5kIG9mIHRoZSBoZWFkZXIgbWV0YWRhdGEKCSAgSGVhZGVyIG1ldGFkYXRhIGlzIGZpbmlzaGVkIGFmdGVyIHBhcnRpdGlvbi5oZWFkZXJfYnl0ZV9jb3VudAoJICBieXRlcyBhZnRlciB0aGUgZmlyc3QgYnl0ZSBvZiB0aGUgcHJpbWVyIHBhY2sgYXJlIGhhbmRsZWQuCgkgIEFmdGVyIHRoaXMgdGhlcmUgY2FuIG9ubHkgYmUgaW5kZXggdGFibGUgc2VnbWVudHMsIGZpbGxlciBwYWNrZXRzLAoJICBlc3NlbmNlIG9yIHRoZSBzdGFydCBvZiB0aGUgbmV4dCBwYXJ0aXRpb24uCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2Ygc29tZSBmaWxlcyB0aGF0IGhhdmUgbm9uLXN0YW5kYXJkIG1ldGFkYXRhCgkgIHBhY2tldHMgaW4gdGhlIGhlYWRlciBtZXRhZGF0YS4KCjIwMDktMDEtMzAgMTg6Mjc6MDMgLTA4MDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEBzb25nYmlyZG5lc3QuY29tPgoKCSogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgVW5yZWYgZXZlbnQgaWYgd2UgZG9uJ3QgZm9yd2FyZCBpdCwgdW5yZWYgcGFkcyB3aGVuIGRvbmUgd2l0aCB0aGVtLgoKMjAwOS0wMS0zMCAyMjoyODoxMSArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgQWRkIHJlbGVhc2VpbmZvIHdpdGggb25saW5lIHVybC4KCjIwMDktMDEtMzAgMTg6MjA6MTcgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICBGaXggY29tcGlsYXRpb24gb24gRm9ydGUuCgkgIERlcmVmZXJlbmNlIHRoZSBwb2ludGVyIHRvIHRoZSBwYXNzZWQgc29ja2V0IHRvIGNoZWNrIHRoZSBhY3R1YWwgZmQKCSAgd2hlbiBjbG9zaW5nIHRoZW0uCgkgIENhc3QgYW4gYXNzaWdubWVudCB0byBraWxsIGEgd2FybmluZy4KCjIwMDktMDEtMzAgMTg6MTg6MTAgKzAwMDAgIEphbiBTY2htaWR0IDxqYW4uc2NobWlkdEBzdW4uY29tPgoKCSogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOgoJKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgIEZpeCB0aGUgcmV0dXJuIHZhbHVlIG9mIHRoZSBkZWZhdWx0IHBhcnNlX2ZyYW1lIGZ1bmN0aW9uLgoJICBGaXggdGhlIHJldHVybiB2YWx1ZSBvZiB0aGUgZGVmYXVsdCBwYXJzZV9mcmFtZSBmdW5jdGlvbiBpbiBib3RoCgkgIGNvcGllcyBvZiBHc3RCYXNlUGFyc2UKCjIwMDktMDEtMzAgMTc6MzE6MzMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG5vcmFpc2luLm5ldD4KCgkqIGNvbW1vbjoKCSAgQnVtcCBjb21tb24KCjIwMDktMDEtMzAgMDg6NTQ6NDIgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJKiBjb21tb246CgkgIFVzZSBhIHN5bWJvbGljIGxpbmsgZm9yIHRoZSBwcmUtY29tbWl0IGNsaWVudC1zaWRlIGhvb2sKCjIwMDktMDEtMjkgMTc6NTk6MzUgLTAyMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzQGVtYmVkZGVkLnVmY2cuZWR1LmJyPgoKCSogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmg6CgkqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5oOgoJICBxdHdyYXBwZXI6IEZpeGVzIGJ1aWxkIGF0IGNhc2Ugc2Vuc2l0aXZlIHN5c3RlbXMuCgoyMDA5LTAxLTI4IDEyOjQxOjM2ICswMDAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBtcGVnZGVtdXg6IGRvIG5vdCBza2lwIHBlcyBwYWNrZXRzIHRoYXQgd2UgdGhpbmsgYXJlIGVuY3J5cHRlZAoJICBwZXMgcGFja2V0cyB0aGF0IGNsYWltIHRvIGJlIGVuY3J5cHRlZCBtYXkgbm90IGJlIHNvLCBzbyB0cmVhdCBhcyBub3JtYWwuCgkgIEp1c3QgbG9nIHRoZSBmbGFncy4KCjIwMDktMDEtMjggMTM6MjU6MTQgKzAxMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSogZ3N0L3F0bXV4L2F0b21zLmM6CgkqIGdzdC9xdG11eC9hdG9tcy5oOgoJKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6CgkgIEFkZGl0aW9uYWwgbWVkaWEgdHlwZSBzdXBwb3J0IGluIHF0bXV4IChhbmQgZnJpZW5kcykuCgkgIFN1cHBvcnQgQU1SIGFuZCBIMjYzIGZvciBib3RoIHF0bXV4IGFuZCBncHBtdXgsCgkgIGFuZCBhZGQgZXh0ZW5zaW9ucyBpbiBzYW1wbGUgdGFibGUgZGVzY3JpcHRpb24uCgoyMDA5LTAxLTI4IDEyOjI3OjQyICswMDAwICBaYWhlZXIgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSogY29tbW9uOgoJKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5jOgoJICBSZXZlcnQgIm1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IGQzZTRlNTU5OGY2YzNkYjQ0NGQwMDE0NTk3ZDM4M2VkMzVhMDI5OTguCgoyMDA5LTAxLTI4IDEyOjA2OjQ5ICswMDAwICBKb3NlcCBUb3JyYSA8am9zZXBAZmx1ZW5kby5jb20+CgoJKiBjb21tb246CgkqIGdzdC9tcGVnZGVtdXgvZ3N0cGVzZmlsdGVyLmM6CgkgIG1wZWdkZW11eDogZG8gbm90IHNraXAgcGVzIHBhY2tldHMgdGhhdCB3ZSB0aGluayBhcmUgZW5jcnlwdGVkCgkgIHBlcyBwYWNrZXRzIHRoYXQgY2xhaW0gdG8gYmUgZW5jcnlwdGVkIG1heSBub3QgYmUgc28sIHNvIHRyZWF0IGFzIG5vcm1hbC4KCSAgSnVzdCBsb2cgdGhlIGZsYWdzLgoKMjAwOS0wMS0yNCAxODoxMzozOSArMDEwMCAgSGFucyBkZSBHb2VkZSA8andyZGVnb2VkZUBmZWRvcmFwcm9qZWN0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBleHQvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvUkVBRE1FOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2NoYW5nZXMudHh0OgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2Zhc3RtaXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2l0X2RlZnMuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkXzY2OS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9hbWYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfYW1zLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2RibS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9kbWYuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfZHNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2Zhci5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9pdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9qMmIuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbWRsLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX21lZC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9tb2QuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfbXQyLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX210bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9va3QuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfcHNtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9zM20uY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfc3RtLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3VsdC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF91bXguY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL2xvYWRfd2F2LmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3htLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9tbWNtcC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9kc3AuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9mbHQuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZF9meC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZG1peC5jcHA6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvdGFibGVzLmNwcDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy90YWJsZXMuZDoKCSAgQnVpbGQgdGhlIG1vZHBsdWcgcGx1Z2luIGFnYWluc3QgdGhlIG1vZHBsdWcgbGlicmFyeSBhbmQgcmVtb3ZlIG91ciBjb3B5CgkgIEFsd2F5cyBidWlsZCB0aGUgbW9kcGx1ZyBwbHVnaW4gYWdhaW5zdCB0aGUgc3lzdGVtIG1vZHBsdWcgbGlicmFyeQoJICBhbmQgcmVtb3ZlIG91ciBvd24gY29weS4gVXNpbmcgdGhlIHN5c3RlbSB2ZXJzaW9uIGhhcyBhZHZhbnRhZ2VzCgkgIGlmIHNlY3VyaXR5IGlzc3VlcyBvciBvdGhlciBjcml0aWNhbCBidWdzIGFyZSBmb3VuZCBpbiBsaWJtb2RwbHVnCgkgIGFuZCBvdXIgb3duIGNvcHkgd2Fzbid0IHJlYWxseSBtYWludGFpbmVkIGFueXdheS4KCSAgQWxzbyBvdXIgY29weSBvbmx5IGNvbnRhaW5lZCBzb21lIHBhdGNoZXMgdG8gdXNlIEdMaWIgdHlwZXMgYW5kIGZ1bmN0aW9ucy4KCSAgRml4ZXMgYnVnICM1Njg4MzcuCgoyMDA5LTAxLTIzIDIzOjQyOjI4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBub3JhaXNpbi5uZXQ+CgoJKiAuZ2l0aWdub3JlOgoJKiBwby8uZ2l0aWdub3JlOgoJICBBZGQgbW9yZSB0byB0aGUgZ2l0aWdub3JlcwoKMjAwOS0wMS0yMyAxNDowMjoyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogZ3N0L3Jhd3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgTWFrZSBSR0IgbWFza3MgdW5zaWduZWQgaW4gcmF3dmlkZW9wYXJzZQoJICBBbGxvdyB0aGUgZnVsbCByYW5nZSBvZiAzMiBiaXQgbWFza3MgZm9yIFJHQkEvUkdCIGRhdGEgYnkgbWFraW5nIHN1cmUKCSAgdGhlIG1hc2sgcHJvcGVydGllcyBhcmUgdW5zaWduZWQuCgoyMDA5LTAxLTIzIDE2OjA5OjUxICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvdGltaWRpdHkvUkVBRE1FOgoJICBBZGQgUkVBRE1FIHdpdGggbWlkaSByZWxhdGVkIGxpbmtzLgoKMjAwOS0wMS0yMyAxNjowMDoxMCArMDIwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgTG9nIGFhYyBkZXRhaWxzIGZvdW5kIGluIGNvZGVjX2RhdGEuCgoyMDA5LTAxLTIzIDE0OjQzOjAwICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJICBDb25maWd1cmUgYnl0ZSBvcmRlciBmb3IgRVhJRi4gRml4ZXMgIzU2ODcwNAoJICBFeGlmIGJsb2NrcyBjYW4gYmUgaW4gZGlmZmVybnQgYnl0ZSBvcmRlcnMuIEFkZCBhbiBlbGVtZW50IHByb3BlcnR5IHRvIHNlbGVjdCB3aWNoIG9uZSBzaG91bGQgYmUgd3JpdHRlbi4KCjIwMDktMDEtMjMgMTI6NDY6MjggKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hYWNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1haWZmcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwZXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGMxMzk0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVpbnRlcmxhY2UyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sZWdhY3lyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ2RlbXV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW14Zi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9mYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXBjYXBwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdG11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlc2luZHZkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2J1ZmZlci5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvYnVmZmVyLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9kZWJ1Zy5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZGVidWcuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZnVuY3RhYmxlLmg6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9nc3RsZWdhY3lyZXNhbXBsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvZ3N0bGVnYWN5cmVzYW1wbGUuaDoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9sZWdhY3lyZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfY2h1bmsuYzoKCSogZ3N0L2xlZ2FjeXJlc2FtcGxlL3Jlc2FtcGxlX2Z1bmN0YWJsZS5jOgoJKiBnc3QvbGVnYWN5cmVzYW1wbGUvcmVzYW1wbGVfcmVmLmM6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9sZWdhY3lyZXNhbXBsZS5jOgoJICBSZW5hbWUgYXVkaW9yZXNhbXBsZSBmaWxlcyBhbmQgdHlwZXMgdG8gbGVnYWN5cmVzYW1wbGUKCSAgRmluaXNoIHRoZSBtb3ZlL3JlbmFtZSBvZiBhdWRpb3Jlc2FtcGxlIHRvIGxlZ2FjeXJlc2FtcGxlCgkgIHRvIHByZXZlbnQgYW55IGNvbmZ1c2lvbi4KCjIwMDktMDEtMjMgMTI6Mzk6MjEgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNlYmFzdGlhbi5kcm9lZ2VAY29sbGFib3JhLmNvLnVrPgoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2dlbmVyaWMuaDoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIC1iYWQsIGl0J3MgaW4gLWJhc2UKCjIwMDktMDEtMjMgMTI6MTM6MDAgKzAxMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0Bjb2xsYWJvcmEuY28udWs+CgoJKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICBTZW5kIEJZRSBwYWNrZXRzIGltbWVkaWF0bHkgZm9yIHNtYWxsIHNlc3Npb25zCgkgIFdoZW4gdGhlIG51bWJlciBvZiBwYXJ0aWNpcGFudHMgaXMgbGVzcyB0aGFuIDUwLCB0aGUgUkZDIGFsbG93cyBmb3Igc2VuZGluZyB0aGUKCSAgQllFIHBhY2tldCBpbW1lZGlhdGx5IGluc3RlYWQgb2YgdXNpbmcgdGhlIHJlZ3VsYXIgQllFIHRpbWVvdXQuCgkgIEZpeGVzICM1Njc4MjguCgoyMDA5LTAxLTIzIDExOjUwOjI5ICswMTAwICBIYW5zIGRlIEdvZWRlIDxqd3JkZWdvZWRlQGZlZG9yYXByb2plY3Qub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGQgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYy4gRml4ZXMgYnVnICM0Njk5MzAuCgkgIEFkZCBwcm9wZXIgc2Vla2luZyBzdXBwb3J0IHRvIG1tc3NyYyBhbmQgY2xlYW4KCSAgdXAgc29tZSBjb2RlLiBUaGlzIHJlcXVpcmVzIGxpYm1tcyA+PSAwLjQuCgoyMDA5LTAxLTIzIDEwOjQ0OjIwICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTGluayBtb2RwbHVnIHBsdWdpbiB3aXRoIC1sbS4gRml4ZXMgYnVnICM1Njg0ODMuCgoyMDA5LTAxLTIzIDEwOjExOjUyICswMTAwICBCcmlhbiBDYW1lcm9uIDxicmlhbi5jYW1lcm9uQHN1bi5jb20+CgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgRml4IGJ1aWxkIG9uIFNvbGFyaXMuIEZpeGVzIGJ1ZyAjNTY4NDgwLgoJICBGaXggbGlua2luZyBvbiBTb2xhcmlzIGJ5IGNoZWNraW5nIGZvciB0aGUgbnNsIGFuZCBzb2NrZXQKCSAgbGlicmFyaWVzIHdoaWNoIGFyZSBuZWVkZWQgZm9yIHNvY2tldCgpIGFuZCBnZXRob3N0YnluYW1lKCkuCgkgIERvbid0IGluaXRpYWxpemUgc29tZSBmaWVsZHMgb2Ygc3RydWN0IG1oIHRvIE5VTEwvMCwgdGhleSdyZQoJICBhbHJlYWR5IHNldCB0byBOVUxMLzAgYnkgYSBtZW1zZXQoKS4gQWxzbyB0aGlzIGZpZWxkcyBkb24ndAoJICBleGlzdCBvbiBTb2xhcmlzLgoKMjAwOS0wMS0yMiAxNDozNzoyMSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBTdG9yZSBhbGwgcGFydGl0aW9ucyAmIHByaW1lciBwYWNrcyBpbiBtZW1vcnkgZm9yIGZhc3RlciBhY2Nlc3MKCSAgU3RvcmUgYWxsIHBhcnRpdGlvbnMgJiBwcmltZXIgcGFja3MgaW4gbWVtb3J5IGZvciBmYXN0ZXIgYWNjZXNzLgoJICBUaGlzIGlzIGxhdGVyIG5lZWRlZCBmb3IgZmFzdCBzZWVraW5nLgoJICBQcmUtZmlsbCB0aGUgbGlzdCBvZiBwYXJ0aXRpb25zIHdpdGggdGhlIGNvbnRlbnQgb2YgdGhlIHJhbmRvbQoJICBpbmRleCBwYWNrLgoJICBEb24ndCBwYXJzZSBtZXRhZGF0YSBvZiBhbiBwYXJ0aXRpb24gdHdpY2UuCgoyMDA5LTAxLTIyIDE4OjIwOjAzICswMjAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgoJKiBjb21tb246CgkgIFVwZGF0ZSBjb21tb24gc25hcHNob3QuCgoyMDA5LTAxLTIyIDE0OjAwOjU3ICswMTAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAY29sbGFib3JhLmNvLnVrPgoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBVcGRhdGUgY29uZmlnLmggZm9yIGRldmVsb3BtZW50LgoKMjAwOS0wMS0yMiAxMzo0Njo0NCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29tbW9uOgoJICBGaXggcHJlLWNvbW1pdCBob29rCgoyMDA5LTAxLTIyIDEzOjM5OjM0ICswMTAwICBKYW4gVXJiYW5za2kgPGoudXJiYW5za2lAc3R1ZGVudHMubWltdXcuZWR1LnBsPgoKCSogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIEZpeGVzIGJ1ZyAjNTY3OTY1LgoJICBBZGQgc3VwcG9ydCBmb3IgRUNNQSBhcnJheXMgaW4gc2NyaXB0IHRhZ3MuIFRoaXMgZml4ZXMKCSAgc2Vla2luZyBvbiBzb21lIGZpbGVzIHRoYXQgaGF2ZSB0aGUgc2VlayB0YWJsZSBzdG9yZWQKCSAgaW5zaWRlIGFuIEVDTUEgYXJyYXkgaW5zdGVhZCBvZiB0aGUgbm9ybWFsIGFycmF5LgoKMjAwOS0wMS0yMiAxMzozMzoxNCArMDEwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGNvbGxhYm9yYS5jby51az4KCgkqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICBVbmxvY2sgdGhlIGppdHRlcmJ1ZmZlciBiZWZvcmUgcHVzaGluZyBvdXQgdGhlIHBhY2tldC1sb3N0IGV2ZW50cy4gTW92ZSBzb21lIGNvZGUgYmVmb3JlIHdlIGRvIHRoZSB1bmxvY2sgdG8gbWFrZSB0aGUgaml0dGVyYnVmZmVyIHN0YXRlIGNvbnNpc3RlbnQgd2hpbGUgd2UgYXJlIHVubG9ja2VkLgoKMjAwOS0wMS0yMiAxMTo1NDo0NSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkgIEZpeCBVTCBmb3IgRFRTIGFuZCBNUEVHMiBsYXllciAxCgoyMDA5LTAxLTIyIDExOjU0OjE1ICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zm1wZWcuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIEFBQyBhdWRpbwoKMjAwOS0wMS0yMiAxMTo0Nzo0OCArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkqIGdzdC9teGYvbXhmZG1zMS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFN0b3JlIE1YRiBtZXRhZGF0YSBpbiBhIGhhc2ggdGFibGUsIGtleWVkIGJ5IFVJRAoJICBTdG9yZSB0aGUgTVhGIG1ldGFkYXRhIGluIGEgaGFzaCB0YWJsZSwga2V5ZWQgYnkgdGhlCgkgIGluc3RhbmNlIFVJRC4gVGhpcyBzaW1wbGlmaWVzIHJlc29sdmFsIG9mIHRoZSBtZXRhZGF0YQoJICBhbmQgbWFrZXMgbG9vcGluZyBvdmVyIGFsbCBtZXRhZGF0YSBzZXRzIHVubmVjZXNzYXJ5CgkgIGluIG1vc3QgY2FzZXMuCgkgIEFkZGl0aW9uYWxseSBwYXJzZSBtZXRhZGF0YSBhbHdheXMuIElmIHdlIGFscmVhZHkgaGF2ZQoJICBhIG1ldGFkYXRhIHNldCB3aXRoIHRoZSBzYW1lIFVJRCByZXBsYWNlIGl0IG9ubHkgaWYKCSAgdGhlIG5ldyBtZXRhZGF0YSBzZXQgaXMgZnJvbSBhIGxhdGVyIG9mZnNldC4gVGhpcwoJICBmaXhlcyBtZXRhZGF0YSBwYXJzaW5nIG9mIGZpbGVzIHdoZXJlIGZvbGxvd2luZyBwYXJ0aXRpb25zCgkgIGRvbid0IGhhdmUgYSBjb21wbGV0ZSBjb3B5IG9mIHRoZSBwcmV2aW91cyBtZXRhZGF0YS4KCjIwMDktMDEtMjIgMTE6NDQ6NDYgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJICBCdWlsZCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgd2hpbGUgcGFyc2luZwoJICBJZiB0aGUgZmlsZSBjb250YWlucyBubyByYW5kb20gaW5kZXggcGFjayBvciBqdXN0CgkgIGFuIGludmFsaWQgb25lIGJ1aWxkIHRoZSByYW5kb20gaW5kZXggcGFjayB3aGlsZQoJICBwYXJzaW5nLgoKMjAwOS0wMS0yMiAxMTo0Mzo1NiArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZhbGF3Lmg6CgkqIGdzdC9teGYvbXhmZDEwLmM6CgkqIGdzdC9teGYvbXhmZDEwLmg6CgkqIGdzdC9teGYvbXhmZGVtdXguYzoKCSogZ3N0L214Zi9teGZkZW11eC5oOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmM6CgkqIGdzdC9teGYvbXhmZHYtZGlmLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuaDoKCSogZ3N0L214Zi9teGZtcGVnLmM6CgkqIGdzdC9teGYvbXhmbXBlZy5oOgoJKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSogZ3N0L214Zi9teGZ0eXBlcy5oOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdXAuaDoKCSogZ3N0L214Zi9teGZ2YzMuYzoKCSogZ3N0L214Zi9teGZ2YzMuaDoKCSAgVXBkYXRlIGNvcHlyaWdodHMgZm9yIDIwMDkKCjIwMDktMDEtMjIgMTE6NDI6MjQgKzAxMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmbWV0YWRhdGEuYzoKCSogZ3N0L214Zi9teGZwYXJzZS5jOgoJKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFNpbXBsaWZ5IHBhcnNpbmcgb2YgVUwvVVVJRCBhcnJheXMKCSAgU2ltcGxpZnkgcGFyc2luZyBvZiBVTC9VVUlEIGFycmF5cyBieSBhYnN0cmFjdGluZyBpdAoJICBpbnRvIGEgc2VwYXJhdGUgZnVuY3Rpb24uCgoyMDA5LTAxLTIyIDExOjM3OjIyICswMTAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJKiBnc3QvbXhmL214Zi5jOgoJKiBnc3QvbXhmL214ZmFsYXcuYzoKCSogZ3N0L214Zi9teGZkMTAuYzoKCSogZ3N0L214Zi9teGZkZW11eC5jOgoJKiBnc3QvbXhmL214ZmRtczEuYzoKCSogZ3N0L214Zi9teGZkbXMxLmg6CgkqIGdzdC9teGYvbXhmanBlZzIwMDAuYzoKCSogZ3N0L214Zi9teGZtZXRhZGF0YS5jOgoJKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkqIGdzdC9teGYvbXhmbXBlZy5jOgoJKiBnc3QvbXhmL214ZnVwLmM6CgkqIGdzdC9teGYvbXhmdmMzLmM6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIERNUzEgKFNNUFRFIFMzODBNKQoKMjAwOS0wMS0yMiAxMTowMDo1OSArMDEwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBEaXNhYmxlIHRoZSBmaWx0ZXIgcGx1Z2luIGZyb20gdGhlIGJ1aWxkCgkgIFRoZSBmaWx0ZXIgcGx1Z2luIG9ubHkgY29udGFpbnMgYSBsaW1pdGVkIElJUiBmaWx0ZXIgZWxlbWVudAoJICB3aGljaCBpcyBub3cgb2Jzb2xldGVkIGJ5IHRoZSBhdWRpb2lpcmZpbHRlciBlbGVtZW50IGZyb20KCSAgZ3N0LXBsdWdpbnMtZ29vZC9hdWRpb2Z4LgoKMjAwOS0wMS0yMiAxMTo1NjozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5Abm9yYWlzaW4ubmV0PgoKCSogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsIC0+IDAuMTAuMTAuMQoKMjAwOS0wMS0yMiAwNjoxMjo1NSArMDEwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSAgSW5zdGFsbCBhbmQgdXNlIHByZS1jb21taXQgaW5kZW50YXRpb24gaG9vayBmcm9tIGNvbW1vbgoKMjAwOS0wMS0yMSAxMjoyMjo1NCArMDEwMCAgQW5keSBXaW5nbyA8d2luZ29Ab2Jsb25nLm5ldD4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0ICJhZGQgYXVkaW9idWZmZXIgdG8gdGhlIGJ1aWxkIgoJICBUaGlzIHJldmVydHMgY29tbWl0IDFjNmFjMTcwYjlmMjE4YzY3M2MwZGFhZjVjNTY4YzYwMDBhMzdmYzMuCgoyMDA5LTAxLTIxIDEyOjE4OjQ5ICswMTAwICBBbmR5IFdpbmdvIDx3aW5nb0BvYmxvbmcubmV0PgoKCSAgYWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZAoJICAqIGNvbmZpZ3VyZS5hYzogQWRkIGF1ZGlvYnVmZmVyIHRvIHRoZSBidWlsZC4KCjIwMDktMDEtMjEgMDQ6MzI6MTYgKzAxMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJKiBhdXRvZ2VuLnNoOgoJICBhdXRvZ2VuLnNoIDogVXNlIGdpdCBzdWJtb2R1bGUKCj09PSByZWxlYXNlIDAuMTAuMTAgPT09CgoyMDA5LTAxLTE5IDIzOjE1OjM2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcnBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZWx0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRjY3AueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxlZ2FjeXJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3ViZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogcG8vTElOR1VBUzoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuMTAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4xMAoKMjAwOS0wMS0xOSAyMjo0MTo1OCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jYS5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pZC5wbzoKCSogcG8vaXQucG86CgkqIHBvL2t5LnBvOgoJKiBwby9sdC5wbzoKCSogcG8vbXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA5LTAxLTA5IDIzOjQ0OjM4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC45LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjkuMyBwcmUtcmVsZWFzZQoKMjAwOS0wMS0wOSAyMjowOTowNiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IERvbid0IGZvcndhcmQgZHVyYXRpb24gcmVxdWVzdHMgaW4gQllURVMsIHNpbmNlIHRoZSByZXR1cm5lZCB2YWx1ZSBkb2Vzbid0IG1lYW4gYW55dGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBEb24ndCBmb3J3YXJkIGR1cmF0aW9uIHJlcXVlc3RzIGluIEJZVEVTLCBzaW5jZSB0aGUgcmV0dXJuZWQKCSAgdmFsdWUgZG9lc24ndCBtZWFuIGFueXRoaW5nLiAgRml4ZXMgIzU2Njk1OQoKMjAwOS0wMS0wOSAyMTo1OTo0OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzogQWRkIHZpZGVvL3gtcXQtcGFydCBhbmQgdmlkZW8veC1tNC1wYXJ0IHRvIGNhcHMgc28gc2Nocm9lbmMvc2Nocm9wYXJzZSBjYW4gdXNlIGl0LiAgRml4ZXMgIzUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IEFkZCB2aWRlby94LXF0LXBhcnQgYW5kIHZpZGVvL3gtbTQtcGFydAoJICB0byBjYXBzIHNvIHNjaHJvZW5jL3NjaHJvcGFyc2UgY2FuIHVzZSBpdC4gIEZpeGVzICM1NjY5NTgKCjIwMDktMDEtMDkgMTY6NDk6NTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEFkZGl0aW9uYWwgcGF0Y2ggZm9yIHJlc2luIGZpeGVzIHRpbWUtYmFzZWQgc2Vla2luZyBpbiB0aXRsZXMgdGhhdCBkb24ndCBzdGFydCBhdCBzZWN0b3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBBZGRpdGlvbmFsIHBhdGNoIGZvciByZXNpbiBmaXhlcyB0aW1lLWJhc2VkIHNlZWtpbmcgaW4gdGl0bGVzCgkgIHRoYXQgZG9uJ3Qgc3RhcnQgYXQgc2VjdG9yIDAgaW4gdGhlIFZUUywgYW5kIGZpeGVzIGludGVycHJldGF0aW9uCgkgIG9mIHRoZSBjZWxsIGVsYXBzZWQgdGltZSwgc28gdGhhdCBpdCByZXBvcnRzIHRoZSBjb3JyZWN0IHRpbWUgYWZ0ZXIKCSAgdGhlIHNlZWsgY29tcGxldGVzLgoJICBSZWFsbHkgZml4ZXMgIzU2Njk1Ny4KCjIwMDktMDEtMDggMTc6NTc6MTkgKzAwMDAgIEJyaWFuIENhbWVyb24gPGJyaWFuLmNhbWVyb25Ac3VuLmNvbT4KCgkgIGV4dC9sYWRzcGEvc2VhcmNoLmM6IEF2b2lkIHNlYXJjaGluZyAobnVsbCkgcGF0aHMgb3IgY3Jhc2hpbmcgb24gcGxhdGZvcm1zIHdoZXJlIHByaW50aW5nIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIFBhdGNoIGJ5OiBCcmlhbiBDYW1lcm9uIDxicmlhbiBkb3QgY2FtZXJvbiBhdCBzdW4gZG90IGNvbT4KCSAgKiBleHQvbGFkc3BhL3NlYXJjaC5jOiAoTEFEU1BBUGx1Z2luU2VhcmNoKToKCSAgQXZvaWQgc2VhcmNoaW5nIChudWxsKSBwYXRocyBvciBjcmFzaGluZyBvbiBwbGF0Zm9ybXMgd2hlcmUgcHJpbnRpbmcgYQoJICBOVUxMIHN0cmluZyBzZWdmYXVsdHMuIEZpeGVzICM1NjcwMDQuCgoyMDA5LTAxLTA4IDEyOjQyOjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9yZXNpbmR2ZC86IEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIEFkZCBzdXBwb3J0IGZvciB0aW1lIGJhc2VkIHNlZWtpbmcuCgkgIE1ha2Ugc2V0dGluZyBkdmQ6Ly8gcmVzZXQgdG8gdGhlIGRlZmF1bHQgZGV2aWNlLgoJICBNYWtlIHRoZSAnYXVkaW9tdW5nZScgZWxlbWVudCBzZW5kIGFueSBuZXcgc2VnbWVudCBzdGFydCBiZWZvcmUKCSAgdGhlICdnYXAgZmlsbGVyJyBidWZmZXIgaXQgZ2VuZXJhdGVzLCBhbmQgYW55IHNlZ21lbnQgY2xvc2VzCgkgIGFmdGVyLgoJICBGaXhlczogIzU2Njk1NwoKMjAwOS0wMS0wOCAwOTo0MDoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHBsdWdpbiBkZXBlbmRlbmN5IGZvciB0aGUgTEFEU1BBIHBsdWdpbiBkaXJlY3Rvcmllcy4KCSAgRml4ZXMgYnVnICM1NjY4NzguCgoyMDA5LTAxLTA2IDIyOjUxOjM3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXN0IHRlc3QgaGVhZGVycyBmb3IgYW1yIGFuZCBhYWMgcGFyc2Vycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc3QgdGVzdCBoZWFkZXJzIGZvciBhbXIgYW5kIGFhYyBwYXJzZXJzLgoJICBSZW1vdmUgbGVmdG92ZXIgbGluZXMgbWVudGlvbmVkIHNwZWV4cmVzYW1wbGUgdGVzdHMuCgoyMDA5LTAxLTA2IDIyOjM1OjUwICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvYWNtbXAzZGVjL01ha2VmaWxlLmFtOiBGaXggdHlwbyBpbiB0aGUgb3Bwb3NpdGUgd2F5IHRvIGdpdmUgdGhlIHBsdWdpbiBhIHNlbnNpYmxlIG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBvcHBvc2l0ZSB3YXkgdG8gZ2l2ZSB0aGUgcGx1Z2luIGEgc2Vuc2libGUgbmFtZS4KCjIwMDktMDEtMDYgMjI6MTY6NTYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgc3lzL2FjbW1wM2RlYy9NYWtlZmlsZS5hbTogRml4IHR5cG8gaW4gdGhlIG1ha2VmaWxlIHRhcmdldCBwcmV2ZW50aW5nIGRpc3RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9hY21tcDNkZWMvTWFrZWZpbGUuYW06CgkgIEZpeCB0eXBvIGluIHRoZSBtYWtlZmlsZSB0YXJnZXQgcHJldmVudGluZyBkaXN0aW5nLgoKMjAwOS0wMS0wNSAyMzowMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMgIzU2NDQyMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1yYS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc2Vla2FibGUuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtMi5jOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwYnVmZmVyLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBwL2dzdGFwcC5jOgoJICBSZW1vdmUgQXBwU3JjL0FwcFNpbmsgdGhhdCBhcmUgbW92aW5nIHRvIC1iYXNlLiBQYXJ0aWFsbHkgZml4ZXMKCSAgIzU2NDQyMQoKMjAwOS0wMS0wNSAxNzo0MTo1MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBHdWFyZCBpbnRlcnZhbCBpcyA0IGlmIGRlc2NyaXB0b3IgcGFydCBzaG93cyBiaW5hcnkgMTEgKDMgbm90IDQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgR3VhcmQgaW50ZXJ2YWwgaXMgNCBpZiBkZXNjcmlwdG9yIHBhcnQgc2hvd3MgYmluYXJ5IDExICgzIG5vdCA0KS4KCjIwMDktMDEtMDUgMTc6MzA6NTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCBzYXRlbGxpdGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgRml4IHVwIHNhdGVsbGl0ZSBkZWxpdmVyeSBzdWJzeXN0ZW0gZGVmcy4KCjIwMDktMDEtMDUgMTc6MjY6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6IEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmg6CgkgIEZpeCB1cCB0ZXJyZXN0cmlhbCBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBkZWZzLgoJICBUaGV5IHNob3VsZCBiZSBzaGlmdGVkIG90aGVyd2lzZSB3cm9uZyB2YWx1ZXMgYXJlIHNlZW4uCgoyMDA5LTAxLTA1IDEzOjQxOjA3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogIkdlbmVyYXRpb24gVUlEIiBhbmQgIlRoaXMgR2VuZXJhdGlvbiBVSUQiIGFyZSBkaWZmZXJlbnQgc28gaGFuZGxlIHRoZW0gZGlmZmVyZW50LiBBbHNvIGJvdGggYXJlIG5vdCBwYXJ0IG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICAiR2VuZXJhdGlvbiBVSUQiIGFuZCAiVGhpcyBHZW5lcmF0aW9uIFVJRCIgYXJlIGRpZmZlcmVudCBzbyBoYW5kbGUKCSAgdGhlbSBkaWZmZXJlbnQuIEFsc28gYm90aCBhcmUgbm90IHBhcnQgb2YgZXZlcnkgbWV0YWRhdGEgdHlwZS4KCjIwMDktMDEtMDUgMTI6MzQ6MTggKzAwMDAgIFNhc2NoYSBIYXVlciA8cy5oYXVlckBwZW5ndXRyb25peC5kZT4KCgkgIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNhc2NoYSBIYXVlciA8cyBkb3QgaGF1ZXIgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICBMdW90YW8gRnUgPGwgZG90IGZ1IGF0IHBlbmd1dHJvbml4IGRvdCBkZT4KCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IChnZXRfcGl4X29mZnNldCksCgkgIChnc3RfYmF5ZXIycmdiX3NldF9jYXBzKToKCSAgRml4IGNvbG9yIG9mZnNldCBjYWxjdWxhdGlvbiBmb3IgMjRicHAuIEZpeGVzIGJ1ZyAjNTY2NjEzLgoKMjAwOS0wMS0wNSAxMToyODo0OSArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4LzogSW1wcm92ZSBtdXhpbmcgb2YgQUMzL2gyNjQgc3RyZWFtcyBhIGJpdC4gRml4ZXMgYnVnICM1NTA2MTMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogdmFuaXN0YSA8dmFuaXN0YSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfY3JlYXRlX3N0cmVhbSk6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfd3JpdGVfcG10KToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9nZXRfZXNfZGVzY3JzKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmg6CgkgIEltcHJvdmUgbXV4aW5nIG9mIEFDMy9oMjY0IHN0cmVhbXMgYSBiaXQuIEZpeGVzIGJ1ZyAjNTUwNjEzLgoKMjAwOS0wMS0wNSAxMDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBEb24ndCBhbGxvdyBuZWdhdGl2ZSBvciB6ZXJvIGVkaXQgcmF0ZXMgdG8gcHJldmVudCBkaXZpc2lvbiBieSB6ZXJvIGFuZCB3ZSBzdXBwb3J0IG5lZ2F0aXZlIGVkaXQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9uZXh0X2NvbXBvbmVudCk6CgkgIERvbid0IGFsbG93IG5lZ2F0aXZlIG9yIHplcm8gZWRpdCByYXRlcyB0byBwcmV2ZW50IGRpdmlzaW9uCgkgIGJ5IHplcm8gYW5kIHdlIHN1cHBvcnQgbmVnYXRpdmUgZWRpdCByYXRlcyBhbnl3YXkuCgoyMDA5LTAxLTA1IDEwOjI4OjU4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjayBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKToKCSAgVXNlIGh5cGhlbiBpbiBwcm9wZXJ0eSBuYW1lLCBwZXJmb3JtIHNhZmV0eSBidWZmZXIgc2l6ZSBjaGVjawoJICBwcmlvciB0byBtZW0gYWNjZXNzLCBhbmQgc29tZSBtb3JlIHBhcmVudGhlc2VzIGluIG1hY3JvLgoKMjAwOS0wMS0wNSAxMDoyMjoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfYndmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX2NsaXBfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfaW5kZXhfdGFibGVfc2VnbWVudF9wYXJzZSksIChteGZfcHJpbWVyX3BhY2tfcGFyc2UpLAoJICAobXhmX2xvY2FsX3RhZ19hZGRfdG9faGFzaF90YWJsZSk6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGRlYnVnZ2luZyBkaXNhYmxlZC4KCjIwMDktMDEtMDUgMTA6MDA6MjEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBbHNvIG1lbnRpb24ganAya2VuYyBhcyBhIGpwMmsgcGx1Z2luIGZlYXR1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxzbyBtZW50aW9uIGpwMmtlbmMgYXMgYSBqcDJrIHBsdWdpbiBmZWF0dXJlLgoKMjAwOS0wMS0wNCAxMToxMTowNiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBzeXMvZHZiL2R2YmJhc2ViaW4uYzogRml4IHNvbWUgbWVtb3J5IGxlYWtzLiBGaXhlcyBidWcgIzU2NjM1Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwIGF0IGstZC13IGRvdCBvcmc+CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5faW5pdCksCgkgIChkdmJfYmFzZV9iaW5fZmluYWxpemUpLCAoZHZiX2Jhc2VfYmluX2FjdGl2YXRlX3Byb2dyYW0pLAoJICAoZHZiX2Jhc2VfYmluX3BtdF9pbmZvX2NiKSwgKGR2Yl9iYXNlX2Jpbl9wYWRfYWRkZWRfY2IpLAoJICAoZHZiX2Jhc2VfYmluX3Byb2dyYW1fZGVzdHJveSk6CgkgIEZpeCBzb21lIG1lbW9yeSBsZWFrcy4gRml4ZXMgYnVnICM1NjYzNTYuCgoyMDA5LTAxLTAyIDE3OjQwOjA2ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBXaGVuIGFuIFNTUkMgaXMgZm91bmQgb24gdGhlIGNhcHMgb2YgdGhlIHNlbmRlciBSVFAsIHVzZSB0aGlzIGFzIHRoZSBpbnRlcm5hbCBTU1JDLiBGaXhlcyAjNTY1OTEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZXRjYXBzX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfaW50ZXJuYWxfc3NyYyk6CgkgIFdoZW4gYW4gU1NSQyBpcyBmb3VuZCBvbiB0aGUgY2FwcyBvZiB0aGUgc2VuZGVyIFJUUCwgdXNlIHRoaXMgYXMgdGhlCgkgIGludGVybmFsIFNTUkMuIEZpeGVzICM1NjU5MTAuCgoyMDA5LTAxLTAyIDE2OjUwOjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldGNhcHNfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKGNoZWNrX2NvbGxpc2lvbiksCgkgIChydHBfc2Vzc2lvbl9zY2hlZHVsZV9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NjaGVkdWxlX2J5ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBSZW5hbWUgYSBtZXRob2QgdG8gYmV0dGVyIHJlZmxlY3Qgd2hhdCBpdCByZWFsbHkgZG9lcy4KCjIwMDktMDEtMDIgMTE6MDA6MTcgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOiBNb3ZlIC1sZ2NyeXB0byBmcm9tIF9MREZMQUdTIHRvIF9MSUJBREQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9NYWtlZmlsZS5hbToKCSAgTW92ZSAtbGdjcnlwdG8gZnJvbSBfTERGTEFHUyB0byBfTElCQURELgoKMjAwOS0wMS0wMiAwMTo0NDoxMSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm8uZEBnbWFpbC5jb20+CgoJICBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06IExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgIExpbmsgYWdhaW5zdCAtbGdjcnB5dG8gZm9yIFJTQV9uZXcgYW5kIFJTQV9mcmVlLgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDktMDEtMDIgMDE6MTI6MzUgKzAwMDAgIEFsZXNzYW5kcm8gRGVjaW5hIDxhbGVzc2FuZHJvLmRAZ21haWwuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgSW5pdGlhbGl6ZSBzY3JfcmF0ZV9uIGFuZCBzY3JfcmF0ZV9kIGluIG9yZGVyIHRvIGZpeCBjb21waWxlciB3YXJuaW5ncy4KCjIwMDgtMTItMzEgMDg6NTM6MDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEltcGxlbWVudCBzdXBwb3J0IGZvciBPUDJhL2IvYyBhbmQgT1AzYS9iL2MsIGkuZS4gdHJhY2tzIHdpdGggbW9yZSB0aGFuIGEgc2luZ2xlIGNvbXBvbmVudC4gVGhpcyBjdXJyZW50bHkgb25seSB3b3Jrcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmFsYXcuYzogKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9wYWRfbmV4dF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnkpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfc2VxdWVuY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tcGVnX3ZpZGVvX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX21wZWdfYXVkaW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX3ZjM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3NpbmtfY2hhaW4pOgoJICBJbXBsZW1lbnQgc3VwcG9ydCBmb3IgT1AyYS9iL2MgYW5kIE9QM2EvYi9jLCBpLmUuIHRyYWNrcyB3aXRoCgkgIG1vcmUgdGhhbiBhIHNpbmdsZSBjb21wb25lbnQuIFRoaXMgY3VycmVudGx5IG9ubHkgd29ya3MgZm9yCgkgIHRoZSBjYXNlIHdoZXJlIHRoZSBjb21wb25lbnRzIGFyZSBzdG9yZWQgaW4gcGxheWJhY2sgb3JkZXIKCSAgaW4gdGhlIGZpbGUuCgkgIFNldCBzb21lIG1vcmUgZGVmYXVsdC9kaXN0aW5ndWlzaGVkIHZhbHVlcyBmb3IgdGhlIHN0cnVjdHVyYWwKCSAgbWV0YWRhdGEuCgkgIE1ha2Ugc29tZSB0eXBlcyBtb3JlIHN0cmljdCBieSBjaG9vc2luZyB0aGUgY29ycmVjdCBzdWJjbGFzc2VzLgoJICBTZXQgRElTQ09OVCBmbGFnIG9uIGJ1ZmZlcnMgYWZ0ZXIgYSBjb21wb25lbnQgc3dpdGNoLgoJICBUYWtlIHRoZSBsYXN0IHBhcnRpdGlvbiBmcm9tIHRoZSByYW5kb20gaW5kZXggcGFjayBmb3IgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24gb2YgdGhlIGhlYWRlciBwYXJ0aXRpb24gZG9lc24ndCByZWZlcmVuY2UgdGhlIGZvb3RlcgoJICBwYXJ0aXRpb24uIFRoaXMgZ2l2ZXMgdXMgdGhlIGZpbmFsIHN0cnVjdHVyYWwgbWV0YWRhdGEgZm9yCgkgIHNvbWUgbW9yZSBmaWxlcyBpbiB0aGUgYmVnaW5uaW5nLgoKMjAwOC0xMi0yOSAxODoyMjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IFVzZSB0aGUgYWRqdXN0ZWQgU0NSIGZvciBjYWxjdWxhdGluZyB0aGUgbXV4IHJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9mbHVwc19kZW11eF9wYXJzZV9wYWNrX3N0YXJ0KToKCSAgVXNlIHRoZSBhZGp1c3RlZCBTQ1IgZm9yIGNhbGN1bGF0aW5nIHRoZSBtdXggcmF0ZS4KCSAgRG9uJ3QgdXBkYXRlIHRoZSByYXRlIGVzdGltYXRpb24gYWZ0ZXIgYSBkaXNjb250LgoKMjAwOC0xMi0yOSAxNzo1NToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4Lio6IFRoZSBwb3NpdGlvbiBtZW1iZXIgaW4gdGhlIG5ld3NlZ21lbnQgZXZlbnQgY29ycmVzcG9uZHMgdG8gdGhlIHN0cmVhbV90aW1lIG9mIHRoZSBzZWdtZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgVGhlIHBvc2l0aW9uIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudCBjb3JyZXNwb25kcyB0byB0aGUKCSAgc3RyZWFtX3RpbWUgb2YgdGhlIHNlZ21lbnQgc3RhcnQgcG9zaXRpb24uCgoyMDA4LTEyLTI5IDE3OjMwOjAzICswMDAwICBSb2JpbiBTdG9ja2VyIDxyb2JpbkBuaWJvci5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSIHRpbWVsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJvYmluIFN0b2NrZXIgPHJvYmluIGF0IG5pYm9yIGRvdCBvcmc+CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zcmNfcXVlcnkpOgoJICBDb252ZXJ0aW5nIGZyb20gdGltZSB0byBieXRlcyBvcGVyYXRlcyBvbiB0aGUgc3RyZWFtX3RpbWUsIG5vdCB0aGUgU0NSCgkgIHRpbWVsaW5lLgoJICBUaGUgcG9zaXRpb24gcmVwb3J0aW5nIHNob3VsZCBoYXBwZW4gaW4gc3RyZWFtX3RpbWUsIG5vdCB0aGUgc2VnbWVudAoJICB0aW1lc3RhbXAgcmFuZ2UuIFNlZSAjNTU3MTYxLgoKMjAwOC0xMi0yOSAxNjo0NToyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEFkZCBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzIHRvIGNvbmZpZ3VyZSBhbmQgcmV0cmlldmUgdGhlIG1pbiBhbmQgbWF4IGxhdGVuY2llcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9hcHBfc3JjX3NldF9sYXRlbmNpZXMpLCAoZ3N0X2FwcF9zcmNfc2V0X2xhdGVuY3kpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X2xhdGVuY3kpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXJfZnVsbCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgdG8gY29uZmlndXJlIGFuZCByZXRyaWV2ZSB0aGUgbWluIGFuZCBtYXgKCSAgbGF0ZW5jaWVzLgoKMjAwOC0xMi0yOSAxNjoyOTowOCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicEBrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybCA8c2VicCBhdCBrLWQtdyBkb3Qgb3JnPgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgRml4IG1lbWxlYWsuIEZpeGVzICM1NjU2MTQuCgoyMDA4LTEyLTI5IDE2OjE4OjQ3ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxzZWJwQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgYSBzY3JhbWJsZWQgZmllbGQgdG8gdGhlIHNlcnZpY2Ugc3RydWN0dXJlcyByZXRyaWV2ZWQgZnJvbSBTRFQgdG8gZGV0ZXJtaW5lIGlmIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwgPHNlYnAgYXQgay1kLXcgZG90IG9yZz4KCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX3NkdCk6CgkgIEFkZCBhIHNjcmFtYmxlZCBmaWVsZCB0byB0aGUgc2VydmljZSBzdHJ1Y3R1cmVzIHJldHJpZXZlZCBmcm9tIFNEVCB0bwoJICBkZXRlcm1pbmUgaWYgYSBjaGFubmVsIGlzIHNjcmFtYmxlZC4gRml4ZXMgIzU2NTYxMy4KCjIwMDgtMTItMjkgMTU6NTQ6NDQgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBnc3QvcGNhcHBhcnNlLzogUGF0Y2ggdG8gbWFrZSBnc3RwY2FwcGFyc2UgY29tcGlsZSB3aXRoIG1pbmd3MzIgZ2NjLiBGaXhlcyAjNTY1NDM5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbWllbiBMZXNwaWF1IDxkYW1pZW4gZG90IGxlc3BpYXUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIFBhdGNoIHRvIG1ha2UgZ3N0cGNhcHBhcnNlIGNvbXBpbGUgd2l0aCBtaW5ndzMyIGdjYy4gRml4ZXMgIzU2NTQzOS4KCjIwMDgtMTItMjkgMTU6NDk6MzcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0Y2Fwc19zZW5kX3J0cCk6CgkgIFVzZSBtZXRob2QgdG8gZ2V0IHRoZSBpbnRlcm5hbCBTU1JDLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25naXVyZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgRml4ZXMgIzU2NTkxMC4KCjIwMDgtMTItMjkgMTU6MjE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IE9ubHkgY2hhbmdlIHRoZSBTU1JDIG9mIHRoZSBzZXNzaW9uIGFuZCByZXNldCB0aGUgaW50ZXJuYWwgc291cmNlIHdoZW4gdGhlIFNTUkMgYWN0dWFsbHkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpOgoJICBPbmx5IGNoYW5nZSB0aGUgU1NSQyBvZiB0aGUgc2Vzc2lvbiBhbmQgcmVzZXQgdGhlIGludGVybmFsIHNvdXJjZSB3aGVuCgkgIHRoZSBTU1JDIGFjdHVhbGx5IGNoYW5nZWQuIFNlZSAjNTY1OTEwLgoKMjAwOC0xMi0yOSAxNDoyMTo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS4qOiBXaGVuIG5vIHBheWxvYWQgd2FzIHNwZWNpZmllZCBvbiB0aGUgY2FwcyBidXQgdGhlcmUgd2FzIGEgY2xvY2stcmF0ZSwgYXNzdW1lIHRoZSBjbG9jay1yYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChydHBfc291cmNlX3VwZGF0ZV9jYXBzKSwgKGdldF9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgV2hlbiBubyBwYXlsb2FkIHdhcyBzcGVjaWZpZWQgb24gdGhlIGNhcHMgYnV0IHRoZXJlIHdhcyBhIGNsb2NrLXJhdGUsCgkgIGFzc3VtZSB0aGUgY2xvY2stcmF0ZSBjb3JyZXNwb25kcyB0byB0aGUgZmlyc3QgcGF5bG9hZCB0eXBlIGZvdW5kIGluIHRoZQoJICBSVFAgcGFja2V0cy4gRml4ZXMgIzU2NTUwOS4KCjIwMDgtMTItMjMgMTY6MzI6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBXaXRoIGNvbnN0YW50IHJlYWQgZmFpbHVyZXMsIG1ha2Ugc3VyZSB3ZSBleGl0IHRoZSByZWFkX2RldmljZSBtZXRob2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFdpdGggY29uc3RhbnQgcmVhZCBmYWlsdXJlcywgbWFrZSBzdXJlIHdlIGV4aXQgdGhlIHJlYWRfZGV2aWNlCgkgIG1ldGhvZC4KCjIwMDgtMTItMjMgMTU6MjY6MzAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20gZGV2aWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIHdpdGggZHZiIHJlYWQgZmFpbHVyZSB3aGVuIHVuYWJsZSB0byByZWFkIGZyb20KCSAgZGV2aWNlLgoKMjAwOC0xMi0yMyAxMjoyNTo0NyArMDAwMCAgTHVvdGFvIEZ1IDxsLmZ1QHBlbmd1dHJvbml4LmRlPgoKCSAgc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOiBGaXggdGhlIERlcHRoIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1b3RhbyBGdSA8bCBkb3QgZnUgYXQgcGVuZ3V0cm9uaXggZG90IGRlPgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuYzogKGdzdF9mYmRldnNpbmtfZ2V0Y2Fwcyk6CgkgIEZpeCB0aGUgRGVwdGggY2FsY3VsYXRpb24uCgkgIEZpeGVzICM1NjQxMTQuCgoyMDA4LTEyLTIzIDExOjM5OjU5ICswMDAwICBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0QG1pbmQuYmU+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBvdXRnb2luZyB0aW1lc3RhbXAgYW5kIG9mIHRoZSBsYXN0IHNlbmRlci1zaWRlIHRpbWUuICBUaW1lc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBcm5vdXQgVmFuZGVjYXBwZWxsZSA8YXJub3V0IGF0IG1pbmQgZG90IGJlPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEtlZXAgdHJhY2sgb2YgdGhlIGxhc3Qgb3V0Z29pbmcgdGltZXN0YW1wIGFuZCBvZiB0aGUgbGFzdCBzZW5kZXItc2lkZQoJICB0aW1lLiAgVGltZXN0YW1wcyBjYW4gb25seSBnbyBmb3J3YXJkIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlcgoJICBzaWRlLCBjYW4gb25seSBnbyBiYWNrIGlmIHRoZXkgZG8gYXQgdGhlIHNlbmRlciBzaWRlLCBhbmQgcmVtYWluIHRoZQoJICBzYW1lIGlmIHRoZXkgcmVtYWluIHRoZSBzYW1lIGF0IHRoZSBzZW5kZXIgc2lkZS4gRml4ZXMgIzU2NTMxOS4KCjIwMDgtMTItMjIgMjA6NTY6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmbXBlZy5jOiBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBoLjI2NCB2aWRlbyAoU01QVEUgUlAyMDA4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIGguMjY0IHZpZGVvIChTTVBURSBSUDIwMDgpLgoKMjAwOC0xMi0yMiAyMDozNzoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZtZXRhZGF0YS4qOiBJZiByZXNvbHZpbmcgYSBtZXRhZGF0YSBvYmplY3QgZmFpbGVkIHRoZSBmaXJzdCB0aW1lIHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgIElmIHJlc29sdmluZyBhIG1ldGFkYXRhIG9iamVjdCBmYWlsZWQgdGhlIGZpcnN0IHRpbWUgcmV0dXJuCgkgIEZBTFNFIGZvciBhIHNlY29uZCBteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKCkgY2FsbCBpbnN0ZWFkCgkgIG9mIFRSVUUuCgoyMDA4LTEyLTIyIDEwOjE0OjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQ2xlYW51cCBvZiB0aGUgaW5jbHVkZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmLmM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuYzoKCSAgKiBnc3QvbXhmL214ZmRtczEuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIENsZWFudXAgb2YgdGhlIGluY2x1ZGVzLgoKMjAwOC0xMi0xOSAxODo1Mzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguYzogRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogKGdzdF9xdF9tdXhfY2hhbmdlX3N0YXRlKToKCSAgRG8gbm90IHRlbXB0IG9yIHN1Z2dlc3QgdG8gdmlvbGF0ZSBnc3RfY29sbGVjdF9wYWRzIEFQSSBzcGVjaWZpY2F0aW9uLgoKMjAwOC0xMi0xOSAxODozMzo0NyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcXRtdXgvOiBEdWFsIGxpY2Vuc2UgcXRtdXggTEdQTC9NSVQuICBGaXhlcyAjNTY0MjMyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgRHVhbCBsaWNlbnNlIHF0bXV4IExHUEwvTUlULiAgRml4ZXMgIzU2NDIzMi4KCjIwMDgtMTItMTkgMTA6MDY6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgbXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKCkgdG8gc2V0IHJhdGUgYW5kIGNoYW5uZWxzIGFuZCB1c2UgdGhpcyBmb3IgYWxsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5jOiAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIEFkZCBteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMoKSB0bwoJICBzZXQgcmF0ZSBhbmQgY2hhbm5lbHMgYW5kIHVzZSB0aGlzIGZvciBhbGwgc291bmQgZXNzZW5jZS4KCSAgR2l2ZSBzb21lIGRlYnVnIG91dHB1dCB3aGVuIHNldHRpbmcgcGljdHVyZSBlc3NlbmNlIGNhcHMgd2l0aAoJICBpbnZhbGlkIGRlc2NyaXB0b3IgdmFsdWVzLgoJICBGaXggaGVpZ2h0IGNhbGN1bGF0aW9uIGZyb20gdGhlIGZyYW1lIGxheW91dCBhIGJpdCBtb3JlIGFuZAoJICBhZGQgYSBUT0RPIHRvIGNoZWNrIGlmIGl0J3MgcmVhbGx5IGNvcnJlY3Qgbm93IG9yIGlmIGl0IG5lZWRzCgkgIG1vcmUgZml4aW5nIChlc3BlY2lhbGx5LCBkb2VzIHRoZSBmcmFtZXJhdGUgbmVlZCBhZGp1c3RtZW50cz8pLgoKMjAwOC0xMi0xOCAxNzo0OTowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEFkZCBzdXBwb3J0IGZvciBWQy0zIChha2EgRE54SEQgZXNzZW5jZSwgc2VlIFNNUFRFIDIwMTktNCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZnZjMy5jOiAobXhmX2lzX3ZjM19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl92YzNfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdmMzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl92YzNfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ2YzMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIFZDLTMgKGFrYSBETnhIRCBlc3NlbmNlLCBzZWUgU01QVEUgMjAxOS00KS4KCSAgVGhpcyBpcyB1bnRlc3RlZCBiZWNhdXNlIG9mIGxhY2sgb2Ygc2FtcGxlIGZpbGVzIGJ1dCBzaG91bGQKCSAgd29yayBmaW5lLgoKMjAwOC0xMi0xNyAxMzo1MTo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCk6CgkgIEFkZCBhcHBzcmMgYW5kIGFwcHNpbmsgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMTItMTcgMTI6MDY6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgSW4gcHVzaCBtb2RlIHNraXAgdGhlIHJ1biBpbiBhZ2FpbiBpZiB3ZSBnZXQgYnVmZmVycyB3aXRoCgkgIGFuIG9mZnNldCBiZWZvcmUgdGhlIHJ1biBpbi4gVGhpcyBjYW4gaGFwcGVuIG9uIHNlZWtzIGZvciBleGFtcGxlLgoKMjAwOC0xMi0xNiAxNjoyNjo1MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVG90YWxseSByZW1vdmUgdGhlIGludGVybmFsIHRhZ2xpc3RzIGFuZCBmdWxseSB1c2UgdGFnc2V0dGVyLiBGaXhlcyB2YXJpb3VzIHRhZyBtdXhpbmcgaXNzdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmM6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBUb3RhbGx5IHJlbW92ZSB0aGUgaW50ZXJuYWwgdGFnbGlzdHMgYW5kIGZ1bGx5IHVzZSB0YWdzZXR0ZXIuIEZpeGVzCgkgIHZhcmlvdXMgdGFnIG11eGluZyBpc3N1ZXMuCgoyMDA4LTEyLTE2IDEyOjQ2OjM3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiBJbmNyZWFzZSB0aGUgdGltZW91dCB0byAzIG1pbnV0ZXMgdG8gcHJldmVudCB0aW1lb3V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKG14ZmRlbXV4X3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgdG8gMyBtaW51dGVzIHRvIHByZXZlbnQgdGltZW91dHMuCgoyMDA4LTEyLTE2IDEyOjM3OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC4qOiBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TIGV2ZW50IGluIHB1bGwgbW9kZS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguYzogKF9zaW5rX2V2ZW50KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5oOgoJICBNYWtlIHN1cmUgdGhlIG1haW4gbG9vcCBpcyBhbHJlYWR5IHJ1bm5pbmcgd2hlbiBoYW5kbGluZyB0aGUgRU9TCgkgIGV2ZW50IGluIHB1bGwgbW9kZS4gVGhpcyB3b3JrcyBhcm91bmQgYSByYWNlIGNvbmRpdGlvbiB0aGF0IGNhbgoJICBoYXBwZW4gaWYgdGhlIGVsZW1lbnQgZ29lcyBpbnRvIFBMQVlJTkcsIGhhbmRsZXMgZXZlcnl0aGluZyBhbmQKCSAgc2VuZHMgRU9TIGJlZm9yZSB0aGUgbWFpbiBsb29wIGlzIHN0YXJ0ZWQuCgoyMDA4LTEyLTE2IDEyOjMwOjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogSW1wbGVtZW50IGFuIGVzc2VuY2UgZWxlbWVudCBoYW5kbGluZyByZWdpc3RyeSBhbmQgdXNlIHRoaXMgaW5zdGVhZCBvZiBhbiBoYXJkY29kZWQsIGxhcmdlIGlmLXRoZW4tZWxzZSBibG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9id2ZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfYWVzM19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2FsYXdfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FsYXdfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkMTAuYzogKG14Zl9pc19kMTBfZXNzZW5jZV90cmFjayksCgkgIChteGZfZDEwX3BpY3R1cmVfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2QxMF9jcmVhdGVfY2FwcyksCgkgIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2lzX2R2X2RpZl9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kdl9kaWZfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLAoJICAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9pc19tcGVnX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9lc3NlbmNlX2VsZW1lbnRfaGFuZGxlcl9yZWdpc3RlciksCgkgIChteGZfZXNzZW5jZV9lbGVtZW50X2hhbmRsZXJfZmluZCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl9pc191cF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9jcmVhdGVfY2FwcyksIChteGZfdXBfaW5pdCk6CgkgICogZ3N0L214Zi9teGZ1cC5oOgoJICBJbXBsZW1lbnQgYW4gZXNzZW5jZSBlbGVtZW50IGhhbmRsaW5nIHJlZ2lzdHJ5IGFuZCB1c2UgdGhpcyBpbnN0ZWFkCgkgIG9mIGFuIGhhcmRjb2RlZCwgbGFyZ2UgaWYtdGhlbi1lbHNlIGJsb2NrLgoKMjAwOC0xMi0xNiAxMDo1MDo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBCbGFja2xpc3QgcmZic3JjIGZyb20gdGhlIHN0YXRlIGNoYW5nZSB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQmxhY2tsaXN0IHJmYnNyYyBmcm9tIHRoZSBzdGF0ZSBjaGFuZ2UgdGVzdC4KCjIwMDgtMTItMTYgMDk6NTk6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9teGZkZW11eC5jOiAoX3BhZF9hZGRlZCksIChfc2lua19jaGFpbiksCgkgIChfc2lua19ldmVudCksIChfY3JlYXRlX3NpbmtfcGFkKSwgKF9jcmVhdGVfc3JjX3BhZF9wdXNoKSwKCSAgKF9zcmNfZ2V0cmFuZ2UpLCAoX3NyY19xdWVyeSksIChfY3JlYXRlX3NyY19wYWRfcHVsbCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChteGZkZW11eF9zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXhmZGVtdXguaDoKCSAgQWRkIHB1c2ggYW5kIHB1bGwgbW9kZSB1bml0IHRlc3QgZm9yIG14ZmRlbXV4LgoKMjAwOC0xMi0xNiAwODozNTowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGluaXRpYWwgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIE1YRiBwbHVnaW4gYW5kIG14ZmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXhmLnhtbDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICBBZGQgaW5pdGlhbCBkb2N1bWVudGF0aW9uIGZvciB0aGUgTVhGIHBsdWdpbiBhbmQgbXhmZGVtdXguCgoyMDA4LTEyLTE2IDA4OjIxOjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogUmVuYW1lIE1YRk1ldGFkYXRhQmFzZSBtZXRob2RzIHRvIHJlZmxlY3QgdGhhdCB0aGV5IGJlbG9uZyB0bwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlX2RlZmF1bHQpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfY2xhc3NfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9yZXNvbHZlKSwgKG14Zl9tZXRhZGF0YV9uZXcpLAoJICAobXhmX21ldGFkYXRhX3ByZWZhY2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzb2x2ZSk6CgkgICogZ3N0L214Zi9teGZtZXRhZGF0YS5oOgoJICBSZW5hbWUgTVhGTWV0YWRhdGFCYXNlIG1ldGhvZHMgdG8gcmVmbGVjdCB0aGF0IHRoZXkgYmVsb25nIHRvCgkgIE1YRk1ldGFkYXRhQmFzZSBhbmQgbm90IE1YRk1ldGFkYXRhLgoKMjAwOC0xMi0xNSAxODoxMjoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJldHVybiBGQUxTRSB3aGVuIHBhcnNpbmcgYSBtZXRhZGF0YSB0YWcgZmFpbGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6CgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgUmV0dXJuIEZBTFNFIHdoZW4gcGFyc2luZyBhIG1ldGFkYXRhIHRhZyBmYWlsZWQuCgkgIFJlbW92ZSBzb21lIHVzZWxlc3MgcmV0dXJuIHZhbHVlIGFzc2lnbm1lbnRzLgoKMjAwOC0xMi0xNSAxNzoyNzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZiBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfYWVzM19hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfYWVzX2J3Zl9lc3NlbmNlX3RyYWNrKSwgKG14Zl9id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2FlczNfY3JlYXRlX2NhcHMpLCAobXhmX2Flc19id2ZfY3JlYXRlX2NhcHMpLAoJICAobXhmX2Flc19id2ZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfaXNfYWxhd19lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKSwgKG14Zl9hbGF3X2luaXQpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5oOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfaXNfZDEwX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2QxMF9jcmVhdGVfY2FwcyksIChteGZfZDEwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmZDEwLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfZmluZF9wYWNrYWdlKSwgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKSwgKG14Zl9kdl9kaWZfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayksCgkgIChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpLCAobXhmX2pwZWcyMDAwX2luaXQpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuaDoKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmM6IChteGZfbWV0YWRhdGFfYmFzZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfYmFzZV9oYW5kbGVfdGFnKSwgKG14Zl9tZXRhZGF0YV9iYXNlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Jhc2VfaW5pdCksIChteGZfbWV0YWRhdGFfYmFzZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9wYXJzZSksIChteGZfbWV0YWRhdGFfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfaGFuZGxlX3RhZyksIChteGZfbWV0YWRhdGFfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfaW5pdCksIChteGZfbWV0YWRhdGFfaW5pdF90eXBlcyksCgkgIChteGZfbWV0YWRhdGFfcmVnaXN0ZXIpLCAobXhmX21ldGFkYXRhX25ldyksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9maW5hbGl6ZSksIChteGZfbWV0YWRhdGFfcHJlZmFjZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25faW5pdCksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZXNzZW5jZV9jb250YWluZXJfZGF0YV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19wYWNrYWdlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tYXRlcmlhbF9wYWNrYWdlX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbWF0ZXJpYWxfcGFja2FnZV9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zb3VyY2VfcGFja2FnZV9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfcmVzb2x2ZSksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc291cmNlX3BhY2thZ2VfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdHJhY2tfZmluYWxpemUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX2lkZW50aWZpZXJfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVsaW5lX3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2V2ZW50X3RyYWNrX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0YXRpY190cmFja19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9zdGF0aWNfdHJhY2tfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3Jlc29sdmUpLCAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2luaXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RpbWVjb2RlX2NvbXBvbmVudF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV90aW1lY29kZV9jb21wb25lbnRfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfdGltZWNvZGVfY29tcG9uZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX3Jlc29sdmUpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3NvdXJjZV9jbGlwX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2RtX3NvdXJjZV9jbGlwX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zb3VyY2VfY2xpcF9jbGFzc19pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2RtX3NlZ21lbnRfcmVzb2x2ZSksIChteGZfbWV0YWRhdGFfZG1fc2VnbWVudF9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9kbV9zZWdtZW50X2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kYXRhX2Vzc2VuY2VfZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfZmluYWxpemUpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNvbHZlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbG9jYXRvcl9pbml0KSwgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX2NsYXNzX2luaXQpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9maW5hbGl6ZSksCgkgIChteGZfbWV0YWRhdGFfdGV4dF9sb2NhdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX3RleHRfbG9jYXRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV90ZXh0X2xvY2F0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2ZpbmFsaXplKSwKCSAgKG14Zl9tZXRhZGF0YV9uZXR3b3JrX2xvY2F0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbmV0d29ya19sb2NhdG9yX2luaXQpLAoJICAobXhmX21ldGFkYXRhX25ldHdvcmtfbG9jYXRvcl9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214Zm1ldGFkYXRhLmg6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9pbml0KSwKCSAgKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfY2xhc3NfaW5pdCksCgkgIChteGZfaXNfbXBlZ19lc3NlbmNlX3RyYWNrKSwgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2luaXQpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfYWRkX3RvX2hhc2hfdGFibGUpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgICogZ3N0L214Zi9teGZ1cC5jOiAobXhmX2lzX3VwX2Vzc2VuY2VfdHJhY2spLCAobXhmX3VwX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl91cF9pbml0KToKCSAgKiBnc3QvbXhmL214ZnVwLmg6CgkgIENvbnZlcnQgdGhlIHN0cnVjdHVyYWwgbWV0YWRhdGEgdG8gR3N0TWluaU9iamVjdHMgdG8gbWFrZSBhIGxvdCBvZgoJICBjb2RlIGVhc2llciBhbmQgdG8gbWFrZSBldmVyeXRoaW5nIGJldHRlciBleHRlbnNpYmxlLgoJICBBZGQgYSAicmVnaXN0cnkiIGZvciBtZXRhZGF0YSBoYW5kbGVycyB0byBpbXByb3ZlIGV4dGVuc2liaWxpdHkgZXZlbgoJICBtb3JlIGFuZCB0byByZW1vdmUgbWV0YWRhdGEgdHlwZSBzcGVjaWZpY3MgZnJvbSBteGZkZW11eC4KCSAgQ2xlYW4gdXAgYSBsb3Qgb2YgcGFydHMgYW5kIGFkZCBzb21lIG1vcmUgTlVMTCBjaGVja3MuCgoyMDA4LTEyLTE1IDE1OjU2OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEZpeCBkZWZhdWx0IGZvciBvdXRwdXRmb3JtYXQgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSAgRml4IGRlZmF1bHQgZm9yIG91dHB1dGZvcm1hdCBwcm9wZXJ0eS4KCjIwMDgtMTItMTUgMTI6MDI6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvOiBGaXggZXhhbXBsZSB0byB1bnJlZiBhZnRlciBlbWl0aW5nIHRoZSBwdXNoLWJ1ZmZlciBhY3Rpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzogKGZlZWRfZGF0YSk6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zZWVrYWJsZS5jOiAoZmVlZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiAocmVhZF9kYXRhKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzogKGZlZWRfZGF0YSk6CgkgIEZpeCBleGFtcGxlIHRvIHVucmVmIGFmdGVyIGVtaXRpbmcgdGhlIHB1c2gtYnVmZmVyIGFjdGlvbi4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcl9mdWxsKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyX2FjdGlvbik6CgkgIERvbid0IHRha2UgdGhlIHJlZiBvbiB0aGUgYnVmZmVyIGluIHB1c2gtYnVmZmVyIGFjdGlvbiBiZWNhdXNlIGl0J3MgdG9vCgkgIGF3a3dhcmQgZm9yIGJpbmRpbmdzLiBGaXhlcyAjNTY0NDgyLgoKMjAwOC0xMi0xMyAxNjoyNjozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIG00L01ha2VmaWxlLmFtOiBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBNb3JlIC5tNCB0aGF0IGFyZW4ndCBzaGlwcGVkIHdpdGggZ2V0dGV4dCAwLjE3IGFueW1vcmUuCgoyMDA4LTEyLTEzIDEzOjAwOjEwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgbTQvTWFrZWZpbGUuYW06IGludHR5cGVzLm00IGhhc24ndCBiZWVuIGF2YWlsYWJsZSBzaW5jZSBnZXR0ZXh0LTAuMTUsIGFuZCBzaW5jZSB3ZSBub3cgcmVxdWlyZSBnZXR0ZXh0ID49IDAuMTcgLi4uIHdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIG00L01ha2VmaWxlLmFtOgoJICBpbnR0eXBlcy5tNCBoYXNuJ3QgYmVlbiBhdmFpbGFibGUgc2luY2UgZ2V0dGV4dC0wLjE1LCBhbmQgc2luY2Ugd2Ugbm93CgkgIHJlcXVpcmUgZ2V0dGV4dCA+PSAwLjE3IC4uLiB3ZSBjYW4gcmVtb3ZlIGl0IGZyb20gdGhlIGxpc3Qgb2YgZmlsZXMgdG8KCSAgZGlzdC4KCjIwMDgtMTItMTMgMDg6MDY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9kZXNjcmlwdGl2ZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KToKCSAgQWRkIGEgZ2VuZXJpYyBoYW5kbGVyIGZvciBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBzbyB3ZSBjYW4gZ2V0IHNvbWUKCSAgZGVidWcgb3V0cHV0IGFuZCBsZXQgdXNlcnMgZmlsZSBidWdzIGZvciB1bnN1cHBvcnQgZGVzY3JpcHRpdmUKCSAgbWV0YWRhdGEgc2NoZW1lcy4KCjIwMDgtMTItMTIgMTA6Mjk6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6CgkgICogZ3N0L214Zi9teGZhbGF3LmM6IChteGZfYWxhd19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6CgkgICogZ3N0L214Zi9teGZ1cC5jOgoJICBNYWpvciB1cGRhdGUgb2YgdGhlIFRPRE8gbGlzdHMuIFRoZXJlJ3Mgc3RpbGwgbXVjaCB0byBkby4KCjIwMDgtMTItMTEgMTQ6MzU6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiBFdmVudCBUcmFja3MsIFN0YXRpYyBUcmFja3MsIERNIFNlZ21lbnRzIGFuZCBETSBTb3VyY2UgQ2xpcHMgYXMgYSBwcmVwYXJhdGlvbiBmb3IgZGVzYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV90cmFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgSW1wbGVtZW50IHBhcnNpbmcgb2YgRXZlbnQgVHJhY2tzLCBTdGF0aWMgVHJhY2tzLCBETSBTZWdtZW50cwoJICBhbmQgRE0gU291cmNlIENsaXBzIGFzIGEgcHJlcGFyYXRpb24gZm9yIGRlc2NyaXB0aXZlIG1ldGFkYXRhCgkgIHN1cHBvcnQuIE5leHQgc3RlcCBpcyB0byBpbXBsZW1lbnQgU01QVEUgUzM4ME0sICJEZXNjcmlwdGl2ZQoJICBNZXRhZGF0YSBTY2hlbWUtMSIuCgoyMDA4LTEyLTA5IDEzOjQ0OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IEltcGxlbWVudCBkZXRlY3Rpb24gb2YgdGhlIGNvbG9yc3BhY2UgdXNlZCBieSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgSW1wbGVtZW50IGRldGVjdGlvbiBvZiB0aGUgY29sb3JzcGFjZSB1c2VkIGJ5IHRoZQoJICBKUEVHMjAwMCBjb2Rlc3RyZWFtLiBYWVogY29sb3JzcGFjZSBpc24ndCBzdXBwb3J0ZWQgYnkKCSAgb3VyIGRlY29kZXJzIHlldCB1bmZvcnR1bmF0ZWx5LgoKMjAwOC0xMi0wOCAxNTo0NjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZwYXJzZS5jOiBBbGwgZnJhbWUgbGF5b3V0IHZhbHVlcyBleGNlcHQgMCBhcmUgZm9yIGludGVybGFjZWQgdmlkZW8sIG5vdCBvbmx5IDEgYW5kIDIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgQWxsIGZyYW1lIGxheW91dCB2YWx1ZXMgZXhjZXB0IDAgYXJlIGZvciBpbnRlcmxhY2VkIHZpZGVvLAoJICBub3Qgb25seSAxIGFuZCAyLgoKMjAwOC0xMi0wOCAxNToyODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcHJpbWVyX3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfcHJlZmFjZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hvb3NlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfcGFyc2VfZm9vdGVyX21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIFJlbW92ZSB0aGUgY29uY2VwdCBvZiAiZmluYWwiIG1ldGFkYXRhLCBicm9rZW4gZmlsZXMgaGF2ZSB1cGRhdGVkCgkgIG1ldGFkYXRhIGluIGZvbGxvd2luZyBwYXJ0aXRpb25zIGV2ZW4gaWYgdGhlIGN1cnJlbnQgcGFydGl0aW9uCgkgIGlzIGNsb3NlZCBhbmQgY29tcGxldGUuCgkgIElmIHRoZXJlJ3MgYSBzZWNvbmQgcHJpbWVyIHBhY2sgaW5zaWRlIGEgcGFydGl0aW9uIGlnbm9yZSB0aGUgc2Vjb25kCgkgIG9uZSBpbnN0ZWFkIG9mIHRocm93aW5nIGFuIGVycm9yLgoJICBTdG9yZSB0aGUgdHlwZSBvZiBhIHRyYWNrIChhdWRpbywgdmlkZW8sIHRpbWVzdGFtcCwgLi4uKSBpbnNpZGUgdGhlCgkgIHRyYWNrIHN0cnVjdC4KCSAgUG9zdCBuby1tb3JlLXBhZHMgb25seSBvbmNlIGZvciBhIHN0cmVhbSBhbmQgbm90IGEgc2Vjb25kIHRpbWUKCSAgd2hlbiBzd2l0Y2hpbmcgdGhlIGN1cnJlbnRseSBwbGF5aW5nIHBhY2thZ2UuCgkgIFdoZW4gdXBkYXRpbmcgYWxsIHN0cmVhbXMgbWFrZSBzdXJlIHRoYXQgd2UgY291bGQgc2VsZWN0IGFuZCBmaW5kCgkgIGEgcGFja2FnZSBpbnN0ZWFkIG9mIGRlcmVmZXJlbmNpbmcgTlVMTC4KCSAgQWxsb3cgZGVzY3JpcHRpdmUgbWV0YWRhdGEgaW5zaWRlIG1ldGFkYXRhIHBhcnRzIG9mIGEgZmlsZSB3aGVuCgkgIHB1bGxpbmcgdGhlIGZvb3RlciBtZXRhZGF0YSB0b28uCgkgIE9ubHkgc3dpdGNoIHRoZSBjdXJyZW50bHkgcGxheWluZyBwYWNrYWdlIGlmIGEgbmV3IG9uZSB3YXMgY2hvc2VuCgkgIGFuZCB0aGUgbWV0YWRhdGEgaXMgaW4gYSByZXNvbHZlZCBzdGF0ZS4gSWYgdGhlIGxhdHRlciBpc24ndCB0cnVlCgkgIHBvc3Rwb25lIHRoZSBzd2l0Y2ggdW50aWwgdGhlIG1ldGFkYXRhIGlzIHJlc29sdmVkLgoJICBQdWxsIHRoZSBmb290ZXIgbWV0YWRhdGEgZGlyZWN0bHkgYWZ0ZXIgcGFyc2luZyB0aGUgaGVhZGVyIHBhcnRpdGlvbgoJICBwYWNrIGlmIGl0J3Mgbm90IGNsb3NlZCBvciBub3QgY29tcGxldGUgaW5zdGVhZCBvZiB3YWl0aW5nIHVudGlsCgkgIHRoZSBuZXh0IEtMViBwYWNrZXQuCgoyMDA4LTEyLTA4IDEzOjQ4OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnVwLmM6IERvbid0IGNyZWF0ZSBhIHN1YmJ1ZmZlciwgaW5zdGVhZCBqdXN0IGNoYW5nZSB0aGUgYnVmZmVyIG1ldGFkYXRhIG9mIHRoZSBpbnB1dCBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KToKCSAgRG9uJ3QgY3JlYXRlIGEgc3ViYnVmZmVyLCBpbnN0ZWFkIGp1c3QgY2hhbmdlIHRoZSBidWZmZXIgbWV0YWRhdGEKCSAgb2YgdGhlIGlucHV0IGJ1ZmZlci4KCjIwMDgtMTItMDcgMjA6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcyB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhZF9maW5hbGl6ZSksCgkgIChnc3RfbXhmX2RlbXV4X3BhZF9jbGFzc19pbml0KSwgKGdzdF9teGZfZGVtdXhfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9jb21iaW5lX2Zsb3dzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVuYW1lIEdzdE1YRlBhZCB0byBHc3RNWEZEZW11eFBhZCB0byBwcmV2ZW50IG5hbWUgY2xhc2hlcwoJICB3aXRoIHRoZSBHc3RNWEZNdXhQYWQgaW4gdGhlIG11eGVyIChsYXRlcikuCgkgIFB1bGwgdGhlIHJhbmRvbSBpbmRleCBwYWNrIG9ubHkgZGlyZWN0bHkgYWZ0ZXIgc2tpcHBpbmcgdGhlIHJ1bgoJICBpbiBhbmQgZG9uJ3QgYWxsb2NhdGUgYW4gYXJyYXkgZm9yIGl0IGlmIHBhcnNpbmcgaXQgZmFpbGVkLgoKMjAwOC0xMi0wNyAxODo1Mjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogVXNlIHRoZSBtYXBwaW5nIGRhdGEgZm9yIHN0b3JpbmcgdGhlIGNoYW5uZWwgY291bnQgYW5kIHRoZSB3aWR0aCBpbnN0ZWFkIG9mIHBhcnNpbmcgY2FwcyBmb3IgZXZlcnkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2QxMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSB0aGUgbWFwcGluZyBkYXRhIGZvciBzdG9yaW5nIHRoZSBjaGFubmVsIGNvdW50IGFuZCB0aGUKCSAgd2lkdGggaW5zdGVhZCBvZiBwYXJzaW5nIGNhcHMgZm9yIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMTItMDcgMTg6Mzk6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmdXAuYzogSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmdXAuYzogKG14Zl91cF9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl91cF9yZ2JhX2NyZWF0ZV9jYXBzKToKCSAgSGFuZGxlIHRoZSBpbWFnZSBzdGFydCBhbmQgZW5kIG9mZnNldHMsIG90aGVyd2lzZSB3ZSBvdXRwdXQKCSAgdG9vIGxhcmdlIGltYWdlIGJ1ZmZlcnMuCgoyMDA4LTEyLTA3IDE3OjU3OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214Zm1wZWcuYzogU2V0IGNvZGVjIG5hbWUgdGFncyBmb3IgdGhlIE1QRUcgYXVkaW8gZXNzZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2Fwcyk6CgkgIFNldCBjb2RlYyBuYW1lIHRhZ3MgZm9yIHRoZSBNUEVHIGF1ZGlvIGVzc2VuY2UuCgoyMDA4LTEyLTA3IDE3OjE2OjI5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgKiBnc3QvbXhmL214ZnVwLmM6IChteGZfaXNfdXBfZXNzZW5jZV90cmFjayksCgkgIChteGZfdXBfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfdXBfcmdiYV9jcmVhdGVfY2FwcyksCgkgIChteGZfdXBfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmdXAuaDoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgdW5jb21wcmVzc2VkIHZpZGVvIGVzc2VuY2UgKFNNUFRFIFMzODRNKS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgRml4IHBhcnNpbmcgb2YgdGhlIFJHQkEgZGVzY3JpcHRvciBhbmQgYWRkIHN1cHBvcnQgZm9yIHBhcnNpbmcKCSAgdGhlIHBpeGVsIGxheW91dC4KCjIwMDgtMTItMDYgMjA6NDY6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVGhlIHByZXZpb3VzIHBhcnRpdGlvbiBmaWVsZCBvZiB0aGUgcGFydGl0aW9uIGlzIHJlbGF0aXZlIHRvIHRoZSBjdXJyZW50IHBhcnRpdGlvbiBhbmQgbm90IHRvIHRoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSk6CgkgIFRoZSBwcmV2aW91cyBwYXJ0aXRpb24gZmllbGQgb2YgdGhlIHBhcnRpdGlvbiBpcyByZWxhdGl2ZQoJICB0byB0aGUgY3VycmVudCBwYXJ0aXRpb24gYW5kIG5vdCB0byB0aGUgb2Zmc2V0IG9mIHRoZSBoZWFkZXIKCSAgcGFydGl0aW9uLgoKMjAwOC0xMi0wNiAxOTo0NjowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkMTAuYzogRG9jdW1lbnQgZGVjb2Rpbmcgb2YgdGhlIEFFUzMgZGF0YSBhbmQgYWxzbyBza2lwIHRoZSAzMiBiaXQgaGVhZGVyIGluIHRoZSBiZWdpbm5pbmcgb2YgZXZlcnkgYnVmZmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZDEwLmM6IChteGZfZDEwX3NvdW5kX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpOgoJICBEb2N1bWVudCBkZWNvZGluZyBvZiB0aGUgQUVTMyBkYXRhIGFuZCBhbHNvIHNraXAgdGhlIDMyIGJpdAoJICBoZWFkZXIgaW4gdGhlIGJlZ2lubmluZyBvZiBldmVyeSBidWZmZXIsIG90aGVyd2lzZSB3ZSBnZXQKCSAgb25lIGJyb2tlbiBhdWRpbyBjaGFubmVsLgoKMjAwOC0xMi0wNSAxMjoyNjowMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0X21ldGFkYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3Jlc29sdmVfcmVmZXJlbmNlcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2RhdGFfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGF0YV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSBnZW5lcmljIGRhdGEgZXNzZW5jZSBkZXNjcmlwdG9yLgoKMjAwOC0xMi0wNSAxMDozMjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lIGJ5IGEgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBHZW5lcmFsaXplIHNvbWUgbGluZXMgb2YgY29kZXMgdGhhdCBhcmUgbW9yZSBvciBsZXNzIHRoZSBzYW1lCgkgIGJ5IGEgbWFjcm8uCgoyMDA4LTEyLTA0IDIwOjExOjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFwcGFyZW50bHkgQUNfQ09ORklHX01BQ1JPX0RJUiBicmVha3Mgd2hlbiB1c2luZyBtb3JlCgkgIHRoYW4gb25lIG1hY3JvIGRpcmVjdG9yeSwgcmV2ZXJ0aW5nIGxhc3QgY2hhbmdlLgoKMjAwOC0xMi0wNCAxOTo1MDoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8gb3VyIE00IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTZXQgQUNfQ09ORklHX01BQ1JPX0RJUiB0byBjb21tb24vbTQgdG8gcG9pbnQgYXV0b2NvbmYgdG8KCSAgb3VyIE00IG1hY3Jvcy4KCjIwMDgtMTItMDQgMTc6NTE6MzcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEVuc3VyZSB3ZSBlbWl0IG5vdGlmeTo6YWN0aXZlLXBhZCB3aGVuIGF1dG8tc2VsZWN0aW5nIGEgcGFkIGR1ZSB0byBpdCBoYXZpbmcgYWN0aXZpdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICBFbnN1cmUgd2UgZW1pdCBub3RpZnk6OmFjdGl2ZS1wYWQgd2hlbiBhdXRvLXNlbGVjdGluZyBhIHBhZAoJICBkdWUgdG8gaXQgaGF2aW5nIGFjdGl2aXR5IGFuZCB1cyBub3QgaGF2aW5nIGFuIGV4aXN0aW5nIGFjdGl2ZQoJICBwYWQuIEZpeGVzICM1NjMxNDcKCjIwMDgtMTItMDQgMTM6Mjg6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICAqIGdzdC9teGYvbXhmZHYtZGlmLmM6IChteGZfZHZfZGlmX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfanBlZzIwMDBfY3JlYXRlX2NhcHMpOgoJICBDb2Rpbmcgc3R5bGUgZml4ZXMuCgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19hdWRpb19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9tcGVnX2VzX2NyZWF0ZV9jYXBzKSwgKG14Zl9tcGVnX2NyZWF0ZV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIE1QRUcsIEFDMywgRFRTIGF1ZGlvLgoKMjAwOC0xMi0wNCAwOToyNjoyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZ25vcmUgemVybyBzaXplZCBlc3NlbmNlIGVsZW1lbnRzLiBUaGV5J3JlIG9mdGVuIGluc2VydGVkIHRvIGZ1bGZpbGwgdGhlIHN0cmVhbWluZyByZXF1aXJlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIElnbm9yZSB6ZXJvIHNpemVkIGVzc2VuY2UgZWxlbWVudHMuIFRoZXkncmUgb2Z0ZW4gaW5zZXJ0ZWQKCSAgdG8gZnVsZmlsbCB0aGUgc3RyZWFtaW5nIHJlcXVpcmVtZW50cy4KCjIwMDgtMTItMDQgMDg6NTA6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmcGFyc2UuYzogRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3NldF9jYXBzKToKCSAgRml4IHNldHRpbmcgb2YgdGhlIGhlaWdodC93aWR0aCBhbmQgUEFSIG9mIHZpZGVvIHN0cmVhbXMuCgoyMDA4LTEyLTA0IDA4OjM3OjE4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHN1cHBvcnQgZm9yIFNNUFRFIEQxMCBlc3NlbmNlIChTTVBURSAzODZNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmQxMC5jOiAobXhmX2lzX2QxMF9lc3NlbmNlX3RyYWNrKSwKCSAgKG14Zl9kMTBfcGljdHVyZV9oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwKCSAgKG14Zl9kMTBfc291bmRfaGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksIChteGZfZDEwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmQxMC5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBTTVBURSBEMTAgZXNzZW5jZSAoU01QVEUgMzg2TSkuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICBEb24ndCBzZXQgd2lkdGgvaGVpZ2h0IGFuZCBQQVIgb24gdGhlIGNhcHMgYXMgdGhvc2UgdmFsdWVzIGFyZQoJICB3cm9uZyBmb3IgbW9zdCBmaWxlcyAoaGVpZ2h0IGlzIHNvbWV0aW1lcyB0aGUgaGVpZ2h0IG9mIGEgZmllbGQKCSAgYW5kIGFzcGVjdCByYXRpbyBpcyBzb21lIHJhbmRvbSB2YWx1ZSkuCgkgICogZ3N0L214Zi9teGZhZXMtYndmLmM6IChteGZfYndmX2NyZWF0ZV9jYXBzKSwKCSAgKG14Zl9hZXMzX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNhbGN1bGF0aW9uIG9mIGJsb2NrIGFsaWduIGlmIGl0IGlzbid0IHNldCBpbiB0aGUgZGVzY3JpcHRvci4KCjIwMDgtMTItMDMgMTY6MDg6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQUVTMyBhdWRpbyAoU01QVEUgMzgyTSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2FlczNfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9hZXMzX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2J3Zl9jcmVhdGVfY2FwcyksCgkgIChteGZfYWVzM19jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9hZXMzX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgIEFkZCBzdXBwb3J0IGZvciBBRVMzIGF1ZGlvIChTTVBURSAzODJNKS4KCSAgKiBnc3QvbXhmL214ZmR2LWRpZi5jOiAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgRml4IGNvZGluZyBzdHlsZS4KCjIwMDgtMTItMDMgMTM6MTc6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMi0wMyAxMTo0MzowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDaGVjayBpZiBzdHJpbmdzIGFyZSB2YWxpZCBVVEY4IGJlZm9yZSB1c2luZyB0aGVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyk6CgkgIENoZWNrIGlmIHN0cmluZ3MgYXJlIHZhbGlkIFVURjggYmVmb3JlIHVzaW5nIHRoZW0uCgoyMDA4LTEyLTAzIDEwOjE1OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZnBhcnNlLmM6IFJlbW92ZSBGSVhNRSwgemVyby1VTHMgYW5kIFVNSURzIGFyZSByZWFsbHkgaW52YWxpZCBhbmQgd2UgY2FuIHVzZSB0aGVtIGFzICJ1bnNldCIgdmFsdWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzoKCSAgUmVtb3ZlIEZJWE1FLCB6ZXJvLVVMcyBhbmQgVU1JRHMgYXJlIHJlYWxseSBpbnZhbGlkIGFuZCB3ZSBjYW4KCSAgdXNlIHRoZW0gYXMgInVuc2V0IiB2YWx1ZS4KCjIwMDgtMTItMDMgMDg6MDQ6MzggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogVXNlIGEgc2luZ2xlICJ0cmFja18ldSIgc3JjIHBhZCB0ZW1wbGF0ZSBhbmQgdXNlIHRoZSB0cmFjayBJRCBvZiB0aGUgcGxheWJhY2sgcGFja2FnZSBmb3IgdGhlIHBhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpOgoJICBVc2UgYSBzaW5nbGUgInRyYWNrXyV1IiBzcmMgcGFkIHRlbXBsYXRlIGFuZCB1c2UgdGhlIHRyYWNrIElECgkgIG9mIHRoZSBwbGF5YmFjayBwYWNrYWdlIGZvciB0aGUgcGFkIG5hbWUgaW5zdGVhZCBvZiB0aGUgdHJhY2sgSUQKCSAgb2YgdGhlIHNvdXJjZSBwYWNrYWdlLCBhcyB0aGUgbGF0dGVyIGNvdWxkIGJlIHRoZSBzYW1lIGZvcgoJICBtb3JlIHRoYW4gb25lIHRyYWNrIGlmIHRoZXkncmUgaW4gZGlmZmVyZW50IHBhY2thZ2VzLgoKMjAwOC0xMi0wMiAwNjoyMToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuYzogU29tZSBjb21waWxlcnMgY29tcGxhaW4gYWJvdXQKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZTsgYWRkIGEgZ19hc3NlcnRfbm90X3JlYWNoZWQoKQoKMjAwOC0xMi0wMSAxOTozNjozNSArMDAwMCAg7J2066y47ZiVIDxpd2luZ3NAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogRG9uJ3QgZm9yZ2V0IHRvIHJlbGVhc2UgdGhlIGxvY2sgYWdhaW4gaWYgd2UgYmFpbCBvdXQgYmVjYXVzZSBzb21lIHBhZCBpcyBmbHVzaGluZyBvciB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTog7J2066y47ZiVIDxpd2luZ3MgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOgoJICBEb24ndCBmb3JnZXQgdG8gcmVsZWFzZSB0aGUgbG9jayBhZ2FpbiBpZiB3ZSBiYWlsIG91dCBiZWNhdXNlIHNvbWUKCSAgcGFkIGlzIGZsdXNoaW5nIG9yIHdlJ3ZlIHJlYWNoZWQgRU9TLCBvdGhlcndpc2UgdGhpbmdzIHdpbGwgbG9jayB1cAoJICBuZXh0IHRpbWUgX3B1c2hfYnVmZmVyKCkgaXMgY2FsbGVkICgjNTYyODAyKS4KCjIwMDgtMTItMDEgMTY6Mzc6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2F0b21zLmM6IEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9qcDJoX2V4dGVuc2lvbik6CgkgIEZpeCBtajIgc2FtcGxlIGRlc2NyaXB0aW9uIG1ldGFkYXRhIGNvbnN0cnVjdGlvbi4KCjIwMDgtMTItMDEgMTU6NTA6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmanBlZzIwMDAuYzogVXNlIG5ldyBpbWFnZS94LWpwYyBjYXBzIGZvciB0aGUgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgIFVzZSBuZXcgaW1hZ2UveC1qcGMgY2FwcyBmb3IgdGhlIHJhdyBKUEVHMjAwMCBjb2Rlc3RyZWFtLgoJICBGb3Igbm93IGFzc3VtZSBzUkdCIGFzIGNvbG9yc3BhY2UsIGhhcyB0byBiZSByZWFkIGZyb20gdGhlIGRlc2NyaXB0b3IKCSAgc29tZWhvdyBsYXRlci4KCjIwMDgtMTItMDEgMTU6NDg6MTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9qcDJrLzogQWRkIGltYWdlL3gtanBjIGNhcHMgbmFtZSBmb3IgcmVhbCwgcmF3IEpQRUcyMDAwIGNvZGVzdHJlYW0gZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5jOiAoZ3N0X2phc3Blcl9lbmNfcmVzZXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF9qYXNwZXJfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfamFzcGVyX2VuY19zaW5rX3NldGNhcHMpLCAoZ3N0X2phc3Blcl9lbmNfZ2V0X2RhdGEpOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmVuYy5oOgoJICBBZGQgaW1hZ2UveC1qcGMgY2FwcyBuYW1lIGZvciByZWFsLCByYXcgSlBFRzIwMDAgY29kZXN0cmVhbSBkYXRhLgoJICBJbiAwLjExIHdlIHNob3VsZCBtZXJnZSBpbWFnZS94LWoyYyBhbmQgaW1hZ2UveC1qcGMgYW5kIHNpbXBseSBkcm9wCgkgIHRoZSBub24tc3RhbmRhcmQgYm94aW5nIGluIHRoZSBqYXNwZXIgZWxlbWVudHMgYW5kIGhhbmRsZSBpdCBpbgoJICBxdG11eC9xdGRlbXV4LgoJICBpbWFnZS94LWpwYyB3aWxsIGJlIHVzZWQgYnkgbXhmZGVtdXggbGF0ZXIuCgkgIEFsc28gYWRkIHN1cHBvcnQgZm9yIEpQMiBvdXRwdXQgaW4ganAya2VuYy4KCjIwMDgtMTItMDEgMTU6MjQ6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgdGhlIGNvZGVjIG5hbWUsIGFuZCBpZiBwb3NzaWJsZSB0aGUgYXZnIGJpdHJhdGUsIHRvIHRoZSBwYWQncyB0YWdsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2FsYXdfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9kdl9kaWZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksCgkgIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgIEFkZCB0aGUgY29kZWMgbmFtZSwgYW5kIGlmIHBvc3NpYmxlIHRoZSBhdmcgYml0cmF0ZSwgdG8gdGhlIHBhZCdzIHRhZ2xpc3QuCgoyMDA4LTEyLTAxIDE0OjI1OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9jaG9vc2VfcGFja2FnZSk6CgkgIElmIHRoZSBwcmVmYWNlIHJlZmVyZW5jZXMgYSBwcmltYXJ5IHBhY2thZ2UgdXNlIHRoaXMgYXMgdGhlIGRlZmF1bHQKCSAgcGxheWJhY2sgcGFja2FnZSB1bmxlc3Mgb25lIHdhcyBzcGVjaWZpZWQgYnkgdGhlICJwYWNrYWdlIiBwcm9wZXJ0eS4KCSAgSWYgdGhlcmUncyBubyBwcmVmYWNlIHByaW1hcnkgcGFja2FnZSBzdGlsbCB0cnkgdG8gdXNlIHRoZSBmaXJzdAoJICBtYXRlcmlhbCBwYWNrYWdlLgoKMjAwOC0xMS0zMCAxNzo1ODozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpOgoJICBJZiB0aGVyZSdzIG5vIGRlc2NyaXB0b3IgZm9yIHRoZSB0cmFjayBpbiB0aGUgdHJhY2sncyBzb3VyY2UKCSAgcGFja2FnZSBhbmQgdGhlcmUncyBhIHNpbmdsZSBkZXNjcmlwdG9yIHdpdGhvdXQgYSBsaW5rZWQgdHJhY2sKCSAgYXNzdW1lIHRoYXQgaXQgYmVsb25ncyB0byB0aGlzIHRyYWNrLgoKMjAwOC0xMS0zMCAxNzo0MjozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgcmFuZG9tIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZhbGF3Lmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmM6IChteGZfaXNfanBlZzIwMDBfZXNzZW5jZV90cmFjayk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX2lzX21wZWdfZXNzZW5jZV90cmFjayksCgkgIChteGZfbXBlZ19lc19jcmVhdGVfY2FwcyksIChteGZfbXBlZ19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAuCgoyMDA4LTExLTMwIDE3OjI2OjU1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVtb3ZlX3BhZHMpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X2ZpbmRfcGFja2FnZSksCgkgIChnc3RfbXhmX2RlbXV4X2Nob29zZV9wYWNrYWdlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9teGZfZGVtdXhfZ2V0X3Byb3BlcnR5KSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3VtaWRfZnJvbV9zdHJpbmcpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIHNlbGVjdCB0aGUgdG9wLWxldmVsIHNvdXJjZSBwYWNrYWdlIG9yIG1hdGVyaWFsCgkgIHBhY2thZ2UgdGhhdCBzaG91bGQgYmUgdXNlZCBmb3IgcGxheWJhY2suCgoyMDA4LTExLTMwIDE2OjIxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0aGF0IGRlbXV4LT5vZmZzZXQgaGFzIHRoZSBjb3JyZWN0IHZhbHVlIGJlZm9yZSBjYWxsaW5nIGFueSBnc3RfbXhmX2RlbXV4X2hhbmRsZV8qIGZ1bmMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX3JhbmRvbV9pbmRleF9wYWNrKToKCSAgTWFrZSBzdXJlIHRoYXQgZGVtdXgtPm9mZnNldCBoYXMgdGhlIGNvcnJlY3QgdmFsdWUgYmVmb3JlCgkgIGNhbGxpbmcgYW55IGdzdF9teGZfZGVtdXhfaGFuZGxlXyogZnVuY3Rpb25zLgoKMjAwOC0xMS0zMCAxNDoxMjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0IGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmanBlZzIwMDAuYzogKG14Zl9qcGVnMjAwMF9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgIFNldCB0aGUgY29ycmVjdCBNUEVHIHZpZGVvIHZlcnNpb24gaWYgcG9zc2libGUgYW5kIGFkZCBzdXBwb3J0CgkgIGZvciBNUEVHNCB2aWRlbywgaW5jbHVkaW5nIGNvZGVjX2RhdGEuCgoyMDA4LTExLTI5IDIwOjI1OjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgSlBFRzIwMDAgZW5jb2RlZCB2aWRlbyBlc3NlbmNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyk6CgkgICogZ3N0L214Zi9teGZqcGVnMjAwMC5jOiAobXhmX2lzX2pwZWcyMDAwX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX2pwZWcyMDAwX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2pwZWcyMDAwX2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmpwZWcyMDAwLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIEpQRUcyMDAwIGVuY29kZWQgdmlkZW8gZXNzZW5jZS4KCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6CgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9zZXRfY2Fwcyk6CgkgIFNldCB0aGUgZnJhbWVyYXRlIGluIHRoZSB2aWRlbyBjYXBzLgoKMjAwOC0xMS0yOSAyMDowNzoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IERvbid0IHVucmVmIHRoZSBlbGVtZW50IGluc3RhbmNlIGlmIHdlIGRvbid0IG93biBhIHJlZmVyZW5jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpOgoJICBEb24ndCB1bnJlZiB0aGUgZWxlbWVudCBpbnN0YW5jZSBpZiB3ZSBkb24ndCBvd24gYSByZWZlcmVuY2UuCgoyMDA4LTExLTI5IDEzOjMzOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZXF1aXJlIGdldHRleHQgMC4xNyBiZWNhdXNlIG9sZGVyIHZlcnNpb25zIGRvbid0IG1peCB3aXRoIGxpYnRvb2wgMi4yLiBBdCBidWlsZCB0aW1lIGFuIG9sZGVyIGdldHRleHQgdmVyc2lvbiB3aWxsIHMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lcgoJICA8eXNlbGtvd2l0eiBhdCB1c2VycyBkb3Qgc291cmNlZm9yZ2UgZG90IG5ldD4KCSAgKiBhdXRvZ2VuLnNoOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBnZXR0ZXh0IDAuMTcgYmVjYXVzZSBvbGRlciB2ZXJzaW9ucyBkb24ndCBtaXggd2l0aCBsaWJ0b29sCgkgIDIuMi4gQXQgYnVpbGQgdGltZSBhbiBvbGRlciBnZXR0ZXh0IHZlcnNpb24gd2lsbCBzdGlsbCB3b3JrLgoJICBGaXhlcyBidWcgIzU1NjA5MS4KCjIwMDgtMTEtMjggMTg6NTU6MDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvbXhmZGVtdXguYzogT25seSB0cnkgdG8gcHVsbCB0aGUgcmFuZG9tIGluZGV4IHBhY2sgYXQgdGhlIGVuZCBvZiBmaWxlIG9uZSB0aW1lIGFuZCBub3QgZm9yIGV2ZXJ5IHNpbmdsZSBwYWNrZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZG9tX2luZGV4X3BhY2spOgoJICBPbmx5IHRyeSB0byBwdWxsIHRoZSByYW5kb20gaW5kZXggcGFjayBhdCB0aGUgZW5kIG9mIGZpbGUgb25lIHRpbWUKCSAgYW5kIG5vdCBmb3IgZXZlcnkgc2luZ2xlIHBhY2tldCBpZiBpdCBmYWlscy4KCjIwMDgtMTEtMjggMTg6MTM6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzogKG14Zl9id2ZfY3JlYXRlX2NhcHMpOgoJICAqIGdzdC9teGYvbXhmYWxhdy5jOiAobXhmX2lzX2FsYXdfYXVkaW9fZXNzZW5jZV90cmFjayksCgkgIChteGZfYWxhd19oYW5kbGVfZXNzZW5jZV9lbGVtZW50KSwgKG14Zl9hbGF3X2NyZWF0ZV9jYXBzKToKCSAgKiBnc3QvbXhmL214ZmFsYXcuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpOgoJICBBZGQgc3VwcG9ydCBmb3IgQS1MYXcgZW5jb2RlZCBhdWRpbyBlc3NlbmNlIChTTVBURSAzODhNIGFuZCAzODJNKS4KCjIwMDgtMTEtMjggMTQ6MjI6NTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcwoKMjAwOC0xMS0yOCAxMToyNDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IEltcGxlbWVudCBwYXJzaW5nIG9mIGluZGV4IHRhYmxlIHNlZ21lbnRzLCB3aGljaCB3aWxsIGxhdGVyIGJlIHVzZWQgZm9yIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3BhcnNlKSwKCSAgKG14Zl9pbmRleF90YWJsZV9zZWdtZW50X3Jlc2V0KToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgICogZ3N0L214Zi9teGZ0eXBlcy5oOgoJICBJbXBsZW1lbnQgcGFyc2luZyBvZiBpbmRleCB0YWJsZSBzZWdtZW50cywgd2hpY2ggd2lsbCBsYXRlciBiZQoJICB1c2VkIGZvciBzZWVraW5nLgoKMjAwOC0xMS0yOCAwOTo0OTo1NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIGF1ZGlvcmVzYW1wbGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIG5ldyBlbGVtZW50IG5hbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBsZXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFVwZGF0ZSBhdWRpb3Jlc2FtcGxlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgZWxlbWVudCBuYW1lLgoKMjAwOC0xMS0yOCAwODozNzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBBbmQgbm93IGFsc28gdXBkYXRlIHRoZSBkZWJ1ZyBjYXRlZ29yeSBmcm9tIGF1ZGlvcmVzYW1wbGUgdG8gbGVnYWN5cmVzYW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgQW5kIG5vdyBhbHNvIHVwZGF0ZSB0aGUgZGVidWcgY2F0ZWdvcnkgZnJvbSBhdWRpb3Jlc2FtcGxlCgkgIHRvIGxlZ2FjeXJlc2FtcGxlLgoKMjAwOC0xMS0yNyAxOToyNzowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgc3BlZXhyZXNhbXBsZSBmcm9tIHRoZSBidWlsZCBzeXN0ZW0gdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbW92ZSBzcGVleHJlc2FtcGxlIGZyb20gdGhlIGJ1aWxkIHN5c3RlbSB0b28uCgoyMDA4LTExLTI3IDE5OjIyOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL1JFQURNRToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9hcmNoLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2FybTVlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYmZpbi5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2ZpeGVkX2RlYnVnLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZ2VuZXJpYy5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZV9zc2UuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZG91YmxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2Zsb2F0LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2ludC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOgoJICBSZW1vdmUgb2xkIHNwZWV4cmVzYW1wbGUgZmlsZXMuCgoyMDA4LTExLTI3IDE3OjA3OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6IFJlbW92ZSBvbGQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICBSZW1vdmUgb2xkIGZpbGUuCgoyMDA4LTExLTI3IDE3OjA2OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOiBBZGQgbWlzc2luZyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGVnYWN5cmVzYW1wbGUueG1sOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0yNyAxNjo1ODozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWFjcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNlbHQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1sYWRzcGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1teXRodHYueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2NhbGV0ZW1wby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10d29sYW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKEdTVF9TVEFSVF9URVNUKToKCSAgSW50ZWdyYXRlIHRoZSBtb3ZlZCBhdWRpb3Jlc2FtcGxlIGludG8gdGhlIGJ1aWxkIHN5c3RlbSBhbmQKCSAgcmVuYW1lIGl0IHRvIGxlZ2FjeXJlc2FtcGxlLiBGaXhlcyBidWcgIzU1ODEyNC4KCjIwMDgtMTEtMjcgMTY6MjY6MzkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBJbXBsZW1lbnQgcGFyc2luZyBvZiB0aGUgcmFuZG9tIGluZGV4IHBhY2ssIHdoaWNoIHByb3ZpZGVzIGEgc2VlayB0YWJsZSAoaW5jbHVkaW5nIGJvZHkgc2lkKSB0byB0aGUgc3RhcnQgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX3JhbmRvbV9pbmRleF9wYWNrKSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9yYW5kb21faW5kZXhfcGFjayksIChnc3RfbXhmX2RlbXV4X2xvb3ApOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcmFuZG9tX2luZGV4X3BhY2tfcGFyc2UpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEltcGxlbWVudCBwYXJzaW5nIG9mIHRoZSByYW5kb20gaW5kZXggcGFjaywgd2hpY2ggcHJvdmlkZXMgYSBzZWVrCgkgIHRhYmxlIChpbmNsdWRpbmcgYm9keSBzaWQpIHRvIHRoZSBzdGFydCBvZiBwYXJ0aXRpb24gcGFja3MuCgkgIExhdGVyIHRoaXMgd2lsbCBiZSB1c2VkIGZvciByZWFkaW5nIGFsbCBpbmRleCB0YWJsZSBzZWdtZW50cyBvZgoJICB0aGUgY29tcGxldGUgZmlsZSBlZmZpY2llbnRseS4KCjIwMDgtMTEtMjcgMTA6MDk6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgZnVuZGFtZW50YWwgc3VwcG9ydCBmb3IgRFYtRElGIGVzc2VuY2Ugc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6CgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfdXBkYXRlX3N0cmVhbXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuYzogKG14Zl9pc19kdl9kaWZfZXNzZW5jZV90cmFjayksCgkgIChteGZfZHZfZGlmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLCAobXhmX2R2X2RpZl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZkdi1kaWYuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfaXNfZGVzY3JpcHRpdmVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgQWRkIGZ1bmRhbWVudGFsIHN1cHBvcnQgZm9yIERWLURJRiBlc3NlbmNlIHN0cmVhbXMuCgkgIEhhbmRsZSBkZXNjcmlwdGl2ZSBtZXRhZGF0YSBwYWNrZXRzIGFzIG1ldGFkYXRhIHBhY2tldHMuCgoyMDA4LTExLTI3IDA4OjQ5OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4Lio6IE9ubHkgdHJ5IHRvIHB1bGwgdGhlIGZvb3RlciBtZXRhZGF0YSBvbmNlIGFuZCBub3Qgb24gZXZlcnkgS0xWIHBhY2tldCBpZiBpdCBmYWlsZWQgYmVmb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2tsdl9wYWNrZXQpOgoJICAqIGdzdC9teGYvbXhmZGVtdXguaDoKCSAgT25seSB0cnkgdG8gcHVsbCB0aGUgZm9vdGVyIG1ldGFkYXRhIG9uY2UgYW5kIG5vdCBvbiBldmVyeSBLTFYgcGFja2V0CgkgIGlmIGl0IGZhaWxlZCBiZWZvcmUuCgoyMDA4LTExLTI2IDEyOjQwOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBNYWtlIG9idGFpbl9zb3VyY2UgcmV0dXJuIGFuIGFkaXRpb25hbCByZWYgc28gdGhhdCB3ZSBkb24ndCBsb3NlIG91ciByZWYgdG8gaXQgd2hlbiBhIHNlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKToKCSAgTWFrZSBvYnRhaW5fc291cmNlIHJldHVybiBhbiBhZGl0aW9uYWwgcmVmIHNvIHRoYXQgd2UgZG9uJ3QgbG9zZSBvdXIgcmVmCgkgIHRvIGl0IHdoZW4gYSBzZXNzaW9uIGNsZWFudXAgb2NjdXJzIHdoZW4gd2UgYXJlIGVtaXRpbmcgYSBzaWduYWwuCgkgIEVtaXQgdGhlIG9uX25ld19zc3JjIHNpZ25hbCBmb3IgdGhlIENTUkMsIG5vdCB0aGUgU1NSQy4KCSAgRml4ZXMgIzU2MjMxOS4KCjIwMDgtMTEtMjYgMTI6MDI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVzZXQgdGhlIHN5bmMgcGFyYW1ldGVycyB3aGVuIGNsZWFyaW5nIHRoZSBwYXlsb2FkIHR5cGUgbWFwIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCk6CgkgIFJlc2V0IHRoZSBzeW5jIHBhcmFtZXRlcnMgd2hlbiBjbGVhcmluZyB0aGUgcGF5bG9hZCB0eXBlIG1hcCB0b28uCgkgIEZpeGVzICM1NjIzMTIuCgoyMDA4LTExLTI2IDExOjQ0OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFJlbW92ZSBhIGxvdCBvZiBwZXIgc3RyZWFtIHN0YXRlIHRoYXQgaXMgbm90IG5lZWRlZCBhbmQgcGFzcyBuZXcgaW5mbyBpbiB0aGUgbWV0aG9kIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ2V0X2NsaWVudCksCgkgIChnc3RfcnRwX2Jpbl9yZXNldF9zeW5jKSwgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9oYW5kbGVfc3luYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgUmVtb3ZlIGEgbG90IG9mIHBlciBzdHJlYW0gc3RhdGUgdGhhdCBpcyBub3QgbmVlZGVkIGFuZCBwYXNzIG5ldyBpbmZvIGluCgkgIHRoZSBtZXRob2QgY2FsbC4KCSAgQWRkIHNpZ25hbCB0byByZXNldCBzeW5jIHBhcmFtZXRlcnMuCgkgIEF2b2lkIHBhcnNpbmcgdGhlIGNhcHMgdG8gZ2V0IGEgY2xvY2tfYmFzZSwgd2UgZ2V0IHRoaXMgZnJvbSB0aGUgc3luYwoJICBzaWduYWwgbm93LgoKMjAwOC0xMS0yNiAxMTozMDoyOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBQcm9wZXJseSBjb21iaW5lIGZsb3cgcmV0dXJucyBvZiB0aGUgc291cmNlIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfcGFkX2luaXQpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldF9tZXRhZGF0YSksIChnc3RfbXhmX2RlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgUHJvcGVybHkgY29tYmluZSBmbG93IHJldHVybnMgb2YgdGhlIHNvdXJjZSBwYWRzLgoJICBJbXByb3ZlIGRlYnVnZ2luZyBhbmQgcmVzZXQgcGFkIGZpZWxkcyB0b2dldGhlciB3aXRoIHRoZQoJICBtZXRhZGF0YSB0byBwcmV2ZW50IGludmFsaWQgbWVtb3J5IHJlZmVyZW5jZXMuCgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpOgoJICBGaXggdHlwby4KCjIwMDgtMTEtMjYgMTA6Mzc6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0IG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3Jlc2V0KToKCSAgKiBnc3QvbXhmL214Zm1wZWcuYzogKG14Zl9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuYzogKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICBXaGVuIG1lbXNldCdpbmcgdGhlIGRlc2NyaXB0b3JzIHRvIHplcm9lcyBvbmx5IHRvdWNoIHRoZSBwYXJ0CgkgIG9mIHRoaXMgZGVzY3JpcHRvciwgbm90IGl0J3MgcGFyZW50IHR5cGUuCgkgIFNldCBjb3JyZWN0IGRlZmF1bHQgdmFsdWVzIGZvciBhbGwgbWV0YWRhdGEgZmllbGRzLgoKMjAwOC0xMS0yNiAwNDo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lio6IEVuYWJsZSBsYXRlbmN5IGNvZGUsIHNpbmNlIHdlJ3JlIGRlZmluaXRlbHkgYWZ0ZXIgMC4xMC4xMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBFbmFibGUgbGF0ZW5jeSBjb2RlLCBzaW5jZSB3ZSdyZSBkZWZpbml0ZWx5IGFmdGVyIDAuMTAuMTIKCjIwMDgtMTEtMjUgMTg6Mjg6MTggKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPG5vdHZlcnlzbWFydEBnbWFpbC5jb20+CgoJICBleHQvc3BjL2dzdHNwYy5jOiBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4gYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb25hdGhhbiBNYXR0aGV3IDxub3R2ZXJ5c21hcnQgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksIChzcGNfc2V0dXApOgoJICBQb3N0IGFuIGVycm9yIGFuZCBwdXNoIEVPUyB3aGVuIHdlIGNhbid0IHN0YXJ0IHBsYXliYWNrIGZvciBzb21lIHJlYXNvbi4KCSAgYWxzbyBhdm9pZCBhIGNyYXNoIHdoZW4gZmVkIGFuIGVtcHR5IGZpbGUuIEZpeGVzICM0ODA1NDMuCgoyMDA4LTExLTI1IDE2OjM3OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdW5pdCB0ZXN0IGFnYWluIGZhc3RlciB0byBwcmV2ZW50IHRpbWVvdXRzIHdpdGggdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHRlc3RfcGlwZWxpbmUpOgoJICBNYWtlIHVuaXQgdGVzdCBhZ2FpbiBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cyB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yNSAxNToxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogRml4IGV2ZW50IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IGV2ZW50IGxlYWsuCgoyMDA4LTExLTI1IDE0OjQ5OjM0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZtcGVnLmM6IChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3Jfc2V0X2NhcHMpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgU2V0IHZpZGVvIGRpbWVuc2lvbnMgYW5kIHBpeGVsIGFzcGVjdCByYXRpbyBvbiB0aGUgY2Fwcy4KCjIwMDgtMTEtMjUgMTA6MjY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9teGYvOiBBZGQgaW5pdGlhbCBwYXJzaW5nIG9mIFJHQkEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9yZ2JhX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhKToKCSAgKiBnc3QvbXhmL214ZmRlbXV4Lmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOgoJICAobXhmX21ldGFkYXRhX3JnYmFfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfcmdiYV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvcl9yZXNldCk6CgkgICogZ3N0L214Zi9teGZwYXJzZS5oOgoJICAqIGdzdC9teGYvbXhmdHlwZXMuaDoKCSAgQWRkIGluaXRpYWwgcGFyc2luZyBvZiBSR0JBIGRlc2NyaXB0b3JzLgoJICBEb24ndCBpbml0aWFsaXplIGRlc2NyaXB0b3IgR0FycmF5IHdpdGggemVyb2VzLgoKMjAwOC0xMS0yNSAwOTozODoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cCB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5oOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzoKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV9yZXNvbHZlX3JlZmVyZW5jZXMpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGEpOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOgoJICAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9oYW5kbGVfdGFnKToKCSAgKiBnc3QvbXhmL214Zm1wZWcuaDoKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLCAobXhmX21ldGFkYXRhX3RyYWNrX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnRfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX2hhbmRsZV90YWcpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfaGFuZGxlX3RhZyksCgkgIChteGZfbWV0YWRhdGFfbXVsdGlwbGVfZGVzY3JpcHRvcl9oYW5kbGVfdGFnKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFJld3JpdGUgcGFyc2luZyBvZiBkZXNjcmlwdG9ycyB0byBnbyB0b3AtZG93biBpbnN0ZWFkIG9mIGJvdHRvbS11cAoJICB3aGljaCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYXZlIHRoZSBidWZmZXIgZGF0YSBub24td3JpdGFibGUuCgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwOC0xMS0yNSAwMDoyMDoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIG5ldyBkaXJlY3RvcnkgZm9yIG5ldyBhY21tcDNkZWMgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgIEFkZCBuZXcgZGlyZWN0b3J5IGZvciBuZXcgYWNtbXAzZGVjIHBsdWdpbgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9hY21tcDNkZWMuYzoKCSAgQWRkIG5ldyBhY21tcDNkZWMgcGx1Z2luLCB3aGljaCB1c2VzIEFDTSBmb3IgZGVjb2RpbmcgbXAzIG9uIHdpbmRvd3MuCgoyMDA4LTExLTI0IDExOjMxOjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmL214ZmRlbXV4LmM6IE1ha2Ugc3VyZSB0byBvbmx5IG91dHB1dCBnZW5lcmljIGNvbnRhaW5lciBlc3NlbmNlIGVsZW1lbnRzIGZvciBhIHRyYWNrIGlmIHRoZSBib2R5IFNJRCBvZiB0aGUgc3UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOgoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9lbGVtZW50KToKCSAgTWFrZSBzdXJlIHRvIG9ubHkgb3V0cHV0IGdlbmVyaWMgY29udGFpbmVyIGVzc2VuY2UgZWxlbWVudHMKCSAgZm9yIGEgdHJhY2sgaWYgdGhlIGJvZHkgU0lEIG9mIHRoZSBzdXJyb3VuZGluZyBwYXJ0aXRpb24gaXMKCSAgdGhlIHNhbWUgYXMgdGhlIGJvZHkgU0lEIG9mIHRoZSB0cmFjaydzIHNvdXJjZSBwYWNrYWdlLgoKMjAwOC0xMS0yNCAxMToxNzoxOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpeCBub24ga2V5IHVuaXQgc2Vla2luZyBieSBhbHdheXMgZ29pbmcgdG8gdGhlIHByZXZpb3VzIGtleWZyYW1lLiBNYXJrIHRoZSBkaXNjb250IGZsYWcgd2hlbiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTEtMjQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKToKCSAgRml4IG5vbiBrZXkgdW5pdCBzZWVraW5nIGJ5IGFsd2F5cyBnb2luZyB0byB0aGUgcHJldmlvdXMKCSAga2V5ZnJhbWUuIE1hcmsKCSAgdGhlIGRpc2NvbnQgZmxhZyB3aGVuIHdlJ3ZlIG1vdmVkIGluIHRoZSBmaWxlLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKTogTVAzCgkgIHN0cmVhbXMKCSAgYXJlIHBhcnNlZCBhbHJlYWR5LCBtYWtlcyBhdXRvcGx1Z2dlZCBwaXBlbGluZXMgc2hvcnRlci4KCjIwMDgtMTEtMjQgMTA6NDY6MDEgKzAwMDAgIHZhbmlzdGEgPHZhbmlzdGFAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd0c211eC86IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11eGluZyBBQzMvRFRTL0xQQ00gaW50byBNUEVHIFRTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IHZhbmlzdGEgPHZhbmlzdGEgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uYzogKHRzbXV4X3N0cmVhbV9uZXcpOgoJICBBZGQgaW5pdGlhbCBzdXBwb3J0IGZvciBtdXhpbmcgQUMzL0RUUy9MUENNIGludG8gTVBFRyBUUy4KCSAgRml4ZXMgYnVnICM1NTA2MTMuCgoyMDA4LTExLTI0IDEwOjQxOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXhmLzogQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZyBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksIChnc3RfbXhmX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKToKCSAgQWxsb3cgbm9uLU1YRiBLTFYgcGFja2V0cyBhbmQganVzdCBkcm9wIHRoZW0gaW5zdGVhZCBvZiB0aHJvd2luZwoJICBhbiBlcnJvciBhbmQgaGFuZGxlIDkgYnl0ZSBwcm9kdWN0IHZlcnNpb25zIGFzIHdyaXR0ZW4gYnkgQXZpZC4KCSAgVGhpcyBkb2Vzbid0IGFkZCBzdXBwb3J0IGZvciB0aGUgbm9uLXN0YW5kYXJkIEF2aWQgTVhGIGZpbGVzCgkgIGJ1dCBhdCBsZWFzdCBtYWtlcyBpdCBwb3NzaWJsZSB0byBwYXJzZSB0aGVpciBoZWFkZXIgbWV0YWRhdGEuCgkgIEZpeCBhIGNvcHkmcGFzdGUgZXJyb3IgaW4gZGVidWcgb3V0cHV0LgoKMjAwOC0xMS0yMyAxNzo1MDowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svOiBRdWVyeSBwb3J0IGxhdGVuY2llcyBmb3Igc2luay9zcmMgZGVsYXlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgIFF1ZXJ5IHBvcnQgbGF0ZW5jaWVzIGZvciBzaW5rL3NyYyBkZWxheXMuCgkgICogZXh0L2phY2svZ3N0amFja2Jpbi5jOgoJICBObyBwcmludGYgcGxlYXNlLgoKMjAwOC0xMS0yMyAxMToyNTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi9teGZkZW11eC5jOiBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdCBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVsbF9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICBBY3R1YWxseSB3ZSBzdXBwb3J0IGEgbGVuZ3RoIHN0b3JlZCBpbnNpZGUgOCBieXRlcyBidXQgaXQgbXVzdAoJICBiZSBzbWFsbGVyIHRoYW4gR19NQVhVSU5UIGZvciBHc3RCdWZmZXIuCgoyMDA4LTExLTIzIDExOjE2OjM2ICswMDAwICBUYWwgU2hhbGlmIDx0c2hhbGlmQG5hcmdpbGEub3JnPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBUYWwgU2hhbGlmIDx0c2hhbGlmIGF0IG5hcmdpbGEgZG90IG9yZz4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKHJzbl9kdmRzcmNfcHJlcGFyZV9zdHJlYW1zaW5mb19ldmVudCk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nLiBGaXhlcyBidWcgIzU2MTk5Mi4KCjIwMDgtMTEtMjIgMTU6MzE6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAocnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgdGhlIFJUQ1AgTVRVLgoKMjAwOC0xMS0yMiAxNToyNDo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoY29weV9zb3VyY2UpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgQWRkIEdfUEFSQU1fU1RBVElDX1NUUklOR1MuCgkgIEFkZCBwcm9wZXJ0eSB0byByZXR1cm4gYSBHVmFsdWVBcnJheSBvZiBhbGwga25vd24gUlRQU291cmNlcyBpbiB0aGUKCSAgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfY2xhc3NfaW5pdCksCgkgIChydHBfc291cmNlX2NyZWF0ZV9zZGVzKSwgKHJ0cF9zb3VyY2Vfc2V0X3Byb3BlcnR5KSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgUmVtb3ZlIHByb3BlcnRpZXMgdG8gc2V0IHRoZSB2YXJpb3VzIFNERVMgaXRlbXMsIGFuIGFwcGxpY2F0aW9uIGlzIG5ldmVyCgkgIHN1cHBvc2VkIHRvIGNoYW5nZSB0aGUgUlRQU291cmNlIGRhdGEuCgkgIENoYW5nZSB0aGUgU0RFUyBnZXR0ZXIgcHJvcGVydGllcyB0byBvbmUgU0RFUyBwcm9wZXJ0eSB0aGF0IHJldHVybnMgYWxsCgkgIFNERVMgaXRlbXMgaW4gYSBHc3RTdHJ1Y3R1cmUuCgoyMDA4LTExLTIyIDE1OjAyOjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseSB3aXRoIHZhbGdyaW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIE1ha2UgdGhlIHVuaXQgdGVzdCBhIGJpdCBmYXN0ZXIgdG8gcHJldmVudCB0aW1lb3V0cywgZXNwZWNpYWxseQoJICB3aXRoIHZhbGdyaW5kLgoKMjAwOC0xMS0yMiAxNDo1MTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGZpeGVzIGFuZCB1c2FnZSBvZiBndWludCBpbnN0ZWFkIG9mIGdpbnQgd2hlcmUgbmVnYXRpdmUgdmFsdWVzIGRvbid0IG1ha2Ugc2Vuc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmZGVtdXguYzogKGdzdF9teGZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaGVhZGVyX21ldGFkYXRhX3VwZGF0ZV9zdHJlYW1zKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmM6IChnc3RfbXhmX3VsX2hhc2gpLAoJICAobXhmX3BhcnRpdGlvbl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfcHJlZmFjZV9wYXJzZSksIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpOgoJICBTb21lIG1vcmUgZm9ybWF0IHN0cmluZyBmaXhlcyBhbmQgdXNhZ2Ugb2YgZ3VpbnQgaW5zdGVhZCBvZiBnaW50CgkgIHdoZXJlIG5lZ2F0aXZlIHZhbHVlcyBkb24ndCBtYWtlIHNlbnNlLgoKMjAwOC0xMS0yMiAxNDo0MjowOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L214Zi86IFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9teGYvbXhmYWVzLWJ3Zi5jOgoJICAobXhmX21ldGFkYXRhX3dhdmVfYXVkaW9fZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuaDoKCSAgKiBnc3QvbXhmL214ZmRlbXV4LmM6IChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdWxsX2tsdl9wYWNrZXQpLAoJICAoZ3N0X214Zl9kZW11eF9wYXJzZV9mb290ZXJfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfYW5kX2hhbmRsZV9rbHZfcGFja2V0KSwgKGdzdF9teGZfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX3RpbWVzdGFtcF9wYXJzZSksIChteGZfZnJhY3Rpb25fcGFyc2UpLAoJICAobXhmX3V0ZjE2X3RvX3V0ZjgpLCAobXhmX3Byb2R1Y3RfdmVyc2lvbl9wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcGFyc2UpLCAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwKCSAgKG14Zl9sb2NhbF90YWdfcGFyc2UpLCAobXhmX21ldGFkYXRhX3ByZWZhY2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jb250ZW50X3N0b3JhZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2Vzc2VuY2VfY29udGFpbmVyX2RhdGFfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9wYXJzZSksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3NlcXVlbmNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9maWxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfc291bmRfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9jZGNpX3BpY3R1cmVfZXNzZW5jZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9sb2NhdG9yX3BhcnNlKToKCSAgKiBnc3QvbXhmL214ZnBhcnNlLmg6CgkgIFVzZSBndWludCBpbnN0ZWFkIG9mIGd1aW50NjQgb3IgZ3NpemUgZm9yIGFsbCBidWZmZXIgc2l6ZXMgYW5kCgkgIHVzZSBjb3JyZWN0IGZvcm1hdCBzdHJpbmdzIGZvciB0aGVtLiBPbmx5IGxvY2FsIHRhZyBzZXQgc2l6ZXMKCSAgYXJlIHN0aWxsIGd1aW50MTYgYXMgdGhleSBjYW4ndCBiZSBsYXJnZXIuCgkgIE9ubHkgYWxsb3cgS0xWIHBhY2tldHMgb2Ygc2l6ZXMgYmVsb3cgMTw8MzIgYXMgR1N0cmVhbWVyIG9ubHkgdXNlcwoJICBndWludCBmb3IgYnVmZmVyIHNpemVzLiBUaGUgTVhGIHN0YW5kYXJkIGFsbG93cyBwYWNrZXQgc2l6ZXMgdXAKCSAgdG8gMTw8NjQuCgoyMDA4LTExLTIyIDEzOjE3OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIEFsc28gdW5yZWYgdGhlIHRhcmdldCBwYWQgZm9yIHVua25vd24gcGFkcy4KCjIwMDgtMTEtMjIgMDg6MjM6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogVXNlIEdfR1NJWkVfRk9STUFUIGluc3RlYWQgb2YgIiV1IiBmb3IgYSBzaXplX3QgdmFyaWFibGUgaW4gdGhlIGZvcm1hdCBzdHJpbmcgdG8gcHJldmVudCBhIGNvbXBpbC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9zb2NrZXRfd3JpdGUpOgoJICBVc2UgR19HU0laRV9GT1JNQVQgaW5zdGVhZCBvZiAiJXUiIGZvciBhIHNpemVfdCB2YXJpYWJsZSBpbgoJICB0aGUgZm9ybWF0IHN0cmluZyB0byBwcmV2ZW50IGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMjEgMTY6MTc6MjIgKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUmVsZWFzZSB0aGUgcmlnaHQgcGFkcyBvbiBydHBiaW4uIEZpeGVzICM1NjE3NTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHJpZ2h0IHBhZHMgb24gcnRwYmluLiBGaXhlcyAjNTYxNzUyLgoKMjAwOC0xMS0yMSAxNTo0NToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgYSAiZmlsdGVyLWxlbmd0aCIgcHJvcGVydHkgdGhhdCBtYXBzIHRvIHRoZSBxdWFsaXR5IHZhbHVlcyBmb3IgY29tcGF0aWJpbHR5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSk6CgkgIEFkZCBhICJmaWx0ZXItbGVuZ3RoIiBwcm9wZXJ0eSB0aGF0IG1hcHMgdG8gdGhlIHF1YWxpdHkgdmFsdWVzCgkgIGZvciBjb21wYXRpYmlsdHkgd2l0aCBhdWRpb3Jlc2FtcGxlLgoKMjAwOC0xMS0yMSAxMDozNzoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgdGhlICJleHBlcmltZW50YWwiIGZsYWcgZnJvbSB0aGUgZGVpbnRlcmxhY2UyIHBsdWdpbi4KCjIwMDgtMTEtMjEgMTA6Mjc6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9teGYvTWFrZWZpbGUuYW06CgkgICogZ3N0L214Zi9teGYuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXhmL214ZmFlcy1id2YuYzoKCSAgKG14Zl9tZXRhZGF0YV93YXZlX2F1ZGlvX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX2lzX2Flc19id2ZfZXNzZW5jZV90cmFjayksIChteGZfYndmX2hhbmRsZV9lc3NlbmNlX2VsZW1lbnQpLAoJICAobXhmX2J3Zl9jcmVhdGVfY2FwcyksIChteGZfYWVzX2J3Zl9jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZhZXMtYndmLmg6CgkgICogZ3N0L214Zi9teGZkZW11eC5jOiAoZ3N0X214Zl9wYWRfZmluYWxpemUpLAoJICAoZ3N0X214Zl9wYWRfY2xhc3NfaW5pdCksIChnc3RfbXhmX3BhZF9pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfZmx1c2gpLCAoZ3N0X214Zl9kZW11eF9yZW1vdmVfcGFkKSwKCSAgKGdzdF9teGZfZGVtdXhfcmVzZXRfbXhmX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfcmVzZXRfbWV0YWRhdGEpLAoJICAoZ3N0X214Zl9kZW11eF9yZXNldCksIChnc3RfbXhmX2RlbXV4X3B1bGxfcmFuZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9wdXNoX3NyY19ldmVudCksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wYXJ0aXRpb25fcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9wcmltZXJfcGFjayksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9wcmVmYWNlKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2lkZW50aWZpY2F0aW9uKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX21hdGVyaWFsX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc291cmNlX3BhY2thZ2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfdHJhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc2VxdWVuY2UpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfc3RydWN0dXJhbF9jb21wb25lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tdWx0aXBsZV9kZXNjcmlwdG9yKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfY2RjaV9waWN0dXJlX2Vzc2VuY2VfZGVzY3JpcHRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YV9tcGVnX3ZpZGVvX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfd2F2ZV9hdWRpb19lc3NlbmNlX2Rlc2NyaXB0b3IpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfbWV0YWRhdGFfbG9jYXRvciksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9oZWFkZXJfbWV0YWRhdGFfcmVzb2x2ZV9yZWZlcmVuY2VzKSwKCSAgKGdzdF9teGZfZGVtdXhfaGFuZGxlX2hlYWRlcl9tZXRhZGF0YV91cGRhdGVfc3RyZWFtcyksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9zeXN0ZW1faXRlbSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9nZW5lcmljX2NvbnRhaW5lcl9lc3NlbmNlX2VsZW1lbnQpLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfcmFuZG9tX2luZGV4X3BhY2spLAoJICAoZ3N0X214Zl9kZW11eF9oYW5kbGVfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChnc3RfbXhmX2RlbXV4X3B1bGxfa2x2X3BhY2tldCksCgkgIChnc3RfbXhmX2RlbXV4X3BhcnNlX2Zvb3Rlcl9tZXRhZGF0YSksCgkgIChnc3RfbXhmX2RlbXV4X2hhbmRsZV9rbHZfcGFja2V0KSwKCSAgKGdzdF9teGZfZGVtdXhfcHVsbF9hbmRfaGFuZGxlX2tsdl9wYWNrZXQpLCAoZ3N0X214Zl9kZW11eF9sb29wKSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhaW4pLCAoZ3N0X214Zl9kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X214Zl9kZW11eF9zcmNfcXVlcnlfdHlwZSksIChnc3RfbXhmX2RlbXV4X3NyY19xdWVyeSksCgkgIChnc3RfbXhmX2RlbXV4X3NpbmtfYWN0aXZhdGUpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X214Zl9kZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X214Zl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9teGZfZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGdzdF9teGZfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X214Zl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X214Zl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9teGZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L214Zi9teGZkZW11eC5oOgoJICAqIGdzdC9teGYvbXhmbXBlZy5jOiAobXhmX21ldGFkYXRhX21wZWdfdmlkZW9fZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfbXBlZ192aWRlb19kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9pc19tcGVnX3ZpZGVvX2Vzc2VuY2VfdHJhY2spLAoJICAobXhmX21wZWdfdmlkZW9faGFuZGxlX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfbXBlZ192aWRlb19jcmVhdGVfY2Fwcyk6CgkgICogZ3N0L214Zi9teGZtcGVnLmg6CgkgICogZ3N0L214Zi9teGZwYXJzZS5jOiAobXhmX2lzX214Zl9wYWNrZXQpLCAobXhmX2lzX3BhcnRpdGlvbl9wYWNrKSwKCSAgKG14Zl9pc19oZWFkZXJfcGFydGl0aW9uX3BhY2spLCAobXhmX2lzX2JvZHlfcGFydGl0aW9uX3BhY2spLAoJICAobXhmX2lzX2Zvb3Rlcl9wYXJ0aXRpb25fcGFjayksIChteGZfaXNfZmlsbCksCgkgIChteGZfaXNfcHJpbWVyX3BhY2spLCAobXhmX2lzX21ldGFkYXRhKSwKCSAgKG14Zl9pc19yYW5kb21faW5kZXhfcGFjayksIChteGZfaXNfaW5kZXhfdGFibGVfc2VnbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfc3lzdGVtX2l0ZW0pLAoJICAobXhmX2lzX2dlbmVyaWNfY29udGFpbmVyX2Vzc2VuY2VfZWxlbWVudCksCgkgIChteGZfaXNfZ2VuZXJpY19jb250YWluZXJfZXNzZW5jZV9jb250YWluZXJfbGFiZWwpLAoJICAobXhmX3VsX2lzX2VxdWFsKSwgKG14Zl91bF9pc196ZXJvKSwgKG14Zl91bF90b19zdHJpbmcpLAoJICAobXhmX3VtaWRfaXNfZXF1YWwpLCAobXhmX3VtaWRfaXNfemVybyksIChteGZfdW1pZF90b19zdHJpbmcpLAoJICAoZ3N0X214Zl91bF9oYXNoKSwgKGdzdF9teGZfdWxfZXF1YWwpLCAobXhmX3RpbWVzdGFtcF9wYXJzZSksCgkgIChteGZfdGltZXN0YW1wX2lzX3Vua25vd24pLCAobXhmX3RpbWVzdGFtcF9jb21wYXJlKSwKCSAgKG14Zl9mcmFjdGlvbl9wYXJzZSksIChteGZfdXRmMTZfdG9fdXRmOCksCgkgIChteGZfcHJvZHVjdF92ZXJzaW9uX3BhcnNlKSwgKG14Zl9wYXJ0aXRpb25fcGFja19wYXJzZSksCgkgIChteGZfcGFydGl0aW9uX3BhY2tfcmVzZXQpLCAoX214Zl9tYXBwaW5nX3VsX2ZyZWUpLAoJICAobXhmX3ByaW1lcl9wYWNrX3BhcnNlKSwgKG14Zl9wcmltZXJfcGFja19yZXNldCksCgkgIChteGZfbG9jYWxfdGFnX3BhcnNlKSwgKGdzdF9teGZfbG9jYWxfdGFnX2ZyZWUpLAoJICAoZ3N0X21ldGFkYXRhX2FkZF9jdXN0b21fdGFnKSwgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9wcmVmYWNlX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV9pZGVudGlmaWNhdGlvbl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfaWRlbnRpZmljYXRpb25fcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NvbnRlbnRfc3RvcmFnZV9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfY29udGVudF9zdG9yYWdlX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9lc3NlbmNlX2NvbnRhaW5lcl9kYXRhX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3BhY2thZ2VfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGFja2FnZV9yZXNldCksIChteGZfbWV0YWRhdGFfdHJhY2tfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX3RyYWNrX3Jlc2V0KSwgKG14Zl9tZXRhZGF0YV90cmFja19pZGVudGlmaWVyX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zZXF1ZW5jZV9wYXJzZSksIChteGZfbWV0YWRhdGFfc2VxdWVuY2VfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX3N0cnVjdHVyYWxfY29tcG9uZW50X3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9zdHJ1Y3R1cmFsX2NvbXBvbmVudF9yZXNldCksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19kZXNjcmlwdG9yX3BhcnNlKSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2ZpbGVfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZmlsZV9kZXNjcmlwdG9yX3Jlc2V0KSwKCSAgKG14Zl9tZXRhZGF0YV9nZW5lcmljX3NvdW5kX2Vzc2VuY2VfZGVzY3JpcHRvcl9wYXJzZSksCgkgIChteGZfbWV0YWRhdGFfZ2VuZXJpY19zb3VuZF9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2dlbmVyaWNfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX2NkY2lfcGljdHVyZV9lc3NlbmNlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcGFyc2UpLAoJICAobXhmX21ldGFkYXRhX211bHRpcGxlX2Rlc2NyaXB0b3JfcmVzZXQpLAoJICAobXhmX21ldGFkYXRhX2xvY2F0b3JfcGFyc2UpLCAobXhmX21ldGFkYXRhX2xvY2F0b3JfcmVzZXQpOgoJICAqIGdzdC9teGYvbXhmcGFyc2UuaDoKCSAgKiBnc3QvbXhmL214ZnR5cGVzLmg6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIE1YRiBkZW11eGVyLiBDdXJyZW50bHkgaXQgc3VwcG9ydHMKCSAgTVBFRyB2aWRlbyBhbmQgcmF3IGF1ZGlvIGFuZCBPUCAxYS9iL2MuCgoyMDA4LTExLTIxIDAwOjQ3OjM3ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuY3BwOiBGaXggZmx1c2hpbmcvc2Vla2luZyBwcm9ibGVtcyByZXR1cm5pbmcgZXJyb3IgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgRml4IGZsdXNoaW5nL3NlZWtpbmcgcHJvYmxlbXMgcmV0dXJuaW5nIGVycm9yIGNvZGUuCgkgIEZpeCBtcDMgZGVjb2Rpbmcgd2l0aCB3aW5YUCAoY3Jhc2hlZCByYW5kb21seSwgb2NjYXNpb25hbGx5KS4KCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuY3BwOgoJICBGaXggcHJvYmxlbXMgd2hlbiBmcmFtZXJhdGUgaXMgbWlzc2luZyBmcm9tIHZpZGVvLgoKMjAwOC0xMS0yMCAxODo0MTozNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ2V0X2N1cnJlbnRfdGltZXMpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKToKCSAgUGFzcyB0aGUgcnVubmluZyB0aW1lIHRvIHRoZSBzZXNzaW9uIHdoZW4gcHJvY2Vzc2luZyBSVFAgcGFja2V0cy4KCSAgSW1wcm92ZSB0aGUgdGltZSBmdW5jdGlvbiB0byBwcm92aWRlIG1vcmUgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2luaXQpLCAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYXJrIHRoZSBpbnRlcm5hbCBzb3VyY2Ugd2l0aCBhIGZsYWcuCgkgIFVzZSBydW5uaW5nX3RpbWUgaW5zdGVhZCBvZiB0aGUgbW9yZSB1c2VsZXNzIHRpbWVzdGFtcC4KCSAgVmFsaWRhdGUgYSBzb3VyY2Ugd2hlbiBhIHZhbGlkIFNERVMgaGFzIGJlZW4gcmVjZWl2ZWQuCgkgIFBhc3MgdGhlIGN1cnJlbnQgc3lzdGVtIHRpbWUgd2hlbiBwcm9jZXNzaW5nIFNSIHBhY2tldHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9pbml0KSwgKHJ0cF9zb3VyY2VfY3JlYXRlX3N0YXRzKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X3Byb3BlcnR5KSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3JiKSwgKHJ0cF9zb3VyY2VfZ2V0X25ld19yYiksCgkgIChydHBfc291cmNlX2dldF9sYXN0X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIHByb3BlcnR5IHRvIGdldCBzb3VyY2Ugc3RhdHMuCgkgIE1hcmsgcGFyYW1zIGFzIFNUQVRJQ19TVFJJTkdTLgoJICBDYWxjdWxhdGUgdGhlIGJpdHJhdGUgYXQgdGhlIHNlbmRlciBTU1JDLgoJICBBdm9pZCBuZWdhdGl2ZSB2YWx1ZXMgaW4gdGhlIHJvdW5kIHRyaXAgdGltZSBjYWxjdWxhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgVXBkYXRlIHNvbWUgZG9jcyBhbmQgY2hhbmdlIHNvbWUgdmFyaWFibGUgbmFtZSB0byBtb3JlIGNsb3NlbHkgcmVmbGVjdAoJICB3aGF0IGl0IGNvbnRhaW5zLgoKMjAwOC0xMS0yMCAxNjowMToyNyArMDAwMCAgTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoKCSAgZ3N0L2RjY3AvOiBDb2RlU3R5bGUgaW1wcm92ZW1lbnRzIGFuZCBtaW5vciBmaXhlcyB0byB0aGUgRENDUCBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogTGVhbmRybyBNZWxvIGRlIFNhbGVzIDxsZWFuZHJvYWxAZ21haWwuY29tPgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgIENvZGVTdHlsZSBpbXByb3ZlbWVudHMgYW5kIG1pbm9yIGZpeGVzIHRvIHRoZSBEQ0NQIHBsdWdpbi4KCSAgRml4ZXMgIzU1MzgyMy4KCjIwMDgtMTEtMjAgMDg6MTk6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXplIHJldHVybiB2YWx1ZSB0byBmaXggY29tcGlsZXIgd2FybmluZyBhYm91dCB1bmluaXRpYWxpemVkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbl9ydGNwKToKCSAgSW5pdGlhbGl6ZSByZXR1cm4gdmFsdWUgdG8gZml4IGNvbXBpbGVyIHdhcm5pbmcgYWJvdXQgdW5pbml0aWFsaXplZAoJICB2YXJpYWJsZS4KCjIwMDgtMTEtMTkgMTY6NDg6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogTWFyayBzaWduYWwgYXJnIGFzIHN0YXRpYyBzY29wZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCk6CgkgIE1hcmsgc2lnbmFsIGFyZyBhcyBzdGF0aWMgc2NvcGUuCgoyMDA4LTExLTE5IDA5OjA2OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbW92ZSBpbnRlcm5hbCBzeW5jIHBhZCwgdXNlIHNpZ25hbHMgaW5zdGVhZCB0byBnZXQgbGlwLXN5bmMgbm90aWZpY2F0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX3N5bmMpLCAoY3JlYXRlX3N0cmVhbSksIChmcmVlX3N0cmVhbSksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZW1vdmUgaW50ZXJuYWwgc3luYyBwYWQsIHVzZSBzaWduYWxzIGluc3RlYWQgdG8gZ2V0IGxpcC1zeW5jCgkgIG5vdGlmaWNhdGlvbnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbnRlcm5hbF9saW5rcyksIChjcmVhdGVfcnRjcF9zaW5rKSwKCSAgKHJlbW92ZV9ydGNwX3NpbmspLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfcnRjcF9ldmVudCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW5fcnRjcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBzZW5kIFNSIHBhY2tldHMgdG8gdGhlIGppdHRlcmJ1ZmZlci4KCSAgQ2hlY2sgaWYgdGhlIFNSIHRpbWVzdGFtcHMgYXJlIHZhbGlkIGJ5IGNvbXBhcmluZyB0aGVtIHRvIHRoZSBSVFAKCSAgdGltZXN0YW1wcy4KCSAgU2lnbmFsIHRoZSBTUiBwYWNrZXQgYW5kIHRoZSB0aW1pbmcgaW5mb3JtYXRpb24gdG8gbGlzdGVuZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9jaGFpbiksIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiB0aGUgbGFzdCBzZWVuIFJUUCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gZmlsdGVyIG91dAoJICBpbnZhbGlkIFNSIHBhY2tldHMuCgoyMDA4LTExLTE4IDE2OjUyOjExICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyby5kQGdtYWlsLmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzogQXZvaWQgZGVhZGxvY2sgZHVyaW5nIHBhZCBhY3RpdmF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkgIEF2b2lkIGRlYWRsb2NrIGR1cmluZyBwYWQgYWN0aXZhdGlvbi4KCSAgRml4ZXMgIzU2MTI0MS4KCjIwMDgtMTEtMTggMDE6MDk6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IFF1aWV0IGEgZGVidWdnaW5nIG1lc3NhZ2UgdGhhdCBJIHJlY2VudGx5IGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzogUXVpZXQgYSBkZWJ1Z2dpbmcgbWVzc2FnZSB0aGF0IEkgcmVjZW50bHkKCSAgYWRkZWQuCgoyMDA4LTExLTE3IDE5OjQ3OjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogRml4IEdTVF9ERUJVRyBjYWxsIHRvIG9ubHkgaGF2ZSBhcyBtYW55IGFyZ3VtZW50cyBhcyByZXF1aXJlZCBieSB0aGUgZm9ybWF0IHN0cmluZy4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChnZXRfY2xvY2tfcmF0ZSk6CgkgIEZpeCBHU1RfREVCVUcgY2FsbCB0byBvbmx5IGhhdmUgYXMgbWFueSBhcmd1bWVudHMgYXMgcmVxdWlyZWQKCSAgYnkgdGhlIGZvcm1hdCBzdHJpbmcuIEZpeGVzIGEgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMTEtMTcgMTU6MTc6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBrZWVwIHRyYWNrIG9mIHRoZSBjbG9jay1yYXRlIG91cnNlbHZlcyBidXQgc2ltcGx5IGdldCB0aGUgdmFsdWUgZnJvbSB0aGUgamkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChjcmVhdGVfc3RyZWFtKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIERvIG5vdCB0cnkgdG8ga2VlcCB0cmFjayBvZiB0aGUgY2xvY2stcmF0ZSBvdXJzZWx2ZXMgYnV0IHNpbXBseSBnZXQgdGhlCgkgIHZhbHVlIGZyb20gdGhlIGppdHRlcmJ1ZmZlci4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgUGFzcyB0aGUgY2xvY2stcmF0ZSB0byB0aGUgaml0dGVyYnVmZmVyLgoJICBBbHNvIHBhc3MgdGhlIGNsb2NrLXJhdGUgYWxvbmcgd2l0aCB0aGUgcnRwIHRpbWVzdGFtcCB3aGVuIGdldHRpbmcgdGhlCgkgIHN5bmMgcGFyYW1ldGVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgRml4IHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9zeW5jKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgS2VlcCB0cmFjayBvZiBjbG9jay1yYXRlIGNoYW5nZXMgYW5kIHJldHVybiB0aGUgY2xvY2stcmF0ZSB0b2dldGhlciB3aXRoCgkgIHRoZSBydHAgdGltZXN0YW1wcyB1c2VkIGZvciBzeW5jLgoJICBEb24ndCB0cnkgdG8gY29uc3RydWN0IHRpbWVzdGFtcHMgd2hlbiB3ZSBoYXZlIG5vIGJhc2VfdGltZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGdldF9jbG9ja19yYXRlKToKCSAgUmVxdWVzdCBhIG5ldyBjbG9jay1yYXRlIHdoZW4gdGhlIHBheWxvYWQgdHlwZSBjaGFuZ2VzLgoJICBSZXNldCB0aGUgaml0dGVyIGNhbGN1bGF0aW9uIHdoZW4gdGhlIGNsb2NrLXJhdGUgY2hhbmdlcy4KCjIwMDgtMTEtMTcgMDk6MzM6NTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FhY3BhcnNlX2RhdGEuaDoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hbXJwYXJzZV9kYXRhLmg6CgkgIEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwOC0xMS0xNSAwMjo1NjozMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcXRtdXgvZ3N0cXRtdXguKjogVXNlIGR0cyBmcm9tIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCgpIGZvciB2aWRlby94LXF0LXBhcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICBVc2UgZHRzIGZyb20gR1NUX0JVRkZFUl9PRkZTRVRfRU5EKCkgZm9yIHZpZGVvL3gtcXQtcGFydC4KCjIwMDgtMTEtMTQgMjM6MDE6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuYzogQWRkIHNvbWUgb2Ygb3VyIGZhdm9yaXRlIGNvZGVjcy4KCjIwMDgtMTEtMTQgMjE6NDQ6MzIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBHdWFyZCBhZ2FpbnN0IGEgTlVMTCBkZXJlZmVyZW5jZSBJIHNvbWVob3cgZW5jb3VudGVyZWQgLSB3aXRoIGEgRkxVU0hfU1RPUCBhcnJpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgR3VhcmQgYWdhaW5zdCBhIE5VTEwgZGVyZWZlcmVuY2UgSSBzb21laG93IGVuY291bnRlcmVkIC0KCSAgd2l0aCBhIEZMVVNIX1NUT1AgYXJyaXZpbmcgZWl0aGVyIGJlZm9yZSBiYXNldHJhbnNmb3JtIF9zdGFydCgpLAoJICBvciBhZnRlciBfc3RvcCgpLgoJICAqIGdzdC90eXBlZmluZC9nc3R0eXBlZmluZGZ1bmN0aW9ucy5jOgoJICBNYWtlIHN1cmUgd2UgbmV2ZXIganVtcCBiYWNrd2FyZHMgd2hlbiB0eXBlZmluZGluZyBjb3JydXB0IG1vdiBmaWxlcy4KCjIwMDgtMTEtMTQgMjE6MjQ6NTEgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogUmV2ZXJ0IHByZXZpb3VzIGNvbW1pdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIFJldmVydCBwcmV2aW91cyBjb21taXQuCgoyMDA4LTExLTE0IDIwOjM4OjE4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGdzdC9xdG11eC86IER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmM6CgkgICogZ3N0L3F0bXV4L2Rlc2NyaXB0b3JzLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9mdHlwY2MuaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXguaDoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuYzoKCSAgKiBnc3QvcXRtdXgvZ3N0cXRtdXhtYXAuaDoKCSAgKiBnc3QvcXRtdXgvcHJvcGVydGllcy5jOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmg6CgkgIER1YWwgbGljZW5zZSBMR1BML01JVCwgYXMgYXBwYXJlbnRseSBzdXBwb3NlZCB0by4KCjIwMDgtMTEtMTQgMjA6MTc6MTAgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4LzogQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2F0b21zLmM6IChidWlsZF9lc2RzX2V4dGVuc2lvbiksCgkgIChidWlsZF9tb3ZfYWFjX2V4dGVuc2lvbiksIChidWlsZF9qcDJoX2V4dGVuc2lvbiksCgkgIChidWlsZF9jb2RlY19kYXRhX2V4dGVuc2lvbik6CgkgICogZ3N0L3F0bXV4L2F0b21zLmg6CgkgICogZ3N0L3F0bXV4L2ZvdXJjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOiAoZ3N0X3F0X211eF9hdWRpb19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF9xdF9tdXhfdmlkZW9fc2lua19zZXRfY2Fwcyk6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4bWFwLmM6IChnc3RfcXRfbXV4X21hcF9mb3JtYXRfdG9faGVhZGVyKToKCSAgQ3V0IGRldG91ciBpbiBzYW1wbGUgZGVzY3JpcHRpb24gZXh0ZW5zaW9uIGNvbnN0cnVjdGlvbi4KCSAgQWxzbyBhY3R1YWxseSBpbXBsZW1lbnQgSVNPIEpQRUcyMDAwIG1qMiBmb3JtYXQuCgoyMDA4LTExLTE0IDE5OjUyOjI0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKToKCSAgQ29uc3RydWN0IHNvdXJjZSBjYXBzIGluIG1vcmUgY29udmVudGlvbmFsIChhbmQgY29ycmVjdCkgbWFubmVyLgoKMjAwOC0xMS0xNCAxNjoxNTo0MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBubyBtb3JlIGVnZ2luZyB0aGUgcHVkZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbm8gbW9yZSBlZ2dpbmcgdGhlIHB1ZGRpbmcKCjIwMDgtMTEtMTQgMTQ6MjM6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC1saWJzL2dzdC9wbGF5LzogUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS8uY3ZzaWdub3JlOgoJICAqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5LnZjcHJvajoKCSAgUmVtb3ZlIGNydWZ0LiBUaGlzIGlzIG5vdCBlbnRlcmVkIGJ5IG1ha2UgYW5kIGl0cyBub3QgZXZlbiBjb21waWxhYmxlLgoKMjAwOC0xMS0xMyAyMjozMDo1NCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFNldCBwaXhlbC1hc3BlY3QtcmF0aW8gY29ycmVjdGx5IGluIHRoZSBlbmNvZGVyIEFQSSwgYXMgd2VsbCBhcyBzb21lIGRlZmF1bHQgZ3N0cmVhbWVyaXNoIGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOgoJICBTZXQgcGl4ZWwtYXNwZWN0LXJhdGlvIGNvcnJlY3RseSBpbiB0aGUgZW5jb2RlciBBUEksIGFzIHdlbGwKCSAgYXMgc29tZSBkZWZhdWx0IGdzdHJlYW1lcmlzaCBjb2xvcnNwYWNlIHByb3BlcnRpZXMuICBBbHNvLAoJICBhcHBhcmVudGx5LCBjaGFuZ2UgYSBidW5jaCBvZiBpbmRlbnRhdGlvbi4KCjIwMDgtMTEtMTMgMjE6NDQ6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L2pwMmsvOiBBZGQganAya2VuYyB0byBqcDJrIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19jbGFzc19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZW5jLmM6IChnc3RfamFzcGVyX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2xhc3NfaW5pdCksIChnc3RfamFzcGVyX2VuY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZW5jX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZW5jX3NldF9zcmNfY2FwcyksCgkgIChnc3RfamFzcGVyX2VuY19pbml0X2VuY29kZXIpLCAoZ3N0X2phc3Blcl9lbmNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9qYXNwZXJfZW5jX2dldF9kYXRhKSwgKGdzdF9qYXNwZXJfZW5jX2NoYWluKSwKCSAgKGdzdF9qYXNwZXJfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfamFzcGVyX2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phc3Blcl9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJlbmMuaDoKCSAgKiBleHQvanAyay9nc3RqcDJrLmM6IChwbHVnaW5faW5pdCk6CgkgIEFkZCBqcDJrZW5jIHRvIGpwMmsgcGx1Z2luLgoKMjAwOC0xMS0xMyAyMTozMToxNCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvanAyay9nc3RqYXNwZXJkZWMuKjogTWFrZSBwYWQgdGVtcGxhdGUgY2FwcyByZWZsZWN0IHRoZSBzdXBwb3J0ZWQgZm9ybWF0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmM6IChnc3RfamFzcGVyX2RlY19pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX3Jlc2V0KSwgKGdzdF9qYXNwZXJfZGVjX25lZ290aWF0ZSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcGljdHVyZSk6CgkgICogZXh0L2pwMmsvZ3N0amFzcGVyZGVjLmg6CgkgIE1ha2UgcGFkIHRlbXBsYXRlIGNhcHMgcmVmbGVjdCB0aGUgc3VwcG9ydGVkIGZvcm1hdHMuCgkgIEFkZCBvciBtb2RpZnkgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLCBhbmQgc2xpZ2h0bHkgc2ltcGxpZnkgaW1hZ2UKCSAgcGFzc2luZyB0byBlbmNvZGluZyBsaWJyYXJ5LgoKMjAwOC0xMS0xMyAxNzoyNDo1OCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9hYWNwYXJzZS9nc3RhYWNwYXJzZS5jOiBEb24ndCBhdXRvcGx1ZyBhYWNwYXJzZSB1bnRpbCBpdCB3b3Jrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGFhY3BhcnNlLmM6IChwbHVnaW5faW5pdCk6CgkgIERvbid0IGF1dG9wbHVnIGFhY3BhcnNlIHVudGlsIGl0IHdvcmtzLgoKMjAwOC0xMS0xMyAxNTo0ODo1NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogU21hbGwgY2xlYW51cHMgYW5kIHNvbWUgbW9yZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyk6CgkgIFNtYWxsIGNsZWFudXBzIGFuZCBzb21lIG1vcmUgZGVidWcgaW5mby4KCjIwMDgtMTEtMTMgMTU6MjA6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIG5ldyBwYXJzZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hYWNwYXJzZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2FtcnBhcnNlLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBuZXcgcGFyc2Vycy4KCjIwMDgtMTEtMTMgMTQ6MzE6NDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IFVwZGF0ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFhY3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYW1ycGFyc2UueG1sOgoJICBVcGRhdGUgZG9jcy4KCjIwMDgtMTEtMTMgMTQ6MjE6MzkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBiYXNlcGFyc2UgdHlwZSBuYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5jOgoJICBGaXggYmFzZXBhcnNlIHR5cGUgbmFtZS4KCjIwMDgtMTEtMTMgMTI6NTk6MzQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEFkZCB0d28gbmV3IGJhc2VwYXJzZSBiYXNlZCBwYXJzZXJzIChhYWMgYW5kIGFtcikgZnJvbSBCdWcgIzUxODg1Ny4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hYWNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuYzoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YWFjcGFyc2UuaDoKCSAgKiBnc3QvYWFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICAqIGdzdC9hbXJwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuYzoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YW1ycGFyc2UuaDoKCSAgKiBnc3QvYW1ycGFyc2UvZ3N0YmFzZXBhcnNlLmM6CgkgICogZ3N0L2FtcnBhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBBZGQgdHdvIG5ldyBiYXNlcGFyc2UgYmFzZWQgcGFyc2VycyAoYWFjIGFuZCBhbXIpIGZyb20gQnVnICM1MTg4NTcuCgoyMDA4LTExLTEyIDEwOjMyOjI0ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IEZpeCB1bmluaXRpYWxpemVkIHdhcm5pbmdzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBGaXggdW5pbml0aWFsaXplZCB3YXJuaW5ncwoKMjAwOC0xMS0xMSAxOTozMTozNSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3QgZm9yIHF0bXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9xdG11eC5jOiAoc2V0dXBfc3JjX3BhZCksCgkgICh0ZWFyZG93bl9zcmNfcGFkKSwgKHNldHVwX3F0bXV4KSwgKGNsZWFudXBfcXRtdXgpLAoJICAoY2hlY2tfcXRtdXhfcGFkKSwgKEdTVF9TVEFSVF9URVNUKSwgKHF0bXV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBxdG11eC4KCjIwMDgtMTEtMTEgMTk6MjQ6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IEFkZCBzb21lIG1vcmUgc2FmZXR5L3Nhbml0eSBjaGVja3MgaW4gdGFnIG1hbmlwdWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0bXV4L2dzdHF0bXV4LmM6IChnc3RfcXRfbXV4X2FkZF9tZXRhZGF0YV90YWdzKToKCSAgQWRkIHNvbWUgbW9yZSBzYWZldHkvc2FuaXR5IGNoZWNrcyBpbiB0YWcgbWFuaXB1bGF0aW9uLgoKMjAwOC0xMS0xMCAxNToyNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2Ugb24gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICBBbHNvIGNvbmZpZ3VyZSB0aGUgbmV4dCBleHBlY3RlZCBvdXRwdXQgc2VxbnVtIHdoZW4gd2UgZ2V0IGEgc2VxbnVtLWJhc2UKCSAgb24gdGhlIGNhcHMuCgoyMDA4LTExLTEwIDE0OjUzOjQ1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogV2ltLCB5b3UncmUgYSBiYWQgYm95LiBZb3UgZG9uJ3Qgd2FudCBwZW9wbGUgdG8gY29udGFjdCB5b3Ugb3Igd2hhdD8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOgoJICBXaW0sIHlvdSdyZSBhIGJhZCBib3kuIFlvdSBkb24ndCB3YW50IHBlb3BsZSB0byBjb250YWN0IHlvdSBvciB3aGF0PwoKMjAwOC0xMS0xMCAxNDowMTo0MiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGlpci5jOiBGaXggbmFtZSB0YWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgIEZpeCBuYW1lIHRhZy4KCjIwMDgtMTEtMDggMDI6MDA6NTggKzAwMDAgIFRoaWFnbyBTb3VzYSBTYW50b3MgPHRoaWFnb3NzYW50b3NAZ21haWwuY29tPgoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVGhpYWdvIFNvdXNhIFNhbnRvcyA8dGhpYWdvc3NhbnRvc0BnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9xdG11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRtdXgvYXRvbXMuYzoKCSAgKiBnc3QvcXRtdXgvYXRvbXMuaDoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuYzoKCSAgKiBnc3QvcXRtdXgvZGVzY3JpcHRvcnMuaDoKCSAgKiBnc3QvcXRtdXgvZm91cmNjLmg6CgkgICogZ3N0L3F0bXV4L2Z0eXBjYy5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eC5oOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5jOgoJICAqIGdzdC9xdG11eC9nc3RxdG11eG1hcC5oOgoJICAqIGdzdC9xdG11eC9wcm9wZXJ0aWVzLmM6CgkgICogZ3N0L3F0bXV4L3Byb3BlcnRpZXMuaDoKCSAgQ29weSBxdG11eCBmcm9tIHJldmlzaW9uIDE0OCBvZiB0aGUgZ3N0LXF0bXV4IHJlcG9zaXRvcnkuCgkgIEZpeGVzICM1NTAyODAuCgoyMDA4LTExLTA3IDE3OjM1OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuKjogQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2luaXQpLCAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NyY19wdXNoX2J1ZmZlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQWRkIGlzLWxpdmUgcHJvcGVydHkuCgkgIEFkZCBzb21lIG1vcmUgZG9jcy4KCjIwMDgtMTEtMDYgMjI6NTQ6MzkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBGaXggYmFzaWMgbmF2aWdhdGlvbiBldmVudHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgRml4IGJhc2ljIG5hdmlnYXRpb24gZXZlbnRzCgoyMDA4LTExLTA2IDE0OjA1OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogQnJpbmcgcHJvcGVydGllcyBpbnRvIHRoaXMgY2VudHVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpOgoJICBCcmluZyBwcm9wZXJ0aWVzIGludG8gdGhpcyBjZW50dXJ5LgoKMjAwOC0xMS0wNiAxMzowMDo1NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IFNldCBmaWx0ZXJzIGluIFBBVVNFRCBvciBQTEFZSU5HLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBTZXQgZmlsdGVycyBpbiBQQVVTRUQgb3IgUExBWUlORy4KCjIwMDgtMTEtMDYgMTI6MTc6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE1ha2UgcHJpdmF0ZSBzZWN0aW9uIHBhZHMgaGF2ZSBhIGNhcHMgc2V0IHNvIHRoZXkgYXJlIG5vdCB0cmllZCB0byBiZSBsaW5rZWQgaW4gcGFyc2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBNYWtlIHByaXZhdGUgc2VjdGlvbiBwYWRzIGhhdmUgYSBjYXBzIHNldCBzbyB0aGV5IGFyZSBub3QgdHJpZWQKCSAgdG8gYmUgbGlua2VkIGluIHBhcnNlX2xhdW5jaCBmb3IgZXhhbXBsZS4KCjIwMDgtMTEtMDYgMTE6MzE6MDMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6IE5vIG5lZWQgdG8gcmVjbGFjdWxhdGUgZmx1c2ggaW4gdGhpcyBjYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBObyBuZWVkIHRvIHJlY2xhY3VsYXRlIGZsdXNoIGluIHRoaXMgY2FzZS4KCSAgRml4ZXMgc29tZSBiYWQgZGVjb2RlIGVycm9ycyBpbnRyb2R1Y2VkLgoKMjAwOC0xMS0wNiAxMDo0Mjo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogRml4IHR5cG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgIEZpeCB0eXBvLgoKMjAwOC0xMS0wNSAyMzozMTo0MSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZpeCBSR0IgbWFzayBpbiBjYXBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEZpeCBSR0IgbWFzayBpbiBjYXBzCgoyMDA4LTExLTA1IDIyOjI1OjI1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IEFkZCBIZXh0aWxlIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZCBIZXh0aWxlIGVuY29kaW5nCgoyMDA4LTExLTA1IDE4OjUyOjM4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBIZXVyaXN0aWMgYXBwcm9hY2ggd2hlbiByZXN5bmNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEhldXJpc3RpYyBhcHByb2FjaCB3aGVuIHJlc3luY2luZy4KCjIwMDgtMTEtMDUgMTg6MTE6NTUgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6IExlbmd0aCBzaG91bGQgYmUgYSBndWludDggbm90IGEgZ2ludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTZWJhc3RpYW4gUMO2bHN0ZXJsCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICBMZW5ndGggc2hvdWxkIGJlIGEgZ3VpbnQ4IG5vdCBhIGdpbnQuCgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENvbnZlcnQgdGV4dCB0byB1dGY4IGZvciBlYWNoIGRlc2NyaXB0b3Igc2VwYXJhdGVseSBhbmQgbm90CgkgIGNvbmNhdGVuYXRlIHRoZW0gZmlyc3QgYW5kIGNvbnZlcnQgYWZ0ZXIuCgoyMDA4LTExLTA0IDIwOjI2OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBTZW5kIHRhZyBldmVudC4gRml4ZXMgIzU1OTI4Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgU2VuZCB0YWcgZXZlbnQuIEZpeGVzICM1NTkyODYuCgoyMDA4LTExLTA0IDE4OjAzOjU1ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5jOiBGaXggYW5vdGhlciBtZW1sZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgIEZpeCBhbm90aGVyIG1lbWxlYWsuCgoyMDA4LTExLTA0IDE3OjI1OjA5ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgRml4IG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBGaXggbWVtbGVha3MuCgoyMDA4LTExLTA0IDEyOjQyOjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYXBleHNpbmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHMvTWFrZWZpbGUuYW06CgkgICogZXh0L2FydHNkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hdWRpb2ZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RhdWRpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2VsdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgICogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmFhZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ3NtL01ha2VmaWxlLmFtOgoJICAqIGV4dC9oZXJtZXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2pwMmsvTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGNzL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJmYW1lL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGVnMmVuYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvTWFrZWZpbGUuYW06CgkgICogZXh0L211c2VwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXl0aHR2L01ha2VmaWxlLmFtOgoJICAqIGV4dC9uYXMvTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvcG9seXAvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgICogZXh0L3Nob3V0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zbmFwc2hvdC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc291bmR0b3VjaC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zd2ZkZWMvTWFrZWZpbGUuYW06CgkgICogZXh0L3Rhcmtpbi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveGluZS9NYWtlZmlsZS5hbToKCSAgKiBleHQveHZpZC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWlmZnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvYnVmZmVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9jaGFydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY29sb3JzcGFjZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGNjcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZHZkc3B1L01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2FtZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9taXhtYXRyaXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcxc3lzL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L251dmRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9vdmVybGF5L01ha2VmaWxlLmFtOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Jhd3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydGpwZWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgICogZ3N0L3Ntb290aC9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZiaWRlYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9kcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlydHVhbGR1Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL01ha2VmaWxlLmFtOgoJICAqIHN5cy9hY21lbmMvTWFrZWZpbGUuYW06CgkgICogc3lzL2Nkcm9tL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL01ha2VmaWxlLmFtOgoJICAqIHN5cy9keHIzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9mYmRldi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3NzNC9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcWNhbS9NYWtlZmlsZS5hbToKCSAgKiBzeXMvcXR3cmFwcGVyL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciAtYmFkLgoKMjAwOC0xMS0wNCAwODoyNDoxMCArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzogRml4IG1lbWxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IG1lbWxlYWsuCgoyMDA4LTExLTAzIDIyOjAwOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZTogQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vLmN2c2lnbm9yZToKCSAgQWRkIGV4YW1wbGUgdG8gY3ZzIGlnbm9yZXMuCgoyMDA4LTExLTAzIDIxOjI3OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOiBGaXggbWlzbWF0Y2hlZCBzaWduZWRuZXNzIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9xdHdyYXBwZXIvYXVkaW9kZWNvZGVycy5jOgoJICAob3Blbl9kZWNvZGVyKToKCSAgRml4IG1pc21hdGNoZWQgc2lnbmVkbmVzcyBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0xMS0wMyAwODo1NTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOiBBZGQgVE9ETyBhdCB0aGUgdG9wIG9mIHRoZSBmaWxlIGZvciBlbmFibGluZyBTU0UvQVJNIHNwZWNpZmljIG9wdGltaXphdGlvbnMgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jb252ZXJ0X2J1ZmZlcik6CgkgIEFkZCBUT0RPIGF0IHRoZSB0b3Agb2YgdGhlIGZpbGUgZm9yIGVuYWJsaW5nIFNTRS9BUk0gc3BlY2lmaWMKCSAgb3B0aW1pemF0aW9ucyBhbmQgY2hvb3NpbmcgdGhlIGZhc3Rlc3QgaW1wbGVtZW50YXRpb24gYXQgcnVudGltZS4KCSAgQWRkIGdfYXNzZXJ0X25vdF9yZWFjaGVkKCkgYXQgdHdvIHBsYWNlcyB0aGF0IHNob3VsZCByZWFsbHkgbmV2ZXIKCSAgYmUgcmVhY2hlZC4KCjIwMDgtMTEtMDIgMDk6MTk6MjQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogRml4IGZvcm1hdCBzdHJpbmcgYW5kIGFyZ3VtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpOgoJICBGaXggZm9ybWF0IHN0cmluZyBhbmQgYXJndW1lbnRzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlX3NzZS5oOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwOC0xMS0wMSAyMTozNzowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOiBEaXN0IHRoZSBwbGF5IHNjcmlwdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgRGlzdCB0aGUgcGxheSBzY3JpcHRzLgoKMjAwOC0xMS0wMSAxOTozODozNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfYmFzZV9pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKSwgKF9iZW5jaG1hcmtfaW50X2Zsb2F0KSwKCSAgKF9iZW5jaG1hcmtfaW50X2ludCksIChfYmVuY2htYXJrX2ludGVnZXJfcmVzYW1wbGluZyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX2RvdWJsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9mbG9hdC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9pbnQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgbWlzc2luZyBoZWFkZXJzIHRvIE1ha2VmaWxlLmFtLgoJICBVcGRhdGUgY29weXJpZ2h0LCB5ZWFycyBhbmQgbXkgbWFpbCBhZGRyZXNzLgoJICBCZW5jaG1hcmsgdGhlIGludGVnZXIgcmVzYW1wbGluZyBpbXBsZW1lbnRhdGlvbiBhZ2FpbnN0IHRoZQoJICBmbG9hdCBpbXBsZW1lbnRhdGlvbiBhbmQgdXNlIHRoZSBmYXN0ZXIgb25lIGZvciA4LzE2IGJpdCBpbnRlZ2VyCgkgIGlucHV0LiBPbiBtb3N0IHJlY2VudCBzeXN0ZW1zIHRoZSBmbG9hdGluZyBwb2ludCB2ZXJzaW9uIGlzIGZhc3Rlci4KCjIwMDgtMTAtMzEgMTg6Mzk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBhcyB0aGUgcmVzdWx0IG9mIHRoZSBsaW5raW5nIGlzIHdoYXQgaXMgaW50ZXJlc3RpbmcsIG5vdCB0aGF0IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gYXMgdGhlIHJlc3VsdCBvZiB0aGUgbGlua2luZwoJICBpcyB3aGF0IGlzIGludGVyZXN0aW5nLCBub3QgdGhhdCBpdCBhY3R1YWxseSBydW5zLgoJICBGaXhlcyBjcm9zcy1jb21waWxhdGlvbiBhbmQgZml4ZXMgYnVnICM1NTg2MzkuCgoyMDA4LTEwLTMwIDE5OjU0OjM4ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogQWRkIEFMQUMgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIEFkZCBBTEFDIHN1cHBvcnQuCgkgIEZpeCBkZWNvZGUgb2YgbW9ubyBBQUMgZmlsZXMgY3JlYXRlZCBieSBpdHVuZXMuCgkgIFNldCBvdXRwdXQgZm9ybWF0IGNvcnJlY3RseSAoZG9uJ3QgYXNrIHF1aWNrdGltZSB0bwoJICByZXNhbXBsZSBmb3IgdXMpLgoJICBVc2UgYSBsYXJnZXIgZGVjb2RlIGJ1ZmZlciB0byBhdm9pZCBwcm9ibGVtcyB3aXRoIGxhcmdlCgkgIEFMQUMgcGFja2V0cy4KCSAgRml4IGRlY29kZSB0byBsb29wIHVudGlsIHdlIGhhdmUgYWxsIG91dHB1dCBkYXRhLgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOgoJICBGaXggaW5jbHVkZXMgc28gd2UgY29tcGlsZSBvbiBtb3JlIE9TZXMuCgoyMDA4LTEwLTMwIDE1OjMxOjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGF0IGxlYXN0IEd0ayAyLjguMCBmb3IgdGhlIGRlbW9zICh0aGF0J3MgdGhlIG9sZGVzdCBJIGNhbiB0ZXN0IHdpdGg7IEknbSBmYWlybHkgY2VydGFpbiBHdGsgMi4wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBhdCBsZWFzdCBHdGsgMi44LjAgZm9yIHRoZSBkZW1vcyAodGhhdCdzIHRoZSBvbGRlc3QgSSBjYW4KCSAgdGVzdCB3aXRoOyBJJ20gZmFpcmx5IGNlcnRhaW4gR3RrIDIuMC4wIGlzIG5vdCBnb29kIGVub3VnaCBhbnkKCSAgbG9uZ2VyKTsgY2xlYW4gdXAgc29tZSB1bnVzZWQgR3RrLXJlbGF0ZWQgY29uZmlndXJlIGNydWZ0LgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuYzoKCSAgRGVmaW5lIEd0ayAyLjEyIGZ1bmN0aW9uIHRvIG5vb3Agd2hlbiBjb21waWxpbmcgYWdhaW5zdCBvbGRlciBHdGsuCgoyMDA4LTEwLTMwIDE0OjU1OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IFRoZSBsZW5ndGggZm9yIHRoZSBidWZmZXIgY29udmVyc2lvbiBmdW5jdGlvbiBpcyB0aGUgbnVtYmVyIG9mIGF1ZGlvIGZyYW1lcywgaS4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NvbnZlcnRfYnVmZmVyKToKCSAgVGhlIGxlbmd0aCBmb3IgdGhlIGJ1ZmZlciBjb252ZXJzaW9uIGZ1bmN0aW9uIGlzIHRoZSBudW1iZXIgb2YKCSAgYXVkaW8gZnJhbWVzLCBpLmUuIHdlIG5lZWQgdG8gbXVsdGlwbHkgaXQgYnkgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICB0byBnZXQgdGhlIG51bWJlciBvZiB2YWx1ZXMuIEFsc28gc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0IGFmdGVyCgkgIHJ1bm5pbmcgaW4gdmFsZ3JpbmQuCgoyMDA4LTEwLTMwIDE0OjQ2OjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVleHJlc2FtcGxlLmM6IEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoIHVwL2Rvd25zYW1wbGluZyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlZXhyZXNhbXBsZS5jOiAoZWxlbWVudF9tZXNzYWdlX2NiKSwKCSAgKGVvc19tZXNzYWdlX2NiKSwgKHRlc3RfcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoc3BlZXhyZXNhbXBsZV9zdWl0ZSk6CgkgIEFkZCBwaXBlbGluZSB1bml0IHRlc3RzIGZvciB0ZXN0aW5nIGFsbCBzdXBwb3J0ZWQgZm9ybWF0cyB3aXRoCgkgIHVwL2Rvd25zYW1wbGluZyBhbmQgZGlmZmVyZW50IGluL291dHJhdGVzLgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBGaXggYnVncyBpZGVudGlmaWVkIGJ5IHRoZSB0ZXN0c3VpdGUuCgoyMDA4LTEwLTMwIDEzOjQ0OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IEFkZCBzdXBwb3J0IGZvciBpbnQ4LCBpbnQyNCBhbmQgaW50MzIgaW5wdXQgYnkgY29udmVydGluZyBpbnRlcm5hbGx5IHRvL2Zyb20gaW50MTYgb3IgZG91YmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RvcCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X2Z1bmNzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfY29udmVydF9idWZmZXIpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICBBZGQgc3VwcG9ydCBmb3IgaW50OCwgaW50MjQgYW5kIGludDMyIGlucHV0IGJ5IGNvbnZlcnRpbmcgaW50ZXJuYWxseQoJICB0by9mcm9tIGludDE2IG9yIGRvdWJsZS4KCjIwMDgtMTAtMzAgMTM6Mzg6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLio6IEJldHRlciBmaXggZm9yICM1NDYzMTkgYW5kIHNpbWlsYXIgY2FzZXMgYnkgZXhwbGljaXRseSByZWdpc3RlcmluZyB3aGVuIHdlJ3JlIGluIHBsYXlpbmcgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5oOgoJICBCZXR0ZXIgZml4IGZvciAjNTQ2MzE5IGFuZCBzaW1pbGFyIGNhc2VzIGJ5IGV4cGxpY2l0bHkKCSAgcmVnaXN0ZXJpbmcgd2hlbiB3ZSdyZSBpbiBwbGF5aW5nIHN0YXRlIG9yIG5vdC4KCjIwMDgtMTAtMzAgMTM6MDI6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IFdoaXRlc3BhY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIFdoaXRlc3BhY2UuCgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIGEgRklYTUU6LiBub3Qgc3VyZSBpZiB0aGlzIGNvZGUgZG9lcyB0aGUgZm9yd2FyZGluZyBjb3JyZWN0bHkuCgoyMDA4LTEwLTMwIDEyOjQzOjQ0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgZG91YmxlIHNhbXBsZXMgYXMgaW5wdXQgYW5kIHJlZmFjdG9yIHRoZSB1c2FnZSBvZiB0aGUgZGlmZmVyZW50IGNvbXBpbGF0aW9uIGZsYXZvcnMgb2YgdGhlIHNwZWV4IHJlc2EuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvYXJjaC5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfZnVuY3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2luaXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3VwZGF0ZV9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcmVzZXRfc3RhdGUpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3BhcnNlX2NhcHMpLAoJICAoX2djZCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9jYXBzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl9kb3VibGUuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksIChHU1RfU1RBUlRfVEVTVCksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKToKCSAgQWRkIHN1cHBvcnQgZm9yIGRvdWJsZSBzYW1wbGVzIGFzIGlucHV0IGFuZCByZWZhY3RvciB0aGUgdXNhZ2UKCSAgb2YgdGhlIGRpZmZlcmVudCBjb21waWxhdGlvbiBmbGF2b3JzIG9mIHRoZSBzcGVleCByZXNhbXBsZXIuCgoyMDA4LTEwLTMwIDEyOjEzOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmM6IFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wby5jOgoJICBSZXR1cm4gdGhlIHJlc3VsdCBvZiBwYXJlbnRfY2xhc3MtPmV2ZW50KCkuCgoyMDA4LTEwLTMwIDExOjUwOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2F1ZGlvYnVmZmVyLzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYW4gYXVkaW9yaW5nYnVmZmVyIGVsZW1lbnQgdGhhdCBjYW4gYmUgaW5zZXJ0ZWQgaW4gdGhlIHBpcGVsaW5lIHRvIGNvbnZlcnQgcHVzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2J1ZmZlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9idWZmZXIvZ3N0YXVkaW9yaW5nYnVmZmVyLmM6CgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX2FjcXVpcmUpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9pbnRfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9iYXNlX2luaXQpLAoJICAoZ3N0X2ludF9yaW5nX2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9pbnRfcmluZ19idWZmZXJfaW5pdCksCgkgIChnc3RfaW50X3JpbmdfYnVmZmVyX25ldyksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9nZXRfdHlwZSksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZmluYWxpemUpLCAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0Y2FwcyksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zZXRjYXBzKSwgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2J1ZmZlcmFsbG9jKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3JlbmRlciksIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2hhbmRsZV9zcmNfcXVlcnkpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfZ2V0X3JhbmdlKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NyY19jaGVja2dldHJhbmdlX2Z1bmN0aW9uKSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9zcmNfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfYXVkaW9fcmluZ2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2F1ZGlvX3JpbmdidWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19yaW5nYnVmZmVyX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBmaXJzdCB2ZXJzaW9uIG9mIGFuIGF1ZGlvcmluZ2J1ZmZlciBlbGVtZW50IHRoYXQgY2FuIGJlIGluc2VydGVkIGluCgkgIHRoZSBwaXBlbGluZSB0byBjb252ZXJ0IHB1c2gtYmFzZWQgdXBzdHJlYW0gaW50byBhIHB1bGwtYmFzZWQKCSAgZG93bnN0cmVhbS4KCjIwMDgtMTAtMzAgMTE6NDM6MTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogUmV0dXJuIHRoZSByZXN1bHQgb2YgcGFyZW50X2NsYXNzLT5ldmVudCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIFJldHVybiB0aGUgcmVzdWx0IG9mIHBhcmVudF9jbGFzcy0+ZXZlbnQoKS4KCjIwMDgtMTAtMzAgMDA6MTc6MTIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIEFJRkYgaXMgYWx3YXlzIHNpZ25lZCwgZXZlbiBmb3IgOCBiaXQuCgoyMDA4LTEwLTI5IDE3OjAyOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IEZpeCB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX3NpbmtfY2xhc3NfaW5pdCk6CgkgIEZpeCB0aGUgZG9jcy4KCjIwMDgtMTAtMjkgMTY6NTM6NTQgKzAwMDAgIFJvYmluIFN0b2NrZXIgPHJvYmluQG5pYm9yLm9yZz4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb2JpbiBTdG9ja2VyIDxyb2JpbiBhdCBuaWJvciBkb3Qgb3JnPgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpOgoJICBBIFJlYWxWaWRlbyB2aWRlbyBpbnNpZGUgYSBjb250YWluZXIgKGZvciBleGFtcGxlIE1LVikgc2hvdWxkIHVzZSB0aGUKCSAgUEFSIHdoaWNoIGlzIHNwZWNpZmllZCBvbiB0aGUgc2lua3BhZCBjYXBzLiBGaXhlcyAjNTU4NDE2LgoKMjAwOC0xMC0yOSAxMjoxMToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUgYSBjb250aW5vdXMgc3RyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogKGdzdF9zcGVleF9yZXNhbXBsZV9zdGFydCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfZXZlbnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2NoZWNrX2Rpc2NvbnQpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5oOgoJICBSZXdyaXRlIHRpbWVzdGFtcCB0cmFja2luZyB0byBtYWtlIGl0IG1vcmUgcm9idXN0IGFuZCBndWFyYW50ZWUKCSAgYSBjb250aW5vdXMgc3RyZWFtLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWV4cmVzYW1wbGUuYzogKHNldHVwX3NwZWV4cmVzYW1wbGUpLAoJICAoY2xlYW51cF9zcGVleHJlc2FtcGxlKSwgKGZhaWxfdW5sZXNzX3BlcmZlY3Rfc3RyZWFtKSwKCSAgKHRlc3RfcGVyZmVjdF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAodGVzdF9kaXNjb250X3N0cmVhbV9pbnN0YW5jZSksIChsaXZlX3N3aXRjaF9hbGxvY19vbmx5XzQ4MDAwKSwKCSAgKGxpdmVfc3dpdGNoX2dldF9zaW5rX2NhcHMpLCAobGl2ZV9zd2l0Y2hfcHVzaCksCgkgIChzcGVleHJlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHNwZWV4cmVzYW1wbGUgYmFzZWQgb24gdGhlIGF1ZGlvcmVzYW1wbGUgdW5pdCB0ZXN0cy4KCjIwMDgtMTAtMjkgMDE6MDA6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6IE1ha2Ugc3VyZSB0byBzdGFydCB0aGUgTkFWIHBhY2tldCBwcm9jZXNzaW5nIHdoZW4gY2hhbmdpbmcgc3RhdGUgdG8gUExBWUlORyAgYnkgcGFzc2luZyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBNYWtlIHN1cmUgdG8gc3RhcnQgdGhlIE5BViBwYWNrZXQgcHJvY2Vzc2luZyB3aGVuIGNoYW5naW5nCgkgIHN0YXRlIHRvIFBMQVlJTkcgIGJ5IHBhc3NpbmcgYSBmbGFnIHRoYXQgaW5kaWNhdGVzIHRoZSBzdGF0ZQoJICBjaGFuZ2UgaXMgaW4gcHJvZ3Jlc3MuCgkgIEZpeGVzOiAjNTQ2MzE5CgoyMDA4LTEwLTI4IDIwOjA2OjI3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvcmVzaW4tcGxheTogUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgUmVtb3ZlICRAIHRvIGZpeCBwYXJzZV9sYXVuY2ggd2FybmluZwoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbi1wbGF5MjoKCSAgQWRkIGEgdmVyc2lvbiB0aGF0IHVzZXMgZGVpbnRlcmxhY2UgYW5kIHh2aW1hZ2VzaW5rLgoKMjAwOC0xMC0yOCAxOTozMDozMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS4qOiBTb21lIHJhbmRvbSBjbGVhbnVwLCBhZGQgR19MSUtFTFkgYW5kIGZyaWVuZHMsIHVzZSBHU1RfREVCVUdfT0JKRUNUIGluc3RlYWQgb2YgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9nZXRfdW5pdF9zaXplKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBHX0xJS0VMWSBhbmQgZnJpZW5kcywgdXNlIEdTVF9ERUJVR19PQkpFQ1QKCSAgaW5zdGVhZCBvZiBHU1RfREVCVUcsIC4uLgoKMjAwOC0xMC0yOCAxODo0NDo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcXVlcnkpOgoJICBJbXBsZW1lbnQgcG9zaXRpb24gcXVlcnkgaW4gdGltZSBmb3JtYXQuCgoyMDA4LTEwLTI4IDE4OjQxOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogUHV0IHRoZSBHc3RTZWdtZW50IGRpcmVjdGx5IGludG8gdGhlIGluc3RhbmNlIHN0cnVjdCBpbnN0ZWFkIG9mIGFsbG9jYXRpbmcgYW5kIGZyZWUnaW5nIGl0IGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSksIChnc3RfZmx2X2RlbXV4X2luaXQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApOgoJICBQdXQgdGhlIEdzdFNlZ21lbnQgZGlyZWN0bHkgaW50byB0aGUgaW5zdGFuY2Ugc3RydWN0IGluc3RlYWQgb2YKCSAgYWxsb2NhdGluZyBhbmQgZnJlZSdpbmcgaXQgYWdhaW4uCgkgIFB1c2ggdGFncyBhbHJlYWR5IGlmIG9ubHkgb25lIHBhZCB3YXMgYWRkZWQsIG5vIG5lZWQgdG8gd2FpdCBmb3IKCSAgdGhlIHNlY29uZCBvbmUuCgkgIFdoZW4gZ2VuZXJhdGluZyBvdXIgaW5kZXggc2V0IGhhc192aWRlbyBhbmQgaGFzX2F1ZGlvIGlmIHdlIGZpbmQKCSAgdmlkZW8gb3IgYXVkaW8gaW4gY2FzZSB0aGUgRkxWIGhlYWRlciBoYXMgaW5jb3JyZWN0IGRhdGEuCgoyMDA4LTEwLTI4IDE2OjI4OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9jbGFzc19pbml0KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9maXhhdGVfY2FwcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6CgkgIEZpeGF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuCgoyMDA4LTEwLTI4IDE2OjI1OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEZpeGF0ZSB0aGUgcmF0ZSB0byB0aGUgbmVhcmVzdCBzdXBwb3J0ZWQgcmF0ZSBpbnN0ZWFkIG9mIHRoZSBmaXJzdCBvbmUuIEZpeGVzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChhdWRpb3Jlc2FtcGxlX2ZpeGF0ZV9jYXBzKToKCSAgRml4YXRlIHRoZSByYXRlIHRvIHRoZSBuZWFyZXN0IHN1cHBvcnRlZCByYXRlIGluc3RlYWQgb2YKCSAgdGhlIGZpcnN0IG9uZS4gRml4ZXMgYnVnICM1NDk1MTAuCgoyMDA4LTEwLTI4IDExOjQ2OjI4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS86IFVwZGF0ZSBTcGVleCByZXNhbXBsZXIgd2l0aCBsYXRlc3QgdmVyc2lvbiBmcm9tIFNwZWV4IEdJVC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9hcm00Lmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfYXJtNWUuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9iZmluLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZml4ZWRfZGVidWcuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKGNvbXB1dGVfZnVuYyksIChtYWluKSwgKHNpbmMpLAoJICAoY3ViaWNfY29lZiksIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfZGlyZWN0X2RvdWJsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfc2luZ2xlKSwKCSAgKHJlc2FtcGxlcl9iYXNpY19pbnRlcnBvbGF0ZV9kb3VibGUpLCAodXBkYXRlX2ZpbHRlciksCgkgIChzcGVleF9yZXNhbXBsZXJfaW5pdF9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksCgkgIChzcGVleF9yZXNhbXBsZXJfbWFnaWMpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGVfZnJhYyksIChzcGVleF9yZXNhbXBsZXJfc2tpcF96ZXJvcyksCgkgIChzcGVleF9yZXNhbXBsZXJfcmVzZXRfbWVtKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIFNwZWV4IHJlc2FtcGxlciB3aXRoIGxhdGVzdCB2ZXJzaW9uIGZyb20gU3BlZXggR0lULgoKMjAwOC0xMC0yOCAwMTo1Mzo0OSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuKjogQ2FsY3VsYXRlIHdpZHRoIGZyb20gZGVwdGggY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmg6CgkgIENhbGN1bGF0ZSB3aWR0aCBmcm9tIGRlcHRoIGNvcnJlY3RseS4KCSAgUmVhZCBTU05EIGhlYWRlciBwcm9wZXJseSAoZml4ZXMgMjQgYml0IEFJRkYgcmVhZGluZykuCgoyMDA4LTEwLTI3IDE3OjAxOjIyICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKToKCSAgQWRhcHQgdG8gc2xpZ2h0bHkgbW9kaWZpZWQgeDI2NCBBUEkuICBGaXhlcyAjNTU1MjM4LgoKMjAwOC0xMC0yNyAxNjozMjo0OSArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgIFByZXZlbnQgZW5kbGVzcyBsb29wIGlmIGJ1ZmZlciBhbGxvYyBlcnJvci4KCjIwMDgtMTAtMjcgMDk6NDU6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0IGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKSwgKGdzdF9mbHZfZGVtdXhfcHVsbF9oZWFkZXIpLAoJICAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ190aW1lc3RhbXApLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdHlwZSksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBEb24ndCBtZW1jcHkoKSBhbGwgZGF0YSB3ZSB3YW50IHRvIHB1c2ggZG93bnN0cmVhbSwgaW5zdGVhZCBqdXN0CgkgIGNyZWF0ZSBzdWJidWZmZXJzIGFuZCBwdXNoIHRoZW0gZG93bnN0cmVhbS4KCSAgRml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoKMjAwOC0xMC0yNyAwOTo0Mjo1NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIENWUyBvZiBjb3JlIGZvciB0aGUgbGFzdCBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBDVlMgb2YgY29yZSBmb3IgdGhlIGxhc3QgY2hhbmdlLgoKMjAwOC0xMC0yNyAwOTo0MToxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9NYWtlZmlsZS5hbTogRml4IChub24tY3JpdGljYWwpIHN5bnRheCBlcnJvciBhbmQgYWRkIGFsbCByZXF1aXJlZCBDRkxBR1MgYW5kIExJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvTWFrZWZpbGUuYW06CgkgIEZpeCAobm9uLWNyaXRpY2FsKSBzeW50YXggZXJyb3IgYW5kIGFkZCBhbGwgcmVxdWlyZWQgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfbWV0YWRhdGFfaXRlbSksIChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpOgoJICBSZXdyaXRlIHRoZSBzY3JpcHQgdGFnIHBhcnNpbmcgdG8gbWFrZSBzdXJlIHdlIGRvbid0IHRyeSB0byByZWFkCgkgIG1vcmUgZGF0YSB0aGFuIHdlIGhhdmUuIEFsc28gdXNlIEdTVF9SRUFEX1VJTlQyNF9CRSBkaXJlY3RseSBhbmQKCSAgZml4IHNvbWUgbWlub3IgbWVtb3J5IGxlYWtzLgoJICBUaGlzIHNob3VsZCBtYWtlIGFsbCBjcmFzaGVzIG9uIGZ1enplZCBGTFYgZmlsZXMgZGlzYXBwZWFyLgoKMjAwOC0xMC0yNyAwOTozNzoyMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICBQcm9wZXJseSBjaGVjayBldmVyeXdoZXJlIHRoYXQgd2UgaGF2ZSBlbm91Z2ggZGF0YSB0byBwYXJzZSBhbmQKCSAgZG9uJ3QgcmVhZCBvdXRzaWRlIHRoZSBhbGxvY2F0ZWQgbWVtb3J5IHJlZ2lvbi4KCjIwMDgtMTAtMjcgMDk6MzU6MzQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSWYgdGhlIGNhcHMgY2hhbmdlIGR1cmluZyBwbGF5YmFjayBhbmQgbmVnb3RpYXRpb24gZmFpbHMgZXJyb3Igb3V0IGluc3RlYWQgb2YgdHJ5aW5nIHRvIGNvbnRpbnVlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIElmIHRoZSBjYXBzIGNoYW5nZSBkdXJpbmcgcGxheWJhY2sgYW5kIG5lZ290aWF0aW9uIGZhaWxzIGVycm9yIG91dAoJICBpbnN0ZWFkIG9mIHRyeWluZyB0byBjb250aW51ZS4KCjIwMDgtMTAtMjcgMDk6MzM6NDAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZCB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5jOiAoZ3N0X2Zsdl9tdXhfYXVkaW9fcGFkX3NldGNhcHMpLAoJICAoZ3N0X2Zsdl9tdXhfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9hdWRpb19uZWdvdGlhdGUpOgoJICBBZGQgc3VwcG9ydCBmb3IgU3BlZXggYXVkaW8gYW5kIGFsbG93IGJ1ZmZlcnMgd2l0aG91dCB2YWxpZAoJICB0aW1lc3RhbXAgaW4gdGhlIG11eGVyLgoKMjAwOC0xMC0yNyAwOTozMjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBEb24ndCBwb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpZiBzZW5kaW5nIEVPUyBkb3duc3RyZWFtIGRpZG4ndCB3b3JrLiBGaXhlcyBidWcgIzU1MDQ1NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9sb29wKSwKCSAgKGdzdF9mbHZfZGVtdXhfZmluZF9vZmZzZXQpLCAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIERvbid0IHBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGlmIHNlbmRpbmcgRU9TIGRvd25zdHJlYW0KCSAgZGlkbid0IHdvcmsuIEZpeGVzIGJ1ZyAjNTUwNDU0LgoJICBGaXggc2VlayBldmVudCBoYW5kbGluZyB0byBsb29rIGF0IHRoZSBmbGFncyBvZiB0aGUgc2VlayBldmVudAoJICBpbnN0ZWFkIG9mIGFzc3VtaW5nIHNvbWUgcmFuZG9tIGZsYWdzLCBkb24ndCBzZW5kIHNlZ21lbnQtc3RhcnQKCSAgbWVzc2FnZXMgd2hlbiBvcGVyYXRpbmcgaW4gcHVzaCBtb2RlIGFuZCBwdXNoIHNlZWsgZXZlbnRzIHVwc3RyZWFtCgkgIGlmIHdlIGNvdWxkbid0IGhhbmRsZSB0aGVtLgoKMjAwOC0xMC0yNyAwOToyNzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpOgoJICBFcnJvciBvdXQgZWFybHkgaWYgcHVsbGluZyBhIHRhZyBmYWlsZWQuCgoyMDA4LTEwLTI3IDA5OjI1OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogSW4gcHVsbCBtb2RlIHdlIGNyZWF0ZSBvdXIgb3duIGluZGV4IGJlZm9yZSBkb2luZyBhbnl0aGluZyBlbHNlIGFuZCBkb24ndCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHNvbWUgZmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jcmVhdGVfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19zY3JpcHQpLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdGltZXN0YW1wKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmg6CgkgIEluIHB1bGwgbW9kZSB3ZSBjcmVhdGUgb3VyIG93biBpbmRleCBiZWZvcmUgZG9pbmcgYW55dGhpbmcgZWxzZQoJICBhbmQgZG9uJ3QgdXNlIHRoZSBpbmRleCBwcm92aWRlZCBieSBzb21lIGZpbGVzICh3aGljaCBhcmUgbW9yZSB0aGFuCgkgIG9mdGVuIGluY29ycmVjdCBhbmQgY2F1c2UgZmFpbGVkIHNlZWtzKS4KCSAgRm9yIHB1c2ggbW9kZSB3ZSBzdGlsbCB1c2UgdGhlIGluZGV4IHByb3ZpZGVkIGJ5IHRoZSBmaWxlIGFuZCBleHRlbmQgaXQKCSAgd2hpbGUgZG9pbmcgdGhlIHBsYXliYWNrLgoKMjAwOC0xMC0yNyAwOToyMDowMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVzaF9zcmNfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9sb29wKSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpOgoJICBJbnN0ZWFkIG9mIHVzaW5nIGdzdF9wYWRfZXZlbnRfZGVmYXVsdCgpIHVzZSBhIHNtYWxsCgkgIGdzdF9wYWRfcHVzaF9ldmVudCgpIHdyYXBwZXIgdGhhdCBvbmx5IGRvZXMgd2hhdCB3ZSB3YW50IGFuZCBpcyBtdWNoCgkgIG1vcmUgc2ltcGxlLgoKMjAwOC0xMC0yNyAwOToxNDo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC4qOiBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZSBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2V0X2luZGV4KSwgKGdzdF9mbHZfZGVtdXhfaW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICBJZiBvdXIgaW5kZXggd2FzIGNyZWF0ZWQgYnkgdGhlIGVsZW1lbnQgYW5kIG5vdCBwcm92aWRlZCBmcm9tIHRoZQoJICBvdXRzaWRlIHdlIHNob3VsZCBkZXN0cm95IGl0IHdoZW4gc3RhcnRpbmcgYSBuZXcgc3RyZWFtIHRvIGdldAoJICBhbGwgb2xkIGVudHJpZXMgcmVtb3ZlZC4KCjIwMDgtMTAtMjcgMDk6MTI6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQgd2hlbiBwdWxsaW5nIGEgYnVmZmVyIGZyb20gdXBzdHJlYW0gZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfcHVsbF9yYW5nZSk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IHdoZW4gcHVsbGluZyBhIGJ1ZmZlciBmcm9tIHVwc3RyZWFtIGZhaWxzLgoKMjAwOC0xMC0yNyAwOToxMDo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi86IENsb3NlIHRoZSBjdXJyZW50bHkgcGxheWluZyBzZWdtZW50IGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQgaW5zdGVhZCBvZiB0aGUgdGhyZWFkIHdoZXJlIHRoZSBzZWVrIGV2ZW50IGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBDbG9zZSB0aGUgY3VycmVudGx5IHBsYXlpbmcgc2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkCgkgIGluc3RlYWQgb2YgdGhlIHRocmVhZCB3aGVyZSB0aGUgc2VlayBldmVudCBpcyBoYW5kbGVkLgoKMjAwOC0xMC0yNyAwODo1NzoyNyArMDAwMCAgRGF2aWQgSMOkcmRlbWFuIDxkYXZpZEBoYXJkZW1hbi5udT4KCgkgIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiBBZGQgc3VwcG9ydCBmb3IgdGhlIGZyZXF1ZW5jeSBsaXN0IGRlc2NyaXB0b3IsIHdoaWNoIHByb3ZpZGVzIGFkZGl0aW9uYWwgZnJlcXVlbmNpZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhdmlkIEjDpHJkZW1hbiA8ZGF2aWQgYXQgaGFyZGVtYW4gZG90IG51PgoJICAqIGdzdC9tcGVnZGVtdXgvbXBlZ3RzcGFja2V0aXplci5jOiAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2Vfbml0KToKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBmcmVxdWVuY3kgbGlzdCBkZXNjcmlwdG9yLCB3aGljaCBwcm92aWRlcwoJICBhZGRpdGlvbmFsIGZyZXF1ZW5jaWVzIHRoYXQgc2hvdWxkIGJlIHNjYW5uZWQgYnkgYSBEVkIgYXBwbGljYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTU3ODE0LgoKMjAwOC0xMC0yNyAwODo1Mjo1MCArMDAwMCAgdmFuaXN0YSA8dmFuaXN0YUBnbWFpbC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiB2YW5pc3RhIDx2YW5pc3RhIGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L21wZWd0c211eC9tcGVndHNtdXguYzogKG1wZWd0c211eF9jaG9vc2VfYmVzdF9zdHJlYW0pOgoJICBGaXggRU9TIGxvZ2ljIGJ5IGNvcnJlY3RseSBwb3BwaW5nIHRoZSBjb2xsZWN0IHBhZCBidWZmZXJzIG9ubHkKCSAgd2hlbiB3ZSd2ZSBjaG9zZW4gdG8gdXNlIHRoZW0gaW5zdGVhZCBvZiBwb3BwaW5nIHRoZW0gYWx3YXlzIGFuZAoJICBzdG9yaW5nIHRoZW0gaW4gYSBwcml2YXRlIHF1ZXVlLgoJICBCZWZvcmUgdGhlIHBpcGVsaW5lIHdvdWxkIGRlYWRsb2NrIGlmIGFsbCBwYWRzIGdvIEVPUyBhdCB0aGUgc2FtZQoJICB0aW1lLiBGaXhlcyBidWcgIzU1Nzc2My4KCjIwMDgtMTAtMjYgMjA6MDc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOS4xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjkuMQoKPT09IHJlbGVhc2UgMC4xMC45ID09PQoKMjAwOC0xMC0yNCAyMjo0NToxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kY2NwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uYXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zY2FsZXRlbXBvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjkKCjIwMDgtMTAtMjQgMjE6NDM6MTcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY2EucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZGUucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2ZyLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaWQucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTEwLTI0IDE2OjQxOjMzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ29tbWl0IDAuMTAuOC40IHByZS1yZWxlYXNlCgoyMDA4LTEwLTIwIDE0OjE5OjE3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogRml4IHJldmVyc2UgcGxheWJhY2sgcmVncmVzc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogKGdzdF9mbHVwc19kZW11eF9zZW5kX2RhdGEpOgoJICBGaXggcmV2ZXJzZSBwbGF5YmFjayByZWdyZXNzaW9uLgoJICBGaXhlcyAjNTU3MDgwCgoyMDA4LTEwLTE5IDEyOjM5OjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2FwZXhzaW5rL2dzdGFwZXhwbHVnaW4uYzogU2V0IGFwZXhzaW5rJ3MgcmFuayB0byBOT05FIHNvIGl0IGRvZXNuJ3QgZ2V0IHVzZWQgYnkgYXV0b2F1ZGlvc2luayAodGhlcmUncyBubyBwb2ludCByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCBhcGV4c2luaydzIHJhbmsgdG8gTk9ORSBzbyBpdCBkb2Vzbid0IGdldCB1c2VkIGJ5CgkgIGF1dG9hdWRpb3NpbmsgKHRoZXJlJ3Mgbm8gcG9pbnQgcmVhbGx5KS4gKCM1NTY1ODgpCgoyMDA4LTEwLTE2IDE3OjEyOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC44LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjguMyBwcmUtcmVsZWFzZQoKMjAwOC0xMC0xNiAxNjozNzozMyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguKjogUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQgYnVmZmVyaW5nIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguaDoKCSAgUHJvcGVybHkgaGFuZGxlIHNvbWUgcmVzeW5jIGNhc2VzIGluIHRoZSBvcHRpbWlzZWQKCSAgYnVmZmVyaW5nIHN0cmF0ZWd5LgoKMjAwOC0xMC0xNiAxNjoxODozMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2FjbWVuYy9NYWtlZmlsZS5hbTogUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0xMC0xNiAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHNvbmdiaXJkbmVzdC5jb20+CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGluY29ycmVjdCB1c2Ugb2YgRElSRUNUU09VTkRfTERGTEFHUwoKMjAwOC0xMC0xNiAxNToyMToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZtdXguYzogRG9uJ3Qgc2V0IHZpZGVvX2NvZGVjIHRvIHRoZSB2YWx1ZSB0aGF0IGFjdHVhbGx5IHNob3VsZCBnbyBpbnRvIGF1ZGlvIGNvZGVjLCBvdGhlcndpc2Ugd2UgY3JlYXRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2bXV4LmM6IChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF93cml0ZV9idWZmZXIpOgoJICBEb24ndCBzZXQgdmlkZW9fY29kZWMgdG8gdGhlIHZhbHVlIHRoYXQgYWN0dWFsbHkgc2hvdWxkIGdvCgkgIGludG8gYXVkaW8gY29kZWMsIG90aGVyd2lzZSB3ZSBjcmVhdGUgaW52YWxpZCBmaWxlcy4KCSAgRml4ZXMgYnVnICM1NTY1NjQuCgoyMDA4LTEwLTE2IDE1OjA2OjU1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBEb24ndCBpbnN0YWxsIHN0YXRpYyBsaWJzIGZvciBwbHVnaW5zLiBGaXhlcyAjNTUwODUxIGZvciBiYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL01ha2VmaWxlLmFtOgoJICAqIGV4dC9nbm9tZXZmcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGlidmlzdWFsL01ha2VmaWxlLmFtOgoJICAqIGV4dC9vZ2cvTWFrZWZpbGUuYW06CgkgICogZXh0L3BhbmdvL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYWRkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvY29udmVydC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yYXRlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3Rlc3RzcmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcGxheWJhY2svTWFrZWZpbGUuYW06CgkgICogZ3N0L3N1YnBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3R5cGVmaW5kL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvdm9sdW1lL01ha2VmaWxlLmFtOgoJICAqIHN5cy92NGwvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveHZpbWFnZS9NYWtlZmlsZS5hbToKCSAgRG9uJ3QgaW5zdGFsbCBzdGF0aWMgbGlicyBmb3IgcGx1Z2lucy4gRml4ZXMgIzU1MDg1MSBmb3IgYmFzZS4KCjIwMDgtMTAtMTYgMTQ6NTQ6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IExlYXZlIGFwZXhzaW5rIG91dCBvZiB0aGUgc3RhdGVzIHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBMZWF2ZSBhcGV4c2luayBvdXQgb2YgdGhlIHN0YXRlcyB0ZXN0LgoKMjAwOC0xMC0xNiAxMzowNTozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggcHJvYmxlbSB3aXRoIHVzaW5nIHRoZSBvdXRwdXQgc2VxbnVtIGNvdW50ZXIgdG8gY2hlY2sgZm9yIGlucHV0IHNlcW51bSBkaXNjby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgRml4IHByb2JsZW0gd2l0aCB1c2luZyB0aGUgb3V0cHV0IHNlcW51bSBjb3VudGVyIHRvIGNoZWNrIGZvciBpbnB1dAoJICBzZXFudW0gZGlzY29udGludWl0aWVzLgoJICBJbXByb3ZlIGdhcCBkZXRlY3Rpb24gYW5kIHJlY292ZXJ5LCByZXNldCBhbmQgZmx1c2ggdGhlIGppdHRlcmJ1ZmZlciBvbgoJICBzZXFudW0gcmVzdGFydC4gRml4ZXMgIzU1NjUyMC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIEZpeCB3cm9uZyBHX0xJS0VMWS4KCjIwMDgtMTAtMTYgMTE6NTU6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgMC4xMC44LjIgcHJlLXJlbGVhc2UgYnVtcCwgdGhhdCBhY3R1YWxseSB3ZW50IG91dCBpbiBhIHRhcmJhbGwgb24gMjAwOC0xMC0xMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCAwLjEwLjguMiBwcmUtcmVsZWFzZSBidW1wLCB0aGF0IGFjdHVhbGx5IHdlbnQgb3V0IGluIGEKCSAgdGFyYmFsbCBvbiAyMDA4LTEwLTExCgoyMDA4LTEwLTE2IDA5OjUxOjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbnN0YWxsIGV2ZW50IGhhbmRsZXIgb24gdGhlIHJ0Y3Bfc3JjIHBhZCwgbWFrZSBMQVRFTkNZIGV2ZW50IHJldHVybgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfc2VuZF9ydGNwX3NyYyk6CgkgIEluc3RhbGwgZXZlbnQgaGFuZGxlciBvbiB0aGUgcnRjcF9zcmMgcGFkLCBtYWtlIExBVEVOQ1kgZXZlbnQgcmV0dXJuCgkgIFRSVUUuCgoyMDA4LTEwLTE2IDA5OjE4OjMxICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzogTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfc2VuZF9kYXRhKToKCSAgTWFrZSBzdXJlIHRoZSBtcGVncHNkZW11eCBlbGVtZW50IGNyZWF0ZXMgdmFsaWQgbmV3c2VnbWVudCBldmVudHMuCgkgIEZpeGVzICM1NTY0MjgKCjIwMDgtMTAtMTYgMDg6MTc6NTkgKzAwMDAgIFNlYmFzdGlhbiBQw7Zsc3RlcmwgPG1hcmR1a0BrLWQtdy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzogRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgRml4ZXMgc2VnZmF1bHQgaW4gZ2V0X2VuY29kaW5nX2FuZF9jb252ZXJ0LgoJICBGaXhlcyAjNTU2NDgyCgoyMDA4LTEwLTE2IDA4OjEzOjQ5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXhlcyBhIHNlZ2ZhdWx0IGluIHRoZSBhZGFwdGF0aW9uIGJ1ZmZlciBzaXplIHN0cmF0ZWd5LgoJICBGaXhlcyAjNTU2NDQwCgoyMDA4LTEwLTE1IDE3OjQ1OjM3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogR3JhY2VmdWxseSBoYW5kbGUgdGhlIGNhc2VzIHdoZW4gd2UgZG9udCcgaGF2ZSBvdGhlcnBhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogKGdzdF9pbnB1dF9zZWxlY3Rvcl9ldmVudCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcXVlcnkpOgoJICBHcmFjZWZ1bGx5IGhhbmRsZSB0aGUgY2FzZXMgd2hlbiB3ZSBkb250JyBoYXZlIG90aGVycGFkLgoJICBGaXhlcyAjNTU2NDMwCgoyMDA4LTEwLTE0IDE1OjEzOjA1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogKHBsdWdpbl9pbml0KToKCSAgRml4IGRlYnVnZ2luZyBjYXRlZ29yeSBpbml0aWFsaXphdGlvbi4KCSAgRml4ZXMgIzU1NjI3NAoKMjAwOC0xMC0xNCAxNDo1Mzo0MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvYXBleHNpbmsvZ3N0YXBleHNpbmsuYzogRml4IHNvbWUgbW9yZSBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzIChmcm9tIE9TL1gpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4c2luay5jOgoJICBGaXggc29tZSBtb3JlIGZvcm1hdCBzdHJpbmcgY29tcGlsZXIgd2FybmluZ3MgKGZyb20gT1MvWCkKCjIwMDgtMTAtMTMgMTI6Mjc6MDYgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmb3IgbGF0ZXN0IHBsdWdpbnMgY2hhbmdlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZm9yIGxhdGVzdCBwbHVnaW5zIGNoYW5nZXMKCjIwMDgtMTAtMTMgMDc6MzU6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9hcGV4c2luay9nc3RhcGV4cmFvcC5jOiBGaXggZm9ybWF0IHN0cmluZyBjb21waWxlciB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IChnc3RfYXBleHJhb3BfY29ubmVjdCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3ZvbHVtZSk6CgkgIEZpeCBmb3JtYXQgc3RyaW5nIGNvbXBpbGVyIHdhcm5pbmdzLgoKMjAwOC0xMC0xMiAyMTo1MjoyNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBzeXMvb3NzNC86IEFkZCBzb21lIHNwYWNlcyBpbiB0cmFuc2xhdGVhYmxlIHN0cmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNpbmsuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICBBZGQgc29tZSBzcGFjZXMgaW4gdHJhbnNsYXRlYWJsZSBzdHJpbmdzLgoJICBGaXhlczogIzU1NTk2OSAjNTU1OTY4ICM1NTU5NjUKCjIwMDgtMTAtMTIgMTc6MDg6MTAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfaGVhZGVyKToKCSAgRml4IHJlZ3Jlc3Npb24gb2YgaGFuZGxpbmcgZmxvdyByZXR1cm5zIGluIHB1bGwgbW9kZS4KCSAgRml4ZXMgYnVnICM1NTYwMDMuCgoyMDA4LTEwLTEyIDE3OjA0OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBhcGV4c2luayB0byBTVUJESVJTLiBGaXhlcyBidWcgIzU1NTkxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBBZGQgYXBleHNpbmsgdG8gU1VCRElSUy4gRml4ZXMgYnVnICM1NTU5MTIuCgoyMDA4LTEwLTExIDExOjAyOjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOiBNYWtlIHRoZSBtZXRhZGF0YSB0ZXN0IG5vdCBmYWlsIHdoZW4ganBlZ2VuYyBpc24ndCBhdmFpbGFibGUuLi4uIGFzIGl0IGlzbid0IGhlcmUsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvbWV0YWRhdGEuYzoKCSAgTWFrZSB0aGUgbWV0YWRhdGEgdGVzdCBub3QgZmFpbCB3aGVuIGpwZWdlbmMgaXNuJ3QgYXZhaWxhYmxlLi4uLgoJICBhcyBpdCBpc24ndCBoZXJlLCBiZWNhdXNlIGl0J3Mgbm90IGluIHRoaXMgbW9kdWxlLCBhbmQKCSAgdGhlcmVmb3JlIG5vdCBpbiB0aGUgcGx1Z2luIHBhdGggd2hlbiB0aGUgY2hlY2sgcnVucy4KCjIwMDgtMTAtMTAgMTY6MzM6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogVXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHRvIG1ha2Ugc3VyZSB3ZSBnZXQgYSBidWZmZXIgd2l0aCBjYXBzIHRoYXQgd2UgY2FuIHdvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6CgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcl9hbmRfc2V0X2NhcHMoKSB0byBtYWtlIHN1cmUgd2UgZ2V0CgkgIGEgYnVmZmVyIHdpdGggY2FwcyB0aGF0IHdlIGNhbiB3b3JrIHdpdGggKGkuZS4gdGhlIHBhZCdzIGNhcHMpLgoJICBBZGQgbm9uLWtleWZyYW1lIHZpZGVvIGZyYW1lcyB0byB0aGUgaW5kZXggdG9vIGJ1dCB3aXRob3V0IHRoZQoJICBrZXlmcmFtZSBmbGFnLgoJICBBZGQgYXVkaW8gZnJhbWVzIHRvIHRoZSBpbmRleCBvbmx5IGlmIHdlIGhhdmUgbm8gdmlkZW8gc3RyZWFtLgoKMjAwOC0xMC0xMCAxNjoxNTowOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBDcmVhdGUgcGFkcyBmcm9tIHRoZSBwYWQgdGVtcGxhdGVzLCB1c2UgZml4ZWQgY2FwcyBvbiB0aGVtIGFuZCBvbmx5IGFjdGl2YXRlIHRoZW0gYWZ0ZXIgdGhlIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgQ3JlYXRlIHBhZHMgZnJvbSB0aGUgcGFkIHRlbXBsYXRlcywgdXNlIGZpeGVkIGNhcHMgb24gdGhlbQoJICBhbmQgb25seSBhY3RpdmF0ZSB0aGVtIGFmdGVyIHRoZSBjYXBzIGFyZSBzZXQuCgoyMDA4LTEwLTEwIDE1OjUxOjQyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERpc2FibGUgZmxhY3BhcnNlIGZvciB0aGlzIHJlbGVhc2UgYXMgaXQncyB0b28gYnVnZ3kuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRGlzYWJsZSBmbGFjcGFyc2UgZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIHRvbyBidWdneS4KCjIwMDgtMTAtMTAgMTE6MTc6MDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZyB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMTAtMTAgIEphbiBTY2htaWR0ICA8amFuLnNjaG1pZHRAc3VuLmNvbT4KCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMTAgMTE6MDE6MzYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBPUy9YIGFib3V0IHBhcmFtZXRlcnMgbm90IG1hdGNoaW5nIHRoZSBkZWJ1ZyBmb3JtYXQgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV91cGRhdGVfdXBzdHJlYW1fZHVyYXRpb25zKToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gT1MvWCBhYm91dCBwYXJhbWV0ZXJzIG5vdCBtYXRjaGluZwoJICB0aGUgZGVidWcgZm9ybWF0IHN0cmluZy4KCjIwMDgtMTAtMDkgMTk6Mzg6NTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9jbGFzc19pbml0KToKCSAgRml4IHVudXNlZCB2YXJpYWJsZSBjb21waWxlciB3YXJuaW5nIHdoZW4gbm90IGJ1aWxkaW5nCgkgIFg4NiBhc3NlbWJseS4KCjIwMDgtMTAtMDkgMTY6NTE6MzUgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBmaXggdmFyaW91cyBidWlsZCBmaWxlcyB0byBhbGxvdyBmb3IgZGlzdGluZyBhbmQgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHZhcmlvdXMgYnVpbGQgZmlsZXMgdG8gYWxsb3cgZm9yIGRpc3RpbmcgYW5kIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBsYXRlc3QgY2hhbmdlcy4KCjIwMDgtMTAtMDkgMTY6MjA6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvOiBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2xvb3ApOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX3RpbWVzdGFtcCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOgoJICBHZXQgYW4gYXBwcm94aW1hdGUgZHVyYXRpb24gb2YgdGhlIGZpbGUgYnkgbG9va2luZyBhdCB0aGUgdGltZXN0YW1wCgkgIG9mIHRoZSBsYXN0IHRhZyBpbiBwdWxsIG1vZGUuIElmIHdlIGdldCAobWF5YmUgYmV0dGVyKSBkdXJhdGlvbiBmcm9tCgkgIG1ldGFkYXRhIGxhdGVyIHdlJ2xsIHVzZSB0aGF0IGluc3RlYWQuCgoyMDA4LTEwLTA5IDE1OjQzOjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9wdWxsX3JhbmdlKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlcik6CgkgIFJlZmFjdG9yIF9wdWxsX3JhbmdlKCkgbG9naWMgd2l0aCBjaGVja3MgaW50byBhIHNlcGVyYXRlIGZ1bmN0aW9uCgkgIHRvIG1ha2UgdGhpbmdzIGEgYml0IG1vcmUgcmVhZGFibGUuCgoyMDA4LTEwLTA5IDE1OjI2OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jaGFpbiksCgkgIChnc3RfZmx2X2RlbXV4X2Jhc2VfaW5pdCk6CgkgIFVzZSBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4KCSAgSWYgd2UgZ2V0IEdTVF9GTE9XX05PVF9MSU5LRUQgaW4gdGhlIHBhcnNlIGxvb3AgYnV0IGF0IGxlYXN0CgkgIG9uZSBvZiB0aGUgcGFkcyBpcyBsaW5rZWQgY29udGludWUgdGhlIGxvb3AuCgoyMDA4LTEwLTA5IDEwOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuKjogUGFzcyB0aGUgZGlzY29udCBmbGFnIGZyb20gdGhlIGlucHV0IGJ1ZmZlciBvbiB0byB0aGUgb3V0cHV0IGJ1ZmZlciBpbiB0aGUgQU1SIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICBQYXNzIHRoZSBkaXNjb250IGZsYWcgZnJvbSB0aGUgaW5wdXQgYnVmZmVyIG9uIHRvIHRoZSBvdXRwdXQgYnVmZmVyIGluCgkgIHRoZSBBTVIgZW5jb2Rlci4KCjIwMDgtMTAtMDkgMTA6MDA6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogQ29ycmVjdCBjYXBzIGZvciB2aWRlbyBjb2RlYyBpZCA1OiBJdCdzIE9uMiBWUDYgd2l0aCBhbHBoYSBjaGFubmVsIHdoaWNoIG5lZWRzIGEgZGlmZmVyZW50IGRlYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX2F1ZGlvX25lZ290aWF0ZSksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3ZpZGVvX25lZ290aWF0ZSk6CgkgIENvcnJlY3QgY2FwcyBmb3IgdmlkZW8gY29kZWMgaWQgNTogSXQncyBPbjIgVlA2IHdpdGggYWxwaGEgY2hhbm5lbAoJICB3aGljaCBuZWVkcyBhIGRpZmZlcmVudCBkZWNvZGVyIGFuZCBoYXMgZGlmZmVyZW50IGNhcHMuCgkgIEFkZCBzdXBwb3J0IGZvciBhdWRpbyBjb2RlYyBpZCAxNCwgd2hpY2ggaXMgTVAzIHdpdGggOGtIeiBzYW1wbGluZwoJICByYXRlLgoJICBGaXggZW5kaWFubmVzcyBhbmQgc2lnbmVkbmVzcyBmb3IgcmF3IGF1ZGlvIGNvZGVjIGlkcy4KCSAgQWRkIHN1cHBvcnQgZm9yIGFsYXcgYW5kIG11bGF3IGF1ZGlvLgoKMjAwOC0xMC0wOSAwOTo0ODo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZCBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2hhaW4pOgoJICBHbyBvdXQgb2YgdGhlIHBhcnNlIGxvb3AgYXMgc29vbiBhcyB3ZSBnZXQgYW4gZXJyb3IgaW5zdGVhZAoJICBvZiBwYXJzaW5nIHVudGlsIHRoZSBHc3RBZGFwdGVyIGlzIGVtcHR5LgoJICBBZGQgc29tZSBleHBsYW5hdGlvbnMgYWJvdXQgdGhlIGhlYWRlciBhbmQgdGFnIHNpemUuCgkgIERvbid0IHByaW50IHN5bmNocm9uaXppbmcgbWVzc2FnZSBpZiBldmVyeXRoaW5nIGlzIGZpbmUuCgoyMDA4LTEwLTA5IDA5OjI2OjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmx2LzogQWRkIGZpcnN0IHZlcnNpb24gb2YgYSBGTFYgbXV4ZXIuIFRoZSBvbmx5IG1pc3NpbmcgZmVhdHVyZSBpcyB3cml0aW5nIG9mIHN0cmVhbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZtdXguYzogKGdzdF9mbHZfbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfZmx2X211eF9jbGFzc19pbml0KSwgKGdzdF9mbHZfbXV4X2luaXQpLAoJICAoZ3N0X2Zsdl9tdXhfZmluYWxpemUpLCAoZ3N0X2Zsdl9tdXhfcmVzZXQpLAoJICAoZ3N0X2Zsdl9tdXhfaGFuZGxlX3NyY19ldmVudCksIChnc3RfZmx2X211eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChnc3RfZmx2X211eF92aWRlb19wYWRfc2V0Y2FwcyksIChnc3RfZmx2X211eF9hdWRpb19wYWRfc2V0Y2FwcyksCgkgIChnc3RfZmx2X211eF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2Zsdl9tdXhfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2Zsdl9tdXhfd3JpdGVfaGVhZGVyKSwgKGdzdF9mbHZfbXV4X3dyaXRlX2J1ZmZlciksCgkgIChnc3RfZmx2X211eF9jb2xsZWN0ZWQpLCAoZ3N0X2Zsdl9tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZmx2L2dzdGZsdm11eC5oOgoJICBBZGQgZmlyc3QgdmVyc2lvbiBvZiBhIEZMViBtdXhlci4gVGhlIG9ubHkgbWlzc2luZyBmZWF0dXJlIGlzIHdyaXRpbmcKCSAgb2Ygc3RyZWFtIG1ldGFkYXRhLgoKMjAwOC0xMC0wOSAwOToyMTo0NCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuKjogQWRkIGZsdXNoIHNlZWsgaGFuZGxlci4gVGFrZW4gZnJvbSByZWNlbnQgYXJtbmJwYXJzZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEFkZCBmbHVzaCBzZWVrIGhhbmRsZXIuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCSAgU3luYyB0aGUgY29kZSBtb3JlIGFuZCB1c2UgI2RlZmluZXMgZm9yIEhFQURFUi4KCjIwMDgtMTAtMDkgMDg6NDM6NDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLio6IEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZSBjb3JyZWN0bHkuIFRha2VuIGZyb20gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmg6CgkgIEZpeCB0aGUgZHVyYXRpb24gcXVlcnkuIEFsc28gc2V0IGNhcHMgb24gdGhlIHBhZHMgYW5kIGJ1ZmZlcnMgbW9yZQoJICBjb3JyZWN0bHkuIFRha2VuIGZyb20gcmVjZW50IGFybW5icGFyc2UgY2hhbmdlcy4KCjIwMDgtMTAtMDggMTY6MjA6MjYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4LzogQWRkIEZsdWVuZG8gdG8gdGhlIExvbmcgTmFtZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgIEFkZCBGbHVlbmRvIHRvIHRoZSBMb25nIE5hbWUuCgoyMDA4LTEwLTA4IDE1OjI1OjI0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWdkZW11eC9tcGVndHNwYXJzZS5oOgoJICBNb3ZlIG9mIG1wZWd0c3BhcnNlIHRvIG1wZWdkZW11eC4KCSAgRml4ZXMgIzU1NTE5My4KCjIwMDgtMTAtMDggMTU6MjI6MTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTW92ZSBvZiBtcGVndHNwYXJzZSB0byBtcGVnZGVtdXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE1vdmUgb2YgbXBlZ3RzcGFyc2UgdG8gbXBlZ2RlbXV4CgoyMDA4LTEwLTA4IDEwOjIxOjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiBQcmV2ZW50IGEgZGl2aXNpb24gYnkgemVybyBpZiBsYXN0IG11eCByYXRlIHdhcyB6ZXJvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3NlbmRfZGF0YSksCgkgIChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgIFByZXZlbnQgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIGxhc3QgbXV4IHJhdGUgd2FzIHplcm8uCgkgIElmIHdlJ3JlIGdvaW5nIHRvIHNlbmQgYSBORVdTRUdNRU5UIGV2ZW50IGJ1dCB0aGUgc2VnbWVudCBzdGFydAoJICBhbmQgdGhlIGN1cnJlbnQgYnVmZmVyIHRpbWVzdGFtcCBkaWZmZXIgYnkgbW9yZSB0aGFuIGEgc2Vjb25kIHdlCgkgIHdpbGwgc3RhcnQgdGhlIE5FV1NFR01FTlQgYXQgdGhlIGJ1ZmZlciB0aW1lc3RhbXAuCgkgIFRoaXMgZml4ZXMgcGxheWJhY2sgb2YgdGhlIHR2Mi0xXzI1Lm1wZyBmaWxlLCB3aGljaCBoYXMgMCBhcyBmaXJzdCBTQ1IKCSAgYnV0IHRoZSBmaXJzdCBQVFMgYXJlIGFyb3VuZCAxIGhvdXIgYW5kIDQwIG1pbnV0ZXMuCgkgIEZpeGVzIGJ1ZyAjNTUzNzU1LgoKMjAwOC0xMC0wNyAyMToyOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzogRml4IG5leHQvcHJldiBjaGFwdGVyIHNlZWtpbmcgYXQgdGhlIGJlZ2lubmluZyBvciBlbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBGaXggbmV4dC9wcmV2IGNoYXB0ZXIgc2Vla2luZyBhdCB0aGUgYmVnaW5uaW5nIG9yIGVuZC4KCSAgVXNlIDY0LWJpdCBzY2FsaW5nIHV0aWxpdHkgZnVuY3Rpb25zIGZvciBjb252ZXJ0aW5nIE1QRUcKCSAgdGltZXN0YW1wcy4KCjIwMDgtMTAtMDcgMTg6NTQ6NDEgKzAwMDAgIEjDpXZhcmQgR3JhZmYgPGhhdmFyZC5ncmFmZkB0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBBZGQgbWFyc2hhbGxlciBmb3IgbmV3IGFjdGlvbiBzaWduYWwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsbGVyIGZvciBuZXcgYWN0aW9uIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2dldF9pbnRlcm5hbF9zZXNzaW9uKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSB0aGUgaW50ZXJuYWwgUlRQU2Vzc2lvbiBvYmplY3QuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2dldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBBZGQgcHJvcGVydHkgdG8gYWNjZXNzIHRoZSBpbnRlcm5hbCBSVFBTZXNzaW9uIG9iamVjdC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKGNoZWNrX2NvbGxpc2lvbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgYWN0aW9uIHNpZ25hbCB0byByZXRyaWV2ZSBhbiBSVFBTb3VyY2Ugb2JqZWN0IGJ5IFNTUkMuCgkgIFNlZSAjNTU1Mzk2LgoKMjAwOC0xMC0wNyAxMzoxNDo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6IENob29zZSByaWdodCBwYWQgZm9yIHNlbmRpbmcgZXZlbnRzLiBGaXhlcyAjNTU1MjQ0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBDaG9vc2UgcmlnaHQgcGFkIGZvciBzZW5kaW5nIGV2ZW50cy4gRml4ZXMgIzU1NTI0NAoKMjAwOC0xMC0wNyAxMTozMzoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBSZWxlYXNlIHBhZHMgb2YgdGhlIHNlc3Npb24gbWFuYWdlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfcGFkKSwKCSAgKGZyZWVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwgKHJlbW92ZV9yZWN2X3J0cCksCgkgIChyZW1vdmVfcmVjdl9ydGNwKSwgKHJlbW92ZV9zZW5kX3J0cCksIChyZW1vdmVfcnRjcCksCgkgIChnc3RfcnRwX2Jpbl9yZWxlYXNlX3BhZCk6CgkgIFJlbGVhc2UgcGFkcyBvZiB0aGUgc2Vzc2lvbiBtYW5hZ2VyLgoJICBTdGFydCBpbXBsZW1lbnRpbmcgcmVsZWFzaW5nIHBhZHMgb2YgZ3N0cnRwYmluLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJlbW92ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKHJlbW92ZV9yZWN2X3J0Y3Bfc2luayksIChyZW1vdmVfc2VuZF9ydHBfc2luayksCgkgIChyZW1vdmVfc2VuZF9ydGNwX3NyYyksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICBJbXBsZW1lbnQgcmVsZWFzaW5nIHBhZHMgaW4gZ3N0cnRwc2Vzc2lvbi4KCjIwMDgtMTAtMDcgMTA6MDI6MjAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogT25seSB1cGRhdGUgdGhlIHNlcW51bS1iYXNlIHdoZW4gaXQgd2FzIG5vdCBhbHJlYWR5IGNvbmZpZ3VyZWQgZm9yIHRoZSBzdHJlYW1zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2Fwcyk6CgkgIE9ubHkgdXBkYXRlIHRoZSBzZXFudW0tYmFzZSB3aGVuIGl0IHdhcyBub3QgYWxyZWFkeSBjb25maWd1cmVkIGZvciB0aGUKCSAgc3RyZWFtcy4KCjIwMDgtMTAtMDYgMTY6MDE6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWMKCSAgKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBTdGFydCB1c2luZyBjb3JlIGdlbyB0YWdzIChidW1wIHJlcSkuIEZpeCBoYW5kbGluZyBvZiBsb2NhdGlvbgoJICByZWZlcmVuY2VzLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBTb3J0IGJsYWNrbGlzdGVkIGVsZW1lbnRzIGFuZCByZW1vdmUgbW92ZWQgb25lcy4gQWRkIG5ldyB0ZXN0LgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9tZXRhZGF0YS5jOgoJICBBZGQgZmlyc3QgdGVzdHMgZm9yIG1ldGFkYXRhIGVsZW1lbnQuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1vdmUgZnJlZSB0byBjb3JyZWN0IHBsYWNlLgoKMjAwOC0xMC0wNiAxNTo1MzowMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogU3RvcCB0ZXN0IG9uIHN0YXRlLWNoYW5nZSBlcnJvci4gU2hvdWxkIGJlIGFwcGxpZWQgb24gb3RoZXIgbW9kdWxlcyBpZiB3ZSBhZ3JlZSB0aGF0IGl0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIFN0b3AgdGVzdCBvbiBzdGF0ZS1jaGFuZ2UgZXJyb3IuIFNob3VsZCBiZSBhcHBsaWVkIG9uIG90aGVyIG1vZHVsZXMgaWYKCSAgd2UgYWdyZWUgdGhhdCBpdCBtYWtlcyBzZW5zZS4KCjIwMDgtMTAtMDYgMTI6MDE6MTQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQWN0dWFsbHkgY29weSB0aGUgc3RydWN0dXJlIHBhc3NlZCBpbiB3aGVuIGFzc2lnbmluZyBpdCBiZWNhdXNlIGl0IGdldHMgZnJlZWQgc3RyYWlnaHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEFjdHVhbGx5IGNvcHkgdGhlIHN0cnVjdHVyZSBwYXNzZWQgaW4gd2hlbiBhc3NpZ25pbmcgaXQgYmVjYXVzZQoJICBpdCBnZXRzIGZyZWVkIHN0cmFpZ2h0IGFmdGVyIHRoZSBmdW5jdGlvbiBjYWxsLgoJICBSZTogcGF0X2luZm8gYW5kIHBtdF9pbmZvIEdzdFN0cnVjdHVyZXMuCgoyMDA4LTEwLTA2IDA4OjMyOjQxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvc2VwIFRvcnJhCgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOgoJICBGaXggd3JvbmcgZmlyaW5nIG9mIGNyaXRpY2FsIGludHJvZHVjZWQgYnkgcHJldmlvdXMgb3B0aW1pc2F0aW9uLgoKMjAwOC0xMC0wMyAxNzoxMToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2NvbmZpZ3VyZV9zb3VyY2VfcGFkKToKCSAgV2FybiBhbmQgY2xhbXAgdG8gbWF4IGJpdHJhdGUgZm9yIHNhbXBsZXJhdGUuCgkgIEZpeGVzICM1NTA0ODYuCgoyMDA4LTEwLTAzIDA5OjExOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCBwb3NzaWJsZSBjcmFzaCB3aGVyZSBwYXQgaXMgcG9pbnRpbmcgdG8gYSBmcmVlZCBzdHJ1Y3R1cmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggcG9zc2libGUgY3Jhc2ggd2hlcmUgcGF0IGlzIHBvaW50aW5nIHRvIGEgZnJlZWQgc3RydWN0dXJlLgoKMjAwOC0xMC0wMyAwNTo1Nzo1OCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L21ldGFkYXRhLzogQWRkIG1hcHBpbmcgb2YgZm9ybWF0IGFuZCBtaW1lIHR5cGUgdG8geG1wLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgbWFwcGluZyBvZiBmb3JtYXQgYW5kIG1pbWUgdHlwZSB0byB4bXAuCgoyMDA4LTEwLTAyIDE0OjQyOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBSZXZlcnRpbmcuIFdpbGwgbmVlZCB0byB3YWl0IGZvciBjb3JlIDAuMTAuMjEgcmVsZWFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgUmV2ZXJ0aW5nLiBXaWxsIG5lZWQgdG8gd2FpdCBmb3IgY29yZSAwLjEwLjIxIHJlbGVhc2UuCgoyMDA4LTEwLTAyIDEzOjUyOjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvOiBVc2UgY29yZSBnc3AgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL1JFQURNRToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSAgVXNlIGNvcmUgZ3NwIHRhZ3MuCgoyMDA4LTA5LTMwIDE3OjAzOjE0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgR3N0SW5kZXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9maW5hbGl6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfYmFzZV9wYXJzZV9zZXRfaW5kZXgpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfZ2V0X2luZGV4KToKCSAgQWRkIHN1cHBvcnQgZm9yIEdzdEluZGV4LgoKMjAwOC0wOS0zMCAxNjo0MToxNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuKjogUHJvdmlkZSBhIHZmdW5jIGZvciB0aGUgc3ViY2xhc3MgdG8gZGVjaWRlIHdoZXRoZXIgYSBmcmFtZSBpcyBpbnNpZGUgdGhlIHNlZ21lbnQgb3Igbm90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IChnc3RfYmFzZV9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfY29udmVydCksIChnc3RfYmFzZV9wYXJzZV9mcmFtZV9pbl9zZWdtZW50KToKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5oOgoJICBQcm92aWRlIGEgdmZ1bmMgZm9yIHRoZSBzdWJjbGFzcyB0byBkZWNpZGUgd2hldGhlciBhIGZyYW1lIGlzIGluc2lkZQoJICB0aGUgc2VnbWVudCBvciBub3QgYW5kIGFkZCBhIGRlZmF1bHQgaW1wbGVtZW50YXRpb24uCgkgIEZpeCBhcHByb3hpbWF0ZSBiaXRyYXRlIGNhbGN1bGF0aW9ucy4KCjIwMDgtMDktMzAgMTY6MjI6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmM6IEFwcHJveGltYXRlIHRoZSBhdmVyYWdlIGJpdHJhdGUsIGR1cmF0aW9uIGFuZCBzaXplIGlmIHBvc3NpYmxlIGFuZCBhZGQgYSBkZWZhdWx0IGNvbnZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmxhY3BhcnNlL2dzdGJhc2VwYXJzZS5jOiAoZ3N0X2Jhc2VfcGFyc2VfY2xhc3NfaW5pdCksCgkgIChnc3RfYmFzZV9wYXJzZV9pbml0KSwgKGdzdF9iYXNlX3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3VwZGF0ZV91cHN0cmVhbV9kdXJhdGlvbnMpLCAoZ3N0X2Jhc2VfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9hY3RpdmF0ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9jb252ZXJ0KSwgKGdzdF9iYXNlX3BhcnNlX3F1ZXJ5KToKCSAgQXBwcm94aW1hdGUgdGhlIGF2ZXJhZ2UgYml0cmF0ZSwgZHVyYXRpb24gYW5kIHNpemUgaWYgcG9zc2libGUKCSAgYW5kIGFkZCBhIGRlZmF1bHQgY29udmVyc2lvbiBmdW5jdGlvbiB3aGljaCB1c2VzIHRoaXMgZm9yCgkgIHRpbWU8LT5ieXRlIGNvbnZlcnNpb25zLgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9nZXRfZnJhbWVfc2l6ZSk6CgkgIEZpeCBwYXJzaW5nIGlmIHVwc3RyZWFtIGdpdmVzIC0xIGFzIGR1cmF0aW9uLgoKMjAwOC0wOS0zMCAxNTowODo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogUmVmIHRoZSBydHBzb3VyY2Ugb2JqZWN0IGJlZm9yZSB3ZSByZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiB3ZSBlbWl0IHRoZSBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChvbl9uZXdfc3NyYyksIChvbl9zc3JjX2NvbGxpc2lvbiksCgkgIChvbl9zc3JjX3ZhbGlkYXRlZCksIChvbl9zc3JjX2FjdGl2ZSksIChvbl9zc3JjX3NkZXMpLAoJICAob25fYnllX3NzcmMpLCAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChvbl9zZW5kZXJfdGltZW91dCk6CgkgIFJlZiB0aGUgcnRwc291cmNlIG9iamVjdCBiZWZvcmUgd2UgcmVsZWFzZSB0aGUgc2Vzc2lvbiBsb2NrIHdoZW4gd2UgZW1pdAoJICB0aGUgc2lnbmFscy4KCjIwMDgtMDktMzAgMTE6MTk6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvOiBOZXcgcGx1Z2luIGZvciBhdWRpbyBjYXB0dXJlIGFuZCBwbGF5YmFjayB1c2luZyBXaW5kb3dzIEF1ZGlvIFNlc3Npb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy93YXNhcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGkuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuYzoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNpbmsuaDoKCSAgKiBzeXMvd2FzYXBpL2dzdHdhc2FwaXNyYy5jOgoJICAqIHN5cy93YXNhcGkvZ3N0d2FzYXBpc3JjLmg6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmM6CgkgICogc3lzL3dhc2FwaS9nc3R3YXNhcGl1dGlsLmg6CgkgIE5ldyBwbHVnaW4gZm9yIGF1ZGlvIGNhcHR1cmUgYW5kIHBsYXliYWNrIHVzaW5nIFdpbmRvd3MgQXVkaW8gU2Vzc2lvbgoJICBBUEkgKFdBU0FQSSkgYXZhaWxhYmxlIHdpdGggVmlzdGEgYW5kIG5ld2VyICgjNTIwOTAxKS4KCSAgQ29tZXMgd2l0aCBoYXJkY29kZWQgY2FwcyBhbmQgb2J2aW91c2x5IG5lZWRzIGxvdHMgb2YgbG92ZS4gSGF2ZW4ndAoJICBoYWQgdGltZSB0byB3b3JrIG9uIHRoaXMgY29kZSBzaW5jZSBpdCB3YXMgd3JpdHRlbiwgd2FzIGluaXRpYWxseSBqdXN0CgkgIGEgcXVpY2sgZXhwZXJpbWVudCB0byBwbGF5IGFyb3VuZCB3aXRoIHRoaXMgbmV3IEFQSS4KCjIwMDgtMDktMzAgMTA6NDM6NTQgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHA6CgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jcHAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcAoJICAoQXVkaW9GYWtlU2luay5Eb1JlbmRlclNhbXBsZSk6CgkgIEZpeCBhIGNvdXBsZSBvZiBzaWduZWQvdW5zaWduZWQgY29tcGFyaXNvbiB3YXJuaW5ncy4KCjIwMDgtMDktMzAgMTA6MjI6MTAgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaCAoQXVkaW9GYWtlU2luay5BdWRpb0Zha2VTaW5rKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaCAoVmlkZW9GYWtlU2luay5WaWRlb0Zha2VTaW5rKToKCSAgVXNlIHRoZSBfVCgpIG1hY3JvIHRvIHN1cHBvcnQgYm90aCBVbmljb2RlIGFuZCBNQkNTLgoKMjAwOC0wOS0zMCAxMDoxNzo0MSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmMgKHBsdWdpbl9pbml0KTogRml4IHJldHVybiB0eXBlIG9mIHRoZSBHc3RVUklIYW5kbGVyOjpnZXRfdHlwZSgpIGltcGxlbWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jIChwbHVnaW5faW5pdCk6CgkgIEZpeCByZXR1cm4gdHlwZSBvZiB0aGUgR3N0VVJJSGFuZGxlcjo6Z2V0X3R5cGUoKSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDktMjkgMDg6MjY6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCBGTEFDIHBhcnNlciwgYmFzZWQgb24gR3N0QmFzZVBhcnNlLiBBbHNvIGFkZCB0aGUgYml0IGFuZCBieXRlIHJlYWRlciB0aGF0IHdpbGwgYmUgYWRkZWQgdG8gbGliZ3N0YmFzZSBsYXRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mbGFjcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiYXNlcGFyc2UuYzogKGdzdF9iYXNlX3BhcnNlX2dldF90eXBlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2Jhc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9iYXNlX2ZpbmFsaXplKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9iYXNlX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfaW5pdCksIChnc3RfYmFzZV9wYXJzZV9jaGVja19mcmFtZSksCgkgIChnc3RfYmFzZV9wYXJzZV9wYXJzZV9mcmFtZSksIChnc3RfYmFzZV9wYXJzZV9ieXRlcG9zX3RvX3RpbWUpLAoJICAoZ3N0X2Jhc2VfcGFyc2Vfc2lua19ldmVudCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X2Jhc2VfcGFyc2Vfc3JjX2V2ZW50ZnVuYyksCgkgIChnc3RfYmFzZV9wYXJzZV9pc19zZWVrYWJsZSksIChnc3RfYmFzZV9wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfYW5kX3B1c2hfYnVmZmVyKSwgKGdzdF9iYXNlX3BhcnNlX2RyYWluKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2NoYWluKSwgKGdzdF9iYXNlX3BhcnNlX3B1bGxfcmFuZ2UpLAoJICAoZ3N0X2Jhc2VfcGFyc2VfbG9vcCksIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9iYXNlX3BhcnNlX2FjdGl2YXRlKSwgKGdzdF9iYXNlX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVzaCksCgkgIChnc3RfYmFzZV9wYXJzZV9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X2Jhc2VfcGFyc2Vfc2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9iYXNlX3BhcnNlX3NldF9taW5fZnJhbWVfc2l6ZSksCgkgIChnc3RfYmFzZV9wYXJzZV9nZXRfcXVlcnl0eXBlcyksIChnc3RfYmFzZV9wYXJzZV9xdWVyeSksCgkgIChnc3RfYmFzZV9wYXJzZV9oYW5kbGVfc2VlayksIChnc3RfYmFzZV9wYXJzZV9zaW5rX3NldGNhcHMpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0YmFzZXBhcnNlLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RiaXRyZWFkZXIuYzogKGdzdF9iaXRfcmVhZGVyX25ldyksCgkgIChnc3RfYml0X3JlYWRlcl9uZXdfZnJvbV9idWZmZXIpLCAoZ3N0X2JpdF9yZWFkZXJfZnJlZSksCgkgIChnc3RfYml0X3JlYWRlcl9pbml0KSwgKGdzdF9iaXRfcmVhZGVyX2luaXRfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2JpdF9yZWFkZXJfc2V0X3BvcyksIChnc3RfYml0X3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9iaXRfcmVhZGVyX2dldF9yZW1haW5pbmcpLCAoZ3N0X2JpdF9yZWFkZXJfc2tpcCksCgkgIChnc3RfYml0X3JlYWRlcl9za2lwX3RvX2J5dGUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Yml0cmVhZGVyLmg6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RieXRlcmVhZGVyLmM6IChHRE9VQkxFX1NXQVBfTEVfQkUpLAoJICAoR0ZMT0FUX1NXQVBfTEVfQkUpLCAoZ3N0X2J5dGVfcmVhZGVyX25ldyksCgkgIChnc3RfYnl0ZV9yZWFkZXJfbmV3X2Zyb21fYnVmZmVyKSwgKGdzdF9ieXRlX3JlYWRlcl9mcmVlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9pbml0KSwgKGdzdF9ieXRlX3JlYWRlcl9pbml0X2Zyb21fYnVmZmVyKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9zZXRfcG9zKSwgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcG9zKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfcmVtYWluaW5nKSwgKGdzdF9ieXRlX3JlYWRlcl9za2lwKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9nZXRfdWludDgpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQ4KSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQ4KSwgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX2ludDgpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX2dldF91aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX2dldF9pbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfZ2V0X2ludDI0X2JlKSwKCSAgKGdzdF9ieXRlX3JlYWRlcl9wZWVrX3VpbnQyNF9sZSksIChnc3RfYnl0ZV9yZWFkZXJfcGVla191aW50MjRfYmUpLAoJICAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfbGUpLCAoZ3N0X2J5dGVfcmVhZGVyX3BlZWtfaW50MjRfYmUpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0Ynl0ZXJlYWRlci5oOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhYy5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9mbGFjcGFyc2UvZ3N0ZmxhY3BhcnNlLmM6IChnc3RfZmxhY19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2xhc3NfaW5pdCksIChnc3RfZmxhY19wYXJzZV9pbml0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF9mbGFjX3BhcnNlX3N0YXJ0KSwKCSAgKGdzdF9mbGFjX3BhcnNlX3N0b3ApLCAoZ3N0X2ZsYWNfcGFyc2VfZ2V0X2ZyYW1lX3NpemUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfY2hlY2tfdmFsaWRfZnJhbWUpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3N0cmVhbWluZm8pLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3ZvcmJpc2NvbW1lbnQpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX3BpY3R1cmUpLCAoX3ZhbHVlX2FycmF5X2FwcGVuZF9idWZmZXIpLAoJICAoZ3N0X2ZsYWNfcGFyc2VfaGFuZGxlX2hlYWRlcnMpLCAoZ3N0X2ZsYWNfcGFyc2VfZ2VuZXJhdGVfaGVhZGVycyksCgkgIChnc3RfZmxhY19wYXJzZV9wYXJzZV9mcmFtZSk6CgkgICogZ3N0L2ZsYWNwYXJzZS9nc3RmbGFjcGFyc2UuaDoKCSAgQWRkIEZMQUMgcGFyc2VyLCBiYXNlZCBvbiBHc3RCYXNlUGFyc2UuIEFsc28gYWRkIHRoZSBiaXQgYW5kIGJ5dGUgcmVhZGVyCgkgIHRoYXQgd2lsbCBiZSBhZGRlZCB0byBsaWJnc3RiYXNlIGxhdGVyLgoJICBUaGUgRkxBQyBwYXJzZXIgaXMgY3VycmVudGx5IG5vdCAxMDAlIGJ1ZyBmcmVlIGFuZCBmYWlscyB0byBnZXQgdGhlCgkgIGNvcnJlY3QgZnJhbWUgc2l6ZSBmb3Igc29tZSBmcmFtZXMgaW4gc29tZSBzdHJlYW1zLgoKMjAwOC0wOS0yNyAwMToxMjozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvOiBBZGQgaW4gVGl0bGUvQ2hhcHRlciBzZWVraW5nLCBhbmQgc2ltcGxlIGJ1dCBidWdneSBhdWRpbyBhbmQgc3VidGl0bGUgc3RyZWFtIHNlbGVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguaDoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuc3RyZWFtc2VsZWN0b3IuYzoKCSAgQWRkIGluIFRpdGxlL0NoYXB0ZXIgc2Vla2luZywgYW5kIHNpbXBsZSBidXQgYnVnZ3kgYXVkaW8KCSAgYW5kIHN1YnRpdGxlIHN0cmVhbSBzZWxlY3Rpb24uCgoyMDA4LTA5LTI0IDE3OjIxOjQxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3V0aWwuY3BwOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDoKCSAgUHJlZmVyIGtub3duLWdvb2QgZmlsdGVycywgY3JlYXRlIGRpcmVjdGx5IGJ5IEdVSUQgaWYgcG9zc2libGUsCgkgIGZhbGwgYmFjayB0byBjcmVhdGluZyBoaWdoZXN0LW1lcml0IGZpbHRlciBvdGhlcndpc2UuCgkgIEZpeGVzIHBsYXliYWNrIHdpdGggcmFuZG9tIGRzaG93IGZpbHRlcnMgaW5zdGFsbGVkIGluIHNvbWUKCSAgY2FzZXMuCgoyMDA4LTA5LTIzIDE4OjEzOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBGaXggc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAob25fc2VuZGVyX3RpbWVvdXQpLAoJICAoc2Vzc2lvbl9jbGVhbnVwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgRml4IHNvbWUgZG9jcy4KCjIwMDgtMDktMjMgMTc6MzQ6NDQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBQYXRjaCBmcm9tOiBKb3NlcCBUb3JyYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggZnJvbTogSm9zZXAgVG9ycmEKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5oOgoJICBVc2UgYSBwcmVhbGxvY2F0ZWQgYnVmZmVyIHBlciBzdHJlYW0gZm9yIFBFUyBwYWNrZXRzIHNlbnQgb24gc3JjIHBhZHMuCgkgIEFkYXB0aXZlbHkgYWRqdXN0IGJ1ZmZlciBzaXplIGFwcHJvcHJpYXRlbHkuCgoyMDA4LTA5LTE3IDE0OjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQ2xlYW4gdXAgdGhlIGRlYnVnIGxvZ2dpbmcgY29kZSBhbmQgI2lmZGVmIG1lc3MgYSBiaXQ6IHdoZXRoZXIgb3Igbm90IGdzdHJlYW1lciBkZWJ1ZyBtZXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIENsZWFuIHVwIHRoZSBkZWJ1ZyBsb2dnaW5nIGNvZGUgYW5kICNpZmRlZiBtZXNzIGEgYml0OiB3aGV0aGVyIG9yIG5vdAoJICBnc3RyZWFtZXIgZGVidWcgbWVzc2FnZXMgc2hvdWxkIGJlIG91dHB1dCBzaG91bGQgbm90IGRlcGVuZCBvbiBhbgoJICBlbGVtZW50IHByb3BlcnR5OyBhbHNvLCBHU1RfRUxFTUVOVF9FUlJPUiB3aWxsIGxlYXZlIGEgbGluZSBpbiB0aGUgbG9nCgkgIGFscmVhZHksIHNvIG1lcmdlIHRoZSBtb3JlIHVzZWZ1bCBkZWJ1ZyBsb2cgbWVzc2FnZXMgd2l0aCB0aGUgbGVzcyB1c2VmdWwKCSAgZXJyb3IgZGVidWcgc3RyaW5ncy4KCjIwMDgtMDktMTcgMTQ6MjI6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICBEb24ndCBwb3N0IExJQlJBUllfSU5JVCBlcnJvcnMgd2hlcmUgd2Ugc2hvdWxkIGJlIHBvc3RpbmcKCSAgUkVTT1VSQ0UgT1BFTl9SRUFEIGVycm9ycy4gRml4ZXMgIzU1MjUwNi4KCjIwMDgtMDktMTcgMTM6NTk6MjEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoamFja19wcm9jZXNzX2NiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KToKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIG9uIE9TL1gKCjIwMDgtMDktMTcgMDk6MDY6NTcgKzAwMDAgIE1pY2hhZWwgS3J1Zmt5IDxta3J1Zmt5QGxpbnV4dHYub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1pY2hhZWwgS3J1Zmt5CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGFkYXB0ZXJfbmFtZSBmb3IgYnVzIG1lc3NhZ2UgaW4gQVRTQyBjYXNlLiBGaXhlcyAjNTUyNTM2LgoKMjAwOC0wOS0xNSAwOTozOTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOiBIZWxwIGd0ay1kb2MgdG8gcGFyc2UgdGhpcyBjb3JyZWN0bHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuaDoKCSAgSGVscCBndGstZG9jIHRvIHBhcnNlIHRoaXMgY29ycmVjdGx5LgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgIEFkZCBtaXNzaW5nIGluY2x1ZGUuCgoyMDA4LTA5LTE1IDA5OjM0OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogT25seSBidWlsdCBzY2FsZXRlbXBvIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IGJ1aWx0IHNjYWxldGVtcG8gZXhhbXBsZSBpZiB3ZSBoYXZlIGd0ay4KCjIwMDgtMDktMTMgMDE6Mzc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRG8gbm90IHRyeSB0byBhZGp1c3QgdGhlIG9mZnNldCBvZiBzdHJlYW1zIGZvciB3aGljaCB3ZSBoYXZlIG5vdCB5ZXQgc2VlbiBhbiBTUiBwYWNrZXQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLCAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgIERvIG5vdCB0cnkgdG8gYWRqdXN0IHRoZSBvZmZzZXQgb2Ygc3RyZWFtcyBmb3Igd2hpY2ggd2UgaGF2ZSBub3QgeWV0CgkgIHNlZW4gYW4gU1IgcGFja2V0LiBBdm9pZHMgbGFyZ2UgdHMtb2Zmc2V0cyBpbiBzb21lIGNhc2VzLgoKMjAwOC0wOS0xMCAyMzoxNToxMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci86IE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dkZWN3cmFwcGVyLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZGVjd3JhcHBlci5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93ZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d1dGlsLmNwcDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dXRpbC5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jcHA6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgZHNob3dkZWN3cmFwcGVyLiBDb252ZXJ0cyBjb2RlIHRvCgkgIEMrKywgbW92ZXMgdG8gZGlyZWN0IHVzZSBvZiBEaXJlY3RTaG93IGJhc2UgY2xhc3NlcywKCSAgbWFrZSBhIGxvdCBvZiBjb2RlIGNsZWFyZXIsIHNpbXBsaWZ5LCBldGMuCgkgIEZpeCBkZWNvZGUgb2YgTVAzIG9uIFZpc3RhIGJ5IHdvcmtpbmcgYXJvdW5kIGFuIGFwcGFyZW50CgkgIGJ1ZyBpbiB0aGUgZGVjb2Rlci4KCjIwMDgtMDktMTAgMTI6MDU6MzkgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLCBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5jIChnc3Rfa3NfY2xvY2tfd29ya2VyX3RocmVhZF9mdW5jLAoJICBnc3Rfa3NfY2xvY2tfc3RhcnQpOgoJICBTeW5jaHJvbml6ZSBLUyBjbG9jayBhcyBhIHNpbmdsZS1zaG90IG9wZXJhdGlvbiBmb3Igbm93LCB0aGVyZSdzIG5vdAoJICBtdWNoIHBvaW50IGluIGRvaW5nIGl0IHBlcmlvZGljYWxseSB1bnRpbCB3ZSdyZSBhY3R1YWxseSB1c2luZyB0aGUKCSAgS1MgdGltZXN0YW1wcyBmb3IgYW55dGhpbmcgZWxzZSB0aGFuIGp1c3QgZGlzY2FyZGluZyBvbGQgZnJhbWVzLgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmMgKGdzdF9rc192aWRlb19zcmNfb3Blbl9kZXZpY2UpOgoJICBQcm92aWRlIHRoZSBHc3RDbG9jayB3aGVuIG9wZW5pbmcgdGhlIGRldmljZSBpZiB3ZSBhbHJlYWR5IGhhdmUgb25lLgoKMjAwOC0wOS0wOSAyMzo1ODowMiArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmMgKEdTVF9ERUJVR19JU19FTkFCTEVELCBsYXN0X3RpbWVzdGFtcCwgZ3N0X2tzX3ZpZGVvX2RldmljZV9wcmVwYXJlX2J1ZmZlcnMsIGdzdF9rc192aWRlby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChHU1RfREVCVUdfSVNfRU5BQkxFRCwgbGFzdF90aW1lc3RhbXAsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcHJlcGFyZV9idWZmZXJzLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX2NyZWF0ZV9waW4sCgkgIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlLCBnc3Rfa3NfdmlkZW9fZGV2aWNlX3JlcXVlc3RfZnJhbWUsCgkgIGdzdF9rc192aWRlb19kZXZpY2VfcmVhZF9mcmFtZSk6CgkgIEd1YXJkIGFnYWluc3QgY2FwdHVyaW5nIG9sZCBmcmFtZXMgYnkga2VlcGluZyB0cmFjayBvZiB0aGUgbGFzdAoJICB0aW1lc3RhbXAgYW5kIGFsc28gemVyby1maWxsIHRoZSBidWZmZXJzIGJlZm9yZSBlYWNoIGNhcHR1cmUuCgkgIE9ubHkgYXNzaWduIGEgbWFzdGVyIGNsb2NrIGlmIHRoZSBwaW4gaGFzbid0IGFscmVhZHkgZ290IG9uZS4KCSAgQWN0dWFsbHkgZnJlZSBidWZmZXJzIG9uIHRoZSB3YXkgZG93biB0byBhdm9pZCBhIGh1Z2UgbWVtb3J5IGxlYWssCgkgIGFzIHRoaXMgd2FzIHByZXZpb3VzbHkgZG9uZSB3aGVuIGNoYW5naW5nIHN0YXRlIHRvIEFDUVVJUkUgZG93bndhcmRzCgkgIGFuZCB3ZSBub3cgc2tpcCB0aGF0IHN0YXRlIG9uIHRoZSB3YXkgZG93bi4KCSAgQWRkIHNvbWUgZGVidWcuCgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9zcmMuYyAoREVGQVVMVF9ERVZJQ0VfUEFUSCwgREVGQVVMVF9ERVZJQ0VfTkFNRSwKCSAgREVGQVVMVF9ERVZJQ0VfSU5ERVgsIEtTX1dPUktFUl9MT0NLLCBLU19XT1JLRVJfVU5MT0NLLAoJICBLU19XT1JLRVJfV0FJVCwgS1NfV09SS0VSX05PVElGWSwgS1NfV09SS0VSX1dBSVRfRk9SX1JFU1VMVCwKCSAgS1NfV09SS0VSX05PVElGWV9SRVNVTFQsIEtTX1dPUktFUl9TVEFURV9TVEFSVElORywKCSAgS1NfV09SS0VSX1NUQVRFX1JFQURZLCBLU19XT1JLRVJfU1RBVEVfU1RPUFBJTkcsCgkgIEtTX1dPUktFUl9TVEFURV9FUlJPUiwgS3NXb3JrZXJTdGF0ZSwgZGV2aWNlX3BhdGgsIGRldmljZV9uYW1lLAoJICBkZXZpY2VfaW5kZXgsIHJ1bm5pbmcsIHdvcmtlcl90aHJlYWQsIHdvcmtlcl9sb2NrLAoJICB3b3JrZXJfbm90aWZ5X2NvbmQsIHdvcmtlcl9yZXN1bHRfY29uZCwgd29ya2VyX3N0YXRlLAoJICB3b3JrZXJfcGVuZGluZ19jYXBzLCB3b3JrZXJfc2V0Y2Fwc19yZXN1bHQsIHdvcmtlcl9wZW5kaW5nX3J1biwKCSAgd29ya2VyX3J1bl9yZXN1bHQsIGdzdF9rc192aWRlb19zcmNfcmVzZXQsCgkgIGdzdF9rc192aWRlb19zcmNfYXBwbHlfZHJpdmVyX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19vcGVuX2RldmljZSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jbG9zZV9kZXZpY2UsIGdzdF9rc192aWRlb19zcmNfd29ya2VyX2Z1bmMsCgkgIGdzdF9rc192aWRlb19zcmNfc3RhcnRfd29ya2VyLCBnc3Rfa3NfdmlkZW9fc3JjX3N0b3Bfd29ya2VyLAoJICBnc3Rfa3NfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSwgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2xvY2ssCgkgIGdzdF9rc192aWRlb19zcmNfc2V0X2NhcHMsIGdzdF9rc192aWRlb19zcmNfdGltZXN0YW1wX2J1ZmZlciwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19jcmVhdGUpOgoJICBSZW1vdmUgRU5BQkxFX0NMT0NLX0RFQlVHIGRlZmluZSwgaXQncyBHU1RfTEVWRUxfREVCVUcgYWZ0ZXIgYWxsLgoJICBHZXQgcmlkIG9mIFBST1BfRU5TTEFWRV9LU0NMT0NLIGFuZCBhbHdheXMgc2xhdmUgdGhlIGtzIGNsb2NrIHRvIHRoZQoJICBHU3RyZWFtZXIgY2xvY2ssIGl0IGRvZXNuJ3Qgc2VlbSB0byBodXJ0IGFuZCBtYXRjaGVzIERpcmVjdFNob3cncwoJICBiZWhhdmlvci4gQXMgYW4gYWRkZWQgYm9udXMgd2UgdXN1YWxseSBnZXQgUHJlc2VudGF0aW9uVGltZSBzZXQgZm9yCgkgIGVhY2ggZnJhbWUsIHNvIHdlIGNhbiBleHBhbmQgb24gdGhpcyBsYXRlciBmb3Igc21hcnRlciBsYXRlbmN5CgkgIHJlcG9ydGluZyAoYnkgbG9va2luZyBhdCB0aGUgZGlmZiBiZXR3ZWVuIHRoZSB0aW1lc3RhbXAgZnJvbSB0aGUKCSAgZHJpdmVyIGFuZCB0aGUgdGltZSBhY2NvcmRpbmcgdG8gdGhlIEdTdHJlYW1lciBjbG9jaykuCgkgIFVzZSBhbiBpbnRlcm5hbCB3b3JrZXIgdGhyZWFkIGZvciBvcGVuaW5nIHRoZSBkZXZpY2UsIHNldHRpbmcgY2FwcywKCSAgY2hhbmdpbmcgaXRzIHN0YXRlIGFuZCBjbG9zaW5nIGl0LiBUaGlzIHdheSB3ZSdyZSBhIGxvdCBtb3JlCgkgIGNvbXBhdGlibGUgd2l0aCBkcml2ZXJzIHRoYXQgcmVseSBvbiBoYWNrcyB0byBkbyB2aWRlby1lZmZlY3RzCgkgIGJldHdlZW4gdGhlIGxvdy1sZXZlbCBOVCBBUEkgYW5kIHRoZSBhcHBsaWNhdGlvbi4gSWNrLgoJICBTdGFydCB0aGUga3MgY2xvY2sgYW5kIHNldCB0aGUgcGluIHRvIEtTU1RBVEVfUlVOIG9uIHRoZSBmaXJzdAoJICBjcmVhdGUoKSBzbyB0aGF0IHdlJ2xsIGhvcGVmdWxseSBnZXQgaG9sZCBvZiB0aGUgR1N0cmVhbWVyIGNsb2NrCgkgIGZyb20gdGhlIHZlcnkgYmVnaW5uaW5nLiBUaGlzIHdheSB0aGVyZSdzIG5vIGNoYW5jZSB0aGF0IHRoZQoJICB0aW1lc3RhbXBzIHdpbGwgbWFrZSBhIHN1ZGRlbiBqdW1wIGluIHRoZSBiZWdpbm5pbmcgb2YgdGhlIHN0cmVhbQoJICB3aGVuIHdlJ3JlIHJ1bm5pbmcgd2l0aCBhIGNsb2NrLgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuYyAoQ0hFQ0tfT1BUSU9OU19GTEFHLAoJICBrc19vcHRpb25zX2ZsYWdzX3RvX3N0cmluZyk6CgkgIFJlb3JkZXIgdGhlIGZsYWdzIHRvIG1hdGNoIHRoZSBoZWFkZXJmaWxlIG9yZGVyLCBhbmQgbWFrZSB0aGUgc3RyaW5nCgkgIGEgYml0IG1vcmUgY29tcGFjdC4KCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fcHJvYmVfZmlsdGVyX2Zvcl9jYXBzKToKCSAgQXZvaWQgbGVha2luZyBLU1BST1BFUlRZX1BJTl9EQVRBUkFOR0VTLgoKMjAwOC0wOS0wOSAxNzo1NjoxMCArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFyay5uYXV3ZWxhZXJ0c0Bjb2xsYWJvcmEuY28udWs+CgoJICBBZGQganAyayBwbHVnaW4uICBGaXhlcyAjNTUwNjU3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qcDJrL2dzdGphc3BlcmRlYy5jOiAoZ3N0X2phc3Blcl9kZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2phc3Blcl9kZWNfaW5pdCksCgkgIChnc3RfamFzcGVyX2RlY19yZXNldCksIChnc3RfamFzcGVyX2RlY19zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2phc3Blcl9kZWNfbmVnb3RpYXRlKSwgKGdzdF9qYXNwZXJfZGVjX2dldF9waWN0dXJlKSwKCSAgKGdzdF9qYXNwZXJfZGVjX2NoYWluKSwgKGdzdF9qYXNwZXJfZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfamFzcGVyX2RlY19nZXRfcHJvcGVydHkpLCAoZ3N0X2phc3Blcl9kZWNfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvanAyay9nc3RqYXNwZXJkZWMuaDoKCSAgQWRkIGpwMmsgcGx1Z2luLiAgRml4ZXMgIzU1MDY1Ny4KCjIwMDgtMDktMDkgMTE6NDc6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ2RlbXV4LzogRml4IGNvbmZsaWN0aW5nIHB1YmxpYyBuYW1lcyBpbiBuZXcgbXBlZyBkZW11eGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWdkZW11eC9mbHVtcGVnZGVtdXguYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZW11eC5jOiAoZ3N0X2ZsdXBzX2RlbXV4X3N5bmNfZ2V0X3R5cGUpLAoJICAoZ3N0X2ZsdXBzX2RlbXV4X2dldF90eXBlKSwgKGdzdF9mbHVwc19kZW11eF9wbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2dldF90eXBlKSwKCSAgKGdzdF9mbHV0c19kZW11eF9wbHVnaW5faW5pdCk6CgkgIEZpeCBjb25mbGljdGluZyBwdWJsaWMgbmFtZXMgaW4gbmV3IG1wZWcgZGVtdXhlcnMuCgkgIEZpeGVzICM1NTA0NjgKCjIwMDgtMDktMDkgMDE6MTQ6MTAgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6IFN1cHBvcnQgY2h1bmtzIGluIEFJRkYgaW4gYW55IG9yZGVyIGluIHB1bGwgbW9kZSwgYW5kIGFueSBvcmRlciBzbyBsb25nIGFzIHdlIGdldCBDT01NIGJlZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOgoJICBTdXBwb3J0IGNodW5rcyBpbiBBSUZGIGluIGFueSBvcmRlciBpbiBwdWxsIG1vZGUsIGFuZCBhbnkgb3JkZXIgc28KCSAgbG9uZyBhcyB3ZSBnZXQgQ09NTSBiZWZvcmUgdGhlIGFjdHVhbCBkYXRhIChTU05EKSBpbiBwdXNoIG1vZGUuCgkgIEZpeGVzIHBsYXliYWNrIG9mIEFJRkMgZmlsZXMuCgoyMDA4LTA5LTA4IDIwOjI3OjIzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXNldCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2hhbmdlX3N0YXRlKToKCSAgUmVzZXQgdGhlIHNlbGVjdG9yIHN0YXRlIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTA5LTA1IDEzOjUyOjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zZW5kZXJfdGltZW91dCksCgkgIChjcmVhdGVfc2Vzc2lvbiksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbiksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IGxpc3RlbmVycyB3aGVuIGEgc2VuZGVyIGJlY29tZXMgYSByZWNlaXZlci4KCSAgVHdlYWsgbGlwLXN5bmMgY29kZSwgZG9uJ3Qgc3RvcmUgb3VyIG93biBjb3B5IG9mIHRoZSB0cy1vZmZzZXQgb2YgdGhlCgkgIGppdHRlcmJ1ZmZlciwgZG9uJ3QgYWRqdXN0IHN5bmMgaWYgdGhlIGNoYW5nZSBpcyBsZXNzIHRoYW4gNG1zZWMuCgkgIEdldCB0aGUgUlRQIHRpbWVzdGFtcCA8LT4gR1N0cmVhbWVyIHRpbWVzdGFtcCByZWxhdGlvbiBkaXJlY3RseSBmcm9tCgkgIHRoZSBqaXR0ZXJidWZmZXIgaW5zdGVhZCBvZiBvdXIgaW5hY2N1cmF0ZSB2ZXJzaW9uIGZyb20gdGhlIHNvdXJjZS4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3N5bmMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICBBZGQgR19MSUtFTFkgbWFjcm9zLCB1c2UgZ2xvYmFsIGRlZmluZXMgZm9yIG1heCBwYWNrZXQgcmVvcmRlciBhbmQKCSAgZHJvcG91dHMuCgkgIFJlc2V0IHRoZSBqaXR0ZXJidWZmZXIgY2xvY2sgc2tldyBkZXRlY3Rpb24gd2hlbiBwYWNrZXRzIHNlcW51bXMgYXJlCgkgIGNoYW5nZWQgdW5leHBlY3RlZGx5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKG9uX3NlbmRlcl90aW1lb3V0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBzZW5kZXIgdGltZW91dCBzaWduYWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9yZXNldF9za2V3KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9nZXRfc3luYyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCBzb21lIEdfTElLRUxZIG1hY3Jvcy4KCSAgS2VlcCB0cmFjayBvZiB0aGUgZXh0ZW5kZWQgUlRQIHRpbWVzdGFtcCBzbyB0aGF0IHdlIGNhbiByZXBvcnQgdGhlIFJUUAoJICB0aW1lc3RhbXAgPC0+IEdTdHJlYW1lciB0aW1lc3RhbXAgcmVsYXRpb24gZm9yIGxpcC1zeW5jLgoJICBSZW1vdmUgc2VydmVyIHRpbWVzdGFtcCBnYXAgZGV0ZWN0aW9uIGNvZGUsIHRoZSBzZXJ2ZXIgY2FuIHNvbWV0aW1lcwoJICBtYWtlIGEgaHVnZSBnYXAgaW4gdGltZXN0YW1wcyAodGFsayBzcHVydHMsLi4uKSBzZWUgIzU0OTc3NC4KCSAgRGV0ZWN0IHRpbWV0YW1wIHdlaXJkbmVzcyBpbnN0ZWFkIGJ5IG9ic2VydmluZyB0aGUgc2VuZGVyL3JlY2VpdmVyCgkgIHRpbWVzdGFtcCByZWxhdGlvbiBhbmQgcmVzeW5jIGlmIGl0IGNoYW5nZXMgbW9yZSB0aGFuIDEgc2Vjb25kLgoJICBBZGQgbWV0aG9kIHRvIHJlcG9ydCBhYm91dCB0aGUgY3VycmVudCBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24KCSAgd2hpY2ggaXMgbmVlZGVkIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NlbmRlcl90aW1lb3V0KSwgKGNoZWNrX2NvbGxpc2lvbiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHNlc3Npb25fY2xlYW51cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgc2VuZGVyIHRpbWVvdXQgc2lnbmFsLgoJICBSZW1vdmUgaW5hY2N1cmF0ZSBydHAgPC0+IGdzdCB0aW1lc3RhbXAgcmVsYXRpb24gY29kZSwgdGhlCgkgIGppdHRlcmJ1ZmZlciBjYW4gbm93IGRvIGFuIGFjY3VyYXRlIHJlcG9ydGluZyBhYm91dCB0aGlzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGluYWNjdXJhdGUgcnRwIDwtPiBnc3QgdGltZXN0YW1wIHJlbGF0aW9uIGNvZGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuaDoKCSAgRGVmaW5lIGdsb2JhbCBtYXgtcmVvcmRlciBhbmQgbWF4LWRyb3BvdXQgY29uc3RhbnRzIGZvciB1c2UgaW4gdmFyaW91cwoJICBzdWJzeXN0ZW1zLgoKMjAwOC0wOS0wNSAxMTowNzozMiArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBEVkIgQWRhcHRlciBuYW1lIHRvIHN0cnVjdHVyZSBzZW50IG92ZXIgYnVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgRFZCIEFkYXB0ZXIgbmFtZSB0byBzdHJ1Y3R1cmUgc2VudCBvdmVyIGJ1cy4KCjIwMDgtMDktMDMgMTQ6MDI6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbXBlZyBkZW11eGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbXBlZyBkZW11eGVyCgoyMDA4LTA5LTAyIDE3OjQzOjQyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L21wZWdkZW11eC86IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6IChnc3RfZmx1cHNfZGVtdXhfcGFyc2VfcGFja19zdGFydCk6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVndHNkZW11eC5jOiAoZ3N0X2ZsdXRzX2RlbXV4X2RhdGFfY2IpOgoJICBGaXggYnVpbGQgb24gbWFjb3N4LgoKMjAwOC0wOS0wMiAxMjowNDozMiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBGbHVlbmRvIE1QRUcgUFMgYW5kIFRTIGRlbXV4ZXJzIHRvIGdzdC1wbHVnaW5zLWJhZC4gVGhpcyBpcyBub3cgZHVhbCBsaWNlbnNlZCBNUEwgYW5kIExHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcGF0aW5mby5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWdkZW11eC9mbHV0c3BtdGluZm8uaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2ZsdXRzcG10c3RyZWFtaW5mby5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVmcy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ2RlbXV4LmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVtdXguaDoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWdkZXNjLmM6CgkgICogZ3N0L21wZWdkZW11eC9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0bXBlZ3RzZGVtdXguYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdG1wZWd0c2RlbXV4Lmg6CgkgICogZ3N0L21wZWdkZW11eC9nc3RwZXNmaWx0ZXIuYzoKCSAgKiBnc3QvbXBlZ2RlbXV4L2dzdHBlc2ZpbHRlci5oOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5jOgoJICAqIGdzdC9tcGVnZGVtdXgvZ3N0c2VjdGlvbmZpbHRlci5oOgoJICBBZGQgRmx1ZW5kbyBNUEVHIFBTIGFuZCBUUyBkZW11eGVycyB0byBnc3QtcGx1Z2lucy1iYWQuIFRoaXMKCSAgaXMgbm93IGR1YWwgbGljZW5zZWQgTVBMIGFuZCBMR1BMLgoKMjAwOC0wOS0wMiAxMToyMzowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IFNldCBjYXBzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChuZXdfcGFja2V0X2NiKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCjIwMDgtMDktMDIgMDk6NTY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5jOiAocGx1Z2luX2luaXQpOgoJICBFbmFibGUvZml4IHVwIHRyYW5zbGF0aW9ucyBmb3IgdGhlc2UgcGx1Z2lucy4KCSAgKiBwby9MSU5HVUFTOgoJICBBZGQgJ2NhJyB0byBMSU5HVUFTLgoJICAqIHBvL1BPVEZJTEVTLmluOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBtb3JlIGZpbGVzIGZvciB0cmFuc2xhdGlvbiBhbmQgbW9yZSBmaWxlcyB3aGljaCB0b29scwoJICBzaG91bGQgc2tpcC4KCjIwMDgtMDktMDIgMDk6NDY6MDQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4LmM6IEZpeCBidWlsZCBvbiBtYWNvc3guCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X3dyaXRlX3RzX2hlYWRlcik6CgkgIEZpeCBidWlsZCBvbiBtYWNvc3guCgoyMDA4LTA5LTAxIDE3OjU0OjAwICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCBtaXNzaW5nIHN1YmRpcnMgaW4gTWFrZWZpbGUuYW0KCjIwMDgtMDktMDEgMTc6NDk6NTkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiBBbGxvY2F0ZSBhIGZpeGVkIHNpemUgYnVmZmVyIG9uIHRoZSBzdGFjayBpbnN0ZWFkIG9mIHVzaW5nIG1hbGxvYygpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuYzogKG1wZWd0c211eF9wcmVwYXJlX2FhYyk6CgkgIEFsbG9jYXRlIGEgZml4ZWQgc2l6ZSBidWZmZXIgb24gdGhlIHN0YWNrIGluc3RlYWQgb2YgdXNpbmcgbWFsbG9jKCkuCgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eC5jOiAodHNtdXhfbmV3KSwgKHRzbXV4X2ZyZWUpLAoJICAodHNtdXhfcHJvZ3JhbV9uZXcpLCAodHNtdXhfcHJvZ3JhbV9mcmVlKToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4c3RyZWFtLmM6ICh0c211eF9zdHJlYW1fbmV3KSwKCSAgKHRzbXV4X3N0cmVhbV9mcmVlKSwgKHRzbXV4X3N0cmVhbV9jb25zdW1lKSwKCSAgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSk6CgkgIFVzZSBHU2xpY2UuCgoyMDA4LTA5LTAxIDE3OjQ3OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5jOiAobXBlZ3RzbXV4X2NyZWF0ZV9zdHJlYW0pOgoJICBBZGQgc3VwcG9ydCBmb3IgbXV4aW5nIE1QRUc0IHZpZGVvLgoKMjAwOC0wOS0wMSAxNzo0MTozOSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9tcGVndHNtdXgvdHNtdXgvOiBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5oOgoJICBGaXggYnVpbGQgb2YgbXBlZ3RzbXV4LgoKMjAwOC0wOS0wMSAxNjozODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ3RzbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4LmM6IChtcGVndHNtdXhfYmFzZV9pbml0KSwKCSAgKG1wZWd0c211eF9jbGFzc19pbml0KSwgKG1wZWd0c211eF9pbml0KSwgKG1wZWd0c211eF9kaXNwb3NlKSwKCSAgKGdzdF9tcGVndHNtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVndHNtdXhfZ2V0X3Byb3BlcnR5KSwKCSAgKHJlbGVhc2VfYnVmZmVyX2NiKSwgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jcmVhdGVfc3RyZWFtcyksIChtcGVndHNtdXhfY2hvb3NlX2Jlc3Rfc3RyZWFtKSwKCSAgKG1wZWd0c211eF9jb2xsZWN0ZWQpLCAobXBlZ3RzbXV4X3JlcXVlc3RfbmV3X3BhZCksCgkgIChtcGVndHNtdXhfcmVsZWFzZV9wYWQpLCAobmV3X3BhY2tldF9jYiksCgkgIChtcGVndHNkZW11eF9wcmVwYXJlX3NyY3BhZCksIChtcGVndHNtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eC5oOgoJICAqIGdzdC9tcGVndHNtdXgvbXBlZ3RzbXV4X2FhYy5jOiAobXBlZ3RzbXV4X3ByZXBhcmVfYWFjKToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9hYWMuaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0LmM6IChtcGVndHNtdXhfcHJlcGFyZV9oMjY0KToKCSAgKiBnc3QvbXBlZ3RzbXV4L21wZWd0c211eF9oMjY0Lmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L2NyYy5oOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguYzogKHRzbXV4X25ldyksICh0c211eF9zZXRfd3JpdGVfZnVuYyksCgkgICh0c211eF9zZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9nZXRfcGF0X2ZyZXF1ZW5jeSksICh0c211eF9mcmVlKSwKCSAgKHRzbXV4X3Byb2dyYW1fbmV3KSwgKHRzbXV4X3NldF9wbXRfZnJlcXVlbmN5KSwKCSAgKHRzbXV4X2dldF9wbXRfZnJlcXVlbmN5KSwgKHRzbXV4X3Byb2dyYW1fYWRkX3N0cmVhbSksCgkgICh0c211eF9wcm9ncmFtX3NldF9wY3Jfc3RyZWFtKSwgKHRzbXV4X2dldF9uZXdfcGlkKSwKCSAgKHRzbXV4X2NyZWF0ZV9zdHJlYW0pLCAodHNtdXhfZmluZF9zdHJlYW0pLCAodHNtdXhfcGFja2V0X291dCksCgkgICh0c211eF93cml0ZV9hZGFwdGF0aW9uX2ZpZWxkKSwgKHRzbXV4X3dyaXRlX3RzX2hlYWRlciksCgkgICh0c211eF93cml0ZV9zdHJlYW1fcGFja2V0KSwgKHRzbXV4X3Byb2dyYW1fZnJlZSksCgkgICh0c211eF93cml0ZV9zZWN0aW9uKSwgKHRzbXV4X3dyaXRlX3NlY3Rpb25faGRyKSwKCSAgKHRzbXV4X3dyaXRlX3BhdCksICh0c211eF93cml0ZV9wbXQpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXguaDoKCSAgKiBnc3QvbXBlZ3RzbXV4L3RzbXV4L3RzbXV4Y29tbW9uLmg6CgkgICogZ3N0L21wZWd0c211eC90c211eC90c211eHN0cmVhbS5jOiAodHNtdXhfc3RyZWFtX25ldyksCgkgICh0c211eF9zdHJlYW1fZ2V0X3BpZCksICh0c211eF9zdHJlYW1fZnJlZSksCgkgICh0c211eF9zdHJlYW1fc2V0X2J1ZmZlcl9yZWxlYXNlX2Z1bmMpLCAodHNtdXhfc3RyZWFtX2NvbnN1bWUpLAoJICAodHNtdXhfc3RyZWFtX2F0X3Blc19zdGFydCksICh0c211eF9zdHJlYW1fYnl0ZXNfYXZhaWwpLAoJICAodHNtdXhfc3RyZWFtX2J5dGVzX2luX2J1ZmZlciksICh0c211eF9zdHJlYW1fZ2V0X2RhdGEpLAoJICAodHNtdXhfc3RyZWFtX3Blc19oZWFkZXJfbGVuZ3RoKSwKCSAgKHRzbXV4X3N0cmVhbV9maW5kX3B0c19kdHNfd2l0aGluKSwKCSAgKHRzbXV4X3N0cmVhbV93cml0ZV9wZXNfaGVhZGVyKSwgKHRzbXV4X3N0cmVhbV9hZGRfZGF0YSksCgkgICh0c211eF9zdHJlYW1fZ2V0X2VzX2Rlc2NycyksICh0c211eF9zdHJlYW1fcGNyX3JlZiksCgkgICh0c211eF9zdHJlYW1fcGNyX3VucmVmKSwgKHRzbXV4X3N0cmVhbV9pc19wY3IpLAoJICAodHNtdXhfc3RyZWFtX2dldF9wdHMpOgoJICAqIGdzdC9tcGVndHNtdXgvdHNtdXgvdHNtdXhzdHJlYW0uaDoKCSAgQWRkIEZsdWVuZG8gTVBFRy1UUyBtdXhlciBhbmQgbGlidHNtdXggdG8gZ3N0LXBsdWdpbnMtYmFkLiBUaGlzCgkgIGlzIHJlbmFtZWQgdG8gbXBlZ3RzbXV4IHRvIHByZXZlbnQgY29uZmxpY3RzLiBBbHNvIGFsbCByZWxldmFudAoJICBpbmZvcm1hdGlvbnMgYWJvdXQgY29weXJpZ2h0IGFuZCBsaWNlbnNlIGFyZSBhZGRlZCB0byB0aGUgdG9wIG9mCgkgIGV2ZXJ5IGZpbGUgYnV0IGFwYXJ0IGZyb20gdGhhdCBubyBjaGFuZ2VzIGNvbXBhcmVkIHRvIHRoZSBsYXRlc3QKCSAgU1ZOIHZlcnNpb25zIGhhcHBlbmVkLgoKPT09IHJlbGVhc2UgMC4xMC4yMSA9PT0KCjIwMDgtMDktMDEgMTY6MDU6NDUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IE5vdyB0aGF0IEdzdEJhc2VUcmFuc2Zvcm0gaXMgJ2ZpeGVkJyAuLi4gcmVtb3ZlIGNydWZ0IGZyb20gdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKHNldHVwX2F1ZGlvcmVzYW1wbGUpLAoJICAoZmFpbF91bmxlc3NfcGVyZmVjdF9zdHJlYW0pLCAodGVzdF9wZXJmZWN0X3N0cmVhbV9pbnN0YW5jZSksCgkgICh0ZXN0X2Rpc2NvbnRfc3RyZWFtX2luc3RhbmNlKToKCSAgTm93IHRoYXQgR3N0QmFzZVRyYW5zZm9ybSBpcyAnZml4ZWQnIC4uLiByZW1vdmUgY3J1ZnQgZnJvbSB0ZXN0cy4KCSAgQWRkIGRlYnVnZ2luZyBmb3IgY29oZXJlbmNlLgoKMjAwOC0wOS0wMSAxMzoyMzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IFJldXNlIHRoZSBnZXRfbGlua2VkX3BhZHMgZm9yIGJvdGggc291cmNlIGFuZCBzaW5rcGFkcyBiZWNhdXNlIHRoZXkgYXJlIHRoZSBzYW1lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2V2ZW50KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9xdWVyeSk6CgkgIFJldXNlIHRoZSBnZXRfbGlua2VkX3BhZHMgZm9yIGJvdGggc291cmNlIGFuZCBzaW5rcGFkcyBiZWNhdXNlIHRoZXkgYXJlCgkgIHRoZSBzYW1lLgoJICBJbXBsZW1lbnQgYSBjdXN0dW0gZXZlbnQgaGFuZGxlciBhbmQgZ2V0IHRoZSBpbnRlcm5hbGx5IGxpbmtlZCBwYWQKCSAgZGlyZWN0bHkgaW5zdGVhZCBvZiByZWx5aW5nIG9uIHRoZSBkZWZhdWx0IChzbG93ZXIpIGltcGxlbWVudGF0aW9uLgoKMjAwOC0wOC0zMSAxNTowMTozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOiBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZCBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogKGNlbHRfZGVjX2NoYWluX3BhcnNlX2RhdGEpOgoJICBDb3JyZWN0bHkgdGFrZSB0aGUgZ3JhbnVsZXBvcyBmcm9tIHVwc3RyZWFtIGlmIHBvc3NpYmxlIGFuZAoJICBjb3JyZWN0bHkgaGFuZGxlIHRoZSBncmFudWxlcG9zIGluIHZhcmlvdXMgY2FsY3VsYXRpb25zOiB0aGUKCSAgZ3JhbnVsZXBvcyBpcyB0aGUgc2FtcGxlIG51bWJlciBvZiB0aGUgX2xhc3RfIHNhbXBsZSBpbiBhIGZyYW1lLCBub3QKCSAgdGhlIGZpcnN0LgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzogKGdzdF9jZWx0X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X2NlbHRfZW5jX2VuY29kZSksIChnc3RfY2VsdF9lbmNfY2hhaW4pLAoJICAoZ3N0X2NlbHRfZW5jX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5oOgoJICBIYW5kbGUgbm9uLXplcm8gc3RhcnQgdGltZXN0YW1wcyBpbiB0aGUgZW5jb2RlciBhbmQgZGV0ZWN0L2hhbmRsZQoJICBzdHJlYW0gZGlzY29udGludWl0aWVzLiBGaXhlcyBidWcgIzU0NzA3NS4KCjIwMDgtMDgtMzEgMTI6MjA6MzMgKzAwMDAgIFJvdiBKdXZhbm8gPHJvdmp1dmFub0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dCBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSb3YgSnV2YW5vIDxyb3ZqdXZhbm8gYXQgdXNlcnMgZG90IHNvdXJjZWZvcmdlIGRvdCBuZXQ+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNjYWxldGVtcG8ueG1sOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLWd1aS5jOiAocG9wX3N0YXR1c19iYXIpLAoJICAoc3RhdHVzX2Jhcl9wcmludGYpLCAoZGVtb19ndWlfc2Vla19iYXJfZm9ybWF0KSwgKHVwZGF0ZV9wb3NpdGlvbiksCgkgIChkZW1vX2d1aV9zZWVrX2Jhcl9jaGFuZ2UpLCAoZGVtb19ndWlfZG9fY2hhbmdlX3JhdGUpLAoJICAoZGVtb19ndWlfZG9fc2V0X3JhdGUpLCAoZGVtb19ndWlfZG9fcmF0ZV9lbnRlcmVkKSwKCSAgKGRlbW9fZ3VpX2RvX3RvZ2dsZV9hZHZhbmNlZCksIChkZW1vX2d1aV9kb190b2dnbGVfZGlzYWJsZWQpLAoJICAoZGVtb19ndWlfZG9fc2VlayksIChkZW1vX2d1aV9kb19wbGF5KSwgKGRlbW9fZ3VpX2RvX3BhdXNlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlfcGF1c2UpLCAoZGVtb19ndWlfZG9fb3Blbl9maWxlKSwKCSAgKGRlbW9fZ3VpX2RvX3BsYXlsaXN0X3ByZXYpLCAoZGVtb19ndWlfZG9fcGxheWxpc3RfbmV4dCksCgkgIChkZW1vX2d1aV9kb19hYm91dF9kaWFsb2cpLCAoZGVtb19ndWlfZG9fcXVpdCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zdHJpZGUpLCAoZGVtb19ndWlfcmVxdWVzdF9zZXRfb3ZlcmxhcCksCgkgIChkZW1vX2d1aV9yZXF1ZXN0X3NldF9zZWFyY2gpLCAoZGVtb19ndWlfcmF0ZV9jaGFuZ2VkKSwKCSAgKGRlbW9fZ3VpX3BsYXlpbmdfc3RhcnRlZCksIChkZW1vX2d1aV9wbGF5aW5nX3BhdXNlZCksCgkgIChkZW1vX2d1aV9wbGF5aW5nX2VuZGVkKSwgKGRlbW9fZ3VpX3BsYXllcl9lcnJvcmVkKSwKCSAgKGRlbW9fZ3VpX3N0cmlkZV9jaGFuZ2VkKSwgKGRlbW9fZ3VpX292ZXJsYXBfY2hhbmdlZCksCgkgIChkZW1vX2d1aV9zZWFyY2hfY2hhbmdlZCksIChkZW1vX2d1aV9zZXRfcGxheWVyX2Z1bmMpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0X2Z1bmMpLCAoYnVpbGRfZ3ZhbHVlX2FycmF5KSwKCSAgKGNyZWF0ZV9hY3Rpb24pLCAoZGVtb19ndWlfc2hvd19mdW5jKSwgKGRlbW9fZ3VpX3NldF9wbGF5ZXIpLAoJICAoZGVtb19ndWlfc2V0X3BsYXlsaXN0KSwgKGRlbW9fZ3VpX3Nob3cpLCAoZGVtb19ndWlfZ2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fZ3VpX3NldF9wcm9wZXJ0eSksIChkZW1vX2d1aV9pbml0KSwgKGRlbW9fZ3VpX2NsYXNzX2luaXQpLAoJICAoZGVtb19ndWlfZ2V0X3R5cGUpOgoJICAqIGV4YW1wbGVzL3NjYWxldGVtcG8vZGVtby1ndWkuaDoKCSAgKiBleGFtcGxlcy9zY2FsZXRlbXBvL2RlbW8tbWFpbi5jOiAoaGFuZGxlX2Vycm9yX21lc3NhZ2UpLAoJICAoaGFuZGxlX3F1aXQpLCAobWFpbik6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5jOiAobm9fcGlwZWxpbmUpLAoJICAoZGVtb19wbGF5ZXJfZXZlbnRfbGlzdGVuZXIpLCAoZGVtb19wbGF5ZXJfc3RhdGVfY2hhbmdlZF9jYiksCgkgIChkZW1vX3BsYXllcl9lb3NfY2IpLCAoZGVtb19wbGF5ZXJfYnVpbGRfcGlwZWxpbmUpLCAoX3NldF9yYXRlKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGVfZnVuYyksIChkZW1vX3BsYXllcl9zZXRfcmF0ZV9mdW5jKSwKCSAgKF9zZXRfc3RhdGVfYW5kX3dhaXQpLCAoZGVtb19wbGF5ZXJfbG9hZF91cmlfZnVuYyksCgkgIChkZW1vX3BsYXllcl9wbGF5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfcGF1c2VfZnVuYyksIChfc2Vla190byksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5X2Z1bmMpLCAoZGVtb19wbGF5ZXJfc2Vla190b19mdW5jKSwKCSAgKGRlbW9fcGxheWVyX2dldF9wb3NpdGlvbl9mdW5jKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbl9mdW5jKSwKCSAgKGRlbW9fcGxheWVyX3NjYWxlX3JhdGUpLCAoZGVtb19wbGF5ZXJfc2V0X3JhdGUpLAoJICAoZGVtb19wbGF5ZXJfbG9hZF91cmkpLCAoZGVtb19wbGF5ZXJfcGxheSksIChkZW1vX3BsYXllcl9wYXVzZSksCgkgIChkZW1vX3BsYXllcl9zZWVrX2J5KSwgKGRlbW9fcGxheWVyX3NlZWtfdG8pLAoJICAoZGVtb19wbGF5ZXJfZ2V0X3Bvc2l0aW9uKSwgKGRlbW9fcGxheWVyX2dldF9kdXJhdGlvbiksCgkgIChkZW1vX3BsYXllcl9nZXRfcHJvcGVydHkpLCAoZGVtb19wbGF5ZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGRlbW9fcGxheWVyX2luaXQpLCAoZGVtb19wbGF5ZXJfY2xhc3NfaW5pdCksCgkgIChkZW1vX3BsYXllcl9nZXRfdHlwZSk6CgkgICogZXhhbXBsZXMvc2NhbGV0ZW1wby9kZW1vLXBsYXllci5oOgoJICAqIGdzdC9zY2FsZXRlbXBvL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zY2FsZXRlbXBvL2dzdHNjYWxldGVtcG8uYzogKGJlc3Rfb3ZlcmxhcF9vZmZzZXRfZmxvYXQpLAoJICAoYmVzdF9vdmVybGFwX29mZnNldF9zMTYpLCAob3V0cHV0X292ZXJsYXBfZmxvYXQpLAoJICAob3V0cHV0X292ZXJsYXBfczE2KSwgKGZpbGxfcXVldWUpLCAocmVpbml0X2J1ZmZlcnMpLAoJICAoZ3N0X3NjYWxldGVtcG9fdHJhbnNmb3JtKSwgKGdzdF9zY2FsZXRlbXBvX3RyYW5zZm9ybV9zaXplKSwKCSAgKGdzdF9zY2FsZXRlbXBvX3NpbmtfZXZlbnQpLCAoZ3N0X3NjYWxldGVtcG9fc2V0X2NhcHMpLAoJICAoZ3N0X3NjYWxldGVtcG9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9zY2FsZXRlbXBvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2NhbGV0ZW1wb19iYXNlX2luaXQpLCAoZ3N0X3NjYWxldGVtcG9fY2xhc3NfaW5pdCksCgkgIChnc3Rfc2NhbGV0ZW1wb19pbml0KToKCSAgKiBnc3Qvc2NhbGV0ZW1wby9nc3RzY2FsZXRlbXBvLmg6CgkgICogZ3N0L3NjYWxldGVtcG8vZ3N0c2NhbGV0ZW1wb3BsdWdpbi5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgc2NhbGV0ZW1wbyBwbHVnaW4sIHdoaWNoIGFsbG93cyB0byBzY2FsZSB0aGUgc3BlZWQgb2YgYXVkaW8gd2l0aG91dAoJICBjaGFuZ2luZyB0aGUgcGl0Y2ggYnkgaGFuZGxpbmcgc2Vla3Mgd2l0aCBhIHJhdGUhPTEuMC4KCSAgSW50ZWdyYXRlIGl0IGludG8gdGhlIGRvY3MgYW5kIGFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbiBmb3IgaXQuCgkgIEZpeGVzIGJ1ZyAjNTM3NzAwLgoKMjAwOC0wOC0zMCAyMDoyMjowMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBzb21lIG1lbWxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBzb21lIG1lbWxlYWtzLgoKMjAwOC0wOC0zMCAwNjozMDo0MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBFT1MgaGFuZGxpbmcuICBDbGVhbiB1cCBhdCBvYmplY3QgZGlzcG9zYWwuICBIYW5kbGUgNDoyOjIgYW5kIDQ6NDo0IHZpZGVvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEZpeCBFT1MgaGFuZGxpbmcuICBDbGVhbiB1cCBhdAoJICBvYmplY3QgZGlzcG9zYWwuICBIYW5kbGUgNDoyOjIgYW5kIDQ6NDo0IHZpZGVvLgoKMjAwOC0wOC0yOSAxNDowNToyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRiaW4uYzogRml4IGNvbXBpbGVyIHdhcm5pbmcgb24gRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBvbiBGb3J0ZS4KCjIwMDgtMDgtMjkgMTM6NTc6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBDb21taXQgRklPTlJFQUQJY2hlY2ssIG5lZWRlZCBmb3IgdGhlIGRjY3Agc3JjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbW1pdCBGSU9OUkVBRAljaGVjaywgbmVlZGVkIGZvciB0aGUgZGNjcCBzcmMuCgoyMDA4LTA4LTI5IDEyOjE2OjI3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHRvIGluY2x1ZGUgbGF0ZXN0IHBsdWdpbnMsIGFkZCBhcGV4c3JjIGRpcmV0b3J5IHRvIGRpc3RlZCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSB0byBpbmNsdWRlIGxhdGVzdCBwbHVnaW5zLCBhZGQgYXBleHNyYyBkaXJldG9yeSB0byBkaXN0ZWQgZmlsZXMKCjIwMDgtMDgtMjkgMTE6MzY6NDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhYy9nc3RmYWFjLio6IEFkZCBjb2RlIGZvciBjYWxjdWxhdGluZyBwcm9wZXIgdGltZXN0YW1wL2R1cmF0aW9uIGZvciB0aGUgdHJhaWxpbmcgZW5jb2RlZCBidWZmZXJzIHRoYXQgZmFhYyB3aWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfaW5pdCksIChnc3RfZmFhY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9mYWFjX2NoYWluKSwgKGdzdF9mYWFjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5oOgoJICBBZGQgY29kZSBmb3IgY2FsY3VsYXRpbmcgcHJvcGVyIHRpbWVzdGFtcC9kdXJhdGlvbiBmb3IgdGhlIHRyYWlsaW5nCgkgIGVuY29kZWQgYnVmZmVycyB0aGF0IGZhYWMgd2lsbCBvdXRwdXQgd2hlbiByZWNlaXZpbmcgRU9TLgoKMjAwOC0wOC0yOSAwODo1NzoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBGaXggQ0ZMQUdTIGFuZCBMSUJTIGZvciB0aGUgYXBleHNpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IENGTEFHUyBhbmQgTElCUyBmb3IgdGhlIGFwZXhzaW5rLgoKMjAwOC0wOC0yOCAyMjowMjoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIHN5cy93aW5rcy9rc3ZpZGVvaGVscGVycy5jIChrc192aWRlb19tZWRpYV90eXBlX2ZyZWUpOiBBdm9pZCBsZWFraW5nIHRoZSBLU0RBVEFSQU5HRSBtZW1iZXIgb2YgZWFjaCBLc1ZpZGVvTWVkaWFUeXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYyAoa3NfdmlkZW9fbWVkaWFfdHlwZV9mcmVlKToKCSAgQXZvaWQgbGVha2luZyB0aGUgS1NEQVRBUkFOR0UgbWVtYmVyIG9mIGVhY2ggS3NWaWRlb01lZGlhVHlwZS4KCjIwMDgtMDgtMjggMTc6MTY6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2RjY3AvOiBGaXggY29tcGlsYXRpb24gb24gU29sYXJpcyBieSBpbmNsdWRpbmcgZmlsaW8uaCBhcyBuZWVkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c3JjLmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBTb2xhcmlzIGJ5IGluY2x1ZGluZyBmaWxpby5oIGFzIG5lZWRlZC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBGb3J0ZSAtIGFwcGFyZW50bHkgaXQgaGF0ZXMgY29uY2F0ZW5hdGluZyBhCgkgIG1hY3JvIGFyZ3VtZW50IHRoYXQgc3RhcnRzIHdpdGggYW4gdW5kZXJzY29yZT8/CgoyMDA4LTA4LTI4IDE3OjAxOjMwICswMDAwICBKw6lyw6ltaWUgQmVybmFyZCA8Z3JlbWltYWlsQGdtYWlsLmNvbT4KCgkgIEFkZCBhcGV4c2luayBmb3IgYXVkaW8gb3V0cHV0IHRvIEFwcGxlIEFpclBvcnQgRXhwcmVzcyBXaXJlbGVzcyBkZXZpY2VzLiBGaXhlcyBidWcgIzU0MjUxMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKw6lyw6ltaWUgQmVybmFyZCA8Z3JlbWltYWlsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hcGV4c2luay9MR1BMLTMuMC50eHQ6CgkgICogZXh0L2FwZXhzaW5rL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hcGV4c2luay9nc3RhcGV4cGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmM6IChnX3N0cmRlbCksIChnc3RfYXBleHJhb3Bfc2VuZCksCgkgIChnc3RfYXBleHJhb3BfcmVjdiksIChnc3RfYXBleHJhb3BfbmV3KSwgKGdzdF9hcGV4cmFvcF9mcmVlKSwKCSAgKGdzdF9hcGV4cmFvcF9zZXRfaG9zdCksIChnc3RfYXBleHJhb3BfZ2V0X2hvc3QpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF9wb3J0KSwgKGdzdF9hcGV4cmFvcF9nZXRfcG9ydCksCgkgIChnc3RfYXBleHJhb3Bfc2V0X3VzZXJhZ2VudCksIChnc3RfYXBleHJhb3BfZ2V0X3VzZXJhZ2VudCksCgkgIChnc3RfYXBleHJhb3BfY29ubmVjdCksIChnc3RfYXBleHJhb3BfZ2V0X2phY2t0eXBlKSwKCSAgKGdzdF9hcGV4cmFvcF9nZXRfamFja3N0YXR1cyksIChnc3RfYXBleHJhb3BfY2xvc2UpLAoJICAoZ3N0X2FwZXhyYW9wX3NldF92b2x1bWUpLCAoZ3N0X2FwZXhyYW9wX3dyaXRlX2JpdHMpLAoJICAoZ3N0X2FwZXhyYW9wX3dyaXRlKSwgKGdzdF9hcGV4cmFvcF9mbHVzaCk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhyYW9wLmg6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmM6IChnc3RfYXBleHNpbmtfamFja3N0YXR1c19nZXRfdHlwZSksCgkgIChnc3RfYXBleHNpbmtfamFja3R5cGVfZ2V0X3R5cGUpLCAoZ3N0X2FwZXhzaW5rX2ludGVyZmFjZXNfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfaW1wbGVtZW50c19pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfYXBleHNpbmtfbWl4ZXJfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2ludGVyZmFjZV9zdXBwb3J0ZWQpLAoJICAoZ3N0X2FwZXhzaW5rX21peGVyX2xpc3RfdHJhY2tzKSwgKGdzdF9hcGV4c2lua19taXhlcl9zZXRfdm9sdW1lKSwKCSAgKGdzdF9hcGV4c2lua19taXhlcl9nZXRfdm9sdW1lKSwgKGdzdF9hcGV4c2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwZXhzaW5rX2luaXQpLAoJICAoZ3N0X2FwZXhzaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfYXBleHNpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hcGV4c2lua19maW5hbGlzZSksIChnc3RfYXBleHNpbmtfb3BlbiksCgkgIChnc3RfYXBleHNpbmtfcHJlcGFyZSksIChnc3RfYXBleHNpbmtfd3JpdGUpLAoJICAoZ3N0X2FwZXhzaW5rX3VucHJlcGFyZSksIChnc3RfYXBleHNpbmtfZGVsYXkpLAoJICAoZ3N0X2FwZXhzaW5rX3Jlc2V0KSwgKGdzdF9hcGV4c2lua19jbG9zZSk6CgkgICogZXh0L2FwZXhzaW5rL2dzdGFwZXhzaW5rLmg6CgkgIEFkZCBhcGV4c2luayBmb3IgYXVkaW8gb3V0cHV0IHRvIEFwcGxlIEFpclBvcnQgRXhwcmVzcyBXaXJlbGVzcwoJICBkZXZpY2VzLiBGaXhlcyBidWcgIzU0MjUxMC4KCjIwMDgtMDgtMjggMTU6MjE6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgIFNlbmQgRU9TIHdoZW4gdGhlIHNlc3Npb24gb2JqZWN0IGluc3RydWN0cyB1cyB0by4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIE1ha2UgaXQgcG9zc2libGUgZm9yIHRoZSBzZXNzaW9uIG1hbmFnZXIgdG8gaW5zdHJ1Y3QgdXMgdG8gc2VuZCBFT1MuIFdlCgkgIGN1cnJlbnRseSB3aWxsIEVPUyB3aGVuIHRoZSBzZXNzaW9uIGlzIGEgc2VuZGVyIGFuZCB3aGVuIHRoZSBzZW5kZXIgcGFydAoJICBnb2VzIEVPUy4gVGhpcyBpcyBub3QgZW50aXJlbHkgY29ycmVjdCBiZWhhdmlvdXIgYmVjYXVzZSB0aGUgc2Vzc2lvbgoJICBjb3VsZCBzdGlsbCBwYXJ0aWNpcGF0ZSBhcyBhIHJlY2VpdmVyLgoJICBGaXhlcyAjNTQ5NDA5LgoKMjAwOC0wOC0yOCAwMTowMzoyNCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzogUmVhZCBzaXplIG9mIGNodW5rcyBwcmVjZWVkaW5nIHRoZSBhdWRpbyBkYXRhIHdpdGggdGhlIGNvcnJlY3QgZW5kaWFubmVzcy4gRml4ZXMgcGxheWJhY2sgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9haWZmcGFyc2UvYWlmZnBhcnNlLmM6CgkgIFJlYWQgc2l6ZSBvZiBjaHVua3MgcHJlY2VlZGluZyB0aGUgYXVkaW8gZGF0YSB3aXRoIHRoZQoJICBjb3JyZWN0IGVuZGlhbm5lc3MuIEZpeGVzIHBsYXliYWNrIG9mIHNvbWUgZmlsZXMuCgkgIEZpeGVzICM1Mzg1MDAKCjIwMDgtMDgtMjggMDA6MjU6MjggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhbiBBSUZGIHBhcnNpbmcgZWxlbWVudCwgaGVhdmlseSBiYXNlZCBvbiB3YXZwYXJzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9haWZmcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FpZmZwYXJzZS9haWZmcGFyc2UuYzoKCSAgKiBnc3QvYWlmZnBhcnNlL2FpZmZwYXJzZS5oOgoJICBBZGQgYW4gQUlGRiBwYXJzaW5nIGVsZW1lbnQsIGhlYXZpbHkgYmFzZWQgb24gd2F2cGFyc2UuCgoyMDA4LTA4LTI3IDIxOjMzOjA3ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jOgoJKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICBzeXMvd2lua3MvZ3N0a3N2aWRlb2RldmljZS5jIChnc3Rfa3NfdmlkZW9fZGV2aWNlX2NsYXNzX2luaXQsIGdzdF9rc192aWRlb19kZXZpY2Vfc2V0X3N0YXRlKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuYyAoZ3N0X2tzX3ZpZGVvX2RldmljZV9jbGFzc19pbml0LAoJICBnc3Rfa3NfdmlkZW9fZGV2aWNlX3NldF9zdGF0ZSk6CgkgIERvbid0IHNldCB0aGUgcGluIHN0YXRlIHRvIEtTU1RBVEVfUlVOIGZyb20gdGhlIHN0cmVhbWluZyB0aHJlYWQuCgkgIFNraXAgS1NTVEFURV9BQ1FVSVJFIHdoZW4gY2hhbmdpbmcgcGluIHN0YXRlIGRvd253YXJkcy4KCSAgQmUgbmljZSBhbmQgc3BlY2lmeSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBSZW1vdmUgdW51c2VkIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jIChERUZBVUxUX0VOQUJMRV9RVUlSS1MsIFBST1BfRU5BQkxFX1FVSVJLUywKCSAgZW5hYmxlX3F1aXJrcywgZ3N0X2tzX3ZpZGVvX3NyY19jbGFzc19pbml0LCBnc3Rfa3NfdmlkZW9fc3JjX2luaXQsCgkgIGdzdF9rc192aWRlb19zcmNfZmluYWxpemUsIGdzdF9rc192aWRlb19zcmNfZ2V0X3Byb3BlcnR5LAoJICBnc3Rfa3NfdmlkZW9fc3JjX3NldF9wcm9wZXJ0eSwgZ3N0X2tzX3ZpZGVvX3NyY19yZXNldCwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19hcHBseV9kcml2ZXJfcXVpcmtzLCBnc3Rfa3NfdmlkZW9fc3JjX2NoYW5nZV9zdGF0ZSwKCSAgZ3N0X2tzX3ZpZGVvX3NyY19zZXRfY2Fwcyk6CgkgIEZpcnN0IGRyaXZlciBxdWlyazogd29yayBhcm91bmQgTG9naXRlY2gncyBob3N0aWxlIGRyaXZlciBzb2Z0d2FyZSB0bwoJICBpbXByb3ZlIHN0YWJpbGl0eSBhbmQgcGVyZm9ybWFuY2UuIFNlZSBjb21tZW50cyBmb3IgZGV0YWlscy4KCSAgUHJvdmlkZSBhIHByb3BlcnR5IHRvIGRpc2FibGUgZHJpdmVyIHF1aXJrcyAoZW5hYmxlZCBieSBkZWZhdWx0KS4KCSAgQmUgbmljZSBhbmQgc3BlY2lmeSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTLgoJICBSZW1vdmUgdW51c2VkIGRpc3Bvc2UgbWV0aG9kLgoJICBUd2VhayBpbmNsdWRlIG9yZGVyLgoKMjAwOC0wOC0yNyAxNTo0NToxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IEltcGxlbWVudCB0aGUgTEFURU5DWSBxdWVyeSBpbiBhIGJldHRlciB3YXkgYnkgdGFraW5nIHRoZSBsYXRlbmN5IG9mIGFsbCBzaW5rcGFkcyBhbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X2lucHV0X3NlbGVjdG9yX2luaXQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3F1ZXJ5KToKCSAgSW1wbGVtZW50IHRoZSBMQVRFTkNZIHF1ZXJ5IGluIGEgYmV0dGVyIHdheSBieSB0YWtpbmcgdGhlIGxhdGVuY3kgb2YgYWxsCgkgIHNpbmtwYWRzIGFuZCB0YWtpbmcgdGhlIG1pbi9tYXggaW5zdGVhZCBvZiBqdXN0IHRha2luZyBhIHJhbmRvbSBwYWQuCgoyMDA4LTA4LTI2IDEyOjMzOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLzogVW5yb2xsIHRoZSBsb29wIHRvIGhhbmRsZSB0d28gYnl0ZXMgYXQgb25jZS4gVGhpcyBzaG91bGQgZ2l2ZSBhIHNtYWxsIHNwZWVkdXAgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BUb3AuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU3RyYW5nZUJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgIFVucm9sbCB0aGUgbG9vcCB0byBoYW5kbGUgdHdvIGJ5dGVzIGF0IG9uY2UuIFRoaXMgc2hvdWxkIGdpdmUKCSAgYSBzbWFsbCBzcGVlZHVwIGFuZCBtYWtlcyBpdCBwb3NzaWJsZSB0byBoYW5kbGUgY2hyb21hIGFuZCBsdW1hCgkgIGRpZmZlcmVudCB3aGljaCBpcyBuZWVkZWQgbGF0ZXIuCgoyMDA4LTA4LTI2IDExOjE4OjM4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuKjogRG9uJ3QgcHV0IGdsb2JhbHMgb25seSB1c2VkIGJ5IG9uZSAnLmMnIGZpbGUgaW4gYSBoZWFkZXIgIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzaW5rLmg6CgkgIERvbid0IHB1dCBnbG9iYWxzIG9ubHkgdXNlZCBieSBvbmUgJy5jJyBmaWxlIGluIGEgaGVhZGVyICEKCSAgRGVjbGFyZSBpdCBhcyBzdGF0aWMsIGZpeGVzIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDgtMjYgMTE6MTM6MjQgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZGNjcC9nc3RkY2NwLmM6IFdob29wcywgdGhhdCB3YXMgb25lIGZpeCB0b28gbXVjaCA6KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9zZW5kX2J1ZmZlcik6CgkgIFdob29wcywgdGhhdCB3YXMgb25lIGZpeCB0b28gbXVjaCA6KQoKMjAwOC0wOC0yNiAxMTowODozNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kY2NwL2dzdGRjY3AuYzogc2l6ZV90J3Mgc2l6ZSB2YXJpZXMgYnkgcGxhdGZvcm0vYXJjaGl0ZWN0dXJlLiBVc2UgZ2xpYiBjb252ZW5pZW5jZSBtYWNybyBpbnN0ZWFkLiBGaXhlcyBidWlsZCBvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwLmM6IChnc3RfZGNjcF9yZWFkX2J1ZmZlciksCgkgIChnc3RfZGNjcF9zZW5kX2J1ZmZlciksIChnc3RfZGNjcF9zZXRfc29ja193aW5kb3dzaXplKToKCSAgc2l6ZV90J3Mgc2l6ZSB2YXJpZXMgYnkgcGxhdGZvcm0vYXJjaGl0ZWN0dXJlLiBVc2UgZ2xpYiBjb252ZW5pZW5jZQoJICBtYWNybyBpbnN0ZWFkLiBGaXhlcyBidWlsZCBvbiBtYWNvc3guCgkgIFJlbW92ZSBlbmRpbmcgJ1xuJyBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wOC0yNiAxMTowMTo0MyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6IFJlbW92ZSB1bnVzZWQgY29kZSBhbmQgZml4IGluY2x1ZGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcGNhcHBhcnNlL2dzdHBjYXBwYXJzZS5jOiAoZ3N0X3BjYXBfcGFyc2VfY2xhc3NfaW5pdCk6CgkgIFJlbW92ZSB1bnVzZWQgY29kZSBhbmQgZml4IGluY2x1ZGVzLgoKMjAwOC0wOC0yNSAxNDozNzo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIEZpcnN0IHBhcnQgb2YgdGhlIEMgaW1wbGVtZW50YXRpb24gb2YgdGhlIHRvbXNtb2NvbXAgZGVpbnRlcmxhY2luZwoJICBhbGdvcml0aG0uIFRoaXMgb25seSBzdXBwb3J0cyBzZWFyY2gtZWZmb3J0PTAgY3VycmVudGx5LCBpcyBwYWluZnVsbHkKCSAgc2xvdyBhbmQgbmVlZHMgc29tZSBjbGVhbnVwIGxhdGVyIHdoZW4gYWxsIHNlYXJjaC1lZmZvcnQgc2V0dGluZ3MKCSAgYXJlIGltcGxlbWVudGVkIGluIEMuCgoyMDA4LTA4LTI0IDIyOjA1OjQ4ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgTmV3IHBsdWdpbiBmb3IgbG93LWxhdGVuY3kgdmlkZW8gY2FwdHVyZSBvbiBXaW5kb3dzICgjNTE5OTM1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2lua3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmtzL2dzdGtzY2xvY2suYzoKCSAgKiBzeXMvd2lua3MvZ3N0a3NjbG9jay5oOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvZGV2aWNlLmM6CgkgICogc3lzL3dpbmtzL2dzdGtzdmlkZW9kZXZpY2UuaDoKCSAgKiBzeXMvd2lua3MvZ3N0a3N2aWRlb3NyYy5jOgoJICAqIHN5cy93aW5rcy9nc3Rrc3ZpZGVvc3JjLmg6CgkgICogc3lzL3dpbmtzL2tzaGVscGVycy5jOgoJICAqIHN5cy93aW5rcy9rc2hlbHBlcnMuaDoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuYzoKCSAgKiBzeXMvd2lua3Mva3N2aWRlb2hlbHBlcnMuaDoKCSAgTmV3IHBsdWdpbiBmb3IgbG93LWxhdGVuY3kgdmlkZW8gY2FwdHVyZSBvbiBXaW5kb3dzICgjNTE5OTM1KS4KCSAgVXNlcyBLZXJuZWwgU3RyZWFtaW5nLCB0aGUgbG93ZXN0IGxldmVsIEFQSSBmb3IgZG9pbmcgdmlkZW8gY2FwdHVyZQoJICBvbiBXaW5kb3dzIChtb3JlIG9yIGxlc3MganVzdCByYXcgaW9jdGxzKS4KCjIwMDgtMDgtMjQgMTY6NTU6NDggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBBZGRlZCBkb2N1bWVudGF0aW9uIGJsb2JzLiBUaGFua3MgdG8gU3RlZmFuIGZvciBub3RpY2luZyEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGR4OXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmM6CgkgIEFkZGVkIGRvY3VtZW50YXRpb24gYmxvYnMuIFRoYW5rcyB0byBTdGVmYW4gZm9yIG5vdGljaW5nIQoKMjAwOC0wOC0yNCAxMzo1MzoyOSArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIE5ldyBwbHVnaW46IHBjYXBwYXJzZSAoIzUyMDg5OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcGNhcHBhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9wY2FwcGFyc2UvZ3N0cGNhcHBhcnNlLmM6CgkgICogZ3N0L3BjYXBwYXJzZS9nc3RwY2FwcGFyc2UuaDoKCSAgTmV3IHBsdWdpbjogcGNhcHBhcnNlICgjNTIwODk5KS4KCjIwMDgtMDgtMjQgMTM6MjM6NDQgKzAwMDAgIEhhYWtvbiBTcG9yc2hlaW0gPGhha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgoJICBOZXcgcGx1Z2luOiB3aW5zY3JlZW5jYXAgKCM0NjM5NDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEhhYWtvbiBTcG9yc2hlaW0gPGhha29uLnNwb3JzaGVpbUB0YW5kYmVyZy5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvd2luc2NyZWVuY2FwL01ha2VmaWxlLmFtOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0ZHg5c2NyZWVuY2Fwc3JjLmM6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3RkeDlzY3JlZW5jYXBzcmMuaDoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdGdkaXNjcmVlbmNhcHNyYy5jOgoJICAqIHN5cy93aW5zY3JlZW5jYXAvZ3N0Z2Rpc2NyZWVuY2Fwc3JjLmg6CgkgICogc3lzL3dpbnNjcmVlbmNhcC9nc3R3aW5zY3JlZW5jYXAuYzoKCSAgKiBzeXMvd2luc2NyZWVuY2FwL2dzdHdpbnNjcmVlbmNhcC5oOgoJICBOZXcgcGx1Z2luOiB3aW5zY3JlZW5jYXAgKCM0NjM5NDEpLgoKMjAwOC0wOC0yMyAwMDowMTozOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6IEZsaXAgbXBlZzEvbXBlZzIgYXJyYXlzIGZvciBtcGVnIGF1ZGlvLiBEZXRlY3Qgd2hpY2ggdHlwZSB0aGUgYXVkaW8gaXMgY29ycmVjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICBGbGlwIG1wZWcxL21wZWcyIGFycmF5cyBmb3IgbXBlZyBhdWRpby4gRGV0ZWN0IHdoaWNoIHR5cGUgdGhlIGF1ZGlvCgkgIGlzIGNvcnJlY3RseSwgaW5zdGVhZCBvZiBiYWNrd2FyZHMuIE5vIGZ1bmN0aW9uYWwgY2hhbmdlcywgc2luY2UgdGhpcwoJICBtaXN0YWtlIHdhcyBjb21wbGV0ZWx5IHNlbGYtY29uc2lzdGVudC4KCjIwMDgtMDgtMjIgMDY6Mjc6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6IEFkZCwgYnV0IGNvbW1lbnRlZCBvdXQgeG1sL2VsZW1lbnQtZGMxMzk0LnhtbC4gSXRzIGRvY3VtZW50ZWQsIGJ1dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICBBZGQsIGJ1dCBjb21tZW50ZWQgb3V0IHhtbC9lbGVtZW50LWRjMTM5NC54bWwuIEl0cyBkb2N1bWVudGVkLCBidXQKCSAgSSBjYW4ndCBnZXQgaXQgdG8gYmUgYnVpbGQuCgkgICogZXh0L2NlbHQvZ3N0Y2VsdGRlYy5jOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRlbmMuYzoKCSAgRml4IGRvYyB3YXJuaW5ncyBhbmQgcmVmb3JtYXQgdGhlIGRvYyBibG9jay4KCjIwMDgtMDgtMjEgMTM6MjI6MzggKzAwMDAgIExlYW5kcm8gTWVsbyBkZSBTYWxlcyA8bGVhbmRyb2FsQGdtYWlsLmNvbT4KCgkgIEFkZCBkY2NwIHBsdWdpbi4gRml4ZXMgIzU0MjM5MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBMZWFuZHJvIE1lbG8gZGUgU2FsZXMgPGxlYW5kcm9hbEBnbWFpbC5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGNjcC54bWw6CgkgICogZ3N0L2RjY3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcC5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3AuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwY2xpZW50c2luay5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcGNsaWVudHNyYy5jOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BjbGllbnRzcmMuaDoKCSAgKiBnc3QvZGNjcC9nc3RkY2NwcGx1Z2luLmM6CgkgICogZ3N0L2RjY3AvZ3N0ZGNjcHNlcnZlcnNpbmsuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc2luay5oOgoJICAqIGdzdC9kY2NwL2dzdGRjY3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvZGNjcC9nc3RkY2Nwc2VydmVyc3JjLmg6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9SRUFETUU6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9jYWxsL1JFQURNRToKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL2NhbGwvRENDUENsaWVudC5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvY2FsbC9EQ0NQU2VydmVyLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9maWxlL0RDQ1BDbGllbnRTYXZlRmlsZS5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvZmlsZS9EQ0NQU2VydmVyU2VuZEZpbGUuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21pYy9EQ0NQQ2xpZW50UGxheU1pYy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbWljL0RDQ1BTZXJ2ZXJNaWMuYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wMy9EQ0NQQ2xpZW50UGxheU1QMy5jOgoJICAqIHRlc3RzL2ljbGVzL2RjY3AvbXAzL0RDQ1BTZXJ2ZXJTZW5kTVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQQ2xpZW50UGxheVNwZWV4TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTcGVleC9EQ0NQU2VydmVyU2VuZFNwZWV4TVAzLmM6CgkgICogdGVzdHMvaWNsZXMvZGNjcC9tcDNTdHJlYW0vRENDUENsaWVudFBsYXlNUDNTdHJlYW0uYzoKCSAgKiB0ZXN0cy9pY2xlcy9kY2NwL21wM1N0cmVhbS9EQ0NQU2VydmVyU2VuZE1QM1N0cmVhbS5jOgoJICBBZGQgZGNjcCBwbHVnaW4uIEZpeGVzICM1NDIzOTAuCgoyMDA4LTA4LTIwIDIyOjI0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgYml0cyB0aGF0IHByZXN1bWFibHkgd2VyZW4ndCBzdXBwb3NlZCB0byBiZSBjb21taXR0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIGJpdHMgdGhhdCBwcmVzdW1hYmx5IHdlcmVuJ3Qgc3VwcG9zZWQgdG8gYmUgY29tbWl0dGVkLgoKMjAwOC0wOC0yMCAyMTo0NDoyMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgQWRkIG5ldyB3aW5kb3dzIEFDTSBlbmNvZGVyIHdyYXBwZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2FjbWVuYy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvYWNtZW5jL2FjbWVuYy5jOgoJICBBZGQgbmV3IHdpbmRvd3MgQUNNIGVuY29kZXIgd3JhcHBlci4KCjIwMDgtMDgtMTggMTE6MTM6MDcgKzAwMDAgIE1pY2hhZWwgS3J1Zmt5IDxta3J1Zmt5QGxpbnV4dHYub3JnPgoKCSAgc3lzL2R2Yi86IEFkZCBBVFNDIHR1bm5pbmcgYW5kIGNoYW5uZWxzLmNvbmYgcGFyc2luZyBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IE1pY2hhZWwgS3J1Zmt5CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgQWRkIEFUU0MgdHVubmluZyBhbmQgY2hhbm5lbHMuY29uZiBwYXJzaW5nIHN1cHBvcnQuCgkgIEZpeGVzICM1Mzc0NTUKCjIwMDgtMDgtMTMgMjE6NTg6MDggKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy86IEluaXRpYWxpc2UgQ09NIHdpdGggZGVmYXVsdCBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmg6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvZGVjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgSW5pdGlhbGlzZSBDT00gd2l0aCBkZWZhdWx0IGZsYWdzLgoJICBPbmx5IGRlaW5pdGlhbGlzZSBpZiB0aGUgaW5pdGlhbGlzYXRpb24gd2FzIHN1Y2Nlc3NmdWwuCgoyMDA4LTA4LTEzIDE0OjMxOjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksCgkgIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIFJlc2V0IHJ0cCB0aW1lc3RhbXAgaW50ZXJwb2xsYXRpb24gd2hlbiB3ZSBkZXRlY3QgYSBnYXAgd2hlbiB0aGUKCSAgY2xvY2tfYmFzZSBjaGFuZ2VkLgoJICBEb24ndCB0cnkgdG8gYWRqdXN0IHRoZSB0cy1vZmZzZXQgd2hlbiBpdCdzIHRvbyBiaWcgKD4gM3NlY29uZHMpCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3NldF9zc3JjKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBtZXRob2QgdG8gc2V0IHNlc3Npb24gU1NSQy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChjaGVja19jb2xsaXNpb24pLAoJICAocnRwX3Nlc3Npb25fc2V0X2ludGVybmFsX3NzcmMpLCAocnRwX3Nlc3Npb25fZ2V0X2ludGVybmFsX3NzcmMpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGRlZCBkZWJ1Z2dpbmcgZm9yIHRoZSBjb2xsaXNpb24gY2hlY2tzLgoJICBBZGQgbWV0aG9kIHRvIGNoYW5nZSB0aGUgaW50ZXJuYWwgU1NSQyBvZiB0aGUgc2Vzc2lvbi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBSZXNldCB0aGUgY2xvY2sgYmFzZSB3aGVuIHdlIGRldGVjdCBsYXJnZSBqdW1wcyBpbiB0aGUgc2VxbnVtcy4KCjIwMDgtMDgtMTIgMTY6MTM6MTUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy4qOiBEbyBub3QgZGVhbCB3aXRoIGR1cGxpY2F0ZWQgaW5wdXQgKHRpbWVzdGFtcHMpLiAgSWYgbmVlZGVkLCBhIGdlbmVyaWMgZWxlbWVudCBjYW4gZG8gc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19yZXNldCksCgkgIChnc3RfeDI2NF9lbmNfY2hhaW4pLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBEbyBub3QgZGVhbCB3aXRoIGR1cGxpY2F0ZWQgaW5wdXQgKHRpbWVzdGFtcHMpLiAgSWYgbmVlZGVkLAoJICBhIGdlbmVyaWMgZWxlbWVudCBjYW4gZG8gc28uCgkgIERvIG5vdCBtYW5pcHVsYXRlIGlucHV0IHRpbWVzdGFtcHMgb24gdGhlIHdheSBvdXQsCgkgIHNpbmNlIHRoYXQgc2hpZnRzIHRoZSB0aW1lbGluZSBhbmQgQS9WIHN5bmMuCgoyMDA4LTA4LTEyIDE1OjQxOjQ4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBJbnRlZ3JhdGUgbmV3IHByb3BlcnRpZXMgaW50byBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgSW50ZWdyYXRlIG5ldyBwcm9wZXJ0aWVzIGludG8gZG9jdW1lbnRhdGlvbi4KCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfaW5pdCksIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSk6CgkgIEZpeCB1cCBBUEkgcHJpb3IgdG8gZXZlbnR1YWwgcGx1Z2luIG1vdmUuCgkgIEFQSTogR3N0WDI2NEVuYzpwYXNzIChwcm92aWRlcyBtb3JlIG9wdGlvbnMsIGFuZCBjaGFuZ2VkIHRvIGVudW0pCgoyMDA4LTA4LTEyIDE0OjMxOjU3ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIG1wbGV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wbGV4LnhtbDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIFVwZGF0ZSBhbmQgYWRkIGRvY3VtZW50YXRpb24gZm9yIG1wbGV4LgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgRG9jdW1lbnRhdGlvbiB1cGRhdGUuCgoyMDA4LTA4LTEyIDEzOjA4OjM5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGFuZCB1bml0IHRlc3QgZm9yIHgyNjRlbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3gyNjRlbmMuYzogKHNldHVwX3gyNjRlbmMpLAoJICAoY2xlYW51cF94MjY0ZW5jKSwgKEdTVF9TVEFSVF9URVNUKSwgKHgyNjRlbmNfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGFuZCB1bml0IHRlc3QgZm9yIHgyNjRlbmMuCgoyMDA4LTA4LTExIDE3OjI0OjU4ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogQWxsb2NhdGUgc29tZSBidWZmZXJzIGluIG1vcmUgYWRhcHRpdmUgYW5kIGVjb25vbWljYWwgZmFzaGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIEFsbG9jYXRlIHNvbWUgYnVmZmVycyBpbiBtb3JlIGFkYXB0aXZlIGFuZCBlY29ub21pY2FsIGZhc2hpb24uCgoyMDA4LTA4LTExIDE1OjE2OjE0ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHN1ZmZpY2llbnRseSB1cC10by1kYXRlIHgyNjQgQVBJLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBzdWZmaWNpZW50bHkgdXAtdG8tZGF0ZSB4MjY0IEFQSS4KCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfcGFzc19nZXRfdHlwZSksCgkgIChnc3RfeDI2NF9lbmNfYmFzZV9pbml0KSwgKGdzdF94MjY0X2VuY19jbGFzc19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfeDI2NF9lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIEV4cG9zZSBzb21lIG1vcmUgcGFyYW1ldGVycyBvZiB0aGUgeDI2NCBlbmNvZGVyIGFzIHByb3BlcnRpZXMuCgoyMDA4LTA4LTExIDA3OjIwOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogUHJpbnQgdGhlIHBhZC1uYW1lIGluIGRlYnVnIGxvZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgIFByaW50IHRoZSBwYWQtbmFtZSBpbiBkZWJ1ZyBsb2cuCgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvc3JjLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6CgkgIFVzZSAiLSIgaW5zdGVhZCBvZiAiXyIgaW4gcHJvcGVydHkgbmFtZXMuIENhbiB3ZSBjYWxsIHRoZW0ganVzdAoJICAiZGV2aWNlIiBsaWtlIGV2ZXJ5d2hlcmUgZWxzZT8KCjIwMDgtMDgtMDggMTU6MDc6MTIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiBDb2Rpbmcgc3R5bGUgYW5kIGxheW91dDsgcmUtb3JkZXIgc29tZSBmdW5jdGlvbnMgaW4gbW9yZSB0eXBpY2FsIGFuZCBuYXR1cmFsIGZsb3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogKGdzdF94MjY0X2VuY19sb2dfY2FsbGJhY2spLAoJICAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwgKGdzdF94MjY0X2VuY19oZWFkZXJfYnVmKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfc3JjX2NhcHMpLCAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLAoJICAoZ3N0X3gyNjRfZW5jX2ZsdXNoX2ZyYW1lcyk6CgkgIENvZGluZyBzdHlsZSBhbmQgbGF5b3V0OyByZS1vcmRlciBzb21lIGZ1bmN0aW9ucyBpbiBtb3JlCgkgIHR5cGljYWwgYW5kIG5hdHVyYWwgZmxvdy4KCjIwMDgtMDgtMDggMTQ6MTk6MTYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L3gyNjQvOiBVc2UgR1F1ZXVlIGluIHN0ZWFkIG9mIGN1c3RvbSBxdWV1ZSBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwgKGdzdF94MjY0X2VuY19pbml0KSwKCSAgKGdzdF94MjY0X2VuY19yZXNldCksIChnc3RfeDI2NF9lbmNfZmluYWxpemUpLAoJICAoZ3N0X3gyNjRfZW5jX2ZsdXNoX2ZyYW1lcyksIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksCgkgIChnc3RfeDI2NF9lbmNfY2hhaW4pLCAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksCgkgIChnc3RfeDI2NF9lbmNfY2hhbmdlX3N0YXRlKSwgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpOgoJICAqIGV4dC94MjY0L2dzdHgyNjRlbmMuaDoKCSAgVXNlIEdRdWV1ZSBpbiBzdGVhZCBvZiBjdXN0b20gcXVldWUgY29kZS4KCSAgRmFjdG9yaXplIGZsdXNoaW5nIG91dCBlbmNvZGVyIGRlbGF5ZWQgZnJhbWVzLgoJICBGYWN0b3JpemUgaW5pdGlhbGl6YXRpb24gYW5kIHN0YXRlIGNoYW5nZSByZXNldC4KCjIwMDgtMDgtMDggMTA6NTY6MDIgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgVXNlIGNvbmZpZ3VyZS1nZW5lcmF0ZWQgX3N0ZGludC5oLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICBVc2UgY29uZmlndXJlLWdlbmVyYXRlZCBfc3RkaW50LmguCgoyMDA4LTA4LTA4IDEwOjEzOjM2ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIGV4dC94MjY0LzogVXNlIHZpZGVvIGZvcm1hdCBsaWJyYXJ5IGFuZCBHU1RfV1JJVEVfKl9CRSBtYWNyb3Mgd2hlcmUgYXBwbGljYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvTWFrZWZpbGUuYW06CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX2hlYWRlcl9idWYpLAoJICAoZ3N0X3gyNjRfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3gyNjRfZW5jX2Jhc2VfaW5pdCksCgkgIChnc3RfeDI2NF9lbmNfY2xhc3NfaW5pdCksIChnc3RfeDI2NF9lbmNfbG9nX2NhbGxiYWNrKSwKCSAgKGdzdF94MjY0X2VuY19pbml0KSwgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpLAoJICAoZ3N0X3gyNjRfZW5jX2ZpbmFsaXplKSwgKGdzdF94MjY0X2VuY19jaGFpbiksCgkgIChnc3RfeDI2NF9lbmNfZW5jb2RlX2ZyYW1lKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmg6CgkgIFVzZSB2aWRlbyBmb3JtYXQgbGlicmFyeSBhbmQgR1NUX1dSSVRFXypfQkUgbWFjcm9zIHdoZXJlIGFwcGxpY2FibGUuCgkgIFVzZSBmaW5hbGl6ZSBpbiBzdGVhZCBvZiBkaXNwb3NlLgoJICBTZXQgdXAgZGVidWcgY2F0ZWdvcnkgYW5kIGxvZyBjYWxsYmFjay4KCjIwMDgtMDgtMDcgMTY6MjA6MzAgKzAwMDAgIEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEZyZWRlcmljIENyb3phdCA8ZmNyb3phdEBtYW5kcml2YS5vcmc+CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19wbHVnaW5faW5pdCk6CgkgICogc3lzL29zczQvb3NzNC1hdWRpby5jOiAocGx1Z2luX2luaXQpOgoJICBNYWtlIHN1cmUgZ2V0dGV4dCByZXR1cm5zIHRyYW5zbGF0aW9ucyBpbiBVVEYtOCBlbmNvZGluZyByYXRoZXIKCSAgdGhhbiBpbiB0aGUgY3VycmVudCBsb2NhbGUgZW5jb2RpbmcgKCM1NDY4MjIpLgoKMjAwOC0wOC0wNyAxNDozNDowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3R3b2xhbWUvZ3N0dHdvbGFtZS4qOiBBbGxvdyByYXcgZmxvYXQgc2FtcGxlcyBhcyBpbnB1dCBmb3IgZW5jb2RpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90d29sYW1lL2dzdHR3b2xhbWUuYzogKGdzdF90d29fbGFtZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3R3b19sYW1lX2NoYWluKToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFsbG93IHJhdyBmbG9hdCBzYW1wbGVzIGFzIGlucHV0IGZvciBlbmNvZGluZy4KCjIwMDgtMDgtMDcgMTM6MTU6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOiBUcnkgY29tbWl0dGluZyB0aGlzIG9uY2UgYWdhaW4uIE5vdyBwcm9wZXJseSByZW5hbWVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zcmMuYzoKCSAgVHJ5IGNvbW1pdHRpbmcgdGhpcyBvbmNlIGFnYWluLiBOb3cgcHJvcGVybHkgcmVuYW1lZC4KCjIwMDgtMDgtMDcgMDk6MDk6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sCgkgIEFkZCBuZXcgZWxlbWVudCB0byBkb2NzLgoJICAqIGV4dC9qYWNrL2dzdGphY2suaAoJICBBZGQgbWlzc2luZyBmaWxlLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NyYy5oOgoJICBSZW5hbWUgamFja2F1ZGlvc3JjIHRvIGphY2tfYXVkaW9fc3JjLgoKMjAwOC0wOC0wNyAwODo0Nzo0MCArMDAwMCAgVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgoJICBleHQvamFjay86IEFkZCBhIGphY2thdWRpb3NyYy4gUmVmYWN0b3Igc2luayBzbGlnaHRseSBmb3IgYmV0dGVyIGNvZGUgcmV1c2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogVHJpc3RhbiBNYXR0aGV3cyA8dHJpc3RhbkBzYXQucWMuY2E+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFjay5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc3JjLmg6CgkgICogZXh0L2phY2svZ3N0amFja3JpbmdidWZmZXIuaDoKCSAgQWRkIGEgamFja2F1ZGlvc3JjLiBSZWZhY3RvciBzaW5rIHNsaWdodGx5IGZvciBiZXR0ZXIgY29kZSByZXVzZS4KCSAgRml4ZXMgIzU0NTE5Ny4KCjIwMDgtMDgtMDYgMTU6NDk6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCB0d29sYW1lIGFuZCBjZWx0IHBsdWdpbnMgdG8gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2VsdC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR3b2xhbWUueG1sOgoJICBBZGQgdHdvbGFtZSBhbmQgY2VsdCBwbHVnaW5zIHRvIHRoZSBkb2NzLgoKMjAwOC0wOC0wNSAwOTo0Mjo1MyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBNYWtlIHRoZSBidWZmZXIgbWV0YWRhdGEgd3JpdGFibGUgYmVmb3JlIGluc2VydGluZyBpdCBpbiB0aGUgaml0dGVyYnVmZmVyIGJlY2F1cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gcGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgTWFrZSB0aGUgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlZm9yZSBpbnNlcnRpbmcgaXQgaW4gdGhlCgkgIGppdHRlcmJ1ZmZlciBiZWNhdXNlIHRoZSBqaXR0ZXJidWZmZXIgd2lsbCBtb2RpZnkgdGhlIHRpbWVzdGFtcHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6CgkgIFVwZGF0ZSBtZXRob2QgY29tbWVudCBhYm91dCByZXF1aXJpbmcgd3JpdGFibGUgbWV0YWRhdGEgb24gYnVmZmVycy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCk6CgkgIE1ha2UgdGhlIFJUQ1AgYnVmZmVyIG1ldGFkYXRhIHdyaXRhYmxlIGJlY2F1c2Ugd2Ugd2FudCB0byBtb2RpZnkgdGhlCgkgIG1ldGFkYXRhLgoJICBGaXhlcyAjNTQ2MzEyLgoKMjAwOC0wOC0wNSAwOTowNTozNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IE1vdmUgdGhlIHNlbGVjdC1hbGwgbG9naWMgaW50byB0aGUgYWN0aXZhdGlvbiBvZiB0aGUgY3VycmVudGx5IHNlbGVjdGVkIHBhZC4gV2Ugd2FudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRjYXBzKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9hY3RpdmF0ZV9zaW5rcGFkKToKCSAgTW92ZSB0aGUgc2VsZWN0LWFsbCBsb2dpYyBpbnRvIHRoZSBhY3RpdmF0aW9uIG9mIHRoZSBjdXJyZW50bHkgc2VsZWN0ZWQKCSAgcGFkLiBXZSB3YW50IHRvIHJlbWVtYmVyIHRoZSBsYXN0IHBhZCB3aXRoIGFjdGl2aXR5IGluIHNlbGVjdC1hbGwgbW9kZS4KCSAgRml4IHRoZSBnZXRjYXBzIGZ1bmN0aW9uLCB3ZSBjYW4gcHJvZHVjZSB0aGUgdW5pb24gb2YgdGhlIHVwc3RyZWFtIGNhcHMKCSAgaW4gc2VsZWN0LWFsbCBtb2RlLCBub3QgdGhlIGludGVyc2VjdGlvbiBsaWtlIHByb3h5X2dldGNhcHMoKSBkb2VzLgoKMjAwOC0wOC0wNSAwOTowMDo1MCArMDAwMCAgSMOldmFyZCBHcmFmZiA8aGF2YXJkLmdyYWZmQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBGaXggZGVidWcgYnkgbG9nZ2luZyB0aGUgcmlnaHQgc2VxbnVtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEjDpXZhcmQgR3JhZmYgPGhhdmFyZCBkb3QgZ3JhZmYgYXQgdGFuZGJlcmcgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIEZpeCBkZWJ1ZyBieSBsb2dnaW5nIHRoZSByaWdodCBzZXFudW0uCgoyMDA4LTA4LTA1IDA4OjU4OjI3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlbGVhc2UgbG9jayBiZWZvcmUgZW1pdHRpbmcgdGhlIHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXIgYXQgdGVzdGVyIGRvdCBjYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdldF9wdF9tYXApOgoJICBSZWxlYXNlIGxvY2sgYmVmb3JlIGVtaXR0aW5nIHRoZSByZXF1ZXN0LXB0LW1hcCBzaWduYWwuCgkgIEZpeGVzICM1NDM0ODAuCgoyMDA4LTA4LTAyIDE4OjQ4OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogVXNlIG9pbF9tZW1jcHkoKSBpbnN0ZWFkIG9mIG1lbWNweSgpIGFzIGl0J3MgZmFzdGVyIGZvciB0aGUgc2l6ZXMgdGhhdCBhcmUgdXN1YWxseSB1c2VkIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9pbnRlcnBvbGF0ZV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jb3B5X3NjYW5saW5lKSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc2NhbGVyYm9iLmM6CgkgIChkZWludGVybGFjZV9zY2FubGluZV9zY2FsZXJfYm9iKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3dlYXZlLmM6IChkZWludGVybGFjZV9zY2FubGluZV93ZWF2ZSksCgkgIChjb3B5X3NjYW5saW5lKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZWJmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmV0ZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpOgoJICBVc2Ugb2lsX21lbWNweSgpIGluc3RlYWQgb2YgbWVtY3B5KCkgYXMgaXQncyBmYXN0ZXIgZm9yIHRoZSBzaXplcyB0aGF0CgkgIGFyZSB1c3VhbGx5IHVzZWQgaGVyZS4KCjIwMDgtMDgtMDIgMTg6MzY6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgRy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2xpbmVhci5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX2MpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfbGluZWFyX21teCksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfbW14ZXh0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbGluZWFyYmxlbmQuYzoKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZF9jKSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfYyksCgkgIChkZWludGVybGFjZV9zY2FubGluZV9saW5lYXJfYmxlbmRfbW14KSwKCSAgKGRlaW50ZXJsYWNlX3NjYW5saW5lX2xpbmVhcl9ibGVuZDJfbW14KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfbGluZWFyX2JsZW5kX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9saW5lYXJfYmxlbmRfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NjYWxlcmJvYi5jOgoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfc2NhbGVyX2JvYiksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3NjYWxlcl9ib2JfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmUuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvd2VhdmViZmYuYzogKGRlaW50ZXJsYWNlX3NjYW5saW5lX3dlYXZlKSwKCSAgKGNvcHlfc2NhbmxpbmUpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF93ZWF2ZV9iZmZfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX2JmZl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS93ZWF2ZXRmZi5jOiAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfd2VhdmUpLAoJICAoY29weV9zY2FubGluZSksIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3dlYXZlX3RmZl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2Rfd2VhdmVfdGZmX2luaXQpOgoJICBBZGQgdGhlIHJlbWFpbmluZyB0dnRpbWUgZGVpbnRlcmxhY2luZyBtZXRob2RzIGFuZCBmaXggdGhlCgkgIGRlaW50ZXJsYWNlX2ZyYW1lKCkgaW1wbGVtZW50YXRpb24gb2YgR3N0RGVpbnRlcmxhY2VTaW1wbGVNZXRob2QuCgoyMDA4LTA4LTAyIDE4OjMwOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IEltcGxlbWVudCB0aGUgVkZJUiBkZWludGVybGFjaW5nIG1ldGhvZCBhcyBzaW1wbGUgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBJbXBsZW1lbnQgdGhlIFZGSVIgZGVpbnRlcmxhY2luZyBtZXRob2QgYXMgc2ltcGxlIG1ldGhvZC4KCjIwMDgtMDgtMDIgMTg6MTg6NTQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQgY2FuIGJlIHVzZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfaW50ZXJwb2xhdGVfc2NhbmxpbmUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX3NpbXBsZV9tZXRob2RfY29weV9zY2FubGluZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9kZWludGVybGFjZV9mcmFtZSksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2ltcGxlX21ldGhvZF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zaW1wbGVfbWV0aG9kX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIEFkZCBhIEdzdERlaW50ZXJsYWNlU2ltcGxlTWV0aG9kIHN1YmNsYXNzIG9mIEdzdERlaW50ZXJsYWNlTWV0aG9kIHRoYXQKCSAgY2FuIGJlIHVzZWQgYnkgc2ltcGxlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcy4gVGhleSBvbmx5IGhhdmUgdG8gcHJvdmlkZQoJICBhIGZ1bmN0aW9uIGZvciBpbnRlcnBvbGF0aW5nIGEgc2NhbmxpbmUgb3IgY29weWluZyBhIHNjYW5saW5lLgoKMjAwOC0wOC0wMiAxODoxNTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzIG9mIGV2ZXJ5IGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKToKCSAgUmVzcGVjdCB0aGUgbGF0ZW5jeSBvZiB0aGUgZGVpbnRlcmxhY2luZyBhbGdvcml0aG0gZm9yIHRoZSB0aW1lc3RhbXBzCgkgIG9mIGV2ZXJ5IGJ1ZmZlci4KCjIwMDgtMDgtMDIgMTg6MTM6MjAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogQWRkIHRoZSBNTVggcmVnaXN0ZXJzIHRvIHRoZSBjbG9iYmVyZWQgcmVnaXN0ZXJzIG9ubHkgaWYgX19NTVhfXyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICBBZGQgdGhlIE1NWCByZWdpc3RlcnMgdG8gdGhlIGNsb2JiZXJlZCByZWdpc3RlcnMgb25seSBpZiBfX01NWF9fIGlzCgkgIGRlZmluZWQuCgoyMDA4LTA4LTAyIDE4OjA5OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogRW5hYmxlIHRvbXNtb2NvbXAgYWdhaW4gYXMgdGhlIEMgcG9ydCB3aWxsIGJlIHJlYWR5IGZvciB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCk6CgkgIEVuYWJsZSB0b21zbW9jb21wIGFnYWluIGFzIHRoZSBDIHBvcnQgd2lsbCBiZSByZWFkeSBmb3IgdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDgtMDIgMTg6MDI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6IERvbid0IHVzZSBwcm94eV9nZXRjYXBzKCkgYnV0IGltcGxlbWVudCBvdXIgb3duIGdldGNhcHMoKSBmdW5jdGlvbiB0aGF0IGRvdWJsZXMvaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwKCSAgKGdzdF9ncmVhdGVzdF9jb21tb25fZGl2aXNvciksIChnc3RfZnJhY3Rpb25fZG91YmxlKSwKCSAgKGdzdF9kZWludGVybGFjZTJfZ2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpOgoJICBEb24ndCB1c2UgcHJveHlfZ2V0Y2FwcygpIGJ1dCBpbXBsZW1lbnQgb3VyIG93biBnZXRjYXBzKCkgZnVuY3Rpb24KCSAgdGhhdCBkb3VibGVzL2hhbGZzIHRoZSBmcmFtZXJhdGUgaWYgYWxsIGZpZWxkcyBzaG91bGQgYmUgc2VudCBvdXQuCgoyMDA4LTA4LTAyIDE3OjM5OjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgVHdvTEFNRSBNUDIgZW5jb2RpbmcgZWxlbWVudCwgYmFzZWQgb24gdGhlIExBTUUgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmM6IChnc3RfdHdvX2xhbWVfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfdHdvX2xhbWVfcGFkZGluZ19nZXRfdHlwZSksIChnc3RfdHdvX2xhbWVfZW1waGFzaXNfZ2V0X3R5cGUpLAoJICAoZ3N0X3R3b19sYW1lX3JlbGVhc2VfbWVtb3J5KSwgKGdzdF90d29fbGFtZV9maW5hbGl6ZSksCgkgIChnc3RfdHdvX2xhbWVfYmFzZV9pbml0KSwgKGdzdF90d29fbGFtZV9jbGFzc19pbml0KSwKCSAgKGdzdF90d29fbGFtZV9zcmNfc2V0Y2FwcyksIChnc3RfdHdvX2xhbWVfc2lua19zZXRjYXBzKSwKCSAgKGdzdF90d29fbGFtZV9pbml0KSwgKGdzdF90d29fbGFtZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3R3b19sYW1lX2dldF9wcm9wZXJ0eSksIChnc3RfdHdvX2xhbWVfc2lua19ldmVudCksCgkgIChnc3RfdHdvX2xhbWVfY2hhaW4pLCAoZ3N0X3R3b19sYW1lX3NldHVwKSwKCSAgKGdzdF90d29fbGFtZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3R3b19sYW1lX2dldF9kZWZhdWx0X3NldHRpbmdzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdHdvbGFtZS9nc3R0d29sYW1lLmg6CgkgIEFkZCBUd29MQU1FIE1QMiBlbmNvZGluZyBlbGVtZW50LCBiYXNlZCBvbiB0aGUgTEFNRSBlbGVtZW50LgoKMjAwOC0wOC0wMiAxNzoyOTo0NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIENFTFQgZW5jb2RlciBhbmQgZGVjb2RlciBlbGVtZW50cyBiYXNlZCBvbiB0aGUgU3BlZXggZWxlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2NlbHQvZ3N0Y2VsdC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9jZWx0L2dzdGNlbHRkZWMuYzogKGdzdF9jZWx0X2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X2NlbHRfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2NlbHRfZGVjX3Jlc2V0KSwKCSAgKGdzdF9jZWx0X2RlY19pbml0KSwgKGNlbHRfZGVjX2NvbnZlcnQpLAoJICAoY2VsdF9nZXRfc2lua19xdWVyeV90eXBlcyksIChjZWx0X2RlY19zaW5rX3F1ZXJ5KSwKCSAgKGNlbHRfZ2V0X3NyY19xdWVyeV90eXBlcyksIChjZWx0X2RlY19zcmNfcXVlcnkpLAoJICAoY2VsdF9kZWNfc3JjX2V2ZW50KSwgKGNlbHRfZGVjX3NpbmtfZXZlbnQpLAoJICAoY2VsdF9kZWNfY2hhaW5fcGFyc2VfaGVhZGVyKSwgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2NvbW1lbnRzKSwKCSAgKGNlbHRfZGVjX2NoYWluX3BhcnNlX2RhdGEpLCAoY2VsdF9kZWNfY2hhaW4pLAoJICAoY2VsdF9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZGVjLmg6CgkgICogZXh0L2NlbHQvZ3N0Y2VsdGVuYy5jOiAoZ3N0X2NlbHRfZW5jX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X2NlbHRfZW5jX2Jhc2VfaW5pdCksIChnc3RfY2VsdF9lbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfY2VsdF9lbmNfZmluYWxpemUpLCAoZ3N0X2NlbHRfZW5jX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfY2VsdF9lbmNfc2lua19nZXRjYXBzKSwgKGdzdF9jZWx0X2VuY19jb252ZXJ0X3NyYyksCgkgIChnc3RfY2VsdF9lbmNfY29udmVydF9zaW5rKSwgKGdzdF9jZWx0X2VuY19nZXRfbGF0ZW5jeSksCgkgIChnc3RfY2VsdF9lbmNfZ2V0X3F1ZXJ5X3R5cGVzKSwgKGdzdF9jZWx0X2VuY19zcmNfcXVlcnkpLAoJICAoZ3N0X2NlbHRfZW5jX3NpbmtfcXVlcnkpLCAoZ3N0X2NlbHRfZW5jX2luaXQpLAoJICAoZ3N0X2NlbHRfZW5jX2NyZWF0ZV9tZXRhZGF0YV9idWZmZXIpLCAoZ3N0X2NlbHRfZW5jX3NldHVwKSwKCSAgKGdzdF9jZWx0X2VuY19idWZmZXJfZnJvbV9kYXRhKSwgKGdzdF9jZWx0X2VuY19wdXNoX2J1ZmZlciksCgkgIChnc3RfY2VsdF9lbmNfc2V0X2hlYWRlcl9vbl9jYXBzKSwgKGdzdF9jZWx0X2VuY19zaW5rZXZlbnQpLAoJICAoZ3N0X2NlbHRfZW5jX2NoYWluKSwgKGdzdF9jZWx0X2VuY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2NlbHRfZW5jX3NldF9wcm9wZXJ0eSksIChnc3RfY2VsdF9lbmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvY2VsdC9nc3RjZWx0ZW5jLmg6CgkgIEFkZCBDRUxUIGVuY29kZXIgYW5kIGRlY29kZXIgZWxlbWVudHMgYmFzZWQgb24gdGhlIFNwZWV4IGVsZW1lbnRzLgoKMjAwOC0wOC0wMiAxNzoxNjozOSArMDAwMCAgVGFsIFNoYWxpZiA8dHNoYWxpZkBuYXJnaWxhLm9yZz4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IFVzZSBnX3NldGVudigpIGFuZCBnX3Vuc2V0ZW52KCkgaW5zdGVhZCBvZiBzZXRlbnYoKSB0byBmaXggY29tcGlsYXRpb24gd2l0aCBtaW5ndy4gRml4ZXMgYnVnIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRhbCBTaGFsaWYgPHRzaGFsaWYgYXQgbmFyZ2lsYSBkb3Qgb3JnPgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2luaXRzZGwpOgoJICBVc2UgZ19zZXRlbnYoKSBhbmQgZ191bnNldGVudigpIGluc3RlYWQgb2Ygc2V0ZW52KCkgdG8gZml4IGNvbXBpbGF0aW9uCgkgIHdpdGggbWluZ3cuIEZpeGVzIGJ1ZyAjNTQ1MjQ3LgoKMjAwOC0wOC0wMSAyMzozMDoyOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC44LjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIGRldmVsb3BtZW50IC0+IDAuMTAuOC4xCgoyMDA4LTA4LTAxIDE1OjM5OjQ0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgcmVtb3ZlIG1vdmVkIHBsdWdpbnMgZnJvbSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBtb3ZlZCBwbHVnaW5zIGZyb20gc3BlYyBmaWxlCgo9PT0gcmVsZWFzZSAwLjEwLjggPT09CgoyMDA4LTA3LTMxIDIyOjE1OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iYXllci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1vc3M0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdpbGRtaWRpLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi15NG1lbmMueG1sOgoJKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICBSZWxlYXNlIDAuMTAuOAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjgKCjIwMDgtMDctMzEgMjI6MDM6MjYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogY29tbW9uOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2RlLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vZXMucG86CgkqIHBvL2ZpLnBvOgoJKiBwby9mci5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9reS5wbzoKCSogcG8vbHQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA3LTI0IDIzOjUzOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjMgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMyBwcmUtcmVsZWFzZQoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vaWQucG86CgkgIEFkZCBJbmRvbmVzaWFuIHRyYW5zbGF0aW9uLgoKMjAwOC0wNy0yNCAwMDozMjozNyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6IEd1YXJkIHVuaXN0ZC5oIHdpdGggSEFWRV9VTklTVERfSAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSAgKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5oOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkgIFN1cHBvcnQgZm9yIGNvbXBpbGluZyB3aXRoIE1TVkM6IHVzZSBfTVNDX1ZFUiBmb3IgZGV0ZWN0aW5nIE1TVkMgaW5zdGVhZAoJICBvZiBNU0NfVkVSLiBNYWtlIENhblBhY2tTYW1wbGVzIHRha2UgdGhlIHR5cGUgaXQncyBwYXNzZWQuIENoYW5nZSBzY29wZQoJICBvZiBhIHZhcmlhYmxlIGluIGxvYWRfaXQuY3BwIHRvIE1TVkMncyBzY29waW5nIHJ1bGVzLgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguYzoKCSAgR3VhcmQgdW5pc3RkLmggd2l0aCBIQVZFX1VOSVNURF9ICgkgIEZpeGVzICM1NDQ0NTcuCgoyMDA4LTA3LTIyIDA2OjI3OjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogRml4IGNvbXBpbGVyIHdhcm5pbmcuIEZpeGVzICM1NDQwNTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4gRml4ZXMgIzU0NDA1MC4KCjIwMDgtMDctMjEgMjE6MTI6MjUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBjaGVjayBmb3IgbmF2X3ByaW50LmggYW55IG1vcmUgLSBpdCBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIGxpYmR2ZG5hdiBkZXZlbG9wbWVudCBwYWNrYWdlIGlmIGxpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY2hlY2sgZm9yIG5hdl9wcmludC5oIGFueSBtb3JlIC0gaXQgc2hvdWxkIGJlIGluY2x1ZGVkIGluCgkgIHRoZSBsaWJkdmRuYXYgZGV2ZWxvcG1lbnQgcGFja2FnZSBpZiBsaWJkdmRuYXYgaGVhZGVycyBkZXBlbmQgb24gaXQuCgkgIEZpeGVzOiAjNTQzODQ2CgoyMDA4LTA3LTIxIDE2OjAzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBMaW5rIHRoZSBsYWRzcGEgcGx1Z2luIHdpdGggLWxkbC4gSXQncyBuZWVkZWQgZm9yIGRsb3BlbigpIGFuZCBmcmllbmRzIGZvciBsb2FkaW5nIHRoZSBsYWRzcGEgcGx1Z2lucyBhbmQgcHJldmlvdXNseSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9sYWRzcGEvTWFrZWZpbGUuYW06CgkgIExpbmsgdGhlIGxhZHNwYSBwbHVnaW4gd2l0aCAtbGRsLiBJdCdzIG5lZWRlZCBmb3IgZGxvcGVuKCkgYW5kIGZyaWVuZHMKCSAgZm9yIGxvYWRpbmcgdGhlIGxhZHNwYSBwbHVnaW5zIGFuZCBwcmV2aW91c2x5IHdhcyBsaW5rZWQgaW4gYnkKCSAgZ21vZHVsZS4gRml4ZXMgYnVnICM1NDM4NDguCgoyMDA4LTA3LTIxIDEwOjE2OjUxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOiBVc2UgR1NUX0NYWEZMQUdTIGluc3RlYWQgb2YgR1NUX0NGTEFHUyBmb3IgQ1hYRkxBR1MuIEdTVF9DRkxBR1MgY2FuIGNvbnRhaW4gY29tcGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9DWFhGTEFHUyBpbnN0ZWFkIG9mIEdTVF9DRkxBR1MgZm9yIENYWEZMQUdTLiBHU1RfQ0ZMQUdTCgkgIGNhbiBjb250YWluIGNvbXBpbGVyIHBhcmFtZXRlcnMgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoJICBGaXhlcyBidWcgIzU0Mzg2MC4KCjIwMDgtMDctMjEgMTA6MTU6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbTogRGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlcy4gRml4ZXMgYnVnICM1NDM4NjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9NYWtlZmlsZS5hbToKCSAgRGlzdCBtaXNzaW5nIGhlYWRlciBmaWxlcy4gRml4ZXMgYnVnICM1NDM4NjEuCgoyMDA4LTA3LTE5IDE0OjEyOjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC43LjIgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjcuMiBwcmUtcmVsZWFzZQoKMjAwOC0wNy0xOSAxNDowMjo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IERpc3QgYW5kIHJlY3Vyc2UgaW50byByZXNpbmR2ZCBzdWJkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICBEaXN0IGFuZCByZWN1cnNlIGludG8gcmVzaW5kdmQgc3ViZGlyCgoyMDA4LTA3LTE5IDEzOjQzOjA0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gY29uZmlndXJlLmFjIHBpZWNlcyB0b28KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBjb25maWd1cmUuYWMgcGllY2VzIHRvbwoKMjAwOC0wNy0xOSAxMzoyOToyMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby86IEFkZCBuZXcgbGl0aHVuaWFuIHRyYW5zbGF0aW9uLCBhbmQgYWRkIGZyZW5jaCB0byB0aGUgTElOR1VBUyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL2x0LnBvOgoJICBBZGQgbmV3IGxpdGh1bmlhbiB0cmFuc2xhdGlvbiwgYW5kIGFkZCBmcmVuY2ggdG8gdGhlIExJTkdVQVMKCSAgZmlsZS4KCjIwMDgtMDctMTkgMDA6NTg6NDkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIGludGVybGVhdmUgYW5kIHJlcGxheWdhaW4gcGx1Z2lucyB0aGF0IGhhdmUgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZXBsYXlnYWluLmM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ3ZvbHVtZS5jOgoJICBSZW1vdmUgaW50ZXJsZWF2ZSBhbmQgcmVwbGF5Z2FpbiBwbHVnaW5zIHRoYXQgaGF2ZSBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wNy0xOCAwODozNDowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRGlzYWJsZSB0aGUgdG9tc21vY29tcCBhbGdvcml0aG0gZm9yIHRoaXMgcmVsZWFzZSBhcyBpdCdzIGJ1Z2d5IGFuZCBoYXMgbm8gQyBpbXBsZW1lbnRhdGlvbiB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZHNfZ2V0X3R5cGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2dyZWVkeV9sX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpOgoJICBEaXNhYmxlIHRoZSB0b21zbW9jb21wIGFsZ29yaXRobSBmb3IgdGhpcyByZWxlYXNlIGFzIGl0J3MgYnVnZ3kKCSAgYW5kIGhhcyBubyBDIGltcGxlbWVudGF0aW9uIHlldC4KCSAgQnVpbGQgdGhlIGRlaW50ZXJsYWNlMiBwbHVnaW4gb24gYWxsIGFyY2hpdGVjdHVyZXMgYnV0IHN0aWxsIG1hcmsgaXQKCSAgYXMgZXhwZXJpbWVudGFsLgoJICBCdWlsZCB0aGUgeDg2IGlubGluZSBhc3NlbWJseSBvbmx5IGlmIEdDQyBpbmxpbmUgYXNzZW1ibHkgaXMgc3VwcG9ydGVkCgkgIGFuZCBvbmx5IG9uIHg4NiBvciBhbWQ2NC4gRml4ZXMgYnVnICM1NDMyODYuCgoyMDA4LTA3LTE2IDE0OjE1OjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBjYXN0cyB0byBmaXggdGhlIGJ1aWxkIG9uIEZvcnRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KToKCSAgQWRkIHNvbWUgY2FzdHMgdG8gZml4IHRoZSBidWlsZCBvbiBGb3J0ZQoKMjAwOC0wNy0xNCAxNDoxMzo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lLzogRml4IGJ1aWxkIG9uIHg4Nl82NAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3ZmaXJfY2xhc3NfaW5pdCk6CgkgIEZpeCBidWlsZCBvbiB4ODZfNjQKCjIwMDgtMDctMTQgMDc6NTA6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL2dzdG1wZWdkZW11eC5jOiBSZW1vdmUgd2hpdGVzcGFjZSBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFJlbW92ZSB3aGl0ZXNwYWNlIGxpbmUuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgIE1ha2UgaXQgc28gdGhhdCBhdWRpby92aWRlbyBwYWRzIGFyZW4ndCBhZGRlZCB0byB0aGUgYmluCgkgIHVudGlsIGFmdGVyIGRhdGEgZmxvdyBzdGFydHMuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgIE1vdmUgdmlkZW8gYnVmZmVyIHF1ZXVlIG91dHNpZGUgcmVzaW5kdmRiaW4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuYzoKCSAgQ2hlY2sgdGhhdCB0aGUgbmF2X2Nsb2NrX2lkIGRpZG4ndCBhbHJlYWR5IGdldCB1bnNjaGVkdWxlZC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBSZW1vdmUgYXNzZXJ0IHRoYXQgc29tZXRpbWVzIHRyaWdnZXJzIGVycm9uZW91c2x5LgoKMjAwOC0wNy0xMyAxMDo1Njo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206IEFsd2F5cyB1c2UgdGhlIEMgaW1wbGVtZW50YXRpb24gaWYgd2lkdGggaXMgbm90IGEgbXVsdGlwbGUgb2YgNC4gVGhlIGFzc2VtYmx5IG9wLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICBBbHdheXMgdXNlIHRoZSBDIGltcGxlbWVudGF0aW9uIGlmIHdpZHRoIGlzIG5vdCBhIG11bHRpcGxlIG9mIDQuIFRoZQoJICBhc3NlbWJseSBvcHRpbWl6ZWQgdmVyc2lvbiBvbmx5IGhhbmRsZSB0aGlzIGFuZCBjYWxsaW5nIHRoZSBDCgkgIGltcGxlbWVudGF0aW9uIGZvciB0aGUgcmVtYWluaW5nIHBhcnQgZG9lc24ndCB3b3JrIGJlY2F1c2UgaXQgbmVlZHMKCSAgcHJldmlvdXMgY2FsY3VsYXRpb25zLgoKMjAwOC0wNy0xMyAxMDo1MjowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvOiBTb21lIGNsZWFudXAsIHVzZSAzRE5PVyBpbnN0ZWFkIG9mIFRETk9XIGluIG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgU29tZSBjbGVhbnVwLCB1c2UgM0ROT1cgaW5zdGVhZCBvZiBURE5PVyBpbiBtYWNyb3MuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC90b21zbW9jb21wbWFjcm9zLmg6CgkgIFRoZSBTU0UgbWV0aG9kIGluIGZhY3Qgb25seSBuZWVkcyBNTVhFWFQsIGRlY2xhcmUgaXQgYXMgc3VjaC4KCjIwMDgtMDctMTEgMTQ6MDY6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6IElnbm9yZSAqLXVuZGVjbGFyZWQudHh0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICAqIGV4dC9yZXNpbmR2ZC9yc25hdWRpb211bmdlLmM6CgkgIFR1cm4gZ19wcmludCdzIGludG8gZGVidWcgc3RhdGVtZW50cy4KCSAgKiBleHQvcmVzaW5kdmQvcmVzaW4tcGxheToKCSAgKiBleHQvcmVzaW5kdmQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnBhcnNldHRlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wYXJzZXR0ZXIuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNud3JhcHBlZGJ1ZmZlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc253cmFwcGVkYnVmZmVyLmg6CgkgIEFkZCBhIGJsb2F0ZWQgaW1wbGVtZW50YXRpb24gb2YgYSByZWFsbHkgc2ltcGxlIGlkZWE6IFJlcGxhY2UgdGhlCgkgIHBpeGVsLWFzcGVjdC1yYXRpbyBpbiB0aGUgb3V0cHV0IHZpZGVvIHdpdGggYSBwcmVzY3JpYmVkIG9uZSB3aGVuCgkgIG5lY2Vzc2FyeS4gVGhlcmUgbXVzdCBiZSBhbiBlYXNpZXIgd2F5LgoJICBTcGxpdCB0aGUgZHZkc3B1IG91dCBvZiB0aGUgcmVzaW5kdmRiaW4gYW5kIHB1dCBvdXQgdGhlIHN1YnBpY3R1cmUKCSAgc3RyZWFtIG9uIHRoZSBzdWJwaWN0dXJlIHBhZC4KCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4LmM6CgkgIFNlbmQgdmlkZW8tYXNwZWN0IGV2ZW50cyBkb3duIHRoZSBwaXBlIGZyb20gdGhlIGRlbXV4ZXIuCgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIEhhbmRsZSB0aW1lZC1zdGlsbHMgc29tZXdoYXQgdXNpbmcgZ19jb25kX3RpbWVkX3dhaXQsIHdpdGggYSBGSVhNRQoJICB0byBtYWtlIGl0IHVzZSBjbG9jay13YWl0aW5nIGxhdGVyLgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIERvbid0IG92ZXJ3cml0ZSB0aGUgbGFzdF9zdG9wIGluIHRoZSBiYXNlc3JjIHNlZ21lbnQgYWZ0ZXIgYSBzZWFtbGVzcwoJICBzZWVrLgoKMjAwOC0wNy0xMSAxMzo1NDo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSAgQ29tbWl0IGZpbGUgdGhhdCBtb2FwIHNlZW1zIHRvIGhhdmUgbWlzc2VkOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29tbWl0IGZpbGUgdGhhdCBtb2FwIHNlZW1zIHRvIGhhdmUgbWlzc2VkOiBJZ25vcmUgKi11bmRlY2xhcmVkLnR4dAoKMjAwOC0wNy0xMCAyMTowNjowMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2xlYW51cCBQbHVnaW4gZG9jcy4gTGluayB0byBzaWduYWxzIGFuZCBwcm9wZXJ0aWVzLiBGaXggc3ViLXNlY3Rpb24gdGl0bGVzLiBEcm9wIG1lbnRpbmluZyB0aGF0IGFsbCBvdXIgZXhhbXBsZSBwaXBlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtb3ZlcnJpZGVzLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhc2UtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFzZS1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFkZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvY29udmVydC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWF1ZGlvcmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hdWRpb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHBhcmFub2lhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGVjb2RlYmluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmZtcGVnY29sb3JzcGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdub21ldmZzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGlidmlzdWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb2dnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcGFuZ28ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1wbGF5YmFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1ZXVlMi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN1YnBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGNwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGhlb3JhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHlwZWZpbmRmdW5jdGlvbnMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi11cmlkZWNvZGViaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcmF0ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2NhbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3Rlc3RzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b2x1bWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12b3JiaXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpbWFnZXNpbmsueG1sOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlci5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzaW5rLmM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNyYy5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZW5jLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNwYXJzZS5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzdGFnLmM6CgkgICogZ3N0L2FkZGVyL2dzdGFkZGVyLmM6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbjIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluMi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzoKCSAgKiBnc3QvcGxheWJhY2svZ3N0dXJpZGVjb2RlYmluLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwc2VydmVyc2luay5jOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICBDbGVhbnVwIFBsdWdpbiBkb2NzLiBMaW5rIHRvIHNpZ25hbHMgYW5kIHByb3BlcnRpZXMuIEZpeCBzdWItc2VjdGlvbgoJICB0aXRsZXMuIERyb3AgbWVudGluaW5nIHRoYXQgYWxsIG91ciBleGFtcGxlIHBpcGVsaW5lcyBhcmUgInNpbXBsZSIKCSAgcGlwZWxpbmVzLgoKMjAwOC0wNy0xMCAyMDoyMzowOSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IENvbnZlcnQgZXh0ZW5kZWQgZXZlbnQgdGV4dCB0byBVVEYtOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQ29udmVydCBleHRlbmRlZCBldmVudCB0ZXh0IHRvIFVURi04LgoKMjAwOC0wNy0xMCAxODo1MToxMSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG9jdW1lbnQgb25lIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICBEb2N1bWVudCBvbmUgbW9yZS4KCjIwMDgtMDctMTAgMDk6MjA6MjMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDogRml4IGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IgcGFyc2luZywgb3V0IGJ5IDEgaW4gcG9zaXRpb24gb2YgdGV4dCBsZW5ndGguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICBGaXggZXh0ZW5kZWQgZXZlbnQgZGVzY3JpcHRvciBwYXJzaW5nLCBvdXQgYnkgMSBpbiBwb3NpdGlvbiBvZgoJICB0ZXh0IGxlbmd0aC4KCjIwMDgtMDctMDkgMTI6MTM6MDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiBBZGQgYSBub3RlIHRvIHRoZSBkb2NzLCB0aGF0IGZlc3RpdmFsIG5lZWQgdG8gYmUgcnVubmluZy4gQWxzbyBsb2cgYW4gZXJyb3IgaXQgaXQgaXMgbm90Li4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgQWRkIGEgbm90ZSB0byB0aGUgZG9jcywgdGhhdCBmZXN0aXZhbCBuZWVkIHRvIGJlIHJ1bm5pbmcuIEFsc28gbG9nIGFuCgkgIGVycm9yIGl0IGl0IGlzIG5vdC4gRml4ZXMgIzU0MTMyNwoKMjAwOC0wNy0wOCAyMToyMDoyNyArMDAwMCAgSWxqYSBQYXZrb3ZpYyA8aWxsc2VuQGd1bWJsZmFyei5kZT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLio6IEFkZCB2aWV3LW9ubHkgcHJvcGVydHkgdG8gaWdub3JlIHRoZSBuYXZpZ2F0aW9uIGV2ZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICBBZGQgdmlldy1vbmx5IHByb3BlcnR5IHRvIGlnbm9yZSB0aGUgbmF2aWdhdGlvbiBldmVudHMKCjIwMDgtMDctMDggMTg6NTM6NDEgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5jOiBSZXZlcnQgcHJldmlvdXMgcGF0Y2ggYXBhcnQgZnJvbSB0eXBvIGZpeGVzOyB0aGUgcGF0Y2ggd2FzIG5vdCBpbmRlcGVuZGVudGx5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93YXVkaW9kZWMuYzoKCSAgUmV2ZXJ0IHByZXZpb3VzIHBhdGNoIGFwYXJ0IGZyb20gdHlwbyBmaXhlczsgdGhlIHBhdGNoIHdhcyBub3QKCSAgaW5kZXBlbmRlbnRseSB1c2VmdWwuCgoyMDA4LTA3LTA4IDE3OjQxOjU1ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIHN5cy9kc2hvd2RlY3dyYXBwZXIvOiBBZGQgQUFDLCBBQzMgdG8gaGFuZGxlZCBjb2RlY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgQWRkIEFBQywgQUMzIHRvIGhhbmRsZWQgY29kZWNzLgoJICBGaXggaGFuZGxpbmcgb2YgZmx1c2ggZXZlbnRzLgoJICBJbXByb3ZlIGRlYnVnL2Vycm9yIG91dHB1dC4KCSAgRml4IGEgbnVtYmVyIG9mIHR5cG9zIGluIGNvbW1lbnRzIGFuZCB2YXJpYWJsZSBuYW1lcy4KCjIwMDgtMDctMDggMTU6MjQ6NDQgKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogSW1wbGVtZW50IFNlcnZlckN1dFRleHQgbWVzc2FnZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEltcGxlbWVudCBTZXJ2ZXJDdXRUZXh0IG1lc3NhZ2UKCjIwMDgtMDctMDggMTQ6Mjg6MDggKzAwMDAgIElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgoJICBnc3QvbGlicmZiLzogQWRkIHByb3BlcnR5IGZvciBzaGFyZWQgZGVza3RvcAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IElsamEgUGF2a292aWMgPGlsbHNlbkBndW1ibGZhcnouZGU+CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgQWRkIHByb3BlcnR5IGZvciBzaGFyZWQgZGVza3RvcAoKMjAwOC0wNy0wOCAxNDowMToxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBpbmNsdWRlIEVSUk9SX0NGTEFHUyBpbiBHU1RfQ1hYRkxBR1MgYXMgaXQgbWlnaHQgaW5jbHVkZSBmbGFncyB0aGF0IGFyZSBpbnZhbGlkIGZvciBDKysuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgaW5jbHVkZSBFUlJPUl9DRkxBR1MgaW4gR1NUX0NYWEZMQUdTIGFzIGl0IG1pZ2h0IGluY2x1ZGUKCSAgZmxhZ3MgdGhhdCBhcmUgaW52YWxpZCBmb3IgQysrLgoKMjAwOC0wNy0wOCAxMzozMTozNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NwYy9nc3RzcGMuYzogKHNwY19zZXR1cCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzIGluIHRoZSByZW1haW5pbmcgY29kZS4KCjIwMDgtMDctMDggMTM6Mjg6NTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC86IERvbid0IHVzZSBkZWNsYXJhdGlvbnMgYWZ0ZXIgc3RhdGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OgoJICBKb25hdGhhbiBSb3NzZXIgPGpvbmF0aGFuIGRvdCByb3NzZXIgYXQgcmQgZG90IGJiYyBkb3QgY28gZG90IHVrPgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzogKG1ldGFkYXRhcGFyc2VfaGFuZGxlX3VuaXRfdGFncyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIChtZXRhZGF0YXBhcnNlX3htcF9pdGVyX2FkZF90b190YWdfbGlzdCk6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogKGdzdF9teXRodHZfc3JjX3N0YXJ0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKGdzdF93aWxkbWlkaV9sb29wKToKCSAgRG9uJ3QgdXNlIGRlY2xhcmF0aW9ucyBhZnRlciBzdGF0ZW1lbnRzLgoKMjAwOC0wNy0wNyAxMzoyMjoyNiArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogRml4IG1lbW9yeSBsZWFrIGJ5IHVucmVmZmluZyBzdHJ1Y3R1cmVzIHdoZW4gbm90IG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBGaXggbWVtb3J5IGxlYWsgYnkgdW5yZWZmaW5nIHN0cnVjdHVyZXMgd2hlbiBub3QgbmVlZGVkLgoJICBGaXhlcyAjNTM5MjkyLgoKMjAwOC0wNy0wNyAxMDo0Mzo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBVc2UgZmxvYXRpbmcgcG9pbnQgbWF0aCBmb3IgbGF0ZW5jaWVzIDwgMCBzZWMgaW4gbG9nIG91dHB1dC4KCjIwMDgtMDctMDYgMjA6NDM6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOiBNYXJrIGludGVybmFsIHByb2Nlc3NpbmcgZnVuY3Rpb25zIGFzIHN0YXRpYyBpbmxpbmUgZm9yIHF1aXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwyLmluYzoKCSAgTWFyayBpbnRlcm5hbCBwcm9jZXNzaW5nIGZ1bmN0aW9ucyBhcyBzdGF0aWMgaW5saW5lIGZvciBxdWl0ZSBzb21lCgkgIHNwZWVkdXAgYXMgdGhleSdyZSB1c2VkIG9ubHkgb25jZSBhbmQgbmVlZCB0byBnZXQgbWFueSBsb2NhbCB2YXJpYWJsZXMKCSAgcGFzc2VkIGFzIHBhcmFtZXRlci4KCjIwMDgtMDctMDUgMTk6MjA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLio6IENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2RlaW50ZXJsYWNlX2ZyYW1lKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wb3BfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2hlYWRfaGlzdG9yeSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmg6CgkgIENhbGwgdGhlIGN1cnJlbnQgaW5zdGFuY2UgInNlbGYiIGluc3RlYWQgb2YgIm9iamVjdCIuCgoyMDA4LTA3LTA1IDE5OjExOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBJbmNsdWRlIGxhdGVuY3kgb2YgdGhlIG1ldGhvZCBpbiB0aGUgcmV0dXJuZWQgbGF0ZW5jeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ2V0X2xhdGVuY3kpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfbWV0aG9kKSwgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3B1c2hfaGlzdG9yeSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2FwcyksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgSW5jbHVkZSBsYXRlbmN5IG9mIHRoZSBtZXRob2QgaW4gdGhlIHJldHVybmVkIGxhdGVuY3kuCgkgIEZpeCBvdXRwdXR0aW5nIG9mIGFsbCBmaWVsZHMsIGkuZS4gZG91Ymxpbmcgb2YgdGhlIGZyYW1lcmF0ZS4KCjIwMDgtMDctMDUgMTY6NDc6MzIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0IHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZGVpbnRlcmxhY2VfZnJhbWUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9nZXRfZmllbGRzX3JlcXVpcmVkKSwKCSAgKGdzdF9kZWludGVybGFjZTJfbWV0aG9kc19nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkcmVuX2NvdW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfZmluYWxpemUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfbF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2xfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF9ncmVlZHlfaF9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfZ3JlZWR5X2hfaW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3BsdWdpbnMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6CgkgIChnc3RfZGVpbnRlcmxhY2VfbWV0aG9kX3RvbXNtb2NvbXBfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZWludGVybGFjZV9tZXRob2RfdG9tc21vY29tcF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF90b21zbW9jb21wX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX21ldGhvZF92ZmlyX2luaXQpOgoJICBVc2UgYSBHc3RPYmplY3Qgc3VidHlwZSBmb3IgdGhlIGRlaW50ZXJsYWNpbmcgbWV0aG9kcyBhbmQgZXhwb3J0CgkgIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MgZm9yIGVhY2ggZGVpbnRlcmxhY2luZyBtZXRob2QgdmlhIEdPYmplY3QKCSAgcHJvcGVydGllcy4KCSAgSW1wbGVtZW50IEdzdENoaWxkUHJveHkgaW50ZXJmYWNlIHRvIGFsbG93IGFjY2VzcyB0byB0aGUgdXNlZAoJICBkZWludGVybGFjaW5nIG1ldGhvZCBhbmQgdG8gYWxsb3cgYWRqdXN0aW5nIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MuCgkgIE1vdmUgZ2xvYmFsIHZhcmlhYmxlcyBvZiB0aGUgdG9tc21vY29tcCBkZWludGVybGFjaW5nIG1ldGhvZCBpbnRvCgkgIGZ1bmN0aW9uIGxvY2FsIHZhcmlhYmxlcyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGlzIGRlaW50ZXJsYWNpbmcKCSAgbWV0aG9kIGZyb20gZGlmZmVyZW50IGluc3RhbmNlcy4KCjIwMDgtMDctMDUgMTI6MjI6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOiBTdXBwb3J0IHdpZHRocyB0aGF0IGFyZSBub3QgYSBtdWx0aXBseSBvZiA0IHdoZW4gdXNpbmcgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBnci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmFzbToKCSAgU3VwcG9ydCB3aWR0aHMgdGhhdCBhcmUgbm90IGEgbXVsdGlwbHkgb2YgNCB3aGVuIHVzaW5nIHRoZSBhc3NlbWJseQoJICBvcHRpbWl6ZWQgZ3JlZWR5aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA3LTA0IDE4OjU0OjE1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IE9ubHkgYnVpbGQgdGhlIGFzc2VtYmx5IG9wdGltaXplZCBpbXBsZW1lbnRhdGlvbnMgb24geDg2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIChkZWludGVybGFjZV9mcmFtZV9kaV9ncmVlZHloKToKCSAgT25seSBidWlsZCB0aGUgYXNzZW1ibHkgb3B0aW1pemVkIGltcGxlbWVudGF0aW9ucyBvbiB4ODYuCgoyMDA4LTA3LTA0IDE4OjUyOjM3ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBGaXggY2hlY2tpbmcgb2YgaGVhZGVycyBmb3IgdGhlIE9TUzQgcGx1Z2luIHRvIGZhaWwgaWYgYSBzaW5nbGUgaGVhZGVyIGRvZXNuJ3QgZXhpc3QgYWxyZWFkeS4gQUNfQ0hFQ0tfLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRGFtaWVuIExlc3BpYXUgPGRhbWllbiBkb3QgbGVzcGlhdSBhdCBnbWFpbCBkb3QgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGNoZWNraW5nIG9mIGhlYWRlcnMgZm9yIHRoZSBPU1M0IHBsdWdpbiB0byBmYWlsIGlmIGEgc2luZ2xlCgkgIGhlYWRlciBkb2Vzbid0IGV4aXN0IGFscmVhZHkuIEFDX0NIRUNLX0hFQURFUlMgb25seSBmYWlscyBpZiBub25lCgkgIG9mIHRoZSBoZWFkZXJzIGlzIGZvdW5kLiBGaXhlcyBidWcgIzU0MTU0My4KCjIwMDgtMDctMDQgMTY6MDY6MDkgKzAwMDAgIERhbWllbiBMZXNwaWF1IDxkYW1pZW4ubGVzcGlhdUBnbWFpbC5jb20+CgoJICBGaXggYnVpbHQgb2YgdGhlIGZlc3RpdmFsIHBsdWdpbiB3aXRoIG1pbmd3MzIgYnkgbGlua2luZyB0byB3czJfMzIuZGxsIGFuZCBpbmNsdWRpbmcgd2luc29jayBoZWFkZXJzLiBGaXhlcyBidWcgIzU0MTUyMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9mZXN0aXZhbC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSAgRml4IGJ1aWx0IG9mIHRoZSBmZXN0aXZhbCBwbHVnaW4gd2l0aCBtaW5ndzMyIGJ5IGxpbmtpbmcgdG8gd3MyXzMyLmRsbAoJICBhbmQgaW5jbHVkaW5nIHdpbnNvY2sgaGVhZGVycy4gRml4ZXMgYnVnICM1NDE1MjIuCgoyMDA4LTA3LTAzIDE0OjQ0OjUxICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogQ2hhbmdlTG9nOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgQ29ycmVjdGVkIGEgdHlwbyAoaW50ZXJwb2xsYXRlIC0+IGludGVycG9sYXRlKS4KCjIwMDgtMDctMDMgMTQ6MzE6MTAgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zeW5jX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocHVzaF9wYWNrZXQpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBDaGFuZ2VkIHNvbWUgR1NUX0RFQlVHKCkgdG8gR1NUX0xPRygpIHRvIHJlZHVjZSB0aGUgc3BhbSB3aGVuIGEKCSAgcGlwZWxpbmUgaXMgcnVubmluZyBub3JtYWxseS4KCjIwMDgtMDctMDMgMTM6NDc6MTkgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBEbyBub3QgbWl4IHRoZSB1c2Ugb2YgZ19nZXRfY3VycmVudF90aW1lKCkgd2l0aCBnc3RfY2xvY2tfZ2V0X3RpbWUoKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoY2hlY2tfY29sbGlzaW9uKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX2J5ZV9sb2NrZWQpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2NrcyksIChzZXNzaW9uX2NsZWFudXApLAoJICAoaXNfcnRjcF90aW1lKSwgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgRG8gbm90IG1peCB0aGUgdXNlIG9mIGdfZ2V0X2N1cnJlbnRfdGltZSgpIHdpdGggZ3N0X2Nsb2NrX2dldF90aW1lKCkuCgoyMDA4LTA3LTAxIDIxOjQwOjE5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS4qOiBRdWV1ZSBuZXctc2VnbWVudCBldmVudHMgYW5kIHNlbmQgdGhlbSBhZnRlciBjYXBzIGhhdmUgYmVlbiBkZXRlcm1pbmVkIGFuZCBzZXQsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgUXVldWUgbmV3LXNlZ21lbnQgZXZlbnRzIGFuZCBzZW5kIHRoZW0gYWZ0ZXIgY2FwcyBoYXZlIGJlZW4KCSAgZGV0ZXJtaW5lZCBhbmQgc2V0LCBzbyB0aGF0IHRoZSBkZWNvZGVyIHdpbGwgaGF2ZSBiZWVuIGF1dG8tcGx1Z2dlZC4KCjIwMDgtMDctMDEgMTE6Mjg6MTcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9xdHdyYXBwZXIvOiBNYWtlIHF0d3JhcHBlciBjb21waWxlL3dvcmsgb24gd2luMzIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieSA6IE1pY2hhZWwgU21pdGggPG1zbWl0aCBAIHhpcGggZG90IG9yZz4KCSAgKiBzeXMvcXR3cmFwcGVyL2F1ZGlvZGVjb2RlcnMuYzogKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2luaXQpLAoJICAoY2xlYXJfQXVkaW9TdHJlYW1CYXNpY0Rlc2NyaXB0aW9uKSwgKGZpbGxfaW5kZXNjX21wMyksCgkgIChmaWxsX2luZGVzY19hYWMpLCAobWFrZV9zYW1yX21hZ2ljX2Nvb2tpZSksICh3cml0ZV9sZW4pLAoJICAobWFrZV9hYWNfbWFnaWNfY29va2llKSwgKG9wZW5fZGVjb2RlciksIChwcm9jZXNzX2J1ZmZlcl9jYiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl9hdWRpb19kZWNvZGVyc19yZWdpc3Rlcik6CgkgICogc3lzL3F0d3JhcHBlci9jb2RlY21hcHBpbmcuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL2ltYWdlZGVzY3JpcHRpb24uYzogKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9hdmMxKSwKCSAgKGltYWdlX2Rlc2NyaXB0aW9uX2Zvcl9tcDR2KSwgKGltYWdlX2Rlc2NyaXB0aW9uX2Zyb21fc3RzZF9idWZmZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOiAoZ2V0X25hbWVfaW5mb19mcm9tX2NvbXBvbmVudCksCgkgIChkdW1wX2F2Y2NfYXRvbSksIChkdW1wX2ltYWdlX2Rlc2NyaXB0aW9uKSwKCSAgKEFsbG9jYXRlQXVkaW9CdWZmZXJMaXN0KToKCSAgKiBzeXMvcXR3cmFwcGVyL3F0dXRpbHMuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3F0d3JhcHBlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmg6CgkgICogc3lzL3F0d3JhcHBlci92aWRlb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9iYXNlX2luaXQpLCAob3Blbl9kZWNvZGVyKSwKCSAgKGRlY29tcHJlc3NDYiksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICBNYWtlIHF0d3JhcHBlciBjb21waWxlL3dvcmsgb24gd2luMzIuCgkgIExvdHMgb2YgZml4ZXMKCSAgRml4ZXMgIzUzMTg0MAoKMjAwOC0wNi0zMCAxOToxOToyNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgUkdCIGJ1ZmZlcnMgLT4gYnBwIGlzIGluIGJpdHMsIHNvIGRpdmlkZSBieSA4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBSR0IgYnVmZmVycyAtPiBicHAgaXMgaW4gYml0cywgc28gZGl2aWRlIGJ5IDgKCjIwMDgtMDYtMzAgMDc6NTE6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBSZW1vdmUgdXNlbGVzcyBmaWxlIGFuZCBtYXJrIGV2ZXJ5dGhpbmcgcG9zc2libGUgYXMgc3RhdGljLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKHRvbXNtb2NvbXBfaW5pdCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl9tbXgpLCAodG9tc21vY29tcF9maWx0ZXJfM2Rub3cpLAoJICAodG9tc21vY29tcF9maWx0ZXJfc3NlKSwgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgUmVtb3ZlIHVzZWxlc3MgZmlsZSBhbmQgbWFyayBldmVyeXRoaW5nIHBvc3NpYmxlIGFzIHN0YXRpYy4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6CgkgIFVzZSAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4uCgoyMDA4LTA2LTI5IDEwOjU2OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyLzogR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5IGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuYzogKEZpZWxkY29weSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9mcmFtZV92ZmlyKToKCSAgR2V0IHJpZCBvZiBzcGVlZHkuW2NoXSBhcyB3ZSBkb24ndCB1c2UgbW9zdCBvZiBpdCdzIGNvZGUgYW55d2F5CgkgIGFuZCBpdCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVsaWNlbnNlZCB0byBMR1BMLiBVc2UgbWVtY3B5KCkgaW5zdGVhZAoJICBvZiB0aGUgc3BlZWR5IG1lbWNweSBldmVyeXdoZXJlIGluc3RlYWQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVtb3ZlIG1hbnkgdW51c2VkIGRlY2xhcmF0aW9ucy4KCjIwMDgtMDYtMjggMjA6NTE6MzYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hcmsubmF1d2VsYWVydHNAY29sbGFib3JhLmNvLnVrPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy4qOiBFeHBvc2UgdGhlIGFkZGl0aW9uYWwgTVBFRyBIRFRWIGZvcm1hdCBwcm9maWxlcyBhdmFpbGFibGUgaW4gbGF0ZXN0IG1qcGVndG9vbHMgdmVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29wdGlvbnMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5oaDoKCSAgRXhwb3NlIHRoZSBhZGRpdGlvbmFsIE1QRUcgSERUViBmb3JtYXQgcHJvZmlsZXMgYXZhaWxhYmxlIGluIGxhdGVzdAoJICBtanBlZ3Rvb2xzIHZlcnNpb24uCgoyMDA4LTA2LTI4IDE4OjEzOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOiAoZ3N0X2RlaW50ZXJsYWNlMl9zcmNfcXVlcnkpOgoJICBEaXZpZGUgbGF0ZW5jeSBiZSAyIHRvIGNvbnZlcnQgZnJvbSBmaWVsZHMgdG8gZnJhbWVzLgoKMjAwOC0wNi0yOCAxODoxMDo1MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncyBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeSk6CgkgIERvbid0IHVzZSBzY2FubGluZXMgZnVuY3Rpb24gZnJvbSBnc3RkZWludGVybGFjZTIgYXMgaXQncwoJICBub3QgYXBwcm9waWF0ZSBmb3IgdGhpcyBtZXRob2QuIEluc3RlYWQgaW1wbGVtZW50IGRlaW50ZXJsYWNlX2ZyYW1lCgkgIGZ1bmN0aW9uIGJ5IHRha2luZyB0aGUgb25lIGZyb20gZ3JlZWR5aC4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHloLmM6IChncmVlZHlEU2NhbGVyX0MpOgoJICBTbWFsbCBmaXggZm9yIHRoZSBDIGltcGxlbWVudGF0aW9uLgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2ZyYW1lX3ZmaXIpOgoJICBEb24ndCB1c2UgdGhlIHNjYW5saW5lcyBmdW5jdGlvbiBmcm9tIGdzdGRlaW50ZXJsYWNlMiBhcyBpdCdzIG9ubHkKCSAgdXNlZCBmb3IgdGhpcyBtZXRob2QgYW5kIHdpbGwgYmUgcmVtb3ZlZC4gSW5zdGVhZCBpbXBsZW1lbnQKCSAgZGVpbnRlcmxhY2VfZnJhbWUgZnVuY3Rpb24gYW5kIG1ha2UgaXQgYSBiaXQgbW9yZSBlZmZpY2llbnQuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KToKCSAgRml4IGNvZGluZyBzdHlsZSBhbmQgcmVtb3ZlIHNjYW5saW5lcyBmdW5jdGlvbiBhcyBpdCdzIHVudXNlZCBub3cuCgoyMDA4LTA2LTI4IDE3OjI1OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS86IEFkZCBhIEMgaW1wbGVtZW50YXRpb24gZm9yIHRoZSBncmVlZHloIGRlaW50ZXJsYWNpbmcgbWV0aG9kLCBjbGVhbiB1cCB0aGUgY29kZSBhIGJpdCBhbmQgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOiAoZ3JlZWR5RFNjYWxlcl9DKSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgQWRkIGEgQyBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWggZGVpbnRlcmxhY2luZyBtZXRob2QsIGNsZWFuCgkgIHVwIHRoZSBjb2RlIGEgYml0IGFuZCBtYXJrIHRoZSBTU0UgdmVyc2lvbiBhcyBNTVhFWFQgYXMgaXQgZG9lc24ndAoJICByZXF1aXJlIGFueSBTU0UgaW5zdHJ1Y3Rpb25zLgoKMjAwOC0wNi0yNyAxMzoyMjozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzogSWYgd2UncmUgb3V0cHV0dGluZyBhbGwgZmllbGRzIHRoZSBmcmFtZXJhdGUgaGFzIHRvIGJlIGRvdWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2V0Y2Fwcyk6CgkgIElmIHdlJ3JlIG91dHB1dHRpbmcgYWxsIGZpZWxkcyB0aGUgZnJhbWVyYXRlIGhhcyB0byBiZSBkb3VibGVkLgoJICBTZXQgZHVyYXRpb24gb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA4LTA2LTI2IDE1OjUyOjQwICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYXJrLm5hdXdlbGFlcnRzQGNvbGxhYm9yYS5jby51az4KCgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciBZVVY0TVBFRzIgZW5jb2RlciBlbGVtZW50LgoKMjAwOC0wNi0yNSAxNjowNTowOCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvdG9tc21vY29tcG1hY3Jvcy5oOiBSZW1vdmUgdW5uZWVkZWQgbWFjcm9zIHRoYXQgYnJlYWsgYnVpbGQgb24gbWFjb3N4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgUmVtb3ZlIHVubmVlZGVkIG1hY3JvcyB0aGF0IGJyZWFrIGJ1aWxkIG9uIG1hY29zeC4KCjIwMDgtMDYtMjQgMTU6NDg6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IERlcGVuZCBvbiByZWxlYXNlZCB2ZXJzaW9ucyBvZiBjb3JlIGFuZCAtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEZXBlbmQgb24gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UuCgoyMDA4LTA2LTI0IDEyOjA4OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogT3B0aW1pemUgTU1YL01NWEVYVCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgYnkgcmVxdWlyaW5nIHR3byBsZXNzIG1lbW9yeSBhY2Nlc3NlcyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIE9wdGltaXplIE1NWC9NTVhFWFQgaW1wbGVtZW50YXRpb25zIGEgYml0IGJ5IHJlcXVpcmluZyB0d28gbGVzcwoJICBtZW1vcnkgYWNjZXNzZXMgYW5kIGZpeCB0aGUgd29ya2Fyb3VuZCBmb3IgdGhlIG1pc3NpbmcgcmlnaHQgc2hpZnQKCSAgb24gYnl0ZXMgdG8gdW5zZXQgdGhlIGhpZ2hlc3QgYml0IG9mIGV2ZXJ5IGJ5dGUuCgoyMDA4LTA2LTI0IDEwOjE1OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogUmVtb3ZlIHNmZW5jZSBpbnN0cnVjdGlvbiBhcyBpdCdzIG5vdCBuZWVkZWQgYW5kIGFjdHVhbGx5IGlzIGFuIFNTRSBpbnN0cnVjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6CgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCk6CgkgIFJlbW92ZSBzZmVuY2UgaW5zdHJ1Y3Rpb24gYXMgaXQncyBub3QgbmVlZGVkIGFuZCBhY3R1YWxseSBpcyBhbiBTU0UKCSAgaW5zdHJ1Y3Rpb24uCgoyMDA4LTA2LTI0IDEwOjEyOjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogQWRkIHBsYWluIE1NWCBpbXBsZW1lbnRhdGlvbiBmb3IgdGhlIGdyZWVkeWwgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBBZGQgcGxhaW4gTU1YIGltcGxlbWVudGF0aW9uIGZvciB0aGUgZ3JlZWR5bCBtZXRob2QuCgoyMDA4LTA2LTI0IDA5OjQwOjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOiBNb3ZlIHRoZSBhc3NlbWJseSBpbmNsdWRlcyB0byBub2luc3RfSEVBREVSUyB3aGVyZSB0aGV5IGJlbG9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgTW92ZSB0aGUgYXNzZW1ibHkgaW5jbHVkZXMgdG8gbm9pbnN0X0hFQURFUlMgd2hlcmUgdGhleSBiZWxvbmcuCgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfbW14KToKCSAgRml4IEMgYW5kIE1NWCBpbXBsZW1lbnRhdGlvbnMgYSBiaXQgbW9yZS4KCjIwMDgtMDYtMjQgMDk6MTA6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiBGaXggdGhlIEMgaW1wbGVtZW50YXRpb24gdG8gcHJvZHVjZSBjb3JyZWN0IHJlc3VsdHMgYW5kIG9wdGltaXplIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzoKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lKToKCSAgRml4IHRoZSBDIGltcGxlbWVudGF0aW9uIHRvIHByb2R1Y2UgY29ycmVjdCByZXN1bHRzIGFuZCBvcHRpbWl6ZSB0aGUKCSAgTU1YRVhUIGltcGxlbWVudGF0aW9uLgoJICBIYW5kbGUgb2RkIHdpZHRocyBhbmQgZG9uJ3QgcmVhZCBvdmVyIGFycmF5IGJvdW5kYXJpZXMgaW4gdGhlIE1NWEVYVAoJICBpbXBsZW1lbnRhdGlvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS92ZmlyLmM6IChkZWludGVybGFjZV9saW5lX2MpLAoJICAoZGVpbnRlcmxhY2VfbGluZV9tbXgpLCAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpcik6CgkgIEZpeCBhIHNtYWxsIHJvdW5kaW5nIGJ1ZyBpbiB0aGUgTU1YIGltcGxlbWVudGF0aW9uLCB0aGUgTU1YCgkgIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgYWN0dWFsbHkgbmVlZCBNTVhFWFQgaW5zdHJ1Y3Rpb25zIHNvIGRvbid0IG1hcmsKCSAgaXQgYXMgc3VjaC4KCSAgSGFuZGxlIG9kZCB3aWR0aHMgaW4gYm90aCBpbXBsZW1lbnRhdGlvbnMuCgoyMDA4LTA2LTIxIDIxOjIwOjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOiBVc2UgdGhlIHJpZ2h0IGkxOG4gaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYmFzZXNyYy5jOgoJICBVc2UgdGhlIHJpZ2h0IGkxOG4gaGVhZGVyLgoKMjAwOC0wNi0yMSAwOTowNTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5LmM6IEltcGxlbWVudCBhIEMgdmVyc2lvbiBvZiB0aGUgZ3JlZWR5IGxvdyBtb3Rpb24gYWxnb3JpdGhtIGFuZCBtYXJrIHRoZSBhc3NlbWJseSBvcHRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOgoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9zc2UpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRlaW50ZXJsYWNlX2dyZWVkeV9wYWNrZWQ0MjJfc2NhbmxpbmUpOgoJICBJbXBsZW1lbnQgYSBDIHZlcnNpb24gb2YgdGhlIGdyZWVkeSBsb3cgbW90aW9uIGFsZ29yaXRobSBhbmQgbWFyayB0aGUKCSAgYXNzZW1ibHkgb3B0aW1pemVkIHZlcnNpb24gYXMgU1NFIGFzIGl0IHVzZXMgU1NFIGluc3RydWN0aW9ucwoJICBhZGRpdGlvbmFsIHRvIE1NWCBpbnN0cnVjdGlvbnMuCgoyMDA4LTA2LTIwIDE2OjU0OjI4ICswMDAwICBTZWJhc3RpYW4gUMO2bHN0ZXJsIDxtYXJkdWtAay1kLXcub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRml4IHByb2JsZW0gd2hlbiBlbXB0eSBzdHJpbmcgaXMgcHJvdmlkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIFDDtmxzdGVybAoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeCBwcm9ibGVtIHdoZW4gZW1wdHkgc3RyaW5nIGlzIHByb3ZpZGVkLgoKMjAwOC0wNi0yMCAxNDo0ODo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSB0aGUgdmZpciBtZXRob2Qgb24gWDg2IENQVXMgd2l0aG91dCBNTVhFWFQgdG9vIGJ1dCB1c2UgdGhlIE1NLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmVfbW14ZXh0KSwKCSAgKGRlaW50ZXJsYWNlX2xpbmVfYyksIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byB1c2UgdGhlIHZmaXIgbWV0aG9kIG9uIFg4NiBDUFVzIHdpdGhvdXQgTU1YRVhUIHRvbwoJICBidXQgdXNlIHRoZSBNTVhFWFQgb3B0aW1pemVkIGNvZGUgd2hlbmV2ZXIgcG9zc2libGUuCgoyMDA4LTA2LTIwIDE0OjM1OjI1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi4qOiBSZXNldCBlbGVtZW50IHN0YXRlIG9uIFBBVVNFRC0+UkVBRFkgcHJvcGVybHksIGRvbid0IGxlYWsgYW55IGJ1ZmZlcnMgd2hlbiBmaW5hbGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuYzoKCSAgKGdzdF9kZWludGVybGFjZTJfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9yZXNldF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcmVzZXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX2NoYWluKSwKCSAgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgUmVzZXQgZWxlbWVudCBzdGF0ZSBvbiBQQVVTRUQtPlJFQURZIHByb3Blcmx5LCBkb24ndCBsZWFrIGFueSBidWZmZXJzCgkgIHdoZW4gZmluYWxpemluZywgYWxsb2NhdGUgYnVmZmVycyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYW5kCgkgIHByb3Blcmx5IHJldHVybiBmbG93IHJldHVybnMgZnJvbSBnc3RfcGFkX3B1c2goKSBpbnN0ZWFkIG9mIGlnbm9yaW5nIHRoZW0uCgoyMDA4LTA2LTIwIDEzOjQ1OjA4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDogQWRkIG1pc3NpbmcgaGVhZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL3RvbXNtb2NvbXBtYWNyb3MuaDoKCSAgQWRkIG1pc3NpbmcgaGVhZGVyLgoKMjAwOC0wNi0yMCAxMzoyNDoyOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGNvbXBpbGF0aW9uIG9uIGdlbmVyaWMgeDg2L2FtZDY0IGFuZCBpbmNsdWRlIGRlaW50ZXJsYWNlMiBpbiB0aGUgYnVpbGQgc3lzdGVtLiBCZWNhdXNlIG9mIHNldmVyYWwgYnVncyBpdCdzIHN0aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEJvdHRvbS5pbmM6CgkgIEZpeCBjb21waWxhdGlvbiBvbiBnZW5lcmljIHg4Ni9hbWQ2NCBhbmQgaW5jbHVkZSBkZWludGVybGFjZTIgaW4gdGhlCgkgIGJ1aWxkIHN5c3RlbS4gQmVjYXVzZSBvZiBzZXZlcmFsIGJ1Z3MgaXQncyBzdGlsbCBlbmFibGVkIG9ubHkKCSAgYnkgLS1lbmFibGUtZXhwZXJpbWVudGFsLgoKMjAwOC0wNi0yMCAxMzowNzo1NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuKjogU2NoZWR1bGUgTkFWIHBhY2tldHMgYW5kIGFjdGl2YXRlIHRoZW0gd2l0aCBhbiBhc3luYyBjbG9jayBjYWxsYmFjayBhdCB0aGUgcmlnaHQgbW9tZW50LiAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgIFNjaGVkdWxlIE5BViBwYWNrZXRzIGFuZCBhY3RpdmF0ZSB0aGVtIHdpdGggYW4gYXN5bmMgY2xvY2sgY2FsbGJhY2sKCSAgYXQgdGhlIHJpZ2h0IG1vbWVudC4gVGhpcyBtYWtlcyBkZWxheWVkIG1lbnUgaGlnaGxpZ2h0cyBhcHBlYXIKCSAgYXQgdGhlIGNvcnJlY3QgdGltZSBhbmQgZml4ZXMgQmFjayBUbyBUaGUgRnV0dXJlLgoJICBXaGVuIG91dHB1dHRpbmcgbmV3IHNlZ21lbnQgaW4gZG9fc2VlaygpLCBjYWxjdWxhdGUgb3VyIHBvc2l0aW9uCgkgIHZhbHVlIHByb3Blcmx5LCBzbyB3ZSByZXBvcnQgdGhlIHJpZ2h0IHRpbWUgd2hlbiBwb3BwaW5nIGluIGFuZAoJICBvdXQgb2YgdGhlIG1lbnVzLgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgIFdoZW4gaGFuZGxpbmcgYSBub24tZmx1c2hpbmcgc2VlaywgYWNjdW11bGF0ZSB0aGUgc2VnbWVudCwKCSAgcmF0aGVyIHRoYW4gaGF2aW5nIGV2ZXJ5IHNlZWsgc3RhcnQgZnJvbSAwIGFuZCBtZXNzaW5nIHdpdGggc3luYwoKMjAwOC0wNi0xOSAxMzoxODoyNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgVXNlIEJPSUxFUlBMQVRFIG1hY3JvIGFuZCB1cGRhdGUgdGVzdCB0byB0aGUgbGF0ZXN0IGFwaSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzoKCSAgKiB0ZXN0cy9pY2xlcy9vdXRwdXQtc2VsZWN0b3ItdGVzdC5jOgoJICBVc2UgQk9JTEVSUExBVEUgbWFjcm8gYW5kIHVwZGF0ZSB0ZXN0IHRvIHRoZSBsYXRlc3QgYXBpIGNoYW5nZXMuCgoyMDA4LTA2LTE5IDExOjI1OjM3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IERvbid0IHVzZSBhIGJ1ZmZlciBhZnRlciB1bnJlZmZpbmcgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzaW5rLXNyYy5jOiAob25fbmV3X2J1ZmZlcl9mcm9tX3NvdXJjZSk6CgkgIERvbid0IHVzZSBhIGJ1ZmZlciBhZnRlciB1bnJlZmZpbmcgaXQuCgoyMDA4LTA2LTE4IDA3OjAyOjU0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6IEFkZCBkZXNjcmlwdGlvbiB0YWcgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJICBBZGQgZGVzY3JpcHRpb24gdGFnIG1hcHBpbmcuCgoyMDA4LTA2LTE4IDA2OjMxOjEzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggZ3RrLWRvYyB3YXJuaW5ncy4gQWxzbyBkb24ndCBtaXN1c2UgYXBpLWRvYyBjb21tZW50cyBmb3Igbm9ybWFsIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtcmEuYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzoKCSAgRml4IGd0ay1kb2Mgd2FybmluZ3MuIEFsc28gZG9uJ3QgbWlzdXNlIGFwaS1kb2MgY29tbWVudHMgZm9yIG5vcm1hbAoJICBjb21tZW50cy4KCjIwMDgtMDYtMTcgMTk6NTI6MDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6IFBhcnNlIHRoZSBVUkkgYXJndW1lbnQgaW50byB0aGUgZGV2aWNlIG5hbWUgc28gZHZkOi8vL3BhdGgvdG8vaW1hZ2Ugd29ya3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZGJpbi5jOgoJICBQYXJzZSB0aGUgVVJJIGFyZ3VtZW50IGludG8gdGhlIGRldmljZSBuYW1lIHNvIGR2ZDovLy9wYXRoL3RvL2ltYWdlCgkgIHdvcmtzLgoJICAqIGV4dC9yZXNpbmR2ZC9yZXNpbmR2ZHNyYy5jOgoJICBJbXBsZW1lbnQgYSB0cml2aWFsIGR1cmF0aW9uIHF1ZXJ5IHJlcG9ydGluZyB0aGUgY3VycmVudCBQR0MgbGVuZ3RoLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIFJlbmFtZSB0eXBvIGluIHRoZSBmdW5jdGlvbiBuYW1lLgoKMjAwOC0wNi0xNyAxMTowMTo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIGRlaW50ZXJsYWNlMiBwbHVnaW4gYWdhaW4gd2hpY2ggd2FzIGFjY2lkZW50bHkgZW5hYmxlZCB3aXRoIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgZGVpbnRlcmxhY2UyIHBsdWdpbiBhZ2FpbiB3aGljaCB3YXMgYWNjaWRlbnRseSBlbmFibGVkCgkgIHdpdGggbGFzdCBjb21taXQuCgoyMDA4LTA2LTE3IDEwOjUzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBNYWtlIHJlc2luZHZkIHdvcmsgd2l0aCBsaWJkdmRuYXYgPj0gNC4wLjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvcmVzaW5kdmQvcmVzaW5kdmRzcmMuaDoKCSAgTWFrZSByZXNpbmR2ZCB3b3JrIHdpdGggbGliZHZkbmF2ID49IDQuMC4wLgoKMjAwOC0wNi0xNyAwMTowODoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBsaWJkdmRuYXYgdG8gYnVpbGQgcmVzaW5kdmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGxpYmR2ZG5hdiB0byBidWlsZCByZXNpbmR2ZC4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3Jlc2luZHZkL01ha2VmaWxlLmFtOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVmcy5oOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RtcGVnZGVtdXguYzoKCSAgKiBleHQvcmVzaW5kdmQvZ3N0bXBlZ2RlbXV4Lmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmM6CgkgICogZXh0L3Jlc2luZHZkL2dzdG1wZWdkZXNjLmg6CgkgICogZXh0L3Jlc2luZHZkL2dzdHBlc2ZpbHRlci5jOgoJICAqIGV4dC9yZXNpbmR2ZC9nc3RwZXNmaWx0ZXIuaDoKCSAgKiBleHQvcmVzaW5kdmQvcGx1Z2luLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luLXBsYXk6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkYmluLmg6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3Jlc2luZHZkc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbmF1ZGlvbXVuZ2UuYzoKCSAgKiBleHQvcmVzaW5kdmQvcnNuYXVkaW9tdW5nZS5oOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25iYXNlc3JjLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbmJhc2VzcmMuaDoKCSAgKiBleHQvcmVzaW5kdmQvcnNucHVzaHNyYy5jOgoJICAqIGV4dC9yZXNpbmR2ZC9yc25wdXNoc3JjLmg6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmM6CgkgICogZXh0L3Jlc2luZHZkL3JzbnN0cmVhbXNlbGVjdG9yLmg6CgkgIEZpcnN0IGNvbW1pdCBvZiBEVkQtVmlkZW8gcGxheWJhY2sgY29tcG9uZW50ICdyc25kdmRiaW4nCgkgIGFuZCBoZWxwZXIgZWxlbWVudHMuCgkgIFVzZSAtLWVuYWJsZS1leHBlcmltZW50YWwgZm9yIG5vdywgYnV0IGZlZWwgZnJlZSB0byBnaXZlIGl0IGEKCSAgdHJ5IHVzaW5nIHRoZSByZXNpbi1wbGF5IHNjcmlwdC4KCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5jOgoJICBBZGQgc29tZSBleHRyYSBndWFyZHMgZm9yIG1hbGZvcm1lZCBldmVudHMuCgoyMDA4LTA2LTE3IDAwOjM3OjQ5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCBkaXJhYyByZXF1aXJlbWVudCB0byAwLjEwIGR1ZSB0byBhcGkgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGRpcmFjIHJlcXVpcmVtZW50IHRvIDAuMTAgZHVlIHRvIGFwaSBjaGFuZ2VzLgoKMjAwOC0wNi0xNiAxNDoxMTozNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNi0xNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKQoJICAoZ3N0X2FwcF9zcmNfZ2V0X21heF9ieXRlcywgZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpOiBVc2UKCSAgR19HVUlOVDY0X0ZPUk1BVC4gQXZvaWQgb3ZlcmZsb3cgaW4gZ2V0X21heF9ieXRlcygpLgoKMjAwOC0wNi0xNiAxMjozNzozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogTW92ZSBkb2NibG9iIHVwd2FyZHMuIEJhbGFuY2UgdGFncyBhbmQgcmVzdG9yZSBibGFuayBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBNb3ZlIGRvY2Jsb2IgdXB3YXJkcy4gQmFsYW5jZSB0YWdzIGFuZCByZXN0b3JlIGJsYW5rIGxpbmUuCgoyMDA4LTA2LTE2IDExOjQ3OjM0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRml4IG91dCBvZiBkYXRlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIEZpeCBvdXQgb2YgZGF0ZSBkb2NzLgoKMjAwOC0wNi0xNiAxMToyOTo0NiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIFBhdGNoIGZyb206IFZpbmNlbnQgR2VuaWV1eAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggZnJvbTogVmluY2VudCBHZW5pZXV4CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIEZpeCByZWZjb3VudCBpc3N1ZXMsIGZpeGVzICM1Mzg1NjAuCgoyMDA4LTA2LTE2IDA5OjIyOjMwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2UgdGhlIGV4dGVuZGVkIGV2ZW50IGRlc2NyaXB0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIHRoZSBleHRlbmRlZCBldmVudCBkZXNjcmlwdG9yLgoKMjAwOC0wNi0xNiAwNzozMDozNCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRmluYWwgcm91bmQgb2YgZG9jIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9hbmFseXNlLmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICBGaW5hbCByb3VuZCBvZiBkb2MgdXBkYXRlcy4KCjIwMDgtMDYtMTYgMDc6MDM6NTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IE1vcmUgZG9jIHVwZGF0ZXMuIE1vcmUgeHJlZnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOgoJICBNb3JlIGRvYyB1cGRhdGVzLiBNb3JlIHhyZWZzLgoKMjAwOC0wNi0xMyAyMjo0Njo0MyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQyBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDYtMTQgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9jbGVhbnVwKSwKCSAgKGdzdF9mbHZfZGVtdXhfZGlzcG9zZSk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfYXVkaW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdmlkZW9fbmVnb3RpYXRlKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogSW50cm9kdWNlIGRlbXV4aW5nIHN1cHBvcnQgZm9yIEFBQwoJICBhbmQKCSAgSC4yNjQvQVZDIGluc2lkZSBGTFYuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19pbml0KSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX2NoYWluKSwgKGdzdF9kc2hvd2F1ZGlvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd2F1ZGlvZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2RzaG93YXVkaW9kZWNfc2V0dXBfZ3JhcGgpOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb2RlYy5jOgoJICAoZ3N0X2RzaG93dmlkZW9kZWNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb2RlY19zaW5rX2V2ZW50KSwgKGdzdF9kc2hvd3ZpZGVvZGVjX2NoYWluKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX3NyY19nZXRjYXBzKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuaDogTG90IG9mIHJhbmRvbSBmaXhlcwoJICB0byBpbXByb3ZlIHN0YWJpbGl0eSAocmVmIGNvdW50aW5nLCBzYWZldHkgY2hlY2tzLi4uKQoKMjAwOC0wNi0xMyAxODoyNToxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBEaXNhYmxlIHNpcHJvIG9uIDY0Yml0cywgaXQgY3Jhc2hlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfcHJvYmVfbW9kdWxlcyk6CgkgIERpc2FibGUgc2lwcm8gb24gNjRiaXRzLCBpdCBjcmFzaGVzLgoKMjAwOC0wNi0xMyAxODowMzoxNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBBZGQgcmF2ZXJzaW9ucyB3ZSBjYW4gc3VwcG9ydCBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfY2hhaW4pLAoJICAoY2xvc2VfbGlicmFyeSksIChvcGVuX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3Byb2JlX21vZHVsZXMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldGNhcHMpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICBBZGQgcmF2ZXJzaW9ucyB3ZSBjYW4gc3VwcG9ydCBvbiB0aGUgY2Fwcy4KCSAgUmVmYWN0b3IgdGhlIGxvYWRpbmcgb2YgdGhlIHJlYWwgY29kZWNzIGxpa2UgcmVhbHZpZGVvIHNvIHRoYXQgd2UgY2FuCgkgIGltcGxlbWVudCBwcm9iaW5nLgoJICBQcm9iZSBhbGwgc3VwcG9ydGVkIGZvcm1hdHMgYnkgdHJ5aW5nIHRvIGxvYWQgdGhlIC5zbyBmaWxlcywgb25seSByZXBvcnQKCSAgdGhlIHZlcnNpb25zIG9uIHRoZSBjYXBzIHRoYXQgd2UgY2FuIGFjdHVhbGx5IGxvYWQuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldGNhcHMpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLAoJICAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3Byb2JlX21vZHVsZXMpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbF92aWRlb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBDaGFuZ2UgdGhlIGxvYWRpbmcgb2YgdGhlIGxpYnJhcnkgbGlrZSB0aGUgYXVkaW8gZGVjb2Rlci4KCSAgUHJvYmUgdGhlIHN1cHBvcnRlZCBmb3JtYXRzIGJ5IHRyeWluZyB0byBsb2FkIHRoZSAuc28gZmlsZXMgYW5kIG9ubHkKCSAgcmVwb3J0IHRoZSB2ZXJzaW9ucyBvbiB0aGUgY2FwcyB0aGF0IHdlIGNhbiBhY3R1YWxseSBsb2FkLgoKMjAwOC0wNi0xMyAxNTo0NjowMyArMDAwMCAgU2ViYXN0aWFuIFDDtmxzdGVybCA8bWFyZHVrQGstZC13Lm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEhhbmRsZSBjaGFyYWN0ZXIgc2V0cyBpbiBzdHJpbmdzIGNvbWluZyBmcm9tIERWQiBTSSBhY2NvcmRpbmcgdG8gdGhlIERWQiBTSSBzcGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IFNlYmFzdGlhbiBQw7Zsc3RlcmwKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBIYW5kbGUgY2hhcmFjdGVyIHNldHMgaW4gc3RyaW5ncyBjb21pbmcgZnJvbSBEVkIgU0kgYWNjb3JkaW5nCgkgIHRvIHRoZSBEVkIgU0kgc3BlYy4KCjIwMDgtMDYtMTMgMTQ6MzM6NTIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluLzogTW9yZSBkb2MgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6CgkgIE1vcmUgZG9jIHVwZGF0ZXMuCgoyMDA4LTA2LTEzIDExOjU5OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXl0aHR2LnhtbAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW15dGh0di54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmFzLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tb3NzNC54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZWFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc25kZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdWJlbmMueG1sCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgICogZ3N0L2Zlc3RpdmFsL2dzdGZlc3RpdmFsLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzoKCSAgQWRkIG1pc3NpbmcgZWxlbWVudHMgdG8gZG9jcy4gRml4IGRvYy1tYXJrdXA6IHVzZSBjb252aW5pZW5jZSBzeW50YXgKCSAgZm9yIGV4YW1wbGVzIChwcm9kdWNlcyB2YWxpZCBkb2Nib29rKSwgYWRkIHNldmVyYWwgcmVmc2VjMiB3aGVuIHdlCgkgIGhhdmUgc2V2ZXJhbCB0aXRsZXMuIEZpeCBzb21lIHR5cGVzLgoKMjAwOC0wNi0xMiAxNTo0NzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZCBiZWVmZWQgdXAgZXhhbXBsZSBhcHAgZnJvbSBidWcgIzQxMzQxOC4gSXQgbm93IGFsc28gdXNlcyBhcHBzaW5rIGluc3RlYWQgb2YgZmFrZXNpbmsgZm9yIG1vcmUgdWx0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvLmN2c2lnbm9yZToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNpbmstc3JjLmM6IChvbl9uZXdfYnVmZmVyX2Zyb21fc291cmNlKSwKCSAgKG9uX3NvdXJjZV9tZXNzYWdlKSwgKG9uX3NpbmtfbWVzc2FnZSksIChtYWluKToKCSAgQWRkIGJlZWZlZCB1cCBleGFtcGxlIGFwcCBmcm9tIGJ1ZyAjNDEzNDE4LiBJdCBub3cgYWxzbyB1c2VzIGFwcHNpbmsKCSAgaW5zdGVhZCBvZiBmYWtlc2luayBmb3IgbW9yZSB1bHRpbWF0ZSBjb29sbmVzcy4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOiAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYXBwX3NyY19pbml0KSwgKGdzdF9hcHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY19nZXRfcHJvcGVydHkpLCAoZ3N0X2FwcF9zcmNfdW5sb2NrKSwKCSAgKGdzdF9hcHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9hcHBfc3JjX2NyZWF0ZSksCgkgIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKSwgKGdzdF9hcHBfc3JjX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9hcHBfc3JjX2VuZF9vZl9zdHJlYW0pOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBibG9jayBwcm9wZXJ0eSB0byBhbGxvdyBwdXNoIGJhc2VkIGltcGxlbWVudGF0aW9uIHRvIGJsb2NrIHdoZW4gd2UKCSAgZmlsbCB1cCB0aGUgYXBwc3JjIHF1ZXVlcy4KCSAgRW1pdCB0aGUgZW5vdWdoLWRhdGEgc2lnbmFsIHdoaWxlIHJlbGVhc2luZyBvdXIgbG9jay4KCjIwMDgtMDYtMTIgMTQ6NTA6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4YW1wbGVzL2FwcC8uY3ZzaWdub3JlOiBJZ25vcmUgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwOC0wNi0xMiAxNDo0OToxOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRG8gbm90IHVzZSBzaG9ydF9kZXNjcmlwdGlvbiBpbiBzZWN0aW9uIGRvY3MgZm9yIGVsZW1lbnRzLiBXZSBleHRyYWN0IHRoZW0gZnJvbSBlbGVtZW50IGRldGFpbHMgYW5kIHRoZXJlIHdpbGwgYmUgd2FyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0YXVkaW9wYXJzZS5jOgoJICAqIGdzdC9yYXdwYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5jOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6CgkgIERvIG5vdCB1c2Ugc2hvcnRfZGVzY3JpcHRpb24gaW4gc2VjdGlvbiBkb2NzIGZvciBlbGVtZW50cy4gV2UgZXh0cmFjdAoJICB0aGVtIGZyb20gZWxlbWVudCBkZXRhaWxzIGFuZCB0aGVyZSB3aWxsIGJlIHdhcm5pbmdzIGlmIHRoZXkgZGlmZmVyLgoJICBBbHNvIGZpeGluZyB1cCB0aGUgQ2hhbmdlTG9nIG9yZGVyLgoKMjAwOC0wNi0xMiAxNDoyMDo0MCArMDAwMCAgU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmVAZ21haWwuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jaGFpbik6CgkgIEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIKCSAgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlcmVuY2UgY29kZSBhcyB3ZWxsLiBGaXhlcyAjNTI4NjE4LgoKMjAwOC0wNi0xMiAxMzo1MTo1MSArMDAwMCAgU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmVAZ21haWwuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWVuIE1lcmxlIDxzeWxhbmUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19jaGFpbik6CgkgIEZpeCB0aGUgc2lnbiBvZiB0aGUgZGF0YSB3ZSBwYXNzIHRvIHRoZSBkZWNvZGVyIHNvIHRoYXQgdGhlIGRlY29kZXIKCSAgY29tcGlsZXMgd2l0aCBuZXdlciByZWZlcmVuY2UgY29kZSBhcyB3ZWxsLiBGaXhlcyAjNTI4NjE4LgoKMjAwOC0wNi0xMiAxMzowNjozNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IEluY2x1ZGUgc3RkbGliLmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3Rlc3Qtb3NzNC5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oLgoKMjAwOC0wNi0xMSAxMToxMjo0OSArMDAwMCAgTWFydGluIEVpa2VybWFubiA8bWVpa2VyQHVwYi5kZT4KCgkgIGdzdC9kZWludGVybGFjZTIvOiBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogTWFydGluIEVpa2VybWFubiA8bWVpa2VyIGF0IHVwYiBkb3QgZGU+CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5jOgoJICAoZ3N0X2RlaW50ZXJsYWNlMl9tZXRob2RfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZHNfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maWVsZF9sYXlvdXRfZ2V0X3R5cGUpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9iYXNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jbGFzc19pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX3NldF9tZXRob2QpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRfcHJvcGVydHkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxhY2UyX3BvcF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfaGVhZF9oaXN0b3J5KSwgKGdzdF9kZWludGVybGFjZTJfcHVzaF9oaXN0b3J5KSwKCSAgKGdzdF9kZWludGVybGFjZTJfZGVpbnRlcmxhY2Vfc2NhbmxpbmVzKSwgKGdzdF9kZWludGVybGFjZTJfY2hhaW4pLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9zZXRjYXBzKSwgKGdzdF9kZWludGVybGFjZTJfc2lua19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2NoYW5nZV9zdGF0ZSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19ldmVudCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeSksIChnc3RfZGVpbnRlcmxhY2UyX3NyY19xdWVyeV90eXBlcyksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi9nc3RkZWludGVybGFjZTIuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHkuYzogKGNvcHlfc2NhbmxpbmUpLAoJICAoZGVpbnRlcmxhY2VfZ3JlZWR5X3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoZHNjYWxlcl9ncmVlZHlsX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYXNtOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguYzoKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX2dyZWVkeWgpLCAoZHNjYWxlcl9ncmVlZHloX2dldF9tZXRob2QpLAoJICAoZ3JlZWR5aF9pbml0KSwgKGdyZWVkeWhfZmlsdGVyX21teCksIChncmVlZHloX2ZpbHRlcl8zZG5vdyksCgkgIChncmVlZHloX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9ncmVlZHlobWFjcm9zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvbW14Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvcGx1Z2lucy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkdG9vbHMuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuYzogKG11bHRpcGx5X2FscGhhKSwgKGNsaXAyNTUpLAoJICAoY29tYl9mYWN0b3JfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChkaWZmX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X21teCksIChkaWZmX3BhY2tlZDQyMl9ibG9jazh4OF9jKSwKCSAgKHBhY2tlZDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3NjYW5saW5lX2MpLAoJICAocGFja2VkNDIyX3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8xMjFfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAodmZpbHRlcl9jaHJvbWFfMzMyX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX21teCksCgkgIChraWxsX2Nocm9tYV9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGludmVydF9jb2xvdXJfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChtaXJyb3JfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9tbXgpLAoJICAoY29udmVydF91eXZ5X3RvX3l1eXZfc2NhbmxpbmVfYyksCgkgIChpbnRlcnBvbGF0ZV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksIChzbWFsbF9tZW1jcHkpLAoJICAoc3BlZWR5X21lbWNweV9jKSwgKHNwZWVkeV9tZW1jcHlfbW14KSwgKHNwZWVkeV9tZW1jcHlfbW14ZXh0KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX2MpLCAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfY29sb3VyNDQ0NF9hbHBoYV90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9wYWNrZWQ0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfYWxwaGFtYXNrX3RvX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfYWxwaGFfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChwcmVtdWx0aXBseV9wYWNrZWQ0NDQ0X3NjYW5saW5lX21teGV4dCksCgkgIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGVuZF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKHF1YXJ0ZXJfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChzdWJwaXhfYmxpdF92ZXJ0aWNhbF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChhOF9zdWJwaXhfYmxpdF9zY2FubGluZV9jKSwgKG15cm91bmQpLCAoaW5pdF9SR0JfdG9fWUNiQ3JfdGFibGVzKSwKCSAgKGluaXRfWUNiQ3JfdG9fUkdCX3RhYmxlcyksIChyZ2IyNF90b19wYWNrZWQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocmdiYTMyX3RvX3BhY2tlZDQ0NDRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX3JnYjI0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQ0NF90b19ub25wcmVtdWx0aXBsaWVkX3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksCgkgIChhc3BlY3RfYWRqdXN0X3BhY2tlZDQ0NDRfc2NhbmxpbmVfYyksIChzZXR1cF9zcGVlZHlfY2FsbHMpLAoJICAoc3BlZWR5X2dldF9hY2NlbCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR5Lmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3NlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5jOiAoRmllbGRjb3B5KSwKCSAgKGRlaW50ZXJsYWNlX2ZyYW1lX2RpX3RvbXNtb2NvbXApLCAoZHNjYWxlcl90b21zbW9jb21wX2dldF9tZXRob2QpLAoJICAodG9tc21vY29tcF9pbml0KSwgKHRvbXNtb2NvbXBfZmlsdGVyX21teCksCgkgICh0b21zbW9jb21wX2ZpbHRlcl8zZG5vdyksICh0b21zbW9jb21wX2ZpbHRlcl9zc2UpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3AwQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wQm90dG9tLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wRWRnZUE4LmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQTYuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBSDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFRvcC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcFZBSC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TdHJhbmdlQm9iLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1RvbXNNb0NvbXBBbGwuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbDIuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvV2llcmRCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3ZmaXIuYzogKGRlaW50ZXJsYWNlX2xpbmUpLAoJICAoZGVpbnRlcmxhY2Vfc2NhbmxpbmVfdmZpciksIChjb3B5X3NjYW5saW5lKSwKCSAgKGRzY2FsZXJfdmZpcl9nZXRfbWV0aG9kKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS94ODYtNjRfbWFjcm9zLmluYzoKCSAgQWRkIGEgZGVpbnRlcmxhY2VyIHBsdWdpbiBiYXNlZCBvbiB0aGUgdHZ0aW1lL0RTY2FsZXIgZGVpbnRlcmxhY2VyLAoJICB3aGljaCB3YXMgcmVsaWNlbnNlZCB0byBMR1BMIGZvciBHU3RyZWFtZXIgYW5kIGluIHRoZW9yeSBwcm92aWRlcwoJICBiZXR0ZXIgYW5kIGZhc3RlciByZXN1bHRzIHRoYW4gdGhlIHNpbXBsZSBkZWludGVybGFjZSBlbGVtZW50LgoJICBGaXhlcyBidWcgIzE2MzU3OC4KCSAgUG9ydGVkIHRvIEdTdHJlYW1lciAwLjEwIGJ1dCBzdGlsbCBub3QgZW5hYmxlZCBvciBpbmNsdWRlZCBpbiB0aGUKCSAgYnVpbGQgc3lzdGVtIGJ5IGRlZmF1bHQgYmVjYXVzZSBvZiBiYWQgYXJ0ZWZhY3RzIGNhdXNlZCBieSBhIGJ1ZwoJICBzb21ld2hlcmUgYW5kIGFzIGl0IGNhbiBiZSBvbmx5IGJ1aWxkIG9uIHg4Ni9hbWQ2NCBBVE0gYW5kIHJlcXVpcmVzCgkgIHNwZWNpYWwgQ0ZMQUdTLiBXaWxsIGJlIGZpeGVkIHNvb24uCgoyMDA4LTA2LTExIDExOjEyOjE0ICswMDAwICBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXJAdXBiLmRlPgoKCSAgZ3N0L2RlaW50ZXJsYWNlMi86IEFkZCBhIGRlaW50ZXJsYWNlciBwbHVnaW4gYmFzZWQgb24gdGhlIHR2dGltZS9EU2NhbGVyIGRlaW50ZXJsYWNlciwgd2hpY2ggd2FzIHJlbGljZW5zZWQgdG8gTEdQTCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OiBNYXJ0aW4gRWlrZXJtYW5uIDxtZWlrZXIgYXQgdXBiIGRvdCBkZT4KCSAgKiBnc3QvZGVpbnRlcmxhY2UyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9kZWludGVybGFjZTIvZ3N0ZGVpbnRlcmxhY2UyLmM6CgkgIChnc3RfZGVpbnRlcmxhY2UyX21ldGhvZF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkc19nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpZWxkX2xheW91dF9nZXRfdHlwZSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2Jhc2VfaW5pdCksIChnc3RfZGVpbnRlcmxhY2UyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9pbml0KSwgKGdzdF9kZWludGVybGFjZTJfc2V0X21ldGhvZCksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldF9wcm9wZXJ0eSksIChnc3RfZGVpbnRlcmxhY2UyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2UyX2ZpbmFsaXplKSwgKGdzdF9kZWludGVybGFjZTJfcG9wX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9oZWFkX2hpc3RvcnkpLCAoZ3N0X2RlaW50ZXJsYWNlMl9wdXNoX2hpc3RvcnkpLAoJICAoZ3N0X2RlaW50ZXJsYWNlMl9kZWludGVybGFjZV9zY2FubGluZXMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxhY2UyX3NldGNhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlMl9zaW5rX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZWludGVybGFjZTJfc3JjX2V2ZW50KSwKCSAgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5KSwgKGdzdF9kZWludGVybGFjZTJfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL2dzdGRlaW50ZXJsYWNlMi5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeS5jOiAoY29weV9zY2FubGluZSksCgkgIChkZWludGVybGFjZV9ncmVlZHlfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChkc2NhbGVyX2dyZWVkeWxfZ2V0X21ldGhvZCk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5hc206CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5jOgoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfZ3JlZWR5aCksIChkc2NhbGVyX2dyZWVkeWhfZ2V0X21ldGhvZCksCgkgIChncmVlZHloX2luaXQpLCAoZ3JlZWR5aF9maWx0ZXJfbW14KSwgKGdyZWVkeWhfZmlsdGVyXzNkbm93KSwKCSAgKGdyZWVkeWhfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvZ3JlZWR5aC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL2dyZWVkeWhtYWNyb3MuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9tbXguaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9wbHVnaW5zLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvc3BlZWR0b29scy5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3NwZWVkeS5jOiAobXVsdGlwbHlfYWxwaGEpLCAoY2xpcDI1NSksCgkgIChjb21iX2ZhY3Rvcl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGRpZmZfZmFjdG9yX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoZGlmZl9wYWNrZWQ0MjJfYmxvY2s4eDhfbW14KSwgKGRpZmZfcGFja2VkNDIyX2Jsb2NrOHg4X2MpLAoJICAocGFja2VkNDQ0X3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHBhY2tlZDQyMl90b19wYWNrZWQ0NDRfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0MjJfdG9fcGFja2VkNDQ0X3JlYzYwMV9zY2FubGluZV9jKSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKHZmaWx0ZXJfY2hyb21hXzEyMV9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX21teCksCgkgICh2ZmlsdGVyX2Nocm9tYV8zMzJfcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoa2lsbF9jaHJvbWFfcGFja2VkNDIyX2lucGxhY2Vfc2NhbmxpbmVfbW14KSwKCSAgKGtpbGxfY2hyb21hX3BhY2tlZDQyMl9pbnBsYWNlX3NjYW5saW5lX2MpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9tbXgpLAoJICAoaW52ZXJ0X2NvbG91cl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKG1pcnJvcl9wYWNrZWQ0MjJfaW5wbGFjZV9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbnZlcnRfdXl2eV90b195dXl2X3NjYW5saW5lX21teCksCgkgIChjb252ZXJ0X3V5dnlfdG9feXV5dl9zY2FubGluZV9jKSwKCSAgKGludGVycG9sYXRlX3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoaW50ZXJwb2xhdGVfcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChibGl0X2NvbG91cl9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoYmxpdF9jb2xvdXJfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14KSwKCSAgKGJsaXRfY29sb3VyX3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwgKHNtYWxsX21lbWNweSksCgkgIChzcGVlZHlfbWVtY3B5X2MpLCAoc3BlZWR5X21lbWNweV9tbXgpLCAoc3BlZWR5X21lbWNweV9tbXhleHQpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfYyksIChibGl0X3BhY2tlZDQyMl9zY2FubGluZV9tbXgpLAoJICAoYmxpdF9wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9jb2xvdXI0NDQ0X2FscGhhX3RvX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX2MpLAoJICAoY29tcG9zaXRlX3BhY2tlZDQ0NDRfYWxwaGFfdG9fcGFja2VkNDIyX3NjYW5saW5lX21teGV4dCksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfYyksCgkgIChjb21wb3NpdGVfcGFja2VkNDQ0NF90b19wYWNrZWQ0MjJfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGNvbXBvc2l0ZV9hbHBoYW1hc2tfdG9fcGFja2VkNDQ0NF9zY2FubGluZV9tbXhleHQpLAoJICAoY29tcG9zaXRlX2FscGhhbWFza19hbHBoYV90b19wYWNrZWQ0NDQ0X3NjYW5saW5lX2MpLAoJICAocHJlbXVsdGlwbHlfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKHByZW11bHRpcGx5X3BhY2tlZDQ0NDRfc2NhbmxpbmVfbW14ZXh0KSwKCSAgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9jKSwgKGJsZW5kX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9tbXhleHQpLAoJICAocXVhcnRlcl9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKHN1YnBpeF9ibGl0X3ZlcnRpY2FsX3BhY2tlZDQyMl9zY2FubGluZV9jKSwKCSAgKGE4X3N1YnBpeF9ibGl0X3NjYW5saW5lX2MpLCAobXlyb3VuZCksIChpbml0X1JHQl90b19ZQ2JDcl90YWJsZXMpLAoJICAoaW5pdF9ZQ2JDcl90b19SR0JfdGFibGVzKSwgKHJnYjI0X3RvX3BhY2tlZDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChyZ2JhMzJfdG9fcGFja2VkNDQ0NF9yZWM2MDFfc2NhbmxpbmVfYyksCgkgIChwYWNrZWQ0NDRfdG9fcmdiMjRfcmVjNjAxX3NjYW5saW5lX2MpLAoJICAocGFja2VkNDQ0X3RvX25vbnByZW11bHRpcGxpZWRfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwKCSAgKGFzcGVjdF9hZGp1c3RfcGFja2VkNDQ0NF9zY2FubGluZV9jKSwgKHNldHVwX3NwZWVkeV9jYWxscyksCgkgIChzcGVlZHlfZ2V0X2FjY2VsKToKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zcGVlZHkuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS9zc2UuaDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wLmM6IChGaWVsZGNvcHkpLAoJICAoZGVpbnRlcmxhY2VfZnJhbWVfZGlfdG9tc21vY29tcCksIChkc2NhbGVyX3RvbXNtb2NvbXBfZ2V0X21ldGhvZCksCgkgICh0b21zbW9jb21wX2luaXQpLCAodG9tc21vY29tcF9maWx0ZXJfbW14KSwKCSAgKHRvbXNtb2NvbXBfZmlsdGVyXzNkbm93KSwgKHRvbXNtb2NvbXBfZmlsdGVyX3NzZSk6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC5oOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcDBBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BCb3R0b20uaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcEVkZ2VBLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BFZGdlQTguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEEyLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BPZGRBNi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wT2RkQUguaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvU2VhcmNoTG9vcE9kZEFIMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVG9wLmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1NlYXJjaExvb3BWQS5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9TZWFyY2hMb29wVkFILmluYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UyL3R2dGltZS90b21zbW9jb21wL1N0cmFuZ2VCb2IuaW5jOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3RvbXNtb2NvbXAvVG9tc01vQ29tcEFsbC5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9Ub21zTW9Db21wQWxsMi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdG9tc21vY29tcC9XaWVyZEJvYi5pbmM6CgkgICogZ3N0L2RlaW50ZXJsYWNlMi90dnRpbWUvdmZpci5jOiAoZGVpbnRlcmxhY2VfbGluZSksCgkgIChkZWludGVybGFjZV9zY2FubGluZV92ZmlyKSwgKGNvcHlfc2NhbmxpbmUpLAoJICAoZHNjYWxlcl92ZmlyX2dldF9tZXRob2QpOgoJICAqIGdzdC9kZWludGVybGFjZTIvdHZ0aW1lL3g4Ni02NF9tYWNyb3MuaW5jOgoJICBBZGQgYSBkZWludGVybGFjZXIgcGx1Z2luIGJhc2VkIG9uIHRoZSB0dnRpbWUvRFNjYWxlciBkZWludGVybGFjZXIsCgkgIHdoaWNoIHdhcyByZWxpY2Vuc2VkIHRvIExHUEwgZm9yIEdTdHJlYW1lciBhbmQgaW4gdGhlb3J5IHByb3ZpZGVzCgkgIGJldHRlciBhbmQgZmFzdGVyIHJlc3VsdHMgdGhhbiB0aGUgc2ltcGxlIGRlaW50ZXJsYWNlIGVsZW1lbnQuCgkgIEZpeGVzIGJ1ZyAjMTYzNTc4LgoJICBQb3J0ZWQgdG8gR1N0cmVhbWVyIDAuMTAgYnV0IHN0aWxsIG5vdCBlbmFibGVkIG9yIGluY2x1ZGVkIGluIHRoZQoJICBidWlsZCBzeXN0ZW0gYnkgZGVmYXVsdCBiZWNhdXNlIG9mIGJhZCBhcnRlZmFjdHMgY2F1c2VkIGJ5IGEgYnVnCgkgIHNvbWV3aGVyZSBhbmQgYXMgaXQgY2FuIGJlIG9ubHkgYnVpbGQgb24geDg2L2FtZDY0IEFUTSBhbmQgcmVxdWlyZXMKCSAgc3BlY2lhbCBDRkxBR1MuIFdpbGwgYmUgZml4ZWQgc29vbi4KCjIwMDgtMDYtMTEgMDc6NTg6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOiBJbml0aWFsaXplIHdpbGRtaWRpIG9ubHkgb25jZSBpbiB0aGUgcGx1Z2luIGluaXQgZnVuY3Rpb24gaW5zdGVhZCBvZiBvbmNlIGZvciBldmVyeSBpbnN0YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQmFzZWQgb24gYSBwYXRjaCBieTogIFNvbmljYWR2YW5jZTEgYXQgR01BSUwgZG90IENPTQoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAoZ3N0X3dpbGRtaWRpX2luaXQpLAoJICAoZ3N0X3dpbGRtaWRpX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEluaXRpYWxpemUgd2lsZG1pZGkgb25seSBvbmNlIGluIHRoZSBwbHVnaW4gaW5pdCBmdW5jdGlvbiBpbnN0ZWFkCgkgIG9mIG9uY2UgZm9yIGV2ZXJ5IGluc3RhbmNlLiBUaGUgc2Vjb25kIGFuZCBmb2xsb3dpbmcgY2FsbHMgdG8gdGhlCgkgIHdpbGRtaWRpIGluaXRpYWxpemF0aW9uIGZ1bmN0aW9uIHdpbGwgZmFpbC4gRml4ZXMgYnVnICM1MjU2MTMuCgkgIEFsc28gZG9uJ3QgcmVnaXN0ZXIgdGhlIGVsZW1lbnQgYXQgYWxsIGlmIHdpbGRtaWRpIGluaXRpYWxpemF0aW9uCgkgIGZhaWxzLgoKMjAwOC0wNi0xMCAxMjo1NDo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IENhbGwgZ3N0X2VsZW1lbnRfbm9fbW9yZV9wYWRzKCkgYWZ0ZXIgYWxsIHBhZHMgYXJlIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQ2FsbCBnc3RfZWxlbWVudF9ub19tb3JlX3BhZHMoKSBhZnRlciBhbGwgcGFkcyBhcmUgYWRkZWQuCgoyMDA4LTA2LTA5IDE3OjU3OjA4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEFkZCBzaW1wbGUgcmV2ZXJzZSBwbGF5YmFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdWxsKToKCSAgQWRkIHNpbXBsZSByZXZlcnNlIHBsYXliYWNrLgoKMjAwOC0wNi0wOSAxMjowNTowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS4qOiBGaXggc2Vla2luZywgdGltZXN0YW1wcywgZHVyYXRpb24gYW5kIHNvbWUgbW9yZS4gRml4ZXMgIzUzNjMwOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF9yYXdfcGFyc2VfcHVzaF9idWZmZXIpLCAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksCgkgIChnc3RfcmF3X3BhcnNlX2xvb3ApLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX2NvbnZlcnQpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCksIChnc3RfcmF3X3BhcnNlX2hhbmRsZV9zZWVrX3B1bGwpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3Jhd19wYXJzZV9nZXRfZnBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgRml4IHNlZWtpbmcsIHRpbWVzdGFtcHMsIGR1cmF0aW9uIGFuZCBzb21lIG1vcmUuIEZpeGVzICM1MzYzMDkuCgoyMDA4LTA2LTA2IDE2OjUwOjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXhhbXBsZXMvYXBwLzogQWRkZWQgMyBtb3JlIGV4YW1wbGUgYXBwbGljYXRpb24gZm9yIHVzaW5nIGFwcHNyYyBpbiByYW5kb20tYWNjZXNzIG1vZGUsIHB1bGwtbW9kZSBzdHJlYW1pbmcgYW5kIHB1bGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2FwcC9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXJhLmM6IChmZWVkX2RhdGEpLCAoc2Vla19kYXRhKSwKCSAgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXNlZWthYmxlLmM6IChmZWVkX2RhdGEpLCAoc2Vla19kYXRhKSwKCSAgKGZvdW5kX3NvdXJjZSksIChidXNfbWVzc2FnZSksIChtYWluKToKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbTIuYzogKGZlZWRfZGF0YSksIChmb3VuZF9zb3VyY2UpLAoJICAoYnVzX21lc3NhZ2UpLCAobWFpbik6CgkgIEFkZGVkIDMgbW9yZSBleGFtcGxlIGFwcGxpY2F0aW9uIGZvciB1c2luZyBhcHBzcmMgaW4gcmFuZG9tLWFjY2VzcyBtb2RlLAoJICBwdWxsLW1vZGUgc3RyZWFtaW5nIGFuZCBwdWxsIG1vZGUgc2Vla2FibGUuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfZG9fZ2V0X3NpemUpLAoJICAoZ3N0X2FwcF9zcmNfY3JlYXRlKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICBNYWtlIHN0cmVhbS10eXBlIHByb3BlcnR5IHdyaXRhYmxlLgoJICBVbnNldCBmbHVzaGluZyB3aGVuIHN0YXJ0aW5nIHNvIHRoYXQgd2UgcmV1c2UgYXBwc3JjLgoJICBJbmZvcm0gYmFzZXNyYyBhYm91dCB0aGUgY29uZmlndXJlZCBzaXplLgoJICBFbWl0IHNlZWstZGF0YSBzaWduYWwgd2hlbiB3ZSBhcmUgZ29pbmcgdG8gYSBkaWZmZXJlbnQgb2Zmc2V0IGluCgkgIHJhbmRvbS1hY2Nlc3MgbW9kZS4KCjIwMDgtMDYtMDYgMTQ6MTk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleGFtcGxlcy9hcHAvYXBwc3JjLXN0cmVhbS5jOiBVc2UgZGVlcC1ub3RpZnkgdW50aWwgd2UgY2FuIGRlcGVuZCBvbiBhIHBsYXliaW4yIHdpdGggc3VwcG9ydCBmb3IgdGhlIHNvdXJjZSBwcm9wZXJ0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyYy1zdHJlYW0uYzogKGZvdW5kX3NvdXJjZSksIChtYWluKToKCSAgVXNlIGRlZXAtbm90aWZ5IHVudGlsIHdlIGNhbiBkZXBlbmQgb24gYSBwbGF5YmluMiB3aXRoIHN1cHBvcnQgZm9yIHRoZQoJICBzb3VyY2UgcHJvcGVydHkuCgoyMDA4LTA2LTA2IDEzOjAxOjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBkZWFkbG9jayB3aGVuIHNodXR0aW5nIGRvd24sIHVzZSBhIG5ldyBsb2NrIGluc3RlYWQgdG8gcHJvcGVybHkgc2h1dGRvd24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICBGaXggZGVhZGxvY2sgd2hlbiBzaHV0dGluZyBkb3duLCB1c2UgYSBuZXcgbG9jayBpbnN0ZWFkIHRvIHByb3Blcmx5CgkgIHNodXRkb3duLgoKMjAwOC0wNi0wNSAxNjozODo1MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC86IEFkZGVkIGFuIGV4YW1wbGUgb24gaG93IHRvIHVzZSBhcHBzcmMgaW4gcGxheWJpbiBpbiBzdHJlYW1pbmcgbW9kZSBmcm9tIGFuIG1tYXBwZWQgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgICogZXhhbXBsZXMvYXBwL01ha2VmaWxlLmFtOgoJICAqIGV4YW1wbGVzL2FwcC9hcHBzcmMtc3RyZWFtLmM6IChyZWFkX2RhdGEpLCAoc3RhcnRfZmVlZCksCgkgIChzdG9wX2ZlZWQpLCAoZm91bmRfc291cmNlKSwgKGJ1c19tZXNzYWdlKSwgKG1haW4pOgoJICBBZGRlZCBhbiBleGFtcGxlIG9uIGhvdyB0byB1c2UgYXBwc3JjIGluIHBsYXliaW4gaW4gc3RyZWFtaW5nIG1vZGUgZnJvbQoJICBhbiBtbWFwcGVkIGZpbGUuCgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOiAobWFpbik6CgkgIFNldCBwaXBlbGluZSB0byBOVUxMIHRvIGZyZWUgcXVldWVkIGJ1ZmZlcnMuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHAtbWFyc2hhbC5saXN0OgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChzdHJlYW1fdHlwZV9nZXRfdHlwZSksIChfZG9faW5pdCksCgkgIChnc3RfYXBwX3NyY19jbGFzc19pbml0KSwgKGdzdF9hcHBfc3JjX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfZmx1c2hfcXVldWVkKSwgKGdzdF9hcHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NyY191bmxvY2spLCAoZ3N0X2FwcF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X2FwcF9zcmNfc3RhcnQpLCAoZ3N0X2FwcF9zcmNfc3RvcCksIChnc3RfYXBwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3RfYXBwX3NyY19jaGVja19nZXRfcmFuZ2UpLCAoZ3N0X2FwcF9zcmNfZG9fc2VlayksCgkgIChnc3RfYXBwX3NyY19jcmVhdGUpLCAoZ3N0X2FwcF9zcmNfc2V0X3N0cmVhbV90eXBlKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9zdHJlYW1fdHlwZSksIChnc3RfYXBwX3NyY19zZXRfbWF4X2J5dGVzKSwKCSAgKGdzdF9hcHBfc3JjX2dldF9tYXhfYnl0ZXMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSksIChnc3RfYXBwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X2FwcF9zcmNfdXJpX2dldF9wcm90b2NvbHMpLCAoZ3N0X2FwcF9zcmNfdXJpX2dldF91cmkpLAoJICAoZ3N0X2FwcF9zcmNfdXJpX3NldF91cmkpLCAoZ3N0X2FwcF9zcmNfdXJpX2hhbmRsZXJfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgTWVhc3VyZSBtYXggcXVldWUgc2l6ZSBpbiBieXRlcyBpbnN0ZWFkLgoJICBBZGQgc3VwcG9ydCBmb3IgMyBtb2RlcyBvZiBvcGVyYXRpb24sIHN0cmVhbWluZywgc2Vla2FibGUgYW5kCgkgIHJhbmRvbS1hY2Nlc3MsIG1ha2luZyBiYXNlc3JjIGhhbmRsZSB0aGUgc2NoZWR1bGluZyBtb2RlcyBmb3IgZWFjaC4KCSAgQWRkIGFwcHNyYzovLyB1cmkgaGFuZGxlciBzbyB0aGF0IGF1dG9tYXRpYyBwbHVnZ2luZyBjYW4gYmUgZG9uZSBmcm9tCgkgIHBsYXliaW4yIG9yIHVyaWRlY29kZWJpbiwgZm9yIGV4YW1wbGUuCgkgIEFkZGVkIHN1cHBvcnQgZm9yIGN1c3RvbSBzZWdtZW50IGZvcm1hdHMuCgkgIEFkZCBzdXBwb3J0IGZvciBwdXNoIGFuZCBwdWxsIGJhc2VkIG9wZXJhdGlvbnMgZnJvbSB0aGUgYXBwbGljYXRpb24uCgkgIEV4cGFuZCB0aGUgbWV0aG9kcyBzbyB0aGF0IGVycm9ycyBjYW4gYmUgZGV0ZWN0ZWQuCgkgIEZsdXNoIHRoZSBxdWV1ZWQgYnVmZmVycyBvbiBzZWVrcyBhbmQgd2hlbiBzaHV0dGluZyBkb3duLgoJICBBZGQgc2lnbmFscyB0byBpbmZvcm0gdGhlIGFwcCB0aGF0IGEgc2VlayBtdXN0IGhhcHBlbi4KCjIwMDgtMDYtMDUgMTE6MDc6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9zcmNfcXVlcnlfZHVyYXRpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5KToKCSAgUHJvcGVybHkgaW1wbGVtZW50IGR1cmF0aW9uIGFuZCBwb3NpdGlvbiBxdWVyaWVzIGluIGJ5dGVzIGZvcm1hdC4gV2UKCSAgaGF2ZSB0byB0YWtlIHRoZSB1cHN0cmVhbSByZXBseSBhbmQgZGl2aWRlL211bHRpcGx5IGl0IGJ5IHRoZSBudW1iZXIKCSAgb2YgY2hhbm5lbHMgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlc3VsdC4KCjIwMDgtMDYtMDQgMjE6MTg6NTMgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIHN5cy9kc2hvd3ZpZGVvc2luay86IEZpeCB1cCBjb3B5cmlnaHQgbm90aWNlIG9uIG5ldyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9mYWtlc3JjLmg6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmNwcDoKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb3NpbmsuaDoKCSAgRml4IHVwIGNvcHlyaWdodCBub3RpY2Ugb24gbmV3IHBsdWdpbi4KCjIwMDgtMDYtMDQgMTc6MDI6MzggKzAwMDAgIEpvbiBUcm93YnJpZGdlIDx0cm93QHhpbWlhbi5jb20+CgoJICBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFVwZGF0ZSBwcm9wZXJ0aWVzIGZvciByZWNlbnQgZGlyYWMgY2hhbmdlcy4gIFBhdGNoIGZyb20gSm9uYXRoYW4gUm9zc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IFVwZGF0ZSBwcm9wZXJ0aWVzIGZvciByZWNlbnQKCSAgZGlyYWMgY2hhbmdlcy4gIFBhdGNoIGZyb20gSm9uYXRoYW4gUm9zc2VyLgoKMjAwOC0wNi0wNCAxMTozMzoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogVHJ5IGhhcmRlciBub3QgdG8gY3Jhc2ggd2hlbiB3ZSBnZXQgYW4gRU9TIGV2ZW50IGJ1dCBoYXZlbid0IHNldCB1cCB0aGUgZW5jb2RlciB5ZXQgKGFzIG1heSBoYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSk6CgkgIFRyeSBoYXJkZXIgbm90IHRvIGNyYXNoIHdoZW4gd2UgZ2V0IGFuIEVPUyBldmVudCBidXQgaGF2ZW4ndCBzZXQKCSAgdXAgdGhlIGVuY29kZXIgeWV0IChhcyBtYXkgaGFwcGVuIHdoZW4gdXBzdHJlYW0gZXJyb3JzIG91dCB3aXRoCgkgIG5vdC1uZWdvdGlhdGVkLCBmb3IgZXhhbXBsZSkuIEFsc28sIGFsd2F5cyBwdXNoIHRoZSBFT1MgZXZlbnQKCSAgZG93bnN0cmVhbS4KCjIwMDgtMDYtMDQgMDY6NDg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuKjogVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlIHJlcXVlc3RlZCBzaW5rIHBhZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9wYWRfZ2V0X3R5cGUpLAoJICAoZ3N0X2ludGVybGVhdmVfcGFkX2dldF9wcm9wZXJ0eSksIChnc3RfaW50ZXJsZWF2ZV9wYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X2ludGVybGVhdmVfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgVXNlIGFuIGFsd2F5cyBpbmNyZWFzaW5nIGludGVnZXIgZm9yIHRoZSBudW1iZXIgaW4gdGhlIG5hbWUgb2YgdGhlCgkgIHJlcXVlc3RlZCBzaW5rIHBhZHMgdG8gZ3VhcmFudHVlZSBhIHVuaXF1ZSBuYW1lLiBBZGQgYSAiY2hhbm5lbCIKCSAgcHJvcGVydHkgdG8gR3N0SW50ZXJsZWF2ZVBhZCB0byBtYWtlIGl0IHBvc3NpYmxlIGZvciBhcHBsaWNhdGlvbnMKCSAgdG8gcmV0cmlldmUgdGhlIGNoYW5uZWwgbnVtYmVyIGluIHRoZSBvdXRwdXQgZm9yIGV2ZXJ5IHBhZC4KCSAgVXNlIGdfdHlwZV9yZWdpc3Rlcl9zdGF0aWNfc2ltcGxlKCkgaW5zdGVhZCBvZgoJICBnX3R5cGVfcmVnaXN0ZXJfc3RhdGljKCkgdG8gc2F2ZSBzb21lIHJlbG9jYXRpb25zLgoKMjAwOC0wNi0wMyAxNTo0MTowNSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogYXV0b2dlbi5zaDoKCSAgZml4IHBhY2thZ2UgbmFtZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHBhY2thZ2UgbmFtZQoKMjAwOC0wNi0wMyAxNDozNTo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24gd2hlbiBnb2luZyBmcm9tIFBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9jaGFuZ2Vfc3RhdGUpOgoJICBTdG9wIEdzdENvbGxlY3RQYWRzIGJlZm9yZSBjYWxsaW5nIHRoZSBwYXJlbnQncyBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb24KCSAgd2hlbiBnb2luZyBmcm9tIFBBVVNFRCB0byBSRUFEWSBhcyB3ZSBvdGhlcndpc2UgZGVhZGxvY2suCgkgIEZpeGVzIGJ1ZyAjNTM2MjU4LgoKMjAwOC0wNi0wMyAxMToxMDozMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLio6IFBhcnNlIGNvZGVjX2RhdGEgYW5kIHVzZSB0aGUgbmFsdV9zaXplX2xlbmd0aCBmaWVsZCB0byBnZXQgdGhlIE5BTFUgbGVuZ3RoIGluIHBhY2tldGl6ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X25hbF9ic19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX3Npbmtfc2V0Y2FwcyksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2NoYWluKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBQYXJzZSBjb2RlY19kYXRhIGFuZCB1c2UgdGhlIG5hbHVfc2l6ZV9sZW5ndGggZmllbGQgdG8gZ2V0IHRoZSBOQUxVCgkgIGxlbmd0aCBpbiBwYWNrZXRpemVkIGgyNjQuCgkgIFdoZW4gcXVldWVpbmcgYSBwYWNrZXRpemVkIGJ1ZmZlciBpbiByZXZlcnNlIG1vZGUsIGRvbid0IHVucmVmIHRoZQoJICBidWZmZXIgdHdpY2UuCgkgIEF2b2lkIGFjY2Vzc2luZyB0aGUgYnVmZmVyIFRJTUVTVEFNUCBmaWVsZCBhZnRlciB3ZSBwdXNoZWQgaXQgb24KCSAgdGhlIGFkYXB0b3IuCgoyMDA4LTA2LTAzIDA5OjAzOjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IFVzZSBuZXcgZ3N0X2F1ZGlvX2NoZWNrX2NoYW5uZWxfcG9zaXRpb25zKCkgZnVuY3Rpb24gYW5kIHJlZ2lzdGVyIHRoZSBHc3RJbnRlcmxlYXZlUGFkIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOgoJICAoZ3N0X2ludGVybGVhdmVfY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpOgoJICBVc2UgbmV3IGdzdF9hdWRpb19jaGVja19jaGFubmVsX3Bvc2l0aW9ucygpIGZ1bmN0aW9uIGFuZCByZWdpc3RlcgoJICB0aGUgR3N0SW50ZXJsZWF2ZVBhZCB0eXBlIGZyb20gYSB0aHJlYWRzYWZlIGNvbnRleHQuCgoyMDA4LTA2LTAyIDIxOjUxOjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IFJldmVydCBhY2NpZGVudGFsIGFkZGl0aW9uIGluIGNvbmZpZ3VyZS5hYy4gU29ycnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmV2ZXJ0IGFjY2lkZW50YWwgYWRkaXRpb24gaW4gY29uZmlndXJlLmFjLiBTb3JyeS4KCjIwMDgtMDYtMDIgMTg6MjM6NTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIEFkZCBhIG5ldyB3aW4zMiB2aWRlb3NpbmsuIFVzZXMgdGhlIERpcmVjdFNob3cgcmVuZGVyZXJzIGZvciBoaWdoLXBlcmZvcm1hbmNlIHZpZGVvIHJlbmRlcmluZyBvbiB3aW4zMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL1JFQURNRToKCSAgKiBzeXMvZHNob3d2aWRlb3NpbmsvZHNob3d2aWRlb2Zha2VzcmMuY3BwOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvZmFrZXNyYy5oOgoJICAqIHN5cy9kc2hvd3ZpZGVvc2luay9kc2hvd3ZpZGVvc2luay5jcHA6CgkgICogc3lzL2RzaG93dmlkZW9zaW5rL2RzaG93dmlkZW9zaW5rLmg6CgkgIEFkZCBhIG5ldyB3aW4zMiB2aWRlb3NpbmsuIFVzZXMgdGhlIERpcmVjdFNob3cgcmVuZGVyZXJzIGZvcgoJICBoaWdoLXBlcmZvcm1hbmNlIHZpZGVvIHJlbmRlcmluZyBvbiB3aW4zMi4KCSAgQ3VycmVudGx5IG9ubHkgc3VwcG9ydHMgc29tZSBZVVYgZm9ybWF0cy4KCSAgUmFuayBQUklNQVJZLCBzaW5jZSBpdCdzIG11Y2ggbW9yZSB1c2VmdWwgZm9yIHRoZSBjb21tb24gY2FzZXMgdGhhdCB0aGUKCSAgZGlyZWN0ZHJhdyBzaW5rICh3aGljaCBvbmx5IGRvZXMgUkdCKS4KCjIwMDgtMDYtMDIgMTg6MDY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc3BjL01ha2VmaWxlLmFtOiBEaXN0IHRhZy5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zcGMvTWFrZWZpbGUuYW06CgkgIERpc3QgdGFnLmgKCjIwMDgtMDYtMDIgMTc6MDY6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFsd2F5cyBkcmFpbiBiZWZvcmUgYWN0aXZhdGluZyB0aGUgbmV3IHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NpbmtfZXZlbnQpOgoJICBBbHdheXMgZHJhaW4gYmVmb3JlIGFjdGl2YXRpbmcgdGhlIG5ldyBzZWdtZW50LgoKMjAwOC0wNi0wMiAxMjo0MjoxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS4qOiBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX3BhZF9nZXRfdHlwZSksCgkgIChnc3RfaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfYXVkaW9fY2hlY2tfY2hhbm5lbF9wb3NpdGlvbnMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2ludGVybGVhdmVfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zZXRfcHJvcGVydHkpLCAoZ3N0X2ludGVybGVhdmVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnRlcmxlYXZlX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfaW50ZXJsZWF2ZV9yZWxlYXNlX3BhZCksCgkgIChnc3RfaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLCAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX2NvbGxlY3RlZCk6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5oOgoJICBBbGxvdyBzZXR0aW5nIGNoYW5uZWwgcG9zaXRpb25zIHZpYSBhIHByb3BlcnR5IGFuZCBhbGxvdyB1c2luZyB0aGUKCSAgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIGlucHV0IGFzIHRoZSBjaGFubmVsIHBvc2l0aW9ucyBvZiB0aGUgb3V0cHV0LgoJICBGaXggc29tZSBicm9rZW4gbG9naWMgYW5kIG1lbW9yeSBsZWFrcy4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6IChzcmNfaGFuZG9mZl9mbG9hdDMyKSwKCSAgKHNpbmtfaGFuZG9mZl9mbG9hdDMyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGludGVybGVhdmVfc3VpdGUpOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgY2hlY2tpbmcgY29ycmVjdCBoYW5kbGluZyBvZiBjaGFubmVsIHBvc2l0aW9ucy4KCjIwMDgtMDYtMDIgMTA6MTg6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IEFkZCBiYXNpYyByZXZlcnNlIHBsYXliYWNrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2Rpc3Bvc2UpLCAoY2xlYXJfcXVldWVkKSwKCSAgKGZsdXNoX3F1ZXVlZCksIChnc3RfZmFhZF9kcmFpbiksIChnc3RfZmFhZF9kb19yYXdfc2VlayksCgkgIChnc3RfZmFhZF9zcmNfZXZlbnQpLCAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChnc3RfZmFhZF9jaGFpbiksCgkgIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgQWRkIGJhc2ljIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydC4KCSAgQ2xlYXIgZGVjb2RlciBzdGF0ZSBhZnRlciBkaXNjb250cy4KCSAgUmVtb3ZlIHNvbWUgdW51c2VkIGNvZGUuCgkgIE1hcmsgb3V0cHV0IGJ1ZmZlcnMgd2l0aCBhIGRpc2NvbnQgYWZ0ZXIgYSBkZWNvZGluZyBlcnJvci4KCjIwMDgtMDYtMDIgMDc6Mzc6MzEgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IEZpeCBtcGVnNHZpZGVvcGFyc2Ugb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLiBGaXhlcyBidWcgIzUzNjA0Mi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfaGFuZGxlX3Zvcyk6CgkgIEZpeCBtcGVnNHZpZGVvcGFyc2Ugb24gYmlnIGVuZGlhbiBhcmNoaXRlY3R1cmVzLiBGaXhlcyBidWcgIzUzNjA0Mi4KCjIwMDgtMDUtMjkgMTk6NTY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6IERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wbGV4LmM6IChzZXR1cF9zcmNfcGFkKSwKCSAgKHRlYXJkb3duX3NyY19wYWQpOgoJICBEb24ndCB1c2UgdGhlIGRlcHJlY2F0ZWQgZ3N0X2VsZW1lbnRfZ2V0X3BhZCgpLgoKMjAwOC0wNS0yOSAxOToxMTo0NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXhhbXBsZXMvZGlyZWN0ZmIvZ3N0ZGZiLmM6IERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiAobWFpbik6CgkgIERvbid0IHVzZSB0aGUgZGVwcmVjYXRlZCBnc3RfZWxlbWVudF9nZXRfcGFkKCkuCgoyMDA4LTA1LTI4IDA4OjUzOjAwICswMDAwICBPbmthciBTaGluZGUgPG9ua2Fyc2hpbmRlQGdtYWlsLmNvbT4KCgkgIHN5cy92Y2QvdmNkc3JjLmM6IEFsbG93IHRoZSB0cmFjayB0byBiZSBzZXQgYnkgdXNpbmcgdGhlIHVyaS4gRml4ZXMgIzUzNTA0My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiA8b25rYXJzaGluZGUgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY191cmlfZ2V0X3VyaSksCgkgIChnc3RfdmNkc3JjX3VyaV9zZXRfdXJpKToKCSAgQWxsb3cgdGhlIHRyYWNrIHRvIGJlIHNldCBieSB1c2luZyB0aGUgdXJpLiBGaXhlcyAjNTM1MDQzLgoKMjAwOC0wNS0yOCAwODoxNDoxNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jOiAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwKCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeV9sYXRlbmN5KSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSk6CgkgIEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5LgoKMjAwOC0wNS0yNyAxNzo1Mzo1OCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBBZGQgR1NUX0JVRkZFUl9GTEFHX0RFTFRBX1VOSVQgdG8gbm90IEkgZnJhbWUgYnVmZmVycwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgQWRkIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHRvIG5vdCBJIGZyYW1lIGJ1ZmZlcnMKCjIwMDgtMDUtMjcgMTY6NDg6MTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQnJlYWsgb3V0IG9mIGNhbGxiYWNrcyB3aGVuIHdlIGFyZSBzaHV0dGluZyBkb3duLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKGdzdF9ydHBfYmluX3Byb3BhZ2F0ZV9wcm9wZXJ0eV90b19qaXR0ZXJidWZmZXIpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwKCSAgKG5ld19zc3JjX3BhZF9mb3VuZCk6CgkgIEJyZWFrIG91dCBvZiBjYWxsYmFja3Mgd2hlbiB3ZSBhcmUgc2h1dHRpbmcgZG93bi4KCSAgTWFrZSBzdXJlIG5vIHN0YXRlIGNoYW5nZXMgY2FuIGhhcHBlbiB3aGVuIHdlIHJlY29uZmlndXJlLgoKMjAwOC0wNS0yNyAxNjozMjoxOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZSBDVlMgY29yZSBhbmQgYmFzZSBmb3IgbmV3IGF1ZGlvIGNsb2NrIHJlc2V0IG1ldGhvZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZXF1aXJlIENWUyBjb3JlIGFuZCBiYXNlIGZvciBuZXcgYXVkaW8gY2xvY2sgcmVzZXQgbWV0aG9kLgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICBSZXNldCB0aGUgYXVkaW8gY2xvY2suIFNlZSAjNTIxNzYxLgoKMjAwOC0wNS0yNiAxNzo1MjoyMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogSW5jbHVkZSB0aGUgZWxlbWVudCBuYW1lIGluIHRoZSBwb3J0IG5hbWUgdG8gYXZvaWQgZHVwbGljYXRlIHBvcnQgbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpOgoJICBJbmNsdWRlIHRoZSBlbGVtZW50IG5hbWUgaW4gdGhlIHBvcnQgbmFtZSB0byBhdm9pZCBkdXBsaWNhdGUgcG9ydCBuYW1lcy4KCjIwMDgtMDUtMjYgMTA6Mjg6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiBBZGQgYW5vdGhlciBleGFtcGxlIGxhdW5jaCBsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzoKCSAgQWRkIGFub3RoZXIgZXhhbXBsZSBsYXVuY2ggbGluZS4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChpbnRlcmxlYXZlXzI0KSwKCSAgKGdzdF9pbnRlcmxlYXZlX2ZpbmFsaXplKSwgKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KSwgKGdzdF9pbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2ludGVybGVhdmVfcmVxdWVzdF9uZXdfcGFkKSwgKGdzdF9pbnRlcmxlYXZlX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnRlcmxlYXZlX2NoYW5nZV9zdGF0ZSksIChfX3JlbW92ZV9jaGFubmVscyksCgkgIChfX3NldF9jaGFubmVscyksIChnc3RfaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ludGVybGVhdmVfc2V0X3Byb2Nlc3NfZnVuY3Rpb24pLAoJICAoZ3N0X2ludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKGdzdF9pbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfc3JjX3F1ZXJ5X2R1cmF0aW9uKSwgKGdzdF9pbnRlcmxlYXZlX3NyY19xdWVyeSksCgkgIChmb3J3YXJkX2V2ZW50X2Z1bmMpLCAoZm9yd2FyZF9ldmVudCksIChnc3RfaW50ZXJsZWF2ZV9zcmNfZXZlbnQpLAoJICAoZ3N0X2ludGVybGVhdmVfY29sbGVjdGVkKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmg6CgkgIE1ham9yIHJld3JpdGUgb2YgaW50ZXJsZWF2ZSB1c2luZyBHc3RDb2xsZWN0cGFkcy4gVGhpcyBuZXcgdmVyc2lvbgoJICBhbHNvIHN1cHBvcnRzIGFsbW9zdCBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIGhhcyBiZXR0ZXIgY2FwcwoJICBuZWdvdGlhdGlvbi4gRml4ZXMgYnVnICM1MDY1OTQuCgkgIEFsc28gdXBkYXRlIGRvY3MgYW5kIGFkZCBzb21lIG1vcmUgZXhhbXBsZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvaW50ZXJsZWF2ZS5jOiAoaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNyY19oYW5kb2ZmX2Zsb2F0MzIpLCAoc2lua19oYW5kb2ZmX2Zsb2F0MzIpLAoJICAoaW50ZXJsZWF2ZV9zdWl0ZSk6CgkgIEFkZCBzb21lIG1vcmUgZXh0ZW5zaXZlIHVuaXQgdGVzdHMgZm9yIGludGVybGVhdmUuCgoyMDA4LTA1LTI2IDEwOjA5OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gY2hlY2tpbmcgdGhlIHNlcW51bSwgcmVzZXQgdGhlIGppdHRlcmJ1ZmZlciBpZiB0aGUgZ2FwIGlzIHRvbyBiaWcsIHdlIG5lZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgV2hlbiBjaGVja2luZyB0aGUgc2VxbnVtLCByZXNldCB0aGUgaml0dGVyYnVmZmVyIGlmIHRoZSBnYXAgaXMgdG9vIGJpZywKCSAgd2UgbmVlZCB0byBkbyB0aGlzIHNvIHRoYXQgd2UgY2FuIGJldHRlciBoYW5kbGUgYSByZXN0YXJ0ZWQgc291cmNlLgoJICBGaXggc29tZSBjb21tZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgIFR3ZWFrIHRoZSBza2V3IHJlc3luYyBkaWZmLgoJICBVc2Ugb3VyIHdvcmtpbmcgc2VxbnVtIGNvbXBhcmUgZnVuY3Rpb24gaW4gLWJhc2UuCgkgIFJld29yayB0aGUgaml0dGVyYnVmZmVyIGluc2VydCBjb2RlIHRvIG1ha2UgaXQgY2xlYXJlciBhbmQgbW9yZQoJICBwZXJmb3JtYW50IGJ5IG9ubHkgcmV0cmlldmluZyB0aGUgc2VxbnVtIG9mIHRoZSBpbnB1dCBidWZmZXIgb25jZSBhbmQgYnkKCSAgYWRkaW5nIHNvbWUgR19MSUtFTFkgY29tcGlsZXIgaGludHMuCgkgIEltcHJvdmUgZGVidWdnaW5nIGZvciBkdXBsaWNhdGUgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApOgoJICBGaXggYSBjb21tZW50LCB3ZSBkb24ndCBkbyBza2V3IGNvcnJlY3Rpb24gaGVyZS4uCgoyMDA4LTA1LTI2IDEwOjAwOjI0ICswMDAwICBIw6V2YXJkIEdyYWZmIDxoYXZhcmQuZ3JhZmZAdGFuZGJlcmcuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFByb3BhZ2F0ZSB0aGUgZG8tbG9zdCBhbmQgbGF0ZW5jeSBwcm9wZXJ0aWVzIHRvIHRoZSBqaXR0ZXJidWZmZXJzIHdoZW4gdGhleSBhcmUgY2hhbmdlZCBvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSMOldmFyZCBHcmFmZiA8aGF2YXJkIGRvdCBncmFmZiBhdCB0YW5kYmVyZyBkb3QgY29tPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICAoZ3N0X3J0cF9iaW5fcHJvcGFnYXRlX3Byb3BlcnR5X3RvX2ppdHRlcmJ1ZmZlciksCgkgIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpOgoJICBQcm9wYWdhdGUgdGhlIGRvLWxvc3QgYW5kIGxhdGVuY3kgcHJvcGVydGllcyB0byB0aGUgaml0dGVyYnVmZmVycyB3aGVuCgkgIHRoZXkgYXJlIGNoYW5nZWQgb24gcnRwYmluLgoKMjAwOC0wNS0yNiAwOTo1Nzo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIERvbid0IHVzZSBfZ3N0X3BhZCgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYzogKHN3aXRjaF90aW1lcik6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuYzogKGdzdF9yZ192b2x1bWVfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6IChjcmVhdGVfc3RyZWFtKToKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2NvbmZpZ3VyZV91ZHBfc2luayk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChwYWRfYWRkZWRfc2V0dXBfZGF0YV9jaGVja19mbG9hdDMyXzhjaF9jYik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoc2VuZF9lb3NfZXZlbnQpLAoJICAoc2VuZF90YWdfZXZlbnQpOgoJICBEb24ndCB1c2UgX2dzdF9wYWQoKS4KCjIwMDgtMDUtMjIgMTk6NDc6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdCBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZkc3B1LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYmRldnNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZsdmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWludGVybGVhdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1udXZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmNkc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBpbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZSB0byB0aGUgZG9jcyBhbmQgd2hpbGUgYXQgdGhhdAoJICBydW4gbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOgoJICBBZGQgYSBwYXJhcHJhcGggYWJvdXQgdXNpbmcgYSBxdWV1ZSBhbmQgYXVkaW9jb252ZXJ0IGFmdGVyIHRoZSBzb3VyY2UKCSAgcGFkcyB0byB0aGUgZG9jcy4KCjIwMDgtMDUtMjIgMTg6NTU6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS4qOiBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkIGFuZCB0aGUgZGVmYXVsdCBnZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfY2xhc3NfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX2dldGNhcHMpOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICBEb24ndCBzZXQgYSBnZXRjYXBzKCkgZnVuY3Rpb24gb24gdGhlIHNyYyBwYWRzIGFzIGl0J3Mgbm90IHJlcXVpcmVkCgkgIGFuZCB0aGUgZGVmYXVsdCBnZXRjYXBzKCkgZnVuY3Rpb24gcmV0dXJucyB0aGUgY29ycmVjdCByZXN1bHRzIGZvcgoJICBvdXIgc3JjIHBhZHMuCgkgIENvbXBsZXRlIGRvY3VtZW50YXRpb24gYW5kIGFkZCBteXNlbGYgdG8gdGhlIGF1dGhvcnMgb2YgdGhlIGVsZW1lbnQuCgoyMDA4LTA1LTIyIDE2OjMzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvOiBTbWFsbCBvc3M0IHRlc3QgdGhhdCBwcm9iZXMgZm9yIGF2YWlsYWJsZSBkZXZpY2VzIGFuZCByZXRyaWV2ZXMgdGhlaXIgY2FwcyBhbmQgbWl4ZXIgdHJhY2tzIGFuZCBhbGwgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvdGVzdC1vc3M0LmM6IChvcHRfc2hvd19taXhlcl9tZXNzYWdlcyksIChXQUlUX1RJTUUpLAoJICAoc2hvd19taXhlcl9tZXNzYWdlcyksIChwcm9iZV9taXhlcl90cmFja3MpLCAocHJvYmVfcGFkKSwKCSAgKHByb2JlX2RldGFpbHMpLCAocHJvYmVfZWxlbWVudCksIChtYWluKToKCSAgU21hbGwgb3NzNCB0ZXN0IHRoYXQgcHJvYmVzIGZvciBhdmFpbGFibGUgZGV2aWNlcyBhbmQgcmV0cmlldmVzCgkgIHRoZWlyIGNhcHMgYW5kIG1peGVyIHRyYWNrcyBhbmQgYWxsIHRoYXQuIEFsc28gYWxsb3dzIHRlc3Rpbmcgb2YKCSAgbWl4ZXIgY2hhbmdlIG1lc3NhZ2VzIG9uIHRoZSBidXMuCgoyMDA4LTA1LTIyIDE1OjE0OjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgc3lzL29zczQvOiBNYWtlIGRldmljZS1uYW1lIHByb2JpbmcgaW4gTlVMTCBzdGF0ZSB3b3JrIGJldHRlciAoZS5nLiBmb3IgdGhlIGdub21lLWNvbnRyb2wtY2VudGVyIHNvdW5kIGNhcHBsZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6IChnc3Rfb3NzNF9taXhlcl9vcGVuKToKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmM6CgkgIChnc3Rfb3NzNF9wcm9wZXJ0eV9wcm9iZV9maW5kX2RldmljZV9uYW1lKSwKCSAgKGdzdF9vc3M0X3Byb3BlcnR5X3Byb2JlX2ZpbmRfZGV2aWNlX25hbWVfbm9mZCk6CgkgICogc3lzL29zczQvb3NzNC1wcm9wZXJ0eS1wcm9iZS5oOgoJICAqIHN5cy9vc3M0L29zczQtc2luay5jOiAoZ3N0X29zczRfc2lua19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZ2V0X3Byb3BlcnR5KToKCSAgTWFrZSBkZXZpY2UtbmFtZSBwcm9iaW5nIGluIE5VTEwgc3RhdGUgd29yayBiZXR0ZXIgKGUuZy4gZm9yIHRoZQoJICBnbm9tZS1jb250cm9sLWNlbnRlciBzb3VuZCBjYXBwbGV0KS4KCjIwMDgtMDUtMjIgMTQ6MDM6MDUgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6IE1vdmUgc29tZSBjb2RlIGFyb3VuZCB0byBpbnRlZ3JhdGUgdGhlIHN0YXJ0Y29kZSBzZWFyY2hpbmcgd2l0aCB0aGUgb3RoZXIgYml0cy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzogKGdzdF9tcGVnNHZwYXJzZV9wdXNoKSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9kcmFpbiksIChnc3RfbXBlZzR2cGFyc2VfY2hhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSk6CgkgIE1vdmUgc29tZSBjb2RlIGFyb3VuZCB0byBpbnRlZ3JhdGUgdGhlIHN0YXJ0Y29kZSBzZWFyY2hpbmcgd2l0aCB0aGUKCSAgb3RoZXIgYml0cyBvZiBwYXJzaW5nLCBhdm9pZCBhIHdob2xlIGJ1bmNoIG9mIHBlZWtzLgoJICBHZXQgcmlkIG9mIGludmFsaWQgZGF0YSB0aGF0IHNob3VsZCBub3QgaGFwcGVuIGFjY29yZGluZyB0byB0aGUgc3BlY3MuCgkgIEZpeGVzICM1MzM1NTkuCgoyMDA4LTA1LTIwIDA5OjM2OjU2ICswMDAwICBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzQGhhZGVzcy5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIHRvIGdldCBhIG1vcmUgY29ycmVjdCBzZWVrIGJhciBpbiB0b3RlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSA8aGFkZXNzIGF0IGhhZGVzcyBkb3QgbmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9teXRodHZfc3JjX2luaXQpLCAoZ3N0X215dGh0dl9zcmNfY2xlYXIpLAoJICAoZG9fcmVhZF9yZXF1ZXN0X3Jlc3BvbnNlKSwgKGdzdF9teXRodHZfc3JjX2NyZWF0ZSksCgkgIChnc3RfbXl0aHR2X3NyY19zdGFydCk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gdG8gZ2V0IGEgbW9yZSBjb3JyZWN0IHNlZWsgYmFyIGluIHRvdGVtLgoJICBEaXNhYmxlIHF1ZXJ5IGFuZCBldmVudCBmdW5jdGlvbnMgYXMgdGhleSBkb24ndCB3b3JrIGFuZCBkbyBzb21lCgkgIHNtYWxsZXIgY2xlYW51cC4KCSAgRml4ZXMgYnVnICM1MzM3MzYuCgoyMDA4LTA1LTIwIDA5OjA0OjQ4ICswMDAwICBCcmlhbiBLb3JvcG9mZiA8YnJpYW5oa0Bjcy53YXNoaW5ndG9uLmVkdT4KCgkgIGV4dC9zcGMvOiBBZGQgc3VwcG9ydCBmb3Igc29tZSBlc3NlbnRpYWwgZmVhdHVyZXMgbGlrZSBzZWVraW5nLCByZWFkaW5nIHNvbmcgZHVyYXRpb24gYW5kIGV4dGVuZGVkIHRhZ3MuIEZpeGVzIGJ1ZyAjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEJyaWFuIEtvcm9wb2ZmIDxicmlhbmhrIGF0IGNzIGRvdCB3YXNoaW5ndG9uIGRvdCBlZHU+CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BjX2RlY19zcmNfcXVlcnlfdHlwZSksIChnc3Rfc3BjX2RlY19pbml0KSwKCSAgKGdzdF9zcGNfZGVjX2Rpc3Bvc2UpLCAoZ3N0X3NwY19kZWNfc2lua19ldmVudCksCgkgIChnc3Rfc3BjX2R1cmF0aW9uKSwgKGdzdF9zcGNfZmFkZW91dCksIChnc3Rfc3BjX2RlY19zcmNfZXZlbnQpLAoJICAoZ3N0X3NwY19kZWNfc3JjX3F1ZXJ5KSwgKHNwY19wbGF5KSwgKHNwY19zZXR1cCk6CgkgICogZXh0L3NwYy9nc3RzcGMuaDoKCSAgKiBleHQvc3BjL3RhZy5jOiAoc3BjX3RhZ19pc19leHRlbmRlZCksIChzcGNfdGFnX2lzX3RleHRfZm9ybWF0KSwKCSAgKHNwY190YWdfaXNfcHJlc2VudCksIChzcGNfdGFnX3VucGFja19kYXRlKSwgKHNwY190YWdfY2xlYXIpLAoJICAoc3BjX3RhZ19nZXRfaW5mbyksIChzcGNfdGFnX2ZyZWUpOgoJICAqIGV4dC9zcGMvdGFnLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBzb21lIGVzc2VudGlhbCBmZWF0dXJlcyBsaWtlIHNlZWtpbmcsIHJlYWRpbmcgc29uZwoJICBkdXJhdGlvbiBhbmQgZXh0ZW5kZWQgdGFncy4gRml4ZXMgYnVnICM0NTQxNTEuCgoyMDA4LTA1LTE5IDEyOjMyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogU2V0IGtlZXAtcG9zaXRpb25zIHByb3BlcnR5IHRvIFRSVUUgZm9yIHRoZSA4IGNoYW5uZWwgdGVzdCB0byBlbnN1cmUgdGhhdCB0aGUgb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFNldCBrZWVwLXBvc2l0aW9ucyBwcm9wZXJ0eSB0byBUUlVFIGZvciB0aGUgOCBjaGFubmVsIHRlc3QgdG8gZW5zdXJlCgkgIHRoYXQgdGhlIG9yaWdpbmFsIGNoYW5uZWwgcG9zaXRpb24gaXMgc2V0IG9uIHRoZSBvdXRwdXQuCgoyMDA4LTA1LTE5IDA3OjQ2OjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogQWRkIGEgcHJvcGVydHkgdG8gc2VsZWN0IHdoZXRoZXIgY2hhbm5lbCBwb3NpdGlvbnMgc2hvdWxkIGJlIGtlcHQgb24gdGhlIG1vbm8gb3V0cHV0IGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBhIHByb3BlcnR5IHRvIHNlbGVjdCB3aGV0aGVyIGNoYW5uZWwgcG9zaXRpb25zIHNob3VsZCBiZSBrZXB0IG9uCgkgIHRoZSBtb25vIG91dHB1dCBidWZmZXJzIG9yIHNob3VsZCBiZSBkcm9wcGVkLgoKMjAwOC0wNS0xOCAxMDoyNzoyNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL01ha2VmaWxlLmFtOiBPb3BzIC0gZml4IHRoZSBzcGVsbGluZyBvZiB0aGUgdmFyaWFibGUgSSBhZGRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9NYWtlZmlsZS5hbToKCSAgT29wcyAtIGZpeCB0aGUgc3BlbGxpbmcgb2YgdGhlIHZhcmlhYmxlIEkgYWRkZWQuCgoyMDA4LTA1LTE3IDE5OjM5OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuKjogUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZSBkb3duc3RyZWFtIHdpbGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZWludGVybGVhdmVfaW5pdCksIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKSwgKGdzdF9kZWludGVybGVhdmVfc2lua19hY3RpdmF0ZV9wdXNoKToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuaDoKCSAgUXVldWUgZXZlbnRzIHVudGlsIHNyYyBwYWRzIHdlcmUgYWRkZWQgYW5kIHRoZXkgY2FuIGJlIHNlbnQuIE90aGVyd2lzZQoJICBkb3duc3RyZWFtIHdpbGwgbmV2ZXIgZ2V0IHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LgoKMjAwOC0wNS0xNyAxNDowNTowMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IEFsd2F5cyBzZXQgdGhlIGNoYW5uZWwgcG9zaXRpb25zIHdoZW4gZ3N0X2F1ZGlvX2dldF9jaGFubmVsX3Bvc2l0aW9ucygpIHJldHVybnMgc29tZXRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9nZXRjYXBzKToKCSAgQWx3YXlzIHNldCB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgd2hlbiBnc3RfYXVkaW9fZ2V0X2NoYW5uZWxfcG9zaXRpb25zKCkKCSAgcmV0dXJucyBzb21ldGhpbmcsIGV2ZW4gaWYgdGhleSdyZSBub3Qgc2V0IGluIHRoZSBjYXBzLiBUaGlzIG1ha2VzCgkgIHN1cmUgdGhhdCB0aGUgb3V0cHV0IGNoYW5uZWxzIGNhbiBiZSBpbnRlcmxlYXZlZCBhZ2FpbiBjb3JyZWN0bHkKCSAgaW4gdGhlIG1vbm8vc3RlcmVvIGNhc2VzIHRvby4KCSAgRG9uJ3QgYXNrIGZvciB0aGUgcGVlcmNhcHMgb2YgdGhlIGN1cnJlbnQgcGFkIGluIGdldGNhcHMoKSBhcyB0aGlzCgkgIG1pZ2h0IGNhbGwgZ2V0Y2FwcygpIGFnYWluIGFuZCBkZWFkbG9jay4KCjIwMDgtMDUtMTYgMjI6MDA6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiBDaGVjayBzb21lIG1vcmUgY29tbW9uIGxvY2F0aW9ucyBmb3IgYSB2YWxpZCBjb25maWd1cmF0aW9uIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiAod2lsZG1pZGlfb3Blbl9jb25maWcpOgoJICBDaGVjayBzb21lIG1vcmUgY29tbW9uIGxvY2F0aW9ucyBmb3IgYSB2YWxpZCBjb25maWd1cmF0aW9uIGZpbGUuCgkgIEZpeGVzIGJ1ZyAjNTMzNDM1LiBQYWNrYWdlcnMgc2hvdWxkIHN0aWxsICNkZWZpbmUgV0lMRE1JRElfQ0ZHCgkgIHRvIHRoZSBkaXN0cmlidXRpb25zIGRlZmF1bHQgbG9jYXRpb24uCgoyMDA4LTA1LTE2IDIxOjU2OjI0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvaW50ZXJsZWF2ZS86IEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChkZWludGVybGVhdmVfMjQpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9maW5hbGl6ZSksIChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfc2V0X3BhZHNfY2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NldF9wcm9jZXNzX2Z1bmN0aW9uKSwKCSAgKGdzdF9kZWludGVybGVhdmVfc2lua19zZXRjYXBzKSwgKF9fcmVtb3ZlX2NoYW5uZWxzKSwKCSAgKF9fc2V0X2NoYW5uZWxzKSwgKGdzdF9kZWludGVybGVhdmVfZ2V0Y2FwcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9jaGFpbiksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3NpbmtfYWN0aXZhdGVfcHVzaCk6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBhbGwgcmF3IGF1ZGlvIGZvcm1hdHMgYW5kIHByb3ZpZGUgYmV0dGVyIG5lZ290aWF0aW9uCgkgIGlmIHRoZSBjYXBzIGFyZSBjaGFuZ2luZy4KCSAgRG9uJ3QgYWxsb3cgY2hhbmdlcyBvZiB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgYW5kIHNldCB0aGUgcG9zaXRpb24gb2YKCSAgdGhlIGNvcnJlc3BvbmRpbmcgY2hhbm5lbCBvbiB0aGUgc3JjIHBhZCBjYXBzLgoJICBHZW5lcmFsIGNsZWFudXAgYW5kIHNtYWxsZXIgYnVnZml4ZXMuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZGVpbnRlcmxlYXZlLmM6IChmbG9hdF9idWZmZXJfY2hlY2tfcHJvYmUpOgoJICBDaGVjayB0aGUgY2hhbm5lbCBwb3NpdGlvbnMgb24gdGhlIG91dHB1dCBidWZmZXIgY2Fwcy4KCjIwMDgtMDUtMTYgMTk6NTY6MzAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9NYWtlZmlsZS5hbTogRG9uJ3QgYXR0ZW1wdCB0byBidWlsZCBwbHVnaW4gZG9jcyB3aGVuIHRoZXkncmUgZGlzYWJsZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgIERvbid0IGF0dGVtcHQgdG8gYnVpbGQgcGx1Z2luIGRvY3Mgd2hlbiB0aGV5J3JlIGRpc2FibGVkLgoJICAqIGdzdC9iYXllci9NYWtlZmlsZS5hbToKCSAgQWRkIGxpYmdzdHZpZGVvIHRvIHRoZSBsaW5rLgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICBGaXggbGluayBvcmRlciwgYW5kIG1vdmUgTElCUyB0aGluZ3MgdG8gX0xJQlMKCjIwMDgtMDUtMTYgMTQ6NDk6MDcgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnR5cGVzOiBSZW1vdmUgYm9ndXMgYXR0ZW1wdCB0byBwdWxsICdtZXRhZGF0YScgcGx1Z2luJ3MgYmFzZSBjbGFzcyBpbnRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIFJlbW92ZSBib2d1cyBhdHRlbXB0IHRvIHB1bGwgJ21ldGFkYXRhJyBwbHVnaW4ncyBiYXNlCgkgIGNsYXNzIGludG8gdGhlIGRvY3MuCgoyMDA4LTA1LTE0IDIxOjAyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFNpbXBseSBkcm9wIGJhZCBSVFAgcGFja2V0cyB3aXRoIGEgd2FybmluZyBpbnN0ZWFkIG9mIGp1c3QgcG9zdGluZyBhbiBlcnJvciBhbmQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgU2ltcGx5IGRyb3AgYmFkIFJUUCBwYWNrZXRzIHdpdGggYSB3YXJuaW5nIGluc3RlYWQgb2YganVzdCBwb3N0aW5nIGFuCgkgIGVycm9yIGFuZCBzdG9wcGluZy4gVGhpcyBpcyBhIHBlcmZlY3RseSByZWNvdmVyYWJsZSBldmVudCBhbmQgd2UgZG9uJ3QKCSAgZm9yY2UgcGVvcGxlIHRvIHVzZSBhbiBydHBiaW4gdG8gZmlsdGVyIG91dCBiYWQgcGFja2V0cyBmaXJzdC4KCjIwMDgtMDUtMTQgMjA6NTc6MzEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgc3JjcGFkIGFmdGVyIHdlIGNyZWF0ZWQgdGhlIHBhZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5jOiAoZ3N0X21wZWc0dnBhcnNlX2luaXQpOgoJICBTZXQgZml4ZWQgY2FwcyBvbiB0aGUgc3JjcGFkIGFmdGVyIHdlIGNyZWF0ZWQgdGhlIHBhZC4uLgoKMjAwOC0wNS0xNCAxNjoyMTowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgZGVpbnRlcmxlYXZlIHRlc3QgZnJvbSBWQUxHUklORF9UT19GSVggYWdhaW4gbm93IHRoYXQgdGhlcmUgYXJlIHN1cHByZXNzaW9ucyBpbiBnc3Qucy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIGRlaW50ZXJsZWF2ZSB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIGFnYWluIG5vdyB0aGF0CgkgIHRoZXJlIGFyZSBzdXBwcmVzc2lvbnMgaW4gZ3N0LnN1cHAgd2hpY2ggbWFrZSB0aGlzIHdvcmsgZm9yIG1lLgoKMjAwOC0wNS0xNCAxNDoxOTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBBZGQgZGVpbnRlcmxlYXZlIHVuaXQgdGVzdCB0byBWQUxHUklORF9UT19GSVgsIHNpbmNlIGl0IGNhdXNlcyB3ZWlyZCBpbnZhbGlkIGZyZWUgZXJyb3JzIGluIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgQWRkIGRlaW50ZXJsZWF2ZSB1bml0IHRlc3QgdG8gVkFMR1JJTkRfVE9fRklYLCBzaW5jZSBpdCBjYXVzZXMKCSAgd2VpcmQgaW52YWxpZCBmcmVlIGVycm9ycyBpbiB2YWxncmluZC9saWJjIGFmdGVyIF9leGl0IGZvciBzb21lCgkgIHJlYXNvbi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKHBhZHNfY3JlYXRlZCksCgkgIChzZXRfY2hhbm5lbF9wb3NpdGlvbnMpLCAoc3JjX2hhbmRvZmZfZmxvYXQzMl84Y2gpLAoJICAoZmxvYXRfYnVmZmVyX2NoZWNrX3Byb2JlKSwKCSAgKHBhZF9hZGRlZF9zZXR1cF9kYXRhX2NoZWNrX2Zsb2F0MzJfOGNoX2NiKSwKCSAgKG1ha2VfZmFrZV9zcmNfOGNoYW5zX2Zsb2F0MzIpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHNvbWUgbW9yZSBkZWludGVybGVhdmUgdW5pdCB0ZXN0IGJpdHMgSSBoYWQgbG9jYWxseS4KCj09PSByZWxlYXNlIDAuMTAuMjAgPT09CgoyMDA4LTA1LTE0IDEzOjU3OjQxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jIGFuZCB3aGljaCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBSZXZlcnQgcHJldmlvdXMgY2hhbmdlIHdoaWNoIG1hZGUgYmFzZXRyYW5zZm9ybSBoYW5kbGUgYnVmZmVyX2FsbG9jCgkgIGFuZCB3aGljaCBicmVha3MgdGhpbmdzIGJhZGx5IGluIHRoZSBub24tcGFzc3Rocm91Z2ggY2FzZSBzaW5jZSBpdAoJICByZXR1cm5lZCBidWZmZXJzIHdpdGggYSBkaWZmZXJlbnQgKGllLiBzb21ldGltZXMgc21hbGxlcikgc2l6ZSB0aGFuCgkgIHRoZSBzaXplIHJlcXVlc3RlZC4KCjIwMDgtMDUtMTQgMDc6MzI6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9pbnRlcmxlYXZlLzogU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uIGdlbmVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5oOgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgU3BsaXQgZGVmaW5pdGlvbnMgaW50byBzZXBhcmF0ZSBoZWFkZXIgZmlsZXMgZm9yIGJldHRlciBkb2N1bWVudGF0aW9uCgkgIGdlbmVyYXRpb24uCgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NsYXNzX2luaXQpLCAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RlaW50ZXJsZWF2ZV9wcm9jZXNzKToKCSAgRG9uJ3QgdXNlIGFsbG9jYSwgYWxsb3cgY2FwcyBjaGFuZ2VzIGFzIGxvbmcgYXMgdGhlIG51bWJlciBvZiBjaGFubmVscwoJICBkb2VzIG5vdCBjaGFuZ2UsIGRvbid0IHVzZSBnX3dhcm5pbmcsIHJldHVybiBOT1RfTkVHT1RJQVRFRCBhcyBlYXJseQoJICBhcyBwb3NzaWJsZSBhbmQgc29tZSBvdGhlciBjbGVhbnVwLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogKGdzdF9pbnRlcmxlYXZlX2Jhc2VfaW5pdCksCgkgIChnc3RfaW50ZXJsZWF2ZV9jbGFzc19pbml0KToKCSAgRG8gc29tZSByYW5kb20gY2xlYW51cC4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9kZWludGVybGVhdmUuYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKGRlaW50ZXJsZWF2ZV9jaGFpbl9mdW5jKSwgKGRlaW50ZXJsZWF2ZV9wYWRfYWRkZWQpLAoJICAoZGVpbnRlcmxlYXZlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHRoZSBkZWludGVybGVhdmUgZWxlbWVudC4KCjIwMDgtMDUtMTMgMTc6MjE6MDcgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLio6IFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldCB3aWR0aC9oZWlnaHQsIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuYzoKCSAgKGdzdF9tcGVnNHZwYXJzZV9zZXRfbmV3X2NhcHMpLCAoZ3N0X21wZWc0dnBhcnNlX2FsaWduKSwKCSAgKGdldF9iaXRzKSwgKG5leHRfc3RhcnRfY29kZSksIChnc3RfbXBlZzR2cGFyc2VfaGFuZGxlX3ZvcyksCgkgIChnc3RfbXBlZzR2cGFyc2VfcHVzaCksIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWc0dnBhcnNlX3NyY19xdWVyeSksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9tcGVnNHZwYXJzZV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X21wZWc0dnBhcnNlX2luaXQpOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmg6CgkgIFBhcnNlIHRoZSBjb25maWcgZGF0YSAoZWl0aGVyIG91dGJvdW5kIG9yIGluIHRoZSBzdHJlYW0pIHRvIHNldAoJICB3aWR0aC9oZWlnaHQsIGFwZWN0IHJhdGlvbiwgZnJhbWVyYXRlIGluIHRoZSBjYXBzIGlmIGFwcGxpY2FibGUuCgkgIE1hcmsgZnJhbWVzIGFzIEdTVF9CVUZGRVJfRkxBR19ERUxUQV9VTklUIHdoZW4gdGhleSBhcmUgbm90CgkgIGludHJhIGZyYW1lcwoJICBTZXQgdGhlIHRpbWVzdGFtcHMgb2Ygb3V0Z29pbmcgYnVmZmVycyB0byB0aGUgYnVmZmVyIGluCgkgIHdoaWNoIHRoZSBWT1AgaGVhZGVyIHdhcyBmb3VuZC4KCSAgRHJvcCBpbmNvbWluZyBkYXRhIHVudGlsbCBjb25maWd1cmF0aW9uIGlzIGZvdW5kIChieSBkZWZhdWx0LAoJICBjb25maWd1cmFibGUgdXNpbmcgYSBwcm9wZXJ0eSkuCgkgIFJlcG9ydCBhIDEgZnJhbWUgbGF0ZW5jeS4gRml4ZXMgIzUzMjcyMy4KCjIwMDgtMDUtMTMgMTY6MTY6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogQWRkIHNvbWUgZGVidWcgZm9yIHdoZXJlIHdlIGFyZSBzZWFyY2hpbmcgZm9yIGxpYnJhcmllcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICBBZGQgc29tZSBkZWJ1ZyBmb3Igd2hlcmUgd2UgYXJlIHNlYXJjaGluZyBmb3IgbGlicmFyaWVzLgoKMjAwOC0wNS0xMyAxMDo1OTo0OSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbGF0ZXN0IGJhc2V0cmFuc2Zvcm0gbmVnb3RpYXRpb24gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTam9lcmQgU2ltb25zIDxzam9lcmQgYXQgbHVvbiBkb3QgbmV0PgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKGxpdmVfc3dpdGNoX2FsbG9jX29ubHlfNDgwMDApLCAobGl2ZV9zd2l0Y2hfZ2V0X3NpbmtfY2FwcyksCgkgIChsaXZlX3N3aXRjaF9wdXNoKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBiYXNldHJhbnNmb3JtIG5lZ290aWF0aW9uIGNoYW5nZXMuCgkgIFNlZSBidWcgIzUyNjc2OC4KCjIwMDgtMDUtMTMgMDk6MDY6NTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWN0dWFsbHkgYWRkIHRoZSBkby1sb3N0IHByb3BlcnR5IHRvIHRoZSBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEFjdHVhbGx5IGFkZCB0aGUgZG8tbG9zdCBwcm9wZXJ0eSB0byB0aGUgb2JqZWN0LgoKMjAwOC0wNS0xMiAxODo0Mzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBBdm9pZCB3YWl0aW5nIGZvciBhIG5lZ2F0aXZlIChodWdlKSBkdXJhdGlvbiB3aGVuIHRoZSBsYXN0IHBhY2tldCBoYXMgYSBsb3dlciB0aS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgQXZvaWQgd2FpdGluZyBmb3IgYSBuZWdhdGl2ZSAoaHVnZSkgZHVyYXRpb24gd2hlbiB0aGUgbGFzdCBwYWNrZXQgaGFzIGEKCSAgbG93ZXIgdGltZXN0YW1wIHRoYW4gdGhlIGN1cnJlbnQgcGFja2V0LgoKMjAwOC0wNS0xMiAxNDoyODowOSArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgcnRwc2Vzc2lvbiByZXR1cm5lZCBieSBnc3RfcGFkX2dldF9wYXJlbnQoKSB0byBwcmV2ZW50IGEgbWVtb3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX3F1ZXJ5X3NlbmRfcnRjcF9zcmMpOgoJICBNYWtlIHN1cmUgdG8gdW5yZWYgdGhlIHJ0cHNlc3Npb24gcmV0dXJuZWQgYnkgZ3N0X3BhZF9nZXRfcGFyZW50KCkgdG8KCSAgcHJldmVudCBhIG1lbW9yeSBsZWFrLgoKMjAwOC0wNS0xMiAxNDoxNzowNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OiBRdWlldGVuIHNvbWUgZG9jcyBvdXRwdXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgUXVpZXRlbiBzb21lIGRvY3Mgb3V0cHV0CgoyMDA4LTA1LTEyIDE0OjEyOjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBJbml0aWFsaXNlIHdpdGggR1NUX0NMT0NLX1RJTUVfTk9ORSB0byBhdm9pZCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdGlhbGlzZSB3aXRoIEdTVF9DTE9DS19USU1FX05PTkUgdG8gYXZvaWQgY29tcGlsZXIgd2FybmluZy4KCjIwMDgtMDUtMTEgMTc6MjM6MjAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0aW50ZXJsYWNlLnhtbDoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUmFuZG9tIGRvYyBvZiB0aGUgZGF5OiB0aGUgZGVpbnRlcmxhY2UgZWxlbWVudC4KCjIwMDgtMDUtMDkgMTA6MjE6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBNYWtlIHN1cmUgYWxsIHNjaGVkdWxlIEVJVCBhbmQgbm9uLWFjdHVhbCB0cmFuc3BvcnQgc3RyZWFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE1ha2Ugc3VyZSBhbGwgc2NoZWR1bGUgRUlUIGFuZCBub24tYWN0dWFsIHRyYW5zcG9ydCBzdHJlYW0KCSAgRUlUcyBhcmUgcGFyc2VkLiBBbHNvIGFkZCBwcmVzZW50LWZvbGxvd2luZyBmbGFnIGFuZAoJICBhY3R1YWwtdHJhbnNwb3J0LXN0cmVhbSBmbGFnIHRvIGVpdCBidXMgbWVzc2FnZS4KCjIwMDgtMDUtMDkgMDc6NDE6NTggKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9maW5hbGl6ZSk6CgkgIE1ha2Ugc3VyZSB0byB1bnJlZiB0aGUgY2FwcyB1c2VkIGJ5IFJUUFNvdXJjZSB0byBwcmV2ZW50IGEgbWVtb3J5IGxlYWsuCgoyMDA4LTA1LTA4IDE5OjE2OjE3ICswMDAwICBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodEBudGx3b3JsZC5jb20+CgoJICBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5jOiBBcHBhcmVudGx5IG1vbm8gc2xpZGVycyBoYXZlIHRoZSBtb25vIHZhbHVlIHJlcGVhdGVkIGluIHRoZSB1cHBlciBiaXRzLCBzbyBtYXNrIHRob3NlIG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBDbGl2ZSBXcmlnaHQgPGNsaXZlX3dyaWdodCBudGx3b3JsZCBjb20+CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzogKGdzdF9vc3M0X21peGVyX3NsaWRlcl91bnBhY2tfdm9sdW1lKToKCSAgQXBwYXJlbnRseSBtb25vIHNsaWRlcnMgaGF2ZSB0aGUgbW9ubyB2YWx1ZSByZXBlYXRlZCBpbiB0aGUgdXBwZXIgYml0cywKCSAgc28gbWFzayB0aG9zZSBvdXQgd2hlbiByZWFkaW5nIHRoZW0uIFByb2JhYmx5IG1ha2VzIHRoZSBtaXhlciBhcHBsZXQKCSAgd29yayBwcm9wZXJseSBpbiBzb21lIG1vcmUgY2FzZXMuCgoyMDA4LTA1LTA4IDA5OjQzOjMzICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiBVbmxvY2sgdGhlIHNlc3Npb24gbG9jayB3aGVuIGNhbGxpbmcgb25lIG9mIG91ciBjYWxsYmFja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc291cmNlX2Nsb2NrX3JhdGUpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKToKCSAgVW5sb2NrIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBjYWxsaW5nIG9uZSBvZiBvdXIgY2FsbGJhY2tzLgoJICBGaXhlcyAjNTMyMDExLgoKMjAwOC0wNS0wOCAwNjoyMzozOSArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspOgoJICBTZW5kIFJUUCBCWUUgY29tbWFuZCBvbiBFT1MuIEZpeGVzIGJ1ZyAjNTMxOTU1LgoKMjAwOC0wNS0wOCAwNjoyMDo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBMZXQgYXVkaW9yZXNhbXBsZSB1c2UgdGhlIGJ1ZmZlciBhbGxvY2F0aW9uIG9mIGJhc2V0cmFuc2Zvcm0gaW5zdGVhZCBvZiBpdCdzIG93Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KToKCSAgTGV0IGF1ZGlvcmVzYW1wbGUgdXNlIHRoZSBidWZmZXIgYWxsb2NhdGlvbiBvZiBiYXNldHJhbnNmb3JtIGluc3RlYWQKCSAgb2YgaXQncyBvd24gc3R1ZmYuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOiAoYWxsb2Nfb25seV80ODAwMCksCgkgIChHU1RfU1RBUlRfVEVTVCksIChhdWRpb3Jlc2FtcGxlX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdCBmb3IgdGhlIHJlY2VudCBiYXNldHJhbnNmb3JtIGJ1Z2ZpeCwgd2hlcmUgdXBzdHJlYW0KCSAgY2hhbmdlcyBjYXBzIHRvIHNvbWV0aGluZyB0aGF0IGNhbid0IGJlIHBhc3NlZCB0aHJvdWdoIGFueW1vcmUuCgoyMDA4LTA1LTA3IDIwOjI1OjA5ICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgd2luMzIvY29tbW9uL2NvbmZpZy5oLmluOiBEb24ndCBkZWZpbmUgR1NUX0ZVTkNUSU9OLCBpZiBHTGliIHN1cHBvcnRzIE1TVkMgd2UnZCBtdWNoIHJhdGhlciB1c2UgdGhlIHJlYWwgdGhpbmcgdGhhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgRG9uJ3QgZGVmaW5lIEdTVF9GVU5DVElPTiwgaWYgR0xpYiBzdXBwb3J0cyBNU1ZDIHdlJ2QgbXVjaCByYXRoZXIKCSAgdXNlIHRoZSByZWFsIHRoaW5nIHRoYW4gaGF2aW5nICI/Pz8iIHVuY29uZGl0aW9uYWxseS4KCjIwMDgtMDUtMDcgMTA6Mzg6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwLzogQWRkIG1hcnNoYWwubGlzdCwgbWFrZSBpdCBjb21waWxlIGFuZCBhZGQgdG8gY3ZzaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwLy5jdnNpZ25vcmU6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcC1tYXJzaGFsLmxpc3Q6CgkgIEFkZCBtYXJzaGFsLmxpc3QsIG1ha2UgaXQgY29tcGlsZSBhbmQgYWRkIHRvIGN2c2lnbm9yZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKSwKCSAgKGdzdF9hcHBfc2lua19zdG9wKToKCSAgU21hbGwgY2xlYW51cHMuCgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzogKGdzdF9hcHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfaW5pdCksIChnc3RfYXBwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc3JjX3VubG9jayksCgkgIChnc3RfYXBwX3NyY191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NyY19zdGFydCksIChnc3RfYXBwX3NyY19zdG9wKSwKCSAgKGdzdF9hcHBfc3JjX2NyZWF0ZSksIChnc3RfYXBwX3NyY19zZXRfY2FwcyksCgkgIChnc3RfYXBwX3NyY19nZXRfY2FwcyksIChnc3RfYXBwX3NyY19zZXRfc2l6ZSksCgkgIChnc3RfYXBwX3NyY19nZXRfc2l6ZSksIChnc3RfYXBwX3NyY19zZXRfc2Vla2FibGUpLAoJICAoZ3N0X2FwcF9zcmNfZ2V0X3NlZWthYmxlKSwgKGdzdF9hcHBfc3JjX3NldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NyY19nZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zcmNfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2FwcF9zcmNfZW5kX29mX3N0cmVhbSk6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuaDoKCSAgQmVhdCBhcHBzcmMgaW4gc2hhcGUsIGFkZCBzaWduYWxzIGFuZCBhY3Rpb25zLgoJICBBZGQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydGllcyBmb3IgY2Fwcywgc2l6ZSwgc2Vla2FiaWxpdHkgYW5kIG1heC1idWZmZXJzLgoJICBGaXggdW5sb2NrL3N0b3AgY29kZS4KCjIwMDgtMDUtMDcgMDc6NTE6MzYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEVycm9yIG91dCBpZiB3ZSBkb24ndCBoYXZlIHRoZSByZXF1aXJlZCB2ZXJzaW9ucyBvZiBjb3JlL2Jhc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRXJyb3Igb3V0IGlmIHdlIGRvbid0IGhhdmUgdGhlIHJlcXVpcmVkIHZlcnNpb25zIG9mIGNvcmUvYmFzZS4KCjIwMDgtMDUtMDUgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogU3RhcnQgc29tZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19pbml0KSwgKGdzdF9hcHBfc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfYXBwX3NpbmtfdW5sb2NrX3N0YXJ0KSwKCSAgKGdzdF9hcHBfc2lua191bmxvY2tfc3RvcCksIChnc3RfYXBwX3NpbmtfZmx1c2hfdW5sb2NrZWQpLAoJICAoZ3N0X2FwcF9zaW5rX3N0YXJ0KSwgKGdzdF9hcHBfc2lua19zdG9wKSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfY2FwcyksIChnc3RfYXBwX3Npbmtfc2V0X2Ryb3ApLAoJICAoZ3N0X2FwcF9zaW5rX2dldF9kcm9wKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgU3RhcnQgc29tZSBkb2NzLgoJICBBZGQgcHJvcGVydHkgdG8gZHJvcCBidWZmZXJzIHdoZW4gdGhlIHF1ZXVlIGlzIGZpbGxlZAoJICBGaXggdW5sb2NraW5nIGFuZCBmbHVzaGluZyB3aGVuIHRoZSBxdWV1ZXMgYXJlIGZpbGxlZC4KCjIwMDgtMDUtMDIgMTQ6NDA6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgd2lsZG1pZGkgcGx1Z2luCgoyMDA4LTA0LTI5IDE5OjExOjU2ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOiBEZWNsYXJlIHZhcmlhYmxlcyBhdCB0aGUgYmVnaW5uaW5nIG9mIGJsb2Nrcy4gRml4ZXMgY29tcGlsYXRpb24gd2l0aCBnY2MgMi54IGFuZCBvdGhlciBjb21waWwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChnc3Rfc3J0X2VuY190aW1lc3RhbXBfdG9fc3RyaW5nKToKCSAgRGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBibG9ja3MuIEZpeGVzIGNvbXBpbGF0aW9uIHdpdGgKCSAgZ2NjIDIueCBhbmQgb3RoZXIgY29tcGlsZXJzLiBGaXhlcyBidWcgIzUzMDYxMS4KCjIwMDgtMDQtMjkgMDk6MDI6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90IGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBEZXRlY3QgU0kgcGlkcyAoTklULCBTRFQsIEVJVCBldGMuKSBiYXNlZCBvbiB0YWJsZSBpZCBhbmQgbm90CgkgIGJ5IHBpZCBudW1iZXIuIFRoaXMgYWxsb3dzIGZvciBleGFtcGxlIHRoZSBFUEcgZGF0YSBmcm9tIFVLJ3MKCSAgZnJlZXNhdCB0byBiZSBwaWNrZWQgdXAuCgoyMDA4LTA0LTI1IDIzOjIyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvOiBDYXN0IE5VTEwgc2VudGluZWxzIHRvIHZvaWQgKiBhcyBOVUxMIGlzIGRlZmluZWQgYXMgYW4gaW50ZWdlciBjb25zdGFudCBpbiBtb3N0IGVudmlyb25tZW50cyB3aGVuIHVzaW5nIEMrKyBhbmQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2FzdCBOVUxMIHNlbnRpbmVscyB0byB2b2lkICogYXMgTlVMTCBpcyBkZWZpbmVkIGFzIGFuIGludGVnZXIKCSAgY29uc3RhbnQgaW4gbW9zdCBlbnZpcm9ubWVudHMgd2hlbiB1c2luZyBDKysgYW5kIGl0J3Mgc2l6ZSBtaWdodAoJICBiZSBkaWZmZXJlbnQgZnJvbSBhIHBvaW50ZXIuCgoyMDA4LTA0LTI1IDE4OjE4OjQ3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IEFkZCBtb3JlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2luaXQpLCAoZ3N0X2FwcF9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfYXBwX3NpbmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua19ldmVudCksCgkgIChnc3RfYXBwX3NpbmtfcHJlcm9sbCksIChnc3RfYXBwX3NpbmtfcmVuZGVyKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfZW1pdF9zaWduYWxzKSwgKGdzdF9hcHBfc2lua19nZXRfZW1pdF9zaWduYWxzKSwKCSAgKGdzdF9hcHBfc2lua19zZXRfbWF4X2J1ZmZlcnMpLCAoZ3N0X2FwcF9zaW5rX2dldF9tYXhfYnVmZmVycyksCgkgIChnc3RfYXBwX3NpbmtfcHVsbF9idWZmZXIpOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5oOgoJICBBZGQgbW9yZSBkb2NzLgoJICBBZGQgc2lnbmFscyBmb3Igd2hlbiBwcmVyb2xsIGFuZCByZW5kZXIgYnVmZmVycyBhcmUgYXZhaWxhYmxlLgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBzaWduYWwgZW1pc3Npb24uCgkgIEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIHRoZSBtYXggcXVldWUgc2l6ZS4KCjIwMDgtMDQtMjUgMTg6MTM6MDcgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogVXNlIENYWEZMQUdTIHJhdGhlciB0aGFuIENGTEFHUzsgdGhlc2UgYXJlIEMrKyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICBVc2UgQ1hYRkxBR1MgcmF0aGVyIHRoYW4gQ0ZMQUdTOyB0aGVzZSBhcmUgQysrIGZpbGVzLgoJICBEZWZpbmUgcmVxdWlyZWQgY29uc3RhbnRzIGFwcHJvcHJpYXRlbHkuCgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIHJlcXVpcmVkIGluY2x1ZGUgZGlyLCBsaWJyYXJpZXMuCgkgIERlZmluZSByZXF1aXJlZCBjb25zdGFudHMgYXBwcm9wcmlhdGVseS4KCjIwMDgtMDQtMjUgMTE6MzI6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogRXhwb3NlIG5ldyBqaXR0ZXJidWZmZXIgcHJvcGVydHkgaW4gcnRwYmluIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwgKGdzdF9ydHBfYmluX2luaXQpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBuZXcgaml0dGVyYnVmZmVyIHByb3BlcnR5IGluIHJ0cGJpbiB0b28uCgoyMDA4LTA0LTI1IDExOjIyOjEzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERpc2FibGUgc2VuZGluZyBvdXQgcnRwIHBhY2tldCBsb3N0IGV2ZW50cyBieSBkZWZhdWx0IGFuZCBtYWtlIGEgcHJvcGVydHkgdG8gZW5hLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGlzYWJsZSBzZW5kaW5nIG91dCBydHAgcGFja2V0IGxvc3QgZXZlbnRzIGJ5IGRlZmF1bHQgYW5kIG1ha2UgYQoJICBwcm9wZXJ0eSB0byBlbmFiZSBpdC4gV2Ugd2lsbCBsaWtlbHkgZW5hYmxlIGl0IGJ5IGRlZmF1bHQgd2hlbiB0aGUgYmFzZQoJICBkZXBheWxvYWRlcnMgaGF2ZSBhIGRlZmF1bHQgaGFuZGxlciBmb3IgdGhlbSBzbyB0aGF0IHdlIGRvbid0IHNlbmQgdGhlc2UKCSAgZXZlbnRzIGFsbCB0aHJvdWdoIHRoZSBwaXBlbGluZSBmb3Igbm93LgoKMjAwOC0wNC0yNSAwOTozNTo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NyY19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBSZW1vdmUgcHJpdmF0ZSB2ZXJzaW9uIG9mIGEgZnVuY3Rpb24gdGhhdCBpcyBpbiAtYmFzZSBub3cuCgkgIEFkZCBzcmMgZXZlbnQgaGFuZGxlci4KCSAgUmV3b3JrIHRoZSBqaXR0ZXJidWZmZXIgcHVzaGluZyBsb29wIHNvIHRoYXQgaXQgY2FuIHF1aWNrbHkgcmVhY3QgdG8KCSAgbG9zdCBwYWNrZXRzIGFuZCBpbnN0cnVjdCB0aGUgZGVwYXlsb2FkZXIgb2YgdGhlbS4gVGhpcyBjYW4gdGhlbiBiZSB1c2VkCgkgIHRvIGltcGxlbWVudCBlcnJvciBjb25jZWFsbWVudCBkYXRhLgoKMjAwOC0wNC0yNSAwODoyMTowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogU2V0IHVwIHNvbWUgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zIGZvciB0aGUgUlRDUCBhbmQgc3luYyBwYWRzIGJlY2F1c2UgdGhlIGRlZmF1bHRzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fcXVlcnlfc2VuZF9ydGNwX3NyYyksIChjcmVhdGVfcmVjdl9ydGNwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRjcF9zcmMpOgoJICBTZXQgdXAgc29tZSBpbnRlcm5hbCBsaW5rcyBmdW5jdGlvbnMgZm9yIHRoZSBSVENQIGFuZCBzeW5jIHBhZHMgYmVjYXVzZQoJICB0aGUgZGVmYXVsdHMgYXJlIHJlYWxseSBub3QgY29ycmVjdC4KCSAgSW1wbGVtZW50IGEgcXVlcnkgaGFuZGxlciBmb3IgdGhlIFJUQ1Agc3JjIHBhZCwgbW9zdGx5IHRvIGNvcnJlY3RseQoJICByZXBvcnQgYWJvdXQgdGhlIGxhdGVuY3kuCgoyMDA4LTA0LTI1IDA4OjE1OjU4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZ3N0X3J0cF9iaW5fc3luY19jaGFpbik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAodXBkYXRlX2Fycml2YWxfc3RhdHMpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChydHBfc2Vzc2lvbl9vbl90aW1lb3V0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBBbHNvIGtlZXAgdHJhY2sgb2YgdGhlIGZpcnN0IGJ1ZmZlciB0aW1lc3RhbXAgdG9nZXRoZXIgd2l0aCB0aGUgZmlyc3QKCSAgUlRQIHRpbWVzdGFtcCBhcyB0aGV5IGJvdGggYXJlIG5lZWRlZCB0byBjb25zdHJ1Y3QgdGhlIHRpbWluZyBvZgoJICBvdXRnb2luZyBwYWNrZXRzIGluIHRoZSBqaXR0ZXJidWZmZXIgYW5kIGFyZSB0aGVyZWZvcmUgYWxzbyBuZWVkZWQgdG8KCSAgbWFuYWdlIGxpcC1zeW5jLiBUaGlzIGZpeGVzIGxpcC1zeW5jIGlmIHRoZSBmaXJzdCBSVFAgcGFja2V0cyBhcnJpdmUKCSAgd2l0aCBhIHdpbGRseSBkaWZmZXJlbnQgZ2FwLgoKMjAwOC0wNC0yNSAwODowNzozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRm9yd2FyZCB1bmtub3duIHF1ZXJpZXMgdXBzdHJlYW0gaW5zdGVhZCBvZiByZXR1cm5pbmcgRkFMU0Ugb24gdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9xdWVyeSk6CgkgIEZvcndhcmQgdW5rbm93biBxdWVyaWVzIHVwc3RyZWFtIGluc3RlYWQgb2YgcmV0dXJuaW5nIEZBTFNFIG9uIHRoZW0uCgoyMDA4LTA0LTI0IDIyOjE5OjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgc3VwcG9ydCBmb3IgdGhlIG5ldyBsaWJtcGNkZWMgQVBJIHdoaWNoIG1hZ2ljYWxseSBnZXRzIHVzIHN1cHBvcnQgZm9yIFNWOCBmaWxlcy4gQWxzbyBkbyBzb21lIHJhbmRvbSBjbGVhbnVwLiBGaXguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfZGlzcG9zZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrX3N0cmVhbV9pbml0KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIHRoZSBuZXcgbGlibXBjZGVjIEFQSSB3aGljaCBtYWdpY2FsbHkgZ2V0cyB1cyBzdXBwb3J0CgkgIGZvciBTVjggZmlsZXMuIEFsc28gZG8gc29tZSByYW5kb20gY2xlYW51cC4gRml4ZXMgYnVnICM1MjY5MDUuCgoyMDA4LTA0LTI0IDIxOjI0OjE4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQmFjayB0byBkZXZlbG9wbWVudCAtPiAwLjEwLjcuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gZGV2ZWxvcG1lbnQgLT4gMC4xMC43LjEKCSAgPT09IHJlbGVhc2UgMC4xMC43ID09PQoKPT09IHJlbGVhc2UgMC4xMC43ID09PQoKMjAwOC0wNC0yNCAwMDoxODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYXBwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZGF1ZGlvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mZXN0aXZhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tZXRhZGF0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnNHZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJhd3BhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZmJzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3RlcmVvLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC43CgoyMDA4LTA0LTI0IDAwOjE1OjI3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGNvbW1vbjoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9iZy5wbzoKCSogcG8vY3MucG86CgkqIHBvL2RhLnBvOgoJKiBwby9kZS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2VzLnBvOgoJKiBwby9maS5wbzoKCSogcG8vZnIucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vcnUucG86CgkqIHBvL3NrLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHBvL3poX0NOLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA4LTA0LTIyIDE1OjA3OjM1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IERvbid0IGxlYWsgR3N0QXVkaW9DaGFubmVsUG9zaXRpb24uIEZpeGVzICM1MjkzNzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRG9uJ3QgbGVhayBHc3RBdWRpb0NoYW5uZWxQb3NpdGlvbi4gRml4ZXMgIzUyOTM3OC4KCjIwMDgtMDQtMjIgMDg6MTg6MDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IFJlZiBjYXBzLCBzZWUgIzUyODI0NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiAocmVxdWVzdF9wdF9tYXApOgoJICBSZWYgY2Fwcywgc2VlICM1MjgyNDUuCgoyMDA4LTA0LTIyIDAwOjIxOjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogMC4xMC42LjQgcHJlLXJlbGVhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAwLjEwLjYuNCBwcmUtcmVsZWFzZQoKMjAwOC0wNC0yMSAyMTo1NDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiBEb24ndCBsZWFrIGEgdGFnIGxpc3QuIEZpeGVzIGJ1ZyAjNTI5Mjg1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIERvbid0IGxlYWsgYSB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODUuCgoyMDA4LTA0LTIxIDIxOjUyOjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogRG9uJ3QgbGVhayB0aGUgdGFncyBzdHJpbmcgYW5kIHRhZyBsaXN0LiBGaXhlcyBidWcgIzUyOTI4My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChidXNfaGFuZGxlcik6CgkgIERvbid0IGxlYWsgdGhlIHRhZ3Mgc3RyaW5nIGFuZCB0YWcgbGlzdC4gRml4ZXMgYnVnICM1MjkyODMuCgoyMDA4LTA0LTIxIDA4OjI2OjM3ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFJlZiBjYXBzIHdoZW4gaW5zZXJ0aW5nIGludG8gdGhlIGNhY2hlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlciBhdCB0ZXN0ZXIgZG90IGNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBSZWYgY2FwcyB3aGVuIGluc2VydGluZyBpbnRvIHRoZSBjYWNoZS4KCSAgRG9uJ3QgbGVhayBwYWRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIEF2b2lkIGEgY2FwcyBsZWFrLgoJICBEb24ndCBsZWFrIHJlZmNvdW50IGluIHF1ZXJ5LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEF2b2lkIGNhcHMgbGVha3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc291cmNlX2dldF9zZGVzX3N0cnVjdHVyZSksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChyZXR1cm5fdHJ1ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xlYXJfcHRfbWFwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jYWNoZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgUmVmIGNhcHMgd2hlbiBpbnNlcnRpbmcgaW50byB0aGUgY2FjaGUuCgkgIEZpeCBzb21lIG1vcmUgY2FwcyBsZWFrcy4gRml4ZXMgIzUyODI0NS4KCjIwMDgtMDQtMTggMTg6NTE6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogQWRkIGNhc3QgdG8gcGxhY2F0ZSBnY2MgNC4xLjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGQgY2FzdCB0byBwbGFjYXRlIGdjYyA0LjEuMi4KCjIwMDgtMDQtMTcgMjM6MDE6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiAwLjEwLjYuMyBwcmUtcmVsZWFzZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIDAuMTAuNi4zIHByZS1yZWxlYXNlCgoyMDA4LTA0LTE3IDE4OjI4OjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUmV2ZXJ0IHBhdGNoIHRoYXQgYWRkZWQgYSBsb29wIHRpbWVvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIFJldmVydCBwYXRjaCB0aGF0IGFkZGVkIGEgbG9vcCB0aW1lb3V0LgoJICBGaXhlcyAjNTI4NjE0LgoKMjAwOC0wNC0xNyAwNzozMTo0NCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwgKGZyZWVfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9nZXRfZnJlZV9wYWRfbmFtZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X2Nsb2NrX3JhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciBnX3NpZ25hbF9lbWl0diBzbyB0aGF0IHdlIGF2b2lkIGEgcmVmY291bnQgbGVhay4KCSAgRG9uJ3QgbGVhayBhIHBhZG5hbWUuCgkgIERvbid0IGxlYWsgY2xpZW50IHN0cmVhbXMgbGlzdC4KCSAgTG9jayBydHBiaW4gd2hlbiBhc3NvY2lhdGluZyBzdHJlYW1zLiBGaXhlcyAjNTI4MjQ1LgoKMjAwOC0wNC0xNiAwOTo1MDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERvbid0IGlubGN1ZGUgZGMxMzk0c3JjIGluIHRoZSBnZW5lcmljL3N0YXRlcyB0ZXN0IGFzIGl0IHJlcXVpcmVzIHNwZWNpYWwgaGFyZHdhcmUuIEZpeGVzIGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEb24ndCBpbmxjdWRlIGRjMTM5NHNyYyBpbiB0aGUgZ2VuZXJpYy9zdGF0ZXMgdGVzdCBhcyBpdCByZXF1aXJlcwoJICBzcGVjaWFsIGhhcmR3YXJlLiBGaXhlcyBidWcgIzUyODAxMS4KCjIwMDgtMDQtMTYgMDk6NDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL29mYS5jOiBPbmx5IGNoZWNrIGlmIHRoZSBnZW5lcmF0ZWQgZmluZ2VycHJpbnRzIGFyZSB2YWxpZCBCYXNlNjQuIFRoZSBmaW5nZXJwcmludHMgYXJlIGRpZmZlcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKToKCSAgT25seSBjaGVjayBpZiB0aGUgZ2VuZXJhdGVkIGZpbmdlcnByaW50cyBhcmUgdmFsaWQgQmFzZTY0LiBUaGUKCSAgZmluZ2VycHJpbnRzIGFyZSBkaWZmZXJlbnQgd2hlbiBydW5uaW5nIG9uIGRpZmZlcmVudCBhcmNoaXRlY3R1cmVzCgkgIHdoaWNoIGlzIGEpIG5vIHByb2JsZW0gYmVjYXVzZSB0aGUgZmluZ2VycHJpbnRzIGFyZSB0b2xlcmFudCBlbm91Z2gKCSAgYW5kIGIpIGlzIGNhdXNlZCBieSBsaWJvZmEuIEZpeGVzIGJ1ZyAjNTI4MjY2LgoKMjAwOC0wNC0xNiAwOTo0NTozMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3RpbWlkaXR5L01ha2VmaWxlLmFtOiBEaXN0IGFsbCBzb3VyY2UgZmlsZXMsIG5vIG1hdHRlciBpZiBvbmx5IHRpbWlkaXR5IG9yIHdpbGRtaWRpIG9yIG5vdGhpbmcgaXMgZm91bmQgYnkgY29uZmlnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90aW1pZGl0eS9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgc291cmNlIGZpbGVzLCBubyBtYXR0ZXIgaWYgb25seSB0aW1pZGl0eSBvciB3aWxkbWlkaSBvcgoJICBub3RoaW5nIGlzIGZvdW5kIGJ5IGNvbmZpZ3VyZS4gRml4ZXMgYnVnICM1MjgwMDAuCgoyMDA4LTA0LTE0IDIwOjA5OjI0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46IFJlbW92ZSBzb3VwaHR0cHNyYyBwbHVnaW4gZnJvbSBzcGVjIGZpbGVzLCBpdCdzIG1vdmVkIHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgUmVtb3ZlIHNvdXBodHRwc3JjIHBsdWdpbiBmcm9tIHNwZWMgZmlsZXMsIGl0J3MgbW92ZWQgdG8gLWdvb2QuCgoyMDA4LTA0LTEzIDIzOjExOjA5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBSZW1vdmUgc291cCB0ZXN0IGNlcnRpZmljYXRlcyBmcm9tIHRoZSBkaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgUmVtb3ZlIHNvdXAgdGVzdCBjZXJ0aWZpY2F0ZXMgZnJvbSB0aGUgZGlzdC4KCjIwMDgtMDQtMTMgMjA6NTQ6NTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBGaXggY29tcGlsYXRpb24gYnkgY2FzdGluZyBzdHJpbmcgY29uc3RhbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6CgkgIEZpeCBjb21waWxhdGlvbiBieSBjYXN0aW5nIHN0cmluZyBjb25zdGFudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBGaXggV0lOSU5FVF9ESVIgdmFyaWFibGUgcmVmZXJlbmNlLgoKMjAwOC0wNC0xMiAyMzozMjoxNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICAqIHRlc3RzL2NoZWNrL3Rlc3QtY2VydC5wZW06CgkgICogdGVzdHMvY2hlY2svdGVzdC1rZXkucGVtOgoJICBSZW1vdmUgc291cCBwbHVnaW4gdGhhdCdzIG1vdmVkIHRvIC1nb29kICgjNTIzMTI0KQoKMjAwOC0wNC0xMSAyMzoxOToyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcyBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KToKCSAgSGFuZGxlIE5VTEwgcmV0dXJucyBmcm9tIEZMVl9HRVRfU1RSSU5HKCkgbW9yZSBncmFjZWZ1bGx5LiBGaXhlcwoJICBjcmFzaCBjYXVzZWQgYnkgYSBzdHJsZW4gb24gYSBOVUxMIHN0cmluZyAoIzUyNzYyMikuCgoyMDA4LTA0LTExIDE5OjMzOjUzICswMDAwICBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoKCSAgc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLio6IERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4gdGhlIHN0cmVhbWluLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hcyBhdCB0YW5kYmVyZyBjb20+CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmM6IChQUk9QX0RFVklDRV9OQU1FKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2RzaG93dmlkZW9zcmNfaW5pdCksCgkgIChnc3RfZHNob3d2aWRlb3NyY19kaXNwb3NlKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3N0b3ApLAoJICAoZ3N0X2RzaG93dmlkZW9zcmNfdW5sb2NrKSwgKGdzdF9kc2hvd3ZpZGVvc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9kc2hvd3ZpZGVvc3JjX2NyZWF0ZSksIChnc3RfZHNob3d2aWRlb3NyY19wdXNoX2J1ZmZlcik6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3ZpZGVvc3JjLmg6CgkgIERvbid0IGluY3JlYXNlIGxhdGVuY3kgYnkgcXVldWluZyBidWZmZXJzIGluIGFuIGFzeW5jIHF1ZXVlIHdoZW4KCSAgdGhlIHN0cmVhbWluZyB0aHJlYWQgY2FuJ3Qga2VlcCB1cCBvciBpc24ndCBzY2hlZHVsZWQgb2Z0ZW4KCSAgZW5vdWdoIGZvciBzb21lIG90aGVyIHJlYXNvbiwgYnV0IGp1c3QgZHJvcCB0aGUgcHJldmlvdXMgYnVmZmVyCgkgIGluIHRoYXQgY2FzZS4gQWxzbyBpbXBsZW1lbnQgR3N0QmFzZVNyYzo6dW5sb2NrIGZvciBmYXN0ZXIKCSAgdW5sb2NraW5nIHdoZW4gc2h1dHRpbmcgZG93bi4gKCM1MjA4OTIpLgoKMjAwOC0wNC0xMSAxODo0NjozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci4qOiBSZW1vdmUgR3N0WE92ZXJsYXkgc3R1ZmYgYW5kIHVzZSBnZGtwaXhidWZzaW5rIHBsdXMgc29tZSByYXRoZXIgY3J1ZGUgZHJhd2luZy9zY2FsaW5nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzogKEVOQ19VTktOT1dOKSwgKGxhc3RfcGl4YnVmKSwKCSAgKGRyYXdfcGl4YnVmKSwgKGNoYW5nZV90YWdfbGlzdCksICh1cGRhdGVfZHJhd19waXhidWYpLAoJICAodWlfZHJhd2luZ19zaXplX2FsbG9jYXRlX2NiKSwgKG9uX2RyYXdpbmdNYWluX2V4cG9zZV9ldmVudCksCgkgIChvbl9idXR0b25TYXZlRmlsZV9jbGlja2VkKSwgKHVpX2NyZWF0ZSksIChtZV9nc3RfYnVzX2NhbGxiYWNrX3ZpZXcpLAoJICAobWVfZ3N0X3NldHVwX3ZpZXdfcGlwZWxpbmUpLCAocHJvY2Vzc19maWxlKToKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIFJlbW92ZSBHc3RYT3ZlcmxheSBzdHVmZiBhbmQgdXNlIGdka3BpeGJ1ZnNpbmsgcGx1cyBzb21lIHJhdGhlciBjcnVkZQoJICBkcmF3aW5nL3NjYWxpbmcgbG9naWMgdG8gbWFrZSB0aGlzIGNvbXBpbGUgYW5kIHdvcmsgb24gYWxsIHBsYXRmb3Jtcy4KCSAgRml4ZXMgIzUxODIyNy4KCjIwMDgtMDQtMTEgMTM6NTc6MDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgY29yZS9iYXNlIHJlcXVpcmVtZW50cyB0byByZWxlYXNlZCB2ZXJzaW9ucyB0byBhdm9pZCBjb25mdXNpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCBjb3JlL2Jhc2UgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIHRvIGF2b2lkCgkgIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuYzogKGRlaW50ZXJsYWNlX2RlYnVnKSwKCSAgKEdTVF9DQVRfREVGQVVMVCksIChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zZXRfY2FwcyksIChwbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIF9zZXRfZWxlbWVudF9kZXRhaWxzX3NpbXBsZSBhbmQKCSAgcmVtb3ZlIHNwZWNpYWwgY29kZSBwYXRoIGZvciBZNDJCIHRvIGNhbGN1bGF0ZSBvZmZzZXRzIGFuZAoJICBzdHJpZGVzOyBsaWJnc3R2aWRlbyBrbm93cyBob3cgdG8gaGFuZGxlIHRoaXMgZm9ybWF0IG5vdy4KCjIwMDgtMDQtMTEgMTM6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvY2R4YXBhcnNlLzogUG9ydCBWQ0QgcGFyc2VyIChmb3JtZXJseSBjZHhhc3RyaXApIGZyb20gMC44IHRvIDAuMTAuIERvZXNuJ3QgZG8gYW55dGhpbmcgdGhlIDAuOCB2ZXJzaW9uIGRpZG4ndCBkbyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2NkeGFwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmM6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5oOgoJICBQb3J0IFZDRCBwYXJzZXIgKGZvcm1lcmx5IGNkeGFzdHJpcCkgZnJvbSAwLjggdG8gMC4xMC4gRG9lc24ndCBkbwoJICBhbnl0aGluZyB0aGUgMC44IHZlcnNpb24gZGlkbid0IGRvIHRob3VnaC4KCjIwMDgtMDQtMTEgMDg6MTM6MjIgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL29zczQvOiBGaXggYXJndW1lbnRzIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wNC0xMSAgSnVsaWVuIE1vdXR0ZSAgPGp1bGllbkBmbHVlbmRvLmNvbT4KCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLWVudW0uYzoKCSAgKGdzdF9vc3M0X21peGVyX2VudW1fZ2V0X3ZhbHVlc19sb2NrZWQpOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmM6IChnc3Rfb3NzNF9zb3VyY2VfZGVsYXkpOiBGaXggYXJndW1lbnRzCgkgIGZvcm1hdCBpbiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwOC0wNC0xMCAxNToyOTo0NCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIEFkZCB3aW5pbmV0c3JjIGZvciBiYXNpYyBodHRwL2Z0cCBzdXBwb3J0IG9uIHdpbmRvd3MgKCM1MjA4OTcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXMgYXQgdGFuZGJlcmcgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvTWFrZWZpbGUuYW06CgkgICogc3lzL3dpbmluZXQvZ3N0d2luaW5ldHNyYy5jOgoJICAqIHN5cy93aW5pbmV0L2dzdHdpbmluZXRzcmMuaDoKCSAgQWRkIHdpbmluZXRzcmMgZm9yIGJhc2ljIGh0dHAvZnRwIHN1cHBvcnQgb24gd2luZG93cyAoIzUyMDg5NykuCgoyMDA4LTA0LTEwIDEwOjAxOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuaDogQ2hhbmdlIHByb3RvdHlwZSBvZiBwcm9jZXNzIGZ1bmN0aW9uIGhlcmUgdG9vIHRvIGF2b2lkICdpbmNvbXBhdGlibGUgYXNzaWdubWVudCcgd2FybmluZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmg6CgkgIENoYW5nZSBwcm90b3R5cGUgb2YgcHJvY2VzcyBmdW5jdGlvbiBoZXJlIHRvbyB0byBhdm9pZAoJICAnaW5jb21wYXRpYmxlIGFzc2lnbm1lbnQnIHdhcm5pbmdzLgoKMjAwOC0wNC0xMCAwNzoxMTo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcyBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChnb3RfYnVmZmVyKSwKCSAgKHNvdXBodHRwc3JjX3N1aXRlKToKCSAgSW5jcmVhc2UgdGhlIHRpbWVvdXQgZm9yIHRoZSBpbnRlcm5ldCB0ZXN0cyB0byAyNTAgc2Vjb25kcwoJICBhbmQgY2hlY2sgZm9yIE5VTEwgY2FwcyBpbnN0ZWFkIG9mIGp1c3QgY3Jhc2hpbmcuCgkgIFRoZSByZWFsIGZpeCB3b3VsZCBiZSB0byBpbXBsZW1lbnQgYW4gc2hvdXRjYXN0IHNlcnZlciBmb3IgdGhlIHVuaXQgdGVzdAoJICBpbnN0ZWFkIG9mIHJlbHlpbmcgb24gYSB3b3JraW5nIGludGVybmV0IGNvbm5lY3Rpb24uCgkgIEZpeGVzIGJ1ZyAjNTIxNzQ5LgoKMjAwOC0wNC0wOSAyMjoyNzo1MCArMDAwMCAgUGV0ZXIgS2plbGxlcnN0ZWR0IDxwa2pAYXhpcy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEF2b2lkIGxlYWtpbmcgcGFkcyBpbiB0aGUgUlRQIG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZnJlZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpOgoJICBBdm9pZCBsZWFraW5nIHBhZHMgaW4gdGhlIFJUUCBtYW5hZ2VyLgoKMjAwOC0wNC0wOSAxMzo0Mzo1MSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbnNmL25lc19hcHUuKjogRG9uJ3QgZG8gdm9pZCBwb2ludGVyIGFyaXRobWV0aWMgLSBpdCdzIGEgZ2NjIGV4dGVuc2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6IChhcHVfcHJvY2Vzcyk6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgIERvbid0IGRvIHZvaWQgcG9pbnRlciBhcml0aG1ldGljIC0gaXQncyBhIGdjYyBleHRlbnNpb24uCgoyMDA4LTA0LTA2IDIwOjE4OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBXb3JrIGFyb3VuZCBtaXNzaW5nIGJpdHMgb2YgdGhyZWFkLXNhZmV0eSBvbiBvbGRlciBHTGlicyBzb21lIG1vcmUgdG8gYXZvaWQgYXNzZXJ0aW9ucyB3Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCk6CgkgIFdvcmsgYXJvdW5kIG1pc3NpbmcgYml0cyBvZiB0aHJlYWQtc2FmZXR5IG9uIG9sZGVyIEdMaWJzIHNvbWUKCSAgbW9yZSB0byBhdm9pZCBhc3NlcnRpb25zIHdoZW4gc3RhcnRpbmcgdXAgbXVsdGlwbGUgcGxheWJpbgoJICBvYmplY3RzIGNvbmN1cnJlbnRseSAoc2VlICM1MTIzODIpLgoKMjAwOC0wNC0wNiAwOTowMTo0MiArMDAwMCAgU2pvZXJkIFNpbW9ucyA8c2pvZXJkQGx1b24ubmV0PgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogT25seSBpZ25vcmUgYWN0dWFsIHJlZGlyZWN0cyBub3QgYWxsIHJlc3BvbnNlcyB3aGVuIGluIHN0YXRlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2pvZXJkIFNpbW9ucyA8c2pvZXJkIGF0IGx1b24gZG90IG5ldD4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpOgoJICBPbmx5IGlnbm9yZSBhY3R1YWwgcmVkaXJlY3RzIG5vdCBhbGwgcmVzcG9uc2VzIHdoZW4gaW4gc3RhdGUKCSAgR1NUX1NPVVBfSFRUUF9TUkNfU0VTU0lPTl9JT19TVEFUVVNfUlVOTklORy4gRml4ZXMgYnVnICM1MjYzMzcuCgoyMDA4LTA0LTA2IDA4OjU4OjM5ICswMDAwICBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuLmxlc3BpYXVAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBEYW1pZW4gTGVzcGlhdSA8ZGFtaWVuIGRvdCBsZXNwaWF1IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICBBY3R1YWxseSBidWlsZCBkbGxzIHdoZW4gY3Jvc3MtY29tcGlsaW5nIHdpdGggbWluZ3czMi4KCSAgRml4ZXMgYnVnICM1MjYyNDcuCgoyMDA4LTA0LTA1IDExOjAzOjEzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogQWxzbyBjaGVjayB0aGF0IHdlIGhhdmUgcHJvY2Vzc2VkIGF0IGxlYXN0IDEzNSBzZWNvbmRzIG9mIGF1ZGlvIHVudGlsIHdlIHN0b3AgYW5kIGNhbGN1bGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvb2ZhLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIEFsc28gY2hlY2sgdGhhdCB3ZSBoYXZlIHByb2Nlc3NlZCBhdCBsZWFzdCAxMzUgc2Vjb25kcyBvZiBhdWRpbwoJICB1bnRpbCB3ZSBzdG9wIGFuZCBjYWxjdWxhdGVkIGEgZmluZ2VycHJpbnQuCgoyMDA4LTA0LTA0IDIwOjQzOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3N1YmVuYy9nc3RzcnRlbmMuKjogR3N0U3J0ZW5jID0+IEdzdFNydEVuYyBhbmQgZ3N0X3NydGVuY18gPT4gZ3N0X3NydF9lbmNfLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3ViZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmg6CgkgIEdzdFNydGVuYyA9PiBHc3RTcnRFbmMgYW5kIGdzdF9zcnRlbmNfID0+IGdzdF9zcnRfZW5jXy4KCjIwMDgtMDQtMDQgMTk6MTg6MzYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9vZmEuYzogKGJ1c19oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKG9mYV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNpbXBsZSB1bml0IHRlc3RzIGZvciB0aGUgT0ZBIHBsdWdpbi4KCjIwMDgtMDQtMDMgMTQ6MjM6NDcgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCBuZXcgb3NzdjQgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbmV3IG9zc3Y0IHBsdWdpbgoKMjAwOC0wNC0wMiAyMDoxODo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3M0L29zczQtYXVkaW8uYzoKCSAgKiBzeXMvb3NzNC9vc3M0LWF1ZGlvLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1lbnVtLmg6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zbGlkZXIuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLXNsaWRlci5oOgoJICAqIHN5cy9vc3M0L29zczQtbWl4ZXItc3dpdGNoLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci1zd2l0Y2guaDoKCSAgKiBzeXMvb3NzNC9vc3M0LW1peGVyLmM6CgkgICogc3lzL29zczQvb3NzNC1taXhlci5oOgoJICAqIHN5cy9vc3M0L29zczQtcHJvcGVydHktcHJvYmUuYzoKCSAgKiBzeXMvb3NzNC9vc3M0LXByb3BlcnR5LXByb2JlLmg6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmM6CgkgICogc3lzL29zczQvb3NzNC1zaW5rLmg6CgkgICogc3lzL29zczQvb3NzNC1zb3VuZGNhcmQuaDoKCSAgKiBzeXMvb3NzNC9vc3M0LXNvdXJjZS5jOgoJICAqIHN5cy9vc3M0L29zczQtc291cmNlLmg6CgkgIEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIE9TU3Y0LiBNaXhlciBzdGlsbCBuZWVkcyBhIGJpdCBtb3JlIGxvdmUsCgkgIGJ1dCBldmVuIG1hZ2ljIGhhcyBpdHMgbGltaXRzLgoKMjAwOC0wNC0wMSAyMjo0MDo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3Qvc3J0ZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmM6CgkgICogZ3N0L3NydGVuYy9nc3RzcnRlbmMuaDoKCSAgKiBnc3Qvc3ViZW5jL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zdWJlbmMvZ3N0c3J0ZW5jLmM6IChwbHVnaW5faW5pdCk6CgkgIFJlbmFtZSBuZXcgc3J0ZW5jIHBsdWdpbiB0byBzdWJlbmMuCgoyMDA4LTA0LTAxIDIwOjMzOjE5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHNwZWMnYSdsZWMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBzcGVjJ2EnbGVjCgoyMDA4LTA0LTAxIDE5OjUzOjUzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQ2FibGUgZGVsaXZlcnkgc3Vic3lzdGVtIGRlc2NyaXB0b3JzJyBmcmVxdWVuY3kncyBiY2QgaXMgbWVhc3VyZWQgaW4gMTAwSHogdW5pdHMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIENhYmxlIGRlbGl2ZXJ5IHN1YnN5c3RlbSBkZXNjcmlwdG9ycycgZnJlcXVlbmN5J3MgYmNkCgkgIGlzIG1lYXN1cmVkIGluIDEwMEh6IHVuaXRzIHNvIGFkanVzdCBtdWx0aXBsaWVyIGFjY29yZGluZ2x5LgoKMjAwOC0wNC0wMSAxMzo0Mjo1NSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3NydGVuYy9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3J0ZW5jL2dzdHNydGVuYy5jOgoJICAqIGdzdC9zcnRlbmMvZ3N0c3J0ZW5jLmg6CgkgIEFkZCBzcnQgc3VidGl0bGUgZW5jb2RlcgoKMjAwOC0wMy0zMSAxNjoyNDo0MiArMDAwMCAga2FwaWwgPGthcGlsQGZsdWVuZG8uY29tPgoKCSAgZXh0L2dzbS9nc3Rnc21kZWMuKjogSW5jcmVhc2UgdGhlIGFsbG93ZWQgc2FtcGxlcmF0ZXMgZm9yIHRoZSBtcy1nc20gZm9ybWF0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGthcGlsIDxrYXBpbCBhdCBmbHVlbmRvIGRvdCBjb20+CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfc2lua19zZXRjYXBzKSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEluY3JlYXNlIHRoZSBhbGxvd2VkIHNhbXBsZXJhdGVzIGZvciB0aGUgbXMtZ3NtIGZvcm1hdC4KCSAgRml4ZXMgIzQ4MTM1NC4KCjIwMDgtMDMtMzAgMjE6MDY6NTggKzAwMDAgIEphbiBkZSBHcm9vdCA8amFuQGpnYy5ob21laXAubmV0PgoKCSAgY29uZmlndXJlLmFjOiBGaXggYnVpbGQgd2l0aCAtLWRpc2FibGUtZXh0ZXJuYWwgKCM1MjUxMDApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbiBkZSBHcm9vdCA8amFuIGF0IGpnYyBob21laXAgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IGJ1aWxkIHdpdGggLS1kaXNhYmxlLWV4dGVybmFsICgjNTI1MTAwKS4KCjIwMDgtMDMtMjggMDk6NDg6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBSZXBlYXQgZGlzZXFjIGNhbGwgdG8gYWxsb3cgZm9yIHNvbWUgZGlzZXFjIHN3aXRjaGVzLgoKMjAwOC0wMy0yNyAxNjozMjoyNyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRGlzdCBvZmEgY29ycmVjdGx5ISBGaXhlcyBub24tdW5pbnN0YWxsZWQgYnVpbGQuCgoyMDA4LTAzLTI3IDE1OjU3OjE0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogTWFrZSBkaXNlcWMgd29yayBtb3JlIHJlbGlhYmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBNYWtlIGRpc2VxYyB3b3JrIG1vcmUgcmVsaWFibHkuCgoyMDA4LTAzLTI2IDA3OjQwOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbnNmLzogUmVtb3ZlIG1lbWd1YXJkIGFnYWluIGFuZCBhcHBseSBob3BlZnVsbHkgYWxsIHByZXZpb3VzbHkgZHJvcHBlZCBsb2NhbCBwYXRjaGVzLiBTaG91bGQgYmUgcmVhbGx5IGJldHRlciB0aGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL2Zkc19zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmM6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICBSZW1vdmUgbWVtZ3VhcmQgYWdhaW4gYW5kIGFwcGx5IGhvcGVmdWxseSBhbGwgcHJldmlvdXNseSBkcm9wcGVkCgkgIGxvY2FsIHBhdGNoZXMuIFNob3VsZCBiZSByZWFsbHkgYmV0dGVyIHRoYW4gdGhlIG9sZCB2ZXJzaW9uIG5vdy4KCjIwMDgtMDMtMjUgMTY6NTg6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmLzogVW5icmVhayBjb21waWxhdGlvbiBieSBkaXNhYmxpbmcgbWVtZ3VhcmQgYW5kIGRvaW5nIHNvbWUgZGlydHkgaGFjayBmaXhlcyB0byBtYWtlIGl0IGNvbXBpbGUgb24gNjRiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6IChfbXlfZnJlZSk6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICBVbmJyZWFrIGNvbXBpbGF0aW9uIGJ5IGRpc2FibGluZyBtZW1ndWFyZCBhbmQgZG9pbmcgc29tZSBkaXJ0eSBoYWNrCgkgIGZpeGVzIHRvIG1ha2UgaXQgY29tcGlsZSBvbiA2NGJpdHMuCgoyMDA4LTAzLTI1IDE1OjU2OjEzICswMDAwICBBbmRyZWFzIEhlbnJpa3Nzb24gPGFuZHJlYXNAZmF0YWwuc2V0PgoKCSAgZ3N0L25zZi86IFVwZGF0ZSBvdXIgaW50ZXJuYWwgbm9zZWZhcnQgdG8gbm9zZWZhcnQtMi43LW1scyB0byBmaXggc2VnZmF1bHRzIG9uIHNvbWUgZmlsZXMuIEZpeGVzIGJ1ZyAjNDk4MjM3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJlYXMgSGVucmlrc3NvbiA8YW5kcmVhcyBhdCBmYXRhbCBkb3Qgc2V0PgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9kaXM2NTAyLmg6CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9mZHNfc25kLmg6CgkgICogZ3N0L25zZi9mbW9wbC5jOgoJICAqIGdzdC9uc2YvZm1vcGwuaDoKCSAgKiBnc3QvbnNmL2dzdG5zZi5jOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgVXBkYXRlIG91ciBpbnRlcm5hbCBub3NlZmFydCB0byBub3NlZmFydC0yLjctbWxzIHRvIGZpeCBzZWdmYXVsdHMKCSAgb24gc29tZSBmaWxlcy4gRml4ZXMgYnVnICM0OTgyMzcuCgkgIFJlbW92ZSBzb21lIC8vIGNvbW1lbnRzLCBmaXggc29tZSBjb21waWxlciB3YXJuaW5ncyBhbmQgdXNlIHBvdygpCgkgIGluc3RlYWQgb2YgYSBzbG93LCBzZWxmbWFkZSBpbXBsZW1lbnRhdGlvbi4KCjIwMDgtMDMtMjUgMTU6MTc6NTggKzAwMDAgIEVkIENhdG11ciA8ZWRAY2F0bXVyLmNvLnVrPgoKCSAgY29uZmlndXJlLmFjOiBBZGQgc3VwcG9ydCBmb3IgbmVvbiAwLjI4LCB3aGljaCBkaWRuJ3QgY2hhbmdlIEFQSS4gRml4ZXMgYnVnICM1MjQwMzUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogRWQgQ2F0bXVyIDxlZCBhdCBjYXRtdXIgZG90IGNvIGRvdCB1az4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBzdXBwb3J0IGZvciBuZW9uIDAuMjgsIHdoaWNoIGRpZG4ndCBjaGFuZ2UgQVBJLiBGaXhlcyBidWcgIzUyNDAzNS4KCjIwMDgtMDMtMjQgMTI6MzI6NTkgKzAwMDAgIFJlbmUgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmMgKGdzdF9yZ19hbmFseXNpc19pbml0KSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5jIChnc3RfcmdfbGltaXRlcl9pbml0KSwKCSAgKGdzdF9yZ19saW1pdGVyX3RyYW5zZm9ybV9pcCk6CgkgIE1ha2UgcmdhbmFseXNpcyBhbmQgcmdsaW1pdGVyIGVsZW1lbnRzIEdBUC1mbGFnIGF3YXJlLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfZ2FwX2J1ZmZlcnMpLAoJICAocmdhbmFseXNpc19zdWl0ZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmMgKHRlc3RfZ2FwKSwgKHJnbGltaXRlcl9zdWl0ZSk6CgkgIEFkZCB0ZXN0cyB0byB2ZXJpZnkgZ2FwLWF3YXJlbmVzcy4KCjIwMDgtMDMtMjIgMTk6MjY6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY2h1bmtfYWxsb2NhdG9yKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2dvdF9jaHVua19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIERvbid0IGF1dG9wbHVnIHNvdXBodHRwc3JjIGZvciBkYXYvZGF2cy4gVGhpcyBpcyBiZXR0ZXIgaGFuZGxlZCBieQoJICBHSU8gYW5kIEdub21lVkZTIGFzIHRoZXkgcHJvdmlkZSBhdXRoZW50aWNhdGlvbi4KCSAgRG9uJ3QgbGVhayB0aGUgaWN5IGNhcHMgaWYgd2UgYWxyZWFkeSBzZXQgdGhlbSBhbmQgZ2V0IGEgbmV3CgkgIGljeS1tZXRhaW50IGhlYWRlci4KCSAgVHJ5IGhhcmRlciB0byBzZXQgdGhlIGljeSBjYXBzIG9uIHRoZSBvdXRwdXQgYnVmZmVyIHRvIGhhdmUgY29ycmVjdAoJICBjYXBzIGZvciB0aGUgZmlyc3QgYnVmZmVyIGFscmVhZHkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzogKGdvdF9idWZmZXIpLAoJICAoR1NUX1NUQVJUX1RFU1QpOgoJICBDaGVjayB0aGF0IHdlIGdldCBhIGJ1ZmZlciB3aXRoIGFwcGxpY2F0aW9uL3gtaWN5IGNhcHMgaWYgaXJhZGlvLW1vZGUKCSAgaXMgZW5hYmxlZCBhbmQgd2UgaGF2ZSBhbiBpY2VjYXN0IFVSTC4KCjIwMDgtMDMtMjIgMTg6MTg6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IEFjdHVhbGx5IHNldCB0aGUgaWN5IGNhcHMgb24gb3VyIHNyYyBwYWQgaWYgd2UgaGF2ZSBpY2VjYXN0IGRhdGEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jaHVua19hbGxvY2F0b3IpOgoJICBBY3R1YWxseSBzZXQgdGhlIGljeSBjYXBzIG9uIG91ciBzcmMgcGFkIGlmIHdlIGhhdmUgaWNlY2FzdCBkYXRhLgoJICBGaXhlcyBidWcgIzUyMzg1NC4KCjIwMDgtMDMtMjIgMTU6MDA6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSBHX1BBUkFNX1NUQVRJQ19TVFJJTkdTIGV2ZXJ5d2hlcmUgZm9yIEdQYXJhbVNwZWNzIHRoYXQgdXNlIHN0YXRpYyBzdHJpbmdzIChpLmUuIGFsbCkuIFRoaXMgZ2l2ZXMgdXMgbGVzcyBtZW1vcnkgdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAoZ3N0X2Fsc2FfbWl4ZXJfZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoZ3N0X2Fsc2FzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzogKGdzdF9hbHNhc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9jZHBhcmFub2lhL2dzdGNkcGFyYW5vaWFzcmMuYzoKCSAgKGdzdF9jZF9wYXJhbm9pYV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzogKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOiAoZ3N0X2dpb19zdHJlYW1fc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNyYy5jOiAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NpbmsuYzogKGdzdF9nbm9tZV92ZnNfc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzcmMuYzogKGdzdF9nbm9tZV92ZnNfc3JjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4LmM6IChnc3Rfb2dnX211eF9jbGFzc19pbml0KToKCSAgKiBleHQvcGFuZ28vZ3N0dGV4dG92ZXJsYXkuYzogKGdzdF90ZXh0X292ZXJsYXlfY2xhc3NfaW5pdCk6CgkgICogZXh0L3BhbmdvL2dzdHRleHRyZW5kZXIuYzogKGdzdF90ZXh0X3JlbmRlcl9jbGFzc19pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L3RoZW9yYS90aGVvcmFlbmMuYzogKGdzdF90aGVvcmFfZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhcGFyc2UuYzogKGdzdF90aGVvcmFfcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzogKGdzdF92b3JiaXNfZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RhdWRpb2ZpbHRlcnRlbXBsYXRlLmM6CgkgIChnc3RfYXVkaW9fZmlsdGVyX3RlbXBsYXRlX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zcmMuYzoKCSAgKGdzdF9iYXNlX2F1ZGlvX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvY2RkYS9nc3RjZGRhYmFzZXNyYy5jOgoJICAoZ3N0X2NkZGFfYmFzZV9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvbWl4ZXJ0cmFjay5jOgoJICAoZ3N0X21peGVyX3RyYWNrX2NsYXNzX2luaXQpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cGRlcGF5bG9hZC5jOgoJICAoZ3N0X2Jhc2VfcnRwX2RlcGF5bG9hZF9jbGFzc19pbml0KToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6CgkgIChnc3RfYmFzZXJ0cHBheWxvYWRfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKGdzdF9hdWRpb19jb252ZXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9hdWRpb3JhdGUvZ3N0YXVkaW9yYXRlLmM6IChnc3RfYXVkaW9fcmF0ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5jOgoJICAoZ3N0X2F1ZGlvX3Rlc3Rfc3JjX2NsYXNzX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0ZGVjb2RlYmluMi5jOiAoZ3N0X2RlY29kZV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliYXNlYmluLmM6IChnc3RfcGxheV9iYXNlX2Jpbl9jbGFzc19pbml0KSwKCSAgKHByZXJvbGxfdW5saW5rZWQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXliaW4yLmM6IChnc3RfcGxheV9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHBsYXlzaW5rLmM6IChnc3RfcGxheV9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RxdWV1ZTIuYzogKGdzdF9xdWV1ZV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5YmFjay9nc3RzdHJlYW1zZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHVyaWRlY29kZWJpbi5jOiAoZ3N0X3VyaV9kZWNvZGVfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOiAoZ3N0X3ZpZGVvX3JhdGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmM6CgkgIChnc3RfdmlkZW9fdGVzdF9zcmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuYzogKGdzdF92b2x1bWVfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxlbGVtZW50LmM6IChnc3RfdjRsZWxlbWVudF9jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5jOiAoZ3N0X3Y0bG1qcGVnc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6IChnc3RfdjRsbWpwZWdzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzogKGdzdF92NGxzcmNfY2xhc3NfaW5pdCk6CgkgICogc3lzL3hpbWFnZS94aW1hZ2VzaW5rLmM6IChnc3RfeGltYWdlc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NsYXNzX2luaXQpOgoJICBVc2UgR19QQVJBTV9TVEFUSUNfU1RSSU5HUyBldmVyeXdoZXJlIGZvciBHUGFyYW1TcGVjcyB0aGF0IHVzZQoJICBzdGF0aWMgc3RyaW5ncyAoaS5lLiBhbGwpLiBUaGlzIGdpdmVzIHVzIGxlc3MgbWVtb3J5IHVzYWdlLAoJICBmZXdlciBhbGxvY2F0aW9ucyBhbmQgdGh1cyBsZXNzIG1lbW9yeSBkZWZyYWdtZW50YXRpb24uIERlcGVuZAoJICBvbiBjb3JlIENWUyBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MjM4MDYuCgoyMDA4LTAzLTIxIDE0OjUwOjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGlmIHRoZSBjb21waWxlciBzdXBwb3J0cyBkbyB7IH0gd2hpbGUgKDApIG1hY3Jvcy4gVGhpcyBmaXhlcyBhIHdhcm5pbmcgd2hlbiBjb21waWxpbmcgd2l0aCBnKysgNC4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBpZiB0aGUgY29tcGlsZXIgc3VwcG9ydHMgZG8geyB9IHdoaWxlICgwKSBtYWNyb3MuIFRoaXMgZml4ZXMKCSAgYSB3YXJuaW5nIHdoZW4gY29tcGlsaW5nIHdpdGggZysrIDQuMywgcmVzdWx0aW5nIGluIGEgYnVpbGQgZmFpbHVyZQoJICBiZWNhdXNlIG9mIC1XZXJyb3IuCgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgIEluY2x1ZGUgPHN0cmluZy5oPiBmb3IgbWVtY3B5IGFuZCBmcmllbmRzIHRvIGZpeCB0aGUgYnVpbGQgd2l0aAoJICBnY2MgNC4zLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgdHJhaWxpbmcgYmFja3NsYXNoLgoKMjAwOC0wMy0yMCAxODoxMDoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IERvIGdfb2JqZWN0X25vdGlmeSgpIG9ubHkgd2hlbiBub3QgaG9sZGluZyB0aGUgbG9jayB0byBnZXQgdGhlIHByb3BlcnR5IGJlY2F1c2Ugb3RoZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9hY3RpdmVfcGFkKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zd2l0Y2gpOgoJICBEbyBnX29iamVjdF9ub3RpZnkoKSBvbmx5IHdoZW4gbm90IGhvbGRpbmcgdGhlIGxvY2sgdG8gZ2V0IHRoZSBwcm9wZXJ0eQoJICBiZWNhdXNlIG90aGVyd2lzZSB3ZSBydW4gaW50byBhIGRlYWRsb2NrIHdpdGggdGhlIGRlZXAtbm90aWZ5IGhhbmRsZXJzCgkgIHRoYXQgYXJlIHBvc3NpYmx5IGluc3RhbGxlZC4KCjIwMDgtMDMtMjAgMTc6NDg6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBSZWxlYXNlIHRoZSBzZWxlY3RvciBsb2NrIHdoZW4gcGFkIGFsbG9jIGhhcHBlbnMgb24gYSBub24gc2VsZWN0ZWQgcGFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIFJlbGVhc2UgdGhlIHNlbGVjdG9yIGxvY2sgd2hlbiBwYWQgYWxsb2MgaGFwcGVucyBvbiBhIG5vbiBzZWxlY3RlZCBwYWQuCgoyMDA4LTAzLTIwIDE3OjA3OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogQWRkIHBhZCBwcm9wZXJ0eSB0byBjb25maWd1cmUgYmVoYXZpb3VyIG9mIHRoZSB1bnNlbGVjdGVkIHBhZCwgaXQgY2FuIHJldHVybiBPSyBvciBOLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9pbml0KSwgKGdzdF9zZWxlY3Rvcl9wYWRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCk6CgkgIEFkZCBwYWQgcHJvcGVydHkgdG8gY29uZmlndXJlIGJlaGF2aW91ciBvZiB0aGUgdW5zZWxlY3RlZCBwYWQsIGl0IGNhbgoJICByZXR1cm4gT0sgb3IgTk9UX0xJTktFRCwgYmFzZWQgb24gdGhlIHVzZSBjYXNlLgoKMjAwOC0wMy0yMCAxNjo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEZpZ3VyZSBvdXQgdGhlIGxvY2tpbmcgYSBiaXQgbW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3J1bm5pbmdfdGltZSksIChnc3Rfc2VsZWN0b3JfcGFkX3Jlc2V0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZXZlbnQpLCAoZ3N0X3NlbGVjdG9yX3BhZF9idWZmZXJhbGxvYyksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfd2FpdCksIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwgKGdzdF9pbnB1dF9zZWxlY3Rvcl9pbml0KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9kaXNwb3NlKSwgKGdzdF9zZWdtZW50X3NldF9zdGFydCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9nZXRfbGlua2VkX3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaXNfYWN0aXZlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2FjdGl2YXRlX3NpbmtwYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlcXVlc3RfbmV3X3BhZCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcmVsZWFzZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSksIChnc3RfaW5wdXRfc2VsZWN0b3JfYmxvY2spLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3N3aXRjaCk6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuaDoKCSAgRmlndXJlIG91dCB0aGUgbG9ja2luZyBhIGJpdCBtb3JlLgoJICBNYXJrIGJ1ZmZlcnMgd2l0aCBkaXNjb250IGFmdGVyIHN3aXRjaGluZy4KCSAgRml4IGluaXRpYWwgc2VnbWVudCBmb3J3YXJkaW5nLCBtYWtlIHN1cmUgdG8gb25seSBmb3J3YXJkIG9uZSBzZWdtZW50CgkgIHJlZ2FyZGxlc3Mgb2Ygd2hhdCB0aGUgc2VxdWVuY2Ugb2YgYnVmZmVycy9zZWdtZW50cyBpcy4gU2VlICM1MjIyMDMuCgkgIEltcHJvdmUgZmx1c2hpbmcgd2hlbiBibG9ja2VkLgoJICBSZXR1cm4gTk9UX0xJTktFRCB3aGVuIGEgc3RyZWFtIGlzIG5vdCBzZWxlY3RlZC4KCSAgTm90IEFQSSBjaGFuZ2UgZm9yIHRoZSBzd2l0Y2ggc2lnbmFsIGluIHRoZSBkb2NzLgoJICBGaXggc3RhcnQvdGltZS9hY2N1bSB2YWx1ZXMgb2YgdGhlIG5ldyBzZWdtZW50LgoJICBDb3JyZWN0bHkgdW5sb2NrIGFuZCBmbHVzaCBhIGJsb2NraW5nIHNlbGVjdG9yIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgoyMDA4LTAzLTIwIDE1OjU0OjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhLzogQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWRkIHNvbWUgdGhvdWdodHMgYW5kIEZJWE1FJ3MuCgoyMDA4LTAzLTIwIDE1OjQ5OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEluY2x1ZGUgc3RkbGliLmggZm9yIGFicy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2JheWVyL2dzdGJheWVyMnJnYi5jOgoJICBJbmNsdWRlIHN0ZGxpYi5oIGZvciBhYnMuCgoyMDA4LTAzLTE5IDE5OjU2OjU5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZnJlZXplLzogQWRkIGV4YW1wbGUgdG8gc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iIGFuZCByZW1vdmUgdGhlIDMgbGluZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZnJlZXplL0ZBUToKCSAgKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgIEFkZCBleGFtcGxlIHRvIHNvdXJjZSBjb2RlIGRvY3VtZW50YXRpb24gYmxvYiBhbmQgcmVtb3ZlIHRoZSAzIGxpbmUKCSAgRkFRLgoJICAqIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzoKCSAgQWRkIGEgc291cmNlIGNvZGUgZG9jdW1lbnRhdGlvbiBibG9iLgoKMjAwOC0wMy0xOSAxODo0NDo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L29mYS9nc3RvZmEuYzogSW1wcm92ZSBkZWJ1Z2dpbmcsIGNsZWFuIHVwIGEgYml0IGFuZCByZWFsbHkgZ2VuZXJhdGUgdGhlIGZpbmdlcnByaW50IGFmdGVyIDEzNSBzZWNvbmRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvb2ZhL2dzdG9mYS5jOiAoY3JlYXRlX2ZpbmdlcnByaW50KSwgKGdzdF9vZmFfZXZlbnQpLAoJICAoZ3N0X29mYV90cmFuc2Zvcm1faXApLCAocGx1Z2luX2luaXQpOgoJICBJbXByb3ZlIGRlYnVnZ2luZywgY2xlYW4gdXAgYSBiaXQgYW5kIHJlYWxseSBnZW5lcmF0ZSB0aGUgZmluZ2VycHJpbnQKCSAgYWZ0ZXIgMTM1IHNlY29uZHMuCgoyMDA4LTAzLTE5IDE4OjE5OjEyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvb2ZhL2dzdG9mYS5jOiBVc2UgR1BMIGFzIGxpY2Vuc2UsIHRoZSBwbHVnaW4gaXRzZWxmIGlzIExHUEwgYnV0IGxpYm9mYSBpcyBHUEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9vZmEvZ3N0b2ZhLmM6CgkgIFVzZSBHUEwgYXMgbGljZW5zZSwgdGhlIHBsdWdpbiBpdHNlbGYgaXMgTEdQTCBidXQgbGlib2ZhIGlzIEdQTC4KCjIwMDgtMDMtMTkgMTg6MTQ6MTcgKzAwMDAgIEVyaWMgQnVlaGwgPGVyaWMuYnVlaGxAZ21haWwuY29tPgoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6IEVyaWMgQnVlaGwgPGVyaWMgZG90IGJ1ZWhsIGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9vZmEvTWFrZWZpbGUuYW06CgkgICogZXh0L29mYS9nc3RvZmEuYzogKGdzdF9vZmFfYmFzZV9pbml0KSwgKGdzdF9vZmFfZmluYWxpemUpLAoJICAoZ3N0X29mYV9jbGFzc19pbml0KSwgKGNyZWF0ZV9maW5nZXJwcmludCksIChnc3Rfb2ZhX2V2ZW50KSwKCSAgKGdzdF9vZmFfaW5pdCksIChnc3Rfb2ZhX3RyYW5zZm9ybV9pcCksIChnc3Rfb2ZhX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L29mYS9nc3RvZmEuaDoKCSAgQWRkIGFuIE9GQSBlbGVtZW50LCB0aGUgc3VjY2Vzc29yIG9mIE11c2ljQnJhaW56IFRSTSBmaW5nZXJwcmludGluZy4KCSAgRml4ZXMgYnVnICMzNTEzMDkuCgoyMDA4LTAzLTE4IDEwOjEyOjQwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2NoYWluKTogRml4IGEgYmFkIGZvcm1hdCBhcmd1bWVudCwgYW5kIGEgcG90ZW50aWFsIGludCBvdmVyZmxvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDMtMTggIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jIChnc3RfZmFhZF9jaGFpbik6IEZpeCBhIGJhZCBmb3JtYXQgYXJndW1lbnQsCgkgIGFuZCBhIHBvdGVudGlhbCBpbnQgb3ZlcmZsb3cuCgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5oOiBJbmNsdWRlIDxuZWFhY2RlYy5oPiBpZiBmYWFkIGlzIG5lYWFjLgoJICBBdm9pZHMgYSAjd2FybmluZyBhYm91dCBhbiBpZ25vcmVkICNwcmFnbWEuCgoyMDA4LTAzLTE3IDE1OjUxOjA4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6IFVwZGF0ZSBzd2l0Y2ggZXhhbXBsZSB0byB1c2UgaW5wdXQgc2VsZWN0b3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJICBVcGRhdGUgc3dpdGNoIGV4YW1wbGUgdG8gdXNlIGlucHV0IHNlbGVjdG9yLgoKMjAwOC0wMy0xNyAwOTowMjo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheSBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KToKCSAgSGFuZGxlIEhUVFAgc3RhdHVzIGNvZGUgMzAzIChTZWUgT3RoZXIpIHRoZSBzYW1lIHdheQoJICBhcyAzMDIgKEZvdW5kKS4gTm90IHN1cmUgd2hhdCB0byBkbyBhYm91dCBhbGwgdGhlIG90aGVyIDN4eAoJICByZWRpcmVjdCBzdGF0dXMgY29kZXMuIEZpeGVzIGJ1ZyAjNTIyODg0LgoKMjAwOC0wMy0xNCAyMTo0ODozNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9NYWtlZmlsZS5hbTogTWFrZSBzdXJlIHRoZSBkc2hvdyBoZWxwZXIgbGlicmFyeSBoZWFkZXJzIGdldCBkaXN0cmlidXRlZCBpbiB0aGUgbmV4dCByZWxlYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvTWFrZWZpbGUuYW06CgkgIE1ha2Ugc3VyZSB0aGUgZHNob3cgaGVscGVyIGxpYnJhcnkgaGVhZGVycyBnZXQgZGlzdHJpYnV0ZWQgaW4gdGhlIG5leHQKCSAgcmVsZWFzZS4KCjIwMDgtMDMtMTQgMTc6Mzg6MTAgKzAwMDAgIFdpbGxpYW0gTS4gQnJhY2sgPHdicmFja0BtbW0uaGs+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IFNpZ25pZmljYW50IGltcHJvdmVtZW50cy4gIEZpeGVzICM1MjEzOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV2lsbGlhbSBNLiBCcmFjawoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzogU2lnbmlmaWNhbnQgaW1wcm92ZW1lbnRzLiAgRml4ZXMgIzUyMTM5Mi4KCjIwMDgtMDMtMTQgMTc6MjI6MjEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfYnVmZmVyYWxsb2MpLCAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfcHVzaF9wZW5kaW5nX3N0b3ApOgoJICBBZGQgbG90cyBvZiBkZWJ1Z2dpbmcuCgkgIEZpeCB0aW1lIG1lbWJlciBpbiB0aGUgbmV3c2VnbWVudCBldmVudC4KCjIwMDgtMDMtMTMgMTY6NDY6MDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci4qOiBWYXJpb3VzIGNsZWFudXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOiAoZ3N0X3NlbGVjdG9yX3BhZF9jbGFzc19pbml0KSwKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZmluYWxpemUpLCAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NlbGVjdG9yX3BhZF9ldmVudCksIChnc3RfaW5wdXRfc2VsZWN0b3JfY2xhc3NfaW5pdCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfaW5pdCksIChnc3RfaW5wdXRfc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9yZXF1ZXN0X25ld19wYWQpLAoJICAoZ3N0X2lucHV0X3NlbGVjdG9yX3JlbGVhc2VfcGFkKSwKCSAgKGdzdF9pbnB1dF9zZWxlY3Rvcl9wdXNoX3BlbmRpbmdfc3RvcCksCgkgIChnc3RfaW5wdXRfc2VsZWN0b3Jfc3dpdGNoKToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBWYXJpb3VzIGNsZWFudXBzLgoJICBBZGRlZCB0YWdzIHRvIHRoZSBwYWRzLgoJICBTZWxlY3QgYWN0aXZlIHBhZCBiYXNlZCBvbiB0aGUgcGFkIG9iamVjdCBpbnN0ZWFkIG9mIGl0cyBuYW1lLgoJICBGaXggcmVmY291bnQgaW4gc2V0X2FjdGl2ZV9wYWQuCgkgIEFkZCBwcm9wZXJ0eSB0byBnZXQgdGhlIG51bWJlciBvZiBwYWRzLgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICAoZ3N0X291dHB1dF9zZWxlY3Rvcl9jbGFzc19pbml0KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3Jfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9vdXRwdXRfc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgU2VsZWN0IHRoZSBhY3RpdmUgcGFkIGJhc2VkIG9uIHRoZSBwYWQgb2JqZWN0IGluc3RlYWQgb2YgaXRzIG5hbWUuCgkgIEZpeCBsb2NraW5nIHdoZW4gc2V0dGluZyB0aGUgYWN0aXZlIHBhZC4KCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3ItbWFyc2hhbC5saXN0OgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6IChjbGVhbnVwX3BhZCksCgkgIChzZWxlY3Rvcl9zZXRfYWN0aXZlX3BhZCksIChydW5faW5wdXRfc2VsZWN0b3JfYnVmZmVyX2NvdW50KToKCSAgRml4ZXMgZm9yIHBhZCBpbnN0ZWFkIG9mIHBhZG5hbWUgZm9yIHBhZCBzZWxlY3Rpb24uCgoyMDA4LTAzLTEzIDE0OjI1OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgR1NUX0xJQ0VOU0UsIEdTVF9QQUNLQUdFX05BTUUgYW5kIEdTVF9QQUNLQUdFX09SSUdJTiBpbnN0ZWFkIG9mIGhhcmRjb2RpbmcgdmFsdWVzIHdoZXJlIHBvc3NpYmxlLiBGaXhlcyBidWcgIzUyMjIxMi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc20uYzoKCSAgKiBleHQvamFjay9nc3RqYWNrLmM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIGdzdC90dGEvZ3N0dHRhLmM6CgkgIFVzZSBHU1RfTElDRU5TRSwgR1NUX1BBQ0tBR0VfTkFNRSBhbmQgR1NUX1BBQ0tBR0VfT1JJR0lOIGluc3RlYWQKCSAgb2YgaGFyZGNvZGluZyB2YWx1ZXMgd2hlcmUgcG9zc2libGUuIEZpeGVzIGJ1ZyAjNTIyMjEyLgoKMjAwOC0wMy0xMyAwOTo0NTowOSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLio6IFRyeSB0byByZXN1bWUgb24gc2VydmVyIGRpc2Nvbm5lY3QuIEZpeGVzIGJ1ZyAjNTIyMTM0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2ZpbmlzaGVkX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2J1aWxkX21lc3NhZ2UpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBUcnkgdG8gcmVzdW1lIG9uIHNlcnZlciBkaXNjb25uZWN0LiBGaXhlcyBidWcgIzUyMjEzNC4KCjIwMDgtMDMtMTIgMTg6NDQ6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IFNldCBjb3JyZWN0IHBpeGVsIGFzcGVjdCByYXRpbyBmb3IgdGhlIGVuY29kZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogKGdzdF94dmlkZW5jX2NoYWluKToKCSAgU2V0IGNvcnJlY3QgcGl4ZWwgYXNwZWN0IHJhdGlvIGZvciB0aGUgZW5jb2Rlci4KCjIwMDgtMDMtMTEgMTI6NDA6NTggKzAwMDAgIE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLio6IEltcGxlbWVudCBjb2xsaXNpb24gYW5kIGxvb3AgZGV0ZWN0aW9uIGluIHJ0cG1hbmFnZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoZmluZF9hZGRfY29uZmxpY3RpbmdfYWRkcmVzc2VzKSwKCSAgKGNoZWNrX2NvbGxpc2lvbiksIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2NyZWF0ZV9uZXdfc3NyYyksCgkgIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUpLAoJICAocnRwX3Nlc3Npb25fc2VuZF9ieWVfbG9ja2VkKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgSW1wbGVtZW50IGNvbGxpc2lvbiBhbmQgbG9vcCBkZXRlY3Rpb24gaW4gcnRwbWFuYWdlci4KCSAgRml4ZXMgIzUyMDYyNi4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfcmVzZXQpLAoJICAocnRwX3NvdXJjZV9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIG1ldGhvZCB0byByZXNldCBzdGF0cy4KCjIwMDgtMDMtMTEgMTE6MzY6MDMgKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodCBiZSBibG9ja2VkIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIHBhdGNoIGJ5OiBPbGUgQW5kcsOpIFZhZGxhIFJhdm7DpXMgIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksIChzdG9wX3J0Y3BfdGhyZWFkKSwKCSAgKGpvaW5fcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSk6CgkgIEF2b2lkIGEgZGVhZGxvY2sgd2hlbiBqb2luaW5nIHRoZSBSVENQIHRocmVhZCBpbiBQQVVTRUQgYmVjYXVzZSBpdCBtaWdodAoJICBiZSBibG9ja2VkIGRvd25zdHJlYW0uIEFsc28gYXZvaWQgc3Bhd25pbmcgbXVsdGlwbGUgcnRjcCB0aHJlYWRzLgoJICBGaXhlcyAjNTIwODk0LgoKMjAwOC0wMy0xMSAxMDo0MzozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc2YubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zZi5uZXQ+CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIERvbid0IHRyeSB0byByZXNldCB0aGUgY2xvY2sgc2tldyB3aGVuIHdlIGhhdmUgbm8gdGltZXN0YW1wcy4KCSAgRml4ZXMgIzUxOTAwNS4KCjIwMDgtMDMtMDggMDQ6Mjc6MDMgKzAwMDAgIFNqb2VyZCBTaW1vbnMgPHNqb2VyZEBsdW9uLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogSW1wcm92ZSB0aGUgaGVhZGVyIGNoZWNraW5nIHRvIGxvb2sgZm9yIHdoYXQgZmFhZDIgbG9va3MgZm9yIHRvby4gRml4ZXMgcGxheWJhY2sgb2Ygc2FtZSBhcHBsZSB0ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNqb2VyZCBTaW1vbnMgPHNqb2VyZCBhdCBsdW9uIGRvdCBuZXQ+CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAobG9va3NfbGlrZV92YWxpZF9oZWFkZXIpOgoJICBJbXByb3ZlIHRoZSBoZWFkZXIgY2hlY2tpbmcgdG8gbG9vayBmb3Igd2hhdCBmYWFkMiBsb29rcwoJICBmb3IgdG9vLiBGaXhlcyBwbGF5YmFjayBvZiBzYW1lIGFwcGxlIHRyYWlsZXJzLgoJICBGaXhlcyBidWcgIzQ2OTk3OS4KCjIwMDgtMDMtMDcgMTM6Mjg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogUmVhbGx5IGNoZWNrIGZvciBsaWJkYzEzOTQgPj0gMi4wLjAsIHBrZy1jb25maWcgdGhpbmtzIHRoYXQgMi4wLjAtcmNYIGlzIG5ld2VyIHRoYW4gMi4wLjAgc28gd2UgY2hlY2sgZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWxseSBjaGVjayBmb3IgbGliZGMxMzk0ID49IDIuMC4wLCBwa2ctY29uZmlnIHRoaW5rcyB0aGF0CgkgIDIuMC4wLXJjWCBpcyBuZXdlciB0aGFuIDIuMC4wIHNvIHdlIGNoZWNrIGZvciB0aGlzIHRvby4KCjIwMDgtMDMtMDYgMDc6MDM6MDkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L2RpcmFjL2dzdGRpcmFjZW5jLmNjOiBBZGQgYSBidW5jaCBvZiBwcm9wZXJ0aWVzIGNyaWJiZWQgZnJvbSB0aGUgZW5jb2RlciBwcm9ncmFtIGluIGRpcmFjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyYWMvZ3N0ZGlyYWNlbmMuY2M6IEFkZCBhIGJ1bmNoIG9mIHByb3BlcnRpZXMgY3JpYmJlZAoJICBmcm9tIHRoZSBlbmNvZGVyIHByb2dyYW0gaW4gZGlyYWMuCgoyMDA4LTAzLTA2IDAzOjE2OjEzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJld3JpdGUgRGlyYWMgZW5jb2RlciBwbHVnaW4gYmFzZWQgb24gU2Nocm9lZGluZ2VyIGdzdHJlYW1lciBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGlyYWMvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjLmNjOgoJICAqIGV4dC9kaXJhYy9nc3RkaXJhY2VuYy5jYzoKCSAgUmV3cml0ZSBEaXJhYyBlbmNvZGVyIHBsdWdpbiBiYXNlZCBvbiBTY2hyb2VkaW5nZXIgZ3N0cmVhbWVyCgkgIGVsZW1lbnRzLgoKMjAwOC0wMy0wNSAwNjowMzowMyArMDAwMCAgTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3QHNreW5ldC5iZT4KCgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9tcGxleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXguY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4LmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleGliaXRzdHJlYW0uY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4aWJpdHN0cmVhbS5oaDoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhqb2IuY2M6CgkgICogZXh0L21wbGV4L2dzdG1wbGV4am9iLmhoOgoJICAqIGV4dC9tcGxleC9nc3RtcGxleG91dHB1dHN0cmVhbS5jYzoKCSAgKiBleHQvbXBsZXgvZ3N0bXBsZXhvdXRwdXRzdHJlYW0uaGg6CgkgIFBvcnQgbXBsZXggZWxlbWVudCB0byAwLjEwLiBGaXhlcyBidWcgIzUyMDMyOS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGxleC5jOiAodGVzdF9zaW5rX2V2ZW50KSwgKHNldHVwX3NyY19wYWQpLAoJICAodGVhcmRvd25fc3JjX3BhZCksIChzZXR1cF9tcGxleCksIChjbGVhbnVwX21wbGV4KSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKG1wbGV4X3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0IGZvciB0aGUgbXBsZXggZWxlbWVudC4KCjIwMDgtMDMtMDUgMDU6Mzg6MDYgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIENsZWFuIHVwIGRldGVjdGlvbiBvZiBkaWZmZXJlbnQgbWpwZWd0b29sc0FQSSB2ZXJzaW9ucy4KCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmhoOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuY2M6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgU3RyZWFtbGluZSBjb25kaXRpb25hbCBjb2RlIGZvciBldm9sdmluZyBtanBlZ3Rvb2xzIEFQSSwKCSAgb3B0aW1pemUgYW5kIGZpeC9wcmV2ZW50IGNyYXNoIGluIGxvZyBoYW5kbGluZywgdXNlCgkgIG5hbWVzL25pY2tzIGZvciBlbnVtcyBpbiB0aGUgdXN1YWwgd2F5IGFuZG0gaW5vciB1cGRhdGVzCgkgIGluIGNvZGUgYW5kIHByb3BlcnRpZXMvc2V0dGluZ3MuIFBhcnRpYWxseSBmaXhlcyBidWcgIzUyMDMyOS4KCjIwMDgtMDMtMDQgMTc6NDk6MTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBZGQgcGFyc2luZyBvZiBjYWJsZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgQWRkIHBhcnNpbmcgb2YgY2FibGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IuCgoyMDA4LTAzLTAzIDEyOjQ4OjU2ICswMDAwICBQZXRlciBLamVsbGVyc3RlZHQgPHBrakBheGlzLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFHX0dTVF9DSEVDS19QTFVHSU4gYW5kIEFHX0dTVF9ESVNBQkxFX1BMVUdJTiB0byBzaW1wbGlmeSB3aGljaCBwbHVnLWlucyBhcmUgaW5jbHVkZWQvZXhjbHVkZWQuICgjNC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBR19HU1RfQ0hFQ0tfUExVR0lOIGFuZCBBR19HU1RfRElTQUJMRV9QTFVHSU4gdG8gc2ltcGxpZnkgd2hpY2gKCSAgcGx1Zy1pbnMgYXJlIGluY2x1ZGVkL2V4Y2x1ZGVkLiAoIzQ5ODIyMikKCj09PSByZWxlYXNlIDAuMTAuMTkgPT09CgoyMDA4LTAzLTAzIDA2OjA0OjAyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBDb3JyZWN0IGFsbCByZWxldmFudCB3YXJuaW5ncyBmb3VuZCBieSB0aGUgc3BhcnNlIHNlbWFudGljIGNvZGUgYW5hbHl6ZXIuIFRoaXMgaW5jbHVkZSBtYXJraW5nIHNldmVyYWwgc3ltYm9scyBzdGF0aWMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suYzogKGdzdF9hbHNhX21peGVyX3RyYWNrX2dldF90eXBlKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc2luay5jOiAoc2V0X2h3cGFyYW1zKToKCSAgKiBleHQvYWxzYS9nc3RhbHNhc3JjLmM6IChzZXRfaHdwYXJhbXMpOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmM6IChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF91cmkpOgoJICAqIGV4dC9vZ2cvZ3N0b2dnbXV4Lmg6CgkgICogZXh0L29nZy9nc3RvZ21wYXJzZS5jOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9hdWRpby5jOgoJICAqIGdzdC1saWJzL2dzdC9mZnQva2lzc19mZnRfZjY0LmM6IChraXNzX2ZmdF9mNjRfYWxsb2MpOgoJICAqIGdzdC1saWJzL2dzdC9wYnV0aWxzL21pc3NpbmctcGx1Z2lucy5jOgoJICAoZ3N0X21pc3NpbmdfdXJpX3NpbmtfbWVzc2FnZV9uZXcpLAoJICAoZ3N0X21pc3NpbmdfZWxlbWVudF9tZXNzYWdlX25ldyksCgkgIChnc3RfbWlzc2luZ19kZWNvZGVyX21lc3NhZ2VfbmV3KSwKCSAgKGdzdF9taXNzaW5nX2VuY29kZXJfbWVzc2FnZV9uZXcpOgoJICAqIGdzdC1saWJzL2dzdC9ydHAvZ3N0YmFzZXJ0cHBheWxvYWQuYzoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdHJ0Y3BidWZmZXIuYzoKCSAgKGdzdF9ydGNwX3BhY2tldF9ieWVfZ2V0X3JlYXNvbik6CgkgICogZ3N0L2F1ZGlvY29udmVydC9nc3RhdWRpb2NvbnZlcnQuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOgoJICAqIGdzdC9wbGF5YmFjay90ZXN0LmM6IChnZW5fdmlkZW9fZWxlbWVudCksIChnZW5fYXVkaW9fZWxlbWVudCk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6CgkgICogZ3N0L3ZpZGVvc2NhbGUvdnNfNHRhcC5jOgoJICAqIGdzdC92aWRlb3NjYWxlL3ZzXzR0YXAuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGVsZW1lbnQuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5jOiAoZ3N0X3Y0bHNyY19nZXRfYW55X2NhcHMpOgoJICAqIHN5cy92NGwvdjRsX2NhbGxzLmM6CgkgICogc3lzL3Y0bC92NGxzcmNfY2FsbHMuYzogKGdzdF92NGxzcmNfY2FwdHVyZV9pbml0KSwKCSAgKGdzdF92NGxzcmNfdHJ5X2NhcHR1cmUpOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5jOiAoZ3N0X3hpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksCgkgIChnc3RfeGltYWdlc2lua194aW1hZ2VfbmV3KToKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOiAoZ3N0X3h2aW1hZ2VzaW5rX2NoZWNrX3hzaG1fY2FsbHMpLAoJICAoZ3N0X3h2aW1hZ2VzaW5rX3h2aW1hZ2VfbmV3KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb2NvbnZlcnQuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIChmYWlsX3VubGVzc19wZXJmZWN0X3N0cmVhbSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChzZXR1cF9hdWRpb3Rlc3RzcmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2RlY29kZWJpbi5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChzZXR1cF9nZHBkZXBheSksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNldHVwX2dkcHBheV9zdHJlYW1oZWFkZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dub21ldmZzc2luay5jOiAoc2V0dXBfZ25vbWV2ZnNzaW5rKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZkc2luay5jOiAoc2V0dXBfbXVsdGlmZHNpbmspOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9yYXRlLmM6IChzZXR1cF92aWRlb3JhdGUpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoc2V0dXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKHNldHVwX3ZvbHVtZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzZGVjLmM6IChzZXR1cF92b3JiaXNkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc3RhZy5jOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvY2xvY2stc2VsZWN0aW9uLmM6CgkgICogdGVzdHMvY2hlY2svZ2VuZXJpYy9zdGF0ZXMuYzogKHNldHVwKSwgKHRlYXJkb3duKToKCSAgKiB0ZXN0cy9jaGVjay9saWJzL2NkZGFiYXNlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svbGlicy92aWRlby5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3NpbXBsZS1sYXVuY2gtbGluZXMuYzoKCSAgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9zdHJlYW1oZWFkZXIuYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvdGhlb3JhZW5jLmM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NlZWsuYzogKHF1ZXJ5X3Bvc2l0aW9uc19lbGVtcyksCgkgIChxdWVyeV9wb3NpdGlvbnNfcGFkcyk6CgkgICogdGVzdHMvaWNsZXMvc3RyZXNzLXhvdmVybGF5LmM6IChteWNsb2NrKToKCSAgQ29ycmVjdCBhbGwgcmVsZXZhbnQgd2FybmluZ3MgZm91bmQgYnkgdGhlIHNwYXJzZSBzZW1hbnRpYyBjb2RlCgkgIGFuYWx5emVyLiBUaGlzIGluY2x1ZGUgbWFya2luZyBzZXZlcmFsIHN5bWJvbHMgc3RhdGljLCB1c2luZwoJICBOVUxMIGluc3RlYWQgb2YgMCBmb3IgcG9pbnRlcnMgYW5kIHVzaW5nICJmb28gKHZvaWQpIiBpbnN0ZWFkCgkgIG9mICJmb28gKCkiIGZvciBkZWNsYXJhdGlvbnMuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdHJ0cC5kZWY6CgkgIEFkZCBnc3RfcnRwX2J1ZmZlcl9zZXRfZXh0ZW5zaW9uX2RhdGEgdG8gdGhlIHN5bWJvbCBkZWZpbml0aW9uIGZpbGUuCgoyMDA4LTAzLTAzIDA0OjM5OjQ4ICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IEZpeCBhdWRpbyBkaXNjb250aW51aXR5IHRoYXQgaGFwcGVucyB3aGVuIHNpbGVudCBjaHVua3MgYXJlIGZvbGxvd2VkIGJ5IHJlYWwgZGF0YSBhZ2Fpbi4gRml4ZXMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKZW5zIEdyYW5zZXVlciA8amVuc2dyIGF0IGdteCBkb3QgbmV0PgoJICAqIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogKGdzdF9tdmVfYXVkaW9fZGF0YSksCgkgIChnc3RfbXZlX2RlbXV4X2dldF90eXBlKToKCSAgRml4IGF1ZGlvIGRpc2NvbnRpbnVpdHkgdGhhdCBoYXBwZW5zIHdoZW4gc2lsZW50IGNodW5rcyBhcmUKCSAgZm9sbG93ZWQgYnkgcmVhbCBkYXRhIGFnYWluLiBGaXhlcyBidWcgIzUxOTkwNS4KCjIwMDgtMDMtMDEgMTI6NDk6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlciBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgKiBzeXMvZHZiL3BhcnNlY2hhbm5lbHMuYzoKCSAgQWRkIERWQi1DIHN1cHBvcnQuIFNwZWNpYWwgdGhhbmtzIHRvIENocmlzdGlhbiBTY2hhbGxlcgoJICBmb3IgYSB0ZXN0aW5nIGdyb3VuZC4KCjIwMDgtMDItMjggMTM6MjI6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogT25seSBzZW5kIFBNVHMgdG8gcHJvZ3JhbSBwYWRzIHRoYXQgdGhlIFBNVCBpcyBmb3IgZXZlbiBpZiBvbiBzYW1lIHBpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIE9ubHkgc2VuZCBQTVRzIHRvIHByb2dyYW0gcGFkcyB0aGF0IHRoZSBQTVQgaXMgZm9yIGV2ZW4gaWYKCSAgb24gc2FtZSBwaWQuCgkgIEFzIGEgYnktcHJvZHVjdCwgd2Ugbm93IG5vIGxvbmdlciBoYXJkY29kZSBhbnkgcHNpIHBpZCBudW1iZXJzLgoJICBBbHNvIHJlbW92ZSBwY3Igc3RyZWFtIGZyb20gb2xkIHBtdCB3aGVuIHdlIGFwcGx5IGEgbmV3IHBtdC4KCjIwMDgtMDItMjggMTA6NDE6NTYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzIGFuZCBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YXRpbWUgYXMgbG9jYWwgdGltZSAodGhvc2UgY2hhbmdlcyBoYXMgYmVlbiBkb25lIGluIHByZXZpby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MgYW5kIENvbnZlcnQgZnJvbSBFWElGIHRvIFhNUCBEYXRhdGltZSBhcyBsb2NhbCB0aW1lICh0aG9zZSBjaGFuZ2VzIGhhcyBiZWVuIGRvbmUgaW4gcHJldmlvdXMgY29taXQgYnV0IGhhZCB0byBiZSByZXZlcnQgaW4gMjAwOC0wMi0xMCBkdWUgdG8gZnJvemVuKQoKMjAwOC0wMi0yNyAyMzoyOTo0NCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogUmVtb3ZlIHRoZSBHX1ZBTFVFX0hPTERTX0JPWEVEIGNoZWNrcy4gVGhleSB3ZXJlIG9ubHkgYWRkZWQgdG8gaGVscCBkZWJ1ZyB0aGUgZGF0YSBjb3JydXB0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmM6CgkgIFJlbW92ZSB0aGUgR19WQUxVRV9IT0xEU19CT1hFRCBjaGVja3MuIFRoZXkgd2VyZQoJICBvbmx5IGFkZGVkIHRvIGhlbHAgZGVidWcgdGhlIGRhdGEgY29ycnVwdGlvbi4KCjIwMDgtMDItMjcgMTk6NDE6MTMgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2NhbXV0aWxzLmM6IERvbid0IGZyZWUgdGhlIHByb2dyYW0gZGVzY3JpcHRvcnMsIHRoaXMgc3RydWN0dXJlIGNvbnRhaW5pbmcgdGhlbSBpcyBzdGlsbHMgdG9yZWQgYWZ0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG9uJ3QgZnJlZSB0aGUgcHJvZ3JhbSBkZXNjcmlwdG9ycywgdGhpcyBzdHJ1Y3R1cmUKCSAgY29udGFpbmluZyB0aGVtIGlzIHN0aWxscyB0b3JlZCBhZnRlci4KCSAgRml4ZXMgZGF0YSBjb3JydXB0aW9uLgoKMjAwOC0wMi0yNyAxMjozNDowMCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRXh0cmEgY2hlY2tzIHRvIHByZXZlbnQgZGF0YSBjb3JydXB0aW9uL3NlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW11dGlscy5jOgoJICBFeHRyYSBjaGVja3MgdG8gcHJldmVudCBkYXRhIGNvcnJ1cHRpb24vc2VnZmF1bHRzLgoKMjAwOC0wMi0yNiAxNToxMzo1NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDgtMDItMjYgMTI6MDQ6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9uYXMvbmFzc2luay5jOiBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOgoJICBGaXggYnVpbGQgd2FybmluZyBieSB1c2luZyBwb3J0YWJsZSBBUEkuCgoyMDA4LTAyLTI2IDEyOjAxOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc2VsZWN0b3IvZ3N0b3V0cHV0c2VsZWN0b3IuYzogRml4IGNoYW5naW5nIHRvIHNhbWUgcGFkIHR3aWNlIGJlZm9yZSBhIGNoYWluIGNhbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggY2hhbmdpbmcgdG8gc2FtZSBwYWQgdHdpY2UgYmVmb3JlIGEgY2hhaW4gY2FsbC4KCjIwMDgtMDItMjYgMDU6NTQ6MjYgKzAwMDAgIERhbmllbCBGaXNjaGVyIDxkYW5AZjNjLmNvbT4KCgkgIEFkZCBzdXBwb3J0IGZvciBsaWJkYzEzOTQgMi4wLjAgYW5kIGFib3ZlIGFuZCByZXF1aXJlIHRoaXMgdmVyc2lvbiBub3cuIEZpeGVzIGJ1ZyAjNTE0OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBGaXNjaGVyIDxkYW4gYXQgZjNjIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKToKCSAgKiBleHQvZGMxMzk0L2dzdGRjMTM5NC5oOgoJICBBZGQgc3VwcG9ydCBmb3IgbGliZGMxMzk0IDIuMC4wIGFuZCBhYm92ZSBhbmQgcmVxdWlyZSB0aGlzIHZlcnNpb24KCSAgbm93LiBGaXhlcyBidWcgIzUxNDk2NC4KCjIwMDgtMDItMjYgMDU6MzY6MTcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBBZGQgc3VwcG9ydCBmb3Igc3BlY2lmeWluZyBhIGxpc3Qgb2YgY29va2llcyB0byBiZSBwYXNzZWQgaW4gdGhlIEhUVFAgcmVxdWVzdC4gRml4ZXMgYnVnICM1MTg3MjIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IChydW5fdGVzdCksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzb3VwaHR0cHNyY19zdWl0ZSk6CgkgIEFkZCBzdXBwb3J0IGZvciBzcGVjaWZ5aW5nIGEgbGlzdCBvZiBjb29raWVzIHRvIGJlIHBhc3NlZCBpbgoJICB0aGUgSFRUUCByZXF1ZXN0LiBGaXhlcyBidWcgIzUxODcyMi4KCjIwMDgtMDItMjUgMDg6NTM6NTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLio6IEFkZGVkICJzZWxlY3QtYWxsIiBwcm9wZXJ0eSB0byBtYWtlIGl0IHdvcmsgbGlrZSBhZ2dyZWdhdG9yIGluIDAuOC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5oOgoJICBBZGRlZCAic2VsZWN0LWFsbCIgcHJvcGVydHkgdG8gbWFrZSBpdCB3b3JrIGxpa2UgYWdncmVnYXRvciBpbiAwLjguCgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgIEZpeCByZXNlbmQtbGF0ZXN0IGJlaGF2b2l1ci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NlbGVjdG9yLmM6CgkgIEFkZCB1bml0IHRlc3RzIGZvciBzZWxlY3Rvci4KCjIwMDgtMDItMjUgMDY6Mjk6MTIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFJlbW92ZSBtaWRpIHR5cGVmaW5kZXJzIGFuZCByZXF1aXJlIGJhc2UgQ1ZTIGFzIHRoZXkgbW92ZWQgdGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzogKHBsdWdpbl9pbml0KToKCSAgUmVtb3ZlIG1pZGkgdHlwZWZpbmRlcnMgYW5kIHJlcXVpcmUgYmFzZSBDVlMgYXMgdGhleSBtb3ZlZCB0aGVyZS4KCjIwMDgtMDItMjQgMDk6NTc6NDIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogT25seSBkaXNhYmxlIHRoZSBleHQvdGltaWRpdHkgZGlyZWN0b3J5IGlmIGJvdGgsIHdpbGRtaWRpIF9hbmRfIHRpbWlkaXR5IGFyZSBub3QgYXZhaWxhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIE9ubHkgZGlzYWJsZSB0aGUgZXh0L3RpbWlkaXR5IGRpcmVjdG9yeSBpZiBib3RoLCB3aWxkbWlkaQoJICBfYW5kXyB0aW1pZGl0eSBhcmUgbm90IGF2YWlsYWJsZS4KCjIwMDgtMDItMjQgMDQ6MjQ6MjAgKzAwMDAgIEVtaWxpbyBQb3p1ZWxvIE1vbmZvcnQgPHBvY2h1QHVidW50dS5jb20+CgoJICBleHQvTWFrZWZpbGUuYW06IEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBFbWlsaW8gUG96dWVsbyBNb25mb3J0IDxwb2NodSBhdCB1YnVudHUgZG90IGNvbT4KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEJ1aWxkIHRoZSB3aWxkbWlkaSBwbHVnaW4gaWYgaXQncyBlbmFibGVkIGFuZCBub3Qgb25seSB3aGVuCgkgIGJvdGgsIHRoZSB0aW1pZGl0eSBhbmQgd2lsZG1pZGkgcGx1Z2luLCBhcmUgZW5hYmxlZC4KCjIwMDgtMDItMjMgMTU6MDE6MzIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbSB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICBDaGVjayBmb3IgYW5kIGRlZmluZSBFUlJPUl9DWFhGTEFHUyBhbmQgR1NUX0NYWEZMQUdTIGFuZCB1c2UgdGhlbQoJICB3aGVuIGJ1aWxkaW5nIEMrKyBjb2RlLgoKMjAwOC0wMi0yMyAxMTo1Njo0MSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IEFkZCBpbml0aWFsIHN1cHBvcnQgZm9yIG11bHRpcHJvdG8gZHJpdmVyIChub3QgeWV0IG1lcmdlZCBpbnRvIHY0bC1kdmIgbWFpbmxpbmUgeWV0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWRkIGluaXRpYWwgc3VwcG9ydCBmb3IgbXVsdGlwcm90byBkcml2ZXIgKG5vdCB5ZXQgbWVyZ2VkIGludG8KCSAgdjRsLWR2YiBtYWlubGluZSB5ZXQpLgoJICBPbmx5IHdvcmtzIGZvciBEVkItUyBub3QgRFZCLVMyLCBEVkItVCwgRFZCLUMgb3Igb3RoZXIuCgoyMDA4LTAyLTIyIDEwOjE4OjI3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBVcGRhdGUgdG8gdmVyc2lvbiAwLjEwLjYuMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmVzdGl2YWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1oMjY0cGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmZic3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2VsZWN0b3IueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zbmRmaWxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRyZW1vci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSAgVXBkYXRlIHRvIHZlcnNpb24gMC4xMC42LjEuCgoyMDA4LTAyLTIyIDA5OjU2OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzIG9yIGJlZW4gcmVuYW1lZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVtb3ZlIGRvY3MgZm9yIGVsZW1lbnRzIHRoYXQgaGF2ZSBtb3ZlZCB0byBvdGhlciBtb2R1bGVzCgkgIG9yIGJlZW4gcmVuYW1lZC4KCjIwMDgtMDItMjIgMDc6MjA6MDMgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBJbXBsZW1lbnQgemVyby1jb3B5IGFuZCBtYWtlIHRoZSBidWZmZXIgc2l6ZSBjb25maWd1cmFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksIChnc3Rfc291cF9odHRwX3NyY19jaHVua19mcmVlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2NodW5rX2FsbG9jYXRvciksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm94eSk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgSW1wbGVtZW50IHplcm8tY29weSBhbmQgbWFrZSB0aGUgYnVmZmVyIHNpemUgY29uZmlndXJhYmxlLgoJICBQcmVmaXggcHJveHkgVVJJcyB3aXRoICJodHRwOi8vIiBpZiB0aGV5IGRvbid0IHN0YXJ0IHdpdGggaXQKCSAgYWxyZWFkeSBhbmQgY2F0Y2ggZXJyb3JzIGVhcmxpZXIsIGZpeGVzIGhhbmdpbmcgaW4gc29tZSBzaXR1YXRpb25zLgoJICBGaXhlcyBidWcgIzUxNDk0OC4KCjIwMDgtMDItMjIgMDY6NDI6MjggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOiBBZGQgc3VwcHJlc3Npb25zIGZvciBTb3VuZFRvdWNoIHZhbGdyaW5kIHdhcm5pbmdzIGFuZCBhIHZhbGdyaW5kIHdhcm5pbmcgY2F1c2VkIGJ5IC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgU291bmRUb3VjaCB2YWxncmluZCB3YXJuaW5ncyBhbmQKCSAgYSB2YWxncmluZCB3YXJuaW5nIGNhdXNlZCBieSB0aGUgTEFEU1BBIHNpbmUgcGx1Z2luIGFuZAoJICBoYXBwZW5pbmcgb24gZXZlcnkgZXhpdCgpLgoJICBSZW1vdmUgR0lPIHN1cHByZXNzaW9ucyBhcyBpdCdzIG5vdyBpbiAtYmFzZS4KCjIwMDgtMDItMjIgMDY6MzM6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IERvbid0IGFsbG9jYXRlIGFuZCBjb3B5IHRoZSBkYXRhIHRvIGEgbmV3IHBsYWNlIGJ1dCBpbnN0ZWFkIHB1dCB0aGUgZGF0YSBmcm9tIGdteXRoICh3aGljaC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKToKCSAgRG9uJ3QgYWxsb2NhdGUgYW5kIGNvcHkgdGhlIGRhdGEgdG8gYSBuZXcgcGxhY2UgYnV0IGluc3RlYWQKCSAgcHV0IHRoZSBkYXRhIGZyb20gZ215dGggKHdoaWNoIHdlIG93bikgaW50byB0aGUgYnVmZmVycyB0aGF0CgkgIGFyZSBwYXNzZWQgZG93bnN0cmVhbS4KCjIwMDgtMDItMjIgMDY6MzE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5jOiBJZiBXSUxETUlESV9DRkcgaXMgbm90IGRlZmluZWQsIGRlZmluZSBpdCB0byB0aGUgZGVmYXVsdCB0aW1pZGl0eSBjb25maWd1cmUgZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgIElmIFdJTERNSURJX0NGRyBpcyBub3QgZGVmaW5lZCwgZGVmaW5lIGl0IHRvIHRoZSBkZWZhdWx0CgkgIHRpbWlkaXR5IGNvbmZpZ3VyZSBmaWxlLgoKMjAwOC0wMi0yMiAwNjoxMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBhIHBhdGNoIGJ5OgoJICBIYW5zIGRlIEdvZWRlIDxqIGRvdCB3IGRvdCByIGRvdCBkZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgUmVtb3ZlIGhhY2sgdG8gd29yayB3aXRoIG1qcGVndG9vbHMgMS45LjByYzMgYW5kIGFib3ZlIGFuZCBpbnN0ZWFkCgkgIHVzZSBtanBlZ19sb2dsZXZfdCgpIGZvciBnZXR0aW5nIHRoZSBsb2cgbGV2ZWxzLiBDaGVjayBmb3IgdGhpcwoJICBmdW5jdGlvbiBpbiBjb25maWd1cmUuYWMgYXMgdGhlIHBrZy1jb25maWcgZmlsZSBkb2Vzbid0IHRlbGwgdXMKCSAgd2hpY2ggcmVsZWFzZSBjYW5kaWRhdGUgd2UgaGF2ZS4gRml4ZXMgYnVnICM1MTc4OTYuCgoyMDA4LTAyLTIyIDA1OjQ4OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IENoZWNrIGZvciBYIGZvciB0aGUgbmFzIHBsdWdpbiB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIGl0IGFnYWluLiBGaXhlcyBidWcgIzUxNzg5NS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBmb3IgdGhlIG5hcyBwbHVnaW4gdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCBpdAoJICBhZ2Fpbi4gRml4ZXMgYnVnICM1MTc4OTUuCgoyMDA4LTAyLTIyIDA1OjQyOjE2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogSWdub3JlIHNvbWUgbW9yZSBlbGVtZW50cyBmb3IgdGhlIHN0YXRlcyB1bml0IHRlc3QsIGxpa2UgZGZidmlkZW9zaW5rIHdoaWNoIHByb2R1Y2VzIGEgc2VnZmEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIElnbm9yZSBzb21lIG1vcmUgZWxlbWVudHMgZm9yIHRoZSBzdGF0ZXMgdW5pdCB0ZXN0LCBsaWtlCgkgIGRmYnZpZGVvc2luayB3aGljaCBwcm9kdWNlcyBhIHNlZ2ZhdWx0LiBGaXhlcyBidWcgIzUxNzg1NC4KCjIwMDgtMDItMjIgMDU6MzM6NTkgKzAwMDAgIEplbnMgR3JhbnNldWVyIDxqZW5zZ3JAZ214Lm5ldD4KCgkgIFNvbWUgQzg5IGZpeGVzLCBtb3ZpbmcgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBiZWdpbm5pbmcgb2YgYSBibG9jay4gRml4ZXMgYnVnICM1MTc5MzcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgPGplbnNnciBhdCBnbXggZG90IG5ldD4KCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYl9wcm9wZXJ0eV9zZXRfdmVyc2lvbik6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfZGVjb2Rlcl9tZXNzYWdlX3NldF9lbmNvZGluZ3MpLAoJICAocmZiX2RlY29kZXJfc3RhdGVfc2V0X2VuY29kaW5ncyk6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKG1wZWd0c19wYWNrZXRpemVyX3BhcnNlX25pdCksIChtcGVndHNfcGFja2V0aXplcl9wYXJzZV9zZHQpLAoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfZWl0KToKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2dldGNhcHMpLAoJICAoZ3N0X2ZiZGV2c2lua19zZXRjYXBzKSwgKGdzdF9mYmRldnNpbmtfcmVuZGVyKToKCSAgU29tZSBDODkgZml4ZXMsIG1vdmluZyB2YXJpYWJsZSBkZWNsYXJhdGlvbnMgdG8gdGhlIGJlZ2lubmluZwoJICBvZiBhIGJsb2NrLiBGaXhlcyBidWcgIzUxNzkzNy4KCjIwMDgtMDItMjEgMjM6NTA6MzEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIGRldmVsb3BtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQmFjayB0byBkZXZlbG9wbWVudC4uLgoKPT09IHJlbGVhc2UgMC4xMC42ID09PQoKMjAwOC0wMi0yMSAwMDoxMzozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hcHAueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkYXVkaW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmJkZXZzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mbHZkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdGludGVybGFjZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndHNwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdmUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmF3cGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNlbGVjdG9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12Y2RzcmMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9zaWduYWwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdm1uYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14MjY0LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teTRtZW5jLnhtbDoKCSogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkqIHBvL0xJTkdVQVM6CgkqIHdpbjMyL2NvbW1vbi9jb25maWcuaDoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVsZWFzZSAwLjEwLjYgLSBBIEJpZyBEZWVwIEJyZWF0aAoKMjAwOC0wMi0yMCAyMzozNToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2JnLnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZGEucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9lcy5wbzoKCSogcG8vZmkucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8va3kucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3BsLnBvOgoJKiBwby9wdF9CUi5wbzoKCSogcG8vc2sucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSogcG8vemhfQ04ucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDgtMDItMjAgMTY6MDQ6MzIgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwOC0wMi0yMCAgQmFzdGllbiBOb2NlcmEgIDxoYWRlc3NAaGFkZXNzLm5ldD4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfZG9fc2VlayksCgkgIChnc3RfbXl0aHR2X3NyY19zdGFydCk6IFVzaW5nIHRoZSB3cm9uZyBHc3RGb3JtYXQgZm9yIHRoZSBmaWxlc2l6ZSwKCSAgYW5kIGZhaWwgc2VlayBwcm9wZXJseSBvbiBhbnl0aGluZyBidXQgX0JZVEVTIGZvcm1hdAoJICBGaXhlcyBidWcgIzUxNzY4NAoKMjAwOC0wMi0yMCAwOTozMzoyNSArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyIGF0IHRlc3RlciBkb3QgY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBGaXggc21hbGwgbWVtb3J5IGxlYWssIGxlYWtpbmcgY2Fwcy4gRml4ZXMgI2J1ZyA1MTc1NzEuCgoyMDA4LTAyLTE5IDExOjUwOjQ1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2hhbmdlIGdteXRoLTEuMCB0byBnbXl0aAoKMjAwOC0wMi0xOSAxMDo1MTozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3R0YS9NYWtlZmlsZS5hbTogTGluayB0dGEgcGx1Z2luIHdpdGggbGlibS4gRml4ZXMgYnVnICM1MTczOTEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC90dGEvTWFrZWZpbGUuYW06CgkgIExpbmsgdHRhIHBsdWdpbiB3aXRoIGxpYm0uIEZpeGVzIGJ1ZyAjNTE3MzkxLgoKMjAwOC0wMi0xNCAxNzowOTozOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2FtdXRpbHMuYzogRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlIGlzIHByZXNlbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgRG8gbm90IGFzc3VtZSAiZGVzY3JpcHRvcnMiIHByb3BlcnR5IGluIHRoZSBwbXQgc3RydWN0dXJlCgkgIGlzIHByZXNlbnQuCgkgIEZpeGVzICM1MTY0OTkuCgoyMDA4LTAyLTE0IDE2OjI1OjUxICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IElnbm9yZSBzdHJlYW1zIHRoYXQgZGlkIG5vdCByZWNlaXZlIGFuIFNSIHBhY2tldCB3aGVuIGRvaW5nIHN5bmNocm9uaXNhdGlvbi4gRml4ZXMgIzUxNjE2MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKToKCSAgSWdub3JlIHN0cmVhbXMgdGhhdCBkaWQgbm90IHJlY2VpdmUgYW4gU1IgcGFja2V0IHdoZW4gZG9pbmcKCSAgc3luY2hyb25pc2F0aW9uLiBGaXhlcyAjNTE2MTYwLgoKMjAwOC0wMi0xNCAxNDozMzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzogU2V0IG5fbGluZV9jdHJsX2kgdG8gMCB3aGVuZXZlciB3ZSBmcmVlIGxpbmVfY3RybF9pLiBQYXRjaCBiYXNlZCBvbiBhbiBpZGVhIGJ5IEphbiBTY2htaWR0LCBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpOgoJICBTZXQgbl9saW5lX2N0cmxfaSB0byAwIHdoZW5ldmVyIHdlIGZyZWUgbGluZV9jdHJsX2kuIFBhdGNoIGJhc2VkCgkgIG9uIGFuIGlkZWEgYnkgSmFuIFNjaG1pZHQsIGZpeGVzIGJ1ZyAjNTE2NDM2LgoKMjAwOC0wMi0xNCAxNDoyMjo1NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IE1ha2Ugc3VyZSB0aGUgZ3N0bXBlZ2Rlc2MgZGVidWcgbGluZXMgZG8gbm90IGNyaXRpY2FsIHdoZW4gR1NUX0RFQlVHIGlzIGVuYWJsZWQgYW5kIGFsc28gYWN0dWFsbHkgby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgTWFrZSBzdXJlIHRoZSBnc3RtcGVnZGVzYyBkZWJ1ZyBsaW5lcyBkbyBub3QgY3JpdGljYWwKCSAgd2hlbiBHU1RfREVCVUcgaXMgZW5hYmxlZCBhbmQgYWxzbyBhY3R1YWxseSBvdXRwdXQuCgkgIFRoYW5rcyB0byBBbGVzc2FuZHJvIERlY2luYSBmb3Igc3BvdHRpbmcuCgkgIEZpeGVzICM1MTY0NDgKCjIwMDgtMDItMTMgMjM6NTI6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgQWxzbyBhZGQgZHNob3cgcGllY2VzIHRvIHRoZSBkaXN0ZWQgc3ViZGlycyB0byBmaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvTWFrZWZpbGUuYW06CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBBbHNvIGFkZCBkc2hvdyBwaWVjZXMgdG8gdGhlIGRpc3RlZCBzdWJkaXJzIHRvIGZpeCBkaXN0Y2hlY2suCgoyMDA4LTAyLTEzIDE0OjQwOjMzICswMDAwICBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIFJlLUZpeGVzICM1MTYwNjEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSk6CgkgIEZpeCBwb3RlbnRpYWwgYnVmZmVyIGxlYWsgaW4gcmV2ZXJzZSBtb2RlLiBSZS1GaXhlcyAjNTE2MDYxLgoKMjAwOC0wMi0xMyAxMToyMjowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBBbGxvdyBnbXl0aCB2ZXJzaW9ucyBmcm9tIDAuNCB1cCB0byAwLjcuOTksIHRoZSBBUEkgZGlkbid0IGNoYW5nZSB1bnRpbCAwLjcgZm9ydHVuYXRlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWxsb3cgZ215dGggdmVyc2lvbnMgZnJvbSAwLjQgdXAgdG8gMC43Ljk5LCB0aGUgQVBJIGRpZG4ndCBjaGFuZ2UKCSAgdW50aWwgMC43IGZvcnR1bmF0ZWx5LgoKMjAwOC0wMi0xMiAyMzoxNjoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEdlbmVyYXRlIHRoZSBkaXJlY3RzaG93IE1ha2VmaWxlcyBzbyB0aGF0IHRoZSBkaXJlY3RvcmllcyBnZXQgZGlzdGVkLiBTdGlsbCBuZWVkcyBzb21lIGNvbmZpZ3VyZSB0aW1lIGQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBHZW5lcmF0ZSB0aGUgZGlyZWN0c2hvdyBNYWtlZmlsZXMgc28gdGhhdCB0aGUgZGlyZWN0b3JpZXMKCSAgZ2V0IGRpc3RlZC4gU3RpbGwgbmVlZHMgc29tZSBjb25maWd1cmUgdGltZSBkZXRlY3Rpb24gdG8gZW5hYmxlCgkgIGJ1aWxkaW5nIHRoZW0gdW5kZXIgTWluZ1cuCgoyMDA4LTAyLTEyIDIzOjEzOjU1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbTogRG9uJ3QgaW5zdGFsbCBhIGhlYWRlciBmaWxlLiBXZSB3aWxsIGhhdmUgdG8gbWVyZ2UgdGhlc2UgdGFncyBpbnRvIGxpYmdzdHRhZyBhZnRlciB0aGUgcmVsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkgIERvbid0IGluc3RhbGwgYSBoZWFkZXIgZmlsZS4gV2Ugd2lsbCBoYXZlIHRvIG1lcmdlIHRoZXNlCgkgIHRhZ3MgaW50byBsaWJnc3R0YWcgYWZ0ZXIgdGhlIHJlbGVhc2UgYW5kIHVzZSB0aGVtIGZyb20gdGhlcmUuCgkgIEZpeGVzOiAjNTE1ODYwCgoyMDA4LTAyLTEyIDIyOjEwOjM5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGQgTWFrZWZpbGVzIHRvIHdpbjMyIHBsdWdpbnMgYW5kIGxpYi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kc2hvd2RlY3dyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9NYWtlZmlsZS5hbToKCSAgQWRkIE1ha2VmaWxlcyB0byB3aW4zMiBwbHVnaW5zIGFuZCBsaWIuCgkgIFRoZXkgd2lsbCBuZWVkIHRvIGJlIHRlc3RlZCBhbmQgcHJvYmFibHkgZml4ZWQgYnkgZGV2ZWxvcGVycwoJICB3b3JraW5nIHdpdGggbWluZ3cuIFRoaXMgaXMgYSBmaXJzdCBzdGVwIHRvIGluY2x1ZGUgc291cmNlIGZpbGVzCgkgIHdpdGggcmVsZWFzZXMuCgoyMDA4LTAyLTEyIDIxOjMxOjU3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9kdmJiYXNlYmluLmM6IEZpeCBsZWFrIG9mIGxvY2F0aW9uIHN0cmluZyByZXR1cm5lZCBmcm9tIGdzdF91cmlfZ2V0X2xvY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgRml4IGxlYWsgb2YgbG9jYXRpb24gc3RyaW5nIHJldHVybmVkIGZyb20gZ3N0X3VyaV9nZXRfbG9jYXRpb24uCgkgIEZpeGVzIGJ1ZyAjNTE2MTE0CgoyMDA4LTAyLTEyIDIxOjAxOjE3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIFJlbW92ZSBnbGltYWdlc2luaywgYXMgaXQncyBiZWVuIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWdsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9CVUdTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9jb2xvcl9tYXRyaXguYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsY29udmVydC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICBSZW1vdmUgZ2xpbWFnZXNpbmssIGFzIGl0J3MgYmVlbiBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nbC4KCSAgRml4ZXMgIzUxNjA5NC4KCjIwMDgtMDItMTIgMTg6Mjk6MjkgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiBGaXggcG90ZW50aWFsIGJ1ZmZlciBsZWFrIGluIHJldmVyc2UgbW9kZS4gRml4ZXMgIzUxNjA2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiByZXZlcnNlIG1vZGUuIEZpeGVzICM1MTYwNjEuCgoyMDA4LTAyLTEyIDExOjA4OjI3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZHNob3dkZWN3cmFwcGVyLzogQ2hhaW4gdXAgZGlzcG9zZSBtZXRob2RzIHByb3Blcmx5LiBGaXhlcyBidWcgIzUxNTk3MC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RzaG93ZGVjd3JhcHBlci9nc3Rkc2hvd2F1ZGlvZGVjLmM6CgkgIChnc3RfZHNob3dhdWRpb2RlY19kaXNwb3NlKToKCSAgKiBzeXMvZHNob3dkZWN3cmFwcGVyL2dzdGRzaG93dmlkZW9kZWMuYzoKCSAgKGdzdF9kc2hvd3ZpZGVvZGVjX2Rpc3Bvc2UpOgoJICBDaGFpbiB1cCBkaXNwb3NlIG1ldGhvZHMgcHJvcGVybHkuIEZpeGVzIGJ1ZyAjNTE1OTcwLgoKMjAwOC0wMi0xMiAxMTowMjozNyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5OiBtZW50aW9uIGJ1ZyA1MTU5MTkgZml4ZWQgaW4gbXkgcHJldmlvdXMgY29tbWl0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeTogbWVudGlvbiBidWcgNTE1OTE5IGZpeGVkIGluIG15IHByZXZpb3VzIGNvbW1pdAoKMjAwOC0wMi0xMiAxMDo1NzoyNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGaXggbGVha2luZyBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9zZXF1ZW5jZSksIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgRml4IGxlYWtpbmcgY2Fwcy4KCSAgRml4IHBvdGVudGlhbCBidWZmZXIgbGVhayBpbiBmb3J3YXJkIG1vZGUuCgkgIENsZWFudXAgcXVldWVzIHdoZW4gZ29pbmcgdG8gUkVBRFkuIEZpeGVzICM1MTU4MTUuCgoyMDA4LTAyLTEyIDEwOjI0OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBSZW1vdmUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIEdJTyBwbHVnaW4gYXMgaXQgd2FzIG1vdmVkIHRvIGdzdC1wbHVnaW5zLWJhc2UuIEZpeGVzIGJ1ZyAjNTE1OTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdpby54bWw6CgkgIFJlbW92ZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgR0lPIHBsdWdpbiBhcyBpdCB3YXMgbW92ZWQgdG8KCSAgZ3N0LXBsdWdpbnMtYmFzZS4gRml4ZXMgYnVnICM1MTU5NjQuCgoyMDA4LTAyLTEyIDEwOjIyOjQyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIEZpeCBzb21lIGZpbmFsaXplIGxlYWtzIGJ5IGNoYWluaW5nIHVwIHRvIHRoZSBwYXJlbnQgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICBGaXggc29tZSBmaW5hbGl6ZSBsZWFrcyBieSBjaGFpbmluZyB1cCB0byB0aGUgcGFyZW50IG1ldGhvZC4KCjIwMDgtMDItMTIgMDU6MjE6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NvdXBodHRwc3JjLmM6IEluY2x1ZGUgZ2xpYi9ncHJpbnRmLmggZm9yIGdfdmFzcHJpbnRmKCkuIEZpeGVzIGJ1ZyAjNTE1NTY0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zb3VwaHR0cHNyYy5jOgoJICBJbmNsdWRlIGdsaWIvZ3ByaW50Zi5oIGZvciBnX3Zhc3ByaW50ZigpLiBGaXhlcyBidWcgIzUxNTU2NC4KCjIwMDgtMDItMTIgMDU6MTk6MDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IEZyZWUgdGhlIHJmYiBkZWNvZGVyIG9uIGZpbmFsaXplLiBGaXhlcyBidWcgIzUxNTcyMS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogKGdzdF9yZmJfc3JjX2Rpc3Bvc2UpOgoJICBGcmVlIHRoZSByZmIgZGVjb2RlciBvbiBmaW5hbGl6ZS4gRml4ZXMgYnVnICM1MTU3MjEuCgoyMDA4LTAyLTExIDEzOjM0OjQ3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZmJkZXYvZ3N0ZmJkZXZzaW5rLmM6IChnc3RfZmJkZXZzaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X2ZiZGV2c2lua19maW5hbGl6ZSk6CgkgIEZyZWUgdGhlIGRldmljZSBzdHJpbmcgaW4gZmluYWxpemUuIEZpeGVzIGJ1ZyAjNTE1NzIyLgoKMjAwOC0wMi0xMSAxMzozMzoxMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBVbnNldCBHVmFsdWVzIGFmdGVyIHVzaW5nIHRoZW0uIEZpeGVzIGJ1ZyAjNTE1NzIwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KToKCSAgVW5zZXQgR1ZhbHVlcyBhZnRlciB1c2luZyB0aGVtLiBGaXhlcyBidWcgIzUxNTcyMC4KCjIwMDgtMDItMTEgMDU6MTE6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBEaXNhYmxlIHRoZSBkdmIgcGx1Z2luIGZvciB0aGUgc3RhdGVzIHRlc3QuIEZpeGVzIGJ1ZyAjNTE1NTY3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgZHZiIHBsdWdpbiBmb3IgdGhlIHN0YXRlcyB0ZXN0LiBGaXhlcyBidWcgIzUxNTU2Ny4KCjIwMDgtMDItMTAgMjE6MDM6NTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmVydCBjaGFuZ2VzIHRvIDIwMDgtMDItMDkgZHVlIHRvIGZyb3plbi4KCjIwMDgtMDItMTAgMTk6NDQ6NTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBGaXggSm9zZXAncyBzdXJuYW1lIGluIHRoZSBwcmV2aW91cyBmZXcgY29tbWl0cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IEpvc2VwJ3Mgc3VybmFtZSBpbiB0aGUgcHJldmlvdXMgZmV3IGNvbW1pdHMKCjIwMDgtMDItMTAgMTk6MDE6NDMgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFRyaXZpYWwgZml4IGZvciBidWlsZCB3YXJuaW5nLgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgRml4ZXM6ICM1MTU1ODgKCjIwMDgtMDItMTAgMTg6MzY6NDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSAgQ29udmVydCBmcm9tIEVYSUYgdG8gWE1QIERhdGFUaW1lIGFzIGxvY2FsIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDb252ZXJ0IGZyb20gRVhJRiB0byBYTVAgRGF0YVRpbWUgYXMgbG9jYWwgdGltZS4KCjIwMDgtMDItMTAgMDQ6MzY6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YV9tYXBwaW5nLmh0bToKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIE1hcCBEYXRlLVRpbWUgYW5kIEdQUyB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTWFwIERhdGUtVGltZSBhbmQgR1BTIHRhZ3MuCgoyMDA4LTAyLTA5IDAzOjM3OjQwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbTogTGlzdGluZyB0aGUgbWFyc2hhbC5oIGluIHRoZSBub2Rpc3RfSEVBREVSUyBicmVha3MgZGlzdGNoZWNrLCBzbyBsZXQncyBub3QgZG8gdGhhdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2VsZWN0b3IvTWFrZWZpbGUuYW06CgkgIExpc3RpbmcgdGhlIG1hcnNoYWwuaCBpbiB0aGUgbm9kaXN0X0hFQURFUlMgYnJlYWtzIGRpc3RjaGVjaywgc28KCSAgbGV0J3Mgbm90IGRvIHRoYXQKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgRGlzYWJsZSB0aGUgY3Jhc2hpbmcgY2RhdWRpbyBwbHVnaW4gZnJvbSB0aGUgc3RhdGVzIHRlc3Qgc28gSSBjYW4gbWFrZQoJICBwcmUtcmVsZWFzZXMuCgoyMDA4LTAyLTA5IDAyOjMzOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvdnM2L2xpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGZsdi5kc3A6CgkgIENvbnZlcnQgdG8gRE9TIGxpbmUgZW5kaW5ncywgYW5kIHNldCAta2IKCjIwMDgtMDItMDggMTg6MjI6MDggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiLzogQWRkIFVSSSBIYW5kbGVyIGZvciBkdmIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIEFkZCBVUkkgSGFuZGxlciBmb3IgZHZiLgoJICBSZS1vcmRlciBwYWQgdGVtcGxhdGVzIHRvIHdvcmthcm91bmQgYSBidWcgaW4gcGxheWJhc2ViaW4uCgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmM6CgkgICogc3lzL2R2Yi9wYXJzZWNoYW5uZWxzLmg6CgkgIEFkZCBjb2RlIHRvIHBhcnNlIGNoYW5uZWxzIGZyb20gemFwLXN0eWxlIGNoYW5uZWxzLmNvbmYgZmlsZXMuCgoyMDA4LTAyLTA4IDA0OjIyOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBtdWx0aWZpbGUgcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVsdGlmaWxlLnhtbDoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICBSZW1vdmUgbXVsdGlmaWxlIHBsdWdpbiwgd2hpY2ggaGFzIG1vdmVkIHRvIC1nb29kCgoyMDA4LTAyLTA4IDAzOjQ0OjEyICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvOiBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICBVc2UgZ19maWxlX1tzZ11ldF9jb250ZW50cygpIGluc3RlYWQgb2YgdXNpbmcgc3RkaW8gZnVuY3Rpb25zLgoJICBTaG91bGQgYmUgbGVzcyBlcnJvciBwcm9uZS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tdWx0aWZpbGUuYzoKCSAgQ3JlYXRlIGEgdGVtcG9yYXJ5IGRpcmVjdG9yeSB1c2luZyBzdGFuZGFyZCBmdW5jdGlvbnMgaW5zdGVhZCBvZgoJICBjcmVhdGluZyBhIGRpcmVjdG9yeSBpbiB0aGUgY3VycmVudCBkaXIuCgoyMDA4LTAyLTA4IDAzOjI3OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBzcGVjdHJ1bSBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkgICogZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVjdHJ1bS9SRUFETUU6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgICogZ3N0L3NwZWN0cnVtL3NwZWN0cnVtLnZjcHJvajoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zcGVjdHJ1bS5jOgoJICBSZW1vdmUgc3BlY3RydW0gcGx1Z2luLCB3aGljaCBoYXMgbW92ZWQgdG8gLWdvb2QKCjIwMDgtMDItMDggMDI6NDg6NTQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IFJlbW92ZSBlcXVhbGl6ZXIgcGx1Z2luIGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgUmVtb3ZlIGVxdWFsaXplciBwbHVnaW4gZG9jcwoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBBZGQgR1NUX09QVElPTl9DRkxBR1MsIHRvIGdldCAtV2Vycm9yIC1XYWxsIGludG8gdGhlIHRlc3RzIGFzIGZvcgoJICBvdGhlciBtb2R1bGVzLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL211bHRpZmlsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2xpbWl0ZXIuYzoKCSAgRml4IGNvbXBpbGVyIHdhcm5pbmdzIGZyb20gLVdhbGwgLVdlcnJvcgoKMjAwOC0wMi0wOCAwMjowMDo0OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBnc3QvZXF1YWxpemVyLy5jdnNpZ25vcmU6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmg6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOgoJICBSZW1vdmUgdGhlIGVxdWFsaXplciBwbHVnaW4sIHdoaWNoIGhhcyBtb3ZlZCB0byAtZ29vZAoKMjAwOC0wMi0wOCAwMToxMjowOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE1ha2UgRElTQUJMRV9ERVBSRUNBVEVEIGRlZmluZWQgKm9ubHkqIGR1cmluZyBDVlMsIG5vdCBkdXJpbmcKCSAgcHJlLXJlbGVhc2VzIG9yIHJlbGVhc2VzLgoKMjAwOC0wMi0wOCAwMDo0ODozMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IERvbid0IHNjYW4gZGVsZXRlZCB4aW5nbXV4IGhlYWRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBEb24ndCBzY2FuIGRlbGV0ZWQgeGluZ211eCBoZWFkZXIuCgoyMDA4LTAyLTA4IDAwOjQwOjM0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgeGluZ211eCBwbHVnaW4sIGFzIHRoZSBlbGVtZW50IGhhcyBtb3ZlZCBpbnRvIG1wZWdhdWRpb3BhcnNlIGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3hpbmdtdXhfdGVzdGRhdGEuaDoKCSAgUmVtb3ZlIHRoZSB4aW5nbXV4IHBsdWdpbiwgYXMgdGhlIGVsZW1lbnQgaGFzIG1vdmVkIGludG8KCSAgbXBlZ2F1ZGlvcGFyc2UgaW4gLXVnbHkuCgoyMDA4LTAyLTA3IDIzOjM3OjMyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogUmVtb3ZlIG1lbnRpb24gb2Ygbm9uLWV4aXN0ZW50IGhlYWRlcnMgdG8gZml4IHRoZSBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBSZW1vdmUgbWVudGlvbiBvZiBub24tZXhpc3RlbnQgaGVhZGVycyB0byBmaXggdGhlIGJ1aWxkLgoKMjAwOC0wMi0wNyAyMzozMDo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW1vdmUgR0lPIHBsdWdpbiB3aGljaCBoYXMgbm93IG1vdmVkIHRvIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW8uYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNpbmsuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuYzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3RyZWFtc3JjLmM6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFJlbW92ZSBHSU8gcGx1Z2luIHdoaWNoIGhhcyBub3cgbW92ZWQgdG8gLWJhc2UuCgoyMDA4LTAyLTA3IDIxOjUzOjM5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZSBnc3QtcGx1Zy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2ZpbHRlci52Y3Byb2o6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5oOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2Jwd3NpbmMuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6CgkgIFJlbW92ZSBscHdzaW5jIGFuZCBicHdzaW5jIGVsZW1lbnRzIC0gdGhleSd2ZSBiZWNvbWUKCSAgYXVkaW93c2luY2xpbWl0IGFuZCBhdWRpb3dzaW5jYmFuZCByZXNwZWN0aXZlbHksIGluIHRoZQoJICBnc3QtcGx1Z2lucy1nb29kIGF1ZGlvZnggcGx1Z2luLgoKMjAwOC0wMi0wNyAyMTowMjoxOSArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzogSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0XG5lb25cZ3N0bmVvbmh0dHBzcmMuYzoKCSAgSW5jbHVkZSB1bmlzdGQuaCBvbmx5IGlmIF9IQVZFX1VOSVNURF9IIGlzIGRlZmluZWQKCSAgKiBnc3RcbXBlZ3ZpZGVvcGFyc2VcbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgVXNlIEdfR1VJTlQ2NF9DT05TVEFOVCBHTElCIG1hY3JvIGZvciBjb25zdGFudAoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5c1xkc2hvd3NyY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5jOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dhdWRpb2RlYy5oOgoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3dkZWN3cmFwcGVyLmM6CgkgICogc3lzXGRzaG93ZGVjd3JhcHBlclxnc3Rkc2hvd2RlY3dyYXBwZXIuaDoKCSAgKiBzeXNcZHNob3dkZWN3cmFwcGVyXGdzdGRzaG93dmlkZW9kZWMuYwoJICAqIHN5c1xkc2hvd2RlY3dyYXBwZXJcZ3N0ZHNob3d2aWRlb2RlYy5oOgoJICBBZGQgYSBEaXJlY3RTaG93IGRlY29kZXIgd3JhcHBlci4KCSAgKiB3aW4zMlxNQU5JRkVTVDoKCSAgQWRkIG5ldyB3aW4zMiBmaWxlcyB0byBNQU5JRkVTVAoJICAqIHdpbjMyXHZzNlxnc3RfcGx1Z2luc19iYWQuZHN3OgoJICAqIHdpbjMyXHZzNlxsaWJnc3Rkc2hvdy5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGRzaG93ZGVjd3JhcHBlci5kc3A6CgkgICogd2luMzJcdnM2XGxpYmdzdGZsdi5kc3A6CgkgIEFkZCBuZXcgcHJvamVjdHMgdG8gYmFkIHdvcmtzcGFjZQoKMjAwOC0wMi0wNyAxNDo0NTowNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlIGNvbXBvbmVudCBkZXNjcmlwdG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZSBjb21wb25lbnQgZGVzY3JpcHRvci4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQWRkIFNJIHBpZHMgdG8gZXZlcnkgcHJvZ3JhbSAoYnV0IGhhcmRjb2RlZCBjdXJyZW50bHkpLgoKMjAwOC0wMi0wNyAxMzo1OTo0MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmg6CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBtb3JlIHRhZ3MuIEltcHJvdmUgdGVzdCBhcHAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzLiBJbXByb3ZlIHRlc3QgYXBwLgoKMjAwOC0wMi0wNyAxMzo0ODoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6IEFkZCBhIGZpeG1lIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICBBZGQgYSBmaXhtZSBjb21tZW50LgoJICAqIGdzdC9zZWxlY3Rvci9nc3RvdXRwdXRzZWxlY3Rvci5jOgoJICBGaXggc2FtZSBsZWFrIGFzIGluIGlucHV0LXNlbGVjdG9yLgoJICAqIHRlc3RzL2ljbGVzL291dHB1dC1zZWxlY3Rvci10ZXN0LmM6CgkgIEltcHJvdmUgdGhlIHRlc3QuCgoyMDA4LTAyLTA3IDEzOjQxOjExICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogSW1wcm92ZSB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEltcHJvdmUgdGhlIGRvY3MuCgoyMDA4LTAyLTA3IDEyOjA1OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBUaGUgZGMxMzk0IHBsdWdpbiBzZWVtcyB0byB1c2UgQVBJIHRoYXQgd2FzIHJlbW92ZWQgb3IgY2hhbmdlZCBiZWZvcmUgdGhlIGZpbmFsIDIuMC4wIHJlbGVhc2UsIHNvIG9ubHkgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVGhlIGRjMTM5NCBwbHVnaW4gc2VlbXMgdG8gdXNlIEFQSSB0aGF0IHdhcyByZW1vdmVkIG9yIGNoYW5nZWQKCSAgYmVmb3JlIHRoZSBmaW5hbCAyLjAuMCByZWxlYXNlLCBzbyBvbmx5IGJ1aWxkIGl0IGlmIDIuMC4wLXJjNQoJICBpcyBhdmFpbGFibGUuIFNvbWVvbmUgbmVlZHMgdG8gcG9ydCBpdCB0byB0aGUgZmluYWwgQVBJLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2NoYW5nZV9jYW1lcmFfdHJhbnNtaXNzaW9uKToKCSAgSW5jbHVkZSBzdHJpbmcuaCBmb3IgbWVtY3B5IGFuZCB1c2UgZ191c2xlZXAgaW5zdGVhZCBvZiB1c2xlZXAuCgoyMDA4LTAyLTA3IDEwOjA0OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogRml4IHR5cG8gaW4gdGhlIGxvbmcgZGVzY3JpcHRpb24gb2YgdGhlIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBGaXggdHlwbyBpbiB0aGUgbG9uZyBkZXNjcmlwdGlvbiBvZiB0aGUgZWxlbWVudC4KCjIwMDgtMDItMDcgMDI6MDY6MTkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06IFB1dCBDRkxBR1MgYW5kIExJQlMgaW4gdGhlIHJpZ2h0IG9yZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC94aW5naGVhZGVyL01ha2VmaWxlLmFtOgoJICBQdXQgQ0ZMQUdTIGFuZCBMSUJTIGluIHRoZSByaWdodCBvcmRlcgoKMjAwOC0wMi0wNiAxODo1Njo0MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogeGltYWdlc3JjIGhhcyBtb3ZlZCB0byAtZ29vZCwgc28gbm8gbmVlZCB0byBjaGVjayBmb3IgdGhlIHJlcXVpcmVkIFggbGlicyBoZXJlIGFueSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHhpbWFnZXNyYyBoYXMgbW92ZWQgdG8gLWdvb2QsIHNvIG5vIG5lZWQgdG8gY2hlY2sgZm9yCgkgIHRoZSByZXF1aXJlZCBYIGxpYnMgaGVyZSBhbnkgbW9yZS4KCjIwMDgtMDItMDYgMTE6MDc6NDcgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBGaXggbWVtb3J5IGxlYWsgYW5kIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfY3JlYXRlKToKCSAgRml4IG1lbW9yeSBsZWFrIGFuZCBpbXByb3ZlIGRlYnVnZ2luZyBhIGJpdC4KCjIwMDgtMDItMDUgMTc6MTA6MTEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgbW9yZSB0YWdzIG1hcHBpbmcuCgoyMDA4LTAyLTA1IDEyOjE5OjQ2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEhhbmRsZSBsYXRlbmN5IHF1ZXJpZXMgaW4gc3JjIHBhZHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBIYW5kbGUgbGF0ZW5jeSBxdWVyaWVzIGluIHNyYyBwYWRzLgoKMjAwOC0wMi0wNSAxMTo0MDo0MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEFkZCBmbGFnIHRvIGJvdGggc2R0IGFuZCBuaXQgc3RydWN0dXJlcyB0byBzYXkgd2hldGhlciB0aGUgdGFibGUgaXMgZm9yIHRoZSBhY3R1YS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZmxhZyB0byBib3RoIHNkdCBhbmQgbml0IHN0cnVjdHVyZXMgdG8gc2F5CgkgIHdoZXRoZXIgdGhlIHRhYmxlIGlzIGZvciB0aGUgYWN0dWFsIG5ldHdvcmsvdHMKCSAgb3Igbm90LgoKMjAwOC0wMi0wNSAxMTozMDo0OSArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiBGbHVzaCBwYWNrZXRpemVyIHRvby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyZSBWYWxsZXMgPGpvc2VwQGZsdWVuZG8uY29tPgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2ZsdXNoKToKCSAgRmx1c2ggcGFja2V0aXplciB0b28uCgoyMDA4LTAyLTA0IDE5OjE1OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBEb24ndCB1c2UgR1NUX0JPSUxFUlBMQVRFIGFzIHRoZSBzdHVmZiBnZW5lcmF0ZWQgZnJvbSBpdCBpcyBub3QgdXNlZCBhbnl3YXkgYW5kIGNhbid0IGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpLCAobGFkc3BhX2Rlc2NyaWJlX3BsdWdpbiksIChwbHVnaW5faW5pdCk6CgkgIERvbid0IHVzZSBHU1RfQk9JTEVSUExBVEUgYXMgdGhlIHN0dWZmIGdlbmVyYXRlZCBmcm9tIGl0IGlzIG5vdCB1c2VkCgkgIGFueXdheSBhbmQgY2FuJ3QgYmUgdXNlZC4KCSAgU3RvcmUgdGhlIGNsYXNzIHN0cnVjdCBvZiB0aGUgY29ycmVjdCB0eXBlIGluIHBhcmVudF9jbGFzcy4KCSAgUGFzcyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3IgYXMgY2xhc3NfZGF0YSB0byB0aGUgY2xhc3NfaW5pdCBmdW5jdGlvbgoJICBhcyBwcmVwYXJhdGlvbiBmb3IgdGhlIHRpbWUsIHdoZW4gd2UgY2FuIGFkZCBwYWQgdGVtcGxhdGVzIGFuZCBmcmllbmRzCgkgIGluIGNsYXNzX2luaXQgYW5kIGFkZCBhIEZJWE1FIGZvciB0aGF0LgoJICBEb24ndCB1c2UgYSBjdXN0b20gaGFzaCB0YWJsZSBmb3IgcGFzc2luZyB0aGUgTEFEU1BBX0Rlc2NyaXB0b3JzIHRvCgkgIGJhc2VfaW5pdCBidXQgdXNlIGdfdHlwZV9zZXRfcWRhdGEgYW5kIGdfdHlwZV9nZXRfcWRhdGEuCgoyMDA4LTAyLTA0IDE2OjIyOjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzogUmVhbGx5IGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuY2M6CgkgIFJlYWxseSBmaXggdGhlIGJ1aWxkLgoJICBUT0RPIDogQXBwbHkgc3BhbmtPbWF0aWMyMDAwIG9uIHRoYXl0YW4ncyByZWFyIGVuZC4KCjIwMDgtMDItMDQgMTM6MTI6MDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAoR3N0TXBlZzJFbmNQaWN0dXJlUmVhZGVyLlN0cmVhbVBpY3R1cmVQYXJhbXMpOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBsaWJtanBlZ3Rvb2xzIDEuOC54LgoKMjAwOC0wMi0wNCAxMTo0ODo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGFzc19hZGRfcGFkX3RlbXBsYXRlKToKCSAgRG9uJ3QgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZSBhZnRlciBhZGRpbmcgaXQuCgkgIGdzdF9lbGVtZW50X2NsYXNzX2FkZF9wYWRfdGVtcGxhdGUgdGFrZXMgb3duZXJzaGlwIG9mIGl0LgoKMjAwOC0wMi0wMyAxODoyMjoxOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOiBVc2UgdGhlIGluY29taW5nIHBpeGVsLWFzcGVjdC1yYXRpbyBpZiBwcm92aWRlZCB0byBpbmZlciBhIGRlZmF1bHQgYXNwZWN0IHIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jcGljdHVyZXJlYWRlci5jYzoKCSAgVXNlIHRoZSBpbmNvbWluZyBwaXhlbC1hc3BlY3QtcmF0aW8gaWYgcHJvdmlkZWQgdG8gaW5mZXIgYQoJICBkZWZhdWx0IGFzcGVjdCByYXRpbywgd2hpY2ggY2FuIGJlIG92ZXJyaWRkZW4gdXNpbmcgdGhlICdhc3BlY3QnCgkgIHByb3BlcnR5LgoJICBGaXhlczogIzQ5OTAwOAoKMjAwOC0wMi0wMyAxNzo0NzoyNSArMDAwMCAgQW5kcnplaiBNZW5kZWwgPGFuZHJ6ZWoubWVuZGVsQGdtYWlsLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IHZhcmlhYmxlIG5hbWluZyB0byBtYWtlIGl0IHBvc3NpYmxlIHRvIGJ1aWxkIHRoZSBnbGltYWdlc2luayBwbHVnaW4uIEZpeGVzIGJ1ZyAjNTE0MDkzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHJ6ZWogTWVuZGVsIDxhbmRyemVqIGRvdCBtZW5kZWwgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCB2YXJpYWJsZSBuYW1pbmcgdG8gbWFrZSBpdCBwb3NzaWJsZSB0byBidWlsZCB0aGUgZ2xpbWFnZXNpbmsKCSAgcGx1Z2luLiBGaXhlcyBidWcgIzUxNDA5My4KCjIwMDgtMDItMDIgMjM6MjU6MTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOiBEZW1vdGUgbWV0YWRhdGFkZW11eCB0byBHU1RfUkFOS19OT05FIGZvciB0aGUgcmVsZWFzZSwgaXQncyBub3QgcmVhZHkgdG8gYmUgYXV0b3BsdWcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSAgRGVtb3RlIG1ldGFkYXRhZGVtdXggdG8gR1NUX1JBTktfTk9ORSBmb3IgdGhlIHJlbGVhc2UsIGl0J3Mgbm90CgkgIHJlYWR5IHRvIGJlIGF1dG9wbHVnZ2VkIHlldC4KCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgRml4IHByaW50ZiBmb3JtYXQgd2FybmluZyBmb3IgR1R5cGUgb24gcHBjMzIgYnkgcmVtb3ZpbmcgaXQsCgkgIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSBzZW5zZSB0byBwcmludCB0aGUgR1R5cGUgdmFsdWUgYW55d2F5LgoKMjAwOC0wMi0wMiAyMDoyMjoxOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhX21hcHBpbmcuaHRtOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXAgbW9yZSBFeGlmIHRhZ3MuCgoyMDA4LTAyLTAxIDE3OjA4OjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NlbGVjdG9yL2dzdGlucHV0c2VsZWN0b3IuYzogRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmM6IChnc3Rfc2VsZWN0b3JfcGFkX2V2ZW50KToKCSAgRG9uJ3QgbGVhayBldmVudCBvbiBwYWRzIHRoYXQgYXJlIG5vdCBsaW5rZWQuIEZpeGVzICM1MTI4MjYuCgoyMDA4LTAyLTAxIDEzOjAyOjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMsIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpOgoJICBVc2UgdGhlIG5ldyBHc3RWaWRlb0Zvcm1hdCBBUEkgdG8gZ2V0IHN0cmlkZXMsIHBsYW5lIG9mZnNldHMgZXRjLi4KCSAgRm9yIFk0MkIgd2Ugc3RpbGwgbmVlZCB0byBjYWxjdWxhdGUgdGhlc2Ugb3Vyc2VsdmVzLCBzaW5jZSB0aGUgbGliCgkgIGluIC1iYXNlIGRvZXNuJ3Qga25vdyBhYm91dCB0aGlzIGZvcm1hdCB5ZXQgYW5kIHdlIGNhbid0IGJ1bXAgdGhlCgkgIHJlcXVpcmVtZW50IHRvIENWUyByaWdodCBub3cuIEZpeCB0aGUgWTQyQiBzdHJpZGUsIG9mZnNldCBhbmQgc2l6ZQoJICBjYWxjdWxhdGlvbnMgZm9yIG9kZCB3aWR0aHMgYW5kIGhlaWdodHMgd2hpbGUgd2UncmUgYXQgaXQgdGhvdWdoCgkgICh0byBtYXRjaCB0aG9zZSBpbiB2aWRlb3Rlc3RzcmMpLgoKMjAwOC0wMS0zMSAyMTo1NTo0NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFfbWFwcGluZy5odG06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIGRvY3VtZW50YXRpb24uCgoyMDA4LTAxLTMxIDE3OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IEZpeCBjb21waWxhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6IChtZXRhZGF0YXBhcnNlX2pwZWdfcmVhZGluZyk6CgkgIEZpeCBjb21waWxhdGlvbi4KCjIwMDgtMDEtMzEgMTc6MTg6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzIGluIGl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19kaXNwb3NlKToKCSAgUmVhbGx5IGNsZWFuIHVwIHRoZSBxdWV1ZSBpbnN0ZWFkIG9mIGp1c3QgdW5yZWZmaW5nIGFsbCBidWZmZXJzCgkgIGluIGl0LgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6IChnc3RfYXBwX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2FwcF9zcmNfY2xhc3NfaW5pdCksIChnc3RfYXBwX3NyY19pbml0KSwKCSAgKGdzdF9hcHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X2FwcF9zcmNfZmluYWxpemUpOgoJICBGaXggZGlzcG9zZS9maW5hbGl6ZS4KCjIwMDgtMDEtMzEgMTU6NTI6MTggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0IGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpOgoJICBGaXggY29tcGlsZXIgd2FybmluZyBieSBtYWtpbmcgdGhlIGZ1bmN0aW9uIHNpZ25hdHVyZSBtYXRjaCB3aGF0CgkgIGV2ZXJ5b25lIGlzIHBhc3NpbmcgaW4uLi4KCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgRml4IHRoZSBidWlsZCBvbiBTb2xhcmlzIGJ5IHJlbW92aW5nIEdOVSBsZCBzcGVjaWZpYyBmbGFncyB0aGF0CgkgIGxvb2sgdW5uZWNlc3NhcnkuCgoyMDA4LTAxLTMxIDEwOjE2OjQ2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06IEFkZCBzb21lIHJlbGV2YW50IHZhcmlhYmxlcyB0byBDRkxBR1MgYW5kIExJQkFERCwgZm9yIGV4YW1wbGUgb3VyIGNvbXBpbGVyIHdhcm5pbmdzIHBhcmFtdGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJICBBZGQgc29tZSByZWxldmFudCB2YXJpYWJsZXMgdG8gQ0ZMQUdTIGFuZCBMSUJBREQsIGZvciBleGFtcGxlIG91cgoJICBjb21waWxlciB3YXJuaW5ncyBwYXJhbXRlcnMuCgkgICogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3RyaXBfcHVzaF9idWZmZXIpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfY2FsY3VsYXRlX29mZnNldHMpLAoJICAoZ3N0X2Jhc2VfbWV0YWRhdGFfc3JjX2V2ZW50KSwgKGdzdF9iYXNlX21ldGFkYXRhX3NpbmtfYWN0aXZhdGUpOgoJICAqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6IChnc3RfbWV0YWRhdGFfZGVtdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfZGVtdXhfc2V0X3Byb3BlcnR5KSwgKGdzdF9tZXRhZGF0YV9kZW11eF9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzogKGdzdF9tZXRhZGF0YV9tdXhfaW5pdCksCgkgIChnc3RfbWV0YWRhdGFfbXV4X3NldF9wcm9wZXJ0eSksIChnc3RfbWV0YWRhdGFfbXV4X2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbWV0YWRhdGFfbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X21ldGFkYXRhX211eF9jcmVhdGVfY2h1bmtzX2Zyb21fdGFncyk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6IChtZXRhZGF0YV9kaXNwb3NlKToKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkgIChtZXRhZGF0YXBhcnNlX2V4aWZfY29udGVudF9mb3JlYWNoX2VudHJ5X2Z1bmMpLAoJICAobWV0YWRhdGFtdXhfZXhpZl9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJICAobWV0YWRhdGFtdXhfaXB0Y19mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOiAobWV0YWRhdGFtdXhfanBlZ19sYXp5X3VwZGF0ZSksCgkgIChtZXRhZGF0YW11eF9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOiAobWV0YWRhdGFtdXhfcG5nX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOiAobWV0YWRhdGFwYXJzZV9qcGVnX3JlYWRpbmcpOgoJICAqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmg6CgkgICogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6IChtZXRhZGF0YXBhcnNlX3htcF90YWdfbGlzdF9hZGQpLAoJICAobWV0YWRhdGFtdXhfeG1wX2NyZWF0ZV9jaHVua19mcm9tX3RhZ19saXN0KToKCSAgRml4IGEgbWlsbGlvbiB3YXJuaW5ncyB0aGF0IHNob3dlZCB1cCBhZnRlciB0aGUgYWJvdmUgY2hhbmdlLgoKMjAwOC0wMS0zMSAwOTo1MDozMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuYzogQWRkIGNoYW5nZXMgdG8gZ3N0c291cGh0dHBzcmMuYyB0aGF0IHdlcmUgbWlzc2luZyBmcm9tIGxhc3QgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYmFzZV9pbml0KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19kaXNwb3NlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cF9odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3F1ZXVlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfYWRkX3JhbmdlX2hlYWRlciksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXNzaW9uX3BhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9jbG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfaGVhZGVyc19jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfYm9keV9jYiksIChnc3Rfc291cF9odHRwX3NyY19maW5pc2hlZF9jYiksCgkgIChnc3Rfc291cF9odHRwX3NyY19nb3RfY2h1bmtfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfcmVzcG9uc2VfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfcGFyc2Vfc3RhdHVzKSwgKGdzdF9zb3VwX2h0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zdGFydCksIChnc3Rfc291cF9odHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VubG9jayksIChnc3Rfc291cF9odHRwX3NyY191bmxvY2tfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cF9odHRwX3NyY19pc19zZWVrYWJsZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19kb19zZWVrKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJveHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdXJpX2dldF90eXBlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfcHJvdG9jb2xzKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9zZXRfdXJpKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9oYW5kbGVyX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBBZGQgY2hhbmdlcyB0byBnc3Rzb3VwaHR0cHNyYy5jIHRoYXQgd2VyZSBtaXNzaW5nIGZyb20gbGFzdCBjb21taXQuCgoyMDA4LTAxLTMxIDA4OjU3OjE2ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgTWFrZSBjb2Rpbmcgc3R5bGUgbW9yZSBjb25zaXN0ZW50LCBpbmNsdWRpbmcgY2xhc3MgcmVuYW1pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cF9odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2luaXQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3VuaWNvZGlmeSksIChnc3Rfc291cF9odHRwX3NyY19jYW5jZWxfbWVzc2FnZSksCgkgIChnc3Rfc291cF9odHRwX3NyY19xdWV1ZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl91bnBhdXNlX21lc3NhZ2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2Vzc2lvbl9wYXVzZV9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2hlYWRlcnNfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2JvZHlfY2IpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfZmluaXNoZWRfY2IpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ290X2NodW5rX2NiKSwgKGdzdF9zb3VwX2h0dHBfc3JjX3Jlc3BvbnNlX2NiKSwKCSAgKGdzdF9zb3VwX2h0dHBfc3JjX3BhcnNlX3N0YXR1cyksIChnc3Rfc291cF9odHRwX3NyY19jcmVhdGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cF9odHRwX3NyY191bmxvY2spLCAoZ3N0X3NvdXBfaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZ2V0X3NpemUpLCAoZ3N0X3NvdXBfaHR0cF9zcmNfaXNfc2Vla2FibGUpLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfZG9fc2VlayksIChnc3Rfc291cF9odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X3NvdXBfaHR0cF9zcmNfc2V0X3Byb3h5KSwgKGdzdF9zb3VwX2h0dHBfc3JjX3VyaV9nZXRfdHlwZSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfZ2V0X3VyaSksIChnc3Rfc291cF9odHRwX3NyY191cmlfc2V0X3VyaSksCgkgIChnc3Rfc291cF9odHRwX3NyY191cmlfaGFuZGxlcl9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBNYWtlIGNvZGluZyBzdHlsZSBtb3JlIGNvbnNpc3RlbnQsIGluY2x1ZGluZyBjbGFzcyByZW5hbWluZy4KCjIwMDgtMDEtMzAgMjA6NTU6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNvbmZpZ3VyZSBjaGVjayBmb3Igc291bmR0b3VjaCB0byBub3QgcHJvZHVjZSBzeW50YXggZXJyb3JzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjb25maWd1cmUgY2hlY2sgZm9yIHNvdW5kdG91Y2ggdG8gbm90IHByb2R1Y2Ugc3ludGF4IGVycm9ycy4KCjIwMDgtMDEtMzAgMTk6MTk6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZSBwYXRoIGZvciBleGVtcGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgKG1ldGFkYXRhbXV4X3htcF9mb3JfZWFjaF90YWdfaW5fbGlzdCk6CgkgIEZpeCBidWlsZCB3aXRoIGV4ZW1waSA+PSAxLjk5LjUgYW5kIGZpeCB0aGUgaW5jbHVkZQoJICBwYXRoIGZvciBleGVtcGkuCgoyMDA4LTAxLTMwIDE2OjUzOjQwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJICBKdXN0IHVwdGFkZSB0aGUgVG9EbyBsaXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCB1cHRhZGUgdGhlIFRvRG8gbGlzdC4KCjIwMDgtMDEtMzAgMTY6MDU6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBTcGVlZCB1cCBhIGJpdCBwbmcgbXV4ZXIuIEZpeCB4bXAgbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gU3BlZWQgdXAgYSBiaXQgcG5nIG11eGVyLiBGaXggeG1wIG11eGVyLgoKMjAwOC0wMS0zMCAxNTo0MDo0NCArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6CgkgIFVwZGF0ZSBkb2N1bWVudGF0aW9uIGEgYml0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdWlja3RpbWUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291cC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVleHJlc2FtcGxlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3dpdGNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgUmVnZW5lcmF0ZSBldmVyeXRoaW5nIGZvciB0aGUgZG9jdW1lbnRhdGlvbiBjaGFuZ2VzIHdlIGhhZC4KCjIwMDgtMDEtMzAgMTU6MzQ6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vOiBVc2UgYXN5bmMgdmFyaWFudHMgb2YgdGhlIGNsb3NlIHN0cmVhbSBmdW5jdGlvbnMgdG8gcHJldmVudCBibG9ja2luZyBmb3IgYSBsb25nIHRpbWUgdGhlcmUgYW5kIGFkZCBzb21lIG1vci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzaW5rLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua19ldmVudCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19yZW5kZXIpLCAoZ3N0X2dpb19iYXNlX3Npbmtfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmM6IChjbG9zZV9zdHJlYW1fY2IpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfY3JlYXRlKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfc2V0X3N0cmVhbSk6CgkgIFVzZSBhc3luYyB2YXJpYW50cyBvZiB0aGUgY2xvc2Ugc3RyZWFtIGZ1bmN0aW9ucyB0byBwcmV2ZW50IGJsb2NraW5nCgkgIGZvciBhIGxvbmcgdGltZSB0aGVyZSBhbmQgYWRkIHNvbWUgbW9yZSBzYW5pdHkgY2hlY2tzIGZvciBhIGNvcnJlY3QKCSAgc3RyZWFtLgoKMjAwOC0wMS0zMCAxMzozODo1OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIE1vdmUgLVdsIHBhcmFtZXRlciBmcm9tIF9MREFERCB0byBfTERGTEFHUyB0byBmaXggYXV0b2dlbi5zaC4KCjIwMDgtMDEtMzAgMTM6Mjk6MTUgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5IGVudmlyb25tZW50IHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2luaXQpOgoJICBMZXQgdGhlIHByb3h5IHByb3BlcnR5IGRlZmF1bHQgdG8gdGhlIGNvbnRlbnQgb2YgdGhlICRodHRwX3Byb3h5CgkgIGVudmlyb25tZW50IHZhcmlhYmxlLgoKMjAwOC0wMS0zMCAxMzowODo0NSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIG1pc3NpbmcgZmlsZXMgZm9yIHRoZSB1bml0IHRlc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIENsb2V0ZW5zIDx3b3V0ZXIgYXQgbWluZCBkb3QgYmU+CgkgICogdGVzdHMvY2hlY2svdGVzdC1jZXJ0LnBlbToKCSAgKiB0ZXN0cy9jaGVjay90ZXN0LWtleS5wZW06CgkgIEFkZCBtaXNzaW5nIGZpbGVzIGZvciB0aGUgdW5pdCB0ZXN0LgoKMjAwOC0wMS0zMCAxMzowNjowMSArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzb3VwaHR0cHNyYyB0byB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgc291cGh0dHBzcmMgdG8gdGhlIGRvY3MuCgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NhbmNlbF9tZXNzYWdlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfcXVldWVfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2FkZF9yYW5nZV9oZWFkZXIpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXNzaW9uX3VucGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fcGF1c2VfbWVzc2FnZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3Nlc3Npb25fY2xvc2UpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nb3RfaGVhZGVyc19jYiksIChnc3Rfc291cGh0dHBfc3JjX2dvdF9ib2R5X2NiKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZmluaXNoZWRfY2IpLCAoZ3N0X3NvdXBodHRwX3NyY19nb3RfY2h1bmtfY2IpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19yZXNwb25zZV9jYiksIChnc3Rfc291cGh0dHBfc3JjX3BhcnNlX3N0YXR1cyksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pc19zZWVrYWJsZSksIChnc3Rfc291cGh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X3NvdXBodHRwX3NyY19zZXRfbG9jYXRpb24pLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJveHkpLAoJICAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEFkZCBzdXBwb3J0IGZvciBsaWJzb3VwMi40IGFuZCByZXF1aXJlIGl0LiBBbHNvIGltcGxlbWVudCByZWRpcmVjdGlvbgoJICBhbmQgbWFudWFsIHByb3h5IHNwZWNpZmljYXRpb24uIEZpeGVzIGJ1ZyAjNTEwNzA4LgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc291cGh0dHBzcmMuYzoKCSAgQWRkIHVuaXQgdGVzdCBmb3Igc291cGh0dHBzcmMuCgoyMDA4LTAxLTMwIDEyOjU2OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgIEFkZCBkb2N1bWVudGF0aW9uLiBGaXggdGVzdCBhcHAgY29tcGlsYXRpb24uIEZpeCBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgZG9jdW1lbnRhdGlvbi4gRml4IHRlc3QgYXBwIGNvbXBpbGF0aW9uLiBGaXggcHVsbCBtb2RlLgoKMjAwOC0wMS0yOSAxODo1NzoyNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBUcnkgdG8gZ2V0IHRoZSBuZXcgY2xvY2stcmF0ZSBmcm9tIHRoZSBidWZmZXIgY2FwcyB3aGVuIHdlIHJlY2VpdmUgYSBuZXcgcGF5bG9hZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRoaWpzIFZlcm1laXIgIDx0aGlqc3Zlcm1laXIgYXQgZ21haWwgZG90IGNvbT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbik6CgkgIFRyeSB0byBnZXQgdGhlIG5ldyBjbG9jay1yYXRlIGZyb20gdGhlIGJ1ZmZlciBjYXBzIHdoZW4gd2UgcmVjZWl2ZSBhIG5ldwoJICBwYXlsb2FkIHR5cGUgaW5zdGVhZCBvZiBhbHdheXMgZmlyaW5nIHRoZSBzaWduYWwuIEZpeGVzICM1MTI3NzQuCgoyMDA4LTAxLTI5IDE4OjA1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6IERlZmluZSBMT0dfTk9ORSBhbmQgZnJpZW5kcyBpZiB0aGV5J3JlIG5vdCBkZWZpbmVkIHlldC4gbWpwZWd0b29scyAxLjkuMHJjMyByZW1vdmVkIHRoZWkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICBEZWZpbmUgTE9HX05PTkUgYW5kIGZyaWVuZHMgaWYgdGhleSdyZSBub3QgZGVmaW5lZCB5ZXQuIG1qcGVndG9vbHMKCSAgMS45LjByYzMgcmVtb3ZlZCB0aGVpciBkZWZpbml0aW9ucyBidXQgd2l0aG91dCBpdCBkb2Vzbid0IG1ha2UgbXVjaAoJICBzZW5zZSB0byB3cml0ZSBhIGxvZyBoYW5kbGVyLgoKMjAwOC0wMS0yOSAxMTozMjoyNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGJhc2UgY2xhc3NlcyBmb3IgbWV0YWRhdGEgYW5kIGVxdWFsaXplciAobm8gaW50cm9zcGVjdGlvbiB5ZXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgIEFkZCBiYXNlIGNsYXNzZXMgZm9yIG1ldGFkYXRhIGFuZCBlcXVhbGl6ZXIgKG5vIGludHJvc3BlY3Rpb24geWV0KS4KCjIwMDgtMDEtMjkgMDc6NDM6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9tZXRhZGF0YS9SRUFETUU6IEZvcm1hdHRpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tZXRhZGF0YS9SRUFETUU6CgkgIEZvcm1hdHRpbmcuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6CgkgIEluY2x1ZGUgc3RkbGliLmguCgoyMDA4LTAxLTI5IDA3OjM4OjMxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBSZXBsYWNlIHRoZSBzd2l0Y2ggcGx1Z2luIHdpdGggdGhlIHNlbGVjdG9yIHBsdWdpbi4gQWRkIG91dHB1dC0gc2VsZWN0b3IgYXMgdGhlIG9wcG9zaXRlIG9mIGlucHV0LXNlbGVjdG9vICh3YXMgc3dpdGMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZWxlY3Rvci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGdzdC9zZWxlY3Rvci8uY3ZzaWdub3JlOgoJICAqIGdzdC9zZWxlY3Rvci9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0aW5wdXRzZWxlY3Rvci5jOgoJICAqIGdzdC9zZWxlY3Rvci9nc3RpbnB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmM6CgkgICogZ3N0L3NlbGVjdG9yL2dzdG91dHB1dHNlbGVjdG9yLmg6CgkgICogZ3N0L3NlbGVjdG9yL2dzdHNlbGVjdG9yLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc2VsZWN0b3IvZ3N0c2VsZWN0b3IuYzoKCSAgKiBnc3Qvc2VsZWN0b3Ivc2VsZWN0b3IudmNwcm9qOgoJICAqIGdzdC9zd2l0Y2gvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3N3aXRjaC9zd2l0Y2gudmNwcm9qOgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvb3V0cHV0LXNlbGVjdG9yLXRlc3QuYzoKCSAgUmVwbGFjZSB0aGUgc3dpdGNoIHBsdWdpbiB3aXRoIHRoZSBzZWxlY3RvciBwbHVnaW4uIEFkZCBvdXRwdXQtCgkgIHNlbGVjdG9yIGFzIHRoZSBvcHBvc2l0ZSBvZiBpbnB1dC1zZWxlY3RvbyAod2FzIHN3aXRjaCkuIEFkZCBhIHRlc3QKCSAgZm9yIG91dHB1dC1zZWxlY3Rvci4gQWRkIGRvY3MgZm9yIHRoZSBlbGVtZW50cy4gVGhlIHZjcHJvaiBuZWVkcwoJICB1cGRhdGUuIEZpeGVzICM1MDAxNDIuCgoyMDA4LTAxLTI4IDIzOjE4OjQ0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzIGRpc2FibGVkIChub3QgYnVsbGV0IHByLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jaGFpbl9mb3J3YXJkKToKCSAgVHJ5IHRvIGF2b2lkICd1bnVzZWQgdmFyaWFibGUnIGNvbXBpbGVyIHdhcm5pbmcgaWYgZGVidWdnaW5nIGlzCgkgIGRpc2FibGVkIChub3QgYnVsbGV0IHByb29mLCBidXQgc2VlbXMgdG8gZG8gZm9yIG5vdykuICgjNTEyNjU0KQoKMjAwOC0wMS0yOCAxMTo0NzoxOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOiBDbGVhbiB1cCBhIGJpdCBhbmQgb25seSBhbGxvY2F0ZSBhIHRlbXBvcmFyeSBidWZmZXIgZm9yIHRoZSBkYXRhIGlmIHByb2Nlc3Npbmcgc3RlcmVvLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5jYzoKCSAgQ2xlYW4gdXAgYSBiaXQgYW5kIG9ubHkgYWxsb2NhdGUgYSB0ZW1wb3JhcnkgYnVmZmVyIGZvciB0aGUgZGF0YQoJICBpZiBwcm9jZXNzaW5nIHN0ZXJlbyBkYXRhIGFzIEJQTURldGVjdCBkb3dubWl4ZXMgZnJvbSBzdGVyZW8gdG8KCSAgbW9ubyBhbmQgc3RvcmVzIHRoZSByZXN1bHQgaW4gdGhlIGlucHV0IGRhdGEuIFRoYW5rcyB0bwoJICBTdGVmYW4gS29zdCBmb3IgdGhlIHN1Z2dlc3Rpb25zLgoKMjAwOC0wMS0yNyAxNzowMjoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IENhc3QgYSBkb3VibGUgdG8gYSBHc3RDbG9ja1RpbWVEaWZmIHRvIGZpeCBhIGNvbXBpbGVyIHdhcm5pbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBDYXN0IGEgZG91YmxlIHRvIGEgR3N0Q2xvY2tUaW1lRGlmZiB0byBmaXggYSBjb21waWxlciB3YXJuaW5nLgoKMjAwOC0wMS0yNyAxNjoxMjo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IFByaW50ZiBmb3JtYXQgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXguCgoyMDA4LTAxLTI3IDA3OjUxOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgRG9uJ3Qgc2VuZCBhIExBVEVOQ1kgZXZlbnQgZm9yIG5vdyB1bnRpbCB3ZSBnZXQgdGhlIHVzYWdlIHJpZ2h0LgoKMjAwOC0wMS0yNyAwNzozNzo0MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guKjogSW1wbGVtZW50IExBVEVOQ1kgcXVlcnkgYW5kIG5vdGlmeSBhYm91dCBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmhoOgoJICBJbXBsZW1lbnQgTEFURU5DWSBxdWVyeSBhbmQgbm90aWZ5IGFib3V0IGxhdGVuY3kgY2hhbmdlcy4KCSAgVW5mb3J0dW5hdGVseSB3ZSBkb24ndCBoYXZlIGEgZml4ZWQgbGF0ZW5jeSBidXQgaXQgY2hhbmdlcwoJICBhIGJpdCB3aXRoIGVhY2ggYnVmZmVyIHNvIHdlIG9ubHkgc2VuZCBhbiBMQVRFTkNZIGV2ZW50IHdpdGgKCSAgdGhlIG1heGltdW0gbGF0ZW5jeSBpZiBpdCBjaGFuZ2VzLgoJICBBbHdheXMgY2FsY3VsYXRlIHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uLCBldGMgZnJvbSB0aGUgc2FtcGxlCgkgIHJhdGUgaW5zdGVhZCBvZiB1c2luZyBhIHByZS1jYWxjdWxhdGVkIGR1cmF0aW9uIGZvciBvbmUgc2FtcGxlCgkgIHRvIHByZXZlbnQgbGFyZ2Ugcm91bmRpbmcgZXJyb3JzLgoKMjAwOC0wMS0yNyAwNzozMjoxOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbWpwZWd0b29scyAxLjkgd2hpbGUga2VlcGluZyBjb21wYXRpYmxpdHkgd2l0aCBvbGRlciB2ZXJzaW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEJhc2VkIG9uIGEgcGF0Y2ggYnk6CgkgIEhhbnMgZGUgR29lZGUgPGogZG90IHcgZG90IHIgZG90IGRlZ29lZGUgYXQgaGhzIGRvdCBubD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb2Rlci5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgIEFkZCBzdXBwb3J0IGZvciBidWlsZGluZyBhZ2FpbnN0IG1qcGVndG9vbHMgMS45IHdoaWxlIGtlZXBpbmcKCSAgY29tcGF0aWJsaXR5IHdpdGggb2xkZXIgdmVyc2lvbnMuCgoyMDA4LTAxLTI3IDA2OjMxOjUyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6IE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RicG1kZXRlY3QuY2M6CgkgIE9ubHkgY29uc2lkZXIgYSBCUE0gdmFsdWUgYWJvdmUgMS4wIGFzIHZhbGlkLgoKMjAwOC0wMS0yNyAwNTo1NjowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBBZGQgQlBNIGRldGVjdGlvbiBwbHVnaW4gYmFzZWQgb24gU291bmRUb3VjaCdzIGxpYkJQTS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0YnBtZGV0ZWN0LmNjOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdGJwbWRldGVjdC5oaDoKCSAgKiBleHQvc291bmR0b3VjaC9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIEJQTSBkZXRlY3Rpb24gcGx1Z2luIGJhc2VkIG9uIFNvdW5kVG91Y2gncyBsaWJCUE0uCgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIEFsbG93IHNhbXBsZSByYXRlcyB1bnRpbCBNQVggaW5zdGVhZCBvZiBvbmx5IDQ4a0h6IGFuZCByZW1vdmUgdGhlCgkgIGJ1ZmZlci1mcmFtZXMgZmllbGQgZnJvbSB0aGF0IGNhcHMuCgkgIENsZWFyIHRoZSByZW1haW5pbmcgc2FtcGxlcyBjb21wbGV0ZWx5IHdoZW4gbmVjZXNzYXJ5IHRvIGdldCBpbnRvCgkgIGEgY2xlYW4gc3RhdGUgYWdhaW4uCgoyMDA4LTAxLTI2IDE2OjE5OjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgaW1wbGVtZW50IGdldF91bml0X3NpemUoKSBvdXJzZWx2ZXMsIHRoZSBHc3RBdWRpb0ZpbHRlciBiYXNlIGNsYXNzIGFscmVhZHkgZG9lcyB0aGlzIGZvciB1cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpOgoJICBEb24ndCBpbXBsZW1lbnQgZ2V0X3VuaXRfc2l6ZSgpIG91cnNlbHZlcywgdGhlIEdzdEF1ZGlvRmlsdGVyIGJhc2UKCSAgY2xhc3MgYWxyZWFkeSBkb2VzIHRoaXMgZm9yIHVzLgoKMjAwOC0wMS0yNiAxNToxMjo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IEFsbG93IHNlZWtpbmcgb25seSBpbiBUSU1FIGFuZCBERUZBVUxUIGZvcm1hdCwgb3RoZXIgZm9ybWF0cyB3aWxsIG5vdCB3b3JrIGFzIGV4cGVjdGVkLiBBLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBBbGxvdyBzZWVraW5nIG9ubHkgaW4gVElNRSBhbmQgREVGQVVMVCBmb3JtYXQsIG90aGVyIGZvcm1hdHMgd2lsbAoJICBub3Qgd29yayBhcyBleHBlY3RlZC4gQWxzbyBoYW5kbGUgYSBzdG9wIHBvc2l0aW9uIG9mIC0xIGNvcnJlY3RseQoJICBmb3Igc2Vla3MsIG5ld3NlZ21lbnQgZXZlbnRzIGFuZCB0aGUgcXVlcmllcy4gVGhpcyBmaXhlcyBwbGF5YmFjawoJICB3aXRoIHRoZSBwaXRjaCBlbGVtZW50IGlmIHVwc3RyZWFtIGRvZXNuJ3Qga25vdyB0aGUgZHVyYXRpb24gb3IgaGFzCgkgIC0xIGFzIHN0b3AgcG9zaXRpb24gaW4gTkVXU0VHTUVOVCBldmVudHMgZm9yIG90aGVyIHJlYXNvbnMuIEJlZm9yZQoJICBzaW1wbHkgbm90aGluZyB3YXMgcGxheWVkIGFzIHRoZSBzZWdtZW50IHdhcyBnb2luZyBmcm9tIDAgdG8gMC4KCSAgU2VuZCBhIEdTVF9NRVNTQUdFX0RVUkFUSU9OIHdoZW5ldmVyIHRoZSByYXRlIG9yIHRlbXBvIGlzIGNoYW5nZWQKCSAgc28gYXBwbGljYXRpb25zIGNhbiB1cGRhdGUgdGhlaXIgY2FjaGVkIGR1cmF0aW9uLiBGaXhlcyBidWcgIzUwMzMwOC4KCSAgU29tZSByYW5kb20gY2xlYW51cCBhbmQgbWVtb3J5IGxlYWsgY2xvc2luZy4KCjIwMDgtMDEtMjYgMTQ6MzU6MjIgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9tdXNlcGFjay86IEZpcnN0IGluY2x1ZGUgdGhlIGxpYm1wY2RlYyBoZWFkZXJzIGJlZm9yZSBldmVyeXRoaW5nIGVsc2UgYXMgdGhleSAjZGVmaW5lIFRSVUUgYW5kIEZBTFNFIHVuY29uZGl0aW9uYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzoKCSAgRmlyc3QgaW5jbHVkZSB0aGUgbGlibXBjZGVjIGhlYWRlcnMgYmVmb3JlIGV2ZXJ5dGhpbmcgZWxzZSBhcyB0aGV5CgkgICNkZWZpbmUgVFJVRSBhbmQgRkFMU0UgdW5jb25kaXRpb25hbGx5IGFuZCB3ZSBvdGhlcndpc2UgZ2V0IGNvbmZsaWN0cwoJICB3aXRoIHRoZSBvbmVzIHRoYXQgR0xpYiBkZWZpbmVzLgoKMjAwOC0wMS0yNiAxMzoyNDoxNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGxpYnNvdW5kdG91Y2ggMS4zLjEgYW5kIGFkZCBhbiB1Z2x5IHdvcmthcm91bmQgZm9yCgkgIHRoZSBoZWFkZXIgZGVmaW5pbmVkIFBBQ0tBR0UgYW5kIG90aGVyIHZhcmlhYmxlcyBmb3Igd2hpY2ggd2UgbmVlZAoJICBvdXIgb3duIHZhbHVlcyBmcm9tIGNvbmZpZy5oLgoKMjAwOC0wMS0yNiAxMjoxMTo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGxpYmdsYWRlLTIuMCwgZm9yIHRoZSBtZXRhZGF0YS1lZGl0b3IgZXhhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgbGliZ2xhZGUtMi4wLCBmb3IgdGhlIG1ldGFkYXRhLWVkaXRvciBleGFtcGxlLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBPbmx5IHRyeSB0byBidWlsZCB0aGUgbWV0YWRhdGEtZWRpdG9yIGV4YW1wbGUgaWYgd2UgaGF2ZSBndGsgYW5kCgkgIGdsYWRlIChvdGhlcndpc2UgdGhlIGJ1aWxkIHdvdWxkIGp1c3QgZmFpbCAuLi4pOyBmaXggYnVpbGQgaW4KCSAgdW5pbnN0YWxsZWQgc2V0dXAuCgkgICogdGVzdHMvaWNsZXMvbWV0YWRhdGFfZWRpdG9yLmM6IChvbl9jZWxsX2VkaXRlZCksICh1aV9hZGRfY29sdW1ucyk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyAodXNlIEdMaWIgbWFjcm9zIHRvIGNhc3QgcG9pbnRlciA8LT4gaW50KS4KCjIwMDgtMDEtMjUgMTc6NDU6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NYWtlZmlsZToKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL21ldGFkYXRhX2VkaXRvci5jOgoJKiB0ZXN0cy9pY2xlcy9tZXRhZGF0YV9lZGl0b3IuZ2xhZGU6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBsb3Qgb2YgZG9jdW1lbnRhdGlvbi4KCjIwMDgtMDEtMjUgMTc6MzU6NDYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiBPcGVuIGZyb250ZW5kIGluIE5VTEwtPlJFQURZIHNvIGNhcHMgYWJvdXQgZHZiIGFkYXB0ZXIgY2FuIGJlIHNlZW4gYnkgdGhlIGFwcC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgT3BlbiBmcm9udGVuZCBpbiBOVUxMLT5SRUFEWSBzbyBjYXBzIGFib3V0IGR2YiBhZGFwdGVyIGNhbiBiZQoJICBzZWVuIGJ5IHRoZSBhcHAuCgoyMDA4LTAxLTI1IDE2OjU4OjAwICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsc28gaGFuZGxlIGxpcC1zeW5jIHdoZW4gdGhlIGNsb2NrLXJhdGUgaXMgbm90IHByb3ZpZGVkIHdpdGggY2FwcyBidXQgd2l0aCBhIHNpZ25hbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYXNzb2NpYXRlKSwKCSAgKGNyZWF0ZV9zdHJlYW0pLCAocGF5bG9hZF90eXBlX2NoYW5nZSksIChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBBbHNvIGhhbmRsZSBsaXAtc3luYyB3aGVuIHRoZSBjbG9jay1yYXRlIGlzIG5vdCBwcm92aWRlZCB3aXRoIGNhcHMgYnV0CgkgIHdpdGggYSBzaWduYWwuCgoyMDA4LTAxLTI1IDE2OjAwOjUyICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBSZW1vdmUgdGhlIGZpeGVkIGNsb2NrLXJhdGUgZnJvbSB0aGUgaml0dGVyYnVmZmVyIGFuZCBleHRlbmQgaXQgc28gdGhhdCBhIGNsb2NrLXJhdGUgY2FuIGJlIHByb3ZpZGVkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAoY2FsY3VsYXRlX3NrZXcpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfaW5zZXJ0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgUmVtb3ZlIHRoZSBmaXhlZCBjbG9jay1yYXRlIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBhbmQgZXh0ZW5kIGl0IHNvIHRoYXQKCSAgYSBjbG9jay1yYXRlIGNhbiBiZSBwcm92aWRlZCB3aXRoIGVhY2ggYnVmZmVyIGluc3RlYWQuIEZpeGVzICM1MTE2ODYuCgoyMDA4LTAxLTI1IDE1OjQ5OjU1ICswMDAwICBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9saXZpZXIgQ3JldGUgPHRlc3RlckB0ZXN0ZXIuY2E+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFJlbW92ZSBvbGQgdW51c2VkIHZhcmlhYmxlLgoJICBUcmFjayBwdCBvbiBpbnB1dCBidWZmZXJzIGFuZCBnZXQgdGhlIGNsb2NrLXJhdGUgd2hlbiBpdCBjaGFuZ2VzLgoJICBJZ25vcmUgcGFja2V0cyB3aXRoIHVua25vd24gY2xvY2stcmF0ZS4gU2VlICM1MTE2ODYuCgoyMDA4LTAxLTI1IDEyOjQ4OjQwICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogUG9zdCBidXMgbWVzc2FnZSBhYm91dCBhZGFwdGVyIHR5cGUgYW5kIGl0J3MgY2FwYWJpbGl0aWVzLCB3aGVuIG9wZW5pbmcgdGhlIGZyb250ZW5kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBQb3N0IGJ1cyBtZXNzYWdlIGFib3V0IGFkYXB0ZXIgdHlwZSBhbmQgaXQncyBjYXBhYmlsaXRpZXMsCgkgIHdoZW4gb3BlbmluZyB0aGUgZnJvbnRlbmQuCgkgIEFmdGVyIGZhaWxpbmcgdG8gcmVhZCBmcm9tIHRoZSBkdnIsIHBvc3QgYSBidXMgbWVzc2FnZSB0bwoJICBpbmZvcm0gdGhlIGFwcC4KCjIwMDgtMDEtMjUgMDk6NTA6MDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBUaGUgbG9naWMgZm9yIHRoZSBndWFyZCBpbnRlcnZhbCBjYWxjdWxhdGlvbiB3YXMgdG90YWxseSB3cm9uZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgVGhlIGxvZ2ljIGZvciB0aGUgZ3VhcmQgaW50ZXJ2YWwgY2FsY3VsYXRpb24gd2FzIHRvdGFsbHkgd3JvbmcuCgkgIEZpeGVkLgoKMjAwOC0wMS0yNSAwMTo0NDoyNyArMDAwMCAgT2xpdmllciBDcmV0ZSA8dGVzdGVyQHRlc3Rlci5jYT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZSB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBPbGl2aWVyIENyZXRlIDx0ZXN0ZXJAdGVzdGVyLmNhPgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiBGaXggdW5yZWYgb2YgYnVmZmVyIHVzaW5nIHRoZQoJICB3cm9uZyBmdW5jdGlvbi4gIEZpeGVzICM1MTE5MjAKCjIwMDgtMDEtMjQgMTM6MjM6MDMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IE5vdyB3ZSBoYXZlIGZ1bGwgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5pbnRlcmZhY2VzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5wcmVyZXF1aXNpdGVzOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICBOb3cgd2UgaGF2ZSBmdWxsIGhpZXJhcmNoeS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbWV0YWRhdGEueG1sOgoJICBSZWdlbmVyYXRlLgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5oOgoJICBBZGQgZG9jIGJsb2IgZm9yIG9iamVjdCBpbnN0YW5jZS4KCjIwMDgtMDEtMjQgMTA6MTU6MzQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgdGhpcyB0b28sIGhvcGVmdWxseSBmaXhlcyB0aGUgZG9jcyBidWlsZCAoZG9lcyBhdCBsZWFzdCBmb3IgbWUsIGFmdGVyIG1ha2UgY2xlYW4gaW4gZG9jcy9wbHVnaW5zKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgVXBkYXRlIHRoaXMgdG9vLCBob3BlZnVsbHkgZml4ZXMgdGhlIGRvY3MgYnVpbGQgKGRvZXMgYXQgbGVhc3QKCSAgZm9yIG1lLCBhZnRlciBtYWtlIGNsZWFuIGluIGRvY3MvcGx1Z2lucykuCgoyMDA4LTAxLTI0IDA4OjEyOjI5ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogRml4IG5ldHdvcmsgbmFtZSBkZXNjcmlwdG9yLCB0aGUgbGVuZ3RoIGlzIGFjdHVhbGx5IHRoZSBkZXNjcmlwdG9yIGxlbmd0aCBub3Qgc3RvcmVkIGluIHRoZSBieXRlIGFmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIEZpeCBuZXR3b3JrIG5hbWUgZGVzY3JpcHRvciwgdGhlIGxlbmd0aCBpcyBhY3R1YWxseSB0aGUKCSAgZGVzY3JpcHRvciBsZW5ndGggbm90IHN0b3JlZCBpbiB0aGUgYnl0ZSBhZnRlci4KCSAgRml4IGJvdW5kcyBjaGVja2luZyB0byBiZSBtb3JlIGNvcnJlY3QuCgoyMDA4LTAxLTI0IDAwOjIyOjE3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUGFyc2UgYW5kIGFkZCB0byByZWxldmFudCBidXMgbWVzc2FnZXMgdGhlIHRlcnJlc3RyaWFsIGRlbGl2ZXJ5IHN5c3RlbSBkZXNjcmlwdG9yIGFuZCB0aGUgbG9naWNhbCBjLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9nc3RtcGVnZGVzYy5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgIFBhcnNlIGFuZCBhZGQgdG8gcmVsZXZhbnQgYnVzIG1lc3NhZ2VzIHRoZSB0ZXJyZXN0cmlhbCBkZWxpdmVyeQoJICBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgdGhlIGxvZ2ljYWwgY2hhbm5lbCBkZXNjcmlwdG9yLgoJICBEbyBib3VuZHMgY2hlY2tpbmcgb24gZGF0YSBzdG9yZWQgaW4gZGVzY3JpcHRvciBiZWZvcmUgdXNlLgoKMjAwOC0wMS0yMyAxNjozNTozNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhZGVtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkgIEFkZCBzb21lIGRvY3VtZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc29tZSBkb2N1bWVudGF0aW9uLgoKMjAwOC0wMS0yMyAxNTo1MToyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0IGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSAgQWRkIHN1cHBvcnQgZm9yIGJ1aWxkaW5nIGFnYWluc3QgbGliZGNhICh3aXRoIHRoZSBsaWJkdHMgY29tcGF0CgkgIGhlYWRlcikuIEZpeGVzIGJ1ZyAjNTExNTMwLgoJICBTaG91bGQgcHJvYmFibHkgYmUgcG9ydGVkIHRvIGxpYmRjYSBhcyBzb21lIHBvaW50cyBhcyBpdCdzIHRoZQoJICBzdWNjZXNzb3Igb2YgbGliZHRzLgoKMjAwOC0wMS0yMyAxNDo1OTo0NyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIgcmV0dXJuIE5VTEwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6CgkgIERvIG5vdCBnbyBvbiBmb3JldmVyIGlmIHByb2JsZW0gd2l0aCByZWFkaW5nIGZyb20gZHZyLCByYXRoZXIKCSAgcmV0dXJuIE5VTEwuCgkgIEhhbmRsZSBzb21lIGNsZWFudXAgaXNzdWVzIG9mIGNsb3NpbmcgZmlsZWRlc2NyaXB0b3JzIHdoZW4KCSAgZmFpbGluZyB0byB0dW5lIG9yIHNpbWlsYXIuCgoyMDA4LTAxLTIzIDEzOjE4OjI0ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJKiBnc3QvcmF3cGFyc2UvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBtaXNzaW5nIG5vX2luc3QgaGVhZGVyIGZpbGVzIHRvIE1ha2VmaWxlLmFtIHNvIGRpc3Rpbmcgc3RpbGwgd29ya3MKCSAgVXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgoyMDA4LTAxLTIzIDEwOjM0OjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIHhpbmdoZWFkZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIEFkZCBkb2N1bWVudGF0aW9uIGZvciB0aGUgeGluZ2hlYWRlciBwbHVnaW4uCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBTZXQgZWxlbWVudCBzdGF0ZSB0byBQTEFZSU5HIGJlZm9yZSBkb2luZyBzb21ldGhpbmcgZWxzZS4KCjIwMDgtMDEtMjMgMTA6MTE6NDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHNpbXBsZSB1bml0IHRlc3QgZm9yIHRoZSB4aW5nbXV4IGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveGluZ211eC5jOiAoc2V0dXBfeGluZ211eCksCgkgIChjbGVhbnVwX3hpbmdtdXgpLCAoR1NUX1NUQVJUX1RFU1QpLCAoeGluZ211eF9zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy94aW5nbXV4X3Rlc3RkYXRhLmg6CgkgIEFkZCBzaW1wbGUgdW5pdCB0ZXN0IGZvciB0aGUgeGluZ211eCBlbGVtZW50LgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogKGdlbmVyYXRlX3hpbmdfaGVhZGVyKSwKCSAgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KToKCSAgRml4IGEgbWVtbGVhayBhbmQgaW52YWxpZCBzZWVrIHRhYmxlcyB3aXRoIGxlc3MgdGhhbiAxMDAgTVAzIGZyYW1lcy4KCjIwMDgtMDEtMjMgMDk6NDk6MjcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBQYXJzZWQgdGhlIHNhdGVsbGl0ZSBkZWxpdmVyeSBzeXN0ZW0gZGVzY3JpcHRvciBhbmQgYWRkZWQgaW50byBuaXQncyB0cmFuc3BvcnQgc3RydWN0dXJlIGZvciBkZWxpdmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2dzdG1wZWdkZXNjLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgUGFyc2VkIHRoZSBzYXRlbGxpdGUgZGVsaXZlcnkgc3lzdGVtIGRlc2NyaXB0b3IgYW5kCgkgIGFkZGVkIGludG8gbml0J3MgdHJhbnNwb3J0IHN0cnVjdHVyZSBmb3IgZGVsaXZlcnkKCSAgb3ZlciB0aGUgYnVzLgoKMjAwOC0wMS0yMiAyMDoyNzoyOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IFBhcnNlZCBhbmQgYWRkZWQgbmV0d29yayBuYW1lIHRvIHRoZSBuaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBQYXJzZWQgYW5kIGFkZGVkIG5ldHdvcmsgbmFtZSB0byB0aGUgbml0IHN0cnVjdHVyZSBzZW50CgkgIGluIHRoZSBidXMgbWVzc2FnZS4KCjIwMDgtMDEtMjIgMTk6NTk6MzkgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBSZW1vdmUgbGVha3MgaW50cm9kdWNlZCBieSBub3QgZnJlZWluZyBnX3N0cm5kdXAnZCBzdHJpbmdzLgoJICBGaXggc3RhcnRfdGltZSBhbmQgZHVyYXRpb24gcGFyc2luZyBpbiBFSVQuCgoyMDA4LTAxLTIyIDE4OjQwOjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogQWRkIGV2ZW50IG5hbWUgYW5kIGRlc2NyaXB0aW9uIHRvIHRoZSBlaXQgc3RydWN0dXJlIHNlbnQgaW4gdGhlIGJ1cyBtZXNzYWdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICBBZGQgZXZlbnQgbmFtZSBhbmQgZGVzY3JpcHRpb24gdG8gdGhlIGVpdCBzdHJ1Y3R1cmUKCSAgc2VudCBpbiB0aGUgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE4OjA4OjAxICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IFJldmVydCBjb25zdCByZW1vdmFsIGZyb20gcHJldmlvdXMgY29tbWl0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmV2ZXJ0IGNvbnN0IHJlbW92YWwgZnJvbSBwcmV2aW91cyBjb21taXQuCgoyMDA4LTAxLTIyIDE4OjA0OjA0ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogQWRkZWQgZGVzY3JpcHRvciBzZWFyY2hpbmcgaW5mcmFzdHJ1Y3R1cmUgZnJvbSBGbHVlbmRvIFRTIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZ3N0bXBlZ2Rlc2MuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICBBZGRlZCBkZXNjcmlwdG9yIHNlYXJjaGluZyBpbmZyYXN0cnVjdHVyZSBmcm9tIEZsdWVuZG8gVFMgZGVtdXhlci4KCSAgQWRkIGNoYW5uZWwgbmFtZSBhbmQgcHJvdmlkZXIgdG8gdGhlIHNkdCBzdHJ1Y3R1cmUgc2VudCBpbiB0aGUKCSAgYnVzIG1lc3NhZ2UuCgoyMDA4LTAxLTIyIDE3OjQzOjM1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFBhcnNlIE5BTCB1bml0cyBpbiBmb3J3YXJkIG1vZGUgdG8gbWFyayBkZWx0YSB1bml0cyBmbGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDgtMDEtMjIgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2NoYWluX2ZvcndhcmQpOgoJICBQYXJzZSBOQUwgdW5pdHMgaW4gZm9yd2FyZCBtb2RlIHRvIG1hcmsgZGVsdGEgdW5pdHMgZmxhZ3MuCgoyMDA4LTAxLTIyIDEyOjA2OjE5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBSZWdlbmVyYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgUmVnZW5lcmF0ZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHJlbW9yLnhtbDoKCSAgQWRkIHZvcmJpc2lkZWMgYWthIHRybW9yLgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6CgkgIEFkZCBzaG9ydCBkZXNjcmlwdGlvbi4KCjIwMDgtMDEtMjIgMDk6NTU6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgZW9sIFwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBlb2wgXAoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFBsYWNlIG9iamVjdCBuYW1lcyB0byBzdGFuZGFyZCBzZWN0aW9uYXMgcGx1Z2luIGRvbnQgZG9jdW1lbnQgdGhvc2UuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHZiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnV2ZGVtdXgueG1sOgoJICByZWdlbmVyYXRlLgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5jOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2RlYy5oOgoJICBNYXJrIHByaXZhdGUgdmFycyBhbmQgYWRkIHNob3J0IGRlc2MuCgkgICogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICBBZGQgc2hvcnQgZGVzYy4KCjIwMDgtMDEtMjEgMTQ6MzM6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE9uZSBsZXNzIHRvIGRvLiBJdHMgJ251dicgbm90ICdudnUnLiBBcyBhbiBleHRyYSBib251cyBJIG1lbnRpb24gd2hhdCBpdCBhY3R1YWxseSBpcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBPbmUgbGVzcyB0byBkby4gSXRzICdudXYnIG5vdCAnbnZ1Jy4gQXMgYW4gZXh0cmEgYm9udXMgSSBtZW50aW9uIHdoYXQKCSAgaXQgYWN0dWFsbHkgaXMuCgoyMDA4LTAxLTIxIDE0OjE5OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgbGlzdHMgYWdhaW4uIFRob3NlIHdob2xlIGNhbiBidWlsZCBpdm9yYmlzZGVjLCBteXRodHZzcmMsIG52dWRlbXV4IGFuZCB0aGVvcmFkZWNleHAsIHBsZWFzZSBjb20uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgVXBkYXRlIGxpc3RzIGFnYWluLiBUaG9zZSB3aG9sZSBjYW4gYnVpbGQgaXZvcmJpc2RlYywgbXl0aHR2c3JjLAoJICBudnVkZW11eCBhbmQgdGhlb3JhZGVjZXhwLCBwbGVhc2UgY29tbWl0IHRoZSBpbnNwZWN0L3BsdWdpbi14eHgueG1sLgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yYXdwYXJzZS54bWwKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9wYXJzZS54bWw6CgkgIFJlcGxhY2UgdmlkZW9wYXJzZSB3aXRoIHJhd3BhcnNlLgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1Lmg6CgkgIEhlbHAgZ3RrLWRvYyB0byByZWNvZ25pemUgdGhlIG9iamVjdCBzdHJ1Y3QuCgoyMDA4LTAxLTIxIDEyOjQyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogRG9uJ3QgdXNlIGd0ay1kb2MgY29tbWVudCBzdHlsZSBmb3Igbm9uIGd0ay1kb2MgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBEb24ndCB1c2UgZ3RrLWRvYyBjb21tZW50IHN0eWxlIGZvciBub24gZ3RrLWRvYyBjb21tZW50cy4KCSAgTWFrZSBvbmUgc3RhdGljIGZ1bmN0aW9uIHN0YXRpYy4KCjIwMDgtMDEtMjEgMTI6MTk6MTMgKzAwMDAgIEdhYnJpZWwgQm91dmlnbmUgPGJvdXZpZ25lQG1wMy10ZWNoLm9yZz4KCgkgIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS4qOiBQcm92aWRlIDQ6MjoyIHN1cHBvcnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHYWJyaWVsIEJvdXZpZ25lIDxib3V2aWduZSBhdCBtcDMtdGVjaCBkb3Qgb3JnPgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2RlaW50ZXJsYWNlX2luaXQpLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9jYXBzKSwKCSAgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1faXApLCAoZ3N0X2RlaW50ZXJsYWNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGVpbnRlcmxhY2VfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZGVpbnRlcmxhY2UvZ3N0ZGVpbnRlcmxhY2UuaDoKCSAgUHJvdmlkZSA0OjI6MiBzdXBwb3J0CgkgIEFsc28gZGVpbnRlcmxhY2UgY2hyb21hIHBsYW5lcwoJICBBbGxvdyB0byB0dXJuIG9uL29mZiBkZWludGVybGFjaW5nCgkgIENoYW5nZSBvZiBkZWZhdWx0IHRocmVzaG9sZHMsIGluIG9yZGVyIHRvIHByb3ZpZGUgYWNjZXB0YWJsZSByZXN1bHRzCgkgIHdpdGggZGVmYXVsdCBwYXJhbXMuIEZpeGVzICM1MTEwMDEuCgoyMDA4LTAxLTIxIDExOjA0OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDogVXBkYXRlIGRvY3MgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgIFVwZGF0ZSBkb2NzIGZpbGUgdG9vLgoKMjAwOC0wMS0yMSAxMTowMTozMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kdmRzcHUvOiBGaXggdXAgZHZkc3B1IGVsZW1lbnQgYWdhaW4gYWZ0ZXIgcHJldmlvdXMgbmFtZXNwYWNlIG1hbmdsaW5nOiByZW5hbWUgZGVidWcgY2F0ZWdvcnkgdmFyaWFibGUgdG8gb2xkIG5hbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzogKGdzdF9kdmRfc3B1X3JlbmRlcl9zcHUpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChkdmRzcHVfZGVidWcpLCAoR1NUX0NBVF9ERUZBVUxUKSwKCSAgKHN1YnBpY19zaW5rX2ZhY3RvcnkpLCAoZ3N0X2R2ZF9zcHVfYmFzZV9pbml0KSwKCSAgKGdzdF9kdmRfc3B1X2NsYXNzX2luaXQpLCAoZ3N0X2R2ZF9zcHVfaW5pdCksIChnc3RfZHZkX3NwdV9jbGVhciksCgkgIChnc3RfZHZkX3NwdV9kaXNwb3NlKSwgKGdzdF9kdmRfc3B1X2ZpbmFsaXplKSwKCSAgKGdzdF9kdmRfc3B1X2ZsdXNoX3NwdV9pbmZvKSwgKGdzdF9kdmRfc3B1X2J1ZmZlcl9hbGxvYyksCgkgIChnc3RfZHZkX3NwdV9zcmNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfdmlkZW9fc2V0X2NhcHMpLAoJICAoZ3N0X2R2ZF9zcHVfdmlkZW9fcHJveHlfZ2V0Y2FwcyksIChnc3RfZHZkX3NwdV92aWRlb19ldmVudCksCgkgIChnc3RfZHZkX3NwdV92aWRlb19jaGFpbiksIChkdnNwdV9oYW5kbGVfdmlkX2J1ZmZlciksCgkgIChnc3RfZHZkX3NwdV9yZWRyYXdfc3RpbGwpLCAoZ3N0X2R2ZF9zcHVfcGFyc2VfY2hnX2NvbGNvbiksCgkgIChnc3RfZHZkX3NwdV9leGVjX2NtZF9ibGspLCAoZ3N0X2R2ZF9zcHVfZmluaXNoX3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfc2V0dXBfY21kX2JsayksIChnc3RfZHZkX3NwdV9oYW5kbGVfbmV3X3NwdV9idWYpLAoJICAoZ3N0X2R2ZF9zcHVfaGFuZGxlX2R2ZF9ldmVudCksIChnc3RfZHZkX3NwdV9hZHZhbmNlX3NwdSksCgkgIChnc3RfZHZkX3NwdV9jaGVja19zdGlsbF91cGRhdGVzKSwgKGdzdF9kdmRfc3B1X3N1YnBpY19jaGFpbiksCgkgIChnc3RfZHZkX3NwdV9zdWJwaWNfZXZlbnQpLCAoZ3N0X2R2ZF9zcHVfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9kdmRfc3B1X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOiAoR1NUX1RZUEVfRFZEX1NQVSk6CgkgIEZpeCB1cCBkdmRzcHUgZWxlbWVudCBhZ2FpbiBhZnRlciBwcmV2aW91cyBuYW1lc3BhY2UgbWFuZ2xpbmc6CgkgIHJlbmFtZSBkZWJ1ZyBjYXRlZ29yeSB2YXJpYWJsZSB0byBvbGQgbmFtZSwgbWF0Y2hpbmcgdGhhdCBpbgoJICBkdmRzcHUtcmVuZGVyLmMsIHRvIGF2b2lkIHVuZGVmaW5lZCBzeW1ib2wgZXJyb3Igd2hlbiBsb2FkaW5nCgkgIHRoZSBtb2R1bGU7IHNhbWUgZm9yIHRoZSBfcmVuZGVyIGZ1bmN0aW9uIGluIGR2ZHNwdS1yZW5kZXIuYzoKCSAgd2UgbXVzdCB1c2UgdGhlIHNhbWUgbmFtZSBpbiBib3RoIC5jIGZpbGVzOyBjaGFuZ2UgZnVuY3Rpb25zCgkgIG5vdyBjYWxsZWQgZ3N0Z3N0XyogYmFjayB0byBnc3RfKiBhZ2FpbjsgYW5kIHdoaWxlIHdlJ3JlIGF0IGl0LAoJICB3ZSBtYXkgYXMgd2VsbCBjYW5vbmljYWxpc2UgdGhlIG5hbWVzcGFjZSBwcm9wZXJseSwgbmFtZWx5IHRvCgkgIGdzdF9kdmRfc3B1XyouCgoyMDA4LTAxLTIxIDEwOjA2OjA4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UgYW5kIGFkZGluZyBzeW1ib2xkIGZyb20gdW51c2VkIHRvIHNlY3Rpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuaDoKCSAgQ29oZXJlbnQgbmFtZXNwYWNlIHVzYWdlIGFuZCBhZGRpbmcgc3ltYm9sZCBmcm9tIHVudXNlZCB0byBzZWN0aW9ucy4KCjIwMDgtMDEtMjEgMDk6NTc6MDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZCBzeW1ib2xzIGZyb20gLXVudXNlZC50eHQgdG8gdGhlIHJpZ2h0IHBsYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgQWRkIHN5bWJvbHMgZnJvbSAtdW51c2VkLnR4dCB0byB0aGUgcmlnaHQgcGxhY2UuCgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBDb2hlcmVudCBuYW1lc3BhY2UgdXNhZ2UuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0IGV2ZW4gbW9yZS4KCjIwMDgtMDEtMjEgMDc6NTQ6MDIgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbTogVXBkYXRlIGluY2x1ZGUgbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBVcGRhdGUgaW5jbHVkZSBsaXN0LgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgIFVwZGF0ZSB4bWwgaW5jbHVkZXMuCgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFtcndiLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYmF5ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdHNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmJzcmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kdmRzcHUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1lcXVhbGl6ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZiZGV2c2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taW50ZXJsZWF2ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWxhZHNwYS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1ldGFkYXRhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWc0dmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWd0c3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3ZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF1aWNrdGltZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlYWwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWV4cmVzYW1wbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zdGVyZW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2l0Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10aW1pZGl0eS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZtbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13aWxkbWlkaS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXgyNjQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIFJlZ2VuZXJhdGUgZmlsZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCBicm9rZW4gWE1MIGZyYWdtZW50IGluIGRvYyBzbmlwcGV0LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgIEFkZCB0ZXN0IGJpbmFyeSB0byBpZ25vcmVzLgoKMjAwOC0wMS0yMSAwNzoyMjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogRml4IHRoZSBidWlsZC4gR1NUX1RJTUVfQVJHUyB0YWtlcyBhIHRpbWVzdGFtcCBub3QgYSBidWZmZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgIEZpeCB0aGUgYnVpbGQuIEdTVF9USU1FX0FSR1MgdGFrZXMgYSB0aW1lc3RhbXAgbm90IGEgYnVmZmVyLgoKMjAwOC0wMS0yMCAwNTowNzo1MiArMDAwMCAgV291dGVyIENsb2V0ZW5zIDx3b3V0ZXJAbWluZC5iZT4KCgkgIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IFJlcG9ydCB0aGUgc2l6ZSBvZiB0aGUgc3RyZWFtIGFzIHRoZSB0b3RhbCBzaXplIGluc3RlYWQgb2YgdGhlIHJlbWFpbmluZyBDb250ZW50LUxlbmd0aCwgdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChzb3VwX2dvdF9oZWFkZXJzKToKCSAgUmVwb3J0IHRoZSBzaXplIG9mIHRoZSBzdHJlYW0gYXMgdGhlIHRvdGFsIHNpemUgaW5zdGVhZCBvZgoJICB0aGUgcmVtYWluaW5nIENvbnRlbnQtTGVuZ3RoLCB3aGljaCBpcyB3cm9uZyBhZnRlciBhIHNlZWsuCgoyMDA4LTAxLTE5IDE2OjEzOjMxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogSGFuZGxlIGZyYW1lc2l6ZXMgPiA0MDk2IHdpdGggbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgY29ycmVjdGx5IGluIHB1bGwgbW9kZSBhbmQgaGFuZGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3B1c2hfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEhhbmRsZSBmcmFtZXNpemVzID4gNDA5NiB3aXRoIG11bHRpcGxlIGZyYW1lcyBwZXIgYnVmZmVyIGNvcnJlY3RseQoJICBpbiBwdWxsIG1vZGUgYW5kIGhhbmRsZSBzaG9ydCByZWFkcyBiZXR0ZXIuCgkgIEFsc28gcHV0IG9mZnNldCBhbmQgb2Zmc2V0X2VuZCBvbiBvdXRnb2luZyBidWZmZXJzLgoKMjAwOC0wMS0xOSAxNTo1MzozOCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4gcHVsbCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogKGdzdF9yYXdfcGFyc2VfbG9vcCk6CgkgIEltcHJvdmUgaGFuZGxpbmcgb2YgdW5rbm93biBvciB0b28gc21hbGwgdXBzdHJlYW0gc2l6ZXMgaW4KCSAgcHVsbCBtb2RlLgoKMjAwOC0wMS0xOSAxNTozOTo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIgaW4gcHVsbCBtb2RlIGNob29zZSB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RyYXdwYXJzZS5jOiAoZ3N0X3Jhd19wYXJzZV9sb29wKSwKCSAgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVzaCk6CgkgIEltcHJvdmUgZGVidWdnaW5nIGEgYml0IGFuZCBmb3IgaGFuZGxpbmcgbXVsdGlwbGUgZnJhbWVzIHBlciBidWZmZXIKCSAgaW4gcHVsbCBtb2RlIGNob29zZSB0aGUgbmV4dCBzbWFsbGVzdCBtdWx0aXBseSBvZiBmcmFtZXNpemUgYmVsb3cKCSAgNDA5NiBpbnN0ZWFkIG9mIGFsd2F5cyBoYW5kbGluZyAxMDI0IGZyYW1lcy4KCjIwMDgtMDEtMTkgMTQ6MzQ6NTAgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBDb3JyZWN0bHkgc2V0IGR1cmF0aW9uIG9uIHRoZSBHc3RCYXNlU3JjIHNlZ21lbnQgd2hlbiB3ZSBrbm93IGl0IHRvIGZpeCBmYWlsaW5nIHRoZSBkdXJhdGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoc291cF9nb3RfaGVhZGVycyk6CgkgIENvcnJlY3RseSBzZXQgZHVyYXRpb24gb24gdGhlIEdzdEJhc2VTcmMgc2VnbWVudCB3aGVuIHdlIGtub3cgaXQKCSAgdG8gZml4IGZhaWxpbmcgdGhlIGR1cmF0aW9uIHF1ZXJ5LgoKMjAwOC0wMS0xOCAxNzozNzowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IFNldCB0aW1lc3RhbXBzIG1vcmUgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5jOiAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKToKCSAgU2V0IHRpbWVzdGFtcHMgbW9yZSBjb3JyZWN0bHkuCgoyMDA4LTAxLTE4IDE2OjU2OjE5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuKjogSW1wbGVtZW50IHB1bGwgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9pbml0KSwgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3Jhd19wYXJzZV9zZXRfc3JjX2NhcHMpLCAoZ3N0X3Jhd19wYXJzZV9wdXNoX2J1ZmZlciksCgkgIChnc3RfcmF3X3BhcnNlX2NoYWluKSwgKGdzdF9yYXdfcGFyc2VfbG9vcCksCgkgIChnc3RfcmF3X3BhcnNlX3NpbmtfYWN0aXZhdGUpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2FjdGl2YXRlcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfcmF3X3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3Jhd19wYXJzZV9oYW5kbGVfc2Vla19wdXNoKSwgKGdzdF9yYXdfcGFyc2VfaGFuZGxlX3NlZWtfcHVsbCksCgkgIChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCksIChnc3RfcmF3X3BhcnNlX3NyY19xdWVyeSk6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmg6CgkgIEltcGxlbWVudCBwdWxsIG1vZGUuCgoyMDA4LTAxLTE4IDEwOjA1OjUzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiBGaXggbWVtb3J5IGxlYWsgc3BvdHRlZCBieSB0aGUgdW5pdCB0ZXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEZpeCBtZW1vcnkgbGVhayBzcG90dGVkIGJ5IHRoZSB1bml0IHRlc3QuCgoyMDA4LTAxLTE4IDA5OjU0OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRW5hYmxlIHNwZWN0cnVtIHRlc3QgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBFbmFibGUgc3BlY3RydW0gdGVzdCBhZ2Fpbi4KCSAgKiB0ZXN0cy9jaGVjay9nc3QtcGx1Z2lucy1iYWQuc3VwcDoKCSAgQWRkIHN1cHByZXNzaW9ucyBmb3IgYSBzaW5nbGV0b24gaW4gR0lPIHRoYXQgY2FuJ3QgYmUgZnJlZWQuCgoyMDA4LTAxLTE4IDA4OjQ5OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBzb21lIG1pbmltYWwgdGVzdHMgZm9yIHRoZSBlcXVhbGl6ZXIgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2VxdWFsaXplci5jOiAoc2V0dXBfZXF1YWxpemVyKSwKCSAgKGNsZWFudXBfZXF1YWxpemVyKSwgKEdTVF9TVEFSVF9URVNUKSwgKGVxdWFsaXplcl9zdWl0ZSksIChtYWluKToKCSAgQWRkIHNvbWUgbWluaW1hbCB0ZXN0cyBmb3IgdGhlIGVxdWFsaXplciBwbHVnaW4uCgoyMDA4LTAxLTE4IDA3OjAzOjIzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBVbnBhcmVudCBhbGwgYmFuZHMgZnJvbSB0aGUgZXF1YWxpemVyIHdoZW4gZmluYWxpemluZyB0byBzdG9wIGxlYWtpbmcJdGhlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2ZpbmFsaXplKToKCSAgVW5wYXJlbnQgYWxsIGJhbmRzIGZyb20gdGhlIGVxdWFsaXplciB3aGVuIGZpbmFsaXppbmcgdG8gc3RvcAoJICBsZWFraW5nCXRoZW0uCgoyMDA4LTAxLTE4IDA1OjMyOjI2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiBBZGQgc3VwcG9ydCBmb3IgV2ViREFWLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyk6CgkgIEFkZCBzdXBwb3J0IGZvciBXZWJEQVYuCgoyMDA4LTAxLTE4IDA1OjI0OjM5ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuKjogQWRkIHN1cHBvcnQgZm9yIHNlZWtpbmcgdG8gc291cGh0dHBzcmMuIEZpeGVzIGJ1ZyAjNTAyMzM1LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyIGF0IG1pbmQgZG90IGJlPgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X3NvdXBodHRwX3NyY19kb19zZWVrKSwKCSAgKHNvdXBfYWRkX3JhbmdlX2hlYWRlciksIChzb3VwX2dvdF9oZWFkZXJzKSwgKHNvdXBfZ290X2NodW5rKToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBBZGQgc3VwcG9ydCBmb3Igc2Vla2luZyB0byBzb3VwaHR0cHNyYy4gRml4ZXMgYnVnICM1MDIzMzUuCgoyMDA4LTAxLTE3IDE4OjM5OjI0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZmx1c2hfZGVjb2RlKSwgKGdzdF9oMjY0X3BhcnNlX3F1ZXVlX2J1ZmZlciksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5kX3N0YXJ0X3JldmVyc2UpLAoJICAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fcmV2ZXJzZSksIChnc3RfaDI2NF9wYXJzZV9jaGFpbik6CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuaDoKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgkgIEZpeCBidWZmZXIgc3BsaXR0aW5nIGF0IHN5bmMgY29kZXMgYW5kIGxlZnRvdmVyIGJ1ZmZlciBhZnRlcgoJICBzY2FubmluZy4KCjIwMDgtMDEtMTcgMTY6MTA6NDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEZpeGVkIGFkZGluZyBFWElGIHRhZ3MgdG8gY29ycmVjdCBJRkQuIE1hcHBlZCBzb21lIFhNUCB0YWdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgYWRkaW5nIEVYSUYgdGFncyB0byBjb3JyZWN0IElGRC4gTWFwcGVkIHNvbWUgWE1QIHRhZ3MuCgoyMDA4LTAxLTE2IDE4OjI4OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuKjogQWRkIHJldmVyc2UgcGxheWJhY2sgc3VwcG9ydCBmb3IgY29udGFpbmVycyB0aGF0IGRvbid0IGtub3cgaG93IHRvIHByb3Blcmx5IHNlbmQgZGF0YSBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6IChnc3RfbmFsX2xpc3RfbmV3KSwKCSAgKGdzdF9uYWxfbGlzdF9wcmVwZW5kX2xpbmspLCAoZ3N0X25hbF9saXN0X2RlbGV0ZV9oZWFkKSwKCSAgKGdzdF9uYWxfYnNfaW5pdCksIChnc3RfbmFsX2JzX3JlYWQpLCAoZ3N0X25hbF9ic19lb3MpLAoJICAoZ3N0X25hbF9ic19yZWFkX3VlKSwgKGdzdF9oMjY0X3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X2gyNjRfcGFyc2VfaW5pdCksIChnc3RfaDI2NF9wYXJzZV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2gyNjRfcGFyc2VfZ2V0X3Byb3BlcnR5KSwgKGdzdF9oMjY0X3BhcnNlX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfaDI2NF9wYXJzZV9jbGVhcl9xdWV1ZXMpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW5fZm9yd2FyZCksCgkgIChnc3RfaDI2NF9wYXJzZV9mbHVzaF9kZWNvZGUpLCAoZ3N0X2gyNjRfcGFyc2VfcXVldWVfYnVmZmVyKSwKCSAgKGdzdF9oMjY0X3BhcnNlX2ZpbmRfc3RhcnRfcmV2ZXJzZSksCgkgIChnc3RfaDI2NF9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9oMjY0X3BhcnNlX2NoYWluKSwKCSAgKGdzdF9oMjY0X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBBZGQgcmV2ZXJzZSBwbGF5YmFjayBzdXBwb3J0IGZvciBjb250YWluZXJzIHRoYXQgZG9uJ3Qga25vdyBob3cgdG8KCSAgcHJvcGVybHkgc2VuZCBkYXRhIGJldHdlZW4gSS1mcmFtZXMuCgoyMDA4LTAxLTE2IDA1OjQwOjQ4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgZm9yIEFQSSBjaGFuZ2VzIGluIEdJTyBhbmQgcmVxdWlyZSBHSU8gMi4xNS4yIGZvciB0aGlzLgoKMjAwOC0wMS0xNCAxMDo1MjoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQgb2YgMHhmZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpOgoJICBCaXRyYXRlIGlzIDQgYml0cywgbm90IDggc28gY2hlY2sgZm9yIDB4ZSBhcyBtYXhpbXVtIHZhbHVlIGluc3RlYWQKCSAgb2YgMHhmZS4KCjIwMDgtMDEtMTQgMDk6MDk6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogUmVtb3ZlIGFjY2lkZW50aWFsbHkgbGVmdG92ZXIgZGVidWcgcHJpbnRmLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChnZW5lcmF0ZV94aW5nX2hlYWRlcik6CgkgIFJlbW92ZSBhY2NpZGVudGlhbGx5IGxlZnRvdmVyIGRlYnVnIHByaW50Zi4KCjIwMDgtMDEtMTQgMDg6NTY6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguYzogQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkgc2V0IHRoZSB0aW1lc3RhbXAsIGR1ci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChoYXNfeGluZ19oZWFkZXIpLAoJICAoZ2VuZXJhdGVfeGluZ19oZWFkZXIpLCAoZ3N0X3hpbmdfbXV4X2NoYWluKSwKCSAgKGdzdF94aW5nX211eF9zaW5rX2V2ZW50KToKCSAgQ2hvb3NlIHNtYWxsZXN0IHBvc3NpYmxlIGZyYW1lIHNpemUgZm9yIHRoZSBYaW5nIGhlYWRlciwgcHJvcGVybHkKCSAgc2V0IHRoZSB0aW1lc3RhbXAsIGR1cmF0aW9uIGFuZCBvZmZzZXQgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMsCgkgIG9ubHkgc2VuZCBORVdTRUdNRU5UIGV2ZW50cyBpbiBCWVRFIGZvcm1hdCBkb3duc3RyZWFtIGFuZCBhbHNvCgkgIGRyb3AgVkJSSSBoZWFkZXJzIGlmIGFscmVhZHkgZXhpc3RpbmcuCgoyMDA4LTAxLTEyIDA5OjIyOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QveGluZ2hlYWRlci86IE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QveGluZ2hlYWRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IChwYXJzZV9oZWFkZXIpLCAoZ2V0X3hpbmdfb2Zmc2V0KSwKCSAgKGhhc194aW5nX2hlYWRlciksIChnZW5lcmF0ZV94aW5nX2hlYWRlciksCgkgIChnc3RfeGluZ19tdXhfYmFzZV9pbml0KSwgKGdzdF94aW5nX211eF9maW5hbGl6ZSksICh4aW5nX3Jlc2V0KSwKCSAgKGdzdF94aW5nX211eF9pbml0KSwgKGdzdF94aW5nX211eF9jaGFpbiksCgkgIChnc3RfeGluZ19tdXhfc2lua19ldmVudCksIChnc3RfeGluZ19tdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgIE1ham9yIGNsZWFudXAgYW5kIHJld3JpdGUgb2YgeGluZ211eCB3aXRoIGxlc3MgYnVncyBhbmQgbmV3IGZlYXR1cmVzOgoJICAtIEhhbmRsZXMgb3RoZXIgbGF5ZXJzIGFzIDMKCSAgLSBXcml0ZSBUT0MKCjIwMDgtMDEtMTEgMTk6MTY6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEl0J3MgImVuZGlhbm5lc3MiLCBub3QgImVuZGlhbmVzcyIuIEZpeGVzIHVuaXQgdGVzdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChjcmVhdGVfdGVzdF9idWZmZXIpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3Jndm9sdW1lLmM6ICh0ZXN0X2J1ZmZlcl9uZXcpOgoJICBJdCdzICJlbmRpYW5uZXNzIiwgbm90ICJlbmRpYW5lc3MiLiBGaXhlcyB1bml0IHRlc3RzLgoKMjAwOC0wMS0xMSAxNzowMjozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogSWYgd2UgZmluZCB0aGUgY2FwcyBpbiB0aGUgY2FjaGUsIHVzZSBpdCB0byBwYXJzZSB0aGUgY2xvY2stcmF0ZSBpbnN0ZWFkIG9mIHJldHVybmluZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSk6CgkgIElmIHdlIGZpbmQgdGhlIGNhcHMgaW4gdGhlIGNhY2hlLCB1c2UgaXQgdG8gcGFyc2UgdGhlIGNsb2NrLXJhdGUgaW5zdGVhZAoJICBvZiByZXR1cm5pbmcgYW4gZXJyb3IuIEZpeGVzIGEgVE9ETyBhcyBmb3VuZCBieSBZb3VuZXNzIEFsYW91aS4KCjIwMDgtMDEtMTEgMTY6NDU6NTcgKzAwMDAgIFlvdW5lc3MgQWxhb3VpIDx5b3VuZXNzLmFsYW91aUBjb2xsYWJvcmEuY28udWs+CgoJICBnc3QvcnRwbWFuYWdlci86IE1ha2UgaXQgcG9zc2libGUgdG8gdXNlIGRpZmZlcmVudCB1c2VyX2RhdGEgZm9yIGVhY2ggb2YgdGhlIGNhbGxiYWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBZb3VuZXNzIEFsYW91aSA8eW91bmVzcyBkb3QgYWxhb3VpIGF0IGNvbGxhYm9yYSBkb3QgY28gZG90IHVrPgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfY2FsbGJhY2tzKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9jZXNzX3J0cF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc2VuZF9ydHBfY2FsbGJhY2spLAoJICAocnRwX3Nlc3Npb25fc2V0X3NlbmRfcnRjcF9jYWxsYmFjayksCgkgIChydHBfc2Vzc2lvbl9zZXRfc3luY19ydGNwX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9jbG9ja19yYXRlX2NhbGxiYWNrKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9yZWNvbnNpZGVyX2NhbGxiYWNrKSwgKHNvdXJjZV9wdXNoX3J0cCksCgkgIChzb3VyY2VfY2xvY2tfcmF0ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBNYWtlIGl0IHBvc3NpYmxlIHRvIHVzZSBkaWZmZXJlbnQgdXNlcl9kYXRhIGZvciBlYWNoIG9mIHRoZSBjYWxsYmFja3MuCgkgIEZpeGVzICM1MDg1ODcuCgoyMDA4LTAxLTExIDE1OjU4OjE1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmM6IFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ191dGlsX2ZpbmRfc3RhcnRfY29kZSk6CgkgIFNtYWxsIG1lYW5pbmdsZXNzIGNsZWFudXAuCgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2gpLAoJICAobXBlZ3ZpZGVvcGFyc2VfZHJhaW5fYXZhaWwpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluX2ZvcndhcmQpLAoJICAoc2Nhbl9rZXlmcmFtZSksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZmx1c2hfZGVjb2RlKSwKCSAgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbl9yZXZlcnNlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuaDoKCSAgVHJhY2sgc2VnbWVudCBldmVudHMuCgkgIERvIHRoZSBmaXJzdCBwYXJ0IG9mIHJldmVyc2UgcGxheWJhY2sgYnkgc2VuZGluZyBkYXRhIGJldHdlZW4gdHdvCgkgIEktZnJhbWVzIHRvIHRoZSBkZWNvZGVyLgoKMjAwOC0wMS0xMCAyMDo1NzoxNyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBGaXggZG9jdW1lbnRhdGlvbiBmb3IgbGF0ZXN0IHBhdGNoCgoyMDA4LTAxLTEwIDE0OjM0OjMwICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEFsbG93IHJlcXVlc3RfbmV3X3BhZCB3aXRoIG5hbWUgTlVMTCAoYnVnICM1MDg1MTUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBBbGxvdyByZXF1ZXN0X25ld19wYWQgd2l0aCBuYW1lIE5VTEwgKGJ1ZyAjNTA4NTE1KQoKMjAwOC0wMS0xMCAxMjozNjo0NiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgYXV0b2dlbi5zaDogQWRkIC1Xbm8tcG9ydGFiaWxpdHkgdG8gdGhlIGF1dG9tYWtlIHBhcmFtZXRlcnMgdG8gc3RvcCB3YXJuaW5ncyBhYm91dCBHTlUgbWFrZSBleHRlbnNpb25zIGJlaW5nIHVzZWQuIFdlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIEFkZCAtV25vLXBvcnRhYmlsaXR5IHRvIHRoZSBhdXRvbWFrZSBwYXJhbWV0ZXJzIHRvIHN0b3Agd2FybmluZ3MKCSAgYWJvdXQgR05VIG1ha2UgZXh0ZW5zaW9ucyBiZWluZyB1c2VkLiBXZSByZXF1aXJlIEdOVSBtYWtlIGluIGFsbW9zdAoJICBldmVyeSBNYWtlZmlsZSBhbnl3YXkuCgkgICogY29uZmlndXJlLmFjOgoJICBVc2UgQU1fUFJPR19DQ19DX08gYXMgYSBjb21waWxlciB0aGF0IGFjY2VwdHMgYm90aCAtYyBhbmQgLW8KCSAgYXQgdGhlIHNhbWUgdGltZSBpcyByZXF1aXJlZCBmb3IgcGVyIHRhcmdldCBmbGFncy4KCjIwMDgtMDEtMDkgMTQ6Mzk6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IERvbid0IHNldCBmaXhlZCBjYXBzLCB3ZSBjYW4gYmFzaWNhbGx5IGRvIGV2ZXJ5dGhpbmcgdGhlIHVwc3RlYW0gcGVlciBwYWQgY2FuIHJlbmVnb3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBEb24ndCBzZXQgZml4ZWQgY2Fwcywgd2UgY2FuIGJhc2ljYWxseSBkbyBldmVyeXRoaW5nIHRoZSB1cHN0ZWFtIHBlZXIKCSAgcGFkIGNhbiByZW5lZ290aWF0ZSB0by4gRml4ZXMgIzUwNzk0MC4KCjIwMDgtMDEtMDkgMTM6NTM6MjEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1ha2VmaWxlLmFtOiBJbmNsdWRlIGxjb3YubWFrIHRvIGFsbG93IGJ1aWxkaW5nIGNvdmVyYWdlIHJlcG9ydHMuIEFkZCB0b3AtbGV2ZWwgY2hlY2sgdGFyZ2V0cyBzaW1pbGFyIHRvIG90aGVyIGdzdCBwYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgSW5jbHVkZSBsY292Lm1hayB0byBhbGxvdyBidWlsZGluZyBjb3ZlcmFnZSByZXBvcnRzLiBBZGQgdG9wLWxldmVsCgkgIGNoZWNrIHRhcmdldHMgc2ltaWxhciB0byBvdGhlciBnc3QgcGFja2FnZXMuCgoyMDA4LTAxLTA2IDIyOjM1OjMxICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbTogQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9DRkxBR1MuICBPdGhlcndpc2Ugd2UgZG9uJ3QgZ2V0IC1XYWxsIC1XZXJyb3IuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICBHZXR0aW5nIHRpcmVkIG9mIGRpcmVjdGZiJ3MgY2hhdHRlci4gIFF1aWV0IGl0LgoKMjAwOC0wMS0wNiAyMjowMDozMiArMDAwMCAgU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgoJICBBZGQgZmJkZXYtYmFzZWQgdmlkZW8gc2luay4gIExpbnV4LW9ubHkuICBTZWUgYnVnICM1MDY1NDkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2VhbiBEJ0VwYWduaWVyIDxzZWFuQGRlcGFnbmllci5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZmJkZXYvTWFrZWZpbGUuYW06CgkgICogc3lzL2ZiZGV2L2dzdGZiZGV2c2luay5jOgoJICAqIHN5cy9mYmRldi9nc3RmYmRldnNpbmsuaDoKCSAgQWRkIGZiZGV2LWJhc2VkIHZpZGVvIHNpbmsuICBMaW51eC1vbmx5LiAgU2VlIGJ1ZyAjNTA2NTQ5LgoKMjAwOC0wMS0wNiAxNjozNjozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgVXBkYXRlIHRvIEdNZW1vcnlJbnB1dFN0cmVhbSBBUEkgY2hhbmdlcyBpbiBHTGliIFNWTiBhbmQgcmVxdWlyZSBnaW8tMi4wID49IDIuMTUuMSBmb3IgdGhpcy4gRml4ZXMgYnVnICM1MDc1ODQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpb2Jhc2VzcmMuYzogKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy9naW8uYzogKGZyZWVfaW5wdXQpLCAoR1NUX1NUQVJUX1RFU1QpOgoJICBVcGRhdGUgdG8gR01lbW9yeUlucHV0U3RyZWFtIEFQSSBjaGFuZ2VzIGluIEdMaWIgU1ZOIGFuZCByZXF1aXJlCgkgIGdpby0yLjAgPj0gMi4xNS4xIGZvciB0aGlzLiBGaXhlcyBidWcgIzUwNzU4NC4KCSAgV2UgY2FuIGFsc28gcmVwb3J0IHRoZSBkdXJhdGlvbiBmb3IgZXZlcnkgR1NlZWthYmxlLCBub3Qgb25seQoJICBHRmlsZUlucHV0U3RyZWFtIGFuZCBHTWVtb3J5SW5wdXRTdHJlYW0uCgoyMDA4LTAxLTA2IDAzOjAxOjM5ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBIYW5kbGUgeG92ZXJsYXkgZXhwb3NlcyBjb3JyZWN0bHkuICBUaGlzIG1lYW5zIGdsaW1hZ2VzaW5rIHdvcmtzCgkgIGNvcnJlY3RseSBtb3N0IG9mIHRoZSB0aW1lIGluIHRvdGVtIChmdWxsc2NyZWVuaW5nIGJlaW5nIGFuCgkgIGV4ZWNwdGlvbikuICBEb2Vzbid0IGhhbmRsZSBleHBvc2UgZXZlbnRzIGRpcmVjdGx5IHRvIHRoZSBHTAoJICB3aW5kb3cuCgoyMDA4LTAxLTA2IDAxOjE5OjQ4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZWVuYWJsZSB2aWRlby94LXJhdy1yZ2IgYW5kIHgtcmF3LXl1diBmb3IgZ2xpbWFnZXNpbmsuICBFbmFibGUgdmJsYW5rIHN5bmNocm9uaXphdGlvbi4gIFJlbW92ZSB1bnVzZWQgYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5Lmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVlbmFibGUgdmlkZW8veC1yYXctcmdiIGFuZCB4LXJhdy15dXYgZm9yIGdsaW1hZ2VzaW5rLiAgRW5hYmxlCgkgIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBSZW1vdmUgdW51c2VkIGNvZGUuCgoyMDA4LTAxLTA0IDE4OjQ3OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IERvbid0IHVucmVmIHRoZSBwb3BwZWQgYnVmZmVyIHdoZW4gd2UgZG9uJ3QgaGF2ZSBvd25lcnNoaXAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBEb24ndCB1bnJlZiB0aGUgcG9wcGVkIGJ1ZmZlciB3aGVuIHdlIGRvbid0IGhhdmUgb3duZXJzaGlwLgoJICBGaXhlcyAjNTA3MDIwLgoKMjAwOC0wMS0wMyAyMzozNTo1MiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgIFJlbW92ZSBubyBsb25nZXIgbmVlZGVkIGZpbGVzLgoKMjAwOC0wMS0wMiAyMDo0OToxMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogRGlzYWJsZSB2Y2RzcmMgaW4gc3RhdGVzIHRlc3QgYmVjYXVzZSBpdCB0YWtlcyB0b28gbXVjaCB0aW1lIHRvIGdldCB0byBQTEFZSU5HIGlmIGl0IGNhbiBmaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIERpc2FibGUgdmNkc3JjIGluIHN0YXRlcyB0ZXN0IGJlY2F1c2UgaXQgdGFrZXMgdG9vIG11Y2ggdGltZQoJICB0byBnZXQgdG8gUExBWUlORyBpZiBpdCBjYW4gZmluZCBhIGRldmljZS4KCjIwMDgtMDEtMDEgMDE6MTg6MTkgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0IG5vdCBiZSByZWFkeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOgoJICBEb24ndCBlbWl0IHNpZ25pdHVyZSB3aGVuIGdvaW5nIHRvIFJFQURZLCBiZWNhdXNlIGl0IG1pZ2h0CgkgIG5vdCBiZSByZWFkeS4KCSAgKiBleHQvbmFzL25hc3NpbmsuYzoKCSAgUmVtb3ZlIHVzZWxlc3MgY2FsbCB0aGF0IHNsZWVwcyBmb3IgNSBzZWNvbmRzLiAgWXVwLCBpdCBjYWxscwoJICBzbGVlcCgxKSA1IHRpbWVzLiAgR28gTkFTLgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEluaXRpYWxpemUgb3VyIGRlYnVnIGNhdGVnb3JpZXMgcHJvcGVybHkuCgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6CgkgIERvbid0IHJlZ2lzdGVyIGVsZW1lbnQgZGV0YWlscyBmb3IgYSBub24tZWxlbWVudC4gIEJlIG11Y2ggbW9yZQoJICBydWRlIHdoZW4gc3ViY2xhc3MgZG9lc24ndCBzZXQgYSBwYWQgdGVtcGxhdGUgKGFzc2VydCEpLiAgRG9uJ3QKCSAgdW5yZWYgdGhlIHBhZCB0ZW1wbGF0ZTsgd2UgZG9uJ3Qgb3duIGl0LgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzoKCSAgSW5pdGlhbGl6ZSBkZWJ1ZyBjYXRlZ29yeS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgSWdub3JlIG5hc3NpbmsgZWxlbWVudCBpbiB0ZXN0cyBiZWNhdXNlIGl0IGhhcyB1bmF2b2lkYWJsZQoJICBsb25nIHRpbWVvdXRzLgoKMjAwNy0xMi0zMSAxMzoxMjowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBjbGVhbiB1cCBwYWRzIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoKMjAwNy0xMi0zMSAwNzo1NToyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBTd2l0Y2ggdG8gdXNpbmcgcGtnY29uZmlnIHRvIGRldGVjdCBsaWJHTC4gIFNpbmNlIHdlIHVzZSByZWNlbnQgZmVhdHVyZXMgYWRkZWQgdG8gTWVzYSwgdGhlcmUncyBubyBwb2ludCBpbiBhZGRpbmcgYSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIFN3aXRjaCB0byB1c2luZyBwa2djb25maWcgdG8gZGV0ZWN0IGxpYkdMLiAgU2luY2Ugd2UgdXNlCgkgIHJlY2VudCBmZWF0dXJlcyBhZGRlZCB0byBNZXNhLCB0aGVyZSdzIG5vIHBvaW50IGluIGFkZGluZwoJICBhIGNoZWNrIGZvciBwcmUtcGtnY29uZmlnIHZlcnNpb25zLgoKMjAwNy0xMi0yOSAxNzozMTo0OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4ICd4eXogbWF5IGJlIHVzZWQgdW5pbml0aWFsaXplZCcgY29tcGlsZXIgd2FybmluZ3MgY2F1c2VkIGJ5IGJyb2tlbiBnX2Fzc2VydF9ub3RfcmVhY2hlZCgpIG1hY3JvIGluIEdMaWItMi4xNS54IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSk6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguYzogKGdzdF9tdmVfbXV4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6IChkdmJfYmFzZV9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCAneHl6IG1heSBiZSB1c2VkIHVuaW5pdGlhbGl6ZWQnIGNvbXBpbGVyIHdhcm5pbmdzIGNhdXNlZAoJICBieSBicm9rZW4gZ19hc3NlcnRfbm90X3JlYWNoZWQoKSBtYWNybyBpbiBHTGliLTIuMTUueCBhbmQgZG9uJ3QKCSAgYWJvcnQoKSBpbiBhbnkgY2FzZSBidXQgcHJvcGVybHkgcmVwb3J0IHRoZSBlcnJvci4KCjIwMDctMTItMjkgMTc6Mjk6MTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19nZXRfc2l6ZSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6CgkgIFVwZGF0ZSB0byBsYXRlc3QgQVBJIGNoYW5nZXMgaW4gR0xpYi9HSU8gYW5kIHJlcXVpcmUgYXQgbGVhc3QKCSAgZ2lvLTIuMCAyLjE1LjAgZm9yIHRoaXMuCgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5fTERGTEFHUyB0byBMREZMQUdTLgoKMjAwNy0xMi0yOSAwMDozNzo0MSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNYWpvciBjbGVhbnVwIG9mIGNvZGUuICBDb252ZXJ0IGdsdXBsb2FkIHRvIEJhc2VUcmFuc2Zvcm0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlcmV4YW1wbGUuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgTWFqb3IgY2xlYW51cCBvZiBjb2RlLiAgQ29udmVydCBnbHVwbG9hZCB0byBCYXNlVHJhbnNmb3JtLgoJICBIYW5kbGUgY2FwcyBuZWdvdGlhdGlvbiBtb3N0bHkgY29ycmVjdGx5LiAgUmVlbmFibGUgaW4gYnVpbGQuCgoyMDA3LTEyLTI4IDExOjQ0OjI4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NvdXAvOiBVc2UgZ3N0X3RhZ19mcmVlZm9ybV9zdHJpbmdfdG9fdXRmOCgpIGFuZCBwb3N0IHJhZGlvIHN0YXRpb24gaW5mbyBhcyB0YWdzIG9uIHRoZSBidXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VuaWNvZGlmeSksIChzb3VwX2dvdF9oZWFkZXJzKToKCSAgVXNlIGdzdF90YWdfZnJlZWZvcm1fc3RyaW5nX3RvX3V0ZjgoKSBhbmQgcG9zdCByYWRpbyBzdGF0aW9uCgkgIGluZm8gYXMgdGFncyBvbiB0aGUgYnVzLgoKMjAwNy0xMi0yNyAwNToyNjowNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgQ2hhbmdlIGdsaW1hZ2VzaW5rIG92ZXIgdG8gdXNpbmcgR0wgYnVmZmVycy4gIFRoaXMgYnJlYWtzCgkgIGdsaW1hZ2VzaW5rIGZvciBub3JtYWwgb3BlcmF0aW9uLCBidXQgc2hvdWxkIGJlIGZpeGVkIHNvb24uCgoyMDA3LTEyLTI3IDA0OjE1OjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBDb252ZXJ0IGdsZG93bmxvYWQgdG8gQmFzZVRyYW5zZm9ybS4gIE1ha2UgZ2xmaWx0ZXJleGFtcGxlIHZpc3VhbGx5IGludGVyZXN0aW5nLiAgQWRkIHN1cHBvcnQgZm9yIHZhcmlvdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGRvd25sb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIENvbnZlcnQgZ2xkb3dubG9hZCB0byBCYXNlVHJhbnNmb3JtLiAgTWFrZSBnbGZpbHRlcmV4YW1wbGUKCSAgdmlzdWFsbHkgaW50ZXJlc3RpbmcuICBBZGQgc3VwcG9ydCBmb3IgdmFyaW91cyBmb3JtYXRzIHRvCgkgIGRvd25sb2FkaW5nLiAgRml4IGEgZmV3IHBsYWNlcyB3aGVyZSB3ZSBsZWFrIEdMIHN0YXRlIHRvCgkgIG90aGVyIGVsZW1lbnRzIChiYWQsIGJ1dCBoYXJkIHRvIHByZXZlbnQpLgoKMjAwNy0xMi0yNyAwMDo1MjoyMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL0JVR1M6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xjb252ZXJ0LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGZpbHRlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXJleGFtcGxlLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHRlc3RzcmMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgUmVtb3ZlIGNvZGUgdGhhdCBoYW5kbGVzIG5vbi10ZXh0dXJlIGJ1ZmZlcnMuICBBZGQgYQoJICBHc3RHTEJ1ZmZlckZvcm1hdCB0eXBlIHRoYXQgY29ycmVzcG9uZHMgdG8gaG93IHRvIHVzZSB0aGUKCSAgdGV4dHVyZSwgbm90IHRoZSBvcmlnaW5hbCB2aWRlbyBmb3JtYXQuICBDb252ZXJ0IGdzdGZsZmlsdGVyLmMKCSAgaW50byBhIGJhc2UgY2xhc3MsIGFkZCBnbGZpbHRlcmV4YW1wbGUgYW5kIGdsY29udmVydCBlbGVtZW50cy4KCSAgKiBzeXMvZ2xzaW5rL2NvbG9yX21hdHJpeC5jOgoJICBNaW5vciByYW1ibGluZ3MgYWJvdXQgY29sb3IgY29udmVyc2lvbiBtYXRyaWNlcy4KCjIwMDctMTItMjUgMDA6MzQ6MTQgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2x0ZXN0c3JjLmM6CgkgICogc3lzL2dsc2luay9nbHRlc3RzcmMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZGlzcGxheS5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdGVzdHNyYy5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x0ZXN0c3JjLmg6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0b3BlbmdsLmM6CgkgIEFkZCBnbHRlc3RzcmMgZWxlbWVudCwgYSBkdXBsaWNhdGUgb2YgdmlkZW90ZXN0c3JjIHRoYXQgdXNlcwoJICBHTCByZW5kZXJpbmcgdG8gY3JlYXRlIGltYWdlcy4gIE1vcmUgY2xlYW51cC4KCjIwMDctMTItMjQgMjE6MjY6NDAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgIENsZWFuIHVwIGNvZGUuICBGaXggYSBmZXcgbGVha3MuCgoyMDA3LTEyLTI0IDIxOjA0OjQ2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBSZW5hbWUgZ2x2aWRlby5bY2hdIHRvIGdzdGdsZGlzcGxheS5bY2hdLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkaXNwbGF5LmM6CgkgICogc3lzL2dsc2luay9nc3RnbGRpc3BsYXkuaDoKCSAgUmVuYW1lIGdsdmlkZW8uW2NoXSB0byBnc3RnbGRpc3BsYXkuW2NoXS4KCjIwMDctMTItMjQgMjA6NTM6NTYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFJld3JpdGUgYSBidW5jaCBvZiBjb2RlIHRvIHVzZSB0ZXh0dXJlcyBhcyB0aGUgaW50ZXJtZWRpYXRlIGluc3RlYWQgb2YgcmVuZGVyYnVmZmVycy4gIHVwbG9hZCwgZG93bmxvYWQsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZmlsdGVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbHVwbG9hZC5jOgoJICBSZXdyaXRlIGEgYnVuY2ggb2YgY29kZSB0byB1c2UgdGV4dHVyZXMgYXMgdGhlIGludGVybWVkaWF0ZQoJICBpbnN0ZWFkIG9mIHJlbmRlcmJ1ZmZlcnMuICB1cGxvYWQsIGRvd25sb2FkLCBmaWx0ZXJpbmcgYWxsCgkgIHdvcmsuCgoyMDA3LTEyLTIzIDIyOjA0OjAwICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlLzogUmVtb3ZlIHZpZGVvcGFyc2UgZWxlbWVudCwgYmVjYXVzZSBpdCB3YXMgbW92ZWQgdG8gZ3N0L3Jhd3BhcnNlLwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9SRUFETUU6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOgoJICBSZW1vdmUgdmlkZW9wYXJzZSBlbGVtZW50LCBiZWNhdXNlIGl0IHdhcyBtb3ZlZCB0byBnc3QvcmF3cGFyc2UvCgoyMDA3LTEyLTIzIDEwOjM0OjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuYzogQWx3YXlzIHNlZWsgb24gZnJhbWUgYm91bmRhcmllcywgd2lsbCBwcm9kdWNlIG5vdGhpbmcgdXNlZnVsIG90aGVyd2lzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX3NyY19ldmVudCk6CgkgIEFsd2F5cyBzZWVrIG9uIGZyYW1lIGJvdW5kYXJpZXMsIHdpbGwgcHJvZHVjZSBub3RoaW5nIHVzZWZ1bAoJICBvdGhlcndpc2UuCgoyMDA3LTEyLTIzIDA2OjIyOjMyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgbmV3IHBsdWdpbiByYXdwYXJzZSB0aGF0IGNvbnRhaW5zIGEgYmFzZSBjbGFzcyBmb3IgcmF3IGRhdGEgcGFyc2VycyBhbmQgdGhlIHR3byBlbGVtZW50cyBhdWRpb3BhcnNlIGFuZCB2aWRlb3BhcnMuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yYXdwYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmF3cGFyc2UvUkVBRE1FOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmM6IChnc3RfYXVkaW9fcGFyc2VfZm9ybWF0X2dldF90eXBlKSwKCSAgKGdzdF9hdWRpb19wYXJzZV9lbmRpYW5uZXNzX2dldF90eXBlKSwgKGdzdF9hdWRpb19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X2F1ZGlvX3BhcnNlX2luaXQpLAoJICAoZ3N0X2F1ZGlvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb19wYXJzZV91cGRhdGVfZnJhbWVfc2l6ZSksIChnc3RfYXVkaW9fcGFyc2VfZ2V0X2NhcHMpOgoJICAqIGdzdC9yYXdwYXJzZS9nc3RhdWRpb3BhcnNlLmg6CgkgICogZ3N0L3Jhd3BhcnNlL2dzdHJhd3BhcnNlLmM6IChnc3RfcmF3X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3Jhd19wYXJzZV9pbml0KSwKCSAgKGdzdF9yYXdfcGFyc2VfZGlzcG9zZSksCgkgIChnc3RfcmF3X3BhcnNlX2NsYXNzX3NldF9zcmNfcGFkX3RlbXBsYXRlKSwKCSAgKGdzdF9yYXdfcGFyc2VfY2xhc3Nfc2V0X211bHRpcGxlX2ZyYW1lc19wZXJfYnVmZmVyKSwKCSAgKGdzdF9yYXdfcGFyc2VfcmVzZXQpLCAoZ3N0X3Jhd19wYXJzZV9jaGFpbiksCgkgIChnc3RfcmF3X3BhcnNlX2NvbnZlcnQpLCAoZ3N0X3Jhd19wYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9yYXdfcGFyc2Vfc3JjX2V2ZW50KSwgKGdzdF9yYXdfcGFyc2Vfc3JjX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X3Jhd19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3Jhd19wYXJzZV9zZXRfZnJhbWVzaXplKSwKCSAgKGdzdF9yYXdfcGFyc2Vfc2V0X2ZwcyksIChnc3RfcmF3X3BhcnNlX2dldF9mcHMpLAoJICAoZ3N0X3Jhd19wYXJzZV9pc19uZWdvdGlhdGVkKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0cmF3cGFyc2UuaDoKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2Zvcm1hdF9nZXRfdHlwZSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZW5kaWFubmVzc19nZXRfdHlwZSksIChnc3RfdmlkZW9fcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9jbGFzc19pbml0KSwgKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fcGFyc2VfZm9ybWF0X3RvX2ZvdXJjYyksCgkgIChnc3RfdmlkZW9fcGFyc2VfdXBkYXRlX2ZyYW1lX3NpemUpLCAoZ3N0X3ZpZGVvX3BhcnNlX2dldF9jYXBzKToKCSAgKiBnc3QvcmF3cGFyc2UvZ3N0dmlkZW9wYXJzZS5oOgoJICAqIGdzdC9yYXdwYXJzZS9wbHVnaW4uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIG5ldyBwbHVnaW4gcmF3cGFyc2UgdGhhdCBjb250YWlucyBhIGJhc2UgY2xhc3MgZm9yIHJhdyBkYXRhCgkgIHBhcnNlcnMgYW5kIHRoZSB0d28gZWxlbWVudHMgYXVkaW9wYXJzZSBhbmQgdmlkZW9wYXJzZSB0aGF0IGNhbgoJICBiZSB1c2VkIHRvIHBhcnNlIHJhdyBhdWRpbyBhbmQgdmlkZW8uIFRoZXNlIGFyZSBpbnNwaXJlZCBieSB0aGUKCSAgb2xkIHZpZGVvcGFyc2UgZWxlbWVudCB3aGljaCB0aGUgbmV3IHJhd3BhcnNlIHBsdWdpbiBkZXByZWNhdGVzLgoKMjAwNy0xMi0yMiAwNTowMTo1OCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogQSBjYXJlZnVsIHJlYWQgb2YgdGhlIGRvY3VtZW50YXRpb24gcmV2ZWFscyB0aGF0IEkgY2FuJ3QgdXNlIHJlbmRlcmJ1ZmZlcnMgYXMgdGV4dHVyZXMuICBEdWguICBDaGVja3BvaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5oOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xidWZmZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsZG93bmxvYWQuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgIEEgY2FyZWZ1bCByZWFkIG9mIHRoZSBkb2N1bWVudGF0aW9uIHJldmVhbHMgdGhhdCBJIGNhbid0IHVzZQoJICByZW5kZXJidWZmZXJzIGFzIHRleHR1cmVzLiAgRHVoLiAgQ2hlY2twb2ludCBiZWNhdXNlIEknbSBhYm91dAoJICB0byByZXdyaXRlIGEgYnVuY2ggb2YgY29kZS4KCjIwMDctMTItMjEgMTk6MDE6MDAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdGJhc2VtZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuYzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBJUFRDIHRhZ3MgbWFwcGVkLgoKMjAwNy0xMi0yMSAwOTo0NTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmg6CgkgIFJlbW92ZWQgZ3N0bWV0YWRhdGFjb21tb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZW1vdmVkIGdzdG1ldGFkYXRhY29tbW9uLgoKMjAwNy0xMi0yMSAwMDowMzoxMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLCBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsZXh0ZW5zaW9ucy5jOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsYnVmZmVyLmM6CgkgICogc3lzL2dsc2luay9nc3RnbGJ1ZmZlci5oOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xkb3dubG9hZC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2xmaWx0ZXIuYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdGdsdXBsb2FkLmM6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgU3dpdGNoIHRvIHVzaW5nIGZyYW1lYnVmZmVyX29iamVjdHMgaW5zdGVhZCBvZiBHTFhQaXhtYXBzLAoJICBiZWNhdXNlIHRoYXQncyB3aGF0IG15IGRyaXZlciBzdXBwb3J0cy4gIFJlbW92ZSBHTERyYXdhYmxlLAoJICBzaW5jZSBHc3RHTERpc3BsYXkgbm93IGhhcyBhIGRlZmF1bHQgZHJhd2FibGUgYW5kIGNvbnRleHQuCgoyMDA3LTEyLTIwIDE3OjA3OjIyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogSWdub3JlIG1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvLmN2c2lnbm9yZToKCSAgKiBnc3Qvc3dpdGNoLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBtb3JlLgoKMjAwNy0xMi0xOSAwOTo1MDo0NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0YmFzZW1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RiYXNlbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWNvbW1vbi5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFkZW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9tZXRhZGF0YV9lZGl0b3IuYzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTmV3IGJhc2UgY2xhc3MgZm9yIG1ldGFkYXRhIGVsZW1lbnRzLgoKMjAwNy0xMi0xOCAxNjowODoxMyArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KSAoZ3N0X3NlbGVjdG9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE4ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGVudW0sIGdzdF9zZWxlY3Rvcl9wYWRfY2xhc3NfaW5pdCkKCSAgKGdzdF9zZWxlY3Rvcl9wYWRfZ2V0X3Byb3BlcnR5KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcnVubmluZ190aW1lKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0LCBnc3Rfc2VnbWVudF9nZXRfdGltZXN0YW1wKQoJICAoZ3N0X3NlZ21lbnRfc2V0X3N0b3AsIGdzdF9zZWdtZW50X3NldF9zdGFydCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBDaGFuZ2Ugc28gdGhhdCB0aGUgc2lnbmFscyBhbmQKCSAgcHJvcGVydGllcyBkZWFsIGluIHJ1bm5pbmcgdGltZSwgbm90IGJ1ZmZlciB0aW1lLiBEb2N1bWVudCB0aGUKCSAgc2lnbmFscyBtb3JlLiBDaGFuZ2UgdWludDY0IGluIEFQSSB0byBpbnQ2NCwgdG8gcmVmbGVjdCB3aGF0J3MgaW4KCSAgR3N0U2VnbWVudC4KCjIwMDctMTItMTggMDk6MjY6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBNYWtlZmlsZS5hbTogSW5jbHVkZSBjb21tb24vd2luMzIubWFrIGZvciBDUkxGIGNoZWNrIG9mIHdpbjMyIHByb2plY3QgZmlsZXMgKHNlZSAjMzkzNjI2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTWFrZWZpbGUuYW06CgkgIEluY2x1ZGUgY29tbW9uL3dpbjMyLm1hayBmb3IgQ1JMRiBjaGVjayBvZiB3aW4zMiBwcm9qZWN0CgkgIGZpbGVzIChzZWUgIzM5MzYyNikuCgkgICogY29uZmlndXJlLmFjOgoJICBCdW1wIHJlcXVpcmVtZW50cyB0byAtYmFzZSBDVlMgZm9yIGxpYmdzdHZpZGVvIGFkZGl0aW9ucyBpbgoJICBnbGltYWdlc2luay4gRGlzYWJsZSBnbGltYWdlc2luayB1bnRpbCB0aGUgbWlzc2luZyBmaWxlcyBnZXQKCSAgY2hlY2tlZCBpbi4KCjIwMDctMTItMTggMDE6MjU6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFVzZSBuZXcgR3N0VmlkZW9Gb3JtYXQgY2hlY2tlZCBpbnRvIC1iYXNlLiAgQWRkIG5ldyBnbHVwbG9hZCBlbGVtZW50IHRvIHVwbG9hZCByYXcgdmlkZW8gaW50byBhIEdMWFBpeGJ1Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgKiBzeXMvZ2xzaW5rL2dzdG9wZW5nbC5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0Z2x1cGxvYWQuYzoKCSAgVXNlIG5ldyBHc3RWaWRlb0Zvcm1hdCBjaGVja2VkIGludG8gLWJhc2UuICBBZGQgbmV3IGdsdXBsb2FkCgkgIGVsZW1lbnQgdG8gdXBsb2FkIHJhdyB2aWRlbyBpbnRvIGEgR0xYUGl4YnVmLiAgVW50ZXN0ZWQuICBXaWxsCgkgIGxpa2VseSBjcmFzaCB5b3VyIG1vdG9yY3ljbGUgaWYgeW91IHRyeSBpdC4KCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5jOgoJICAqIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLmg6CgkgIFJlbW92ZS4KCjIwMDctMTItMTcgMjE6MTI6MjggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuKjogV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kIGFuIEVPUyBpbnN0ZWFkIG9mIGNhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuaDoKCSAgV2hlbiBzdWJzZXF1ZW50IGZpbGVzIGFyZSByZWFkLCBpZiB0aGUgZmlsZSBkb2Vzbid0IGV4aXN0LCBzZW5kCgkgIGFuIEVPUyBpbnN0ZWFkIG9mIGNhdXNpbmcgYW4gZXJyb3IuCgoyMDA3LTEyLTE3IDE1OjA5OjE3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc2VsZWN0b3JfcGFkX2NoYWluKTogUmV0dXJuIE9LIHdoZW4gYSBidWZmZXIgaXMgaWdub3JlZCwgbm90IE5PVF9MSU5LRUQuIE5vIHNlbnNlIGluIG1ha2kuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFJldHVybiBPSyB3aGVuCgkgIGEgYnVmZmVyIGlzIGlnbm9yZWQsIG5vdCBOT1RfTElOS0VELiBObyBzZW5zZSBpbiBtYWtpbmcgYSBzb3VyY2UKCSAgZWxlbWVudCBlcnJvciBvdXQ7IGF0IGxlYXN0IGZkc3JjIGNvbnNpZGVycyBOT1RfTElOS0VEIHRvIGJlIGEKCSAgZmF0YWwgZXJyb3IuIFBhdGNoIDExLzEyLiBUaGVyZSBpcyBubyBwYXRjaCAxMi8xMi4gRm9vLgoKMjAwNy0xMi0xNyAxNTowNjo0OCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC86IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLW1hcnNoYWwubGlzdDoKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfYmxvY2spOiBNYWtlIHRoZSBibG9jaygpIHNpZ25hbCByZXR1cm4gdGhlCgkgIGxhc3Qgc3RvcCB0aW1lIG9mIHRoZSBhY3RpdmUgcGFkLiBQYXRjaCAxMC8xMi4KCjIwMDctMTItMTcgMTU6MDQ6NTEgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3NlbGVjdG9yX3BhZF9nZXRfcHJvcGVydHkpCgkgIChnc3Rfc2VsZWN0b3JfcGFkX2NsYXNzX2luaXQsIGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogRXhwb3NlICdsYXN0LXN0b3AtdGltZScgYXMgYQoJICBwYWQgcHJvcGVydHksIG5vdCBhbiBlbGVtZW50IHByb3BlcnR5LgoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IE1hcmsgdGhlIGxhc3Rfc3RvcCB0aW1lIGFzIHRpbWVzdGFtcCArCgkgIGR1cmF0aW9uLCBub3QgdGltZXN0YW1wLiBQYXRjaCA5LzEyLgoKMjAwNy0xMi0xNyAxNTowMTo1NSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NoYW5nZV9zdGF0ZSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jaGFuZ2Vfc3RhdGUpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrLCBnc3Rfc3RyZWFtX3NlbGVjdG9yX3N3aXRjaCk6IFVzZSB0aGUKCSAgY29uZCBtZWNoYW5pc20gaW5zdGVhZCBvZiBibG9ja2VkIHBhZHMuIFBhdGNoIDgvMTIuCgoyMDA3LTEyLTE3IDE1OjAwOjE1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yKTogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KSAoZ3N0X3NlbGVjdG9yX3AuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl93YWl0KQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbiwgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9kaXNwb3NlKTogQWRkIGluZnJhc3RydWN0dXJlIGZvciBuZXcgYmxvY2tpbmcKCSAgbWVjaGFuaXNtIHRoYXQgZG9lcyBub3QgdXNlIGdzdF9wYWRfc2V0X2Jsb2NrZWQsIHdoaWNoIGRvZXMgbm90CgkgIHdvcmsgb24gc2luayBwYWRzLiBQYXRjaCA3LzEyLgoKMjAwNy0xMi0xNyAxNDo1ODoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCkKCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3JfZ2V0X3Byb3BlcnR5KTogQWRkIGxhc3Qtc3RvcC10aW1lIHJlYWRhYmxlCgkgIHByb3BlcnR5LiBQYXRjaCA2LzEyLgoKMjAwNy0xMi0xNyAxNDo1NTo1NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lIHN0YXRlIHZhcmlhYmxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAoc3RydWN0IF9Hc3RTdHJlYW1TZWxlY3Rvcik6IEFkZCBzb21lCgkgIHN0YXRlIHZhcmlhYmxlcy4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3B1c2hfcGVuZGluZ19zdG9wKQoJICAoZ3N0X3NlbGVjdG9yX3BhZF9jaGFpbik6IFB1c2ggYW55IHBlbmRpbmcgc3RvcCBldmVudC4KCSAgKGdzdF9zdHJlYW1fc2VsZWN0b3Jfc2V0X2FjdGl2ZV9wYWQpCgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX3NldF9wcm9wZXJ0eSk6IEZhY3RvciBvdXQgc2V0dGluZyB0aGUgYWN0aXZlCgkgIHBhZCB0byBhIGZ1bmN0aW9uLiBDbG9zZSB0aGUgc2VnbWVudCBvZiB0aGUgcHJldmlvdXMgYWN0aXZlIHBhZCBpZgoJICB0b2xkIHRvIGRvIHNvIHZpYSBhIHN0b3BfdGltZSAhPSBHU1RfQ0xPQ0tfVElNRV9OT05FLgoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBJbXBsZW1lbnQgc3dpdGNoIHZtZXRob2QuIFBhdGNoIDUvMTIuCgoyMDA3LTEyLTE3IDE0OjUyOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2Jsb2NrKTogSW1wbGVtZW50IHRoZSBibG9jaygpIHNpZ25hbC4gVGhpcyBpbXBsZW1lbnRhdGlvbiB3aWxsIGJlIHJlcGxhY2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMTcgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jayk6IEltcGxlbWVudAoJICB0aGUgYmxvY2soKSBzaWduYWwuIFRoaXMgaW1wbGVtZW50YXRpb24gd2lsbCBiZSByZXBsYWNlZCBpbiBmdXR1cmUKCSAgcGF0Y2hlcywgaG93ZXZlci4gUGF0Y2ggNC8xMi4KCjIwMDctMTItMTcgMTQ6NDg6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeCB2bWV0aG9kIHByb3RvdHlwZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTEyLTE3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN0cnVjdCBfR3N0U3RyZWFtU2VsZWN0b3JDbGFzcyk6IEZpeAoJICB2bWV0aG9kIHByb3RvdHlwZXMuCgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9jbGFzc19pbml0KQoJICAoZ3N0X3N0cmVhbV9zZWxlY3Rvcl9ibG9jaywgZ3N0X3N0cmVhbV9zZWxlY3Rvcl9zd2l0Y2gpOiBBZGQgZW1wdHkKCSAgdm1ldGhvZCBkZWZpbml0aW9ucy4gUGF0Y2ggMy8xMi4KCjIwMDctMTItMTcgMTQ6NDY6MjYgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IEFkZCBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oIChzdHJ1Y3QgX0dzdFN0cmVhbVNlbGVjdG9yQ2xhc3MpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zdHJlYW1fc2VsZWN0b3JfY2xhc3NfaW5pdCk6IEFkZAoJICBgYmxvY2snIGFuZCBgc3dpdGNoJyBzaWduYWxzLgoJICAqIGdzdC9zd2l0Y2gvTWFrZWZpbGUuYW06CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2gtbWFyc2hhbC5saXN0OiBBZGQgZm9vIHRvIGdlbmVyYXRlIGEKCSAgbWFyc2hhbGxlciBmb3IgdGhlIGBzd2l0Y2gnIHNpZ25hbC4gUGF0Y2ggMi8xMi4KCjIwMDctMTItMTcgMTQ6NDM6MDQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLio6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aCAiR3N0Uy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMi0xNyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IFJlcGxhY2Ugd2l0aCBmaWxlcyBmcm9tCgkgIGdzdHN0cmVhbXNlbGVjdG9yLltjaF0sIHJlZ2lzdGVyZWQgYXMgdGhlICJzd2l0Y2giIHBsdWdpbiwgd2l0aAoJICAiR3N0U3dpdGNoIiB0eXBlcy4gUGF0Y2ggMS8xMi4KCjIwMDctMTItMTcgMTQ6Mzc6MzkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGlic291cCBwbHVnaW4gdG8gc3BlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGxpYnNvdXAgcGx1Z2luIHRvIHNwZWMKCjIwMDctMTItMTcgMTI6Mzc6MzYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGEuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5oOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCAicGFyc2Utb25seSIgcHJvcGVydHkgdG8gbWV0YWRhdGFkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkICJwYXJzZS1vbmx5IiBwcm9wZXJ0eSB0byBtZXRhZGF0YWRlbXV4LgoKMjAwNy0xMi0xNiAyMjo1NzoyMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rLzogUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uaDoKCSAgUmVuYW1lIEdMVmlkZW8qIHRvIEdzdEdMKi4KCjIwMDctMTItMTYgMDA6MTY6NDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IEFkZCB2Ymxhbmsgc3luY2hyb25pemF0aW9uLiAgSXNuJ3QgcmVhbGx5IHdvcmtpbmcgb24gbXkgZHJpdmVyLiA6KAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xleHRlbnNpb25zLmM6CgkgICogc3lzL2dsc2luay9nbGV4dGVuc2lvbnMuaDoKCSAgKiBzeXMvZ2xzaW5rL2dsdmlkZW8uYzoKCSAgQWRkIHZibGFuayBzeW5jaHJvbml6YXRpb24uICBJc24ndCByZWFsbHkgd29ya2luZyBvbiBteQoJICBkcml2ZXIuIDooCgoyMDA3LTEyLTE1IDE5OjMxOjIzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvOiBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgeFJHQiwgeEJHUiwgYW5kIEFZVVYuICBSZS1hZGQgc3VwcG9ydCBmb3IKCSAgcG93ZXItb2YtMiB0ZXh0dXJlcy4KCjIwMDctMTItMTUgMTc6NTI6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9kaXNwb3NlKSwKCSAgKGdzdF92aWRlb19wYXJzZV9zaW5rX2V2ZW50KToKCSAgRnJlZSB0aGUgYWRhcHRlciBvbiBkaXNwb3NlIGFuZCBjb3JyZWN0bHkgcmVzZXQgb24gbmV3c2VnbWVudCBldmVudHMuCgoyMDA3LTEyLTE1IDEzOjEwOjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IEltcHJvdmUgZHVyYXRpb24gcXVlcnkgYnkgZmlyc3QgYXNraW5nIHVwc3RyZWFtIGFuZCBpZiBpdCBjYW4ndCBoYW5kbGUgdGhlIHF1ZXJ5IHRyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19ldmVudCksIChnc3RfdmlkZW9fcGFyc2Vfc3JjX3F1ZXJ5KToKCSAgSW1wcm92ZSBkdXJhdGlvbiBxdWVyeSBieSBmaXJzdCBhc2tpbmcgdXBzdHJlYW0gYW5kIGlmIGl0IGNhbid0IGhhbmRsZQoJICB0aGUgcXVlcnkgdHJ5IHRvIGdldCB0aGUgZHVyYXRpb24gaW4gYnl0ZXMgZnJvbSB1cHN0cmVhbSBhbmQgY29udmVydC4KCSAgRm9yIHNlZWtzLCB0cnkgaWYgdXBzdHJlYW0gaGFuZGxlcyB0aGlzIGFscmVhZHkgZmlyc3QgYW5kIGRvIG91cgoJICBjb252ZXJzaW9uIHRvIGJ5dGUgZm9ybWF0IG9ubHkgaWYgaXQgZG9lc24ndCBhbmQgaWYgd2UgZ2V0IGEKCSAgbmV3c2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBrZWVwIGl0IGFuZCBvbmx5IGRvIG91ciBjb252ZXJzaW9ucwoJICBpZiB0aGUgZXZlbnQgaGFzIGFub3RoZXIgZm9ybWF0LgoKMjAwNy0xMi0xNSAwNzozNzoyMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQgZG93bnN0cmVhbSBlbGVtZW50cyBkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzoKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2VuZGlhbm5lc3NfZ2V0X3R5cGUpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19wYXJzZV9mb3JtYXRfdG9fZm91cmNjKSwKCSAgKGdzdF92aWRlb19wYXJzZV91cGRhdGVfYmxvY2tfc2l6ZSksIChnc3RfdmlkZW9fcGFyc2VfY2hhaW4pLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgc3VwcG9ydCBmb3IgdmlkZW8veC1yYXctcmdiIGFuZCB2aWRlby94LXJhdy1ncmF5LiBBbHNvIHNlbmQKCSAgZG93bnN0cmVhbSBlbGVtZW50cyBkb3duc3RyZWFtLCBub3QgdXBzdHJlYW0uCgoyMDA3LTEyLTE1IDA2OjMzOjM3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ3N0dmlkZW8tY29tbW9uLio6IFB1bGwgdG9nZXRoZXIgc29tZSBjb21tb24gcmF3IHZpZGVvIGZ1bmN0aW9ucyBpbnRvIG9uZSBsb2NhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nc3R2aWRlby1jb21tb24uYzoKCSAgKiBzeXMvZ2xzaW5rL2dzdHZpZGVvLWNvbW1vbi5oOgoJICBQdWxsIHRvZ2V0aGVyIHNvbWUgY29tbW9uIHJhdyB2aWRlbyBmdW5jdGlvbnMgaW50byBvbmUgbG9jYXRpb24uCgkgIFRoaXMgc2hvdWxkIGV2ZW50dWFsbHkgbW92ZSB0byAtYmFzZS4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmg6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmM6CgkgICogc3lzL2dsc2luay9nbHZpZGVvLmg6CgkgICogc3lzL2dsc2luay9nc3RvcGVuZ2wuYzoKCSAgVXNlIHRoZSBuZXcgdmlkZW8tY29tbW9uLmggc3R1ZmYuICBSZWFkZCBzdXBwb3J0IGZvciBSR0IgdmlkZW8uCgoyMDA3LTEyLTE0IDE4OjE4OjM3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL1RPRE86CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFjb21tb24uYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhY29tbW9uLmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YWRlbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBuZXcgbW9kdWxlIGZvciBjb21tb24gZnVuY3Rpb25zLiBVc2luZyBHU1RfVFlQRV9GUkFDVElPTiBmb3IgRXhpZiAoUylSYXRpb25hbCB0eXBlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIG5ldyBtb2R1bGUgZm9yIGNvbW1vbiBmdW5jdGlvbnMuIFVzaW5nIEdTVF9UWVBFX0ZSQUNUSU9OIGZvciBFeGlmIChTKVJhdGlvbmFsIHR5cGVzLgoKMjAwNy0xMi0xNCAxNzo1MTo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLio6IEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmg6CgkgIEhhc2ggc3RyZWFtcyBieSBwaWQgYWdhaW4uIEFkZCBhIGxpbmtlZCBsaXN0IGluc2lkZSBlYWNoCgkgIHN0cmVhbSB3aXRoIGEgbGlzdCBvZiBzdWJfdGFibGVzLiBGaXggbXVsdGlwbGUgc2VjdGlvbnMKCSAgYXMgaXQgd2FzIGJvcmtlZCB3aXRoIG15IGxhc3QgY29tbWl0LgoKMjAwNy0xMi0xNCAxNjoyMzowNiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSogZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06CgkqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIHVwZGF0ZSBzcGVjIGZpbGUgYW5kIGFkZCB0d28gbWlzc2luZyBmaWxlcyBmb3IgZGlzdGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZSBhbmQgYWRkIHR3byBtaXNzaW5nIGZpbGVzIGZvciBkaXN0aW5nCgoyMDA3LTEyLTEzIDE3OjE5OjU0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9UT0RPOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V1dGlsLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0eXBlcy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29kZSBkb2N1bWVudGF0aW9uLgoKMjAwNy0xMi0xMyAxMjo0NTowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L01ha2VmaWxlOgoJKiBleHQvbWV0YWRhdGEvdGVzdC9NZXRhZGF0YUVkaXRvck1haW4uZ2xhZGU6CgkqIGV4dC9tZXRhZGF0YS90ZXN0L21ldGFkYXRhX2VkaXRvci5jOgoJICBBZGRlZCBhIHRlc3QgYXBwbGljYXRpb24uIEFkZGVkIHNvbWUgRVhJRiB0YWdzLiBGaXhlZCBhIG11eGVyIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgdGVzdCBhcHBsaWNhdGlvbi4gQWRkZWQgc29tZSBFWElGIHRhZ3MuIEZpeGVkIGEgbXV4ZXIgYnVnLgoKMjAwNy0xMi0xMyAxMToyNTowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBJbXBsZW1lbnQgYSBxdWVyeSB0eXBlIGZ1bmN0aW9uIGZvciB0aGUgc3JjIHBhZCwgaW1wbGVtZW50IHNlZWtpbmcgYW5kIHVzZSBBTlkgY2FwcyBmLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9pbml0KSwKCSAgKGdzdF92aWRlb19wYXJzZV9zcmNfZXZlbnQpLCAoZ3N0X3ZpZGVvX3BhcnNlX3NyY19xdWVyeV90eXBlKToKCSAgSW1wbGVtZW50IGEgcXVlcnkgdHlwZSBmdW5jdGlvbiBmb3IgdGhlIHNyYyBwYWQsIGltcGxlbWVudCBzZWVraW5nCgkgIGFuZCB1c2UgQU5ZIGNhcHMgZm9yIHRoZSBzaW5rIHBhZCBhcyB0aGUgZWxlbWVudCBkb2Vzbid0IGNhcmUgd2hhdAoJICBjYXBzIHRoZSBpbnB1dCBoYXMgYW5kIGV2ZXJ5dGhpbmcgaXMgaGFuZGxlZCB2aWEgcHJvcGVydGllcy4KCjIwMDctMTItMTMgMTA6Mzg6MjMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogSGFuZGxlIC0xIHZhbHVlcyBmb3IgdGhlIENPTlZFUlQgcXVlcnkgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6IChnc3RfdmlkZW9fcGFyc2VfY29udmVydCksCgkgIChnc3RfdmlkZW9fcGFyc2Vfc2lua19ldmVudCk6CgkgIEhhbmRsZSAtMSB2YWx1ZXMgZm9yIHRoZSBDT05WRVJUIHF1ZXJ5IHRvby4KCjIwMDctMTItMTMgMTA6MTY6NDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogQWRkIFlWMTIgdG8gdGhlIHBhZCB0ZW1wbGF0ZXMgYXMgaXQgaXMgc3VwcG9ydGVkIHRvbyBhbmQgYWxsb3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX3NpbmtfZXZlbnQpOgoJICBBZGQgWVYxMiB0byB0aGUgcGFkIHRlbXBsYXRlcyBhcyBpdCBpcyBzdXBwb3J0ZWQgdG9vIGFuZCBhbGxvdwoJICAtMSBhcyBzdG9wIHBvc2l0aW9uIGZvciBORVdTRUdNRU5UIGV2ZW50cy4KCjIwMDctMTItMTMgMDg6NTQ6MDggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOiBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICBBZGQgJChHU1RfUExVR0lOU19CQVNFX0NGTEFHUykgdG8gQ0ZMQUdTIHRvIGZpeCB0aGUgYnVpbGQuCgkgICogZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiAoZ3N0X3ZpZGVvX3BhcnNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3BhcnNlX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fcGFyc2VfZ2V0X3Byb3BlcnR5KToKCSAgVXNlIGdfdmFsdWVfW3NnXWV0X2VudW0oKSBmb3IgZW51bSBwcm9wZXJ0aWVzLCBnX3ZhbHVlX1tzZ11ldF9pbnQoKQoJICBnaXZlcyBhIGdfY3JpdGljYWwoKS4KCjIwMDctMTItMTMgMDQ6NDM6NTggKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvOiBBZGQgYSBidW5jaCBvZiBmZWF0dXJlczogaGFuZGxlIGZvcm1hdCBzcGVjaWZpY2F0aW9uLCBoYW5kbGUgcXVlcmllcyBhbmQgY29udmVyc2lvbi4gIFdvcmtzIG11Y2ggbGlrLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3BhcnNlL1JFQURNRToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEFkZCBhIGJ1bmNoIG9mIGZlYXR1cmVzOiBoYW5kbGUgZm9ybWF0IHNwZWNpZmljYXRpb24sIGhhbmRsZQoJICBxdWVyaWVzIGFuZCBjb252ZXJzaW9uLiAgV29ya3MgbXVjaCBsaWtlIGEgbm9ybWFsIHBhcnNlciBub3cuCgoyMDA3LTEyLTEyIDE2OjU5OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBDbGVhbiB1cCB0aGUgZHluYW1pYyBwYWRzIHdoZW4gZ29pbmcgdG8gUkVBRFkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9zZXR1cCksIChnc3RfcnRwX3B0X2RlbXV4X3JlbGVhc2UpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZ3N0X3J0cF9zc3JjX2RlbXV4X3Jlc2V0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfcXVlcnkpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgIENsZWFuIHVwIHRoZSBkeW5hbWljIHBhZHMgd2hlbiBnb2luZyB0byBSRUFEWS4KCjIwMDctMTItMTIgMTI6MTE6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEZpeCBzb21lIGxlYWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5faGFuZGxlX21lc3NhZ2UpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfZmluYWxpemUpOgoJICBGaXggc29tZSBsZWFrcy4KCjIwMDctMTItMTIgMDQ6MTE6MTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLio6IEFkZCBzdXBwb3J0IGZvciAiYXVkaW8veC1wcml2YXRlMS1kdHMiIGFzIHVzZWQgYnkgZmx1cHNwYXJzZS4gTW9zdCBjaGFuZ2VzIGFkYXB0ZWQgZnJvbSBhNTJkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IChnc3RfZHRzZGVjX2luaXQpLAoJICAoZ3N0X2R0c2RlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2R0c2RlY19jaGFpbl9yYXcpLAoJICAoZ3N0X2R0c2RlY19jaGFpbik6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yICJhdWRpby94LXByaXZhdGUxLWR0cyIgYXMgdXNlZCBieSBmbHVwc3BhcnNlLiBNb3N0CgkgIGNoYW5nZXMgYWRhcHRlZCBmcm9tIGE1MmRlYy4KCjIwMDctMTItMTIgMDI6MzM6MTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgc3lzL2dsc2luay86IFNwbGl0IG91dCBnbC1yZWxhdGVkIGNvZGUgaW50byBhIHNlcGFyYXRlIGZpbGUgd2l0aCBhIHNlbnNpYmxlIEFQSS4gIE1ham9yIGNsZWFudXAuICBTdGlsbCBjcmFzaGVzIG9jY2FzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5jOgoJICAqIHN5cy9nbHNpbmsvZ2x2aWRlby5oOgoJICBTcGxpdCBvdXQgZ2wtcmVsYXRlZCBjb2RlIGludG8gYSBzZXBhcmF0ZSBmaWxlIHdpdGggYQoJICBzZW5zaWJsZSBBUEkuICBNYWpvciBjbGVhbnVwLiAgU3RpbGwgY3Jhc2hlcyBvY2Nhc2lvbmFsbHkKCSAgZHVlIHRvIGRpZmZlcmVudCB0aHJlYWRzIHRvdWNoaW5nIGJpdHMgYXQgdGhlIHNhbWUgdGltZS4KCjIwMDctMTItMTEgMTY6Mzk6MzkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy4qOiBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5jOiAoX2RvX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19jbGFzc19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfaW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Rpc3Bvc2UpLCAoZ3N0X3NvdXBodHRwX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfcHJvcGVydHkpLCAodW5pY29kaWZ5KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5pY29kaWZ5KSwgKGdzdF9zb3VwaHR0cF9zcmNfY3JlYXRlKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RhcnQpLCAoZ3N0X3NvdXBodHRwX3NyY19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrKSwgKGdzdF9zb3VwaHR0cF9zcmNfdW5sb2NrX3N0b3ApLAoJICAoZ3N0X3NvdXBodHRwX3NyY19nZXRfc2l6ZSksIChnc3Rfc291cGh0dHBfc3JjX2lzX3NlZWthYmxlKSwKCSAgKHNvdXBfZ290X2hlYWRlcnMpLCAoc291cF9nb3RfYm9keSksIChzb3VwX2ZpbmlzaGVkKSwKCSAgKHNvdXBfZ290X2NodW5rKSwgKHNvdXBfcmVzcG9uc2UpLCAoc291cF9wYXJzZV9zdGF0dXMpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3R5cGUpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfZ2V0X3Byb3RvY29scyksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VyaV9nZXRfdXJpKSwgKGdzdF9zb3VwaHR0cF9zcmNfdXJpX3NldF91cmkpLAoJICAoZ3N0X3NvdXBodHRwX3NyY191cmlfaGFuZGxlcl9pbml0KToKCSAgKiBleHQvc291cC9nc3Rzb3VwaHR0cHNyYy5oOgoJICBEbyBub3QgdHJ5IHRvIHVucGF1c2UgSS9PIGluIHRoZSAicXVldWVkIiBzdGF0ZS4KCSAgUmVvcmdhbmlzZSBhIGJ1bmNoIG9mIHRoaW5ncyBhbmQgY2xlYW51cHMuCgkgIFVzZXMgR19HVUlOVDY0X0ZPUk1BVCBpbnN0ZWFkIG9mIGhhcmQtY29kaW5nICVsbHUuCgkgIFNlZSAjNTAyMzM1LgoKMjAwNy0xMi0xMSAxNjoyNjowNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogRml4IGNhcHMgbWVtbGVhay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOiAoZ3N0X3gyNjRfZW5jX3NldF9zcmNfY2Fwcyk6CgkgIEZpeCBjYXBzIG1lbWxlYWsuCgoyMDA3LTEyLTExIDExOjU0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBEb24ndCBzdHJkdXAgKGFuZCB0aHVzIGxlYWspIGNvZGVjIG5hbWUgc3RyaW5ncyB3aGVuIHBhc3NpbmcgdGhlbSB0byBnc3RfdGFnX2xpc3RfYWRkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKToKCSAgRG9uJ3Qgc3RyZHVwIChhbmQgdGh1cyBsZWFrKSBjb2RlYyBuYW1lIHN0cmluZ3Mgd2hlbiBwYXNzaW5nCgkgIHRoZW0gdG8gZ3N0X3RhZ19saXN0X2FkZCgpLgoKMjAwNy0xMi0xMCAxODozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUG9zdCBhIG1lc3NhZ2Ugd2hlbiB0aGUgU0RFUyBpbmZvciBjaGFuZ2VzIGZvciBhIHNvdXJjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2hhbmRsZV9tZXNzYWdlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChzb3VyY2VfZ2V0X3NkZXNfc3RydWN0dXJlKSwKCSAgKG9uX3NzcmNfc2Rlcyk6CgkgIFBvc3QgYSBtZXNzYWdlIHdoZW4gdGhlIFNERVMgaW5mb3IgY2hhbmdlcyBmb3IgYSBzb3VyY2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOgoJICBVcGRhdGUgc29tZSBjb21tZW50cy4KCjIwMDctMTItMTAgMTc6MTg6MzUgKzAwMDAgIG11dGV4IGF0IHJ1bmJveCBkb3QgY29tIDxtdXRleEBydW5ib3guY29tPgoKCSAgZ3N0L3ZpZGVvcGFyc2UvZ3N0dmlkZW9wYXJzZS5jOiBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMgc29tZXRoaW5nIGRpZmZlcmVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogPG11dGV4IGF0IHJ1bmJveCBkb3QgY29tPgoJICAqIGdzdC92aWRlb3BhcnNlL2dzdHZpZGVvcGFyc2UuYzogKGdzdF92aWRlb19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHRoZSBxdWVyeSB1cHN0cmVhbSwgdGhlIGRlZmF1bHQgZWxlbWVudCBldmVudCBoYW5kbGVyIGRvZXMKCSAgc29tZXRoaW5nIGRpZmZlcmVudC4gRml4ZXMgIzUwMjg3OS4KCjIwMDctMTItMTAgMTU6MzQ6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX3NzcmNfc2RlcyksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBtYW5hZ2VyLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX3NkZXMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIEFkZCBzaWduYWwgdG8gbm90aWZ5IG9mIGFuIFNERVMgY2hhbmdlLgoJICBGaXggb2JqZWN0IHR5cGUgaW4gdGhlIHNpZ25hbCBjYWxsYmFja3MuCgoyMDA3LTEyLTEwIDE0OjAzOjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoIHRoZW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9pbml0KSwgKHNkZXNfdHlwZV90b19uYW1lKSwKCSAgKGdzdF9ydHBfYmluX3NldF9zZGVzX3N0cmluZyksIChnc3RfcnRwX2Jpbl9nZXRfc2Rlc19zdHJpbmcpLAoJICAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEV4cG9zZSBTREVTIGl0ZW1zIGFzIHByb3BlcnRpZXMgYW5kIGNvbmZpZ3VyZSB0aGUgc2Vzc2lvbiBtYW5hZ2VycyB3aXRoCgkgIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9zZXRfcHJvcGVydHkpOgoJICBGaXggU1NSQyBwcm9wZXJ0eS4KCjIwMDctMTItMTAgMTE6MDg6MTEgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFVwZGF0ZSBjb21tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgVXBkYXRlIGNvbW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KToKCSAgRGVmaW5lIHNvbWUgR09iamVjdCBwcm9wZXJ0aWVzIHRvIHNldCBTREVTIGFuZCBvdGhlciBjb25maWd1cmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksCgkgIChydHBfc2Vzc2lvbl9zZXRfcHJvcGVydHkpLCAocnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwKCSAgKG9uX3NzcmNfc2RlcyksIChydHBfc2Vzc2lvbl9zZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9iYW5kd2lkdGgpLCAocnRwX3Nlc3Npb25fc2V0X3J0Y3BfZnJhY3Rpb24pLAoJICAocnRwX3Nlc3Npb25fZ2V0X3J0Y3BfZnJhY3Rpb24pLCAocnRwX3Nlc3Npb25fc2V0X3NkZXNfc3RyaW5nKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zZGVzX3N0cmluZyksIChvYnRhaW5fc291cmNlKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9pbnRlcm5hbF9zb3VyY2UpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX25leHRfdGltZW91dCksIChzZXNzaW9uX3NkZXMpLAoJICAoaXNfcnRjcF90aW1lKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIEFkZCBzaWduYWwgd2hlbiBuZXcgU0RFUyBpbmZvciBoYXMgYmVlbiBmb3VuZCBmb3IgYSBzb3VyY2UuCgkgIENyZWF0ZSBwcm9wZXJ0aWVzIGZvciBTREVTIGFuZCBvdGhlciBpbmZvLgoJICBTaW1wbGlmeSB0aGUgU0RFUyBBUEkuCgkgIEFkZCBtZXRob2QgZm9yIGdldHRpbmcgdGhlIGludGVybmFsIHNvdXJjZSBvYmplY3Qgb2YgdGhlIHNlc3Npb24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2NsYXNzX2luaXQpLAoJICAocnRwX3NvdXJjZV9maW5hbGl6ZSksIChydHBfc291cmNlX3NldF9wcm9wZXJ0eSksCgkgIChydHBfc291cmNlX2dldF9wcm9wZXJ0eSksIChydHBfc291cmNlX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3NvdXJjZV9nZXRfc3NyYyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2VfaXNfYXNfY3NyYyksIChydHBfc291cmNlX2lzX2FjdGl2ZSksCgkgIChydHBfc291cmNlX2lzX3ZhbGlkYXRlZCksIChydHBfc291cmNlX2lzX3NlbmRlciksCgkgIChydHBfc291cmNlX3JlY2VpdmVkX2J5ZSksIChydHBfc291cmNlX2dldF9ieWVfcmVhc29uKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3NkZXMpLCAocnRwX3NvdXJjZV9zZXRfc2Rlc19zdHJpbmcpLAoJICAocnRwX3NvdXJjZV9nZXRfc2RlcyksIChydHBfc291cmNlX2dldF9zZGVzX3N0cmluZyksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgQWRkIEdPYmplY3QgcHJvcGVydGllcyBmb3IgdmFyaW91cyB0aGluZ3MuCgkgIERvbid0IGxlYWsgdGhlIGJ5ZSByZWFzb24uCgoyMDA3LTEyLTA5IDE5OjM3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBGaXggbGlzdCBvZiBzdXBwb3J0ZWQgYW5kIGtub3duIGNvZGVjcy4KCSAgRW1pdCB0YWcgd2l0aCB0aGUgY29kZWMgbmFtZSBzbyBpdCBnZXRzIHByb3Blcmx5IHJlcG9ydGVkIGluIHRvdGVtIGFuZAoJICBvdGhlciBhcHBsaWNhdGlvbnMuCgoyMDA3LTEyLTA5IDA0OjMwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBjb25maWd1cmUuYWM6IERvbid0IGRlZmluZSBHU1RfRElTQUJMRV9ERVBSRUNBVEVEIGZvciByZWxlYXNlcy4gRml4ZXMgIzQ5ODE4MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBkZWZpbmUgR1NUX0RJU0FCTEVfREVQUkVDQVRFRCBmb3IgcmVsZWFzZXMuIEZpeGVzICM0OTgxODEuCgoyMDA3LTEyLTA2IDEyOjQ1OjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBGaXggY29tcGlsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl90cmFuc2Zvcm1faXApOgoJICBGaXggY29tcGlsYXRpb24uCgoyMDA3LTEyLTA2IDEyOjQyOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb24ndCBwcm9jZXNzIGJ1ZmZlcnMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX3RyYW5zZm9ybV9pcCk6CgkgIERvbid0IHByb2Nlc3MgYnVmZmVycyBpbiBwYXNzdGhyb3VnaCBtb2RlLgoKMjAwNy0xMi0wNiAxMjozNzo0MyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IFRoZSB0cmFuc2Zvcm0oKSBtZXRob2RzIGFyZSBub3QgY2FsbGVkIGluIHBhc3N0aHJvdWdoIG1vZGUgc28gdGhlcmUncyBubyBuZWVkIGZvciBjaGVja2luZyBpZiB0aGUgZWxlbWVuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoYnB3c2luY190cmFuc2Zvcm0pOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAobHB3c2luY190cmFuc2Zvcm0pOgoJICBUaGUgdHJhbnNmb3JtKCkgbWV0aG9kcyBhcmUgbm90IGNhbGxlZCBpbiBwYXNzdGhyb3VnaCBtb2RlIHNvCgkgIHRoZXJlJ3Mgbm8gbmVlZCBmb3IgY2hlY2tpbmcgaWYgdGhlIGVsZW1lbnQgaXMgaW4gcGFzc3Rocm91Z2ggbW9kZS4KCjIwMDctMTItMDYgMTI6Mjk6MjYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBTeW5jIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMgd2l0aCB0aGUgY29udHJvbGxlciBldmVuIGluIHBhc3N0aHJvdWdoIG1vZGUgdG8gZ2V0IGNvbnNpc3RlbnQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfdHJhbnNmb3JtKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfdHJhbnNmb3JtKToKCSAgU3luYyB0aGUgR09iamVjdCBwcm9wZXJ0aWVzIHdpdGggdGhlIGNvbnRyb2xsZXIgZXZlbiBpbiBwYXNzdGhyb3VnaAoJICBtb2RlIHRvIGdldCBjb25zaXN0ZW50IHByb3BlcnR5IHZhbHVlcy4KCjIwMDctMTItMDYgMTA6NDg6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogTWFyayBjcmMgdmFsdWVzIHRhYmxlIGFzIGNvbnN0YW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKGNyY190YWIpOgoJICBNYXJrIGNyYyB2YWx1ZXMgdGFibGUgYXMgY29uc3RhbnQuCgoyMDA3LTEyLTA1IDE3OjAwOjU5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIHNvbWUgdGFncyB0byBleGlmIHBhcnNlci4KCjIwMDctMTItMDUgMTI6NDA6MDUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvOiBBIHN1YiB0YWJsZSBpcyBpZGVudGlmaWVkIGJ5IHRoZSBwYWlyIHRhYmxlX2lkIGFuZCBzdWJfdGFibGVfaWRlbnRpZmllciwgbm90IGJ5IHBpZC4gU28gaGFzaCB3aXRoIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgQSBzdWIgdGFibGUgaXMgaWRlbnRpZmllZCBieSB0aGUgcGFpciB0YWJsZV9pZCBhbmQKCSAgc3ViX3RhYmxlX2lkZW50aWZpZXIsIG5vdCBieSBwaWQuIFNvIGhhc2ggd2l0aCB0aGF0LgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBNYWtlIHN1cmUgaW5pdGlhbCBwaWRzIGFyZSBhZGRlZCBwcm9wZXJseSB0byBmaWx0ZXIsCgoyMDA3LTEyLTA1IDExOjI1OjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IERvbid0IHB1c2ggYnVmZmVycyBmcm9tIGFwcCB0aHJlYWQgd2hlbiB1bnNldHRpbmcgYHF1ZXVlLWJ1ZmZlcnMnLCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOiBEb24ndCBwdXNoCgkgIGJ1ZmZlcnMgZnJvbSBhcHAgdGhyZWFkIHdoZW4gdW5zZXR0aW5nIGBxdWV1ZS1idWZmZXJzJywgaXQncwoJICBkYW5nZXJvdXMgYW5kIHRoZSBjaGFpbiBmdW5jdGlvbiB3aWxsIGRvIGl0IGZvciB1cyBhbnl3YXkuCgoyMDA3LTEyLTA0IDE3OjIwOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkgIE5vdyBjb21waWxlcyBldmVuIHdoZW4gbGliaXB0YyBpcyBtaXNzaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGNvbXBpbGVzIGV2ZW4gd2hlbiBsaWJpcHRjIGlzIG1pc3NpbmcuCgoyMDA3LTEyLTA0IDE2OjQyOjI1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBlbGVtZW50IHByb3BlcnRpZXMgYW5kIG5vdyBtdXhlciB3cml0ZXMgdG8gcG5nIGFsc28uCgoyMDA3LTEyLTAzIDE4OjI4OjMyICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzIG1lc3NhZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgUmVtb3ZlIHNpZ25hbHMgZm9yIHBhdCwgcG10LCBuaXQsIGVpdCwgc2R0LiBSZXBsYWNlIHdpdGggYnVzCgkgIG1lc3NhZ2VzLgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBJbnN0ZWFkIG9mIGF0dGFjaGluZyB0byBzaWduYWxzLCB1c2UgdGhlIGJ1cyBtZXNzYWdlcy4KCSAgQWxzbyBmaXggdXAgc28gdGhlIGR2YnNyYyBzdGFydHMgb25seSBvdXRwdXR0aW5nIHRoZSBpbmZvIHRhYmxlcwoJICBsaWtlIFBBVCwgQ0FULCBOSVQsIFNEVCwgRUlUIGluc3RlYWQgb2YgdGhlIHdob2xlIHRzLgoKMjAwNy0xMi0wMyAxNjoxNDowMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4anBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBJUFRDIGNodW5rIHNlbnQgYXMgdGFnLiBNdXhlciBpbXBsZW1ldHMgR3N0VGFnU2V0dGVyIGludGVyZmFjZS4KCjIwMDctMTItMDMgMTM6MDg6MjYgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogU2hvdWxkIGZpeCB0aGUgNjQtYml0IGJ1aWxkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICBTaG91bGQgZml4IHRoZSA2NC1iaXQgYnVpbGQKCjIwMDctMTEtMzAgMTg6MzA6MTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4LmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5oOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXBuZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE11eGVyIHdyaXRlcyAoaW4ganBlZyBvbmx5KSB3aG9sZSBFWElGIGFuZCBYTVAgY2h1bmtzIHNlbnQgYXMgdGFncy4KCjIwMDctMTEtMzAgMTQ6MDg6MTUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogQWRkIENvUlJFIGVuY29kaW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGQgQ29SUkUgZW5jb2RpbmcKCjIwMDctMTEtMzAgMTM6MTg6MzYgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogQ1JDIGNoZWNrIHRoZSBwc2kgcGlkcy4gQ1JDIGNoZWNraW5nIGNvZGUgcmVsaWNlbmNlZCBmcm9tIE1QTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgIENSQyBjaGVjayB0aGUgcHNpIHBpZHMuIENSQyBjaGVja2luZyBjb2RlIHJlbGljZW5jZWQgZnJvbSBNUEwuCgkgIFRoYW5rcyBGbHVlbmRvLgoKMjAwNy0xMS0zMCAxMjo1MzoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFtdXhqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eGpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhbXV4cG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YW11eHBuZy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXR5cGVzLmg6CgkgIEZpeGVkIGdldF9yYW5nZSBidWcgd2hlbiBpbmplY3RpbmcgYW5kIHN0cmlwcGluZy4gQW5kIG11eCBpcyBhbG1vc3QgZG9uZSBub3cuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBnZXRfcmFuZ2UgYnVnIHdoZW4gaW5qZWN0aW5nIGFuZCBzdHJpcHBpbmcuIEFuZCBtdXggaXMgYWxtb3N0IGRvbmUgbm93LgoKMjAwNy0xMS0zMCAxMDo0NjoyMyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBVc2UgZ2xpYiBtYWNybyBmb3Igc3dhcHBpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIFVzZSBnbGliIG1hY3JvIGZvciBzd2FwcGluZwoKMjAwNy0xMS0yOSAxMzozMjoxMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBEaXNhYmxlIENvcHlSZWN0IGVuY29kaW5nIGJ5IGRlZmF1bHQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgRGlzYWJsZSBDb3B5UmVjdCBlbmNvZGluZyBieSBkZWZhdWx0CgkgIEFkZCBSUkUgZW5jb2RpbmcKCjIwMDctMTEtMjkgMTA6NDk6MTggKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBjb25maWd1cmUuYWM6IEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50IG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgbGlic291cCByZXF1aXJlbWVudCBhcyBsaWJzb3VwIGRvZXMgbm90IHN1cHBvcnQgYXN5bmMgY2xpZW50CgkgIG9wZXJhdGlvbiBwcmlvciB0byB2ZXJzaW9uIDIuMi4xMDQgYW5kIGl0IGhhcyBzb21lIGxlYWtzLgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksCgkgIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksIChnc3Rfc291cGh0dHBfc3JjX3VubG9ja19zdG9wKSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfZ2V0X3NpemUpLCAoc291cF9nb3RfaGVhZGVycyksIChzb3VwX2dvdF9ib2R5KSwKCSAgKHNvdXBfZmluaXNoZWQpLCAoc291cF9nb3RfY2h1bmspLCAoc291cF9yZXNwb25zZSksCgkgIChzb3VwX3Nlc3Npb25fY2xvc2UpOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmg6CgkgIEltcGxlbWVudCB1bmxvY2soKS4KCSAgUGlja3MgdXAgdGhlIHNpemUgZnJvbSB0aGUgQ29udGVudC1MZW5ndGggaGVhZGVyIGFuZCBlbWl0IGEgZHVyYXRpb24KCSAgbWVzc2FnZS4KCSAgRG9uJ3QgbGVhayB0aGUgR01haW5Db250ZXh0IG9iamVjdC4KCSAgRml4ZXMgIzUwMDA5OS4KCjIwMDctMTEtMjkgMTA6NDQ6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogRG9uJ3QgZnJlZSB1bmluaXRpYWxpemVkIGRhdGEgd2hlbiB3ZSBhcmUgaW4gZXJyb3IuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19zZXRfY2FwcyksCgkgIChhbHNhc3BkaWZzaW5rX2dldF90aW1lKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3BhcmFtcyksCgkgIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSk6CgkgIERvbid0IGZyZWUgdW5pbml0aWFsaXplZCBkYXRhIHdoZW4gd2UgYXJlIGluIGVycm9yLgoKMjAwNy0xMS0yOCAxNDowMzozNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF0YWdzLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXhtcC5oOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZW5kaW5nIG1ha2UgYW5kIG1vZGVsIGluZGl2aWR1YWwgdGFncyBhbmQgbXV4ZXIgbm93IGxpbmtzIGZpbmUuCgoyMDA3LTExLTI4IDA4OjEzOjUyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YW11eC5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguaDoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YS5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhaXB0Yy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXRhZ3MuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdGFncy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGF4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRheG1wLmg6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeGVzIGluIGdldF9yYW5nZSBhbmQgYmV0dGVyIHN0cnVjdHVyZSBmb3IgZ2VuZXJpYyBtdXhlciBhbmQgZGVtdXhlci4KCjIwMDctMTEtMjYgMTM6MTk6NDggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjYgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOiBBZGQgUXVpY2tUaW1lIFdyYXBwZXIgcGx1Zy1pbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHVzaF9kcmFpbiksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2Vzcyk6IEZpeAoJICBidWlsZCBvbiBNYWMgT1MgWCBMZW9wYXJkLiBJbmNvcnJlY3QgcHJpbnRmIGZvcm1hdCBhcmd1bWVudHMuCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9xdHdyYXBwZXIvTWFrZWZpbGUuYW06CgkgICogc3lzL3F0d3JhcHBlci9hdWRpb2RlY29kZXJzLmM6CgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9iYXNlX2luaXQpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2xhc3NfaW5pdCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9pbml0KSwKCSAgKGNsZWFyX0F1ZGlvU3RyZWFtQmFzaWNEZXNjcmlwdGlvbiksIChmaWxsX2luZGVzY19tcDMpLAoJICAoZmlsbF9pbmRlc2NfYWFjKSwgKGZpbGxfaW5kZXNjX3NhbXIpLCAoZmlsbF9pbmRlc2NfZ2VuZXJpYyksCgkgIChtYWtlX3NhbXJfbWFnaWNfY29va2llKSwgKG9wZW5fZGVjb2RlciksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2Rlcl9zaW5rX3NldGNhcHMpLCAocHJvY2Vzc19idWZmZXJfY2IpLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfY2hhaW4pLAoJICAocXR3cmFwcGVyX2F1ZGlvX2RlY29kZXJfc2lua19ldmVudCksCgkgIChxdHdyYXBwZXJfYXVkaW9fZGVjb2RlcnNfcmVnaXN0ZXIpOgoJICAqIHN5cy9xdHdyYXBwZXIvY29kZWNtYXBwaW5nLmM6IChhdWRpb19jYXBzX2Zyb21fc3RyaW5nKSwKCSAgKGZvdXJjY190b19jYXBzKToKCSAgKiBzeXMvcXR3cmFwcGVyL2NvZGVjbWFwcGluZy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5jOiAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX2F2YzEpLAoJICAoaW1hZ2VfZGVzY3JpcHRpb25fZm9yX21wNHYpLCAoaW1hZ2VfZGVzY3JpcHRpb25fZnJvbV9zdHNkX2J1ZmZlciksCgkgIChpbWFnZV9kZXNjcmlwdGlvbl9mcm9tX2NvZGVjX2RhdGEpOgoJICAqIHN5cy9xdHdyYXBwZXIvaW1hZ2VkZXNjcmlwdGlvbi5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5jOiAoZ2V0X25hbWVfaW5mb19mcm9tX2NvbXBvbmVudCksCgkgIChnZXRfb3V0cHV0X2luZm9fZnJvbV9jb21wb25lbnQpLCAoZHVtcF9hdmNjX2F0b20pLAoJICAoZHVtcF9pbWFnZV9kZXNjcmlwdGlvbiksIChkdW1wX2NvZGVjX2RlY29tcHJlc3NfcGFyYW1zKSwKCSAgKGFkZFNJbnQzMlRvRGljdGlvbmFyeSksIChkdW1wX2N2cGl4ZWxfYnVmZmVyKSwKCSAgKERlc3Ryb3lBdWRpb0J1ZmZlckxpc3QpLCAoQWxsb2NhdGVBdWRpb0J1ZmZlckxpc3QpOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR1dGlscy5oOgoJICAqIHN5cy9xdHdyYXBwZXIvcXR3cmFwcGVyLmM6IChwbHVnaW5faW5pdCk6CgkgICogc3lzL3F0d3JhcHBlci9xdHdyYXBwZXIuaDoKCSAgKiBzeXMvcXR3cmFwcGVyL3ZpZGVvZGVjb2RlcnMuYzoKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2Jhc2VfaW5pdCksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jbGFzc19pbml0KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyX2luaXQpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfZmluYWxpemUpLAoJICAoZmlsbF9pbWFnZV9kZXNjcmlwdGlvbiksIChuZXdfaW1hZ2VfZGVzY3JpcHRpb24pLCAoY2xvc2VfZGVjb2RlciksCgkgIChvcGVuX2RlY29kZXIpLCAocXR3cmFwcGVyX3ZpZGVvX2RlY29kZXJfc2lua19zZXRjYXBzKSwKCSAgKGRlY29tcHJlc3NDYiksIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9jaGFpbiksCgkgIChxdHdyYXBwZXJfdmlkZW9fZGVjb2Rlcl9zaW5rX2V2ZW50KSwKCSAgKHF0d3JhcHBlcl92aWRlb19kZWNvZGVyc19yZWdpc3Rlcik6IEluaXRpYWwgaW1wb3J0IG9mIFF1aWNrVGltZQoJICB3cmFwcGVyIGpvaW50bHkgZGV2ZWxvcHBlZCBieSBTb25nYmlyZCBhdXRob3JzIChQaW9uZWVycyBvZiB0aGUKCSAgSW5ldml0YWJsZSkgYW5kIEZsdWVuZG8uCgoyMDA3LTExLTI2IDEwOjA4OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGRpc3Bvc2UgYW5kIGZpbmFsaXplLiBEaXNwb3NlIGNhbiBiZSBjYWxsZWQgbXVsdGlwbGUgdGltZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBVc2UgZGlzcG9zZSBhbmQgZmluYWxpemUuIERpc3Bvc2UgY2FuIGJlIGNhbGxlZCBtdWx0aXBsZSB0aW1lcy4KCjIwMDctMTEtMjYgMDk6Mzg6MjQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSAgTm93IHdvcmtzIHdoZW4gZ2V0X3JhbmdlIGlzIG5vdCBhdmFpbGFibGUgdXBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgd29ya3Mgd2hlbiBnZXRfcmFuZ2UgaXMgbm90IGF2YWlsYWJsZSB1cHN0cmVhbS4KCjIwMDctMTEtMjYgMDg6NDM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlLzogVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZSBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX25hdGl2ZSksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19mbG9hdCksCgkgIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfZmxvYXQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50ZXJsZWF2ZWRfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfaW5wdXRfbGF0ZW5jeSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X291dHB1dF9sYXRlbmN5KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgVXBkYXRlIHNwZWV4IHJlc2FtcGxlciB0byBsYXRlc3QgU1ZOLiBXZSdyZSBub3cgZG93biB0byBvbmx5IHRoZQoJICBjaGFuZ2VzIG5vdGVkIGluIFJFQURNRSBhZ2Fpbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfd3JhcHBlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wdXNoX2RyYWluKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9xdWVyeSk6CgkgIEFkanVzdCB0byBBUEkgY2hhbmdlcy4KCjIwMDctMTEtMjUgMTA6NDU6MDkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IE91dHB1dCBzZWdtZW50IHdpdGggcHJvcGVyICdzdG9wJyB2YWx1ZSwgbWFrZXMgZmx2ZGVtdXggMTAwJSBjb21wYXRpYmxlIHdpdGggZ25vbmxpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOgoJICBPdXRwdXQgc2VnbWVudCB3aXRoIHByb3BlciAnc3RvcCcgdmFsdWUsIG1ha2VzIGZsdmRlbXV4IDEwMCUgY29tcGF0aWJsZQoJICB3aXRoIGdub25saW4uCgoyMDA3LTExLTI1IDEwOjEyOjA5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBTZXQgaW5pdGlhbCBzdHJ1Y3R1cmUgbmFtZSB0byBmaXggYXNzZXJ0aW9uLCBkdWUgdG8gcmVjZW50IGNhcHMgbmFtZSBjb25zdHJhaW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzoKCSAgU2V0IGluaXRpYWwgc3RydWN0dXJlIG5hbWUgdG8gZml4IGFzc2VydGlvbiwgZHVlIHRvIHJlY2VudCBjYXBzIG5hbWUKCSAgY29uc3RyYWludHMuCgoyMDA3LTExLTIzIDE3OjUzOjM3ICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IHBhdC1pbmZvIGlzIG5vdyBhIHNpZ25hbCBub3QgYSBHT2JqZWN0IHByb3BlcnR5IHRoYXQgZ2V0cyBub3RpZmllZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuaDoKCSAgcGF0LWluZm8gaXMgbm93IGEgc2lnbmFsIG5vdCBhIEdPYmplY3QgcHJvcGVydHkgdGhhdAoJICBnZXRzIG5vdGlmaWVkLgoJICBwYXQtaW5mbywgcG10LWluZm8gbm93IGluc3RlYWQgb2YgcGFzc2luZyBhIEdPYmplY3QgYXMKCSAgYSBwYXJhbWV0ZXIsIHBhc3MgYSBHc3RTdHJ1Y3R1cmUuCgkgIE5ldyBzaWduYWxzOiBuaXQtaW5mbywgc2R0LWluZm8sIGVpdC1pbmZvIGZvciBEVkIgU0kgaW5mb3JtYXRpb24KCSAgKiBzeXMvZHZiL2NhbWNvbmRpdGlvbmFsYWNjZXNzLmM6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5oOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmM6CgkgICogc3lzL2R2Yi9jYW1kZXZpY2UuaDoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50LmM6CgkgICogc3lzL2R2Yi9jYW1zd2NsaWVudC5oOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgIENhbSBjb2RlIG5vdyB1c2VzIHRoZSBwbXQgR3N0U3RydWN0dXJlIHBhc3NlZCBmcm9tIG1wZWd0c3BhcnNlCgkgIHNpZ25hbHMgcmF0aGVyIHRoYW4gdGhlIEdPYmplY3QuCgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVzZSBuZXcgc2lnbmFscyBpbiBtcGVndHNwYXJzZSBhbmQgdXNlIEdzdFN0cnVjdHVyZXMgYXMgcGVyCgkgIG1wZWd0c3BhcnNlJ3MgbW9kaWZpZWQgQVBJLgoKMjAwNy0xMS0yMyAxNzozNToyMSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFtdXguYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhbXV4Lmg6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhdHlwZXMuaDoKCSAgTm93IHBhcnNlciBpcyBnZW5lcmljIChqdXN0IGFkZC9yZW1vdmUgYSBsaXN0IG9mIGNodW5rcykuIEFuZCBhIHRlbXBsYXRlIG9mIG11eGVyIGhhcyBiZWVuIGNyZWF0ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgcGFyc2VyIGlzIGdlbmVyaWMgKGp1c3QgYWRkL3JlbW92ZSBhIGxpc3Qgb2YgY2h1bmtzKS4gQW5kIGEgdGVtcGxhdGUgb2YgbXV4ZXIgaGFzIGJlZW4gY3JlYXRlZC4KCjIwMDctMTEtMjMgMTA6MjE6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdXBkYXRlX3N0YXRlKToKCSAgT25seSBwb3N0IHRoZSBsYXRlbmN5IG1lc3NhZ2UgaWYgd2UgaGF2ZSBhIHJlc2FtcGxlciBzdGF0ZSBhbHJlYWR5LgoKPT09IHJlbGVhc2UgMC4xMC4xNyA9PT0KCjIwMDctMTEtMjMgMTA6MjE6MTEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLAoJICAoYXVkaW9yZXNhbXBsZV9xdWVyeSksIChhdWRpb3Jlc2FtcGxlX3F1ZXJ5X3R5cGUpLAoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KToKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkuCgoyMDA3LTExLTIzIDEwOjAxOjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IEFsc28gcG9zdCBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzoKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpOgoJICBBbHNvIHBvc3QgR1NUX01FU1NBR0VfTEFURU5DWSBpZiB0aGUgbGF0ZW5jeSBjaGFuZ2VzLgoKMjAwNy0xMS0yMyAwODo0ODo1MCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvOiBBZGQgZnVuY3Rpb25zIHRvIHB1c2ggdGhlIHJlbWFpbmluZyBzYW1wbGVzIGFuZCB0byBnZXQgdGhlIGxhdGVuY3kgb2YgdGhlIHJlc2FtcGxlci4gVGhlc2Ugd2lsbCBnLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3Jlc2FtcGxlLmM6IChzcGVleF9yZXNhbXBsZXJfZ2V0X2xhdGVuY3kpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2Zsb2F0KSwgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnQpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2RyYWluX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9kcmFpbl9pbnRlcmxlYXZlZF9pbnQpOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlci5oOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL3NwZWV4X3Jlc2FtcGxlcl93cmFwcGVyLmg6CgkgIEFkZCBmdW5jdGlvbnMgdG8gcHVzaCB0aGUgcmVtYWluaW5nIHNhbXBsZXMgYW5kIHRvIGdldCB0aGUgbGF0ZW5jeQoJICBvZiB0aGUgcmVzYW1wbGVyLiBUaGVzZSB3aWxsIGdldCBhZGRlZCB0byBTcGVleCBTVk4gaW4gdGhpcyBvciBhCgkgIHNsaWdodGx5IGNoYW5nZWQgZm9ybSBhdCBzb21lIHBvaW50IHRvbyBhbmQgc2hvdWxkIGdldCBtZXJnZWQgdGhlbgoJICBhZ2Fpbi4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6IChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdF9zdGF0ZSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3B1c2hfZHJhaW4pLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGdzdF9zcGVleF9maXhfb3V0cHV0X2J1ZmZlciksIChnc3Rfc3BlZXhfcmVzYW1wbGVfcHJvY2VzcyksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfcXVlcnkpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3F1ZXJ5X3R5cGUpOgoJICBEcm9wIHRoZSBwcmVwZW5kaW5nIHplcm9lcyBhbmQgb3V0cHV0IHRoZSByZW1haW5pbmcgc2FtcGxlcyBvbiBFT1MuCgkgIEFsc28gcHJvcGVybHkgaW1wbGVtZW50IHRoZSBsYXRlbmN5IHF1ZXJ5IGZvciB0aGlzLiBzcGVleHJlc2FtcGxlCgkgIHNob3VsZCBiZSBjb21wbGV0ZWx5IHJlYWR5IGZvciBwcm9kdWN0aW9uIHVzZSBub3cuCgoyMDA3LTExLTIyIDA5OjA4OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IGppdHRlcmJ1ZmZlciBjYW4gYnVmZmVyIGFuIHVubGltaXRlZCBhbW91bnQgb2YgdGltZSBhbmQgdGh1cyBoYXMgbm8gbWF4X2xhdGVuY3kgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgaml0dGVyYnVmZmVyIGNhbiBidWZmZXIgYW4gdW5saW1pdGVkIGFtb3VudCBvZiB0aW1lIGFuZCB0aHVzIGhhcyBubwoJICBtYXhfbGF0ZW5jeSByZXF1aXJlbWVudHMuCgoyMDA3LTExLTIxIDEwOjE4OjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlZXhyZXNhbXBsZS9SRUFETUU6IEFkZCBSRUFETUUgZXhwbGFpbmluZyB3aGVyZSB0aGUgcmVzYW1wbGluZyBjb2RlIHdhcyB0YWtlbiBmcm9tIGFuZCB3aGljaCBjaGFuZ2VzIHdlcmUgZG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvUkVBRE1FOgoJICBBZGQgUkVBRE1FIGV4cGxhaW5pbmcgd2hlcmUgdGhlIHJlc2FtcGxpbmcgY29kZSB3YXMgdGFrZW4gZnJvbQoJICBhbmQgd2hpY2ggY2hhbmdlcyB3ZXJlIGRvbmUuCgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X2FsbG9jKSwgKHNwZWV4X3JlYWxsb2MpLAoJICAoc3BlZXhfZnJlZSk6CgkgIFVzZSBnX21hbGxvYygpIGFuZCBmcmllbmRzIGluc3RlYWQgb2YgbWFsbG9jKCkgdG8gYWNoaWV2ZSBoaWdoZXIKCSAgcG9ydGFiaWxpdHkgYW5kIGRlZmluZSB0aGUgZnVuY3Rpb25zIGlubGluZS4KCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgQWRkIGJhY2sgc29tZSB1c2VsZXNzIHByZXByb2Nlc3NvciBzdHVmZiB0byBrZWVwIHRoZSBkaWZmIGJldHdlZW4KCSAgb3VyIHZlcnNpb24gYW5kIHRoZSBvbmUgZnJvbSB0aGUgU3BlZXggU1ZOIHJlcG9zaXRvcnkgbG93ZXIuCgoyMDA3LTExLTIxIDA5OjU2OjU0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUG9zdCBhIEdTVF9NRVNTQUdFX0xBVEVOQ1kgaWYgdGhlIGxhdGVuY3kgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3NldF9wcm9wZXJ0eSk6CgkgIFBvc3QgYSBHU1RfTUVTU0FHRV9MQVRFTkNZIGlmIHRoZSBsYXRlbmN5IGNoYW5nZXMuCgoyMDA3LTExLTIxIDA5OjQ1OjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBEb24ndCB0cnkgdG8gZmx1c2ggdGhlIGRlY29kZXIgb24gRU9TIHdoZW4gaXQgd2FzIG5vdCBpbml0aWFsaXplZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgIERvbid0IHRyeSB0byBmbHVzaCB0aGUgZGVjb2RlciBvbiBFT1Mgd2hlbiBpdCB3YXMgbm90IGluaXRpYWxpemVkLgoJICBGaXhlcyAjNDk4NjY3CgoyMDA3LTExLTIxIDA5OjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IEZpeCBidWlsZCBvbiBNYWMgT1MgWC4gKG1pc3NpbmcgZm9ybWF0IHBhcmFtZXRlcikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTEtMjEgIEp1bGllbiBNb3V0dGUgIDxqdWxpZW5AZmx1ZW5kby5jb20+CgkgICogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzogKGdzdF9zZGxhdWRpb19zaW5rX3dyaXRlKTogRml4IGJ1aWxkCgkgIG9uIE1hYyBPUyBYLiAobWlzc2luZyBmb3JtYXQgcGFyYW1ldGVyKQoKMjAwNy0xMS0yMSAwODoyMToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlbW92ZSBwcmVzZXQgaWZhY2UgYWdhaW4uIFdlJ2xsIHJlLWFkZCB0aGlzIGFmdGVyIGl0cyBiZWVuIHJlbGVhc2VkIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICBSZW1vdmUgcHJlc2V0IGlmYWNlIGFnYWluLiBXZSdsbCByZS1hZGQgdGhpcyBhZnRlciBpdHMgYmVlbiByZWxlYXNlZAoJICBpbiAtZ29vZC4KCjIwMDctMTEtMjAgMjA6MjM6MjUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogU29tZSBzbWFsbCBjbGVhbnVwIGFuZCBhZGRpdGlvbiBvZiBhIFRPRE8gaXRlbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X2ZpeF9vdXRwdXRfYnVmZmVyKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pOgoJICBTb21lIHNtYWxsIGNsZWFudXAgYW5kIGFkZGl0aW9uIG9mIGEgVE9ETyBpdGVtLgoKMjAwNy0xMS0yMCAxMjo1NjowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L3NwZWV4cmVzYW1wbGUvTWFrZWZpbGUuYW06IEFkZCBtaXNzaW5nIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL01ha2VmaWxlLmFtOgoJICBBZGQgbWlzc2luZyBmaWxlLgoKMjAwNy0xMS0yMCAwNzo1MjoxMyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgbWlzc2luZyBpbnNwZWN0aW9uIGZpbGVzIHRvIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFwcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJheWVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2RhdWRpby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2YnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR2ZHNwdS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZlc3RpdmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmx2ZGVtdXgueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RpbnRlcmxhY2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1pbnRlcmxlYXZlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbGFkc3BhLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzR2aWRlb3BhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZ3RzcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVndmlkZW9wYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW12ZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5hcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW51dmRlbXV4LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXVpY2t0aW1lLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVhbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJmYnNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNuZGZpbGUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZXhyZXNhbXBsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN0ZXJlby54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXN3aXRjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZjZHNyYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvY3JvcC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12bW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teDI2NC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXk0bWVuYy54bWw6CgkgIEFkZCBtaXNzaW5nIGluc3BlY3Rpb24gZmlsZXMgdG8gQ1ZTLgoKMjAwNy0xMS0yMCAwNzo0NzoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIHNwZWV4cmVzYW1wbGUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgZG8gYSBtYWtlIHVwZGF0ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuaDoKCSAgQWRkIHNwZWV4cmVzYW1wbGUgdG8gdGhlIGRvY3MgYW5kIHdoaWxlIGF0IHRoYXQgZG8gYSBtYWtlIHVwZGF0ZS4KCjIwMDctMTEtMjAgMDc6MzA6MzAgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9zcGVleHJlc2FtcGxlL2dzdHNwZWV4cmVzYW1wbGUuYzogSWYgdGhlIHJlc2FtcGxlciBnaXZlcyBsZXNzIG91dHB1dCBzYW1wbGVzIHRoYW4gZXhwZWN0ZWQgYWRqdXN0IHRoZSBvdXRwdXQgYnVmZi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmM6CgkgIChnc3Rfc3BlZXhfZml4X291dHB1dF9idWZmZXIpLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Byb2Nlc3MpOgoJICBJZiB0aGUgcmVzYW1wbGVyIGdpdmVzIGxlc3Mgb3V0cHV0IHNhbXBsZXMgdGhhbiBleHBlY3RlZAoJICBhZGp1c3QgdGhlIG91dHB1dCBidWZmZXIgYW5kIHByaW50IGEgd2FybmluZy4KCjIwMDctMTEtMjAgMDc6MDI6NDUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIEFkZCByZXNhbXBsZSBlbGVtZW50IGJhc2VkIG9uIHRoZSBTcGVleCByZXNhbXBsaW5nIGFsZ29yaXRobS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVleHJlc2FtcGxlL2FyY2guaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9maXhlZF9nZW5lcmljLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvZ3N0c3BlZXhyZXNhbXBsZS5jOgoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfaW5pdCksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc3RhcnQpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3N0b3ApLCAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2dldF91bml0X3NpemUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9pbml0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV91cGRhdGVfc3RhdGUpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3Jlc2V0X3N0YXRlKSwgKGdzdF9zcGVleF9yZXNhbXBsZV9wYXJzZV9jYXBzKSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm1fc2l6ZSksIChnc3Rfc3BlZXhfcmVzYW1wbGVfc2V0X2NhcHMpLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX2V2ZW50KSwgKGdzdF9zcGVleF9yZXNhbXBsZV9jaGVja19kaXNjb250KSwKCSAgKGdzdF9zcGVleF9yZXNhbXBsZV9wcm9jZXNzKSwgKGdzdF9zcGVleF9yZXNhbXBsZV90cmFuc2Zvcm0pLAoJICAoZ3N0X3NwZWV4X3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3BlZXhfcmVzYW1wbGVfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9nc3RzcGVleHJlc2FtcGxlLmg6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvcmVzYW1wbGUuYzogKHNwZWV4X2FsbG9jKSwgKHNwZWV4X3JlYWxsb2MpLAoJICAoc3BlZXhfZnJlZSksIChjb21wdXRlX2Z1bmMpLCAobWFpbiksIChzaW5jKSwgKGN1YmljX2NvZWYpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9zaW5nbGUpLCAocmVzYW1wbGVyX2Jhc2ljX2RpcmVjdF9kb3VibGUpLAoJICAocmVzYW1wbGVyX2Jhc2ljX2ludGVycG9sYXRlX3NpbmdsZSksCgkgIChyZXNhbXBsZXJfYmFzaWNfaW50ZXJwb2xhdGVfZG91YmxlKSwgKHVwZGF0ZV9maWx0ZXIpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2luaXQpLCAoc3BlZXhfcmVzYW1wbGVyX2luaXRfZnJhYyksCgkgIChzcGVleF9yZXNhbXBsZXJfZGVzdHJveSksIChzcGVleF9yZXNhbXBsZXJfcHJvY2Vzc19uYXRpdmUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfZmxvYXQpLCAoc3BlZXhfcmVzYW1wbGVyX3Byb2Nlc3NfaW50KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2Zsb2F0KSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9wcm9jZXNzX2ludGVybGVhdmVkX2ludCksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X3JhdGUpLCAoc3BlZXhfcmVzYW1wbGVyX2dldF9yYXRlKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9zZXRfcmF0ZV9mcmFjKSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcmF0aW8pLAoJICAoc3BlZXhfcmVzYW1wbGVyX3NldF9xdWFsaXR5KSwgKHNwZWV4X3Jlc2FtcGxlcl9nZXRfcXVhbGl0eSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X2lucHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfZ2V0X2lucHV0X3N0cmlkZSksCgkgIChzcGVleF9yZXNhbXBsZXJfc2V0X291dHB1dF9zdHJpZGUpLAoJICAoc3BlZXhfcmVzYW1wbGVyX2dldF9vdXRwdXRfc3RyaWRlKSwgKHNwZWV4X3Jlc2FtcGxlcl9za2lwX3plcm9zKSwKCSAgKHNwZWV4X3Jlc2FtcGxlcl9yZXNldF9tZW0pLCAoc3BlZXhfcmVzYW1wbGVyX3N0cmVycm9yKToKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXIuaDoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfZmxvYXQuYzoKCSAgKiBnc3Qvc3BlZXhyZXNhbXBsZS9zcGVleF9yZXNhbXBsZXJfaW50LmM6CgkgICogZ3N0L3NwZWV4cmVzYW1wbGUvc3BlZXhfcmVzYW1wbGVyX3dyYXBwZXIuaDoKCSAgQWRkIHJlc2FtcGxlIGVsZW1lbnQgYmFzZWQgb24gdGhlIFNwZWV4IHJlc2FtcGxpbmcgYWxnb3JpdGhtLgoKMjAwNy0xMS0xOSAyMjowOTozNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5jOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGFwYXJzZS5oOgoJICBGaXhlZCBidWZmZXIgc3RyaXAgKHNhZmVyIHdpbCBwdWxsIGFuZCBhZnRlciBzZWVrKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGJ1ZmZlciBzdHJpcCAoc2FmZXIgd2lsIHB1bGwgYW5kIGFmdGVyIHNlZWspLgoKMjAwNy0xMS0xOSAyMDozMDoxOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIEFjdGl2YXRlIHByZXNldCBpZmFjZSBhbmQgdXBsb2FkIHR3byBwcmVzZXRzIGhlcmUuCgoyMDA3LTExLTE5IDEzOjA1OjIzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkgIFN0cmlwIG91dCBpbiBwdWxsIG1vZGUgYWxzby4gU2VlayBhbmQgUXVlcnkgZnVuY3Rpb25zIGFkZGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3RyaXAgb3V0IGluIHB1bGwgbW9kZSBhbHNvLiBTZWVrIGFuZCBRdWVyeSBmdW5jdGlvbnMgYWRkZWQuCgoyMDA3LTExLTE4IDIxOjA2OjUxICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VwbmcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V0eXBlcy5oOgoJICBTdHJpcCBvdXQgbWV0YWRhdGEgY2h1bmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU3RyaXAgb3V0IG1ldGFkYXRhIGNodW5rcy4KCjIwMDctMTEtMTYgMTE6MTE6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWxzIHVzZSBBR19HU1RfUExVR0lOX0RPQ1MgKHNlZSAjMzQ0MDM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbHMgdXNlIEFHX0dTVF9QTFVHSU5fRE9DUyAoc2VlICMzNDQwMzkpLgoKMjAwNy0xMS0xNSAxOTowMzozMyArMDAwMCAgV2FpLU1pbmcgSG8gPHdlYnJlZ2JveEB5YWhvby5jby51az4KCgkgIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6IEVuc3VyZSB0aGF0IHRoZSBwbHVnaW4gZG9lcyBub3QgY3Jhc2ggd2hlbiB0aGUgcHJvcGVydHkgcGF0LWluZm8gaXMgcXVlcmllZCBiZWZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOiAoZm9yZWFjaF9zdHJlYW1fY2xlYXIpLAoJICAocmVtb3ZlX2FsbCksIChtcGVndHNfcGFja2V0aXplcl9jbGVhcik6CgkgIEVuc3VyZSB0aGF0IHRoZSBwbHVnaW4gZG9lcyBub3QgY3Jhc2ggd2hlbiB0aGUgcHJvcGVydHkgcGF0LWluZm8gaXMKCSAgcXVlcmllZCBiZWZvcmUgYSBQQVQgaXMgYXZhaWxhYmxlLiBJdCBhbHNvIGVuc3VyZXMgdGhhdCB0aGUgUEFUIGluZm8gaXMKCSAgY2xlYXJlZCB3aGVuIHRoZSBjaGFuZ2luZyBmcm9tIFBMQVlJTkcgdG8gUkVBRFkuCgkgIEZpeGVzICM0ODc4OTIuCgoyMDA3LTExLTE1IDE4OjUzOjU2ICswMDAwICBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXJAYmx1ZS1nYXRlLmJlPgoKCSAgZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6IEhhbmRsZSBzZWVraW5nIGNvcnJlY3RseS4gRml4ZXMgIzQ2MTA2OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc2VuIDx3b3V0ZXIgYXQgYmx1ZS1nYXRlIGRvdCBiZT4KCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgSGFuZGxlIHNlZWtpbmcgY29ycmVjdGx5LiBGaXhlcyAjNDYxMDY4LgoKMjAwNy0xMS0xNSAxODo0MTozMSArMDAwMCAgTWljaGFlbCBLw7Z0dGVyIDxtLmtvZXR0ZXJAb3JhaXNlLmRlPgoKCSAgZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IEZpeCBzYW1wbGUgcmF0ZSBhbmQgY2xvY2tpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFlbCBLw7Z0dGVyIDxtIGRvdCBrb2V0dGVyIGF0IG9yYWlzZSBkb3QgZGU+CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6IChhbHNhc3BkaWZzaW5rX3NldF9jYXBzKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfc2V0X3BhcmFtcyksIChhbHNhc3BkaWZzaW5rX2RlbGF5KSwgKHBsdWdpbl9pbml0KToKCSAgRml4IHNhbXBsZSByYXRlIGFuZCBjbG9ja2luZy4KCSAgUmVtb3ZlIGJ1ZmZlcl90aW1lIGFuZCBwZXJpb2RfdGltZSBhcyB0aGlzIHNlZW1zIHRvIGJyZWFrIG9uIHNvbWUKCSAgaGFyZHdhcmUuIEZpeGVzICM0ODU0NjIuCgoyMDA3LTExLTE1IDE3OjI2OjI1ICswMDAwICBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlckBtaW5kLmJlPgoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgQ2xvZXRlbnMgPHdvdXRlciBhdCBtaW5kIGRvdCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VwL2dzdHNvdXBodHRwc3JjLmM6IChfZG9faW5pdCksCgkgIChnc3Rfc291cGh0dHBfc3JjX2Jhc2VfaW5pdCksIChnc3Rfc291cGh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NvdXBodHRwX3NyY19pbml0KSwgKGdzdF9zb3VwaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9wcm9wZXJ0eSksIChnc3Rfc291cGh0dHBfc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfc291cGh0dHBfc3JjX2NyZWF0ZSksIChnc3Rfc291cGh0dHBfc3JjX3N0YXJ0KSwKCSAgKGdzdF9zb3VwaHR0cF9zcmNfc3RvcCksIChnc3Rfc291cGh0dHBfc3JjX3VubG9jayksCgkgIChnc3Rfc291cGh0dHBfc3JjX3NldF9sb2NhdGlvbiksIChzb3VwX2dvdF9jaHVuayksIChzb3VwX3Jlc3BvbnNlKSwKCSAgKHNvdXBfc2Vzc2lvbl9jbG9zZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3NvdXAvZ3N0c291cGh0dHBzcmMuaDoKCSAgQWRkZWQgSFRUUCBzb3VyY2UgYmFzZWQgb24gbGlic291cC4gRml4ZXMgIzQ5NzAyMC4KCjIwMDctMTEtMTUgMTU6MzI6NDcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBkb24ndCBmb3JnZXQgdG8gaGFuZGxlIHRoZSBvZmZzZXQncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBkb24ndCBmb3JnZXQgdG8gaGFuZGxlIHRoZSBvZmZzZXQncwoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBwcmVjYWxjdWxhdGUgc29tZSBtYW55IHVzZWQgdmFsdWVzCgoyMDA3LTExLTE1IDA4OjI4OjI5ICswMDAwICBBcm1hbmRvIFRhZmZhcmVsIE5ldG8gPHRhZmZhcmVsQHNvbGlzLmNvb3AuYnI+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBTZXQgdGhlIHRpbWVzdGFtcCBmb3IgdGhlIG91dHB1dCBidWZmZXJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBwYXRjaCBieTogQXJtYW5kbyBUYWZmYXJlbCBOZXRvIDx0YWZmYXJlbEBzb2xpcy5jb29wLmJyPgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIFNldCB0aGUgdGltZXN0YW1wIGZvciB0aGUgb3V0cHV0IGJ1ZmZlcnMKCjIwMDctMTEtMTQgMTc6MDM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3NwZWN0cnVtLmM6IEZpeCBzcGVjdHJ1bSB1bml0IHRlc3QgZm9yIHRoZSBsYXRlc3Qgc3BlY3RydW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IHNwZWN0cnVtIHVuaXQgdGVzdCBmb3IgdGhlIGxhdGVzdCBzcGVjdHJ1bSBjaGFuZ2VzLgoKMjAwNy0xMS0xMiAyMTowNzozMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKToKCSAgQXZvaWQgc2xvd2Rvd24gZnJvbSBkZW5vcm1hbHMgd2hlbiBwcm9jZXNzaW5nIG5lYXItc2lsZW5jZSBpbnB1dCBkYXRhLgoJICBTcG90dGVkIGJ5IEdhYnJpZWwgQm91dmlnbmUuIEZpeGVzICM0OTQ0OTkuCgoyMDA3LTExLTEyIDE5OjIyOjI0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBBZGQgbWFwcGluZyBmb3IgTmVsbHltb3NlciBBU0FPIGF1ZGlvIGNvZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgIEFkZCBtYXBwaW5nIGZvciBOZWxseW1vc2VyIEFTQU8gYXVkaW8gY29kZWMuCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IE1ha2Ugc3VyZSB3ZQoJICBhY3R1YWxseSBoYXZlIGRhdGEgdG8gcmVhZCBhdCB0aGUgZW5kIG9mIHRoZSB0YWcuIFRoaXMgYXZvaWRzIHRyeWluZwoJICB0byBhbGxvY2F0ZSBuZWdhdGl2ZSBidWZmZXJzLgoKMjAwNy0xMS0xMiAxNzoyNzowMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvUkVBRE1FOgoJICBBZGRlZCBhIGRlc2lnbiBwcm9wb3NhbCBmcm9tIG1ldGFkYXRhIHBhcnNlIGFuZCBtdXguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIGRlc2lnbiBwcm9wb3NhbCBmcm9tIG1ldGFkYXRhIHBhcnNlIGFuZCBtdXguCgoyMDA3LTExLTExIDIxOjEyOjEwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvOiBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiAoZHJhd19zcGVjdHJ1bSk6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChkcmF3X3NwZWN0cnVtKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpOgoJICBDaGFuZ2UgdGhlIG1lYW5pbmcgb2YgdGhlIG1hZ25pdHVkZSB2YWx1ZXMgZ2l2ZW4gaW4gdGhlCgkgIEdzdE1lc3NhZ2VzIGJ5IHNwZWN0cnVtIHRvIGRlY2liZWwgaW5zdGVhZCBvZgoJICBkZWNpYmVsK3RocmVzaG9sZC4KCjIwMDctMTEtMTEgMTM6NTU6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICBBbmQgY29udGludWUgdG8gdXBkYXRlIGRvY3MuIEFsc28gaW5jbHVkZSBzb21lIHNhbXBsZSBjb2RlCgkgIGZvciB0aGUgbi1iYW5kIGVxdWFsaXplciBpbiB0aGUgZG9jcy4KCjIwMDctMTEtMTEgMTI6NTQ6MzEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBVcGRhdGUgZG9jcyBhbmQgcHJvcGVydHkgcmFuZ2VzIHRvIHRoZSByZWFsIHZhbHVlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgVXBkYXRlIGRvY3MgYW5kIHByb3BlcnR5IHJhbmdlcyB0byB0aGUgcmVhbCB2YWx1ZXMuCgoyMDA3LTExLTA5IDE3OjI3OjAwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogTm93IGRvIHRoZSBzY2FsaW5nIHJpZ2h0IGZvciByZWFsLiBBbHNvIGluaXRpYWxpemUgYSBwcmV2aW91c2x5IHVuaW5pdGlhbGl6ZWQgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBOb3cgZG8gdGhlIHNjYWxpbmcgcmlnaHQgZm9yIHJlYWwuIEFsc28gaW5pdGlhbGl6ZSBhIHByZXZpb3VzbHkKCSAgdW5pbml0aWFsaXplZCB2YXJpYWJsZS4KCjIwMDctMTEtMDkgMTU6NTM6MTMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSAgRXh0cmFjdGluZyBtb3JlIGRldGFpbGVkIGluZm8gZnJvbSBYTVAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBFeHRyYWN0aW5nIG1vcmUgZGV0YWlsZWQgaW5mbyBmcm9tIFhNUC4KCjIwMDctMTEtMDggMTU6NTY6NDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZGVtby5jOiBNYWtlIGRlZmF1bHQgdm9sdW1lIGEgYml0IGxlc3MuIEltcHJvdmUgbGF5b3V0IGJ5IGdpdmluZyBtb3JlIHNwYWNlIHRvIHRoZSBzbGlkZXIgd2l0aCBiaWctbnVtYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzoKCSAgTWFrZSBkZWZhdWx0IHZvbHVtZSBhIGJpdCBsZXNzLiBJbXByb3ZlIGxheW91dCBieSBnaXZpbmcgbW9yZSBzcGFjZSB0bwoJICB0aGUgc2xpZGVyIHdpdGggYmlnLW51bWJlcnMgYW5kIGVuYWJsZSBmaWxsLgoKMjAwNy0xMS0wNyAxNjo0NzozMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgUmVxdWlyZSBHSU8gPj0gMC4xLjIgYW5kIGFkanVzdCB1bml0IHRlc3QgZm9yIGFuIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvZ2lvLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFJlcXVpcmUgR0lPID49IDAuMS4yIGFuZCBhZGp1c3QgdW5pdCB0ZXN0IGZvciBhbiBBUEkgY2hhbmdlLgoKMjAwNy0xMS0wNyAxNTozNjo1OSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZG9fc2xpZGVyX2ZpZGRsaW5nKToKCSAgRml4IGdhaW4gcmFuZ2VzIGZvciB0aGUgbGF0ZXN0IGVxdWFsaXplciBjaGFuZ2VzLgoKMjAwNy0xMS0wNyAxNToxODo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uaDogQWRkIG1hY3JvIHRvIGNoZWNrIGlmIGEgc3RyZWFtIHN1cHBvcnRzIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvLmg6CgkgIEFkZCBtYWNybyB0byBjaGVjayBpZiBhIHN0cmVhbSBzdXBwb3J0cyBzZWVraW5nLgoJICAqIGV4dC9naW8vTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5jOiAoZ3N0X2dpb19iYXNlX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fYmFzZV9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19iYXNlX3NpbmtfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX2Jhc2Vfc2lua19zdGFydCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19zdG9wKSwgKGdzdF9naW9fYmFzZV9zaW5rX3VubG9jayksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua191bmxvY2tfc3RvcCksIChnc3RfZ2lvX2Jhc2Vfc2lua19ldmVudCksCgkgIChnc3RfZ2lvX2Jhc2Vfc2lua19yZW5kZXIpLCAoZ3N0X2dpb19iYXNlX3NpbmtfcXVlcnkpLAoJICAoZ3N0X2dpb19iYXNlX3Npbmtfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvYmFzZXNyYy5jOiAoZ3N0X2dpb19iYXNlX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19jbGFzc19pbml0KSwgKGdzdF9naW9fYmFzZV9zcmNfaW5pdCksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fYmFzZV9zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X2dpb19iYXNlX3NyY19pc19zZWVrYWJsZSksIChnc3RfZ2lvX2Jhc2Vfc3JjX3VubG9jayksCgkgIChnc3RfZ2lvX2Jhc2Vfc3JjX3VubG9ja19zdG9wKSwgKGdzdF9naW9fYmFzZV9zcmNfY2hlY2tfZ2V0X3JhbmdlKSwKCSAgKGdzdF9naW9fYmFzZV9zcmNfY3JlYXRlKSwgKGdzdF9naW9fYmFzZV9zcmNfc2V0X3N0cmVhbSk6CgkgICogZXh0L2dpby9nc3RnaW9iYXNlc3JjLmg6CgkgIFJlZmFjdG9yIGNvbW1vbiBHSU8gZnVuY3Rpb25zIHRvIEdzdEdpb0Jhc2VTaW5rIGFuZCBHc3RHaW9CYXNlU3JjCgkgIGJhc2UgY2xhc3NlcyB0aGF0IG9ubHkgcmVxdWlyZSBhIEdJbnB1dFN0cmVhbSBvciBHT3V0cHV0U3RyZWFtIHRvCgkgIHdvcmsuCgkgICogZXh0L2dpby9nc3RnaW9zaW5rLmM6IChnc3RfZ2lvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9naW9fc2lua19pbml0KSwKCSAgKGdzdF9naW9fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3Npbmtfc3RhcnQpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5oOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3NyY19pbml0KSwKCSAgKGdzdF9naW9fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3JjX3N0YXJ0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBVc2UgdGhlIG5ld2x5IGNyZWF0ZWQgYmFzZSBjbGFzc2VzIGhlcmUuCgkgICogZXh0L2dpby9nc3RnaW8uYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvZ2lvL2dzdGdpb3N0cmVhbXNpbmsuYzogKGdzdF9naW9fc3RyZWFtX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3RyZWFtX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc2lua19maW5hbGl6ZSksIChnc3RfZ2lvX3N0cmVhbV9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZ2lvX3N0cmVhbV9zaW5rX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zaW5rLmg6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuYzogKGdzdF9naW9fc3RyZWFtX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zdHJlYW1fc3JjX2luaXQpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2ZpbmFsaXplKSwgKGdzdF9naW9fc3RyZWFtX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zdHJlYW1fc3JjX2dldF9wcm9wZXJ0eSk6CgkgICogZXh0L2dpby9nc3RnaW9zdHJlYW1zcmMuaDoKCSAgSW1wbGVtZW50IEdzdEdpb1N0cmVhbVNpbmsgYW5kIEdzdEdpb1N0cmVhbVNyYyB0aGF0IGhhdmUgYSBwcm9wZXJ0eQoJICB0byBzZXQgdGhlIEdJbnB1dFN0cmVhbS9HT3V0cHV0U3RyZWFtIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL2dpby5jOiAobWVzc2FnZV9oYW5kbGVyKSwgKEdTVF9TVEFSVF9URVNUKSwKCSAgKGdpb190ZXN0c3VpdGUpLCAobWFpbik6CgkgIEFkZCB1bml0IHRlc3QgZm9yIGdpb3N0cmVhbXNyYyBhbmQgZ2lvc3RyZWFtc2luay4KCjIwMDctMTEtMDcgMTE6NDg6MDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvLmM6IFJlbW92ZSBub3dhZGF5cyB1bm5lY2Vzc2FyeSB3b3JrYXJvdW5kIGZvciBhIGNyYXNoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAocGx1Z2luX2luaXQpOgoJICBSZW1vdmUgbm93YWRheXMgdW5uZWNlc3Nhcnkgd29ya2Fyb3VuZCBmb3IgYSBjcmFzaC4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19maW5hbGl6ZSksCgkgIChnc3RfZ2lvX3Npbmtfc3RhcnQpLCAoZ3N0X2dpb19zaW5rX3N0b3ApLAoJICAoZ3N0X2dpb19zaW5rX3VubG9ja19zdG9wKToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfZmluYWxpemUpLCAoZ3N0X2dpb19zcmNfc3RhcnQpLAoJICAoZ3N0X2dpb19zcmNfc3RvcCksIChnc3RfZ2lvX3NyY191bmxvY2tfc3RvcCk6CgkgICogZXh0L2dpby9nc3RnaW9zcmMuaDoKCSAgTWFrZSB0aGUgZmluYWxpemUgZnVuY3Rpb24gc2FmZXIsIGNsZWFuIHVwIGV2ZXJ5dGhpbmcgdGhhdCBjb3VsZCBzdGF5CgkgIGFyb3VuZC4KCSAgUmVzZXQgdGhlIGNhbmNlbGxhYmxlIGluc3RlYWQgb2YgY3JlYXRpbmcgYSBuZXcgb25lIGFmdGVyIGNhbmNlbGxpbmcKCSAgc29tZSBvcGVyYXRpb24uCgkgIERvbid0IHN0b3JlIHRoZSBHRmlsZSBpbiB0aGUgZWxlbWVudCwgaXQncyBvbmx5IG5lY2Vzc2FyeSBmb3IgY3JlYXRpbmcKCSAgdGhlIHN0cmVhbXMuCgoyMDA3LTExLTA2IDEyOjIzOjM1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogVXNlIGF1dG9hdWRpb3NpbmsgaW5zdGVhZCBvZiBhbHNhc2luayBhbmQgdXNlIGEgc2luZSB3YXZlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKG1haW4pOgoJICBVc2UgYXV0b2F1ZGlvc2luayBpbnN0ZWFkIG9mIGFsc2FzaW5rIGFuZCB1c2UgYSBzaW5lIHdhdmUuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6CgkgIEZpeCB0aGUgbWFnbml0dWRlIGNhbGN1bGF0aW9uLgoKMjAwNy0xMS0wNCAxMTowNDoyOCArMDAwMCAgT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzIDxvbGUuYW5kcmUucmF2bmFzQHRhbmRiZXJnLmNvbT4KCgkgIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLio6IEZpeCBjcmFzaGVyIGluIGNvbnN0cnVjdG9yIGR1ZSB0byB0aGUgYmFzZSBjbGFzcydzIGNvbnN0cnVjdG9yIG5vdCBuZWNlc3NhcmlseS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyAgPG9sZS5hbmRyZS5yYXZuYXNAdGFuZGJlcmcuY29tPgoJICAqIGdzdC1saWJzL2dzdC9kc2hvdy9nc3Rkc2hvd2Zha2VzaW5rLmNwcDoKCSAgKENEc2hvd0Zha2VTaW5rLkNEc2hvd0Zha2VTaW5rKToKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5oOiAoQ0RzaG93RmFrZVNpbmsubV9ocmVzKToKCSAgRml4IGNyYXNoZXIgaW4gY29uc3RydWN0b3IgZHVlIHRvIHRoZSBiYXNlIGNsYXNzJ3MgY29uc3RydWN0b3IKCSAgbm90IG5lY2Vzc2FyaWx5IGJlaW5nIE5VTEwtc2FmZSAoZGVwZW5kcyBvbiB0aGUgU0RLIHZlcnNpb24gdXNlZAoJICBhcHBhcmVudGx5OyAjNDkyNDA2KS4KCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93YXVkaW9zcmMuYzogKGdzdF9kc2hvd2F1ZGlvc3JjX3ByZXBhcmUpOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOiAoZ3N0X2RzaG93dmlkZW9zcmNfc2V0X2NhcHMpOgoJICBGaXggYSBjb3VwbGUgb2YgTVNWQyBjb21waWxlciB3YXJuaW5ncyAoIzQ5MjQwNikuCgoyMDA3LTExLTAzIDE5OjUwOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG1haW4pOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoc2V0dXBfZmlsdGVyKToKCSAgQWxsb3cgc2V0dGluZyAwIGFzIGJhbmR3aWR0aCBhbmQgaGFuZGxlIHRoaXMgY29ycmVjdGx5LgoJICBBbHNvIGhhbmRsZSBhIGJhbmR3aWR0aCBvZiByYXRlLzIgcHJvcGVybHkuCgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19jbGFzc19pbml0KToKCSAgTWFrZSBpdCBwb3NzaWJsZSB0byBnZW5lcmF0ZSBhIE4tYmFuZCBlcXVhbGl6ZXIgd2l0aCAxIGJhbmRzLiBUaGUKCSAgcHJldmlvdXMgbGltaXQgb2YgMiB3YXMgY2F1c2VkIGJ5IGEgbm93YWRheXMgcmVwbGFjZWQgY2FsY3VsYXRpb24KCSAgZG9pbmcgYSBkaXZpc2lvbiBieSB6ZXJvIGlmIG51bWJlciBvZiBiYW5kcyB3YXMgMS4KCjIwMDctMTEtMDIgMjE6NDU6MzggKzAwMDAgIE9sZSBBbmRyw6kgVmFkbGEgUmF2bsOlcyA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IEZpeCBiYWQgZnVuY3Rpb24gc2lnbmF0dXJlcyAoIzQ5Mjc5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogT2xlIEFuZHLDqSBWYWRsYSBSYXZuw6VzICA8b2xlLmFuZHJlLnJhdm5hc0B0YW5kYmVyZy5jb20+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBGaXggYmFkIGZ1bmN0aW9uIHNpZ25hdHVyZXMgKCM0OTI3OTgpLgoKMjAwNy0xMS0wMiAxNjo1MDo0MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWV4aWYuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlaXB0Yy5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlcG5nLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgQWRkZWQgc3VwcG9ydCBmb3IgUE5HL1hNUC4gSW5kZW50YXRpb24uIEFuZCBmaXhlZCBwdWxsIG1vZGUgdG8gcGFyc2UgdGhlIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzdXBwb3J0IGZvciBQTkcvWE1QLiBJbmRlbnRhdGlvbi4gQW5kIGZpeGVkIHB1bGwgbW9kZSB0byBwYXJzZSB0aGUgZmlsZS4KCjIwMDctMTEtMDIgMTI6MDM6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSAgTm93IG1ldGFkYXRhcGFyc2Ugd29ya3MgaW4gcHVzaCBvciBwdWxsIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgbWV0YWRhdGFwYXJzZSB3b3JrcyBpbiBwdXNoIG9yIHB1bGwgbW9kZS4KCjIwMDctMTEtMDEgMTY6MDQ6MjkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbWV0YWRhdGEvTWFrZWZpbGUuYW06CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VqcGVnLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNldXRpbC5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZXV0aWwuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgU29tZSBYTVAgc3R1ZmYgYWRkZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIFhNUCBzdHVmZiBhZGRlZC4KCjIwMDctMTAtMzEgMTY6MjE6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNleG1wLmg6CgkgIE5vdyBzZW5kaW5nIGlwdGMgdGFnIGluIHdob2xlIGNodW5rLiBSZWFkeSB0byBhbHNvIHNlbmQgZXhpZiBhbmQgeG1wIGluIHRoZSBzYW1lIHdheSAobG9vayBhdCBidWcgIzQ4NjY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBOb3cgc2VuZGluZyBpcHRjIHRhZyBpbiB3aG9sZSBjaHVuay4gUmVhZHkgdG8gYWxzbyBzZW5kIGV4aWYgYW5kIHhtcCBpbiB0aGUgc2FtZSB3YXkgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoKMjAwNy0xMC0zMSAxNDo0NDo1NSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBTb21lIHJlZmFjdG9yaW5nIGluIFJBVyBlbmNvZGluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgU29tZSByZWZhY3RvcmluZyBpbiBSQVcgZW5jb2RpbmcKCjIwMDctMTAtMzEgMTQ6MDk6MjUgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiLzogQWRkZWQgY29weXJlY3QgZW5jb2RpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5oOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ1ZmZlci5oOgoJICAqIGdzdC9saWJyZmIvcmZiY29udGV4dC5oOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICAqIGdzdC9saWJyZmIvcmZidXRpbC5oOgoJICAqIGdzdC9saWJyZmIvdm5jYXV0aC5oOgoJICBBZGRlZCBjb3B5cmVjdCBlbmNvZGluZwoKMjAwNy0xMC0zMSAxMzozMTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvY2Ftc3djbGllbnQuYzogV2FybiBvbiBmYWlsZWQgd3JpdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgV2FybiBvbiBmYWlsZWQgd3JpdGUuCgoyMDA3LTEwLTMwIDIxOjM3OjQ5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyLzogQWRkIHNtYWxsIGRlbW8gYXBwbGljYXRpb24gYmFzZWQgb24gdGhlIHNwZWN0cnVtIGRlbW8gYXBwbGljYXRpb25zIHRoYXQgZ2V0cyB3aGl0ZSBub2lzZSBhcyBpbnB1dCwgcHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2RlbW8uYzogKG9uX3dpbmRvd19kZXN0cm95KSwgKG9uX2NvbmZpZ3VyZV9ldmVudCksCgkgIChvbl9nYWluX2NoYW5nZWQpLCAob25fYmFuZHdpZHRoX2NoYW5nZWQpLCAob25fZnJlcV9jaGFuZ2VkKSwKCSAgKGRyYXdfc3BlY3RydW0pLCAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICBBZGQgc21hbGwgZGVtbyBhcHBsaWNhdGlvbiBiYXNlZCBvbiB0aGUgc3BlY3RydW0gZGVtbyBhcHBsaWNhdGlvbnMKCSAgdGhhdCBnZXRzIHdoaXRlIG5vaXNlIGFzIGlucHV0LCBwdXNoZXMgaXQgdGhyb3VnaCBhbiBlcXVhbGl6ZXIgYW5kCgkgIHBhaW50cyB0aGUgc3BlY3RydW0uIEZvciBldmVyeSBlcXVhbGl6ZXIgYmFuZCBpdCdzIHBvc3NpYmxlIHRvIHNldAoJICBnYWluLCBiYW5kd2lkdGggYW5kIGZyZXF1ZW5jeS4KCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoc2V0dXBfZmlsdGVyKToKCSAgQWRkIHNvbWUgZ3VhcmRpbmcgYWdhaW5zdCB0b28gbGFyZ2Ugb3IgdG9vIHNtYWxsIGZyZXF1ZW5jaWVzIGFuZAoJICBiYW5kd2lkdGhzLiBBbHNvIGltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoKMjAwNy0xMC0zMCAyMToxODo0NSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseSBmaW5kIGRvY3VtZW50YXRpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2NsYXNzX2luaXQpLCAoYXJnX3RvX3NjYWxlKSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKToKCSAgUmVwbGFjZSBmaWx0ZXJzIHdpdGggYSBiaXQgYmV0dGVyIGZpbHRlcnMgZm9yIHdoaWNoIHdlIGNhbiBhY3R1YWxseQoJICBmaW5kIGRvY3VtZW50YXRpb24sIHdoaWNoIGRvbid0IGNoYW5nZSBhbnl0aGluZyBvbiB6ZXJvIGdhaW4sIGV0Yy4KCSAgTWFrZSB0aGUgZnJlcXVlbmN5IHByb3BlcnR5IG9mIHRoZSBiYW5kcyB3cml0YWJsZSwgcmVuYW1lIHRoZQoJICBiYW5kLXdpZHRoIHByb3BlcnR5IHRvIGJhbmR3aWR0aCBhbmQgY2hhbmdlIHRoZQltZWFuaW5nIHRvIHRoZQoJICBmcmVxdWVuY3kgZGlmZmVyZW5jZSBiZXR3ZWVuIGJhbmRlZGdlcywgY2hhbmdlIHRoZSBtZWFuaW5nIG9mIHRoZQoJICBnYWluIHByb3BlcnR5IHRvIGRCIGluc3RlYWQgb2YgYSB3ZWlyZCBzY2FsZSBiZXR3ZWVuIC0xCWFuZCAxIHRoYXQKCSAgaGFzIG5vIHJlYWwgbWVhbmluZy4KCjIwMDctMTAtMzAgMjA6NTU6MjcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBGaXggdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2R2YmJhc2ViaW4uYzoKCSAgRml4IHRoZSBidWlsZC4KCjIwMDctMTAtMzAgMTg6MjE6MjIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L21ldGFkYXRhLy5naXRpZ25vcmU6CgkqIGV4dC9tZXRhZGF0YS9nc3RtZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlLmg6CgkgIENoYW5nZWQga2NsYXNzIHRvICJQYXJzZXIvRXh0cmFjdGVyL01ldGFkYXRhIiwgY2hhbmdlZCBjYXBzIHRvICJpbWFnZS9qcGVnLCB0YWdzLWV4dHJhY3Q9dHJ1ZS9mYWxzZSIgYW5kIGNoYW5nZWQgcHJpby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBrY2xhc3MgdG8gIlBhcnNlci9FeHRyYWN0ZXIvTWV0YWRhdGEiLCBjaGFuZ2VkIGNhcHMgdG8gImltYWdlL2pwZWcsIHRhZ3MtZXh0cmFjdD10cnVlL2ZhbHNlIiBhbmQgY2hhbmdlZCBwcmlvcml0eSB0byBHU1RfUkFOS19QUklNQVJZKzEuIEFsc28sIHNyY3BhZCBjYW4gb25seSB3b3JrIGluIHB1c2ggbW9kZSB1bnRpbCBmaXhlZCB0byBhbHNvIHdvcmsgaW4gcHVsbCBtb2RlLgoKMjAwNy0xMC0zMCAxMjo0OTowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L21ldGFkYXRhL01ha2VmaWxlLmFtOgoJKiBleHQvbWV0YWRhdGEvZ3N0bWV0YWRhdGEuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL2dzdG1ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2UuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VleGlmLmM6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlZXhpZi5oOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWlwdGMuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2VpcHRjLmg6CgkqIGV4dC9tZXRhZGF0YS9tZXRhZGF0YXBhcnNlanBlZy5jOgoJKiBleHQvbWV0YWRhdGEvbWV0YWRhdGFwYXJzZWpwZWcuaDoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuYzoKCSogZXh0L21ldGFkYXRhL21ldGFkYXRhcGFyc2V4bXAuaDoKCSAgQ3JlYXRlZCBuZXcgcGx1Z2luICgnbWVkYWRhdGEnKSBhbmQgZWxlbWVudCAoJ21ldGFkYXRhcGFyc2UnKSB0aGF0IGV4dHJhY3QgbWV0YWRhdGEgZnJvbSBpbWFnZXMgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgcGx1Z2luICgnbWVkYWRhdGEnKSBhbmQgZWxlbWVudCAoJ21ldGFkYXRhcGFyc2UnKSB0aGF0IGV4dHJhY3QgbWV0YWRhdGEgZnJvbSBpbWFnZXMgKGxvb2sgYXQgYnVnICM0ODY2NTkpLgoKMjAwNy0xMC0yOSAxNTo1NDowNCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBVbmNvbW1lbnQgdGhlIGxpbmUgdGhhdCBzZXRzIHRoZSBwaWQgZmlsdGVyLiBXcm9uZyB3YXkgdG8gd29yay1hcm91bmQgZHJpdmVyIGlzc3Vlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgIFVuY29tbWVudCB0aGUgbGluZSB0aGF0IHNldHMgdGhlIHBpZCBmaWx0ZXIuIFdyb25nIHdheSB0bwoJICB3b3JrLWFyb3VuZCBkcml2ZXIgaXNzdWVzLgoKMjAwNy0xMC0yOCAxNToyMjowNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGJpdHJhdGUgcmFuZ2VzIGFuZCBjaGFuZ2UgZW51bSBuaWNrIGZvciBsb3cgY29tcGxleGl0eSBwcm9maWxlIGZyb20gTE9XIHRvIExDIGZvciBjb25zaXN0ZW5jeS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19wcm9maWxlX2dldF90eXBlKSwKCSAgKGdzdF9mYWFjX2NsYXNzX2luaXQpLCAoZ3N0X2ZhYWNfaW5pdCk6CgkgIEZpeCBiaXRyYXRlIHJhbmdlcyBhbmQgY2hhbmdlIGVudW0gbmljayBmb3IgbG93IGNvbXBsZXhpdHkKCSAgcHJvZmlsZSBmcm9tIExPVyB0byBMQyBmb3IgY29uc2lzdGVuY3kgKCM0OTAwNjApLgoKMjAwNy0xMC0yNyAxNjowNDo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9pbnRlcmxlYXZlL2ludGVybGVhdmUuYzogTGV0J3Mgbm90IGNhbGwgZXZlcnkgcmVxdWVzdCBwYWQgd2UgY3JlYXRlICJzaW5rJWQiLCB0aGF0J2xsIGNyZWF0ZSBwcm9ibGVtcyBpZiB0aGVyZSdzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6IChnc3RfaW50ZXJsZWF2ZV9yZXF1ZXN0X25ld19wYWQpOgoJICBMZXQncyBub3QgY2FsbCBldmVyeSByZXF1ZXN0IHBhZCB3ZSBjcmVhdGUgInNpbmslZCIsIHRoYXQnbGwKCSAgY3JlYXRlIHByb2JsZW1zIGlmIHRoZXJlJ3MgdG8gYmUgbW9yZSB0aGFuIG9uZSBwYWQuIEZpeGVzICM0OTA2ODIuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9pbnRlcmxlYXZlLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIHRoZSBhYm92ZS4KCjIwMDctMTAtMjcgMDg6MjA6NTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuKjogSW1wcm92ZWQgdmVyc2lvbiBub3QgZGFtYWdpbmcgaGVhZGVycyB1c2luZyBhIHNpbXBsZSBzdGF0ZSBtYWNoaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfYWxpZ24pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2RyYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFpbiksCgkgIChnc3RfbXBlZzR2cGFyc2Vfc2lua19zZXRjYXBzKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9jbGVhbnVwKSwgKGdzdF9tcGVnNHZwYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X21wZWc0dnBhcnNlX2Rpc3Bvc2UpLCAoZ3N0X21wZWc0dnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfbXBlZzR2cGFyc2VfY2xhc3NfaW5pdCksIChnc3RfbXBlZzR2cGFyc2VfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWc0dmlkZW9wYXJzZS9tcGVnNHZpZGVvcGFyc2UuaDogSW1wcm92ZWQgdmVyc2lvbiBub3QKCSAgZGFtYWdpbmcgaGVhZGVycyB1c2luZyBhIHNpbXBsZSBzdGF0ZSBtYWNoaW5lLgoKMjAwNy0xMC0yNiAxNzoxODo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94MjY0L2dzdHgyNjRlbmMuYzogRml4IGJ1aWxkIGFnYWluc3QgdGhlIGxpYngyNjQgdmVyc2lvbiB0aGF0IHNoaXBzIHdpdGggZGViaWFuIHN0YWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jOgoJICBGaXggYnVpbGQgYWdhaW5zdCB0aGUgbGlieDI2NCB2ZXJzaW9uIHRoYXQgc2hpcHMgd2l0aCBkZWJpYW4gc3RhYmxlLgoKMjAwNy0xMC0yNiAxNjowODowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBBZGQgYSBzaW1wbGUgTVBFRzQgRVMgcGFyc2VyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0xMC0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnNHZpZGVvcGFyc2UvbXBlZzR2aWRlb3BhcnNlLmM6CgkgIChnc3RfbXBlZzR2cGFyc2VfZHJhaW4pLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYWluKSwgKGdzdF9tcGVnNHZwYXJzZV9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X21wZWc0dnBhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWc0dnBhcnNlX2NsZWFudXApLAoJICAoZ3N0X21wZWc0dnBhcnNlX2NoYW5nZV9zdGF0ZSksIChnc3RfbXBlZzR2cGFyc2VfZGlzcG9zZSksCgkgIChnc3RfbXBlZzR2cGFyc2VfYmFzZV9pbml0KSwgKGdzdF9tcGVnNHZwYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9tcGVnNHZwYXJzZV9pbml0KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvbXBlZzR2aWRlb3BhcnNlL21wZWc0dmlkZW9wYXJzZS5oOiBBZGQgYSBzaW1wbGUgTVBFRzQgRVMKCSAgcGFyc2VyLgoKMjAwNy0xMC0yNSAyMzo0Mjo1MiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJbXByb3ZlIGRvY3VtZW50YXRpb24sIHdyaXRlIHNvbWUgdGVzdHMgZm9yIG11bHRpZmlsZXNyYy9zaW5rIGZvciB1cGNvbWluZyAtPmdvb2QgcmV2aWV3LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXVsdGlmaWxlLmM6CgkgIEltcHJvdmUgZG9jdW1lbnRhdGlvbiwgd3JpdGUgc29tZSB0ZXN0cyBmb3IgbXVsdGlmaWxlc3JjL3NpbmsKCSAgZm9yIHVwY29taW5nIC0+Z29vZCByZXZpZXcuCgoyMDA3LTEwLTIzIDEzOjA4OjI2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWN0dWFsbHkgdXNlIHRoZSBjb2RlLXJhdGUtaHAgcGFyYW1ldGVyIGZvciBEVkItUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzoKCSAgQWN0dWFsbHkgdXNlIHRoZSBjb2RlLXJhdGUtaHAgcGFyYW1ldGVyIGZvciBEVkItUy4KCSAgSXQgdHVybnMgb3V0IHNldHRpbmcgdG8gQVVUTyBkb2VzIG5vdCBhbHdheXMgd29yayAoCgkgIGVzcGVjaWFsbHkgaW4gZGlzZXEgc2l0dWF0aW9ucykuIFNldCBieSBkZWZhdWx0IHRvCgkgIEZFQ19BVVRPLgoKMjAwNy0xMC0yMiAxNTo0NTo0OSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IERvbid0IGVtaXQgbm8tbW9yZS1wYWRzIGZvciBzaW5nbGUgcGFkIHNjZW5hcmlvcyBhcyB0aGUgaGVhZGVyIGlzIGRlZmluaXRlbHkgbm90IHJlbGlhYmxlLiBXZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMTAtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksIChnc3RfZmx2X3BhcnNlX3RhZ190eXBlKTogRG9uJ3QKCSAgZW1pdCBuby1tb3JlLXBhZHMgZm9yIHNpbmdsZSBwYWQgc2NlbmFyaW9zIGFzIHRoZSBoZWFkZXIKCSAgaXMgZGVmaW5pdGVseSBub3QgcmVsaWFibGUuIFdlIGVtaXQgdGhlbSBmb3IgMiBwYWRzIHNjZW5hcmlvcwoJICB0aG91Z2ggdG8gc3BlZWQgdXAgbWVkaWEgZGlzY292ZXJ5LgoKMjAwNy0xMC0xOSAxNjoyMDo1MyArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy9kdmIvZHZiYmFzZWJpbi5jOiBBZGRlZCBwcm94eSBwcm9wZXJ0eSBvZiBkaXNlcWMtc291cmNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kdmIvZHZiYmFzZWJpbi5jOgoJICBBZGRlZCBwcm94eSBwcm9wZXJ0eSBvZiBkaXNlcWMtc291cmNlCgoyMDA3LTEwLTE4IDA2OjIwOjIxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBBZGQgYSBtaXNzaW5nIGJyZWFrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpOgoJICBBZGQgYSBtaXNzaW5nIGJyZWFrLgoKMjAwNy0xMC0xOCAwNjoxNDo0MiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuKjogTW92ZSBiYW5kd2lkdGggcHJvcGVydHkgdG8gdGhlIHNlcGFyYXRlIGJhbmRzIGFuZCBhZGQgZmxvYXQ2NCBzdXBwb3J0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9jbGFzc19pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoc2V0dXBfZmlsdGVyKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBNb3ZlIGJhbmR3aWR0aCBwcm9wZXJ0eSB0byB0aGUgc2VwYXJhdGUgYmFuZHMgYW5kIGFkZCBmbG9hdDY0IHN1cHBvcnQuCgoyMDA3LTEwLTE3IDE0OjQzOjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2NkYXVkaW8vTWFrZWZpbGUuYW06IEFkZCBhbm90aGVyIG1pc3NpbmcgR1NUX0xJQlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGF1ZGlvL01ha2VmaWxlLmFtOgoJICBBZGQgYW5vdGhlciBtaXNzaW5nIEdTVF9MSUJTLgoKMjAwNy0xMC0xNyAxNDozMzowMyArMDAwMCAgUmljaGFyZCBIdWx0IDxyaWNoYXJkQGltZW5kaW8uY29tPgoKCSAgZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbTogRml4IExJQlMgLSB3ZSBuZWVkIHRvIGxpbmsgYWdhaW5zdCBsaWJnc3RyZWFtZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmljaGFyZCBIdWx0IDxyaWNoYXJkIGltZW5kaW8gY29tPgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIEZpeCBMSUJTIC0gd2UgbmVlZCB0byBsaW5rIGFnYWluc3QgbGliZ3N0cmVhbWVyLgoKMjAwNy0xMC0xNyAxMDozMzo0MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kdmIvOiBGaXggc29tZSB3YXJuaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJICAqIHN5cy9kdmIvY2FtcmVzb3VyY2VtYW5hZ2VyLmM6CgkgIEZpeCBzb21lIHdhcm5pbmdzLgoKMjAwNy0xMC0xNiAxOToyNDozMSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOiBBZGQgdGhlIHNldCBlbmNvZGluZ3MgY2xpZW50IG1lc3NhZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEFkZCB0aGUgc2V0IGVuY29kaW5ncyBjbGllbnQgbWVzc2FnZQoKMjAwNy0xMC0xNiAxODozMzo0NCArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiByZW1vdmUgdGhlIHJmYmJ5dGVzdHJlYW0gZGVhZCBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9yZmIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgcmVtb3ZlIHRoZSByZmJieXRlc3RyZWFtIGRlYWQgY29kZQoKMjAwNy0xMC0xNiAxNzozODowNSArMDAwMCAgQWxlc3NhbmRybyBEZWNpbmEgPGFsZXNzYW5kcm9Abm52YS5vcmc+CgoJICBzeXMvZHZiLzogSW50ZWdyYXRlIFNvQyB3b3JrIGRvbmUgYnkgQWxlc3NhbmRybyBmb3IgdGhlIEZyZWV2byBwcm9qZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGF0Y2ggYnk6IEFsZXNzYW5kcm8gRGVjaW5hCgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL2NhbS5jOgoJICAqIHN5cy9kdmIvY2FtLmg6CgkgICogc3lzL2R2Yi9jYW1hcHBsaWNhdGlvbi5jOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb24uaDoKCSAgKiBzeXMvZHZiL2NhbWFwcGxpY2F0aW9uaW5mby5jOgoJICAqIHN5cy9kdmIvY2FtYXBwbGljYXRpb25pbmZvLmg6CgkgICogc3lzL2R2Yi9jYW1jb25kaXRpb25hbGFjY2Vzcy5jOgoJICAqIHN5cy9kdmIvY2FtY29uZGl0aW9uYWxhY2Nlc3MuaDoKCSAgKiBzeXMvZHZiL2NhbWRldmljZS5jOgoJICAqIHN5cy9kdmIvY2FtZGV2aWNlLmg6CgkgICogc3lzL2R2Yi9jYW1yZXNvdXJjZW1hbmFnZXIuYzoKCSAgKiBzeXMvZHZiL2NhbXJlc291cmNlbWFuYWdlci5oOgoJICAqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5jOgoJICAqIHN5cy9kdmIvY2Ftc2Vzc2lvbi5oOgoJICAqIHN5cy9kdmIvY2Ftc3djbGllbnQuYzoKCSAgKiBzeXMvZHZiL2NhbXN3Y2xpZW50Lmg6CgkgICogc3lzL2R2Yi9jYW10cmFuc3BvcnQuYzoKCSAgKiBzeXMvZHZiL2NhbXRyYW5zcG9ydC5oOgoJICAqIHN5cy9kdmIvY2FtdXRpbHMuYzoKCSAgKiBzeXMvZHZiL2NhbXV0aWxzLmg6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmM6CgkgICogc3lzL2R2Yi9kdmJiYXNlYmluLmg6CgkgICogc3lzL2R2Yi9nc3RkdmIuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEludGVncmF0ZSBTb0Mgd29yayBkb25lIGJ5IEFsZXNzYW5kcm8gZm9yIHRoZSBGcmVldm8gcHJvamVjdC4KCSAgQWRkcyBjYW0gc3VwcG9ydCB0byB0aGUgZHZiIHN0YWNrIGluIEdTdHJlYW1lciBhbmQgYSBuZXcKCSAgZWxlbWVudCAoYWN0dWFsbHkgYSBiaW4pIGNhbGxlZCBkdmJiYXNlYmluIHRoYXQgaW50ZWdyYXRlcwoJICBkdmJzcmMgYW5kIG1wZWd0c3BhcnNlIHRvIGEpIGhhbmRsZSBkZWNyeXB0aW9uIGFuZCBiKSBhbGxvdwoJICBhY3F1aXJpbmcgbXVsdGlwbGUgY2hhbm5lbHMgb24gc2FtZSB0cmFuc3BvbmRlciB3aXRob3V0CgkgIGtub3dpbmcgcGlkIG51bWJlcnMuCgoyMDA3LTEwLTE2IDE2OjUxOjIzICswMDAwICBBbGVzc2FuZHJvIERlY2luYSA8YWxlc3NhbmRyb0BubnZhLm9yZz4KCgkgIGdzdC9tcGVndHNwYXJzZS86IEFkZCByZXF1ZXN0IHBhZCBmb3IgZ2V0dGluZyB0aGUgZnVsbCB0cmFuc3BvcnQgc3RyZWFtIGNvbWluZyBpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBBbGVzc2FuZHJvIERlY2luYQoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYWNrZXRpemVyLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmg6CgkgIEFkZCByZXF1ZXN0IHBhZCBmb3IgZ2V0dGluZyB0aGUgZnVsbCB0cmFuc3BvcnQgc3RyZWFtIGNvbWluZyBpbi4KCjIwMDctMTAtMTQgMTc6MjI6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogVXBkYXRlIHRoZSBoaWdoZXN0IGFsbG93ZWQgbmVvbiB2ZXJzaW9uIGZyb20gMC4yNi45OSB0byAwLjI3Ljk5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB0aGUgaGlnaGVzdCBhbGxvd2VkIG5lb24gdmVyc2lvbiBmcm9tIDAuMjYuOTkgdG8gMC4yNy45OS4KCSAgTm8gY29kZSBjaGFuZ2VzIGFyZSByZXF1aXJlZCB0byB3b3JrIHdpdGggdGhlIG5ld2VzdCBuZW9uIHZlcnNpb24uCgoyMDA3LTEwLTEwIDExOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZXF1aXJlIGNvcmUgQ1ZTLiAgVGhpcyBpcyBpbXBsaWNpdCBpbiB0aGUgLWJhc2UgQ1ZTIHJlcXVpcmVtZW50IGFscmVhZHksIHNvIHdlIG1pZ2h0IGp1c3Qgd2VsbCBzcGVsbCBpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVxdWlyZSBjb3JlIENWUy4gIFRoaXMgaXMgaW1wbGljaXQgaW4gdGhlIC1iYXNlIENWUwoJICByZXF1aXJlbWVudCBhbHJlYWR5LCBzbyB3ZSBtaWdodCBqdXN0IHdlbGwgc3BlbGwgaXQKCSAgb3V0LiAgQWxzbywgd2UgZG8gbmVlZCBhdCBsZWFzdCAwLjEwLjE0IGZvcgoJICBnc3RfZWxlbWVudF9jbGFzc19zZXRfZGV0YWlsc19zaW1wbGUoKS4gIE1ha2UgY2hlY2sKCSAgZm9yIGdteXRoIGEgYml0IG1vcmUgcmVzdHJpY3RpdmUgc28gdGhpbmdzIGRvbid0IGJyZWFrCgkgIGlmIHRoZSBuZXh0IHZlcnNpb24gY2hhbmdlcyBBUEkuCgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgIFdvcmsgYXJvdW5kIGFsc2EgYWxsb2NhIG1hY3JvcyB0cmlnZ2VyaW5nICdhbHdheXMgZXZhbHVhdGVzIHRvCgkgIHRydWUnIHdhcm5pbmdzIHdpdGggZ2NjLTQuMiBhbmQgZml4IGNvbXBpbGF0aW9uIHdpdGggZ2NjLTQuMi4KCSAgQWxzbyBkb24ndCBsZWFrIHRoZSBkZXZpY2Ugc3RyaW5nLgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5jYzoKCSAgKiBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggY29tcGlsYXRpb24gd2l0aCBnKys0LjIgYW5kIC1XYWxsIC1XZXJyb3IgKGFsc28gbmVlZHMgcGx1Z2luCgkgIGRlZmluZSBmaXggZnJvbSBjb3JlIENWUykuIEZpeGVzICM0NjI3MzcuCgoyMDA3LTEwLTA5IDEwOjAxOjM5ICswMDAwICBMYXVyZW50IEdsYXlhbCA8c3BnbGVnbGVAeWFob28uZnI+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IG1lbWxlYWsuIEZpeGVzICM0ODQ5OTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTGF1cmVudCBHbGF5YWwgPHNwZ2xlZ2xlIGF0IHlhaG9vIGRvdCBmcj4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgIEZpeCBtZW1sZWFrLiBGaXhlcyAjNDg0OTkwLgoKMjAwNy0xMC0wOCAxNzo0Njo0NSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvOiBGaXggY29tcGlsZXIgd2FybmluZ3Mgc2hvd24gYnkgRm9ydGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6IChyZmJfYnVmZmVyX25ld19hbmRfYWxsb2MpOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmg6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6IChyZmJfc29ja2V0X2dldF9idWZmZXIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOiAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYWluKToKCSAgKiBnc3QvbnNmL25lczY1MDIuYzogKG5lczY1MDJfZXhlY3V0ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2Fwcyk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChvcGVuX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEZpeCBjb21waWxlciB3YXJuaW5ncyBzaG93biBieSBGb3J0ZS4KCjIwMDctMTAtMDggMTA6Mzk6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnZXRfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgRml4IGNhcHMgcmVmY291bnRpbmcgZm9yIHBheWxvYWQgbWFwcy4KCSAgV2hlbiBjbGVhcmluZyBwYXlsb2FkIG1hcHMsIGFsc28gY2xlYXIgc2Vzc2lvbnMgYW5kIHN0cmVhbXMgcGF5bG9hZAoJICBtYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogKGdzdF9ydHBfcHRfZGVtdXhfZ2V0X2NhcHMpLAoJICAoZ3N0X3J0cF9wdF9kZW11eF9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChmaW5kX3BhZF9mb3JfcHQpOgoJICBJbXBsZW1lbnQgY2xlYXJpbmcgdGhlIHBheWxvYWQgbWFwLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9zZW5kX3J0cF9zaW5rKToKCSAgRm9yd2FyZCBmbHVzaCBldmVudHMgaW5zdGVhZCBvZiBsZWFraW5nIHRoZW0uCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfcnRjcF9zaW5rX2V2ZW50KToKCSAgQ29ycmVjdGx5IHJlZmNvdW50IGV2ZW50cyBiZWZvcmUgcHVzaGluZyB0aGVtLgoKMjAwNy0xMC0wOCAwNjowNzoyMiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2dpby9nc3RnaW8uYzogVXNlIEdJTyBmdW5jdGlvbiB0byBnZXQgYSBsaXN0IG9mIHN1cHBvcnRlZCBVUkkgc2NoZW1lcyBpbnN0ZWFkIG9mIGhhcmQgY29kaW5nIHNvbWV0aGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dpby9nc3RnaW8uYzogKGdzdF9naW9fZ2V0X3N1cHBvcnRlZF9wcm90b2NvbHMpOgoJICBVc2UgR0lPIGZ1bmN0aW9uIHRvIGdldCBhIGxpc3Qgb2Ygc3VwcG9ydGVkIFVSSSBzY2hlbWVzIGluc3RlYWQgb2YKCSAgaGFyZCBjb2Rpbmcgc29tZXRoaW5nLgoKMjAwNy0xMC0wNSAxNzoyNjoxNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogV2hlbiByZWNvbnNpZGVyaW5nIFJUQ1AgdGltZW91dHMsIHNldCB0aGUgbmV4dCB0aW1lb3V0IGFnYWluc3QgdGhlIGxhc3QgcmVwb3J0IHRpbWUgaW5zdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9uZXh0X3RpbWVvdXQpLAoJICBXaGVuIHJlY29uc2lkZXJpbmcgUlRDUCB0aW1lb3V0cywgc2V0IHRoZSBuZXh0IHRpbWVvdXQgYWdhaW5zdCB0aGUgbGFzdAoJICByZXBvcnQgdGltZSBpbnN0ZWFkIG9mIHRoZSBjdXJyZW50IGNsb2NrIHRpbWUgc28gdGhhdCB3ZSBkb24ndCBlbmQgdXAKCSAgcmVjb25zaWRlcmluZyBmb3JldmVyLgoKMjAwNy0xMC0wNSAxMjowNzozNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBPbmx5IHBlZWsgYXQgdGhlIHRhaWwgZWxlbWVudCBpbnN0ZWFkIG9mIHBvcHBpbmcgaXQgb2ZmLCB3aGljaCBhbGxvd3MgdXMgdG8gZ3JlYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIE9ubHkgcGVlayBhdCB0aGUgdGFpbCBlbGVtZW50IGluc3RlYWQgb2YgcG9wcGluZyBpdCBvZmYsIHdoaWNoIGFsbG93cwoJICB1cyB0byBncmVhdGx5IHNpbXBsaWZ5IHRoaW5ncyB3aGVuIHRoZSB0YWlsIGVsZW1lbnQgY2hhbmdlcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6CgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc2lua19ldmVudCk6CgkgIEZvcndhcmQgRkxVU0ggZXZlbnRzIGluc3RlYWQgb2YgbGVha2luZyB0aGVtLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksCgkgIChjYWxjdWxhdGVfc2tldyksIChydHBfaml0dGVyX2J1ZmZlcl9pbnNlcnQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgdGhlIHRhaWwtY2hhbmdlZCBjYWxsYmFjayBpbiBmYXZvdXIgb2YgYSBzaW1wbGUgYm9vbGVhbiB3aGVuIHdlCgkgIGluc2VydCBhIGJ1ZmZlciBpbiB0aGUgcXVldWUuCgkgIEFkZCBtZXRob2QgdG8gcGVlayB0aGUgdGFpbCBvZiB0aGUgYnVmZmVyLgoKMjAwNy0xMC0wNSAwODo1MTo0NCArMDAwMCAgR2F1dGllciBQb3J0ZXQgPGthc3NvdWxldEBnbWFpbC5jb20+CgoJICBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6IFRoZSBzaXplIG9mIHRoZSBYaW5nIGhlYWRlciBpcyBhY3R1YWxseSA0MTcgYXMgaXQncyByb3VuZGVkIHRvIHRoZSBuZXh0IHNtYWxsZXIgaW50ZWdlci4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBHYXV0aWVyIFBvcnRldCA8a2Fzc291bGV0IGF0IGdtYWlsIGRvdCBjb20+CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICBUaGUgc2l6ZSBvZiB0aGUgWGluZyBoZWFkZXIgaXMgYWN0dWFsbHkgNDE3IGFzIGl0J3Mgcm91bmRlZCB0byB0aGUKCSAgbmV4dCBzbWFsbGVyIGludGVnZXIuIEZpeGVzICMzOTc3NTkuCgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoeGluZ19nZW5lcmF0ZV9oZWFkZXIpLAoJICAoeGluZ19wdXNoX2hlYWRlcik6CgkgIFNvbWUgcmFuZG9tIGNsZWFudXAsIGFkZCBGSVhNRXMgYW5kIFRPRE9zIGFuZCBjaGVjayBpZiB0aGUgbmV3c2VnbWVudAoJICBldmVudCB0byB0aGUgYmVnaW5uaW5nIHdhcyBzdWNjZXNzZnVsIGJlZm9yZSBwdXNoaW5nIHRoZSBoZWFkZXIgYWdhaW4uCgoyMDA3LTEwLTA1IDA4OjA1OjE0ICswMDAwICBXYWktTWluZyBIbyA8d2VicmVnYm94QHlhaG9vLmNvLnVrPgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzogRG9uJ3Qgc2tpcCBQQVQgd2l0aCB2ZXJzaW9uIG51bWJlciAwLiBGaXhlcyAjNDgzNDAwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdhaS1NaW5nIEhvIDx3ZWJyZWdib3ggYXQgeWFob28gZG90IGNvIGRvdCB1az4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfc3RyZWFtX25ldyk6CgkgIERvbid0IHNraXAgUEFUIHdpdGggdmVyc2lvbiBudW1iZXIgMC4gRml4ZXMgIzQ4MzQwMC4KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKG1wZWd0c19wYXJzZV9hcHBseV9wYXQpOgoJICBNYWtlIGFsbCB2YWx1ZXMgYWJvdmUgMCBtYXJrIGEgcmVmZXJlbmNlZCBwcm9ncmFtIGFzIHRoZXkgY2FuIGJlCgkgIGluY3JlbWVudGVkIGFuZCBvbmx5IDEgaGFkIG1hcmtlZCBhIHJlZmVyZW5jZWQgcHJvZ3JhbSBiZWZvcmUsIGNhdXNpbmcKCSAgYWN0dWFsbHkgcmVmZXJlbmNlZCBwcm9ncmFtcyB0byBiZSB1bnJlZmVyZW5jZWQuCgoyMDA3LTEwLTAyIDEwOjI5OjQ2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5oOiBDaGFuZ2Ugc2lnbmF0dXJlIG9mIHB0IHRvIGZpeCBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3Jtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9nc3RzZHBkZW11eC5oOgoJICBDaGFuZ2Ugc2lnbmF0dXJlIG9mIHB0IHRvIGZpeCBjb21waWxhdGlvbiBvbiBzb21lIHBsYXRmb3Jtcy4KCjIwMDctMTAtMDIgMTA6Mjc6NDUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0YXJ0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpLCAoYXBwbHlfb2Zmc2V0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVtb3ZlIHNvbWUgb2xkIHVudXNlZCB2YXJpYWJsZXMuCgkgIERvbid0IGFkZCB0aGUgbGF0ZW5jeSB0byB0aGUgc2tldyBjb3JyZWN0ZWQgdGltZXN0YW1wLCBsYXRlbmN5IGlzIG9ubHkKCSAgdXNlZCB0byBzeW5jIGFnYWluc3QgdGhlIGNsb2NrLgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzogKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfcmVzZXRfc2tldyksIChjYWxjdWxhdGVfc2tldyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIEhhbmRsZSBjYXNlIHdoZXJlIHNlcnZlciB0aW1lc3RhbXAgZ29lcyBiYWNrd2FyZHMgb3Igd2lsZGx5IGp1bXBzIGJ5CgkgIHRlbXBvcmFyaWx5IHBhdXNpbmcgdGhlIHNrZXcgY29ycmVjdGlvbi4KCSAgSW1wcm92ZSBkZWJ1Z2dpbmcuCgoyMDA3LTEwLTAyIDEwOjEyOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9NYWtlZmlsZS5hbTogRm9yZ290IHRvIGNvbW1pdCBtYWtlZmlsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NkcC9NYWtlZmlsZS5hbToKCSAgRm9yZ290IHRvIGNvbW1pdCBtYWtlZmlsZS4KCjIwMDctMTAtMDIgMDc6NDM6NTcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vZ3N0Z2lvc2luay5jOiBVcGRhdGUgdG8gQVBJIGNoYW5nZXMgaW4gR0lPLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19zdGFydCk6CgkgIFVwZGF0ZSB0byBBUEkgY2hhbmdlcyBpbiBHSU8uCgoyMDA3LTEwLTAxIDE0OjAxOjQwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3NkcC9nc3RzZHBkZW11eC5jOiBVc2UgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChnc3Rfc2RwX2RlbXV4X21lZGlhX3RvX2NhcHMpOgoJICBVc2UgbmV3IGZ1bmN0aW9uIGluIC1iYXNlIHRvIGdldCB0aGUgZGVmYXVsdCBjbG9jay1yYXRlLgoKMjAwNy0xMC0wMSAxMTo0MzowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZGVkIFNEUCBkZW11eGVyIGVsZW1lbnQuIEZpeGVzICM0MjY2NTcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvc2RwL2dzdHNkcGRlbXV4LmM6IChfZG9faW5pdCksIChnc3Rfc2RwX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RwX2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3NkcF9kZW11eF9pbml0KSwKCSAgKGdzdF9zZHBfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3NkcF9kZW11eF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NkcF9kZW11eF9nZXRfcHJvcGVydHkpLCAoZmluZF9zdHJlYW1fYnlfaWQpLAoJICAoZmluZF9zdHJlYW1fYnlfcHQpLCAoZmluZF9zdHJlYW1fYnlfdWRwc3JjKSwgKGZpbmRfc3RyZWFtKSwKCSAgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX2ZyZWUpLCAoZ3N0X3NkcF9kZW11eF9jcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9zZHBfZGVtdXhfY2xlYW51cCksIChnZXRfZGVmYXVsdF9yYXRlX2Zvcl9wdCksCgkgIChnc3Rfc2RwX2RlbXV4X3BhcnNlX3J0cG1hcCksIChnc3Rfc2RwX2RlbXV4X21lZGlhX3RvX2NhcHMpLAoJICAobmV3X3Nlc3Npb25fcGFkKSwgKHJlcXVlc3RfcHRfbWFwKSwgKGdzdF9zZHBfZGVtdXhfZG9fc3RyZWFtX2VvcyksCgkgIChvbl9ieWVfc3NyYyksIChvbl90aW1lb3V0KSwgKGdzdF9zZHBfZGVtdXhfY29uZmlndXJlX21hbmFnZXIpLAoJICAoZ3N0X3NkcF9kZW11eF9zdHJlYW1fY29uZmlndXJlX3VkcCksCgkgIChnc3Rfc2RwX2RlbXV4X3N0cmVhbV9jb25maWd1cmVfdWRwX3NpbmspLAoJICAoZ3N0X3NkcF9kZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9zZHBfZGVtdXhfc3RyZWFtX3B1c2hfZXZlbnQpLAoJICAoZ3N0X3NkcF9kZW11eF9oYW5kbGVfbWVzc2FnZSksIChnc3Rfc2RwX2RlbXV4X3N0YXJ0KSwKCSAgKGdzdF9zZHBfZGVtdXhfc2lua19ldmVudCksIChnc3Rfc2RwX2RlbXV4X3NpbmtfY2hhaW4pLAoJICAoZ3N0X3NkcF9kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9zZHAvZ3N0c2RwZGVtdXguaDoKCSAgKiBnc3Qvc2RwL2dzdHNkcGVsZW0uYzogKHBsdWdpbl9pbml0KToKCSAgQWRkZWQgU0RQIGRlbXV4ZXIgZWxlbWVudC4gRml4ZXMgIzQyNjY1Ny4KCjIwMDctMTAtMDEgMDk6MjE6MTkgKzAwMDAgIG11dGV4IGF0IHJ1bmJveCBkb3QgY29tIDxtdXRleEBydW5ib3guY29tPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogUmVtb3ZlIHVzZWxlc3Mgc3JjIHBhZCB0aGF0IG9ubHkgcmVzdWx0cyBpbiBub3QgbGlua2VkIGVycm9ycywgZml4IGEgYnJva2VuIHBvaW50ZXIgZGVyZWZlcmVuY2UgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogbXV0ZXggYXQgcnVuYm94IGRvdCBjb20KCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5jOgoJICAobXBlZ3RzX3BhY2tldGl6ZXJfcGFyc2VfYWRhcHRhdGlvbl9maWVsZF9jb250cm9sKToKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzogKG1wZWd0c19wYXJzZV9iYXNlX2luaXQpLAoJICAobXBlZ3RzX3BhcnNlX2luaXQpLCAobXBlZ3RzX3BhcnNlX3B1c2gpOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICBSZW1vdmUgdXNlbGVzcyBzcmMgcGFkIHRoYXQgb25seSByZXN1bHRzIGluIG5vdCBsaW5rZWQgZXJyb3JzLAoJICBmaXggYSBicm9rZW4gcG9pbnRlciBkZXJlZmVyZW5jZSBhbmQgbWFrZSBNQVhfQ09OVElOVUlUWSBjb25zdGFudAoJICBjb25mb3JtIHRvIHRoZSBzdGFuZGFyZCB0byBzdG9wIG91dHB1dHRpbmcgY29ycnVwdGVkIGRhdGEuCgkgIEZpeGVzICM0ODEyNzYsICM0ODEyNzkuCgoyMDA3LTA5LTI5IDE5OjM2OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogUmUtYXBwbHkgZG9jcyBwYXRjaCBmcm9tICM0NjgwMzk7IGZpeCB0YWIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIFJlLWFwcGx5IGRvY3MgcGF0Y2ggZnJvbSAjNDY4MDM5OyBmaXggdGFiLgoJICAqIGdzdC9tcGVndHNwYXJzZS8uY3ZzaWdub3JlOgoJICBJZ25vcmUgbWFyc2hhbGxlciBmaWxlcyBnZW5lcmF0ZWQgYXQgYnVpbGQgdGltZS4KCjIwMDctMDktMjkgMDc6MDE6NTUgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9naW8vOiBTb21lIG1pbm9yIGNsZWFudXAgYW5kIGFsbG93IHNldHRpbmcgdGhlIGxvY2F0aW9uIG9ubHkgd2hlbiB0aGUgZWxlbWVudCBpcyBub3QgcGxheWluZyBvciBwYXVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9naW8vZ3N0Z2lvc2luay5jOiAoZ3N0X2dpb19zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZ2lvX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc2lua19yZW5kZXIpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmM6IChnc3RfZ2lvX3NyY19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zcmNfc2V0X3Byb3BlcnR5KToKCSAgU29tZSBtaW5vciBjbGVhbnVwIGFuZCBhbGxvdyBzZXR0aW5nIHRoZSBsb2NhdGlvbiBvbmx5IHdoZW4gdGhlCgkgIGVsZW1lbnQgaXMgbm90IHBsYXlpbmcgb3IgcGF1c2VkLgoKMjAwNy0wOS0yOSAwNToyNjo1NCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgY29uZmlndXJlLmFjOiBVcGRhdGUgZ2lvJ3MgcGtnLWNvbmZpZyBmaWxlIG5hbWUgYXMgY3VycmVudGx5IGluIFNWTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBVcGRhdGUgZ2lvJ3MgcGtnLWNvbmZpZyBmaWxlIG5hbWUgYXMgY3VycmVudGx5IGluIFNWTi4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pOgoJICBSZW1vdmUgc3BlY2lhbCBjYXNpbmcgZm9yIGEgTlVMTCBxdWVyeSBzdHJpbmcuIGdfc3Ryam9pbiB3b24ndCBhZGQKCSAgdGhlIHNlcGFyYXRvciBpZiB0aGVyZSdzIG9ubHkgb25lIHN0cmluZy4KCjIwMDctMDktMjggMTQ6NTE6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IGNyYXNoZXIgaW4gZGlzcG9zZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmcmVlX2NsaWVudCk6CgkgIEZpeCBjcmFzaGVyIGluIGRpc3Bvc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChjYWxjdWxhdGVfc2tldyk6CgkgIEhhbmRsZSBjYXNlcyB3aGVyZSBpbnB1dCBidWZmZXJzIGhhdmUgbm8gdGltZXN0YW1wcyBzbyB0aGF0IG5vIGNsb2NrCgkgIHNrZXcgY2FuIGJlIGNhbGN1bGF0ZWQsIGluIHRoaXMgY2FzZSBpbnRlcnBvbGxhdGUgdGltZXN0YW1wcyBiYXNlZCBvbgoJICBydHAgdGltZXN0YW1wIGFuZCBhc3N1bWUgYSAwIGNsb2NrIHNrZXcuCgoyMDA3LTA5LTI4IDExOjE3OjM1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlbW92ZSBqaXR0ZXIgY29ycmVjdGlvbiBjb2RlLCBpdCdzIG5vdyBpbiB0aGUgbG93ZXIgbGV2ZWwgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogKGFwcGx5X2xhdGVuY3kpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgUmVtb3ZlIGppdHRlciBjb3JyZWN0aW9uIGNvZGUsIGl0J3Mgbm93IGluIHRoZSBsb3dlciBsZXZlbCBvYmplY3QuCgkgIFVzZSBuZXcgLWNvcmUgbWV0aG9kIGZvciBkb2luZyBhIHBlZXIgcXVlcnkuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KSwgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmg6CgkgIE1vdmUgaml0dGVyIGNvcnJlY3Rpb24gdG8gdGhlIGxvd2xldmVsIGppdHRlcmJ1ZmZlci4KCSAgSW5jcmVhc2UgdGhlIG1heCB3aW5kb3cgc2l6ZS4KCSAgV2hlbiBmaWxsaW5nIHRoZSB3aW5kb3csIGFscmVhZHkgc3RhcnQgZXN0aW1hdGluZyB0aGUgc2tldyB1c2luZyBhCgkgIHBhcmFib2xpYyB3ZWlnaHRpbmcgZmFjdG9yIHNvIHRoYXQgd2UgaGF2ZSBhIG11Y2ggYmV0dGVyIHN0YXJ0dXAKCSAgYmVoYXZpb3VyIHRoYXQgZ2V0cyBtb3JlIGFjY3VyYXRlIHdpdGggdGhlIG1vcmUgc2FtcGxlcyB3ZSBoYXZlLgoJICBJbmNyZWFzZSB0aGUgZGVmYXVsdCB3ZWlnaHRpbmcgZmFjdG9yIGZvciB0aGUgc3RlYWR5IHN0YXRlIHRvIGdldAoJICBzbW9vdGhlciB0aW1lc3RhbXBzLgoKMjAwNy0wOS0yOCAxMTowNzozNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTm93IHRoYXQgd2UgcmVxdWlyZSBsaWJuZW9uID49IDAuMjYgcmVtb3ZlIHRoZSBuZW9uIDAuMjUgYmFja3dhcmQgY29tcGF0aWJpbGl0eSBzdHVmZi4gQWxzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm94eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICBOb3cgdGhhdCB3ZSByZXF1aXJlIGxpYm5lb24gPj0gMC4yNiByZW1vdmUgdGhlIG5lb24gMC4yNSBiYWNrd2FyZAoJICBjb21wYXRpYmlsaXR5IHN0dWZmLiBBbHNvIGZpeCB0aGUgZGVmYXVsdCBsb2NhdGlvbi4KCjIwMDctMDktMjggMTA6NTE6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFdlIHJlcXVpcmUgbGlibmVvbiA+PSAyNiBub3cgZm9yIHRoZSBxdWVyeSBmaWVsZCBpbiBuZV91cmkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgV2UgcmVxdWlyZSBsaWJuZW9uID49IDI2IG5vdyBmb3IgdGhlIHF1ZXJ5IGZpZWxkIGluIG5lX3VyaS4KCjIwMDctMDktMjggMDk6Mjk6MDkgKzAwMDAgIFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBEb24ndCBkaXNjYXJkIEdFVCBwYXJhbWV0ZXJzIGZyb20gVVJMIGlmIGV4aXN0aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBDbG9ldGVucyA8d291dGVyQG1pbmQuYmU+CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfZGlzcG9zZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF9sb2NhdGlvbiksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NlbmRfcmVxdWVzdF9hbmRfcmVkaXJlY3QpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIERvbid0IGRpc2NhcmQgR0VUIHBhcmFtZXRlcnMgZnJvbSBVUkwgaWYgZXhpc3RpbmcuCgkgIEZpeGVzICM0ODEyMDAuCgoyMDA3LTA5LTI3IDE0OjUyOjU4ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuKjogQWRkZWQgYSBwcm9wZXJ0eSBmb3IgaW5jcmVtZW50YWwgc2NyZWVuIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOgoJICBBZGRlZCBhIHByb3BlcnR5IGZvciBpbmNyZW1lbnRhbCBzY3JlZW4gdXBkYXRlcwoKMjAwNy0wOS0yNyAxMzowMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuKjogUmVtb3ZlIHN1cGVyZmx1b3VzICdmcmFtZS1lbmNvZGVkJyBzaWduYWwgKHBlb3BsZSBjYW4gdXNlIGFuIHVwc3RyZWFtIGlkZW50aXR5J3MgJ2hhbmRvZmYnIHNpZy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5oOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgJ2ZyYW1lLWVuY29kZWQnIHNpZ25hbCAocGVvcGxlIGNhbgoJICB1c2UgYW4gdXBzdHJlYW0gaWRlbnRpdHkncyAnaGFuZG9mZicgc2lnbmFsIG9yIGEgcGFkCgkgIHByb2JlIGZvciB0aGlzIGlmIHRoZXkgbXVzdCBrbm93KS4KCjIwMDctMDktMjcgMTA6MDY6MjMgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZSB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTI3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV90YWdfYXVkaW8pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfdmlkZW8pOiBJIGdvdCBpdCB3cm9uZyBhZ2FpbiwgYXVkaW8gcmF0ZQoJICB3YXMgbm90IGRldGVjdGVkIGNvcnJlY3RseSBpbiBhbGwgY2FzZXMuCgoyMDA3LTA5LTI2IDIwOjA4OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fZGlzcG9zZSksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSk6CgkgIEZpeCBjbGVhbnVwIGNyYXNoZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwKCSAgKGNhbGN1bGF0ZV9za2V3KToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRHluYW1pY2FsbHkgYWRqdXN0IHRoZSBza2V3IGNhbGN1bGF0aW9uIHdpbmRvdyBzbyB0aGF0IHdlIGNhbGN1bGF0ZSBpdAoJICBvdmVyIGEgcGVyaW9kIG9mIGFyb3VuZCAyIHNlY29uZHMuCgoyMDA3LTA5LTI2IDE2OjQ0OjQyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogZml4IGJ1ZyBmcm9tIGdlbmVyaWMvc3RhdGVzLmdkYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICBmaXggYnVnIGZyb20gZ2VuZXJpYy9zdGF0ZXMuZ2RiCgoyMDA3LTA5LTI2IDE2OjMwOjUwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZyBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOS0yNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogY29kZWNfZGF0YSBpcyBuZWVkZWQgZm9yIGV2ZXJ5IHRhZwoJICBub3QganVzdCB0aGUgZmlyc3Qgb25lLiAoRml4IGEgc3R1cGlkIGJ1ZyBpIGludHJvZHVjZWQgd2l0aG91dAoJICB0ZXN0aW5nKQoKMjAwNy0wOS0yNiAxMToxNzowOCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZSBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDktMjYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEZpeCBiaXQgbWFza3Mgb3BlcmF0aW9ucyB0byBiZQoJICBzdXJlIHdlIGRldGVjdCB0aGUgY29kZWNfdGFncyBhbmQgc2FtcGxlIHJhdGVzIGNvcnJlY3RseS4KCSAgRml4IHJhdyBhdWRpbyBjYXBzIGdlbmVyYXRpb24uCgoyMDA3LTA5LTI0IDEwOjUzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBNYXNzaXZlIGxlYWsgZml4aW5nLCBwbHVzIGNvZGUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L2R2ZHNwdS9nc3RkdmRzcHUuYzoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9oMjY0cGFyc2UvZ3N0aDI2NHBhcnNlLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3d2aWRlb3NyYy5jOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6CgkgIE1hc3NpdmUgbGVhayBmaXhpbmcsIHBsdXMgY29kZSBjbGVhbnVwcy4KCjIwMDctMDktMjIgMTg6MzE6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vTElOR1VBUzogQWRkZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9MSU5HVUFTOgoJICBBZGRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA5LTIyIDE4OjI5OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL3BsLnBvOiBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBKYWt1YiBCb2d1c3ogPHFib29zaEBwbGQtbGludXgub3JnPgoJICAqIHBvL3BsLnBvOgoJICBBZGRlZCBQb2xpc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI5OjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2ZpLnBvOiBBZGRlZCBGaW5uaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSWxra2EgVHVvaGVsYSA8aGlsZUBpa2kuZmk+CgkgICogcG8vZmkucG86CgkgIEFkZGVkIEZpbm5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI4OjMwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2VzLnBvOiBBZGRlZCBTcGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdHJhbnNsYXRlZCBieTogSm9yZ2UgR29uesOhbGV6IEdvbnrDoWxleiA8YWxvcmllbEBnbWFpbC5jb20+CgkgICogcG8vZXMucG86CgkgIEFkZGVkIFNwYW5pc2ggdHJhbnNsYXRpb24uCgoyMDA3LTA5LTIyIDE4OjI3OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvL2JnLnBvOiBBZGRlZCBCdWxnYXJpYW4gdHJhbnNsYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0cmFuc2xhdGVkIGJ5OiBBbGV4YW5kZXIgU2hvcG92IDxhc2hAY29udGFjdC5iZz4KCSAgKiBwby9iZy5wbzoKCSAgQWRkZWQgQnVsZ2FyaWFuIHRyYW5zbGF0aW9uLgoKMjAwNy0wOS0yMSAxODowMDoyNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeTogVXBkYXRlIGhpZXJhcmNoeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgVXBkYXRlIGhpZXJhcmNoeS4KCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5oOgoJICBNYXJrIHByaXZhdGUgZmllbGRzIG9mIHRoZSBpbnN0YW5jZSBzdHJ1Y3RzIHByaXZhdGUuCgoyMDA3LTA5LTIxIDE3OjMxOjA1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgdGhlIEdJTyBwbHVnaW4gdG8gdGhlIGRvY3MgYW5kIGRvIGEgbWFrZSB1cGRhdGUgd2hpbGUgZG9pbmcgdGhhdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZXF1YWxpemVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1naW8ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5zZmRlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJlcGxheWdhaW4ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zb3VuZHRvdWNoLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BjZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgdGhlIEdJTyBwbHVnaW4gdG8gdGhlIGRvY3MgYW5kIGRvIGEgbWFrZSB1cGRhdGUKCSAgd2hpbGUgZG9pbmcgdGhhdC4KCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfc3RhcnQpOgoJICBGaXggYSBzbWFsbCBtZW1sZWFrLgoKMjAwNy0wOS0yMSAxNzowNzo1NiArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBhIEdJTy9HVkZTIHBsdWdpbiB3aXRoIHNvdXJjZSBhbmQgc2luayBlbGVtZW50cy4gVGhpcyB3aWxsIG9ubHkgYmUgZW5hYmxlZCB3aGVuIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBnaXZlbiB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2dpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2lvL2dzdGdpby5jOiAoZ3N0X2dpb19lcnJvciksIChnc3RfZ2lvX3NlZWspLAoJICAoZ3N0X2dpb19nZXRfc3VwcG9ydGVkX3Byb3RvY29scyksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX2dldF90eXBlX3NpbmspLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfdHlwZV9zcmMpLAoJICAoZ3N0X2dpb191cmlfaGFuZGxlcl9nZXRfcHJvdG9jb2xzKSwgKGdzdF9naW9fdXJpX2hhbmRsZXJfZ2V0X3VyaSksCgkgIChnc3RfZ2lvX3VyaV9oYW5kbGVyX3NldF91cmkpLCAoZ3N0X2dpb191cmlfaGFuZGxlcl9pbml0KSwKCSAgKGdzdF9naW9fdXJpX2hhbmRsZXJfZG9faW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2dpby9nc3RnaW8uaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuYzogKGdzdF9naW9fc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zaW5rX2luaXQpLAoJICAoZ3N0X2dpb19zaW5rX2ZpbmFsaXplKSwgKGdzdF9naW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zaW5rX2dldF9wcm9wZXJ0eSksIChnc3RfZ2lvX3Npbmtfc3RhcnQpLAoJICAoZ3N0X2dpb19zaW5rX3N0b3ApLCAoZ3N0X2dpb19zaW5rX3VubG9jayksCgkgIChnc3RfZ2lvX3NpbmtfdW5sb2NrX3N0b3ApLCAoZ3N0X2dpb19zaW5rX2V2ZW50KSwKCSAgKGdzdF9naW9fc2lua19yZW5kZXIpLCAoZ3N0X2dpb19zaW5rX3F1ZXJ5KToKCSAgKiBleHQvZ2lvL2dzdGdpb3NpbmsuaDoKCSAgKiBleHQvZ2lvL2dzdGdpb3NyYy5jOiAoZ3N0X2dpb19zcmNfYmFzZV9pbml0KSwKCSAgKGdzdF9naW9fc3JjX2NsYXNzX2luaXQpLCAoZ3N0X2dpb19zcmNfaW5pdCksCgkgIChnc3RfZ2lvX3NyY19maW5hbGl6ZSksIChnc3RfZ2lvX3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2dpb19zcmNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9naW9fc3JjX3N0YXJ0KSwKCSAgKGdzdF9naW9fc3JjX3N0b3ApLCAoZ3N0X2dpb19zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X2dpb19zcmNfaXNfc2Vla2FibGUpLCAoZ3N0X2dpb19zcmNfdW5sb2NrKSwKCSAgKGdzdF9naW9fc3JjX3VubG9ja19zdG9wKSwgKGdzdF9naW9fc3JjX2NoZWNrX2dldF9yYW5nZSksCgkgIChnc3RfZ2lvX3NyY19jcmVhdGUpOgoJICAqIGV4dC9naW8vZ3N0Z2lvc3JjLmg6CgkgIEFkZCBhIEdJTy9HVkZTIHBsdWdpbiB3aXRoIHNvdXJjZSBhbmQgc2luayBlbGVtZW50cy4gVGhpcyB3aWxsCgkgIG9ubHkgYmUgZW5hYmxlZCB3aGVuIC0tZW5hYmxlLWV4cGVyaW1lbnRhbCBpcyBnaXZlbiB0byBjb25maWd1cmUKCSAgZm9yIG5vdyBhcyB0aGUgR0lPIEFQSSBpcyBub3Qgc3RhYmxlIHlldC4gRml4ZXMgIzQ3NjkxNi4KCjIwMDctMDktMjEgMTU6NDk6MjQgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggdmFyaW91cyBuZXcgcGx1Zy1pbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUgd2l0aCB2YXJpb3VzIG5ldyBwbHVnLWlucwoKMjAwNy0wOS0yMSAxNDo1NToxOSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBBZGRlZCBvZmZzZXQteCwgb2Zmc2V0LXksIHdpZHRoIGFuZCBoZWlnaHQgcHJvcGVydHkgZm9yIHNlbGVjdGluZyBhIHJlZ2lvbiBmcm9tIHRoZSBzY3JlZW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkZWQgb2Zmc2V0LXgsIG9mZnNldC15LCB3aWR0aCBhbmQgaGVpZ2h0IHByb3BlcnR5CgkgIGZvciBzZWxlY3RpbmcgYSByZWdpb24gZnJvbSB0aGUgc2NyZWVuCgoyMDA3LTA5LTIxIDEwOjI3OjAyICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogTWluaW11bSByYXcgZW5jb2RpbmcgaXMgd29ya2luZyBub3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgTWluaW11bSByYXcgZW5jb2RpbmcgaXMgd29ya2luZyBub3cKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgZml4IGFkZHJlc3Mgd2hpbGUgcmVhZGluZyBmcm9tIHN0cmVhbQoKMjAwNy0wOS0yMCAyMDo0MDowNSArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6IHJhdyBlbmNvZGluZyBpcyB3b3JraW5nLCBidXQgaXQgbG9va3MgbGlrZSB0aGUgZmZtcGVnY29sb3JzcGFjZSBwbHVnaW4gY2FuJ3QgaGFuZGxlIGhpZ2ggcmVzby4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICByYXcgZW5jb2RpbmcgaXMgd29ya2luZywgYnV0IGl0IGxvb2tzIGxpa2UgdGhlCgkgIGZmbXBlZ2NvbG9yc3BhY2UgcGx1Z2luIGNhbid0IGhhbmRsZSBoaWdoIHJlc29sdXRpb25zCgoyMDA3LTA5LTIwIDE4OjMwOjM1ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzogYnBwLCBkZXB0aCBhbmQgZW5kaWFubmVzcyBhcmUgbm93IHNldCBmcm9tIHRoZSBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIGJwcCwgZGVwdGggYW5kIGVuZGlhbm5lc3MgYXJlIG5vdyBzZXQgZnJvbSB0aGUKCSAgc3RyZWFtLgoKMjAwNy0wOS0yMCAxNzozODoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4YW1wbGVzL2FwcC9hcHBzcmNfZXguYzogRml4IGNvbXBpbGF0aW9uIGFmdGVyIGNoYW5naW5nIHRoZSBuYW1lIG9mIGEgbWV0aG9kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6IChtYWluKToKCSAgRml4IGNvbXBpbGF0aW9uIGFmdGVyIGNoYW5naW5nIHRoZSBuYW1lIG9mIGEgbWV0aG9kLgoKMjAwNy0wOS0yMCAxNTowNjoyMyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1lbW9yeSBsZWFrcy4gTW9yZSB0byBjb21lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3ZpZGVvcGFyc2UuYzoKCSAgRml4IG1lbW9yeSBsZWFrcy4gTW9yZSB0byBjb21lLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvc3RhdGVzLmM6CgkgIEltcHJvdmVkIHN0YXRlIGNoYW5nZSB1bml0IHRlc3QuCgoyMDA3LTA5LTIwIDE0OjM0OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChvbl9zc3JjX2FjdGl2ZSksIChjcmVhdGVfc2Vzc2lvbiksCgkgIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChvbl9zc3JjX2FjdGl2ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAob25fc3NyY19hY3RpdmUpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYik6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBBZGQgbm90aWZpY2F0aW9uIG9mIGFjdGl2ZSBTU1JDcyB0byB2YXJpb3VzIFJUUCBlbGVtZW50cy4gRml4ZXMgIzQ3ODU2Ni4KCjIwMDctMDktMjAgMTM6NTk6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuKjogQWRkIHByb3BlcnRpZXMsIHNpZ25hbHMgYW5kIGFjdGlvbnMgdG8gYWNjZXNzIHRoZSBlbGVtZW50IGV2ZW4gd2l0aG91dCBsaW5raW5nIHRvIHRoZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6IChnc3RfYXBwX21hcnNoYWxfT0JKRUNUX19WT0lEKSwKCSAgKGdzdF9hcHBfc2lua19jbGFzc19pbml0KSwgKGdzdF9hcHBfc2lua19pbml0KSwKCSAgKGdzdF9hcHBfc2lua19kaXNwb3NlKSwgKGdzdF9hcHBfc2lua19maW5hbGl6ZSksCgkgIChnc3RfYXBwX3Npbmtfc2V0X3Byb3BlcnR5KSwgKGdzdF9hcHBfc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwgKGdzdF9hcHBfc2lua19zdGFydCksCgkgIChnc3RfYXBwX3NpbmtfZXZlbnQpLCAoZ3N0X2FwcF9zaW5rX2dldGNhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19nZXRfY2FwcyksCgkgIChnc3RfYXBwX3NpbmtfaXNfZW9zKSwgKGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwpLAoJICAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgQWRkIHByb3BlcnRpZXMsIHNpZ25hbHMgYW5kIGFjdGlvbnMgdG8gYWNjZXNzIHRoZSBlbGVtZW50IGV2ZW4gd2l0aG91dAoJICBsaW5raW5nIHRvIHRoZSBsaWJyYXJ5LgoJICBGaXggc29tZSBtZXRob2QgbmFtZXMgYW5kIHNpZ25hdHVyZXMuCgoyMDA3LTA5LTE5IDIxOjE4OjI3ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIG9uIHJlZ3VsYXIgbW9ubyBhbmQgc3RlcmVvIGNhc2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF9zcmNnZXRjYXBzKSwgKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKToKCSAgRG9uJ3Qgc2V0IGNoYW5uZWwgcG9zaXRpb25zIG9uIHJlZ3VsYXIgbW9ubyBhbmQgc3RlcmVvIGNhc2VzLgoJICBGaXhlcyAjNDc2MzcwLgoKMjAwNy0wOS0xOSAyMDo1NTo0MyArMDAwMCAgVGhpanMgVmVybWVpciA8dGhpanN2ZXJtZWlyQGdtYWlsLmNvbT4KCgkgIGdzdC9saWJyZmIvOiBJdCBpcyBub3cgcG9zc2libGUgdG8gY29ubmVjdCB0byBhIHZuY3NlcnZlci4gdGhlcmUgYXJlIHN0aWxsIHNvbWUgaXNzdWVzIHdpdGggdGhlIG91cHV0IG9mIHRoZSBzY3JlZW4uIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5jOgoJICAqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBJdCBpcyBub3cgcG9zc2libGUgdG8gY29ubmVjdCB0byBhIHZuY3NlcnZlci4KCSAgdGhlcmUgYXJlIHN0aWxsIHNvbWUgaXNzdWVzIHdpdGggdGhlIG91cHV0IG9mCgkgIHRoZSBzY3JlZW4uIExvb2tzIGxpa2Ugc29tZSBsaW5lcyBhcmUgY29uZnVzZWQKCjIwMDctMDktMTkgMTg6MjI6MjMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrLy5jdnNpZ25vcmU6CgkgIElnbm9yZSByZWdpc3RyaWVzIGluIGFueSBmb3JtYXQuCgoyMDA3LTA5LTE5IDEzOjUwOjQ0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IERvbid0IGdlbmVyYXRlIGFuIGVycm9yIGZvciBvY2Nhc2lvbmFsIGRlY29kaW5nIGVycm9ycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAob3Blbl9saWJyYXJ5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF92aWRlb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIERvbid0IGdlbmVyYXRlIGFuIGVycm9yIGZvciBvY2Nhc2lvbmFsIGRlY29kaW5nIGVycm9ycy4KCSAgQWRkIG1heC1lcnJvcnMgcHJvcGVydHkuCgkgIEVycm9yIG91dCB3aGVuIHdlIHJlY2VpdmUgbWF4LWVycm9ycyBpbiBhIHJvdy4gRml4ZXMgIzQ3ODE1OS4KCjIwMDctMDktMTkgMTM6MDY6MTcgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiBBZGQgcGFzc3dvcmQgcHJvcGVydHkgKHdyaXRlIG9ubHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgIEFkZCBwYXNzd29yZCBwcm9wZXJ0eSAod3JpdGUgb25seSkKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgUmVhZCB0aGUgcmVhc29uIG9uIGZhaWx1cmUKCSAgVXNlIHRoZSBwYXNzd29yZCBwcm9wZXJ0eSBmb3IgYXV0aGVudGljYXRpb24KCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgQWRkIGRlZmluZXMgZm9yIHZlcnNpb24gY2hlY2tpbmcKCjIwMDctMDktMTkgMTI6NTA6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkgY2hhaW4gdXAgdG8gdGhlIHBhcmVudC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KToKCSAgV2hlbiBmaW5hbGl6aW5nIEdzdERmYlN1cmZhY2UsIGEgc3ViY2xhc3Mgb2YgR3N0QnVmZmVyLCBjb3JyZWN0bHkKCSAgY2hhaW4gdXAgdG8gdGhlIHBhcmVudCBjbGFzcyB0byBmcmVlIGV2ZXJ5dGhpbmcsIGluY2x1ZGluZyBjYXBzLgoKMjAwNy0wOS0xOSAxMjo1MDowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseSBjaGFpbiB1cCB0byB0aGUgcGFyZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9kZXN0cm95KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2NsYXNzX2luaXQpOgoJICBXaGVuIGZpbmFsaXppbmcgR3N0RGZiU3VyZmFjZSwgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIsIGNvcnJlY3RseQoJICBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGNsYXNzIHRvIGZyZWUgZXZlcnl0aGluZywgaW5jbHVkaW5nIGNhcHMuCgoyMDA3LTA5LTE5IDA4OjM1OjEzICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSAgZ3N0L2xpYnJmYi86IFZOQyBBdXRoZW50aWNhdGlvbiBzaG91bGQgYmUgd29ya2luZyBub3cgdGVtcGVyYWx5IHdpdGggZmFrZSBwYXNzd29yZCAndGVzdHRlc3QnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9saWJyZmIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2xpYnJmYi9kM2Rlcy5jOgoJICAqIGdzdC9saWJyZmIvZDNkZXMuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguYzoKCSAgKiBnc3QvbGlicmZiL3ZuY2F1dGguaDoKCSAgVk5DIEF1dGhlbnRpY2F0aW9uIHNob3VsZCBiZSB3b3JraW5nIG5vdwoJICB0ZW1wZXJhbHkgd2l0aCBmYWtlIHBhc3N3b3JkICd0ZXN0dGVzdCcKCjIwMDctMDktMTggMTY6MzI6MTkgKzAwMDAgIFRoaWpzIFZlcm1laXIgPHRoaWpzdmVybWVpckBnbWFpbC5jb20+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuKjogQWRkZWQgc29tZSBkb2N1bWVudGF0aW9uIGFib3V0IHNlY3VyaXR5IGhhbmRsaW5nIHN0YXJ0IGltcGxlbWVudGluZyBzZWN1cml0eSBoYW5kbGluZyBmb3IgcmYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmg6CgkgIEFkZGVkIHNvbWUgZG9jdW1lbnRhdGlvbiBhYm91dCBzZWN1cml0eSBoYW5kbGluZwoJICBzdGFydCBpbXBsZW1lbnRpbmcgc2VjdXJpdHkgaGFuZGxpbmcgZm9yIHJmYiAzLjMKCjIwMDctMDktMTggMTM6NTU6MDYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IEhhbmRsaW5nIHdpbmRvdyByZXNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOgoJICBIYW5kbGluZyB3aW5kb3cgcmVzaXplLgoKMjAwNy0wOS0xOCAxMTo0NTowNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgQ2hhbmdlTG9nOiBBZGQgbWlzc2luZyBuZXdsaW5lLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIEFkZCBtaXNzaW5nIG5ld2xpbmUuCgkgICogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkgIEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBVc2UgYmFzZXRyYW5zZm9ybSBzZWdtZW50IHNvIHRoYXQgaXQgaXMgY29ycmVjdGx5IG1hbmFnZWQgb24gZmx1c2hlcwoJICBhbmQgc3RhcnQvc3RvcC4gUmVwb3J0IG1lc3NhZ2UgdGltZXN0YW1wIGFzIHN0cmVhbSB0aW1lLCB3aGljaCBpcyB3aGF0CgkgIGFuIGFwcGxpY2F0aW9uIGNhbiB1bmRlcnN0YW5kLiAoWWVzIHRoZXNlIGFyZSBhZGFwdGVkIGZyb20gd2ltIHJlY2VudAoJICBsZXZlbCBlbGVtZW50IGNoYW5nZXMpCgoyMDA3LTA5LTE3IDIxOjEyOjE3ICswMDAwICBUaGlqcyBWZXJtZWlyIDx0aGlqc3Zlcm1laXJAZ21haWwuY29tPgoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuaDoKCSogZ3N0L2xpYnJmYi9yZmJkZWNvZGVyLmM6CgkqIGdzdC9saWJyZmIvcmZiZGVjb2Rlci5oOgoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSBmb3IgdGhlIHJmYiB2ZXJzaW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBhIG5ldyBwcm9wZXJ0eSBmb3IgdGhlIHJmYiB2ZXJzaW9uCgoyMDA3LTA5LTE3IDAyOjAxOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IExpbmsgdG8gdGhlIHJpZ2h0IHBhZHMgcmVnYXJkbGVzcyBvZiB3aGljaCBvbmUgd2FzIGNyZWF0ZWQgZmlyc3QgaW4gdGhlIHNzcmMgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChuZXdfc3NyY19wYWRfZm91bmQpOgoJICBMaW5rIHRvIHRoZSByaWdodCBwYWRzIHJlZ2FyZGxlc3Mgb2Ygd2hpY2ggb25lIHdhcyBjcmVhdGVkIGZpcnN0IGluIHRoZQoJICBzc3JjIGRlbXV4ZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLCAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKGNhbGN1bGF0ZV9qaXR0ZXIpOgoJICBJbXByb3ZlIGRlYnVnZ2luZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEZpeCByYWNlIGluIGNyZWF0aW5nIHRoZSBSVFAgYW5kIFJUQ1AgcGFkcyB3aGVuIGEgbmV3IFNTUkMgaXMgZGV0ZWN0ZWQuCgoyMDA3LTA5LTE2IDE5OjQwOjMxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgdmFyaWFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwKCSAgKGNvbnZlcnRfcnRwdGltZV90b19nc3R0aW1lKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgUmVjb25zdHJ1Y3QgR1NUIHRpbWVzdGFtcCBmcm9tIFJUUCB0aW1lc3RhbXBzIGJhc2VkIG9uIG1lYXN1cmVkIGNsb2NrCgkgIHNrZXcgYW5kIHN5bmMgb2Zmc2V0LgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5jOiAocnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChydHBfaml0dGVyX2J1ZmZlcl9zZXRfdGFpbF9jaGFuZ2VkKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX3NldF9jbG9ja19yYXRlKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwgKGNhbGN1bGF0ZV9za2V3KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wZWVrKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgTWVhc3VyZSBjbG9jayBza2V3LgoJICBBZGQgY2FsbGJhY2sgdG8gYmUgbm90ZmllZCB3aGVuIGEgbmV3IHBhY2tldCB3YXMgaW5zZXJ0ZWQgYXQgdGhlIHRhaWwuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLAoJICAoY2FsY3VsYXRlX2ppdHRlciksIChydHBfc291cmNlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuaDoKCSAgUmVtb3ZlIGNsb2NrIHNrZXcgZGV0ZWN0aW9uLCBpdCdzIG1vdmUgdG8gdGhlIGppdHRlcmJ1ZmZlciBub3cuCgoyMDA3LTA5LTE2IDA3OjI4OjE4ICswMDAwICBEYW5pZWwgQ2hhcmxlcyA8ZGNoYXJsZXNAdGkuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndiZW5jLio6IEFkZCBwcm9wZXJ0eSB0byBjb250cm9sIGJhbmRtb2RlLiBGaXhlcyAjNDc3MzA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IERhbmllbCBDaGFybGVzIDxkY2hhcmxlcyBhdCB0aSBkb3QgY29tPgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2JhbmRtb2RlX2dldF90eXBlKSwKCSAgKGdzdF9hbXJ3YmVuY19zZXRfcHJvcGVydHkpLCAoZ3N0X2FtcndiZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfYW1yd2JlbmNfY2xhc3NfaW5pdCksIChnc3RfYW1yd2JlbmNfY2hhaW4pOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5oOgoJICBBZGQgcHJvcGVydHkgdG8gY29udHJvbCBiYW5kbW9kZS4gRml4ZXMgIzQ3NzMwNi4KCjIwMDctMDktMTUgMTg6NDg6MDMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWxzbyBzZXQgTlRQIGJhc2UgdGltZSBvbiBuZXcgc2Vzc2lvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pOgoJICBBbHNvIHNldCBOVFAgYmFzZSB0aW1lIG9uIG5ldyBzZXNzaW9ucy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICBVc2UgdGhlIHJpZ2h0IGxvY2sgdG8gcHJvdGVjdCBvdXIgdmFyaWFibGVzLgoJICBGaXggc29tZSBjb21tZW50LgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRjYXBzX3NlbmRfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9zZW5kX3J0cCksIChjcmVhdGVfc2VuZF9ydHBfc2luayk6CgkgIEltcGxlbWVudCBnZXRjYXBzIG9uIHRoZSBzZW5kZXIgc2lua3BhZCBzbyB0aGF0IHBheWxvYWRlcnMgY2FuIG5lZ290aWF0ZQoJICB0aGUgcmlnaHQgU1NSQy4KCjIwMDctMDktMTIgMjE6MjM6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFZhcmlvdXMgbGVhayBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc2Vzc2lvbiksIChmcmVlX3Nlc3Npb24pLAoJICAoZ2V0X2NsaWVudCksIChmcmVlX2NsaWVudCksIChnc3RfcnRwX2Jpbl9hc3NvY2lhdGUpLAoJICAoZnJlZV9zdHJlYW0pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChnc3RfcnRwX2Jpbl9kaXNwb3NlKSwKCSAgKGdzdF9ydHBfYmluX2ZpbmFsaXplKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9kaXNwb3NlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBWYXJpb3VzIGxlYWsgZml4ZXMuCgoyMDA3LTA5LTEyIDE4OjA0OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNhbGNfbnRwX25zX2Jhc2UpLAoJICAoZ3N0X3J0cF9iaW5fY2hhbmdlX3N0YXRlKSwgKG5ld19wYXlsb2FkX2ZvdW5kKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgIENhbGN1bGF0ZSBhbmQgY29uZmlndXJlIHRoZSBOVFAgYmFzZSB0aW1lIHNvIHRoYXQgd2UgY2FuIGdlbmVyYXRlIGJldHRlcgoJICBOVFAgdGltZXMgaW4gU1IgcGFja2V0cy4KCSAgU2V0IGNhcHMgb24gbmV3IGdob3N0cGFkLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBDbGVhbiBkZWJ1ZyBzdGF0ZW1lbnQuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdldF9jdXJyZW50X250cF9uc190aW1lKSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9pbnRlcm5hbF9saW5rcyksIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgIEFkZCBudHAtbnMtYmFzZSBwcm9wZXJ0eSB0byBjb252ZXJ0IHJ1bm5pbmdfdGltZSB0byBOVFAgdGltZS4KCSAgSGFuZGxlIE5FV1NFR01FTlQgZXZlbnRzIG9uIHNlbmQgYW5kIHJlY3YgUlRQIHBhZHMgc28gdGhhdCB3ZSBjYW4KCSAgY2FsY3VsYXRlIHRoZSBydW5uaW5nIHRpbWUgYW5kIHRodXMgTlRQIHRpbWUgb2YgdGhlIHBhY2tldHMuCgkgIFNpbXBsaWZ5IGdldHRpbmcgdGhlIGN1cnJlbnQgTlRQIHRpbWUgdXNpbmcgdGhlIHBpcGVsaW5lIGNsb2NrLgoJICBJbXBsZW1lbnQgaW50ZXJuYWwgbGlua3MgZnVuY3Rpb25zLgoJICBVc2UgdGhlIGJ1ZmZlciB0aW1lc3RhbXAgdG8gY2FsY3VsYXRlIHRoZSBOVFAgdGltZSBpbnN0ZWFkIG9mIHRoZSBjbG9jay4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGNyZWF0ZV9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbnRlcm5hbF9saW5rcyksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfc3JjX3F1ZXJ5KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgSW1wbGVtZW50IGludGVybmFsIGxpbmtzIGZ1bmN0aW9uLgoJICBDYWxjdWxhdGUgdGhlIGRpZmYgYmV0d2VlbiBkaWZmZXJlbnQgc3RyZWFtcywgdGhpcyBtaWdodCBiZSB1c2VkIGxhdGVyCgkgIHRvIGdldCB0aGUgaW50ZXIgc3RyZWFtIGxhdGVuY3kuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fc2VuZF9ydHApOgoJICBTaW1wbGUgY2xlYW51cC4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2VfaW5pdCksCgkgIChjYWxjdWxhdGVfaml0dGVyKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLCAocnRwX3NvdXJjZV9nZXRfbmV3X3NyKToKCSAgTWFrZSB0aGUgY2xvY2sgc2tldyB3aW5kb3cgYSBsaXR0bGUgYmlnZ2VyLgoJICBBcHBseSB0aGUgY2xvY2sgc2tldyB0byBhbGwgYnVmZmVycywgbm90IGp1c3Qgb25lIHdpdGggYSBuZXcgdGltZXN0YW1wLgoJICBDYWxjdWxhdGUgYW5kIGRlYnVnIHNlbmRlciBjbG9jayBkcmlmdC4KCSAgVXNlIGV4dGVuZGVkIGxhc3QgdGltZXN0YW1wIHRvIGludGVycG9sbGF0ZSBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDktMTIgMDg6Mzg6MjIgKzAwMDAgIFBldGVyIEtqZWxsZXJzdGVkdCA8cGtqQGF4aXMuY29tPgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUGV0ZXIgS2plbGxlcnN0ZWR0ICA8cGtqIGF0IGF4aXMgY29tPgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQ3NjEyOCkuCgoyMDA3LTA5LTA5IDE5OjA1OjE5ICswMDAwICBUaG9tYXMgR3JlZW4gPHRvbTc4OTk5QGdtYWlsLmNvbT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IFdpdGggbGlibmVvbiAyLjYsIHdlIG5lZWQgdG8gc2V0IHRoZSBORV9TRVNTRkxBR19JQ1lQUk9UTyBmbGFnIGlmIHdlIHdhbnQgSUNZIHN0cmVhbXMgdG8gYi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFRob21hcyBHcmVlbiAgPHRvbTc4OTk5IGdtYWlsIGNvbT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBXaXRoIGxpYm5lb24gMi42LCB3ZSBuZWVkIHRvIHNldCB0aGUgTkVfU0VTU0ZMQUdfSUNZUFJPVE8KCSAgZmxhZyBpZiB3ZSB3YW50IElDWSBzdHJlYW1zIHRvIGJlIGhhbmRsZWQgdG9vLCBvdGhlcndpc2UKCSAgbGlibmVvbiB3aWxsIGVycm9yIG91dCB3aXRoIGEgJ2Nhbid0IHBhcnNlIHJlcG9uc2UnIGVycm9yLgoJICBGaXhlcyAjNDc0Njk2LgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL25lb25odHRwc3JjLmM6CgkgIFVuaXQgdGVzdCBmb3IgdGhlIGFib3ZlIGJ5IFlvdXJzIFRydWx5LgoKMjAwNy0wOS0wOSAxODoyMjo1MyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVXNlIEFDX1RSWV9DT01QSUxFIGluc3RlYWQgb2YgQUNfVFJZX1JVTiBmb3IgdGhlIGZhYWQgYW5kIHRoZSB4dmlkIGNvbmZpZ3VyZSBjaGVja3MsIHNvIHRoZXkgc3RpbGwgd29yay4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVzZSBBQ19UUllfQ09NUElMRSBpbnN0ZWFkIG9mIEFDX1RSWV9SVU4gZm9yIHRoZSBmYWFkIGFuZCB0aGUKCSAgeHZpZCBjb25maWd1cmUgY2hlY2tzLCBzbyB0aGV5IHN0aWxsIHdvcmsgd2hlbiBjcm9zcy1jb21waWxpbmcuCgkgIEZpeGVzICM0NTIwMDkuCgoyMDA3LTA5LTA3IDE1OjU0OjM4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIHRoZSBjb3JyZWN0IHBhcmFtZXRlciBvcmRlciBmb3IgdGhlIG1lbXNldCBjYWxscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fc3RhcnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSB0aGUgY29ycmVjdCBwYXJhbWV0ZXIgb3JkZXIgZm9yIHRoZSBtZW1zZXQgY2FsbHMuCgkgIFRoYW5rcyB0byBDaHJpc3RpYW4gU2NoYWxsZXIgZm9yIG5vdGljaW5nLgoKMjAwNy0wOS0wNiAyMDozNzo1NiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhcnNlLmM6IEZpeCB0aGUgYnVpbGQgKG1pc3Npbmcgc3RkbGliLmgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFyc2UuYzoKCSAgRml4IHRoZSBidWlsZCAobWlzc2luZyBzdGRsaWIuaCkuCgoyMDA3LTA5LTA2IDA3OjI2OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3Qvc3BlY3RydW0vZml4X2ZmdC5jOiBSZW1vdmUgZml4ZWQgcG9pbnQgRkZUIGFzIGl0J3Mgbm90IHVzZWQgYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzoKCSAgUmVtb3ZlIGZpeGVkIHBvaW50IEZGVCBhcyBpdCdzIG5vdCB1c2VkIGFueW1vcmUuCgoyMDA3LTA5LTA2IDA3OjIxOjIyICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBQb3J0IEdzdFNwZWN0cnVtIHRvIEdzdEF1ZGlvRmlsdGVyIGFuZCBsaWJnc3RmZnQsIGFkZCBzdXBwb3J0IGZvciBpbnQzMiwgZmxvYXQgYW5kIGRvdWJsZSwgdXNlIGZsb2F0cyBmb3IgdGhlIG1lc3NhZ2UuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzogKGRyYXdfc3BlY3RydW0pLAoJICAobWVzc2FnZV9oYW5kbGVyKSwgKG1haW4pOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2Jhc2VfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksIChnc3Rfc3BlY3RydW1faW5pdCksCgkgIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXR1cCksIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIFBvcnQgR3N0U3BlY3RydW0gdG8gR3N0QXVkaW9GaWx0ZXIgYW5kIGxpYmdzdGZmdCwgYWRkIHN1cHBvcnQKCSAgZm9yIGludDMyLCBmbG9hdCBhbmQgZG91YmxlLCB1c2UgZmxvYXRzIGZvciB0aGUgbWVzc2FnZSBjb250ZW50cywKCSAgYXZlcmFnZSBhbGwgRkZUcyBkb25lIGluIG9uZSBpbnRlcnZhbCBmb3IgYmV0dGVyIHJlc3VsdHMsIHVzZQoJICBhIGJldHRlciB3aW5kb3dpbmcgZnVuY3Rpb24sIGFsbG93IHBvc3RpbmcgdGhlIHBoYXNlIGluIHRoZSBtZXNzYWdlCgkgIGFuZCBhY3R1YWxseSBkbyBhbiBGRlQgd2l0aCB0aGUgcmVxdWVzdGVkIG51bWJlciBvZiBiYW5kcyBpbnN0ZWFkCgkgIG9mIGludGVycG9sYXRpbmcuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKEdTVF9TVEFSVF9URVNUKSwKCSAgKHNwZWN0cnVtX3N1aXRlKToKCSAgSW1wcm92ZSB0aGUgdW5pdHMgdGVzdHMgYnkgY2hlY2tpbmcgZm9yIGEgMTEwMjVIeiBzaW5lIHdhdmUKCSAgYW5kIGFkZCB1bml0IHRlc3RzIGZvciBhbGwgNCBzdXBwb3J0ZWQgc2FtcGxlIHR5cGVzLgoKMjAwNy0wOS0wNSAyMTowOTowOCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpOgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZy4KCSAgRG9uJ3Qgc2V0IExPTkcgZm9yIHdpZHRoL2hlaWdodCBpbiBjYXBzLgoJICBTZXQgY29ycmVjdCBvdXRwdXQgYnVmZmVyIHNpemUgd2hlbiBjYXBzIGNoYW5nZWQuCgkgIFRoZSBjdXN0b20gbWVzc2FnZSBzZW50IHRvIHRoZSBkZWNvZGVyIHNob3VsZCBub3QgaW5jbHVkZSB0aGUgZm9ybWF0IGFuZAoJICBzdWJmb3JtYXQuIEZpeGVzICM0NzE1NTQuCgoyMDA3LTA5LTA0IDE1OjIzOjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yICgjNDczNTYyKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOgoJICBNYWtlIGNvbXBpbGVyIGhhcHB5OiBmaXggY29tcGlsYXRpb24gd2l0aCAtV2FsbCAtV2Vycm9yCgkgICgjNDczNTYyKS4KCjIwMDctMDktMDQgMDI6MjI6MjAgKzAwMDAgIEpvaGFuIERhaGxpbiA8am9oYW5AZ25vbWUub3JnPgoKCSogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgTm9zZWZhcnQgLT4gTkVTIFNvdW5kIEZvcm1hdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm9zZWZhcnQgLT4gTkVTIFNvdW5kIEZvcm1hdAoKMjAwNy0wOS0wNCAwMjoxNjo1MyArMDAwMCAgSm9oYW4gRGFobGluIDxqb2hhbkBnbm9tZS5vcmc+CgoJICBnc3QvbnNmL2dzdG5zZi4qOiBBZGQgc3VwcG9ydCBmb3IgKHZlcnkpIGJhc2ljIHRhZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTA5LTAzICBKb2hhbiBEYWhsaW4gIDxqb2hhbkBnbm9tZS5vcmc+CgkgICogZ3N0L25zZi9nc3Ruc2YuYzogKGdzdF9uc2ZkZWNfZmluYWxpemUpLCAoc3RhcnRfcGxheV90dW5lKToKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICBBZGQgc3VwcG9ydCBmb3IgKHZlcnkpIGJhc2ljIHRhZ2dpbmcuCgoyMDA3LTA5LTAzIDIxOjE5OjM0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBVcGRhdGVkIGV4YW1wbGUgcGlwZWxpbmVzIGluIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi1tYXJzaGFsLmxpc3Q6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9nZXRfY2xpZW50KSwKCSAgKGdzdF9ydHBfYmluX2Fzc29jaWF0ZSksIChnc3RfcnRwX2Jpbl9zeW5jX2NoYWluKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChjYXBzX2NoYW5nZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwKCSAgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwgKGNyZWF0ZV9zZW5kX3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFVwZGF0ZWQgZXhhbXBsZSBwaXBlbGluZXMgaW4gZG9jcy4KCSAgSGFuZGxlIHN5bmNfcnRjcCBidWZmZXJzIGZyb20gdGhlIFNTUkMgZGVtdXhlciB0byBwZXJmb3JtIGxpcC1zeW5jLgoJICBTZXQgdGhlIGRlZmF1bHQgbGF0ZW5jeSBjb3JyZWN0bHkuCgkgIEFkZCBzb21lIG1vcmUgcG9pbnRzIHdoZXJlIHdlIGNhbiBnZXQgY2Fwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgQWRkIHRzLW9mZnNldCBwcm9wZXJ0eSB0byBjb250cm9sIHRpbWVzdGFtcGluZy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCksIChnc3RfcnRwX3Nlc3Npb25fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLCAoZ2V0X2N1cnJlbnRfbnRwX25zX3RpbWUpLAoJICAocnRjcF90aHJlYWQpLCAoc3RvcF9ydGNwX3RocmVhZCksIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3N5bmNfcnRjcCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2FjaGVfY2FwcyksIChnc3RfcnRwX3Nlc3Npb25fY2xvY2tfcmF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2lua19zZXRjYXBzKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgVmFyaW91cyBjbGVhbnVwcy4KCSAgRmVlZCBydHBzZXNzaW9uIG1hbmFnZXIgd2l0aCBOVFAgdGltZSBiYXNlZCBvbiBwaXBlbGluZSBjbG9jayB3aGVuCgkgIGhhbmRsaW5nIFJUUCBwYWNrZXRzIGFuZCBSVENQIHRpbWVvdXRzLgoJICBQZXJmb3JtIGFsbCBSVENQIHdpdGggdGhlIHN5c3RlbSBjbG9jay4KCSAgU2V0IGNhcHMgb24gUlRDUCBvdXRnb2luZyBidWZmZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOiAoZmluZF9kZW11eF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX2RlbXV4X3BhZF9mb3Jfc3NyYyksIChnc3RfcnRwX3NzcmNfZGVtdXhfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9pbml0KSwgKGdzdF9ydHBfc3NyY19kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX3NpbmtfZXZlbnQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9ydGNwX2NoYWluKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguaDoKCSAgQWxzbyBkZW11eCBSVENQIG1lc3NhZ2VzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAodXBkYXRlX2Fycml2YWxfc3RhdHMpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19yYiksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydGNwKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHJ0cF9zZXNzaW9uX3NlbmRfYnllKSwKCSAgKHNlc3Npb25fc3RhcnRfcnRjcCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwKCSAgKHJ0cF9zZXNzaW9uX29uX3RpbWVvdXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgUmVtb3ZlIHRoZSBnZXRfdGltZSBjYWxsYmFjaywgdGhlIEdTdHJlYW1lciBwYXJ0IHdpbGwgZmVlZCB1cyB3aXRoCgkgIGVub3VnaCB0aW1pbmcgaW5mb3JtYXRpb24uCgkgIFNwbGl0IHN5bmMgdGltaW5nIGFuZCBSVENQIHRpbWluZyBpbmZvcm1hdGlvbi4KCSAgRmFjdG9yIG91dCBjb21tb24gUkIgaGFuZGxpbmcgZm9yIFNSIGFuZCBSUi4KCSAgU2VuZCBvdXQgU1IgUlRDUCBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgTW92ZSBTUiBhbmQgUlIgcGFja2V0IGluZm8gZ2VuZXJhdGlvbiB0byB0aGUgc291cmNlLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9pbml0KSwKCSAgKHJ0cF9zb3VyY2VfdXBkYXRlX2NhcHMpLCAoZ2V0X2Nsb2NrX3JhdGUpLCAoY2FsY3VsYXRlX2ppdHRlciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcnRwKSwgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksCgkgIChydHBfc291cmNlX2dldF9uZXdfc3IpLCAocnRwX3NvdXJjZV9nZXRfbmV3X3JiKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3Rfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFVzZSBjYXBzIG9uIGluY29tbWluZyBidWZmZXJzIHRvIGdldCB0aW1pbmcgaW5mb3JtYXRpb24gd2hlbiB0aGV5IGFyZQoJICB0aGVyZS4KCSAgQ2FsY3VsYXRlIGNsb2NrIHNjZXcgb2YgdGhlIHJlY2VpdmVyIGNvbXBhcmVkIHRvIHRoZSBzZW5kZXIgYW5kIGFkanVzdAoJICB0aGUgcnRwIHRpbWVzdGFtcHMuCgkgIENhbGN1bGF0ZSB0aGUgcm91bmQgdHJpcCBpbiBzb3VyY2VzLgoJICBEbyBTUiBhbmQgUlIgY2FsY3VsYXRpb25zIGluIHRoZSBzb3VyY2UuCgoyMDA3LTA5LTAzIDIwOjA3OjE3ICswMDAwICBSZW5hdG8gRmlsaG8gPHJlbmF0by5maWxob0BpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5oOgoJICBnbXl0aHNyYyBjb2RlIHJld3JpdGU7CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBnbXl0aHNyYyBjb2RlIHJld3JpdGU7CgoyMDA3LTA4LTMxIDE1OjI2OjE0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0IHdlIGNhbiBoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIFVzZSBleHRlbmRlZCB0aW1lc3RhbXAgdG8gcmVsZWFzZSBidWZmZXJzIGZyb20gdGhlIGppdHRlcmJ1ZmZlciBzbyB0aGF0CgkgIHdlIGNhbiBoYW5kbGUgdGhlIHJ0cCB3cmFwYXJvdW5kIGNvcnJlY3RseS4KCjIwMDctMDgtMjkgMTY6NTY6MjcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogSW1wcm92ZSBDb21tZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgIEltcHJvdmUgQ29tbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoc3RvcF9ydGNwX3RocmVhZCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhbmdlX3N0YXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9wYXJzZV9jYXBzKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwgKGdzdF9ydHBfc2Vzc2lvbl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3NlbmRfcnRwX3NpbmspOgoJICBBbHNvIHBhcnNlIHRoZSBzaW5rIGNhcHMgZm9yIGNsb2NrLXJhdGUgaW5zdGVhZCBvZiBvbmx5IHJlbHlpbmcgb24gdGhlCgkgIHJlc3VsdCBvZiB0aGUgc2lnbmFsLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9zZW5kX3J0cCk6CgkgIE1ha2Ugc3VyZSB3ZSBmZXRjaCB0aGUgY2xvY2sgcmF0ZSBmb3IgcGF5bG9hZHMgd2UgYXJlIHNlbmRpbmcgb3V0IHNvCgkgIHRoYXQgd2UgY2FuIHVzZSBpdCBmb3IgU1IgcmVwb3J0cy4KCjIwMDctMDgtMjkgMTY6MjA6MjggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSk6IElmIGFsbCBpbmZvcm1hdGlvbiBpcyBrbm93biBhdCB0aW1lIG9mIHNldHRpbmcgc3QuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHkpOgoJICBJZiBhbGwgaW5mb3JtYXRpb24gaXMga25vd24gYXQgdGltZSBvZiBzZXR0aW5nIHN0YXJ0LXRpbWUKCSAgcHJvcGVydHksIHNlbmQgbmV3IHNlZ21lbnRzIHRoZW4uCgoyMDA3LTA4LTI5IDAxOjIyOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi4qOiBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdCBjYW4gZ2VuZXJhdGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHN0b3BfcnRjcF90aHJlYWQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfc2VuZF9ydHBfc2luayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICBEaXN0cmlidXRlIHN5bmNocm9uaXNhdGlvbiBwYXJhbWV0ZXJzIHRvIHRoZSBzZXNzaW9uIG1hbmFnZXIgc28gdGhhdCBpdAoJICBjYW4gZ2VuZXJhdGUgY29ycmVjdCBTUiBwYWNrZXRzIGZvciBsaXAtc3luYy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9zZXRfYmFzZV90aW1lKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF90aW1lc3RhbXBfc3luYyksIChzZXNzaW9uX3N0YXJ0X3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgQWRkIG1ldGhvZHMgZm9yIHNldHRpbmcgc3luYyBwYXJhbWV0ZXJzLgoJICBTZXQgY29ycmVjdCBSVFAgdGltZSBpbiBTUiBwYWNrZXRzIHVzaW5nIHRoZSBzeW5jIHBhcmFtcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBSZWNvcmQgbGFzdCBSVFAgPC0+IEdTVCB0aW1lc3RhbXAgc28gdGhhdCB3ZSBjYW4gdXNlIHRoZW0gdG8gY29udmVydCBOVFAKCSAgdG8gUlRQIHRpbWVzdGFtcHMgaW4gU1IgcGFja2V0cy4KCjIwMDctMDgtMjggMjA6MzA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogQWRkIHNvbWUgbW9yZSBhZHZhbmNlZCBleGFtcGxlIHBpcGVsaW5lcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGVhcl9wdF9tYXApOgoJICBBZGQgc29tZSBtb3JlIGFkdmFuY2VkIGV4YW1wbGUgcGlwZWxpbmVzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKHN0b3BfcnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX3NlbmRfcnRjcCk6CgkgIEFkZCBzb21lIGRlYnVnIGFuZCBGSVhNRS4KCSAgUmVsZWFzZSBMT0NLIHdoZW4gcGVyZm9ybWluZyBzZXNzaW9uIGNsZWFudXAuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgQWRkIHNvbWUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBNYWtlIHN1cmUgd2UgYWx3YXlzIHNlbmQgUlRQIHBhY2tldHMgd2l0aCB0aGUgc2Vzc2lvbiBTU1JDLgoKMjAwNy0wOC0yOCAwODoxMDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IERvbid0IG5lZWQgdGhpcyBpbmNsdWRlIChmaXhlcyBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6CgkgIERvbid0IG5lZWQgdGhpcyBpbmNsdWRlIChmaXhlcyBjb21waWxhdGlvbiBpbiB1bmluc3RhbGxlZCBzZXR1cCkuCgoyMDA3LTA4LTI3IDIxOjE3OjIxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFdoZW4gc3luY2hyb25pemluZyBidWZmZXJzLCB0YWtlIHBlZXIgbGF0ZW5jeSBpbnRvIGFjY291bnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfcXVlcnkpOgoJICBXaGVuIHN5bmNocm9uaXppbmcgYnVmZmVycywgdGFrZSBwZWVyIGxhdGVuY3kgaW50byBhY2NvdW50LgoJICBEb24ndCB0cnkgdG8gYWRkIG91ciBsYXRlbmN5IHRvIGludmFsaWQgcGVlciBtYXggbGF0ZW5jeSB2YWx1ZXMuCgoyMDA3LTA4LTI3IDE0OjU2OjA1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogTWFrZSBzdXJlIHdlIGluaXRpYWxpemUgdGhlIHNlZWsgcmVzdWx0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVsbCk6CgkgIE1ha2Ugc3VyZSB3ZSBpbml0aWFsaXplIHRoZSBzZWVrIHJlc3VsdC4KCjIwMDctMDgtMjcgMTQ6NDE6MDEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L2R2ZHNwdS9NYWtlZmlsZS5hbTogQ29tbWl0IHRoZSBtYWtlZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9kdmRzcHUvTWFrZWZpbGUuYW06CgkgIENvbW1pdCB0aGUgbWFrZWZpbGUgdG9vLgoKMjAwNy0wOC0yNyAxNDozMzo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBkdmRzcHUgZWxlbWVudCBkb25hdGVkIGJ5IEZsdWVuZG8uIEl0IGltcGxlbWVudHMgYSBEVkQgU3ViLVBpY3R1cmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9kdmRzcHUvLmN2c2lnbm9yZToKCSAgKiBnc3QvZHZkc3B1L05vdGVzLnR4dDoKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS1yZW5kZXIuYzogKGR2ZHNwdV9yZWNhbGNfcGFsZXR0ZSksCgkgIChkdmRzcHVfdXBkYXRlX3BhbGV0dGVzKSwgKGR2ZHNwdV9jbGVhcl9jb21wX2J1ZmZlcnMpLAoJICAoZHZkc3B1X2dldF9uaWJibGUpLCAoZHZkc3B1X2dldF9ybGVfY29kZSksIChkdmRzcHVfZHJhd19ybGVfcnVuKSwKCSAgKHJsZV9lbmRfeCksIChkdmRzcHVfcmVuZGVyX2xpbmUpLCAoZHZkc3B1X3VwZGF0ZV9jaGdjb2wpLAoJICAoZHZkc3B1X3JlbmRlcl9saW5lX3dpdGhfY2hnY29sKSwgKGR2ZHNwdV9ibGVuZF9jb21wX2J1ZmZlcnMpLAoJICAoZ3N0ZHZkc3B1X3JlbmRlcl9zcHUpOgoJICAqIGdzdC9kdmRzcHUvZ3N0ZHZkc3B1LmM6IChkdmRzcHVfYmFzZV9pbml0KSwgKGR2ZHNwdV9jbGFzc19pbml0KSwKCSAgKGR2ZHNwdV9pbml0KSwgKGR2ZHNwdV9jbGVhciksIChkdmRzcHVfZGlzcG9zZSksIChkdmRzcHVfZmluYWxpemUpLAoJICAoZHZkc3B1X2ZsdXNoX3NwdV9pbmZvKSwgKGR2ZHNwdV9idWZmZXJfYWxsb2MpLCAoZHZkc3B1X3NyY19ldmVudCksCgkgIChkdmRzcHVfdmlkZW9fc2V0X2NhcHMpLCAoZHZkc3B1X3ZpZGVvX3Byb3h5X2dldGNhcHMpLAoJICAoZHZkc3B1X3ZpZGVvX2V2ZW50KSwgKGR2ZHNwdV92aWRlb19jaGFpbiksCgkgIChkdnNwdV9oYW5kbGVfdmlkX2J1ZmZlciksIChkdmRzcHVfcmVkcmF3X3N0aWxsKSwKCSAgKGdzdGR2ZHNwdV9wYXJzZV9jaGdfY29sY29uKSwgKGR2ZHNwdV9leGVjX2NtZF9ibGspLAoJICAoZHZkc3B1X2ZpbmlzaF9zcHVfYnVmKSwgKGR2ZHNwdV9zZXR1cF9jbWRfYmxrKSwKCSAgKGR2ZHNwdV9oYW5kbGVfbmV3X3NwdV9idWYpLCAoZHZkc3B1X2hhbmRsZV9kdmRfZXZlbnQpLAoJICAoZHZkc3B1X2R1bXBfZGNzcSksIChkdmRzcHVfYWR2YW5jZV9zcHUpLAoJICAoZHZkc3B1X2NoZWNrX3N0aWxsX3VwZGF0ZXMpLCAoZHZkc3B1X3N1YnBpY19jaGFpbiksCgkgIChkdmRzcHVfc3VicGljX2V2ZW50KSwgKGR2ZHNwdV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0ZHZkc3B1X3BsdWdpbl9pbml0KToKCSAgKiBnc3QvZHZkc3B1L2dzdGR2ZHNwdS5oOgoJICBkdmRzcHUgZWxlbWVudCBkb25hdGVkIGJ5IEZsdWVuZG8uIEl0IGltcGxlbWVudHMgYSBEVkQgU3ViLVBpY3R1cmUKCSAgVW5pdCwgZGVjb2RpbmcgYW5kIG92ZXJsYXlpbmcgRFZEIHN1YnRpdGxlcyBhbmQgbWVudSBncmFwaGljcy4KCSAgKiBnc3QvbXBlZzJzdWIvLmN2c2lnbm9yZToKCSAgKiBnc3QvbXBlZzJzdWIvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWcyc3ViL05vdGVzLnR4dDoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9tcGVnMnN1YnQudmNwcm9qOgoJICBEZWxldGUgb2xkIGFuZCBicm9rZW4gbXBlZzJzdWJ0IGVsZW1lbnQgdGhhdCB3YXMgbmV2ZXIgcG9ydGVkIGZyb20gMC44CgoyMDA3LTA4LTI0IDE3OjAzOjE1ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2ZpbmRfb2Zmc2V0KSwgKGdzdF9mbHZfZGVtdXhfaGFuZGxlX3NlZWtfcHVzaCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1bGwpLCAoZ3N0X2Zsdl9kZW11eF9zaW5rX2V2ZW50KSwKCSAgKGdzdF9mbHZfZGVtdXhfc3JjX2V2ZW50KTogUmVtb3ZlIHNvbWUgdXNlbGVzcyBpZmRlZi4KCjIwMDctMDgtMjQgMTU6NTY6NTIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBNYWtlIHN3aXRjaCBtb3JlIHJlbGlhYmxlIGFuZCBhbHNvIG5vdCBsb2NrIHVwIHdoZW4gc2luayBwYWQgY2FwcyBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jIChtYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jIChnc3Rfc3dpdGNoX2NoYWluKToKCSAgTWFrZSBzd2l0Y2ggbW9yZSByZWxpYWJsZSBhbmQgYWxzbyBub3QgbG9jayB1cCB3aGVuCgkgIHNpbmsgcGFkIGNhcHMgY2hhbmdlLgoKMjAwNy0wOC0yNCAxNTozMToyNiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEltcGxlbWVudCBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9maW5kX29mZnNldCksCgkgIChnc3RfZmx2X2RlbXV4X2hhbmRsZV9zZWVrX3B1c2gpLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2Vla19wdWxsKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksIChnc3RfZmx2X2RlbXV4X3NyY19ldmVudCk6IEltcGxlbWVudAoJICBzZWVraW5nIGluIHB1c2ggbW9kZS4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgoyMDA3LTA4LTI0IDExOjIzOjI4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L21wZWd0c3BhcnNlLzogVXBkYXRlIGxpY2VuY2VzIHRvIHJlZmxlY3QgTEdQTC1uZXNzIG9mIHRoZXNlIGZpbGVzIGFsc28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwYXRpbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdGluZm8uaDoKCSAgVXBkYXRlIGxpY2VuY2VzIHRvIHJlZmxlY3QgTEdQTC1uZXNzIG9mIHRoZXNlIGZpbGVzIGFsc28uCgoyMDA3LTA4LTIzIDIxOjM5OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVuYW1lIGFsbCBHc3RSVFBGb28gc3RydWN0cyB0byBHc3RSdHBGb28gc28gdGhhdCBHU1RfQk9JTEVSUExBVEUgcmVnaXN0ZXJzIGEgR1R5cGUgdGhhdCdzIGRpZmZlcmVudCB0aGFuIHRoZSBHc3RSVFBGLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIFJlbmFtZSBhbGwgR3N0UlRQRm9vIHN0cnVjdHMgdG8gR3N0UnRwRm9vIHNvIHRoYXQgR1NUX0JPSUxFUlBMQVRFCgkgIHJlZ2lzdGVycyBhIEdUeXBlIHRoYXQncyBkaWZmZXJlbnQgdGhhbiB0aGUgR3N0UlRQRm9vIHR5cGVzIHRoYXQKCSAgZmFyc2lnaHQgcmVnaXN0ZXJzIChsdWNraWx5IEdUeXBlIG5hbWVzIGFyZSBjYXNlIHNlbnNpdGl2ZSkuIFNob3VsZAoJICBmaW5hbGx5IGZpeCAjNDMwNjY0LgoKMjAwNy0wOC0yMyAxNzoyMToyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgd2luMzIvY29tbW9uL2NvbmZpZy5oIHZpYSBjb25maWd1cmUgKHRoaXMgZW5zdXJlcyB0aGUgd2luMzIgdmVyc2lvbiBvZiBjb25maWcuaCBpcyB1cC10by1kYXRlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJICAqIHdpbjMyL2NvbW1vbi9jb25maWcuaC5pbjoKCSAgQXV0b21hdGljYWxseSBnZW5lcmF0ZSB3aW4zMi9jb21tb24vY29uZmlnLmggdmlhIGNvbmZpZ3VyZSAodGhpcwoJICBlbnN1cmVzIHRoZSB3aW4zMiB2ZXJzaW9uIG9mIGNvbmZpZy5oIGlzIHVwLXRvLWRhdGUgd2hlbiBhIHJlbGVhc2UKCSAgaXMgbWFkZSwgIzQzMzM3MykuIGNvbmZpZy5oLmluIGZpbGUgbWlnaHQgbmVlZCBzb21lIG1vcmUgd29yay4KCjIwMDctMDgtMjMgMTM6MjQ6MzMgKzAwMDAgIEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuQGthb2xpbi53aDkubmV0PgoKCSAgUG9ydCBmZXN0aXZhbCBwbHVnaW4gdG8gR1N0cmVhbWVyLTAuMTAgKCM0NjEzNzcpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgIDxqb25hdGhhbiBhdCBrYW9saW4gd2g5IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zlc3RpdmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICBQb3J0IGZlc3RpdmFsIHBsdWdpbiB0byBHU3RyZWFtZXItMC4xMCAoIzQ2MTM3NykuCgoyMDA3LTA4LTIyIDE1OjMyOjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCB1bnJlZiB0aGUgYnVmZmVyIHdoZW4gaXQgd2FzIGNsaXBwZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2NoYWluKToKCSAgRG9uJ3QgdW5yZWYgdGhlIGJ1ZmZlciB3aGVuIGl0IHdhcyBjbGlwcGVkLgoKMjAwNy0wOC0yMiAxNDo1MDo1MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSGFuZGxlIHBpeGVsIGFzcGVjdCByYXRpbyB0aHJvdWdoIG1ldGFkYXRhIHRhZ3MgbGlrZSBBU0YgZG9lcy4gRmx1ZW5kbyBtdXhlciBzdXBwb3J0cyB0aGlzIGFuZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wOC0yMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksCgkgIChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyk6IEhhbmRsZSBwaXhlbCBhc3BlY3QgcmF0aW8gdGhyb3VnaAoJICBtZXRhZGF0YSB0YWdzIGxpa2UgQVNGIGRvZXMuIEZsdWVuZG8gbXV4ZXIgc3VwcG9ydHMgdGhpcyBhbmQKCSAgRmxhc2ggcGxheWVycyBjYW4gc3VwcG9ydCBpdCBhcyB3ZWxsIHRoaXMgd2F5LgoKMjAwNy0wOC0yMiAxNDowMzo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZSBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvIHB1c2ggdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMjIgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X3B1bGxfdGFnKToKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLAoJICAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogTWFrZSBzdXJlIHdlIGRvbid0IHRyeSBmaWxsaW5nIHVwIHRoZQoJICBpbmRleCBpZiBubyB0aW1lcyBvYmplY3Qgd2FzIHBhcnNlZC4gRml4IHRoZSB3YXkgd2UgZGVjaWRlIHRvCgkgIHB1c2gKCSAgdGFncyBhbmQgZW1pdCBuby1tb3JlLXBhZHMuIEZpeCBzb21lIHByaW50ZiB0eXBpbmcgaW4gZGVidWdnaW5nLgoKMjAwNy0wOC0yMSAxNzoxODoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOiBXaGVuIGRyb3Atb24tbGF0ZW5jeSBpcyBzZXQgYnV0IHdlIGhhdmUgbm8gbGF0ZW5jeSBjb25maWd1cmVkLCBqdXN0IHB1c2ggdGhlIGJ1Zi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KToKCSAgV2hlbiBkcm9wLW9uLWxhdGVuY3kgaXMgc2V0IGJ1dCB3ZSBoYXZlIG5vIGxhdGVuY3kgY29uZmlndXJlZCwganVzdCBwdXNoCgkgIHRoZSBidWZmZXIgYXMgZmFzdCBhcyBwb3NzaWJsZS4KCSAgRml4IHR5cG8gaW4gY29tbWVudC4KCjIwMDctMDgtMjEgMTY6MDQ6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuKjogRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2dldF90c19kaWZmKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuaDoKCSAgRml4IHVuZGVmaW5lZCBvdmVyZmxvdyBwcm9uZSB0c19kaWZmIGhhbmRsaW5nLgoKMjAwNy0wOC0yMSAxNTo1OTozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBjb21waWxlciB3YXJuaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBGaXggY29tcGlsZXIgd2FybmluZy4KCjIwMDctMDgtMjEgMTI6NTk6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IERvbid0IHVzZSBOVUxMIGNhcHMgZm9yIHNyY3BhZCBpcyBub3QgeWV0IGNvbm5lY3RlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRG9uJ3QgdXNlIE5VTEwgY2FwcyBmb3Igc3JjcGFkIGlzIG5vdCB5ZXQgY29ubmVjdGVkLgoKMjAwNy0wOC0yMCAxNDoyMzo0NSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBtcGVnIHRyYW5zcG9ydCBzdHJlYW0gcGFyc2VyIHdyaXR0ZW4gYnk6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcGF0aW5mby5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BhdGluZm8uaDoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRpbmZvLmM6CgkgICogZ3N0L21wZWd0c3BhcnNlL2ZsdXRzcG10aW5mby5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9mbHV0c3BtdHN0cmVhbWluZm8uYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvZmx1dHNwbXRzdHJlYW1pbmZvLmg6CgkgICogZ3N0L21wZWd0c3BhcnNlL21wZWd0c3BhY2tldGl6ZXIuYzoKCSAgKiBnc3QvbXBlZ3RzcGFyc2UvbXBlZ3RzcGFja2V0aXplci5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5jOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZS5oOgoJICAqIGdzdC9tcGVndHNwYXJzZS9tcGVndHNwYXJzZW1hcnNoYWwubGlzdDoKCSAgQWRkIG1wZWcgdHJhbnNwb3J0IHN0cmVhbSBwYXJzZXIgd3JpdHRlbiBieToKCSAgQWxlc3NhbmRybyBEZWNpbmEuIEluY2x1ZGVzIGEgY291cGxlIG9mIGZpbGVzIGZyb20gdGhlCgkgIEZsdWVuZG8gdHJhbnNwb3J0IHN0cmVhbSBkZW11eGVyIHRoYXQgRmx1ZW5kbyBoYXZlCgkgIGtpbmRseSBhbGxvd2VkIHRvIGJlIGxpY2VuY2VkIHVuZGVyIExHUEwgYWxzby4KCjIwMDctMDgtMjAgMDk6MTM6NDcgKzAwMDAgIEJhc3RpZW4gTm9jZXJhIDxoYWRlc3NAaGFkZXNzLm5ldD4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IEFkZCBleGFtcGxlcyBmb3IgbGl2ZSBteXRodHY6Ly8gVVJJcyB0byBkb2NzICgjNDY4MDM5KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBCYXN0aWVuIE5vY2VyYSAgPGhhZGVzcyBhdCBoYWRlc3MgbmV0PgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6CgkgIEFkZCBleGFtcGxlcyBmb3IgbGl2ZSBteXRodHY6Ly8gVVJJcyB0byBkb2NzICgjNDY4MDM5KS4KCSAgQWxzbyBjb252ZXJ0IHNvbWUgdGFicyBpbnRvIHNwYWNlcy4KCjIwMDctMDgtMTkgMTk6MTY6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvOiBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgc21hbGwgY29tcGFyaXNpb24gd2l0aCB0aGUgY2hlYnlzaGV2IGZpbHRlcnMgaW4gdGhlIGRvY3MuCgoyMDA3LTA4LTE5IDE5OjAxOjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IEFsc28gdGVzdCBldmVyeXRoaW5nIGluIDMyIGJpdCBmbG9hdCBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChicHdzaW5jX3N1aXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChHU1RfU1RBUlRfVEVTVCksCgkgIChscHdzaW5jX3N1aXRlKToKCSAgQWxzbyB0ZXN0IGV2ZXJ5dGhpbmcgaW4gMzIgYml0IGZsb2F0IG1vZGUuCgoyMDA3LTA4LTE3IDE1OjA1OjE3ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50IHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldF9wcm9wZXJ0eSksCgkgIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbHB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBVc2UgZ2VuZXJhdG9yIG1hY3JvcyBmb3IgdGhlIHByb2Nlc3MgZnVuY3Rpb25zIGZvciB0aGUgZGlmZmVyZW50CgkgIHNhbXBsZSB0eXBlcywgYWRkIGxvd2VyIHVwcGVyIGJvdW5kYXJpZXMgZm9yIHRoZSBHT2JqZWN0IHByb3BlcnRpZXMKCSAgc28gYXV0b21hdGljYWxseSBnZW5lcmF0ZWQgVUlzIGNhbiB1c2Ugc2xpZGVycyBhbmQgY2hhbmdlIGZyZXF1ZW5jeQoJICBwcm9wZXJ0aWVzIHRvIGZsb2F0cyB0byBzYXZlIGEgYml0IG9mIG1lbW9yeSwgZXZlbiBpbnRzIHdvdWxkIGluCgkgIHRoZW9yeSBiZSBlbm91Z2guIEFsc28gcmVuYW1lIGZyZXF1ZW5jeSB0byBjdXRvZmYgZm9yIGNvbnNpc3RlbmN5CgkgIHJlYXNvbnMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICBSZWdlbmVyYXRlZCBmb3IgdGhlIGFib3ZlIGNoYW5nZXMuCgoyMDA3LTA4LTE3IDA2OjU1OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOiBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBEb24ndCBsZWFrIHRoZSBhZGFwdGVyLgoKMjAwNy0wOC0xNiAxOToyMjo0OCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEltcGxlbWVudCBsYXRlbmN5IHF1ZXJ5IGFuZCBvbmx5IGZvcndhcmQgdGhvc2Ugc2FtcGxlcyBkb3duc3RyZWFtIHRoYXQgYWN0dWFsbHkgY29udGFpbiB0aGUgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLCAocHJvY2Vzc182NCksCgkgIChicHdzaW5jX2J1aWxkX2tlcm5lbCksIChicHdzaW5jX3B1c2hfcmVzaWR1ZSksCgkgIChicHdzaW5jX3RyYW5zZm9ybSksIChicHdzaW5jX3N0YXJ0KSwgKGJwd3NpbmNfcXVlcnkpLAoJICAoYnB3c2luY19xdWVyeV90eXBlKSwgKGJwd3NpbmNfZXZlbnQpLCAoYnB3c2luY19zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbQoJICB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIGRhdGEgd2Ugd2FudCwgaS5lLiBkcm9wIGtlcm5lbF9sZW5ndGgvMgoJICBpbiB0aGUgYmVnaW5uaW5nIGFuZCBhcHBlbmQga2VybmVsX2xlbmd0aC8yIChjcmVhdGVkIGJ5IGNvbnZvbHZpbmcKCSAgdGhlIGZpbHRlciBrZXJuZWwgd2l0aCB6ZXJvZXMpIHRvIHRoZSBlbmQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBBZGp1c3QgdGhlIHVuaXQgdGVzdCBmb3IgdGhpcyBzbGlnaHRseSBjaGFuZ2VkIGJlaGF2aW91ci4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgUmVzZXQgcmVzaWR1ZSBsZW5ndGggb25seSB3aGVuIGFjdHVhbGx5IGNyZWF0aW5nIGEgcmVzaWR1ZS4KCjIwMDctMDgtMTYgMTc6MTE6NDggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogT3ZlcnJpZGUgdGhlIHByZXJvbGwgdm1ldGhvZCBpbnN0ZWFkIG9mIG92ZXJyaWRpbmcgdGhlIHJlbmRlciBtZXRob2QgdHdpY2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpOgoJICBPdmVycmlkZSB0aGUgcHJlcm9sbCB2bWV0aG9kIGluc3RlYWQgb2Ygb3ZlcnJpZGluZyB0aGUgcmVuZGVyIG1ldGhvZAoJICB0d2ljZS4KCjIwMDctMDgtMTYgMTE6NDA6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogRml4IEVPUyBoYW5kbGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBGaXggRU9TIGhhbmRsaW5nLgoJICBDb252ZXJ0IHNvbWUgREVCVUcgaW50byBXQVJOSU5Hcy4KCSAgUGF1c2UgdGFzayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwKCSAgKHJ0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayk6CgkgIFVzZSBzeXN0ZW0gY2xvY2sgZm9yIFJUQ1Agc2Vzc2lvbiBtYW5hZ2VtZW50IHRpbWVvdXRzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpOgoJICBSZWxlYXNlIHRoZSBzZXNzaW9uIGxvY2sgd2hlbiBlbWl0aW5nIHNpZ25hbHMuCgoyMDA3LTA4LTE2IDExOjM0OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBZGQgc29tZSBkZWJ1ZyBpbmZvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwKCSAgKGdzdF9mYWFkX2NoYW5wb3NfdG9fZ3N0KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCjIwMDctMDgtMTYgMDk6NDg6MjcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBJbXBsZW1lbnQgbGF0ZW5jeSBxdWVyeSBhbmQgb25seSBmb3J3YXJkIHRob3NlIHNhbXBsZXMgZG93bnN0cmVhbSB0aGF0IGFjdHVhbGx5IGNvbnRhaW4gdGhlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19wdXNoX3Jlc2lkdWUpLAoJICAobHB3c2luY190cmFuc2Zvcm0pLCAobHB3c2luY19zdGFydCksIChscHdzaW5jX3F1ZXJ5KSwKCSAgKGxwd3NpbmNfcXVlcnlfdHlwZSksIChscHdzaW5jX2V2ZW50KSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgSW1wbGVtZW50IGxhdGVuY3kgcXVlcnkgYW5kIG9ubHkgZm9yd2FyZCB0aG9zZSBzYW1wbGVzIGRvd25zdHJlYW0KCSAgdGhhdCBhY3R1YWxseSBjb250YWluIHRoZSBkYXRhIHdlIHdhbnQsIGkuZS4gZHJvcCBrZXJuZWxfbGVuZ3RoLzIKCSAgaW4gdGhlIGJlZ2lubmluZyBhbmQgYXBwZW5kIGtlcm5lbF9sZW5ndGgvMiAoY3JlYXRlZCBieSBjb252b2x2aW5nCgkgIHRoZSBmaWx0ZXIga2VybmVsIHdpdGggemVyb2VzKSB0byB0aGUgZW5kLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2xwd3NpbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgQWRqdXN0IHRoZSB1bml0IHRlc3QgZm9yIHRoaXMgc2xpZ2h0bHkgY2hhbmdlZCBiZWhhdmlvdXIuCgoyMDA3LTA4LTE2IDA3OjA3OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiBEb24ndCBsZWFrIGxpa2UgaGVsbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RsYWRzcGEuYzoKCSAgRG9uJ3QgbGVhayBsaWtlIGhlbGwuCgoyMDA3LTA4LTE2IDA2OjQ5OjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay86IEFkZCBnZW5lcmljIHN0YXRlLWNoYW5nZSB0ZXN0IHN1aXRlIHRvIGhlbHAgdG8gZmkgbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2dlbmVyaWMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9nZW5lcmljL3N0YXRlcy5jOgoJICBBZGQgZ2VuZXJpYyBzdGF0ZS1jaGFuZ2UgdGVzdCBzdWl0ZSB0byBoZWxwIHRvIGZpIGxlYWtzLgoKMjAwNy0wOC0xNSAxMzoyODozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSogQ2hhbmdlTG9nOgoJICBDaGFuZ2VMb2cgc3VyZ2VyeQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlTG9nIHN1cmdlcnkKCjIwMDctMDgtMTUgMTM6MjY6NTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgIHBhdGNoIGJ5OiA8ZGVsZXRlIGlmIG5vdCBzb21lb25lIGVsc2UncyBwYXRjaD4KCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCjIwMDctMDgtMTQgMTc6NDc6MzQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogRG9uJ3QgdXNlIG5ldyBBUEkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc2luay5jOiAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKToKCSAgRG9uJ3QgdXNlIG5ldyBBUEkuCgoyMDA3LTA4LTE0IDE3OjM4OjA1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLio6IE1ha2UgbG92ZSB0byBhcHBzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuYzogKGdzdF9hcHBfc2lua19iYXNlX2luaXQpLAoJICAoZ3N0X2FwcF9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2FwcF9zaW5rX2Rpc3Bvc2UpLAoJICAoZ3N0X2FwcF9zaW5rX2ZsdXNoX3VubG9ja2VkKSwgKGdzdF9hcHBfc2lua19zdGFydCksCgkgIChnc3RfYXBwX3Npbmtfc3RvcCksIChnc3RfYXBwX3NpbmtfZXZlbnQpLCAoZ3N0X2FwcF9zaW5rX3ByZXJvbGwpLAoJICAoZ3N0X2FwcF9zaW5rX3JlbmRlciksIChnc3RfYXBwX3NpbmtfZ2V0X2NhcHMpLAoJICAoZ3N0X2FwcF9zaW5rX3NldF9jYXBzKSwgKGdzdF9hcHBfc2lua19lbmRfb2Zfc3RyZWFtKSwKCSAgKGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwpLCAoZ3N0X2FwcF9zaW5rX3B1bGxfYnVmZmVyKToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNpbmsuaDoKCSAgTWFrZSBsb3ZlIHRvIGFwcHNpbmsuCgkgIE1ha2UgaXQgc3VwcG9ydCBwdWxsaW5nIG9mIHRoZSBwcmVyb2xsIGJ1ZmZlci4KCSAgQWRkIGRvY3MgYW5kIGRlYnVnIHN0YXRlbWVudHMuCgkgIEZpeCBzb21lIHJhY2VzIHdydCB0byBFT1MgaGFuZGxpbmcgYW5kIHN0b3BwaW5nLgoJICBJbXBsZW1lbnQgZ2V0Y2Fwcy4KCSAgSW1wbGVtZW50IEZMVVNISU5HLgoJICBBUEk6IGdzdF9hcHBfc2lua19wdWxsX3ByZXJvbGwoKQoKMjAwNy0wOC0xNCAxNDo1NjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguYzogRml4IGxvY2tpbmcgYW5kIHJlZmNvdW50aW5nIG9uIHRoZSBpbmRleC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5jOiAoZ3N0X2Zsdl9kZW11eF9zZXRfaW5kZXgpLAoJICAoZ3N0X2Zsdl9kZW11eF9nZXRfaW5kZXgpOgoJICBGaXggbG9ja2luZyBhbmQgcmVmY291bnRpbmcgb24gdGhlIGluZGV4LgoKMjAwNy0wOC0xNCAxNDoyMjowOSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IEZpcnN0IG1ldGhvZCBmb3Igc2Vla2luZyBpbiBwdWxsIG1vZGUgdXNpbmcgdGhlIGluZGV4IGJ1aWx0IHN0ZXAgYnkgc3RlcCBvciBjb21pbmcgZnJvbSBtZXRhZGF0YS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDgtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2NsZWFudXApLAoJICAoZ3N0X2Zsdl9kZW11eF9hZGFwdGVyX2ZsdXNoKSwgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLAoJICAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksIChnc3RfZmx2X2RlbXV4X2RvX3NlZWspLAoJICAoZ3N0X2Zsdl9kZW11eF9oYW5kbGVfc2VlayksIChnc3RfZmx2X2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X2Zsdl9kZW11eF9zcmNfZXZlbnQpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X3NldF9pbmRleCksCgkgIChnc3RfZmx2X2RlbXV4X2dldF9pbmRleCksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KTogRmlyc3QgbWV0aG9kIGZvciBzZWVraW5nIGluIHB1bGwKCSAgbW9kZSB1c2luZyB0aGUgaW5kZXggYnVpbHQgc3RlcCBieSBzdGVwIG9yIGNvbWluZyBmcm9tIG1ldGFkYXRhLgoJICAqIGdzdC9mbHYvZ3N0Zmx2ZGVtdXguaDoKCSAgKiBnc3QvZmx2L2dzdGZsdnBhcnNlLmM6IChGTFZfR0VUX1NUUklORyksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKTogUGFyc2UKCSAgbW9yZSBtZXRhZGF0YSB0eXBlcyBhbmQga2V5ZnJhbWVzIGluZGV4LgoKMjAwNy0wOC0xMyAxMzo1MDozOSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZSBhbGwgb3RoZXIgZG9jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3N0cnRwbWFuYWdlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tcGVnMmVuYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwY2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGRvY3MgZm9yIGxwd3NpbmMgYW5kIGJwd3NpbmMgYW5kIGludGVncmF0ZSB0aGVtCgkgIGludG8gdGhlIGJ1aWxkIHN5c3RlbS4gV2hpbGUgZG9pbmcgdGhhdCBhbHNvIHVwZGF0ZQoJICBhbGwgb3RoZXIgZG9jcyB2aWEgbWFrZSB1cGRhdGUgaW4gZG9jcy9wbHVnaW5zLgoKMjAwNy0wOC0xMyAwNjoxNjo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IEluY2x1ZGUgc3RkbGliLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBqaXR0ZXJidWZmZXIuYzoKCSAgSW5jbHVkZSBzdGRsaWIuCgoyMDA3LTA4LTEyIDIwOjU1OjAxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9icHdzaW5jLmM6IE1ha2Ugb25lIHRlc3QgY29uc3RyYWludCBhIGJpdCBzdHJpY3Rlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBNYWtlIG9uZSB0ZXN0IGNvbnN0cmFpbnQgYSBiaXQgc3RyaWN0ZXIuCgoyMDA3LTA4LTEyIDIwOjUzOjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICB0ZXN0cy9jaGVjay86IEFkZCB1bml0IHRlc3RzIGZvciBicHdzaW5jLCB0ZXN0aW5nIGZ1bmRhbWVudGFsIGZ1bmN0aW9uYWxpdHkgYWdhaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYnB3c2luYy5jOiAoc2V0dXBfYnB3c2luYyksCgkgIChjbGVhbnVwX2Jwd3NpbmMpLCAoR1NUX1NUQVJUX1RFU1QpLCAoYnB3c2luY19zdWl0ZSksIChtYWluKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIGJwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eSBhZ2Fpbi4KCjIwMDctMDgtMTIgMjA6MTk6MzcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIHRlc3RzL2NoZWNrLzogQWRkIHVuaXQgdGVzdHMgZm9yIGxwd3NpbmMsIHRlc3RpbmcgZnVuZGFtZW50YWwgZnVuY3Rpb25hbGl0eS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9scHdzaW5jLmM6IChzZXR1cF9scHdzaW5jKSwKCSAgKGNsZWFudXBfbHB3c2luYyksIChHU1RfU1RBUlRfVEVTVCksIChscHdzaW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3IgbHB3c2luYywgdGVzdGluZyBmdW5kYW1lbnRhbCBmdW5jdGlvbmFsaXR5LgoKMjAwNy0wOC0xMiAxNTo0MTo1NyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci86IEltcHJvdmUgZGVidWdnaW5nIGEgYml0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGJwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGxwd3NpbmNfYnVpbGRfa2VybmVsKToKCSAgSW1wcm92ZSBkZWJ1Z2dpbmcgYSBiaXQuCgoyMDA3LTA4LTEyIDEyOjQ2OjIwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZSBvbiBzdHJlYW0gY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChnc3RfYnB3c2luY19jbGFzc19pbml0KSwKCSAgKGJwd3NpbmNfc3RhcnQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChscHdzaW5jX3N0YXJ0KToKCSAgUmVzZXQgdGhlIHJlc2lkdWUgaW4gQmFzZVRyYW5zZm9ybTo6c3RhcnQgdG8gZ2V0IGEgY2xlYW4gcmVzaWR1ZQoJICBvbiBzdHJlYW0gY2hhbmdlcy4KCjIwMDctMDgtMTEgMjE6MzA6MDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkqIENoYW5nZUxvZzoKCSAgQ2hhbmdlbG9nIHN1cmdlcnkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgoyMDA3LTA4LTExIDE1OjU4OjMwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlciBrZXJuZWwgc2l6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KToKCSAgRml4IHByb2Nlc3Npbmcgd2l0aCBidWZmZXIgc2l6ZXMgdGhhdCBhcmUgbGFyZ2VyIHRoYW4gdGhlIGZpbHRlcgoJICBrZXJuZWwgc2l6ZS4KCjIwMDctMDgtMTAgMTc6MTY6NTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IFJlbW92ZSBjb21wbGljYXRlZCBhc3luYyBxdWV1ZSBhbmQgcmVwbGFjZSB3aXRoIG1vcmUgc2ltcGxlIGppdHRlcmJ1ZmZlciBjb2RlIHdoaWxlIGFsc28gZml4aW5nIHNvbWUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwaml0dGVyYnVmZmVyLmM6IChydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luaXQpLCAocnRwX2ppdHRlcl9idWZmZXJfZmluYWxpemUpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfbmV3KSwgKGNvbXBhcmVfc2VxbnVtKSwKCSAgKHJ0cF9qaXR0ZXJfYnVmZmVyX2luc2VydCksIChydHBfaml0dGVyX2J1ZmZlcl9wb3ApLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZmx1c2gpLCAocnRwX2ppdHRlcl9idWZmZXJfbnVtX3BhY2tldHMpLAoJICAocnRwX2ppdHRlcl9idWZmZXJfZ2V0X3RzX2RpZmYpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cGppdHRlcmJ1ZmZlci5oOgoJICBSZW1vdmUgY29tcGxpY2F0ZWQgYXN5bmMgcXVldWUgYW5kIHJlcGxhY2Ugd2l0aCBtb3JlIHNpbXBsZSBqaXR0ZXJidWZmZXIKCSAgY29kZSB3aGlsZSBhbHNvIGZpeGluZyBzb21lIGJ1Z3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKG9uX25ld19zc3JjKSwgKG9uX3NzcmNfY29sbGlzaW9uKSwKCSAgKG9uX3NzcmNfdmFsaWRhdGVkKSwgKG9uX2J5ZV9zc3JjKSwgKG9uX2J5ZV90aW1lb3V0KSwgKG9uX3RpbWVvdXQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3NlbmRfcnRwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9pbml0KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RhcnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2ZsdXNoX3N0b3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2lua19ldmVudCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAob25fbmV3X3NzcmMpLAoJICAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLCAob25fYnllX3NzcmMpLAoJICAob25fYnllX3RpbWVvdXQpLCAob25fdGltZW91dCksIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25faW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKG9uX2J5ZV9zc3JjKSwgKHNlc3Npb25fY2xlYW51cCk6CgkgIFVzZSBuZXcgaml0dGVyYnVmZmVyIGNvZGUuCgkgIEV4cG9zZSBzb21lIG5ldyBzaWduYWxzIGluIHByZXBhcmF0aW9uIGZvciBoYW5kbGluZyBFT1MuCgoyMDA3LTA4LTEwIDA1OjUxOjQwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogRml4IGEgc2VnZmF1bHQgd2l0aCBtb3JlIHRoYW4gb25lIGNoYW5uZWwgYW5kIGRvbid0IHJlYnVpbGQgdGhlIGtlcm5lbCAmIHJlc2lkdWUgd2l0aCBldmVyeSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX2J1aWxkX2tlcm5lbCk6CgkgIEZpeCBhIHNlZ2ZhdWx0IHdpdGggbW9yZSB0aGFuIG9uZSBjaGFubmVsIGFuZCBkb24ndCByZWJ1aWxkCgkgIHRoZSBrZXJuZWwgJiByZXNpZHVlIHdpdGggZXZlcnkgYnVmZmVyLgoKMjAwNy0wOC0xMCAwNTozNToyNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RicHdzaW5jLio6IEFkZCBzdXBwb3J0IGZvciBhIGJhbmRyZWplY3QgbW9kZSBhbmQgYWxsb3cgc3BlY2lmeWluZyB0aGUgd2luZG93IGZ1bmN0aW9uIHRoYXQgc2hvdWxkIGJlIHVzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3RfYnB3c2luY193aW5kb3dfZ2V0X3R5cGUpLCAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfYnB3c2luY19pbml0KSwgKGJwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgQWRkIHN1cHBvcnQgZm9yIGEgYmFuZHJlamVjdCBtb2RlIGFuZCBhbGxvdyBzcGVjaWZ5aW5nIHRoZSB3aW5kb3cKCSAgZnVuY3Rpb24gdGhhdCBzaG91bGQgYmUgdXNlZC4KCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzoKCSAgQW5kIGFub3RoZXIgc21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA1OjIwOjA2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuKjogQXBwbHkgdGhlIHNhbWUgY2hhbmdlcyB0byB0aGUgYmFuZHBhc3MgZmlsdGVyOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAoYnB3c2luY19idWlsZF9rZXJuZWwpLCAoYnB3c2luY19zZXR1cCksIChicHdzaW5jX2dldF91bml0X3NpemUpLAoJICAoYnB3c2luY190cmFuc2Zvcm0pLCAoYnB3c2luY19zZXRfcHJvcGVydHkpLAoJICAoYnB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5oOgoJICBBcHBseSB0aGUgc2FtZSBjaGFuZ2VzIHRvIHRoZSBiYW5kcGFzcyBmaWx0ZXI6CgkgIC0gU3VwcG9ydCBkb3VibGUgaW5wdXQKCSAgLSBGaXggcHJvY2Vzc2luZyBmb3IgaW5wdXQgd2l0aCA+MSBjaGFubmVscwoJICAtIFNwZWNpZnkgZnJlcXVlbmN5IGluIEh6CgkgIC0gU3BlY2lmeSBhY3R1YWwgZmlsdGVyIGtlcm5lbCBsZW5ndGgKCSAgLSBVc2UgdHJhbnNmb3JtIGluc3RlYWQgb2YgdHJhbnNmb3JtX2lwIGFzIHdlJ3JlIHdvcmtpbmcKCSAgb3V0IG9mIHBsYWNlIGFueXdheQoJICAtIEZhY3RvciBvdXQgZmlsdGVyIGtlcm5lbCBnZW5lcmF0aW9uIGFuZCB1cGRhdGUgdGhlIGZpbHRlcgoJICBrZXJuZWwgd2hlbiB0aGUgcHJvcGVydGllcyBhcmUgc2V0CgkgIEZpeCBiYW5kcGFzcyBmaWx0ZXIga2VybmVsIGdlbmVyYXRpb24gdG8gYWN0dWFsbHkgZ2VuZXJhdGUKCSAgYSBiYW5kcGFzcyBmaWx0ZXIgYnkgY3JlYXRpbmcgYSBoaWdocGFzcyBpbnN0ZWFkIG9mIGEgc2Vjb25kCgkgIGxvd3Bhc3MuCgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgU21hbGwgZm9ybWF0dGluZyBmaXguCgoyMDA3LTA4LTEwIDA0OjQ0OjQzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgU3BlY2lmeSB0aGUgYWN0dWFsIGZpbHRlciBsZW5ndGggaW5zdGVhZCBvZiBhIHdlaXJkCgkgIDJOKzEuIFNldHRpbmcgdGhlIHByb3BlcnR5IHdpbGwgcm91bmQgdG8gdGhlIG5leHQgb2RkIG51bWJlci4KCSAgQWxzbyByZW1vdmUgbm93IG9ic29sZXRlIEZJWE1Fcy4KCjIwMDctMDgtMTAgMDQ6MzI6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy4qOiBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX3dpbmRvd19nZXRfdHlwZSksCgkgIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwgKGdzdF9scHdzaW5jX2luaXQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpLCAobHB3c2luY19zZXRfcHJvcGVydHkpLAoJICAobHB3c2luY19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5oOgoJICBBbGxvdyBjaG9vc2luZyBiZXR3ZWVuIGhhbW1pbmcgYW5kIGJsYWNrbWFuIHdpbmRvdy4gVGhlIGJsYWNrbWFuCgkgIHdpbmRvdyBwcm92aWRlcyBhIGJldHRlciBzdG9wYmFuZCBhdHRlbnVhdGlvbiBidXQgYSBiaXQgc2xvd2VyCgkgIHJvbGxvZmYuCgoyMDA3LTA4LTEwIDA0OjIxOjM5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuKjogQWRkIGEgaGlnaHBhc3MgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLCAocHJvY2Vzc18zMiksIChwcm9jZXNzXzY0KSwKCSAgKGxwd3NpbmNfYnVpbGRfa2VybmVsKSwgKGxwd3NpbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGxwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgQWRkIGEgaGlnaHBhc3MgbW9kZS4KCjIwMDctMDgtMTAgMDQ6MDY6NTMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOiBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChwcm9jZXNzXzMyKSwgKHByb2Nlc3NfNjQpLAoJICAobHB3c2luY19idWlsZF9rZXJuZWwpOgoJICBGaXggcHJvY2Vzc2luZyBpZiB0aGUgaW5wdXQgaGFzIG1vcmUgdGhhbiBvbmUgY2hhbm5lbC4KCjIwMDctMDgtMDkgMTk6MjM6MzMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAidGhpcyIgaXMgYSBDKysga2V5d29yZCwgdXNlICJzZWxmIiBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgInRoaXMiIGlzIGEgQysrIGtleXdvcmQsIHVzZSAic2VsZiIgaW5zdGVhZC4KCSAgQWRkIFRPRE9zIGFuZCBGSVhNRXMgYW5kIHJlbW92ZSB0d28gd3JvbmcgRklYTUVzLgoJICAqIGdzdC9maWx0ZXIvZ3N0bHB3c2luYy5jOgoJICBBZGQgRklYTUVzIGFuZCBhIG5ldyBUT0RPLgoKMjAwNy0wOC0wOSAxODowODowNSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZ3N0L2ZpbHRlci9nc3RscHdzaW5jLio6IEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lciBpcyBhIEMrKyBrZXl3b3JkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfY2xhc3NfaW5pdCksIChnc3RfbHB3c2luY19pbml0KSwgKHByb2Nlc3NfMzIpLAoJICAocHJvY2Vzc182NCksIChscHdzaW5jX2J1aWxkX2tlcm5lbCksIChscHdzaW5jX3NldHVwKSwKCSAgKGxwd3NpbmNfZ2V0X3VuaXRfc2l6ZSksIChscHdzaW5jX3RyYW5zZm9ybSksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmg6CgkgIEFkZCBkb3VibGUgc3VwcG9ydCwgcmVwbGFjZSAidGhpcyIgd2l0aCAic2VsZiIgYXMgdGhlIGZvcm1lcgoJICBpcyBhIEMrKyBrZXl3b3JkLgoJICBJbXBsZW1lbnQgdGhlIGZyZXF1ZW5jeSBwcm9wZXJ0eSBpbiBIeiBpbnN0ZWFkIG9mIGZyYWN0aW9uCgkgIG9mIHNhbXBsaW5nIGZyZXF1ZW5jeS4KCSAgUmVtb3ZlIHNvbWUgdW5lY2Vzc2FyeSBGSVhNRXMgYW5kIGFkZCBzb21lIFRPRE9zLCBhZGQgc29tZQoJICByZXF1aXJlZCBsb2NraW5nIGFuZCByZWZhY3RvciB0aGUga2VybmVsIGdlbmVyYXRpb24gaW50byBhCgkgIHNlcGFyYXRlIGZ1bmN0aW9uIHRoYXQgaXMgYWxzbyBjYWxsZWQgd2hlbiB0aGUgcHJvcGVydGllcwoJICBjaGFuZ2Ugbm93LgoJICBBbmQgdXNlIEJhc2VUcmFuc2Zvcm06OnRyYW5zZm9ybSBpbnN0ZWFkIG9mIHRyYW5zZm9ybV9pcAoJICBhcyB0aGUgY29udm9sdXRpb24gaXMgZG9uZSBvdXQgb2YgcGxhY2UgYW55d2F5LiBTaG91bGQKCSAgYmUgZG9uZSBpbiBwbGFjZSBsYXRlci4KCjIwMDctMDgtMDkgMTc6Mzk6NDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFBvcnQgdGhlIHN0ZXJlbyBlbGVtZW50IHRvIEdTdHJlYW1lciAwLjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3N0ZXJlby9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19iYXNlX2luaXQpLAoJICAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KSwgKGdzdF9zdGVyZW9faW5pdCksCgkgIChnc3Rfc3RlcmVvX3RyYW5zZm9ybV9pcCksIChnc3Rfc3RlcmVvX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc3RlcmVvX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uaDoKCSAgUG9ydCB0aGUgc3RlcmVvIGVsZW1lbnQgdG8gR1N0cmVhbWVyIDAuMTAuCgoyMDA3LTA4LTA5IDExOjAxOjE0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgUG9ydHVndWVzZSAoQnJhemlsaWFuKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHN1Ym1pdHRlZCBieTogUmFwaGFlbCBIaWdpbm8gPHBoaGlnaW5vQGdtYWlsLmNvbT4KCSAgKiBwby9MSU5HVUFTOgoJICAqIHBvL3B0X0JSLnBvOgoJICBBZGRlZCBQb3J0dWd1ZXNlIChCcmF6aWxpYW4pIHRyYW5zbGF0aW9uLgoKMjAwNy0wOC0wOSAxMTowMDowMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby91ay5wbzoKCSAgKiBwby92aS5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTA4LTA4IDIwOjQ3OjMzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBnc3QvZmlsdGVyLzogVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeSBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuYzogKGdzdF9scHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2xwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9scHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2xwd3NpbmNfaW5pdCksIChscHdzaW5jX3NldHVwKToKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgVXNlIEdzdEF1ZGlvRmlsdGVyIGFzIGJhc2UgY2xhc3MgYW5kIGRvbid0IGxlYWsgdGhlIG1lbW9yeQoJICBvZiB0aGUgZmlsdGVyIGtlcm5lbCBhbmQgcmVzaWR1ZS4KCjIwMDctMDgtMDggMTU6MTU6NTYgKzAwMDAgIEpvc2VwIFRvcnJlIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBBZGQgY29ubmVjdGlvbiBzcGVlZCBwcm9wZXJ0eSB0byBsaWJtbXMuIEZpeGVzICM0NjQ2NzguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfaW5pdCksCgkgIChnc3RfbW1zX3N0YXJ0KSwgKGdzdF9tbXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9tbXNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGQgY29ubmVjdGlvbiBzcGVlZCBwcm9wZXJ0eSB0byBsaWJtbXMuIEZpeGVzICM0NjQ2NzguCgoyMDA3LTA4LTA3IDE1OjIxOjE3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLio6IFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FjdGl2YXRlX3B1c2gpLCAob3Blbl9saWJyYXJ5KSwKCSAgKGdzdF9yZWFsX3ZpZGVvX2RlY19pbml0KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19maW5hbGl6ZSk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmg6CgkgIFJlbW92ZSBzb21lIG9sZCB1bnVzZWQgdmFycy4KCjIwMDctMDgtMDcgMTA6NTE6NTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogU21hbGwgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldGNhcHMpOgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbiksCgkgIChvcGVuX2xpYnJhcnkpOgoJICBSZW1vdmUgZnJhZ21lbnQgYW5kIHRpbWVzdGFtcCBjb3JyZWN0aW9uIGNvZGUgZnJvbSB0aGUgZGVjb2RlciB0byBtYWtlCgkgIHRoZSBjYXBzIGFuZCBidWZmZXIgY29udGVudHMgY29tcGF0aWJsZSB3aXRoIG1hdHJvc2thL2ZmZGVjX3J2eDAvLi4uCgoyMDA3LTA3LTMwIDEyOjQzOjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgcG8vUE9URklMRVMuc2tpcDogQWRkIFBPVEZJTEVTLnNraXAgd2l0aCBsaXN0IG9mIHNvdXJjZSBmaWxlcyB0aGF0IGFyZW4ndCBkaXN0ZWQgYXQgdGhlIG1vbWVudCBidXQgY29udGFpbiB0cmFuc2xhdGFiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHBvL1BPVEZJTEVTLnNraXA6CgkgIEFkZCBQT1RGSUxFUy5za2lwIHdpdGggbGlzdCBvZiBzb3VyY2UgZmlsZXMgdGhhdCBhcmVuJ3QgZGlzdGVkIGF0IHRoZQoJICBtb21lbnQgYnV0IGNvbnRhaW4gdHJhbnNsYXRhYmxlIHN0cmluZ3MuIFNob3VsZCBob3BlZnVsbHkgcGFjaWZ5CgkgIGJyb2tlbiB0b29scyBhbmQgbWFrZSBpdCBjbGVhcmVyIHRoYXQgdGhlc2UgZmlsZXMgYXJlIGxlZnQgb3V0CgkgIGludGVudGlvbmFsbHkgKCM0NjE2MDEgYW5kIG90aGVycykuCgoyMDA3LTA3LTMwIDA5OjUyOjM2ICswMDAwICBJYW4gTXVucm8gPGltdW5yb0BuZXRzcGFjZS5uZXQuYXU+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEluY2x1ZGUgb3VyIG93biAiX3N0ZGludC5oIiBpbnN0ZWFkIG9mIDxzdGRpbnQuaD4gKHdoaWNoIG1heSBub3QgYmUgYXZhaWxhYmxlKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBJYW4gTXVucm8gIDxpbXVucm8gYXQgbmV0c3BhY2UgbmV0IGF1PgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgSW5jbHVkZSBvdXIgb3duICJfc3RkaW50LmgiIGluc3RlYWQgb2YgPHN0ZGludC5oPiAod2hpY2ggbWF5IG5vdAoJICBiZSBhdmFpbGFibGUpLgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5oOgoJICBOYXRpdmUgSFAtVVggY29tcGlsZXIgZG9zbid0IHNlZW0gdG8gbGlrZSBlbnVtIHR5cGVkZWZzIGJlZm9yZSB0aGUKCSAgYWN0dWFsIGVudW0gd2FzIGRlZmluZWQuCgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOgoJICBGaXggd3JvbmcgdXNhZ2Ugb2YgR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8gKCM0NjEzNzMpLgoKMjAwNy0wNy0yNiAxNjoxNjowMSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiBVc2UgdGhlIHByb3BlciBjb250ZXh0IHZhcmlhYmxlIHdoZW4gc2V0dGluZyB0aGUgcGFzc3dvcmQgIQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgVXNlIHRoZSBwcm9wZXIgY29udGV4dCB2YXJpYWJsZSB3aGVuIHNldHRpbmcgdGhlIHBhc3N3b3JkICEKCSAgTE9HID0+IFdBUk5JTkcgZm9yIGVycm9ycy4KCSAgR2l2ZSBwcm9wZXIgcGF0aCB3aGVuIG9wZW5pbmcgdGhlIGNvZGVjIChuZWVkcyBhICcvJyBhdCB0aGUgZW5kKS4KCjIwMDctMDctMjUgMTg6MTA6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9NYWtlZmlsZS5hbTogQW5kIGRpc3QgdGhlIG5ldyBoZWFkZXIgZmlsZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICBBbmQgZGlzdCB0aGUgbmV3IGhlYWRlciBmaWxlIHRvby4KCjIwMDctMDctMjUgMTQ6MzY6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9nc3RyZWFsLmg6IEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmg6CgkgIEFkZCBtaXNzaW5nIGhlYWRlciBmaWxlLgoKMjAwNy0wNy0yNSAxMzoyOTowNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvZmx2LzogSGFuZGxlIG5vdCBsaW5rZWQgcGFkcywgdHJ5IHRvIG1ha2UgaXQgcmV1c2FibGUsIG1vcmUgc2FmZXR5IGNoZWNrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKGdzdF9mbHZfZGVtdXhfY2hhaW4pLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX3RhZyksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9pbml0KToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4Lmg6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5jOiAoRkxWX0dFVF9TVFJJTkcpLAoJICAoZ3N0X2Zsdl9wYXJzZV9tZXRhZGF0YV9pdGVtKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3NjcmlwdCksCgkgIChnc3RfZmx2X3BhcnNlX3RhZ19hdWRpbyksIChnc3RfZmx2X3BhcnNlX3RhZ192aWRlbyksCgkgIChnc3RfZmx2X3BhcnNlX2hlYWRlcik6CgkgICogZ3N0L2Zsdi9nc3RmbHZwYXJzZS5oOiBIYW5kbGUgbm90IGxpbmtlZCBwYWRzLCB0cnkgdG8gbWFrZSBpdAoJICByZXVzYWJsZSwgbW9yZSBzYWZldHkgY2hlY2tzLgoKMjAwNy0wNy0yNSAwNTo1NTowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lio6IERvbid0IGluaXRpYWxpemUgdGltaWRpdHkgaW4gcGx1Z2luX2luaXQgZm9yIHNpbWlsYXIgcmVhc29uIGFzIGJlbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0dGltaWRpdHkuYzogKGdzdF90aW1pZGl0eV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5oOgoJICBEb24ndCBpbml0aWFsaXplIHRpbWlkaXR5IGluIHBsdWdpbl9pbml0IGZvciBzaW1pbGFyIHJlYXNvbiBhcyBiZWxvdy4KCjIwMDctMDctMjQgMTU6MTM6NDQgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS4qOiBEb24ndCBpbml0aWFsaXplIHdpbGRtaWRpIGluIHBsdWdpbl9pbml0IGFzIGl0IGFsc28gc2V0dXBzIGF1ZGlvIGZpbHRlcnMgd2hpY2ggaXMgc2xvdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyksCgkgIChnc3Rfd2lsZG1pZGlfaW5pdCksIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuaDoKCSAgRG9uJ3QgaW5pdGlhbGl6ZSB3aWxkbWlkaSBpbiBwbHVnaW5faW5pdCBhcyBpdCBhbHNvIHNldHVwcyBhdWRpbwoJICBmaWx0ZXJzIHdoaWNoIGlzIHNsb3cuCgoyMDA3LTA3LTI0IDE0OjM2OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvOiBJbXByb3ZlZCBzZWFyY2ggYWxnb3JpdGhtIGZvciBsb2NhdGlvbiBvZiByZWFsIC5zbyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6IChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfYXVkaW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKG9wZW5fbGlicmFyeSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgSW1wcm92ZWQgc2VhcmNoIGFsZ29yaXRobSBmb3IgbG9jYXRpb24gb2YgcmVhbCAuc28gZmlsZXMuCgkgIEZpeGVzICMzOTM0NjEKCjIwMDctMDctMjQgMDU6MTU6NDEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIFVzZSB0aGUgbmV3IGJ1ZmZlciBjbGlwcGluZyBmdW5jdGlvbiBmcm9tIGdzdGF1ZGlvIGhlcmUgYW5kIHJlcXVpcmUgZ3N0LXBsdWdpbnMtYmFzZSBDVlMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBVc2UgdGhlIG5ldyBidWZmZXIgY2xpcHBpbmcgZnVuY3Rpb24gZnJvbSBnc3RhdWRpbyBoZXJlIGFuZAoJICByZXF1aXJlIGdzdC1wbHVnaW5zLWJhc2UgQ1ZTLgoKMjAwNy0wNy0yMyAwOToxMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBTeW5jIGxpYm9pbCBjaGVjayB3aXRoIHBsdWdpbnMtYmFzZS4KCjIwMDctMDctMjAgMTE6Mzc6MzcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvOiBCZXR0ZXIgYWxnb3JpdGggZm9yIHRoZSBjZW50ZXIgZnJlcXVlbmNpZXMuIFN1YnRyYWN0IGJhbmQgZmlsdGVycyBmcm9tIGlucHV0IGZvciBuZWdhdGl2ZSBnYWlucy4gUmV3by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZHJlbl9jb3VudCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9pbnRlcmZhY2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jbGFzc19pbml0KSwgKGFyZ190b19zY2FsZSksIChzZXR1cF9maWx0ZXIpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2NsYXNzX2luaXQpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXJuYmFuZHMuYzoKCSAgQmV0dGVyIGFsZ29yaXRoIGZvciB0aGUgY2VudGVyIGZyZXF1ZW5jaWVzLiBTdWJ0cmFjdCBiYW5kIGZpbHRlcnMgZnJvbQoJICBpbnB1dCBmb3IgbmVnYXRpdmUgZ2FpbnMuIFJld29yayB0aGUgZ2FpbiBtYXBwaW5nLgoKMjAwNy0wNy0yMCAxMTowMzozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2RpcmFjL01ha2VmaWxlLmFtOiBBbHNvIGluY2x1ZGUgc3RkbGliIGhlcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJhYy9NYWtlZmlsZS5hbToKCSAgQWxzbyBpbmNsdWRlIHN0ZGxpYiBoZXJlLgoKMjAwNy0wNy0xOSAxNToyOTo1MiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOiBGaXggdGhlIGJ1aWxkYm90IHdpdGggdGhlIGN2c2lnbm9yZSBpdCB3YW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IHRoZSBidWlsZGJvdCB3aXRoIHRoZSBjdnNpZ25vcmUgaXQgd2FudHMuCgoyMDA3LTA3LTE5IDE1OjA1OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEFkZHMgYSBmaXJzdCBkcmFmdCBvZiBhbiBGTFYgZGVtdXhlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDctMTkgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2Zsdi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmx2L2dzdGZsdmRlbXV4LmM6IChnc3RfZmx2X2RlbXV4X2ZsdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfY2xlYW51cCksIChnc3RfZmx2X2RlbXV4X2NoYWluKSwKCSAgKGdzdF9mbHZfZGVtdXhfcHVsbF90YWcpLCAoZ3N0X2Zsdl9kZW11eF9wdWxsX2hlYWRlciksCgkgIChnc3RfZmx2X2RlbXV4X3NlZWtfdG9fcHJldl9rZXlmcmFtZSksIChnc3RfZmx2X2RlbXV4X2xvb3ApLAoJICAoZ3N0X2Zsdl9kZW11eF9zaW5rX2FjdGl2YXRlKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9mbHZfZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9mbHZfZGVtdXhfc2lua19ldmVudCksCgkgIChnc3RfZmx2X2RlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfZmx2X2RlbXV4X2Rpc3Bvc2UpLAoJICAoZ3N0X2Zsdl9kZW11eF9iYXNlX2luaXQpLCAoZ3N0X2Zsdl9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9mbHZfZGVtdXhfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2Zsdi9nc3RmbHZkZW11eC5oOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuYzogKEZMVl9HRVRfQkVVSTI0KSwgKEZMVl9HRVRfU1RSSU5HKSwKCSAgKGdzdF9mbHZfZGVtdXhfcXVlcnlfdHlwZXMpLCAoZ3N0X2Zsdl9kZW11eF9xdWVyeSksCgkgIChnc3RfZmx2X3BhcnNlX21ldGFkYXRhX2l0ZW0pLCAoZ3N0X2Zsdl9wYXJzZV90YWdfc2NyaXB0KSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX2F1ZGlvKSwgKGdzdF9mbHZfcGFyc2VfdGFnX3ZpZGVvKSwKCSAgKGdzdF9mbHZfcGFyc2VfdGFnX3R5cGUpLCAoZ3N0X2Zsdl9wYXJzZV9oZWFkZXIpOgoJICAqIGdzdC9mbHYvZ3N0Zmx2cGFyc2UuaDogQWRkcyBhIGZpcnN0IGRyYWZ0IG9mIGFuIEZMViBkZW11eGVyLgoJICBJdCBkb2VzIG5vdCBkbyBzZWVraW5nIHlldCwgaXQgc3VwcG9ydHMgcHVsbCBhbmQgcHVzaCBtb2RlIHNvCgkgIFlFUwoJICB5b3UgY2FuIHVzZSBpdCB0byBwbGF5IHlvdXR1YmUgdmlkZW9zIGRpcmVjdGx5IGZyb20gYW4gSFRUUCB1cmkuCgkgIE5vdCBzbyBtdWNoIHRlc3RpbmcgZG9uZSB5ZXQgYnV0IGl0IHBhcnNlcyBtZXRhZGF0YSwgcmVwbHkgdG8KCSAgZHVyYXRpb24gcXVlcmllcywgZXRjLi4uCgoyMDA3LTA3LTE5IDA5OjA4OjMwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbTogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYyAoR1NUX1NUQVJUX1RFU1QsIHRpbWlkaXR5X3N1aXRlLCBtYWluKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdGltaWRpdHkuYyAoR1NUX1NUQVJUX1RFU1QsIHRpbWlkaXR5X3N1aXRlLAoJICBtYWluKToKCSAgQWRkIHR5cGVmaW5kIHRlc3QgZm9yIG1pZGkuCgoyMDA3LTA3LTE4IDIwOjU2OjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvc291bmR0b3VjaC9nc3RwaXRjaC5jYzogSWYgd2UgcmVjZWl2ZSBhIG5ldyBzZWdtZW50IGV2ZW50LCBkb24ndCB0cnkgdG8gcHVzaCBidWZmZXJzIG91dCBpbiByZXNwb25zZSAod2l0aG91dCBmaXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgIElmIHdlIHJlY2VpdmUgYSBuZXcgc2VnbWVudCBldmVudCwgZG9uJ3QgdHJ5IHRvIHB1c2ggYnVmZmVycyBvdXQKCSAgaW4gcmVzcG9uc2UgKHdpdGhvdXQgZmlyc3Qgc2VuZGluZyBpdCBvbiEpLgoJICBJbnN0ZWFkLCBmbHVzaCBpbnRlcm5hbCBidWZmZXJzIG9uIHJlY2VpdmluZyBmbHVzaCBldmVudHMuCgkgIEZpeGVzIHBsYXliYWNrIGFmdGVyIHNlZWtpbmcuCgoyMDA3LTA3LTE4IDA4OjAwOjA2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IEFkZCBiYXNpYyBkb2NzLiBVc2UgZ2xpYnMgbWVtIHJvdXRpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYmF5ZXIvZ3N0YmF5ZXIycmdiLmM6IChnc3RfYmF5ZXIycmdiX3NldF9jYXBzKSwKCSAgKGdzdF9iYXllcjJyZ2JfcmVzZXQpOgoJICBBZGQgYmFzaWMgZG9jcy4gVXNlIGdsaWJzIG1lbSByb3V0aW5lcy4KCjIwMDctMDctMTggMDc6NTE6MTEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlc3JjLmM6IEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOiAoZ3N0X211bHRpX2ZpbGVfc3JjX2NyZWF0ZSk6CgkgIEFkZCBleGFtcGxlIHRvIHRoZSBkb2NzLiBGaXggYnVmZmVyLW9mZnNldC1lbmQgYW5kIGFkZCBzb21lIGRlYnVnLgoKMjAwNy0wNy0xOCAwNzo0Mjo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2FjcXVpcmUpOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgaGVyZSB0b28uCgoyMDA3LTA3LTE4IDA3OjM1OjMyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleGFtcGxlcy9hcHAvYXBwc3JjX2V4LmM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGltaWRpdHkvZ3N0d2lsZG1pZGkuYzoKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1hdWRpb3Rlc3QuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBBZGQgc3RkbGliIGluY2x1ZGUgKGZyZWUsIGF0b2ksIGV4aXQpLgoKMjAwNy0wNy0xNiAwOToxOToxNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGaXggYnVmZmVyIGNsaXBwaW5nIHRvIGNvcnJlY3RseSBjbGlwIHRvIHRoZSBzZWdtZW50IHN0b3AuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGNsaXBfb3V0Z29pbmdfYnVmZmVyKToKCSAgRml4IGJ1ZmZlciBjbGlwcGluZyB0byBjb3JyZWN0bHkgY2xpcCB0byB0aGUgc2VnbWVudCBzdG9wLgoKMjAwNy0wNy0xNCAxODo0ODoyNSArMDAwMCAgSGFucyBkZSBHb2VkZSA8ai53LnIuZGVnb2VkZUBoaHMubmw+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBhZGQgc2V2ZXJhbCBtaXNzaW5nIHN1cHBvcnRlZCBtaW1lLXR5cGVzIHRvIHRoZSBtb2RwbHVnIHBsdWdpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBIYW5zIGRlIEdvZWRlIDxqLncuci5kZWdvZWRlIGF0IGhocyBkb3Qgbmw+CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgYWRkIHNldmVyYWwgbWlzc2luZyBzdXBwb3J0ZWQgbWltZS10eXBlcyB0byB0aGUgbW9kcGx1ZyBwbHVnaW4uCgkgIEZpeGVzICM0NTY5MDEuCgoyMDA3LTA3LTEzIDE2OjQ2OjAwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvciBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogdGVzdHMvTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBib2d1cyBjaGVjayBmb3IgbGliY2hlY2ssIHNpbmNlIHdlIGNoZWNrIGZvcgoJICBnc3RyZWFtZXItY2hlY2sgYW5kIGl0IHB1bGxzIGluIHRoZSByZXF1aXJlZCBpbmZvIGZyb20gdGhlcmUsIGFuZCB3ZQoJICB3ZXJlbid0IGFjdHVhbGx5IF91c2luZ18gdGhlIGluZm9ybWF0aW9uIGZvciBsaWJjaGVjayBvdXJzZWx2ZXMKCSAgYW55d2F5LgoKMjAwNy0wNy0xMiAxMTo1NToxMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVc2UgcGtnLWNvbmZpZyB0byBsb2NhdGUgY2hlY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXNlIHBrZy1jb25maWcgdG8gbG9jYXRlIGNoZWNrLgoKMjAwNy0wNy0xMSAyMzo0MzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC86IEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogKGdzdF9kZWludGVybGVhdmVfcHJvY2Vzcyk6CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAodm1uY19tYWtlX2J1ZmZlcik6CgkgIEZpeCBidWlsZCBhZ2FpbnN0IGNvcmUgQ1ZTLgoKMjAwNy0wNy0wOSAwNjowNTo0NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgUkVRVUlSRU1FTlRTOiBTeW5jIHdpdGggY2hhbmdlcyBpbiAtdWdseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICBTeW5jIHdpdGggY2hhbmdlcyBpbiAtdWdseS4KCjIwMDctMDctMDggMTk6MDY6NDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSRVFVSVJFTUVOVFM6IEFkZCBkb3dubG9hZCBsb2NhdGlvbiBvZiBsaWJhbXJ3Yi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogUkVRVUlSRU1FTlRTOgoJICBBZGQgZG93bmxvYWQgbG9jYXRpb24gb2YgbGliYW1yd2IuCgoyMDA3LTA3LTA2IDIxOjA3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgbWlzc2luZyBpbnNwZWN0IGZpbGVzLiBGaXhlcyBidWlsZCAoIzQ1NDMxMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbXJ3Yi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWVxdWFsaXplci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11bHRpZmlsZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXRpbWlkaXR5LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2lsZG1pZGkueG1sOgoJICBBZGQgbWlzc2luZyBpbnNwZWN0IGZpbGVzLiBGaXhlcyBidWlsZCAoIzQ1NDMxMykuCgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6ICh3aWxkbWlkaV9vcGVuX2NvbmZpZyk6CgkgIFNjcmVhbSBhIGJpdCBsb3VkZXIgd2hlbiBpbml0aWFsaXNhdGlvbiBmYWlscy4KCSAgKiBnc3QtbGlicy9SRUFETUU6CgkgICogZ3N0LWxpYnMvZXh0Ly5jdnNpZ25vcmU6CgkgIFJlbW92ZSBzb21lIGNydWZ0LgoKMjAwNy0wNy0wNSAyMjoyODowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOiBEaXN0IGhlYWRlciBmaWxlcy4gRml4ZXMgIzQ1NDA3OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkgIERpc3QgaGVhZGVyIGZpbGVzLiBGaXhlcyAjNDU0MDc4LgoKMjAwNy0wNy0wNSAwODo0NTozMiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOiBTaW1wbGlmeSAtLWV4dHJhLWRpciBhcyBndGtkb2Mgc2NhbnMgcmVjdXJzaXZlbHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgU2ltcGxpZnkgLS1leHRyYS1kaXIgYXMgZ3RrZG9jIHNjYW5zIHJlY3Vyc2l2ZWx5LgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJICBGaXggY29tbWVudCBzdGFydC4KCjIwMDctMDctMDQgMTE6NTY6NTUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jIChkdmJzcmNfZGV0YWlscywgQVJHX0RWQlNSQ19BREFQVEVSLAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jIChkdmJzcmNfZGV0YWlscywgQVJHX0RWQlNSQ19BREFQVEVSLAoJICBBUkdfRFZCU1JDX0ZST05URU5ELCBBUkdfRFZCU1JDX0RJU0VRQ19TUkMsIEFSR19EVkJTUkNfRlJFUVVFTkNZLAoJICBBUkdfRFZCU1JDX1BPTEFSSVRZLCBnc3RfZHZic3JjX2NsYXNzX2luaXQsIGdzdF9kdmJzcmNfaW5pdCwKCSAgZ3N0X2R2YnNyY19zZXRfcHJvcGVydHksIGdzdF9kdmJzcmNfZ2V0X3Byb3BlcnR5LAoJICBnc3RfZHZic3JjX29wZW5fZnJvbnRlbmQsIGdzdF9kdmJzcmNfb3Blbl9kdnIsIHJlYWRfZGV2aWNlLAoJICBnc3RfZHZic3JjX2NyZWF0ZSwgZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcnMpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmggKGFkYXB0ZXJfbnVtYmVyLCBmcm9udGVuZF9udW1iZXIpOgoJICBSZW1vdmVkIHByb3BlcnR5ICJkZXZpY2UiLiBBZGRlZCBwcm9wZXJ0aWVzICJhZGFwdGVyIiBhbmQgImZyb250ZW5kIi4KCSAgRml4ZXMgIzQ1MzYzNi4KCSAgUmVuYW1lIGZyZXEgcHJvcGVydHkgdG8gZnJlcXVlbmN5LgoKMjAwNy0wNy0wMyAxNzowOToyNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiBGaXggcHJvcGVydHkgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgIEZpeCBwcm9wZXJ0eSBkZXNjcmlwdGlvbnMuCgoyMDA3LTA3LTAzIDA5OjE4OjIyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBbHNvIGRvY3VtZW50IEFNUi1XQiBlbGVtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBBbHNvIGRvY3VtZW50IEFNUi1XQiBlbGVtZW50cy4KCjIwMDctMDctMDMgMDg6MTY6MTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IENsZWFudXAgdGhlIHNlY3Rpb24gZmlsZSBzbyB0aGF0IC11bnVzZWQgaXMgZW1wdHkgYWdhaW4gKGFuZCB1c2VmdWwgdG8gc3BvdCBuZXcgZG9jcykuIEFkZCBub3QgeWV0IGFkZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJICBDbGVhbnVwIHRoZSBzZWN0aW9uIGZpbGUgc28gdGhhdCAtdW51c2VkIGlzIGVtcHR5IGFnYWluIChhbmQgdXNlZnVsIHRvCgkgIHNwb3QgbmV3IGRvY3MpLiBBZGQgbm90IHlldCBhZGRlZCBkb2NzIHRvIHNnbWwgZmlsZS4gQWRkIG1vcmUgaGVhZGVyCgkgIHRvIE1ha2VmaWxlLmFtIHRvIG1ha2UgdGhlbSBpbnRyb3NwZWN0YWJsZS4KCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nZHAueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgVXBkYXRlIHRoZSBkb2MgYmxvYnMuCgoyMDA3LTA3LTAzIDA4OjAxOjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbXVsdGlmaWxlLzogQWRkIC5oIGZpbGVzIHRvIGJlIGFibGUgdG8gYWRkIGl0IHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGUvZ3N0bXVsdGlmaWxlLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5oOgoJICBBZGQgLmggZmlsZXMgdG8gYmUgYWJsZSB0byBhZGQgaXQgdG8gdGhlIGRvY3MuCgoyMDA3LTA3LTAzIDA3OjUyOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOiBBY3RpdmF0ZSBkb2Mgc2VjdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgQWN0aXZhdGUgZG9jIHNlY3Rpb24uCgoyMDA3LTA3LTAzIDA3OjQxOjM0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvdGltaWRpdHkvOiBGaXggbGljZW5jZSAoYm90aCBhcmUgR1BMKS4gQWRkIGVsZW1lbnQgZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmg6CgkgIEZpeCBsaWNlbmNlIChib3RoIGFyZSBHUEwpLiBBZGQgZWxlbWVudCBkb2NzLgoKMjAwNy0wNy0wMyAwNzozMDo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L211c2ljYnJhaW56L2dzdHRybS5oOiBGaXggX2dldF90eXBlIHNpZ25hdHVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5oOgoJICBGaXggX2dldF90eXBlIHNpZ25hdHVyZS4KCjIwMDctMDctMDMgMDc6MTY6MjYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6IEZpeCBHT2JqZWN0IG1hY3Jvcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmd2b2x1bWUuaDoKCSAgRml4IEdPYmplY3QgbWFjcm9zLgoKMjAwNy0wNi0yOSAxNToyMzozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBNYWtlIGEgYnVuY2ggb2YgZnVuY3Rpb25zIHN0YXRpYywgYW5kIG1vdmUgdmFyaWFibGUgZGVjbGFyYXRpb25zIHRvIHRoZSBzdGFydCBvZiBibG9ja3MgdG8gYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc3JjX2ZpeGF0ZSksCgkgIChnc3RfZGMxMzk0X2NyZWF0ZSksIChnc3RfZGMxMzk0X2NhcHNfc2V0X2Zvcm1hdF92bW9kZV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfZnJhbWVzaXplX3JhbmdlKSwKCSAgKGdzdF9kYzEzOTRfY2Fwc19zZXRfZnJhbWVyYXRlX2xpc3QpLCAoZ3N0X2RjMTM5NF9nZXRfY2FtX2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9mcmFtZXJhdGVfZnJhY190b19jb25zdCksCgkgIChnc3RfZGMxMzk0X29wZW5fY2FtX3dpdGhfYmVzdF9jYXBzKToKCSAgTWFrZSBhIGJ1bmNoIG9mIGZ1bmN0aW9ucyBzdGF0aWMsIGFuZCBtb3ZlIHZhcmlhYmxlIGRlY2xhcmF0aW9ucwoJICB0byB0aGUgc3RhcnQgb2YgYmxvY2tzIHRvIGF2b2lkIHByb2JsZW1zIG9uIG9sZGVyIGdjYy4KCSAgTWFrZSBzdXJlIHRvIHVuc2V0IHZhbHVlIHR5cGVzLgoKMjAwNy0wNi0yOSAxNDo0ODo1OSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBUaGUgY29ycmVjdCBmb3VyY2MgZm9yIHRoZSA0OjE6MSBwYWNrZWQgZm9ybWF0IGlzICdJWVUxJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuYzogKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpOgoJICBUaGUgY29ycmVjdCBmb3VyY2MgZm9yIHRoZSA0OjE6MSBwYWNrZWQgZm9ybWF0IGlzICdJWVUxJy4KCSAgV2l0aCBDVlMgb2YgZmZtcGVnY29sb3JzcGFjZSBmcm9tIHBsdWdpbnMtYmFzZSwgSSBjYW4gbm93CgkgIGdldCAzMCBmcHMgZnJvbSB0aGUgaVNpZ2h0LgoKMjAwNy0wNi0yOSAxNDoxMToyNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvZGMxMzk0L2dzdGRjMTM5NC5jOiBDaGFuZ2UgYSBnX3ByaW50IHRvIGEgR1NUX0RFQlVHIG1lc3NhZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X3NldF9jYXBzX2NvbG9yKToKCSAgQ2hhbmdlIGEgZ19wcmludCB0byBhIEdTVF9ERUJVRyBtZXNzYWdlLgoKMjAwNy0wNi0yOSAxMzowOToxOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE9vcHMsIGFkZCBhbiBhdHRyaWJ1dGlvbiBmb3IgQW50b2luZSBUcmVtYmxheSB0b28gLSB0aGUgb3JpZ2luYWwgcGF0Y2ggYXV0aG9yLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgT29wcywgYWRkIGFuIGF0dHJpYnV0aW9uIGZvciBBbnRvaW5lIFRyZW1ibGF5IHRvbyAtIHRoZSBvcmlnaW5hbCBwYXRjaCBhdXRob3IuCgoyMDA3LTA2LTI5IDEzOjAzOjI3ICswMDAwICBFcmljIEpvbmFzIDxqb25hc0BtaXQuZWR1PgoKCSAgQ29tbWl0IG5ldyBkYzEzOTRzcmMgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGMxMzk0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9kYzEzOTQvZ3N0ZGMxMzk0LmM6IChnc3RfZGMxMzk0X2Jhc2VfaW5pdCksCgkgIChnc3RfZGMxMzk0X2NsYXNzX2luaXQpLCAoZ3N0X2RjMTM5NF9pbml0KSwKCSAgKGdzdF9kYzEzOTRfc3JjX2ZpeGF0ZSksIChnc3RfZGMxMzk0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGMxMzk0X2dldF9wcm9wZXJ0eSksIChnc3RfZGMxMzk0X2dldGNhcHMpLAoJICAoZ3N0X2RjMTM5NF9zZXRjYXBzKSwgKGdzdF9kYzEzOTRfZ2V0X3RpbWVzKSwgKGdzdF9kYzEzOTRfY3JlYXRlKSwKCSAgKGdzdF9kYzEzOTRfcGFyc2VfY2FwcyksIChnc3RfZGMxMzk0X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGMxMzk0X2NhcHNfc2V0X2Zvcm1hdF92bW9kZV9jYXBzKSwKCSAgKGdzdF9kYzEzOTRfc2V0X2NhcHNfY29sb3IpLCAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemUpLAoJICAoZ3N0X2RjMTM5NF9zZXRfY2Fwc19mcmFtZXNpemVfcmFuZ2UpLAoJICAoZ3N0X2RjMTM5NF9jYXBzX3NldF9mcmFtZXJhdGVfbGlzdCksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9jb25zdF90b19mcmFjKSwKCSAgKGdzdF9kYzEzOTRfZ2V0X2FsbF9kYzEzOTRfY2FwcyksIChnc3RfZGMxMzk0X2dldF9jYW1fY2FwcyksCgkgIChnc3RfZGMxMzk0X2ZyYW1lcmF0ZV9mcmFjX3RvX2NvbnN0KSwKCSAgKGdzdF9kYzEzOTRfb3Blbl9jYW1fd2l0aF9iZXN0X2NhcHMpLAoJICAoZ3N0X2RjMTM5NF9jaGFuZ2VfY2FtZXJhX3RyYW5zbWlzc2lvbiksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2RjMTM5NC9nc3RkYzEzOTQuaDoKCSAgQ29tbWl0IG5ldyBkYzEzOTRzcmMgZWxlbWVudC4KCSAgUGF0Y2ggQnk6IEVyaWMgSm9uYXMgPCBqb25hcyBhdCBtaXQgZG90IGVkdSA+CgkgIENsb3NlOiAjMzg3MjUxCgoyMDA3LTA2LTI4IDEwOjQwOjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IFJlZ2lzdGVyIG5ldyBwcm9wZXJ0eSBhcyB3ZWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuYzogKGdzdF92aWRlb19kZXRlY3RfY2xhc3NfaW5pdCk6CgkgIFJlZ2lzdGVyIG5ldyBwcm9wZXJ0eSBhcyB3ZWxsLgoKMjAwNy0wNi0yOCAwOTozNjoyMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC4qOiBBZGQgcHJvcGVydHkgdG8gYWRqdXN0IHRoZSBjZW50ZXIsIHNlbnNpdGl2aXR5IGlzIG5vdyB0aGUgZGlzdGFuY2UgZnJvbSB0aGlzIGNlbnRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0LmM6IChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvZGV0ZWN0Lmg6CgkgIEFkZCBwcm9wZXJ0eSB0byBhZGp1c3QgdGhlIGNlbnRlciwgc2Vuc2l0aXZpdHkgaXMgbm93IHRoZSBkaXN0YW5jZSBmcm9tCgkgIHRoaXMgY2VudGVyLgoKMjAwNy0wNi0yNyAxNTozMzoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC92aWRlb3NpZ25hbC86IEFkZCBsZWZ0IGFuZCBib3R0b20gb2Zmc2V0IHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgcG9zaXRpb24gb2YgdGhlIHBhdHRlcm4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF80MjApLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2RldGVjdF9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX2RldGVjdF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9kZXRlY3QuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmM6IChnc3RfdmlkZW9fbWFya19kcmF3X2JveCksCgkgIChnc3RfdmlkZW9fbWFya180MjApLCAoZ3N0X3ZpZGVvX21hcmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92aWRlb19tYXJrX2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fbWFya19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9tYXJrLmg6CgkgIEFkZCBsZWZ0IGFuZCBib3R0b20gb2Zmc2V0IHByb3BlcnRpZXMgdG8gY29udHJvbCB0aGUgcG9zaXRpb24gb2YgdGhlCgkgIHBhdHRlcm4uCgoyMDA3LTA2LTI1IDEyOjQ3OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmlsdGVyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2RwLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4taDI2NHBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tamFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBVcGRhdGUgZG9jcyB3aXRoIGNhcHMgaW5mby4KCjIwMDctMDYtMjUgMTE6MDI6MjEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnY29uZi86IFJlbW92ZSBkeXNmdW5jdGlvbmFsIGRpcmVjdG9yeSAodGhpcyBzdHVmZiBpcyBpbiAtZ29vZCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdjb25mLy5jdnNpZ25vcmU6CgkgICogZ2NvbmYvTWFrZWZpbGUuYW06CgkgICogZ2NvbmYvZ3N0cmVhbWVyLnNjaGVtYXMuaW46CgkgIFJlbW92ZSBkeXNmdW5jdGlvbmFsIGRpcmVjdG9yeSAodGhpcyBzdHVmZiBpcyBpbiAtZ29vZCkuCgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzogKHBsdWdpbl9pbml0KToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgaTE4biBiaW5kdGV4dGRvbWFpbiBzdHVmZi4KCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY2xhc3NfaW5pdCksCgkgIChwbHVnaW5faW5pdCk6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSB3aGVuIHJldHVybmluZyBHU1RfRkxPV19FUlJPUjsgbWlub3IgY2xlYW51cHMuCgkgICogcG8vUE9URklMRVMuaW46CgkgIEFkZCBtb3JlIHNvdXJjZSBmaWxlcyB3aXRoIHRyYW5zbGF0YWJsZSBzdHJpbmdzIChmaXhlcyAjNDUwNjA1KS4KCjIwMDctMDYtMjMgMTE6MjQ6NDQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgcG8vOiBBZGRlZCBDaGluZXNlIChzaW1wbGlmaWVkKSB0cmFuc2xhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIENvbnRyaWJ1dGVkIGJ5OiBXZW56aGVuZyBIdSA8ZGJfbG9ic3RlckAxNjMuY29tPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vemhfQ04ucG86CgkgIEFkZGVkIENoaW5lc2UgKHNpbXBsaWZpZWQpIHRyYW5zbGF0aW9uLgoKMjAwNy0wNi0yMiAyMDoyMzoxOCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgZ3N0LzogQnVpbGQgZml4ZXMgZm9yIGdjYy0yLjl4IChubyBtaWQtYmxvY2sgdmFyaWFibGUgZGVjbGFyYXRpb25zIGV0Yy4pLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjNiYW5kcy5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmM6CgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jaGFpbik6CgkgIEJ1aWxkIGZpeGVzIGZvciBnY2MtMi45eCAobm8gbWlkLWJsb2NrIHZhcmlhYmxlIGRlY2xhcmF0aW9ucyBldGMuKS4KCSAgRml4ZXMgIzQ1MDE4NS4KCjIwMDctMDYtMjIgMTU6MzA6MDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4YW1wbGVzL3N3aXRjaC9zd2l0Y2hlci5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOgoJKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5oOgoJICBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6IGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLAoJICBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKGdzdF9zd2l0Y2hfcmVsZWFzZV9wYWQsCgkgIGdzdF9zd2l0Y2hfcmVxdWVzdF9uZXdfcGFkLCBnc3Rfc3dpdGNoX2NoYWluLCBnc3Rfc3dpdGNoX2V2ZW50LAoJICBnc3Rfc3dpdGNoX3NldF9wcm9wZXJ0eSwgZ3N0X3N3aXRjaF9nZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X2xpbmtlZF9wYWQsIGdzdF9zd2l0Y2hfZ2V0Y2FwcywKCSAgZ3N0X3N3aXRjaF9idWZmZXJhbGxvYywgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHN3aXRjaF9tdXRleCwgR1NUX1NXSVRDSF9MT0NLLAoJICBHU1RfU1dJVENIX1VOTE9DSyk6CgkgIEFkZCBhbiBleHRyYSBsb2NrIHRvIHByb3RlY3QgYWdhaW5zdCBjZXJ0YWluIHZhcmlhYmxlcyBpbnN0ZWFkIG9mCgkgIHVzaW5nIHRoZSBvYmplY3QgbG9jay4gRml4IGNhc2Ugd2hlcmUgY2FwcyBhcmUgZGlmZmVyZW50IGluIHRoZQoJICBzaW5rIHBhZHMgY2F1c2VzIGRlYWRsb2NrLiBVcGRhdGUgZXhhbXBsZSB0byB1c2UgZGlmZmVyZW50IGNhcHMKCSAgb24gZWFjaCBzaW5rIHBhZC4KCjIwMDctMDYtMjIgMTQ6Mjc6NDAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTUFJTlRBSU5FUlM6IFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogTUFJTlRBSU5FUlM6CgkgIFVwZGF0aW5nIGFsbCB0aGUgbWFpbnRhaW5lcnMgZmlsZXMKCjIwMDctMDYtMjIgMTA6NDY6MzMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBGaXggbGVha3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9pbml0KToKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKGdzdF9iejJkZWNfaW5pdCk6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzogKGdzdF9iejJlbmNfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGVuYy5jOiAoZ3N0X2RpdnhlbmNfaW5pdCk6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfaW5pdCk6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfaW5pdCk6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzogKGdzdF9nc21lbmNfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6IChnc3RfaGVybWVzX2NvbG9yc3BhY2VfaW5pdCk6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6IChnc3RfY29sb3JzcGFjZV9pbml0KToKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19pbml0KToKCSAgKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzogKGdzdF9zbmFwc2hvdF9pbml0KToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoZ3N0X3NwY19kZWNfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfaW5pdCk6CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzogKGdzdF9jZHhhX3BhcnNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2luaXQpOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6IChnc3RfZnJlZXplX2luaXQpOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6IChnc3RfbWl4bWF0cml4X3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmM6IChnc3Rfc3lzdGVtX2VuY29kZV9pbml0KToKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6IChnc3RfbXBlZzJzdWJ0X2luaXQpOgoJICAqIGdzdC9uc2YvZ3N0bnNmLmM6IChnc3RfbnNmZGVjX2luaXQpOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzogKGdzdF9vdmVybGF5X2luaXQpOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOiAocGFzc3Rocm91Z2hfaW5pdCk6CgkgICogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzogKHBsYXlfb25fZGVtYW5kX2luaXQpOgoJICAqIGdzdC9zbW9vdGgvZ3N0c21vb3RoLmM6IChnc3Rfc21vb3RoX2luaXQpOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzogKGdzdF9zbW9vdGh3YXZlX2luaXQpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfaW5pdCk6CgkgICogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzogKGdzdF92YmlkZWNfaW5pdCk6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuYzogKGR4cjNzcHVzaW5rX2luaXQpOgoJICAqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuYzogKGR4cjN2aWRlb3NpbmtfaW5pdCk6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOiAoZ3N0X3FjYW1zcmNfaW5pdCk6CgkgIEZpeCBsZWFrcy4KCjIwMDctMDYtMjEgMTg6NDE6MTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBSZS1lbmFibGUgVkNEIHNvdXJjZSBhbmQgZml4IHVwIHJlbGVhc2Ugbm90ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIFJFTEVBU0U6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBSZS1lbmFibGUgVkNEIHNvdXJjZSBhbmQgZml4IHVwIHJlbGVhc2Ugbm90ZXMuCgoyMDA3LTA2LTIwIDEwOjE1OjAwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiBEb2N1bWVudCBwYXJhbWV0ZXIgbWFwcGluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzoKCSAgRG9jdW1lbnQgcGFyYW1ldGVyIG1hcHBpbmcuCgoyMDA3LTA2LTIwIDA4OjU2OjE3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGxlYWtpbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBsZWFraW5nIGJ1ZmZlcnMuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvc3BlY3RydW0uYzogKHNldHVwX3NwZWN0cnVtKSwKCSAgKGNsZWFudXBfc3BlY3RydW0pLCAoR1NUX1NUQVJUX1RFU1QpLCAoc3BlY3RydW1fc3VpdGUpLCAobWFpbik6CgkgIEFkZCBzaW1wbGUgdGVzdCBmb3Igc3BlY3RydW0gZWxlbWVudC4KCjIwMDctMDYtMjAgMDg6NDI6MTcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9hbXJ3Yi86IEFkZCBuZXdzZWdtZW50IGFuZCBkaXNjb250IGhhbmRsaW5nLiBTb21lIGNvZGUgY2xlYW51cHMuIERvbid0IGxlYWsgdGhlIGFkYXB0ZXIsIHVucmVmIGl0IGluIGEgbmV3IGZpbmFsaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzogKGdzdF9hbXJ3YmRlY19iYXNlX2luaXQpLAoJICAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpLCAoZ3N0X2FtcndiZGVjX2ZpbmFsaXplKSwKCSAgKGdzdF9hbXJ3YmRlY19ldmVudCksIChnc3RfYW1yd2JkZWNfY2hhaW4pLAoJICAoZ3N0X2FtcndiZGVjX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9wdWxsX2hlYWRlciksIChnc3RfYW1yd2JwYXJzZV9sb29wKToKCSAgQWRkIG5ld3NlZ21lbnQgYW5kIGRpc2NvbnQgaGFuZGxpbmcuIFNvbWUgY29kZSBjbGVhbnVwcy4gRG9uJ3QgbGVhawoJICB0aGUgYWRhcHRlciwgdW5yZWYgaXQgaW4gYSBuZXcgZmluYWxpemUgbWV0aG9kIGluc3RlYWQuIFN5bmMgdGhlCgkgIHBhcnNlciB3aXRoIHRoZSBhbXItbmIgY2hhbmdlcy4KCjIwMDctMDYtMTkgMTA6NDU6MjkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUy4KCSAgKiBnc3QtcGx1Z2lucy1iYWQuZG9hcDoKCSAgQWRkIDAuMTAuNSB0byB0aGUgZG9hcCBmaWxlLgoKPT09IHJlbGVhc2UgMC4xMC41ID09PQoKMjAwNy0wNi0xOSAxMDozMjozOCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1hbHNhc3BkaWYueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWNkeGFwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kZmJ2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc3RydHBtYW5hZ2VyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1qYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1tcy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1wZWcyZW5jLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXF0ZGVtdXgueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVjdHJ1bS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlbGVhc2UgMC4xMC41CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZWxlYXNlIDAuMTAuNQoKMjAwNy0wNi0xOSAwOTozNzo0NiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9kYS5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA3LTA2LTE1IDA5OjI3OjUyICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHdpbjMyL3ZzNi86IENvbnZlcnQgbGluZSBlbmRpbmdzIHRvIENSTEYgYW5kIG1hcmsgYXMgYmluYXJ5IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZHNob3cuZHNwOgoJICAqIHdpbjMyL3ZzNi9saWJnc3RtcGVndmlkZW9wYXJzZS5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG5lb24uZHNwOgoJICBDb252ZXJ0IGxpbmUgZW5kaW5ncyB0byBDUkxGIGFuZCBtYXJrIGFzIGJpbmFyeSBmaWxlcy4KCjIwMDctMDYtMTMgMTE6NDg6MDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvTWFrZWZpbGUuYW06IERpc2FibGUgVkNEIGJ1aWxkIGJlY2F1c2Ugd2UncmUgZnJvemVuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICBEaXNhYmxlIFZDRCBidWlsZCBiZWNhdXNlIHdlJ3JlIGZyb3plbi4uCgoyMDA3LTA2LTEzIDExOjM3OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgUG9ydCBWQ0QgZWxlbWVudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvdmNkL01ha2VmaWxlLmFtOgoJICAqIHN5cy92Y2QvdmNkc3JjLmM6IChnc3RfdmNkc3JjX3NldHVwX2ludGVyZmFjZXMpLAoJICAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpLCAoZ3N0X3ZjZHNyY19jbGFzc19pbml0KSwgKGdzdF92Y2RzcmNfaW5pdCksCgkgIChnc3RfdmNkc3JjX21zZiksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKSwKCSAgKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF92Y2RzcmNfY3JlYXRlKSwgKGdzdF92Y2RzcmNfc3RhcnQpLCAoZ3N0X3ZjZHNyY19zdG9wKSwKCSAgKGdzdF92Y2RzcmNfdXJpX3NldF91cmkpOgoJICAqIHN5cy92Y2QvdmNkc3JjLmg6CgkgIFBvcnQgVkNEIGVsZW1lbnQuCgoyMDA3LTA2LTEyIDIxOjI4OjEyICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICB3aW4zMi9NQU5JRkVTVDogQWRkIG1lZ3ZpZGVvcGFyc2UsIGxpYmRzaG93IGFuZCBkc2hvd3NyY3dyYXBwZXIgdG8gd2luMzIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBtZWd2aWRlb3BhcnNlLCBsaWJkc2hvdyBhbmQgZHNob3dzcmN3cmFwcGVyIHRvIHdpbjMyCgkgIE1BTklGRVNULgoJICAqIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3OgoJICBSZW1vdmUgcXRkZW11eCwgZGlyZWN0ZHJhdywgZGlyZWN0c291bmQgYW5kIHdhdmVmb3JtIHByb2plY3QgZmlsZXMKCSAgZnJvbSB0aGUgd29ya3NwYWNlIGFzIHRoZXkgaGF2ZSBiZWVuIG1vdmVkIHRvIC1nb29kLgoKMjAwNy0wNi0xMiAyMDoyMjoyMyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBwby9QT1RGSUxFUy5pbjogUmVtb3ZlIHF0ZGVtdXggZnJvbSB0aGUgdHJhbnNsYXRpb24gbGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogcG8vUE9URklMRVMuaW46CgkgIFJlbW92ZSBxdGRlbXV4IGZyb20gdGhlIHRyYW5zbGF0aW9uIGxpc3QuCgoyMDA3LTA2LTEyIDIwOjE1OjE0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyB0byAtZ29vZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW9jcm9wLnhtbDoKCSAgKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgKiBnc3QvdmlkZW9jcm9wL3ZpZGVvY3JvcC52Y3Byb2o6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6CgkgIE1vdmUgdmlkZW9jcm9wIGFuZCBvc3h2aWRlbyB0byAtZ29vZC4KCjIwMDctMDYtMTIgMTk6MzY6MTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgTW92ZSBxdGRlbXV4IHRvIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LnZjcHJvajoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X3R5cGVzLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRwYWxldHRlLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXVpY2t0aW1lLmM6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvdnM2L2xpYmdzdHF0ZGVtdXguZHNwOgoJICBNb3ZlIHF0ZGVtdXggdG8gLWdvb2QuCgkgICogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIFVwZGF0ZSBzcGVjIGZpbGUgdG8gcmVmbGVjdCB3YXZwYWNrICYgcXRkZW11eCBtb3ZpbmcgdG8gLWdvb2QuCgoyMDA3LTA2LTEyIDE4OjUzOjAzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbW92ZSB0aGUgd2F2ZWZvcm0gcGx1Z2luIG5vdyB0aGF0IGl0IGlzIGluIC1nb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZlZm9ybS54bWw6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBSZW1vdmUgdGhlIHdhdmVmb3JtIHBsdWdpbiBub3cgdGhhdCBpdCBpcyBpbiAtZ29vZC4KCjIwMDctMDYtMDggMjA6MjA6MzQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgTW92ZSB3YXZwYWNrIHRvIGdvb2QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3N0cmVhbXJlYWRlci5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuaDoKCSAgKiBleHQvd2F2cGFjay9tZDUuYzoKCSAgKiBleHQvd2F2cGFjay9tZDUuaDoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOgoJICBNb3ZlIHdhdnBhY2sgdG8gZ29vZC4KCjIwMDctMDYtMDggMTc6MzY6NDYgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUmVtb3ZlIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zLCBhcyB0aGV5J3ZlIG1vdmVkIHRvIEdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgICogd2luMzIvZ3N0LnNsbjoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czcvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM3L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgUmVtb3ZlIERpcmVjdERyYXcgJiBEaXJlY3RTb3VuZCBwbHVnaW5zLCBhcyB0aGV5J3ZlIG1vdmVkIHRvIEdvb2QKCjIwMDctMDYtMDggMTY6NDk6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBXaGVuIGRyaXZpbmcgdGhlIHBpcGVsaW5lLCBhbHNvIHBvc3QgYW4gZXJyb3Igd2hlbiB3ZSBnZXQgYSBub3QtbGlua2VkIGZsb3cgcmV0dXJuIGZyb20gZG93bnN0cmVhbS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfbG9vcCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfbG9vcCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9sb29wKToKCSAgV2hlbiBkcml2aW5nIHRoZSBwaXBlbGluZSwgYWxzbyBwb3N0IGFuIGVycm9yIHdoZW4gd2UgZ2V0IGEKCSAgbm90LWxpbmtlZCBmbG93IHJldHVybiBmcm9tIGRvd25zdHJlYW0uCgoyMDA3LTA2LTA4IDE2OjMxOjE1ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFJlbmFtZSB0aGUga2VlcC1hc3BlY3QtcmF0aW8gcHJvcGVydHkgdG8gZm9yY2UtYXNwZWN0LXJhdGlvIHRvIG1ha2UgaXQgY29uc2lzdGVudCB3aXRoIHh2aW1hZ2VzaW5rIGFuZCB4aW1hZ2VzaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19jbGFzc19pbml0KToKCSAgUmVuYW1lIHRoZSBrZWVwLWFzcGVjdC1yYXRpbyBwcm9wZXJ0eSB0byBmb3JjZS1hc3BlY3QtcmF0aW8gdG8gbWFrZQoJICBpdCBjb25zaXN0ZW50IHdpdGggeHZpbWFnZXNpbmsgYW5kIHhpbWFnZXNpbmsuCgoyMDA3LTA2LTA4IDA4OjEyOjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChtYWluKToKCSAgRGVmYXVsdCB0byB4dmltYWdlc2luayBpbnN0ZWFkIG9mIGF1dG92aWRlb3Npbmsgd2hpbGUKCSAgYXV0b3ZpZGVvc2luay9naG9zdHBhZHMvd2hhdGV2ZXIgZG9uJ3QgaGFuZGxlIHRoZSB3YXkgd2UgdXNlIGl0IGluCgkgIHRoZSB3YXkgd2UgZXhwZWN0IGl0IHRvLgoKMjAwNy0wNi0wNiAxODozMDoyMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgdG8gcmVsZWFzZWQgdmVyc2lvbnMgb2YgY29yZSBhbmQgLWJhc2UsIGFuZCByZW1vdmUgc3BlY2lhbC1jYXNpbmcgZm9yIGVxdWFsaXplciBhbmQgci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJ1bXAgcmVxdWlyZW1lbnRzIHRvIHJlbGVhc2VkIHZlcnNpb25zIG9mIGNvcmUgYW5kIC1iYXNlLCBhbmQgcmVtb3ZlCgkgIHNwZWNpYWwtY2FzaW5nIGZvciBlcXVhbGl6ZXIgYW5kIHJ0cG1hbmFnZXIgYXMgaXQncyBub3QgbmVlZGVkIGFueQoJICBsb25nZXIuCgoyMDA3LTA2LTA2IDE1OjU4OjMxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbiBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX3N0b3ApLAoJICAoZ3N0X2dsaW1hZ2Vfc2lua19jcmVhdGVfd2luZG93KSwgKGdzdF9nbGltYWdlX3NpbmtfaW5pdF9kaXNwbGF5KToKCSAgU3ByaW5rbGUgaW4gc29tZSBYU3luYyBjYWxscyB0byBhdm9pZCByYWNpbmVzcyB3aXRoIGJyb2tlbgoJICBkcml2ZXJzIChBVEkpIHdoZW4gcmUtdXNpbmcgYSBzaW5nbGUgZ2xpbWFnZXNpbmsuCgoyMDA3LTA2LTA2IDExOjAzOjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9tcGVndmlkZW9wYXJzZS86IEZpeCBzb21lIHNpbGx5IGJ1Z3Mgd2l0aCBjYWxjdWxhdGluZyB0aGUgZ3VhcmQgc2l6ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOgoJICAobXBlZ191dGlsX3BhcnNlX2V4dGVuc2lvbl9wYWNrZXQpLCAobXBlZ191dGlsX3BhcnNlX3NlcXVlbmNlX2hkciksCgkgIChtcGVnX3V0aWxfcGFyc2VfcGljdHVyZV9oZHIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKToKCSAgRml4IHNvbWUgc2lsbHkgYnVncyB3aXRoIGNhbGN1bGF0aW5nIHRoZSBndWFyZCBzaXplcy4KCSAgUHJvcGVybHkgY29tcGFyZSB0aGUgb2xkIHNlcXVlbmNlIGhlYWRlciBzdHJ1Y3R1cmUgd2l0aCB0aGUgbmV3IG9uZS4KCSAgRG9uJ3QgZXJyb3Igb3V0IG9uIGFuIGludmFsaWQgc2VxdWVuY2UgLSBqdXN0IGlnbm9yZSBpdC4KCjIwMDctMDYtMDYgMDk6MTE6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogUHJpbnRmIGZpeCBpbiBkZWJ1ZyBzdGF0ZW1lbnQ7IGFsc28gcHJpbnQgdGhlIHJpZ2h0IG51bWJlciB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbHZpZGVvZGVjLmM6IChnc3RfcmVhbF92aWRlb19kZWNfZGVjb2RlKToKCSAgUHJpbnRmIGZpeCBpbiBkZWJ1ZyBzdGF0ZW1lbnQ7IGFsc28gcHJpbnQgdGhlIHJpZ2h0IG51bWJlciB0aGVyZS4KCjIwMDctMDYtMDYgMDg6MDY6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvc2RsLzogQWRkIEdTVF9DRkxBR1MsIHdoaWNoIGFwcGFyZW50bHkgc29tZWhvdyBmaXhlcyB0aGUgYnVpbGQgc29tZXdoZXJlICgjNDQ0NDk5KTsgaW5pdGlhbGlzZSB2YXJpYWJsZSB0byBhdm9pZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOiAoZ3N0X3NkbHZfcHJvY2Vzc19ldmVudHMpOgoJICBBZGQgR1NUX0NGTEFHUywgd2hpY2ggYXBwYXJlbnRseSBzb21laG93IGZpeGVzIHRoZSBidWlsZCBzb21ld2hlcmUKCSAgKCM0NDQ0OTkpOyBpbml0aWFsaXNlIHZhcmlhYmxlIHRvIGF2b2lkIGZhbHNlIGNvbXBpbGVyIHdhcm5pbmcuCgoyMDA3LTA2LTA1IDE0OjE3OjM2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHVwIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHVwIHNwZWMgZmlsZQoKMjAwNy0wNi0wMSAxNDozNjowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEFkZCBwbHVnaW4gdG8gZ2VuZXJhdGUgYSBwYXR0ZXJuIGRldGVjdGFibGUgYnkgdmlkZW9kZXRlY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvc2lnbmFsLnhtbDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvbWFyay5jOiAoZ3N0X3ZpZGVvX21hcmtfc2V0X2NhcHMpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZHJhd19ib3gpLCAoZ3N0X3ZpZGVvX21hcmtfNDIwKSwKCSAgKGdzdF92aWRlb19tYXJrX3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fbWFya19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3Byb3BlcnR5KSwgKGdzdF92aWRlb19tYXJrX2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fbWFya19jbGFzc19pbml0KSwgKGdzdF92aWRlb19tYXJrX2luaXQpLAoJICAoZ3N0X3ZpZGVvX21hcmtfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb21hcmsuaDoKCSAgKiBnc3QvdmlkZW9zaWduYWwvZ3N0dmlkZW9zaWduYWwuYzogKHBsdWdpbl9pbml0KToKCSAgQWRkIHBsdWdpbiB0byBnZW5lcmF0ZSBhIHBhdHRlcm4gZGV0ZWN0YWJsZSBieSB2aWRlb2RldGVjdC4KCjIwMDctMDYtMDEgMTE6NTk6NTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiBEb24ndCBsZWFrIGJ1ZmZlciB3aGVuIHJldHVybmluZyBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfY3JlYXRlKToKCSAgRG9uJ3QgbGVhayBidWZmZXIgd2hlbiByZXR1cm5pbmcgYW4gZXJyb3IuCgoyMDA3LTA2LTAxIDA5OjU4OjAxICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogRGVwcmVjYXRlZCAidXJpIiBwcm9wZXJ0eS4gIENsZWFuIHVwIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5IFJlbsOpIFN0YWRsZXIgPG1haWwgYXQgcmVuZXN0YWRsZXIgZG90IGRlPjoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdGFydCksIChnc3RfbmVvbmh0dHBfc3JjX2RvX3NlZWspLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfbG9jYXRpb24pLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX2dldF91cmkpLCAoZ3N0X25lb25odHRwX3NyY191cmlfc2V0X3VyaSk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgRGVwcmVjYXRlZCAidXJpIiBwcm9wZXJ0eS4gIENsZWFuIHVwIHByb3BlcnR5IGRlc2NyaXB0aW9ucy4KCSAgQ2hhbmdlIGRlZmF1bHQgVXNlci1BZ2VudCB0byB0aGUgc2xpZ2h0bHkgbW9yZSBkZXNjcmlwdGl2ZQoJICAiR1N0cmVhbWVyIG5lb25odHRwc3JjIi4KCSAgVmFyaW91cyBvdGhlciBzbWFsbCBjbGVhbnVwcywgbW9zdGx5IHByb3BlcnR5IHJlbGF0ZWQuCgoyMDA3LTA1LTMxIDE5OjEyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuaDogTm8gcmVhc29uIHRvIHVzZSBncG9pbnRlcnMgaW5zdGVhZCBvZiB0eXBlZCBwb2ludGVzIGhlcmUgYXMgZmFyIGFzIEkgY2FuIHNlZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuaDoKCSAgTm8gcmVhc29uIHRvIHVzZSBncG9pbnRlcnMgaW5zdGVhZCBvZiB0eXBlZCBwb2ludGVzIGhlcmUgYXMgZmFyIGFzIEkKCSAgY2FuIHNlZS4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFnaWMgbWFya2VycyBmb3IgdGhpbmdzIHRoYXQgYXJlbid0IG1lYW50IHRvIGJlCgkgIHBhcnNlZCBieSBndGstZG9jLiBNYWtlcyBndGstZG9jIGNvbXBsYWluIGEgYml0IGxlc3MuCgoyMDA3LTA1LTMwIDE0OjUyOjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgdmlkZW9zaWduYWwgcGx1Z2luIHdpdGggdHdvIHBsdWdpbnMgdG8gYW5hbHlzZSB2aWRlbyBmcmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb3NpZ25hbC54bWw6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2FuYWx5c2UuYzogKGdzdF92aWRlb19hbmFseXNlX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19hbmFseXNlX3Bvc3RfbWVzc2FnZSksIChnc3RfdmlkZW9fYW5hbHlzZV80MjApLAoJICAoZ3N0X3ZpZGVvX2FuYWx5c2VfdHJhbnNmb3JtX2lwKSwgKGdzdF92aWRlb19hbmFseXNlX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9nZXRfcHJvcGVydHkpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfYmFzZV9pbml0KSwKCSAgKGdzdF92aWRlb19hbmFseXNlX2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2FuYWx5c2VfaW5pdCksCgkgIChnc3RfdmlkZW9fYW5hbHlzZV9nZXRfdHlwZSk6CgkgICogZ3N0L3ZpZGVvc2lnbmFsL2dzdHZpZGVvYW5hbHlzZS5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5jOiAoZ3N0X3ZpZGVvX2RldGVjdF9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3Bvc3RfbWVzc2FnZSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NhbGNfYnJpZ2h0bmVzcyksIChnc3RfdmlkZW9fZGV0ZWN0XzQyMCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X3RyYW5zZm9ybV9pcCksIChnc3RfdmlkZW9fZGV0ZWN0X3NldF9wcm9wZXJ0eSksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2dldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fZGV0ZWN0X2Jhc2VfaW5pdCksCgkgIChnc3RfdmlkZW9fZGV0ZWN0X2NsYXNzX2luaXQpLCAoZ3N0X3ZpZGVvX2RldGVjdF9pbml0KSwKCSAgKGdzdF92aWRlb19kZXRlY3RfZ2V0X3R5cGUpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb2RldGVjdC5oOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC92aWRlb3NpZ25hbC9nc3R2aWRlb3NpZ25hbC5oOgoJICBBZGRlZCB2aWRlb3NpZ25hbCBwbHVnaW4gd2l0aCB0d28gcGx1Z2lucyB0byBhbmFseXNlIHZpZGVvIGZyYW1lcy4KCSAgQWRkZWQgdmlkZW9hbmFseXNlIHRvIHJlcG9ydCBhYm91dCBicmlnaHRuZXNzIGFuZCB2YXJpYW5jZSBpbiB2aWRlbwoJICBmcmFtZXMuCgkgIEFkZGVkIHZpZGVvZGV0ZWN0IHRvIGRldGVjdCBwcmVkZWZpbmVkIHBhdHRlcm5zIGluIGEgdmlkZW8gc2lnbmFsLgoKMjAwNy0wNS0zMCAwOTozMDo1MiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy4qOiBNb3JlIHVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmludGVyZmFjZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnByZXJlcXVpc2l0ZXM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIE1vcmUgdXBkYXRlcy4KCjIwMDctMDUtMzAgMDk6MDg6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBVcGRhdGVzOyB1cGRhdGUgaW5zcGVjdCBpbmZvIGZvciBydHBtYW5hZ2VyID0+IGdzdHJ0cG1hbmFnZXIgcmVuYW1lLCBob3BlZnVsbHkgdGhhdCBtYWtlcyB0aGUgYnVpbGQgYm8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWR0c2RlYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzdHJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNlcGFjay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXJ0cG1hbmFnZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICBVcGRhdGVzOyB1cGRhdGUgaW5zcGVjdCBpbmZvIGZvciBydHBtYW5hZ2VyID0+IGdzdHJ0cG1hbmFnZXIgcmVuYW1lLAoJICBob3BlZnVsbHkgdGhhdCBtYWtlcyB0aGUgYnVpbGQgYm90cyBoYXBweSBhZ2Fpbi4KCjIwMDctMDUtMjggMTY6Mzc6NDcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBSZW5hbWUgZWxlbWVudHMgdG8gYXZvaWQgY29uZmxpY3Qgd2l0aCBmYXJzaWdodCBlbGVtZW50cyB3aXRoIHRoZSBzYW1lIG5hbWUuIEZpeGVzICM0MzA2NjQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLCAoY3JlYXRlX3JlY3ZfcnRjcCksCgkgIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLCAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzogKGNyZWF0ZV9zdHJlYW0pLAoJICAoZ3N0X3J0cF9jbGllbnRfcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGVhcl9wdF9tYXApLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6CgkgIFJlbmFtZSBlbGVtZW50cyB0byBhdm9pZCBjb25mbGljdCB3aXRoIGZhcnNpZ2h0IGVsZW1lbnRzIHdpdGggdGhlIHNhbWUKCSAgbmFtZS4gRml4ZXMgIzQzMDY2NC4KCjIwMDctMDUtMjQgMDg6MzU6MjMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay4qOiBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpICA8dnRvcnJpIGF0IHVuaXYtZXZyeSBmcj4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfcHJpbWFyeV9zdXJmYWNlKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3NpbmtfY2hlY2tfb2Zmc2NyZWVuX3N1cmZhY2UpLAoJICAoRW51bU1vZGVzQ2FsbGJhY2syKSwgKGdzdF9kaXJlY3RkcmF3X3NpbmtfZ2V0X2RkcmF3Y2FwcyksCgkgIChnc3RfZGlyZWN0ZHJhd19zaW5rX3N1cmZhY2VfY3JlYXRlKToKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBGaXggbW9yZSB3YXJuaW5ncyB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXICgjNDM5OTE0KS4KCjIwMDctMDUtMjMgMjI6NDQ6MTIgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5IGRvYyBhcyB0aGlzIHNpbmsgdXNlIHRoZSBtaXhlciBpbnRlcmZhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgUmVtb3ZlIGRpcmVjdHNvdW5kc2luayBwcm9wZXJ0eSBkb2MgYXMgdGhpcyBzaW5rIHVzZSB0aGUgbWl4ZXIKCSAgaW50ZXJmYWNlIG5vdy4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgQWRkIGludGVyZmFjZXMgaW1wbGVtZW50ZWQgYnkgV2luZG93cyBzaW5rcy4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBSZW1vdmUgZGlyZWN0c291bmRzaW5rIHByb3BlcnR5ICBhbmQgaW1wbGVtZW50IHRoZSBtaXhlciBpbnRlcmZhY2UuCgkgICogd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3c6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93LmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3cuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc2luay5jcHA6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93ZmFrZXNpbmsuaDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dmYWtlc3JjLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2RzaG93L2dzdGRzaG93aW50ZXJmYWNlLmNwcDoKCSAgKiBnc3QtbGlicy9nc3QvZHNob3cvZ3N0ZHNob3dpbnRlcmZhY2UuaDoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0ZHNob3cuZGVmOgoJICAqIHdpbjMyL3ZzNi9saWJnc3Rkc2hvdy5kc3A6CgkgIEFkZCBhIG5ldyBnc3QgbGlicmFyeSB3aGljaCBhbGxvdyB0byBjcmVhdGUgaW50ZXJuYWwgRGlyZWN0IFNob3cKCSAgZ3JhcGggKHBpcGVsaW5lcykgdG8gd3JhcCBXaW5kb3dzIHNvdXJjZXMsIGRlY29kZXJzIG9yIGVuY29kZXJzLgoJICBJdCBpbmNsdWRlcyBhIERpcmVjdFNob3cgZmFrZSBzb3VyY2UgYW5kIHNpbmsgYW5kIHV0aWxpdHkgZnVuY3Rpb25zLgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5jOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dhdWRpb3NyYy5oOgoJICAqIHN5cy9kc2hvd3NyY3dyYXBwZXIvZ3N0ZHNob3dzcmN3cmFwcGVyLmM6CgkgICogc3lzL2RzaG93c3Jjd3JhcHBlci9nc3Rkc2hvd3NyY3dyYXBwZXIuaDoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuYzoKCSAgKiBzeXMvZHNob3dzcmN3cmFwcGVyL2dzdGRzaG93dmlkZW9zcmMuaDoKCSAgKiB3aW4zMi92czYvbGliZHNob3dzcmN3cmFwcGVyLmRzcDoKCSAgQWRkIGEgbmV3IHBsdWdpbiB0byB3cmFwIERpcmVjdFNob3cgc291cmNlcyBvbiBXaW5kb3dzLgoJICBJdCBnZXRzIGRhdGEgZnJvbSBhbnkgd2ViY2FtLCBkdiBjYW0sIG1pY3JvLiBXZSBjb3VsZCBhZGQKCSAgdHYgdHVubmVyIGNhcmQgbGF0ZXIuCgoyMDA3LTA1LTIzIDE4OjAwOjE1ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogU2VwYXJhdGUgdGhlIGF1dGhvcnMgYnkgbmV3bGluZXMgaW5zdGVhZCBvZiBub3RoaW5nLiBGaXhlcyAjNDQwNzc0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnkgUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkb3QgZGU+OgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIFNlcGFyYXRlIHRoZSBhdXRob3JzIGJ5IG5ld2xpbmVzIGluc3RlYWQgb2Ygbm90aGluZy4gRml4ZXMgIzQ0MDc3NC4KCjIwMDctMDUtMjMgMTY6MTQ6MTMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcnRwbWFuYWdlci54bWw6IEFkZCBkb2MgeG1sIGZpbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1ydHBtYW5hZ2VyLnhtbDoKCSAgQWRkIGRvYyB4bWwgZmlsZS4KCjIwMDctMDUtMjMgMTM6MDg6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBEb2N1bWVudCBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NsZWFyX3B0X21hcCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2xlYXJfcHRfbWFwKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRjcF90aHJlYWQpLCAoZ3N0X3J0cF9zZXNzaW9uX2NsZWFyX3B0X21hcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5jOgoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpOgoJICBEb2N1bWVudCBzdHVmZi4KCSAgQWRkIGNsZWFyLXB0LW1hcCBhY3Rpb24gc2lnbmFsIHdoZXJlIG5lZWRlZC4KCjIwMDctMDUtMjIgMTE6MTQ6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRGVwZW5kIG9uIGdzdHJlYW1lci0wLjEwLjEyLjEuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERlcGVuZCBvbiBnc3RyZWFtZXItMC4xMC4xMi4xLgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsCgkgIGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSwgZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3Byb3BlcnR5LAoJICBwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaCAoYXVkaW9maWx0ZXIpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmMgKEFSR19OVU1fQkFORFMsCgkgIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19iYXNlX2luaXQsIGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19pbml0LAoJICBnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KToKCSAgVXNlIG5ldyBsb2NraW5nIG1hY3Jvcy4KCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYyAoYnB3c2luY19zZXRfY2Fwcyk6CgkgIEFkZCBmaXhtZS4KCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoU1BFQ1RSVU1fV0lORE9XX0JBU0UsCgkgIFNQRUNUUlVNX1dJTkRPV19MRU4sIGdzdF9zcGVjdHJ1bV9pbml0LCBnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5LAoJICBnc3Rfc3BlY3RydW1fZXZlbnQsIGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBVc2UgbmV3IGxvY2tpbmcgbWFjcm9zLiBUdXJuIHR3byBmaXhlZCB2YWx1ZXMgaW50byAjZGVmaW5lcy4KCjIwMDctMDUtMjIgMTE6MDM6MzAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06IEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgIEFsc28gbG9vayBmb3IgLm0gKG9iamVjdGl2ZWMpIGZpbGVzLgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBBZGQgZG9jdW1lbnRhdGlvbiBmb3IgZWxlbWVudCBhbmQgcHJvcGVydGllcy4KCjIwMDctMDUtMjEgMTQ6MDE6MTYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIENoYW5nZUxvZzogQ2hhbmdlTG9nIHN1cmdlcnkuIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sIF9Hc3RJaXJFcXVhbGl6ZXJCYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBDaGFuZ2VMb2c6CgkgIENoYW5nZUxvZyBzdXJnZXJ5LgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmMgKEFSR19CQU5EX1dJRFRILCBfZG9faW5pdCwgQVJHX0dBSU4sCgkgIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kLCBvYmplY3QsIF9Hc3RJaXJFcXVhbGl6ZXJCYW5kQ2xhc3MsCgkgIHBhcmVudF9jbGFzcywgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9zZXRfcHJvcGVydHksCgkgIGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCwgZ3N0X2lpcl9lcXVhbGl6ZXJfYmFuZF9nZXRfdHlwZSwKCSAgZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfZ2V0X2NoaWxkX2J5X2luZGV4LAoJICBnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2ludGVyZmFjZV9pbml0LCBzZXR1cF9maWx0ZXIsCgkgIGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMsIHBsdWdpbl9pbml0KToKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOgoJICBBZGQgZml4bWUgYW5kIGNvbW1lbnQgZm9yIGV4YW1wbGUuCgoyMDA3LTA1LTIxIDEyOjQzOjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYyAoZ3N0X3NwZWN0cnVtX3NldF9wcm9wZXJ0eSwgZ3N0X3NwZWN0cnVtX2V2ZW50LCBnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmMgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHksCgkgIGdzdF9zcGVjdHJ1bV9ldmVudCwgZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIFVzZSBsb2NrIHRvIHByb3RlY3QgZnJvbSBjb25jdXJyZW50IGFjY2Vzcy4KCjIwMDctMDUtMjEgMTE6Mzc6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgU3BlY2lmeSBhbmQgdXNlIHByb3BlcnRpZXMgYXMgdW5zaWduZWQgaW50IHRoYXQgYXJlIGFuIHVuc2lnbmVkIGludC4KCjIwMDctMDUtMjEgMTE6MTc6MjEgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuKjogRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZCBhbGxvdyB0byBzZXQgdGhlIGRpZmZlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgRml4dXAgZG9jcywgbWFrZSB0aGUgYml0cmF0ZSBwcm9wZXJ0eSBhbiBpbnQgYXMgaXQgc2hvdWxkIGJlIGFuZAoJICBhbGxvdyB0byBzZXQgdGhlIGRpZmZlcmVudCBleHRyYSBwcm9jZXNzaW5nIG1vZGVzIGluc3RlYWQgb2Ygb25seQoJICBhbGxvd2luZyBub25lIGFuZCB0aGUgZGVmYXVsdCBvbmUuCgoyMDA3LTA1LTIwIDIxOjMxOjU4ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IEFkZCBtaXNzaW5nIGF1ZGlvY29udmVydHMgaW4gdGhlIGV4YW1wbGUgcGlwZWxpbmVzIG9mIHdhdnBhY2tlbmMuIEFzIHRoZSB3YXZwYWNrIHN0dWZmIG4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOgoJICBBZGQgbWlzc2luZyBhdWRpb2NvbnZlcnRzIGluIHRoZSBleGFtcGxlIHBpcGVsaW5lcyBvZiB3YXZwYWNrZW5jLiBBcwoJICB0aGUgd2F2cGFjayBzdHVmZiBub3cgbmVlZHMgaW5wdXQgd2l0aCAzMiBiaXQgd2lkdGggKGFuZCByYW5kb20gZGVwdGgpCgkgIHRoaXMgaXMgbmVlZGVkIG5vdy4gVGhlIGV4YW1wbGUgcGlwZWxpbmVzIGZvciB0aGUgcGFyc2VyIGFuZCBkZWNvZGVyCgkgIGFyZSBzdGlsbCBmaW5lLgoKMjAwNy0wNS0yMCAxNToxMjozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBkb2NzL3BsdWdpbnMvOiBGaXggZG9jcyBidWlsZCBhbmQgaGllcmFyY2h5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgRml4IGRvY3MgYnVpbGQgYW5kIGhpZXJhcmNoeS4KCjIwMDctMDUtMjAgMTQ6NTk6NDYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7IGRlY2xhcmUgYW5vdGhlciAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuYzogKGdzdF9kZHJhd3N1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19idWZmZXJfYWxsb2MpLAoJICAoZ3N0X2RpcmVjdGRyYXdfc2lua19nZXRfZGRyYXdjYXBzKSwKCSAgKGdzdF9kaXJlY3RkcmF3X3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBCdW5jaCBvZiBzbWFsbCBmaXhlczogcmVtb3ZlIHN0YXRpYyBmdW5jdGlvbiB0aGF0IGRvZXNuJ3QgZXhpc3Q7CgkgIGRlY2xhcmUgYW5vdGhlciBvbmUgdGhhdCBkb2VzOyBwcmludGYgZm9ybWF0IGZpeDsgdXNlIHJpZ2h0IG1hY3JvCgkgIHdoZW4gc3BlY2lmeWluZyBkZWJ1ZyBjYXRlZ29yeTsgcmVtb3ZlIGEgYnVuY2ggb2YgdW51c2VkIHZhcmlhYmxlczsKCSAgI2lmIDAgb3V0IGFuIHVudXNlZCBjaHVuayBvZiBjb2RlIChwYXJ0aWFsbHkgZml4ZXMgIzQzOTkxNCkuCgoyMDA3LTA1LTIwIDE0OjE0OjQ5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0LzogUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6IChnc3Rfc3dpdGNoX2NoYWluKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcyAoIzQzOTkxMCwgIzQzOTkxMSkuCgoyMDA3LTA1LTE5IDEwOjA2OjAyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IFJlbW92ZSBiaXRzIGZvciBkZWludGVybGVhdmUgY2hlY2sgd2hpY2ggaXNuJ3QgaW4gQ1ZTIHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgIFJlbW92ZSBiaXRzIGZvciBkZWludGVybGVhdmUgY2hlY2sgd2hpY2ggaXNuJ3QgaW4gQ1ZTIHlldC4KCjIwMDctMDUtMTkgMTA6MDE6NDUgKzAwMDAgIFJlbsOpIFN0YWRsZXIgPG1haWxAcmVuZXN0YWRsZXIuZGU+CgoJICBBZGQgcmVwbGF5Z2FpbiBwbGF5YmFjayBlbGVtZW50cyAoIzQxMjcxMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUmVuw6kgU3RhZGxlciA8bWFpbCBhdCByZW5lc3RhZGxlciBkZT4KCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2FuYWx5c2lzLmM6IChnc3RfcmdfYW5hbHlzaXNfY2xhc3NfaW5pdCksCgkgIChnc3RfcmdfYW5hbHlzaXNfc3RhcnQpLCAoZ3N0X3JnX2FuYWx5c2lzX3NldF9jYXBzKSwKCSAgKGdzdF9yZ19hbmFseXNpc190cmFuc2Zvcm1faXApLCAoZ3N0X3JnX2FuYWx5c2lzX2V2ZW50KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdG9wKSwgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfdGFncyksCgkgIChnc3RfcmdfYW5hbHlzaXNfaGFuZGxlX2VvcyksIChnc3RfcmdfYW5hbHlzaXNfdHJhY2tfcmVzdWx0KSwKCSAgKGdzdF9yZ19hbmFseXNpc19hbGJ1bV9yZXN1bHQpOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9nc3RyZ2xpbWl0ZXIuYzogKGdzdF9yZ19saW1pdGVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcmdfbGltaXRlcl9jbGFzc19pbml0KSwgKGdzdF9yZ19saW1pdGVyX2luaXQpLAoJICAoZ3N0X3JnX2xpbWl0ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ19saW1pdGVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfcmdfbGltaXRlcl90cmFuc2Zvcm1faXApOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnbGltaXRlci5oOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmM6IChnc3Rfcmdfdm9sdW1lX2Jhc2VfaW5pdCksCgkgIChnc3Rfcmdfdm9sdW1lX2NsYXNzX2luaXQpLCAoZ3N0X3JnX3ZvbHVtZV9pbml0KSwKCSAgKGdzdF9yZ192b2x1bWVfc2V0X3Byb3BlcnR5KSwgKGdzdF9yZ192b2x1bWVfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ192b2x1bWVfZGlzcG9zZSksIChnc3Rfcmdfdm9sdW1lX2NoYW5nZV9zdGF0ZSksCgkgIChnc3Rfcmdfdm9sdW1lX3NpbmtfZXZlbnQpLCAoZ3N0X3JnX3ZvbHVtZV90YWdfZXZlbnQpLAoJICAoZ3N0X3JnX3ZvbHVtZV9yZXNldCksIChnc3Rfcmdfdm9sdW1lX3VwZGF0ZV9nYWluKSwKCSAgKGdzdF9yZ192b2x1bWVfZGV0ZXJtaW5lX2dhaW4pOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJndm9sdW1lLmg6CgkgICogZ3N0L3JlcGxheWdhaW4vcmVwbGF5Z2Fpbi5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9yZXBsYXlnYWluL3JlcGxheWdhaW4uaDoKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChzZW5kX2Vvc19ldmVudCksCgkgIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdsaW1pdGVyLmM6IChzZXR1cF9yZ2xpbWl0ZXIpLAoJICAoY2xlYW51cF9yZ2xpbWl0ZXIpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLCAoY3JlYXRlX3Rlc3RfYnVmZmVyKSwKCSAgKHZlcmlmeV90ZXN0X2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksIChyZ2xpbWl0ZXJfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmd2b2x1bWUuYzogKGV2ZW50X2Z1bmMpLCAoc2V0dXBfcmd2b2x1bWUpLAoJICAoY2xlYW51cF9yZ3ZvbHVtZSksIChzZXRfcGxheWluZ19zdGF0ZSksIChzZXRfbnVsbF9zdGF0ZSksCgkgIChzZW5kX2Vvc19ldmVudCksIChzZW5kX3RhZ19ldmVudCksICh0ZXN0X2J1ZmZlcl9uZXcpLAoJICAoZmFpbF91bmxlc3NfdGFyZ2V0X2dhaW4pLCAoZmFpbF91bmxlc3NfcmVzdWx0X2dhaW4pLAoJICAoZmFpbF91bmxlc3NfZ2FpbiksIChHU1RfU1RBUlRfVEVTVCksIChyZ3ZvbHVtZV9zdWl0ZSksIChtYWluKToKCSAgQWRkIHJlcGxheWdhaW4gcGxheWJhY2sgZWxlbWVudHMgKCM0MTI3MTApLgoKMjAwNy0wNS0xOCAxNjo0NTo1NCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlCgoyMDA3LTA1LTE4IDEyOjM5OjQ5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogVXBkYXRlIHRoZSBjYWNoZWQgY2FwcyBhZnRlciBvcGVuaW5nIHRoZSBkaXNwbGF5IHNvIHRoYXQgd2UgcmVwb3J0IG9ubHkgdGhlIHN1cHBvcnRlZCBjYXBzIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIFVwZGF0ZSB0aGUgY2FjaGVkIGNhcHMgYWZ0ZXIgb3BlbmluZyB0aGUgZGlzcGxheSBzbyB0aGF0IHdlIHJlcG9ydAoJICBvbmx5IHRoZSBzdXBwb3J0ZWQgY2FwcyBmb3JtYXRzLCBub3QganVzdCB0aGUgdGVtcGxhdGUgY2Fwcy4KCSAgRml4ZXM6ICM0Mzk0MDUKCjIwMDctMDUtMTggMDk6MzU6MjggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jOgoJICBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYyAoZ3N0X2FtcndiZGVjX2RlYnVnLCBHU1RfQ0FUX0RFRkFVTFQsIF9kb19pbml0LCBnc3RfYW1yd2JkZWNfYmFzZV9pbml0LCBnc3RfYW1yd2JkZWNfY2xhc3NfaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmMgKGdzdF9hbXJ3YmRlY19kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndiZGVjX2Jhc2VfaW5pdCwgZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jIChnc3RfYW1yd2JlbmNfZGVidWcsIEdTVF9DQVRfREVGQVVMVCwKCSAgX2RvX2luaXQsIGdzdF9hbXJ3YmVuY19iYXNlX2luaXQsIGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KToKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5jIChnc3RfYW1yd2JwYXJzZV9kZWJ1ZywgR1NUX0NBVF9ERUZBVUxULAoJICBfZG9faW5pdCwgZ3N0X2FtcndicGFyc2VfYmFzZV9pbml0LCBnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgRmlyc3Qgcm91bmQgb2YgY2xlYW51cHMsIHRoYXQgdXNlIEdTVF9CT0lMRVJQTEFURSwgR1NUX0VMRU1FTlRfREVUQUlMUywKCSAgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kIGFkZCBsb2ctY2F0ZWdvcnkuCgoyMDA3LTA1LTE3IDEwOjU5OjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay4qOiBSZW1vdmUgdGhlIGV2ZW50LWxvb3AtaW4tc2VwYXJhdGUtdGhyZWFkIG1vZGlmaWNhdGlvbnMsIGJlY2F1c2UgTWFjT1NYIGlzICQjQCgqJSQjICEgRm9yLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIFJlbW92ZSB0aGUgZXZlbnQtbG9vcC1pbi1zZXBhcmF0ZS10aHJlYWQgbW9kaWZpY2F0aW9ucywgYmVjYXVzZSBNYWNPU1gKCSAgaXMgJCNAKColJCMgISBGb3IgdGhvc2Ugd29uZGVyaW5nLCB0aGUgZXZlbnQgaGFuZGxpbmcgbmVlZHMgdG8gYmUgZG9uZQoJICBpbiB0aGUgbWFpbiB0aHJlYWQgYWZ0ZXIgYWxsLi4KCjIwMDctMDUtMTcgMTA6MDg6MjQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR18wLCBBUkdfTkJfU09VUkNFUywgQVJHX0FDVElWRV9TT1VSQ0UsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR18wLCBBUkdfTkJfU09VUkNFUywgQVJHX0FDVElWRV9TT1VSQ0UsCgkgIEFSR19TVEFSVF9WQUxVRSwgQVJHX1NUT1BfVkFMVUUsIEFSR19MQVNUX1RTLCBBUkdfUVVFVUVfQlVGRkVSUywKCSAgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLCBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwKCSAgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksCgkgIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldGNhcHMsIGdzdF9zd2l0Y2hfZGlzcG9zZSwKCSAgdW5yZWZfYnVmZmVyLCB1bnJlZl9idWZmZXJzX2FuZF9kZXN0cm95X2xpc3QsIGdzdF9zd2l0Y2hfaW5pdCwKCSAgZ3N0X3N3aXRjaF9iYXNlX2luaXQsIGdzdF9zd2l0Y2hfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guaCAobmVlZF90b19zZW5kX25ld3NlZ21lbnQsIHF1ZXVlX2J1ZmZlcnMsCgkgIHN0b3BfdmFsdWUsIHN0YXJ0X3ZhbHVlLCBjdXJyZW50X3N0YXJ0LCBsYXN0X3RzLCBzdG9yZWRfYnVmZmVycyk6CgkgIEFkZCBoYW5kbGluZyBvZiBhcHBsaWNhdGlvbiBwcm92aWRlZCBzdG9wIGFuZCBzdGFydCB2YWx1ZXMsIGFsbG93aW5nCgkgIEEvViBzeW5jIGFjcm9zcyAyIHN3aXRjaCBlbGVtZW50cy4KCjIwMDctMDUtMTcgMDk6NDE6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLio6IEZpeCBhIHN0dXBpZCAjaWYgdnMgI2lmZGVmIGJ1Zy4gU2hvdWxkIHVzZSB0aGUgcHJvcGVyIGNvbG9yc3BhY2Ugbm93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggYSBzdHVwaWQgI2lmIHZzICNpZmRlZiBidWcuIFNob3VsZCB1c2UgdGhlIHByb3BlciBjb2xvcnNwYWNlIG5vdy4KCSAgVXNlIGEgc2VwYXJhdGUgdGhyZWFkL3Rhc2sgZm9yIHRoZSBjb2NvYSBldmVudF9sb29wLCBlbHNlIGl0IHdvdWxkbid0CgkgIHN0b3AuCgoyMDA3LTA1LTE2IDE3OjE0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBEb24ndCBjcmFzaCB3aGVuIHdlIGdldCBhIGJ1ZmZlciBhbmQgb3VyIGlucHV0IGNhcHMgaGF2ZW4ndCBiZWVuIHNldCB5ZXQ7IGFsc28sIGRvbid0IGxlYWsgYWxsIHRoZSBpbnB1dCBiLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2NoYWluKSwKCSAgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19jaGFpbik6CgkgIERvbid0IGNyYXNoIHdoZW4gd2UgZ2V0IGEgYnVmZmVyIGFuZCBvdXIgaW5wdXQgY2FwcyBoYXZlbid0IGJlZW4gc2V0CgkgIHlldDsgYWxzbywgZG9uJ3QgbGVhayBhbGwgdGhlIGlucHV0IGJ1ZmZlcnMgKHJlYWxhdWRpb2RlYyBvbmx5KS4KCjIwMDctMDUtMTYgMTM6NTA6NTEgKzAwMDAgIFN0YW5pc2xhdiBCcmFiZWMgPHNicmFiZWNAc3VzZS5jej4KCgkgIFVzZSBleHRlcm5hbCBzaGFyZWQgbGliYW1yd2IuIEZpeGVzICM0MjM3NDEgKHdpdGggbG90cyBvZiBjbGVhbnVwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBhdGNoIGJ5OiBTdGFuaXNsYXYgQnJhYmVjIDxzYnJhYmVjQHN1c2UuY3o+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9SRUFETUU6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmggKF9fR1NUX0FNUldCREVDX0hfXyk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmggKF9fR1NUX0FNUldCRU5DX0hfXyk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oIChfX0dTVF9BTVJXQlBBUlNFX0hfXyk6CgkgICogZ3N0LWxpYnMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZXh0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9leHQvYW1yd2IvUkVBRE1FOgoJICBVc2UgZXh0ZXJuYWwgc2hhcmVkIGxpYmFtcndiLiBGaXhlcyAjNDIzNzQxICh3aXRoIGxvdHMgb2YgY2xlYW51cCkuCgoyMDA3LTA1LTE1IDIxOjIzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQveDI2NC9nc3R4MjY0ZW5jLmMgKGdzdF94MjY0X2VuY19pbml0X2VuY29kZXIpOiBUaGlzIG5lZWRzIGEgdmVyc2lvbiBjaGVjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5jIChnc3RfeDI2NF9lbmNfaW5pdF9lbmNvZGVyKToKCSAgVGhpcyBuZWVkcyBhIHZlcnNpb24gY2hlY2suCgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICBGaXggdGhlIGJ1aWxkLgoKMjAwNy0wNS0xNSAxNzoyMjo1OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFkZCBESVJFQ1REUkFXX0NGTEFHUyBhbmQgRElSRUNUU09VTkRfQ0ZMQUdTIHRvIE1ha2VmaWxlLmFtOyBzYXZlIGFuZCByZXN0b3JlIHRoZSB2YXJpb3VzIGZsYWdzIGluIHRoZSBkaXJlY3RkcmF3L2Rpci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICBBZGQgRElSRUNURFJBV19DRkxBR1MgYW5kIERJUkVDVFNPVU5EX0NGTEFHUyB0byBNYWtlZmlsZS5hbTsgc2F2ZQoJICBhbmQgcmVzdG9yZSB0aGUgdmFyaW91cyBmbGFncyBpbiB0aGUgZGlyZWN0ZHJhdy9kaXJlY3Rzb3VuZAoJICBkZXRlY3Rpb24gc2VjdGlvbi4gQXBwYXJlbnRseSBpbXByb3ZlcyBjcm9zcy1jb21waWxpbmcgZm9yIHdpbjMyCgkgIHdpdGggbWluZ3czMiB1bmRlciBzb21lIGNpcmN1bXN0YW5jZXMgKCM0Mzc1MzkpLgoKMjAwNy0wNS0xNSAxMzoyOTo1MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguYzogV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2UgYWx3YXlzIHVzZSBmaXhlZCBjYXBzLgoKMjAwNy0wNS0xNSAwMzo0NTo0NSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogZ19oYXNoX3RhYmxlX3JlbW92ZV9hbGwoKSBvbmx5IGV4aXN0cyBpbiAyLjEyLiAgV29yayBhcm91bmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOgoJICBnX2hhc2hfdGFibGVfcmVtb3ZlX2FsbCgpIG9ubHkgZXhpc3RzIGluIDIuMTIuICBXb3JrIGFyb3VuZC4KCjIwMDctMDUtMTUgMDI6NTQ6NTIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGEgQmF5ZXItdG8tUkdCIGNvbnZlcnRlci4gIFlvdSBrbm93IHlvdSB3YW50IG9uZSwgdWgtaHVoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2JheWVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9iYXllci9nc3RiYXllci5jOgoJICAqIGdzdC9iYXllci9nc3RiYXllcjJyZ2IuYzoKCSAgQWRkIGEgQmF5ZXItdG8tUkdCIGNvbnZlcnRlci4gIFlvdSBrbm93IHlvdSB3YW50IG9uZSwgdWgtaHVoLgoJICBQYXJ0aWFsIGZpeCBmb3IgIzMxNDE2MC4KCjIwMDctMDUtMTQgMTg6MDM6NTggKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmMgKEFSR19BQ1RJVkVfU09VUkNFLCBBUkdfU1RPUF9WQUxVRSwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoQVJHX0FDVElWRV9TT1VSQ0UsIEFSR19TVE9QX1ZBTFVFLAoJICBBUkdfTEFTVF9UUywgcGFyZW50X2NsYXNzLCBnc3Rfc3dpdGNoX3JlbGVhc2VfcGFkLAoJICBnc3Rfc3dpdGNoX3JlcXVlc3RfbmV3X3BhZCwgZ3N0X3N3aXRjaF9jaGFpbiwgZ3N0X3N3aXRjaF9ldmVudCwKCSAgZ3N0X3N3aXRjaF9zZXRfcHJvcGVydHksIGdzdF9zd2l0Y2hfZ2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldGNhcHMsCgkgIGdzdF9zd2l0Y2hfZGlzcG9zZSwgZ3N0X3N3aXRjaF9pbml0LCBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKHByZXZpb3VzX3NpbmtwYWQsIG5iX3NpbmtwYWRzLCBzdG9wX3ZhbHVlLAoJICBjdXJyZW50X3N0YXJ0LCBsYXN0X3RzKToKCSAgQWxsb3cgYXBwbGljYXRpb24gdG8gcHJvdmlkZSBhIHN0b3AgdGltZXN0YW1wLCBzbyBhIG5ldyBzZWdtZW50CgkgIHVwZGF0ZSBjYW4gYmUgc2VudCBiZWZvcmUgc3dpdGNoaW5nLgoKMjAwNy0wNS0xNCAxNToyODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGaXggbGVhayB3aGVuIGZsdXNoaW5nLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xlYXJfcHRfbWFwKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICBBZGQgY2xlYXItcHQtbWFwIHNpZ25hbC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdG9wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9zaW5rX2V2ZW50KSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKToKCSAgSW5pdCBjbG9jay1yYXRlIHRvIC0xIHRvIG1hcmsgdW5rbm93IGNsb2NrIHJhdGUuCgkgIEZpeCBmbHVzaGluZy4KCjIwMDctMDUtMTMgMTk6NTc6NDUgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOiBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlcGxheWdhaW4vcmdhbmFseXNpcy5jOgoJICBGaXggd3JvbmcgaWZkZWYgZm9yIHZpc3VhbCBDKysuICBGaXhlczogIzQzNzQwMy4KCSAgQnkgQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPi4KCjIwMDctMDUtMTMgMDc6MDg6MDYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTWFrZSByZWRpcmVjdGlvbiB0aGUgZGVmYXVsdCBiZWhhdmlvci4gIEZpeGVzICM0MTM4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIE1ha2UgcmVkaXJlY3Rpb24gdGhlIGRlZmF1bHQgYmVoYXZpb3IuICBGaXhlcyAjNDEzODE4LgoKMjAwNy0wNS0xMSAxMToyMDozMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBsYXRlc3QgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbgoKMjAwNy0wNS0xMCAxNDowMjowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9tb3ZlX3N0cmVhbSwgZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIsIGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQsIGdzdF9xdGRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdXhfbW92ZV9zdHJlYW0sCgkgIGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyLCBnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50LAoJICBnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlLCBnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzLAoJICBnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllLCBnc3RfcXRkZW11eF9sb29wLAoJICBxdGRlbXV4X3BhcnNlX3NlZ21lbnRzLCBxdGRlbXV4X3BhcnNlX3RyYWspOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYyAocnRwX3Nlc3Npb25fZ2V0X2JhbmR3aWR0aCwKCSAgcnRwX3Nlc3Npb25fZ2V0X3J0Y3BfYmFuZHdpZHRoLCBydHBfc2Vzc2lvbl9nZXRfY25hbWUsCgkgIHJ0cF9zZXNzaW9uX2dldF9uYW1lLCBydHBfc2Vzc2lvbl9nZXRfZW1haWwsIHJ0cF9zZXNzaW9uX2dldF9waG9uZSwKCSAgcnRwX3Nlc3Npb25fZ2V0X2xvY2F0aW9uLCBydHBfc2Vzc2lvbl9nZXRfdG9vbCwKCSAgcnRwX3Nlc3Npb25fcHJvY2Vzc19ieWUsIHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmMgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHAsCgkgIHJ0cF9zb3VyY2Vfc2VuZF9ydHAsIHJ0cF9zb3VyY2VfcHJvY2Vzc19zciwgcnRwX3NvdXJjZV9wcm9jZXNzX3JiKToKCSAgTW9yZSBmb3JtYXQgYXJnIGZpeGluZyAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCSAgKiBnc3Qvc3dpdGNoL01ha2VmaWxlLmFtOgoJICBBZGQgcmVxdWlyZSBsaWJyYXJpZXMoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KS4KCjIwMDctMDUtMTAgMTI6Mzg6NDkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzoKCSAgZ3N0L3J0cG1hbmFnZXIvYXN5bmNfaml0dGVyX3F1ZXVlLmMgKHRhaWxfYnVmZmVyX2R1cmF0aW9uLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmLCBhc3luY19qaXR0ZXJfcXVldWVfcmVmX3VubG9ja2VkLCBhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jICh0YWlsX2J1ZmZlcl9kdXJhdGlvbiwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZiwgYXN5bmNfaml0dGVyX3F1ZXVlX3JlZl91bmxvY2tlZCwKCSAgYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5yZWZfYW5kX3VubG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3VucmVmLAoJICBhc3luY19qaXR0ZXJfcXVldWVfbG9jaywgYXN5bmNfaml0dGVyX3F1ZXVlX3B1c2gsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWQsCgkgIGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfaW50ZXJuX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfcG9wLAoJICBhc3luY19qaXR0ZXJfcXVldWVfcG9wX3VubG9ja2VkLCBhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfc2V0X2ZsdXNoaW5nX3VubG9ja2VkLAoJICBhc3luY19qaXR0ZXJfcXVldWVfdW5zZXRfZmx1c2hpbmdfdW5sb2NrZWQpOgoJICBGb3JtYXQgYXJnIGZpeCAoc3BvdHRlZCBieSBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+KQoKMjAwNy0wNS0xMCAwNzo0MTo0NyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgY29tbW9uL200L2dzdC14MTEubTQ6IFJlc3RvcmUgQ0ZMQUdTIGFuZCBMSUJTLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb21tb24vbTQvZ3N0LXgxMS5tNDoKCSAgUmVzdG9yZSBDRkxBR1MgYW5kIExJQlMuCgkgICogY29uZmlndXJlLmFjOgoJICBSZXZlcnQgcHJldmlvdXMgcGF0Y2guCgoyMDA3LTA1LTEwIDA2OjM1OjMxICswMDAwICBBbGkgU2FiaWwgPGFsaS5zYWJpbEBnbWFpbC5jb20+CgoJICBjb25maWd1cmUuYWM6IFNhdmUgYW5kIHJlc3RvcmUgQ0ZMQUdTIGZvciBPcGVuR0wgY2hlY2suIEZpeGVzICM0MzcyNjAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQWxpIFNhYmlsIDxhbGkuc2FiaWxAZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU2F2ZSBhbmQgcmVzdG9yZSBDRkxBR1MgZm9yIE9wZW5HTCBjaGVjay4gRml4ZXMgIzQzNzI2MC4KCjIwMDctMDUtMDkgMjA6MDE6MjEgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOiBBZGQgZGlyZWN0cmF3IGFuZCBkaXJlY3Rzb3VuZCBzaW5rcyBwcm9wZXJ0aWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgQWRkIGRpcmVjdHJhdyBhbmQgZGlyZWN0c291bmQgc2lua3MgcHJvcGVydGllcy4KCjIwMDctMDUtMDkgMTc6NTg6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGhvcGVmdWxseSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoaG9wZWZ1bGx5KS4KCjIwMDctMDUtMDkgMTE6MjQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogUGFzcyBxdWVyaWVzIHVwc3RyZWFtLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSk6CgkgIFBhc3MgcXVlcmllcyB1cHN0cmVhbS4KCjIwMDctMDUtMDYgMTU6MjU6MDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcmVhbC86IFVzZSBHTW9kdWxlIGluc3RlYWQgb2YgdXNpbmcgZGxzeW0oKSBkaXJlY3RseS4gRml4ZXMgIzQzMDU5OC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5oOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5oOgoJICBVc2UgR01vZHVsZSBpbnN0ZWFkIG9mIHVzaW5nIGRsc3ltKCkgZGlyZWN0bHkuIEZpeGVzICM0MzA1OTguCgoyMDA3LTA1LTA0IDIxOjAyOjU4ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jcyBmb3IgV2luZG93cyBzaW5rcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCBkb2NzIGZvciBXaW5kb3dzIHNpbmtzLgoKMjAwNy0wNS0wNCAxNzoyMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiBGaXggZXZlbnQgaGFuZGxpbmcgYSBiaXQgYnkgcmVwbGFjaW5nIGNvbXBsZXRlbHkgZHViaW91cyBjb2RlIHdyaXR0ZW4gYnkgc29tZW9uZSBlbHNlIHdpdGggY29tcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX3NyY19ldmVudCksIChzcGVlZF9zaW5rX2V2ZW50KSwKCSAgKHNwZWVkX2NoYWluKSwgKHNwZWVkX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBldmVudCBoYW5kbGluZyBhIGJpdCBieSByZXBsYWNpbmcgY29tcGxldGVseSBkdWJpb3VzIGNvZGUKCSAgd3JpdHRlbiBieSBzb21lb25lIGVsc2Ugd2l0aCBjb21wbGV0ZWx5IGR1YmlvdXMgY29kZSB3cml0dGVuCgkgIGJ5IG1lLiBTaG91bGQgYXQgbGVhc3QgZml4ICM0MTIwNzcgdGhvdWdoLgoKMjAwNy0wNS0wNCAxNjoxMTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiBBZGQgZGVidWcgY2F0ZWdvcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfKigpIHV0aWxpdHkgZnVuY3Rpb25zOyB1c2UgZ3N0X3V0aWxfc2NhbGUqKCk7IGFkZCBndC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzogKHNwZWVkX3NyY19xdWVyeSksIChzcGVlZF9jaGFpbiksCgkgIChwbHVnaW5faW5pdCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeTsgdXNlIGdzdF9wYWRfcXVlcnlfcGVlcl8qKCkgdXRpbGl0eSBmdW5jdGlvbnM7CgkgIHVzZSBnc3RfdXRpbF9zY2FsZSooKTsgYWRkIGd0ay1kb2MgYmx1cmIuCgoyMDA3LTA1LTA0IDEyOjMyOjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IEFkZCBzb21lIGRlYnVnIGluZm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3F1ZXJ5KToKCSAgQWRkIHNvbWUgZGVidWcgaW5mby4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKToKCSAgU3RvcmUgcmVhbCB1c2VyIG5hbWUgaW4gdGhlIHNlc3Npb24uCgoyMDA3LTA1LTAzIDE2OjQ5OjA1ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZXhhbXBsZXMvc3dpdGNoL3N3aXRjaGVyLmMgKGxvb3AsIG15X2J1c19jYWxsYmFjaywgc3dpdGNoX3RpbWVyLCBsYXN0X21lc3NhZ2VfcmVjZWl2ZWQsIG1haW4pOiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9zd2l0Y2gvc3dpdGNoZXIuYyAobG9vcCwgbXlfYnVzX2NhbGxiYWNrLCBzd2l0Y2hfdGltZXIsCgkgIGxhc3RfbWVzc2FnZV9yZWNlaXZlZCwgbWFpbik6CgkgICogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYyAoR1NUX0NBVF9ERUZBVUxULCBnc3Rfc3dpdGNoX2RldGFpbHMsCgkgIGdzdF9zd2l0Y2hfc3JjX2ZhY3RvcnksIHBhcmVudF9jbGFzcywgZ3N0X3N3aXRjaF9yZWxlYXNlX3BhZCwKCSAgZ3N0X3N3aXRjaF9yZXF1ZXN0X25ld19wYWQsIGdzdF9zd2l0Y2hfY2hhaW4sIGdzdF9zd2l0Y2hfZXZlbnQsCgkgIGdzdF9zd2l0Y2hfc2V0X3Byb3BlcnR5LCBnc3Rfc3dpdGNoX2dldF9wcm9wZXJ0eSwKCSAgZ3N0X3N3aXRjaF9nZXRfbGlua2VkX3BhZCwgZ3N0X3N3aXRjaF9nZXRjYXBzLAoJICBnc3Rfc3dpdGNoX2J1ZmZlcmFsbG9jLCBnc3Rfc3dpdGNoX2dldF9saW5rZWRfcGFkcywKCSAgZ3N0X3N3aXRjaF9kaXNwb3NlLCBnc3Rfc3dpdGNoX2luaXQsIGdzdF9zd2l0Y2hfYmFzZV9pbml0LAoJICBnc3Rfc3dpdGNoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmggKEdzdFN3aXRjaCwgR3N0U3dpdGNoQ2xhc3MsIF9Hc3RTd2l0Y2gsCgkgIGVsZW1lbnQsIGFjdGl2ZV9zaW5rcGFkLCBzcmNwYWQsIG5iX3NpbmtwYWRzLCBuZXdzZWdtZW50X2V2ZW50cywKCSAgbmVlZF90b19zZW5kX25ld3NlZ21lbnQpOgoJICBQb3J0IHN3aXRjaCBlbGVtZW50IGFuZCBleGFtcGxlIHByb2dyYW0gdG8gMC4xMC4KCjIwMDctMDUtMDIgMTg6MzE6MTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogQ2FsbCBiaW5kdGV4dGRvbWFpbigpIHRvIGdldCBsb2NhbGl6ZWQgc3RyaW5ncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICBDYWxsIGJpbmR0ZXh0ZG9tYWluKCkgdG8gZ2V0IGxvY2FsaXplZCBzdHJpbmdzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9jaGFpbik6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEhhbmRsZSBESVNDT05UIGJ1ZmZlcnMgYnkgY29ycmVjdGx5IHNldHRpbmcgdGhlIERJU0NPTlQgZmxhZwoJICBvbiBvdXRnb2luZyBidWZmZXJzIHdoZW4gbmVjZXNzYXJ5LgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpCgkgIFNlbmQgbmV3c2VnbWVudCBmcm9tIHRoZSBzdHJlYW1pbmcgdGhyZWFkLgoKMjAwNy0wNS0wMiAxNjo1ODowNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IFJlbW92ZSBvbGQgd29ya2Fyb3VuZCB0aGF0IHdhcyBuZWVkZWQgd2hlbiBzZWVraW5nIGFmdGVyIHRoZSBsYXN0IHNhbXBsZS4gV2l0aCB0aGUgZml4Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpOgoJICBSZW1vdmUgb2xkIHdvcmthcm91bmQgdGhhdCB3YXMgbmVlZGVkIHdoZW4gc2Vla2luZyBhZnRlciB0aGUgbGFzdAoJICBzYW1wbGUuIFdpdGggdGhlIGZpeGVkIGVycm9yIGhhbmRsaW5nIHRoaXMgd29ya3Mgbm93IGFzIGV4cGVjdGVkCgkgIHdpdGhvdXQgcHVzaGluZyB0aGUgbGFzdCBzYW1wbGUgYWx0aG91Z2ggaXQgd2Fzbid0IHJlcXVlc3RlZC4KCjIwMDctMDUtMDIgMTY6NDU6NDMgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBIYW5kbGUgc2VnbWVudCBzZWVrcyBpbiB0aGUgc2VlayBldmVudCBoYW5kbGVyLCBjb3JyZWN0bHkgd29yayB3aXRoIHN0b3AgcG9zaXRpb24gPT0gLS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KToKCSAgSGFuZGxlIHNlZ21lbnQgc2Vla3MgaW4gdGhlIHNlZWsgZXZlbnQgaGFuZGxlciwgY29ycmVjdGx5IHdvcmsgd2l0aAoJICBzdG9wIHBvc2l0aW9uID09IC0xIGFuZCBpbnN0ZWFkIG9mIHN0b3BwaW5nIHRoZSB0YXNrIG9uIHNlZWsganVzdAoJICBwYXVzZSBpdC4KCjIwMDctMDUtMDIgMTY6MTk6NTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBBZGQgaGFuZGxpbmcgZm9yIHNlZ21lbnQgc2Vla3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCk6CgkgIEFkZCBoYW5kbGluZyBmb3Igc2VnbWVudCBzZWVrcy4KCjIwMDctMDUtMDIgMTU6MTM6MDQgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0IHdhcyBlYXN5IHRvIGdldCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1bGxfYnVmZmVyKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2hhaW4pOgoJICBDb3JyZWN0bHkgaGFuZGxlIGVycm9ycywgZXNwZWNpYWxseSBpbiB0aGUgbG9vcCBmdW5jdGlvbi4gQmVmb3JlIGl0CgkgIHdhcyBlYXN5IHRvIGdldCB0aGUgdGFzayBwYXVzZWQgYnV0IG5vIGVycm9yIGJlaW5nIHBvc3RlZCBvbiB0aGUgYnVzLgoKMjAwNy0wNC0zMCAxNTozOTowOSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYwoKMjAwNy0wNC0zMCAxMzo0MTozMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5jOiBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKHNpZ25hbF93YWl0aW5nX3RocmVhZHMpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3BvcF9pbnRlcm5fdW5sb2NrZWQpOgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgdGhlIGJ1ZmZlciB1bmRlcnJ1bnMgYW5kIGRvZXMgbm90IGJsb2NrLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3ApLCAoY3JlYXRlX3NlbmRfcnRwKSwgKGNyZWF0ZV9ydGNwKSwKCSAgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgIFJlbmFtZSBSVENQIHNlbmQgcGFkLCBsaWtlIGluIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgIEFsbG93IGdldHRpbmcgYW4gUlRDUCBwYWQgZm9yIHJlY2VpdmluZyBldmVuIGlmIHdlIGRvbid0IHJlY2VpdmUgUlRQLgoJICBmaXggaGFuZGxpbmcgb2Ygc2VuZF9ydHBfc3JjIHBhZC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2NoYWluKToKCSAgV2hlbiBubyBwdCBtYXAgY291bGQgYmUgZm91bmQsIGZhbGwgYmFjayB0byB0aGUgc2lua3BhZCBjYXBzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydHApLCAoY3JlYXRlX3JlY3ZfcnRwX3NpbmspLAoJICAoY3JlYXRlX3JlY3ZfcnRjcF9zaW5rKSwgKGNyZWF0ZV9zZW5kX3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKToKCSAgRml4IHBhZCBuYW1lcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChzb3VyY2VfcHVzaF9ydHApLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zZXNzaW9uX3NlbmRfcnRwKSwgKHNlc3Npb25fc3RhcnRfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBVbmxvY2sgc2Vzc2lvbiB3aGVuIHBlcmZvcm1pbmcgYSBjYWxsYmFjay4KCSAgQWRkIGNhbGxiYWNrcyBmb3IgdGhlIGludGVybmFsIHNlc3Npb24gb2JqZWN0LgoJICBGaXggc2VuZGluZyBvZiBSVFAgcGFja2V0cy4KCSAgZmlyc3QgYXR0ZW1wdCBhdCBhZGRpbmcgTlRQIHRpbWVzIGluIHRoZSBTUiBwYWNrZXRzLgoJICBTbWFsbCBkZWJ1ZyBhbmQgZG9jIGltcHJvdmVtZW50cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzb3VyY2UuYzogKHJ0cF9zb3VyY2Vfc2VuZF9ydHApOgoJICBVcGRhdGUgc3RhdHMgZm9yIFNSIHJlcG9ydHMuCgoyMDA3LTA0LTI5IDE0OjQ2OjI3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBSZW1vdmUgZGVidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApOgoJICBSZW1vdmUgZGVidWcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NkZXMpLCAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fcmVwb3J0X2Jsb2Nrcyk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCk6CgkgIEltcHJvdmUgZGVidWdnaW5nCgkgIEZpeCBpbnRlcnZhbCBmb3IgQllFL1JUQ1AgcGFja2V0cy4KCjIwMDctMDQtMjkgMTQ6MDE6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLio6IENvbW1pdCByZXN1bHQgb2YgcnVubmluZyBzY2Fub2JqLXVwZGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgQ29tbWl0IHJlc3VsdCBvZiBydW5uaW5nIHNjYW5vYmotdXBkYXRlCgoyMDA3LTA0LTI5IDEzOjU2OjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsubToKCSAgODAgY2hhciBwb2xpY2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDgwIGNoYXIgcG9saWNlCgoyMDA3LTA0LTI5IDEzOjUzOjE3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGF1dG9nZW4uc2g6IFJlcXVpcmUgYXV0b21ha2UgMS43CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIFJlcXVpcmUgYXV0b21ha2UgMS43CgkgICogZXh0L2Fsc2FzcGRpZi9NYWtlZmlsZS5hbToKCSAgKiBleHQvZGl2eC9NYWtlZmlsZS5hbToKCSAgKiBleHQvaXZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L25lb24vTWFrZWZpbGUuYW06CgkgICogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3h2aWQvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvTWFrZWZpbGUuYW06CgkgIEZpeCB1cCBNYWtlZmlsZS5hbSBhY2NvcmRpbmdseS4KCjIwMDctMDQtMjkgMTM6NDk6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBBZGQgamFjayBhbmQgdXBkYXRlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYWxzYXNwZGlmLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tYnoyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1maWx0ZXIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWphY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tbXMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzZXBhY2sueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uc2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1yZXBsYXlnYWluLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc291bmR0b3VjaC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWN0cnVtLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICBBZGQgamFjayBhbmQgdXBkYXRlLgoKMjAwNy0wNC0yOCAxMjo0Njo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgYnVpbGQgZXF1YWxpemVyIHVubGVzcyB3ZSBoYXZlIGNvcmUgZnJvbSBDVlMgKGl0IHdvbid0IHdvcmsgd2l0aCBlYXJsaWVyIHZlcnNpb25zIGR1ZSB0byBHc3RDaGlsZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERvbid0IGJ1aWxkIGVxdWFsaXplciB1bmxlc3Mgd2UgaGF2ZSBjb3JlIGZyb20gQ1ZTIChpdCB3b24ndAoJICB3b3JrIHdpdGggZWFybGllciB2ZXJzaW9ucyBkdWUgdG8gR3N0Q2hpbGRQcm94eSBicm9rZW5lc3MpLgoJICBBbHNvIHVwIHJlcXVpcmVtZW50cyB0byBsYXN0IHJlbGVhc2VkIGNvcmUvYmFzZS4KCj09PSByZWxlYXNlIDAuMTAuMTUgPT09CgoyMDA3LTA0LTI3IDE1OjMzOjQ2ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5IHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wNC0yNyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IChfdGhlb3JhX2dyYW51bGVfdGltZSksCgkgICh0aGVvcmFfZGVjX3B1c2hfZm9yd2FyZCksICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KSwKCSAgKHRoZW9yYV9kZWNfZGVjb2RlX2J1ZmZlcik6IENhbGN1bGF0ZSBidWZmZXIgZHVyYXRpb24gY29ycmVjdGx5CgkgIHRvIGdlbmVyYXRlIGEgcGVyZmVjdCBzdHJlYW0gKCM0MzM4ODgpLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCk6IEdsaWIgcHJvdmlkZXMgQUJTLgoKMjAwNy0wNC0yNyAxNTowOToxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogTW92ZSByZWNvbnNpZGVyYXRpb24gY29kZSB0byB0aGUgcnRwc2Vzc2lvbiBvYmplY3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX3JlY29uc2lkZXIpOgoJICBNb3ZlIHJlY29uc2lkZXJhdGlvbiBjb2RlIHRvIHRoZSBydHBzZXNzaW9uIG9iamVjdC4KCSAgU2ltcGxpZnkgdGltb3V0IGhhbmRsaW5nIGFuZCBhZGQgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAocnRwX3Nlc3Npb25faW5pdCksIChydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChvbl9ieWVfc3NyYyksCgkgIChvbl9ieWVfdGltZW91dCksIChvbl90aW1lb3V0KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAob2J0YWluX3NvdXJjZSksIChydHBfc2Vzc2lvbl9jcmVhdGVfc291cmNlKSwKCSAgKHVwZGF0ZV9hcnJpdmFsX3N0YXRzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLCAocnRwX3Nlc3Npb25fcHJvY2Vzc19yciksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX2J5ZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLAoJICAoY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpLCAocnRwX3Nlc3Npb25fc2VuZF9ieWUpLAoJICAocnRwX3Nlc3Npb25fbmV4dF90aW1lb3V0KSwgKHNlc3Npb25fc3RhcnRfcnRjcCksCgkgIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLCAoc2Vzc2lvbl9jbGVhbnVwKSwgKHNlc3Npb25fc2RlcyksCgkgIChzZXNzaW9uX2J5ZSksIChpc19ydGNwX3RpbWUpLCAocnRwX3Nlc3Npb25fb25fdGltZW91dCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5oOgoJICBIYW5kbGUgdGltZW91dCBvZiBpbmFjdGl2ZSBzb3VyY2VzIGFuZCBzZW5kZXJzLgoJICBJbXBsZW1lbnQgQllFIHNjaGVkdWxpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBBZGQgbWVtYmVycyB0byBjaGVjayBmb3IgdGltZW91dHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc3RhdHMuYzogKHJ0cF9zdGF0c19pbml0X2RlZmF1bHRzKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfcnRjcF9pbnRlcnZhbCksIChydHBfc3RhdHNfYWRkX3J0Y3Bfaml0dGVyKSwKCSAgKHJ0cF9zdGF0c19jYWxjdWxhdGVfYnllX2ludGVydmFsKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5oOgoJICBVc2UgUkZDIGFsZ29yaXRobSBmb3IgY2FsY3VsYXRpbmcgdGhlIHJlcG9ydGluZyBpbnRlcnZhbC4KCjIwMDctMDQtMjYgMTQ6MzE6MzIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBkb2NzL3BsdWdpbnMvOiBBZGQgZG9jdW1lbnRhdGlvbiBmb3Igb3N4dmlkZW8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW9zeHZpZGVvLnhtbDoKCSAgQWRkIGRvY3VtZW50YXRpb24gZm9yIG9zeHZpZGVvCgoyMDA3LTA0LTI1IDE2OjM4OjAzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiBJbXBsZW1lbnQgZm9yd2FyZCBhbmQgcmV2ZXJzZSByZWNvbnNpZGVyYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKToKCSAgSW1wbGVtZW50IGZvcndhcmQgYW5kIHJldmVyc2UgcmVjb25zaWRlcmF0aW9uLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogKHJ0cF9zZXNzaW9uX2dldF9udW1fc291cmNlcyksCgkgIChydHBfc2Vzc2lvbl9nZXRfbnVtX2FjdGl2ZV9zb3VyY2VzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc3IpLAoJICAoc2Vzc2lvbl9yZXBvcnRfYmxvY2tzKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFNtYWxsIGNsZWFudXBzLgoKMjAwNy0wNC0yNSAxNTo0ODo0NiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi4qOiBNYWtlIGRlZmF1bHQgaml0dGVyYnVmZmVyIGxhdGVuY3kgY29uZmlndXJhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IDxkZWxldGUgaWYgbm90IHVzaW5nIGEgYnVkZHk+CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfYmluX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIE1ha2UgZGVmYXVsdCBqaXR0ZXJidWZmZXIgbGF0ZW5jeSBjb25maWd1cmFibGUuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6CgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3BhcnNlX2NhcHMpLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0X3Byb3BlcnR5KToKCSAgRGVidWdpbmcgY2xlYW51cHMuCgoyMDA3LTA0LTI1IDEzOjE5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmM6IFJlcG9ydCBOT19QUkVST0xMIHdoZW4gZ29pbmcgdG8gUEFVU0VELgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFuZ2Vfc3RhdGUpOgoJICBSZXBvcnQgTk9fUFJFUk9MTCB3aGVuIGdvaW5nIHRvIFBBVVNFRC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChydGNwX3RocmVhZCk6CgkgIERvbid0IHNlbmQgUlRDUCByaWdodCBiZWZvcmUgd2UgYXJlIHNodXR0aW5nIGRvd24uCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fcHJvY2Vzc19ydHApLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zciksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAocnRwX3Nlc3Npb25fcGVyZm9ybV9yZXBvcnRpbmcpOgoJICBJbXByb3ZlIHJlcG9ydCBibG9ja3MuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChjYWxjdWxhdGVfaml0dGVyKSwgKGluaXRfc2VxKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX3NyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19yYiksIChydHBfc291cmNlX2dldF9sYXN0X3NyKSwKCSAgKHJ0cF9zb3VyY2VfZ2V0X2xhc3RfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIENsZWFudXBzLCBhZGQgbWV0aG9kcyB0byBhY2Nlc3Mgc3RhdHMuCgoyMDA3LTA0LTI1IDA4OjMwOjQ4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IGZpeCBmb3IgcGFkIG5hbWUgY2hhbmdlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBmaXggZm9yIHBhZCBuYW1lIGNoYW5nZQoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uYzogKHJ0Y3BfdGhyZWFkKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0Y3ApLCAoZ3N0X3J0cF9zZXNzaW9uX2Nsb2NrX3JhdGUpOgoJICBGaXggZm9yIHJlbmFtZWQgbWV0aG9kcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9pbml0KSwKCSAgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwgKHJ0cF9zZXNzaW9uX3NldF9jbmFtZSksCgkgIChydHBfc2Vzc2lvbl9nZXRfY25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X25hbWUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25hbWUpLCAocnRwX3Nlc3Npb25fc2V0X2VtYWlsKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9lbWFpbCksIChydHBfc2Vzc2lvbl9zZXRfcGhvbmUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Bob25lKSwgKHJ0cF9zZXNzaW9uX3NldF9sb2NhdGlvbiksCgkgIChydHBfc2Vzc2lvbl9nZXRfbG9jYXRpb24pLCAocnRwX3Nlc3Npb25fc2V0X3Rvb2wpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3Rvb2wpLCAocnRwX3Nlc3Npb25fc2V0X25vdGUpLAoJICAocnRwX3Nlc3Npb25fZ2V0X25vdGUpLCAoc291cmNlX3B1c2hfcnRwKSwgKG9idGFpbl9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fYWRkX3NvdXJjZSksIChydHBfc2Vzc2lvbl9nZXRfc291cmNlX2J5X3NzcmMpLAoJICAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3Nfc2RlcyksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0Y3ApLCAocnRwX3Nlc3Npb25fc2VuZF9ydHApLAoJICAocnRwX3Nlc3Npb25fZ2V0X3JlcG9ydGluZ19pbnRlcnZhbCksIChzZXNzaW9uX3JlcG9ydF9ibG9ja3MpLAoJICAoc2Vzc2lvbl9zZGVzKSwgKHJ0cF9zZXNzaW9uX3BlcmZvcm1fcmVwb3J0aW5nKToKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmg6CgkgIFByZXBhcmUgZm9yIGltcGxlbWVudGluZyBTU1JDIHNhbXBsaW5nLgoJICBDcmVhdGUgU1NSQyBmb3IgdGhlIHNlc3Npb24uCgkgIEFkZCBtZXRob2RzIHRvIHNldCB0aGUgU0RFUyBlbnRyaWVzLgoJICBmaXggYWNjb3VudGluZyBvZiBzZW5kZXJzL3JlY2VpdmVycy4KCSAgSW1wbGVtZW50IFNSL1JSL1NERVMgUlRDUCByZXBvcnRpbmcuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc291cmNlLmM6IChydHBfc291cmNlX2luaXQpLCAoaW5pdF9zZXEpLAoJICAocnRwX3NvdXJjZV9wcm9jZXNzX3J0cCksIChydHBfc291cmNlX3Byb2Nlc3Nfc3IpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBJbXBsZW1lbnQgZXh0ZW5kZWQgc2VxdWVuY2UgbnVtYmVyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmM6IChydHBfc3RhdHNfY2FsY3VsYXRlX3J0Y3BfaW50ZXJ2YWwpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFJlbmFtZSBzb21lIGZpZWxkcy4KCjIwMDctMDQtMjQgMTU6NDk6MTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQbHVnIHNvbWUgbGVha3M7IHRyeSB0byBtYWtlIGJ1aWxkIGJvdCBoYXBweSBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzogKGdzdF95NG1fZW5jb2RlX2luaXQpLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0Y2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgIFBsdWcgc29tZSBsZWFrczsgdHJ5IHRvIG1ha2UgYnVpbGQgYm90IGhhcHB5IGFnYWluLgoKMjAwNy0wNC0yMSAxOTozOTowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9NYWtlZmlsZS5hbTogRml4IGRpc3RjaGVjaywgaG9wZWZ1bGx5IChydHBtYW5hZ2VyIGlzIGFscmVhZHkgaW4gR1NUX1BMVUdJTlNfQUxMKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L01ha2VmaWxlLmFtOgoJICBGaXggZGlzdGNoZWNrLCBob3BlZnVsbHkgKHJ0cG1hbmFnZXIgaXMgYWxyZWFkeSBpbiBHU1RfUExVR0lOU19BTEwpLgoKMjAwNy0wNC0yMSAxOToyMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uYzogRG9uJ3QgdXNlIEdMaWItMi4xMCBBUEksIHdlIG9ubHkgcmVxdWlyZSBHTGliIDIuOCBhdCB0aGUgbW9tZW50LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzZXNzaW9uLmM6IChydHBfc2Vzc2lvbl9maW5hbGl6ZSk6CgkgIERvbid0IHVzZSBHTGliLTIuMTAgQVBJLCB3ZSBvbmx5IHJlcXVpcmUgR0xpYiAyLjggYXQgdGhlIG1vbWVudC4KCjIwMDctMDQtMjEgMTQ6MTQ6MjQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgIE1ha2UgbW9yZSBmdW5jdGlvbnMgc3RhdGljLCBqdXN0IGJlY2F1c2Ugd2UgY2FuLgoKMjAwNy0wNC0yMSAxMzo1NDozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogQWRkIHVuaXQgdGVzdCBmb3IgYXVkaW9yZXNhbXBsZSBzaHV0ZG93biBjcmFzaGVyICgjNDIwMTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICBBZGQgdW5pdCB0ZXN0IGZvciBhdWRpb3Jlc2FtcGxlIHNodXRkb3duIGNyYXNoZXIgKCM0MjAxMDYpLgoKMjAwNy0wNC0yMCAxNTozMTozMiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBGQUFEIGZhaWxzIHRvIGRlY29kZSBsb3cgKGUuZy4gOCBrSHopIHNhbXBsZSByYXRlIEFBQyBkYXRhIGluIHF1aWNrdGltZSBiZWNhdXNlIG9mIHNhbXBsZSByYXRlIG1pLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX29wZW5fZGVjb2Rlcik6CgkgIEZBQUQgZmFpbHMgdG8gZGVjb2RlIGxvdyAoZS5nLiA4IGtIeikgc2FtcGxlIHJhdGUgQUFDIGRhdGEgaW4KCSAgcXVpY2t0aW1lIGJlY2F1c2Ugb2Ygc2FtcGxlIHJhdGUgbWlzbWF0Y2hlcy4KCSAgUmVlbmFibGUgb3ZlcnJpZGluZyB0aGUgaW1wbGljaXQgU0JSIGJlaGF2aW91ciAoYWNjaWRlbnRseSBjaGFuZ2VkPykKCSAgdG8gYWxsb3cgcGxheWJhY2sgb2YgdGhlc2UgZmlsZXMuCgoyMDA3LTA0LTE5IDE1OjQzOjI2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hhbmdlIHJ0cG1hbmFnZXIgZGlzYWJsaW5nIHRvIGtlZXAgLWJhZCByZWxlYXNhYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoYW5nZSBydHBtYW5hZ2VyIGRpc2FibGluZyB0byBrZWVwIC1iYWQgcmVsZWFzYWJsZS4KCjIwMDctMDQtMTggMTk6NDU6MzIgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgRml4IHd0YXkncyBoYWNrLiAgcnRwbWFuYWdlciBpcyBkaXNhYmxlZCBpbiBjb25maWd1cmUuYWMgb24gbGluZSAyNjguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvTWFrZWZpbGUuYW06CgkgIEZpeCB3dGF5J3MgaGFjay4gIHJ0cG1hbmFnZXIgaXMgZGlzYWJsZWQgaW4gY29uZmlndXJlLmFjIG9uCgkgIGxpbmUgMjY4LgoKMjAwNy0wNC0xOCAxOToyNjo1MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9NYWtlZmlsZS5hbTogQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9NYWtlZmlsZS5hbToKCSAgQWRkIHJ0cG1hbmFnZXIgZGlyIHRvIGRpc3QuCgoyMDA3LTA0LTE4IDE4OjU4OjUzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgY29uZmlndXJlLmFjOiBEaXNhYmxlIHJ0cG1hbmFnZXIgZm9yIG5vdyBiZWNhdXNlIGl0IGRlcGVuZHMgb24gQ1ZTIC1iYXNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIERpc2FibGUgcnRwbWFuYWdlciBmb3Igbm93IGJlY2F1c2UgaXQgZGVwZW5kcyBvbiBDVlMgLWJhc2UuCgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgIEFkZGVkIG5ldyBmaWxlcyBmb3Igc2Vzc2lvbiBtYW5hZ2VyLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjcmVhdGVfc3RyZWFtKSwgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKToKCSAgU29tZSBjbGVhbnVwcy4KCSAgdGhlIHNlc3Npb24gbWFuYWdlciBjYW4gbm93IGFsc28gcmVxdWVzdCBhIHB0LW1hcC4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jbGFzc19pbml0KSwgKGdzdF9ydHBfc2Vzc2lvbl9pbml0KSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9maW5hbGl6ZSksIChydGNwX3RocmVhZCksIChzdGFydF9ydGNwX3RocmVhZCksCgkgIChzdG9wX3J0Y3BfdGhyZWFkKSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3Byb2Nlc3NfcnRwKSwgKGdzdF9ydHBfc2Vzc2lvbl9zZW5kX3J0cCksCgkgIChnc3RfcnRwX3Nlc3Npb25fc2VuZF9ydGNwKSwgKGdzdF9ydHBfc2Vzc2lvbl9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9nZXRfdGltZSksIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9zZW5kX3J0Y3Bfc3JjKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgV2UgY2FuIGFzayBmb3IgcHQtbWFwIG5vdyB0b28gd2hlbiB0aGUgc2Vzc2lvbiBtYW5hZ2VyIG5lZWRzIGl0LgoJICBIb29rIHVwIHRvIHRoZSBuZXcgc2Vzc2lvbiBtYW5hZ2VyLCBpbXBsZW1lbnQgdGhlIG5lZWRlZCBjYWxsYmFja3MgZm9yCgkgIHB1c2hpbmcgZGF0YSwgZ2V0dGluZyBjbG9jayB0aW1lIGFuZCByZXF1ZXN0aW5nIGNsb2NrLXJhdGVzLgoJICBSZW5hbWUgcnRjcF9zcmMgdG8gc2VuZF9ydGNwX3NyYyB0byBtYWtlIGl0IGNsZWFyIHRoYXQgdGhpcyBSVENQIGlzIHRvCgkgIGJlIHNlbmQgdG8gY2xpZW50cy4KCSAgQWRkIGNvZGUgdG8gc3RhcnQgYW5kIHN0b3AgdGhlIHRocmVhZCB0aGF0IHdpbGwgc2NoZWR1bGUgUlRDUCB0aHJvdWdoCgkgIHRoZSBzZXNzaW9uIG1hbmFnZXIuCgkgICogZ3N0L3J0cG1hbmFnZXIvcnRwc2Vzc2lvbi5jOiAocnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChydHBfc2Vzc2lvbl9pbml0KSwgKHJ0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksIChydHBfc2Vzc2lvbl9nZXRfcHJvcGVydHkpLAoJICAob25fbmV3X3NzcmMpLCAob25fc3NyY19jb2xsaXNpb24pLCAob25fc3NyY192YWxpZGF0ZWQpLAoJICAob25fYnllX3NzcmMpLCAocnRwX3Nlc3Npb25fbmV3KSwgKHJ0cF9zZXNzaW9uX3NldF9jYWxsYmFja3MpLAoJICAocnRwX3Nlc3Npb25fc2V0X2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfYmFuZHdpZHRoKSwKCSAgKHJ0cF9zZXNzaW9uX3NldF9ydGNwX2JhbmR3aWR0aCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9iYW5kd2lkdGgpLAoJICAoc291cmNlX3B1c2hfcnRwKSwgKHNvdXJjZV9jbG9ja19yYXRlKSwgKGNoZWNrX2NvbGxpc2lvbiksCgkgIChvYnRhaW5fc291cmNlKSwgKHJ0cF9zZXNzaW9uX2FkZF9zb3VyY2UpLAoJICAocnRwX3Nlc3Npb25fZ2V0X251bV9zb3VyY2VzKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9udW1fYWN0aXZlX3NvdXJjZXMpLAoJICAocnRwX3Nlc3Npb25fZ2V0X3NvdXJjZV9ieV9zc3JjKSwKCSAgKHJ0cF9zZXNzaW9uX2dldF9zb3VyY2VfYnlfY25hbWUpLCAocnRwX3Nlc3Npb25fY3JlYXRlX3NvdXJjZSksCgkgICh1cGRhdGVfYXJyaXZhbF9zdGF0cyksIChydHBfc2Vzc2lvbl9wcm9jZXNzX3J0cCksCgkgIChydHBfc2Vzc2lvbl9wcm9jZXNzX3NyKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnIpLAoJICAocnRwX3Nlc3Npb25fcHJvY2Vzc19zZGVzKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYnllKSwKCSAgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfYXBwKSwgKHJ0cF9zZXNzaW9uX3Byb2Nlc3NfcnRjcCksCgkgIChydHBfc2Vzc2lvbl9zZW5kX3J0cCksIChydHBfc2Vzc2lvbl9nZXRfcnRjcF9pbnRlcnZhbCksCgkgIChydHBfc2Vzc2lvbl9wcm9kdWNlX3J0Y3ApOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNlc3Npb24uaDoKCSAgVGhlIGFkdmFuY2VkIGJlZ2lubmluZ3Mgb2YgdGhlIG1haW4gc2Vzc2lvbiBtYW5hZ2VyIHRoYXQgaGFuZGxlcyB0aGUKCSAgcGFydGljaXBhbnQgZGF0YWJhc2Ugb2YgUlRQU291cmNlcywgU1NSQyBwcm9iYXRpb24sIFNTUkMgY29sbGlzaW9ucywKCSAgcGFyc2UgUlRDUCB0byB1cGRhdGUgc291cmNlIHN0YXRzLiBldGMuLgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5jOiAocnRwX3NvdXJjZV9jbGFzc19pbml0KSwKCSAgKHJ0cF9zb3VyY2VfaW5pdCksIChydHBfc291cmNlX2ZpbmFsaXplKSwgKHJ0cF9zb3VyY2VfbmV3KSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X2NhbGxiYWNrcyksIChydHBfc291cmNlX3NldF9hc19jc3JjKSwKCSAgKHJ0cF9zb3VyY2Vfc2V0X3J0cF9mcm9tKSwgKHJ0cF9zb3VyY2Vfc2V0X3J0Y3BfZnJvbSksCgkgIChwdXNoX3BhY2tldCksIChnZXRfY2xvY2tfcmF0ZSksIChjYWxjdWxhdGVfaml0dGVyKSwKCSAgKHJ0cF9zb3VyY2VfcHJvY2Vzc19ydHApLCAocnRwX3NvdXJjZV9wcm9jZXNzX2J5ZSksCgkgIChydHBfc291cmNlX3NlbmRfcnRwKSwgKHJ0cF9zb3VyY2VfcHJvY2Vzc19zciksCgkgIChydHBfc291cmNlX3Byb2Nlc3NfcmIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHNvdXJjZS5oOgoJICBPYmplY3QgdGhhdCBlbmNhcHN1bGF0ZXMgYW4gU1NSQyBhbmQgaXRzIHN0YXRlIGluIHRoZSBkYXRhYmFzZS4KCSAgQ2FsY3VsYXRlcyB0aGUgaml0dGVyIGFuZCB0cmFuc2l0IHRpbWVzIG9mIGRhdGEgcGFja2V0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9ydHBzdGF0cy5jOiAocnRwX3N0YXRzX2luaXRfZGVmYXVsdHMpLAoJICAocnRwX3N0YXRzX2NhbGN1bGF0ZV9ydGNwX2ludGVydmFsKSwgKHJ0cF9zdGF0c19hZGRfcnRjcF9qaXR0ZXIpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL3J0cHN0YXRzLmg6CgkgIFZhcmlvdXMgc3RhdHMgcmVnYXJkaW5nIHRoZSBzZXNzaW9uIGFuZCBzb3VyY2VzLgoJICBVc2VkIHRvIGNhbGN1bGF0ZSB0aGUgUlRDUCBpbnRlcnZhbC4KCjIwMDctMDQtMTcgMTA6NTY6MzcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXBwL01ha2VmaWxlLmFtOiBGaXggQ0ZMQUdTIGFuZCBob3BlZnVsbHkgIzQzMDU5NC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgRml4IENGTEFHUyBhbmQgaG9wZWZ1bGx5ICM0MzA1OTQuCgoyMDA3LTA0LTE3IDA4OjQ4OjM0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi90eXBlcy5oOiBSZW5hbWUgI2lmbmRlZiBoZWFkZXIgZ3VhcmQgc3ltYm9sIHRvIHNvbWV0aGluZyBsZXNzIGdlbmVyaWMsIHNvIHR5cGVzLmggZG9lc24ndCBnZXQgc2tpcHBlZCBvdmVyIHdoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvdHlwZXMuaDoKCSAgUmVuYW1lICNpZm5kZWYgaGVhZGVyIGd1YXJkIHN5bWJvbCB0byBzb21ldGhpbmcgbGVzcyBnZW5lcmljLCBzbwoJICB0eXBlcy5oIGRvZXNuJ3QgZ2V0IHNraXBwZWQgb3ZlciB3aGVuIGNvbXBpbGluZyBvbiBNaW5nVy4gSW5jbHVkZQoJICBHTGliIGhlYWRlcnMgYW5kIHVzZSB0aG9zZSB0byBzZXQgdGhlIGVuZGlhbm5lc3MgYW5kIHRoZSBiYXNpYwoJICB0eXBlcyBzbyB0aGF0IHRoaXMgaXNuJ3QgZW50aXJlbHkgYnJva2VuIGZvciBub24teDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTA0LTE3IDA4OjA0OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L212ZS9nc3RtdmVkZW11eC5jOiBVc2UgR19MSVRUTEVfRU5ESUFOIGluc3RlYWQgb2YgTElUVExFX0VORElBTiwgc28gc3R1ZmYgY29tcGlsZXMgb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5jOiAoZ3N0X212ZV9hdWRpb19pbml0KToKCSAgVXNlIEdfTElUVExFX0VORElBTiBpbnN0ZWFkIG9mIExJVFRMRV9FTkRJQU4sIHNvIHN0dWZmIGNvbXBpbGVzIG9uCgkgIE1pbmdXIChubyBpZGVhIHRob3VnaCB3aHkgd2UgYWRkIGEgQllURV9PUkRFUiBlbmRpYW5uZXNzIGZpZWxkIGlmCgkgIHRoZSBhdWRpbyBpcyBjb21wcmVzc2VkKS4KCjIwMDctMDQtMTYgMjI6MjA6MDMgKzAwMDAgIFZpbmNlbnQgVG9ycmkgPHZ0b3JyaUB1bml2LWV2cnkuZnI+CgoJICBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBWaW5jZW50IFRvcnJpIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGRvdCBmcj4KCSAgKiBleHQvcGFuZ28vZ3N0Y2xvY2tvdmVybGF5LmM6IChnc3RfY2xvY2tfb3ZlcmxheV9yZW5kZXJfdGltZSk6CgkgIEZpeCB1bnVzZWQgdmFyaWFibGUgd2FybmluZyBpZiBIQVZFX0xPQ0FMVElNRV9SIGlzIHVuZGVmaW5pZWQKCSAgKiBnc3QtbGlicy9nc3QvcmlmZi9yaWZmLW1lZGlhLmM6IChnc3RfcmlmZl9jcmVhdGVfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpOgoJICBVc2UgdGhlIGNvcnJlY3QgZm9ybWF0IHN0cmluZ3MgZm9yIGludGVnZXIgZm9ybWF0cy4KCjIwMDctMDQtMTQgMTc6MTg6MTQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy9pbnNwZWN0LzogQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRpcmVjdGRyYXcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1kaXJlY3Rzb3VuZC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdmVmb3JtLnhtbDoKCSAgQWRkIHhtbCBkb2MgZmlsZXMgZm9yIFdpbmRvd3Mgc2lua3MKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdG1wZWd2aWRlb3BhcnNlLmRzcDoKCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgVXBkYXRlIHByb2plY3RzIGZpbGVzLgoKMjAwNy0wNC0xMyAwOToyMDo1NSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyLzogUHJvdGVjdCBsaXN0cyBhbmQgc3RydWN0dXJlcyB3aXRoIGxvY2tzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoZ3N0X3J0cF9iaW5faW5pdCksIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChuZXdfc3NyY19wYWRfZm91bmQpLAoJICAoY3JlYXRlX3JlY3ZfcnRwKSwgKGdzdF9ydHBfYmluX3JlcXVlc3RfbmV3X3BhZCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwY2xpZW50LmM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2luaXQpLCAoZ3N0X3J0cF9zZXNzaW9uX2ZpbmFsaXplKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0cF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9ldmVudF9yZWN2X3J0Y3Bfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydGNwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9yZXF1ZXN0X25ld19wYWQpOgoJICBQcm90ZWN0IGxpc3RzIGFuZCBzdHJ1Y3R1cmVzIHdpdGggbG9ja3MuCgkgIFJldHVybiBGTE9XX09LIGZyb20gUlRDUCBtZXNzYWdlcyBmb3Igbm93LgoKMjAwNy0wNC0xMiAxMDo1MjowMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldCBjYWxjdWxhdGlvbnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgTWFrZSB0aW1lc2NhbGUgMzIgYml0cyBhZ2FpbiBzbyB3ZSBkb24ndCBzY3JldyB1cCB0aGUgcHRzX29mZnNldAoJICBjYWxjdWxhdGlvbnMuCgoyMDA3LTA0LTEyIDA4OjE4OjMyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IEVtaXQgcHQgbWFwIHJlcXVlc3RzIGFuZCBjYWNoZSByZXN1bHRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogKGNyZWF0ZV9zZXNzaW9uKSwgKGdldF9wdF9tYXApLAoJICAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwgKHB0X21hcF9yZXF1ZXN0ZWQpOgoJICBFbWl0IHB0IG1hcCByZXF1ZXN0cyBhbmQgY2FjaGUgcmVzdWx0cy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3NpbmtfcGFyc2VfY2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2dldF9jbG9ja19yYXRlKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jaGFpbiksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEVtaXQgcmVxdWVzdC1wdC1tYXAgc2lnbmFscy4KCjIwMDctMDQtMTEgMTM6NDk6NTQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OiBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4tbWFyc2hhbC5saXN0OgoJICBTb21lIG1vcmUgY3VzdG9tIG1hcnNoYWxsZXJzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3Nlc3Npb24pLCAoZ2V0X3B0X21hcCksCgkgIChjbG9ja19yYXRlX3JlcXVlc3QpLCAoY3JlYXRlX3N0cmVhbSksIChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKHB0X21hcF9yZXF1ZXN0ZWQpLCAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGNhY2hpbmcgcHQgbWFwcy4KCSAgQ29ubmVjdCB0byBzaWduYWxzIHRvIGNvbGxlY3QgcHQgbWFwcy4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9jbGFzc19pbml0KSwKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfbG9vcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwaml0dGVyYnVmZmVyLmg6CgkgIEFkZCByZXF1ZXN0X2Nsb2NrX3JhdGUgc2lnbmFsLgoJICBVc2Ugc2NhbGUgaW5zdGVhdCBvZiBzY2FsZV9pbnQgYmVjYXVzZSB0aGUgbGF0ZXIgZG9lcyBub3QgZGVhbCB3aXRoCgkgIG5lZ2F0aXZlIG51bWJlcnMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHB0ZGVtdXguaDoKCSAgSW1wbGVtZW50IHJlcXVlc3QtcHQtbWFwIHNpZ25hbC4KCjIwMDctMDQtMTEgMDk6NTM6MzggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IEhhbmRsZSB2ZXJzaW9uIDEgbWRoZCBhdG9tcyB0byBnZXQgZXh0ZW5kZWQgcHJlY2lzaW9uIGR1cmF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX21kaGQpOgoJICBIYW5kbGUgdmVyc2lvbiAxIG1kaGQgYXRvbXMgdG8gZ2V0IGV4dGVuZGVkIHByZWNpc2lvbiBkdXJhdGlvbnMuCgkgIEZpeGVzICM0MjY5NzIuCgoyMDA3LTA0LTEwIDA5OjE0OjA3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBBZGRlZCBjdXN0b20gbWFyc2hhbGxlcnMgZm9yIHNpZ25hbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyLy5jdnNpZ25vcmU6CgkgICogZ3N0L3J0cG1hbmFnZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLW1hcnNoYWwubGlzdDoKCSAgQWRkZWQgY3VzdG9tIG1hcnNoYWxsZXJzIGZvciBzaWduYWxzLgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fY2xhc3NfaW5pdCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByZXBhcmUgZm9yIGVtaXRpbmcgcHQgbWFwIHNpZ25hbHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzoKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jbGFzc19pbml0KToKCSAgRml4IHNpZ25hbHMuCgoyMDA3LTA0LTA2IDEyOjI4OjI5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLio6IFByb3ZpZGUgYSBjbG9jay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChnc3RfcnRwX2Jpbl9jbGFzc19pbml0KSwKCSAgKGdzdF9ydHBfYmluX2luaXQpLCAoZ3N0X3J0cF9iaW5fcHJvdmlkZV9jbG9jayk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIFByb3ZpZGUgYSBjbG9jay4KCjIwMDctMDQtMDYgMTI6MDc6MzAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uYzogRml4IHBhZCB0ZW1wbGF0ZSBuYW1lIHBhcnNpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoY3JlYXRlX3J0Y3ApOgoJICBGaXggcGFkIHRlbXBsYXRlIG5hbWUgcGFyc2luZy4KCjIwMDctMDQtMDUgMTY6MTA6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzogQWRkIHNvbWUgZGVidWcgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBqaXR0ZXJidWZmZXIuYzoKCSAgKGdzdF9qaXR0ZXJfYnVmZmVyX3Npbmtfc2V0Y2FwcyksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2hhaW4pLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2xvb3ApOgoJICBBZGQgc29tZSBkZWJ1ZyBhbmQgY29tbWVudHMuCgkgIEZpeCBkb3VibGUgdW5yZWYoKSBpbiBlcnJvciBjYXNlcy4KCjIwMDctMDQtMDUgMTU6MDU6MjQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS4qOiBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogKGdzdF9ydHBfeHF0X2RlcGF5X3Byb2Nlc3MpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5oOgoJICBUcnkgdG8gcmVjb3ZlciBmcm9tIHBhY2tldCBsb3NzIGEgbGl0dGxlIGJldHRlci4KCjIwMDctMDQtMDUgMTM6NTQ6MjMgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uKjogQWRkIGRlYnVnZ2luZyBjYXRlZ29yeS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmM6IChmaW5kX3Nlc3Npb25fYnlfaWQpLAoJICAoY3JlYXRlX3Nlc3Npb24pLCAoZmluZF9zdHJlYW1fYnlfc3NyYyksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAobmV3X3BheWxvYWRfZm91bmQpLAoJICAobmV3X3NzcmNfcGFkX2ZvdW5kKSwgKGNyZWF0ZV9yZWN2X3J0cCksIChjcmVhdGVfcmVjdl9ydGNwKSwKCSAgKGNyZWF0ZV9zZW5kX3J0cCksIChjcmVhdGVfcnRjcCk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwYmluLmg6CgkgIEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkuCgkgIEFkZGVkIFJUUFN0cmVhbSB0byBtYW5hZ2Ugc3RyZWFtIHBlciBTU1JDLCBlYWNoIHdpdGggaXRzIG93bgoJICBqaXR0ZXJidWZmZXIgYW5kIHB0ZGVtdXguCgkgIEFkZGVkIFNTUkNEZW11eC4KCSAgQ29ubmVjdCB0byB2YXJpb3VzIFNTUkMgYW5kIFBUIHNpZ25hbHMgYW5kIGNyZWF0ZSBnaG9zdHBhZHMsIGxpbmsgc3R1ZmYuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwbWFuYWdlci5jOiAocGx1Z2luX2luaXQpOgoJICBBZGRlZCBydHBiaW4gdG8gZWxlbWVudHMuCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwcHRkZW11eC5jOiAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbik6CgkgIEZpeCBjYXBzIGFuZCBmb3J3YXJkIEdzdEZsb3dSZXR1cm4KCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzZXNzaW9uLmM6IChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZXZlbnRfcmVjdl9ydHBfc2luayksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2hhaW5fcmVjdl9ydHApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3JlY3ZfcnRjcF9zaW5rKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2V2ZW50X3NlbmRfcnRwX3NpbmspLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCk6CgkgIEFkZCBkZWJ1ZyBjYXRlZ29yeS4KCSAgQWRkIGV2ZW50IGhhbmRsaW5nCgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4LmM6IChmaW5kX3J0cF9wYWRfZm9yX3NzcmMpLAoJICAoY3JlYXRlX3J0cF9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NsYXNzX2luaXQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2luaXQpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwKCSAgKGdzdF9ydHBfc3NyY19kZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNzcmNkZW11eC5oOgoJICBBZGQgZGVidWcgY2F0ZWdvcnkuCgkgIEFkZCBuZXctcHQtcGFkIHNpZ25hbC4KCjIwMDctMDQtMDUgMTM6NDk6MjEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogcG8vbmwucG86CgkgIHVwZGF0ZSBkdXRjaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGR1dGNoCgoyMDA3LTA0LTA1IDEzOjQ1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHBvLzogQWRkZWQgRGFuaXNoIHRyYW5zbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc3VibWl0dGVkIGJ5OiBNb2dlbnMgSmFlZ2VyIDxtb2dlbnNAamFlZ2VyLnRmPgoJICAqIHBvL0xJTkdVQVM6CgkgICogcG8vZGEucG86CgkgIEFkZGVkIERhbmlzaCB0cmFuc2xhdGlvbi4KCjIwMDctMDQtMDQgMTA6MjM6MTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcnRwbWFuYWdlci86IEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBzc3JjZGVtdXguYzogKGZpbmRfcGFkX2Zvcl9zc3JjKSwKCSAgKGNyZWF0ZV9wYWRfZm9yX3NzcmMpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfY2xhc3NfaW5pdCksIChnc3RfcnRwX3NzcmNfZGVtdXhfaW5pdCksCgkgIChnc3RfcnRwX3NzcmNfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9zc3JjX2RlbXV4X3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYWluKSwgKGdzdF9ydHBfc3NyY19kZW11eF9zcmNfZXZlbnQpLAoJICAoZ3N0X3J0cF9zc3JjX2RlbXV4X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc3NyY2RlbXV4Lmg6CgkgIEFkZGVkIHNpbXBsZSBTU1JDIGRlbXV4ZXIuCgoyMDA3LTA0LTA0IDA3OjM2OjI4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IFRyeSB0IGJldHRlciBuYW1lIGNsaWVudHMuIHByb3Blcmx5IGhhbmRsZSByZXR1cm4gY29kZXMgd2hlbiByZS0gZXN0YWJsaXNoaW5nIGxpbmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgVHJ5IHQgYmV0dGVyIG5hbWUgY2xpZW50cy4gcHJvcGVybHkgaGFuZGxlIHJldHVybiBjb2RlcyB3aGVuIHJlLQoJICBlc3RhYmxpc2hpbmcgbGlua3MuCgoyMDA3LTA0LTAzIDIyOjM2OjQ3ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogRml4IGhhbmRsaW5nIG9mIHZpZGVvL3gtcmF3LXl1di4gIEFkZCBvdmVybGF5IGhhbmRsaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgIEZpeCBoYW5kbGluZyBvZiB2aWRlby94LXJhdy15dXYuICBBZGQgb3ZlcmxheSBoYW5kbGluZy4KCjIwMDctMDQtMDMgMTM6Mjc6MjEgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgd2l0aCBydHAgcGx1Z2luCgoyMDA3LTA0LTAzIDExOjM1OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3J0cG1hbmFnZXIvOiBTb21lIG1vcmUgZ2hvc3RwYWQgbWFnaWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZmluZF9zZXNzaW9uX2J5X2lkKSwKCSAgKGNyZWF0ZV9zZXNzaW9uKSwgKGdzdF9ydHBfYmluX2Jhc2VfaW5pdCksIChjcmVhdGVfcmVjdl9ydHApLAoJICAoY3JlYXRlX3JlY3ZfcnRjcCksIChjcmVhdGVfc2VuZF9ydHApLCAoY3JlYXRlX3J0Y3ApLAoJICAoZ3N0X3J0cF9iaW5fcmVxdWVzdF9uZXdfcGFkKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBiaW4uaDoKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBjbGllbnQuYzoKCSAgU29tZSBtb3JlIGdob3N0cGFkIG1hZ2ljLgoKMjAwNy0wNC0wMyAwOTo1MToxMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9ydHBtYW5hZ2VyL01ha2VmaWxlLmFtOiBBZGQgLmggZmlsZSBzbyBpdCBjYW4gYmUgZGlzdGVkIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgQWRkIC5oIGZpbGUgc28gaXQgY2FuIGJlIGRpc3RlZCBwcm9wZXJseS4KCjIwMDctMDQtMDMgMDk6MTM6MTcgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBBZGQgUlRQIHNlc3Npb24gbWFuYWdlbWVudCBlbGVtZW50cy4gU3RpbGwgaW4gcHJvZ3Jlc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvcnRwbWFuYWdlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvcnRwbWFuYWdlci9hc3luY19qaXR0ZXJfcXVldWUuYzogKGFzeW5jX2ppdHRlcl9xdWV1ZV9uZXcpLAoJICAoc2lnbmFsX3dhaXRpbmdfdGhyZWFkcyksIChhc3luY19qaXR0ZXJfcXVldWVfcmVmKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9yZWZfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9sb3dfdGhyZXNob2xkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfaGlnaF90aHJlc2hvbGQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3NldF9tYXhfcXVldWVfbGVuZ3RoKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9nZXRfZ19xdWV1ZSksIChjYWxjdWxhdGVfdHNfZGlmZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3RzX3VuaXRzX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZl9hbmRfdW5sb2NrKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV91bnJlZiksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbG9jayksIChhc3luY19qaXR0ZXJfcXVldWVfdW5sb2NrKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoKSwgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wdXNoX3NvcnRlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcHVzaF9zb3J0ZWRfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX2luc2VydF9hZnRlcl91bmxvY2tlZCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfcG9wX2ludGVybl91bmxvY2tlZCksIChhc3luY19qaXR0ZXJfcXVldWVfcG9wKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9wb3BfdW5sb2NrZWQpLCAoYXN5bmNfaml0dGVyX3F1ZXVlX2xlbmd0aCksCgkgIChhc3luY19qaXR0ZXJfcXVldWVfbGVuZ3RoX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfZmx1c2hpbmdfdW5sb2NrZWQpLAoJICAoYXN5bmNfaml0dGVyX3F1ZXVlX3Vuc2V0X2ZsdXNoaW5nX3VubG9ja2VkKSwKCSAgKGFzeW5jX2ppdHRlcl9xdWV1ZV9zZXRfYmxvY2tpbmdfdW5sb2NrZWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2FzeW5jX2ppdHRlcl9xdWV1ZS5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5jOiAoZ3N0X3J0cF9iaW5fYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfYmluX2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9iaW5faW5pdCksCgkgIChnc3RfcnRwX2Jpbl9maW5hbGl6ZSksIChnc3RfcnRwX2Jpbl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9iaW5fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfYmluX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2Jpbl9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9iaW5fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGJpbi5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5jOiAobmV3X3BhZCksIChjcmVhdGVfc3RyZWFtKSwKCSAgKGZyZWVfc3RyZWFtKSwgKGZpbmRfc3RyZWFtX2J5X3NzcmMpLCAoZ3N0X3J0cF9jbGllbnRfYmFzZV9pbml0KSwKCSAgKGdzdF9ydHBfY2xpZW50X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9jbGllbnRfaW5pdCksCgkgIChnc3RfcnRwX2NsaWVudF9maW5hbGl6ZSksIChnc3RfcnRwX2NsaWVudF9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3J0cF9jbGllbnRfZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfY2xpZW50X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcnRwX2NsaWVudF9yZXF1ZXN0X25ld19wYWQpLCAoZ3N0X3J0cF9jbGllbnRfcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGNsaWVudC5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5jOgoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfY2xhc3NfaW5pdCksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfaW5pdCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZGlzcG9zZSksIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZ2V0Y2FwcyksCgkgIChnc3Rfaml0dGVyX2J1ZmZlcl9zaW5rX3NldGNhcHMpLCAoZnJlZV9mdW5jKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9mbHVzaF9zdGFydCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfZmx1c2hfc3RvcCksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc3JjX2FjdGl2YXRlX3B1c2gpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYW5nZV9zdGF0ZSksIChwcml2X2NvbXBhcmVfcnRwX3NlcV9sdCksCgkgIChjb21wYXJlX3J0cF9idWZmZXJzX3NlcV9udW0pLCAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3J0cF9qaXR0ZXJfYnVmZmVyX2NoYWluKSwgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9sb29wKSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9xdWVyeSksCgkgIChnc3RfcnRwX2ppdHRlcl9idWZmZXJfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfaml0dGVyX2J1ZmZlcl9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cGppdHRlcmJ1ZmZlci5oOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cG1hbmFnZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4LmM6IChnc3RfcnRwX3B0X2RlbXV4X2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2NsYXNzX2luaXQpLCAoZ3N0X3J0cF9wdF9kZW11eF9pbml0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfZmluYWxpemUpLCAoZ3N0X3J0cF9wdF9kZW11eF9jaGFpbiksCgkgIChnc3RfcnRwX3B0X2RlbXV4X2dldGNhcHMpLCAoZmluZF9wYWRfZm9yX3B0KSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfc2V0dXApLCAoZ3N0X3J0cF9wdF9kZW11eF9yZWxlYXNlKSwKCSAgKGdzdF9ydHBfcHRfZGVtdXhfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvcnRwbWFuYWdlci9nc3RydHBwdGRlbXV4Lmg6CgkgICogZ3N0L3J0cG1hbmFnZXIvZ3N0cnRwc2Vzc2lvbi5jOiAoZ3N0X3J0cF9zZXNzaW9uX2Jhc2VfaW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fY2xhc3NfaW5pdCksIChnc3RfcnRwX3Nlc3Npb25faW5pdCksCgkgIChnc3RfcnRwX3Nlc3Npb25fZmluYWxpemUpLCAoZ3N0X3J0cF9zZXNzaW9uX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcnRwX3Nlc3Npb25fZ2V0X3Byb3BlcnR5KSwgKGdzdF9ydHBfc2Vzc2lvbl9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3JlY3ZfcnRwKSwKCSAgKGdzdF9ydHBfc2Vzc2lvbl9jaGFpbl9yZWN2X3J0Y3ApLAoJICAoZ3N0X3J0cF9zZXNzaW9uX2NoYWluX3NlbmRfcnRwKSwgKGNyZWF0ZV9yZWN2X3J0cF9zaW5rKSwKCSAgKGNyZWF0ZV9yZWN2X3J0Y3Bfc2luayksIChjcmVhdGVfc2VuZF9ydHBfc2luayksIChjcmVhdGVfcnRjcF9zcmMpLAoJICAoZ3N0X3J0cF9zZXNzaW9uX3JlcXVlc3RfbmV3X3BhZCksIChnc3RfcnRwX3Nlc3Npb25fcmVsZWFzZV9wYWQpOgoJICAqIGdzdC9ydHBtYW5hZ2VyL2dzdHJ0cHNlc3Npb24uaDoKCSAgQWRkIFJUUCBzZXNzaW9uIG1hbmFnZW1lbnQgZWxlbWVudHMuIFN0aWxsIGluIHByb2dyZXNzLgoKMjAwNy0wMy0zMCAwNDo1MDoxMSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBEb24ndCBwbGF5IGF1ZGlvY29udmVydC4gQXMgd2F2cGFjayB3YW50cy9vdXRwdXRzIGFsbCBzYW1wbGVzIHdpdGggd2lkdGg9PTMyIGFuZCBkZXB0aD1bMSwzMl0gYWNjZXB0IHRoLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19yZXNldCksCgkgIChnc3Rfd2F2cGFja19kZWNfaW5pdCksIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3Bvc3RfdGFncyksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpLCAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkgIERvbid0IHBsYXkgYXVkaW9jb252ZXJ0LiBBcyB3YXZwYWNrIHdhbnRzL291dHB1dHMgYWxsIHNhbXBsZXMgd2l0aAoJICB3aWR0aD09MzIgYW5kIGRlcHRoPVsxLDMyXSBhY2NlcHQgdGhpcyBhbmQgbGV0IGF1ZGlvY29udmVydCBjb252ZXJ0CgkgIHRvIGFjY2VwdGVkIGZvcm1hdHMgaW5zdGVhZCBvZiBkb2luZyBpdCBpbiB0aGUgZWxlbWVudCBmb3Igbio4IGRlcHRocy4KCSAgVGhpcyBhbHNvIGFkZHMgc3VwcG9ydCBmb3Igbm9uLW4qOCBkZXB0aHMgYW5kIHByZXZlbnRzIHNvbWUgdXNlbGVzcwoJICBtZW1vcnkgYWxsb2NhdGlvbnMuIEZpeGVzICM0MjE1OTgKCSAgQWxzbyBhZGQgYSB3b3JrYXJvdW5kIGZvciBidWcgIzQyMTU0MiBpbiB3YXZwYWNrZW5jIGZvciBub3cuLi4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZGVjLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2VuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBDb25zaWRlciB0aGUgY2hhbmdlIGFib3ZlIGluIHRoZSB1bml0IHRlc3RzIGFuZCB0ZXN0IGlmIHRoZSBjb3JyZWN0CgkgIGNhcHMgYXJlIGFjY2VwdGVkIGFuZCBzZXQuIEFsc28gY2hlY2sgZm9yIEdTVF9CVUZGRVJfT0ZGU0VUX0VORCBpbgoJICB0aGUgd2F2cGFja3BhcnNlIHVuaXQgdGVzdC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19kZWNfc2lua19zZXRfY2Fwcyk6CgkgIFNldCBjYXBzIG9uIHRoZSBzcmMgcGFkIGFzIHNvb24gYXMgcG9zc2libGUuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIEZpeCBpbmRlbnRpb24uIGdzdC1pbmRlbnQgaXMgbm93IGNhbGxlZCBieSBjaWNsLgoKMjAwNy0wMy0yOCAxNToxNzoyNyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4LzogUHJvY2VzcyAnY3R0cycgYXRvbXMsIHdoaWNoIGFyZSBwcmVzZW50IGluIEFWQyBJU08gZmlsZXMgKC5tb3YgZmlsZXMgd2l0aCBoMjY0IHZpZGVvKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3NhbXBsZXMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5jOiAocXRkZW11eF9kdW1wX2N0dHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZHVtcC5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfZm91cmNjLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF90eXBlcy5jOgoJICBQcm9jZXNzICdjdHRzJyBhdG9tcywgd2hpY2ggYXJlIHByZXNlbnQgaW4gQVZDIElTTyBmaWxlcyAoLm1vdiBmaWxlcwoJICB3aXRoIGgyNjQgdmlkZW8pLgoJICBVc2UgdGhlIG9mZnNldCBwcmVzZW50IGluICdjdHRzJyB0byBjYWxjdWxhdGUgdGhlIFBUUyBmb3IgZWFjaCBwYWNrZXQKCSAgYW5kIHNldCB0aGUgUFRTIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIEZpeGVzICM0MjMyODMKCjIwMDctMDMtMjcgMTg6MDA6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiBBZGQgc29tZSBkZWJ1ZyBsb2cgYW5kIGZpeCBhIHN0dXBpZCBvdXRwdXQgYnVmZmVyIGR1cmF0aW9uIGJ1Zy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMjcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jaGFpbik6IEFkZCBzb21lCgkgIGRlYnVnIGxvZyBhbmQgZml4IGEgc3R1cGlkIG91dHB1dCBidWZmZXIgZHVyYXRpb24gYnVnLgoKMjAwNy0wMy0yNiAxNDo0OTo0NyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSBmb3IgeDI2NCBlbmNvZGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIGZvciB4MjY0IGVuY29kZXIKCjIwMDctMDMtMjUgMTM6MDY6MjYgKzAwMDAgIE1pY2hhbCBCZW5lcyA8bWljaGFsLmJlbmVzQGl0b25pcy50dj4KCgkgIEFkZCBsaWJ4MjY0LWJhc2VkIGgyNjQgZW5jb2RlciBwbHVnaW4gKCM0MjExMTApLiBQcm9iYWJseSBkb2Vzbid0IGhhbmRsZSAnb2RkJyB3aWR0aHMgYW5kIGhlaWdodHMgY29ycmVjdGx5IHlldC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgIFBhdGNoIGJ5OiBKb3NlZiBabG9tZWsgPGpvc2VmLnpsb21layBhdCBpdG9uaXMgdHY+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9NYWtlZmlsZS5hbToKCSAgKiBleHQveDI2NC9nc3R4MjY0ZW5jLmM6IChnc3RfeDI2NF9lbmNfbWVfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX2FuYWx5c2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3gyNjRfZW5jX3RpbWVzdGFtcF9xdWV1ZV9pbml0KSwKCSAgKGdzdF94MjY0X2VuY190aW1lc3RhbXBfcXVldWVfZnJlZSksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX3B1dCksCgkgIChnc3RfeDI2NF9lbmNfdGltZXN0YW1wX3F1ZXVlX2dldCksIChnc3RfeDI2NF9lbmNfaGVhZGVyX2J1ZiksCgkgIChnc3RfeDI2NF9lbmNfc2V0X3NyY19jYXBzKSwgKGdzdF94MjY0X2VuY19zaW5rX3NldF9jYXBzKSwKCSAgKGdzdF94MjY0X2VuY19iYXNlX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3gyNjRfZW5jX2luaXQpLCAoZ3N0X3gyNjRfZW5jX2luaXRfZW5jb2RlciksCgkgIChnc3RfeDI2NF9lbmNfY2xvc2VfZW5jb2RlciksIChnc3RfeDI2NF9lbmNfZGlzcG9zZSksCgkgIChnc3RfeDI2NF9lbmNfc2lua19ldmVudCksIChnc3RfeDI2NF9lbmNfY2hhaW4pLAoJICAoZ3N0X3gyNjRfZW5jX2VuY29kZV9mcmFtZSksIChnc3RfeDI2NF9lbmNfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF94MjY0X2VuY19zZXRfcHJvcGVydHkpLCAoZ3N0X3gyNjRfZW5jX2dldF9wcm9wZXJ0eSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3gyNjQvZ3N0eDI2NGVuYy5oOgoJICBBZGQgbGlieDI2NC1iYXNlZCBoMjY0IGVuY29kZXIgcGx1Z2luICgjNDIxMTEwKS4gUHJvYmFibHkgZG9lc24ndAoJICBoYW5kbGUgJ29kZCcgd2lkdGhzIGFuZCBoZWlnaHRzIGNvcnJlY3RseSB5ZXQuCgoyMDA3LTAzLTI0IDE5OjQ2OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IFJlbW92ZSAnY2hhbm5lbC1wb3NpdGlvbnMnIGZpZWxkIHdoZW4gbXVuZ2luZyBpbnB1dCBjYXBzIGludG8gMS1jaGFubmVsIG91dHB1dCBjYXBzIChJLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9pbnRlcmxlYXZlL2RlaW50ZXJsZWF2ZS5jOiAoZ3N0X2RlaW50ZXJsZWF2ZV9zaW5rX3NldGNhcHMpOgoJICBSZW1vdmUgJ2NoYW5uZWwtcG9zaXRpb25zJyBmaWVsZCB3aGVuIG11bmdpbmcgaW5wdXQgY2FwcyBpbnRvCgkgIDEtY2hhbm5lbCBvdXRwdXQgY2FwcyAoSSBndWVzcyB0ZWNobmljYWxseSB3ZSBzaG91bGQgc2V0IHRoZQoJICBwb3NpdGlvbiBmb3IgZWFjaCBjaGFubmVsIG9uIHRoZSBvdXRwdXQgY2FwcyBpZiBpdCdzIG5vbi1OT05FLAoJICBidXQgSSdsbCBzYXZlIHRoYXQgYXMgYSB0YXNrIGZvciBhbm90aGVyIGRheSkuCgoyMDA3LTAzLTIzIDE4OjQxOjUyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3Qvdm1uYy92bW5jZGVjLmM6IFJlZGVzaWduIHRvIGluY2x1ZGUgYSBwYXJzZXIgZm9yIHJhdyBmaWxlcyAobm8gdGltZXN0YW1wcyBpbiB0aGF0IG1vZGUgeWV0LCB0aG91Z2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvdm1uYy92bW5jZGVjLmM6IChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfaW5pdCksICh2bW5jX2RlY19maW5hbGl6ZSksIChnc3Rfdm1uY19kZWNfcmVzZXQpLAoJICAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLCAocmVuZGVyX2NvbG91cl9jdXJzb3IpLAoJICAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksCgkgICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX2NvcHlfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluX2ZyYW1lKSwgKHZtbmNfZGVjX2NoYWluKSwKCSAgKHZtbmNfZGVjX3NldF9wcm9wZXJ0eSksICh2bW5jX2RlY19nZXRfcHJvcGVydHkpOgoJICBSZWRlc2lnbiB0byBpbmNsdWRlIGEgcGFyc2VyIGZvciByYXcgZmlsZXMgKG5vIHRpbWVzdGFtcHMgaW4gdGhhdAoJICBtb2RlIHlldCwgdGhvdWdoKS4KCjIwMDctMDMtMjIgMjI6MTQ6MjkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYzogRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZiBzb3VyY2UgcGFkcyAtIHRoZXIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IChnc3RfZGVpbnRlcmxlYXZlX2FkZF9uZXdfcGFkcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKSwgKGdzdF9kZWludGVybGVhdmVfcHJvY2VzcyksCgkgIChnc3RfZGVpbnRlcmxlYXZlX2NoYWluKToKCSAgRG9uJ3QgbGVhayBpbnB1dCBidWZmZXIgaW4gY2hhaW4gZnVuY3Rpb247IG1haW50YWluIG91ciBvd24gbGlzdCBvZgoJICBzb3VyY2UgcGFkcyAtIHRoZXJlIGFyZSBubyBndWFyYW50ZWVzIGFib3V0IHRoZSBvcmRlciBvZiB0aGUgbGlzdAoJICBpbiB0aGUgR3N0RWxlbWVudCBzdHJ1Y3QsIGFuZCB3ZSB3YW50IGEgdmVyeSBzcGVjaWZpYyBvcmRlcjsgbGFzdGx5LAoJICBzb21lIG1vcmUgZGVidWdnaW5nLgoKMjAwNy0wMy0yMiAyMTowNzowMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCk6CgkgIEFsbG9jIHVzZXIgYWdlbnQgc3RyaW5nIG9ubHkgb25jZS4KCjIwMDctMDMtMjIgMTY6MjU6NTYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiBSZXZlcnQgbGFzdCBjb21taXQsIHByZXZlbnRpbmcgaW5maW5pdGUgcGx1Z2dpbmcgbG9vcHMgd2l0aCByYW5rcyBpcyBubyBjbGVhbiBzb2x1dGlvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3BsdWdpbl9pbml0KToKCSAgUmV2ZXJ0IGxhc3QgY29tbWl0LCBwcmV2ZW50aW5nIGluZmluaXRlIHBsdWdnaW5nIGxvb3BzIHdpdGggcmFua3MKCSAgaXMgbm8gY2xlYW4gc29sdXRpb24gYW5kIGluIGdlbmVyYWwgdGhlcmUncyBubyByZWFzb24gd2h5IG9uZSB3YW50cwoJICB0byBwYXJzZSBmcmFtZWQgd2F2cGFjayBkYXRhIGFnYWluLgoKMjAwNy0wMy0yMiAxNTo1Mjo1MSArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiBTZW5kIHRoZSBuZXcgc2VnbWVudCBldmVudCBpbiB0aW1lIGZvcm1hdCBpbnN0ZWFkIG9mIGJ5dGVzLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgU2VuZCB0aGUgbmV3IHNlZ21lbnQgZXZlbnQgaW4gdGltZSBmb3JtYXQgaW5zdGVhZCBvZiBieXRlcy4gVGhpcwoJICBhbGxvd3MgIndhdnBhY2tlbmMgISB3YXZwYWNrZGVjICEgc29tZWF1ZGlvc2luayIgcGlwZWxpbmVzLgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICBBY2NlcHQgZnJhbWVkIGFuZCBub24tZnJhbWVkIGlucHV0LCB3YXZwYWNrcGFyc2UgZG9lc24ndCBjYXJlLiBUbwoJICBwcmV2ZW50ICJ3YXZwYWNrcGFyc2UgISB3YXZwYWNrcGFyc2UgISAuLi4iIHBpcGVsaW5lcyBsb3dlciB0aGUKCSAgcmFuayBvZiB3YXZwYWNrcGFyc2UgYnkgb25lLiBUaGlzIGFsbG93cyAid2F2cGFja2VuYyAhIHdhdnBhY2twYXJzZSAhCgkgIC4uLiIgcGlwZWxpbmVzLgoKMjAwNy0wMy0yMiAxNDozNzowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOiBVc2UgR1NUX0FMTF9MREZMQUdTLCB3aGljaCBhY3R1YWxseSBleGlzdHMsIGJ1dCBtYXliZSBEYXZpZCBjYW4gY29uZmlybSB0aGF0IHdhcyB3aGF0IGguLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgVXNlIEdTVF9BTExfTERGTEFHUywgd2hpY2ggYWN0dWFsbHkgZXhpc3RzLCBidXQgbWF5YmUgRGF2aWQKCSAgY2FuIGNvbmZpcm0gdGhhdCB3YXMgd2hhdCBoZSB3YW50ZWQuCgoyMDA3LTAzLTIyIDExOjA4OjAzICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19jaGFpbik6CgkgIFJldmVydCB0byB1c2UgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSBoZXJlLiBXZSBjYW4gYW5kIHNob3VsZCB1c2UgaXQuCgkgIFRoYW5rcyB0byBKYW4gYW5kIE1pa2UgZm9yIG5vdGljaW5nIG15IG1pc3Rha2UuCgoyMDA3LTAzLTIyIDAwOjE3OjQxICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLio6IFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90IGFzIGEgcG9pbnRlciB0byBzYXYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgIFB1dCB0aGUgd3JpdGUgaGVscGVycyBpbnRvIHRoZSBHc3RXYXZwYWNrRW5jIHN0cnVjdCBkaXJlY3RseSBhbmQgbm90CgkgIGFzIGEgcG9pbnRlciB0byBzYXZlIHR3byBzbWFsbCwgYnV0IHVzZWxlc3MgbWFsbG9jcy4gVGhpcyBhbHNvIG1ha2VzCgkgIGl0IHBvc3NpYmxlIHRvIGRyb3AgdGhlIGZpbmFsaXplIG1ldGhvZC4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3B1c2hfYnVmZmVyKToKCSAgRm9yIGNvbnNpc3RlbmN5IHJlYXNvbnMgYWxzbyBzZXQgR1NUX0JVRkZFUl9PRkZTRVRfRU5EIG9uIHRoZSBvdXRnb2luZwoJICBidWZmZXJzIHRoZSBzYW1lIHdheSB3YXZwYWNrZW5jIGRvZXMgaXQuCgoyMDA3LTAzLTIxIDIzOjUwOjA5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IERvbid0IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIGFzIHdlIG1pZ2h0IGNsaXAgdGhlIGJ1ZmZlciBsYXRlciBhbmQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRG9uJ3QgdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCkgYXMgd2UgbWlnaHQgY2xpcCB0aGUgYnVmZmVyIGxhdGVyIGFuZAoJICBCYXNlVHJhbnNmb3JtLWJhc2VkIGVsZW1lbnRzIHdpbGwgbGlrZWx5IGJyZWFrIGJlY2F1c2Ugb2Ygd3JvbmcKCSAgdW5pdC1zaXplLiBBbHNvIHBsdWcgYSBwb3NzaWJsZSBtZW1sZWFrIHRoYXQgaGFwcGVucyB3aGVuIGRlY29kaW5nCgkgIGZhaWxzIGZvciBzb21lIHJlYXNvbi4KCjIwMDctMDMtMTggMTc6NTc6NDggKzAwMDAgIFBhdWwgRGF2aXMgPHBhdWxAbGludXhhdWRpb3N5c3RlbXMuY29tPgoKCSAgZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZCBjYXVzZSBkZWFkbG9ja3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogUGF1bCBEYXZpcyA8cGF1bCBhdCBsaW51eGF1ZGlvc3lzdGVtcyBkb3QgY29tPgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb2NsaWVudC5jOiAoZ3N0X2phY2tfYXVkaW9fdW5yZWZfY29ubmVjdGlvbik6CgkgIERvbid0IG5lZWQgdG8gdGFrZSB0aGUgY29ubmVjdGlvbiBsb2NrLCBpdCB3aWxsIG5vdCBiZSB1c2VkIGFuZCBjb3VsZAoJICBjYXVzZSBkZWFkbG9ja3MuCgoyMDA3LTAzLTE2IDE4OjM4OjE4ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOiBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggcHJldmlvdXMgY29tbWl0LCB3ZSB3YW50IHRvIHBhc3MgdGhlIE5TVmlldyBpbiB0aGUgbWVzc2FnZS4KCjIwMDctMDMtMTYgMTY6Mjc6MjAgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06IEVtaXQgJ2hhdmUtbnMtdmlldycgbWVzc2FnZSB3aGVuIHdvcmtpbmcgaW4gZW1iZWRkZWQgbW9kZS4gVGhlIG1lc3NhZ2Ugd2lsbCBjb250YWluIGEgcG8uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBFbWl0ICdoYXZlLW5zLXZpZXcnIG1lc3NhZ2Ugd2hlbiB3b3JraW5nIGluIGVtYmVkZGVkIG1vZGUuIFRoZSBtZXNzYWdlCgkgIHdpbGwgY29udGFpbiBhIHBvaW50ZXIgdG8gdGhlIG5ld2x5IGNyZWF0ZWQgTlNWaWV3LgoKMjAwNy0wMy0xNiAxMToyMjo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ3ZpZGVvcGFyc2UvOiBNb3ZlIHRoZSBNUEVHIHNwZWNpZmljIGJ5dGUgcGFyc2luZyBpbnRvIHRoZSBtcGVncGFja2V0aXNlciBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ3ZpZGVvcGFyc2UvbXBlZ3BhY2tldGlzZXIuYzogKG1wZWdfdXRpbF9maW5kX3N0YXJ0X2NvZGUpLAoJICAoY29sbGVjdF9wYWNrZXRzKSwgKHNldF9wYXJfZnJvbV9kYXIpLCAoc2V0X2Zwc19mcm9tX2NvZGUpLAoJICAobXBlZ191dGlsX3BhcnNlX2V4dGVuc2lvbl9wYWNrZXQpLCAobXBlZ191dGlsX3BhcnNlX3NlcXVlbmNlX2hkciksCgkgIChtcGVnX3V0aWxfcGFyc2VfcGljdHVyZV9oZHIpOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5oOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVndmlkZW9wYXJzZS5jOgoJICAobXBlZ3ZpZGVvcGFyc2VfaGFuZGxlX3NlcXVlbmNlKSwgKG1wZWd2aWRlb3BhcnNlX2hhbmRsZV9waWN0dXJlKSwKCSAgKG1wZWd2aWRlb3BhcnNlX2RyYWluX2F2YWlsKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jaGFpbiksCgkgIChtcHZfcGFyc2Vfc2lua19ldmVudCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgIE1vdmUgdGhlIE1QRUcgc3BlY2lmaWMgYnl0ZSBwYXJzaW5nIGludG8gdGhlIG1wZWdwYWNrZXRpc2VyIGNvZGUuCgkgIEFkZCBwYXJzaW5nIG9mIHBpY3R1cmUgdHlwZXMsIHRoYXQganVzdCBmZWVkcyBpbnRvIGEgZGVidWcgbWVzc2FnZQoJICBmb3Igbm93LgoJICBGaXggc29tZSA2NC1iaXQgZm9ybWF0IHN0cmluZ3MuCgoyMDA3LTAzLTE2IDEwOjE1OjQ4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJKiBDaGFuZ2VMb2c6CgkgIENoYW5nZWxvZyBzdXJnZXJ5CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2Vsb2cgc3VyZ2VyeQoKMjAwNy0wMy0xNiAwOTo1Nzo0MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIxMGJhbmRzLmM6IEEgMTAgYmFuZCBFUSBzaG91bGQgYmUgaW5pdGlhbGl6ZWQgdG8gMSBiYW5kcyBhbmQgbm90IHRvIDMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19pbml0KToKCSAgQSAxMCBiYW5kIEVRIHNob3VsZCBiZSBpbml0aWFsaXplZCB0byAxIGJhbmRzIGFuZCBub3QgdG8gMy4KCjIwMDctMDMtMTUgMjA6NDg6MDggKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbyB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvbXAxdmlkZW9wYXJzZS52Y3Byb2o6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tcGVndmlkZW9wYXJzZS9tcGVncGFja2V0aXNlci5jOiAobXBlZ19wYWNrZXRpc2VyX2luaXQpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZyZWUpLCAobXBlZ19wYWNrZXRpc2VyX2FkZF9idWYpLAoJICAobXBlZ19wYWNrZXRpc2VyX2ZsdXNoKSwgKG1wZWdfZmluZF9zdGFydF9jb2RlKSwKCSAgKGdldF9uZXh0X2ZyZWVfYmxvY2spLCAoY29tcGxldGVfY3VycmVudF9ibG9jayksCgkgIChhcHBlbmRfdG9fY3VycmVudF9ibG9jayksIChzdGFydF9uZXdfYmxvY2spLCAoaGFuZGxlX3BhY2tldCksCgkgIChjb2xsZWN0X3BhY2tldHMpLCAobXBlZ19wYWNrZXRpc2VyX2hhbmRsZV9lb3MpLAoJICAobXBlZ19wYWNrZXRpc2VyX2dldF9ibG9jayksIChtcGVnX3BhY2tldGlzZXJfbmV4dF9ibG9jayk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWdwYWNrZXRpc2VyLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmM6IChtcGVndmlkZW9wYXJzZV9nZXRfdHlwZSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfYmFzZV9pbml0KSwgKGdzdF9tcGVndmlkZW9wYXJzZV9jbGFzc19pbml0KSwKCSAgKG1wdl9wYXJzZV9yZXNldCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfaW5pdCksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfZGlzcG9zZSksIChzZXRfcGFyX2Zyb21fZGFyKSwKCSAgKHNldF9mcHNfZnJvbV9jb2RlKSwgKG1wZWd2aWRlb3BhcnNlX3BhcnNlX3NlcSksCgkgIChnc3RfbXBlZ3ZpZGVvcGFyc2VfdGltZV9jb2RlKSwgKGdzdF9tcGVndmlkZW9wYXJzZV9mbHVzaCksCgkgIChtcGVndmlkZW9wYXJzZV9kcmFpbl9hdmFpbCksIChnc3RfbXBlZ3ZpZGVvcGFyc2VfY2hhaW4pLAoJICAobXB2X3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X21wZWd2aWRlb3BhcnNlX2NoYW5nZV9zdGF0ZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLmg6CgkgICogZ3N0L21wZWd2aWRlb3BhcnNlL21wZWd2aWRlb3BhcnNlLnZjcHJvajoKCSAgUG9ydCBtcGVnMXZpZGVvcGFyc2UgdG8gMC4xMCBhbmQgZ2l2ZSBpdCByYW5rIFNFQ09OREFSWS0xLCBzbwoJICB0aGF0IGl0J3MgYmVsb3cgZXhpc3RpbmcgZGVjb2RlcnMuCgkgIFJlbmFtZSBpdCB0byBtcGVndmlkZW9wYXJzZSB0byByZWZsZWN0IHRoYXQgaXQgaGFuZGxlcyBNUEVHLTEgYW5kCgkgIE1QRUctMiBub3cuCgkgIFJlLXdyaXRlIHRoZSBwYXJzaW5nIGNvZGUgc28gdGhhdCBpdCBjb2xsZWN0cyBwYWNrZXRzIGRpZmZlcmVudGx5CgkgIGFuZCB0aW1lc3RhbXBzIFBpY3R1cmUgcGFja2V0cyBjb3JyZWN0bHkuCgkgIEFkZCBhIGxpc3Qgb2YgRklYTUUncyBhdCB0aGUgdG9wLgoKMjAwNy0wMy0xNSAxMDo1MjoyMSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiBEb24ndCB0cmlnZ2VyIGRpc2NvbnRpbnVpdGllcyBmb3IgdmVyeSBzbWFsbCBpbXBlcmZlY3Rpb25zOyBhIGZpbHRlciBmbHVzaCB3aWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfY2hlY2tfZGlzY29udCksIChhdWRpb3Jlc2FtcGxlX3RyYW5zZm9ybSk6CgkgIERvbid0IHRyaWdnZXIgZGlzY29udGludWl0aWVzIGZvciB2ZXJ5IHNtYWxsIGltcGVyZmVjdGlvbnM7IGEgZmlsdGVyCgkgIGZsdXNoIHdpbGwgc291bmQgYmFkLCBhbmQgbWFueSBwbHVnaW5zIGhhdmUgcm91bmRpbmcgZXJyb3JzIGxlYWRpbmcKCSAgdG8gdGhlc2UuCgoyMDA3LTAzLTE0IDE3OjE2OjMwICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogSGFuZGxlIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDMtMTQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLCAoYXVkaW9yZXNhbXBsZV9kb19vdXRwdXQpLAoJICAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm0pLCAoYXVkaW9yZXNhbXBsZV9wdXNodGhyb3VnaCk6IEhhbmRsZQoJICBkaXNjb250aW51b3VzIHN0cmVhbXMuCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgKHRlc3RfZGlzY29udF9zdHJlYW1faW5zdGFuY2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAoYXVkaW9yZXNhbXBsZV9zdWl0ZSk6IEFkZCBhIHRlc3QgZm9yIGRpc2NvbnRpbnVvdXMgc3RyZWFtcy4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6IFVwZGF0ZWQuCgoyMDA3LTAzLTE0IDE2OjMzOjAzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiBQb3J0IHRoZSBleGFtcGxlIHRvIG5ldyBlcXVhbGl6ZXIgYXBpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9pY2xlcy9lcXVhbGl6ZXItdGVzdC5jOiAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlKSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzKSwKCSAgKGVxdWFsaXplcl9zZXRfYmFuZF92YWx1ZV9hbmRfd2FpdCksCgkgIChlcXVhbGl6ZXJfc2V0X2FsbF9iYW5kX3ZhbHVlc19hbmRfd2FpdCksIChkb19zbGlkZXJfZmlkZGxpbmcpLAoJICAobWFpbik6CgkgIFBvcnQgdGhlIGV4YW1wbGUgdG8gbmV3IGVxdWFsaXplciBhcGkuCgoyMDA3LTAzLTE0IDE2OjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRml4IGxlYWtzIHdoZW4gcnVubmluZyBhIE5TQXBwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBGaXggbGVha3Mgd2hlbiBydW5uaW5nIGEgTlNBcHAuCgkgIEFjY2VwdCBhbnkga2luZCBvZiByZXNvbHV0aW9ucy4KCSAgV29ya3MgaW4gZnVsbHNjcmVlbi4gQ2FuIG1heGltaXplLgoJICBPbmx5IHRoaW5nIGxlZnQgYmVmb3JlIGJlaW5nIGFibGUgdG8gbW92ZSB0aGlzIHRvIC1nb29kIGlzIGRvY3VtZW50YXRpb24KCSAgYW5kIGVtYmVkZGVkIHdpbmRvdyBzdXBwb3J0LgoKMjAwNy0wMy0xNCAxNTozMzoyNSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby86IFVwZGF0ZWQgdHJhbnNsYXRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9odS5wbzoKCSAgKiBwby9pdC5wbzoKCSAgKiBwby9zdi5wbzoKCSAgVXBkYXRlZCB0cmFuc2xhdGlvbnMuCgoyMDA3LTAzLTE0IDE0OjQ4OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlLzogU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZSBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmM6IChyZXNhbXBsZV9pbml0KToKCSAgU2luY2UgSSByZWFsbHkgYW0gbm90IGludGVyZXN0ZWQgaW4gYSBkZWJ1ZyBsaW5lIGZvciBlYWNoIHNhbXBsZQoJICBiZWluZyBwcm9jZXNzZWQsIG1vdmUgdGhlIGxpYnJhcnkncyBkZWJ1Z2dpbmcgdG8gaXRzIG93biBjYXRlZ29yeSwKCSAgbGliYXVkaW9yZXNhbXBsZQoKMjAwNy0wMy0xNCAxNDo0ODowOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcjEwYmFuZHMuYzoKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzEwYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl8xMGJhbmRzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfMTBiYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyMTBiYW5kcy5oOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyM2JhbmRzLmM6CgkgIChnc3RfaWlyX2VxdWFsaXplcl8zYmFuZHNfYmFzZV9pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19jbGFzc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyXzNiYW5kc19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfM2JhbmRzX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIzYmFuZHMuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCk6CgkgIEFkZCAzIGFuZCAxMCBiYW5kIHZlcnNpb24gYW5kIGFkZCBtaXNzaW5nIGdzdF9vYmplY3Rfc3luY192YWx1ZXMuCgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fZXZlbnQpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEFkZCBzb21lIGNvbW1lbnRzIGFib3V0IGZsb2F0IHN1cHBvcnQuCgoyMDA3LTAzLTE0IDE0OjA5OjIxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIGRlYnVnZ2luZyBhbmQgcmVmb3JtYXQgZG9jcwoKMjAwNy0wMy0xMyAxODowMTo0NyArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvbXBlZ2F1ZGlvcGFyc2UvOiBSZW1vdmUgYm9ndXMgMm5kIGNvcHkgb2YgbXAzcGFyc2UgLSBpdCdzIGFjdHVhbGx5IGluIC11Z2x5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL21wZWdhdWRpb3BhcnNlLnZjcHJvajoKCSAgUmVtb3ZlIGJvZ3VzIDJuZCBjb3B5IG9mIG1wM3BhcnNlIC0gaXQncyBhY3R1YWxseQoJICBpbiAtdWdseS4KCjIwMDctMDMtMTIgMTE6NDc6NDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6IFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvYXBwLy5jdnNpZ25vcmU6CgkgIFRoZSBidWlsZGJvdCBkZW1hbmRzIC5jdnNpZ25vcmUgZmlsZXMsIGFuZCBJIGNvbXBseS4KCjIwMDctMDMtMTEgMjI6MjM6MDQgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLio6IEhhbmRsZSBkaXNwbGF5IG1vZGUgY2hhbmdlcyBkdXJpbmcgcGxheWJhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgSGFuZGxlIGRpc3BsYXkgbW9kZSBjaGFuZ2VzIGR1cmluZyBwbGF5YmFjay4KCjIwMDctMDMtMTEgMDA6NDg6MjYgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGFwcHNyYy9hcHBzaW5rIGV4YW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9hcHAvTWFrZWZpbGUuYW06CgkgICogZXhhbXBsZXMvYXBwL2FwcHNyY19leC5jOgoJICBBZGQgYXBwc3JjL2FwcHNpbmsgZXhhbXBsZS4KCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzaW5rLmg6CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgQWRkIGFwcHNpbmsuCgoyMDA3LTAzLTEwIDIwOjEwOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0LzogUHJpbnRmIGZvcm1hdCBzdHJpbmcgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoTkFTX2NyZWF0ZUZsb3cpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IChnc3Rfc2Zfc3JjX2NyZWF0ZSk6CgkgIFByaW50ZiBmb3JtYXQgc3RyaW5nIGZpeGVzLgoKMjAwNy0wMy0wOSAwODo1ODoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2VxdWFsaXplci86IFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9lcXVhbGl6ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKF9kb19pbml0KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2JhbmRfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9iYW5kX2dldF90eXBlKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NoaWxkX3Byb3h5X2dldF9jaGlsZF9ieV9pbmRleCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9jaGlsZF9wcm94eV9nZXRfY2hpbGRyZW5fY291bnQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2hpbGRfcHJveHlfaW50ZXJmYWNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmluYWxpemUpLCAoc2V0dXBfZmlsdGVyKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX2NvbXB1dGVfZnJlcXVlbmNpZXMpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXR1cCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuaDoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplcm5iYW5kcy5jOgoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfbmJhbmRzX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfY2xhc3NfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfaW5pdCksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9uYmFuZHNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX25iYW5kc19nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVybmJhbmRzLmg6CgkgIFJlZmFjdG9yIHBsdWdpbiBpbnRvIGEgYmFzZSBjbGFzcyBhbmQgYSBmaXJzdCBzdWJjbGFzcyAobmJhbmQgZXEpLiBUaGUKCSAgbmJhbmQgZXEgdXNlcyBHc3RDaGlsZFByb3h5IGFuZCBpcyBjb250cm9sYWJsZS4gTW9yZSBzdWJjbGFzc2VzIHdpbGwKCSAgZm9sbG93LgoKMjAwNy0wMy0wOCAxNToyNDo1MiArMDAwMCAgUGF1bCBEYXZpcyA8cGF1bEBsaW51eGF1ZGlvc3lzdGVtcy5jb20+CgoJICBleHQvamFjay86IE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEluY2x1ZGVzIHBhdGNoIGJ5OiBQYXVsIERhdmlzIDxwYXVsIGF0IGxpbnV4YXVkaW9zeXN0ZW1zIGRvdCBjb20+CgkgICogZXh0L2phY2svTWFrZWZpbGUuYW06CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50LmM6IChnc3RfamFja19hdWRpb19jbGllbnRfaW5pdCksCgkgIChqYWNrX3Byb2Nlc3NfY2IpLCAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwKCSAgKGphY2tfc2h1dGRvd25fY2IpLCAoY29ubmVjdGlvbl9maW5kKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX21ha2VfY29ubmVjdGlvbiksIChnc3RfamFja19hdWRpb19nZXRfY29ubmVjdGlvbiksCgkgIChnc3RfamFja19hdWRpb191bnJlZl9jb25uZWN0aW9uKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX2Nvbm5lY3Rpb25fYWRkX2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jb25uZWN0aW9uX3JlbW92ZV9jbGllbnQpLAoJICAoZ3N0X2phY2tfYXVkaW9fY2xpZW50X25ldyksIChnc3RfamFja19hdWRpb19jbGllbnRfZnJlZSksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfZ2V0X2NsaWVudCksCgkgIChnc3RfamFja19hdWRpb19jbGllbnRfc2V0X2FjdGl2ZSk6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvY2xpZW50Lmg6CgkgIE1ha2UgYW4gb2JqZWN0IHRvIG1hbmFnZSBjbGllbnQgY29ubmVjdGlvbnMgdG8gdGhlIGphY2sgc2VydmVyIHdoaWNoIHdlCgkgIHdpbGwgdXNlIGluIHRoZSBmdXR1cmUgdG8gcnVuIHNlbGVjdGVkIGphY2sgZWxlbWVudHMgd2l0aCB0aGUgc2FtZSBqYWNrCgkgIGNvbm5lY3Rpb24uCgkgIE1ha2Ugc29tZSBzdHVmZiBhIGJpdCBtb3JlIHRocmVhZHNhZmUuCgkgIEFjdGl2YXRlIHRoZSBqYWNrIGNsaWVudCBBU0FQLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzoKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYWxsb2NhdGVfY2hhbm5lbHMpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19mcmVlX2NoYW5uZWxzKSwgKGphY2tfcHJvY2Vzc19jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9vcGVuX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9jbG9zZV9kZXZpY2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfYWNxdWlyZSksIChnc3RfamFja19yaW5nX2J1ZmZlcl9yZWxlYXNlKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIFVzZSBuZXcgY2xpZW50IG9iamVjdCB0byBtYW5hZ2UgY29ubmVjdGlvbnMuCgkgIERvbid0IHJlbW92ZSBhbmQgcmVjcmVhdGUgYWxsIHBvcnRzLCB0cnkgdG8gcmV1c2UgdGhlbS4KCjIwMDctMDMtMDcgMTI6MDc6MDcgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFjay5jOiAocGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tjb21tb24uYzoKCSAgVXNlIGEgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGZvciBjb21tb24gY29kZS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmM6CgkgIChnc3Rfd2F2cGFja19zdHJlYW1fcmVhZGVyX3NldF9wb3NfYWJzKSwKCSAgKGdzdF93YXZwYWNrX3N0cmVhbV9yZWFkZXJfc2V0X3Bvc19yZWwpLAoJICAoZ3N0X3dhdnBhY2tfc3RyZWFtX3JlYWRlcl93cml0ZV9ieXRlcyk6CgkgIFVzZSB0aGUgZ2VuZXJhbCB3YXZwYWNrIGRlYnVnIGNhdGVnb3J5IGhlcmUgdG9vIGFuZCBhZGQgZGVidWcKCSAgb3V0cHV0IHRvIHRoZSBmdW5jdGlvbnMgdGhhdCBzaG91bGQgbm90IGJlIGNhbGxlZCBhdCBhbGwgYnkKCSAgdGhlIHdhdnBhY2sgbGlicmFyeS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgIENoYW5nZSBkZWJ1Z2dpbmcgY2F0ZWdvcnkgbmFtZXMgdG8gY29uZm9ybSB0byB0aGUgY29udmVudGlvbnMuCgoyMDA3LTAzLTA3IDExOjM3OjIzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBTaGFyZSBxdGRlbXV4IGRlYnVnIGNhdGVnb3J5IGFjcm9zcyBhbGwgZmlsZXMsIG90aGVyd2lzZSBhbGwgZGVidWdnaW5nIGluIGZpbGVzIG90aGVyIHRoYW4gcXRkLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFNoYXJlIHF0ZGVtdXggZGVidWcgY2F0ZWdvcnkgYWNyb3NzIGFsbCBmaWxlcywgb3RoZXJ3aXNlIGFsbCBkZWJ1Z2dpbmcKCSAgaW4gZmlsZXMgb3RoZXIgdGhhbiBxdGRlbXV4LmMgd291bGQgZW5kIHVwIGluIHRoZSBkZWZhdWx0IGNhdGVnb3J5LgoKMjAwNy0wMy0wNyAxMToyMzoyMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLio6IE9uZSBGSVhNRSBsZXNzLCBieSByZXNvbHZpbmcgbWVzc2FnZSB0aW1lc3RhbXBzIGFnYWluc3QgdGhlIHBsYXliYWNrIHNlZ21lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwKCSAgKGdzdF9zcGVjdHJ1bV9ldmVudCksIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgT25lIEZJWE1FIGxlc3MsIGJ5IHJlc29sdmluZyBtZXNzYWdlIHRpbWVzdGFtcHMgYWdhaW5zdCB0aGUgcGxheWJhY2sKCSAgc2VnbWVudC4KCjIwMDctMDMtMDYgMTM6NTc6NTUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogRml4IGFuZCBjbGVhbnVwIGRlZmF1bHQgcHJvcGVydHkgdmFsdWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgIEZpeCBhbmQgY2xlYW51cCBkZWZhdWx0IHByb3BlcnR5IHZhbHVlcy4KCSAgQWRkIEZJWE1FcyBmb3Igc3R1ZmYgdGhhdCBsb29rcyByYXRoZXIgd3JvbmcuCgoyMDA3LTAzLTA1IDA4OjMwOjUyICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBSZW1vdmUgdHdvIG9ic29sZXRlIGFuZCBjb25mdXNpbmcgY29tbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAobWVzc2FnZV9oYW5kbGVyKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1lc3NhZ2VfaGFuZGxlcik6CgkgIFJlbW92ZSB0d28gb2Jzb2xldGUgYW5kIGNvbmZ1c2luZyBjb21tZW50cy4KCjIwMDctMDMtMDQgMjE6MzY6NTAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzL25hc3NpbmsuYzogU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9uYXNzaW5rLmM6IChnc3RfbmFzX3NpbmtfY2xhc3NfaW5pdCksCgkgIChnc3RfbmFzX3NpbmtfaW5pdCksIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKToKCSAgU29tZSBtb3JlIGNsZWFudXBzL2NoYW5nZXM7IHVzZSBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDctMDMtMDQgMjA6MzU6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbmFzLzogQnVuY2ggb2YgbmFzc2luayBjbGVhbi11cHM6IG1ha2UgYnVpbGQgYnkgYWRkaW5nIHRoZSByaWdodCBDRkxBR1MgYW5kIExJQlMgdG8gTWFrZWZpbGUuYW07IHJlbmFtZSBzdHJ1Y3R1cmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25hcy9NYWtlZmlsZS5hbToKCSAgKiBleHQvbmFzL1JFQURNRToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNfc2lua19nZXRfdHlwZSksCgkgIChnc3RfbmFzX3NpbmtfYmFzZV9pbml0KSwgKGdzdF9uYXNfc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9uYXNfc2lua19pbml0KSwgKGdzdF9uYXNfc2lua19maW5hbGl6ZSksCgkgIChnc3RfbmFzX3NpbmtfZ2V0Y2FwcyksIChnc3RfbmFzX3NpbmtfcHJlcGFyZSksCgkgIChnc3RfbmFzX3NpbmtfdW5wcmVwYXJlKSwgKGdzdF9uYXNfc2lua19kZWxheSksCgkgIChnc3RfbmFzX3NpbmtfcmVzZXQpLCAoZ3N0X25hc19zaW5rX3dyaXRlKSwKCSAgKGdzdF9uYXNfc2lua19zZXRfcHJvcGVydHkpLCAoZ3N0X25hc19zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfbmFzX3Npbmtfb3BlbiksIChnc3RfbmFzX3NpbmtfY2xvc2UpLCAoTkFTX2ZsdXNoKSwKCSAgKE5BU19zZW5kRGF0YSksIChOQVNfRXZlbnRIYW5kbGVyKSwgKGdzdF9uYXNfc2lua19zaW5rX2dldF9mb3JtYXQpLAoJICAoTkFTX2NyZWF0ZUZsb3cpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5oOgoJICBCdW5jaCBvZiBuYXNzaW5rIGNsZWFuLXVwczogbWFrZSBidWlsZCBieSBhZGRpbmcgdGhlIHJpZ2h0IENGTEFHUwoJICBhbmQgTElCUyB0byBNYWtlZmlsZS5hbTsgcmVuYW1lIHN0cnVjdHVyZSwgbWFjcm9zIGFuZCBmdW5jdGlvbnMKCSAgYWNjb3JkaW5nIHRvIGNhbm9uaWNhbCBuYW1pbmcgc2NoZW1lOyBtb3ZlIHNvbWUgdGhpbmdzIGFyb3VuZCBhIGJpdDsKCSAgdXNlIEdTVF9DQVRfREVGQVVMVCBpbnN0ZWFkIG9mIEdTVF9DQVRfKiBldmVyeXdoZXJlOyByZW1vdmUgUkVBRE1FCgkgIGZpbGUgdGhhdCBkaWRuJ3QgcmVhbGx5IGNvbnRhaW4gYW55IHVzZWZ1bCBpbmZvcm1hdGlvbiBhbnl3YXkgKHRoZQoJICB1c2VmdWwgYml0cyBoYXZlIGJlZW4gbW92ZWQgaW50byB0aGUgJ2hvc3QnIHByb3BlcnR5IGRlc2NyaXB0aW9uKS4KCjIwMDctMDMtMDQgMTY6Mzg6MzkgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBDaGFpbiB1cCBpbiBmaW5hbGl6ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiAoZ3N0X2RmYnZpZGVvc2lua19maW5hbGl6ZSk6CgkgIENoYWluIHVwIGluIGZpbmFsaXplLgoKMjAwNy0wMy0wMyAyMjoyODowMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgRml4IHVwIGRpc3QuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3Qvdm1uYy9NYWtlZmlsZS5hbToKCSAgRml4IHVwIGRpc3QuCgoyMDA3LTAzLTAzIDIyOjEzOjIyICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgVk1uYyBkZWNvZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3ZtbmMvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZtbmMvdm1uY2RlYy5jOiAoZ3N0X3ZtbmNfZGVjX2Jhc2VfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfdm1uY19kZWNfaW5pdCksCgkgIChnc3Rfdm1uY19kZWNfcmVzZXQpLCAodm1uY19oYW5kbGVfd212aV9yZWN0YW5nbGUpLAoJICAocmVuZGVyX2NvbG91cl9jdXJzb3IpLCAocmVuZGVyX2N1cnNvciksICh2bW5jX21ha2VfYnVmZmVyKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmRfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmVfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmZfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX3dtdmhfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3dtdmpfcmVjdGFuZ2xlKSwKCSAgKHJlbmRlcl9yYXdfdGlsZSksIChyZW5kZXJfc3VicmVjdCksICh2bW5jX2hhbmRsZV9yYXdfcmVjdGFuZ2xlKSwKCSAgKHZtbmNfaGFuZGxlX2hleHRpbGVfcmVjdGFuZ2xlKSwgKHZtbmNfaGFuZGxlX3BhY2tldCksCgkgICh2bW5jX2RlY19zZXRjYXBzKSwgKHZtbmNfZGVjX2NoYWluKSwgKHZtbmNfZGVjX2NoYW5nZV9zdGF0ZSksCgkgICh2bW5jX2RlY19zZXRfcHJvcGVydHkpLCAodm1uY19kZWNfZ2V0X3Byb3BlcnR5KSwgKHBsdWdpbl9pbml0KToKCSAgQWRkIFZNbmMgZGVjb2Rlci4KCSAgU3RpbGwgbWlzc2luZyBzdXBwb3J0IGZvcjoKCSAgLSByZWN0YW5nbGUgdHlwZXMgSSBkaWRuJ3QgZmluZCBpbiBteSBzYW1wbGVzIChlLmcuIGNvcHksIFJSRSwKCSAgWlJMRSkKCSAgLSBhbHBoYS1jb21wb3NpdGVkIGN1cnNvcnMKCjIwMDctMDMtMDMgMTA6MjM6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbTogSW5zdGFsbCB0aGUgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9NYWtlZmlsZS5hbToKCSAgSW5zdGFsbCB0aGUgaGVhZGVycy4KCjIwMDctMDMtMDMgMTA6MTA6MzAgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgZ3N0LWxpYnMvZ3N0L2FwcC86IEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvciBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBidWZmZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcGJ1ZmZlci5oOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmM6CgkgIEFkZCBHc3RBcHBCdWZmZXIgdGhhdCBpbmNsdWRlcyBhIGNhbGxiYWNrIGFuZCBjbG9zdXJlIGZvcgoJICBwcm9wZXIgaGFuZGxpbmcgb2YgZGF0YSBjaHVua3MuCgoyMDA3LTAzLTAzIDA5OjA2OjA2ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLio6IEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEhhY2tpbmcgdG8gYWRkcmVzcyBpc3N1ZXMgaW4gNDEzNDE4LgoKMjAwNy0wMy0wMyAwODoxNjo1NyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBNb3ZlIHRoZSBhcHAgbGlicmFyeSB0byBnc3QtbGlicy9nc3QvYXBwIChkdWghKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXBwL01ha2VmaWxlLmFtOgoJICAqIGdzdC1saWJzL2dzdC9hcHAvZ3N0YXBwLmM6CgkgICogZ3N0LWxpYnMvZ3N0L2FwcC9nc3RhcHBzcmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXBwL2dzdGFwcHNyYy5oOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIE1vdmUgdGhlIGFwcCBsaWJyYXJ5IHRvIGdzdC1saWJzL2dzdC9hcHAgKGR1aCEpCgoyMDA3LTAzLTAyIDE5OjQzOjQ4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbmFzL25hc3NpbmsuYzoKCSogZXh0L25hcy9uYXNzaW5rLmg6CgkgIENvbW1pdCBOQVMgU2luaywgY2xvc2VkIGJ1Z3ppbGxhIDM0NTYzMwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ29tbWl0IE5BUyBTaW5rLCBjbG9zZWQgYnVnemlsbGEgMzQ1NjMzCgoyMDA3LTAzLTAyIDE4OjI0OjE0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2R0cy9nc3RkdHNkZWMuYzogQSBmZXcgc21hbGwgY2xlYW4tdXBzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19pbml0KSwgKGdzdF9kdHNkZWNfc2lua19ldmVudCk6CgkgIEEgZmV3IHNtYWxsIGNsZWFuLXVwcy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRjYXBzKToKCSAgTW9yZSBkZWJ1ZyBvdXRwdXQgZm9yIGZhaWx1cmUgY2FzZXMuCgoyMDA3LTAzLTAyIDE4OjEwOjA2ICswMDAwICBZb3VuZy1IbyBDaGEgPGdhbmFkaXN0QGNob2xsaWFuLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IERvbid0IGRvIGZvcmNlZCBkb3dubWl4aW5nIHRvIHN0ZXJlbywgYnV0IGNoZWNrIHdoYXQgZG93bnN0cmVhbSBjYW4gZG8gYW5kIGxldCBsaWJkdHMgZG8gdGhlIGRvdy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFlvdW5nLUhvIENoYSAgPGdhbmFkaXN0IGF0IGNob2xsaWFuIG5ldD4KCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpLAoJICAoZ3N0X2R0c2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBEb24ndCBkbyBmb3JjZWQgZG93bm1peGluZyB0byBzdGVyZW8sIGJ1dCBjaGVjayB3aGF0IGRvd25zdHJlYW0KCSAgY2FuIGRvIGFuZCBsZXQgbGliZHRzIGRvIHRoZSBkb3dubWl4aW5nIGJhc2VkIG9uIHRoYXQgKCM0MDA1NTUpLgoKMjAwNy0wMy0wMiAxMzozMzozOSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBzcHVyaW91cyBjb25mbGljdCBtYXJrZXIKCjIwMDctMDMtMDIgMTI6MDQ6MDIgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLio6IFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwIG1lbWJlciAoIzM4ODA1MCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyICA8bHV0eiB0b3Bmcm9zZSBkZT4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jbGFzc19pbml0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfaW5pdCksIChnc3RfbmVvbmh0dHBfc3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3NldF91cmkpLCAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJveHkpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZW5kX3JlcXVlc3RfYW5kX3JlZGlyZWN0KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFNpbXBsaWZ5IF9zZXRfdXJpKCkgYW5kIF9zZXRfcHJveHkoKSBhbmQgcmVtb3ZlIHRoZSB1bnVzZWQgaXNodHRwCgkgIG1lbWJlciAoIzM4ODA1MCkuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJvZ3VzIFVSSSB0byBzb21ldGhpbmcgdGhhdCBhY3R1YWxseSBleGlzdHMsIG90aGVyd2lzZSB3ZSBqdXN0CgkgIGJ5cGFzcyB0aGUgdGVzdCAoYW5kIGFsc28gdG8gc29tZXRoaW5nIHRoYXQgZG9lc24ndCByZWRpcmVjdCwgc2luY2UKCSAgbmVvbmh0dHBzcmMgZG9lc24ndCBzZWVtIHRvIGhhbmRsZSB0aGlzIHZlcnkgZ3JhY2VmdWxseSB5ZXQpCgoyMDA3LTAzLTAyIDExOjE0OjMzICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L2l2b3JiaXMvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNkZWMuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZGVjLmg6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZCBwYXRjaCBmcm9tIEJ1ZyAzNTcwNTUgZnJvbSBDaHJpcyBMb3JkLCBhZGRpbmcgc3VwcG9ydCBmb3IgVm9yYmlzIHN0cmVhbXMKCjIwMDctMDMtMDEgMTc6Mjc6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IERyYXcgcGx1Z2lucyBpbiBmcm9tIHRoZSBidWlsZCB0cmVlIHN5cy8gZGlyLCByYXRoZXIgdGhhbiBwaWNraW5nIHVwIHRoZSBhbHJlYWR5IGluc3RhbGxlZCB2Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBEcmF3IHBsdWdpbnMgaW4gZnJvbSB0aGUgYnVpbGQgdHJlZSBzeXMvIGRpciwgcmF0aGVyIHRoYW4KCSAgcGlja2luZyB1cCB0aGUgYWxyZWFkeSBpbnN0YWxsZWQgdmVyc2lvbnMuCgoyMDA3LTAyLTI4IDE5OjMxOjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ29udmVydCB0byBuZXcgQUdfR1NUIHN0eWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENvbnZlcnQgdG8gbmV3IEFHX0dTVCBzdHlsZS4KCjIwMDctMDItMjcgMTI6MDI6MDMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3BsdWdpbi5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5oOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5oOgoJKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIHVwZGF0ZSBjb3B5cmlnaHQgc3RhdGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIGNvcHlyaWdodCBzdGF0ZW1lbnRzCgoyMDA3LTAyLTI3IDExOjMwOjE5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL29zeHZpZGVvLzogRGlzYWJsZSB0aGUgY29jb2EgZXZlbnQgbG9vcCBzaW5jZSBpdCdzIGEgaHVnZSBtZW1vcnkgbGVhay4gU2hvdWxkIG9ubHkgbWF0dGVyIGlmIHRoZSBzaW5rIGlzbid0IHVzZWQgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5oOgoJICAqIHN5cy9vc3h2aWRlby9jb2NvYXdpbmRvdy5tOgoJICAqIHN5cy9vc3h2aWRlby9vc3h2aWRlb3NpbmsuaDoKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLm06CgkgIERpc2FibGUgdGhlIGNvY29hIGV2ZW50IGxvb3Agc2luY2UgaXQncyBhIGh1Z2UgbWVtb3J5IGxlYWsuIFNob3VsZCBvbmx5CgkgIG1hdHRlciBpZiB0aGUgc2luayBpc24ndCB1c2VkIHdpdGhpbiBhbiBOU0FwcCAod2hpY2ggaGFzIGFscmVhZHkgZ290CgkgIGEgY29jYSBldmVudCBsb29wKS4KCSAgUmVtb3ZlIGFsbCB1bnVzZWQgY29kZS4KCjIwMDctMDItMjYgMjE6MDE6MDMgKzAwMDAgIERhdmlkIFNjaGxlZWYgPGRzQHNjaGxlZWYub3JnPgoKCSAgQWRkIGEgbmV3IHBsdWdpbi9saWJyYXJ5IHRvIG1ha2UgaXQgZWFzeSBmb3IgYXBwcyB0byBzaG92ZSBkYXRhIGludG8gYSBwaXBlbGluZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9hcHAvTWFrZWZpbGUuYW06CgkgICogZ3N0L2FwcC9nc3RhcHAuYzoKCSAgKiBnc3QvYXBwL2dzdGFwcHNyYy5jOgoJICAqIGdzdC9hcHAvZ3N0YXBwc3JjLmg6CgkgIEFkZCBhIG5ldyBwbHVnaW4vbGlicmFyeSB0byBtYWtlIGl0IGVhc3kgZm9yIGFwcHMgdG8gc2hvdmUKCSAgZGF0YSBpbnRvIGEgcGlwZWxpbmUuCgoyMDA3LTAyLTI2IDEwOjMyOjMwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3JlYWwvOiBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbiBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOiAoZ3N0X3JlYWxfYXVkaW9fZGVjX2luaXQpOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOiAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpOgoJICBVc2UgZ3N0X3BhZF91c2VfZml4ZWRfY2FwcygpIG9uIHNvdXJjZSBwYWRzLCB0byBhdm9pZCBuZWdvdGlhdGlvbgoJICBlcnJvcnMgaW4gY2VydGFpbiBzaXR1YXRpb25zIChlLmcuIGRlYyAhIGNzICEgeGltYWdlc2luayBhbmQgdGhlCgkgIGltYWdlc2luayB3aW5kb3cgaXMgcmVzaXplZCk7IGFsc28sIHNvbWUgbWlub3IgY2xlYW4tdXBzLgoKMjAwNy0wMi0yNCAyMjo1Mjo0OCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCBidWlsZCB3aXRoIExERkxBR1M9Jy1XbCwteixkZWZzJy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkgICogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9maWx0ZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIHdpdGggTERGTEFHUz0nLVdsLC16LGRlZnMnLgoKMjAwNy0wMi0yMCAyMTozNDowMCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay4qOiBSZW1vdmUgaW5jbHVkZSBvZiB1bnVzZWQgaGVhZGVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSAgUmVtb3ZlIGluY2x1ZGUgb2YgdW51c2VkIGhlYWRlcnMuCgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3JtcGx1Z2luLmM6CgkgICogc3lzL3dhdmVmb3JtL2dzdHdhdmVmb3Jtc2luay5jOgoJICAqIHN5cy93YXZlZm9ybS9nc3R3YXZlZm9ybXNpbmsuaDoKCSAgKiB3aW4zMi92czYvbGliZ3N0d2F2ZWZvcm0uZHNwOgoJICBBZGQgYSBuZXcgd2F2ZWZvcm0gcGx1Z2luIHdoaWNoIGluY2x1ZGVzIGFuIGF1ZGlvIHNpbmsKCSAgZWxlbWVudCB1c2luZyB0aGUgV2F2ZUZvcm0gd2luMzIgQVBJLgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBBZGQgdGhlIG5ldyBwcm9qZWN0IGZpbGUgZm9ybSB3YXZlZm9ybSBwbHVnaW4uCgoyMDA3LTAyLTE4IDE4OjAwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvZGlyZWN0ZHJhdy86IFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIFByZXBhcmUgdGhlIHBsdWdpbiB0byBtb3ZlIHRvIGdvb2Q6CgkgIFJlbW92ZSB1bnVzZWQvdW50ZXN0ZWQgY29kZSAocmVuZGVyaW5nIHRvIGFuIGV4dGVybiBzdXJmYWNlLAoJICB5dXYgZm9ybWF0IHJlbmRlcmluZykuVXNlIEdTVF8oREVCVUcvKilfT0JKRUNUIG1hY3JvcwoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3RkcmF3c2luayB0byBnc3RfZGlyZWN0ZHJhd19zaW5rLgoJICBBZGQgZ3RrIGRvYyBzZWN0aW9uCgkgIEZpeCBhIGJ1ZyBpbiBnc3RfZGlyZWN0ZHJhd19zaW5rX3Nob3dfZnJhbWUsIG1lbWNweSBsaW5lIGJ5IGxpbmUKCSAgcmVzcGVjdGluZyBkZXN0aW5hdGlvbiBzdXJmYWNlIHN0cmlkZS4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRwbHVnaW4uYzoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICBQcmVwYXJlIHRoZSBwbHVnaW4gdG8gbW92ZSB0byBnb29kOgoJICBSZW5hbWUgYWxsIGZ1bmN0aW9ucyBmcm9tIGdzdF9kaXJlY3Rzb3VuZHNpbmsgdG8gZ3N0X2RpcmVjdHNvdW5kX3NpbmsuCgkgIEFkZCBndGsgZG9jIHNlY3Rpb24KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmguaW46CgkgICogd2luMzIvTUFOSUZFU1Q6CgkgIEFkZCBjb25maWcuaC5pbgoKMjAwNy0wMi0xNiAxNjoyNjozMSArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBlcXVhbGl6ZXIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZXF1YWxpemVyIHBsdWdpbgoKMjAwNy0wMi0xMyAxNDoyMjo1MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZXh0L01ha2VmaWxlLmFtOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbWlzc2luZyBcIGluIE1ha2VmaWxlLmFtCgoyMDA3LTAyLTEzIDA5OjQ0OjIwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4gdGltaWRpdHkuY2ZnIGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBBZGQgY3Jvc3NyZWZlcmVuY2VzIHRvIGdsaWIvZ29iamVjdC9nc3RyZWFtIGRvY3MuIEFsc28gZml4IHR5cG8gaW4KCSAgdGltaWRpdHkuY2ZnIGNoZWNrLgoJICAqIGV4dC90aW1pZGl0eS9nc3R0aW1pZGl0eS5jOiAocGx1Z2luX2luaXQpOgoJICBBbHNvIGJ1aWxkIGlmIG5vIGNvbmZpZyB3YXMgZGV0ZWN0ZWQgYXQgY29uZmlndXJlIHRpbWUuCgoyMDA3LTAyLTExIDE1OjQ2OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwIGxvZ2dpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHdpbGRtaWRpLmM6IChnc3Rfd2lsZG1pZGlfYmFzZV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9jbGFzc19pbml0KSwgKGdzdF93aWxkbWlkaV9pbml0KSwKCSAgKGdzdF93aWxkbWlkaV9zcmNfY29udmVydCksIChnc3Rfd2lsZG1pZGlfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93aWxkbWlkaV9nZXRfdXBzdHJlYW1fc2l6ZSksIChnc3Rfd2lsZG1pZGlfZ2V0X3NlZ21lbnQpLAoJICAoZ3N0X3dpbGRtaWRpX2dldF9uZXdfc2VnbWVudF9ldmVudCksIChnc3Rfd2lsZG1pZGlfc3JjX2V2ZW50KSwKCSAgKGdzdF93aWxkbWlkaV9hY3RpdmF0ZSksIChnc3Rfd2lsZG1pZGlfYWN0aXZhdGVwdWxsKSwKCSAgKGdzdF93aWxkbWlkaV9hbGxvY2F0ZV9idWZmZXIpLCAoZ3N0X3dpbGRtaWRpX2NsaXBfYnVmZmVyKSwKCSAgKGdzdF93aWxkbWlkaV9maWxsX2J1ZmZlciksIChnc3Rfd2lsZG1pZGlfZ2V0X2J1ZmZlciksCgkgIChnc3Rfd2lsZG1pZGlfbG9vcCksIChnc3Rfd2lsZG1pZGlfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF93aWxkbWlkaV9zZXRfcHJvcGVydHkpLCAoZ3N0X3dpbGRtaWRpX2dldF9wcm9wZXJ0eSksCgkgIChnc3Rfd2lsZG1pZGlfdHlwZWZpbmQpLCAod2lsZG1pZGlfb3Blbl9jb25maWcpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC90aW1pZGl0eS9nc3R3aWxkbWlkaS5oOgoJICBBZGQgc2Vjb25kIG1pZGkgcmVuZGVyZXIuIEZpeCBzb21lIGRvdWJsZSBmcmVlcyBhbmQgbGVha3MuIENsZWFuIHVwCgkgIGxvZ2dpbmcuCgoyMDA3LTAyLTExIDE1OjI2OjQ5ICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBNYWtlZmlsZS5hbTogQWRkIHdpbjMyIE1BTklGRVNUCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICBBZGQgd2luMzIgTUFOSUZFU1QKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkgIENsZWFyIHVudXNlZCBjb2RlIGFuZCBhZGQgY29tbWVudHMuCgkgIFJlbW92ZSB5dXYgZnJvbSB0ZW1wbGF0ZSBjYXBzLCBpdCBvbmx5IHN1cHBvcnRzIFJHQgoJICBhY3R1YWxseS4KCSAgSW1wbGVtZW50IFhPdmVybGF5IGludGVyZmFjZSBhbmQgcmVtb3ZlIHdpbmRvdyBhbmQgZnVsbHNjcmVlbgoJICBwcm9wZXJ0aWVzLgoJICBBZGQgZGVidWcgbG9ncy4KCSAgVGVzdCBmb3IgYmxpdCBjYXBhYmlsaXRpZXMgdG8gcmV0dXJuIG9ubHkgdGhlIGN1cnJlbnQgY29sb3JzcGFjZSBpZgoJICB0aGUgaGFyZHdhcmUgY2FuJ3QgYmxpdCBmb3Igb25lIGNvbG9yc3BhY2UgdG8gYW5vdGhlci4KCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIEFkZCBzb21lIGRlYnVncy4KCSAgKiB3aW4zMi9NQU5JRkVTVDoKCSAgQWRkIFZTNyBwcm9qZWN0IGZpbGVzIGFuZCBzb2x1dGlvbi4KCSAgKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSAgKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0ZHJhdy5kc3A6CgkgICogd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcDoKCSAgKiB3aW4zMi92czYvbGliZ3N0cXRkZW11eC5kc3A6CgkgIFVwZGF0ZSBwcm9qZWN0IGZpbGVzLgoKMjAwNy0wMi0xMSAxMTo1OTo0OSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICBBbHNvIHVwZGF0ZSB0aGUgY29tbWVudCB0aGF0IGRlc2NyaWJlcyB0aGUgaGFjay4KCjIwMDctMDItMTEgMTE6MzU6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogVGVsbCB0aGUgY29kZSB3aGljaCBmYWFkIGl0IGlzLCBzbyB0aGF0IHdlIGNhbiBhZGp1c3QgdGhlIGhhY2tzIG5lZWRlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBUZWxsIHRoZSBjb2RlIHdoaWNoIGZhYWQgaXQgaXMsIHNvIHRoYXQgd2UgY2FuIGFkanVzdCB0aGUgaGFja3MKCSAgbmVlZGVkLgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgTWFrZSBvdXIgaGFja3MgZGVwZW5kZW50IG9uIHRoZSBmYWRkIGxpYiBpbiB1c2UuCgoyMDA3LTAyLTExIDEwOjU4OjE0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBmYWFkIGRldGVjdGlvbiB0byBzdXBwb3J0IGFsc28gZmFkZCB3aXRoIG5ldyBzeW1ib2wgcHJlZml4LgoJICBDaGFuZ2VMb2cgc3VyZ2VyeS4KCjIwMDctMDItMDggMTU6MDA6MDAgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgoJICBBZGQgdGltaXRpdHkgbWlkaSByZW5kZXIgcGx1Z2luICgjNDAzOTkyKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFdvdXRlciBQYWVzZW4gPHdvdXRlckBibHVlLWdhdGUuYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGltaWRpdHkvTWFrZWZpbGUuYW06CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5LmM6IChnc3RfdGltaWRpdHlfYmFzZV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9jbGFzc19pbml0KSwgKGdzdF90aW1pZGl0eV9pbml0KSwKCSAgKGdzdF90aW1pZGl0eV9zZXRfc29uZ19vcHRpb25zKSwgKGdzdF90aW1pZGl0eV9zcmNfY29udmVydCksCgkgIChnc3RfdGltaWRpdHlfc3JjX3F1ZXJ5KSwgKGdzdF90aW1pZGl0eV9nZXRfdXBzdHJlYW1fc2l6ZSksCgkgIChnc3RfdGltaWRpdHlfZ2V0X3NlZ21lbnQpLCAoZ3N0X3RpbWlkaXR5X2dldF9uZXdfc2VnbWVudF9ldmVudCksCgkgIChnc3RfdGltaWRpdHlfc3JjX2V2ZW50KSwgKGdzdF90aW1pZGl0eV9hY3RpdmF0ZSksCgkgIChnc3RfdGltaWRpdHlfYWN0aXZhdGVwdWxsKSwgKGdzdF90aW1pZGl0eV9hbGxvY2F0ZV9idWZmZXIpLAoJICAoZ3N0X3RpbWlkaXR5X2NsaXBfYnVmZmVyKSwgKGdzdF90aW1pZGl0eV9maWxsX2J1ZmZlciksCgkgIChnc3RfdGltaWRpdHlfZ2V0X2J1ZmZlciksIChnc3RfdGltaWRpdHlfbG9vcCksCgkgIChnc3RfdGltaWRpdHlfY2hhbmdlX3N0YXRlKSwgKGdzdF90aW1pZGl0eV90eXBlZmluZCksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L3RpbWlkaXR5L2dzdHRpbWlkaXR5Lmg6CgkgIEFkZCB0aW1pdGl0eSBtaWRpIHJlbmRlciBwbHVnaW4gKCM0MDM5OTIpCgoyMDA3LTAyLTA3IDEyOjI5OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX3F1ZXJ5KToKCSAgR1NUX1BBRF9QQVJFTlQgZG9lc24ndCByZXR1cm4gYSBHc3RPYmplY3Qgd2l0aCBhbiBpbmNyZW1lbnRlZCByZWZjb3VudC4KCSAgU3dpdGNoZWQgdG8gdXNpbmcgZ3N0X3BhZF9nZXRfcGFyZW50KCkuCgoyMDA3LTAyLTA2IDE2OjAwOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzogUmVtb3ZlIHN1cGVyZmx1b3VzIGdzdF9jYXBzX2dldF9zdHJ1Y3R1cmUoKSBjYWxsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2NhcHNfZ2V0X3N0cnVjdHVyZSgpIGNhbGwuCgoyMDA3LTAyLTA2IDEwOjE2OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBJbmNyZWFzZSByZXF1aXJlZCBsaWJzbmRmaWxlIHZlcnNpb24gdG8gYSB2ZXJzaW9uIHRoYXQncyBrbm93biB0byBoYXZlIHRoZSBmdW5jdGlvbiBzZl93cml0ZV9zeW5jKCkgdG8gLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgSW5jcmVhc2UgcmVxdWlyZWQgbGlic25kZmlsZSB2ZXJzaW9uIHRvIGEgdmVyc2lvbiB0aGF0J3Mga25vd24gdG8KCSAgaGF2ZSB0aGUgZnVuY3Rpb24gc2Zfd3JpdGVfc3luYygpIHRvIG1ha2UgdGhlIGJ1aWxkIGJvdHMgaGFwcHkuCgoyMDA3LTAyLTA2IDA5OjM5OjE2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NuZGZpbGUvZ3N0c2ZzcmMuYzogRml4IGJ1aWxkIChpbnN0YWxsZWQgc2V0dXApLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5jOgoJICBGaXggYnVpbGQgKGluc3RhbGxlZCBzZXR1cCkuCgoyMDA3LTAyLTA1IDE4OjQyOjQ1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvc25kZmlsZS86IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoIHJhbmRvbSBhY2Nlc3Mgd29vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvc25kZmlsZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvc25kZmlsZS9nc3RzZnNyYy5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc3JjLmM6IFBvcnQgc2ZzcmMgdG8gMC4xMCwgcHVsbCBvciBwdXNoLCB3aXRoCgkgIHJhbmRvbSBhY2Nlc3Mgd29vLgoKMjAwNy0wMi0wMyAyMzozNToyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEZpeCB1cCB0byB1c2UgdGhlIG5ld2x5IHBvcnRlZCAoYWN0dWFsbHkgd29ya2luZykgR3N0QXVkaW9GaWx0ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZXF1YWxpemVyL01ha2VmaWxlLmFtOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY2xhc3NfaW5pdCksIChnc3RfaWlyX2VxdWFsaXplcl9pbml0KSwKCSAgKHNldHVwX2ZpbHRlciksIChnc3RfaWlyX2VxdWFsaXplcl9jb21wdXRlX2ZyZXF1ZW5jaWVzKSwKCSAgKGdzdF9paXJfZXF1YWxpemVyX3NldF9wcm9wZXJ0eSksIChnc3RfaWlyX2VxdWFsaXplcl9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfdHJhbnNmb3JtX2lwKSwgKGdzdF9paXJfZXF1YWxpemVyX3NldHVwKSwKCSAgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5oOgoJICBGaXggdXAgdG8gdXNlIHRoZSBuZXdseSBwb3J0ZWQgKGFjdHVhbGx5IHdvcmtpbmcpIEdzdEF1ZGlvRmlsdGVyLgoJICBCdW1wIGNvcmUvYmFzZSByZXF1aXJlbWVudHMgdG8gQ1ZTIGZvciB0aGlzLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkgICogdGVzdHMvaWNsZXMvZXF1YWxpemVyLXRlc3QuYzogKGNoZWNrX2J1cyksCgkgIChlcXVhbGl6ZXJfc2V0X2JhbmRfdmFsdWUpLCAoZXF1YWxpemVyX3NldF9hbGxfYmFuZF92YWx1ZXMpLAoJICAoZXF1YWxpemVyX3NldF9iYW5kX3ZhbHVlX2FuZF93YWl0KSwKCSAgKGVxdWFsaXplcl9zZXRfYWxsX2JhbmRfdmFsdWVzX2FuZF93YWl0KSwgKGRvX3NsaWRlcl9maWRkbGluZyksCgkgIChtYWluKToKCSAgQWRkIGJyYWluLWRlYWQgaW50ZXJhY3RpdmUgdGVzdCBmb3IgZXF1YWxpemVyLgoKMjAwNy0wMi0wMiAxODozNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2VxdWFsaXplci9nc3RpaXJlcXVhbGl6ZXIuYzogKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0X3Byb3BlcnR5KSwgKGdzdF9paXJfZXF1YWxpemVyX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9maWx0ZXJfaW5wbGFjZSk6CgkgIFJlbmFtZSAidmFsdWVzIiBwcm9wZXJ0eSB0byAiYmFuZC12YWx1ZXMiIGFuZCBjaGFuZ2UgdHlwZSBpbnRvIGEKCSAgR1ZhbHVlQXJyYXksIHNvIGl0J3MgbW9yZSBlYXNpbHkgYmluZGFibGUgYW5kIHRoZSByYW5nZSBvZiB0aGUKCSAgdmFsdWVzIHBhc3NlZCBpbiBpcyBkZWZpbmVkIGFuZCBjaGVja2VkIGV0Yy47IGFsc28gZG8gc29tZQoJICBsb2NraW5nLgoKMjAwNy0wMi0wMiAxNzozOToyMSArMDAwMCAgSmFtZXMgRG9jIExpdmluZ3N0b24gPGRvY2xpdmluZ3N0b25AZ21haWwuY29tPgoKCSAgUG9ydCBlcXVhbGl6ZXIgcGx1Z2luIHRvIDAuMTAgKCM0MDM1NzIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEphbWVzICJEb2MiIExpdmluZ3N0b24gIDxkb2NsaXZpbmdzdG9uIGF0IGdtYWlsIGNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2VxdWFsaXplci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOiAoZ3N0X2lpcl9lcXVhbGl6ZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfYmFzZV9pbml0KSwgKGdzdF9paXJfZXF1YWxpemVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfY29tcHV0ZV9mcmVxdWVuY2llcyksCgkgIChnc3RfaWlyX2VxdWFsaXplcl9zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2lpcl9lcXVhbGl6ZXJfZmlsdGVyX2lucGxhY2UpLCAoZ3N0X2lpcl9lcXVhbGl6ZXJfc2V0dXApLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0IGVxdWFsaXplciBwbHVnaW4gdG8gMC4xMCAoIzQwMzU3MikuCgoyMDA3LTAyLTAyIDEzOjI4OjA1ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBjb25maWd1cmUuYWM6IGV4dC9NYWtlZmlsZS5hbQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMi0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtCgkgICogZXh0L3NuZGZpbGUvTWFrZWZpbGUuYW06CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5oOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5jOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmc2luay5oOiBQb3J0IHNmc2luayB0byAwLjEwLiBXb3JrcyBpbiBwdWxsIG9yCgkgIHB1c2ggbW9kZSB3aXRoIGludGVybGVhdmVkIGZsb2F0IG9yIGludCBkYXRhLgoKMjAwNy0wMi0wMiAxMTowOTo1MCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiBTZXQgcmFuayB0byBOT05FIHNvIHRoYXQgaXQgZG9lc24ndCBnZXQgYXV0b3BsdWdnZWQgYnkgYXV0b2F1ZGlvc2luayAod2hpY2ggZGlkbid0IGhhcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgU2V0IHJhbmsgdG8gTk9ORSBzbyB0aGF0IGl0IGRvZXNuJ3QgZ2V0IGF1dG9wbHVnZ2VkIGJ5IGF1dG9hdWRpb3NpbmsKCSAgKHdoaWNoIGRpZG4ndCBoYXBwZW4gcHJldmlvdXNseSBiZWNhdXNlIHRoZSBrbGFzcyBzdHJpbmcgZGlkbid0CgkgIGNvbnRhaW4gYW55dGhpbmcgYXV0b2F1ZGlvc2luayB3YXMgbG9va2luZyBmb3IpLgoKMjAwNy0wMS0zMSAxMDowMjowNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3JlYWwvOiBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9yZWFsL2dzdHJlYWxhdWRpb2RlYy5jOgoJICAqIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy5jOgoJICBGaXggY2xhc3NpZmljYXRpb24gaW4gR3N0RWxlbWVudERldGFpbHMuCgoyMDA3LTAxLTMxIDA4OjMyOjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IGEgb2ZmIGJ5IG9uZSB0aGF0IGxlYWRzIHRvIHRoZSBkdXJhdGlvbiByZXBvcnRlZCBhcyBvbmUgc2FtcGxlIGxlc3MgdGhhbiBpdCBpcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCk6CgkgIEZpeCBhIG9mZiBieSBvbmUgdGhhdCBsZWFkcyB0byB0aGUgZHVyYXRpb24gcmVwb3J0ZWQgYXMgb25lCgkgIHNhbXBsZSBsZXNzIHRoYW4gaXQgaXMKCjIwMDctMDEtMzEgMDg6MTY6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCBjbGFzc2lmaWNhdGlvbiBpbiBHc3RFbGVtZW50RGV0YWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgRml4IGNsYXNzaWZpY2F0aW9uIGluIEdzdEVsZW1lbnREZXRhaWxzLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2Jhc2VfaW5pdCksCgkgIChnc3RfbGFkc3BhX2NsYXNzX2luaXQpOgoJICBJbXByb3ZlIEtsYXNzaWZpY2F0aW9uIGFuZCByZWR1Y2UgY29kZSBzbGlnaGx5LgoKMjAwNy0wMS0zMCAxNzoxOTozMyArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIGFuIE9iamVjdGl2ZSBDIGNvbXBpbGVyCgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3h2aWRlby9NYWtlZmlsZS5hbToKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cuaDoKCSAgKiBzeXMvb3N4dmlkZW8vY29jb2F3aW5kb3cubToKCSAgKiBzeXMvb3N4dmlkZW8vb3N4dmlkZW9zaW5rLmg6CgkgICogc3lzL29zeHZpZGVvL29zeHZpZGVvc2luay5tOgoJICBQb3J0IG9mIG9zeHZpZGVvIHBsdWdpbiB0byAwLjEwLiBEbyBOT1QgY29uc2lkZXIgMTAwJSBzdGFibGUgIQoJICBGaXhlcyAjNDAyNDcwCgoyMDA3LTAxLTI5IDIwOjUxOjAyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNy0wMS0yOCAxODoyODozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOgoJICAoZ3N0X3ZpZGVvX2Nyb3BfZ2V0X2ltYWdlX2RldGFpbHNfZnJvbV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWRfY29tcGxleCk6CgkgIEZpeCBjcm9wcGluZyBmb3IgcGFja2VkIDQ6MjoyIGZvcm1hdHMgWVVZVi9ZVVkyIGFuZCBVWVZZLgoJICAqIHRlc3RzL2ljbGVzL3ZpZGVvY3JvcC10ZXN0LmM6IChjaGVja19idXNfZm9yX2Vycm9ycyksCgkgICh0ZXN0X3dpdGhfY2FwcyksIChtYWluKToKCSAgQmxvY2sgc3RyZWFtaW5nIHRocmVhZCBiZWZvcmUgY2hhbmdpbmcgZmlsdGVyIGNhcHMgd2hpbGUgdGhlCgkgIHBpcGVsaW5lIGlzIHJ1bm5pbmcgc28gdGhhdCB3ZSBkb24ndCBnZXQgcmFuZG9tIG5vdC1uZWdvdGlhdGVkCgkgIGVycm9ycyBqdXN0IGJlY2F1c2UgR1N0cmVhbWVyIGNhbid0IGhhbmRsZSB0aGF0IHlldC4KCjIwMDctMDEtMjggMTc6MzU6MTMgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvOiBhZGQgR3N0Q29udHJvbGxlciBzdXBwb3J0IHRvIGxhZHNwYQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IChnc3RfbGFkc3BhX2NsYXNzX2dldF9wYXJhbV9zcGVjKToKCSAgYWRkIEdzdENvbnRyb2xsZXIgc3VwcG9ydCB0byBsYWRzcGEKCjIwMDctMDEtMjggMTM6MDE6MDIgKzAwMDAgIFJvc2ZyYW4gQm9yZ2VzIDxyb3NmcmFuLmJvcmdlc0BpZG50Lm9yZy5icj4KCgkgIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IFJlbW92ZSBzbGVlcCBjYWxscywgdGhleSd2ZSBiZWVuIG1vdmVkIGludG8gdGhlIGxpYnJhcnkgbm93IC4uLiAoIzM1NDQ1MSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogUm9zZnJhbiBCb3JnZXMgPHJvc2ZyYW4gZG90IGJvcmdlcyBhdCBpZG50IG9yZyBicj4KCSAgKiBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiAoZ3N0X215dGh0dl9zcmNfc3RhcnQpLAoJICAoZ3N0X215dGh0dl9zcmNfbmV4dF9wcm9ncmFtX2NoYWluKToKCSAgUmVtb3ZlIHNsZWVwIGNhbGxzLCB0aGV5J3ZlIGJlZW4gbW92ZWQgaW50byB0aGUgbGlicmFyeSBub3cgLi4uCgkgICgjMzU0NDUxKS4KCjIwMDctMDEtMjcgMTY6MDg6MTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYXRjaCBlcnJvcnMgd2hpbGUgdGhlIHRlc3QgaXMgcnVubmluZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKHRlc3Rfd2l0aF9jYXBzKToKCSAgQ2F0Y2ggZXJyb3JzIHdoaWxlIHRoZSB0ZXN0IGlzIHJ1bm5pbmcuCgoyMDA3LTAxLTI1IDIzOjI3OjU5ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogRml4IHRoZSBTRUVLSU5HIHF1ZXJ5LiBXZSBjYW4gc2VlayBpZiB3ZSBhcmUgaW4gcHVsbCBtb2RlLCBub3QgdGhlIG90aGVyIHdheSBhcm91bmQuIEEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGaXggdGhlIFNFRUtJTkcgcXVlcnkuIFdlIGNhbiBzZWVrIGlmIHdlIGFyZSBpbiBwdWxsIG1vZGUsIG5vdCB0aGUKCSAgb3RoZXIgd2F5IGFyb3VuZC4gQWxzbyBzZXQgdGhlIGNvcnJlY3QgZm9ybWF0IGluIHRoZSBzZWVraW5nIHF1ZXJ5IGFuZAoJICBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgdGhlIGhlYWRlcnMgYXJlIG5vdCByZWFkIHlldCBhbmQgd2UgY2FuJ3Qgc2F5CgkgIGFueXRoaW5nIGFib3V0IG91ciBzZWVraW5nIGNhcGFiaWxpdGllcy4KCjIwMDctMDEtMjUgMjE6NTU6NDkgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgRml4IHNwZWxsaW5nIGluIDIgcGxhY2VzOiBJdCdzIGNhbGxlZCBXYXZwYWNrLCBub3QgV2F2ZVBhY2suCgoyMDA3LTAxLTI1IDEyOjA1OjExICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0LzogVXNlIHByb3BlciBwcmludCBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKGdzdF9tdWx0aV9maWxlX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGVzcmMuYzogKGdzdF9tdWx0aV9maWxlX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX3ZpZGVvX2NyZWF0ZV9idWZmZXIpLAoJICAoZ3N0X212ZV92aWRlb19wYWxldHRlKSwgKGdzdF9tdmVfdmlkZW9fY29kZV9tYXApLAoJICAoZ3N0X212ZV9hdWRpb19pbml0KSwgKGdzdF9tdmVfYXVkaW9fZGF0YSksIChnc3RfbXZlX3RpbWVyX2NyZWF0ZSksCgkgIChnc3RfbXZlX2RlbXV4X2NoYWluKToKCSAgKiBnc3QvbXZlL2dzdG12ZW11eC5jOiAoZ3N0X212ZV9tdXhfcHVzaF9jaHVuayk6CgkgICogZ3N0L212ZS9tdmVhdWRpb2VuYy5jOiAobXZlX2NvbXByZXNzX2F1ZGlvKToKCSAgKiBnc3QvbXZlL212ZXZpZGVvZGVjMTYuYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzogKGlwdmlkZW9fY29weV9ibG9jayk6CgkgICogZ3N0L212ZS9tdmV2aWRlb2VuYzE2LmM6IChtdmVfZW5jb2RlX2ZyYW1lMTYpOgoJICAqIGdzdC9tdmUvbXZldmlkZW9lbmM4LmM6IChtdmVfZW5jb2RlX2ZyYW1lOCk6CgkgIFVzZSBwcm9wZXIgcHJpbnQgc3RhdGVtZW50cy4KCSAgRml4ZXMgYnVpbGQgb24gbWFjIG9zIHguCgkgIDx3aW5nbz4gb28gbG9vayBhdCBtZSBteSBuYW1lIGlzIGVkd2FyZCBpJ20gaGFja2luZyBvbiBtYWNvcyB3b29vCgoyMDA3LTAxLTI0IDExOjI5OjAwICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuYzogRml4IGNhcHMgb24gdGhlIGRlcGF5bG9hZGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9nc3RydHB4cXRkZXBheS5jOgoJICBGaXggY2FwcyBvbiB0aGUgZGVwYXlsb2FkZXIuCgoyMDA3LTAxLTIzIDE0OjU0OjAxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9hbXJ3Yi9NYWtlZmlsZS5hbToKCSAgd29yayBpZiBpdCdzIGFscmVhZHkgdGhlcmUgdG9vCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB3b3JrIGlmIGl0J3MgYWxyZWFkeSB0aGVyZSB0b28KCjIwMDctMDEtMTcgMTc6Mjk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXl0aHR2L2dzdG15dGh0dnNyYy5jOiBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpOgoJICBVc2UgYnJlYWsgaGVyZSBpbnN0ZWFkIG9mIGdvdG8uCgoyMDA3LTAxLTEzIDE5OjEyOjMyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBnc3QvaW50ZXJsZWF2ZS9kZWludGVybGVhdmUuYyAoZ3N0X2RlaW50ZXJsZWF2ZV9hZGRfbmV3X3BhZHMpOiBVc2UgZml4ZWQgY2FwcyBvbiBzcmMgcGFkcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMTMgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmMgKGdzdF9kZWludGVybGVhdmVfYWRkX25ld19wYWRzKToKCSAgVXNlIGZpeGVkIGNhcHMgb24gc3JjIHBhZHMuCgkgIChnc3RfZGVpbnRlcmxlYXZlX3JlbW92ZV9wYWRzKTogUmVtb3ZlIHNyYyBwYWRzLCBub3Qgc2luayBwYWRzLiBJCgkgIHNlZW0gdG8gaGF2ZSByZXZlcnNlIG1pZGFzIGRpc2Vhc2UhCgkgIChnc3RfZGVpbnRlcmxlYXZlX3Byb2Nlc3MpOiBQcm94eSB0aW1lc3RhbXBzLCBvZmZzZXRzLCBkdXJhdGlvbnMsCgkgIGFuZCBzZXQgY2FwcyBvbiBvdXRnb2luZyBidWZmZXJzLiBGaXhlcyAjMzk1NTk3LCBJIHRoaW5rLgoKMjAwNy0wMS0xMyAxODowMTo0MSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZ3N0L2ludGVybGVhdmUvaW50ZXJsZWF2ZS5jIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogSW5pdCB0aGUgYWN0aXZhdGlvbiBtb2RlIHByb3Blcmx5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMyAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmMgKGdzdF9pbnRlcmxlYXZlX2luaXQpOiBJbml0IHRoZQoJICBhY3RpdmF0aW9uIG1vZGUgcHJvcGVybHkuCgkgIChnc3RfaW50ZXJsZWF2ZV9zcmNfc2V0Y2FwcywgZ3N0X2ludGVybGVhdmVfc3JjX2dldGNhcHMpCgkgIChnc3RfaW50ZXJsZWF2ZV9pbml0KTogU2V0IGEgc2V0Y2FwcyBhbmQgZ2V0Y2FwcyBmdW5jdGlvbiBvbiB0aGUKCSAgc3JjIHBhZCwgc28gdGhhdCB3ZSBjYW4gaW1wbGVtZW50IHB1bGwtbW9kZSBuZWdvdGlhdGlvbi4KCSAgKGdzdF9pbnRlcmxlYXZlX3Npbmtfc2V0Y2Fwcyk6IFJlbmFtZWQgZnJvbQoJICBnc3RfaW50ZXJsZWF2ZV9zZXRjYXBzLCBhcyBpdCBvbmx5IGRvZXMgdGhlIHNpbmsgbG9naWMgbm93LgoJICBJbXBsZW1lbnQgYm90aCBmb3IgcHVsbC1tb2RlIGFuZCBwdXNoLW1vZGUuCgkgIChnc3RfaW50ZXJsZWF2ZV9wcm9jZXNzKTogU2V0IGNhcHMgb24gb3VyIG91dGdvaW5nIGJ1ZmZlci4KCSAgKGdzdF9pbnRlcmxlYXZlX3NyY19hY3RpdmF0ZV9wdWxsKTogRml4IHNvbWUgbW9yZSBib2d1cyBjYXN0cy4KCSAgV2hhdCBpcyB1cCB3aXRoIHRoaXMuCgoyMDA3LTAxLTEzIDEyOjM3OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L215dGh0di9nc3RteXRodHZzcmMuYzogQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9teXRodHYvZ3N0bXl0aHR2c3JjLmM6IChkb19yZWFkX3JlcXVlc3RfcmVzcG9uc2UpLAoJICAoZ3N0X215dGh0dl9zcmNfY3JlYXRlKSwgKGdzdF9teXRodHZfc3JjX2dldF9wb3NpdGlvbiksCgkgIChnc3RfbXl0aHR2X3NyY19kb19zZWVrKSwgKGdzdF9teXRodHZfc3JjX3N0YXJ0KSwKCSAgKGdzdF9teXRodHZfc3JjX25leHRfcHJvZ3JhbV9jaGFpbiksIChnc3RfbXl0aHR2X3NyY19nZXRfc2l6ZSksCgkgIChnc3RfbXl0aHR2X3NyY19oYW5kbGVfZXZlbnQpLCAoZ3N0X215dGh0dl9zcmNfaGFuZGxlX3F1ZXJ5KSwKCSAgKGdzdF9teXRodHZfc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfbXl0aHR2X3NyY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X215dGh0dl9zcmNfdXJpX2dldF90eXBlKToKCSAgQ2xlYW4gdXAgYSBiaXQsIG1vc3RseSB0aGUgZGVidWcgc3RhdGVtZW50czsgZml4IGRlYWRsb2NrIGluCgkgIF9zZXRfcHJvcGVydHkoKSBpbiB0aGUgZXJyb3IgY2FzZXM7IGZpeCB1cCBxdWVyeSBmdW5jdGlvbi4KCjIwMDctMDEtMTIgMjE6NTg6NDMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZml4YXRlKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNy0wMS0xMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9vdWlqYV9jYXBzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKToKCSAgUmVtb3ZlIGZpeGF0ZS9vdWlqYSBzdHVmZiwgdGhhbmtmdWxseSwgZHVlIHRvIHRoZSBuZXcKCSAgcGFydC1uZWdvdGlhdGlvbi50eHQgcHVsbC1tb2RlIG5lZ290aWF0aW9uIHNjaGVtZS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHNfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpOiBJbXBsZW1lbnQgdXBzdHJlYW0gc2V0X2NhcHMgcHVsbAoJICBwcm94eWluZyBmb3IgcHVsbCBtb2RlLiBOb3cgdGhpcyB3b3JrczogbGFkc3BhLXNpbmUtZmNhYyAhCgkgIGF1ZGlvY29udmVydCAhIGFsc2FzaW5rLgoKMjAwNy0wMS0xMiAxOTowMjozNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9NYWtlZmlsZS5hbToKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuYzoKCSogZXh0L215dGh0di9nc3RteXRodHZzcmMuaDoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIE15dGhUViBjbGllbnQgc291cmNlIHBsdWdpbiBjcmVhdGVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTXl0aFRWIGNsaWVudCBzb3VyY2UgcGx1Z2luIGNyZWF0ZWQuCgoyMDA3LTAxLTEyIDE3OjE2OjUxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvOiBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L2dzdHJ0cHhxdGRlcGF5LmM6IChnc3RfcnRwX3hxdF9kZXBheV9iYXNlX2luaXQpLAoJICAoZ3N0X3J0cF94cXRfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfcnRwX3hxdF9kZXBheV9pbml0KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9ydHBfcXVpY2t0aW1lX3BhcnNlX3NkKSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X3NldGNhcHMpLCAoZ3N0X3J0cF94cXRfZGVwYXlfcHJvY2VzcyksCgkgIChnc3RfcnRwX3hxdF9kZXBheV9zZXRfcHJvcGVydHkpLCAoZ3N0X3J0cF94cXRfZGVwYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9ydHBfeHF0X2RlcGF5X2NoYW5nZV9zdGF0ZSksIChnc3RfcnRwX3hxdF9kZXBheV9wbHVnaW5faW5pdCk6CgkgICogZ3N0L3F0ZGVtdXgvZ3N0cnRweHF0ZGVwYXkuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9iYXNlX2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLAoJICAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9xdGRlbXV4L3F1aWNrdGltZS5jOiAocGx1Z2luX2luaXQpOgoJICBBZGQgWC1RVCBkZXBheWxvYWRlciB0aGF0IHdpbGwgZXZlbnR1YWxseSBzaGFyZSBjb2RlIHdpdGggdGhlIGRlbXV4ZXIuCgkgIE1ha2UgbmV3IHBsdWdpbiBlbnRyeSBwb2ludCB3aXRoIHF1aWNrdGltZSByZWxlYXRlZCBzdHVmZi4KCjIwMDctMDEtMTIgMTI6MTA6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbTogRGlzdCBhbGwgbmV3IGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9NYWtlZmlsZS5hbToKCSAgRGlzdCBhbGwgbmV3IGZpbGVzLgoKMjAwNy0wMS0xMiAxMDoyNzoyNSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGRvY3MvcGx1Z2lucy86IEFjdGl2YXRlIGRvY3MgZm9yIGphY2ssIHNkbCBhbmQgcXRkZW11eC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaGllcmFyY2h5OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5zaWduYWxzOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSAgQWN0aXZhdGUgZG9jcyBmb3IgamFjaywgc2RsIGFuZCBxdGRlbXV4LgoKMjAwNy0wMS0xMiAxMDoyNTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuKjogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmM6IChqYWNrX3NhbXBsZV9yYXRlX2NiKSwKCSAgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgKiBleHQvamFjay9nc3RqYWNrYXVkaW9zaW5rLmg6CgkgIEltcHJvdmUgZG9jcy4KCjIwMDctMDEtMTIgMTA6MjQ6MjkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWVuYy5jOiBGaXggdHlwbyBpbiBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KToKCSAgRml4IHR5cG8gaW4gZG9jcy4KCjIwMDctMDEtMTIgMTA6MjI6MTYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC86IENsZWFudXAgYW5kIHJlZmFjdG9yIHRvIG1ha2UgdGhlIGNvZGUgbW9yZSByZWFkYWJsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKSwgKGdzdF9xdGRlbXV4X2NvbWJpbmVfZmxvd3MpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfc2lua19hY3RpdmF0ZV9wdWxsKSwKCSAgKHF0ZGVtdXhfaW5mbGF0ZSksIChxdGRlbXV4X3BhcnNlX21vb3YpLCAocXRkZW11eF9wYXJzZV9jb250YWluZXIpLAoJICAocXRkZW11eF9wYXJzZV9ub2RlKSwgKHF0ZGVtdXhfdHJlZV9nZXRfY2hpbGRfYnlfdHlwZSksCgkgIChxdGRlbXV4X3RyZWVfZ2V0X3NpYmxpbmdfYnlfdHlwZSksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2Vfc2FtcGxlcyksIChxdGRlbXV4X3BhcnNlX3NlZ21lbnRzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2RhdGUpLCAocXRkZW11eF90YWdfYWRkX2ducmUpLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfcmVkaXJlY3RzX3NvcnRfZnVuYyksCgkgIChxdGRlbXV4X3Byb2Nlc3NfcmVkaXJlY3RzKSwgKHF0ZGVtdXhfcGFyc2VfcmVkaXJlY3RzKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eF9kdW1wLmM6IChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwKCSAgKHF0ZGVtdXhfbm9kZV9kdW1wKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2R1bXAuaDoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4X2ZvdXJjYy5oOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuYzogKHF0ZGVtdXhfdHlwZV9nZXQpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXhfdHlwZXMuaDoKCSAgKiBnc3QvcXRkZW11eC9xdHBhbGV0dGUuaDoKCSAgQ2xlYW51cCBhbmQgcmVmYWN0b3IgdG8gbWFrZSB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgoJICBNb3ZlIGRlYnVnZ2luZy90YWJsZXMgaW50byBzZXBhcmF0ZSBmaWxlcy4KCSAgQWRkIDIvNC8xNiBjb2xvciBwYWxsZXRlZSBzdXBwb3J0LgoJICBGaXggcmF3IDE1IGJpdCBSR0IgaGFuZGxpbmcuCgkgIFVzZSBtb3JlIEZPVVJDQyBjb25zdGFudHMuCgkgIEFkZCBzb21lIGRvY3MuCgoyMDA3LTAxLTExIDE5OjUxOjA0ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IE1pbm9yIGNsZWFuLXVwOiB1c2UgZW51bSB2YWx1ZXMgaW5zdGVhZCBvZiBoYXJkY29kZWQgY29uc3RhbnRzICgjMzk1NTM2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jb3JyZWN0aW9uX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2pvaW50X3N0ZXJlb19tb2RlX2dldF90eXBlKToKCSAgTWlub3IgY2xlYW4tdXA6IHVzZSBlbnVtIHZhbHVlcyBpbnN0ZWFkIG9mIGhhcmRjb2RlZCBjb25zdGFudHMgKCMzOTU1MzYpLgoKMjAwNy0wMS0xMSAxMjoyODo1NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tdmUvZ3N0bXZlZGVtdXguYzogU3VwcG9ydCBTRUVLSU5HIHF1ZXJ5IChiYWQgbmV3cyBub3cgZGVsaXZlcmVkIHByb3Blcmx5ISk7IGFkZCBldmVudCBmdW5jdGlvbiB0byBzb3VyY2UgcGFkcyB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6IChnc3RfbXZlX2RlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X212ZV9kZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKGdzdF9tdmVfZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfbXZlX2FkZF9zdHJlYW0pOgoJICBTdXBwb3J0IFNFRUtJTkcgcXVlcnkgKGJhZCBuZXdzIG5vdyBkZWxpdmVyZWQgcHJvcGVybHkhKTsgYWRkIGV2ZW50CgkgIGZ1bmN0aW9uIHRvIHNvdXJjZSBwYWRzIHRvIG1ha2Ugc3VyZSBzZWVrcyBhcmVuJ3QgcHJvcGFnYXRlZAoJICB1cHN0cmVhbSwgZXZlbiBpZiB0aGV5IGFyZW4ndCBoYW5kbGVkLgoKMjAwNy0wMS0xMSAxMTozOTo1NiArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgQWRkIEludGVycGxheSBNVkUgZm9ybWF0IGRlbXV4ZXIvZGVjb2RlciBhbmQgbXV4ZXIvZW5jb2Rlci4gRGVtdXhlciBkb2Vzbid0IHN1cHBvcnQgc2Vla2luZyB5ZXQsIGJ1dCBzZWVtcyB0byB3b3JrIGZpLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmVucyBHcmFuc2V1ZXIgIDxqZW5zZ3IgYXQgZ214IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L212ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvbXZlL1RPRE86CgkgICogZ3N0L212ZS9nc3RtdmUuYzoKCSAgKiBnc3QvbXZlL2dzdG12ZWRlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVkZW11eC5oOgoJICAqIGdzdC9tdmUvZ3N0bXZlbXV4LmM6CgkgICogZ3N0L212ZS9nc3RtdmVtdXguaDoKCSAgKiBnc3QvbXZlL212ZS5oOgoJICAqIGdzdC9tdmUvbXZlYXVkaW9kZWMuYzoKCSAgKiBnc3QvbXZlL212ZWF1ZGlvZW5jLmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzE2LmM6CgkgICogZ3N0L212ZS9tdmV2aWRlb2RlYzguYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jMTYuYzoKCSAgKiBnc3QvbXZlL212ZXZpZGVvZW5jOC5jOgoJICBBZGQgSW50ZXJwbGF5IE1WRSBmb3JtYXQgZGVtdXhlci9kZWNvZGVyIGFuZCBtdXhlci9lbmNvZGVyLiBEZW11eGVyCgkgIGRvZXNuJ3Qgc3VwcG9ydCBzZWVraW5nIHlldCwgYnV0IHNlZW1zIHRvIHdvcmsgZmluZSBvdGhlcndpc2UuCgkgIENsb3NlcyAjMzQ4OTczLgoKMjAwNy0wMS0wOSAxMDowNjoyOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9yZWFsL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgKGFkZCBMSUJTIGFuZCBDRkxBR1MgZm9yIGdzdC1wbHVnaW5zLWJhc2Ugc3R1ZmYpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcmVhbC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkIChhZGQgTElCUyBhbmQgQ0ZMQUdTIGZvciBnc3QtcGx1Z2lucy1iYXNlIHN0dWZmKS4KCjIwMDctMDEtMDcgMjI6MDM6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZCBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uaDoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9wbHVnaW4uYzoKCSAgKiBnc3QvaW50ZXJsZWF2ZS9pbnRlcmxlYXZlLmM6CgkgICogZ3N0L2ludGVybGVhdmUvZGVpbnRlcmxlYXZlLmM6IE5ldyBlbGVtZW50cyBpbnRlcmxlYXZlIGFuZAoJICBkZWludGVybGVhdmUsIGltcGxlbWVudCBjaGFubmVsIGludGVybGVhdmluZyBhbmQgZGVpbnRlcmxlYXZpbmcuCgkgIFRoZSBpbnRlcmxlYXZlciBjYW4gb3BlcmF0ZSBpbiBwdWxsIG9yIHB1c2ggbW9kZSBidXQgdGhlCgkgIGRlaW50ZXJsZWF2ZXIgaXMgbW9yZSBsaWtlIGEgZGVtdXhlciBhbmQgY2FuIG9ubHkgb3BlcmF0ZSBpbiBwdXNoCgkgIG1vZGUuCgoyMDA3LTAxLTA2IDE5OjIzOjQwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgY29uZmlndXJlLmFjOiBQcm9wZXJseSBkZXRlY3QgdGhlIHR3byBhcmNoaXRlY3R1cmVzIG9uIHdoaWNoIHRoZSByZWFsIHBsdWdpbiBjYW4gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUHJvcGVybHkgZGV0ZWN0IHRoZSB0d28gYXJjaGl0ZWN0dXJlcyBvbiB3aGljaCB0aGUgcmVhbCBwbHVnaW4gY2FuIGJlCgkgIGJ1aWx0LgoJICBGaXhlcyAjMzkzNjIyCgoyMDA3LTAxLTA2IDE3OjIyOjEyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDYgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYwoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfb3VpamFfY2Fwcyk6IE1vdmUgYXJvdW5kIGluIHRoZSBzb3VyY2UKCSAgZmlsZS4uLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSwgZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpOgoJICBDYWxsIG91aWphX2NhcHMgaW4gcHJlcGFyZSgpIGluc3RlYWQgb2YgZG9fcHVsbHMoKSwgYSBiaXQgZWFybGllci4KCSAgVGhpcyBhbGxvd3MgdXMgdG8gaGF2ZSBjYXBzIHdoZW4gd2UgZG8gdGhlIHBhZF9hbGxvY19idWZmZXIoKS4KCSAgKGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2Fwcyk6IFVzZSBzZWxmLT5jYXBzIGluc3RlYWQgb2YgdGhlCgkgIHBhZCBjYXBzLCB3aGljaCBtaWdodCBub3QgYmUgc2V0IHlldC4KCjIwMDctMDEtMDYgMTU6NTY6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA3LTAxLTA2ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9hZGRfcGFkX2Zyb21fdGVtcGxhdGUpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9maXhhdGUpOiBBZGQgYSBmaXhhdGUgZnVuY3Rpb24sIHRvIGFzc2lzdCBpbgoJICBwYXRob2xvZ2ljYWwgbGFkc3BhLXNpbmUtZmNhYyAhIGZha2VzaW5rIGNhbi1hY3RpdmF0ZS1wdWxsPXRydWUKCSAgY2FzZXMuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogQWRkCgkgIG5mcmFtZXMgYXJncyBzbyB0aGF0IGdldHJhbmdlIGNhbiB0ZWxsIGxhZHNwYSBob3cgbWFueSBmcmFtZXMgdG8KCSAgcHJvY2Vzcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX291aWphX2NhcHMpOiBzZXRjYXBzIG5lZWRzIHRvIGJlIGNhbGxlZAoJICBiZWZvcmUgcHJvY2Vzc2luZywgd2hpY2ggbm9ybWFsbHkgaGFwcGVucyB3aGVuIGNoYWluaW5nIGEgYnVmZmVyCgkgIHRvIGEgcGFkLiBIb3dldmVyIGluIGdldHJhbmdlIG1vZGUgd2l0aCBubyBzaW5rcyB3ZSBuZWVkIHRvIGNoZWNrCgkgIGV4cGxpY2l0bHkgZm9yIHRoaXMgY29uZGl0aW9uLCBndWVzcyBzb21lIGNhcHMgdG8gdXNlLCBhbmQgdXNlCgkgIHRob3NlIHRvIHNldGNhcHMoKS4gSGVuY2UgdGhpcyBteXN0aWNhbCBmdW5jdGlvbi4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogUHVsbCBpbiBieXRlcywgbm90IHNhbXBsZXMuCgkgIERpdmluZSB0aGUgY2FwcyBpZiBuZWNlc3NhcnkuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9nZXRyYW5nZSk6IEludGVycHJldCB0aGUgbGVuZ3RoIGFzIGJ5dGVzLAoJICBub3Qgc2FtcGxlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYWluKTogbmZyYW1lcz1HX01BWFVJTlQsIHdpbGwgYmUgbGltaXRlZAoJICBieSBpbmNvbWluZyBidWZmZXIgc2l6ZXMuCgoyMDA3LTAxLTA2IDE0OjA4OjI2ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IERvbid0IGNhbGwgdGhlIFJBRnJlZURlY29kZXIgc2luY2UgaXQgcmFuZG9tbHkgY2F1c2VzIHNlZ2ZhdWx0cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmM6IChnc3RfcmVhbF9hdWRpb19kZWNfZmluYWxpemUpOgoJICBEb24ndCBjYWxsIHRoZSBSQUZyZWVEZWNvZGVyIHNpbmNlIGl0IHJhbmRvbWx5IGNhdXNlcyBzZWdmYXVsdHMuCgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIGluZGVudCBwcm9wZXJseS4KCjIwMDctMDEtMDYgMTA6NTg6MTMgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsL2dzdHJlYWx2aWRlb2RlYy4qOiBJbXBsZW1lbnQgZXJyb3IgcmVjb3Zlcnkgb24gc2V0Y2FwcyBmYWlsdXJlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19kZWNvZGUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLCAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2ZpbmFsaXplKToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgSW1wbGVtZW50IGVycm9yIHJlY292ZXJ5IG9uIHNldGNhcHMgZmFpbHVyZS4KCjIwMDctMDEtMDYgMTA6NDE6NDYgKzAwMDAgIEx1dHogTXVlbGxlciA8bHV0ekB0b3Bmcm9zZS5kZT4KCgkgIGdzdC9yZWFsLzogQWRkZWQgUmVhbEF1ZGlvIHdyYXBwZXIgZWxlbWVudGZhY3RvcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsYXVkaW9kZWMuYzogKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFpbiksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfc2V0Y2FwcyksIChnc3RfcmVhbF9hdWRpb19kZWNfaW5pdCksCgkgIChnc3RfcmVhbF9hdWRpb19kZWNfYmFzZV9pbml0KSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2ZpbmFsaXplKSwgKGdzdF9yZWFsX2F1ZGlvX2RlY19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X3JlYWxfYXVkaW9fZGVjX2dldF9wcm9wZXJ0eSksIChnc3RfcmVhbF9hdWRpb19kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3JlYWwvZ3N0cmVhbGF1ZGlvZGVjLmg6CgkgIEFkZGVkIFJlYWxBdWRpbyB3cmFwcGVyIGVsZW1lbnRmYWN0b3J5LgoJICBNb2RpZmllZCBzdHJ1Y3R1cmVzIHNvIGl0IGNhbiBhbHNvIHdvcmsgb24geDg2XzY0IHVzaW5nIHRoZQoJICBhZGVxdWF0ZSAuc28gLgoKMjAwNy0wMS0wNSAxODozMjowMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIENoZWNrIGZvciB6bGliIGFuZCBpZiBhdmFpbGFibGUgcGFzcyBpdCBleHBsaWNpdGx5IHRvIHRoZSBsaW5rZXIgd2hlbiBsaW5raW5nIHF0ZGVtdXguIElmIG5vdCBhdmFpbGFibGUgKG9yIC0tZGlzYWJsZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3F0ZGVtdXgvTWFrZWZpbGUuYW06CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KToKCSAgQ2hlY2sgZm9yIHpsaWIgYW5kIGlmIGF2YWlsYWJsZSBwYXNzIGl0IGV4cGxpY2l0bHkgdG8gdGhlIGxpbmtlcgoJICB3aGVuIGxpbmtpbmcgcXRkZW11eC4gSWYgbm90IGF2YWlsYWJsZSAob3IgLS1kaXNhYmxlLWV4dGVybmFsIGhhcwoJICBiZWVuIHNwZWNpZmllZCEpLCBkaXNhYmxlIHRoZSBiaXRzIGluIHF0ZGVtdXggdGhhdCB1c2UgaXQuIEZpeGVzCgkgIGJ1aWxkIG9uIE1pbmdXICgjMzkyODU2KS4KCjIwMDctMDEtMDUgMTg6MTU6NTIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlYWwgdmlkZW8gLnNvIGFyZSBub3cgYWxzbyBhdmFpbGFibGUgZm9yIHg4Nl82NCwgc28gd2UgY2FuIGJ1aWxkIHRoZQoJICBSZWFsIHBsdWdpbiBvbiBpMzg2IEFORCB4ODZfNjQuCgkgICogZ3N0L3JlYWwvTWFrZWZpbGUuYW06CgkgICogZ3N0L3JlYWwvZ3N0cmVhbC5jOiAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZpbGUgZm9yIHJlYWwgLnNvIHdyYXBwZXIgcGx1Z2lucy4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuYzogKGdzdF9yZWFsX3ZpZGVvX2RlY19hbGxvY19idWZmZXIpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2RlY29kZSksIChnc3RfcmVhbF92aWRlb19kZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2FjdGl2YXRlX3B1c2gpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldGNhcHMpLAoJICAob3Blbl9saWJyYXJ5KSwgKGNsb3NlX2xpYnJhcnkpLCAoZ3N0X3JlYWxfdmlkZW9fZGVjX2luaXQpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX2Jhc2VfaW5pdCksIChnc3RfcmVhbF92aWRlb19kZWNfZmluYWxpemUpLAoJICAoZ3N0X3JlYWxfdmlkZW9fZGVjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfcmVhbF92aWRlb19kZWNfZ2V0X3Byb3BlcnR5KSwgKGdzdF9yZWFsX3ZpZGVvX2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcmVhbC9nc3RyZWFsdmlkZW9kZWMuaDoKCSAgTW92ZWQgUmVhbFZpZGVvIGVsZW1lbnQgdG8gc2VwYXJhdGUgZmlsZQoJICBDbGVhbmVkIHVwIGNvZGUgc29tZSBtb3JlLgoJICBNYWtlIGl0IHdvcmsgb24geDg2XzY0LgoJICBUcnkgc2V2ZXJhbCBwb3NzaWJsZSBsb2NhdGlvbnMgZm9yIC5zbwoJICBTZXBhcmF0ZSBvcGVuaW5nL2Nsb3NpbmcgbGlicmFyaWVzIGluIHNlcGFyYXRlIGZ1bmN0aW9ucy4KCjIwMDctMDEtMDUgMTY6MDc6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvdmlkZW9jcm9wLXRlc3QuYzogKG1haW4pOgoJICBDYWxsIGdfdGhyZWFkX2luaXQoKSByaWdodCBhdCB0aGUgYmVnaW5uaW5nLiBSZW1vdmUgc3VwZXJmbHVvdXMKCSAgZ3N0X2luaXQoKSAtIHdlJ3ZlIGFscmVhZHkgYmVlbiBpbml0ZWQgdmlhIHRoZSBHT3B0aW9uIHN0dWZmLgoKMjAwNy0wMS0wNSAxNDowMjozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRG9uJ3QgY29tcGlsZSByZmJzb3VyY2UgaWYgd2UgZG9uJ3QgaGF2ZSBzeXMvc29ja2V0LmguCgkgIFNob3VsZCBmaXggY29tcGlsYXRpb24gb24gTWluZ1cuCgoyMDA3LTAxLTA0IDE2OjM5OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC1saWJzL2V4dC9NYWtlZmlsZS5hbToKCSogZ3N0LWxpYnMvZXh0L2FtcndiL01ha2VmaWxlLmFtOgoJKiBnc3QtbGlicy9leHQvYW1yd2IvUkVBRE1FOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgZGlyZWN0b3JpZXMgaW4gdGhlIHJpZ2h0IHBsYWNlCgoyMDA3LTAxLTA0IDE2OjMyOjQzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkqIGV4dC9hbXJ3Yi9hbXJ3Yi1jb2RlL01ha2VmaWxlLmFtOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9hbXJ3Yi9NYWtlZmlsZS5hbToKCSogZXh0L2FtcndiL2FtcndiLWNvZGUvYW1yd2IvUkVBRE1FOgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkqIGdzdC1saWJzL01ha2VmaWxlLmFtOgoJICBtb3ZlIGFtcndiIGNvZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIG1vdmUgYW1yd2IgY29kZQoKMjAwNy0wMS0wNCAxNjozMjo0MyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgbW92ZSBhbXJ3YiBjb2RlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3ZlIGFtcndiIGNvZGUKCj09PSByZWxlYXNlIDAuMTAuMTIgPT09CgoyMDA3LTAxLTA0IDEyOjQ5OjQ3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogc3BsaXQgb3V0IEdTVF9DRkxBR1MgaW50byBHU1RfUExVR0lOU19CQVNFX0NGTEFHUyBhbmQgR1NUX0NGTEFHUyBzbyB0aGF0IEdTVF9CQVNFX0NGTEFHUyBjYW4gZ28gaW5iZXR3ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIHNwbGl0IG91dCBHU1RfQ0ZMQUdTIGludG8gR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgYW5kIEdTVF9DRkxBR1MKCSAgc28gdGhhdCBHU1RfQkFTRV9DRkxBR1MgY2FuIGdvIGluYmV0d2VlbiB0aGVtLCBtYWtpbmcgc3VyZQoJICB3ZSB1c2UgdW5pbnN0YWxsZWQgZ3N0LWxpYnMgaGVhZGVycwoJICAqIGRvY3MvbGlicy9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2RwYXJhbm9pYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ25vbWV2ZnMvTWFrZWZpbGUuYW06CgkgICogZXh0L2xpYnZpc3VhbC9NYWtlZmlsZS5hbToKCSAgKiBleHQvb2dnL01ha2VmaWxlLmFtOgoJICAqIGV4dC90aGVvcmEvTWFrZWZpbGUuYW06CgkgICogZXh0L3ZvcmJpcy9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L2ludGVyZmFjZXMvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3JpZmYvTWFrZWZpbGUuYW06CgkgICogZ3N0LWxpYnMvZ3N0L3J0cC9NYWtlZmlsZS5hbToKCSAgKiBnc3QtbGlicy9nc3QvdGFnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9hZGRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L01ha2VmaWxlLmFtOgoJICAqIGdzdC9hdWRpb3JhdGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3BsYXliYWNrL01ha2VmaWxlLmFtOgoJICAqIGdzdC90Y3AvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZpZGVvc2NhbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L3ZvbHVtZS9NYWtlZmlsZS5hbToKCSAgKiBzeXMveGltYWdlL01ha2VmaWxlLmFtOgoJICAqIHN5cy94dmltYWdlL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICBhZGFwdAoKMjAwNy0wMS0wNCAwOTo1MTo1NiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvOiBGaXggdmFyaW91cyBjb21waWxlciB3YXJuaW5ncyB0aGF0IHJldmVhbCBwb3RlbnRpYWwgYnVncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDctMDEtMDQgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF90eXBlKToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3Npbmtfb3Blbik6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19uYXZpZ2F0aW9uX3NlbmRfZXZlbnQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6IEZpeCB2YXJpb3VzIGNvbXBpbGVyIHdhcm5pbmdzIHRoYXQKCSAgcmV2ZWFsIHBvdGVudGlhbCBidWdzLgoKMjAwNy0wMS0wNCAwOTo0NDo1NyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3Rzb3VuZHNpbmsgdG8gYnVpbGQgYW5kIGRpc3QgaXQsIHNvIGl0IGdldHMgYnVpbHQgd2hlbiBjb21waWxpbmcgd2l0aCBNaW5nVyBvbiB3aW4zMiBhbmQgdGhlIHJlcXVpcmVkIGhlYWRlci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdHNvdW5kL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfcmVzZXQpOgoJICBBZGQgZGlyZWN0c291bmRzaW5rIHRvIGJ1aWxkIGFuZCBkaXN0IGl0LCBzbyBpdCBnZXRzIGJ1aWx0IHdoZW4KCSAgY29tcGlsaW5nIHdpdGggTWluZ1cgb24gd2luMzIgYW5kIHRoZSByZXF1aXJlZCBoZWFkZXJzIGFuZCBsaWJyYXJpZXMKCSAgYXJlIGF2YWlsYWJsZSAoZml4ZXM6ICMzOTI2MzgpLiBBbHNvIHNpbXBsaWZ5IERpcmVjdERyYXcgY2hlY2sgYSBiaXQuCgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgRml4IENWUyBpZ25vcmUgZm9yIG5lb25odHRwc3JjIHRlc3QgYmluYXJ5LgoKMjAwNy0wMS0wMyAxOTo1NDozMyArMDAwMCAgVmluY2VudCBUb3JyaSA8dnRvcnJpQHVuaXYtZXZyeS5mcj4KCgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFZpbmNlbnQgVG9ycmkgIDx2dG9ycmkgYXQgdW5pdi1ldnJ5IGZyPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL2RpcmVjdGRyYXcvTWFrZWZpbGUuYW06CgkgIEFkZCBkaXJlY3RkcmF3c2luayB0byBidWlsZCBhbmQgZGlzdCBpdCwgc28gaXQgZ2V0cyBidWlsdCB3aGVuCgkgIGNvbXBpbGluZyB3aXRoIE1pbmdXIG9uIHdpbjMyIGFuZCB0aGUgcmVxdWlyZWQgaGVhZGVycyBhbmQgbGlicmFyaWVzCgkgIGFyZSBhdmFpbGFibGUgKGZpeGVzOiAjMzkyMzEzKS4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kaXJlY3RkcmF3c2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kaXJlY3RkcmF3c2lua19zZXR1cF9kZHJhdyksCgkgIChnc3RfZGlyZWN0ZHJhd3Npbmtfc3VyZmFjZV9jcmVhdGUpOgoJICBDb21tZW50IG91dCBzb21lIHVudXNlZCB0aGluZ3MgYW5kIGZpeCBzb21lIHByaW50ZiBmb3JtYXQgaXNzdWVzIGluCgkgIG9yZGVyIHRvIGF2b2lkIHdhcm5pbmdzIHdoZW4gYnVpbGRsaW5nIHdpdGggTWluZ1cgKCMzOTIzMTMpLgoKMjAwNy0wMS0wMyAxNjo0MToxMCArMDAwMCAgSmVucyBHcmFuc2V1ZXIgPGplbnNnckBnbXgubmV0PgoKCSAgRml4IGJ1aWxkIHdpdGggZ2NjLTIueCAoZGVjbGFyZSB2YXJpYWJsZXMgYXQgdGhlIGJlZ2lubmluZyBvZiBhIGJsb2NrIGV0Yy4pLiBGaXhlcyAjMzkxOTcxLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEplbnMgR3JhbnNldWVyICA8amVuc2dyIGF0IGdteCBuZXQ+CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmM6IChicHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvZmlsdGVyL2dzdGlpci5jOiAoaWlyX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChscHdzaW5jX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfaGVhZGVyX2xvYWQpLAoJICAoZ3N0X251dl9kZW11eF9zdHJlYW1fZXh0ZW5kX2hlYWRlcik6CgkgIEZpeCBidWlsZCB3aXRoIGdjYy0yLnggKGRlY2xhcmUgdmFyaWFibGVzIGF0IHRoZSBiZWdpbm5pbmcgb2YgYQoJICBibG9jayBldGMuKS4gRml4ZXMgIzM5MTk3MS4KCjIwMDctMDEtMDIgMTE6MDY6NDggKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcmVhbC9nc3RyZWFsLmM6IFVzZSBjb2RlY19kYXRhIHN1cHBsaWVkIGluIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSAgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcmVhbC9nc3RyZWFsLmM6CgkgIChnc3RfcmVhbGRlY19zZXRjYXBzKTogVXNlIGNvZGVjX2RhdGEgc3VwcGxpZWQgaW4gY2Fwcy4KCSAgKGdzdF9yZWFsZGVjX2dldF9wcm9wZXJ0eSk6IENvcnJlY3RseSByZXR1cm4gZGVmYXVsdCBwYXRoLgoJICAoZ3N0X3JlYWxkZWNfY2xhc3NfaW5pdCk6IFJlbW92ZSB1bnVzZWQgc3RhdGVfY2hhbmdlIG1ldGhvZC4KCjIwMDctMDEtMDEgMTg6MDY6MDEgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBjb25maWd1cmUuYWM6IE9ubHkgYnVpbGQgdGhlIHBsdWdpbiBvbiAzMmJpdCB4ODYgYXJjaGl0ZWN0dXJlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBPbmx5IGJ1aWxkIHRoZSBwbHVnaW4gb24gMzJiaXQgeDg2IGFyY2hpdGVjdHVyZXMuCgoyMDA3LTAxLTAxIDE3OjQ3OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgTmV3IHBsdWdpbiBmb3IgZGVjb2RpbmcgUmVhbFZpZGVvIFN0cmVhbXMgdXNpbmcgdGhlIHg4NiAzMmJpdCBzaGFyZWQgbGlicmFyaWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmV2aWV3ZWQgYnk6IEVkd2FyZCBIZXJ2ZXkgIDxlZHdhcmRAZmx1ZW5kby5jb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9yZWFsL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZWFsL2dzdHJlYWwuYzogKGdzdF9yZWFsZGVjX2FsbG9jX2J1ZmZlciksCgkgIChnc3RfcmVhbGRlY19kZWNvZGUpLCAoZ3N0X3JlYWxkZWNfY2hhaW4pLAoJICAoZ3N0X3JlYWxkZWNfYWN0aXZhdGVfcHVzaCksIChnc3RfcmVhbGRlY19zZXRjYXBzKSwKCSAgKGdzdF9yZWFsZGVjX2luaXQpLCAoZ3N0X3JlYWxkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9yZWFsZGVjX2NoYW5nZV9zdGF0ZSksIChnc3RfcmVhbGRlY19maW5hbGl6ZSksCgkgIChnc3RfcmVhbGRlY19zZXRfcHJvcGVydHkpLCAoZ3N0X3JlYWxkZWNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZWFsZGVjX2NsYXNzX2luaXQpLCAocGx1Z2luX2luaXQpOgoJICBOZXcgcGx1Z2luIGZvciBkZWNvZGluZyBSZWFsVmlkZW8gU3RyZWFtcyB1c2luZyB0aGUgeDg2IDMyYml0CgkgIHNoYXJlZCBsaWJyYXJpZXMuCgkgIENsb3NlcyAjMzU0MTc0CgoyMDA2LTEyLTMwIDEyOjQ0OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW9jcm9wLmM6IFdoZW4gd2UgY2FuJ3QgY3JlYXRlIGFuIGVsZW1lbnQgbmVlZGVkIGZvciB0aGUgdGVzdCwgcHJpbnQgYSBtZXNzYWdlIGRldGFpbGluZyB3aGljLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoR1NUX1NUQVJUX1RFU1QpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KToKCSAgV2hlbiB3ZSBjYW4ndCBjcmVhdGUgYW4gZWxlbWVudCBuZWVkZWQgZm9yIHRoZSB0ZXN0LCBwcmludCBhIG1lc3NhZ2UKCSAgZGV0YWlsaW5nIHdoaWNoIGVsZW1lbnQgaXQgYWN0dWFsbHkgaXMgdGhhdCdzIG1pc3NpbmcgKCMzOTA2NzMpLgoKMjAwNi0xMi0yMiAxNjoyMzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzZWVrIHN1cHBvcnQuCgoyMDA2LTEyLTIyIDEwOjE1OjI0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJlYXBwbHkgY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCjIwMDYtMTItMjEgMTc6MDU6NDQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgkgICogZ3N0LXBsdWdpbnMtYmFkLmRvYXA6CgkgIEFkZCByZWxlYXNlIHNlY3Rpb24gZm9yIDAuMTAuNAoKPT09IHJlbGVhc2UgMC4xMC40ID09PQoKMjAwNi0xMi0yMSAxNTo0NTowMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgPT09IHJlbGVhc2UgMC4xMC40ID09PQoJICAyMDA2LTEyLTIxICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjQsICJCbGFjayBCdWdzIgoKMjAwNi0xMi0yMSAxNTo0MDozMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIFVwZGF0ZSAucG8gZmlsZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFVwZGF0ZSAucG8gZmlsZXMKCjIwMDYtMTItMjEgMTQ6MDc6MDIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJICBSZW1vdmUgZHVwbGljYXRlIGNoYW5nZWxvZyBlbnRyeSBhYm91dCByZXZlcnRpbmcgYSBwcmV2aW91cyBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZSBkdXBsaWNhdGUgY2hhbmdlbG9nIGVudHJ5IGFib3V0IHJldmVydGluZyBhIHByZXZpb3VzIGNvbW1pdAoKMjAwNi0xMi0yMSAxNDowMzo0MiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9tcGVnMmVuYy5jOiAoc2V0dXBfbXBlZzJlbmMpCgkgIChjbGVhbnVwX21wZWcyZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9yZ2FuYWx5c2lzLmM6IChjbGVhbnVwX3JnYW5hbHlzaXMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tkZWMuYzogKHNldHVwX3dhdnBhY2tkZWMpLAoJICAoY2xlYW51cF93YXZwYWNrZGVjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpOgoJICByZXZlcnQgbXkgZnJlZXplIGJyZWFrYWdlCgoyMDA2LTEyLTIxIDEyOjU4OjQxICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIHJldmVydCBteSBmcmVlemUgYnJlYWthZ2UKCjIwMDYtMTItMjEgMDg6MjA6MTAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzLzogY29uc2lzdGVudCBwYWQgKGRlKWFjdGl2YXRpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbXBlZzJlbmMuYzogKHNldHVwX21wZWcyZW5jKSwKCSAgKGNsZWFudXBfbXBlZzJlbmMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3JnYW5hbHlzaXMuYzogKGNsZWFudXBfcmdhbmFseXNpcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2tlbmMuYzogKHNldHVwX3dhdnBhY2tlbmMpLAoJICAoY2xlYW51cF93YXZwYWNrZW5jKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy95NG1lbmMuYzogKHNldHVwX3k0bWVuYyksIChjbGVhbnVwX3k0bWVuYyk6CgkgIGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgoyMDA2LTEyLTIxIDA4OjEyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy86IGNvbnNpc3RlbnQgcGFkIChkZSlhY3RpdmF0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzogKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW90ZXN0c3JjLmM6IChjbGVhbnVwX2F1ZGlvdGVzdHNyYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoc2V0dXBfZ2RwcGF5KSwgKGNsZWFudXBfZ2RwcGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9zdWJwYXJzZS5jOiAodGVhcmRvd25fc3VicGFyc2UpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RleHRvdmVybGF5LmM6IChjbGVhbnVwX3RleHRvdmVybGF5KToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3JhdGUuYzogKGNsZWFudXBfdmlkZW9yYXRlKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb3Rlc3RzcmMuYzogKGNsZWFudXBfdmlkZW90ZXN0c3JjKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKGNsZWFudXBfdm9sdW1lKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKHNldHVwX3ZvcmJpc2RlYyksCgkgIChjbGVhbnVwX3ZvcmJpc2RlYyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdm9yYmlzdGFnLmM6IChzZXR1cF92b3JiaXN0YWcpLAoJICAoY2xlYW51cF92b3JiaXN0YWcpOgoJICBjb25zaXN0ZW50IHBhZCAoZGUpYWN0aXZhdGlvbgoKMjAwNi0xMi0xOCAxNzoxMTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbSBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X3Byb2dyZXNzKSwKCSAgKGdzdF9xdGRlbXV4X2NoYWluKToKCSAgRG9uJ3QgcG9zdCBCVUZGRVJJTkcgbWVzc2FnZXMgaW4gc3RyZWFtaW5nIG1vZGUgaWYgdGhlIHN0cmVhbQoJICBoZWFkZXJzIGFyZSBiZWhpbmQgdGhlIG1vdmllIGRhdGE7IGluc3RlYWQsIHBvc3QgInByb2dyZXNzIiBlbGVtZW50CgkgIG1lc3NhZ2VzIGFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLiBBcHBzIG1pZ2h0IGdldCBjb25mdXNlZCBhbmQgZG8KCSAgc2lsbHkgdGhpbmdzIHRvIHRoZSBwaXBlbGluZSBzdGF0ZSBpZiB0aGV5IHNlZSBidWZmZXJpbmcgbWVzc2FnZXMKCSAgZnJvbSBkaWZmZXJlbnQgc291cmNlcyBhbmQgZG9uJ3QgcmVhbGl6ZSB0aGV5IGNvbWUgZnJvbSBkaWZmZXJlbnQKCSAgc291cmNlcyAoIzM4NzE2MCkuCgoyMDA2LTEyLTE4IDE2OjQ3OjIzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIE1vdmUgTEFEUFNBIHBsdWdpbiBmcm9tIC1nb29kIGZvciB0aGUgcmVsZWFzZSwgYXMgaXQncyBub3QgcXVpdGUgcmVhZHkgdG8gYmUgZW5hYmxlZCBieSBkZWZhdWx0IGluIHRoZSAtZ29vZCBtb2R1bGUgeWV0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9sYWRzcGEvKjoKCSAgTW92ZSBMQURQU0EgcGx1Z2luIGZyb20gLWdvb2QgZm9yIHRoZSByZWxlYXNlLCBhcyBpdCdzIG5vdCBxdWl0ZQoJICByZWFkeSB0byBiZSBlbmFibGVkIGJ5IGRlZmF1bHQgaW4gdGhlIC1nb29kIG1vZHVsZSB5ZXQuCgoyMDA2LTEyLTE4IDE1OjUxOjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91ciBlcnJvciBzdGF0ZSBhZnRlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KToKCSAgUmVzZXQgZmxvd19zdGF0ZSBiYWNrIHRvIF9PSyBhZnRlciBhIGZsdXNoIHN0b3Agc28gdGhhdCB3ZSBleGl0IG91cgoJICBlcnJvciBzdGF0ZSBhZnRlciB0aGUgZmx1c2guIEZpeGVzICMzNzQyMTMKCjIwMDYtMTItMTggMTM6NDA6MzQgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBvdXRwdXQgZ193YXJuaW5nIGZvciBhbiB1bnN1cHBvcnRlZCBmb3JtYXQsIGp1c3Qgc2VuZCBhCgkgIEdTVF9FTEVNRU5UX1dBUk5JTkcgYW5kIGRvbid0IGFkZCB0aGUgcGFkLgoJICBGaXggdGhlIGNhc2Ugd2hlcmUgaXQgZG9lc24ndCBjaGVjayBmb3IgYSBOVUxMIHBhZCBpbiBzdHJlYW1pbmcgbW9kZS4KCSAgRml4ZXMgIzM4NzEzNwoKMjAwNi0xMi0xOCAxMjoyNzozMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGNyYXNoIGRlcmVmZXJlbmNpbmcgTlVMTCBwb2ludGVyIGlmIHRoZXJlJ3Mgbm8gc3RjbyBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggY3Jhc2ggZGVyZWZlcmVuY2luZyBOVUxMIHBvaW50ZXIgaWYgdGhlcmUncyBubyBzdGNvIGF0b20uCgkgIEZpeGVzICMzODcxMjIuCgoyMDA2LTEyLTE4IDEwOjAyOjU2ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0B1YnVudHUuY29tPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOiBVc2UgbG9jYWwgY29weSBvZiBtZDUuaCwgYXMgaXQgZGlzYXBwZWFyZWQgaW4gcmVjZW50IHdhdnBhY2sgaW5zdGFsbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGxvY2FsIGNvcHkgb2YgbWQ1LmgsIGFzIGl0IGRpc2FwcGVhcmVkIGluIHJlY2VudCB3YXZwYWNrCgkgIGluc3RhbGxzLgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgdWJ1bnR1IGRvdCBjb20+CgkgIEZpeGVzOiAjMzg3MDc2CgoyMDA2LTEyLTE3IDIwOjE5OjQzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgVXBkYXRlIC5wbyBmaWxlcwoKMjAwNi0xMi0xNyAyMDoxOTozNCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlcGxhY2Ugc29tZSBlbWFpbCBhZGRyZXNzZXMgd2l0aCBuYW1lcytlbWFpbCBhZGRyZXNzZXMKCjIwMDYtMTItMTYgMTU6MjU6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFdlIGRvbid0IHN1cHBvcnQgc2Vla2luZyBpbiBzdHJlYW1pbmcgbW9kZSwgc28gZG9uJ3QgZXZlbiB0cnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KToKCSAgV2UgZG9uJ3Qgc3VwcG9ydCBzZWVraW5nIGluIHN0cmVhbWluZyBtb2RlLCBzbyBkb24ndCBldmVuIHRyeS4KCSAgSW1wbGVtZW50IHNlZWtpbmcgcXVlcnkgc28gYXBwcyBjYW4gcXVlcnkgc2Vla2FiaWxpdHkgcHJvcGVybHkKCSAgKHNlZSAjMzY1NDE0KS4gRml4IGR1cmF0aW9uIHF1ZXJ5LgoKMjAwNi0xMi0xNSAxMjoxODoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBhZGQgZG9hcCBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5kb2FwOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgZG9hcCBmaWxlCgoyMDA2LTEyLTE1IDA5OjM0OjMxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogVGhlc2UgZGVidWcgc3RhdGVtZW50cyBzaG91bGQgYmUgdXNpbmcgTE9HIGxldmVsLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jcmVhdGUpOgoJICBUaGVzZSBkZWJ1ZyBzdGF0ZW1lbnRzIHNob3VsZCBiZSB1c2luZyBMT0cgbGV2ZWwuCgoyMDA2LTEyLTE0IDE1OjQ1OjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDogRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmNwcDoKCSAgRml4IHBvdGVudGlhbCBidWZmZXIgb3ZlcmZsb3cgKENWRS0yMDA2LTQxOTIpICgjMzg1Nzg4KS4KCjIwMDYtMTItMTMgMTc6MTI6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBBTVItV0IgdG8gdGhlIGxpc3Qgb2Ygc3VwcG9ydGVkIGZvcm1hdHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGQgQU1SLVdCIHRvIHRoZSBsaXN0IG9mIHN1cHBvcnRlZCBmb3JtYXRzLgoKMjAwNi0xMi0xMiAxNjoxMDoyMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIEZpeCBtaW5vciBtZW0gbGVhayBpbiByZWRpcmVjdCBjb2RlLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvbmVvbmh0dHBzcmMuYzogKGhhbmRvZmZfY2IpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAobmVvbmh0dHBzcmNfc3VpdGUpOgoJICAqIHRlc3RzL2NoZWNrL2dzdC1wbHVnaW5zLWJhZC5zdXBwOgoJICBBZGQgc3VwZXItYmFzaWMgdW5pdCB0ZXN0IGZvciAjMzg0MTQwLgoKMjAwNi0xMi0xMiAxMjo0NjoyMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZSBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLAoJICAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCk6CgkgIFNldCBvZmZzZXQgb24gYnVmZmVycyBwdXNoZWQgb3V0IChpZDNkZW11eCBnZXRzIGNvbmZ1c2VkIGlmIHRoZQoJICBmaXJzdCBidWZmZXIgZG9lcyBub3QgaGF2ZSBhbiBvZmZzZXQgb2YgMCkuIEZpeGVzICMzODQxNDAuCgoyMDA2LTEyLTEyIDExOjQ2OjA1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogTWlub3IgY2xlYW4tdXBzOyByZW1vdmUgbmV3bGluZXMgYXQgZW5kIG9mIGRlYnVnIHN0YXRlbWVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19jcmVhdGUpLCAoc2VuZF9yZXF1ZXN0X2FuZF9yZWRpcmVjdCksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKG9vbV9jYWxsYmFjayk6CgkgIE1pbm9yIGNsZWFuLXVwczsgcmVtb3ZlIG5ld2xpbmVzIGF0IGVuZCBvZiBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0xMi0xMSAxNzozMzoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IG5vbi13b3JraW5nIHJlZGlyZWN0cyBmcm9tIGluZXRmaWxtLmNvbSAoaGFuZGxlICdhbGlzJyByZWZlcmVuY2UgZGF0YSB0eXBlIGFzIHdlbGwpLiBGaXhlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggbm9uLXdvcmtpbmcgcmVkaXJlY3RzIGZyb20gaW5ldGZpbG0uY29tIChoYW5kbGUgJ2FsaXMnIHJlZmVyZW5jZQoJICBkYXRhIHR5cGUgYXMgd2VsbCkuIEZpeGVzICMzNzg2MTMuCgoyMDA2LTEyLTExIDA5OjUxOjE3ICswMDAwICBKb25hdGhhbiBNYXR0aGV3IDxqb25hdGhhbkBrYW9saW4ud2g5Lm5ldD4KCgkgIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGR1cmF0aW9uIHF1ZXJ5LiBGaXhlcyAjMzg0Mjk0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEpvbmF0aGFuIE1hdHRoZXcgPGpvbmF0aGFuIGF0IGthb2xpbiB3aDkgbmV0PikuCgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSAgRml4IG1vZHBsdWcgZHVyYXRpb24gcXVlcnkuIEZpeGVzICMzODQyOTQuCgoyMDA2LTEyLTA4IDE3OjA2OjQzICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBGaXggY2FwcyBmb3IgMjQgYml0IHJhdyBQQ00gYXVkaW8gKDIpLgoJICBGaXhlcyAjMzgzNDcxLgoKMjAwNi0xMi0wNyAxMTozNTo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSGFuZGxlIG1vcmUgSDI2MyB2YXJpYW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEhhbmRsZSBtb3JlIEgyNjMgdmFyaWFudHMuCgoyMDA2LTEyLTA2IDE2OjU3OjE3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9qYWNrLy5jdnNpZ25vcmU6IElnbm9yZSBvbGQgZmlsZXMgYXMgcmVxdWVzdGVkIGJ5IHRoZSBidWlsZCBzbGF2ZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2phY2svLmN2c2lnbm9yZToKCSAgSWdub3JlIG9sZCBmaWxlcyBhcyByZXF1ZXN0ZWQgYnkgdGhlIGJ1aWxkIHNsYXZlLgoKMjAwNi0xMi0wNiAxNjoxNDozNSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdCBhcHBlYXJlZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFVwZGF0ZSB0aGUgSmFjayByZXF1aXJlbWVudCB0byB0aGUgdmVyc2lvbiB3aGVyZSBJIHRoaW5rIG9wdGlvbnNfdAoJICBhcHBlYXJlZAoKMjAwNi0xMi0wMSAxMDozNTozOSArMDAwMCAgU2VyZ2V5IFNjb2JpY2ggPHNlcmdleS5zY29iaWNoQGdtYWlsLmNvbT4KCgkgIHdpbjMyL01BTklGRVNUOiBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHdpbjMyL01BTklGRVNUOgoJICBGaXggY29tcGlsYXRpb24gb24gd2luMzIgdW5kZXIgVlM4CgkgIFBhdGNoIGJ5OiBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGRvdCBjb20+CgkgIFBhcnRpYWxseSBmaXhlcyAjMzgxMTc1CgoyMDA2LTExLTMwIDE1OjA4OjA4ICswMDAwICBSZW7DqSBTdGFkbGVyIDxtYWlsQHJlbmVzdGFkbGVyLmRlPgoKCSAgZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5jOiBDYWxsIHRoZSBiYXNlIGNsYXNzIGhhbmRsZXIuICBGaXhlcyAjMzgwNjEwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19ldmVudCk6CgkgIENhbGwgdGhlIGJhc2UgY2xhc3MgaGFuZGxlci4gIEZpeGVzICMzODA2MTAuCgoyMDA2LTExLTMwIDExOjU5OjA0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuYzogKGphY2tfcHJvY2Vzc19jYiksCgkgIChqYWNrX3NhbXBsZV9yYXRlX2NiKSwgKGphY2tfYnVmZmVyX3NpemVfY2IpLCAoamFja19zaHV0ZG93bl9jYiksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKToKCSAgU21hbGwgY2xlYW51cHMuCgoyMDA2LTExLTMwIDExOjQ5OjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvamFjay9nc3RqYWNrLmg6CgkgICogZXh0L2phY2svZ3N0amFja2F1ZGlvc2luay5jOiAoZ3N0X2phY2tfcmluZ19idWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfY2xhc3NfaW5pdCksIChqYWNrX3Byb2Nlc3NfY2IpLAoJICAoamFja19zYW1wbGVfcmF0ZV9jYiksIChqYWNrX2J1ZmZlcl9zaXplX2NiKSwgKGphY2tfc2h1dGRvd25fY2IpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfaW5pdCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kaXNwb3NlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2ZpbmFsaXplKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX29wZW5fZGV2aWNlKSwKCSAgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX2Nsb3NlX2RldmljZSksCgkgIChnc3RfamFja19yaW5nX2J1ZmZlcl9hY3F1aXJlKSwgKGdzdF9qYWNrX3JpbmdfYnVmZmVyX3JlbGVhc2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RhcnQpLCAoZ3N0X2phY2tfcmluZ19idWZmZXJfcGF1c2UpLAoJICAoZ3N0X2phY2tfcmluZ19idWZmZXJfc3RvcCksIChnc3RfamFja19yaW5nX2J1ZmZlcl9kZWxheSksCgkgIChnc3RfamFja19jb25uZWN0X2dldF90eXBlKSwgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY2xhc3NfaW5pdCksIChnc3RfamFja19hdWRpb19zaW5rX2luaXQpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRfcHJvcGVydHkpLCAoZ3N0X2phY2tfYXVkaW9fc2lua19nZXRjYXBzKSwKCSAgKGdzdF9qYWNrX2F1ZGlvX3NpbmtfY3JlYXRlX3JpbmdidWZmZXIpOgoJICAqIGV4dC9qYWNrL2dzdGphY2thdWRpb3NpbmsuaDoKCSAgQWRkZWQgZnVsbHkgZnVuY3Rpb25hbCBqYWNrYXVkaW9zaW5rLgoKMjAwNi0xMS0yNyAxNzoxNjoyNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgUmVtb3ZlIHNvbWUgYXNzZXJ0cyBhbmQgcmVwbGFjZSB0aGVtIHdpdGggYSBwcm9wZXIgZXJyb3IKCSAgbWVzc2FnZS4gRml4ZXMgIzM3OTI2MS4KCjIwMDYtMTEtMjYgMTc6MjM6MTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFNlbmQgZXZlbnRzIG9uIHRoZSByaWdodCBwYWRzLCBzaW5jZSB0aGV5IGRvbid0IHdvcmsgdmVyeSB3ZWxsIGlmIHlvdSBzZW5kIHRoZW0gaW4gdGhlIHdyb25nIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfcXVlcnkpLAoJICAodGhlb3JhX2RlY19zcmNfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX2NoYWluKToKCSAgU2VuZCBldmVudHMgb24gdGhlIHJpZ2h0IHBhZHMsIHNpbmNlIHRoZXkgZG9uJ3Qgd29yayB2ZXJ5IHdlbGwgaWYKCSAgeW91IHNlbmQgdGhlbSBpbiB0aGUgd3JvbmcgZGlyZWN0aW9uLgoKMjAwNi0xMS0yNCAwOTowNTozOSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgcmVtb3ZlIG9ic29sZXRlIF9mYWN0b3J5X2luaXQgcHJvdG9zIGFuZCBmdW5jdGlvbnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSAgKiBleHQvcG9seXAvcGx1Z2luLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L3BvbHlwL3BvbHlwc2luay5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgIHJlbW92ZSBvYnNvbGV0ZSBfZmFjdG9yeV9pbml0IHByb3RvcyBhbmQgZnVuY3Rpb25zCgoyMDA2LTExLTIxIDEzOjAwOjA4ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHJmYnNyYyBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCByZmJzcmMgcGx1Z2luCgoyMDA2LTExLTE5IDEyOjAyOjEzICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvbGlicmZiL01ha2VmaWxlLmFtOiBDb21waWxlIHdpdGggYXBwcm9wcmlhdGUgY2ZsYWdzLiBGaXhlcyBidWlsZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgQ29tcGlsZSB3aXRoIGFwcHJvcHJpYXRlIGNmbGFncy4gRml4ZXMgYnVpbGQuCgoyMDA2LTExLTE3IDE4OjUxOjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogQWN0dWFsbHkgc2V0IHRoZSBUT05FIHBhcmFtZXRlciBmb3IgRFZCLVMgd2hlbiB3ZSBzaG91bGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTE3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfdHVuZSk6CgkgIEFjdHVhbGx5IHNldCB0aGUgVE9ORSBwYXJhbWV0ZXIgZm9yIERWQi1TIHdoZW4gd2Ugc2hvdWxkLgoKMjAwNi0xMS0xNyAwMzo1MTowNCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzogRml4ZXMgZm9yIDY0LWJpdCBhcmNoaXRlY3R1cmVzLgoKMjAwNi0xMS0xNyAwMzoyOTozMiArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiBPb3BzLCBhZGQgdGhpcyBmaWxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5oOiAgT29wcywgYWRkIHRoaXMgZmlsZS4KCjIwMDYtMTEtMTcgMDM6MTU6NDAgKzAwMDAgIEFuZHJlIE1vcmVpcmEgTWFnYWxoYWVzIDxhbmRydW5rb0BnbWFpbC5jb20+CgoJICBQb3J0IGxpYnJmYiB0byAwLjEwICgjMzc2MTA2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBBbmRyZSBNb3JlaXJhIE1hZ2FsaGFlcyA8YW5kcnVua29AZ21haWwuY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbGlicmZiL01ha2VmaWxlLmFtOgoJICAqIGdzdC9saWJyZmIvZ3N0cmZic3JjLmM6CgkgICogZ3N0L2xpYnJmYi9yZmIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYi5oOgoJICAqIGdzdC9saWJyZmIvcmZiYnVmZmVyLmM6CgkgICogZ3N0L2xpYnJmYi9yZmJidWZmZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uYzoKCSAgKiBnc3QvbGlicmZiL3JmYmJ5dGVzdHJlYW0uaDoKCSAgKiBnc3QvbGlicmZiL3JmYmNvbnRleHQuaDoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuYzoKCSAgKiBnc3QvbGlicmZiL3JmYmRlY29kZXIuaDoKCSAgKiBnc3QvbGlicmZiL3JmYnV0aWwuaDoKCSAgUG9ydCBsaWJyZmIgdG8gMC4xMCAoIzM3NjEwNikuCgoyMDA2LTExLTE2IDE4OjIyOjM3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NwYy9nc3RzcGMuYzogRml4IGJ1aWxkIHdpdGggZGlzYWJsZWQgZ3N0LWRlYnVnLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX3BsYXkpOgoJICBGaXggYnVpbGQgd2l0aCBkaXNhYmxlZCBnc3QtZGVidWcuCgoyMDA2LTExLTE1IDE2OjE5OjU2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZSB3aXRoIGxhdGVzdCBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlIHdpdGggbGF0ZXN0IGNoYW5nZXMKCjIwMDYtMTEtMTUgMTI6MzU6NDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGV4dC93YXZwYWNrLzogU29tZSBzbWFsbCBjbGVhbi11cHM6IHVzZSBlbnVtcyBpbnN0ZWFkIG9mIGhhcmQtY29kZWQgbnVtYmVycywgY29uc3QtaWZ5IGVsZW1lbnQgZGV0YWlscywgcmUtZmFjdG9yIHNvbS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZW5jX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBTb21lIHNtYWxsIGNsZWFuLXVwczogdXNlIGVudW1zIGluc3RlYWQgb2YgaGFyZC1jb2RlZCBudW1iZXJzLAoJICBjb25zdC1pZnkgZWxlbWVudCBkZXRhaWxzLCByZS1mYWN0b3Igc29tZSBjb2RlIGludG8gX3Jlc2V0KCkKCSAgZnVuY3Rpb25zICgjMzUyNjA1KS4KCjIwMDYtMTEtMTQgMTU6MDQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbWlzc2luZyBmaWxlcyBmcm9tIFNQRUMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBtaXNzaW5nIGZpbGVzIGZyb20gU1BFQwoKMjAwNi0xMS0xNCAxMjozMzozMyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHN5cy9kdmIvZ3N0ZHZic3JjLio6IEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbiBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19jcmVhdGUpOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEZpeCBtaW5vciBwcmludGYgZm9ybWF0IGlzc3VlOyByZW1vdmUgb3Zlcmx5IHBhcmFub2lkIGNoZWNrcyBpbgoJICBjcmVhdGUgZnVuY3Rpb247IGZpeCBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3Jvcy4KCjIwMDYtMTEtMTQgMTE6NDM6NDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2dldF9kdXJhdGlvbiksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IHBhcnNlIGV4dHJhIHNhbXBsZSBwYXJhbXMgZm9yIHJhdyBwY20uIEZpeGVzICMzNzQ5MTQuCgoyMDA2LTExLTE0IDExOjM5OjM5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZTogQWRkIGNkYXVkaW8gdG8gaWdub3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICBBZGQgY2RhdWRpbyB0byBpZ25vcmUuCgoyMDA2LTExLTE0IDEwOjUyOjUyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBkaXN0IGNkYXVkaW8gZGlyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIGRpc3QgY2RhdWRpbyBkaXIuCgoyMDA2LTExLTE0IDEwOjQyOjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgRml4IGNkYXVkaW8gYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBjZGF1ZGlvIGJ1aWxkLgoKMjAwNi0xMS0xNCAxMDozMToyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkqIENoYW5nZUxvZzoKCSAgZ2l2ZSBjcmVkaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGdpdmUgY3JlZGl0CgoyMDA2LTExLTE0IDEwOjI1OjE2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgdGVzdHMvY2hlY2svOiBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMveTRtZW5jLmM6IChzZXR1cF95NG1lbmMpLCAoY2xlYW51cF95NG1lbmMpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoeTRtZW5jX3N1aXRlKSwgKG1haW4pOgoJICBBZGRlZCB5NG0gdGVzdC4gRml4ZXMgIzM3MjI0My4KCjIwMDYtMTEtMTMgMTg6NTU6NTcgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBjb25maWd1cmUuYWM6IEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBiZT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIEVuYWJsZSBjZGF1ZGlvIGFuZCB5NG0uCgkgICogZ3N0L3k0bS9NYWtlZmlsZS5hbToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bV9lbmNvZGVfYmFzZV9pbml0KSwKCSAgKGdzdF95NG1fZW5jb2RlX2NsYXNzX2luaXQpLCAoZ3N0X3k0bV9lbmNvZGVfaW5pdCksCgkgIChnc3RfeTRtX2VuY29kZV9yZXNldCksIChnc3RfeTRtX2VuY29kZV9zZXRjYXBzKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9zdHJlYW1faGVhZGVyKSwKCSAgKGdzdF95NG1fZW5jb2RlX2dldF9mcmFtZV9oZWFkZXIpLCAoZ3N0X3k0bV9lbmNvZGVfY2hhaW4pLAoJICAoZ3N0X3k0bV9lbmNvZGVfc2V0X3Byb3BlcnR5KSwgKGdzdF95NG1fZW5jb2RlX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeTRtX2VuY29kZV9jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmg6CgkgIFBvcnQgb2YgeTRtZW5jb2RlIHRvIDAuMTAuCgoyMDA2LTExLTExIDAwOjIyOjI0ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQgZnJvbSBtdWx0aWZpbGVzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9wYXJzZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvdmlkZW9wYXJzZS9nc3R2aWRlb3BhcnNlLmM6CgkgIEEgbGl0dGxlIHBsdWdneSB0byBtYWtlIHNlbnNlIG91dCBvZiB0aGUgcmFuZG9tIGNodW5rcyB3ZSBnZXQKCSAgZnJvbSBtdWx0aWZpbGVzcmMuCgoyMDA2LTExLTEwIDE5OjE4OjMzICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06IExldCdzIG5vdCBkZXBlbmQgb24gYSBmaWxlIHRoYXQgZG9lc24ndCBleGlzdC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZS9NYWtlZmlsZS5hbToKCSAgTGV0J3Mgbm90IGRlcGVuZCBvbiBhIGZpbGUgdGhhdCBkb2Vzbid0IGV4aXN0LgoKMjAwNi0xMS0xMCAxOTowNzo0MyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvbXVsdGlmaWxlc2luay86IFJlbW92ZSB0aGUgb2xkIG9uZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9tdWx0aWZpbGVzaW5rLnZjcHJvajoKCSAgUmVtb3ZlIHRoZSBvbGQgb25lLgoKMjAwNi0xMS0xMCAxODo1MToxMCArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGUvTWFrZWZpbGUuYW06CgkgICogZ3N0L211bHRpZmlsZS9nc3RtdWx0aWZpbGUuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlL2dzdG11bHRpZmlsZXNyYy5jOgoJICAqIGdzdC9tdWx0aWZpbGUvbXVsdGlmaWxlLnZwcm9qOgoJICBSZXZpdmUgbXVsdGlmaWxlW3NyY3xzaW5rXS4KCjIwMDYtMTEtMDkgMTQ6MDA6MzQgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMvZHZiL2dzdGR2YnNyYy5jOiAoZ3N0X2R2YnNyY19zZXRfcHJvcGVydHkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTExLTA5ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuYzogKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KQoJICAoZ3N0X2R2YnNyY19jcmVhdGUpLCAoZ3N0X2R2YnNyY19vdXRwdXRfZnJvbnRlbmRfc3RhdHMpLAoJICAoZ3N0X2R2YnNyY190dW5lKSwgKGdzdF9kdmJzcmNfc2V0X3Blc19maWx0ZXJzKToKCSAgUmVuYW1lIHNldF9wZXNfZmlsdGVyIHRvIHNldF9wZXNfZmlsdGVycyBmb3IgY29uc2lzdGVuY3kuCgkgIERvIHJ1bi10aW1lIHBpZCBmaWx0ZXJpbmcuCgoyMDA2LTExLTA4IDExOjI3OjE2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuYzogRG8gbm90IGNhbGwgb3V0cHV0X2Zyb250ZW5kX3N0YXRzIGZyb20gYSBtZXRob2QgdGhhdCBkb2VzIG5vdCBoYXZlIHRoZSBnc3RkdmJzcmMgb2JqZWN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wOCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSk6CgkgIERvIG5vdCBjYWxsIG91dHB1dF9mcm9udGVuZF9zdGF0cyBmcm9tIGEgbWV0aG9kIHRoYXQgZG9lcyBub3QKCSAgaGF2ZSB0aGUgZ3N0ZHZic3JjIG9iamVjdC4KCSAgVGhpcyBmaXhlcyB0aGUgYnVpbGQsIHNvcnJ5IGd1eXMhCgoyMDA2LTExLTA3IDE0OjQ2OjU2ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi9nc3RkdmJzcmMuKjogRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMS0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChyZWFkX2RldmljZSksIChnc3RfZHZic3JjX2NyZWF0ZSksCgkgIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksIChnc3RfZHZic3JjX3R1bmUpLAoJICAoZ3N0X2R2YnNyY19zZXRfcGVzX2ZpbHRlcik6CgkgICogc3lzL2R2Yi9nc3RkdmJzcmMuaDoKCSAgRm9yY2UgUEFUIHRvIGFsd2F5cyBiZSBpbiB0aGUgZmlsdGVyLgoJICBUcnkgdG8gY29udGludWUgcmVhZGluZyBhZnRlciBmYWlsaW5nIDEwIHRpbWVzLgoKMjAwNi0xMS0wNCAxMzoyNjo0MSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBwby9QT1RGSUxFUy5pbjogYWRkIGR2YnNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgYWRkIGR2YnNyYwoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX2NsYXNzX2luaXQpLCAoZ3N0X2R2YnNyY19pbml0KSwKCSAgKGdzdF9kdmJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9kdmJzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kdmJzcmNfb3Blbl9mcm9udGVuZCksIChnc3RfZHZic3JjX29wZW5fZHZyKSwKCSAgKGdzdF9kdmJzcmNfZmluYWxpemUpLCAocmVhZF9kZXZpY2UpLCAoZ3N0X2R2YnNyY19jcmVhdGUpLAoJICAoZ3N0X2R2YnNyY19zdGFydCksIChnc3RfZHZic3JjX2Zyb250ZW5kX3N0YXR1cyksCgkgIChnc3RfZHZic3JjX3R1bmUpLCAoZ3N0X2R2YnNyY191bnNldF9wZXNfZmlsdGVycyksCgkgIChnc3RfZHZic3JjX3NldF9wZXNfZmlsdGVyKToKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5oOgoJICBhZGFwdGVyLXByZWZpeCBpcyBhIHRlcnJpYmxlIG5hbWUgZm9yIGEgZGV2aWNlLCBzbyByZXBsYWNlIGl0LgoJICBzdHJlcnJvciBzaG91bGQgYmUgdXNlZCBpbW1lZGlhdGVseSBhZnRlciB0aGUgc3lzY2FsbCByZWxhdGVkIHRvIGl0LgoJICBBY3R1YWxseSB0aHJvdyBhIHJlYXNvbmFibGUgR1NUX0VMRU1FTlRfRVJST1IgaWYgd2UgZmFpbCB0byBvcGVuCgkgIChwcmV0dHkgZWFzeSB0byB0cmlnZ2VyIGJ5IG9wZW5pbmcgdGhlIHNhbWUgZGV2aWNlIHR3aWNlKS4KCSAgVXNlIF9PQkpFQ1QgbWFjcm9zIHdoZXJlIGl0IG1ha2VzIHNlbnNlLgoJICBUaGlzIGVsZW1lbnQgaXMgZ29pbmcgdG8gbmVlZCBzb21lIHdvcmsgYmVmb3JlIGl0IG1vdmVzLgoKMjAwNi0xMS0wMiAyMDoxMzoyNiArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgRml4IGVudW0gbmlja3M7IG9ubHkgZW1pdCBuby1tb3JlLXBhZHMgb25jZTsgYWRkIHN1cHBvcnQgZm9yIHZlcnkgZmFzdCBlbmNvZGluZyBtb2RlIGluIHVwY29taW5nIDQuNDAuMCByZWxlYXNlICgjMzY5Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfY29ycmVjdGlvbl9tb2RlX2dldF90eXBlKSwKCSAgKGdzdF93YXZwYWNrX2VuY19qb2ludF9zdGVyZW9fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyk6CgkgIEZpeCBlbnVtIG5pY2tzOyBvbmx5IGVtaXQgbm8tbW9yZS1wYWRzIG9uY2U7IGFkZCBzdXBwb3J0IGZvciB2ZXJ5CgkgIGZhc3QgZW5jb2RpbmcgbW9kZSBpbiB1cGNvbWluZyA0LjQwLjAgcmVsZWFzZSAoIzM2OTUzOSkuCgoyMDA2LTExLTAxIDEwOjE5OjE4ICswMDAwICBTZXJnZXkgU2NvYmljaCA8c2VyZ2V5LnNjb2JpY2hAZ21haWwuY29tPgoKCSAgc3lzLzogV2FpdCB1bnRpbCB0aGUgd2luZG93IGlzIGNyZWF0ZWQgYmVmb3JlIHVzaW5nIGl0OyBndWFyZCB1bmlzdGQuaCBpbmNsdWRlcyB3aXRoIEhBVkVfVU5JU1REX0guICgjMzY2NTIzKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFNlcmdleSBTY29iaWNoICA8c2VyZ2V5IGRvdCBzY29iaWNoIGF0IGdtYWlsIGNvbT4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX3dpbmRvd190aHJlYWQpLAoJICAoZ3N0X2RpcmVjdGRyYXdzaW5rX2NyZWF0ZV9kZWZhdWx0X3dpbmRvdyk6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkgIFdhaXQgdW50aWwgdGhlIHdpbmRvdyBpcyBjcmVhdGVkIGJlZm9yZSB1c2luZyBpdDsgZ3VhcmQgdW5pc3RkLmgKCSAgaW5jbHVkZXMgd2l0aCBIQVZFX1VOSVNURF9ILiAoIzM2NjUyMykKCSAgKiB3aW4zMi92czgvbGliZ3N0ZGlyZWN0ZHJhdy52Y3Byb2o6CgkgICogd2luMzIvdnM4L2xpYmdzdGRpcmVjdHNvdW5kLnZjcHJvajoKCSAgVXBkYXRlIHByb2plY3QgZmlsZXMuCgoyMDA2LTEwLTMxIDEwOjMxOjE4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBIYW5kbGUgdW5ib3VuZGVkIGxlbmd0aCBzdHJlYW1zIGEgYml0IGJldHRlci4gRml4ZXMgIzM2NzY5Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfZ2V0X2R1cmF0aW9uKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAocXRkZW11eF9wYXJzZV90cmVlKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSB1bmJvdW5kZWQgbGVuZ3RoIHN0cmVhbXMgYSBiaXQgYmV0dGVyLiBGaXhlcyAjMzY3Njk2LgoKMjAwNi0xMC0yOSAxOTowODowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6IEZpeCBmbG93IGhhbmRsaW5nIGFuZCBidWZmZXIgcmVmY291bnRpbmcgKGdzdF9wYWRfcHVzaCgpIHRha2VzIG93bmVyc2hpcCBvZiB0aGUgYnVmZmVyIHBhc3NlZCB0by4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19oYW5kbGVfZnJhbWUpOgoJICBGaXggZmxvdyBoYW5kbGluZyBhbmQgYnVmZmVyIHJlZmNvdW50aW5nIChnc3RfcGFkX3B1c2goKSB0YWtlcwoJICBvd25lcnNoaXAgb2YgdGhlIGJ1ZmZlciBwYXNzZWQgdG8gaXQsIHRoZSBidWZmZXIgZG9lcyBub3QgaGF2ZQoJICB0byBiZSB1bnJlZmZlZCBubyBtYXR0ZXIgd2hhdCBmbG93IHZhbHVlIGdzdF9wYWRfcHVzaCgpIHJldHVybnMpLgoKMjAwNi0xMC0yOCAxNjowMDo1MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogQW5vdGhlciB0eXBvIGZpeCAoIzM2NjIxMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpOgoJICBBbm90aGVyIHR5cG8gZml4ICgjMzY2MjEyKS4KCjIwMDYtMTAtMjYgMTQ6MDc6MDggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBGaXhlZCBidWcgZm9yIGZpbGVzIHdpdGggdGltZXN0YW1wcyBsZXNzIHRoYW4gMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIGJ1ZyBmb3IgZmlsZXMgd2l0aCB0aW1lc3RhbXBzIGxlc3MgdGhhbiAwLgoKMjAwNi0xMC0yMSAyMjo1NjowMyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBJIGNvcGllZCBvdmVyIGZpbGVzaW5rIGEgd2hpbGUgYWdvIGFuZCBtb2RpZmllZCBpdCB0byB3b3JrIGFzIG11bHRpZmlsZXNpbmsuICBNaWdodCBhcyB3ZWxsIGNoZWNrIGl0IGluLiAgVGhpcyBjb3VsZCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgIEkgY29waWVkIG92ZXIgZmlsZXNpbmsgYSB3aGlsZSBhZ28gYW5kIG1vZGlmaWVkIGl0IHRvIHdvcmsKCSAgYXMgbXVsdGlmaWxlc2luay4gIE1pZ2h0IGFzIHdlbGwgY2hlY2sgaXQgaW4uICBUaGlzIGNvdWxkCgkgIHVzZSBzb21lIHdvcmsgYmVmb3JlIGJlaW5nIGRlY2xhcmVkIHVzZWZ1bC4KCjIwMDYtMTAtMTcgMTU6MTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBBY3RpdmF0ZSBwYWRzIGJlZm9yZSBhZGRpbmcgdGhlbSB0byBydW5uaW5nIGVsZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NyZWF0ZV9zcmNfcGFkKToKCSAgKiBnc3QvbnV2ZGVtdXgvZ3N0bnV2ZGVtdXguYzogKGdzdF9udXZfZGVtdXhfY3JlYXRlX3BhZHMpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCk6CgkgIEFjdGl2YXRlIHBhZHMgYmVmb3JlIGFkZGluZyB0aGVtIHRvIHJ1bm5pbmcgZWxlbWVudC4KCjIwMDYtMTAtMTcgMTQ6NTc6MTcgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBKb3NlcCBUb3JyYSBWYWxsZXMgIDxqb3NlcCBhdCBmbHVlbmRvIGNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc2lua19ldmVudCksCgkgIChuZXh0X2VudHJ5X3NpemUpLCAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2VfbW9vdiksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLAoJICAocXRkZW11eF90YWdfYWRkX251bSksIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSk6CgkgIE1ha2UgY29tcGlsZSB3aXRoIEZvcnRlIGNvbXBpbGVyLCBtb3N0bHkgZG9uJ3QgZG8gcG9pbnRlciBhcml0aG1ldGljCgkgIHdpdGggdm9pZCBwb2ludGVycyAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDE0OjQwOjIwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5jOgoJICBKdXN0IGEgY2FzdCB0byBtYWtlIGl0IGNvbXBpbGUgb29zIGJpZ19lbmRpYW4gc3lzdGVtcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgYSBjYXN0IHRvIG1ha2UgaXQgY29tcGlsZSBvb3MgYmlnX2VuZGlhbiBzeXN0ZW1zLgoKMjAwNi0xMC0xNyAxNDoyNDoxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9udXZkZW11eC9NYWtlZmlsZS5hbToKCSogZ3N0L251dmRlbXV4L2dzdG51dmRlbXV4LmM6CgkqIGdzdC9udXZkZW11eC9nc3RudXZkZW11eC5oOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG51dmRlbXV4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCBudXZkZW11eC4KCjIwMDYtMTAtMTcgMTE6MDQ6MTQgKzAwMDAgIEpvc2VwIFRvcnJhIFZhbGxlcyA8am9zZXBAZmx1ZW5kby5jb20+CgoJICBnc3QvbnNmLzogRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmEgVmFsbGVzICA8am9zZXAgYXQgZmx1ZW5kbyBjb20+CgkgICogZ3N0L25zZi9mZHNfc25kLmM6CgkgICogZ3N0L25zZi9tbWM1X3NuZC5jOgoJICAqIGdzdC9uc2YvbnNmLmM6CgkgICogZ3N0L25zZi92cmM3X3NuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuYzoKCSAgRml4IHNvbWUgdGhpbmdzIHRoZSBGb3J0ZSBjb21waWxlciB3YXJucyBhYm91dCAoIzM2MjYyNikuCgoyMDA2LTEwLTE3IDEwOjU5OjU1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBBdm9pZCB2b2lkIHBvaW50ZXIgdXNhZ2UsIGJldHRlciB1c2UgZ3VpbnQ4ICogaW5zdGVhZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV9tb292KSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9ub2RlX2R1bXBfZm9yZWFjaCksIChxdGRlbXV4X2R1bXBfbXZoZCksCgkgIChxdGRlbXV4X2R1bXBfdGtoZCksIChxdGRlbXV4X2R1bXBfZWxzdCksIChxdGRlbXV4X2R1bXBfbWRoZCksCgkgIChxdGRlbXV4X2R1bXBfaGRsciksIChxdGRlbXV4X2R1bXBfdm1oZCksIChxdGRlbXV4X2R1bXBfZHJlZiksCgkgIChxdGRlbXV4X2R1bXBfc3RzZCksIChxdGRlbXV4X2R1bXBfc3R0cyksIChxdGRlbXV4X2R1bXBfc3RzcyksCgkgIChxdGRlbXV4X2R1bXBfc3RzYyksIChxdGRlbXV4X2R1bXBfc3RzeiksIChxdGRlbXV4X2R1bXBfc3RjbyksCgkgIChxdGRlbXV4X2R1bXBfY282NCksIChxdGRlbXV4X2R1bXBfZGNvbSksIChxdGRlbXV4X2R1bXBfY212ZCksCgkgIChxdGRlbXV4X2R1bXBfdW5rbm93biksIChxdGRlbXV4X3RyZWVfZ2V0X2NoaWxkX2J5X3R5cGUpLAoJICAocXRkZW11eF90cmVlX2dldF9zaWJsaW5nX2J5X3R5cGUpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgQXZvaWQgdm9pZCBwb2ludGVyIHVzYWdlLCBiZXR0ZXIgdXNlIGd1aW50OCAqIGluc3RlYWQuCgoyMDA2LTEwLTExIDIwOjMzOjQ4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUG9ydCBzaW1wbGUgZGVpbnRlcmxhY2VyIGZyb20gMC44LiBVc2UgYXQgeW91ciBvd24gcmlzaywgZG9uJ3QgYmxhbWUgbWUgZm9yIGFueXRoaW5nIGl0IGRvZXMgb3IgZG9lcyBub3QgZG8gdG8geW91ciBwLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvZGVpbnRlcmxhY2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmM6IChnc3RfZGVpbnRlcmxhY2VfYmFzZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9jbGFzc19pbml0KSwgKGdzdF9kZWludGVybGFjZV9pbml0KSwKCSAgKGdzdF9kZWludGVybGFjZV9zdG9wKSwgKGdzdF9kZWludGVybGFjZV90cmFuc2Zvcm1fY2FwcyksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X2NhcHMpLCAoZ3N0X2RlaW50ZXJsYWNlX3RyYW5zZm9ybV9pcCksCgkgIChnc3RfZGVpbnRlcmxhY2Vfc2V0X3Byb3BlcnR5KSwgKGdzdF9kZWludGVybGFjZV9nZXRfcHJvcGVydHkpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5oOgoJICBQb3J0IHNpbXBsZSBkZWludGVybGFjZXIgZnJvbSAwLjguIFVzZSBhdCB5b3VyIG93biByaXNrLCBkb24ndCBibGFtZQoJICBtZSBmb3IgYW55dGhpbmcgaXQgZG9lcyBvciBkb2VzIG5vdCBkbyB0byB5b3VyIHByZWNpb3VzIHBpY3R1cmVzLgoKMjAwNi0xMC0xMSAxMzo0OToyNiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHNvbWUgZm91cmNjIGZvciBEViBmb3JtYXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzb21lIGZvdXJjYyBmb3IgRFYgZm9ybWF0LgoKMjAwNi0xMC0xMCAxODo1NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZXh0cmFjdF9pbml0aWFsX2xlbmd0aF9hbmRfZm91cmNjKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICBVc2UgIl9zdGRpbnQuaCIuCgoyMDA2LTEwLTEwIDE2OjA5OjU4ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgc3lzL2R2Yi86IFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy9kdmIvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL01ha2VmaWxlLmFtOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9hdWRpby5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9jYS5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9kbXguaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvZnJvbnRlbmQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvbmV0Lmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL29zZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS92ZXJzaW9uLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZpZGVvLmg6CgkgIFJlbW92ZSB0aGVzZSBmaWxlcywgbm90IG5lZWRlZCB1c2Ugc3lzdGVtIGZpbGVzLgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmM6IChnc3RfZHZic3JjX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZHZic3JjX2NyZWF0ZSksIChnc3RfZHZic3JjX291dHB1dF9mcm9udGVuZF9zdGF0cyksCgkgIChnc3RfZHZic3JjX3R1bmUpOgoJICBGaXggd2FybmluZ3MsIHVpbnQxNl90IGV0Yy4gaXMgaW4gc3RkaW50LmguCgkgIFVzZSBzeXN0ZW0gaW5jbHVkZXMgbm90IG91ciBsb2NhbCBvbmVzLgoKMjAwNi0xMC0xMCAxNTo1NToyNSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIHBvLy5naXRpZ25vcmU6CgkgIEJ1aWxkYm90LCBJIGRvIGFzIHlvdSBjb21tYW5kLiBodHRwOi8vYnVpbGQuZmx1ZW5kby5jb206ODA4MC9nZW42NC1iYWQtZnVsbC9idWlsZHMvNDc1L2N2cyUyMGlnbm9yZS8xCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCdWlsZGJvdCwgSSBkbyBhcyB5b3UgY29tbWFuZC4KCSAgaHR0cDovL2J1aWxkLmZsdWVuZG8uY29tOjgwODAvZ2VuNjQtYmFkLWZ1bGwvYnVpbGRzLzQ3NS9jdnMlMjBpZ25vcmUvMQoKMjAwNi0xMC0xMCAxNTo0Nzo0OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCBkdmIgZGV0ZWN0aW9uIGFuZCBhbGxvdyBkdmJzcmMgdG8gYmUgYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgQWRkIGR2YiBkZXRlY3Rpb24gYW5kIGFsbG93IGR2YnNyYyB0byBiZSBidWlsdC4KCjIwMDYtMTAtMTAgMTU6MDU6MzIgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBJbml0aWFsIGltcG9ydCBvZiBkdmJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTEwLTEwICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL0FVVEhPUlM6CgkgICogc3lzL2R2Yi9NYWtlZmlsZS5hbToKCSAgKiBzeXMvZHZiL1JFQURNRToKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvTWFrZWZpbGUuYW06CgkgICogc3lzL2R2Yi9kdmItYXBpL2F1ZGlvLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2NhLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL2RteC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9mcm9udGVuZC5oOgoJICAqIHN5cy9kdmIvZHZiLWFwaS9uZXQuaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvb3NkLmg6CgkgICogc3lzL2R2Yi9kdmItYXBpL3ZlcnNpb24uaDoKCSAgKiBzeXMvZHZiL2R2Yi1hcGkvdmlkZW8uaDoKCSAgKiBzeXMvZHZiL2dzdGR2YnNyYy5jOgoJICAqIHN5cy9kdmIvZ3N0ZHZic3JjLmg6CgkgIEluaXRpYWwgaW1wb3J0IG9mIGR2YnNyYy4KCSAgQ3VycmVudGx5IHdvbid0IGJlIGJ1aWx0LgoKMjAwNi0xMC0xMCAxMjo0OTowMiArMDAwMCAgSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCgkgIGV4dC9nbm9tZXZmcy86IEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0xMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICBQYXRjaCBieTogSm9zZXAgVG9ycmUgVmFsbGVzIDxqb3NlcEBmbHVlbmRvLmNvbT4KCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmM6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOiAoZ3N0X3RleHRfb3ZlcmxheV9zZXRfcHJvcGVydHkpOgoJICBGaXggd2hhdCBsb29rcyBsaWtlIGEgY29weS9wYXN0ZSBpc3N1ZSB3aGVuIGFzc2lnbmluZyB2YWx1ZXMuCgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvZmlsdGVydGVtcGxhdGUuYzoKCSAgKGdzdF9hdWRpb19maWx0ZXJfdGVtcGxhdGVfZ2V0X3R5cGUpOgoJICBDYXN0IHRvIHByZXZlbnQgRm9ydGUgd2FybmluZ3MuCgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzogKGdzdF9jZGRhX2Jhc2Vfc3JjX2NyZWF0ZSk6CgkgIEZpeCBVUkkgaW50ZXJmYWNlIGltcGxlbWVudGF0aW9uIHJldHVybiB0eXBlLgoJICBnc3RfcGFkX3F1ZXJ5X3Bvc2l0aW9uIHJlcXVpcmVzIGEgc2lnbmVkIGludGVnZXIgcG9pbnRlciBhcwoJICAzcmQgcGFyYW1ldGVyLCBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQuCgkgICogZ3N0L2F1ZGlvY29udmVydC9hdWRpb2NvbnZlcnQuYzoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4KCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiAocmVzYW1wbGVfYWRkX2lucHV0X2RhdGEpOgoJICBDYXN0IHRvIHByZXZlbnQgd2FybmluZ3Mgb24gRm9ydGUuCgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvaW1nY29udmVydC5jOiAoYnVpbGRfcmdiX3BhbGV0dGUpOgoJICBGaXggaW50ZWdlciBvdmVyZmxvdyB3aGVuIHRyZWF0ZWQgYXMgc2lnbmVkLgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2ltZ2NvbnZlcnRfdGVtcGxhdGUuaDoKCSAgRml4IGludGVnZXIgb3ZlcmZsb3cgd2hlbiB0cmVhdGVkIGFzIHNpZ25lZC4gUkdCQV9PVVQgc2hpZnRzIGJpdHMuCgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOiAocXVldWVfZmlsbGVkX2NiKSwKCSAgKGNsZWFudXBfZGVjb2RlYmluKToKCSAgV2hvIGluaXRpYWxpc2VzIGEgZ3VpbnQgdG8gLTEhCgkgIENhc3QgZnVuY3Rpb24gcG9pbnRlcnMgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX2RlYWRsb2NrX2NoZWNrKSwKCSAgKHF1ZXVlX3RocmVzaG9sZF9yZWFjaGVkKToKCSAgQ2FzdCBmdW5jdGlvbiBwb2ludGVycyBjb3JyZWN0bHkgdG8gcHJldmVudCB3YXJuaW5ncyBvbiBGb3J0ZS4KCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtaW5mby5jOiAoZ3N0X3N0cmVhbV9pbmZvX2Rpc3Bvc2UpOgoJICBDYXN0IGZ1bmN0aW9uIHBvaW50ZXJzIGNvcnJlY3RseSB0byBwcmV2ZW50IHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC9zdWJwYXJzZS9nc3Rzc2FwYXJzZS5jOiAoZ3N0X3NzYV9wYXJzZV9zZXRjYXBzKToKCSAgT2J2aW91cyBjaGFuZ2UgdG8gdW5zaWduZWQsIDB4RUYgPiBtYXggc2lnbmVkIGNoYXIuCgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOiAoZ2V0X2J1ZmZlcnNfbWF4KSwgKGNvdW50X2J1cnN0X3VuaXQpOgoJICBHc3RDbG9ja1RpbWUgaXMgdW5zaWduZWQsIGluaXRpYWxpc2UgY29ycmVjdGx5LgoJICAqIGdzdC90Y3AvZ3N0dGNwLmM6IChnc3RfdGNwX3NvY2tldF93cml0ZSk6CgkgIENhc3Qgc28gcG9pbnRlciBhcml0aGVtZXRpYyBkb2Vzbid0IGNhdXNlIHdhcm5pbmdzIG9uIEZvcnRlLgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmM6CgkgIFVzZSBjb3JyZWN0IHJldHVybiB2YWx1ZS4KCSAgKiB0ZXN0cy9leGFtcGxlcy9zZWVrL3NjcnViYnkuYzoKCSAgR3N0Q2xvY2tUaW1lIGlzIHVuc2lnbmVkLCBpbml0aWFsaXNlIGNvcnJlY3RseS4KCjIwMDYtMTAtMTAgMDk6NTc6MTkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaW5pdCksCgkgIChnc3RfcXRkZW11eF9wdXNoX2V2ZW50KSwgKGdzdF9xdGRlbXV4X2RvX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFJlb3JnYW5pc2Ugc29tZSBzdHVmZi4KCSAgUGFyc2UgUlRTUCByZWRpcmVjdGlvbiBVUkxTLgoKMjAwNi0xMC0wNyAxMTozNzo1OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGRvY3MvcGx1Z2lucy86IEFkZC91cGRhdGUgZG9jcyBzdHVmZi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZHRzZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW1zLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXBlZzJlbmMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcmVwbGF5Z2Fpbi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNvdW5kdG91Y2gueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGNkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zd2ZkZWMueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlb2Nyb3AueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSAgQWRkL3VwZGF0ZSBkb2NzIHN0dWZmLgoKMjAwNi0xMC0wNiAxNTo1NjowMSArMDAwMCAgUmVuw6kgU3RhZGxlciA8bWFpbEByZW5lc3RhZGxlci5kZT4KCgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IFJlbsOpIFN0YWRsZXIgIDxtYWlsIGF0IHJlbmVzdGFkbGVyIGRlPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGdzdC9yZXBsYXlnYWluL01ha2VmaWxlLmFtOgoJICAqIGdzdC9yZXBsYXlnYWluL2dzdHJnYW5hbHlzaXMuYzogKGdzdF9yZ19hbmFseXNpc19iYXNlX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2NsYXNzX2luaXQpLCAoZ3N0X3JnX2FuYWx5c2lzX2luaXQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3NldF9wcm9wZXJ0eSksIChnc3RfcmdfYW5hbHlzaXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9yZ19hbmFseXNpc19zdGFydCksIChnc3RfcmdfYW5hbHlzaXNfc2V0X2NhcHMpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3RyYW5zZm9ybV9pcCksIChnc3RfcmdfYW5hbHlzaXNfZXZlbnQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX3N0b3ApLCAoZ3N0X3JnX2FuYWx5c2lzX2hhbmRsZV90YWdzKSwKCSAgKGdzdF9yZ19hbmFseXNpc19oYW5kbGVfZW9zKSwgKGdzdF9yZ19hbmFseXNpc190cmFja19yZXN1bHQpLAoJICAoZ3N0X3JnX2FuYWx5c2lzX2FsYnVtX3Jlc3VsdCksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L3JlcGxheWdhaW4vZ3N0cmdhbmFseXNpcy5oOgoJICAqIGdzdC9yZXBsYXlnYWluL3JnYW5hbHlzaXMuYzogKHl1bGVfZmlsdGVyKSwgKGJ1dHRlcl9maWx0ZXIpLAoJICAoYXBwbHlfZmlsdGVycyksIChyZXNldF9maWx0ZXJzKSwgKGFjY3VtdWxhdG9yX2FkZCksCgkgIChhY2N1bXVsYXRvcl9jbGVhciksIChhY2N1bXVsYXRvcl9yZXN1bHQpLCAocmdfYW5hbHlzaXNfbmV3KSwKCSAgKHJnX2FuYWx5c2lzX3NldF9zYW1wbGVfcmF0ZSksIChyZ19hbmFseXNpc19kZXN0cm95KSwKCSAgKHJnX2FuYWx5c2lzX2FuYWx5emVfbW9ub19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX3N0ZXJlb19mbG9hdCksCgkgIChyZ19hbmFseXNpc19hbmFseXplX21vbm9faW50MTYpLAoJICAocmdfYW5hbHlzaXNfYW5hbHl6ZV9zdGVyZW9faW50MTYpLCAocmdfYW5hbHlzaXNfYW5hbHl6ZSksCgkgIChyZ19hbmFseXNpc190cmFja19yZXN1bHQpLCAocmdfYW5hbHlzaXNfYWxidW1fcmVzdWx0KSwKCSAgKHJnX2FuYWx5c2lzX3Jlc2V0X2FsYnVtKSwgKHJnX2FuYWx5c2lzX3Jlc2V0KToKCSAgKiBnc3QvcmVwbGF5Z2Fpbi9yZ2FuYWx5c2lzLmg6CgkgIEFkZCBSZXBsYXlHYWluIGFuYWx5c2lzIGVsZW1lbnQgKCMzNTcwNjkpLgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvcmdhbmFseXNpcy5jOiAoZ2V0X2V4cGVjdGVkX2dhaW4pLAoJICAoc2V0dXBfcmdhbmFseXNpcyksIChjbGVhbnVwX3JnYW5hbHlzaXMpLCAoc2V0X3BsYXlpbmdfc3RhdGUpLAoJICAoc2VuZF9lb3NfZXZlbnQpLCAoc2VuZF90YWdfZXZlbnQpLCAocG9sbF9lb3MpLCAocG9sbF90YWdzKSwKCSAgKGZhaWxfdW5sZXNzX3RyYWNrX2dhaW4pLCAoZmFpbF91bmxlc3NfdHJhY2tfcGVhayksCgkgIChmYWlsX3VubGVzc19hbGJ1bV9nYWluKSwgKGZhaWxfdW5sZXNzX2FsYnVtX3BlYWspLAoJICAoZmFpbF9pZl90cmFja190YWdzKSwgKGZhaWxfaWZfYWxidW1fdGFncyksCgkgIChmYWlsX3VubGVzc19udW1fdHJhY2tzKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2Zsb2F0X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfZmxvYXRfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX2NvbnN0X2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfY29uc3RfaW50MTZfc3RlcmVvKSwgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9tb25vKSwKCSAgKHRlc3RfYnVmZmVyX3NxdWFyZV9mbG9hdF9zdGVyZW8pLCAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X21vbm8pLAoJICAodGVzdF9idWZmZXJfc3F1YXJlX2ludDE2X3N0ZXJlbyksIChwdXNoX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgIChyZ2FuYWx5c2lzX3N1aXRlKSwgKG1haW4pOgoJICBVbml0IHRlc3RzIGZvciB0aGUgbmV3IHJlcGxheWdhaW4gZWxlbWVudC4KCjIwMDYtMTAtMDYgMTU6NDk6MzkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFNvbWUgY2xlYW51cHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2Rlcik6CgkgIFNvbWUgY2xlYW51cHMuCgkgIEFkZGVkIHNvbWUgbW9yZSBkZWJ1Z2dpbmcuCgkgIERvbid0IGV2ZXIgaWdub3JlIHVubGlua2VkLCB3ZSdyZSBub3QgYSBkZW11eGVyLgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBBY3RpdmF0ZSBwYWQgYmVmb3JlIGFkZGluZyBpdCB0byB0aGUgZWxlbWVudC4KCjIwMDYtMTAtMDYgMTI6MDI6MDkgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLio6IFBvcnQgbG90cyBvZiBjaGFuZ2VzIGZyb20gdGhlb3JhZGVjIHRvIHRoZW9yYWV4cGRlYy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKGdzdF90aGVvcmFkZWNfcmVzZXQpLAoJICAodGhlb3JhX2dldF9xdWVyeV90eXBlcyksICh0aGVvcmFfZGVjX3NyY19xdWVyeSksCgkgICh0aGVvcmFfZGVjX3NyY19ldmVudCksICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLAoJICAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwKCSAgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksIChjbGlwX2J1ZmZlciksICh0aGVvcmFfZGVjX3B1c2gpLAoJICAodGhlb3JhX2hhbmRsZV80MjJfaW1hZ2UpLCAodGhlb3JhX2hhbmRsZV80MjBfaW1hZ2UpLAoJICAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBQb3J0IGxvdHMgb2YgY2hhbmdlcyBmcm9tIHRoZW9yYWRlYyB0byB0aGVvcmFleHBkZWMuCgkgIFRoaXMgY2F0Y2hlcyB0aGlzIHBsdWdpbiB1cCB0byB0aGVvcmFkZWMuIE5vdGUgdGhhdCBkdXBsaWNhdGUgZnJhbWVzCgkgIGFyZSBicm9rZW4gaW4gdGhlb3JhZGVjIGF0IHRoZSBtb21lbnQuCgoyMDA2LTEwLTA2IDExOjMxOjExICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEZpeCBtZW0gbGVhaywgYXZvaWQgdW5uZWNlc3NhcnkgbWVtY3B5LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBGaXggbWVtIGxlYWssIGF2b2lkIHVubmVjZXNzYXJ5IG1lbWNweS4KCjIwMDYtMTAtMDYgMDI6Mjk6MzUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBSZW1vdmVkIGNydWZ0IGNvZGUgdGhhdCB3YXMganVzdCBjb21tZW50ZWQgb3V0LiBSZW1vdmVkIHNvbWUgb2Jzb2xldGUKCSAgZGVidWcgbG9ncyBzdGF0ZW1lbnRzLgoKMjAwNi0xMC0wNSAxODoxNDo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIEFub3RoZXIgYmF0Y2ggb2YgcHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfY2hhaW4pOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF90cm1fc2V0Y2Fwcyk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX3Npbmtfc2V0X2NhcHMpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2NoYWluKSwgKHF0ZGVtdXhfcGFyc2UpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV90cmFuc2Zvcm1faXApOgoJICBBbm90aGVyIGJhdGNoIG9mIHByaW50ZiBmb3JtYXQgZml4ZXMuCgoyMDA2LTEwLTA1IDE1OjU1OjIwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUHJpbnRmIGZvcm1hdCBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYWRldmljZXByb2JlLmM6CgkgIChnc3RfYWxzYV9kZXZpY2VfcHJvcGVydHlfcHJvYmVfZ2V0X3ZhbHVlcyk6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYXNpbmsuYzogKHNldF9od3BhcmFtcyk6CgkgICogZXh0L29nZy9nc3RvZ2dkZW11eC5jOiAoZ3N0X29nZ19kZW11eF9jaGFpbl9lbGVtX3BhZCksCgkgIChnc3Rfb2dnX2NoYWluX25ld19zdHJlYW0pLCAoZ3N0X29nZ19kZW11eF9yZWFkX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOiAoZ3N0X29nZ19tdXhfc2VuZF9oZWFkZXJzKSwKCSAgKGdzdF9vZ2dfbXV4X3Byb2Nlc3NfYmVzdF9wYWQpOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzogKGdzdF9vZ2dfcGFyc2VfbmV3X3N0cmVhbSksCgkgIChnc3Rfb2dnX3BhcnNlX2NoYWluKToKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6IChnc3Rfb2dtX3BhcnNlX3N0cmVhbV9oZWFkZXIpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6ICh2b3JiaXNfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc2VuYy5jOiAoZ3N0X3ZvcmJpc19lbmNfc2V0dXApLAoJICAoZ3N0X3ZvcmJpc19lbmNfYnVmZmVyX2NoZWNrX2Rpc2NvbnRpbnVvdXMpOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzcGFyc2UuYzogKHZvcmJpc19wYXJzZV9zcmNfcXVlcnkpOgoJICAqIGdzdC1saWJzL2dzdC9hdWRpby9nc3RiYXNlYXVkaW9zaW5rLmM6CgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3JlbmRlcik6CgkgICogZ3N0LWxpYnMvZ3N0L2NkZGEvZ3N0Y2RkYWJhc2VzcmMuYzoKCSAgKGdzdF9jZGRhX2Jhc2Vfc3JjX2hhbmRsZV90cmFja19zZWVrKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBkZXBheWxvYWQuYzoKCSAgKGdzdF9iYXNlX3J0cF9kZXBheWxvYWRfcHVzaF9mdWxsKToKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBwYXlsb2FkLmM6IChnc3RfYmFzZXJ0cHBheWxvYWRfcHVzaCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKToKCSAgKiBnc3QvcGxheWJhY2svZ3N0cGxheWJhc2ViaW4uYzogKHF1ZXVlX291dF9vZl9kYXRhKToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19oYW5kbGVfY2xpZW50cyk6CgkgICogZ3N0L3R5cGVmaW5kL2dzdHR5cGVmaW5kZnVuY3Rpb25zLmM6IChtcDNfdHlwZV9maW5kX2F0X29mZnNldCksCgkgICh3YXZwYWNrX3R5cGVfZmluZCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzogKGdzdF92aWRlb190ZXN0X3NyY19jcmVhdGUpOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmM6IChnc3RfeHZpbWFnZV9idWZmZXJfZGVzdHJveSksCgkgIChnc3RfeHZpbWFnZXNpbmtfY2hlY2tfeHNobV9jYWxscyksIChnc3RfeHZpbWFnZXNpbmtfeHZpbWFnZV9uZXcpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBQcmludGYgZm9ybWF0IGZpeGVzLgoKMjAwNi0xMC0wNCAyMjozNzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLio6IEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeCBwYXNzdGhyb3VnaCBtb2RlOyBsYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksCgkgIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fcGFja2VkX2NvbXBsZXgpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BhY2tlZF9zaW1wbGUpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb2Nyb3BfY2xlYXJfbmVnb3RpYXRlZF9jYXBzX2xvY2tlZCksCgkgIChnc3RfdmlkZW9fY3JvcF9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmg6CgkgIEhhbmRsZSBwYWNrZWQgWVVWIGZvcm1hdHMgKFVZVlksIFlVWTIsIFlVWVYpIHNlcGFyYXRlbHk7IGFsc28sIGZpeAoJICBwYXNzdGhyb3VnaCBtb2RlOyBsYXN0bHksIGNsZWFyIG5lZ290aWF0ZWQgYmFzZXRyYW5zZm9ybSBjYXBzIHdoZW4KCSAgdGhlIGNyb3BwaW5nIGNoYW5nZXMgaW4gb3JkZXIgdG8gZm9yY2UgcmVuZWdvdGlhdGlvbi4KCjIwMDYtMTAtMDQgMjA6MDU6MDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9pY2xlcy86IFZpc3VhbCB0ZXN0IGZvciB2aWRlb2Nyb3AsIHNob3dzIHRoYXQgcGFja2VkIHl1diBkb2Vzbid0IHdvcmsgcmlnaHQgeWV0LiAtLXdpdGgtZmZtcGVnY29sb3JzcGFjZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvaWNsZXMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy92aWRlb2Nyb3AtdGVzdC5jOiAocXVpdF9tYWlubG9vcCksICh0aWNrX2NiKSwKCSAgKHRlc3Rfd2l0aF9jYXBzKSwgKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksIChtYWluKToKCSAgVmlzdWFsIHRlc3QgZm9yIHZpZGVvY3JvcCwgc2hvd3MgdGhhdCBwYWNrZWQgeXV2IGRvZXNuJ3Qgd29yayByaWdodAoJICB5ZXQuIC0td2l0aC1mZm1wZWdjb2xvcnNwYWNlIG9wdGlvbiBkb2Vzbid0IHdvcmsgeWV0IGZvciB1bmtub3duCgkgIHJlYXNvbnMgKGFub3RoZXIgYmFzZXRyYW5zZm9ybSBpc3N1ZT8pCgoyMDA2LTEwLTA0IDEwOjU1OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgUmVtb3ZlIG1vcmUgdjRsMiBzdHVmZiwgaG9wZWZ1bGx5IGZpeGluZyAnbWFrZSBkaXN0Y2hlY2snIGFnYWluLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBwby9QT1RGSUxFUy5pbjoKCSAgKiBzeXMvdjRsMi8uY3ZzaWdub3JlOgoJICBSZW1vdmUgbW9yZSB2NGwyIHN0dWZmLCBob3BlZnVsbHkgZml4aW5nICdtYWtlIGRpc3RjaGVjaycgYWdhaW4uCgoyMDA2LTEwLTA0IDEwOjI5OjIyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIHJlbW92ZWQgdjRsMgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJICAqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmVkIHY0bDIKCjIwMDYtMTAtMDMgMTg6MzI6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmluZyBpY2xlIGZvciB2NGwyCgoyMDA2LTEwLTAzIDE4OjI3OjU3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlIGxhc3QgY29uZAoKMjAwNi0xMC0wMyAxODoyMzoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBtb3ZlZCB0byBnc3QtcGx1Z2lucy1nb29kCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgICogc3lzL3Y0bDIvUkVBRE1FOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydmlkb3JpZW50LmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgbW92ZWQgdG8gZ3N0LXBsdWdpbnMtZ29vZAoKMjAwNi0xMC0wMyAxMzo0NzoxMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIGNvbW1lbnQgb3V0IHRoZSBub3RpZmllcyBmb3IgcmVtb3ZlZCBwcm9wZXJ0aWVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjb21tZW50IG91dCB0aGUgbm90aWZpZXMgZm9yIHJlbW92ZWQgcHJvcGVydGllcwoKMjAwNi0xMC0wMyAxMzozMDo0OCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIgaW50ZXJmYWNlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlcik6CgkgIGNvbW1lbnQgb3V0IHRoZSBwcm9wZXJ0aWVzIHRoYXQgYXJlIGFscmVhZHkgcGFydCBvZiB0aGUgdHVuZXIKCSAgaW50ZXJmYWNlLgoKMjAwNi0xMC0wMyAxMzoxODo1OSArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogSW1wcm92ZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0xMC0wMyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgSW1wcm92ZSBkb2NzLgoKMjAwNi0xMC0wMiAxMzoyODo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC94dmlkL2dzdHh2aWQuYzogU2V0IHJhbmsgb2YgeHZpZGRlYyB0byBOT05FIHVudGlsIHNvbWVvbmUgZml4ZXMgaXQgKHRvbyBtYW55IGNyYXNoZXIgYnVnIHJlcG9ydHMgYWdhaW5zdCB0b3RlbSwgcC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQveHZpZC9nc3R4dmlkLmM6IChwbHVnaW5faW5pdCk6CgkgIFNldCByYW5rIG9mIHh2aWRkZWMgdG8gTk9ORSB1bnRpbCBzb21lb25lIGZpeGVzIGl0ICh0b28gbWFueSBjcmFzaGVyCgkgIGJ1ZyByZXBvcnRzIGFnYWluc3QgdG90ZW0sIHBlb3BsZSBzaG91bGQgdXNlIGdzdC1mZm1wZWcpLgoKMjAwNi0wOS0yOCAxNzowODo0NyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRnJhbWVyYXRlIGNhbiBiZSAwLzEgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfYWxsX2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2ZpbGxfbGlzdHMpOgoJICBGcmFtZXJhdGUgY2FuIGJlIDAvMSB0b28uCgkgIEluaXQgZnJhbWVyYXRlIHRvIDAvMSBiZWZvcmUgcXVlcnlpbmcgaXQgc28gdGhhdCB3ZSBjYW4gZGV0ZWN0CgkgIGRldmljZXMgdGhhdCBkb24ndCBrbm93IGFib3V0IGEgZnJhbWVyYXRlLgoJICBBZGQgc29tZSBtb3JlIGRlYnVnZ2luZyBpbmZvLgoKMjAwNi0wOS0yOCAxNDozMTo0MSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkIHN1cHBvcnQgZm9yICd5djEyJyBmb3VyY2MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciAneXYxMicgZm91cmNjLgoKMjAwNi0wOS0yNyAxNzo0Nzo1NyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgc2V0LXVuZGVmLWZwcy4KCjIwMDYtMDktMjcgMTc6MDQ6MjIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBzeXMvdjRsMi86IFJlbmFtZWQgc29tZSBwcm9wZXJ0aWVzIHRvIG1hdGNoIHRoZSB0dW5lciBpbnRlcmZhY2UgbmFtaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkgIChnc3RfdjRsMl9vYmplY3RfaW5zdGFsbF9wcm9wZXJ0aWVzX2hlbHBlciksIChnc3RfdjRsMl9vYmplY3RfbmV3KSwKCSAgKGdzdF92NGwyX29iamVjdF9zZXRfcHJvcGVydHlfaGVscGVyKSwKCSAgKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKSwgKGdzdF92NGwyX3NldF9kZWZhdWx0cyk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzogKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX2NoYW5uZWwpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9jaGFubmVscyksCgkgIChnc3RfdjRsMl90dW5lcl9zZXRfY2hhbm5lbF9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9jaGFubmVsKSwgKGdzdF92NGwyX3R1bmVyX2NvbnRhaW5zX25vcm0pLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbGlzdF9ub3JtcyksIChnc3RfdjRsMl90dW5lcl9zZXRfbm9ybV9hbmRfbm90aWZ5KSwKCSAgKGdzdF92NGwyX3R1bmVyX2dldF9ub3JtKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX2ZpbGxfbGlzdHMpLCAoZ3N0X3Y0bDJfZW1wdHlfbGlzdHMpOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2dldF9mcHMpOgoJICBSZW5hbWVkIHNvbWUgcHJvcGVydGllcyB0byBtYXRjaCB0aGUgdHVuZXIgaW50ZXJmYWNlIG5hbWluZy4KCjIwMDYtMDktMjcgMTY6MTQ6MTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfb2JqZWN0X3NldF9wcm9wZXJ0eV9oZWxwZXIpLAoJICAoZ3N0X3Y0bDJfc2V0X2RlZmF1bHRzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IChnc3RfdjRsMnNyY19nZXRfcmVhZCksCgkgIChnc3RfdjRsMnNyY19jcmVhdGUpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOiAoZ3N0X3Y0bDJfeG92ZXJsYXlfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZ2V0X2NhcGFiaWxpdGllcyksCgkgIChnc3RfdjRsMl9maWxsX2xpc3RzKSwgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfc2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwKCSAgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwKCSAgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLCAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwKCSAgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzogKG15X2J1c19jYWxsYmFjayksIChtYWluKToKCSAgU21hbGwgY2xlYW51cHMuCgkgIEZpeCBlcnJvciBtZXNzYWdlcy4KCSAgVXNlIGxvY2tzIHdoZW4gZ2V0dGluZyB0aW1lc3RhbXBzLgoJICBGaXggbGVha3MgaW4gdGVzdC4KCSAgQWRkIGxpY2Vuc2luZyBoZWFkZXIgdG8gdGVzdHMuCgoyMDA2LTA5LTI3IDE1OjE0OjA3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIFNvbWUgY2xlYW51cHMgYW5kIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgU29tZSBjbGVhbnVwcyBhbmQgY29tbWVudHMuCgoyMDA2LTA5LTI2IDE0OjE3OjU0ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHY0bDIgcGx1Z2luIHRvIHRoZSBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgdjRsMiBwbHVnaW4gdG8gdGhlIGRvY3MuCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5jOgoJICBGaXggZG9jcy4KCSAgUmVtb3ZlIHNvbWUgbW9yZSBleHRlcm5zLgoKMjAwNi0wOS0yNiAxMzoxODowNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggbWFrZWZpbGUsIGxpc3QgbGlicyBpbiBzdGFjayBvcmRlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvTWFrZWZpbGUuYW06CgkgIEZpeCBtYWtlZmlsZSwgbGlzdCBsaWJzIGluIHN0YWNrIG9yZGVyLgoJICAqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOiAoZ3N0X3Y0bDJfZGV2aWNlX2dldF90eXBlKSwKCSAgKGdzdF92NGwyX29iamVjdF9pbnN0YWxsX3Byb3BlcnRpZXNfaGVscGVyKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSAgKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIEZpeCBjb2Rpbmcgc3R5bGU6CgkgIC0gUmVtb3ZlIGV4dGVybiBmcm9tIGZ1bmN0aW9ucy4KCSAgLSBGaXggaGVhZGVyIGluZGVudGF0aW9uLgoJICBGaXggRmxhZ3MsIGFkZCBkZWZhdWx0cyBmb3IgcHJvcGVydGllcy4KCSAgUmVtb3ZlIHVudXNlZCBlbnVtcy4KCSAgRml4IFRPT19MQVpZIGluIGVycm9yIG1lc3NhZ2VzLgoKMjAwNi0wOS0yNiAxMTowNjoxNyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIHN5cy92NGwyLzogRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX2NsYXNzX3Byb2JlX2RldmljZXMpLAoJICAoZ3N0X3Y0bDJfcHJvYmVfbmVlZHNfcHJvYmUpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpLCAoZ3N0X3Y0bDJfb2JqZWN0X25ldyksCgkgIChnc3RfdjRsMl9vYmplY3RfZGVzdHJveSksIChnc3RfdjRsMl9vYmplY3Rfc2V0X3Byb3BlcnR5X2hlbHBlciksCgkgIChnc3RfdjRsMl9vYmplY3RfZ2V0X3Byb3BlcnR5X2hlbHBlciksIChnc3RfdjRsMl9zZXRfZGVmYXVsdHMpLAoJICAoZ3N0X3Y0bDJfb2JqZWN0X3N0YXJ0KSwgKGdzdF92NGwyX29iamVjdF9zdG9wKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfY2xhc3NfaW5pdCksCgkgIChnc3RfdjRsMnNyY19pbml0KSwgKGdzdF92NGwyc3JjX2Rpc3Bvc2UpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92NGwyc3JjX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfdjRsMnNyY19maXhhdGUpLCAoZ3N0X3Y0bDJzcmNfZ2V0X2NhcHMpLAoJICAoZ3N0X3Y0bDJzcmNfc2V0X2NhcHMpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3JlYWQpLAoJICAoZ3N0X3Y0bDJzcmNfZ2V0X21tYXApLCAoZ3N0X3Y0bDJzcmNfY3JlYXRlKToKCSAgKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6IChnc3RfdjRsMl9nZXRfY2FwYWJpbGl0aWVzKSwKCSAgKGdzdF92NGwyX29wZW4pLCAoZ3N0X3Y0bDJfY2xvc2UpLCAoZ3N0X3Y0bDJfZ2V0X25vcm0pLAoJICAoZ3N0X3Y0bDJfc2V0X25vcm0pLCAoZ3N0X3Y0bDJfZ2V0X2ZyZXF1ZW5jeSksCgkgIChnc3RfdjRsMl9zZXRfZnJlcXVlbmN5KSwgKGdzdF92NGwyX3NpZ25hbF9zdHJlbmd0aCksCgkgIChnc3RfdjRsMl9nZXRfYXR0cmlidXRlKSwgKGdzdF92NGwyX3NldF9hdHRyaWJ1dGUpLAoJICAoZ3N0X3Y0bDJfZ2V0X2lucHV0KSwgKGdzdF92NGwyX3NldF9pbnB1dCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19xdWV1ZV9mcmFtZSksIChnc3RfdjRsMnNyY19ncmFiX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2dldF9jYXB0dXJlKSwgKGdzdF92NGwyc3JjX3NldF9jYXB0dXJlKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksIChnc3RfdjRsMnNyY19jYXB0dXJlX3N0YXJ0KSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfc3RvcCksIChnc3RfdjRsMnNyY19jYXB0dXJlX2RlaW5pdCksCgkgIChnc3RfdjRsMnNyY19nZXRfc2l6ZV9saW1pdHMpLCAoZ3N0X3Y0bDJzcmNfc2V0X2ZwcyksCgkgIChnc3RfdjRsMnNyY19nZXRfZnBzKSwgKGdzdF92NGwyc3JjX2J1ZmZlcl9maW5hbGl6ZSksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfbmV3KToKCSAgRml4IHBhc3MgYXQgY29kZSBjbGVhbnVwcywgbW92ZSBlcnJvcnMgY2FzZXMgb3V0IG9mIHRoZSBub3JtYWwKCSAgZmxvdyBmb3IgYWRkaXRpb25hbCBjb2RlIGNsYXJpdHkuCgoyMDA2LTA5LTIzIDEzOjIxOjQzICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiBQb3J0IHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpLAoJICAoZ3N0X2NkYXVkaW9faW5pdCksIChnc3RfY2RhdWRpb19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2NkYXVkaW9fZ2V0X3Byb3BlcnR5KSwgKGdzdF9jZGF1ZGlvX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfY2RhdWRpb19zZW5kX2V2ZW50KSwgKGdzdF9jZGF1ZGlvX2dldF9xdWVyeV90eXBlcyksCgkgIChnc3RfY2RhdWRpb19xdWVyeSksIChjZGF1ZGlvX3VyaV9zZXRfdXJpKToKCSAgUG9ydCB0byAwLjEwLgoKMjAwNi0wOS0yMyAwMDoyODozNSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEZpeCBwcm9ibGVtcyB3aGVuIHRoZSBlbGVtZW50IGNhbm5vdCBvcGVuIHRoZSBkaXNwbGF5LiAoZml4ZXMgIzM1NzIxMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBGaXggcHJvYmxlbXMgd2hlbiB0aGUgZWxlbWVudCBjYW5ub3Qgb3BlbiB0aGUgZGlzcGxheS4KCSAgKGZpeGVzICMzNTcyMTIpCgoyMDA2LTA5LTIyIDE2OjA4OjM4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBVcCByZXF1aXJlbWVudHMgdG8gLWJhc2UgQ1ZTIGFuZCBjb3JlIENWUyAodGhlIGZvcm1hdCBmb3IgdGhlIHZpZGVvIG9yaWVudGF0aW9uIGludGVyZmFjZSB1c2VkIGJ5IHY0bDJzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgVXAgcmVxdWlyZW1lbnRzIHRvIC1iYXNlIENWUyBhbmQgY29yZSBDVlMgKHRoZSBmb3JtYXQgZm9yIHRoZQoJICB2aWRlbyBvcmllbnRhdGlvbiBpbnRlcmZhY2UgdXNlZCBieSB2NGwyc3JjIGFuZCB0aGUgbGF0dGVyCgkgIHNpbmNlIHRoYXQncyB3aGF0IC1iYXNlIENWUyByZXF1aXJlcykuCgoyMDA2LTA5LTIyIDE1OjU5OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBMb3dlciByYW5rIGZyb20gU0VDT05EQVJZIHRvIE1BUkdJTkFMLiBQbHVnaW5zIGluIC1iYWQgdGhhdCBtaWdodCBiZSBhdXRvcGx1Z2dlZCBzaG91bGRuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKHBsdWdpbl9pbml0KToKCSAgTG93ZXIgcmFuayBmcm9tIFNFQ09OREFSWSB0byBNQVJHSU5BTC4gUGx1Z2lucyBpbiAtYmFkIHRoYXQgbWlnaHQKCSAgYmUgYXV0b3BsdWdnZWQgc2hvdWxkbid0IHRydW1wIHBsdWdpbnMgaW4gLWJhc2UsIC1nb29kIG9yIC11Z2x5CgkgIChpbiB0aGlzIGNhc2UgeGltYWdlc2luaykuCgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAocGx1Z2luX2luaXQpOgoJICBTZXQgcmFuayB0byBOT05FIHRvIHByZXZlbnQgaXQgZnJvbSBiZWluZyBhdXRvcGx1Z2dlZCB1bnRpbAoJICBlcnJvcnMgYXJlIGhhbmRsZWQgcHJvcGVybHkgKHNlZSAjMzU3MjEyKS4KCjIwMDYtMDktMjEgMTQ6MDE6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIFJldmVydGVkIHByZXZpb3VzIGNvbW1pdCAoMjAwNi0wOS0xOSAtIEFsbG93IGludGVybmFsIGNvZGVzIGZyb20gbGFzdC5mbSkuIEFzIGRpY3Vzc2VkIG9uICNnc3RyZWFtZXIgaXQgc2hvdWxkIGJlIGRvbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmV2ZXJ0ZWQgcHJldmlvdXMgY29tbWl0ICgyMDA2LTA5LTE5IC0gQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtKS4gQXMgZGljdXNzZWQgb24gI2dzdHJlYW1lciBpdCBzaG91bGQgYmUgZG9uZSBpbiBzZXBhcmV0ZSBlbGVtZW50LgoKMjAwNi0wOS0yMSAxMzo0MTo0MiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogQWRkIGRlY29kZXIgc3BlY2lmaWMgaW5mbyBvbiB0aGUgY2Fwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpLAoJICAoZ3N0X2ZhYWNfY2hhaW4pOgoJICBBZGQgZGVjb2RlciBzcGVjaWZpYyBpbmZvIG9uIHRoZSBjYXBzLgoJICBTb21lIGNsZWFudXBzIGhlcmUgYW5kIHRoZXJlLgoKMjAwNi0wOS0xOSAyMTo0OTo1MiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgQWxsb3cgaW50ZXJuYWwgY29kZXMgZnJvbSBsYXN0LmZtCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBpbnRlcm5hbCBjb2RlcyBmcm9tIGxhc3QuZm0KCjIwMDYtMDktMTkgMTY6MjQ6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEp1c3QgYSBzbWFsbCBmaXggdG8gdGhlIGFwcCBvcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBhIHNtYWxsIGZpeCB0byB0aGUgYXBwIG9wdGlvbnMuCgoyMDA2LTA5LTE5IDEzOjA4OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ2aWRvcmllbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnZpZG9yaWVudC5oOgoJKiB0ZXN0cy9pY2xlcy92NGwyc3JjLXRlc3QuYzoKCSAgQWRkIFZpZGVvIE9yaWVudGF0aW9uIGludGVyZmFjZSBzdXBwb3J0IHRvIHY0bDJzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgVmlkZW8gT3JpZW50YXRpb24gaW50ZXJmYWNlIHN1cHBvcnQgdG8gdjRsMnNyYy4KCjIwMDYtMDktMTkgMTA6MTA6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtL2dzdGdzbWRlYy4qOiBIYW5kbGUgV0FWNDkgdmFyaWFudCAoR1NNIGluIFdBVikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF9nc21kZWNfY2hhaW4pOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmg6CgkgIEhhbmRsZSBXQVY0OSB2YXJpYW50IChHU00gaW4gV0FWKS4KCSAgU29tZSBzbWFsbCBjbGVhbnVwcy4KCjIwMDYtMDktMTggMTU6MzY6MTQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXggR1NUX0JVRkZFUl9EVVJBVElPTi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCBHU1RfQlVGRkVSX0RVUkFUSU9OLgoKMjAwNi0wOS0xNiAyMjozMDo1MCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgdGVzdHMvY2hlY2svOiBGaXggYmlnIGJhdGNoIG9mIGNvbXBpbGVyIHdhcm5pbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvdmlkZW90ZXN0c3JjLmM6IChjaGVja19yZ2JfYnVmKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b2x1bWUuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92b3JiaXNkZWMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvb2dnbXV4LmM6ICh2YWxpZGF0ZV9vZ2dfcGFnZSksIChlb3Nfd2F0Y2gpLAoJICAodGVzdF9waXBlbGluZSksIChHU1RfU1RBUlRfVEVTVCk6CgkgICogdGVzdHMvY2hlY2svcGlwZWxpbmVzL3RoZW9yYWVuYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRml4IGJpZyBiYXRjaCBvZiBjb21waWxlciB3YXJuaW5ncy4KCjIwMDYtMDktMTYgMjI6MTQ6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb2RlYy5jOgoJICAqIGV4dC94aW5lL3hpbmVhdWRpb3NpbmsuYzoKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzoKCSAgKiBnc3QvY2hhcnQvZ3N0Y2hhcnQuYzoKCSAgKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJICAqIGdzdC9nYW1lcy9nc3RwdXp6bGUuYzoKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJICAqIGdzdC9taXhtYXRyaXgvbWl4bWF0cml4LmM6CgkgICogZ3N0L25zZi9nc3Ruc2YuaDoKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgIE1vcmUgR19PQkpFQ1QgbWFjcm8gZml4aW5nLgoKMjAwNi0wOS0xNSAxOToxMTowMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBUaGUgdGVzdCBhcHBsaWNhdGlvbiBhbmQgdGhlIHBsZ2luZCBlcnJvciBtZXNzYWdlcyBoYXMgYmVlbiBpbXByb3ZlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFRoZSB0ZXN0IGFwcGxpY2F0aW9uIGFuZCB0aGUgcGxnaW5kIGVycm9yIG1lc3NhZ2VzIGhhcyBiZWVuIGltcHJvdmVkLgoKMjAwNi0wOS0xMiAyMDoxODo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX3N0YXJ0KSwgKGdzdF9zcGVjdHJ1bV9zdG9wKSwgKGdzdF9zcGVjdHJ1bV9ldmVudCk6CgkgIEltcGxlbWVudHMgc3RvcCgpIHRvIGNsZWFyIHRoZSBhZGFwdGVyIGFuZCBldmVudCgpIHRvIGNsZWFyIHRoZQoJICBhZGFwdGVyIG9uIEZMVVNIX1NUT1AgYW5kIEVPUy4KCjIwMDYtMDktMTEgMTg6MjM6NTkgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS4qOiBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5oOgoJICBGaXggdHlwZSBtaXh1cCBpbiBzcGVjdHJ1bS0+aW50ZXJ2YWwgKGdkb3VibGU8LT5ndWludDY0KS4gU3BvdHRlZCBieQoJICBSZW7DqSBTdGFkbGVyCgoyMDA2LTA5LTExIDE4OjAyOjM5ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogVXNlIG1vcmUgZGVmaW5lcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKGRyYXdfc3BlY3RydW0pLCAobWFpbik6CgkgIFVzZSBtb3JlIGRlZmluZXMKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwgKGdzdF9zcGVjdHJ1bV9zZXRfY2FwcyksCgkgIChnc3Rfc3BlY3RydW1fdHJhbnNmb3JtX2lwKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgQXBwbHkgc29tZSBvZiB0aGUgc3BlY3RydW0gY2xlYW51cCBjaGFuZ2VzIHN1Z2dlc3RlZCBpbiAjMzQ4MDg1LgoKMjAwNi0wOS0wOCAxNjo0Nzo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQnVtcCByZXF1aXJlbWVudHMgb2YgLWJhc2UgKHZpZGVvY3JvcCB0ZXN0IGNhc2UgbmVlZHMgdGhpcykuCgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgRG9jdW1lbnQgc2xvcHB5IGhhbmRsaW5nIG9mIHN1YnNhbXBsZWQgY2hyb21hIHBsYW5lcyBpZgoJICBsZWZ0L3RvcCBjcm9wcGluZyBpcyBhbiBvZGQgbnVtYmVyLgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiAoaGFuZG9mZl9jYiksCgkgICh2aWRlb2Nyb3BfdGVzdF9jcm9wcGluZ19pbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfZGVpbml0X2NvbnRleHQpLAoJICAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmcpLCAoY2hlY2tfMXgxX2J1ZmZlciksIChHU1RfU1RBUlRfVEVTVCksCgkgICh2aWRlb2Nyb3Bfc3VpdGUpLCAobWFpbik6CgkgIEFkZCBhbm90aGVyIHVuaXQgdGVzdCB0aGF0IGNyb3BzIHRoZSBpbnB1dCB0byAxeDEgKGFuZCBjaGVja3MKCSAgdGhhdCB0aGF0IHBpeGVsIGhhcyB0aGUgZXhwZWN0ZWQgdmFsdWVzIGluIGEgbnVtYmVyIG9mIGZvcm1hdHMpLgoKMjAwNi0wOS0wOCAxMTowNDoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC92aWRlb2Nyb3AvOiBTb21lIHF1aWNrIHRlc3RzIGluZGljYXRlIHRoYXQgaXQgZG9lc24ndCBtYWtlIGEgZ3JlYXQgZGVhbCBvZiBzZW5zZSB0byB1c2UgbGlib2lsIGhlcmUsIGF0IGxlYXN0IG5vdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hcik6CgkgIFNvbWUgcXVpY2sgdGVzdHMgaW5kaWNhdGUgdGhhdCBpdCBkb2Vzbid0IG1ha2UgYSBncmVhdCBkZWFsCgkgIG9mIHNlbnNlIHRvIHVzZSBsaWJvaWwgaGVyZSwgYXQgbGVhc3Qgbm90IGZvciB0aGUgbWVtY3B5KClzCgkgIHdlIGRvLCBzbyByZW1vdmUgbGlib2lsIHVzYWdlIHVudGlsIHRoZXJlIGlzIGNsZWFyIGV2aWRlbmNlCgkgIGl0IGFjdHVhbGx5IG1ha2VzIGEgcG9zaXRpdmUgZGlmZmVyZW5jZSBzb21ld2hlcmUuCgoyMDA2LTA5LTAzIDIxOjEyOjM2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICBoaWdoZXIgdXAgZmlyc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGhpZ2hlciB1cCBmaXJzdAoKMjAwNi0wOS0wMyAxMDo0NjoxNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvY3JvcC5jOiBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbiBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKGhhbmRvZmZfY2IpLAoJICAoYnVmZmVyX3Byb2JlX2NiKSwgKHRlc3RfY2Fwc190cmFuc2Zvcm0pLCAodGVzdF9wYXNzdGhyb3VnaCksCgkgIChub3Rnc3RfdmFsdWVfbGlzdF9nZXRfbnRoX2ludCksICh2aWRlb2Nyb3Bfc3VpdGUpOgoJICBNb3JlIHRlc3RzOiBjaGVjayBwYXNzdGhyb3VnaCBtb2RlIGFuZCBjYXBzIHRyYW5zZm9ybSBpbgoJICBib3RoIGRpcmVjdGlvbnMgd2l0aCBmaXhlZCB2YWx1ZXMsIHJhbmdlcyBhbmQgbGlzdHMuCgoyMDA2LTA5LTAyIDE4OjQ5OjAxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIHZpZGVvY3JvcCB0byBkb2NzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5oaWVyYXJjaHk6CgkgIEFkZCB2aWRlb2Nyb3AgdG8gZG9jcy4KCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuaDoKCSAgTW92ZSBib2lsZXJwbGF0ZSBzdHVmZiBhbmQgc3RydWN0dXJlcyBpbnRvIGEgaGVhZGVyIGZpbGUuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvLmN2c2lnbm9yZToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy92aWRlb2Nyb3AuYzogKHZpZGVvX2Nyb3BfZ2V0X3Rlc3RfY2FwcyksCgkgICh0ZXN0X3VuaXRfc2l6ZXMpLCAodmlkZW9jcm9wX3Rlc3RfY3JvcHBpbmdfaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nX2RlaW5pdF9jb250ZXh0KSwKCSAgKHZpZGVvY3JvcF90ZXN0X2Nyb3BwaW5nKSwgKHRlc3RfY3JvcHBpbmcpLCAodmlkZW9jcm9wX3N1aXRlKToKCSAgQWRkIHVuaXQgdGVzdHMgZm9yIHZpZGVvY3JvcC4KCjIwMDYtMDktMDIgMTU6MzA6NDUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvdmlkZW9jcm9wL01ha2VmaWxlLmFtOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9iYXNlX2luaXQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCksIChnc3RfdmlkZW9fY3JvcF9pbml0KSwKCSAgKGdzdF92aWRlb19jcm9wX2dldF9pbWFnZV9kZXRhaWxzX2Zyb21fY2FwcyksCgkgIChnc3RfdmlkZW9fY3JvcF9nZXRfdW5pdF9zaXplKSwgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9wYWNrZWQpLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX3BsYW5hciksIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm0pLAoJICAoZ3N0X3ZpZGVvX2Nyb3BfdHJhbnNmb3JtX2RpbWVuc2lvbiksCgkgIChnc3RfdmlkZW9fY3JvcF90cmFuc2Zvcm1fZGltZW5zaW9uX3ZhbHVlKSwKCSAgKGdzdF92aWRlb19jcm9wX3RyYW5zZm9ybV9jYXBzKSwgKGdzdF92aWRlb19jcm9wX3NldF9jYXBzKSwKCSAgKGdzdF92aWRlb19jcm9wX3NldF9wcm9wZXJ0eSksIChnc3RfdmlkZW9fY3JvcF9nZXRfcHJvcGVydHkpLAoJICAocGx1Z2luX2luaXQpOgoJICBQb3J0L3Jld3JpdGUgdmlkZW9jcm9wIGZyb20gc2NyYXRjaCBmb3IgR1N0cmVhbWVyLTAuMTAsIGFuZCBtYWtlCgkgIGl0IHN1cHBvcnQgYWxsIGZvcm1hdHMgdmlkZW9zY2FsZSBzdXBwb3J0cyAoIzM0NTY1MykuCgoyMDA2LTA5LTAyIDE0OjQ1OjA0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBzeXMvdjRsMi86IFdoaXRlc3BhY2UgY2xlYW51cHMsIGRhc2hpZnkgcHJvcGVydHktbmFtZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJICAoZ3N0X3Y0bDJfb2JqZWN0X2luc3RhbGxfcHJvcGVydGllc19oZWxwZXIpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2NsYXNzX2luaXQpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgV2hpdGVzcGFjZSBjbGVhbnVwcywgZGFzaGlmeSBwcm9wZXJ0eS1uYW1lcy4KCjIwMDYtMDktMDIgMTQ6Mjg6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyLzogQ2xlYW51cCBlcnJvciBtZXNzYWdlcyBhbmQgdW5pZnkgaGVhZGVyIGNvbW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5oOgoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSAgKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzogKGdzdF92NGwyX3hvdmVybGF5X29wZW4pOgoJICAqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJICAqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogKGdzdF92NGwyX2dldF9jYXBhYmlsaXRpZXMpLAoJICAoZ3N0X3Y0bDJfb3Blbik6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX3F1ZXVlX2ZyYW1lKSwKCSAgKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDbGVhbnVwIGVycm9yIG1lc3NhZ2VzIGFuZCB1bmlmeSBoZWFkZXIgY29tbWVudHMKCjIwMDYtMDgtMzEgMTM6MDE6MTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogQWRkIG1pc3NpbmcgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L25zZi9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgR1NUX0xJQlMKCjIwMDYtMDgtMzAgMTg6MDE6NTIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBbm90aGVyIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFub3RoZXIgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMzozMDoxMyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNlbmQgbmV3X3NlZ21lbnQgaW4gR1NUX0ZPUk1BVF9USU1FIGluc3RlYWQgb2YgaW4gR1NUX0ZPUk1BVF9CWVRFUy4KCjIwMDYtMDgtMzAgMTE6MzY6MDYgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBBIHNtYWxsIGZpeCB0byBzZXRfY2FwcyBmdW5jdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEEgc21hbGwgZml4IHRvIHNldF9jYXBzIGZ1bmN0aW9uLgoKMjAwNi0wOC0zMCAxMToyNzo0MCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVzZXQgZWFjaCBzdHJlYW1zIGxhc3RfZmxvdyB0byBHU1RfRkxPV19PSy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAoZ3N0X3F0ZGVtdXhfZG9fc2Vlayk6CgkgIFJlc2V0IGVhY2ggc3RyZWFtcyBsYXN0X2Zsb3cgdG8gR1NUX0ZMT1dfT0suCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KToKCSAgUmVtb3ZpbmcgbXlzdGljIG1vZGlmaWNhdGlvbnMgZm9yIGdvb2QuCgoyMDA2LTA4LTMwIDExOjA3OjM3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHB1dCBiYWNrICdzZWdtZW50IHN0YXJ0PD1zdG9wJyBjaGFuZ2UgdGhhdCB3YXMgbXlzdGljYWxseSByZXZlcnRlZCBieSB0aGUgbGFzdCBjb21taXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfYWN0aXZhdGVfc2VnbWVudCksCgkgIChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBwdXQgYmFjayAnc2VnbWVudCBzdGFydDw9c3RvcCcgY2hhbmdlIHRoYXQgd2FzIG15c3RpY2FsbHkgcmV2ZXJ0ZWQgYnkKCSAgdGhlIGxhc3QgY29tbWl0CgoyMDA2LTA4LTMwIDEwOjQzOjUzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCB0aGUgYnVpbGQgZm9yIGRpc2FibGVkIGRlYnVnCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpLAoJICAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRml4IHRoZSBidWlsZCBmb3IgZGlzYWJsZWQgZGVidWcKCjIwMDYtMDgtMjkgMjA6NTk6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZnJhbWVyYXRlIG5lZ290aWF0aW9uLgoKMjAwNi0wOC0yOSAxMjowNzozOCArMDAwMCAgQW5kcmV3IEFuZGtqYXIgPGVua2lAZ29vZHNoaXAubmV0PgoKCSAgZXh0L3NkbC86IE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcyBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQW5kcmV3IEFuZGtqYXIgIDxlbmtpIGF0IGdvb2RzaGlwIG5ldD4KCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOiAoZ3N0X3NkbGF1ZGlvX3NpbmtfY2xvc2UpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX3N1cHBvcnRlZCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2RlaW5pdHNkbCk6CgkgIE9ubHkgZGUtaW5pdCB0aGUgc3Vic3lzdGVtIHdlIHByZXZpb3VzbHkgaW5pdGlhbGlzZWQuIEF2b2lkcwoJICBib3JrYWdlIHdoZW4gYm90aCBzZGx2aWRlb3NpbmsgYW5kIHNkbGF1ZGlvc2luayBhcmUgdXNlZAoJICBhdCB0aGUgc2FtZSB0aW1lIGFuZCBvbmUgaXMgc2h1dCBkb3duLgoKMjAwNi0wOC0yOCAxNzo0NzoyOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTWFrZSBzdXJlIHNlZ21lbnQgc3RhcnQ8PXN0b3AgaW4gd2VpcmQgcXVpY2t0aW1lIGZpbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIE1ha2Ugc3VyZSBzZWdtZW50IHN0YXJ0PD1zdG9wIGluIHdlaXJkIHF1aWNrdGltZSBmaWxlcy4KCjIwMDYtMDgtMjggMTQ6NTk6MDUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzogYWRkIGNvbW1lbnRzIGFuZCBtb3JlIGRlYnVnIGxvZ2dpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOiAoZ3N0X3Y0bDJfZmlsbF9saXN0cyk6CgkgIGFkZCBjb21tZW50cyBhbmQgbW9yZSBkZWJ1ZyBsb2dnaW5nCgoyMDA2LTA4LTI0IDA5OjI0OjExICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IFBvc3QgYXVkaW8gY29kZWMgYW5kIGF2ZXJhZ2UgYml0cmF0ZSB0YWdzIG9uIGJ1cyAoIzM0NDQ3MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19wb3N0X3RhZ3MpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgUG9zdCBhdWRpbyBjb2RlYyBhbmQgYXZlcmFnZSBiaXRyYXRlIHRhZ3Mgb24gYnVzICgjMzQ0NDcyKS4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpOgoJICBGb3J3YXJkIHF1ZXJpZXMgaW4gb3RoZXIgZm9ybWF0cyAoQllURSBmb3JtYXQgaW4gcGFydGljdWxhcikKCSAgdXBzdHJlYW07IGFkZCBTZWJhc3RpYW4gdG8gYXV0aG9ycy4KCjIwMDYtMDgtMjQgMDA6NDA6MDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4IHNldF9jYXBzIHRvIHNldCB3aWR0aCBhbmQgaGVpZ2h0IHRvIHRoZSB2YWx1ZXMgdGhlIGRyaXZlciBpcyByZWFsbHkgd29ya2luZyB3aXRoLgoKMjAwNi0wOC0yMyAxMDozMDozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQgYXMgd2VsbCAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19wdXNoX2Jsb2NrKToKCSAgRml4IG1lbSBsZWFrLCBzZW5kIG5ld3NlZ21lbnQgZXZlbnQgb24gY29ycmVjdGlvbiBwYWQKCSAgYXMgd2VsbCAoIzM1MjQ3NikuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpOgoJICBSZXN0b3JlIG9yaWdpbmFsIGF1dGhvciAob24gU2ViYXN0aWFuJ3MgcmVxdWVzdCkuCgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZ3N0LXBsdWdpbnMtYmFkLnN1cHA6CgkgIEFkZCAoc28gZmFyIGVtcHR5KSBzdXBwcmVzc2lvbiBmaWxlIGZvciAtYmFkLiBSZW1vdmUKCSAgd2F2cGFja2VuYyB0ZXN0IGZyb20gVkFMR1JJTkRfVE9fRklYIG5vdyB0aGF0IHRoZSBsZWFrCgkgIGlzIGZpeGVkLgoKMjAwNi0wOC0yMyAwOToyMjowNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgdGVzdHMvY2hlY2svOiBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzLy5jdnNpZ25vcmU6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvd2F2cGFja2RlYy5jOiAoc2V0dXBfd2F2cGFja2RlYyksCgkgIChjbGVhbnVwX3dhdnBhY2tkZWMpLCAoR1NUX1NUQVJUX1RFU1QpLCAod2F2cGFja2RlY19zdWl0ZSksIChtYWluKToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy93YXZwYWNrZW5jLmM6IChzZXR1cF93YXZwYWNrZW5jKSwKCSAgKGNsZWFudXBfd2F2cGFja2VuYyksIChHU1RfU1RBUlRfVEVTVCksICh3YXZwYWNrZW5jX3N1aXRlKSwgKG1haW4pOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3dhdnBhY2twYXJzZS5jOiAod2F2cGFja3BhcnNlX2ZvdW5kX3BhZCksCgkgIChzZXR1cF93YXZwYWNrcGFyc2UpLCAoY2xlYW51cF93YXZwYWNrcGFyc2UpLCAoR1NUX1NUQVJUX1RFU1QpLAoJICAod2F2cGFja3BhcnNlX3N1aXRlKSwgKG1haW4pOgoJICBBZGQgdW5pdCB0ZXN0cyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIzIDA4OjUyOjUwICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBBZGQgZG9jcyBmb3Igd2F2cGFjayBlbGVtZW50cyAoIzM1MjQ3NikuCgoyMDA2LTA4LTIyIDIwOjM5OjI2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBxdWVyeSBzaXplIHRvIHdvcmsgd2l0aCBkcml2ZXJzIHRoYXQgdXNlcyBpbnRlcm1lZGlhdGUgc3RlcCBsaWtlICJ3aWR0aCAqIGhlaWdodCIgdG8gZmluZCBjbG9zZXN0IHNpemUuCgoyMDA2LTA4LTIxIDE5OjAyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmUgZ2RwIHBsdWdpbiB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBnc3QvZ2RwL01ha2VmaWxlLmFtOgoJICAqIGdzdC9nZHAvZ3N0Z2RwLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgbW92ZSBnZHAgcGx1Z2luIHRvIGdvb2QuCgoyMDA2LTA4LTIxIDE2OjI0OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTb21lIG1vcmUgY29uc3RpZmljYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZSksCgkgIChxdGRlbXV4X25vZGVfZHVtcF9mb3JlYWNoKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpLCAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgU29tZSBtb3JlIGNvbnN0aWZpY2F0aW9uLgoJICBGaXggc29tZSBwYWxldHRlZCBkYXRhIGZvcm1hdHMgYWdhaW4uCgkgIEZpeCB1bGF3L2FsYXcgaW4gcXQuCgkgIFNldCBjb3JyZWN0IGNhcHMgZm9yIHJhdyBSR0IuCgkgIEFkZCBzdXBwb3J0IGZvciB5dXYyLCB3aGljaCBpcyBsaWtlIFl1djIuCgkgIEFkZCBzdXBwb3J0IGZvciByYXcgYXVkaW8gd2l0aCB0aGUgTk9ORSBmb3VyY2MsIHdoaWNoIGlzIGxpa2UgcmF3LgoKMjAwNi0wOC0yMSAxNjoyMTowMyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vZ3N0Z3NtLmM6IE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtLmM6IChwbHVnaW5faW5pdCk6CgkgIE1ha2UgcmFuayBQUklNQVJZIG5vdyB0aGF0IEdTTSBzZWVtcyB0byB3b3JrIGZpbmUuCgoyMDA2LTA4LTIxIDEzOjU5OjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svOiBNb3JlIGNsZWFuLXVwczogdXNlIHNob3J0ZXIgdmFyaWFibGUgbmFtZXMgdG8gbWFrZSBjb2RlIGVhc2llciB0byByZWFkOyBwcmVmaXggc3RydWN0dXJlcyB3ZSBkZWZpbmUgd2l0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19maW5hbGl6ZSksIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLCAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9yZXNldCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luaXQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3Vwc3RyZWFtX2xlbmd0aCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgTW9yZSBjbGVhbi11cHM6IHVzZSBzaG9ydGVyIHZhcmlhYmxlIG5hbWVzIHRvIG1ha2UgY29kZSBlYXNpZXIgdG8KCSAgcmVhZDsgcHJlZml4IHN0cnVjdHVyZXMgd2UgZGVmaW5lIHdpdGggJ0dzdCcgdG8gbWFrZSBpdCBjbGVhcmVyCgkgIHdoZXJlIHRoZXkgY29tZSBmcm9tLgoKMjAwNi0wOC0yMSAxMzoyNjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogRml4IGNhcHMgc2V0IG9uIGJ1ZmZlcnMgYW5kIHRlbXBsYXRlIGNhcHMgKG91dHB1dCBpcyBmcmFtZWQpIGFuZCBtYWtlIHRoZW0gbWF0Y2ggKCMzNTE2Ni4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksIChnc3Rfd2F2cGFja19lbmNfcHVzaF9ibG9jayksCgkgIChnc3Rfd2F2cGFja19lbmNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZW5jX3Jld3JpdGVfZmlyc3RfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NpbmtfZXZlbnQpOgoJICBGaXggY2FwcyBzZXQgb24gYnVmZmVycyBhbmQgdGVtcGxhdGUgY2FwcyAob3V0cHV0IGlzIGZyYW1lZCkKCSAgYW5kIG1ha2UgdGhlbSBtYXRjaCAoIzM1MTY2Myk7IHVzZSBHU1RfV0FSTklOR19PQkpFQ1QgaW5zdGVhZCBvZgoJICBHU1RfRUxFTUVOVF9XQVJOSU5HOyBzaW1wbGlmeSBwdXNoX2Jsb2NrKCk7IGRvIHNvbWUgc21hbGwKCSAgY2xlYW4tdXBzIGhlcmUgYW5kIHRoZXJlOyBmaXggbWVtbGVhayAoIzM1MTY2MykuCgoyMDA2LTA4LTIwIDEzOjA1OjQzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5jOiBMb3dlciBkZWJ1ZywgdXNlIGdfYXNzZXJ0IGluIF9nZXRfdW5pdF9zaXplCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9nZXRfdW5pdF9zaXplKSwgKHNldF9zdHJ1Y3R1cmVfd2lkdGhzKToKCSAgTG93ZXIgZGVidWcsIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGF1ZGlvcmVzYW1wbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAoZ3N0X2ZmbXBlZ2NzcF9nZXRfdW5pdF9zaXplKToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfZ2V0X3VuaXRfc2l6ZSk6CgkgIHVzZSBnX2Fzc2VydCBpbiBfZ2V0X3VuaXRfc2l6ZQoKMjAwNi0wOC0xOCAyMTozOTowMCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IEZpeCByZXN5bmNpbmcgaW4gcHVzaCBtb2RlIG5vdCBzdG9wcGluZyByZS1zeW5jaW5nIGF0IGVtYmVkZGVkIHplcm9lczsgc2tpcCBnYXJiYWdlIGJlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9nZXRfdXBzdHJlYW1fbGVuZ3RoKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmRfbWFya2VyKSwgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2xvb3ApLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzeW5jX2FkYXB0ZXIpOgoJICBGaXggcmVzeW5jaW5nIGluIHB1c2ggbW9kZSBub3Qgc3RvcHBpbmcgcmUtc3luY2luZyBhdCBlbWJlZGRlZAoJICB6ZXJvZXM7IHNraXAgZ2FyYmFnZSBiZXR3ZWVuIGZyYW1lcyBpbiBwdWxsIG1vZGUgYXMgd2VsbCBpZgoJICBuZWNlc3Nhcnk7IHVzZSBnc3RfcGFkX3F1ZXJ5X3BlZXJfZHVyYXRpb24oKTsgcHVzaCBFT1MgYW5kCgkgIE5FV1NFR01FTlQgZXZlbnQgaW4gcmlnaHQgZGlyZWN0aW9uICgjMzUxNjU5KS4KCjIwMDYtMDgtMTYgMTY6NTA6MDAgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IEFuZHkgV2luZ28gPHdpbmdvIGF0IHBvYm94IGRvdCBjb20+CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0YXJ0KSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2xlYW51cCksIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVzaGVzKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIE1ha2UgbGFkc3BhIGVsZW1lbnRzIHJldXNhYmxlLiBGaXhlcyAjMzUwMDA2LgoKMjAwNi0wOC0xNiAxNTozMzoxMiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6IENvbnZlcnQgJyAnIGludG8gJ18nLiBUcnkgdG8ga2VlcCBhcyBtYW55IGNoYXJhY3RlcnMgaW4gdGhlIHBhZHRlbXBsYXRlIG5hbWVzIGFzIHBvc3NpYmxlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdGxhZHNwYS5jOiAoZ3N0X2xhZHNwYV9iYXNlX2luaXQpOgoJICBDb252ZXJ0ICcgJyBpbnRvICdfJy4gVHJ5IHRvIGtlZXAgYXMgbWFueSBjaGFyYWN0ZXJzIGluIHRoZSBwYWR0ZW1wbGF0ZQoJICBuYW1lcyBhcyBwb3NzaWJsZS4KCjIwMDYtMDgtMTYgMTQ6NDc6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBIHB1c2goKSBnaXZlcyBhd2F5IG91ciByZWZjb3VudCBzbyB3ZSBzaG91bGQgbm90IHVzZSB0aGUgYnVmZmVyIG9uIHRoZSBwZW4gYW55bW9yZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2ZsdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1c2hlcyk6CgkgIEEgcHVzaCgpIGdpdmVzIGF3YXkgb3VyIHJlZmNvdW50IHNvIHdlIHNob3VsZCBub3QgdXNlIHRoZSBidWZmZXIgb24gdGhlCgkgIHBlbiBhbnltb3JlLgoKMjAwNi0wOC0xNiAxMDo0MDowNCArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svOiBJbiBwdXNoIG1vZGUsIHJlLXN5bmMgdG8gbmV4dCB3YXZwYWNrIGhlYWRlciBpZiBzeW5jIGlzIGxvc3QgKCMzNTE1NTcpLiBBbHNvIHVzZSBoeXBoZW5zIGluc3RlYWQgb2YgdW5kLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuYzogKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzoKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc3luY19hZGFwdGVyKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKToKCSAgSW4gcHVzaCBtb2RlLCByZS1zeW5jIHRvIG5leHQgd2F2cGFjayBoZWFkZXIgaWYgc3luYyBpcyBsb3N0CgkgICgjMzUxNTU3KS4gQWxzbyB1c2UgaHlwaGVucyBpbnN0ZWFkIG9mIHVuZGVyc2NvcmVzIGluCgkgIEdPYmplY3QgcHJvcGVydHkgbmFtZXMuCgoyMDA2LTA4LTE1IDIwOjI5OjQ1ICswMDAwICBTZWJhc3RpYW4gRHLDtmdlIDxzbG9tb0BjaXJjdWxhci1jaGFvcy5vcmc+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuKjogTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOyBzb21lIHNtYWxsIGNsZWFuLXUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2dldF9zcmNfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jcmVhdGVfc3JjX3BhZCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wdXNoX2J1ZmZlciksIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2NoYWluKSwgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUGF0Y2ggYnk6IFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zLm9yZz4KCSAgTWFrZSB3YXZwYWNrcGFyc2UgYWxzbyB3b3JrIGluIHB1c2gtbW9kZSAobm90IHNlZWthYmxlIHlldCB0aG91Z2gpOwoJICBzb21lIHNtYWxsIGNsZWFuLXVwcyBhbG9uZyB0aGUgd2F5OyBhZGQgc3VwcG9ydCBmb3IgU0VFS0lORyBxdWVyeQoJICBhbmQgcXVlcnkgdHlwZXMgZnVuY3Rpb24uICgjMzUxNDk1KS4KCjIwMDYtMDgtMTUgMTk6Mjk6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggbGVha3MgKCMzNTE1MDIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGliZmFtZS9nc3RsaWJmYW1lLmM6IChnc3RfZmFtZWVuY19nZXRfcHJvcGVydHkpOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogKGdzdF9nbGltYWdlX3NpbmtfZ2V0X3Byb3BlcnR5KToKCSAgRml4IGxlYWtzICgjMzUxNTAyKS4KCjIwMDYtMDgtMTQgMTA6MDY6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgYWxsIHJlZmVyZW5jZXMvcmVkaXJlY3Rpb25zIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgYW5kIHNvcnQgdGhlbTsgYWxzbyBleHRyYWN0IG1pbmkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9yZWRpcmVjdHNfc29ydF9mdW5jKSwKCSAgKHF0ZGVtdXhfcHJvY2Vzc19yZWRpcmVjdHMpLCAocXRkZW11eF9wYXJzZV90cmVlKToKCSAgRXh0cmFjdCBhbGwgcmVmZXJlbmNlcy9yZWRpcmVjdGlvbnMgaWYgdGhlcmUgaXMgbW9yZQoJICB0aGFuIG9uZSBhbmQgc29ydCB0aGVtOyBhbHNvIGV4dHJhY3QgbWluaW11bSByZXF1aXJlZAoJICBiaXRyYXRlIGluZm9ybWF0aW9uIGlmIGF2YWlsYWJsZS4gKCMzNTAzOTkpCgoyMDA2LTA4LTEwIDE3OjA5OjEwICswMDAwICBNaWNoYWwgQmVuZXMgPG1pY2hhbC5iZW5lc0BpdG9uaXMudHY+CgoJICBleHQvZmFhYy9nc3RmYWFjLmM6IEJpdHJhdGUgaW4gdGhlIGZhYWMgc3RydWN0dXJlIGlzIHBlciBvdXRwdXQgY2hhbm5lbCwgbm90IHRvdGFsIGJpdHJhdGUgKCMzNTA3NDEpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pY2hhbCBCZW5lcyAgPG1pY2hhbC5iZW5lcyBhdCBpdG9uaXMgdHY+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfY29uZmlndXJlX3NvdXJjZV9wYWQpOgoJICBCaXRyYXRlIGluIHRoZSBmYWFjIHN0cnVjdHVyZSBpcyBwZXIgb3V0cHV0IGNoYW5uZWwsCgkgIG5vdCB0b3RhbCBiaXRyYXRlICgjMzUwNzQxKS4KCjIwMDYtMDgtMDkgMTc6NDE6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZW5jLmM6IEZpeCBHU1RfRUxFTUVOVF9FUlJPUiB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2hhaW4pOgoJICBGaXggR1NUX0VMRU1FTlRfRVJST1IgdXNhZ2UuCgoyMDA2LTA4LTA5IDEwOjQ1OjMyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4ZWQgdXAgYW5kIGNsZWFuZWQgdXAgdGhlIC1iYWQgc3BlYyBmaWxlIHRvIGhhdmUgcHJvcGVyIHRlc3RzIGZvciB3aGF0cyBpbnN0YWxsZWQgYW5kIGl0ZW1zIHB1dCBpbiBjb3JyZWN0IGNhdGVnb3JpZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXhlZCB1cCBhbmQgY2xlYW5lZCB1cCB0aGUgLWJhZCBzcGVjIGZpbGUgdG8gaGF2ZSBwcm9wZXIgdGVzdHMgZm9yIHdoYXRzIGluc3RhbGxlZCBhbmQgaXRlbXMgcHV0IGluIGNvcnJlY3QgY2F0ZWdvcmllcy4KCjIwMDYtMDgtMDggMTQ6NTU6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpeCBzaWxseSB0eXBvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyZWUpOgoJICBGaXggc2lsbHkgdHlwby4KCjIwMDYtMDgtMDggMTM6NTc6MjkgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiBJIGZvcmdvdCB0byBpbmNsdWRlIHRoZSBmaWxlIGNvbnRhaW5pbmcgdGhlICNkZWZpbmUgOikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKGdkcGRlcGF5X3N1aXRlKToKCSAgSSBmb3Jnb3QgdG8gaW5jbHVkZSB0aGUgZmlsZSBjb250YWluaW5nIHRoZSAjZGVmaW5lIDopCgkgIE5vdyBpbmNsdWRlcyAiY29uZmlnLmgiCgoyMDA2LTA4LTA4IDEzOjQ1OjQ0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogSWdub3JlIHRlc3Qga25vd24gdG8gZmFpbCBvbiBQUEM2NC4gU2VlICMzNDgxMTQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcGRlcGF5LmM6IChnZHBkZXBheV9zdWl0ZSk6CgkgIElnbm9yZSB0ZXN0IGtub3duIHRvIGZhaWwgb24gUFBDNjQuIFNlZSAjMzQ4MTE0LgoKMjAwNi0wOC0wNCAyMTowNDo1NSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBbGxvdyBIVFRQIHJlZGlyZWN0IChIVFRQIHN0YXR1cyBjb2RlIDMwMikuCgoyMDA2LTA4LTA0IDEzOjIwOjIzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBGaXggZXZlbnQgcGFyc2luZyBieSBnZHBkZXBheS4gIEZpeGVzICMzNDk5MTYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTA0ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIEZpeCBldmVudCBwYXJzaW5nIGJ5IGdkcGRlcGF5LiAgRml4ZXMgIzM0OTkxNi4KCjIwMDYtMDgtMDQgMTE6Mzg6NTQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6IEFkZCBpbmZyYXN0cnVjdHVyZSBmb3Igc3RvcmluZyB3aGV0aGVyIGEgcHJvY2Vzc29yIGNhbiB3b3JrIGluIHBsYWNlIG9yIG5vdCwgYW5kIGZvci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBBZGQgaW5mcmFzdHJ1Y3R1cmUgZm9yIHN0b3JpbmcKCSAgd2hldGhlciBhIHByb2Nlc3NvciBjYW4gd29yayBpbiBwbGFjZSBvciBub3QsIGFuZCBmb3Iga2VlcGluZwoJICB0cmFjayBvZiBpdHMgc3RhdGUuIENoYW5nZSB0aGUgRmxvd1JldHVybiBpbnN0YW5jZSB2YXJpYWJsZSBmcm9tCgkgICJzdGF0ZSIgdG8gImZsb3dfc3RhdGUiLCBhbGwgY2FsbGVycyBjaGFuZ2VkLgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldHVwKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3RhcnQsIGdzdF9zaWduYWxfcHJvY2Vzc29yX3N0b3ApCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9jbGVhbnVwKTogTmV3IGZ1bmN0aW9ucyB0byBtYW5hZ2UgdGhlCgkgIHByb2Nlc3NvcidzIHN0YXRlLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2Fwcyk6IHN0YXJ0KCkgYXMgd2VsbCBhcyBzZXR1cCgpIGhlcmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKTogUmVzcGVjdCBDQU5fUFJPQ0VTU19JTl9QTEFDRS4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFN0b3AgYW5kIGNsZWFudXAgdGhlCgkgIHByb2Nlc3NvciBhcyB3ZSBnbyB0byBOVUxMLgoJICAqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmMgKGdzdF9sYWRzcGFfYmFzZV9pbml0KTogUmV1c2UgYnVmZmVycyBpZgoJICBJTlBMQUNFX0JST0tFTiBpcyBub3Qgc2V0LgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3ByZXBhcmUpOgoJICBEbyB0aGUgYWxsb2NfYnVmZmVyIGluIGJ5dGVzLCBub3QgZnJhbWVzLgoKMjAwNi0wOC0wNCAwOToyMDoyNiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQlBCCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc3JjX2FjdGl2YXRlX3B1bGwpOiBCUEIKCjIwMDYtMDgtMDQgMDk6MDU6NTMgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6CgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NldGNhcHMpIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcmVwYXJlKSAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wOC0wNCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJlcGFyZSkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3VwZGF0ZV9pbnB1dHMpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzLCBnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wZW5fYnVmZmVyKQoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZmx1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCkKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6IFJlbW92ZSB0aGUgbGFzdCBvZiB0aGUgY29kZQoJICB0aGF0IGFzc3VtZXMgdGhhdCB3ZSBwcm9jZXNzIHdob2xlIGJ1ZmZlcnMgYXQgYSB0aW1lLiBGaXggc29tZQoJICBkZWJ1Z2dpbmcuIFNlZW1zIHRvIHdvcmsgbm93IGluIHNvbWUgY2FzZXMuCgoyMDA2LTA4LTAzIDE0OjQ4OjIyICswMDAwICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20gPGNhc2NhcmRvQGhvbG9zY29waW8uY29tPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBVc2UgcmlnaHQgdmFyaWFibGVzIHdoZW4gVVNFX1NQQyBpcyBkZWZpbmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6ICBjYXNjYXJkbyBhdCBob2xvc2NvcGlvIGRvdCBjb20KCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIFVzZSByaWdodCB2YXJpYWJsZXMgd2hlbiBVU0VfU1BDIGlzIGRlZmluZWQuCgoyMDA2LTA4LTAyIDE2OjU2OjE5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBEaXNhYmxlIHNlZWtpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCksCgkgIChnc3RfZ2RwX2RlcGF5X2ZpbmFsaXplKSwgKGdzdF9nZHBfZGVwYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX2RlcGF5X3NyY19ldmVudCksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgRGlzYWJsZSBzZWVraW5nLgoJICBTbWFsbCBjbGVhbnVwcy4KCSAgQ2xlYXIgYWRhcHRlciBvbiBkaXNjb250cy4KCSAgQ2xlYXIgY2FwcyB3aGVuIGdvaW5nIHRvIFJFQURZIGluc3RlYWQgb2YgTlVMTAoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6IChnc3RfZ2RwX3BheV9jbGFzc19pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2luaXQpLCAoZ3N0X2dkcF9wYXlfZmluYWxpemUpLCAoZ3N0X2dkcF9wYXlfcmVzZXQpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9jYXBzKSwgKGdzdF9nZHBfcGF5X2J1ZmZlcl9mcm9tX2J1ZmZlciksCgkgIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3F1ZXVlX2J1ZmZlciksIChnc3RfZ2RwX3BheV9jaGFpbiksCgkgIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfcGF5X3NyY19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgIFJlc2V0IHBheWxvYWRlciB3aGVuIGdvaW5nIHRvIFJFQURZLgoJICBGaXggbGVha2VkIGJ1ZmZlcnMgaW4gLT5xdWV1ZSBvbiBwdXNoIGVycm9ycy4KCSAgRGlzYWJsZSBzZWVraW5nLgoJICBDb2RlIGNsZWFudXBzLgoJICBDcmVhdGUgcGFja2V0aXplciBpbiBfaW5pdCwgZnJlZSBpbiBfZmluYWxpemUuCgoyMDA2LTA3LTMxIDIyOjI3OjIyICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogRml4IG5mcmFtZXMtY2hvb3NpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggbmZyYW1lcy1jaG9vc2luZy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBJbml0IHBlbmRpbmdfaW4gYW5kIHBlbmRpbmdfb3V0LgoKMjAwNi0wNy0zMSAyMjowMzowOSArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYyAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfaW5pdCk6IE5vIG1vcmUgZGVmYXVsdCBzYW1wbGUgcmF0ZSwgYWx0aG91Z2ggd2UgbmV2ZXIgY2hlY2sgdGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA4LTAxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmMgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpOiBObwoJICBtb3JlIGRlZmF1bHQgc2FtcGxlIHJhdGUsIGFsdGhvdWdoIHdlIG5ldmVyIGNoZWNrIHRoYXQgdGhlIHNhbXBsZQoJICByYXRlIGFjdHVhbGx5IGdldHMgc2V0LiBTb21ldGhpbmcgZm9yIHRoZSBmdXR1cmUuCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zZXRjYXBzKTogU29tZSByZWZjb3VudCBmaXhlcywgZmxvdyBmaXhlcy4KCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KTogUmVmY291bnQgZml4ZW4uCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKTogUHVsbCB0aGUgbnVtYmVyIG9mIGZyYW1lcyB0bwoJICBwcm9jZXNzIGZyb20gdGhlIHNpemVzIG9mIHRoZSBidWZmZXJzIGluIHRoZSBpbnB1dCBwZW5zLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcGVuX2J1ZmZlcik6IFJlbW92ZSBhbiBpbmNvcnJlY3QgRklYTUUgOikKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2RvX3B1bGxzKTogQWRkIGFuIG5mcmFtZXMgYXJndW1lbnQsIGFuZCB1c2UKCSAgaXQgaW5zdGVhZCBvZiBidWZmZXJfZnJhbWVzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpOiBSZWZjb3VudCBmaXhlbiwgcGFzcyBuZnJhbWVzIG9uCgkgIHRvIGRvX3B1bGxzLgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zaW5rX2FjdGl2YXRlX3B1c2gpCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9zcmNfYWN0aXZhdGVfcHVsbCk6ICBSZWZjb3VudCBmaXhlbi4KCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOiBObyBtb3JlIGJ1ZmZlcl9mcmFtZXMsIHlheS4KCjIwMDYtMDctMzEgMTk6NDQ6MTggKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmM6IGRvbid0IHF1ZXJ5IGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCBhZGQgbG90cyBvZiBkZWJ1Zy1sb2csIHRyeSBmaXggZm9yIGFzc2VydCAoIzM0OS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKToKCSAgZG9uJ3QgcXVlcnkgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIGFkZCBsb3RzIG9mIGRlYnVnLWxvZywKCSAgdHJ5IGZpeCBmb3IgYXNzZXJ0ICgjMzQ5MTg5KQoKMjAwNi0wNy0zMSAxNzoyOToyMiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IFBvc3QgYW4gZXJyb3IgbWVzc2FnZS4KCjIwMDYtMDctMzEgMTY6NTA6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBEb24ndCB0cnkgYWxsb2NhdGluZyBpZiB3ZSBhcmUgbm90IHNldHVwIHlldC4gRmFpbCBjaGFuZ2luZyBzdGF0ZSBpZiBzZXR1cCBmYWlscy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMzEgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6IERvbid0IHRyeSBhbGxvY2F0aW5nIGlmIHdlIGFyZQoJICBub3QKCSAgc2V0dXAgeWV0LiBGYWlsIGNoYW5naW5nIHN0YXRlIGlmIHNldHVwIGZhaWxzLgoKMjAwNi0wNy0zMSAwODo0ODozNiArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogQ29uc3VtZSBhbGwgZXZlbnRzIGV4Y2VwdCBFT1MgYmVjYXVzZSB3ZSBnZW5lcmF0ZSBldmVudHMgZnJvbSB0aGUgZ2RwIHBheWxvYWQgaW5zdGVhZC4gRml4ZXMgIy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9zaW5rX2V2ZW50KSwgKGdzdF9nZHBfZGVwYXlfY2hhaW4pOgoJICBDb25zdW1lIGFsbCBldmVudHMgZXhjZXB0IEVPUyBiZWNhdXNlIHdlIGdlbmVyYXRlIGV2ZW50cyBmcm9tCgkgIHRoZSBnZHAgcGF5bG9hZCBpbnN0ZWFkLiBGaXhlcyAjMzQ5MjA0CgoyMDA2LTA3LTI5IDE2OjMyOjI2ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBBZGQgZGVidWdzIGxvZ3MgaGVyZSBhbmQgdGhlcmUsIGFkZCBtb3JlIGVycm9yIGhhbmRsaW5nLCBhZGQgc29tZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOgoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfYWRkX3BhZF9mcm9tX3RlbXBsYXRlKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2luaXQpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2V0Y2FwcyksCgkgIChnc3Rfc2lnbmFsX3Byb2Nlc3Nvcl9wcm9jZXNzKSwgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Blbl9idWZmZXIpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZG9fcHVsbHMpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3Jfc2lua19hY3RpdmF0ZV9wdXNoKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3NyY19hY3RpdmF0ZV9wdWxsKSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX2NoYW5nZV9zdGF0ZSk6CgkgIEFkZCBkZWJ1Z3MgbG9ncyBoZXJlIGFuZCB0aGVyZSwgYWRkIG1vcmUgZXJyb3IgaGFuZGxpbmcsIGFkZCBzb21lCgkgIEZJWE1FIGNvbW1lbnRzLCBmaWxlZCAjMzQ5MTg5CgoyMDA2LTA3LTI4IDE3OjE3OjI0ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4gc3RvcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzogKGF1ZGlvcmVzYW1wbGVfc3RvcCksCgkgIChhdWRpb3Jlc2FtcGxlX3NldF9jYXBzKToKCSAgRG9uJ3QgbGVhayByZWZlcmVuY2VzIHRvIHRoZSBpbmNvbWluZyBjYXBzLiBDbGVhbiB0aGVtIHVwIHdoZW4KCSAgc3RvcHBpbmcuCgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5jOiAoZ3N0X3ZpZGVvX3NjYWxlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3ZpZGVvX3NjYWxlX2ZpbmFsaXplKToKCSAgRG9uJ3QgbGVhayBvdXIgdGVtcG9yYXJ5IHBpeGVsIGJ1ZmZlci4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9waXBlbGluZXMvc2ltcGxlLWxhdW5jaC1saW5lcy5jOiAocnVuX3BpcGVsaW5lKSwKCSAgKEdTVF9TVEFSVF9URVNUKSwgKHNpbXBsZV9sYXVuY2hfbGluZXNfc3VpdGUpOgoJICBGaXggbGVha3MgYW5kIHJlLWVuYWJsZSB0aGUgdGVzdCBmb3IgdmFsZ3JpbmQgY2hlY2tpbmcuCgoyMDA2LTA3LTI4IDEyOjE0OjA2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGRlYy4qOiBDbGVhbi11cHMgYW5kIGNvZGUgcmVmbG93cy4gUGFzcyByZXR1cm4gdmFsdWUgZnJvbSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpIHVwc3RyZWFtIGFtb25nIG90aGVyLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuYzogKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLAoJICAoZ3N0X3h2aWRkZWNfdW5zZXQpLCAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLAoJICAoZ3N0X3h2aWRkZWNfc2V0dXApLCAoZ3N0X3h2aWRkZWNfbmVnb3RpYXRlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgQ2xlYW4tdXBzIGFuZCBjb2RlIHJlZmxvd3MuIFBhc3MgcmV0dXJuIHZhbHVlIGZyb20KCSAgZ3N0X3BhZF9hbGxvY19idWZmZXIoKSB1cHN0cmVhbSBhbW9uZyBvdGhlciB0aGluZ3MuIEFsc28gY2hlY2sKCSAgZm9yIE5VTEwgR1ZhbHVlIGJlZm9yZSB1c2luZyBHU1RfVkFMVUVfVFlQRSBtYWNybyAoIzM0ODk3NikuCgkgIE1hc3MgcmVuYW1lIG9mIHh2aWRkZWMgLT4gZGVjIHZhcmlhYmxlIGZvciBiZXR0ZXIKCSAgY29kZSByZWFkYWJpbGl0eS4KCjIwMDYtMDctMjggMTA6MTk6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkLmM6IEZpeCBzaXplIGNhbGN1bGF0aW9uIGZvciBJNDIwL1lWMTIuIEZpeGVzICMzNDg5NzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuYzogKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICBGaXggc2l6ZSBjYWxjdWxhdGlvbiBmb3IgSTQyMC9ZVjEyLiBGaXhlcyAjMzQ4OTc2LgoKMjAwNi0wNy0yNyAxMDo1MDozOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9nc20vOiBGaXggbmVnb3RpYXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6IChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19zaW5rX3NldGNhcHMpLCAoZ3N0X2dzbWRlY19zaW5rX2V2ZW50KToKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19pbml0KSwgKGdzdF9nc21lbmNfc2V0Y2Fwcyk6CgkgIEZpeCBuZWdvdGlhdGlvbi4KCjIwMDYtMDctMjYgMTA6NTI6MDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiBwcm94eWluZyBnZXQvc2V0IGNhcHMgaXMgdGhlIHdyb25nIHRoaW5nIHRvIGRvLCBzaW5jZSB3ZSByZWFsbHkgZG8gY2hhbmdlIGNhcHMgcXVpdGUgZnVuZGFtZW50Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfaW5pdCk6CgkgIHByb3h5aW5nIGdldC9zZXQgY2FwcyBpcyB0aGUgd3JvbmcgdGhpbmcgdG8gZG8sIHNpbmNlIHdlIHJlYWxseQoJICBkbyBjaGFuZ2UgY2FwcyBxdWl0ZSBmdW5kYW1lbnRhbGx5CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBwYXkuYzoKCSAgcmVtb3ZlIGRlY2xhcmF0aW9uIG9mIGJ1ZmZlcnMsIGl0J3MgYWxyZWFkeSBkb25lIGluIGdzdGNoZWNrLmgKCjIwMDYtMDctMjQgMjE6NDM6MDYgKzAwMDAgIFPDqWJhc3RpZW4gTW91dHRlIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuKjogQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL2RpcmVjdHNvdW5kL2dzdGRpcmVjdHNvdW5kc2luay5oOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgQWRkIGFuIGF0dGVudWF0aW9uIHByb3BlcnR5IHRoYXQgd2lsbCBkaXJlY3RseSBhdHRlbnVhdGUgdGhlCgkgIGRpcmVjdHNvdW5kIGJ1ZmZlci4KCSAgQ2hhbmdlIHRoZSBzaXplIG9mIHRoZSBkaXJlY3Rzb3VuZCBzZWNvbmRhcnkgYnVmZmVyIHRvIGEgaGFsZiBzZWNvbmQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIEFkZCBhIGxvY2sgdG8gcHJvdGVjdCBkc291bmQgYnVmZmVyIHdyaXRlIGFjY2Vzcy4KCSAgRml4IGEgYmFkIGltcGxlbWVudGF0aW9uIG9mIHJlc2V0LgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3RkcmF3c2luay5oOgoJICBBZGQgYSBrZWVwX2FzcGVjdF9yYXRpbyBwcm9wZXJ0eS4KCSAgRG8gbm90IHVzZSBvdmVybGF5IGlmIG5vdCBzdXBwb3J0ZWQuCgkgIEFkZCBtb3JlIGRlYnVnIGxvZ3MuCgkgIFJlbW92ZSBvdmVyd3JpdGUgb2YgV01fRVJBU0VCS0dORCBtZXNzYWdlIGhhbmRsaW5nLiBJdCB3YXMgbm90CgkgIHJlZHJhd2luZyBib3JkZXIgd2hlbiBrZWVwX2FzcGVjdF9yYXRpbyB3YXMgZW5hYmxlZC4KCSAgKiB3aW4zMi9jb21tb24vY29uZmlnLmg6CgkgIHVwZGF0ZSB2ZXJzaW9uIHdhaXRpbmcgYW4gYXV0by1nZW5lcmF0ZWQgY29uZmlnLmgKCjIwMDYtMDctMjMgMTE6NTI6MzQgKzAwMDAgIENocmlzIExlZSA8Y2xlZUBrZGUub3JnPgoKCSAgQWRkIGxpYm9wZW5zcGMtYmFzZWQgU1BDIGRlY29kZXIgZWxlbWVudCAoIzM0ODIyMCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ2hyaXMgTGVlICA8Y2xlZSBhdCBrZGUgb3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NwYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvc3BjL2dzdHNwYy5jOiAoc3BjX25lZ290aWF0ZSksIChnc3Rfc3BjX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3NwY19kZWNfY2xhc3NfaW5pdCksIChnc3Rfc3BjX2RlY19pbml0KSwgKGdzdF9zcGNfZGVjX2NoYWluKSwKCSAgKGdzdF9zcGNfZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X3NwY19kZWNfc3JjX2V2ZW50KSwKCSAgKGdzdF9zcGNfZGVjX3NyY19xdWVyeSksIChzcGNfcGxheSksIChzcGNfc2V0dXApLAoJICAoZ3N0X3NwY19kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvc3BjL2dzdHNwYy5oOgoJICBBZGQgbGlib3BlbnNwYy1iYXNlZCBTUEMgZGVjb2RlciBlbGVtZW50ICgjMzQ4MjIwKS4KCjIwMDYtMDctMTkgMTQ6MzY6MDAgKzAwMDAgIE1hcnRpbiBTenVsZWNraSA8Y29tcGl6QHN1a2ltYXNoaXRhLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90IG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcnRpbiBTenVsZWNraQoJICAqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuYzogKGdzdF92NGwyX29iamVjdF9nZXRfcHJvcGVydHlfaGVscGVyKToKCSAgSWYgImRldmljZS1uYW1lIiBpcyByZXF1ZXN0ZWQgYW5kIHRoZSBkZXZpY2UgaXMgbm90CgkgIG9wZW4sIHRyeSB0byB0ZW1wb3JhcmlseSBvcGVuIGl0IHRvIG9idGFpbiB0aGlzCgkgIGluZm9ybWF0aW9uICgjMzQyNDk0KS4KCjIwMDYtMDctMTkgMTE6NDc6MjAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICB1cGRhdGUgc3BlYyBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgc3BlYyBmaWxlCgoyMDA2LTA3LTE5IDExOjQzOjUwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L25zZi9uc2YuYzogUmVhbGx5IGZpeCBjb21waWxhdGlvbi4gQXBwYXJlbnRseSBpdCdzIG5vdCBlbm91Z2ggdG8ganVzdCBjaGVjayB0aGUgcmV0dXJuIHZhbHVlIGZvciBlcnJvcnMsIGJ1dCB3ZSBuLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIFJlYWxseSBmaXggY29tcGlsYXRpb24uIEFwcGFyZW50bHkgaXQncyBub3QgZW5vdWdoIHRvCgkgIGp1c3QgY2hlY2sgdGhlIHJldHVybiB2YWx1ZSBmb3IgZXJyb3JzLCBidXQgd2UgbmVlZCB0bwoJICBjaGVjayBmb3Igc2hvcnQgcmVhZHMgYXMgd2VsbCAobm93IGlmIG9ubHkgd2UgaGFuZGxlZAoJICB0aGVtIHRvbyAuLi4pLiBGaXhlcyAjMzQ3OTM1LgoKMjAwNi0wNy0xOCAxODowNToxNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKToKCSAgRml4IGNhcHMgYWZ0ZXIgcHJldmlvdXMgY2hhbmdlIHRvIGJ5dGUgb3JkZXIgZW5kaWFubmVzcy4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3Jlc2V0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NpbmtfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9sb29wKToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgUXVldWUgaW5jb21pbmcgZXZlbnRzIGlmIHRoZXJlJ3Mgbm8gc291cmNlIHBhZCB5ZXQgYW5kCgkgIHNlbmQgdGhlbSBkb3duc3RyZWFtIGxhdGVyIHdoZW4gdGhlIHBhZCBpcyB0aGVyZS4KCjIwMDYtMDctMTggMTY6NDc6MjUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLio6IE91dHB1dCBhdWRpbyBpbiBuYXRpdmUgYnl0ZSBvcmRlciAod2hpY2ggaXMgYWxzbyBob3cgd2UgZ2V0IHNhbXBsZXMgZnJvbSB3YXZwYWNrKTsgb3V0cHUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGlwX291dGdvaW5nX2J1ZmZlciksIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICBPdXRwdXQgYXVkaW8gaW4gbmF0aXZlIGJ5dGUgb3JkZXIgKHdoaWNoIGlzIGFsc28gaG93IHdlIGdldAoJICBzYW1wbGVzIGZyb20gd2F2cGFjayk7IG91dHB1dCBzYW1wbGVzIHdpdGggMjEtMjQgYml0IGRlcHRoCgkgIHdpdGggMzIgYml0IHdpZHRoIChtYWtlcyB0aGluZ3MgZWFzaWVyIGZvciB1cykuCgoyMDA2LTA3LTE4IDE1OjUzOjM1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy4qOiBNb3JlIGNsZWFuLXVwczogcmVtb3ZlIG1vc3Qgb2YgdGhlIGRpc2Z1bmN0aW9uYWwgY29ycmVjdGlvbiBwYWQgc3R1ZmYgZm9yIG5vdywgaWYgaXQgZXZlLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgTW9yZSBjbGVhbi11cHM6IHJlbW92ZSBtb3N0IG9mIHRoZSBkaXNmdW5jdGlvbmFsIGNvcnJlY3Rpb24KCSAgcGFkIHN0dWZmIGZvciBub3csIGlmIGl0IGV2ZXIgZ2V0cyBpbXBsZW1lbnRlZCBhIGxvdCBvZiBzdHVmZgoJICB3aWxsIGhhdmUgdG8gYmUgcmV3cml0dGVuIGFueXdheTsgcmVkbyBjaGFpbiBmdW5jdGlvbiwgbW92ZQoJICBlcnJvcnMgdG8gZW5kLCBlcnJvciBvdXQgaW5zdGVhZCBvZiBnX2Fzc2VydCgpaW5nLiBBbHNvIHJlbmFtZQoJICBvdmVybHkgbG9uZyB2YXJpYWJsZSAnd2F2cGFja2RlYycgdG8ganVzdCAnZGVjJzsgbWlzY2VsbGFuZW91cwoJICBvdGhlciBzbWFsbCBzdHVmZi4KCjIwMDYtMDctMTggMTQ6MDg6MDYgKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPHNsb21vQGNpcmN1bGFyLWNoYW9zLm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZiBuZWNlc3NhcnkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW8gYXQgY2lyY3VsYXItY2hhb3Mub3JnPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQ2hlY2sgZm9yIHdhdnBhY2sgdmVyc2lvbiBhbmQgZGVmaW5lIFdBVlBBQ0tfT0xEX0FQSSBpZgoJICBuZWNlc3NhcnkuCgkgICogZXh0L3dhdnBhY2svTWFrZWZpbGUuYW06CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5jOiAoZ3N0X3dhdnBhY2tfcmVhZF9oZWFkZXIpLAoJICAoZ3N0X3dhdnBhY2tfcmVhZF9tZXRhZGF0YSk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2NsYXNzX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2xpcF9vdXRnb2luZ19idWZmZXIpLCAoZ3N0X3dhdnBhY2tfZGVjX2NoYWluKSwKCSAgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2RlY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX3JlcXVlc3RfbmV3X3BhZCksIChnc3Rfd2F2cGFja19kZWNfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZmluYWxpemUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF93cF9jb25maWcpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2ZpbmFsaXplKSwgKGdzdF93YXZwYWNrX3BhcnNlX2NsYXNzX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5kZXhfZ2V0X2VudHJ5X2Zyb21fc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfaGFuZGxlX3NlZWtfZXZlbnQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tzdHJlYW1yZWFkZXIuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrc3RyZWFtcmVhZGVyLmg6CgkgIFBvcnQgdG8gbmV3L29mZmljaWFsIHdhdnBhY2sgQVBJLCBkb24ndCB1c2UgQVBJIHRoYXQgd2FzIGV4cG9ydGVkCgkgIGluIHdhdnBhY2sgaGVhZGVyIGZpbGVzIGFuZCBpbiB0aGUgbGliIGJ1dCBtZWFudCB0byBiZSBwcml2YXRlLCBhdAoJICBsZWFzdCBub3QgZm9yIHJlY2VudCB3YXZwYWNrIHZlcnNpb25zOyBtaXNjLiAnY2xlYW51cHMnICgjMzQ3NDQzKS4KCjIwMDYtMDctMTggMDk6MzY6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvbnNmL25zZi5jOiBGaXggY29tcGlsYXRpb24gYnkgbm90IGlnbm9yaW5nIHJldHVybiB2YWx1ZXMgb2YgZnJlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvbnNmLmM6IChuc2ZfbG9hZCk6CgkgIEZpeCBjb21waWxhdGlvbiBieSBub3QgaWdub3JpbmcgcmV0dXJuIHZhbHVlcyBvZiBmcmVhZC4KCjIwMDYtMDctMTcgMTU6MDk6MzEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvOiBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWFsc2FzcGRpZi54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZpbHRlci54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWgyNjRwYXJzZS54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2VwYWNrLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbnNmZGVjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlY3RydW0ueG1sOgoJICBhZGRpbmcgbW9yZSBpbnNwZWN0IGRvY3MKCjIwMDYtMDctMTcgMTQ6NDM6NTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6IGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdkcC54bWw6CgkgIGFjdHVhbGx5IGNvbW1pdCBpbnNwZWN0YXRpb24gb2YgZ2RwIGVsZW1lbnQKCjIwMDYtMDctMTcgMTQ6MTc6NDUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZ3N0L2dkcC86IHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzIGZpeCB0eXBvIGluIGNvbW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDctMTcgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgIDx0aG9tYXMgYXQgYXBlc3RhYXJ0IGRvdCBvcmc+CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jbGFzc19pbml0KToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIHJlbW92ZSBwYXJlbnRfY2xhc3Mgc2V0dGluZywgQk9JTEVSUExBVEUgZG9lcyB0aGlzCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpOgoJICBmaXggdHlwbyBpbiBjb21tZW50CgoyMDA2LTA3LTE3IDEwOjI1OjU3ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpOgoJICBTdG9yZSBkdXJhdGlvbiBpbiB1aW50NjQgdG9vIGluc3RlYWQgb2YgY2xpcHBpbmcuCgkgIFdoZW4gd2UgZG8gYSBrZXlmcmFtZSBzZWVrIGFuZCB0aGUgcmVxdWVzdGVkIHRpbWUgaXMgYXQgdGhlCgkgIGtleWZyYW1lLCBkb24ndCBzZWVrIGJhY2sgdG8gdGhlIGJlZ2lubmluZyBvZiB0aGUga2V5ZnJhbWUuCgkgIEZpeGVzICMzNDc0MzkuCgoyMDA2LTA3LTE2IDE0OjQ2OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX3N5bmMpOgoJICBEb24ndCBjcmFzaCBvbiBzbWFsbCBidWZmZXJzLgoKMjAwNi0wNy0xNSAxMTo1NzowMCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiBSZXNldCBhZGFwdGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6IChnc3RfaXZvcmJpc2ZpbGVfc2lua19hY3RpdmF0ZSk6CgkgIFJlc2V0IGFkYXB0ZXIuCgoyMDA2LTA3LTE1IDExOjUwOjI1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vOiBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzogKG1haW4pOgoJICBEbyBub3QgdXNlIGRlcHJlY2F0ZWQgZ3RrIGZ1bmN0aW9ucy4KCjIwMDYtMDctMTQgMTA6MzQ6MzYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgYXMgYSBwbHVnaW4sIG5vdCBhIGxpYgoKMjAwNi0wNy0xNCAwOToxMToxMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9uc2YvOiBSZW1vdmUgY3JhY2sgbWFsbG9jL2ZyZWUgcmVwbGFjZW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9uc2YvTWFrZWZpbGUuYW06CgkgICogZ3N0L25zZi9tZW1ndWFyZC5jOgoJICAqIGdzdC9uc2YvbWVtZ3VhcmQuaDoKCSAgKiBnc3QvbnNmL3R5cGVzLmg6CgkgIFJlbW92ZSBjcmFjayBtYWxsb2MvZnJlZSByZXBsYWNlbWVudC4KCjIwMDYtMDctMTMgMTU6MjU6NTggKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgZG9jcy9wbHVnaW5zLzogYWRkIG1vcmUgcGx1Z2lucyBhbmQgZWxlbWVudHMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBhZGQgbW9yZSBwbHVnaW5zIGFuZCBlbGVtZW50cyB0byBkb2NzCgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOiAoZ3N0X2dkcF9kZXBheV9jaGFpbik6CgkgIGZpeCBzZWdmYXVsdHMgZHVlIHRvIHdyb25nIGdfZnJlZQoJICBhZGQgZXhhbXBsZQoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgIGFkZCBleGFtcGxlCgoyMDA2LTA3LTEzIDE1OjIyOjM2ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L25zZi9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICBGaXggYnVpbGQuCgoyMDA2LTA3LTEzIDE1OjIyOjIwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFjLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZnJlZXplLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdsaW1hZ2VzaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWdzbS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tb2RwbHVnLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW11c2ljYnJhaW56LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW5lb24ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsdmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXR0YS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi12aWRlbzRsaW51eDIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14aW5naGVhZGVyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXh2aWQueG1sOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgc2RsdmlkZW9zaW5rIHBsdWdpbiBhbmQgdXBkYXRlIHRoZSByZXN0CgoyMDA2LTA3LTEzIDE1OjA3OjI4ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBCYXNlZCBvbiBwYXRjaGVzIGJ5OiBKb2hhbiBEYWhsaW4gPGpvaGFuIGF0IGdub21lIGRvdCBvcmc+CgkgIFJvbmFsZCBCdWx0amUgPHJidWx0amUgYXQgcm9uYWxkIGRvdCBiaXRmcmVhayBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBnc3QvbnNmL01ha2VmaWxlLmFtOgoJICAqIGdzdC9uc2YvZGlzNjUwMi5oOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5jOgoJICAqIGdzdC9uc2YvZmRzX3NuZC5oOgoJICAqIGdzdC9uc2YvZm1vcGwuYzoKCSAgKiBnc3QvbnNmL2Ztb3BsLmg6CgkgICogZ3N0L25zZi9nc3Ruc2YuYzoKCSAgKiBnc3QvbnNmL2dzdG5zZi5oOgoJICAqIGdzdC9uc2YvbG9nLmM6CgkgICogZ3N0L25zZi9sb2cuaDoKCSAgKiBnc3QvbnNmL21lbWd1YXJkLmM6CgkgICogZ3N0L25zZi9tZW1ndWFyZC5oOgoJICAqIGdzdC9uc2YvbW1jNV9zbmQuYzoKCSAgKiBnc3QvbnNmL21tYzVfc25kLmg6CgkgICogZ3N0L25zZi9uZXM2NTAyLmM6CgkgICogZ3N0L25zZi9uZXM2NTAyLmg6CgkgICogZ3N0L25zZi9uZXNfYXB1LmM6CgkgICogZ3N0L25zZi9uZXNfYXB1Lmg6CgkgICogZ3N0L25zZi9uc2YuYzoKCSAgKiBnc3QvbnNmL25zZi5oOgoJICAqIGdzdC9uc2Yvb3NkLmg6CgkgICogZ3N0L25zZi90eXBlcy5oOgoJICAqIGdzdC9uc2YvdnJjN19zbmQuYzoKCSAgKiBnc3QvbnNmL3ZyYzdfc25kLmg6CgkgICogZ3N0L25zZi92cmN2aXNuZC5jOgoJICAqIGdzdC9uc2YvdnJjdmlzbmQuaDoKCSAgQWRkZWQgTlNGIGRlY29kZXIgcGx1Z2luLiBGaXhlcyAxNTExOTIuCgoyMDA2LTA3LTEzIDEyOjQyOjI5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06IE9ubHkgcnVuIG1wZWcyZW5jIHVuaXQgdGVzdCBpZiB3ZSBidWlsdCB0aGUgbXBlZzJlbmMgcGx1Z2luLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgT25seSBydW4gbXBlZzJlbmMgdW5pdCB0ZXN0IGlmIHdlIGJ1aWx0IHRoZSBtcGVnMmVuYyBwbHVnaW4uCgoyMDA2LTA3LTEzIDEyOjI0OjU4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBEb24ndCBlcnJvciBvdXQgaW4gY29uZmlndXJlIGlmIG1qcGVndG9vbHMgZGV2IGlzIG5vdCB0aGVyZS4KCjIwMDYtMDctMTMgMTE6MDY6NDUgKzAwMDAgIE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1d0Bza3luZXQuYmU+CgoJICBQb3J0IG1wZWcyZW5jIHRvIDAuMTAgKCMzNDMxODQpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1hcmsgTmF1d2VsYWVydHMgPG1hbmF1dyBhdCBza3luZXQgYmU+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvbXBlZzJlbmMvTWFrZWZpbGUuYW06CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuYy5oaDoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNvZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY29kZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jb3B0aW9ucy5jYzoKCSAgKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmNwaWN0dXJlcmVhZGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3BpY3R1cmVyZWFkZXIuaGg6CgkgICogZXh0L21wZWcyZW5jL2dzdG1wZWcyZW5jc3RyZWFtd3JpdGVyLmNjOgoJICAqIGV4dC9tcGVnMmVuYy9nc3RtcGVnMmVuY3N0cmVhbXdyaXRlci5oaDoKCSAgUG9ydCBtcGVnMmVuYyB0byAwLjEwICgjMzQzMTg0KS4KCSAgKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uY3ZzaWdub3JlOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL21wZWcyZW5jLmM6CgkgIEFkZCB1bml0IHRlc3QgZm9yIG1wZWcyZW5jLgoJICAqIHRlc3RzL2ljbGVzLy5jdnNpZ25vcmU6CgkgIElnbm9yZSBwaXRjaC10ZXN0LgoKMjAwNi0wNy0xMiAwOToyODo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiBGaXggdHlwbyBpbiBwcm9wZXJ0eSBuaWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgRml4IHR5cG8gaW4gcHJvcGVydHkgbmljay4KCjIwMDYtMDctMTAgMTQ6NDk6NDYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvZmlsdGVyLzogRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2ZpbHRlci9nc3RicHdzaW5jLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuaDoKCSAgKiBnc3QvZmlsdGVyL2dzdGxwd3NpbmMuaDoKCSAgRG9uJ3QgZm9yZ2V0IG5ldyBmaWxlcy4KCjIwMDYtMDctMTAgMTQ6NDM6MzUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIEknbSB0b28gbGF6eSB0byBjb21tZW50IHRoaXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICoqKiBlbXB0eSBsb2cgbWVzc2FnZSAqKioKCjIwMDYtMDctMTAgMTQ6NDI6MTUgKzAwMDAgIE1hdGhpcyBIb2ZlciA8bWF0aGlzLmhvZmVyQGRyZWFtbGFiLm5ldD4KCgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXRoaXMgSG9mZXIgPG1hdGhpcyBkb3QgaG9mZXIgYXQgZHJlYW1sYWIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L2ZpbHRlci9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZmlsdGVyL2dzdGJwd3NpbmMuYzogKGdzdF9icHdzaW5jX2Rpc3Bvc2UpLAoJICAoZ3N0X2Jwd3NpbmNfYmFzZV9pbml0KSwgKGdzdF9icHdzaW5jX2NsYXNzX2luaXQpLAoJICAoZ3N0X2Jwd3NpbmNfaW5pdCksIChicHdzaW5jX3NldF9jYXBzKSwgKGJwd3NpbmNfdHJhbnNmb3JtX2lwKSwKCSAgKGJwd3NpbmNfc2V0X3Byb3BlcnR5KSwgKGJwd3NpbmNfZ2V0X3Byb3BlcnR5KToKCSAgKiBnc3QvZmlsdGVyL2dzdGZpbHRlci5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0ZmlsdGVyLmg6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfZGlzcG9zZSksIChnc3RfaWlyX2Jhc2VfaW5pdCksCgkgIChnc3RfaWlyX2NsYXNzX2luaXQpLCAoZ3N0X2lpcl9pbml0KSwgKGlpcl9zZXRfY2FwcyksCgkgIChpaXJfdHJhbnNmb3JtX2lwKSwgKGlpcl9zZXRfcHJvcGVydHkpLCAoaWlyX2dldF9wcm9wZXJ0eSk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19kaXNwb3NlKSwKCSAgKGdzdF9scHdzaW5jX2Jhc2VfaW5pdCksIChnc3RfbHB3c2luY19jbGFzc19pbml0KSwKCSAgKGdzdF9scHdzaW5jX2luaXQpLCAobHB3c2luY19zZXRfY2FwcyksIChscHdzaW5jX3RyYW5zZm9ybV9pcCksCgkgIChscHdzaW5jX3NldF9wcm9wZXJ0eSksIChscHdzaW5jX2dldF9wcm9wZXJ0eSk6CgkgIFBvcnRlZCB0aGUgZ3N0ZmlsdGVyIHBsdWdpbiB0byBHU3RyZWFtZXIgMC4xMC4KCjIwMDYtMDctMTAgMDk6NTc6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSk6CgkgIEV4dHJhY3QgY29tbWVudCBpbmZvcm1hdGlvbiEhCgoyMDA2LTA3LTEwIDA5OjQ2OjI1ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBFeHRyYWN0IHllYXIvZGF0ZSBpbmZvcm1hdGlvbiAoZml4ZXMgIzM0NzA3OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdWR0YSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZGF0ZSk6CgkgIEV4dHJhY3QgeWVhci9kYXRlIGluZm9ybWF0aW9uIChmaXhlcyAjMzQ3MDc5KS4KCjIwMDYtMDctMDcgMTQ6MzA6MjYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IGNyYXNoIG9uIHR3b3Mvc293dC9yYXcgYXVkaW8uICMzNDU4MzAuCgoyMDA2LTA3LTA3IDExOjQ0OjA1ICswMDAwICBMdXR6IE11ZWxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy4qOiBSZW1vdmUgdW5sb2NrIGZ1bmN0aW9uLiBzdGFydC9zdG9wIHdpbGwgZG8gZXZlcnl0aGluZyBuZWVkZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE11ZWxsZXIgPGx1dHogYXQgdG9wZnJvc2UgZG90IGRlPgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19pbml0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZmluYWxpemUpLAoJICAocmVxdWVzdF9kaXNwYXRjaCksIChnc3RfbmVvbmh0dHBfc3JjX2NyZWF0ZSksCgkgIChnc3RfbmVvbmh0dHBfc3JjX3N0YXJ0KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3NpemUpLAoJICAoZ3N0X25lb25odHRwX3NyY19zdG9wKSwgKHNldF9wcm94eSksIChzZXRfdXJpKSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF9uZW9uaHR0cF9zcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9uZW9uaHR0cF9zcmNfdXJpX3NldF91cmkpLCAoc2l6ZV9oZWFkZXJfaGFuZGxlcik6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlIHVubG9jayBmdW5jdGlvbi4gc3RhcnQvc3RvcCB3aWxsIGRvIGV2ZXJ5dGhpbmcgbmVlZGVkCgkgIFJlbW92ZWQgY29kZSB0aGF0IHdhcyBuZXZlciBjYWxsZWQuCgkgIFVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlci4gRG9uJ3Qgc2VuZCBFT1MgLSBwYXJlbnQgY2xhc3MgZG9lcyB0aGF0IGZvciB1cy4KCSAgRG8gbm90IGVzY2FwZSBwYXRoLiBGaXhlcyAjMzQ2NzIzLgoJICBBZGRpdGlvbmFsIGNvZGUgY2xlYW51cHMuCgoyMDA2LTA3LTAzIDIwOjAyOjU2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggc2lsbHkgY3Jhc2hlciBpbiBzdGF0ZSBjaGFuZ2UgZnVuY3Rpb247IGFkZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9oZWFkZXIpLCAocXRkZW11eF92aWRlb19jYXBzKToKCSAgRml4IHNpbGx5IGNyYXNoZXIgaW4gc3RhdGUgY2hhbmdlIGZ1bmN0aW9uOyBhZGQKCSAgSVY0MSBmb3VyY2MgKHNlZSBidWcgIzE3MTExMSk7IGRvbid0IG91dHB1dCBjb25mdXNpbmcKCSAgZGVidWcgbWVzc2FnZSB3aGVuIHNraXBwaW5nIGF0b21zLgoKMjAwNi0wNi0yMyAwOTowOTo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVzZSBHU1RfREVCVUdfQ0FURUdPUllfU1RBVElDIHdoZXJlIHBvc3NpYmxlICgjMzQyNTAzKSBhbmQgZml4IG9uZSBHT2JqZWN0IGJvaWxlcnBsYXRlIG1hY3JvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmM6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5LmM6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICBVc2UgR1NUX0RFQlVHX0NBVEVHT1JZX1NUQVRJQyB3aGVyZSBwb3NzaWJsZSAoIzM0MjUwMykKCSAgYW5kIGZpeCBvbmUgR09iamVjdCBib2lsZXJwbGF0ZSBtYWNyby4KCjIwMDYtMDYtMjIgMTA6MTA6NTEgKzAwMDAgIENvZHkgUnVzc2VsbCA8YnJhdHNjaGVAZ25vbWUub3JnPgoKCSAgZ3N0LzogQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0IGZ1bmN0aW9ucyAoIzMzNzc0NykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogQ29keSBSdXNzZWxsIDxicmF0c2NoZSBhdCBnbm9tZSBvcmc+CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgIChnc3Rfc3RyZWFtX3NlbGVjdG9yX2NsYXNzX2luaXQpOgoJICAqIGdzdC9zdWJwYXJzZS9nc3RzdWJwYXJzZS5jOiAoZ3N0X3N1Yl9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmM6IChnc3RfbXVsdGlfZmRfc2lua19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcGNsaWVudHNpbmsuYzogKGdzdF90Y3BfY2xpZW50X3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuYzogKGdzdF90Y3BfY2xpZW50X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuYzogKGdzdF90Y3Bfc2VydmVyX3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzogKGdzdF90Y3Bfc2VydmVyX3NyY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9fc2NhbGVfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpZGVvdGVzdHNyYy9nc3R2aWRlb3Rlc3RzcmMuYzoKCSAgKGdzdF92aWRlb190ZXN0X3NyY19jbGFzc19pbml0KToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KToKCSAgQXZvaWQgdW5uZWNlc3NhcnkgY2xhc3MgY2FzdCBjaGVjayBpbiBjbGFzc19pbml0CgkgIGZ1bmN0aW9ucyAoIzMzNzc0NykuCgoyMDA2LTA2LTIwIDExOjA3OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zdGRhZnguaDogRml4IG1vZHBsdWcgb24gQU1ENjQuIEZpeGVzICMzNDUzMzYuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkgIEZpeCBtb2RwbHVnIG9uIEFNRDY0LiBGaXhlcyAjMzQ1MzM2LgoKMjAwNi0wNi0xOSAxNDowNzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGNoZWNrIHNvIHRoYXQgZnV0dXJlIGxpYm5lb24gQVBJIGNoYW5nZXMgd29uJ3QgYnJlYWsgdGhlIGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBjaGVjayBzbyB0aGF0IGZ1dHVyZSBsaWJuZW9uIEFQSSBjaGFuZ2VzIHdvbid0IGJyZWFrIHRoZSBidWlsZC4KCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXggYnVpbGQgd2l0aCBsaWJuZW9uLTAuMjYueCAoIzM0NTE4MikuCgoyMDA2LTA2LTE5IDEzOjE3OjU3ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIGxhdGVzdCBwbHVnaW5zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMKCjIwMDYtMDYtMTcgMTU6MDk6MzkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBjb25maWd1cmUuYWM6IEZpeCAtLWRpc2FibGUtZXh0ZXJuYWwgKGNhbid0IHNldCBjb25kaXRpb25hbHMgY29uZGl0aW9uYWxseSwgIzM0MzYwMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgRml4IC0tZGlzYWJsZS1leHRlcm5hbCAoY2FuJ3Qgc2V0IGNvbmRpdGlvbmFscyBjb25kaXRpb25hbGx5LAoJICAjMzQzNjAyKS4KCjIwMDYtMDYtMTYgMTU6NDM6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IEFkZCB0ZXN0IGNhc2UgZm9yIGJ1ZyAjMzQyNzg5IGZpeGVkIGJlbG93LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6ICh0ZXN0X3JldXNlKSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3VpdGUpOgoJICBBZGQgdGVzdCBjYXNlIGZvciBidWcgIzM0Mjc4OSBmaXhlZCBiZWxvdy4KCjIwMDYtMDYtMTYgMTU6MTc6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEltcGxlbWVudCBHc3RCYXNlVHJhbnNmb3JtOjpzdGFydCBhbmQgOjpzdG9wIHNvIHRoYXQgYXVkaW9yZXNhbXBsZSBjYW4gY2xlYXIgaXQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAoZ3N0X2F1ZGlvcmVzYW1wbGVfY2xhc3NfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9pbml0KSwKCSAgKGF1ZGlvcmVzYW1wbGVfc3RhcnQpLCAoYXVkaW9yZXNhbXBsZV9zdG9wKSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX3NldF9wcm9wZXJ0eSksIChnc3RfYXVkaW9yZXNhbXBsZV9nZXRfcHJvcGVydHkpOgoJICBJbXBsZW1lbnQgR3N0QmFzZVRyYW5zZm9ybTo6c3RhcnQgYW5kIDo6c3RvcCBzbyB0aGF0IGF1ZGlvcmVzYW1wbGUKCSAgY2FuIGNsZWFyIGl0cyBpbnRlcm5hbCBzdGF0ZSBwcm9wZXJseSBhbmQgYmUgcmV1c2VkIGluc3RlZCBvZgoJICBjYXVzaW5nIG5vbi1uZWdvdGlhdGVkIGVycm9ycyB3aXRoIHBsYXliaW4gdW5kZXIgc29tZSBjaXJjdW1zdGFuY2VzCgkgICgjMzQyNzg5KS4KCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6IChzZXR1cF9hdWRpb3Jlc2FtcGxlKSwKCSAgKGNsZWFudXBfYXVkaW9yZXNhbXBsZSk6CgkgIE5lZWQgdG8gc2V0IGVsZW1lbnQgc3RhdGUgaGVyZSBzbyB0aGF0IDo6c3RhcnQgYW5kIDo6c3RvcCBhcmUKCSAgY2FsbGVkLgoKMjAwNi0wNi0xNiAxMjozNTowOCArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbTogRml4IGJ1aWxkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNi0xNiAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIGdzdC9zcGVjdHJ1bS9NYWtlZmlsZS5hbToKCSAgRml4IGJ1aWxkLgoKMjAwNi0wNi0xNiAwOTo0OTowNyArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLzogcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLWF1ZGlvdGVzdC5jOiAob25fd2luZG93X2Rlc3Ryb3kpLAoJICAoZHJhd19zcGVjdHJ1bSksIChtZXNzYWdlX2hhbmRsZXIpLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChvbl93aW5kb3dfZGVzdHJveSksIChkcmF3X3NwZWN0cnVtKSwKCSAgKG1lc3NhZ2VfaGFuZGxlciksIChtYWluKToKCSAgcG9ydCB0byB1c2UgbWVzc2FnZSB0byBnZXQgcmVzdWx0cywgY2xlYW5seSBleGl0IHdoZW4gY2xvc2luZyB0aGUgd2luZG93CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9nZXRfcHJvcGVydHkpLAoJICAoZ3N0X3NwZWN0cnVtX3NldF9jYXBzKSwgKGdzdF9zcGVjdHJ1bV9zdGFydCksCgkgIChnc3Rfc3BlY3RydW1fbWVzc2FnZV9uZXcpLCAoZ3N0X3NwZWN0cnVtX3RyYW5zZm9ybV9pcCk6CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmg6CgkgIHBvcnQgdG8gZGVyaXZlIGZyb20gYmFzZXRyYW5zZm9ybSBhbmQgc2VuZCByZXN1bHRzIHZpYSBtZXNzYWdlcwoJICAobGlrZSBsZXZlbCBlbGVtZW50KQoKMjAwNi0wNi0xNSAxNTo1ODowOSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ29tYmluZSByZXR1cm4gdmFsdWVzIGZyb20gc3JjIHBhZCBwdXNoZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9jb21iaW5lX2Zsb3dzKSwgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcCksIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDb21iaW5lIHJldHVybiB2YWx1ZXMgZnJvbSBzcmMgcGFkIHB1c2hlcy4KCjIwMDYtMDYtMTUgMDg6NTA6MDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNyYXNoIG9uIGZpbGVzIHdpdGggMCBzYW1wbGVzLCBFT1MgaW1tZWRpYXRseSBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9wcmVwYXJlX2N1cnJlbnRfc2FtcGxlKSwgKGdzdF9xdGRlbXV4X2FkdmFuY2Vfc2FtcGxlKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pOgoJICBEb24ndCBjcmFzaCBvbiBmaWxlcyB3aXRoIDAgc2FtcGxlcywgRU9TIGltbWVkaWF0bHkgaW5zdGVhZC4KCSAgRml4ZXMgIzM0NDk0NC4KCjIwMDYtMDYtMTQgMTg6MDc6NTEgKzAwMDAgIFdvdXRlciBQYWVzZW4gPHdvdXRlckBrYW5nYXJvb3QubmV0PgoKCSAgZXh0L3NvdW5kdG91Y2gvOiBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZSAoIzM0NDgyMSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogV291dGVyIFBhZXNlbiAgPHdvdXRlciBhdCBrYW5nYXJvb3QgbmV0PgoJICAqIGV4dC9zb3VuZHRvdWNoL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zb3VuZHRvdWNoL2dzdHBpdGNoLmNjOgoJICBNYWtlIHBpdGNoIGVsZW1lbnQgY29udHJvbGxhYmxlIHZpYSBHc3RDb250cm9sbGVyIGludGVyZmFjZQoJICAoIzM0NDgyMSkuCgkgICogY29uZmlndXJlLmFjOgoJICBVcCBjb3JlIHJlcXVpcmVtZW50cyB0byAwLjEwLjguMS9DVlMgYmVjYXVzZSBlYXJsaWVyCgkgIEdzdENvbnRyb2xsZXJzIGNhbid0IGhhbmRsZSBmbG9hdCBwcm9wZXJ0aWVzIGNvcnJlY3RseS4KCSAgQ2hlY2sgZm9yIEdzdENvbnRyb2xsZXIgQ0ZMQUdTIGFuZCBMSUJTLgoJICAqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2ljbGVzL3BpdGNoLXRlc3QuYzogKG1haW4pOgoJICBBZGQgc21hbGwgdGVzdCBwcm9ncmFtIGZvciB0aGUgYWJvdmUgKHdlbGNvbWUgdG8gdGhlIDgwcyEpLgoKMjAwNi0wNi0xNCAwOTozMjoyNyArMDAwMCAgU2ViYXN0aWFuIERyw7ZnZSA8c2xvbW9AY2lyY3VsYXItY2hhb3Mub3JnPgoKCSAgZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy4qOiBVc2UgYml0cmF0ZSBwcm9wZXJ0eSBzb2xlbHkgZm9yIGJpdHJhdGVzIGFuZCBhZGQgbmV3IGJpdHMtcGVyLXNhbXBsZSBwcm9wZXJ0eSBmb3IgdGhlIG90Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogU2ViYXN0aWFuIERyw7ZnZSAgPHNsb21vIGF0IGNpcmN1bGFyLWNoYW9zIG9yZz4KCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZW5jLmM6IChnc3Rfd2F2cGFja19lbmNfYmFzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX2VuY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2VuY19zZXRfd3BfY29uZmlnKSwKCSAgKGdzdF93YXZwYWNrX2VuY19jaGFpbiksIChnc3Rfd2F2cGFja19lbmNfc2lua19ldmVudCksCgkgIChnc3Rfd2F2cGFja19lbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF93YXZwYWNrX2VuY19nZXRfcHJvcGVydHkpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tlbmMuaDoKCSAgVXNlIGJpdHJhdGUgcHJvcGVydHkgc29sZWx5IGZvciBiaXRyYXRlcyBhbmQgYWRkIG5ldwoJICBiaXRzLXBlci1zYW1wbGUgcHJvcGVydHkgZm9yIHRoZSBvdGhlciBzdHVmZi4gU2V0IGR1cmF0aW9uCgkgIHRvICd1bmtub3duJyBpbiBpbml0aWFsIGhlYWRlciBhbmQgcmVzZW5kIGhlYWRlciB3aXRoIHByb3BlcgoJICBkdXJhdGlvbiBvbiBFT1M7IHVwZGF0ZSBTZWJhc3RpYW4ncyBlLW1haWwgYWRkcmVzcy4KCjIwMDYtMDYtMTIgMTE6MzA6MDggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleC86ICNkZWZpbmUgcmVkIGdyZWVuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICogZXh0L2RpcmVjdGZiLy5jdnNpZ25vcmU6CgkgICNkZWZpbmUgcmVkIGdyZWVuCgoyMDA2LTA2LTEyIDExOjA0OjU5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3NwZWN0cnVtLy5jdnNpZ25vcmU6IElnbm9yZSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vLmN2c2lnbm9yZToKCSAgSWdub3JlIG1vcmUuCgoyMDA2LTA2LTEyIDEwOjUzOjI2ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2xpYm1tcy9nc3RtbXMuYzogU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfY3JlYXRlKToKCSAgU2V0IGNhcHMgb24gb3V0Z29pbmcgYnVmZmVycy4KCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOiAoZ3N0X2RpcmVjdGRyYXdzaW5rX2luaXQpOgoJICBDb21tZW50IG91dCB1bnVzZWQgZ2xvYmFsIGluc3RhbmNlIHZhcmlhYmxlLgoKMjAwNi0wNi0xMSAyMjozNzowNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiAuZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJICBtb2FwIGlnbm9yZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW9hcCBpZ25vcmUKCjIwMDYtMDYtMTEgMTM6NTc6MTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYXV0b2dlbi5zaDogcmVxdWlyZSBhbTE3CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGF1dG9nZW4uc2g6CgkgIHJlcXVpcmUgYW0xNwoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvYW5ub2RleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvY2Rpby9NYWtlZmlsZS5hbToKCSAgKiBleHQvZHYvTWFrZWZpbGUuYW06CgkgICogZXh0L2VzZC9NYWtlZmlsZS5hbToKCSAgKiBleHQvZmxhYy9NYWtlZmlsZS5hbToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9NYWtlZmlsZS5hbToKCSAgKiBleHQvbGFkc3BhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9saWJjYWNhL01ha2VmaWxlLmFtOgoJICAqIGV4dC9zcGVleC9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIHN5cy9vc3MvTWFrZWZpbGUuYW06CgkgICogc3lzL3N1bmF1ZGlvL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2UvTWFrZWZpbGUuYW06CgkgIGNsZWFuIHVwIGJ1aWxkIGZ1cnRoZXIKCjIwMDYtMDYtMTAgMTU6MzM6MTggKzAwMDAgIFNlYmFzdGlhbiBEcsO2Z2UgPG1haWxAc2xvbW9zbmFpbC5kZT4KCgkgIGV4dC93YXZwYWNrLzogQWRkIHdhdnBhY2sgZW5jb2RlciBlbGVtZW50ICgjMzQzMTMxKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBTZWJhc3RpYW4gRHLDtmdlICA8bWFpbCBhdCBzbG9tb3NuYWlsIGRlPgoJICAqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2suYzogKHBsdWdpbl9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrY29tbW9uLmg6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5jOiAoZ3N0X3dhdnBhY2tfZW5jX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NvcnJlY3Rpb25fbW9kZV9nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19lbmNfam9pbnRfc3RlcmVvX21vZGVfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2Jhc2VfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfY2xhc3NfaW5pdCksCgkgIChnc3Rfd2F2cGFja19lbmNfaW5pdCksIChnc3Rfd2F2cGFja19lbmNfZGlzcG9zZSksCgkgIChnc3Rfd2F2cGFja19lbmNfc2lua19zZXRfY2FwcyksIChnc3Rfd2F2cGFja19lbmNfc2V0X3dwX2NvbmZpZyksCgkgIChnc3Rfd2F2cGFja19lbmNfZm9ybWF0X3NhbXBsZXMpLCAoZ3N0X3dhdnBhY2tfZW5jX3B1c2hfYmxvY2spLAoJICAoZ3N0X3dhdnBhY2tfZW5jX2NoYWluKSwgKGdzdF93YXZwYWNrX2VuY19yZXdyaXRlX2ZpcnN0X2Jsb2NrKSwKCSAgKGdzdF93YXZwYWNrX2VuY19zaW5rX2V2ZW50KSwgKGdzdF93YXZwYWNrX2VuY19jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdnBhY2tfZW5jX3NldF9wcm9wZXJ0eSksIChnc3Rfd2F2cGFja19lbmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF93YXZwYWNrX2VuY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2VuYy5oOgoJICAqIGV4dC93YXZwYWNrL21kNS5jOgoJICAqIGV4dC93YXZwYWNrL21kNS5oOgoJICBBZGQgd2F2cGFjayBlbmNvZGVyIGVsZW1lbnQgKCMzNDMxMzEpLgoKMjAwNi0wNi0wOSAxNzozODoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFggYmVmb3JlIHVzaW5nIFhfQ0ZMQUdTIGluIHRoZSBjaGVjayBmb3Igb3BlbmdsICgjMzQzODY2KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBDaGVjayBmb3IgWCBiZWZvcmUgdXNpbmcgWF9DRkxBR1MgaW4gdGhlIGNoZWNrIGZvciBvcGVuZ2wgKCMzNDM4NjYpLgoJICAqIGV4dC9tdXNlcGFjay9NYWtlZmlsZS5hbToKCSAgKiBleHQvd2F2cGFjay9NYWtlZmlsZS5hbToKCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06CgkgIEFkZCBtaXNzaW5nIEdTVF9MSUJTLCBmaXhlcyBidWlsZCBvbiBjeWd3aW4gKCMzNDM4NjYpLgoKMjAwNi0wNi0wNiAxNjoyNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5jOgoJICBhZGFwdCB0byBuZXcgYXBpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGFwdCB0byBuZXcgYXBpCgoyMDA2LTA2LTA2IDE2OjE0OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L01ha2VmaWxlLmFtOgoJICBidWlsZCBnZHAgcGx1Z2lucwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYnVpbGQgZ2RwIHBsdWdpbnMKCjIwMDYtMDYtMDYgMTU6MTY6MTUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvaWNsZXMvLmdpdGlnbm9yZToKCSAgaWdub3JlIG1vcmUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGlnbm9yZSBtb3JlCgoyMDA2LTA2LTA2IDE0OjM5OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGNvbmZpZ3VyZS5hYzogZW5hYmxlIGJ1aWxkaW5nIG9mIEdEUCBlbGVtZW50cwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGVuYWJsZSBidWlsZGluZyBvZiBHRFAgZWxlbWVudHMKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKToKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfY2xhc3NfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9pbml0KSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksCgkgIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLCAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksCgkgIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLCAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksCgkgIChnc3RfZ2RwX3BheV9zZXRfcHJvcGVydHkpLCAoZ3N0X2dkcF9wYXlfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgYWRkIHZlcnNpb24gMS4wCgoyMDA2LTA2LTAyIDE3OjAxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICB0ZXN0cy9jaGVjay86IERvbid0IGJ1c3ktd2FpdCBpbiB0ZXN0czsgdGhpcyB3YXMgY2F1c2luZyB0ZXN0IHRpbWVvdXRzIHZlcnkgZnJlcXVlbnRseSB3aGVuIHJ1bm5pbmcgdW5kZXIgdmFsZ3JpbmQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvY29udmVydC5jOiAoc2V0X2NoYW5uZWxfcG9zaXRpb25zKSwKCSAgKGdldF9mbG9hdF9tY19jYXBzKSwgKGdldF9pbnRfbWNfY2Fwcyk6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvYXVkaW9yZXNhbXBsZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvcmF0ZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZpZGVvdGVzdHNyYy5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvbHVtZS5jOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3ZvcmJpc2RlYy5jOgoJICAqIHRlc3RzL2NoZWNrL3BpcGVsaW5lcy92b3JiaXNlbmMuYzogKEdTVF9TVEFSVF9URVNUKToKCSAgRG9uJ3QgYnVzeS13YWl0IGluIHRlc3RzOyB0aGlzIHdhcyBjYXVzaW5nIHRlc3QgdGltZW91dHMgdmVyeQoJICBmcmVxdWVudGx5IHdoZW4gcnVubmluZyB1bmRlciB2YWxncmluZC4KCjIwMDYtMDYtMDIgMTY6NDU6NTkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L2dkcC9nc3RnZHBkZXBheS5jOgoJKiBnc3QvZ2RwL2dzdGdkcHBheS5oOgoJICBzbWFsbCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc21hbGwgZml4ZXMKCjIwMDYtMDYtMDIgMTM6NDM6MjQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC90aGVvcmEvdGhlb3JhZGVjLmM6IFRoZW9yYSA0OjQ6NCBwaXhlbCBmb3JtYXQgc3VwcG9ydC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzogKHRoZW9yYV9kZWNfc3JjX2NvbnZlcnQpLAoJICAodGhlb3JhX2hhbmRsZV90eXBlX3BhY2tldCksICh0aGVvcmFfaGFuZGxlXzQyMl9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlXzQ0NF9pbWFnZSksICh0aGVvcmFfaGFuZGxlXzQyMF9pbWFnZSksCgkgICh0aGVvcmFfaGFuZGxlX2RhdGFfcGFja2V0KToKCSAgVGhlb3JhIDQ6NDo0IHBpeGVsIGZvcm1hdCBzdXBwb3J0LgoKMjAwNi0wNi0wMiAxMDoyODozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvZ2RwL2dzdGdkcHBheS5jOiBhZGQgY3JjLWhlYWRlciBhbmQgY3JjLXBheWxvYWQgcHJvcGVydGllcyBkb24ndCBlcnJvciBvdXQgb24gc29tZSB0aGluZ3MgdGhhdCBhcmUgcmVjb3ZlcmFibGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLAoJICAoZ3N0X2dkcF9wYXlfaW5pdCksIChnc3RfZ2RwX2J1ZmZlcl9mcm9tX2NhcHMpLAoJICAoZ3N0X2dkcF9wYXlfYnVmZmVyX2Zyb21fYnVmZmVyKSwgKGdzdF9nZHBfYnVmZmVyX2Zyb21fZXZlbnQpLAoJICAoZ3N0X2dkcF9wYXlfcmVzZXRfc3RyZWFtaGVhZGVyKSwgKGdzdF9nZHBfcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfcGF5X3NpbmtfZXZlbnQpLCAoZ3N0X2dkcF9wYXlfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9nZHBfcGF5X2dldF9wcm9wZXJ0eSk6CgkgIGFkZCBjcmMtaGVhZGVyIGFuZCBjcmMtcGF5bG9hZCBwcm9wZXJ0aWVzCgkgIGRvbid0IGVycm9yIG91dCBvbiBzb21lIHRoaW5ncyB0aGF0IGFyZSByZWNvdmVyYWJsZQoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpLCAoZ2RwcGF5X3N1aXRlKToKCSAgYWRkIHRlc3QgZm9yIGNyYwoKMjAwNi0wNi0wMSAyMjowMDoyNiArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JlbmMuaDoKCSAgKiBleHQvYW1yd2IvZ3N0YW1yd2JwYXJzZS5oOgoJICAqIGV4dC9hcnRzL2dzdF9hcnRzLmg6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5oOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmg6CgkgICogZXh0L2RpcmFjL2dzdGRpcmFjZGVjLmg6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuaDoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmg6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmg6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2VuYy5oOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuaDoKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5oOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuaDoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5oOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0Lmg6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90Lmg6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmg6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuaDoKCSAgKiBleHQveGluZS9nc3R4aW5lLmg6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5oOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmg6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5oOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9mcmVlemUvZ3N0ZnJlZXplLmg6CgkgICogZ3N0L2dkcC9nc3RnZHBkZXBheS5oOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5oOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuaDoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5oOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmg6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmg6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuaDoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5oOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5oOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmg6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuaDoKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuaDoKCSAgKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4Lmg6CgkgICogc3lzL2RpcmVjdGRyYXcvZ3N0ZGlyZWN0ZHJhd3NpbmsuaDoKCSAgKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmg6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5oOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuaDoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgoyMDA2LTA2LTAxIDE5OjE5OjUwICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggbW9yZSBnb2JqZWN0IG1hY3Jvczogb2JqPC0+a2xhc3MsIEdzdFhYWDwtPkdzdFhYWENsYXNzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FtaXhlcmVsZW1lbnQuaDoKCSAgKiBleHQvYWxzYS9nc3RhbHNhbWl4ZXJvcHRpb25zLmg6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVydHJhY2suaDoKCSAgKiBleHQvZ25vbWV2ZnMvZ3N0Z25vbWV2ZnNzaW5rLmg6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc3JjLmg6CgkgICogZXh0L3RoZW9yYS9nc3R0aGVvcmFkZWMuaDoKCSAgKiBleHQvdGhlb3JhL2dzdHRoZW9yYWVuYy5oOgoJICAqIGV4dC90aGVvcmEvZ3N0dGhlb3JhcGFyc2UuaDoKCSAgKiBleHQvdm9yYmlzL3ZvcmJpc3BhcnNlLmg6CgkgICogZ3N0LWxpYnMvZ3N0L2F1ZGlvL2dzdGF1ZGlvY2xvY2suaDoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuaDoKCSAgKiBnc3QtbGlicy9nc3QvcnRwL2dzdGJhc2VydHBhdWRpb3BheWxvYWQuaDoKCSAgKiBnc3QvYXVkaW9jb252ZXJ0L2dzdGF1ZGlvY29udmVydC5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW90ZXN0c3JjL2dzdGF1ZGlvdGVzdHNyYy5oOgoJICAqIGdzdC9mZm1wZWdjb2xvcnNwYWNlL2dzdGZmbXBlZ2NvbG9yc3BhY2UuaDoKCSAgKiBnc3QvcGxheWJhY2svZ3N0c3RyZWFtc2VsZWN0b3IuaDoKCSAgKiBnc3QvdGNwL2dzdG11bHRpZmRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzaW5rLmg6CgkgICogZ3N0L3RjcC9nc3R0Y3BjbGllbnRzcmMuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNpbmsuaDoKCSAgKiBnc3QvdGNwL2dzdHRjcHNlcnZlcnNyYy5oOgoJICAqIGdzdC92aWRlb3JhdGUvZ3N0dmlkZW9yYXRlLmg6CgkgICogZ3N0L3ZpZGVvc2NhbGUvZ3N0dmlkZW9zY2FsZS5oOgoJICAqIGdzdC92aWRlb3Rlc3RzcmMvZ3N0dmlkZW90ZXN0c3JjLmg6CgkgICogZ3N0L3ZvbHVtZS9nc3R2b2x1bWUuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bGpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc2luay5oOgoJICAqIHN5cy92NGwvZ3N0djRsbWpwZWdzcmMuaDoKCSAgKiBzeXMvdjRsL2dzdHY0bHNyYy5oOgoJICAqIHN5cy94aW1hZ2UveGltYWdlc2luay5oOgoJICAqIHN5cy94dmltYWdlL3h2aW1hZ2VzaW5rLmg6CgkgICogdGVzdHMvb2xkL3Rlc3RzdWl0ZS9hbHNhL3NpbmVzcmMuaDoKCSAgRml4IG1vcmUgZ29iamVjdCBtYWNyb3M6IG9iajwtPmtsYXNzLCBHc3RYWFg8LT5Hc3RYWFhDbGFzcwoKMjAwNi0wNS0zMSAxOToyNjoyNCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuaDogRm9yZ290IHRvIGNvbW1pdCB0aGUgaGVhZGVyIGZpbGUgdG9vLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIEZvcmdvdCB0byBjb21taXQgdGhlIGhlYWRlciBmaWxlIHRvby4KCjIwMDYtMDUtMzEgMTM6Mzc6MjcgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEFkZGVkIEdzdFNlZ21lbnQgdG8gY29udHJvbCBzZWdtZW50cy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2xhc3NfaW5pdCksIChnc3RfZmFhZF9pbml0KSwKCSAgKGdzdF9mYWFkX2Rpc3Bvc2UpLCAoZ3N0X2ZhYWRfc2lua19ldmVudCksIChjbGlwX291dGdvaW5nX2J1ZmZlciksCgkgIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGRlZCBHc3RTZWdtZW50IHRvIGNvbnRyb2wgc2VnbWVudHMuCgkgIEFkZGVkIGNsaXBwaW5nL2Ryb3BwaW5nIG9mIG91dGdvaW5nIGJ1ZmZlcnMgaW4gb3JkZXIgdG8gaGF2ZSBhY2N1cmF0ZQoJICBzZWVraW5nIHdvcmtpbmcgcHJvcGVybHkuCgoyMDA2LTA1LTI4IDE3OjA4OjE3ICswMDAwICBMdXR6IE3DvGxsZXIgPGx1dHpAdG9wZnJvc2UuZGU+CgoJICBleHQvYnoyLzogVXNlIGdzdF90eXBlX2ZpbmRfaGVscGVyXyogZnVuY3Rpb25zIGZvciB0eXBlZmluZGluZzsgdXNlIGNvcnJlY3QgY2FwcyB3aXRoIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCk7IGFkZCBzdGEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBMdXR6IE3DvGxsZXIgIDxsdXR6IGF0IHRvcGZyb3NlIGRlPgoJICAqIGV4dC9iejIvTWFrZWZpbGUuYW06CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzogKGdzdF9iejJkZWNfY2hhaW4pLCAoZ3N0X2J6MmRlY19pbml0KSwKCSAgKGdzdF9iejJkZWNfY2hhbmdlX3N0YXRlKSwgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6CgkgIFVzZSBnc3RfdHlwZV9maW5kX2hlbHBlcl8qIGZ1bmN0aW9ucyBmb3IgdHlwZWZpbmRpbmc7IHVzZQoJICBjb3JyZWN0IGNhcHMgd2l0aCBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpOyBhZGQgc3RhdGUgY2hhbmdlCgkgIGZ1bmN0aW9uIGFuZCByZXNldCBkZWNvZGVyIGluIGl0OyBkb24ndCB1bnJlZiBidWZmZXIgaWYKCSAgcGFkX3B1c2ggZmFpbHM7IHVzZSBmaXhlZCBjYXBzIG9uIHNvdXJjZSBwYWQuICgjMzQxNTI0KS4KCjIwMDYtMDUtMjYgMjI6MzU6MDAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC9zcGVjdHJ1bS86IGFkZGVkIGFub3RoZXIgZXhhbXBsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06CgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tYXVkaW90ZXN0LmM6IChvbl9mcmVxdWVuY3lfY2hhbmdlZCksCgkgIChzcGVjdHJ1bV9jaGFpbiksIChtYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZGVtby1vc3NzcmMuYzoKCSAgYWRkZWQgYW5vdGhlciBleGFtcGxlCgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBmaXggdHlwbwoKMjAwNi0wNS0yNiAxMzoxNjo1NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2xpcCB0aGUgb3V0cHV0ZWQgTkVXU0VHTUVOVCBzdG9wIHRpbWUgdG8gdGhlIGNvbmZpZ3VyZWQgc2VnbWVudCBzdG9wIHRpbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2FjdGl2YXRlX3NlZ21lbnQpOgoJICBDbGlwIHRoZSBvdXRwdXRlZCBORVdTRUdNRU5UIHN0b3AgdGltZSB0byB0aGUgY29uZmlndXJlZCBzZWdtZW50IHN0b3AKCSAgdGltZS4KCjIwMDYtMDUtMjYgMTE6NDg6NDQgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IGNsZWFyIHRoZSBydW5uaW5nIHZhcmlhYmxlIGluIHRoZSBzZWVrIGNvZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2RvX3NlZWspOgoJICBEb24ndCBjbGVhciB0aGUgcnVubmluZyB2YXJpYWJsZSBpbiB0aGUgc2VlayBjb2RlLgoKMjAwNi0wNS0yNCAxMTo1Njo0MyArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2hhbmRsZV9lc2RzKToKCSAgRGV0ZWN0IFFDRUxQIGluIG1wNGEgZGVzY3JpcHRvcnMuCgoyMDA2LTA1LTIyIDE4OjAwOjUyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBwby9QT1RGSUxFUy5pbjoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwgKHBsdWdpbl9pbml0KToKCSAgcG8vUE9URklMRVMuaW46CgkgIFRocm93IGFuIGVycm9yIHdoZW4gdGhlIGZpbGUgaXMgZW5jcnlwdGVkLiBNb3ZlIHBsdWdpbl9pbml0IHN0dWZmCgkgIHRvIHRoZSBlbmQgb2YgdGhlIGZpbGUsIGFkZCBzdHVmZiBmb3IgaTE4biwgbWFrZSBkZWJ1ZyBjYXRlZ29yeQoJICBzdGF0aWMuCgoyMDA2LTA1LTIyIDE2OjI0OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBzaWdoLCByZWFsbHkgZG9uJ3QgYnVpbGQgdGhlc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNpZ2gsIHJlYWxseSBkb24ndCBidWlsZCB0aGVzZQoKMjAwNi0wNS0yMiAxNjowODozNCArMDAwMCAgTWljaGFsIEJlbmVzIDxtaWNoYWwuYmVuZXNAeGVyaXMuY3o+CgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWljaGFsIEJlbmVzICA8bWljaGFsIGRvdCBiZW5lcyBhdCB4ZXJpcyBkb3QgY3o+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9oMjY0cGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2gyNjRwYXJzZS9nc3RoMjY0cGFyc2UuYzogKGdzdF9oMjY0X3BhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfaDI2NF9wYXJzZV9maW5hbGl6ZSksIChnc3RfaDI2NF9wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF9oMjY0X3BhcnNlX2luaXQpLCAoZ3N0X2gyNjRfcGFyc2VfY2hhaW4pLAoJICAoZ3N0X2gyNjRfcGFyc2VfaGFuZGxlX2V2ZW50KSwgKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvaDI2NHBhcnNlL2dzdGgyNjRwYXJzZS5oOgoJICBOZXcgcGx1Z2luOiBoMjY0cGFyc2UgKCMzNDA2MzgpCgoyMDA2LTA1LTIyIDE1OjUzOjA3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9nZHAvOiBIYW5kbGUgZXJyb3IgY2FzZXMgd2hlbiBjYWxsaW5nIGZ1bmN0aW9ucyBkbyBkb3dud2FyZHMgc3RhdGUgY2hhbmdlIGFmdGVyIHBhcmVudCdzIGNoYW5nZV9zdGF0ZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5LmM6IChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvZ2RwL2dzdGdkcGRlcGF5Lmg6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuYzogKGdzdF9nZHBfcGF5X3Jlc2V0X3N0cmVhbWhlYWRlciksCgkgIChnc3RfZ2RwX3BheV9jaGFpbiksIChnc3RfZ2RwX3BheV9zaW5rX2V2ZW50KSwKCSAgKGdzdF9nZHBfcGF5X2NoYW5nZV9zdGF0ZSk6CgkgICogZ3N0L2dkcC9nc3RnZHBwYXkuaDoKCSAgSGFuZGxlIGVycm9yIGNhc2VzIHdoZW4gY2FsbGluZyBmdW5jdGlvbnMKCSAgZG8gZG93bndhcmRzIHN0YXRlIGNoYW5nZSBhZnRlciBwYXJlbnQncyBjaGFuZ2Vfc3RhdGUKCSAgKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9nZHBkZXBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2dkcHBheS5jOiAoR1NUX1NUQVJUX1RFU1QpOgoJICBjbGVhbiB1cCBtb3JlCgoyMDA2LTA1LTIyIDE0OjM3OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGJ1aWxkIHRoZXNlIHlldAoKMjAwNi0wNS0yMiAxMzo0MDoyOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9jaGVjay9NYWtlZmlsZS5hbToKCSAgZG9uJ3QgYnVpbGQgdGhlc2UgeWV0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb24ndCBidWlsZCB0aGVzZSB5ZXQKCjIwMDYtMDUtMjIgMTM6MjU6NTIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSAgYWRkaW5nIEdEUCBwYXlsb2FkZXIgYW5kIGRlcGF5bG9hZGVyLiAgQnVpbGQgaW50ZWdyYXRpb24gd2lsbCBmb2xsb3cgbGF0ZXIgd2hlbiB0aGUgR0RQIGlzc3VlcyBmb3IgY29yZSBhcmUgc29ydGVkIG91dC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dkcC9NYWtlZmlsZS5hbToKCSAgKiBnc3QvZ2RwL2dzdGdkcC5jOiAocGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuYzogKGdzdF9nZHBfZGVwYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfZGVwYXlfY2xhc3NfaW5pdCksIChnc3RfZ2RwX2RlcGF5X2luaXQpLAoJICAoZ3N0X2dkcF9kZXBheV9maW5hbGl6ZSksIChnc3RfZ2RwX2RlcGF5X2NoYWluKSwKCSAgKGdzdF9nZHBfZGVwYXlfY2hhbmdlX3N0YXRlKSwgKGdzdF9nZHBfZGVwYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwZGVwYXkuaDoKCSAgKiBnc3QvZ2RwL2dzdGdkcHBheS5jOiAoZ3N0X2dkcF9wYXlfYmFzZV9pbml0KSwKCSAgKGdzdF9nZHBfcGF5X2NsYXNzX2luaXQpLCAoZ3N0X2dkcF9wYXlfaW5pdCksCgkgIChnc3RfZ2RwX3BheV9kaXNwb3NlKSwgKGdzdF9nZHBfc3RhbXBfYnVmZmVyKSwKCSAgKGdzdF9nZHBfYnVmZmVyX2Zyb21fY2FwcyksIChnc3RfZ2RwX3BheV9idWZmZXJfZnJvbV9idWZmZXIpLAoJICAoZ3N0X2dkcF9idWZmZXJfZnJvbV9ldmVudCksIChnc3RfZ2RwX3BheV9yZXNldF9zdHJlYW1oZWFkZXIpLAoJICAoZ3N0X2dkcF9xdWV1ZV9idWZmZXIpLCAoZ3N0X2dkcF9wYXlfY2hhaW4pLAoJICAoZ3N0X2dkcF9wYXlfc2lua19ldmVudCksIChnc3RfZ2RwX3BheV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X2dkcF9wYXlfcGx1Z2luX2luaXQpOgoJICAqIGdzdC9nZHAvZ3N0Z2RwcGF5Lmg6CgkgICogdGVzdHMvY2hlY2svTWFrZWZpbGUuYW06CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwZGVwYXkuYzogKHNldHVwX2dkcGRlcGF5KSwKCSAgKGNsZWFudXBfZ2RwZGVwYXkpLCAoZ2RwZGVwYXlfcHVzaF9wZXJfYnl0ZSksIChHU1RfU1RBUlRfVEVTVCksCgkgIChzZXR1cF9nZHBkZXBheV9zdHJlYW1oZWFkZXIpLCAoZ2RwZGVwYXlfc3VpdGUpLCAobWFpbik6CgkgICogdGVzdHMvY2hlY2svZWxlbWVudHMvZ2RwcGF5LmM6IChzZXR1cF9nZHBwYXkpLCAoY2xlYW51cF9nZHBwYXkpLAoJICAoR1NUX1NUQVJUX1RFU1QpLCAoc2V0dXBfZ2RwcGF5X3N0cmVhbWhlYWRlciksIChnZHBwYXlfc3VpdGUpLAoJICAobWFpbik6CgkgIGFkZGluZyBHRFAgcGF5bG9hZGVyIGFuZCBkZXBheWxvYWRlci4gIEJ1aWxkIGludGVncmF0aW9uIHdpbGwKCSAgZm9sbG93IGxhdGVyIHdoZW4gdGhlIEdEUCBpc3N1ZXMgZm9yIGNvcmUgYXJlIHNvcnRlZCBvdXQuCgoyMDA2LTA1LTIxIDE2OjQxOjQ0ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOiAoZ3N0X3NwZWN0cnVtX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NwZWN0cnVtX2luaXQpLCAoZ3N0X3NwZWN0cnVtX3NldF9zaW5rX2NhcHMpLAoJICAoZ3N0X3NwZWN0cnVtX2dldF9zaW5rX2NhcHMpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgVXNlIGJvaWxlcnBsYXRlIG1hY3JvLCBmaXggc3RyaW5ncyB0byBtYXRjaCBwbHVnaW4tbW92YWwtcmVxdWlyZW1lbnRzCgoyMDA2LTA1LTIxIDE2OjIzOjIzICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBnc3Qvc3BlY3RydW0vTWFrZWZpbGUuYW06IExpbmsgdG8gYmFzZSBsaWJyYXJpZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3NwZWN0cnVtL01ha2VmaWxlLmFtOgoJICBMaW5rIHRvIGJhc2UgbGlicmFyaWVzCgkgICogZ3N0L3NwZWN0cnVtL2RlbW8tb3Nzc3JjLmM6IChtYWluKToKCSAgdXNlIG5ldyB0aHJlc2hob2xkIHByb3BlcnR5CgkgICogZ3N0L3NwZWN0cnVtL2dzdHNwZWN0cnVtLmM6IChnc3Rfc3BlY3RydW1fY2xhc3NfaW5pdCksCgkgIChnc3Rfc3BlY3RydW1faW5pdCksIChnc3Rfc3BlY3RydW1fZGlzcG9zZSksCgkgIChnc3Rfc3BlY3RydW1fc2V0X3Byb3BlcnR5KSwgKGdzdF9zcGVjdHJ1bV9zZXRfc2lua19jYXBzKSwKCSAgKGdzdF9zcGVjdHJ1bV9nZXRfc2lua19jYXBzKSwgKGdzdF9zcGVjdHJ1bV9jaGFpbiksCgkgIChnc3Rfc3BlY3RydW1fY2hhbmdlX3N0YXRlKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgVXNlIGdzdF9hZGFwdGVyLCBzdXBwb3J0IG11bHRpcGxlLWNoYW5uZWxzLCBhZGQgdGhyZXNob2xkIHByb3BlcnR5IGZvcgoJICByZXN1bHQsIGFkZCBkb2NzLCBmaXggcmVzdWx0aW5nIHNwZWN0cnVtIHJhbmdlICh3YXMgaW5jbHVkaW5nIG1pcnJvcmVkCgkgIHJlc3VsdHMpCgoyMDA2LTA1LTIwIDIyOjQyOjE1ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBJbml0aWFsIHBvcnQgb2YgdGhlIHNwZWN0cnVtIGVsZW1lbnQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9zcGVjdHJ1bS9kZW1vLW9zc3NyYy5jOiAoc3BlY3RydW1fY2hhaW4pLCAobWFpbik6CgkgICogZ3N0L3NwZWN0cnVtL2ZpeF9mZnQuYzogKGdzdF9zcGVjdHJ1bV9maXhfZG90KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9nZXRfdHlwZSksCgkgIChnc3Rfc3BlY3RydW1fYmFzZV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KSwKCSAgKGdzdF9zcGVjdHJ1bV9pbml0KSwgKGdzdF9zcGVjdHJ1bV9kaXNwb3NlKSwKCSAgKGdzdF9zcGVjdHJ1bV9zZXRfcHJvcGVydHkpLCAoZ3N0X3NwZWN0cnVtX2NoYWluKToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uaDoKCSAgSW5pdGlhbCBwb3J0IG9mIHRoZSBzcGVjdHJ1bSBlbGVtZW50CgoyMDA2LTA1LTE5IDE4OjU4OjA1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJICBJIGZvcmdldCB0byBhZGQgc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmMgaW4gbGFzIGNvbW1pdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSSBmb3JnZXQgdG8gYWRkIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jIGluIGxhcyBjb21taXQKCjIwMDYtMDUtMTkgMTg6MzE6MjUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJvYmplY3QuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGNsZWFuLXVwcyByZXF1ZXN0ZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTguCgoyMDA2LTA1LTE5IDE0OjE3OjA0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuKjogVXNlIHNhbXBsaW5nIHJhdGUgZnJvbSBzZXRfY2Fwcy4gQ29tbWVudCBvdXQgc29tZSBtb3JlIHVudXNlZCBjb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYWxzYXNwZGlmL2Fsc2FzcGRpZnNpbmsuYzogKGFsc2FzcGRpZnNpbmtfYmFzZV9pbml0KSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xhc3NfaW5pdCksIChhbHNhc3BkaWZzaW5rX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19kaXNwb3NlKSwgKGFsc2FzcGRpZnNpbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3Byb3BlcnR5KSwgKGFsc2FzcGRpZnNpbmtfc2V0X2NhcHMpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZSksIChhbHNhc3BkaWZzaW5rX29wZW4pLAoJICAoYWxzYXNwZGlmc2lua19jbG9zZSksIChhbHNhc3BkaWZzaW5rX2ZpbmRfcGNtX2RldmljZSksCgkgIChhbHNhc3BkaWZzaW5rX3dyaXRlX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfZXZlbnQpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfdGltZXMpLCAoYWxzYXNwZGlmc2lua19jdXJyZW50X2RlbGF5KSwKCSAgKGdlbmVyYXRlX2llYzk1OF96ZXJvX2ZyYW1lKSwgKGFsc2FzcGRpZnNpbmtfcmVuZGVyKSwKCSAgKGlnbm9yZV9hbHNhX2VyciksIChhbHNhc3BkaWZzaW5rX2NoYW5nZV9zdGF0ZSksIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2Fsc2FzcGRpZi9hbHNhc3BkaWZzaW5rLmg6CgkgIFVzZSBzYW1wbGluZyByYXRlIGZyb20gc2V0X2NhcHMuIENvbW1lbnQgb3V0IHNvbWUgbW9yZSB1bnVzZWQgY29kZS4KCjIwMDYtMDUtMTggMTk6MzQ6NDcgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQ2hlY2sgZm9yIFgxMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIENoZWNrIGZvciBYMTEKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0LmM6IChnc3RfdjRsMl9jbGFzc19wcm9iZV9kZXZpY2VzKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaWZhY2Vfc3VwcG9ydGVkKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6IChnc3RfdjRsMl94b3ZlcmxheV9vcGVuKToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSAgQ29kZSBjbGVhbnVwcywgZml4IGRlYnVnIG1hY3JvcwoKMjAwNi0wNS0xOCAxMzoxMjoxOSArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L01ha2VmaWxlLmFtOiBGaXggZGlzdGNoZWNrPwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIEZpeCBkaXN0Y2hlY2s/CgoyMDA2LTA1LTE4IDEyOjUxOjAxICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYWxzYXNwZGlmL01ha2VmaWxlLmFtOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5jOiAoYWxzYXNwZGlmc2lua19iYXNlX2luaXQpLAoJICAoYWxzYXNwZGlmc2lua19jbGFzc19pbml0KSwgKGFsc2FzcGRpZnNpbmtfaW5pdCksCgkgIChhbHNhc3BkaWZzaW5rX2Rpc3Bvc2UpLCAoYWxzYXNwZGlmc2lua19zZXRfcHJvcGVydHkpLAoJICAoYWxzYXNwZGlmc2lua19nZXRfcHJvcGVydHkpLCAoYWxzYXNwZGlmc2lua19wcm92aWRlX2Nsb2NrKSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWUpLCAoYWxzYXNwZGlmc2lua19vcGVuKSwKCSAgKGFsc2FzcGRpZnNpbmtfY2xvc2UpLCAoYWxzYXNwZGlmc2lua19maW5kX3BjbV9kZXZpY2UpLAoJICAoYWxzYXNwZGlmc2lua193cml0ZV9mcmFtZSksIChhbHNhc3BkaWZzaW5rX2V2ZW50KSwKCSAgKGFsc2FzcGRpZnNpbmtfZ2V0X3RpbWVzKSwgKGFsc2FzcGRpZnNpbmtfY3VycmVudF9kZWxheSksCgkgIChnZW5lcmF0ZV9pZWM5NThfemVyb19mcmFtZSksIChhbHNhc3BkaWZzaW5rX3JlbmRlciksCgkgIChpZ25vcmVfYWxzYV9lcnIpLCAoYWxzYXNwZGlmc2lua19jaGFuZ2Vfc3RhdGUpLCAocGx1Z2luX2luaXQpOgoJICAqIGV4dC9hbHNhc3BkaWYvYWxzYXNwZGlmc2luay5oOgoJICBBZGQgYW4gYWxzYSBwbHVnaW4gdG8gb3V0cHV0IElFQzk1OCBmcmFtZXMgb3ZlciBTL1BESUYKCjIwMDYtMDUtMTcgMDk6Mzk6NTMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFJlbW92ZSB1bnVzZWQgY2FwcyBjcnVmdCBmcm9tIGNoYWluIGZ1bmN0aW9uIGFsdG9nZXRoZXIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3VwZGF0ZV9jYXBzKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgUmVtb3ZlIHVudXNlZCBjYXBzIGNydWZ0IGZyb20gY2hhaW4gZnVuY3Rpb24gYWx0b2dldGhlci4KCjIwMDYtMDUtMTcgMDk6MTU6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IFRoZXJlJ3Mgbm8gZ3VhcmFudGVlIHRoYXQgY2FwcyB3YXMgc2V0IHRvIHNvbWV0aGluZywgYW5kIGlmIGl0IGRpZCwgdGhlIGZ1bmN0aW9uIGNhbGxlZCB0byBmaWxsIHQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICBUaGVyZSdzIG5vIGd1YXJhbnRlZSB0aGF0IGNhcHMgd2FzIHNldCB0byBzb21ldGhpbmcsIGFuZCBpZiBpdCBkaWQsIHRoZQoJICBmdW5jdGlvbiBjYWxsZWQgdG8gZmlsbCB0aGF0IHZhcmlhYmxlIGFjdHVhbGx5IHNldHMgdGhlIGNhcHMgb24gdGhlCgkgIHNvdXJjcGFkLCBzbyB3ZSBjYWxsIGdzdF9wYWRfYWxsb2NfYnVmZmVyX2FuZF9zZXRfY2FwcygpIHVzaW5nCgkgIEdTVF9QQURfQ0FQUyhmYWFkLT5zcmNwYWQpLgoKMjAwNi0wNS0xNSAxMDoxMDowOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IGNoYW5nZXMgd2l0aCBhZGRpdGlvbnMgYW5kIHJlbW92YWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgY2hhbmdlcyB3aXRoIGFkZGl0aW9ucyBhbmQgcmVtb3ZhbHMKCjIwMDYtMDUtMTMgMTg6Mzk6MTMgKzAwMDAgIFlvdW5nLUhvIENoYSA8Z2FuYWRpc3RAY2hvbGxpYW4ubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC4qOiBJZiB3ZSBlbmNvdW50ZXIgYSBkZWNvZGluZyBlcnJvciwgZG9uJ3QgZXJyb3Igb3V0IGltbWVkaWF0ZWx5LCBidXQgdHJ5IHRvIHJlc3luYyAob3Igc2VlIGlmIHdlIGhhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogWW91bmctSG8gQ2hhICA8Z2FuYWRpc3QgY2hvbGxpYW4gbmV0PgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX2luaXQpLCAoZ3N0X2ZhYWRfY2hhaW4pLAoJICAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIElmIHdlIGVuY291bnRlciBhIGRlY29kaW5nIGVycm9yLCBkb24ndCBlcnJvciBvdXQgaW1tZWRpYXRlbHksCgkgIGJ1dCB0cnkgdG8gcmVzeW5jIChvciBzZWUgaWYgd2UgaGF2ZSBiZXR0ZXIgbHVjayB3aXRoIHRoZSBuZXh0CgkgIGJ1ZmZlciBpbiBjYXNlIG9mIGZyYW1lZCBpbnB1dCkuIE9ubHkgZXJyb3Igb3V0IGFmdGVyIGZpdmUKCSAgY29uc2VjdXRpdmUgZXJyb3JzLiBGaXhlcyAjMzQxNTYzLgoKMjAwNi0wNS0xMiAxMDo0Mzo0OSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC94dmlkL2dzdHh2aWRlbmMuYzogQ29tcGlsZSBmaXhlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksCgkgIChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwKCSAgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwgKGdzdF94dmlkZW5jX2NoYWluKSwKCSAgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSk6CgkgIENvbXBpbGUgZml4ZXMuCgoyMDA2LTA1LTEyIDA5OjI4OjE1ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvOiB4dmlkIHBsdWdpbiB0byBzdXBwb3J0IG1vcmUgY2FwYWJpbGl0aWVzIG9mIFh2aUQgY29kZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogTWFyayBOYXV3ZWxhZXJ0cyA8bWFuYXV3IGF0IHNreW5ldCBkb3QgYmU+CgkgICogZXh0L3h2aWQvZ3N0eHZpZC5jOiAoZ3N0X3h2aWRfaW5pdCksIChnc3RfeHZpZF9zdHJ1Y3R1cmVfdG9fY3NwKSwKCSAgKGdzdF94dmlkX2NzcF90b19jYXBzKSwgKGdzdF94dmlkX2ltYWdlX2dldF9zaXplKSwKCSAgKGdzdF94dmlkX2ltYWdlX2ZpbGwpOgoJICAqIGV4dC94dmlkL2dzdHh2aWQuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6IChnc3RfeHZpZGRlY19jbGFzc19pbml0KSwKCSAgKGdzdF94dmlkZGVjX2luaXQpLCAoZ3N0X3h2aWRkZWNfcmVzZXQpLCAoZ3N0X3h2aWRkZWNfdW5zZXQpLAoJICAoZ3N0X3h2aWRkZWNfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3h2aWRkZWNfc2V0dXApLAoJICAoZ3N0X3h2aWRkZWNfYWRkX3BhciksIChnc3RfeHZpZGRlY19uZWdvdGlhdGUpLAoJICAoZ3N0X3h2aWRkZWNfZGVjb2RlKSwgKGdzdF94dmlkZGVjX2NoYWluKSwKCSAgKGdzdF94dmlkZGVjX2ZsdXNoX2J1ZmZlcnMpLCAoZ3N0X3h2aWRkZWNfc3JjX2dldGNhcHMpLAoJICAoZ3N0X3h2aWRkZWNfc3JjX2xpbmspLCAoZ3N0X3h2aWRkZWNfc2V0Y2FwcyksCgkgIChnc3RfeHZpZGRlY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19wcm9maWxlX2dldF90eXBlKSwKCSAgKGdzdF94dmlkZW5jX3F1YW50X3R5cGVfZ2V0X3R5cGUpLCAoZ3N0X3h2aWRlbmNfcGFzc19nZXRfdHlwZSksCgkgIChnc3RfeHZpZGVuY19nZXRfdHlwZSksIChnc3RfeHZpZGVuY19iYXNlX2luaXQpLAoJICAoZ3N0X3h2aWRlbmNfY2xhc3NfaW5pdCksIChnc3RfeHZpZGVuY19pbml0KSwKCSAgKGdzdF94dmlkZW5jX2ZpbmFsaXplKSwgKGdzdF94dmlkZW5jX2hhbmRsZV9zaW5rX2V2ZW50KSwKCSAgKGdzdF94dmlkZW5jX3NldHVwKSwgKGdzdF94dmlkZW5jX3NldGNhcHMpLCAoZ3N0X3h2aWRlbmNfZW5jb2RlKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKSwgKGdzdF94dmlkZW5jX2ZsdXNoX2J1ZmZlcnMpLAoJICAoZ3N0X3h2aWRlbmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94dmlkZW5jX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfeHZpZGVuY19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuaDoKCSAgeHZpZCBwbHVnaW4gdG8gc3VwcG9ydCBtb3JlIGNhcGFiaWxpdGllcyBvZiBYdmlEIGNvZGVjLgoJICBGaXhlcyAjMzM5NDYyLgoJICBTb21lIG1vcmUgY2xlYW51cHMgaGVyZSBhbmQgdGhlcmUuCgoyMDA2LTA1LTExIDIwOjQ3OjUwICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcHV0IGJhY2sgLW5vLXVuZGVmaW5lZAoKMjAwNi0wNS0xMSAxNzo1OTo1OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMm9iamVjdC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyb2JqZWN0Lmg6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuaDoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmg6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBDaGFuZ2VzIHByb3Bvc2VkIGJ5IFdpbmdvIGluIGJ1ZyAjMzM4ODE4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlcyBwcm9wb3NlZCBieSBXaW5nbyBpbiBidWcgIzMzODgxOC4KCjIwMDYtMDUtMTEgMDk6MDk6NDkgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEZpZ3VyZSBvdXQgdGhlIHJlYWwgYXVkaW8gdHlwZSBpbiBtcDRhIGJveGVzIGJ5IHBhcnNpbmcgdGhlIG9wdGlvbmFsIGRlc2NyaXB0b3JzIGluIHRoZSBvcHRpb24uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpOgoJICBGaWd1cmUgb3V0IHRoZSByZWFsIGF1ZGlvIHR5cGUgaW4gbXA0YSBib3hlcyBieSBwYXJzaW5nIHRoZQoJICBvcHRpb25hbCBkZXNjcmlwdG9ycyBpbiB0aGUgb3B0aW9uYWwgZXNkcyBib3guIFByb21vdGUgdGhlCgkgIGRlZmF1bHQgQUFDIHRvIG1wMyB3aGVuIGluZGljYXRlZC4gRml4ZXMgIzMzMDYzMi4KCjIwMDYtMDUtMTAgMTc6NDQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfZHVtcF91bmtub3duKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgIFBhcnNlIHZlcnNpb24gMiBzYW1wbGUgZGVzY3JpcHRpb25zLgoJICBEb24ndCAjZGVmaW5lIGdzdF91dGlsX2R1bXBfbWVtKCksIHVzZSBzb21ldGhpbmcgbW9yZQoJICBzcGVjaWZpYyBpbnN0ZWFkIHRvIGF2b2lkIGNvbmZ1c2lvbi4KCjIwMDYtMDUtMDggMTk6MjE6MTggKzAwMDAgIE1hcnRpbiBSdWJsaSA8bWFydGluX3J1YmxpQGxvZ2l0ZWNoLmNvbT4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkgIEZpeCBmb3VyY2MgbmFtZSBwcmludGVkIG91dC4gUGF0Y2ggZnJvbSBNYXJ0aW4gUnVibGkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZm91cmNjIG5hbWUgcHJpbnRlZCBvdXQuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpLgoKMjAwNi0wNS0wOCAxNToyMDoxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKHF0ZGVtdXhfZHVtcF9tdmhkKToKCSAgRG9uJ3QgY2F1c2Ugc2lkZSBlZmZlY3RzIGluIGEgZGVidWdnaW5nIGZ1bmN0aW9uLgoJICBBbHNvIHJlcG9ydCBkdXJhdGlvbiBpbiBwdXNoIG1vZGUgc2luY2Ugd2UgY2FuLgoKMjAwNi0wNS0wOCAxMTo1NTowMiArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGF1dG9nZW4uc2g6IGxpYnRvb2xpemUgb24gRGFyd2luL01hY09TWCBpcyBjYWxsZWQgZ2xpYnRvb2xpemUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDogKENPTkZJR1VSRV9ERUZfT1BUKToKCSAgbGlidG9vbGl6ZSBvbiBEYXJ3aW4vTWFjT1NYIGlzIGNhbGxlZCBnbGlidG9vbGl6ZQoKMjAwNi0wNS0wNiAwMDoxNTo1OSArMDAwMCAgTWFjaWVqIEthdGFmaWFzeiA8bWF0aHJpY2tAbWF0aHJpY2sub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvYW1yd2IvZ3N0YW1yd2JkZWMuYzoKCSogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkIHNlbWljb2xvbnMgYWZ0ZXIgR1NUX0JPSUxFUlBMQVRFW19GVUxMXSBzbyB0aGF0IGluZGVudCBkb2Vzbid0IG1lc3MgdXAgZm9sbG93aW5nIGxpbmVzLgoKMjAwNi0wNS0wNSAyMDoxMjo1OSArMDAwMCAgTWFydGluIFJ1YmxpIDxtYXJ0aW5fcnVibGlAbG9naXRlY2guY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkqIHRlc3RzL2ljbGVzL3Y0bDJzcmMtdGVzdC5jOgoJICBTb21lIGNoYW5nZXMgcHJvcG9zZWQgYnkgd2luZ28gaW4gYnVnICMzMzg4MTggKGJ1dCBub3QgZXZlcnl0aGluZyB5ZXQpLiBQYXRjaCBmcm9tIE1hcnRpbiBSdWJsaSB0byBmaXggZnJhbWVyYXRlIGRldGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgY2hhbmdlcyBwcm9wb3NlZCBieSB3aW5nbyBpbiBidWcgIzMzODgxOCAoYnV0IG5vdCBldmVyeXRoaW5nIHlldCkuIFBhdGNoIGZyb20gTWFydGluIFJ1YmxpIHRvIGZpeCBmcmFtZXJhdGUgZGV0ZWN0aW9uLgoKMjAwNi0wNS0wNSAxNTo1MDoxMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IFVzZSAoTlVMTCkgaW5zdGVhZCBvZiBqdXN0IE5VTEwgaW4gR1NUX0VMRU1FTlRfRVJST1IgbWFjcm8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6IChnc3Rfc2RsYXVkaW9fc2lua19wcmVwYXJlKToKCSAgVXNlIChOVUxMKSBpbnN0ZWFkIG9mIGp1c3QgTlVMTCBpbiBHU1RfRUxFTUVOVF9FUlJPUiBtYWNyby4KCjIwMDYtMDUtMDQgMTU6MzI6MTAgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgo9PT0gcmVsZWFzZSAwLjEwLjMgPT09CgoyMDA2LTA1LTA0IDE1OjI4OjUzICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tY2R4YXBhcnNlLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ2xpbWFnZXNpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGwueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXZpZGVvNGxpbnV4Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi13YXZwYWNrLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teHZpZC54bWw6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlYWxseSByZWxlYXNlIDAuMTAuMyB0aGlzIHRpbWUKCjIwMDYtMDUtMDQgMTU6MDk6MTMgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBlcmZvcm0gdmVyc2lvbiBudW1iZXIgc3VyZ2VyeSB0byBjb3JyZWN0bHkgcmVsZWFzZSB0YXJiYWxscyBvZiAwLjEwLjMKCjIwMDYtMDUtMDQgMTQ6NTI6NTUgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBCYWNrIHRvIENWUwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEJhY2sgdG8gQ1ZTCgoyMDA2LTA1LTA0IDE0OjUxOjA2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWJ6Mi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhYy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mYWFkLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZyZWV6ZS54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbW9kcGx1Zy54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1tdXNpY2JyYWluei54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10dGEueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXdhdnBhY2sueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgUmVsZWFzZSAwLjEwLjMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbGVhc2UgMC4xMC4zCgoyMDA2LTA1LTA0IDA5OjI5OjI0ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOiBGaXggYnVpbGQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA1LTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogdGVzdHMvaWNsZXMvTWFrZWZpbGUuYW06IEZpeCBidWlsZC4KCjIwMDYtMDUtMDMgMjE6NDg6MjIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJICBVcGRhdGUgLnBvIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBVcGRhdGUgLnBvIGZpbGVzCgoyMDA2LTA1LTAzIDE2OjU0OjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2ljYnJhaW56L01ha2VmaWxlLmFtOiBBZGQgR1NUX1BMVUdJTlNfQkFTRV9DRkxBR1MgdG8gQ0ZMQUdTIGZvciBnc3QvdGFnL3RhZy5oCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNpY2JyYWluei9NYWtlZmlsZS5hbToKCSAgQWRkIEdTVF9QTFVHSU5TX0JBU0VfQ0ZMQUdTIHRvIENGTEFHUyBmb3IgZ3N0L3RhZy90YWcuaAoKMjAwNi0wNS0wMyAxNDozMDoyMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IENsZWFuIHVwIG9uZSBwaWVjZSBvZiBsb2dpYyBzbGlnaHRseSBhbmQgcmVtb3ZlIGEgZGVhZCBjb2RlIGJsb2NrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDbGVhbiB1cCBvbmUgcGllY2Ugb2YgbG9naWMgc2xpZ2h0bHkgYW5kIHJlbW92ZSBhCgkgIGRlYWQgY29kZSBibG9jay4KCjIwMDYtMDUtMDMgMTM6MjA6NDEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBFdmVyeWJvZHkgbG92ZXMgZG9jcyAtIGFkZCBkb2NzIGZvciBtdXNpY2JyYWlueiBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbXVzaWNicmFpbnoueG1sOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIEV2ZXJ5Ym9keSBsb3ZlcyBkb2NzIC0gYWRkIGRvY3MgZm9yIG11c2ljYnJhaW56IHBsdWdpbi4KCjIwMDYtMDUtMDMgMTI6MDE6NDMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEFkZCBtdXNpY2JyYWlueiBkaXIgdG8gRElTVF9TVUJESVJTIGFzIHdlbGwgKGZpeGVzIGRpc3RjaGVjaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG11c2ljYnJhaW56IGRpciB0byBESVNUX1NVQkRJUlMgYXMgd2VsbCAoZml4ZXMgZGlzdGNoZWNrKS4KCjIwMDYtMDUtMDMgMTE6MzQ6MzEgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IEZvcmdvdCB0byBjb21taXQgdGhpcyBvbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgRm9yZ290IHRvIGNvbW1pdCB0aGlzIG9uZS4KCjIwMDYtMDUtMDMgMTE6Mjc6NDIgKzAwMDAgIEphbWVzIERvYyBMaXZpbmdzdG9uIDxkb2NsaXZpbmdzdG9uQGdtYWlsLmNvbT4KCgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogSmFtZXMgIkRvYyIgTGl2aW5nc3RvbiAgPGRvY2xpdmluZ3N0b24gZ21haWwgY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvbXVzaWNicmFpbnovTWFrZWZpbGUuYW06CgkgICogZXh0L211c2ljYnJhaW56L2dzdHRybS5jOiAoZ3N0X3RybV9iYXNlX2luaXQpLAoJICAoZ3N0X3RybV9jbGFzc19pbml0KSwgKGdzdF90cm1faW5pdCksIChnc3RfdHJtX3NldGNhcHMpLAoJICAoZ3N0X3RybV9jaGFpbiksIChnc3RfdHJtX2VtaXRfc2lnbmF0dXJlKSwgKGdzdF90cm1fc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF90cm1fZ2V0X3Byb3BlcnR5KSwgKGdzdF90cm1fY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmg6CgkgIFBvcnQgTXVzaWNCcmFpbnogVFJNIHBsdWdpbiAoIzMzNjg5OCkuCgoyMDA2LTA1LTAzIDEwOjI1OjQ2ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBleHQvZmFhZC9nc3RmYWFkLmM6IEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfc2V0Y2FwcyksCgkgIChsb29rc19saWtlX3ZhbGlkX2hlYWRlciksIChnc3RfZmFhZF9jaGFpbik6CgkgIEZpeCAjMzM0NzQ4OiB1c2UgZmFrZV9jb2RlY19kYXRhIGlmIHRoZSBmaXJzdCBieXRlcyBvZiB0aGUgZmlyc3QKCSAgYnVmZmVyIHdlIHByb2Nlc3MgZG9lc24ndCBsb29rIGxpa2UgcGxhdXNpYmxlIEFBQyBkYXRhIChlLmcuCgkgIHJlc2VydmVkIHZhbHVlcyBmb3IgcmF0ZSwgb3IgY2hhbm5lbHMpLiBGaXhlcyBwbGF5YmFjayBvZiBBcHBsZSdzCgkgIG1vdmllIHRyYWlsZXJzLgoKMjAwNi0wNS0wMiAyMTo1Mjo0OCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCBnZXRfY2FwcyBmdW5jIHRvIHdvcmsgd2hlbiBubyBmcmFtZXJhdGUgaXMgYXZhaWxhYmxlIGFuZCB0aGUgY2FwcyBpc24ndCBzaW1wbGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggZ2V0X2NhcHMgZnVuYyB0byB3b3JrIHdoZW4gbm8gZnJhbWVyYXRlIGlzIGF2YWlsYWJsZSBhbmQgdGhlIGNhcHMgaXNuJ3Qgc2ltcGxlLgoKMjAwNi0wNS0wMSAyMTozNzo1MSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9NYWtlZmlsZS5hbToKCSogc3lzL3Y0bDIvZ3N0djRsMmNvbG9yYmFsYW5jZS5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyeG92ZXJsYXkuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5jOgoJKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSogdGVzdHMvaWNsZXMvdjRsMnNyYy10ZXN0LmM6CgkgIEZldyBpbXByb3ZlbWVudHMgdG8gbW92ZSB0byBnb29kLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmV3IGltcHJvdmVtZW50cyB0byBtb3ZlIHRvIGdvb2QuCgoyMDA2LTA1LTAxIDE3OjU4OjM4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXNlY3Rpb25zLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdGFnbGliLnhtbDoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguaDoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICAqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL3RhZ2lkM3YybXV4LmM6CgkgIG1vdmVkIHRvIGdvb2QuICBDbG9zZXMgIzMzNjExMAoKMjAwNi0wNC0zMCAxNjoxNjo1OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvdGFnbGliL2dzdGlkM3YybXV4LmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgc21hbGwgY2xlYW51cHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHNtYWxsIGNsZWFudXBzCgoyMDA2LTA0LTMwIDE1OjMyOjEzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0aWQzdjJtdXguY2M6CgkgIGZpeCBkb2NzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggZG9jcwoKMjAwNi0wNC0zMCAxNToxMzo0OSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLnNpZ25hbHM6CgkgIHVwZGF0ZWQgZWxlbWVudCBwcm9wZXJ0aWVzIGFuZCBzaWduYWxzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGVkIGVsZW1lbnQgcHJvcGVydGllcyBhbmQgc2lnbmFscwoKMjAwNi0wNC0zMCAxNToxMTo0NiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWMueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4td2F2cGFjay54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi14dmlkLnhtbDoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgaWdub3JlIG1vcmU7IGFkZCBuZXcgaW5zcGVjdCBmaWxlcwoKMjAwNi0wNC0zMCAxNDo1OTozOSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgcmVtb3ZlIGZpbGVzIHRoYXQgc2hvdWxkIG5vdCBiZSBpbiBjdnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBmaWxlcyB0aGF0IHNob3VsZCBub3QgYmUgaW4gY3ZzCgoyMDA2LTA0LTMwIDE0OjU4OjI5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IEZpeCB1cCBkb2NzIGZvciB0YWdsaWIgcGx1Z2luCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGRvY3MvcGx1Z2lucy9NYWtlZmlsZS5hbToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC1saXN0LnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJICBGaXggdXAgZG9jcyBmb3IgdGFnbGliIHBsdWdpbgoJICBBbHNvIHNjYW4gLmNjIGZpbGVzCgoyMDA2LTA0LTMwIDE0OjU1OjE1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tbmVvbi54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1xdGRlbXV4LnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXhpbmdoZWFkZXIueG1sOgoJICB1cGRhdGUgdG8gbGF0ZXN0IHZlcnNpb24KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSB0byBsYXRlc3QgdmVyc2lvbgoKMjAwNi0wNC0yOSAxODo0NjozNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBQb3N0IGFuIGVycm9yIG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbiB0aGUgKGV4dHJlbWVseSB1bmxpa2VseSkgY2FzZSBvZiBhbiBlcnJvci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIFBvc3QgYW4gZXJyb3IgbWVzc2FnZSBvbiB0aGUgYnVzIGluIHRoZSAoZXh0cmVtZWx5IHVubGlrZWx5KQoJICBjYXNlIG9mIGFuIGVycm9yLgoKMjAwNi0wNC0yOSAxODoxODoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvOiBTcGxpdCB0aGUgYWN0dWFsIElEM3YyIHRhZyByZW5kZXJpbmcgY29kZSBpbnRvIGl0cyBvd24gc3ViY2xhc3MuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3RpZDN2Mm11eC5jYzoKCSAgKiBleHQvdGFnbGliL2dzdGlkM3YybXV4Lmg6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgU3BsaXQgdGhlIGFjdHVhbCBJRDN2MiB0YWcgcmVuZGVyaW5nIGNvZGUgaW50bwoJICBpdHMgb3duIHN1YmNsYXNzLgoKMjAwNi0wNC0yOSAxNTozNjoxNiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuKjogYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgYWRkZWQgaXJhZGlvLW1vZGUgc3VwcG9ydCBhcyBpbiBnbm9tZXZmc3NyYyB0byBlbmFibGUKCSAgY29ubmVjdGlvbnMgd2l0aCBpY3lkZW11eCB0aGF0IHdpbGwgc2VuZCB0aXRsZSB0YWcgbWVzc2FnZXMgb24KCSAgc2hvdXRjYXN0L2ljZWNhc3Qgc3RyZWFtcy4gSSd2ZSBhbHNvIGFkZGVkIGlyYWRpbyBwcm9wZXJ0aWVzCgkgIGlyYWRpby1uYW1lLCBpcmFkaW8tZ2VucmUsIGlyYWRpby11cmwuCgkgIGFkZGVkIHVzZXItYWdlbnQgcHJvcGVydHkgYmVjYXVzZSBzb21lIHNob3V0Y2FzdCBzdHJlYW1zIGRvbid0IHJldHVybgoJICBkYXRhIGlmIHRoZSBHRVQgcmVxdWVzdHMgZG9uJ3QgaGF2ZSBhIFVzZXItQWdlbnQuCgkgICogd2luMzIvY29tbW9uL2xpYmdzdG5lb24uZHNwOgoJICB1c2UgZGVidWcgdmVyc2lvbiBvZiBsaWJuZW9uIGluIGRlYnVnIG1vZGUKCjIwMDYtMDQtMjggMjE6NDM6MDcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogdGVzdHMvY2hlY2svZWxlbWVudHMvdGFnaWQzdjJtdXguYzoKCSAgZWxlbWVudCByZW5hbWVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBlbGVtZW50IHJlbmFtZWQKCjIwMDYtMDQtMjggMTk6NDY6MzYgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIG1ha2UgR3N0RWxlbWVudERldGFpbHMgY29uc3QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2Fsc2EvZ3N0YWxzYW1peGVyZWxlbWVudC5jOgoJICAqIGV4dC9hbHNhL2dzdGFsc2FzcmMuYzoKCSAgKiBleHQvY2RwYXJhbm9pYS9nc3RjZHBhcmFub2lhc3JjLmM6CgkgICogZXh0L2dub21ldmZzL2dzdGdub21ldmZzc2luay5jOgoJICAqIGV4dC9nbm9tZXZmcy9nc3Rnbm9tZXZmc3NyYy5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dnZGVtdXguYzoKCSAgKiBleHQvb2dnL2dzdG9nZ211eC5jOgoJICAqIGV4dC9vZ2cvZ3N0b2dncGFyc2UuYzoKCSAgKiBleHQvb2dnL2dzdG9nbXBhcnNlLmM6CgkgICogZXh0L3BhbmdvL2dzdGNsb2Nrb3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0b3ZlcmxheS5jOgoJICAqIGV4dC9wYW5nby9nc3R0ZXh0cmVuZGVyLmM6CgkgICogZXh0L3BhbmdvL2dzdHRpbWVvdmVybGF5LmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWVuYy5jOgoJICAqIGV4dC92b3JiaXMvdm9yYmlzZGVjLmM6CgkgICogZXh0L3ZvcmJpcy92b3JiaXNlbmMuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXIuYzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YXVkaW9maWx0ZXJ0ZW1wbGF0ZS5jOgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgICogZ3N0L2F1ZGlvcmF0ZS9nc3RhdWRpb3JhdGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2F1ZGlvdGVzdHNyYy9nc3RhdWRpb3Rlc3RzcmMuYzoKCSAgKiBnc3QvZmZtcGVnY29sb3JzcGFjZS9nc3RmZm1wZWdjb2xvcnNwYWNlLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdGRlY29kZWJpbi5jOgoJICAqIGdzdC9wbGF5YmFjay9nc3RwbGF5YmluLmM6CgkgICogZ3N0L3BsYXliYWNrL2dzdHN0cmVhbXNlbGVjdG9yLmM6CgkgICogZ3N0L3N1YnBhcnNlL2dzdHN1YnBhcnNlLmM6CgkgICogZ3N0L3RjcC9nc3RtdWx0aWZkc2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c2luay5jOgoJICAqIGdzdC90Y3AvZ3N0dGNwY2xpZW50c3JjLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzaW5rLmM6CgkgICogZ3N0L3RjcC9nc3R0Y3BzZXJ2ZXJzcmMuYzoKCSAgKiBnc3QvdHlwZWZpbmQvZ3N0dHlwZWZpbmRmdW5jdGlvbnMuYzogKHBsdWdpbl9pbml0KToKCSAgKiBnc3QvdmlkZW9yYXRlL2dzdHZpZGVvcmF0ZS5jOgoJICAqIGdzdC92aWRlb3NjYWxlL2dzdHZpZGVvc2NhbGUuYzoKCSAgKiBnc3QvdmlkZW90ZXN0c3JjL2dzdHZpZGVvdGVzdHNyYy5jOgoJICAqIGdzdC92b2x1bWUvZ3N0dm9sdW1lLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxqcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxtanBlZ3NpbmsuYzoKCSAgKiBzeXMvdjRsL2dzdHY0bG1qcGVnc3JjLmM6CgkgICogc3lzL3Y0bC9nc3R2NGxzcmMuYzoKCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzoKCSAgKiBzeXMveHZpbWFnZS94dmltYWdlc2luay5jOgoJICAqIHRlc3RzL2NoZWNrL2xpYnMvY2RkYWJhc2VzcmMuYzoKCSAgbWFrZSBHc3RFbGVtZW50RGV0YWlscyBjb25zdAoKMjAwNi0wNC0yOCAxOToyNDo0MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgcmVtb3ZlZCBwbHVnaW4gZG9jCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmVkIHBsdWdpbiBkb2MKCjIwMDYtMDQtMjggMTk6MjM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmg6CgkqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICBtb3ZlZCB4aW1hZ2VzcmMgdG8gZ29vZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZWQgeGltYWdlc3JjIHRvIGdvb2QKCjIwMDYtMDQtMjggMTY6NTE6MzMgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgYm9yZ2lmeSBuYW1pbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJvcmdpZnkgbmFtaW5nCgoyMDA2LTA0LTI4IDE2OjQ2OjUyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIGRvYyB0d2Vha3MKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB0d2Vha3MKCjIwMDYtMDQtMjggMTY6MTU6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogc3lzL3hpbWFnZXNyYy9NYWtlZmlsZS5hbToKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgY2xlYW4gdXAgTWFrZWZpbGUuYW0KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGNsZWFuIHVwIE1ha2VmaWxlLmFtCgoyMDA2LTA0LTI4IDE1OjMzOjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBwZWRhbnRpYyBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcGVkYW50aWMgY2xlYW51cHMKCjIwMDYtMDQtMjggMTQ6MTc6MDAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IEFkZCBzdXBwb3J0IGZvciBvdGhlciBmb3JtYXRzIGF1ZGlvcmVzYW1wbGUgY2FuIGhhbmRsZSBzdWNoIGFzIDMyIGJpdHMgaW4gYW5kIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOiAoZ3N0X2F1ZGlvcmVzYW1wbGVfaW5pdCksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yIG90aGVyIGZvcm1hdHMgYXVkaW9yZXNhbXBsZSBjYW4gaGFuZGxlIHN1Y2ggYXMKCSAgMzIgYml0cyBpbiBhbmQgZmxvYXQgYW5kIDY0IGJpdHMgZmxvYXQuIEZpeGVzICMzMDE3NTkKCjIwMDYtMDQtMjggMTE6MDQ6MTIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvZmFhZC9nc3RmYWFkLio6IElmIHdlIHJ1biBpbnRvIGEgZGVjb2RpbmcgZXJyb3IsIHRyeSByZS1vcGVuaW5nIHRoZSBkZWNvZGVyIHdpdGggZmFhY0RlY0luaXQyKCkgdXNpbmcgZmFrZSBjb2RlYyAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfaW5pdCksIChhYWNfcmF0ZV9pZHgpLAoJICAoZ3N0X2ZhYWRfc2V0Y2FwcyksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9vcGVuX2RlY29kZXIpLAoJICAoZ3N0X2ZhYWRfY2xvc2VfZGVjb2RlciksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuaDoKCSAgSWYgd2UgcnVuIGludG8gYSBkZWNvZGluZyBlcnJvciwgdHJ5IHJlLW9wZW5pbmcgdGhlIGRlY29kZXIKCSAgd2l0aCBmYWFjRGVjSW5pdDIoKSB1c2luZyBmYWtlIGNvZGVjIGRhdGEgY3JlYXRlZCBmcm9tIHRoZQoJICBkYXRhIHRoZSBkZW11eGVyIGdhdmUgdXMuIFNob3VsZCBmaXggYSB3aG9sZSBidW5jaCBvZgoJICBHU3RyZWFtZXItZmFhZCBwcm9ibGVtcyBpbmNsLiAnY2hhbm5lbCBjb3VwbGluZyBub3QKCSAgaW1wbGVtZW50ZWQnLCAnbWF4aW11bSBudW1iZXIgb2Ygc2NhbGVmYWN0b3IgYmFuZHMgZXhjZWVkZWQnCgkgIGV0Yy4gKCMxNzMwMDcsICMzMzI4OTIpLgoKMjAwNi0wNC0yNSAyMTo1NjozOCArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRGVmaW5lIEdzdEVsZW1lbnREZXRhaWxzIGFzIGNvbnN0IGFuZCBhbHNvIHN0YXRpYyAod2hlbiBkZWZpbmVkIGFzIGdsb2JhbCkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZXh0L2J6Mi9nc3RiejJkZWMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzoKCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuYzoKCSAgKiBleHQvZHRzL2dzdGR0c2RlYy5jOiAoZ3N0X2R0c2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCk6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgICogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSAgKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSAgKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgICogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkgICogZXh0L2xpYmZhbWUvZ3N0bGliZmFtZS5jOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX2Jhc2VfaW5pdCk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6IChnc3RfbXVzaWNicmFpbnpfYmFzZV9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2Jhc2VfaW5pdCk6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuYzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19iYXNlX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6IChnc3RfY2R4YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2NoYXJ0L2dzdGNoYXJ0LmM6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L2xpYnJmYi9nc3RyZmJzcmMuYzoKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJICAqIGdzdC9tcGVnMXN5cy9nc3RtcGVnMXN5c3RlbWVuY29kZS5jOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmM6CgkgICogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJICAqIGdzdC9wYXNzdGhyb3VnaC9nc3RwYXNzdGhyb3VnaC5jOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZGVjLmM6CgkgICogZ3N0L3J0anBlZy9nc3RydGpwZWdlbmMuYzoKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJICAqIGdzdC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzoKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOgoJICAqIGdzdC9zd2l0Y2gvZ3N0c3dpdGNoLmM6CgkgICogZ3N0L3R0YS9nc3R0dGFkZWMuYzogKGdzdF90dGFfZGVjX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9iYXNlX2luaXQpOgoJICAqIGdzdC92YmlkZWMvZ3N0dmJpZGVjLmM6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkgICogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSAgKiBzeXMvdmNkL3ZjZHNyYy5jOiAoZ3N0X3ZjZHNyY19iYXNlX2luaXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6CgkgIERlZmluZSBHc3RFbGVtZW50RGV0YWlscyBhcyBjb25zdCBhbmQgYWxzbyBzdGF0aWMgKHdoZW4gZGVmaW5lZCBhcwoJICBnbG9iYWwpCgoyMDA2LTA0LTIwIDE4OjAyOjA3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksIChnc3RfbXVzZXBhY2tkZWNfbG9vcCk6CgkgIEFkZCBzdXBwb3J0IGZvciBzZWdtZW50IHNlZWtzLgoKMjAwNi0wNC0yMCAxNzoyOTo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEFkZGVkIGEgY291cGxlIG9mIGlmZGVmcyB0byBtYWtlIGl0IGNvbXBpbGUgd2l0aCBvdGhlciBrZXJuZWxzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQWRkZWQgYSBjb3VwbGUgb2YgaWZkZWZzIHRvIG1ha2UgaXQgY29tcGlsZSB3aXRoIG90aGVyIGtlcm5lbHMuCgoyMDA2LTA0LTIwIDA5OjQ4OjA1ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTmV2ZXIgdHJlYXQgdmlkZW8gc3RyZWFtcyBhcyBhbiBhdWRpbyBzdHJlYW0uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQYXRjaCBieTogal4gPGogYXQgYm9vdGxhYiBkb3Qgb3JnPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBOZXZlciB0cmVhdCB2aWRlbyBzdHJlYW1zIGFzIGFuIGF1ZGlvIHN0cmVhbS4KCSAgQWRkIHF0ZHJ3IG1pbWUgdHlwZS4KCSAgRml4ZXMgIzMzOTA0MQoKMjAwNi0wNC0xOSAwOToyNzowMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRm9yIFZCUiBhdWRpbywgZG9uJ3QgdHJ5IHRvIGNhbGN1bGF0ZSB0aGUgc2FtcGxlc19wZXJfZnJhbWUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZvciBWQlIgYXVkaW8sIGRvbid0IHRyeSB0byBjYWxjdWxhdGUgdGhlIHNhbXBsZXNfcGVyX2ZyYW1lLgoJICBGaXhlcyAjMzM4OTM1LgoKMjAwNi0wNC0xNyAxOTo0MzozMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEp1c3QgYWRkZWQgYSBndGstZG9jIGNvbW1lbnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IGFkZGVkIGEgZ3RrLWRvYyBjb21tZW50LgoKMjAwNi0wNC0xNyAxODo0NDo0OCArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZXh0L3RoZW9yYS90aGVvcmFkZWMuKjogQXBwbHkgZml4IGZyb20gal4gZm9yIEFQSSBjaGFuZ2UgaW4gbGlidGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAodGhlb3JhX2RlY19zcmNfY29udmVydCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfNDIyX2ltYWdlKSwKCSAgKHRoZW9yYV9oYW5kbGVfNDIwX2ltYWdlKSwgKHRoZW9yYV9oYW5kbGVfZGF0YV9wYWNrZXQpOgoJICAqIGV4dC90aGVvcmEvdGhlb3JhZGVjLmg6CgkgIEFwcGx5IGZpeCBmcm9tIGpeIGZvciBBUEkgY2hhbmdlIGluIGxpYnRoZW9yYWRlYy4KCSAgSW1wbGVtZW50IDQ6MjoyIHBpeGVsIGZvcm1hdC4gVW50ZXN0ZWQgYXQgdGhlIG1vbWVudC4KCjIwMDYtMDQtMTQgMTM6MTI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogRml4IHRyYWNrL2FsYnVtIHBlYWsgdGFnIHZhbHVlczsgdXNlIEdTVF9ERUJVR19GVU5DUFRSIGFuZCBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW0uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpOgoJICBGaXggdHJhY2svYWxidW0gcGVhayB0YWcgdmFsdWVzOyB1c2UgR1NUX0RFQlVHX0ZVTkNQVFIgYW5kCgkgIGdzdF9wYWRfbmV3X2Zyb21fc3RhdGljX3RlbXBsYXRlKCkuCgoyMDA2LTA0LTEzIDIxOjQ1OjU3ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJICBGaXhlZCBzb21lIG1lbW9yeSBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtb3J5IGxlYWtzLgoKMjAwNi0wNC0xMiAyMTo1NzowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB0byB3b3JrIGluIHJlYWQgbW9kZS4KCjIwMDYtMDQtMTEgMTY6MTg6MTMgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggdmVyc2lvbmluZyBtYWNybyBhbmQgYWRkIHRyYW5zbGF0aW9uIGZpbGVzCgoyMDA2LTA0LTEwIDE3OjE2OjA5ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggcGFyc2luZyBvZiBuZXdlciBzdHNkIGNodW5rcyBhZ2Fpbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgRml4IHBhcnNpbmcgb2YgbmV3ZXIgc3RzZCBjaHVua3MgYWdhaW4uCgoyMDA2LTA0LTEwIDE0OjIwOjQxICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggZnJhbWVyYXRlIGNhbGN1bGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEZpeCBmcmFtZXJhdGUgY2FsY3VsYXRpb24uCgoyMDA2LTA0LTEwIDEzOjU4OjE3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KToKCSAgRml4IGJ1aWxkIChjbGFzc19pbml0IGRlY2xhcmF0aW9uL2RlZmluaXRpb24gbWlzbWF0Y2gpLgoKMjAwNi0wNC0xMCAwODozMTo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogZm9yY2UgbW9ubyA4MDAwIEh6IG9uIEFNUiBzYW1wbGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBmb3JjZSBtb25vIDgwMDAgSHogb24gQU1SIHNhbXBsZXMuCgoyMDA2LTA0LTA5IDE4OjMwOjUxICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOiByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogKGdzdF9uZW9uaHR0cF9zcmNfc3RhcnQpOgoJICByZW1vdmUgYXRvbGwgYnkgdXNpbmcgZ19hc2NpaV9zdHJ0b3VsbCAoYXRvbGwgaXMgbm90IHN1cHBvcnRlZCBvbiBXSU4zMikKCSAgKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3c2luay5jOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgZG9uZSBzb21lIGNsZWFucyBpbiBzb3VyY2VzCgkgICogd2luMzIvdnM2OgoJICBhZGQgcHJvamVjdCBmaWxlcyBmb3IgbmVvbiwgcXRkZW11eAoKMjAwNi0wNC0wOSAxNzoxNDoyMiArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvZGVidWcuaDogcmVwbGFjZSBkZWJ1ZyBtYWNyb3Mgd2l0aCB2YXJpYWJsZSBudW1iZXIgb2YgcGFyYW1ldGVycyBieSBhIHNpbXBsZSBhbGlhcyB0byBnc3RyZWFtZXIgc3RhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2RlYnVnLmg6CgkgIHJlcGxhY2UgZGVidWcgbWFjcm9zIHdpdGggdmFyaWFibGUgbnVtYmVyIG9mIHBhcmFtZXRlcnMKCSAgYnkgYSBzaW1wbGUgYWxpYXMgdG8gZ3N0cmVhbWVyIHN0YW5kYXJkIGRlYnVnIG1hY3JvcwoJICAoI2RlZmluZSBSRVNBTVBMRV9FUlJPUiBHU1RfRVJST1IsIF9fVkFfQVJHU19fIGlzIG5vdAoJICBzdXBwb3J0ZWQgYnkgTVNWQyA2LjAgYW5kIDcuMSkKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJICBkZWZpbmUgTV9QSSBhbmQgcmludCBmb3IgV0lOMzIKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0YXVkaW8uZGVmOgoJICAqIHdpbjMyL2NvbW1vbi9saWJnc3RyaWZmLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dGFnLmRlZjoKCSAgKiB3aW4zMi9jb21tb24vbGliZ3N0dmlkZW8uZGVmOgoJICBhZGQgbmV3IGV4cG9ydGVkIGZ1bmN0aW9ucwoJICAqIHdpbjMyL3ZzNjoKCSAgdXBkYXRlIHByb2plY3QgZmlsZXMKCjIwMDYtMDQtMDggMjE6NDg6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIEZpeCAjMzM3MzY1IChnX3R5cGVfY2xhc3NfcmVmIDwtPiBnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmRlYy5jOiAoZ3N0X2FtcndiZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YmVuYy5jOiAoZ3N0X2FtcndiZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9hbXJ3Yi9nc3RhbXJ3YnBhcnNlLmM6IChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KToKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOiAoZ3N0X2FydHNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19jbGFzc19pbml0KToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6IChnc3RfYWZzcmNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICAqIGV4dC9jZGF1ZGlvL2dzdGNkYXVkaW8uYzogKGdzdF9jZGF1ZGlvX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpdngvZ3N0ZGl2eGRlYy5jOiAoZ3N0X2RpdnhkZWNfY2xhc3NfaW5pdCk6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgIChnc3RfaGVybWVzX2NvbG9yc3BhY2VfY2xhc3NfaW5pdCk6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2suYzogKGdzdF9qYWNrX2NsYXNzX2luaXQpOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9jbGFzc19pbml0KToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzogKGdzdF9mYW1lZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9jbGFzc19pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zaG91dC9nc3RzaG91dC5jOiAoZ3N0X2ljZWNhc3RzZW5kX2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmFwc2hvdC9nc3RzbmFwc2hvdC5jOiAoZ3N0X3NuYXBzaG90X2NsYXNzX2luaXQpOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmM6IChnc3Rfc2ZfY2xhc3NfaW5pdCk6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZGVjLmM6IChnc3RfdGFya2luZGVjX2NsYXNzX2luaXQpOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6IChnc3RfdGFya2luZW5jX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXN0cmlwLmM6IChnc3RfY2R4YXN0cmlwX2NsYXNzX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOiAoZ3N0X2NoYXJ0X2NsYXNzX2luaXQpOgoJICAqIGdzdC9jb2xvcnNwYWNlL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOiAoZ3N0X2RlaW50ZXJsYWNlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoZ3N0X2Zlc3RpdmFsX2NsYXNzX2luaXQpOgoJICAqIGdzdC9maWx0ZXIvZ3N0YnB3c2luYy5jOiAoZ3N0X2Jwd3NpbmNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RpaXIuYzogKGdzdF9paXJfY2xhc3NfaW5pdCk6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6IChnc3RfbHB3c2luY19jbGFzc19pbml0KToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19jbGFzc19pbml0KToKCSAgKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOiAoZ3N0X21peG1hdHJpeF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKGdzdF9zeXN0ZW1fZW5jb2RlX2NsYXNzX2luaXQpOgoJICAqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5jOgoJICAoZ3N0X21wMXZpZGVvcGFyc2VfY2xhc3NfaW5pdCk6CgkgICogZ3N0L21wZWcyc3ViL2dzdG1wZWcyc3VidC5jOiAoZ3N0X21wZWcyc3VidF9jbGFzc19pbml0KToKCSAgKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuYzoKCSAgKGdzdF9tcDNwYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5LmM6IChnc3Rfb3ZlcmxheV9jbGFzc19pbml0KToKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzogKHBhc3N0aHJvdWdoX2NsYXNzX2luaXQpOgoJICAqIGdzdC9wbGF5b25kZW1hbmQvZ3N0cGxheW9uZGVtYW5kLmM6IChwbGF5X29uX2RlbWFuZF9jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOiAoZ3N0X3J0anBlZ2RlY19jbGFzc19pbml0KToKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2VuYy5jOiAoZ3N0X3J0anBlZ2VuY19jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOiAoZ3N0X3Ntb290aF9jbGFzc19pbml0KToKCSAgKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3BlY3RydW0vZ3N0c3BlY3RydW0uYzogKGdzdF9zcGVjdHJ1bV9jbGFzc19pbml0KToKCSAgKiBnc3Qvc3RlcmVvL2dzdHN0ZXJlby5jOiAoZ3N0X3N0ZXJlb19jbGFzc19pbml0KToKCSAgKiBnc3Qvc3dpdGNoL2dzdHN3aXRjaC5jOiAoZ3N0X3N3aXRjaF9jbGFzc19pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9jbGFzc19pbml0KToKCSAgKiBnc3QvdmJpZGVjL2dzdHZiaWRlYy5jOiAoZ3N0X3ZiaWRlY19jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9jcm9wL2dzdHZpZGVvY3JvcC5jOiAoZ3N0X3ZpZGVvX2Nyb3BfY2xhc3NfaW5pdCk6CgkgICogZ3N0L3ZpcnR1YWxkdWIvZ3N0eHNoYXJwZW4uYzogKGdzdF94c2hhcnBlbl9jbGFzc19pbml0KToKCSAgKiBnc3QveTRtL2dzdHk0bWVuY29kZS5jOiAoZ3N0X3k0bWVuY29kZV9jbGFzc19pbml0KToKCSAgKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzogKGNkcGxheWVyX2NsYXNzX2luaXQpOgoJICAqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuYzoKCSAgKGdzdF9kaXJlY3Rzb3VuZHNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOiAoZHhyM2F1ZGlvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfY2xhc3NfaW5pdCk6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOiAoZHhyM3ZpZGVvc2lua19jbGFzc19pbml0KToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6IChnc3RfcWNhbXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkgIChnc3RfdjRsMl9jb2xvcl9iYWxhbmNlX2NoYW5uZWxfY2xhc3NfaW5pdCk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnR1bmVyLmM6IChnc3RfdjRsMl90dW5lcl9jaGFubmVsX2NsYXNzX2luaXQpLAoJICAoZ3N0X3Y0bDJfdHVuZXJfbm9ybV9jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgRml4ICMzMzczNjUgKGdfdHlwZV9jbGFzc19yZWYgPC0+IGdfdHlwZV9jbGFzc19wZWVrX3BhcmVudCkKCjIwMDYtMDQtMDggMTk6MDQ6MDEgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGdzdC86IEZpeCBtb3JlIGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmg6CgkgICogZ3N0L2RlaW50ZXJsYWNlL2dzdGRlaW50ZXJsYWNlLmg6CgkgICogZ3N0L3Bhc3N0aHJvdWdoL2dzdHBhc3N0aHJvdWdoLmg6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuaDoKCSAgRml4IG1vcmUgYnJva2VuIEdPYmplY3QgbWFjcm9zCgoyMDA2LTA0LTA4IDE4OjQxOjA3ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBGaXggYnJva2VuIEdPYmplY3QgbWFjcm9zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC94aW5lL2dzdHhpbmUuaDoKCSAgKiBnc3QtbGlicy9nc3QvcGxheS9wbGF5Lmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyNTo1NSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYW5ub2RleC9nc3RjbW1sZGVjLmg6CgkgICogZXh0L2Fubm9kZXgvZ3N0Y21tbGVuYy5oOgoJICAqIGV4dC9hbm5vZGV4L2dzdGNtbWx0YWcuaDoKCSAgKiBleHQvY2Fpcm8vZ3N0dGV4dG92ZXJsYXkuaDoKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5oOgoJICAqIGdzdC9tYXRyb3NrYS9lYm1sLXJlYWQuaDoKCSAgKiBnc3QvbWF0cm9za2EvZWJtbC13cml0ZS5oOgoJICAqIHN5cy9vc3hhdWRpby9nc3Rvc3hhdWRpb2VsZW1lbnQuaDoKCSAgRml4IGJyb2tlbiBHT2JqZWN0IG1hY3JvcwoKMjAwNi0wNC0wOCAxODoyMzowNCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRG9uJ3QgbWFrZSByb3VuZGluZyBlcnJvcnMgaW4gdGltZXN0YW1wL2R1cmF0aW9uIGNhbGN1bGF0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfcHJlcGFyZV9jdXJyZW50X3NhbXBsZSksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9zdHN6KSwKCSAgKHF0ZGVtdXhfZHVtcF9zdGNvKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIERvbid0IG1ha2Ugcm91bmRpbmcgZXJyb3JzIGluIHRpbWVzdGFtcC9kdXJhdGlvbiBjYWxjdWxhdGlvbnMuCgkgIEZpeCB0aW1lc3RhbXBzIGZvciBBTVIgYW5kIElNQTQuICBGaXhlcyAoIzMzNzQzNikuCgkgIENyZWF0ZSBhIGR1bW15IHNlZ21lbnQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIGVkaXQgbGlzdC4KCjIwMDYtMDQtMDcgMTY6NTk6MTUgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wtbGlzdC50eHQ6IFVwZGF0ZXMuCgkgICogZXhhbXBsZXMvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCBleGFtcGxlIHJlc291cmNlIGZpbGVzIHRvCgkgIGRpc3QuCgoyMDA2LTA0LTA3IDE1OjUzOjQzICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvIDI1ZnBzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmVjYWxjKSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgVHlwbyBmaXgsIHMvWEZyZWU4Ni9YMTEgYW5kIGFkZGVkIGRvYyBibHVyYiBzYXlpbmcgdGhhdCBpdCBmaXhhdGVzIHRvCgkgIDI1ZnBzCgoyMDA2LTA0LTA3IDE1OjQ3OjI3ICswMDAwICBaYWhlZXIgQWJiYXMgTWVyYWxpIDx6YWhlZXJhYmJhc0BtZXJhbGkub3JnPgoKCSAgdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogQWN0dWFsbHkgYXNzZXJ0IHRoYXQgcGlwZWxpbmUgZ29lcyB0byBwbGF5aW5nCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTA0LTA3ICBaYWhlZXIgQWJiYXMgTWVyYWxpICA8emFoZWVyYWJiYXMgYXQgbWVyYWxpIGRvdCBvcmc+CgkgICogdGVzdHMvaWNsZXMveGltYWdlc3JjLXRlc3QuYzogKG1haW4pOgoJICBBY3R1YWxseSBhc3NlcnQgdGhhdCBwaXBlbGluZSBnb2VzIHRvIHBsYXlpbmcKCjIwMDYtMDQtMDcgMTU6Mjc6NDAgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBGaXggdHlwbywgQysrIHN0eWxlIGNvbW1lbnRzIGFuZCBvdGhlciBzbWFsbCBjbGVhbnVwcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wNC0wNyAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChnc3RfeGltYWdlc3JjX3JlY2FsYyksCgkgIChjb21wb3NpdGVfcGl4ZWwpLCAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KToKCSAgRml4IHR5cG8sIEMrKyBzdHlsZSBjb21tZW50cyBhbmQgb3RoZXIgc21hbGwgY2xlYW51cHMKCjIwMDYtMDQtMDYgMTk6MTY6MDIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19xdWVyeSksIChnc3RfcXRkZW11eF9maW5kX2luZGV4KSwKCSAgKGdzdF9xdGRlbXV4X2ZpbmRfa2V5ZnJhbWUpLCAoZ3N0X3F0ZGVtdXhfZmluZF9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X21vdmVfc3RyZWFtKSwgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksCgkgIChnc3RfcXRkZW11eF9kb19zZWVrKSwgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcXRkZW11eF9hY3RpdmF0ZV9zZWdtZW50KSwKCSAgKGdzdF9xdGRlbXV4X3ByZXBhcmVfY3VycmVudF9zYW1wbGUpLCAoZ3N0X3F0ZGVtdXhfYWR2YW5jZV9zYW1wbGUpLAoJICAoZ3N0X3F0ZGVtdXhfbG9vcF9zdGF0ZV9tb3ZpZSksIChnc3RfcXRkZW11eF9sb29wKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEFkZGVkIGZ1bGwgZWRpdCBsaXN0IHN1cHBvcnQuCgkgIEF2b2lkIG92ZXJmbG93cyBpbiBwcm9sb2d1ZSBpbWFnZSBkZXRlY3Rpb24gY29kZS4KCSAgQXZvaWQgcm91bmRvZmYgZXJyb3JzIGluIHRpbWVzdGFtcCBjYWxjdWxhdGlvbnMuCgoyMDA2LTA0LTA2IDE0OjIwOjI3ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3hpbmUvTWFrZWZpbGUuYW06CgkgIG1vcmUgZGlzdGNoZWNrIGZpeGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBtb3JlIGRpc3RjaGVjayBmaXhlcwoKMjAwNi0wNC0wNiAxNDowODowOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBjb25maWd1cmUuYWM6IGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIGNsZWFuIHVwIHNvIHJlcG9ydCBwcm9wZXJseSBvbiBtaXNzaW5nIHN0dWZmCgkgIGZpeCBtb2RwbHVnIGRldGVjdGlvbgoKMjAwNi0wNC0wNiAxMjo1MjoyMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBleHQvOiBkb24ndCBkaXN0IGFtciB3YiBzb3VyY2UgY29kZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL2FtcndiLWNvZGUvTWFrZWZpbGUuYW06CgkgIGRvbid0IGRpc3QgYW1yIHdiIHNvdXJjZSBjb2RlCgoyMDA2LTA0LTA2IDExOjM1OjI2ICswMDAwICBqXiA8akBib290bGFiLm9yZz4KCgkgIFVuaWZ5IHRoZSBsb25nIGRlc2NyaXB0aW9ucyBpbiB0aGUgcGx1Z2luIGRldGFpbHMgKCMzMzcyNjMpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IGpeICA8aiBhdCBib290bGFiIGRvdCBvcmc+CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzoKCSAgKiBleHQvYXJ0cy9nc3RfYXJ0cy5jOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuYzoKCSAgKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSAgKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfYmFzZV9pbml0KToKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19iYXNlX2luaXQpOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJICAqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgICogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJICAqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJICAqIGV4dC9saWJmYW1lL2dzdGxpYmZhbWUuYzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19iYXNlX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9iYXNlX2luaXQpOgoJICAqIGV4dC9uYXMvbmFzc2luay5jOiAoZ3N0X25hc3NpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICAqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzogKGdzdF9wb2x5cHNpbmtfYmFzZV9pbml0KToKCSAgKiBleHQvc2RsL3NkbGF1ZGlvc2luay5jOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgICogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkgICogZXh0L3NuYXBzaG90L2dzdHNuYXBzaG90LmM6CgkgICogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSAgKiBleHQvdGFya2luL2dzdHRhcmtpbmRlYy5jOgoJICAqIGV4dC90YXJraW4vZ3N0dGFya2luZW5jLmM6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJICAqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFfcGFyc2VfYmFzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9iYXNlX2luaXQpOgoJICAqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJICAqIGdzdC9lcXVhbGl6ZXIvZ3N0aWlyZXF1YWxpemVyLmM6IChnc3RfaWlyX2VxdWFsaXplcl9iYXNlX2luaXQpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJICAqIGdzdC9maWx0ZXIvZ3N0aWlyLmM6CgkgICogZ3N0L2ZpbHRlci9nc3RscHdzaW5jLmM6CgkgICogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSAgKiBnc3QvZ2FtZXMvZ3N0cHV6emxlLmM6IChnc3RfcHV6emxlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L21peG1hdHJpeC9taXhtYXRyaXguYzoKCSAgKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSAgKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSAgKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0LmM6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOgoJICAqIGdzdC9vdmVybGF5L2dzdG92ZXJsYXkuYzoKCSAgKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSAgKiBnc3QvcGxheW9uZGVtYW5kL2dzdHBsYXlvbmRlbWFuZC5jOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSAgKiBnc3QvcnRqcGVnL2dzdHJ0anBlZ2RlYy5jOgoJICAqIGdzdC9ydGpwZWcvZ3N0cnRqcGVnZW5jLmM6CgkgICogZ3N0L3Ntb290aC9nc3RzbW9vdGguYzoKCSAgKiBnc3QvdHRhL2dzdHR0YWRlYy5jOiAoZ3N0X3R0YV9kZWNfYmFzZV9pbml0KToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX2Jhc2VfaW5pdCk6CgkgICogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSAgKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5jOgoJICAqIGdzdC92aXJ0dWFsZHViL2dzdHhzaGFycGVuLmM6CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOiAoZ3N0X3hpbmdfbXV4X2Jhc2VfaW5pdCk6CgkgICogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSAgVW5pZnkgdGhlIGxvbmcgZGVzY3JpcHRpb25zIGluIHRoZSBwbHVnaW4gZGV0YWlscyAoIzMzNzI2MykuCgoyMDA2LTA0LTA2IDA5OjM3OjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzogQWRkIGJhY2sgInVyaSIgcHJvcGVydHkgYW5kIG1hcmsgaXQgYXMgZGVwcmVjYXRlZDsgdW5kb2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6IChnc3RfbmVvbmh0dHBfc3JjX2NsYXNzX2luaXQpLAoJICAoZ3N0X25lb25odHRwX3NyY19zZXRfcHJvcGVydHkpLCAoZ3N0X25lb25odHRwX3NyY19nZXRfcHJvcGVydHkpOgoJICBBZGQgYmFjayAidXJpIiBwcm9wZXJ0eSBhbmQgbWFyayBpdCBhcyBkZXByZWNhdGVkOyB1bmRvZXMKCSAgQVBJL0FCSSBicmVha2FnZSBmcm9tIDIwMDYtMDItMjQuCgoyMDA2LTA0LTA1IDA4OjM2OjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLAoJICAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApOgoJICBVc2UgZHVyYXRpb24gYXMgc2VnbWVudCBzdG9wIHBvc2l0aW9uIGlmIG5vbmUgaXMKCSAgZXhwbGljaXRseSBjb25maWd1cmVkLgoJICBBbHNvIHBlcmZvcm0gRU9TIHdoZW4gd2UgcnVuIHBhc3QgdGhlIHNlZ21lbnQgc3RvcC4KCjIwMDYtMDQtMDQgMTE6MjA6NTggKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IE1vcmUgY2xlYW51cHMsIGFkZGVkIGNvbW1lbnRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nb19iYWNrKSwKCSAgKGdzdF9xdGRlbXV4X3BlcmZvcm1fc2VlayksIChnc3RfcXRkZW11eF9kb19zZWVrKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfbW92aWUpLCAoZ3N0X3F0ZGVtdXhfbG9vcCksCgkgIChnc3RfcXRkZW11eF9jaGFpbiksIChxdGRlbXV4X3BhcnNlX3RyZWUpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjbGVhbnVwcywgYWRkZWQgY29tbWVudHMuCgkgIE1hcmsgZGlzY29udGludWl0aWVzIG9uIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIFBvc3QgYmV0dGVyIGVycm9ycyB3aGVuIHNvbWV0aGluZyBnb2VzIHdyb25nLgoJICBIYW5kbGUgRU9TIGFuZCBzZWdtZW50IGVuZCBwcm9wZXJseS4KCjIwMDYtMDQtMDQgMDg6NDA6NTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkgIE1hcmsgbGF0ZXN0IGNoYW5nZSBhcyBmaXhpbmcgYSBidWcuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNYXJrIGxhdGVzdCBjaGFuZ2UgYXMgZml4aW5nIGEgYnVnLgoKMjAwNi0wNC0wNCAwODozMToxMCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguKjogSGFuZGxlIHN0c3MgYm94ZXMgc28gd2UgY2FuIG1hcmsgYW5kIGZpbmQga2V5ZnJhbWVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3B1c2hfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfZ29fYmFjayksCgkgIChnc3RfcXRkZW11eF9wZXJmb3JtX3NlZWspLCAoZ3N0X3F0ZGVtdXhfZG9fc2VlayksCgkgIChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwgKHBsdWdpbl9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2NoYW5nZV9zdGF0ZSksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAoZ3N0X3F0ZGVtdXhfY2hhaW4pLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLCAoZ3N0X3F0ZGVtdXhfYWRkX3N0cmVhbSksCgkgIChxdGRlbXV4X3BhcnNlKSwgKHF0ZGVtdXhfcGFyc2VfdHJlZSksIChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9wYXJzZV91ZHRhKSwgKHF0ZGVtdXhfdGFnX2FkZF9zdHIpLCAocXRkZW11eF90YWdfYWRkX251bSksCgkgIChxdGRlbXV4X3RhZ19hZGRfZ25yZSksIChnc3RfcXRkZW11eF9oYW5kbGVfZXNkcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBIYW5kbGUgc3RzcyBib3hlcyBzbyB3ZSBjYW4gbWFyayBhbmQgZmluZCBrZXlmcmFtZXMuCgkgIEltcGxlbWVudCBjb3JyZWN0IGFjY3VyYXRlIGFuZCBrZXlmcmFtZSBzZWVraW5nLgoJICBVc2UgX0RFQlVHX09CSkVDVCB3aGVuIHBvc3NpYmxlLgoKMjAwNi0wNC0wMyAxMTowODo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOiBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJICBPbmx5IHJ1biB0aGUgaWQzdjJtdXggY2hlY2sgaWYgdGFnbGliIGlzIGF2YWlsYWJsZSBhbmQKCSAgdGhlIHRhZ2xpYiBwbHVnaW4gaGFzIGJlZW4gYnVpbHQuCgoyMDA2LTA0LTAzIDEwOjU3OjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbTogRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9NYWtlZmlsZS5hbToKCSAgRG9uJ3Qgc2V0IHBsdWdpbmRpci4KCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJICBHU1RfUExVR0lOX0RFRklORV9TVEFUSUMgaXNuJ3QgYSBnb29kIGlkZWEgZm9yIGluc3RhbGxlZCBwbHVnaW5zLgoKMjAwNi0wNC0wMyAxMDo1MTo1NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkgdGhlIGR0cyBwbHVnaW4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgQWRkIEFYX0NSRUFURV9TVERJTlRfSCB0byBjcmVhdGUgX3N0ZGludC5oLCBuZWVkZWQgYnkKCSAgdGhlIGR0cyBwbHVnaW4uCgoyMDA2LTA0LTAzIDEwOjM0OjU0ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgR1NUX09SSUdJTiA9PiBHU1RfUEFDS0FHRV9PUklHSU4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3RoZW9yYS90aGVvcmFkZWMuYzoKCSAgKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJICBHU1RfT1JJR0lOID0+IEdTVF9QQUNLQUdFX09SSUdJTgoJICBHU1RfUEFDS0FHRSA9PiBHU1RfUEFDS0FHRV9OQU1FCgoyMDA2LTA0LTAyIDEwOjQyOjMyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGRvY3MvcGx1Z2lucy86IGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1iejIueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1jZHhhcGFyc2UueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1mcmVlemUueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nbGltYWdlc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLW1vZHBsdWcueG1sOgoJICAqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1uZW9uLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc2RsLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdmlkZW80bGludXgyLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGltYWdlc3JjLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4teGluZ2hlYWRlci54bWw6CgkgIGFkZCBtb3JlIHBsdWdpbnMgdG8gZG9jcwoKMjAwNi0wNC0wMiAwOTozMzoxMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIHRoZSBhbHBoYWJldCwgYSB0cmlja3kgY29uY2VwdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdGhlIGFscGhhYmV0LCBhIHRyaWNreSBjb25jZXB0CgoyMDA2LTA0LTAyIDA5OjE3OjIzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYWRkIGxpYm9pbCBjaGVjaywgZHRzIHVzZXMgaXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBsaWJvaWwgY2hlY2ssIGR0cyB1c2VzIGl0CgoyMDA2LTA0LTAxIDE2OjUwOjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvTWFrZWZpbGUuYW06CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kb2NzLnNnbWw6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy11bmRvY3VtZW50ZWQudHh0OgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zcGVlZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi10YWdsaWIueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkqIHN5cy9keHIzL2FjM19wYWRkZXIuaDoKCSogdGVzdHMvTWFrZWZpbGUuYW06CgkqIHRlc3RzL2NoZWNrLy5naXRpZ25vcmU6CgkqIHRlc3RzL2NoZWNrL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy8uZ2l0aWdub3JlOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy90YWdpZDN2Mm11eC5jOgoJICBhZGQgdGFnbGliIGNoZWNrcyBhbmQgZG9jcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIHRhZ2xpYiBjaGVja3MgYW5kIGRvY3MKCjIwMDYtMDQtMDEgMTU6MzY6MjUgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkgIGRvbid0IHVzZSBBU19MSUJUT09MX1RBR1MsIGl0IGRvZXNuJ3Qgd29yawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgdXNlIEFTX0xJQlRPT0xfVEFHUywgaXQgZG9lc24ndCB3b3JrCgoyMDA2LTA0LTAxIDEwOjE2OjI4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIC5naXRpZ25vcmU6CgkqIGRvY3MvLmdpdGlnbm9yZToKCSogZG9jcy9wbHVnaW5zLy5naXRpZ25vcmU6CgkgIGlnbm9yZSBtb3JlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBpZ25vcmUgbW9yZQoKMjAwNi0wNC0wMSAxMDoxNTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICA1IHNlY29uZCB0aW1lb3V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICA1IHNlY29uZCB0aW1lb3V0CgoyMDA2LTA0LTAxIDEwOjE0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHRlc3RzL2ljbGVzLy5naXRpZ25vcmU6CgkqIHRlc3RzL2ljbGVzL01ha2VmaWxlLmFtOgoJKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOgoJICByZW5hbWUgdGVzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVuYW1lIHRlc3QKCjIwMDYtMDQtMDEgMTA6MDk6MTEgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJKiBleHQvYW1yd2IvZ3N0YW1yd2IuYzoKCSogZXh0L2FydHMvZ3N0X2FydHMuYzoKCSogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmLmM6CgkqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSogZXh0L2J6Mi9nc3RiejIuYzoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2ZhYWQvZ3N0ZmFhZC5jOgoJKiBleHQvaGVybWVzL2dzdGhlcm1lc2NvbG9yc3BhY2UuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzLmM6CgkqIGV4dC9qYWNrL2dzdGphY2suYzoKCSogZXh0L2xjcy9nc3Rjb2xvcnNwYWNlLmM6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOgoJKiBleHQvbXVzaWNicmFpbnovZ3N0dHJtLmM6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc2RsL2dzdHNkbC5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW4uYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmM6CgkqIGdzdC9jZHhhcGFyc2UvZ3N0Y2R4YXBhcnNlLmM6CgkqIGdzdC9jaGFydC9nc3RjaGFydC5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9kZWludGVybGFjZS9nc3RkZWludGVybGFjZS5jOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzoKCSogZ3N0L2ZpbHRlci9nc3RmaWx0ZXIuYzoKCSogZ3N0L2ZyZWV6ZS9nc3RmcmVlemUuYzoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbWl4bWF0cml4L21peG1hdHJpeC5jOgoJKiBnc3QvbXBlZzFzeXMvZ3N0bXBlZzFzeXN0ZW1lbmNvZGUuYzoKCSogZ3N0L21wZWcxdmlkZW9wYXJzZS9nc3RtcDF2aWRlb3BhcnNlLmM6CgkqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L292ZXJsYXkvZ3N0b3ZlcmxheS5jOgoJKiBnc3QvcGFzc3Rocm91Z2gvZ3N0cGFzc3Rocm91Z2guYzoKCSogZ3N0L3BsYXlvbmRlbWFuZC9nc3RwbGF5b25kZW1hbmQuYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJKiBnc3QvcnRqcGVnL2dzdHJ0anBlZy5jOgoJKiBnc3Qvc21vb3RoL2dzdHNtb290aC5jOgoJKiBnc3Qvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGdzdC9zcGVjdHJ1bS9nc3RzcGVjdHJ1bS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N0ZXJlby9nc3RzdGVyZW8uYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3ZiaWRlYy9nc3R2YmlkZWMuYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3ZpcnR1YWxkdWIvZ3N0dmlydHVhbGR1Yi5jOgoJKiBnc3QveGluZ2hlYWRlci9nc3R4aW5nbXV4LmM6CgkqIGdzdC95NG0vZ3N0eTRtZW5jb2RlLmM6CgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllci5jOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZHhyMy9keHIzaW5pdC5jOgoJKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6CgkqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMi5jOgoJKiBzeXMvdmNkL3ZjZHNyYy5jOgoJKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICByZXdvcmsgYnVpbGQ7IGFkZCB0cmFuc2xhdGlvbnMgZm9yIHY0bDIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBidWlsZDsgYWRkIHRyYW5zbGF0aW9ucyBmb3IgdjRsMgoKMjAwNi0wMy0zMSAxNzo1MjozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkgIEFkZCB0ZXN0cyBhbmQgZml4IFBBUiBjYXBzIGlzc3VlIHRvIHhpbWFnZXNyYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzoKCSAgKiB0ZXN0cy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy9NYWtlZmlsZS5hbToKCSAgKiB0ZXN0cy9pY2xlcy94aW1hZ2VzcmMtdGVzdC5jOiAodGVybWluYXRlX3BsYXliYWNrKSwgKG1haW4pOgoJICBBZGQgdGVzdHMgYW5kIGZpeCBQQVIgY2FwcyBpc3N1ZSB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTY6MzI6NDcgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOiBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDMtMzEgIFphaGVlciBBYmJhcyBNZXJhbGkgIDx6YWhlZXJhYmJhcyBhdCBtZXJhbGkgZG90IG9yZz4KCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5jOgoJICBBZGQgZG9jcyB0byB4aW1hZ2VzcmMKCjIwMDYtMDMtMzEgMTU6MjE6MzUgKzAwMDAgIFphaGVlciBBYmJhcyBNZXJhbGkgPHphaGVlcmFiYmFzQG1lcmFsaS5vcmc+CgoJICBzeXMveGltYWdlc3JjLzogRml4IHhpbWFnZXNyYyBzbyBhKSB0aGUgY3Vyc29yIGRvZXNudCB0cmFpbCBhbmQgYikgdGhlcmUgYXJlIG5vIHllbGxvdyByZWN0YW5nbGVzIHdpdGggdGhlIGN1cnNvcgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0zMSAgWmFoZWVyIEFiYmFzIE1lcmFsaSAgPHphaGVlcmFiYmFzIGF0IG1lcmFsaSBkb3Qgb3JnPgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdlc3JjLmM6IChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfZ2V0X2NhcHMpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KToKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXNyYy5oOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5jOiAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpOgoJICAqIHN5cy94aW1hZ2VzcmMveGltYWdldXRpbC5oOgoJICBGaXggeGltYWdlc3JjIHNvIGEpIHRoZSBjdXJzb3IgZG9lc250IHRyYWlsIGFuZCBiKSB0aGVyZSBhcmUgbm8KCSAgeWVsbG93IHJlY3RhbmdsZXMgd2l0aCB0aGUgY3Vyc29yCgoyMDA2LTAzLTMxIDE0OjI2OjA1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBjb25maWd1cmUuYWM6IEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIEFkZCBhdXRvY29uZmVyeSBmb3IgdGhlb3JhZGVjLgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIHRoZW9yYSBkaXJlY3RvcnkuCgkgICogZXh0L3RoZW9yYS9NYWtlZmlsZS5hbToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5jOiAoZ3N0X3RoZW9yYWRlY19iYXNlX2luaXQpLAoJICAoZ3N0X3RoZW9yYWRlY19jbGFzc19pbml0KSwgKGdzdF90aGVvcmFkZWNfaW5pdCksCgkgIChnc3RfdGhlb3JhZGVjX3Jlc2V0KSwgKGluY19ncmFudWxlcG9zKSwgKHRoZW9yYV9nZXRfcXVlcnlfdHlwZXMpLAoJICAoZ3N0X3RoZW9yYWRlY19ncmFudWxlX2Nsb2NrdGltZSksICh0aGVvcmFfZGVjX3NyY19jb252ZXJ0KSwKCSAgKHRoZW9yYV9kZWNfc2lua19jb252ZXJ0KSwgKHRoZW9yYV9kZWNfc3JjX3F1ZXJ5KSwKCSAgKHRoZW9yYV9kZWNfc2lua19xdWVyeSksICh0aGVvcmFfZGVjX3NyY19ldmVudCksCgkgICh0aGVvcmFfZGVjX3NpbmtfZXZlbnQpLCAodGhlb3JhX2hhbmRsZV9jb21tZW50X3BhY2tldCksCgkgICh0aGVvcmFfaGFuZGxlX3R5cGVfcGFja2V0KSwgKHRoZW9yYV9oYW5kbGVfaGVhZGVyX3BhY2tldCksCgkgICh0aGVvcmFfZGVjX3B1c2gpLCAodGhlb3JhX2hhbmRsZV9kYXRhX3BhY2tldCksICh0aGVvcmFfZGVjX2NoYWluKSwKCSAgKHRoZW9yYV9kZWNfY2hhbmdlX3N0YXRlKSwgKHBsdWdpbl9pbml0KToKCSAgKiBleHQvdGhlb3JhL3RoZW9yYWRlYy5oOgoJICBBZGQgdGhlb3JhIHBsdWdpbiBmb3IgdGhlb3JhLWV4cCBkZWNvZGVyLiBWZXJ5IGhlYXZpbHkgYmFzZWQgb24gdGhlCgkgIGV4aXN0aW5nIHRoZW9yYSBkZWNvZGVyIHBsdWdpbi4KCjIwMDYtMDMtMjkgMTY6NTQ6MTIgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBleHQvZ3NtLzogQ2xlYW51cHMsIGZpeCBsZWFrcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuYzogKGdzdF9nc21kZWNfY2xhc3NfaW5pdCksIChnc3RfZ3NtZGVjX2luaXQpLAoJICAoZ3N0X2dzbWRlY19maW5hbGl6ZSksIChnc3RfZ3NtZGVjX3NpbmtfZXZlbnQpLCAoZ3N0X2dzbWRlY19jaGFpbik6CgkgICogZXh0L2dzbS9nc3Rnc21kZWMuaDoKCSAgKiBleHQvZ3NtL2dzdGdzbWVuYy5jOiAoZ3N0X2dzbWVuY19jbGFzc19pbml0KSwgKGdzdF9nc21lbmNfaW5pdCksCgkgIChnc3RfZ3NtZW5jX2ZpbmFsaXplKSwgKGdzdF9nc21lbmNfY2hhaW4pOgoJICBDbGVhbnVwcywgZml4IGxlYWtzLgoJICBIYW5kbGUgZXZlbnRzIGFuZCBESVNDT05ULgoJICBVc2UgYWRhcHRlciBpbiB0aGUgZGVjb2Rlci4KCjIwMDYtMDMtMjkgMTY6NTA6MDggKzAwMDAgIFJlbmF0byBBcmF1am8gT2xpdmVpcmEgRmlsaG8gPHJlbmF0b3hAZ21haWwuY29tPgoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBSZW5hdG8gQXJhdWpvIE9saXZlaXJhIEZpbGhvIDxyZW5hdG94IGF0IGdtYWlsIGRvdCBjb20+CgkgICogY29uZmlndXJlLmFjOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvTWFrZWZpbGUuYW06CgkgICogZXh0L2FtcndiL1JFQURNRToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9NYWtlZmlsZS5hbToKCSAgKiBleHQvYW1yd2IvYW1yd2ItY29kZS9ydW4uc2g6CgkgICogZXh0L2FtcndiL2dzdGFtcndiLmM6IChwbHVnaW5faW5pdCk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmM6IChnc3RfYW1yd2JkZWNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmRlY19pbml0KSwKCSAgKGdzdF9hbXJ3YmRlY19zZXRjYXBzKSwgKGdzdF9hbXJ3YmRlY19ldmVudCksIChnc3RfYW1yd2JkZWNfY2hhaW4pLAoJICAoZ3N0X2FtcndiZGVjX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZGVjLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmM6IChnc3RfYW1yd2JlbmNfYmFzZV9pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19jbGFzc19pbml0KSwgKGdzdF9hbXJ3YmVuY19pbml0KSwKCSAgKGdzdF9hbXJ3YmVuY19maW5hbGl6ZSksIChnc3RfYW1yd2JlbmNfc2V0Y2FwcyksCgkgIChnc3RfYW1yd2JlbmNfY2hhaW4pLCAoZ3N0X2FtcndiZW5jX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndiZW5jLmg6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuYzogKGdzdF9hbXJ3YnBhcnNlX2Jhc2VfaW5pdCksCgkgIChnc3RfYW1yd2JwYXJzZV9jbGFzc19pbml0KSwgKGdzdF9hbXJ3YnBhcnNlX2luaXQpLAoJICAoZ3N0X2FtcndicGFyc2VfcXVlcnl0eXBlcyksIChnc3RfYW1yd2JwYXJzZV9xdWVyeSksCgkgIChnc3RfYW1yd2JwYXJzZV9jaGFpbiksIChnc3RfYW1yd2JwYXJzZV9yZWFkX2hlYWRlciksCgkgIChnc3RfYW1yd2JwYXJzZV9sb29wKSwgKGdzdF9hbXJ3YnBhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X2FtcndicGFyc2Vfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9hbXJ3YnBhcnNlX3N0YXRlX2NoYW5nZSk6CgkgICogZXh0L2FtcndiL2dzdGFtcndicGFyc2UuaDoKCSAgQWRkZWQgbmV3IHBsdWdpbiBhbXJ3YiBwYXJzZS4KCSAgUmVuYW1lZCBhdWRpby9BTVIgdG8gYXVkaW8vQU1SLVdCIGFzIHBlciBzcGVjLgoJICBGaXhlcyAjMzMzMzA3CgoyMDA2LTAzLTI3IDE3OjA2OjQ1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSAgU21hbGwgZml4LCBub3cgcHdjIGRyaXZlciBjYW4gdGVsbCBhYm91dCBpdHMgYnVmZmVycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNtYWxsIGZpeCwgbm93IHB3YyBkcml2ZXIgY2FuIHRlbGwgYWJvdXQgaXRzIGJ1ZmZlcnMuCgoyMDA2LTAzLTI3IDEwOjEzOjQ3ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgY29uZmlndXJlLmFjOiBSZW1vdmUgQ1hYIHRhZyBmcm9tIEFTX0xJQlRPT0xfVEFHUywganVzdCBsaWtlIHdlIGRpZCBmb3IgLWdvb2QgYW5kIC11Z2x5LiBGaXhlcyBidWlsZCBvbiBzb21lIHN5c3RlbXMgLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgUmVtb3ZlIENYWCB0YWcgZnJvbSBBU19MSUJUT09MX1RBR1MsIGp1c3QgbGlrZSB3ZQoJICBkaWQgZm9yIC1nb29kIGFuZCAtdWdseS4gRml4ZXMgYnVpbGQgb24gc29tZSBzeXN0ZW1zCgkgIGFuZCBkb2Vzbid0IHNlZW0gdG8gYmUgcmVxdWlyZWQgZm9yIEMrKyBjb2RlLgoKMjAwNi0wMy0yNiAxOTo1NjozNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLio6IEZpeCBuZXdzZWdtZW50IGV2ZW50IGhhbmRsaW5nIGEgYml0LiBXZSBuZWVkIHRvIGNhY2hlIHRoZSBmaXJzdCBuZXdzZWdtZW50IGV2ZW50LCBiZWNhdXNlIHdlIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5oOgoJICBGaXggbmV3c2VnbWVudCBldmVudCBoYW5kbGluZyBhIGJpdC4gV2UgbmVlZCB0bwoJICBjYWNoZSB0aGUgZmlyc3QgbmV3c2VnbWVudCBldmVudCwgYmVjYXVzZSB3ZSBjYW4ndAoJICBhZGp1c3Qgb2Zmc2V0cyB5ZXQgd2hlbiB3ZSBnZXQgaXQsIGFzIHdlIGRvbid0CgkgIGtub3cgdGhlIHNpemUgb2YgdGhlIHRhZyB5ZXQgZm9yIHN1cmUgYXQgdGhhdCBwb2ludC4KCSAgQWxzbyBkbyBzb21lIG1pbm9yIGNsZWFuaW5nIHVwIGhlcmUgYW5kIHRoZXJlIGFuZCBhZGQKCSAgc29tZSBkZWJ1ZyBzdGF0ZW1lbnRzLgoKMjAwNi0wMy0yNSAyMTo1NzoyNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBXZSBkbyBub3Qgd2FudCB0byBwcm94eSB0aGUgY2FwcyBvbiB0aGUgc2luayBwYWQ7IG91ciBzb3VyY2UgcGFkIHNob3VsZCBoYXZlIGFwcGxpY2F0aW9uL3gtaS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzoKCSAgV2UgZG8gbm90IHdhbnQgdG8gcHJveHkgdGhlIGNhcHMgb24gdGhlIHNpbmsgcGFkOyBvdXIKCSAgc291cmNlIHBhZCBzaG91bGQgaGF2ZSBhcHBsaWNhdGlvbi94LWlkMyBjYXBzOyBhbHNvLAoJICBkb24ndCB1c2UgYWxyZWFkeS1mcmVlZCBzdHJpbmdzIGluIGRlYnVnIG1lc3NhZ2VzOwoJICBmaW5hbGx5LCBhZGp1c3QgYnVmZmVyIG9mZnNldHMgb24gYnVmZmVycyBzZW50IG91dC4KCjIwMDYtMDMtMjUgMTM6MDI6NTUgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyc3JjLmM6IE9sZGVyIGtlcm5lbHMgZG9uJ3Qgc2VlbSB0byBoYXZlIHRoaXMgcGFydGljdWxhciB2NGwyIGZvcm1hdCwgc28gY29tbWVudCBvdXQgdW50aWwgdGhpcyBnZXRzIGYuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJICBPbGRlciBrZXJuZWxzIGRvbid0IHNlZW0gdG8gaGF2ZSB0aGlzIHBhcnRpY3VsYXIgdjRsMiBmb3JtYXQsCgkgIHNvIGNvbW1lbnQgb3V0IHVudGlsIHRoaXMgZ2V0cyBmaXhlZCBwcm9wZXJseSAoYW5kIG1ha2UKCSAgYnVpbGRib3RzIGhhcHB5KS4KCjIwMDYtMDMtMjUgMDU6MzE6MjggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBzeXMvdjRsMi9nc3R2NGwyY29sb3JiYWxhbmNlLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5oOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBKdXN0IG1ha2UgZmV3IHRoaW5ncyBtb3JlIHJvYnVzdCBhbmQgYWxzbyBzb21lIGlkZW50YXRpb24uCgoyMDA2LTAzLTIzIDA5OjE1OjA5ICswMDAwICBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXdAc2t5bmV0LmJlPgoKCSAgZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOiBQYXRjaCB0byBtYXJrIG91dGdvaW5nIGVuY29kZWQgYnVmZmVycyBhcyBkZWx0YS11bml0cyAob3Igbm90KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBNYXJrIE5hdXdlbGFlcnRzIDxtYW5hdXcgYXQgc2t5bmV0IGRvdCBiZT4KCSAgKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6IChnc3RfeHZpZGVuY19pbml0KSwgKGdzdF94dmlkZW5jX3NldHVwKSwKCSAgKGdzdF94dmlkZW5jX2NoYWluKToKCSAgUGF0Y2ggdG8gbWFyayBvdXRnb2luZyBlbmNvZGVkIGJ1ZmZlcnMgYXMgZGVsdGEtdW5pdHMgKG9yIG5vdCkuCgkgIE5vdGUgdGhhdCB0aGlzIHBhdGNoIGFsc28gcGF0Y2hlczoKCSAgLSB0aGUgc2V0dGluZyBvZiBmaW5jciBhbmQgZmJhc2UgaW4geHZpZC1lbmNvZGVyIGNyZWF0aW9uIGJhc2VkIG9uCgkgIGNhcHMgZnJhbWVyYXRlCgkgIC0gbWFrZXMgMCwgcmF0aGVyIHRoYW4gMiwgdGhlIGRlZmF1bHQgbWF4X2JfZnJhbWVzLCBhcyB0aGUgY3VycmVudAoJICB4dmlkZW5jIGRvZXMgbm90IHNlZW0gImZ1bGx5IHByZXBhcmVkIiB0byBoYW5kbGUgYi1mcmFtZQoJICAiZWZmZWN0cyIsIHN1Y2ggYXMgZW5jb2RlciByZXR1cm5pbmcgMCBlbmNvZGVkIGJ5dGVzLCBldGMuCgkgIEZpeGVzICMzMzU1ODUKCjIwMDYtMDMtMjIgMTk6NTE6MjkgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgbGF0ZXN0IHBsdWdpbnMgYWRkaXRpb25zCgoyMDA2LTAzLTIyIDE3OjEzOjMyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy86IFRyeSB0aGF0IGFnYWluIChub3Qgb25seSBzaG91bGQgaXQgYmUgTU9EUExVR18gaW5zdGVhZCBvZiBNT0RGSUxFLCBhbHNvIHRoYXQgZGVmaW5lIGlzIGFscmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvTWFrZWZpbGUuYW06CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX2l0LmNwcDoKCSAgVHJ5IHRoYXQgYWdhaW4gKG5vdCBvbmx5IHNob3VsZCBpdCBiZSBNT0RQTFVHXyBpbnN0ZWFkCgkgIG9mIE1PREZJTEUsIGFsc28gdGhhdCBkZWZpbmUgaXMgYWxyZWFkeSBzZXQgaW4gc3RkYWZ4Lmg7CgkgIHdoYXQgd2UgcmVhbGx5IG5lZWQgaXMgc29tZSBtb3JlICNpZm5kZWZzKS4KCjIwMDYtMDMtMjIgMTU6MDI6NTggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL01ha2VmaWxlLmFtOiBNb3JlIGdjYy00LjEgZml4ZXMgKHdlIGRvbid0IG5lZWQgZmlsZSBzYXZpbmcsIHNvIGp1c3QgZGVmaW5lIE1PRFBMVUdfTk9fRklMRVNBVkUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9NYWtlZmlsZS5hbToKCSAgTW9yZSBnY2MtNC4xIGZpeGVzICh3ZSBkb24ndCBuZWVkIGZpbGUgc2F2aW5nLCBzbyBqdXN0CgkgIGRlZmluZSBNT0RQTFVHX05PX0ZJTEVTQVZFLiBUaGF0IHdheSwgdGhlIGNvbXBpbGVyIHdvbid0CgkgIGNvbXBsYWluIGFib3V0IG1vZHBsdWcgaWdub3JpbmcgdGhlIHJldHVybiB2YWx1ZSBvZiBmd3JpdGUKCSAgYW55IGxvbmdlciBhbmQgd2UgbWlnaHQgZXZlbiBzYXZlIGEgZmV3IGJ5dGVzIGFzIHdlbGwpLgoKMjAwNi0wMy0yMiAxNDozMTo0NyArMDAwMCAgV291dGVyIFBhZXNvbiA8d291dGVyQGthbmdhcm9vdC5uZXQ+CgoJICBBZGQgbmV3IGxpYnNvdW5kdG91Y2gtYmFzZWQgcGl0Y2ggcGx1Z2luICgjMzMxMzM1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFBhdGNoIGJ5OiBXb3V0ZXIgUGFlc29uICA8d291dGVyIGF0IGthbmdhcm9vdCBkb3QgbmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvTWFrZWZpbGUuYW06CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guY2M6CgkgICogZXh0L3NvdW5kdG91Y2gvZ3N0cGl0Y2guaGg6CgkgIEFkZCBuZXcgbGlic291bmR0b3VjaC1iYXNlZCBwaXRjaCBwbHVnaW4gKCMzMzEzMzUpLgoKMjAwNi0wMy0yMSAxNjowMjowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvbG9hZF9wdG0uY3BwOiBGaXggY29tcGlsYXRpb24gd2l0aCBnY2MtNC4xIGFuZCAtV2Vycm9yICgjMzI3MzU1KS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9sb2FkX3B0bS5jcHA6CgkgIEZpeCBjb21waWxhdGlvbiB3aXRoIGdjYy00LjEgYW5kIC1XZXJyb3IgKCMzMjczNTUpLgoKMjAwNi0wMy0yMCAwODo1OToyOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6IEZpeCBsZWZ0LW92ZXIgZ3N0X215X2ZpbHRlcl9nZXRfdHlwZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDoKCSAgRml4IGxlZnQtb3ZlciBnc3RfbXlfZmlsdGVyX2dldF90eXBlLgoKMjAwNi0wMy0xNyAxNjozNDozNiArMDAwMCAgWmFoZWVyIEFiYmFzIE1lcmFsaSA8emFoZWVyYWJiYXNAbWVyYWxpLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSGF2ZSBhIHNob3cgbW91c2UgcG9pbnRlciBwcm9wZXJ0eSBhbmQgdXNlIGl0IGlmIHdlIGNhbgoKMjAwNi0wMy0xNSAxNTowODoyMCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogTGV0J3Mgbm90IGZvcmdldCB0byBjaGFpbiB1cCB0byB0aGUgcGFyZW50IGRpc3Bvc2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2Rpc3Bvc2UpOgoJICBMZXQncyBub3QgZm9yZ2V0IHRvIGNoYWluIHVwIHRvIHRoZSBwYXJlbnQgZGlzcG9zZS4KCjIwMDYtMDMtMTUgMTQ6Mzk6MjUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2luaXQpLCAoZ3N0X3F0ZGVtdXhfZGlzcG9zZSksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIFNlcmllcyBvZiBtZW1sZWFrIGZpeGVzOgoJICAtIFVucmVmIHRoZSBHc3RBZGFwdGVyIGluIGZpbmFsaXplLgoJICAtIFVzZSBnc3RfcGFkX25ld19mcm9tX3N0YXRpY190ZW1wbGF0ZSgpLCBzaG9ydGVyIGFuZCBzYWZlci4KCSAgLSBGcmVlIHVudXNlZCBRdERlbXV4U3RyZWFtIHdoZW4gbm90IHVzZWQuCgoyMDA2LTAzLTE0IDE3OjI0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiBJbml0aWFsaXphdGlvbiBvZiB0aGUgZGVidWdnaW5nIGNhdGVnb3J5IHNob3VsZCBiZSBhcyBlYXJseSBhcyBwb3NzaWJsZSwgbW92aW5nIGl0IGZyb20gX2NsYXNzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfdjRsMnNyY19jbGFzc19pbml0KToKCSAgSW5pdGlhbGl6YXRpb24gb2YgdGhlIGRlYnVnZ2luZyBjYXRlZ29yeSBzaG91bGQgYmUgYXMgZWFybHkgYXMgcG9zc2libGUsCgkgIG1vdmluZyBpdCBmcm9tIF9jbGFzc19pbml0KCkgdG8gYmVnaW5uaW5nIG9mIF9iYXNlX2luaXQoKS4KCjIwMDYtMDMtMTMgMTc6MjI6MTkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliL2dzdHRhZ2xpYi5jYzogQWRkIGd0ay1kb2MgYmx1cmIgKHVudXNlZCBmb3IgdGhlIHRpbWUgYmVpbmcpOyBtYXRjaCByZWdpc3RlcmVkIHBsdWdpbiBuYW1lIHRvIHRoZSBmaWxlbmFtZSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgIEFkZCBndGstZG9jIGJsdXJiICh1bnVzZWQgZm9yIHRoZSB0aW1lIGJlaW5nKTsgbWF0Y2ggcmVnaXN0ZXJlZAoJICBwbHVnaW4gbmFtZSB0byB0aGUgZmlsZW5hbWUgb2YgdGhlIHBsdWdpbiAodGFnbGlibXV4ID0+IHRhZ2xpYikKCjIwMDYtMDMtMTMgMTI6MTQ6MTggKzAwMDAgIE1pa2hhaWwgWmFiYWx1ZXYgPG1oekBhbHRsaW51eC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBEb24ndCBjaGVjayBmb3IgZmlsZSB0aGF0IG9ubHkgZXhpc3RzIGluIENWUyBidXQgaXNuJ3QgZGlzdGVkICgjMzM0NDE3KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUGF0Y2ggYnk6IE1pa2hhaWwgWmFiYWx1ZXYgIDxtaHogYWx0bGludXggb3JnPgoJICAqIGF1dG9nZW4uc2g6CgkgIERvbid0IGNoZWNrIGZvciBmaWxlIHRoYXQgb25seSBleGlzdHMgaW4gQ1ZTIGJ1dCBpc24ndAoJICBkaXN0ZWQgKCMzMzQ0MTcpCgoyMDA2LTAzLTEzIDEwOjA1OjA5ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEZpeCBidWlsZCBvZiB2NGwyIChzaWdoKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMyAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIHN5cy92NGwyL01ha2VmaWxlLmFtOiBGaXggYnVpbGQgb2YgdjRsMiAoc2lnaCkKCjIwMDYtMDMtMTIgMjM6NTY6NDcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBGaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBNYWtlZmlsZS5hbToKCSAgKiBjb25maWd1cmUuYWM6CgkgIEZpeCBkaXN0Y2hlY2suCgoyMDA2LTAzLTEyIDE1OjMzOjAwICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiBnX2F0b21pY19pbnRfc2V0IGlzIG9ubHkgYXZhaWxhYmxlIGluIGdsaWItMC4xMCwgdXNlIGdzdF9hdG9taWNfaW50X2V0IGluc3RlYWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuYzogKGdzdF92NGwyc3JjX2NhcHR1cmVfaW5pdCksCgkgIChnc3RfdjRsMnNyY19idWZmZXJfcG9vbF9mcmVlKToKCSAgZ19hdG9taWNfaW50X3NldCBpcyBvbmx5IGF2YWlsYWJsZSBpbiBnbGliLTAuMTAsIHVzZSBnc3RfYXRvbWljX2ludF9ldAoJICBpbnN0ZWFkLgoKMjAwNi0wMy0xMiAxNToyNTo1MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50Lmg6IFJlbW92ZSB0aW0ncyBhZGRpdGlvbiBvZiAiX3N0ZGludC5oIiBzaW5jZSBpdCBkb2Vzbid0IG1ha2UgdGhlIFBQQyBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgUmVtb3ZlIHRpbSdzIGFkZGl0aW9uIG9mICJfc3RkaW50LmgiIHNpbmNlIGl0IGRvZXNuJ3QgbWFrZSB0aGUgUFBDCgkgIGJ1aWxkYm90IGhhcHB5LgoJICBJIHdpbGwganVzdCB1c2UgdGhlIHNhbWUgY29tbWVudCBSb25hbGQgdXNlZCB3aGVuIGhlIGFkZGVkIHRoZXNlIGxpbmVzOgoJICBZZXQgQW5vdGhlciBIYWNrICh0bSkgZm9yIGtlcm5lbCBoZWFkZXIgYm9ya2VkbmVzcy4KCjIwMDYtMDMtMTIgMTU6MDI6MDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvdGFnbGliLzogQWRkIHN1cHBvcnQgZm9yIHdyaXRpbmcgTXVzaWNCcmFpbnogSURzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvdGFnbGliL01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmg6CgkgIEFkZCBzdXBwb3J0IGZvciB3cml0aW5nIE11c2ljQnJhaW56IElEcy4KCjIwMDYtMDMtMTIgMTQ6NDM6NTcgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBzeXMvdjRsMi9nc3R2NGwyZWxlbWVudC5oOiBJbmNsdWRlICJfc3RkaW50LmgiIGluIGFuIGF0dGVtcHQgdG8gbWFrZSB0aGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSAgSW5jbHVkZSAiX3N0ZGludC5oIiBpbiBhbiBhdHRlbXB0IHRvIG1ha2UgdGhlCgkgIFBQQy1idWlsZGJvdCBoYXBweS4KCjIwMDYtMDMtMTEgMjI6NTA6MDMgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBzeXMvTWFrZWZpbGUuYW06CgkqIHN5cy92NGwyL01ha2VmaWxlLmFtOgoJKiBzeXMvdjRsMi9nc3R2NGwyLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuYzoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOgoJKiBzeXMvdjRsMi9nc3R2NGwyc3JjLmg6CgkqIHN5cy92NGwyL2dzdHY0bDJ0dW5lci5jOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJ4b3ZlcmxheS5oOgoJKiBzeXMvdjRsMi92NGwyX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuaDoKCSogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmg6CgkgIFY0TDIgcG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBWNEwyIHBvcnRlZCB0byAwLjEwLgoKMjAwNi0wMy0xMSAxNzowODozMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogT25seSBjb21waWxlIHRoZSB0YWdsaWIgcGx1Z2luIGlmIGEgQysrIGNvbXBpbGVyIGlzIHByZXNlbnQuIFVzZSBHU1RfREVGQVVMVF9FTEVNRU5UUyBtYWNybyBmcm9tIGNvbW1vbi4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIE9ubHkgY29tcGlsZSB0aGUgdGFnbGliIHBsdWdpbiBpZiBhIEMrKyBjb21waWxlciBpcwoJICBwcmVzZW50LiBVc2UgR1NUX0RFRkFVTFRfRUxFTUVOVFMgbWFjcm8gZnJvbSBjb21tb24vCgkgIGZvciBhbGwgdGhlIGRlZmF1bHRzIHN0dWZmLgoKMjAwNi0wMy0xMSAxMToxMjozMCArMDAwMCAgQ2hyaXN0b3BoZSBGZXJnZWF1IDx0ZXVmQGdub21lLm9yZz4KCgkgIGFkZGVkIG5ldyBlbGVtZW50IHRvIGFkZCBYaW5nIGhlYWRlcnMgdG8gTVAzIGZpbGVzICh0aGlzIGFsbG93cyBkZWNvZGVyIHRvIGZpZ3VyZSBvdXQgdGhlIGxlbmd0aCBvZiBWQlIgZmlsZXMpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTExICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgUmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZ3N0L3hpbmdoZWFkZXIvTWFrZWZpbGUuYW06CgkgICogZ3N0L3hpbmdoZWFkZXIvZ3N0eGluZ211eC5jOgoJICAqIGdzdC94aW5naGVhZGVyL2dzdHhpbmdtdXguaDogYWRkZWQgbmV3IGVsZW1lbnQgdG8gYWRkIFhpbmcgaGVhZGVycwoJICB0byBNUDMgZmlsZXMgKHRoaXMgYWxsb3dzIGRlY29kZXIgdG8gZmlndXJlIG91dCB0aGUgbGVuZ3RoIG9mIFZCUgoJICBmaWxlcykKCjIwMDYtMDMtMTEgMTA6NTg6MDggKzAwMDAgIEFsZXggTGFuY2FzdGVyIDxhbGV4bGFuQGZlZG9yYXByb2plY3Qub3JnPgoKCSAgZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6IGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMSAgQ2hyaXN0b3BoZSBGZXJnZWF1ICA8dGV1ZkBnbm9tZS5vcmc+CgkgIFBhdGNoIGJ5OiBBbGV4IExhbmNhc3RlcgoJICAqIGV4dC90YWdsaWIvZ3N0dGFnbGliLmNjOiBmaXggd3JpdGluZyBvZiBUUE9TIHRhZ3MgKGFsYnVtIG51bWJlciksCgkgIGFuZCBhZGQgc3VwcG9ydCBmb3IgVENPUCAoY29weXJpZ2h0KQoKMjAwNi0wMy0xMCAyMjo0MToxNCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3QvbW9kcGx1Zy86IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMy0xMCAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6IEZpeCBtb2RwbHVnIGNvbXBpbGF0aW9uLgoKMjAwNi0wMy0xMCAxNzoxMDowOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvbW9kcGx1Zy9NYWtlZmlsZS5hbToKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5jYzoKCSogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuY3BwOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL3NuZGZpbGUuaDoKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6ICogY29uZmlndXJlLmFjOiAqIGdzdC9tb2RwbHVnL01ha2VmaWxlLmFtOiAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6ICogZ3N0L21vZHBsdWcvZ3N0bW9kcGx1Zy5oOiAqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc25kZmlsZS5jcHA6ICogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6IG1vZHBsdWcgcGx1Z2luIHBvcnRlZCB0byAwLjEwICgjMzMyNTk4LCBwYXRjaCBieTogSm9uYXRoYW4gTWF0dGhldyA8am9uYXRoYW4gYXQga2FvbGluIHdoOSBuZXQ+KS4KCjIwMDYtMDMtMTAgMTM6NDk6MjMgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbGlibW1zL2dzdG1tcy4qOiBTb21lIGNsZWFuLXVwczsgbW9yZSBkZWJ1ZyBvdXRwdXQ7IHVzZSBibG9ja3NpemUgcHJvcGVydHkgb2YgR3N0QmFzZVNyYyBpbnN0ZWFkIG9mIHJlLXJlZ2lzdGVyaW4uLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xpYm1tcy9nc3RtbXMuYzogKGdzdF9tbXNfdXJpaGFuZGxlcl9pbml0KSwKCSAgKGdzdF9tbXNfYmFzZV9pbml0KSwgKGdzdF9tbXNfY2xhc3NfaW5pdCksIChnc3RfbW1zX2luaXQpLAoJICAoZ3N0X21tc19maW5hbGl6ZSksIChnc3RfbW1zX2NyZWF0ZSksIChnc3RfbW1zX3N0YXJ0KSwKCSAgKGdzdF9tbXNfc2V0X3Byb3BlcnR5KSwgKGdzdF9tbXNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9tbXNfdXJpX2dldF91cmkpOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIFNvbWUgY2xlYW4tdXBzOyBtb3JlIGRlYnVnIG91dHB1dDsgdXNlIGJsb2Nrc2l6ZSBwcm9wZXJ0eQoJICBvZiBHc3RCYXNlU3JjIGluc3RlYWQgb2YgcmUtcmVnaXN0ZXJpbmcgb3VyIG93bjsgbWFrZSBkZWJ1ZwoJICBjYXRlZ29yeSBhY3R1YWxseSBiZSB1c2VkLgoKMjAwNi0wMy0wOSAyMDowMjo0NCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRml4IGJ1aWxkIHdpdGggZ2NjLTQuMSAoIzMyNzM1NSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpOgoJICBGaXggYnVpbGQgd2l0aCBnY2MtNC4xICgjMzI3MzU1KS4KCjIwMDYtMDMtMDkgMTc6NDQ6MTcgKzAwMDAgIENocmlzdG9waGUgRmVyZ2VhdSA8dGV1ZkBnbm9tZS5vcmc+CgoJICBuZXcgaWQzdjIgbXV4ZXIgYmFzZWQgb24gVGFnTGliCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAzLTA5ICBDaHJpc3RvcGhlIEZlcmdlYXUgIDx0ZXVmQGdub21lLm9yZz4KCSAgcmV2aWV3ZWQgYnk6IFRpbS1QaGlsaXBwIE3DvGxsZXIgIDx0aW0gYXQgY2VudHJpY3VsYXIgZG90IG5ldD4KCSAgKiBjb25maWd1cmUuYWM6CgkgICogZXh0L01ha2VmaWxlLmFtOgoJICAqIGV4dC90YWdsaWIvTWFrZWZpbGUuYW06CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuY2M6CgkgICogZXh0L3RhZ2xpYi9nc3R0YWdsaWIuaDogbmV3IGlkM3YyIG11eGVyIGJhc2VkIG9uIFRhZ0xpYgoKMjAwNi0wMy0wOCAxMjoxNjoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogRXh0cmFjdCBkaXNjIG51bWJlciBhbmQgY291bnQgZnJvbSBmaWxlcyB0aGF0IHVzZSAnZGlzaycgaW5zdGVhZCBvZiAnZGlzYycgYXMgbm9kZSBpZGVudGlmaWVyIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3VkdGEpOgoJICBFeHRyYWN0IGRpc2MgbnVtYmVyIGFuZCBjb3VudCBmcm9tIGZpbGVzIHRoYXQgdXNlCgkgICdkaXNrJyBpbnN0ZWFkIG9mICdkaXNjJyBhcyBub2RlIGlkZW50aWZpZXIgZm9yIHRoYXQKCSAgKGZpeGVzICMzMzIwNjYpLgoKMjAwNi0wMy0wNiAxMzoxNTowNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZvcmdvdCB0aG9zZSB0d28uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5oOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOiAoZ3N0X211c2VwYWNrX3JlYWRlcl9wZWVrKToKCSAgRm9yZ290IHRob3NlIHR3by4KCjIwMDYtMDMtMDYgMTM6MTM6NDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogU29tZSBjbGVhbnVwczsgcGF1c2UgdGFzayB3aGVuIHB1c2ggZmFpbHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2Jhc2VfaW5pdCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF9tdXNlcGFja2RlY19oYW5kbGVfc2Vla19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfZ2V0X3NyY19xdWVyeV90eXBlcyksIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja19zdHJlYW1faW5pdCksIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZSksCgkgIChnc3RfbXVzZXBhY2tkZWNfc2lua19hY3RpdmF0ZV9wdWxsKSwgKGdzdF9tdXNlcGFja2RlY19sb29wKSwKCSAgKGdzdF9tdXNlcGFja2RlY19jaGFuZ2Vfc3RhdGUpOgoJICBTb21lIGNsZWFudXBzOyBwYXVzZSB0YXNrIHdoZW4gcHVzaCBmYWlscy4KCjIwMDYtMDMtMDUgMTM6MDM6NDAgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciAnM0lWRCcgZm91cmNjICgjMzMzNDAzKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF92aWRlb19jYXBzKToKCSAgQWRkIHN1cHBvcnQgZm9yICczSVZEJyBmb3VyY2MgKCMzMzM0MDMpLgoKMjAwNi0wMy0wNCAyMDowNDoxMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQWRkIHF1ZXJ5IGZ1bmN0aW9uIGZvciBwb3NpdGlvbi9kdXJhdGlvbiBxdWVyeWluZyAobW9zdGx5IGZvciByYXcgQUFDIHN0cmVhbXMpOyBtYWtlIHNlZWtpbmcgaW4gci4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX3NlbmRfdGFncyksCgkgIChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2RvX3Jhd19zZWVrKSwgKGdzdF9mYWFkX3NyY19ldmVudCksCgkgIChnc3RfZmFhZF9zaW5rX2V2ZW50KSwgKGdzdF9mYWFkX3NyY19jb252ZXJ0KSwKCSAgKGdzdF9mYWFkX3NyY19xdWVyeSksIChnc3RfZmFhZF9jaGFpbiksIChnc3RfZmFhZF9jaGFuZ2Vfc3RhdGUpOgoJICBBZGQgcXVlcnkgZnVuY3Rpb24gZm9yIHBvc2l0aW9uL2R1cmF0aW9uIHF1ZXJ5aW5nIChtb3N0bHkgZm9yCgkgIHJhdyBBQUMgc3RyZWFtcyk7IG1ha2Ugc2Vla2luZyBpbiByYXcgQUFDIHN0cmVhbXMgd29yazsgcG9zdAoJICB0YWdzIHdpdGggY29kZWMgbmFtZSBpZiB0aGlzIGlzIGEgcmF3IEFBQyBzdHJlYW0uCgoyMDA2LTAzLTAzIDIzOjQ1OjIzICswMDAwICBTw6liYXN0aWVuIE1vdXR0ZSA8c2ViYXN0aWVuQG1vdXR0ZS5uZXQ+CgoJICBzeXMvOiBzaW5rcyBhcmUgbm93IHVzaW5nIEdTVF9SQU5LX1BSSU1BUlkgdG8gYmUgdXNlZCB3aXRoIGF1dG9kZWN0ZWN0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIHN5cy9kaXJlY3RkcmF3OgoJICAqIHN5cy9kaXJlY3Rzb3VuZDoKCSAgc2lua3MgYXJlIG5vdyB1c2luZyBHU1RfUkFOS19QUklNQVJZIHRvIGJlIHVzZWQgd2l0aCBhdXRvZGVjdGVjdGlvbgoJICAqIHdpbjMyL3ZzNjoKCSAgcHJvamVjdCBmaWxlcyB1cGRhdGVkIHRvIGZpeCBzb21lIGJ1Z3MKCSAgKiB3aW4zMi92czc6CgkgICogd2luMzIvdnM4OgoJICB2czcgYW5kIHZzOCBwcm9qZWN0IGZpbGVzIGFkZGVkCgoyMDA2LTAzLTAzIDE4OjEwOjEyICswMDAwICBKZW5zIEdyYW5zZXVlciA8amVuc2dyQGdteC5uZXQ+CgoJICBleHQveHZpZC9nc3R4dmlkZGVjLmM6IERlY2xhcmUgdmFyaWFibGUgYXQgdGhlIGJlZ2lubmluZyBvZiB0aGUgYmxvY2sgYW5kIG1ha2UgZ2NjLTIuOXgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOiAoZ3N0X3h2aWRkZWNfY2hhaW4pOgoJICBEZWNsYXJlIHZhcmlhYmxlIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIGJsb2NrIGFuZCBtYWtlIGdjYy0yLjl4CgkgIGhhcHB5IChmaXhlcyAjMzMzMjgzOyBwYXRjaCBieTogSmVucyBHcmFuc2V1ZXIpLgoKMjAwNi0wMy0wMyAxMTowNzo0MSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogVXNlIEdTVF9XQVJOSU5HIGluc3RlYWQgb2YgR1NUX0VSUk9SIGZvciBhbGwgdGhlIHRvbyBzaG9ydC9sb25nIGF0b21zIHdoZW4gcGFyc2luZy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBVc2UgR1NUX1dBUk5JTkcgaW5zdGVhZCBvZiBHU1RfRVJST1IgZm9yIGFsbCB0aGUgdG9vIHNob3J0L2xvbmcgYXRvbXMKCSAgd2hlbiBwYXJzaW5nLgoJICBBbHNvIGxldCdzIGJlIGEgYml0IGxlc3MgdnVsZ2FyIGluIG91ciB3YXJuaW5nIG1lc3NhZ2VzIDopCgoyMDA2LTAzLTAyIDE4OjIzOjU1ICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZG9jcy9wbHVnaW5zLzogQWRkIGF1ZGlvcmVzYW1wbGUgdG8gZG9jcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYXNlLXBsdWdpbnMtc2VjdGlvbnMudHh0OgoJICBBZGQgYXVkaW9yZXNhbXBsZSB0byBkb2NzLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIEFkZCByZXZpc2lvbiBkYXRlLgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2Jhc2VfaW5pdCksIChnc3RfYXVkaW9yZXNhbXBsZV9jbGFzc19pbml0KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2luaXQpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfZGlzcG9zZSksCgkgIChhdWRpb3Jlc2FtcGxlX2dldF91bml0X3NpemUpLCAoYXVkaW9yZXNhbXBsZV90cmFuc2Zvcm1fY2FwcyksCgkgIChyZXNhbXBsZV9zZXRfc3RhdGVfZnJvbV9jYXBzKSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtX3NpemUpLAoJICAoYXVkaW9yZXNhbXBsZV9zZXRfY2FwcyksIChhdWRpb3Jlc2FtcGxlX2V2ZW50KSwKCSAgKGF1ZGlvcmVzYW1wbGVfZG9fb3V0cHV0KSwgKGF1ZGlvcmVzYW1wbGVfdHJhbnNmb3JtKSwKCSAgKGF1ZGlvcmVzYW1wbGVfcHVzaHRocm91Z2gpLCAoZ3N0X2F1ZGlvcmVzYW1wbGVfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9hdWRpb3Jlc2FtcGxlX2dldF9wcm9wZXJ0eSksIChwbHVnaW5faW5pdCk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5oOgoJICBBZGRlZCBkb2NzLgoJICBTbWFsbCBjb2RlIGNsZWFudXBzLgoKMjAwNi0wMi0yOCAxMTo1OTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQ2FuJ3QgZGl2aWRlIHRocm91Z2ggemVybyAoc3VwcHJlc3Mgd2FybmluZyBpbiBjYXNlIG9mIHN0cmVhbSB3aXRoIG9uZSBzaW5nbGUgc3RpbGwgcGljdHVyZSkgKC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBDYW4ndCBkaXZpZGUgdGhyb3VnaCB6ZXJvIChzdXBwcmVzcyB3YXJuaW5nIGluIGNhc2Ugb2YKCSAgc3RyZWFtIHdpdGggb25lIHNpbmdsZSBzdGlsbCBwaWN0dXJlKSAoc2VlICMzMjcwODMpCgoyMDA2LTAyLTI1IDIxOjQwOjA4ICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzogSXQgZG9lc24ndCBzZWVtIHdlIG5lZWQgR0xVLmgKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDItMjUgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IEl0IGRvZXNuJ3Qgc2VlbSB3ZSBuZWVkIEdMVS5oCgoyMDA2LTAyLTI0IDE5OjQ5OjMyICswMDAwICBGYWJyaXppbyBHZW5uYXJpIDxmYWJyaXppby5nZUB0aXNjYWxpLml0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayksIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgc3VwcG9ydCBmb3IgcGFsZXR0aXNlZCBBcHBsZSBTTUMgdmlkZW9zICgjMzI3MDc1LCBiYXNlZCBvbgoJICBwYXRjaCBieTogRmFicml6aW8gR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgoyMDA2LTAyLTI0IDE3OjE1OjM1ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBhdXRvZ2VuLnNoOiBBbGxvdyBhdXRvbWFrZSAxLjkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogYXV0b2dlbi5zaDoKCSAgQWxsb3cgYXV0b21ha2UgMS45CgoyMDA2LTAyLTI0IDE3OjAyOjA4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIENoYW5nZWQgcHJvcGVydHkgbmFtZSBmcm9tICJ1cmkiIHRvICJsb2NhdGlvbiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDaGFuZ2VkIHByb3BlcnR5IG5hbWUgZnJvbSAidXJpIiB0byAibG9jYXRpb24iLgoKMjAwNi0wMi0yMiAxNDozNzoyMCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgIE1lcmdlIHBhdGNoIGZyb20gIzMxNzA0OCBmb3IgYnVpbGRpbmcgb24gQ3lnd2luLiBQYXRjaCBieQoJICBDeWd3aW4gUG9ydHMgbWFpbnRhaW5lci4KCSAgKiBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmM6IChnc3RfZ2xpbWFnZV9zaW5rX2luaXRfZGlzcGxheSk6CgkgIE1vdmUgbm9ybWFsIGRlYnVnIG91dHB1dCB0byBMT0cgbGV2ZWwgbm90IEVSUk9SLgoKMjAwNi0wMi0yMiAwOTozMzoyNSArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogQWRkICdkdnNkJyBhbmQgJ2R2MjUnIHRvIGxpc3Qgb2YgcG9zc2libGUgZm91cmNjIHZhbHVlcyBmb3IgRFYgVmlkZW8uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieSA6IEVkd2FyZCBIZXJ2ZXkgPGVkd2FyZEBmbHVlbmRvLmNvbT4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBBZGQgJ2R2c2QnIGFuZCAnZHYyNScgdG8gbGlzdCBvZiBwb3NzaWJsZSBmb3VyY2MgdmFsdWVzIGZvciBEViBWaWRlby4KCSAgQWRkIGltYWdlL3BuZyBmb3IgZm91cmNjICdwbmcgJwoKMjAwNi0wMi0yMSAxNTo0NDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgU3VyZWx5IHRoaXMgaXMgc3VwcG9zZWQgdG8gYmUgPj0gYS5iLCBub3QgPT0gYS5iCgoyMDA2LTAyLTIwIDIxOjE5OjU5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy94aW1hZ2VzcmMvTWFrZWZpbGUuYW06CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuYzogKGdzdF94aW1hZ2VzcmNfcmV0dXJuX2J1ZiksCgkgIChnc3RfeGltYWdlc3JjX29wZW5fZGlzcGxheSksIChnc3RfeGltYWdlc3JjX3N0YXJ0KSwKCSAgKGdzdF94aW1hZ2VzcmNfc3RvcCksIChnc3RfeGltYWdlc3JjX3VubG9jayksCgkgIChnc3RfeGltYWdlc3JjX3JlY2FsYyksIChjb21wb3NpdGVfcGl4ZWwpLAoJICAoZ3N0X3hpbWFnZXNyY194aW1hZ2VfZ2V0KSwgKGdzdF94aW1hZ2VzcmNfY3JlYXRlKSwKCSAgKGdzdF94aW1hZ2VzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF94aW1hZ2VzcmNfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF94aW1hZ2VzcmNfY2xlYXJfYnVmcG9vbCksIChnc3RfeGltYWdlc3JjX2Jhc2VfaW5pdCksCgkgIChnc3RfeGltYWdlc3JjX2Rpc3Bvc2UpLCAoZ3N0X3hpbWFnZXNyY19maW5hbGl6ZSksCgkgIChnc3RfeGltYWdlc3JjX2dldF9jYXBzKSwgKGdzdF94aW1hZ2VzcmNfc2V0X2NhcHMpLAoJICAoZ3N0X3hpbWFnZXNyY19maXhhdGUpLCAoZ3N0X3hpbWFnZXNyY19jbGFzc19pbml0KSwKCSAgKGdzdF94aW1hZ2VzcmNfaW5pdCksIChwbHVnaW5faW5pdCk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2VzcmMuaDoKCSAgKiBzeXMveGltYWdlc3JjL3hpbWFnZXV0aWwuYzogKHhpbWFnZXV0aWxfaGFuZGxlX3hlcnJvciksCgkgICh4aW1hZ2V1dGlsX2NoZWNrX3hzaG1fY2FsbHMpLCAoeGltYWdldXRpbF94Y29udGV4dF9nZXQpLAoJICAoeGltYWdldXRpbF94Y29udGV4dF9jbGVhciksCgkgICh4aW1hZ2V1dGlsX2NhbGN1bGF0ZV9waXhlbF9hc3BlY3RfcmF0aW8pLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZmluYWxpemUpLCAoZ3N0X3hpbWFnZV9idWZmZXJfZnJlZSksCgkgIChnc3RfeGltYWdlc3JjX2J1ZmZlcl9pbml0KSwgKGdzdF94aW1hZ2VzcmNfYnVmZmVyX2NsYXNzX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNyY19idWZmZXJfZ2V0X3R5cGUpLCAoZ3N0X3hpbWFnZXV0aWxfeGltYWdlX25ldyksCgkgIChnc3RfeGltYWdldXRpbF94aW1hZ2VfZGVzdHJveSk6CgkgICogc3lzL3hpbWFnZXNyYy94aW1hZ2V1dGlsLmg6CgkgIFBvcnQgeGltYWdlc3JjIHRvIDAuMTAgKENsb3NlcyAjMzA0Nzk1KQoKMjAwNi0wMi0yMCAyMDo1MjowMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTb21lIGV2ZW50IGhhbmRsaW5nIGFkZGVkIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0yMCAxOToxMzozNiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBjb25maWd1cmUuYWM6IEJhY2sgdG8gQ1ZTIG5hbm8KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBCYWNrIHRvIENWUyBuYW5vCgo9PT0gcmVsZWFzZSAwLjEwLjEgPT09CgoyMDA2LTAyLTIwIDE5OjEyOjEwICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogcmVsZWFzaW5nIDAuMTAuMSwgIlNsaW15IC0geWV0IHNhdGlzZnlpbmciCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTIwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCSAgKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjEwLjEsICJTbGlteSAtIHlldCBzYXRpc2Z5aW5nIgoKMjAwNi0wMi0yMCAxMzowODo1MCArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0IGVuYWJsZWQgZm9yIHRoZSBidWlsZCwuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzogKGdzdF9zaWduYWxfcHJvY2Vzc29yX2V2ZW50KSwKCSAgKGdzdF9zaWduYWxfcHJvY2Vzc29yX3Byb2Nlc3MpOgoJICBGaXggY29tcGlsYXRpb24gb2YgTEFEUFNBLiBJdCBkb2Vzbid0IHNlZW0gdG8gd29yaywgYW5kIGlzbid0CgkgIGVuYWJsZWQgZm9yIHRoZSBidWlsZCwgYnV0IGl0IGhlbHBzIG1lIHdpbiB0aGUgZmVhdHVyZS1jb3VudAoJICBjb21wZXRpdGlvbnMgb29oIHllYWguCgoyMDA2LTAyLTE5IDIzOjQ1OjU2ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYzogUmVsZWFzZSAwLjEwLjAuMyAtIHByZS1yZWxlYXNlIGZvciAwLjEwLjEKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBSZWxlYXNlIDAuMTAuMC4zIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoKMjAwNi0wMi0xOSAyMDowMDoxMiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9iejIvOiBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlciBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5jOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmg6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5oOgoJICBBZGQgcHJvcGVyIGNvcHlyaWdodCBoZWFkZXJzIGlkZW50aWZ5aW5nIEx1dHogTcO8bGxlcgoJICBhcyB0aGUgYXV0aG9yIGFuZCBjb3B5cmlnaHQgaG9sZGVyICgjMzMxNjAwKS4KCjIwMDYtMDItMTcgMTg6MjU6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IERvbid0IEdTVF9MT0cgdGltZXN0YW1wcyBmcm9tIG5vbmV4aXN0ZW50IGluZGV4IGVudHJpZXMgKCMzMzE1ODIpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKToKCSAgRG9uJ3QgR1NUX0xPRyB0aW1lc3RhbXBzIGZyb20gbm9uZXhpc3RlbnQgaW5kZXgKCSAgZW50cmllcyAoIzMzMTU4MikuCgoyMDA2LTAyLTE3IDE2OjI4OjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDaGVjayB0aGF0IHRoZSBzaXplIG9mIHRoZSByZXR1cm5lZCBidWZmZXIgaXMgb2YgdGhlIGNvcnJlY3Qgc2l6ZSBiZWNhdXNlIHRoZSBwYXJzZXIgYXNzdW1lcyB0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3Bfc3RhdGVfaGVhZGVyKToKCSAgQ2hlY2sgdGhhdCB0aGUgc2l6ZSBvZiB0aGUgcmV0dXJuZWQgYnVmZmVyIGlzIG9mIHRoZSBjb3JyZWN0IHNpemUKCSAgYmVjYXVzZSB0aGUgcGFyc2VyIGFzc3VtZXMgdGhhdC4KCSAgRml4ZXMgIzMzMTU0My4KCjIwMDYtMDItMTcgMTY6MDA6MTIgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgY29uZmlndXJlLmFjOiBSZWxlYXNlIDAuMTAuMC4yIC0gcHJlLXJlbGVhc2UgZm9yIDAuMTAuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgIFJlbGVhc2UgMC4xMC4wLjIgLSBwcmUtcmVsZWFzZSBmb3IgMC4xMC4xCgoyMDA2LTAyLTE3IDE1OjAzOjEyICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgbGF0ZXN0IHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGxhdGVzdCB1cGRhdGVzCgoyMDA2LTAyLTE2IDE0OjAyOjU3ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX2V2ZW50KSwKCSAgKGdzdF9xdGRlbXV4X2xvb3ApLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpOgoJICBEb24ndCBzdG9wIHRoZSB0YXNrIGlmIHRoZSBwYWQgaXNuJ3QgbGlua2VkLgoKMjAwNi0wMi0xNSAxMjoxMzo0NyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogSXQgYXBwZWFycyAxMDAlIGVxdWFscyAxLzEgYW5kIG5vdCAxMDAvMSAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfY2hhaW4pOgoJICBJdCBhcHBlYXJzIDEwMCUgZXF1YWxzIDEvMSBhbmQgbm90IDEwMC8xIC4uLgoKMjAwNi0wMi0xNSAwOTo0NToyNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogV2hlbiBidWZmZXJpbmcgTURBVCBkYXRhLCBzaG93IHRoZSB1c2VyIHNvbWV0aGluZyBpcyBoYXBwZW5pbmcgYnkgcG9zdGluZyAnYnVmZmVyaW5nJyBtZXNzYWdlcy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9wb3N0X2J1ZmZlcmluZyksCgkgIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIFdoZW4gYnVmZmVyaW5nIE1EQVQgZGF0YSwgc2hvdyB0aGUgdXNlciBzb21ldGhpbmcgaXMKCSAgaGFwcGVuaW5nIGJ5IHBvc3RpbmcgJ2J1ZmZlcmluZycgbWVzc2FnZXMgb24gdGhlIGJ1cy4KCjIwMDYtMDItMTQgMTg6NTA6MTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IE1ha2UgcHVzaC1iYXNlZCB3b3JrIGlmIG1kYXQgYXRvbSBpcyBiZWZvcmUgbW9vdiBhdG9tLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBNYWtlIHB1c2gtYmFzZWQgd29yayBpZiBtZGF0IGF0b20gaXMgYmVmb3JlIG1vb3YgYXRvbS4KCSAgRG9uJ3QgYW5zd2VyIGR1cmF0aW9uIHF1ZXJ5LiBUaGlzIHNob3VsZCBiZSB0cmFuc2Zvcm1lZCBpbnRvIHJlcGx5aW5nCgkgIEZBTFNFIHRvIHNlZWsgZXZlbnRzLgoKMjAwNi0wMi0xNCAxMjoyNjoyMCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9saWJtbXMvZ3N0bW1zLmM6IFJldHVybiBGTE9XX1VORVhQRUNURUQgb24gRU9TLCBub3QgRkxPV19FUlJPUi4gQWxzbywgbm8gbmVlZCB0byBwdXNoIG91ciBvd24gRU9TIGV2ZW50IG9uIEVPUywgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbGlibW1zL2dzdG1tcy5jOiAoZ3N0X21tc19jbGFzc19pbml0KSwgKGdzdF9tbXNfY3JlYXRlKSwKCSAgKGdzdF9tbXNfc3RhcnQpOgoJICBSZXR1cm4gRkxPV19VTkVYUEVDVEVEIG9uIEVPUywgbm90IEZMT1dfRVJST1IuIEFsc28sIG5vIG5lZWQgdG8KCSAgcHVzaCBvdXIgb3duIEVPUyBldmVudCBvbiBFT1MsIHRoZSBiYXNlIGNsYXNzIHdpbGwgZG8gdGhhdCBmb3IgdXM7CgkgIGZpeCBib2d1cyBxdWVyeSBjb2RlOyBwb3N0IHNlbWktZGVjZW50IGVycm9ycyBvbiB0aGUgYnVzIHdoZW4gYW4KCSAgZXJyb3Igb2NjdXJzIGluIDo6c3RhcnQoKSwgb3RoZXJ3aXNlIHRoZSB1c2VyIHdpbGwgZ2V0IHRvIHNlZQoJICB3aGF0ZXZlciBjcnlwdGljIGRlZmF1bHQgbWVzc2FnZSBHc3RCYXNlU3JjIGNvbWVzIHVwIHdpdGguCgoyMDA2LTAyLTE0IDExOjM2OjMwICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBzeXMvZ2xzaW5rL2dsaW1hZ2VzaW5rLmMgKGdzdF9nbGltYWdlX3NpbmtfaW5pdCk6IENvbWUgb24gc2NobGVlZiwgZG9uJ3QgYnJlYWsgbWUgZ3N0LWluc3BlY3QgLWEuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA2LTAyLTE0ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYyAoZ3N0X2dsaW1hZ2Vfc2lua19pbml0KTogQ29tZSBvbgoJICBzY2hsZWVmLCBkb24ndCBicmVhayBtZSBnc3QtaW5zcGVjdCAtYS4KCjIwMDYtMDItMTQgMTE6MjQ6NTMgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbik6CgkgIEhhbmRsZSB0aGUgY2FzZSB3aGVyZSBkYXRhIGF0b21zIGFyZSBiZWZvcmUgbW9vdiBhdG9tcyBpbiBwdXNoLWJhc2VkIG1vZGUuCgkgIEVycm9ycyBvdXQgZ3JhY2VmdWxseS4KCjIwMDYtMDItMTMgMjI6MDQ6NDIgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC86IFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L01ha2VmaWxlLmFtOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2luaXQpLAoJICAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfY2hhbmdlX3N0YXRlKSwKCSAgKGV4dHJhY3RfaW5pdGlhbF9sZW5ndGhfYW5kX2ZvdXJjYyksCgkgIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX2hlYWRlciksIChnc3RfcXRkZW11eF9sb29wX3N0YXRlX21vdmllKSwKCSAgKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwgKG5leHRfZW50cnlfc2l6ZSksIChnc3RfcXRkZW11eF9jaGFpbiksCgkgIChxdGRlbXV4X3NpbmtfYWN0aXZhdGUpLCAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1bGwpLAoJICAocXRkZW11eF9zaW5rX2FjdGl2YXRlX3B1c2gpLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4Lmg6CgkgIFF0RGVtdXggY2FuIG5vdyB3b3JrIHB1c2gtYmFzZWQuCgkgIEl0IHN0aWxsIG5lZWRzIHNvbWUgbG92ZSBmb3Igc2Vla2luZy4KCjIwMDYtMDItMTMgMTc6MDI6MDkgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9mcmVlemUvRkFROgoJKiBnc3QvZnJlZXplL01ha2VmaWxlLmFtOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5jOgoJKiBnc3QvZnJlZXplL2dzdGZyZWV6ZS5oOgoJICBJJ20gdG9vIGxhenkgdG8gY29tbWVudCB0aGlzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmcmVlemUgcGx1Z2luIHBvcnRlZCB0byAwLjEwIGJ5IFJlbmF0byBGaWxobyA8cmVuYXRvLmZpbGhvQGluZHQub3JnLmJyPgoKMjAwNi0wMi0xMCAxNzo0MToxOCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFBvcnQgY2R4YXBhcnNlLCBtYWtlcyBWQ0QgcGxheWJhY2sgd29yay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGdzdC9jZHhhcGFyc2UvTWFrZWZpbGUuYW06CgkgICogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJICBQb3J0IGNkeGFwYXJzZSwgbWFrZXMgVkNEIHBsYXliYWNrIHdvcmsuCgoyMDA2LTAyLTEwIDEzOjE2OjQ5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgdXBkYXRlIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgdXBkYXRlIHNwZWMgZmlsZQoKMjAwNi0wMi0wNyAxODozMTozMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkgIHJlbW92ZSB1bnVzZWQgdmFyCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgdW51c2VkIHZhcgoKMjAwNi0wMi0wNyAxODowMToxNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IHVzZSB0aGUgY29ycmVjdCB2YXJpYWJsZSB0byBjaGVjayBpZiB3ZSBjYW4gY2FsY3VsYXRlIHRoZSBsYXN0IGNodW5rLiAgTG9va3MgbGlrZSBhbiBvYnZpb3VzIGIuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgdXNlIHRoZSBjb3JyZWN0IHZhcmlhYmxlIHRvIGNoZWNrIGlmIHdlIGNhbiBjYWxjdWxhdGUKCSAgdGhlIGxhc3QgY2h1bmsuICBMb29rcyBsaWtlIGFuIG9idmlvdXMgYnVnLCBhbmQgbWFrZXMKCSAgdGhlIGR1bXAgb2Ygb2Zmc2V0cyBjb21wYXJhYmxlIHRvIG90aGVyIHRvb2xzCgoyMDA2LTAyLTA3IDE3OjU1OjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWZhYWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZ3NtLnhtbDoKCSAgZG9jIHVwZGF0ZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvYyB1cGRhdGVzCgoyMDA2LTAyLTA3IDE3OjU0OjQyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogY2xlYW4gdXAgc29tZSBkZWJ1Z2dpbmcsIHVzaW5nIF9PQkpFQ1QsIG1vdmluZyByZWN1cnJpbmcgbWVzc2FnZXMgdG8gTE9HIGxldmVsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIGNsZWFuIHVwIHNvbWUgZGVidWdnaW5nLCB1c2luZyBfT0JKRUNULCBtb3ZpbmcgcmVjdXJyaW5nCgkgIG1lc3NhZ2VzIHRvIExPRyBsZXZlbAoKMjAwNi0wMi0wNiAyMDo1MTo0OSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkgIE5vdyBpdCB1c2VzIGxpYm5lb24gMC4yNS41IHRoYXQgc3VwcG9ydHMgc2hvdXRjYXN0LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgTm93IGl0IHVzZXMgbGlibmVvbiAwLjI1LjUgdGhhdCBzdXBwb3J0cyBzaG91dGNhc3QuCgoyMDA2LTAyLTA2IDE4OjIxOjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2J6Mi9nc3RiejJlbmMuYzogQWNjZXBkICJBTlkiIGNhcHMuIFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogRWR3YXJkIEhlcnZleSA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGV4dC9iejIvZ3N0YnoyZW5jLmM6IEFjY2VwZCAiQU5ZIiBjYXBzLiBVc2UgIngtYnppcCIgaW5zdGVhZCBvZgoJICAieC1iejIiLgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6IFVzZSAieC1iemlwIiBpbnN0ZWFkIG9mICJ4LWJ6MiIuIEluaXRpYWwKCSAgY2FwcyBhcmUgIkFOWSIuCgkgIChnc3RfYnoyZGVjX2NoYWluKTogQ29uZmlndXJlIHRoZSBzb3VyY2UgcGFkIGlmIHdlIGNhbiBmaWd1cmUgb3V0CgkgIHRoZSBtaW1lIHR5cGUgb2YgdGhlIGRlY29tcHJlc3NlZCBkYXRhLgoJICAoZ3N0X2J6MmRlY19bZ2V0LHNldF1fcHJvcGVydHkpOgoJICAoZ3N0X2J6MmRlY19jbGFzc19pbml0OiBOZXcgcHJvcGVydHkgImZpcnN0X2J1ZmZlcl9zaXplIi4KCjIwMDYtMDItMDYgMTU6NDE6MjUgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4Lio6IFNvbWUgUVQgZGVtdXggbG92aW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9oYW5kbGVfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9pbmZsYXRlKSwgKHF0ZGVtdXhfcGFyc2UpLCAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdWR0YSksIChxdGRlbXV4X3RhZ19hZGRfc3RyKSwgKHF0ZGVtdXhfdGFnX2FkZF9udW0pLAoJICAocXRkZW11eF90YWdfYWRkX2ducmUpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX2VzZHMpLAoJICAocXRkZW11eF92aWRlb19jYXBzKSwgKHF0ZGVtdXhfYXVkaW9fY2Fwcyk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJICBTb21lIFFUIGRlbXV4IGxvdmluZy4KCSAgSGFuZGxlIHNlZWtpbmcgaW4gYSBsZXNzIGJyb2tlbiB3YXkuCgkgIEZpeCBBTVIgY2FwcyB0byBtYXRjaCB0aGUgQU1SIGRlY29kZXIuCgkgIFNldCBmaXJzdCB0aW1lc3RhbXAgb24gQU1SIHNhbXBsZXMgdG8gMCBmb3Igbm93LgoJICBSZW1vdmUgc29tZSBcbiBpbiBERUJVRyBzdHJpbmdzLgoJICBVc2UgX3NjYWxlX2ludCBmb3IgbWF4aW11bSBwcmVjaXNpb24uCgoyMDA2LTAyLTA2IDEyOjU2OjAwICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L2FwZXRhZy86IFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2FwZXRhZy9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXBldGFnL2FwZWRlbXV4LmM6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJICAqIGdzdC9hcGV0YWcvYXBldGFnLmM6CgkgIFJlbW92ZSBvbGQgZmlsZXMsIGFwZXRhZyBpcyBpbiBnc3QtcGx1Z2lucy1nb29kIG5vdy4KCjIwMDYtMDItMDYgMDk6NTQ6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9iejIvOiBObyBuZWVkIHRvIGluaXQgcGFyZW50X2NsYXNzLCB0aGUgYm9pbGVycGxhdGUgZG9lcyBpdCBmb3IgeW91LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jIChnc3RfYnoyZW5jX2NsYXNzX2luaXQpOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmMgKGdzdF9iejJkZWNfY2xhc3NfaW5pdCk6IE5vIG5lZWQgdG8gaW5pdAoJICBwYXJlbnRfY2xhc3MsIHRoZSBib2lsZXJwbGF0ZSBkb2VzIGl0IGZvciB5b3UuCgoyMDA2LTAyLTA2IDA5OjQwOjA5ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBIb29rIGl0IHVwLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMi0wNSAgTHV0eiBNdWVsbGVyIDxsdXR6QHRvcGZyb3NlLmRlPgoJICByZXZpZXdlZCBieTogQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06IEhvb2sgaXQgdXAuCgkgICogZXh0L2J6Mi9nc3RiejIuYzoKCSAgKiBleHQvYnoyL2dzdGJ6MmRlYy5oOgoJICAqIGV4dC9iejIvZ3N0YnoyZGVjLmM6CgkgICogZXh0L2J6Mi9nc3RiejJlbmMuaDoKCSAgKiBleHQvYnoyL2dzdGJ6MmVuYy5jOiBOZXcgcGx1Z2luLCBpbXBsZW1lbnRzIGJ6MiBlbmNvZGluZyBhbmQKCSAgZGVjb2RpbmcgKCMzMDMxNjcpLgoKMjAwNi0wMi0wMyAxMDoxMzoyMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29tbW9uOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG9wZW5nbCBwbHVnaW4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBvcGVuZ2wgcGx1Z2luCgoyMDA2LTAxLTMwIDE1OjQ3OjQ3ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogc3lzL2dsc2luay9NYWtlZmlsZS5hbToKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbSAobGliZ3N0Z2xpbWFnZXNpbmtfbGFfTElCQUREKQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNi0wMS0zMCAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtIChsaWJnc3RnbGltYWdlc2lua19sYV9MSUJBREQpCgkgIChsaWJnc3RnbGltYWdlc2lua19sYV9DRkxBR1MpOiBBZGQgUExVR0lOU19CQVNFIGNmbGFncyBhbmQgbGlicy4KCjIwMDYtMDEtMjkgMjA6MDc6NDkgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IEFkZCBkZWJ1ZyBjYXRlZ29yeSwgdXNlIGJvaWxlcnBsYXRlIG1hY3JvcywgZml4IGhhbmRsaW5nIG9mIHdpZHRocyBvZiAzMiBiaXRzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IChnc3Rfd2F2cGFja19kZWNfc2V0Y2FwcyksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zaW5rX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX2RlY19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19mb3JtYXRfc2FtcGxlcyksCgkgIChnc3Rfd2F2cGFja19kZWNfY2hhaW4pLCAoZ3N0X3dhdnBhY2tfZGVjX3BsdWdpbl9pbml0KToKCSAgQWRkIGRlYnVnIGNhdGVnb3J5LCB1c2UgYm9pbGVycGxhdGUgbWFjcm9zLCBmaXggaGFuZGxpbmcKCSAgb2Ygd2lkdGhzIG9mIDMyIGJpdHMuCgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6IChnc3Rfd2F2cGFja19wYXJzZV9iYXNlX2luaXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfZGlzcG9zZSksIChnc3Rfd2F2cGFja19wYXJzZV9jbGFzc19pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9sYXN0X2VudHJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2luZGV4X2dldF9lbnRyeV9mcm9tX3NhbXBsZSksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9pbmRleF9hcHBlbmRfZW50cnkpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcmVzZXQpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX3F1ZXJ5KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NjYW5fdG9fZmluZF9zYW1wbGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc2VuZF9uZXdzZWdtZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2hhbmRsZV9zZWVrX2V2ZW50KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NyY19ldmVudCksIChnc3Rfd2F2cGFja19wYXJzZV9pbml0KSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX2dldF91cHN0cmVhbV9sZW5ndGgpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfcHVsbF9idWZmZXIpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY3JlYXRlX3NyY19wYWQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGUpLAoJICAoZ3N0X3dhdmVwYWNrX3BhcnNlX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmg6CgkgIFJld3JpdGUgYSBiaXQsIG1vc3RseSB0byBmaXggZmxvdyBsb2dpYyBhbmQgdG8gbWFrZSBzZWVraW5nIHdvcmsuCgkgIEZpeCBidWZmZXIvZXZlbnQgcmVmY291bnRpbmcuIEFkZCBzb21lIGRlYnVnIHN0YXRlbWVudHMuIEFkZAoJICB3aWR0aCBvZiAzMiB0byBzb3VyY2UgcGFkIHRlbXBsYXRlIGNhcHMuIFVzZSBib2lsZXJwbGF0ZSBtYWNyb3MuCgoyMDA2LTAxLTI4IDEyOjQ1OjU0ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgc3lzL2dsc2luay9NYWtlZmlsZS5hbTogZ2xpbWFnZXNpbmsuaCBpcyBkZWFkLCBsb25nIGxpdmUgZ2xpbWFnZXNpbmsuaAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBzeXMvZ2xzaW5rL01ha2VmaWxlLmFtOgoJICBnbGltYWdlc2luay5oIGlzIGRlYWQsIGxvbmcgbGl2ZSBnbGltYWdlc2luay5oCgoyMDA2LTAxLTI4IDA0OjM5OjE4ICswMDAwICBEYXZpZCBTY2hsZWVmIDxkc0BzY2hsZWVmLm9yZz4KCgkgIHJldml2YWwgb2YgZ2xpbWFnZXNpbmsuICBLaW5kIG9mIHdvcmtzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBjb25maWd1cmUuYWM6CgkgICogc3lzL01ha2VmaWxlLmFtOgoJICAqIHN5cy9nbHNpbmsvTWFrZWZpbGUuYW06CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOgoJICAqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuaDoKCSAgcmV2aXZhbCBvZiBnbGltYWdlc2luay4gIEtpbmQgb2Ygd29ya3MuCgoyMDA2LTAxLTI3IDEyOjQ3OjEyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgJ2ZyYW1lZCcgZmllbGQgaW4gY2FwczsgUG9ydCBzeW5jaW5nIGZvciByYXcgc3RyZWFtcyBmcm9tIDAuOCBicmFuY2ggKGZvciBBQUMrIHJhZGlvIHN0cmVhLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NldGNhcHMpLAoJICAoZ3N0X2ZhYWRfY2hhbnBvc190b19nc3QpLCAoZ3N0X2ZhYWRfc3luYyksIChnc3RfZmFhZF9jaGFpbik6CgkgIEhhbmRsZSAnZnJhbWVkJyBmaWVsZCBpbiBjYXBzOyBQb3J0IHN5bmNpbmcgZm9yIHJhdyBzdHJlYW1zCgkgIGZyb20gMC44IGJyYW5jaCAoZm9yIEFBQysgcmFkaW8gc3RyZWFtcykgKCMzMjg3MjIpLgoKMjAwNi0wMS0yNyAwMTozMToxMiArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBleHQvc2RsL3NkbHZpZGVvc2luay4qOiBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbiBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWEuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3Npbmtfc3VwcG9ydGVkKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfeG92ZXJsYXlfc2V0X3h3aW5kb3dfaWQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19kZWluaXRzZGwpLCAoZ3N0X3NkbHZfcHJvY2Vzc19ldmVudHMpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZGVzdHJveSksIChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X3NkbHZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KToKCSAgKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBGaXggb3V0cHV0IHN0cmlkZSBjb3B5aW5nLCBzbyB0aGF0IGl0IGRpc3BsYXlzIGNvcnJlY3RseSBvbgoJICBmcmFtZWJ1ZmZlciBkZXZpY2VzIHRoYXQgZG9uJ3QgbWF0Y2ggb3VyIGltcGxpY3QgR1N0cmVhbWVyIHN0cmlkZQoJICBhcnJhbmdlbWVudC4KCSAgRml4IGxvY2tpbmcgdGhpbmdzLiBPZmZlciBYT3ZlcmxheSBvbmx5IHdoZW4gU0RMIGlzIHJ1bm5pbmcgYWdhaW5zdAoJICBYLiBNYWtlIG5vbi1zY2FsZWQgKGFuZCB1Z2x5KSBlbWJlZGRpbmcgd29yayB2aWEgWCBPdmVybGF5LiBJdCBjYW4ndAoJICBhY3R1YWxseSBtYXRjaCB0aGUgZW1iZWRkZWQgd2luZG93IHNpemUgYmVjYXVzZSB0aGVyZSdzIG5vIHdheSB0bwoJICBmaWd1cmUgb3V0IHdoYXQgc2l6ZSB0aGF0IHNob3VsZCBiZSBmcm9tIHRoZSBYT3ZlcmxheSBpbnRlcmZhY2UuCgkgIFNlZSBjb21tZW50IGluIHNkbHZpZGVvc2luay5jCgoyMDA2LTAxLTI2IDE2OjIzOjQyICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspOgoJICBGaXggd3JvbmcgbWVtY3B5IHNvdXJjZSBwb2ludGVyLgoKMjAwNi0wMS0yNSAxNDo0NDowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBKdXN0IGNoYWluIHVwIGZpbmFsaXplIGNhbGxzIChjYWxsaW5nIHBhcmVudF9jbGFzcy0+ZmluYWxpemUpLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgSnVzdCBjaGFpbiB1cCBmaW5hbGl6ZSBjYWxscyAoY2FsbGluZyBwYXJlbnRfY2xhc3MtPmZpbmFsaXplKS4KCjIwMDYtMDEtMjUgMTQ6MjA6MDQgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRmluYWxpemUgbWV0aG9kIGhhcyBiZWVuIGNyZWF0ZWQgYW5kIG90aGVycyBzbWFsbCBjaGFuZ2VzLgoKMjAwNi0wMS0yNCAyMTozMzoyNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9tdXNlcGFjay86IEZpeCBzZWVraW5nIGluIG11c2VwYWNrIGZpbGVzIChpdCdzIHN0aWxsIGluY3JlZGlibHkgc2xvdywgYnV0IEkgZG9uJ3QgdGhpbmsgdGhhdCBpcyBvdXIgcGx1Z2luJ3MgZmF1bC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzogKGdzdF9tdXNlcGFja2RlY19iYXNlX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX2NsYXNzX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX2luaXQpLAoJICAoZ3N0X211c2VwYWNrZGVjX3NlbmRfbmV3c2VnbWVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfaGFuZGxlX3NlZWtfZXZlbnQpLCAoZ3N0X211c2VwYWNrZGVjX3NyY19ldmVudCksCgkgIChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwgKGdzdF9tdXNlcGFja2RlY19zcmNfY29udmVydCksCgkgIChnc3RfbXVzZXBhY2tfc3RyZWFtX2luaXQpLCAoZ3N0X211c2VwYWNrZGVjX3NpbmtfYWN0aXZhdGVfcHVsbCksCgkgIChnc3RfbXVzZXBhY2tkZWNfbG9vcCksIChnc3RfbXVzZXBhY2tkZWNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuaDoKCSAgKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuYzogKGdzdF9tdXNlcGFja19yZWFkZXJfcGVlayksCgkgIChnc3RfbXVzZXBhY2tfcmVhZGVyX3NlZWspLCAoZ3N0X211c2VwYWNrX3JlYWRlcl90ZWxsKSwKCSAgKGdzdF9tdXNlcGFja19yZWFkZXJfZ2V0X3NpemUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5oOgoJICBGaXggc2Vla2luZyBpbiBtdXNlcGFjayBmaWxlcyAoaXQncyBzdGlsbCBpbmNyZWRpYmx5IHNsb3csIGJ1dCBJCgkgIGRvbid0IHRoaW5rIHRoYXQgaXMgb3VyIHBsdWdpbidzIGZhdWx0KS4gQ2xlYW4gdXAgY29kZSBhbmQgZ2V0CgkgIHJpZCBvZiBvbGQgY3J1ZnQuIFBvc3QgdGFncyB3aXRoIGFsbCBraW5kIG9mIG5lYXQgaW5mb3JtYXRpb24gbGlrZQoJICByZXBsYXkgZ2FpbiBhbmQgc3VjaCBvbiB0aGUgYnVzLCBpZiBpdCBpcyBhdmFpbGFibGUuIEFkZCBhCgkgICdtdXNlcGFja2RlYycgZGVidWcgY2F0ZWdvcnkuCgoyMDA2LTAxLTI0IDExOjU4OjUzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNb3JlIGNvaGVyZW50IGZyYW1lcmF0ZSBzZXR0aW5nIG9uIGNhcHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKSwKCSAgKGdzdF9xdGRlbXV4X2FkZF9zdHJlYW0pLCAocXRkZW11eF9wYXJzZV90cmFrKToKCSAgTW9yZSBjb2hlcmVudCBmcmFtZXJhdGUgc2V0dGluZyBvbiBjYXBzLgoJICBJZiBzYW1wbGVfc2l6ZSBpcyBhdmFpbGFibGUsIHVzZSB0aGF0IGZvciB0aGUgc2FtcGxlcycgZHVyYXRpb24gaW4KCSAgdGhlIGluZGV4LiBUaGlzIGVuYWJsZXMgc2luZ2xlIGZyYW1lIHN0cmVhbXMgdG8gd29yayAoYW5kIEkgaW1hZ2luZQoJICBmaXhlcyBzb21lIG90aGVyIGNhc2VzKS4KCSAgVGVzdGVkIG9uIHRlc3RzdWl0ZSwgbm8gcmVncmVzc2lvbi4KCjIwMDYtMDEtMjMgMTU6MTA6NTUgKzAwMDAgIEVkd2FyZCBIZXJ2ZXkgPGJpbGJvZWRAYmlsYm9lZC5jb20+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZGVkIGNvZGVjIHJlY29nbml0aW9uIGZvcjogXyBWUDMxIDogdmlkZW8veC12cDMgXyBBVkRKIDogaW1hZ2UvanBlZyBfIGR2Y3AsIGR2YyAgOiB2aWRlby94LWQuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV90cmFrKSwKCSAgKHF0ZGVtdXhfdmlkZW9fY2FwcyksIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICBBZGRlZCBjb2RlYyByZWNvZ25pdGlvbiBmb3I6CgkgIF8gVlAzMSA6IHZpZGVvL3gtdnAzCgkgIF8gQVZESiA6IGltYWdlL2pwZWcKCSAgXyBkdmNwLCBkdmMgIDogdmlkZW8veC1kdiwgc3lzdGVtc3RyZWFtPShib29sZWFuKWZhbHNlCgkgIF8gMHg2ZDczMDAxNyA6IGF1ZGlvL3gtYWRwY20sIGxheW91dD0oc3RyaW5nKXF1aWNrdGltZQoKMjAwNi0wMS0yMSAxODozNToyOSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBVcGRhdGUgZnJvbSBzd2ZkZWMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBVcGRhdGUgZnJvbSBzd2ZkZWMuCgoyMDA2LTAxLTIxIDExOjQzOjUzICswMDAwICBGYWJyaXppbyA8ZmFicml6aW8uZ2VAdGlzY2FsaS5pdD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChxdGRlbXV4X3BhcnNlX3RyYWspLAoJICAocXRkZW11eF9hdWRpb19jYXBzKToKCSAgJ3R3b3MnIGFuZCAnc293dCcgZm91cmNjIGNhbiBiZSAxNmJpdCBvciA4Yml0IGF1ZGlvLgoJICBGaXggOGJpdCBjYXNlICgjMzI3MTMzLCBiYXNlZCBvbiBwYXRjaCBieTogRmFicml6aW8KCSAgR2VubmFyaSA8ZmFicml6aW8gZG90IGdlIGF0IHRpc2NhbGkgZG90IGl0PikuCgkgIEFsc28sICJHX0xJVFRMRV9FTkRJQU4iIGFuZCAiR19CSUdfRU5ESUFOIiBhcmUgbm90CgkgIHZhbGlkIGxpdGVyYWxzIGZvciBlbmRpYW5uZXNzIGluIGNhcHMgc3RyaW5ncywKCSAgb25seSAiTElUVExFX0VORElBTiIgYW5kICJCSUdfRU5ESUFOIiBhcmUgdmFsaWQuCgoyMDA2LTAxLTIwIDE3OjA0OjM4ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBleHQvbmVvbi9nc3RuZW9uaHR0cHNyYy5jOgoJICBGaXhlZCBzdGF0ZSB0cmFuc2ljdGlvbnMgUExBWUlORy0+TlVMTC0+UExBWUlORy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHN0YXRlIHRyYW5zaWN0aW9ucyBQTEFZSU5HLT5OVUxMLT5QTEFZSU5HLgoKMjAwNi0wMS0xOSAxNjo0OToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgbWlub3IgaW1wcm92ZW1lbnRzIG9uIGxvZyBtZXNzYWdlcy4KCjIwMDYtMDEtMTggMTg6NTQ6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSb25hbGQncyBwYXRjaCBhcHBsaWVkLiBzZWUgYnVnICMzMjYzMTguCgoyMDA2LTAxLTE3IDE2OjQ1OjQzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC4qOiBGaXggc2Vla2luZyBmb3IgcXVpY2t0aW1lIGZpbGVzLiBDb3VsZCBzdGlsbCB1c2Ugc29tZSBtb3JlIGxvdmUgYW5kIHNvcGhpc3RpY2F0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9pbml0KSwKCSAgKGdzdF9xdGRlbXV4X3NlbmRfZXZlbnQpLCAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCksCgkgIChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgRml4IHNlZWtpbmcgZm9yIHF1aWNrdGltZSBmaWxlcy4gQ291bGQgc3RpbGwgdXNlIHNvbWUgbW9yZQoJICBsb3ZlIGFuZCBzb3BoaXN0aWNhdGlvbi4KCjIwMDYtMDEtMTcgMTM6MTQ6MDggKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICBmaXhpbmcgdmVyc2lvbmluZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4aW5nIHZlcnNpb25pbmcKCjIwMDYtMDEtMTYgMTI6MzA6NDEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2xpYm1tcy9nc3RtbXMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSAgUmVtb3ZlZCBnc3RfYmFzZV9zcmNfc2V0X2xpdmUgZnJvbSBtbXMgYW5kIG5lb24sIGFuZCBub3cgY2FsbGluZyBwYXJlbnRfY2xhc3MtPmRpc3Bvc2UgaW4gZGlzcG9zZSBvbiBzZGxhdWRpby4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJlbW92ZWQgZ3N0X2Jhc2Vfc3JjX3NldF9saXZlIGZyb20gbW1zIGFuZCBuZW9uLCBhbmQgbm93IGNhbGxpbmcgcGFyZW50X2NsYXNzLT5kaXNwb3NlIGluIGRpc3Bvc2Ugb24gc2RsYXVkaW8uCgoyMDA2LTAxLTExIDIwOjU5OjM5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpbXBsZW1lbnRpbmcgbmF2aWdhdGlvbiBpbnRlcmZhY2UgYW5kIHVzaW5nIEdTVF9CT0lMRVJfUExBVEVfRlVMTC4KCjIwMDYtMDEtMTEgMTU6MzQ6NTIgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIENoYW5nZUxvZzoKCSogc3lzL01ha2VmaWxlLmFtOgoJKiBzeXMvc3VuYXVkaW8vTWFrZWZpbGUuYW06CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5hdWRpby5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW9zcmMuYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50LmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50Lmg6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5taXhlci5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VubWl4ZXIuaDoKCSAgcmVtb3ZlIG9sZCAoYnJva2VuKSBzdW5hdWRpbyBwbHVnaW4gZnJvbSBiYWQgYXMgdGhlcmUgaXMgYSBuZXcgd29ya2luZyBvbmUgaW4gLWdvb2QKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbW92ZSBvbGQgKGJyb2tlbikgc3VuYXVkaW8gcGx1Z2luIGZyb20gYmFkIGFzIHRoZXJlIGlzIGEgbmV3IHdvcmtpbmcgb25lCgkgIGluIC1nb29kCgoyMDA2LTAxLTExIDE0OjQxOjI0ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsYXVkaW9zaW5rLmM6CgkgIFJlcGxhY2VkIHdyb25nIHN0eWxlIGNvZGUgYnkgR1NUX0JPSUxFUlBMQVRFLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVwbGFjZWQgd3Jvbmcgc3R5bGUgY29kZSBieSBHU1RfQk9JTEVSUExBVEUuCgoyMDA2LTAxLTExIDExOjA0OjAzICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBBZGQgc3VwcG9ydCBmb3IgSW5kZW8zIHZpZGVvIGluIFF1aWNrdGltZSBmaWxlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJldmlld2VkIGJ5OiBFZHdhcmQgSGVydmV5ICA8ZWR3YXJkQGZsdWVuZG8uY29tPgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBzdXBwb3J0IGZvciBJbmRlbzMgdmlkZW8gaW4gUXVpY2t0aW1lIGZpbGVzLgoJICBDbG9zZXMgIzMyNjUyNAoKMjAwNi0wMS0wOSAxODoyMDo1NiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9nc3RzZGwuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuYzoKCSogZXh0L3NkbC9zZGxhdWRpb3NpbmsuaDoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ3JlYXRlZCBuZXcgZWxlbWVudCwgc2RsYXVkaW9zaW5rLgoKMjAwNi0wMS0wNSAyMzoxNzo0NCArMDAwMCAgU8OpYmFzdGllbiBNb3V0dGUgPHNlYmFzdGllbkBtb3V0dGUubmV0PgoKCSogQ2hhbmdlTG9nOgoJKiBzeXMvZGlyZWN0ZHJhdy9nc3RkaXJlY3RkcmF3cGx1Z2luLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmM6CgkqIHN5cy9kaXJlY3RkcmF3L2dzdGRpcmVjdGRyYXdzaW5rLmg6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHBsdWdpbi5jOgoJKiBzeXMvZGlyZWN0c291bmQvZ3N0ZGlyZWN0c291bmRzaW5rLmM6CgkqIHN5cy9kaXJlY3Rzb3VuZC9nc3RkaXJlY3Rzb3VuZHNpbmsuaDoKCSogd2luMzIvY29tbW9uL2NvbmZpZy5oOgoJKiB3aW4zMi92czYvZ3N0X3BsdWdpbnNfYmFkLmRzdzoKCSogd2luMzIvdnM2L2xpYmdzdGRpcmVjdGRyYXcuZHNwOgoJKiB3aW4zMi92czYvbGliZ3N0ZGlyZWN0c291bmQuZHNwOgoJICBhZGRlZCBzeXMvZGlyZWN0ZHJhdyBhZGRlZCBzeXMvZGlyZWN0c291bmQgYWRkZWQgd2luMzIvdnM2L2dzdF9wbHVnaW5zX2JhZC5kc3cgYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcCAuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDYtMDEtMDUgIFNlYmFzdGllbiBNb3V0dGUgIDxzZWJhc3RpZW5AbW91dHRlLm5ldD4KCSAgKiBhZGRlZCBzeXMvZGlyZWN0ZHJhdwoJICAqIGFkZGVkIHN5cy9kaXJlY3Rzb3VuZAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9nc3RfcGx1Z2luc19iYWQuZHN3CgkgICogYWRkZWQgd2luMzIvdnM2L2xpYmdzdGRpcmVjdHNvdW5kLmRzcAoJICAqIGFkZGVkIHdpbjMyL3ZzNi9saWJnc3RkaXJlY3RkcmF3LmRzcAoJICAqIGFkZGVkIHdpbjMyL2NvbW1vbi9jb25maWcuaAoKMjAwNi0wMS0wNSAxNzowMzoxNSArMDAwMCAgU3RlZmFuIEtvc3QgPGVuc29uaWNAdXNlcnMuc291cmNlZm9yZ2UubmV0PgoKCSAgZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOiAocGx1Z2luX2luaXQpOgoJICBjYWxsIG9pbF9pbml0KCkgd2hlbiB1c2luZyBsaWJvaWwKCjIwMDYtMDEtMDQgMTk6Mzk6MTAgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgU29tZSBpbXByb3ZlbWVudHMgaW4gY2FuY2VsbGF0aW9uIGFuZCBkZWJ1ZyBtZXNzYWdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFNvbWUgaW1wcm92ZW1lbnRzIGluIGNhbmNlbGxhdGlvbiBhbmQgZGVidWcgbWVzc2FnZXMuCgoyMDA2LTAxLTA0IDEzOjI2OjM1ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuYzoKCSogZXh0L25lb24vZ3N0bmVvbmh0dHBzcmMuaDoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUmVtb3ZlZCBub3QgbmVlZCB0aHJlYWQgYW5kIGNoYW5nZWQgdG8gcHVzaCBvdXQgYmxvY2tzaXplIGJ5dGVzLgoKPT09IHJlbGVhc2UgMC4xMC4yID09PQoKMjAwNi0wMS0wMyAxNzozMzoxNiArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogQXMgYmVmb3JlLCBidXQgZm9yIG9fYnVmCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIEFzIGJlZm9yZSwgYnV0IGZvciBvX2J1ZgoKMjAwNi0wMS0wMyAxNzoyNzoxMyArMDAwMCAgTWljaGFlbCBTbWl0aCA8bXNtaXRoQHhpcGgub3JnPgoKCSAgZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDogRGVjbGFyZSBzdHJ1Y3QgX1Jlc2FtcGxlU3RhdGUuYnVmZmVyIGFzIHVuc2lnbmVkIGNoYXIgKiwgbm90IHZvaWQgKiwgc2luY2Ugd2UgZG8gYXJpdGhtLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL3Jlc2FtcGxlLmg6CgkgIERlY2xhcmUgc3RydWN0IF9SZXNhbXBsZVN0YXRlLmJ1ZmZlciBhcyB1bnNpZ25lZCBjaGFyICosIG5vdCB2b2lkICosCgkgIHNpbmNlIHdlIGRvIGFyaXRobWV0aWMgb24gaXQuCgoyMDA2LTAxLTAyIDE1OjA1OjA5ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIG5lb24gcGx1Z2luIHRvIHNwZWMgZmlsZQoKMjAwNS0xMi0zMCAxNTo0MToyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvc21vb3Rod2F2ZS8uZ2l0aWdub3JlOgoJKiBleHQvc21vb3Rod2F2ZS9NYWtlZmlsZS5hbToKCSogZXh0L3Ntb290aHdhdmUvUkVBRE1FOgoJKiBleHQvc21vb3Rod2F2ZS9kZW1vLW9zc3NyYy5jOgoJKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuaDoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbW92ZSBzbW9vdGh3YXZlIHRvIGdzdAoKMjAwNS0xMi0yOCAyMTowNzoxNyArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L25lb24vTWFrZWZpbGUuYW06CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmM6CgkqIGV4dC9uZW9uL2dzdG5lb25odHRwc3JjLmg6CgkgIENyZWF0ZWQgbmV3IGVsZW1lbnQgbmVvbmh0dHBzcmMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBDcmVhdGVkIG5ldyBlbGVtZW50IG5lb25odHRwc3JjLgoKMjAwNS0xMi0xOSAxNToxOTo0NCArMDAwMCAgRWR3YXJkIEhlcnZleSA8YmlsYm9lZEBiaWxib2VkLmNvbT4KCgkgIGV4dC9zd2ZkZWMvZ3N0c3dmZGVjLmM6IEFkZCBkZWJ1Z2dpbmcgY2F0ZWdvcnkgYW5kIHJldHVybiBHc3RGbG93UmV0dXJuIGluIHRoZSByaWdodCBwbGFjZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfY2xhc3NfaW5pdCksCgkgIChnc3Rfc3dmZGVjX2NoYWluKSwgKGdzdF9zd2ZkZWNfcmVuZGVyKToKCSAgQWRkIGRlYnVnZ2luZyBjYXRlZ29yeSBhbmQgcmV0dXJuIEdzdEZsb3dSZXR1cm4gaW4gdGhlIHJpZ2h0IHBsYWNlcwoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKToKCSAgR2V0IHNvbWV0aGluZyBmcm9tIHRoZSBwZWVyIHBhZCBvbmNlIHdlJ3ZlIGNoZWNrZWQgaWYgdGhlcmUgaXMgYSBwZWVyIHBhZC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpLAoJICAocXRkZW11eF90cmVlX2dldF9jaGlsZF9ieV90eXBlKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayksCgkgIChxdGRlbXV4X3ZpZGVvX2NhcHMpOgoJICBDb3VwbGUgb2YgZml4ZXMKCjIwMDUtMTItMTkgMTQ6NTg6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkgIGp1c3QgYSBzbWFsbCBmaXguIEkgaGF2ZSB0byBwYXkgbW9yZSBhdHRlbnRpb24gd2hlbiBjb21taXRpbmcgOy0pCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBqdXN0IGEgc21hbGwgZml4LiBJIGhhdmUgdG8gcGF5IG1vcmUgYXR0ZW50aW9uIHdoZW4gY29tbWl0aW5nIDstKQoKMjAwNS0xMi0xOSAxNDo0MDoyMiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2RpdngvTWFrZWZpbGUuYW06CgkqIGV4dC9kaXZ4L2dzdGRpdnhkZWMuYzoKCSogZXh0L2RpdngvZ3N0ZGl2eGRlYy5oOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kaXZ4L2dzdGRpdnhlbmMuaDoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZGl2eGRlYyBhbmQgZGl2eGVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xOCAyMTowNjo0NyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBTb21lIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksIChnc3RfZGZidmlkZW9zaW5rX2luaXQpOiBTb21lCgkgIG1vcmUgcmVmYWN0b3JpbmcsIGhhbmRsZSBleG90aWMgRGlyZWN0RkIgcm93IHN0cmlkZS4KCjIwMDUtMTItMTggMTA6NTg6NDQgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgIFVwZGF0ZXMuCgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2V2ZW50X3RocmVhZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fZGV2aWNlcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldHVwKSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xlYW51cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwKCSAgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfdXBkYXRlX2NvbG9yYmFsYW5jZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogSW1wbGVtZW50IHBpeGVsLWFzcGVjdC1yYXRpby4KCSAgVGhpcyBzaG91bGQgd29yayBib3RoIGZvciBoYXJkd2FyZSBhY2NlbGVyYXRlZCBzY2FsaW5nIGFuZAoJICByZXZlcnNlIGNhcHMgbmVnb3RpYXRpb24gd2l0aCBhIHNjYWxpbmcgZWxlbWVudC4KCjIwMDUtMTItMTcgMTc6NDg6MzggKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZG9jcy9wbHVnaW5zLzogVXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMTcgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZGVjbC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRvY3Muc2dtbDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtdW5kb2N1bWVudGVkLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuYXJnczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZGZidmlkZW9zaW5rLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNkbHZpZGVvc2luay54bWw6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLXNwZWVkLnhtbDoKCSAgKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDogVXBkYXRlcy4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6CgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfY3JlYXRlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZXZlbnRfdGhyZWFkKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV92bW9kZXMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2RldmljZXMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsZWFudXApLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jYW5fYmxpdF9mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zaG93X2ZyYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVyX2FsbG9jKSwgKGdzdF9kZmJzdXJmYWNlX2ZpbmFsaXplKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX3VwZGF0ZV9jb2xvcmJhbGFuY2UpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfbGlzdF9jaGFubmVscyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NvbG9yYmFsYW5jZV9zZXRfdmFsdWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19jb2xvcmJhbGFuY2VfZ2V0X3ZhbHVlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY29sb3JiYWxhbmNlX2luaXQpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfcHJvcGVydHkpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KSwgKGdzdF9kZmJ2aWRlb3NpbmtfY2xhc3NfaW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBJbXBsZW1lbnQgdmVydGljYWwgc3luYyBhbmQKCSAgY29sb3IgYmFsYW5jZSBpbnRlcmZhY2UuCgoyMDA1LTEyLTE2IDIxOjU1OjE4ICswMDAwICBTdGVmYW4gS29zdCA8ZW5zb25pY0B1c2Vycy5zb3VyY2Vmb3JnZS5uZXQ+CgoJICBkb24ndCB1c2UgZG9jIGNvbW1lbnRzIGZvciBub24tZG9jcyBjaGFuZ2Ugc29tZSBjaGFyKiBpbnRvIGNoYXJbXQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvYXJ0c2QvZ3N0YXJ0c2RzaW5rLmM6IChnc3RfYXJ0c2RzaW5rX29wZW5fYXVkaW8pOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOiAoc29ja2V0X3JlY2VpdmVfZmlsZV90b19idWZmKToKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuYzoKCSAgKiBnc3QvdmJpZGVjL3ZiaWRhdGEuaDoKCSAgKiBnc3QvdmJpZGVjL3ZiaXNjcmVlbi5jOgoJICAqIHN5cy9keHIzL2FjM19wYWRkZXIuYzoKCSAgZG9uJ3QgdXNlIGRvYyBjb21tZW50cyBmb3Igbm9uLWRvY3MKCSAgY2hhbmdlIHNvbWUgY2hhciogaW50byBjaGFyW10KCjIwMDUtMTItMTYgMTQ6NDc6NTkgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOiBBbHdheXMgcHJlZmVyIHRoZSBwcmltYXJ5IGxheWVyLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0xNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19pbml0KTogQWx3YXlzIHByZWZlciB0aGUgcHJpbWFyeSBsYXllci4KCjIwMDUtMTItMTYgMTI6MjU6MzggKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6IE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkgIE9vcHMsIHJlbW92ZSB0cmFpbGluZyBjb21tYSBmcm9tIGNhcHMgc3RyaW5nLgoKMjAwNS0xMi0xNiAwOTo1OToyMSArMDAwMCAgZ2NvY2F0cmVAZ21haWwuY29tIDxnY29jYXRyZUBnbWFpbC5jb20+CgoJICBleHQvd2F2cGFjay86IFdhdnBhY2sgc3VwcG9ydHMgc2FtcGxlcmF0ZXMgZnJvbSA2LTE5MmtIeiwgZml4IHBhZCB0ZW1wbGF0ZSByZW1vdmUgYnVmZmVyLWZyYW1lcyBmcm9tIGNhcHMsIHRoZXkgYXJlIGcuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5jOiAoZ3N0X3dhdnBhY2tfZGVjX2xpbmspOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOgoJICBXYXZwYWNrIHN1cHBvcnRzIHNhbXBsZXJhdGVzIGZyb20gNi0xOTJrSHosIGZpeCBwYWQgdGVtcGxhdGUKCSAgY2FwcyAoZml4ZXMgIzMyMjk3MzsgcGF0Y2ggYnk6IGdjb2NhdHJlQGdtYWlsLmNvbSkuIEFsc28KCSAgcmVtb3ZlIGJ1ZmZlci1mcmFtZXMgZnJvbSBjYXBzLCB0aGV5IGFyZSBnb25lIGluIDAuMTAuCgoyMDA1LTEyLTE1IDE0OjM5OjAwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC94dmlkL01ha2VmaWxlLmFtOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRlbmMuYzoKCSAgRml4ZWQgc29tZSBtZW0tbGVha3MgaW4geHZpZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeGVkIHNvbWUgbWVtLWxlYWtzIGluIHh2aWQuCgoyMDA1LTEyLTE1IDEwOjMwOjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6IERvbid0IGxlYWsgYWxsIGlucHV0IGJ1ZmZlcnMgdG8gYXVkaW9yZXNhbXBsZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJICBEb24ndCBsZWFrIGFsbCBpbnB1dCBidWZmZXJzIHRvIGF1ZGlvcmVzYW1wbGUuCgoyMDA1LTEyLTE1IDA4OjU0OjI2ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgZG9lc24ndCB1c2UgbGlib2lsCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkb2Vzbid0IHVzZSBsaWJvaWwKCjIwMDUtMTItMTQgMjI6NDE6NDcgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC94dmlkL2dzdHh2aWQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZC5oOgoJKiBleHQveHZpZC9nc3R4dmlkZGVjLmM6CgkqIGV4dC94dmlkL2dzdHh2aWRkZWMuaDoKCSogZXh0L3h2aWQvZ3N0eHZpZGVuYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmg6CgkgIHh2aWRkZWMgYW5kIHh2aWRlZW5jIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB4dmlkZGVjIGFuZCB4dmlkZWVuYyBwb3J0ZWQgdG8gMC4xMAoKMjAwNS0xMi0xNCAyMDo1NDowNiArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9NYWtlZmlsZS5hbToKCSogZXh0L2R0cy9nc3RkdHNkZWMuYzoKCSogZXh0L2R0cy9nc3RkdHNkZWMuaDoKCSAgZHRzZGVjIHBvcnRlZCB0byAwLjEwCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBkdHNkZWMgcG9ydGVkIHRvIDAuMTAKCjIwMDUtMTItMTIgMTA6NDA6NDIgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBleHQvOiBHc3RPYmplY3RzIG11c3QgYmUgdW5yZWYnZWQgd2l0aCBnc3Rfb2JqZWN0X3VucmVmKCkgaW5zdGVhZCBvZiBnX29iamVjdF91bnJlZigpLCBvdGhlcndpc2UgdGhpbmdzIGJyZWFrIGZvciBHTGkuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOiAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApOgoJICAqIGV4dC9saWJtbXMvZ3N0bW1zLmM6IChnc3RfbW1zX3NyY19xdWVyeSksIChnc3RfbW1zX2NyZWF0ZSk6CgkgICogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IChnc3RfbXVzZXBhY2tkZWNfc3JjX3F1ZXJ5KSwKCSAgKGdzdF9tdXNlcGFja2RlY19sb29wKToKCSAgKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiAoZ3N0X3N3ZmRlY192aWRlb19saW5rKSwKCSAgKGdzdF9zd2ZkZWNfc3JjX3F1ZXJ5KToKCSAgKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrcGFyc2UuYzogKGdzdF93YXZwYWNrX3BhcnNlX3NyY19xdWVyeSk6CgkgIEdzdE9iamVjdHMgbXVzdCBiZSB1bnJlZidlZCB3aXRoIGdzdF9vYmplY3RfdW5yZWYoKSBpbnN0ZWFkIG9mCgkgIGdfb2JqZWN0X3VucmVmKCksIG90aGVyd2lzZSB0aGluZ3MgYnJlYWsgZm9yIEdMaWItMi42IHVzZXJzLgoKMjAwNS0xMi0xMiAwOToyOToyMSArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOiBBZGQgYSBzdWJjbGFzcyBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrIGJlY2F1c2UgdGhlIHZpZGUuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNidWZmZXJfZ2V0X3R5cGUpLAoJICAoZ3N0X3N3ZmRlY2J1ZmZlcl9jbGFzc19pbml0KSwgKGdzdF9zd2ZkZWNidWZmZXJfZmluYWxpemUpLAoJICAoZ3N0X3N3ZmRlY19idWZmZXJfZnJvbV9zd2YpLCAoZ3N0X3N3ZmRlY19yZW5kZXIpOiBBZGQgYSBzdWJjbGFzcwoJICBvZiBHc3RCdWZmZXIgdGhhdCB3cmFwcyBTd2ZkZWNCdWZmZXJzLiAgRml4IGEgbWFzc2l2ZSBtZW1sZWFrCgkgIGJlY2F1c2UgdGhlIHZpZGVvIGJ1ZmZlcnMgcHJldmlvdXNseSBuZXZlciBnb3QgZnJlZWQuCgoyMDA1LTEyLTExIDIzOjU0OjU2ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEp1c3QgcmVtb3ZlZCBhIHdlaXJkIHByaW50ZiA7LSkKCjIwMDUtMTItMTEgMjM6MDk6MjEgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5oOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGRlZCBzdXBvcnQgdG8gbW1zaC4gVGhlcmUncyBzdGlsbCBhIHN1Y2tzIG1zZyAiRVJST1I6IFBpcGVsaW5lIGNhbnQgUFJFUk9PTC4uLiIgdG8gYmUgZml4ZWQuCgoyMDA1LTEyLTA5IDE1OjMwOjIxICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQXNzdW1lIHRoYXQgYW4gdW5rbm93biBjaGFubmVsIG1hcHBpbmcgd2l0aCAyIGNoYW5uZWxzIGlzIHN0ZXJlbyBhbmQgcGxheSBpdCB0aGF0IHdheSBpbnN0ZWFkIG9mIC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9jaGFucG9zX3RvX2dzdCksCgkgIChnc3RfZmFhZF91cGRhdGVfY2Fwcyk6CgkgIEFzc3VtZSB0aGF0IGFuIHVua25vd24gY2hhbm5lbCBtYXBwaW5nIHdpdGggMiBjaGFubmVscwoJICBpcyBzdGVyZW8gYW5kIHBsYXkgaXQgdGhhdCB3YXkgaW5zdGVhZCBvZiBlcnJvcmluZy4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIEhhbmRsZSBlLmcuIGpwZWcgc3RyZWFtcyB3aXRoIDAgZHVyYXRpb24gZnJhbWVzIGFzIGhhdmluZyAwIGZyYW1lcmF0ZS4KCSAgRGVidWcgZml4ZXMuIFNvbWUgNjQgYml0IHZhcmlhYmxlIGZpeGVzCgoyMDA1LTEyLTA5IDA0OjE1OjAyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL01ha2VmaWxlLmFtOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5jOgoJKiBleHQvc3dmZGVjL2dzdHN3ZmRlYy5oOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzd2ZkZWMgUG9ydGVkIHRvIDAuMTAuCgoyMDA1LTEyLTA3IDExOjQ2OjE1ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBNZW1sZWFrIGZpeGVzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKToKCSAgTWVtbGVhayBmaXhlcy4KCSAgU2VuZCBvdXQgRU9TIGZvciB2YWxpZCByZWFzb25zIChjb3VsZG4ndCBwdWxsX3JhbmdlKCkgZnJvbSB1cHN0cmVhbQoJICBmb3IgZXhhbXBsZSkuCgoyMDA1LTEyLTA2IDE5OjU1OjU4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZwYXJzZS5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5oOgoJKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmM6CgkqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzcmMuaDoKCSogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOgoJKiBleHQvZGl2eC9nc3RkaXZ4ZW5jLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmg6CgkqIGV4dC9mYWFjL2dzdGZhYWMuaDoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZW5jLmg6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9uYXMvbmFzc2luay5jOgoJKiBleHQvc25hcHNob3QvZ3N0c25hcHNob3QuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuaDoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5lbmMuaDoKCSogZXh0L3hpbmUvZ3N0eGluZS5oOgoJKiBleHQveGluZS94aW5lY2Fwcy5jOgoJKiBleHQveHZpZC9nc3R4dmlkLmg6CgkqIGdzdC1saWJzL2dzdC9wbGF5L3BsYXkuaDoKCSogZ3N0L2FwZXRhZy9hcGVkZW11eC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5oOgoJKiBnc3QvY2R4YXBhcnNlL2dzdHZjZHBhcnNlLmg6CgkqIGdzdC9jb2xvcnNwYWNlL3l1djJyZ2IuYzoKCSogZ3N0L2NvbG9yc3BhY2UveXV2MnJnYi5oOgoJKiBnc3QvZXF1YWxpemVyL2dzdGlpcmVxdWFsaXplci5jOgoJKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuaDoKCSogZ3N0L2dhbWVzL2dzdHB1enpsZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5jOgoJKiBnc3QvZ2FtZXMvZ3N0dmlkZW9pbWFnZS5oOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvaXRfZGVmcy5oOgoJKiBnc3QvbW9kcGx1Zy9saWJtb2RwbHVnL21vZHBsdWcuaDoKCSogZ3N0L21vZHBsdWcvbGlibW9kcGx1Zy9zbmRmaWxlLmg6CgkqIGdzdC9tb2RwbHVnL2xpYm1vZHBsdWcvc3RkYWZ4Lmg6CgkqIGdzdC9tcGVnMXN5cy9idWZmZXIuYzoKCSogZ3N0L21wZWcxc3lzL2dzdG1wZWcxc3lzdGVtZW5jb2RlLmg6CgkqIGdzdC9tcGVnMXN5cy9tYWluLmg6CgkqIGdzdC9tcGVnMXN5cy9zeXN0ZW1zLmM6CgkqIGdzdC9tcGVnMXZpZGVvcGFyc2UvZ3N0bXAxdmlkZW9wYXJzZS5oOgoJKiBnc3QvbXBlZzJzdWIvZ3N0bXBlZzJzdWJ0Lmg6CgkqIGdzdC9tcGVnYXVkaW9wYXJzZS9nc3RtcGVnYXVkaW9wYXJzZS5jOgoJKiBnc3QvbXBlZ2F1ZGlvcGFyc2UvZ3N0bXBlZ2F1ZGlvcGFyc2UuaDoKCSogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5oOgoJKiBnc3Qvb3ZlcmxheS9nc3RvdmVybGF5Lmg6CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5jOgoJKiBnc3QvcnRqcGVnL1JUanBlZy5oOgoJKiBnc3QvdHRhL2NyYzMyLmg6CgkqIGdzdC90dGEvZmlsdGVycy5oOgoJKiBnc3QvdHRhL3R0YWRlYy5oOgoJKiBnc3QvdmlkZW9kcm9wL2dzdHZpZGVvZHJvcC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuaDoKCSogc3lzL2Nkcm9tL2dzdGNkcGxheWVyX2lvY3RsLmM6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bC5oOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXJfaW9jdGxfYnNkLmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9pcml4Lmg6CgkqIHN5cy9jZHJvbS9nc3RjZHBsYXllcl9pb2N0bF9zb2xhcmlzLmg6CgkqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5oOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5oOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9keHIzL2R4cjN2aWRlb3NpbmsuaDoKCSogc3lzL3FjYW0vZGFyay5jOgoJKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmM6CgkqIHN5cy92NGwyL2dzdHY0bDJjb2xvcmJhbGFuY2UuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMmVsZW1lbnQuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnNyYy5oOgoJKiBzeXMvdjRsMi9nc3R2NGwydHVuZXIuaDoKCSogc3lzL3Y0bDIvZ3N0djRsMnhvdmVybGF5Lmg6CgkqIHN5cy92NGwyL3Y0bDJfY2FsbHMuYzoKCSogc3lzL3Y0bDIvdjRsMl9jYWxscy5oOgoJKiBzeXMvdjRsMi92NGwyc3JjX2NhbGxzLmM6CgkqIHN5cy92NGwyL3Y0bDJzcmNfY2FsbHMuaDoKCSogc3lzL3ZjZC92Y2RzcmMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQ0OjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9sYWRzcGEvZ3N0c2lnbmFscHJvY2Vzc29yLmg6CgkqIGV4dC9sYWRzcGEvc2VhcmNoLmM6CgkqIGV4dC9sYWRzcGEvdXRpbHMuaDoKCSAgZXhwYW5kIHRhYnMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGV4cGFuZCB0YWJzCgoyMDA1LTEyLTA2IDE5OjQyOjAyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9mdW5jdGFibGUuaDoKCSogZ3N0L2F1ZGlvcmVzYW1wbGUvZ3N0YXVkaW9yZXNhbXBsZS5jOgoJKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5oOgoJKiB0ZXN0cy9jaGVjay9lbGVtZW50cy9hdWRpb3Jlc2FtcGxlLmM6CgkgIGV4cGFuZCB0YWJzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBleHBhbmQgdGFicwoKMjAwNS0xMi0wNSAxODoxMTozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjEwLjAgPT09CgoyMDA1LTEyLTA1IDE4OjAxOjQ4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgcmVsZWFzaW5nIDAuMTAuMAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuMTAuMAoKMjAwNS0xMi0wNSAxMzowNDoyMiArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgVXBkYXRlIGZvciBhbGxvY19idWZmZXIgY2hhbmdlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTItMDUgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCksIChnc3RfZmFhY19jaGFpbik6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfY2hhaW4pOgoJICAqIGV4dC9oZXJtZXMvZ3N0aGVybWVzY29sb3JzcGFjZS5jOiAoZ3N0X2hlcm1lc19jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQvbGNzL2dzdGNvbG9yc3BhY2UuYzogKGdzdF9jb2xvcnNwYWNlX2NoYWluKToKCSAgKiBleHQveGluZS94aW5laW5wdXQuYzogKGdzdF94aW5lX2lucHV0X2dldCk6CgkgICogZ3N0L2NvbG9yc3BhY2UvZ3N0Y29sb3JzcGFjZS5jOiAoZ3N0X2NvbG9yc3BhY2VfY2hhaW4pOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfY2hhaW4pOgoJICAqIGdzdC92aWRlb2Nyb3AvZ3N0dmlkZW9jcm9wLmM6IChnc3RfdmlkZW9fY3JvcF9jaGFpbik6IFVwZGF0ZSBmb3IKCSAgYWxsb2NfYnVmZmVyIGNoYW5nZXMuCgoyMDA1LTEyLTA1IDEzOjAyOjU4ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJICBVcGRhdGUgZm9yIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMi0wNSAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZHYvZ3N0ZHZkZWMuYzogKGdzdF9kdmRlY19jaGFpbik6CgkgICogZXh0L2ZsYWMvZ3N0ZmxhY2RlYy5jOiAoZ3N0X2ZsYWNkZWNfd3JpdGUpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNlbmMuYzogKGdzdF9mbGFjZW5jX3dyaXRlX2NhbGxiYWNrKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9nc3RnZGtwaXhidWYuYzogKGdzdF9nZGtfcGl4YnVmX2NoYWluKToKCSAgKiBleHQvZ2RrX3BpeGJ1Zi9waXhidWZzY2FsZS5jOiAoZ3N0X3BpeGJ1ZnNjYWxlX2NoYWluKToKCSAgKiBleHQvanBlZy9nc3RqcGVnZGVjLmM6IChnc3RfanBlZ19kZWNfY2hhaW4pOgoJICAqIGV4dC9qcGVnL2dzdGpwZWdlbmMuYzogKGdzdF9qcGVnZW5jX2NoYWluKToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfcHJvY2Vzcyk6CgkgICogZXh0L2xpYnBuZy9nc3RwbmdkZWMuYzogKHVzZXJfaW5mb19jYWxsYmFjayksIChnc3RfcG5nZGVjX3Rhc2spOgoJICAqIGV4dC9zcGVleC9nc3RzcGVleGRlYy5jOiAoc3BlZXhfZGVjX2NoYWluKToKCSAgKiBleHQvc3BlZXgvZ3N0c3BlZXhlbmMuYzogKGdzdF9zcGVleGVuY19jaGFpbik6CgkgICogZ3N0L2F1cGFyc2UvZ3N0YXVwYXJzZS5jOiAoZ3N0X2F1cGFyc2VfY2hhaW4pOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX2NoYWluKToKCSAgKiBnc3QvZ29vbS9nc3Rnb29tLmM6IChnc3RfZ29vbV9jaGFpbik6CgkgICogZ3N0L21hdHJvc2thL21hdHJvc2thLWRlbXV4LmM6CgkgIChnc3RfbWF0cm9za2FfZGVtdXhfcHVzaF92b3JiaXNfY29kZWNfcHJpdl9kYXRhKSwKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9hZGRfd3Zwa19oZWFkZXIpOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0ZGVtdXguYzogKGdzdF9tdWx0aXBhcnRfZGVtdXhfY2hhaW4pOgoJICAqIGdzdC9tdWx0aXBhcnQvbXVsdGlwYXJ0bXV4LmM6IChnc3RfbXVsdGlwYXJ0X211eF9jb2xsZWN0ZWQpOgoJICAqIGdzdC92aWRlb21peGVyL3ZpZGVvbWl4ZXIuYzogKGdzdF92aWRlb21peGVyX2NvbGxlY3RlZCk6CgkgICogZ3N0L3dhdmVuYy9nc3R3YXZlbmMuYzogKGdzdF93YXZlbmNfY2hhaW4pOiBVcGRhdGUgZm9yCgkgIGFsbG9jX2J1ZmZlciBjaGFuZ2VzLgoKMjAwNS0xMi0wNCAyMjo0NjozNCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHVwZGF0ZSBzcGVjIGZpbGUKCjIwMDUtMTItMDIgMTE6MzQ6NTAgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbiBldGMuLiB3b3JrIGZpbmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5jOiAoYXVkaW9yZXNhbXBsZV9idWZmZXJfcXVldWVfZmx1c2gpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2J1ZmZlci5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmg6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzogKHJlc2FtcGxlX2lucHV0X2ZsdXNoKSwKCSAgKHJlc2FtcGxlX2lucHV0X3B1c2h0aHJvdWdoKSwgKHJlc2FtcGxlX2lucHV0X2VvcyksCgkgIChyZXNhbXBsZV9nZXRfb3V0cHV0X3NpemVfZm9yX2lucHV0KSwKCSAgKHJlc2FtcGxlX2dldF9pbnB1dF9zaXplX2Zvcl9vdXRwdXQpLCAocmVzYW1wbGVfZ2V0X291dHB1dF9zaXplKSwKCSAgKHJlc2FtcGxlX2dldF9vdXRwdXRfZGF0YSk6CgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuaDoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZV9yZWYuYzogKHJlc2FtcGxlX3NjYWxlX3JlZik6CgkgIEZpeCBhdWRpb3Jlc2FtcGxlLCBzZWVrIHRvcnR1cmUsIG5ldyBzZWdtZW50cywgcmV2ZXJzZSBuZWdvdGlhdGlvbgoJICBldGMuLiB3b3JrIGZpbmUuCgoyMDA1LTEyLTAyIDA5OjMyOjIxICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L01ha2VmaWxlLmFtOiBBZGQgbWlzc2luZyAkKFdBVlBBQ0tfRElSKSAoIzMyMjk2MikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9NYWtlZmlsZS5hbToKCSAgQWRkIG1pc3NpbmcgJChXQVZQQUNLX0RJUikgKCMzMjI5NjIpLgoKMjAwNS0xMi0wMSAxOToxNzozNCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNyA9PT0KCjIwMDUtMTItMDEgMTk6MTM6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy5hcmdzOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSogZG9jcy9yYW5kb20vTElDRU5TRToKCSogZG9jcy9yYW5kb20vUE9SVEVEXzA5OgoJICByZWxlYXNpbmcgMC45LjcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJlbGVhc2luZyAwLjkuNwoKMjAwNS0xMS0yOSAwMjo1NToxOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvTWFrZWZpbGUuYW06CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmM6CgkqIGV4dC9saWJtbXMvZ3N0bW1zLmg6CgkgIGxpYm1tIHBvcnRlZCB0byAwLjkuIEl0IHdvcmtzIGZpbmUsIGJ1dCBwcmludCBzb21lIGVycm9yIG1lc3NhZ2VzLiBJJ2xsIGZpeCB0aGVtIHNvb24uIFRlc3RlZCB3aXRoICBtbXNzcmMgbG9jYXRpb249bS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbGlibW0gcG9ydGVkIHRvIDAuOS4gSXQgd29ya3MgZmluZSwgYnV0IHByaW50IHNvbWUgZXJyb3IgbWVzc2FnZXMuIEknbGwgZml4IHRoZW0gc29vbi4gVGVzdGVkIHdpdGggIG1tc3NyYyBsb2NhdGlvbj1tbXM6Ly8gISBmaWxlc2luay4KCjIwMDUtMTEtMjggMjE6MjI6MzkgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29tbW9uOgoJKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmg6CgkgIGZpeCBoZWFkZXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBoZWFkZXIKCjIwMDUtMTEtMjggMTc6NDc6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgZml4IGluY2x1ZGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBpbmNsdWRlCgoyMDA1LTExLTI4IDE1OjQzOjI5ICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0Li4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFkL2dzdGZhYWQuYzogKGdzdF9mYWFkX3NyY2dldGNhcHMpOgoJICBIYW5kbGUgZ3JhY2VmdWxseSB0aGUgY29uc2VxdWVuY2Ugb2YgIk1heGltdW0gbnVtYmVyIG9mIHNjYWxlZmFjdG9yCgkgIGJhbmRzIGV4Y2VlZGVkIiwgd2hpY2ggcmVzdWx0cyBpbiAwIGNoYW5uZWxzIHdpdGggc2FtcGxlcmF0ZXMgb2YgMC4KCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jaGFuZ2Vfc3RhdGUpOgoJICBEbyB1cHdhcmQgdHJhbnNpdGlvbnMsIHRoZW4gY2FsbCBwYXJlbnQgc3RhdGVfY2hhbmdlLCB0aGVuIGRvCgkgIGRvd253YXJkIHRyYW5zaXRpb25zLgoKMjAwNS0xMS0yOCAxNToxOTozMyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGZpeCBtYWtlZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IG1ha2VmaWxlCgoyMDA1LTExLTI4IDE0OjUwOjQ0ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC9NYWtlZmlsZS5hbTogYWxwaGFiZXRzLCBzbyBoYXJkIHRvIG1hc3Rlci4gIFNob3VsZCBmaXggZGlzdGNoZWNrLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgIGFscGhhYmV0cywgc28gaGFyZCB0byBtYXN0ZXIuICBTaG91bGQgZml4IGRpc3RjaGVjay4KCjIwMDUtMTEtMjcgMTQ6MzU6MjcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGFkZCBBQ0xPQ0FMX0FNRkxBR1M7IHJlbW92ZSBvbGQgc3R1ZmYgZnJvbSBzcGVjIGNoYW5nZWxvZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYWRkIEFDTE9DQUxfQU1GTEFHUzsgcmVtb3ZlIG9sZCBzdHVmZiBmcm9tIHNwZWMgY2hhbmdlbG9nCgoyMDA1LTExLTI1IDE5OjU4OjE5ICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC93YXZwYWNrL01ha2VmaWxlLmFtOgoJKiBleHQvd2F2cGFjay9nc3R3YXZwYWNrZGVjLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuaDoKCSogZXh0L3dhdnBhY2svZ3N0d2F2cGFja3BhcnNlLmM6CgkqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBXYXZwYWNrIHBvcnRlZCB0byAwLjkuIE5vIHN1cHBvcnQgZm9yIGNvcnJlY3Rpb24gZmlsZSB5ZXQuCgoyMDA1LTExLTI1IDE4OjE1OjUxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGV4dC93YXZwYWNrLzogcHV0IGJhY2sgd2F2cGFjayAtIHN0aWxsIG5lZWRzIHBvcnRpbmcKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2NvbW1vbi5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2tkZWMuYzogKGdzdF93YXZwYWNrX2RlY19saW5rKSwKCSAgKGdzdF93YXZwYWNrX2RlY193dmNsaW5rKSwgKGdzdF93YXZwYWNrX2RlY19nZXRfdHlwZSksCgkgIChnc3Rfd2F2cGFja19kZWNfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX2RlY19kaXNwb3NlKSwKCSAgKGdzdF93YXZwYWNrX2RlY19jbGFzc19pbml0KSwgKGdzdF93YXZwYWNrX2RlY19zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2luaXQpLCAoZ3N0X3dhdnBhY2tfZGVjX3NldHVwX2NvbnRleHQpLAoJICAoZ3N0X3dhdnBhY2tfZGVjX2Zvcm1hdF9zYW1wbGVzKSwgKGdzdF93YXZwYWNrX2RlY19sb29wKSwKCSAgKGdzdF93YXZwYWNrX2RlY19wbHVnaW5faW5pdCk6CgkgICogZXh0L3dhdnBhY2svZ3N0d2F2cGFja2RlYy5oOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5jOiAoZ3N0X3dhdnBhY2tfcGFyc2VfZ2V0X3R5cGUpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfYmFzZV9pbml0KSwgKGdzdF93YXZwYWNrX3BhcnNlX2Rpc3Bvc2UpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2VfY2xhc3NfaW5pdCksIChnc3Rfd2F2cGFja19wYXJzZV9zcmNfcXVlcnkpLAoJICAoZ3N0X3dhdnBhY2tfcGFyc2Vfc3JjX2V2ZW50KSwgKGZpbmRfaGVhZGVyKSwgKGZpbmRfc2FtcGxlKSwKCSAgKGdzdF93YXZwYWNrX3BhcnNlX3NlZWspLCAoZ3N0X3dhdnBhY2tfcGFyc2VfaW5pdCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9oYW5kbGVfZXZlbnQpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfbG9vcCksCgkgIChnc3Rfd2F2cGFja19wYXJzZV9jaGFuZ2Vfc3RhdGUpLCAoZ3N0X3dhdnBhY2tfcGFyc2VfcGx1Z2luX2luaXQpOgoJICAqIGV4dC93YXZwYWNrL2dzdHdhdnBhY2twYXJzZS5oOgoJICBwdXQgYmFjayB3YXZwYWNrIC0gc3RpbGwgbmVlZHMgcG9ydGluZwoKMjAwNS0xMS0yMyAyMToyNzoyMCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSAgYWRkIGEgdG9ydHVyZSB0YXJnZXQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBhIHRvcnR1cmUgdGFyZ2V0CgoyMDA1LTExLTIzIDIwOjA2OjA5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJICBiYWNrIHRvIEhFQUQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGJhY2sgdG8gSEVBRAoKPT09IHJlbGVhc2UgMC45LjYgPT09CgoyMDA1LTExLTIzIDE5OjU3OjQ5ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogTkVXUzoKCSogUkVMRUFTRToKCSogY29uZmlndXJlLmFjOgoJKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tZmFhZC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1nc20ueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tcXRkZW11eC54bWw6CgkqIGRvY3MvcGx1Z2lucy9pbnNwZWN0L3BsdWdpbi1zZGx2aWRlb3NpbmsueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tc3BlZWQueG1sOgoJKiBkb2NzL3BsdWdpbnMvaW5zcGVjdC9wbHVnaW4tdHRhLnhtbDoKCSAgcmVsZWFzaW5nIDAuOS42CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjYKCjIwMDUtMTEtMjMgMTg6MDU6MTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgVXNlIGZyYWN0aW9uIGZvciBmcmFtZXJhdGUsIHZhcmlvdXMgZml4ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLWRlY2wudHh0OgoJICAqIGV4dC9kaXJlY3RmYi9kZmItZXhhbXBsZS5jOiAobWFpbik6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldGNhcHMpLCAoZ3N0X2RmYnZpZGVvc2lua19zZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3RpbWVzKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfYnVmZmVycG9vbF9jbGVhciksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyksIChnc3RfZGZic3VyZmFjZV9maW5hbGl6ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX25hdmlnYXRpb25fc2VuZF9ldmVudCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ZpbmFsaXplKSwgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuaDogVXNlIGZyYWN0aW9uIGZvciBmcmFtZXJhdGUsCgkgIHZhcmlvdXMKCSAgZml4ZXMuCgoyMDA1LTExLTIzIDE1OjM2OjA4ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLio6IFVwZGF0ZXMgZm9yIGZyYWN0aW9uYWwgZnJhbWVyYXRlcyBhbmQgWE92ZXJsYXkgaW50ZXJmYWNlIGNoYW5nZXMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfYmFzZV9pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfZ2V0X3RpbWVzKSwgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3NldGNhcHMpLCAoZ3N0X3NkbHZpZGVvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIFVwZGF0ZXMgZm9yIGZyYWN0aW9uYWwgZnJhbWVyYXRlcyBhbmQgWE92ZXJsYXkgaW50ZXJmYWNlIGNoYW5nZXMKCjIwMDUtMTEtMjMgMTE6NTc6NTEgKzAwMDAgIEphbiBTY2htaWR0IDx0aGF5dGFuQG1hZC5zY2llbnRpc3QuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBDb252ZXJ0IHRvIGZyYWN0aW9uYWwgZnJhbWVyYXRlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9sb29wX2hlYWRlciksCgkgIChnc3RfcXRkZW11eF9hZGRfc3RyZWFtKSwgKHF0ZGVtdXhfZHVtcF9tdmhkKSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJhayk6CgkgIENvbnZlcnQgdG8gZnJhY3Rpb25hbCBmcmFtZXJhdGVzCgoyMDA1LTExLTIzIDAwOjI4OjEyICswMDAwICBFZHdhcmQgSGVydmV5IDxiaWxib2VkQGJpbGJvZWQuY29tPgoKCSAgZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6IEZpeCBmb3IgbGF0ZXN0IEFQSSBjaGFuZ2VzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2xvb3ApOgoJICBGaXggZm9yIGxhdGVzdCBBUEkgY2hhbmdlcwoKMjAwNS0xMS0yMiAxNTowOToyOCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L01ha2VmaWxlLmFtOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tkZWMuYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmg6CgkqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja3JlYWRlci5jOgoJKiBleHQvbXVzZXBhY2svZ3N0bXVzZXBhY2tyZWFkZXIuaDoKCSAgTXVzZXBhY2tkZWMgcG9ydGVkIHRvIDAuOS4gVGhlcmUgaXMgc3RpbGwgYSBzbWFsbCBwcm9ibGVtIHRvIGJlIHNvbHZlZCwgYWZ0ZXIgdGhlIGVuZCBvZiBmaWxlLCB0aGUgcGlwZWxpbmUgZG9lbnMndCBzLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBNdXNlcGFja2RlYyBwb3J0ZWQgdG8gMC45LiBUaGVyZSBpcyBzdGlsbCBhIHNtYWxsIHByb2JsZW0gdG8gYmUgc29sdmVkLCBhZnRlciB0aGUgZW5kIG9mIGZpbGUsIHRoZSBwaXBlbGluZSBkb2Vucyd0IHN0b3AuCgoyMDA1LTExLTIyIDExOjU3OjUxICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZXh0L2l2b3JiaXMvdm9yYmlzZmlsZS5jOgoJKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkgIGV4dC9mYWFkL2dzdGZhYWQuYyAoZ3N0X2ZhYWRfZXZlbnQpIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApIGdzdC9xdGRlbXV4L3F0ZGVtdXguYyAoZ3N0X3F0ZGVtdS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0yMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmMgKGdzdF9mYWFkX2V2ZW50KQoJICAqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYyAoZ3N0X2l2b3JiaXNmaWxlX2xvb3ApCgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jIChnc3RfcXRkZW11eF9sb29wX2hlYWRlcikKCSAgKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYyAoc3BlZWRfc2lua19ldmVudCkKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmMgKGdzdF90dGFfcGFyc2Vfc3JjX2V2ZW50KQoJICAoZ3N0X3R0YV9wYXJzZV9wYXJzZV9oZWFkZXIpOiBSdW4gdXBkYXRlLWZ1bmNuYW1lcy4KCjIwMDUtMTEtMjEgMTg6NDU6NTQgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogRG9uJ3QgdGFrZSBTVFJFQU1fTE9DSyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBtb3JlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2V2ZW50KToKCSAgRG9uJ3QgdGFrZSBTVFJFQU1fTE9DSyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBtb3JlLgoKMjAwNS0xMS0yMSAxODowOTowMSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIFVwZGF0ZSBmb3Igc3RyZWFtIGxvY2sgQVBJIGNoYW5nZXM6IGRvbid0IHRha2Ugc3RyZWFtIGxvZyBpbiBzaW5rIGV2ZW50IGhhbmRsZXJzIGFueSBsb25nZXIgYW5kIGNoYW5nZSBHU1RfU1RSRUFNX0xPQy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZHYvZ3N0ZHZkZW11eC5jOiAoZ3N0X2R2ZGVtdXhfaGFuZGxlX3NpbmtfZXZlbnQpOgoJICAqIGV4dC9mbGFjL2dzdGZsYWNkZWMuYzogKGdzdF9mbGFjZGVjX2xvb3ApLAoJICAoZ3N0X2ZsYWNkZWNfc3JjX2V2ZW50KToKCSAgKiBleHQvZmxhYy9nc3RmbGFjZW5jLmM6IChnc3RfZmxhY2VuY19zaW5rX2V2ZW50KToKCSAgKiBleHQvbGFkc3BhL2dzdHNpZ25hbHByb2Nlc3Nvci5jOiAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZXZlbnQpLAoJICAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfZ2V0cmFuZ2UpLCAoZ3N0X3NpZ25hbF9wcm9jZXNzb3JfY2hhaW4pOgoJICAqIGdzdC9hdmkvZ3N0YXZpZGVtdXguYzogKGdzdF9hdmlfZGVtdXhfaGFuZGxlX3NlZWspOgoJICAqIGdzdC9mbHgvZ3N0Zmx4ZGVjLmM6IChnc3RfZmx4ZGVjX3NyY19ldmVudF9oYW5kbGVyKSwKCSAgKGdzdF9mbHhkZWNfc2lua19ldmVudF9oYW5kbGVyKToKCSAgKiBnc3QvbWF0cm9za2EvbWF0cm9za2EtZGVtdXguYzoKCSAgKGdzdF9tYXRyb3NrYV9kZW11eF9oYW5kbGVfc2Vla19ldmVudCk6CgkgICogZ3N0L3dhdnBhcnNlL2dzdHdhdnBhcnNlLmM6IChnc3Rfd2F2cGFyc2VfaGFuZGxlX3NlZWspOgoJICBVcGRhdGUgZm9yIHN0cmVhbSBsb2NrIEFQSSBjaGFuZ2VzOiBkb24ndCB0YWtlIHN0cmVhbSBsb2cKCSAgaW4gc2luayBldmVudCBoYW5kbGVycyBhbnkgbG9uZ2VyIGFuZCBjaGFuZ2UgR1NUX1NUUkVBTV9MT0NLCgkgIHRvIEdTVF9QQURfU1RSRUFNX0xPQ0suIERvbid0IGxlYWsgcmVmZXJlbmNlcyBpbiBmbHhkZWMgZXZlbnQKCSAgZnVuY3Rpb25zLgoKMjAwNS0xMS0yMSAxNzozNzo0MSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIEZpeCBmb3Igc3RyZWFtIGxvY2sgdXBkYXRlcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWMvZ3N0ZmFhYy5jOiAoZ3N0X2ZhYWNfc2lua19ldmVudCk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfaGFuZGxlX3NyY19ldmVudCk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpOgoJICBGaXggZm9yIHN0cmVhbSBsb2NrIHVwZGF0ZXMuCgoyMDA1LTExLTIxIDE3OjE0OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0LzogU2VnbWVudCB1cGRhdGUgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QtbGlicy9nc3QvYXVkaW8vZ3N0YmFzZWF1ZGlvc2luay5jOgoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jbGFzc19pbml0KSwgKGdzdF9iYXNlX2F1ZGlvX3NpbmtfaW5pdCksCgkgIChnc3RfYmFzZV9hdWRpb19zaW5rX3Byb3ZpZGVfY2xvY2spLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19zZXRfY2xvY2spLCAoZ3N0X2Jhc2VfYXVkaW9fc2lua19yZW5kZXIpLAoJICAoZ3N0X2Jhc2VfYXVkaW9fc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgU2VnbWVudCB1cGRhdGUgZml4LgoKMjAwNS0xMS0yMSAxNjo0NTo0NiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogakBib290bGFiLm9yZywgIzMyMTkwMykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKHF0ZGVtdXhfdmlkZW9fY2Fwcyk6CgkgIEFkZCBEWDUwLCBESVZYIGFuZCBESVYzIGZvdXJjY3MgKHBhdGNoIGJ5CgkgIGpAYm9vdGxhYi5vcmcsICMzMjE5MDMpLgoKMjAwNS0xMS0yMSAxNjozNzoxOCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSAgKi4qOiBSYW4gc2NyaXB0cy91cGRhdGUtbWFjcm9zLiBPaCB5ZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTIxICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqICouaDoKCSAgKiAqLmM6IFJhbiBzY3JpcHRzL3VwZGF0ZS1tYWNyb3MuIE9oIHllcy4KCjIwMDUtMTEtMjEgMTQ6Mzk6MDQgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBVcGRhdGUgZm9yIEdTVF9GT1VSQ0NfRk9STUFUIEFQSSBjaGFuZ2UuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NyZWF0ZSk6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpLAoJICAocXRkZW11eF9wYXJzZSksIChxdGRlbXV4X3R5cGVfZ2V0KSwgKHF0ZGVtdXhfbm9kZV9kdW1wX2ZvcmVhY2gpLAoJICAocXRkZW11eF9kdW1wX2hkbHIpLCAocXRkZW11eF9kdW1wX2RyZWYpLCAocXRkZW11eF9kdW1wX3N0c2QpLAoJICAocXRkZW11eF9kdW1wX2Rjb20pLCAocXRkZW11eF9wYXJzZV90cmFrKSwgKHF0ZGVtdXhfdmlkZW9fY2FwcyksCgkgIChxdGRlbXV4X2F1ZGlvX2NhcHMpOgoJICAqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzogKGdzdF92NGwyc3JjX3Y0bDJmb3VyY2NfdG9fY2Fwcyk6CgkgICogc3lzL3Y0bDIvdjRsMnNyY19jYWxscy5jOiAoZ3N0X3Y0bDJzcmNfZmlsbF9mb3JtYXRfbGlzdCksCgkgIChnc3RfdjRsMnNyY19jYXB0dXJlX2luaXQpLCAoZ3N0X3Y0bDJzcmNfZ2V0X3NpemVfbGltaXRzKToKCSAgVXBkYXRlIGZvciBHU1RfRk9VUkNDX0ZPUk1BVCBBUEkgY2hhbmdlLgoKMjAwNS0xMS0yMSAxNDozMzoxMSArMDAwMCAgSmFuIFNjaG1pZHQgPHRoYXl0YW5AbWFkLnNjaWVudGlzdC5jb20+CgoJICBSZW5hbWUgZ3N0X2NhcHNfc3RydWN0dXJlX2ZpeGF0ZV8qIHRvIGdzdF9zdHJ1Y3R1cmVfZml4YXRlXyogKCMzMjIwMjcpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX3NpbmtfZml4YXRlKToKCSAgKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOiAoZ3N0X3JmYnNyY19maXhhdGUpOgoJICAqIGdzdC9tb2RwbHVnL2dzdG1vZHBsdWcuY2M6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2ZpeGF0ZSk6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfZml4YXRlKToKCSAgUmVuYW1lIGdzdF9jYXBzX3N0cnVjdHVyZV9maXhhdGVfKiB0byBnc3Rfc3RydWN0dXJlX2ZpeGF0ZV8qCgkgICgjMzIyMDI3KQoKMjAwNS0xMS0yMSAwMzoyMTowNCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGV4dC9pdm9yYmlzL01ha2VmaWxlLmFtOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIE5vdyBpdCB3b3JrcyBpbiBwdXNoLW1vZGUuIFRlc3RlZCB3aXRoIGdub21ldmZzc3JjIGxvY2F0aW9uPWh0dHA6Ly8uLiAgISB0cmVtb3IgISBhbHNhc2luay4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE5vdyBpdCB3b3JrcyBpbiBwdXNoLW1vZGUuIFRlc3RlZCB3aXRoIGdub21ldmZzc3JjIGxvY2F0aW9uPWh0dHA6Ly8uLiAgISB0cmVtb3IgISBhbHNhc2luay4KCSAgU29tZSBpc3N1ZXMgdG8gYmUgc29sdmVkIHlldDoKCSAgMS0gc2V0IGNvcnJlY3QgdGltZXN0YW1wcwoJICAyLSBzZWVrIGlzIGZvcmNlZCB0byBkaXNhYmxlZCBpbiBwdWxsLW1vZGUKCjIwMDUtMTEtMTYgMTc6MjY6MTAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGNvbW1vbjoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIG1ha2UgaXQgd29yawoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgbWFrZSBpdCB3b3JrCgoyMDA1LTExLTE1IDE2OjUwOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWMvZ3N0ZmFhYy5jOiBTZXQgcHJvcGVyIGNhcHMgb24gc291cmNlIHBhZCAoIzMyMDUzMikuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX2Jhc2VfaW5pdCksIChnc3RfZmFhY19pbml0KSwKCSAgKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksIChnc3RfZmFhY19jb25maWd1cmVfc291cmNlX3BhZCksCgkgIChnc3RfZmFhY19jaGFpbik6CgkgIFNldCBwcm9wZXIgY2FwcyBvbiBzb3VyY2UgcGFkICgjMzIwNTMyKS4KCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6CgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIGNvbW1lbnQgYmxvY2suCgoyMDA1LTExLTE1IDA4OjM4OjE2ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBleHQvaXZvcmJpcy92b3JiaXMuYzoKCSAgc2V0IHJhbmsgdG8gc2Vjb25kYXJ5IGFzIHlvdSBuZXZlciB3YW50IHRoaXMgdG8gYmUgdXNlZCBpbnN0ZWFkIG9mIG5vcm1hbCBvZ2dkZW11eCBldGMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBzZXQgcmFuayB0byBzZWNvbmRhcnkgYXMgeW91IG5ldmVyIHdhbnQgdGhpcyB0byBiZSB1c2VkIGluc3RlYWQgb2Ygbm9ybWFsIG9nZ2RlbXV4IGV0Yy4KCjIwMDUtMTEtMTQgMTc6MTE6NTUgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGNvbmZpZ3VyZS5hYyAoR1NUX1BMVUdJTl9MREZMQUdTKTogLW5vLXVuZGVmaW5lZCBmb3IgYmV0dGVyIGRlYnVnZ2luZywgYWxsb3dzIGRsbCBidWlsZHMgb24gd2luZG93cy4gRml4ZXMgIzMxNjA3Ni4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMTQgIEFuZHkgV2luZ28gIDx3aW5nb0Bwb2JveC5jb20+CgkgICogY29uZmlndXJlLmFjIChHU1RfUExVR0lOX0xERkxBR1MpOiAtbm8tdW5kZWZpbmVkIGZvciBiZXR0ZXIKCSAgZGVidWdnaW5nLCBhbGxvd3MgZGxsIGJ1aWxkcyBvbiB3aW5kb3dzLiBGaXhlcyAjMzE2MDc2LgoKMjAwNS0xMS0xNCAwMjoxMzoyNiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGV4dC9sYWRzcGEvZ3N0bGFkc3BhLmM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHJld29yayBjb25maWd1cmUuYWM7IG1ha2UgYXN0ZXJpc2sgcnRwIHN0dWZmIGNvbXBpbGUgb24gbWluZ3cKCjIwMDUtMTEtMTEgMTk6Mzk6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gaGVhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBoZWFkCgo9PT0gcmVsZWFzZSAwLjkuNSA9PT0KCjIwMDUtMTEtMTEgMTk6Mzg6MTcgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkgIHJlbGVhc2luZyAwLjkuNQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS41CgoyMDA1LTExLTExIDE4OjU0OjE0ICswMDAwICBNaWNoYWVsIFNtaXRoIDxtc21pdGhAeGlwaC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSAgRml4IGNvbXBpbGUgb24gc3lzdGVtcyB3aXRoIGJyb2tlbiBmYWFkIGhlYWRlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXggY29tcGlsZSBvbiBzeXN0ZW1zIHdpdGggYnJva2VuIGZhYWQgaGVhZGVycy4KCjIwMDUtMTEtMTEgMTg6MTc6MjIgKzAwMDAgIE1pY2hhZWwgU21pdGggPG1zbWl0aEB4aXBoLm9yZz4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuYzogQ2FsbCBmdW5jdGlvbnMgd2l0aCB0aGUgY29ycmVjdCBBUEkuIFVuZm9ydHVuYXRlbHksIHVubGVzcyB5b3VyIGRpc3RyaWJ1dGlvbiBwYXRjaGVzIHVwc3RyZWFtLCB0aC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9zZXRjYXBzKSwgKGdzdF9mYWFkX2NoYWluKToKCSAgQ2FsbCBmdW5jdGlvbnMgd2l0aCB0aGUgY29ycmVjdCBBUEkuIFVuZm9ydHVuYXRlbHksIHVubGVzcyB5b3VyCgkgIGRpc3RyaWJ1dGlvbiBwYXRjaGVzIHVwc3RyZWFtLCB0aGUgcHVibGljIGhlYWRlciBmaWxlIGZvciBGQUFECgkgIGRvZXNuJ3QgYWN0dWFsbHkgZGVjbGFyZSB0aGUgQVBJIGFjY3VyYXRlbHkuIFNvLCBzb21lIG5hc3RpbmVzcwoJICBlbnN1ZXMuLi4KCjIwMDUtMTEtMTAgMTI6MzQ6MjYgKzAwMDAgIFRpbS1QaGlsaXBwIE3DvGxsZXIgPHRpbUBjZW50cmljdWxhci5uZXQ+CgoJICBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IEFkZCBzdXBwb3J0IGZvciBjdXN0b20gZ2VucmUgdGFncy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIFJldmlld2VkIGJ5OiBUaW0tUGhpbGlwcCBNw7xsbGVyICA8dGltIGF0IGNlbnRyaWN1bGFyIGRvdCBuZXQ+CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAocXRkZW11eF9wYXJzZV91ZHRhKToKCSAgQWRkIHN1cHBvcnQgZm9yIGN1c3RvbSBnZW5yZSB0YWdzLgoKMjAwNS0xMS0wOSAwMTowNDowNSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIERvbid0IHVzZSBndGstZG9jIG1hcmtlcnMgZm9yIG5vcm1hbCBjb21tZW50cy4gRml4IGd0ay1kb2MgZm9ybWF0dGluZyB3aGVyZSByZXF1aXJlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3Rhcmtpbi93YXZlbGV0LmM6CgkgICogZXh0L3Rhcmtpbi93YXZlbGV0Lmg6CgkgICogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlkYXRhLmM6CgkgICogZ3N0L3ZiaWRlYy92YmlzY3JlZW4uaDoKCSAgKiBzeXMvZHhyMy9hYzNfcGFkZGVyLmM6CgkgICogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJICAqIHN5cy9keHIzL2R4cjNzcHVzaW5rLmM6CgkgICogc3lzL2R4cjMvZHhyM3ZpZGVvc2luay5jOgoJICAqIHN5cy9xY2FtL2RhcmsuYzoKCSAgRG9uJ3QgdXNlIGd0ay1kb2MgbWFya2VycyBmb3Igbm9ybWFsIGNvbW1lbnRzLiBGaXgKCSAgZ3RrLWRvYyBmb3JtYXR0aW5nIHdoZXJlIHJlcXVpcmVkLgoKMjAwNS0xMS0wOCAxNDoyMDo1MCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIHJlbW92ZSB3cm9uZyBtcGVnc3RyZWFtIGFkZGl0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZW1vdmUgd3JvbmcgbXBlZ3N0cmVhbSBhZGRpdGlvbgoKMjAwNS0xMS0wOCAxNDoxNzowMyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgYWRkIHRyZW1vciBwbHVnaW5zIHRvIG5lZWRlZCBidWlsZHNjcmlwdHMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCB0cmVtb3IgcGx1Z2lucyB0byBuZWVkZWQgYnVpbGRzY3JpcHRzCgoyMDA1LTExLTA4IDEzOjU1OjEzICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9pdm9yYmlzL3ZvcmJpcy5jOgoJKiBleHQvaXZvcmJpcy92b3JiaXNmaWxlLmM6CgkgIFBvcnRlZCB0byAwLjkuIFNvbWUgaXNzdWVzIHRvIGJlIHNvbHZlZCB5ZXQ6IDEtIHNldCBjb3JyZWN0IHRpbWVzdGFtcHMgMi0gc2VnIGZhdWx0IHdoZW4gZW9zIDMtIHNlZWsgaXMgbm93IGRpc2FibGVkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgdG8gMC45LiBTb21lIGlzc3VlcyB0byBiZSBzb2x2ZWQgeWV0OgoJICAxLSBzZXQgY29ycmVjdCB0aW1lc3RhbXBzCgkgIDItIHNlZyBmYXVsdCB3aGVuIGVvcwoJICAzLSBzZWVrIGlzIG5vdyBkaXNhYmxlZAoKMjAwNS0xMS0wNiAyMjoyODozMyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogQ2xlYW51cCBub24gZXhpc3RpbmcgZXhhbXBsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IENsZWFudXAgbm9uIGV4aXN0aW5nCgkgIGV4YW1wbGVzLgoKMjAwNS0xMS0wNiAyMjoyMzowNyArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBkb2NzL3BsdWdpbnMvaW5zcGVjdC5zdGFtcDogQWRkIG1pc3NpbmcgZmlsZXMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA2ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3Quc3RhbXA6IEFkZCBtaXNzaW5nIGZpbGVzLgoKMjAwNS0xMS0wNiAyMjoxOTowNSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleGFtcGxlcy9NYWtlZmlsZS5hbTogTWFrZSBidWlsZGJvdCBoYXBweS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbTogTWFrZSBidWlsZGJvdCBoYXBweS4KCjIwMDUtMTEtMDYgMjI6MTY6MjcgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgTWFrZWZpbGUuYW06IGV4YW1wbGVzIGluIGRpc3Qgc3ViZGlycy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBNYWtlZmlsZS5hbTogZXhhbXBsZXMgaW4gZGlzdCBzdWJkaXJzLgoJICAqIGNvbmZpZ3VyZS5hYzogZW5hYmxlIHBhcmFtZXRlciBmb3IgYnVpbGRpbmcKCSAgZXhhbXBsZXMuCgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZXhhbXBsZXMvTWFrZWZpbGUuYW06IFVwZGF0ZXMuCgoyMDA1LTExLTA2IDIxOjU1OjAxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIEVuYWJsZSBkb2N1bWVudGF0aW9uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIE1ha2VmaWxlLmFtOgoJICAqIGF1dG9nZW4uc2g6CgkgICogY29uZmlndXJlLmFjOgoJICAqIGRvY3MvTWFrZWZpbGUuYW06CgkgICogZG9jcy9wbHVnaW5zLy5jdnNpZ25vcmU6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLWxpc3QudHh0OgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1kZWNsLnR4dDoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMtZG9jcy5zZ21sOgoJICAqIGRvY3MvcGx1Z2lucy9nc3QtcGx1Z2lucy1iYWQtcGx1Z2lucy1zZWN0aW9ucy50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLXVuZG9jdW1lbnRlZC50eHQ6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmFyZ3M6CgkgICogZG9jcy9wbHVnaW5zL2dzdC1wbHVnaW5zLWJhZC1wbHVnaW5zLmhpZXJhcmNoeToKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuaW50ZXJmYWNlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMucHJlcmVxdWlzaXRlczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMuc2lnbmFsczoKCSAgKiBkb2NzL3BsdWdpbnMvZ3N0LXBsdWdpbnMtYmFkLXBsdWdpbnMudHlwZXM6CgkgICogZG9jcy9wbHVnaW5zL2luc3BlY3QvcGx1Z2luLWRmYnZpZGVvc2luay54bWw6CgkgICogZG9jcy92ZXJzaW9uLmVudGl0aWVzLmluOiBFbmFibGUgZG9jdW1lbnRhdGlvbi4KCSAgKiBleGFtcGxlcy9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9NYWtlZmlsZS5hbToKCSAgKiBleGFtcGxlcy9kaXJlY3RmYi9kZWNrZXIudHRmOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2RmYmxvZ28ucG5nOgoJICAqIGV4YW1wbGVzL2RpcmVjdGZiL2dzdGRmYi5jOiAobXljbG9jayksIChkeW5hbWljX2xpbmspLAoJICAoc2l6ZV9jaGFuZ2VkKSwgKHNldHVwX2R5bmFtaWNfbGluayksIChtYWluKTogQWRkIGFuIGV4YW1wbGUKCSAgYXBwbGljYXRpb24gZm9yIERpcmVjdEZCLgoKMjAwNS0xMS0wNSAyMzozNjoyMCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDYgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IEFkZCB0aGUgZXhhbXBsZSBhcHBsaWNhdGlvbi4KCSAgKiBleHQvZGlyZWN0ZmIvZGZiLWV4YW1wbGUuYzogKGdldF9tZV9vdXQpLCAobWFpbik6CgkgIEhlcmUgaXMgYW4gZXhhbXBsZSBhcHBsaWNhdGlvbiB0aGF0IHJ1bnMgdmlkZW90ZXN0c3JjIGZvciAyMAoJICBzZWNvbmRzLiBJdCdzIGluY2x1ZGVkIGluIHRoZSBkb2N1bWVudGF0aW9uLgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgIE1vcmUgZml4ZXMsIGNhbGN1bGF0ZSBuZXcgc2l6ZSBvZiB0aGUgYnVmZmVyIHdoZW4gcmVuZWdvdGlhdGluZy4KCSAgVGhpcyBjb21wbGV0ZWx5IGJyZWFrcyBmZm1wZWdjb2xvcnNwYWNlIGJ1dCBpIG5lZWQgdG8gZGlzY3VzcwoJICB0aGF0IHdpdGggV2ltIG9uIG1vbmRheS4gQWRkIGRvY3VtZW50YXRpb24uCgoyMDA1LTExLTA1IDE5OjU1OjEyICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogTWFrZSBhY2NlbGVyYXRpb24gZGV0ZWN0aW9uIHdvcmssIGJldHRlciwgYWRkIHNhZmV0eSBjaGVja3MgYW5kIEFSR0Igc3VwcG9ydCBmb3IgY2FyZHMgdC4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wNSAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzogKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9sYXllcnMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zZXR1cCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2Fwcyk6IE1ha2UgYWNjZWxlcmF0aW9uIGRldGVjdGlvbiB3b3JrLAoJICBiZXR0ZXIsIGFkZCBzYWZldHkgY2hlY2tzIGFuZCBBUkdCIHN1cHBvcnQgZm9yIGNhcmRzIHRoYXQKCSAgc3VwcG9ydCBpdC4KCjIwMDUtMTEtMDQgMTg6Mjg6NTYgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay4qOiBOb3cgZG9lcyBjbGlwcGluZyB3aGVuIHN1cmZhY2UgaXMgdG9vIHNtYWxsLCBoYW5kbGVzIHVwc3RyZWFtIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBjYWxsLi4uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTA0ICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5jOgoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2NyZWF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX3N1cmZhY2VfZGVzdHJveSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF9iZXN0X3Ztb2RlKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0Y2FwcyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NlbnRlcl9yZWN0KSwgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcl9hbGxvYyk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOiBOb3cgZG9lcyBjbGlwcGluZyB3aGVuIHN1cmZhY2UKCSAgaXMgdG9vIHNtYWxsLCBoYW5kbGVzIHVwc3RyZWFtIGVsZW1lbnRzIHRoYXQgYXJlIG5vdCBjYWxsaW5nCgkgIGdzdF9wYWRfYWxsb2NfYnVmZmVyLCBmaXhlcyBhIGxvdCBvZiBidWdzLgoKMjAwNS0xMS0wMyAyMjozNjo0MiArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IFByZXBhcmUgZm9yIGxpYm9pbCB1c2FnZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTEtMDMgIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBleHQvZGlyZWN0ZmIvTWFrZWZpbGUuYW06IFByZXBhcmUgZm9yIGxpYm9pbCB1c2FnZS4KCSAgKiBleHQvZGlyZWN0ZmIvZGZidmlkZW9zaW5rLmM6IChnc3RfZGZidmlkZW9zaW5rX3Nob3dfZnJhbWUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpOiAgUHJlcGFyZSBmb3IgbGlib2lsLCBoYW5kbGUKCSAgcmVuZGVyaW5nIGluIGV4dGVybmFsIHN1cmZhY2UgY29ycmVjdGx5LiBXaWxsIGNvbW1pdCBhIG5lYXQKCSAgZXhhbXBsZSBzb29uLgoKMjAwNS0xMS0wMyAxNjo1OToyMCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5jOgoJKiBleHQvc2RsL3NkbHZpZGVvc2luay5oOgoJICBBZGQgc3VwcG9ydCB0byBleGl0IHdoZW4gJ0VzYycga2V5IGlzIHByZXNzZWQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBBZGQgc3VwcG9ydCB0byBleGl0IHdoZW4gJ0VzYycga2V5IGlzIHByZXNzZWQuCgoyMDA1LTExLTAyIDE3OjEyOjMxICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogUmVxdWlyZXMgRGlyZWN0RkIgMC45LjI0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTExLTAyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogY29uZmlndXJlLmFjOiBSZXF1aXJlcyBEaXJlY3RGQiAwLjkuMjQKCjIwMDUtMTEtMDIgMTI6NTM6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGV4dC9NYWtlZmlsZS5hbToKCSAgYWRkIGRpcmVjdGZiIHRvIGRpc3RkaXIKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGFkZCBkaXJlY3RmYiB0byBkaXN0ZGlyCgoyMDA1LTExLTAyIDEyOjQzOjAzICswMDAwICBKdWxpZW4gTW91dHRlIDxqdWxpZW5AbW91dHRlLm5ldD4KCgkgIENvbXBsZXRlIHJld3JpdGUvcG9ydCBvZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0xMS0wMiAgSnVsaWVuIE1PVVRURSAgPGp1bGllbkBtb3V0dGUubmV0PgoJICAqIGNvbmZpZ3VyZS5hYzoKCSAgKiBleHQvTWFrZWZpbGUuYW06CgkgICogZXh0L2RpcmVjdGZiL01ha2VmaWxlLmFtOgoJICAqIGV4dC9kaXJlY3RmYi9kZmJ2aWRlb3NpbmsuYzoKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9uYW1lKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc3VyZmFjZV9jcmVhdGUpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19zdXJmYWNlX2Rlc3Ryb3kpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19ldmVudF90aHJlYWQpLCAoZ3N0X2RmYnZpZGVvc2lua19lbnVtX2xheWVycyksCgkgIChnc3RfZGZidmlkZW9zaW5rX2VudW1fdm1vZGVzKSwgKGdzdF9kZmJ2aWRlb3NpbmtfZW51bV9kZXZpY2VzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0dXApLCAoZ3N0X2RmYnZpZGVvc2lua19jbGVhbnVwKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Zvcm1hdF9mcm9tX2NhcHMpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19nZXRfY2Fwc19mcm9tX2Zvcm1hdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2Nhbl9ibGl0X2Zyb21fZm9ybWF0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X2Jlc3Rfdm1vZGUpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRjYXBzKSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0Y2FwcyksIChnc3RfZGZidmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2dldF90aW1lcyksIChnc3RfZGZidmlkZW9zaW5rX2NlbnRlcl9yZWN0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2hvd19mcmFtZSksCgkgIChnc3RfZGZidmlkZW9zaW5rX2J1ZmZlcnBvb2xfY2xlYXIpLAoJICAoZ3N0X2RmYnZpZGVvc2lua19idWZmZXJfYWxsb2MpLCAoZ3N0X2RmYnN1cmZhY2VfZmluYWxpemUpLAoJICAoZ3N0X2RmYnN1cmZhY2VfaW5pdCksIChnc3RfZGZic3VyZmFjZV9jbGFzc19pbml0KSwKCSAgKGdzdF9kZmJzdXJmYWNlX2dldF90eXBlKSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW50ZXJmYWNlX3N1cHBvcnRlZCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2ludGVyZmFjZV9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9zZW5kX2V2ZW50KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfbmF2aWdhdGlvbl9pbml0KSwKCSAgKGdzdF9kZmJ2aWRlb3Npbmtfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfZ2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9kZmJ2aWRlb3NpbmtfaW5pdCksIChnc3RfZGZidmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3RfZGZidmlkZW9zaW5rX2NsYXNzX2luaXQpLCAoZ3N0X2RmYnZpZGVvc2lua19nZXRfdHlwZSksCgkgIChwbHVnaW5faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RmYnZpZGVvc2luay5oOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5jOgoJICAqIGV4dC9kaXJlY3RmYi9kaXJlY3RmYnZpZGVvc2luay5oOiBDb21wbGV0ZSByZXdyaXRlL3BvcnQgb2YKCSAgRGlyZWN0RkIgdmlkZW8gc2luayB0byAwLjkuIEhhbmRsZXMgcmV2ZXJzZSBuZWdvdGlhdGlvbiwKCSAgaGFyZHdhcmUKCSAgc2NhbGluZywgbmF2aWdhdGlvbiwgYnVmZmVyIGFsbG9jYXRpb24gZnJvbSB2aWRlbyBtZW1vcnkgZXRjLi4uCgoyMDA1LTEwLTMxIDIwOjU3OjQyICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6CgkgIENoYW5nZWQgcHJvcGVydHkgZnVsbC1zY3JlZW4gdG8gZnVsbHNjcmVlbiwgdXNpbmcgU0RMX1NXU1VSRkFDRSBpbnN0ZWFkIG9mIFNETF9IV1NVUkZBQ0Ugd2hlbiBpbiBmdWxsIHNjcmVlbiBtb2RlLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgQ2hhbmdlZCBwcm9wZXJ0eSBmdWxsLXNjcmVlbiB0byBmdWxsc2NyZWVuLCB1c2luZyBTRExfU1dTVVJGQUNFIGluc3RlYWQgb2YgU0RMX0hXU1VSRkFDRSB3aGVuIGluIGZ1bGwgc2NyZWVuIG1vZGUuCgoyMDA1LTEwLTMxIDE4OjA3OjMwICswMDAwICBFZGdhcmQgTGltYSA8ZWRnYXJkLmxpbWFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbW1vbjoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgQWRkZWQgYSBwcm9wZXJ0eSB0aGF0IGFsbG93cyBmdWxsLXNjcmVlbi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEFkZGVkIGEgcHJvcGVydHkgdGhhdCBhbGxvd3MgZnVsbC1zY3JlZW4uCgoyMDA1LTEwLTI4IDE1OjExOjE4ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L3NkbC9zZGx2aWRlb3NpbmsuKjogRml4IEk0MjAgb3V0cHV0IG9uIHNvbWUgbWFjaGluZXMgKG5vdCB2ZXJ5IG5pY2UsIGJ1dCBzaG91bGQgd29yaykuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2Jhc2VfaW5pdCksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2NsYXNzX2luaXQpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfc2RsX2Zyb21fZm91cmNjKSwgKGdzdF9zZGx2aWRlb3Npbmtfc2V0Y2FwcyksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX3Nob3dfZnJhbWUpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmg6CgkgIEZpeCBJNDIwIG91dHB1dCBvbiBzb21lIG1hY2hpbmVzIChub3QgdmVyeSBuaWNlLCBidXQgc2hvdWxkIHdvcmspLgoJICBBZGQgYW4gJ3NkbHZpZGVvc2luaycgZGVidWcgY2F0ZWdvcnkuIERpc2FibGUgZm9ybWF0cyB0aGF0IGRvCgkgIG5vdCB3b3JrLiBGaXggc29tZSB2YXJhcmcgZnVuY3Rpb24gaXNzdWVzLgoKMjAwNS0xMC0yNyAyMDoxNjo0MCArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IEZpeCBTREwgdmlkZW9zaW5rIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzogKGdzdF9zZGx2aWRlb3NpbmtfZmluYWxpemUpLAoJICAoZ3N0X3NkbHZpZGVvc2lua19nZXRfdGltZXMpLCAoZ3N0X3NkbHZpZGVvc2lua19jbGFzc19pbml0KSwKCSAgKGdzdF9zZGx2aWRlb3NpbmtfaW5pdCksIChnc3Rfc2RsdmlkZW9zaW5rX2xvY2spLAoJICAoZ3N0X3NkbHZpZGVvc2lua19pbml0c2RsKSwgKGdzdF9zZGx2aWRlb3NpbmtfY3JlYXRlKSwKCSAgKGdzdF9zZGx2aWRlb3Npbmtfc2hvd19mcmFtZSksIChnc3Rfc2RsdmlkZW9zaW5rX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2RsdmlkZW9zaW5rX2dldF9wcm9wZXJ0eSksIChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgIEZpeCBTREwgdmlkZW9zaW5rIGFuZCBkaWQgc29tZSBjbGVhbnVwcy4KCjIwMDUtMTAtMjcgMTk6MzY6MTggKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgVHJ5aW5nIHRvIGZpeCB2aWRlb3Mgb3V0IG9mIHN5bmMgKG5vdCBmaXhlZCB5ZXQpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBUcnlpbmcgdG8gZml4IHZpZGVvcyBvdXQgb2Ygc3luYyAobm90IGZpeGVkIHlldCkKCjIwMDUtMTAtMjcgMTY6MTY6MDAgKzAwMDAgIENocmlzdGlhbiBTY2hhbGxlciA8dXJhZXVzQGdub21lLm9yZz4KCgkqIGdzdC1wbHVnaW5zLWJhZC5zcGVjLmluOgoJICByZW1vdmVkIHVudXNlZCBsYW5ndWFnZSBzdHVmZgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVtb3ZlZCB1bnVzZWQgbGFuZ3VhZ2Ugc3R1ZmYKCjIwMDUtMTAtMjcgMTI6NDk6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogTWFrZWZpbGUuYW06CgkqIGNvbmZpZ3VyZS5hYzoKCSAgZG9uJ3QgZG8gcG8gdW50aWwgc29tZXRoaW5nIHdhbnRzIHRvIGJlIHRyYW5zbGF0ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGRvbid0IGRvIHBvIHVudGlsIHNvbWV0aGluZyB3YW50cyB0byBiZSB0cmFuc2xhdGVkCgoyMDA1LTEwLTI3IDExOjI3OjUzICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5oOiBSZW1vdmUgZ290X3JlZGlyZWN0IGZyb20gY2xhc3Mgc3RydWN0dXJlIGFzIHdlbGwuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguaDoKCSAgUmVtb3ZlIGdvdF9yZWRpcmVjdCBmcm9tIGNsYXNzIHN0cnVjdHVyZSBhcyB3ZWxsLgoKMjAwNS0xMC0yNyAxMToyNToxOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogUmVtb3ZlICdnb3QtcmVkaXJlY3QnIHNpZ25hbCBhbmQgcG9zdCBlbGVtZW50IG1lc3NhZ2Ugb24gdGhlIGJ1cyBpbnN0ZWFkLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9jbGFzc19pbml0KSwKCSAgKHF0ZGVtdXhfcGFyc2VfdHJlZSk6CgkgIFJlbW92ZSAnZ290LXJlZGlyZWN0JyBzaWduYWwgYW5kIHBvc3QgZWxlbWVudCBtZXNzYWdlCgkgIG9uIHRoZSBidXMgaW5zdGVhZC4KCjIwMDUtMTAtMjYgMTU6NDU6MTEgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBGaXhpbmcgc3R1ZmYgYXMgd2luZ28gcG9pbnRlZCBvdXQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhpbmcgc3R1ZmYgYXMgd2luZ28gcG9pbnRlZCBvdXQuCgoyMDA1LTEwLTI2IDEzOjQwOjMzICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIHBvL1BPVEZJTEVTLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBkaXN0Y2hlY2sKCjIwMDUtMTAtMjYgMTM6MDE6MjAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOgoJICBkb24ndCBwdXQgY3JhcCBpbiB1c2VyLXZpc2libGUgc3RyaW5ncwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZG9uJ3QgcHV0IGNyYXAgaW4gdXNlci12aXNpYmxlIHN0cmluZ3MKCjIwMDUtMTAtMjUgMTY6MTI6MDMgKzAwMDAgIFplZXNoYW4gQWxpIDx6ZWVuaXhAZ21haWwuY29tPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbS5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWRlYy5oOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5oOgoJICBPdmVyLXdyaXRpbmcgV2ltJ3MgZ3NtIHBsdWdpbnMgKGN1cnJlbnRseSBub3Qgd29ya2luZykgd2l0aCB0aGF0IGZyb20gdGhlIGZhcnNpZ2h0IHJlcG8uIEFsc28gbWFkZSBzdXJlIHRoYXQgdGhleSB3b3IuLi4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIE92ZXItd3JpdGluZyBXaW0ncyBnc20gcGx1Z2lucyAoY3VycmVudGx5IG5vdCB3b3JraW5nKSB3aXRoIHRoYXQgZnJvbSB0aGUgZmFyc2lnaHQgcmVwby4gQWxzbyBtYWRlIHN1cmUgdGhhdCB0aGV5IHdvcmsgd2l0aCB0aGUgUlRQIChkZSlwYXlsb2FkZXIuCgoyMDA1LTEwLTI1IDEzOjMxOjA5ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuYzoKCSogZXh0L2dzbS9nc3Rnc21lbmMuaDoKCSAgRml4ZWQgZXZlbnQgaGFuZGxpbmcgaW4gZ3NtZW5jLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgZXZlbnQgaGFuZGxpbmcgaW4gZ3NtZW5jLgoKMjAwNS0xMC0yNCAxMzowMjozMiArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIHBvcnQgb3ZlciBwbHVnaW4gbGlzdGluZyBmcm9tIGJhc2UKCjIwMDUtMTAtMjMgMjM6MDc6MDIgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb25maWd1cmUuYWM6CgkgIGJhY2sgdG8gSEVBRAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgYmFjayB0byBIRUFECgo9PT0gcmVsZWFzZSAwLjkuNCA9PT0KCjIwMDUtMTAtMjMgMjI6NDY6NDAgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBORVdTOgoJKiBSRUxFQVNFOgoJKiBjb25maWd1cmUuYWM6CgkqIHBvL2FmLnBvOgoJKiBwby9hei5wbzoKCSogcG8vY3MucG86CgkqIHBvL2VuX0dCLnBvOgoJKiBwby9odS5wbzoKCSogcG8vaXQucG86CgkqIHBvL25iLnBvOgoJKiBwby9ubC5wbzoKCSogcG8vb3IucG86CgkqIHBvL3NxLnBvOgoJKiBwby9zci5wbzoKCSogcG8vc3YucG86CgkqIHBvL3VrLnBvOgoJKiBwby92aS5wbzoKCSAgcmVsZWFzaW5nIDAuOS40CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZWxlYXNpbmcgMC45LjQKCjIwMDUtMTAtMjMgMTQ6Mzg6MDAgKzAwMDAgIEp1bGllbiBNb3V0dGUgPGp1bGllbkBtb3V0dGUubmV0PgoKCSAgZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiBTVE9QUEVELT5GQUlMRUQuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTIzICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9sb29wKTogU1RPUFBFRC0+RkFJTEVELgoKMjAwNS0xMC0yMSAxNjoxMTo1MyArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkgIGxhdGVzdCB1cGRhdGVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBsYXRlc3QgdXBkYXRlcwoKMjAwNS0xMC0yMCAxNTowODoxNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFkL2dzdGZhYWQuKjogRG8gc29tZSB0aW1lc3RhbXAgc21vb3RoaW5nIChtYXRyb3NrYWRlbXV4IGFwcGFyZW50bHkgc2VuZHMgbXVsdGlwbGUgYnVmZmVycyBpbiBhIHJvdyB3aXRoIHRoZSBzYS4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmM6IChnc3RfZmFhZF9iYXNlX2luaXQpLCAoZ3N0X2ZhYWRfY2xhc3NfaW5pdCksCgkgIChnc3RfZmFhZF9pbml0KSwgKGdzdF9mYWFkX3NyY2dldGNhcHMpLCAoZ3N0X2ZhYWRfZXZlbnQpLAoJICAoZ3N0X2ZhYWRfY2hhaW4pLCAoZ3N0X2ZhYWRfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvZmFhZC9nc3RmYWFkLmg6CgkgIERvIHNvbWUgdGltZXN0YW1wIHNtb290aGluZyAobWF0cm9za2FkZW11eCBhcHBhcmVudGx5IHNlbmRzCgkgIG11bHRpcGxlIGJ1ZmZlcnMgaW4gYSByb3cgd2l0aCB0aGUgc2FtZSB0aW1lc3RhbXApOyBmaXgKCSAgZHVyYXRpb24gb24gb3V0Z29pbmcgYnVmZmVyczsgZml4IGNoYW5nZSBzdGF0ZSBmdW5jdGlvbjsgdXNlCgkgIEdTVF9ERUJVR19GVU5DUFRSIGZvciBwYWQgZnVuY3Rpb25zLgoKMjAwNS0xMC0xOSAxNTo1ODowMSArMDAwMCAgV2ltIFRheW1hbnMgPHdpbS50YXltYW5zQGdtYWlsLmNvbT4KCgkgIGdzdC86IEFQSSBjaGFuZ2UgZml4LgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvcXRkZW11eC9xdGRlbXV4LmM6IChnc3RfcXRkZW11eF9nZXRfc3JjX3F1ZXJ5X3R5cGVzKSwKCSAgKGdzdF9xdGRlbXV4X2hhbmRsZV9zcmNfcXVlcnkpOgoJICAqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOiAoc3BlZWRfZ2V0X3F1ZXJ5X3R5cGVzKSwgKHNwZWVkX3NyY19xdWVyeSk6CgkgICogZ3N0L3R0YS9nc3R0dGFwYXJzZS5jOiAoZ3N0X3R0YV9wYXJzZV9zcmNfZXZlbnQpLAoJICAoZ3N0X3R0YV9wYXJzZV9nZXRfcXVlcnlfdHlwZXMpLCAoZ3N0X3R0YV9wYXJzZV9xdWVyeSk6CgkgIEFQSSBjaGFuZ2UgZml4LgoKMjAwNS0xMC0xOSAxMjo0MTo0OSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogQWxsIHRoZSBjb29sIGtpZHMgdXNlIEdTVF9ET0NCT09LX0NIRUNLIG5vdy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBBbGwgdGhlIGNvb2wga2lkcyB1c2UgR1NUX0RPQ0JPT0tfQ0hFQ0sgbm93LgoKMjAwNS0xMC0xOCAwODozOTo0MSArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiBzcGVlZC4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIDIwMDUtMTAtMTggIEp1bGllbiBNT1VUVEUgIDxqdWxpZW5AbW91dHRlLm5ldD4KCSAgKiBnc3Qvc3BlZWQvTWFrZWZpbGUuYW06IEZpeCBidWlsZCBvZiBzcGVlZC4KCjIwMDUtMTAtMTcgMjA6NDg6MzUgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9nc3RzcGVlZC5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuaDoKCSAgRml4ZWQgU3BlZWQgLSBSZWNvdmVyZWQgZmVhdHVyZWQgbWlzc2VkIHNpbmNlIHZlcnNpb24gMS4zNywgYW5kIGNoYW5nZWQgb3RoZXIgbWlub3IgdGhpbmdzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgRml4ZWQgU3BlZWQgLSBSZWNvdmVyZWQgZmVhdHVyZWQgbWlzc2VkIHNpbmNlIHZlcnNpb24gMS4zNywgYW5kIGNoYW5nZWQgb3RoZXIKCSAgbWlub3IgdGhpbmdzLgoKMjAwNS0xMC0xNiAxNzowODoyNiArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGNvbmZpZ3VyZS5hYzogRml4IGdsaWIgY2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29uZmlndXJlLmFjOgoJICBGaXggZ2xpYiBjaGVjawoKMjAwNS0xMC0xNiAxMzo1NDozOCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBjb21tb246CgkqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgcmVzdHJ1Y3R1cmUgY29uZmlndXJlLmFjLCB1c2UgY29ycmVjdCBsaWJ0b29sIExERkxBR1MsIGZpeCB1cCBkZWZpbmVzCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICByZXN0cnVjdHVyZSBjb25maWd1cmUuYWMsIHVzZSBjb3JyZWN0IGxpYnRvb2wgTERGTEFHUywgZml4IHVwIGRlZmluZXMKCjIwMDUtMTAtMTMgMTU6MzE6MjAgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIGV4LzogYW5kIG1vcmUgdHlwb3MgZml4ZWQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkgICogZXh0L3Rhcmtpbi90YXJraW4uYzogKHRhcmtpbl9hbmFseXNpc19mcmFtZWluKSwKCSAgKHRhcmtpbl9zeW50aGVzaXNfcGFja2V0aW4pOgoJICBhbmQgbW9yZSB0eXBvcyBmaXhlZAoKMjAwNS0xMC0xMyAxMTozNzozOSArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogR3N0MDktaXplIGNvZGUgYSBsaXR0bGUgYml0IG1vcmU6IHVzZSBnc3RfcGFkX2FsbG9jX2J1ZmZlcigpLCBtb3ZlIGV2ZW50IGhhbmRsaW5nIGZyb20gY2hhaW4gZnVuYy4uLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBleHQvZmFhYy9nc3RmYWFjLmM6IChnc3RfZmFhY19jbGFzc19pbml0KSwgKGdzdF9mYWFjX2luaXQpLAoJICAoZ3N0X2ZhYWNfc2lua19zZXRjYXBzKSwgKGdzdF9mYWFjX3NyY19zZXRjYXBzKSwKCSAgKGdzdF9mYWFjX3NpbmtfZXZlbnQpLCAoZ3N0X2ZhYWNfY2hhaW4pLCAoZ3N0X2ZhYWNfc2V0X3Byb3BlcnR5KSwKCSAgKGdzdF9mYWFjX2dldF9wcm9wZXJ0eSksIChnc3RfZmFhY19jaGFuZ2Vfc3RhdGUpOgoJICBHc3QwOS1pemUgY29kZSBhIGxpdHRsZSBiaXQgbW9yZTogdXNlIGdzdF9wYWRfYWxsb2NfYnVmZmVyKCksCgkgIG1vdmUgZXZlbnQgaGFuZGxpbmcgZnJvbSBjaGFpbiBmdW5jdGlvbiBpbnRvIGFuIGV2ZW50IGZ1bmN0aW9uLAoJICBhZGQgc29tZSBsb2NrcyBoZXJlIGFuZCB0aGVyZSwgZG8gc29tZSBjbGVhbnVwczsgZGlzYWJsZSAzMi1iaXQKCSAgaW50ZWdlciBhbmQgZmxvYXQgaW5wdXQgZm9ybWF0cyB1bnRpbCB3ZSdyZSBzdXJlIHRoYXQgdGhvc2UKCSAgYWN0dWFsbHkgd29yayAoY291bGRuJ3QgcGxheSBiYWNrIHRoZSBwcm9kdWNlZCBmaWxlcyB3aXRoCgkgIGFueXRoaW5nKS4KCjIwMDUtMTAtMTIgMTQ6Mjk6NTUgKzAwMDAgIFN0ZWZhbiBLb3N0IDxlbnNvbmljQHVzZXJzLnNvdXJjZWZvcmdlLm5ldD4KCgkgIHJlbmFtZWQgR1NUX0ZMQUdTIG1hY3JvcyB0byBHU1RfT0JKRUNUX0ZMQUdTIG1vdmVkIGJpdHNoaWZ0IGZyb20gbWFjcm8gdG8gZW51bSBkZWZpbml0aW9uCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGV4YW1wbGVzL2luZGV4aW5nL2luZGV4bXBlZy5jOiAobWFpbik6CgkgICogZXh0L2FydHNkL2dzdGFydHNkc2luay5jOiAoZ3N0X2FydHNkc2lua19vcGVuX2F1ZGlvKSwKCSAgKGdzdF9hcnRzZHNpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X2FydHNkc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuYzogKGdzdF9hZnBhcnNlX29wZW5fZmlsZSksCgkgIChnc3RfYWZwYXJzZV9jbG9zZV9maWxlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmcGFyc2UuaDoKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc2luay5jOiAoZ3N0X2Fmc2lua19vcGVuX2ZpbGUpLAoJICAoZ3N0X2Fmc2lua19jbG9zZV9maWxlKSwgKGdzdF9hZnNpbmtfY2hhaW4pLAoJICAoZ3N0X2Fmc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9hdWRpb2ZpbGUvZ3N0YWZzaW5rLmg6CgkgICogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOiAoZ3N0X2Fmc3JjX29wZW5fZmlsZSksCgkgIChnc3RfYWZzcmNfY2xvc2VfZmlsZSksIChnc3RfYWZzcmNfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvYXVkaW9maWxlL2dzdGFmc3JjLmg6CgkgICogZXh0L2NkYXVkaW8vZ3N0Y2RhdWRpby5jOiAoZ3N0X2NkYXVkaW9faW5pdCk6CgkgICogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6IChnc3RfZGlyZWN0ZmJ2aWRlb3NpbmtfaW5pdCk6CgkgICogZXh0L2R0cy9nc3RkdHNkZWMuYzogKGdzdF9kdHNkZWNfaW5pdCk6CgkgICogZXh0L2phY2svZ3N0amFjay5oOgoJICAqIGV4dC9qYWNrL2dzdGphY2tiaW4uYzogKGdzdF9qYWNrX2Jpbl9pbml0KSwKCSAgKGdzdF9qYWNrX2Jpbl9jaGFuZ2Vfc3RhdGUpOgoJICAqIGV4dC9tdXNlcGFjay9nc3RtdXNlcGFja2RlYy5jOiAoZ3N0X211c2VwYWNrZGVjX2luaXQpOgoJICAqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzogKGdzdF9tdXNpY2JyYWluel9pbml0KToKCSAgKiBleHQvbmFzL25hc3NpbmsuYzogKGdzdF9uYXNzaW5rX29wZW5fYXVkaW8pLAoJICAoZ3N0X25hc3NpbmtfY2xvc2VfYXVkaW8pLCAoZ3N0X25hc3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBleHQvbmFzL25hc3NpbmsuaDoKCSAgKiBleHQvcG9seXAvcG9seXBzaW5rLmM6IChnc3RfcG9seXBzaW5rX2luaXQpOgoJICAqIGV4dC9zZGwvc2RsdmlkZW9zaW5rLmM6IChnc3Rfc2RsdmlkZW9zaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogZXh0L3NkbC9zZGx2aWRlb3NpbmsuaDoKCSAgKiBleHQvc21vb3Rod2F2ZS9nc3RzbW9vdGh3YXZlLmM6IChnc3Rfc21vb3Rod2F2ZV9pbml0KToKCSAgKiBleHQvc25kZmlsZS9nc3RzZi5jOiAoZ3N0X3NmX3NldF9wcm9wZXJ0eSksCgkgIChnc3Rfc2ZfY2hhbmdlX3N0YXRlKSwgKGdzdF9zZl9yZWxlYXNlX3JlcXVlc3RfcGFkKSwKCSAgKGdzdF9zZl9vcGVuX2ZpbGUpLCAoZ3N0X3NmX2Nsb3NlX2ZpbGUpLCAoZ3N0X3NmX2xvb3ApOgoJICAqIGV4dC9zbmRmaWxlL2dzdHNmLmg6CgkgICogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzogKGdzdF9zd2ZkZWNfaW5pdCk6CgkgICogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzogKGdzdF90YXJraW5kZWNfaW5pdCk6CgkgICogZ3N0L2FwZXRhZy9hcGVkZW11eC5jOiAoZ3N0X2FwZV9kZW11eF9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFwYXJzZS5jOiAoZ3N0X2NkeGFwYXJzZV9pbml0KToKCSAgKiBnc3QvY2R4YXBhcnNlL2dzdGNkeGFzdHJpcC5jOiAoZ3N0X2NkeGFzdHJpcF9pbml0KToKCSAgKiBnc3QvZmVzdGl2YWwvZ3N0ZmVzdGl2YWwuYzogKGdzdF9mZXN0aXZhbF9jaGFuZ2Vfc3RhdGUpOgoJICAqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5oOgoJICAqIGdzdC9tcGVnMnN1Yi9nc3RtcGVnMnN1YnQuYzogKGdzdF9tcGVnMnN1YnRfaW5pdCk6CgkgICogZ3N0L211bHRpZmlsZXNpbmsvZ3N0bXVsdGlmaWxlc2luay5jOiAoZ3N0X211bHRpZmlsZXNpbmtfaW5pdCksCgkgIChnc3RfbXVsdGlmaWxlc2lua19zZXRfbG9jYXRpb24pLCAoZ3N0X211bHRpZmlsZXNpbmtfb3Blbl9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX2Nsb3NlX2ZpbGUpLCAoZ3N0X211bHRpZmlsZXNpbmtfbmV4dF9maWxlKSwKCSAgKGdzdF9tdWx0aWZpbGVzaW5rX3BhZF9xdWVyeSksIChnc3RfbXVsdGlmaWxlc2lua19oYW5kbGVfZXZlbnQpLAoJICAoZ3N0X211bHRpZmlsZXNpbmtfY2hhaW4pLCAoZ3N0X211bHRpZmlsZXNpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBnc3QvbXVsdGlmaWxlc2luay9nc3RtdWx0aWZpbGVzaW5rLmg6CgkgICogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzogKGdzdF92aWRlb2Ryb3BfaW5pdCk6CgkgICogc3lzL2Nkcm9tL2dzdGNkcGxheWVyLmM6IChjZHBsYXllcl9pbml0KToKCSAgKiBzeXMvZHhyMy9keHIzYXVkaW9zaW5rLmM6IChkeHIzYXVkaW9zaW5rX2luaXQpLAoJICAoZHhyM2F1ZGlvc2lua19vcGVuKSwgKGR4cjNhdWRpb3NpbmtfY2xvc2UpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFpbl9wY20pLCAoZHhyM2F1ZGlvc2lua19jaGFpbl9hYzMpLAoJICAoZHhyM2F1ZGlvc2lua19jaGFuZ2Vfc3RhdGUpOgoJICAqIHN5cy9keHIzL2R4cjNhdWRpb3NpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOiAoZHhyM3NwdXNpbmtfaW5pdCksIChkeHIzc3B1c2lua19vcGVuKSwKCSAgKGR4cjNzcHVzaW5rX2Nsb3NlKSwgKGR4cjNzcHVzaW5rX2NoYWluKSwKCSAgKGR4cjNzcHVzaW5rX2NoYW5nZV9zdGF0ZSk6CgkgICogc3lzL2R4cjMvZHhyM3NwdXNpbmsuaDoKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6IChkeHIzdmlkZW9zaW5rX2luaXQpLAoJICAoZHhyM3ZpZGVvc2lua19vcGVuKSwgKGR4cjN2aWRlb3NpbmtfY2xvc2UpLAoJICAoZHhyM3ZpZGVvc2lua193cml0ZV9kYXRhKSwgKGR4cjN2aWRlb3NpbmtfY2hhbmdlX3N0YXRlKToKCSAgKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmg6CgkgICogc3lzL2dsc2luay9nbGltYWdlc2luay5jOiAoZ3N0X2dsaW1hZ2VzaW5rX2luaXQpOgoJICAqIHN5cy9xY2FtL2dzdHFjYW1zcmMuYzogKGdzdF9xY2Ftc3JjX2NoYW5nZV9zdGF0ZSksCgkgIChnc3RfcWNhbXNyY19vcGVuKSwgKGdzdF9xY2Ftc3JjX2Nsb3NlKToKCSAgKiBzeXMvcWNhbS9nc3RxY2Ftc3JjLmg6CgkgICogc3lzL3Y0bDIvZ3N0djRsMnNyYy5jOiAoZ3N0X3Y0bDJzcmNfaW5pdCk6CgkgICogc3lzL3ZjZC92Y2RzcmMuYzogKGdzdF92Y2RzcmNfc2V0X3Byb3BlcnR5KSwgKGdzdF92Y2RzcmNfZ2V0KSwKCSAgKGdzdF92Y2RzcmNfb3Blbl9maWxlKSwgKGdzdF92Y2RzcmNfY2xvc2VfZmlsZSksCgkgIChnc3RfdmNkc3JjX2NoYW5nZV9zdGF0ZSksIChnc3RfdmNkc3JjX3JlY2FsY3VsYXRlKToKCSAgKiBzeXMvdmNkL3ZjZHNyYy5oOgoJICByZW5hbWVkIEdTVF9GTEFHUyBtYWNyb3MgdG8gR1NUX09CSkVDVF9GTEFHUwoJICBtb3ZlZCBiaXRzaGlmdCBmcm9tIG1hY3JvIHRvIGVudW0gZGVmaW5pdGlvbgoKMjAwNS0xMC0xMiAxMzo1NDozNCArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogRml4IGRlcHRoL3dpZHRoIGhhbmRsaW5nIGZvciBmbG9hdCBhdWRpbyAoIzMxODY1OSkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Npbmtfc2V0Y2Fwcyk6CgkgIEZpeCBkZXB0aC93aWR0aCBoYW5kbGluZyBmb3IgZmxvYXQgYXVkaW8gKCMzMTg2NTkpLgoKMjAwNS0xMC0xMiAxMjo1MzowNyArMDAwMCAgVGltLVBoaWxpcHAgTcO8bGxlciA8dGltQGNlbnRyaWN1bGFyLm5ldD4KCgkgIGV4dC9mYWFjL2dzdGZhYWMuYzogUmVmY291bnQgZml4ZXMgKCMzMTg2NTkpCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBSZXZpZXdlZCBieTogVGltLVBoaWxpcHAgTcO8bGxlciAgPHRpbSBhdCBjZW50cmljdWxhciBkb3QgbmV0PgoJICAqIGV4dC9mYWFjL2dzdGZhYWMuYzogKGdzdF9mYWFjX3Npbmtfc2V0Y2FwcyksCgkgIChnc3RfZmFhY19zcmNfc2V0Y2FwcyksIChnc3RfZmFhY19jaGFpbik6CgkgIFJlZmNvdW50IGZpeGVzICgjMzE4NjU5KQoKMjAwNS0xMC0xMiAwOToxNTo0MCArMDAwMCAgSnVsaWVuIE1vdXR0ZSA8anVsaWVuQG1vdXR0ZS5uZXQ+CgoJICBleHQvTWFrZWZpbGUuYW06IGxpYnZpc3VhbCBhbmQgc25hcHNob3QgYXJlIG5vdCBoZXJlIGFueW1vcmUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTEyICBKdWxpZW4gTU9VVFRFICA8anVsaWVuQG1vdXR0ZS5uZXQ+CgkgICogZXh0L01ha2VmaWxlLmFtOiBsaWJ2aXN1YWwgYW5kIHNuYXBzaG90IGFyZSBub3QgaGVyZSBhbnltb3JlLgoJICBNYWtlcwoJICBhdXRvbWFrZS0xLjcgaGFwcHkgYWdhaW4uCgoyMDA1LTEwLTExIDIzOjAzOjA5ICswMDAwICBUaW0tUGhpbGlwcCBNw7xsbGVyIDx0aW1AY2VudHJpY3VsYXIubmV0PgoKCSAgZXh0L2ZhYWQvZ3N0ZmFhZC5jOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZXh0L2ZhYWQvZ3N0ZmFhZC5jOiAoZ3N0X2ZhYWRfZXZlbnQpOgoJICBuZXdzZWdtZW50IEFQSSB1cGRhdGUKCjIwMDUtMTAtMTEgMTY6MzQ6MzYgKzAwMDAgIFdpbSBUYXltYW5zIDx3aW0udGF5bWFuc0BnbWFpbC5jb20+CgoJICBnc3QvOiBuZXdzZWdtZW50IEFQSSB1cGRhdGUuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzogKGdzdF9xdGRlbXV4X2xvb3BfaGVhZGVyKToKCSAgKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6IChnc3RfdHRhX3BhcnNlX3NyY19ldmVudCksCgkgIChnc3RfdHRhX3BhcnNlX3BhcnNlX2hlYWRlcik6CgkgIG5ld3NlZ21lbnQgQVBJIHVwZGF0ZS4KCjIwMDUtMTAtMDcgMTU6MjQ6MjQgKzAwMDAgIEFuZHkgV2luZ28gPHdpbmdvQHBvYm94LmNvbT4KCgkgIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0IGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAyMDA1LTEwLTA3ICBBbmR5IFdpbmdvICA8d2luZ29AcG9ib3guY29tPgoJICAqIGV4dC9yYXcxMzk0L2dzdGR2MTM5NHNyYy5jOiBNYWtlIGludGVycnVwdGlibGUsIHNvIGl0IHdvbid0CgkgIGJsb2NrIGZvcmV2ZXIgaW4gYSByZWFkKCkuCgoyMDA1LTEwLTA0IDE1OjQ5OjM1ICswMDAwICBDaHJpc3RpYW4gU2NoYWxsZXIgPHVyYWV1c0Bnbm9tZS5vcmc+CgoJKiBnc3QtcGx1Z2lucy1iYWQuc3BlYy5pbjoKCSAgZml4IHNwZWMgZmlsZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgZml4IHNwZWMgZmlsZQoKMjAwNS0xMC0wMyAxODowMDozMiArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBoZWFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIGhlYWQKCj09PSByZWxlYXNlIDAuOS4zID09PQoKMjAwNS0xMC0wMyAxNzo1MDoyMSArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE5FV1M6CgkqIFJFTEVBU0U6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2UgdGltZQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzZSB0aW1lCgoyMDA1LTA5LTI4IDEzOjM4OjAyICswMDAwICBXaW0gVGF5bWFucyA8d2ltLnRheW1hbnNAZ21haWwuY29tPgoKCSAgZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogZ3N0L3F0ZGVtdXgvcXRkZW11eC5jOiAoZ3N0X3F0ZGVtdXhfbG9vcF9oZWFkZXIpOgoJICBObyBuZWVkIHRvIHRha2Ugc3RyZWFtIGxvY2sgaGVyZS4KCjIwMDUtMDktMjYgMTc6NTc6NTYgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogY29uZmlndXJlLmFjOgoJICBmaXggYnVpbGQKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZAoKMjAwNS0wOS0yNiAxNToxOTozOCArMDAwMCAgQ2hyaXN0aWFuIFNjaGFsbGVyIDx1cmFldXNAZ25vbWUub3JnPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZ3N0L2xpYnJmYi9NYWtlZmlsZS5hbToKCSAgc29tZSBkaXN0aW5nIGFuZCBidWlsZCBmaXhlcwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc29tZSBkaXN0aW5nIGFuZCBidWlsZCBmaXhlcwoKMjAwNS0wOS0yMyAxNzowNToyOSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBQT1JURURfMDk6CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZGVjLmM6CgkgIEdzbWRlYyBwb3J0ZWQgdG8gMC45LiBUZXN0ZWQgd2l0aCBmaWxlc3JjICEgZ3NtZGVjICEgYWxzYXNpbmsgYW5kIG9zc3NpbmsuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBHc21kZWMgcG9ydGVkIHRvIDAuOS4gVGVzdGVkIHdpdGggZmlsZXNyYyAhIGdzbWRlYyAhIGFsc2FzaW5rIGFuZCBvc3NzaW5rLgoKMjAwNS0wOS0yMyAxNjo0MDoyNyArMDAwMCAgRGF2aWQgU2NobGVlZiA8ZHNAc2NobGVlZi5vcmc+CgoJICBnc3QvYXVkaW9yZXNhbXBsZS86IENvbnZlcnQgdG8gdXNpbmcgZ3N0IGRlYnVnZ2luZwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9NYWtlZmlsZS5hbToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9kZWJ1Zy5oOgoJICAqIGdzdC9hdWRpb3Jlc2FtcGxlL2dzdGF1ZGlvcmVzYW1wbGUuYzoKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9yZXNhbXBsZS5jOiBDb252ZXJ0IHRvIHVzaW5nIGdzdCBkZWJ1Z2dpbmcKCjIwMDUtMDktMjMgMDQ6MjI6NTQgKzAwMDAgIFRob21hcyBWYW5kZXIgU3RpY2hlbGUgPHRob21hc0BhcGVzdGFhcnQub3JnPgoKCSogZXh0L2xhZHNwYS9NYWtlZmlsZS5hbToKCSAgZml4IGJ1aWxkIGFuZCB1c2Ugb2YgR1NUX0xJQlMKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIGZpeCBidWlsZCBhbmQgdXNlIG9mIEdTVF9MSUJTCgoyMDA1LTA5LTIyIDExOjE3OjI2ICswMDAwICBBcndlZCB2LiBNZXJrYXR6IDx2Lm1lcmthdHpAZ214Lm5ldD4KCgkqIENoYW5nZUxvZzoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QvdHRhL2dzdHR0YWRlYy5jOgoJKiBnc3QvdHRhL2dzdHR0YXBhcnNlLmM6CgkqIGdzdC90dGEvZ3N0dHRhcGFyc2UuaDoKCSAgdHRhIHBsdWdpbiBwb3J0ZWQgdG8gMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB0dGEgcGx1Z2luIHBvcnRlZCB0byAwLjkKCjIwMDUtMDktMjEgMjA6MzM6NDIgKzAwMDAgIEZsYXZpbyBPbGl2ZWlyYSA8ZmxhdmlvLm9saXZlaXJhQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBleHQvZ3NtL2dzdGdzbWVuYy5jOgoJICBTZXR0aW5nIGNhcHMgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBTZXR0aW5nIGNhcHMgb24gdGhlIG91dGdvaW5nIGJ1ZmZlcnMuCgoyMDA1LTA5LTIwIDE5OjI1OjEyICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGV4dC9zZGwvTWFrZWZpbGUuYW06CgkgIGZpeCBNYWtlZmlsZS5hbSAgdWdoCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBmaXggTWFrZWZpbGUuYW0gIHVnaAoKMjAwNS0wOS0yMCAxODo0OTowNSArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogQ2hhbmdlTG9nOgoJKiBjb21tb246CgkqIGNvbmZpZ3VyZS5hYzoKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSAgRml4ZWQgY29uZmlndXJlLmFjIGFuZCBleHQvc2RsL01ha2VmaWxlLmFtIGZvciBzZGwgcG9ydCB0byAwLjkuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBGaXhlZCBjb25maWd1cmUuYWMgYW5kIGV4dC9zZGwvTWFrZWZpbGUuYW0gZm9yIHNkbCBwb3J0IHRvIDAuOS4KCjIwMDUtMDktMTkgMjE6NTE6MDIgKzAwMDAgIEVkZ2FyZCBMaW1hIDxlZGdhcmQubGltYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoKMjAwNS0wOS0xOSAyMTo0Nzo1NCArMDAwMCAgRWRnYXJkIExpbWEgPGVkZ2FyZC5saW1hQGluZHQub3JnLmJyPgoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9NYWtlZmlsZS5hbToKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgc2RsdmlkZW9zaW5rIHBvcnRlZCB0byAwLjkgYW5kIHRlc3RlZCB3aXRoIGZpbGVzcmMgISBtcGVnMmRlYwoKMjAwNS0wOS0xOSAxNjo0NDozNyArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBNYWtlZmlsZS5hbToKCSogY29tbW9uOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBhZGQgY2hlY2stdmFsZ3JpbmQgdGFyZ2V0CgoyMDA1LTA5LTA5IDE3OjUzOjQ3ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkgIGNoZWNrLzogQWRkIGV4dHJhIHRlc3RzIGZvciBiYXNldHJhbnNmb3JtIGJhc2VkIGNvbXBvbmVudHMuCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICAqIGNoZWNrL01ha2VmaWxlLmFtOgoJICAqIGNoZWNrL3BpcGVsaW5lcy9zaW1wbGVfbGF1bmNoX2xpbmVzLmM6IChzZXR1cF9waXBlbGluZSksCgkgIChydW5fcGlwZWxpbmUpLCAoR1NUX1NUQVJUX1RFU1QpLCAoc2ltcGxlX2xhdW5jaF9saW5lc19zdWl0ZSk6CgkgIEFkZCBleHRyYSB0ZXN0cyBmb3IgYmFzZXRyYW5zZm9ybSBiYXNlZCBjb21wb25lbnRzLgoJICBDb21tZW50IG91dCB0aGUgdGVzdF9lbGVtZW50X25lZ290aWF0aW9uIHRlc3QgdW50aWwgd2UgZGVjaWRlCgkgIGlmIGl0J3MgdGVzdGluZyBjb3JyZWN0IGJlaGF2aW91ci4KCSAgKiBleHQvbGlidmlzdWFsL3Zpc3VhbC5jOiAoZ3N0X3Zpc3VhbF9pbml0KSwgKGdldF9idWZmZXIpLAoJICAoZ3N0X3Zpc3VhbF9jaGFpbiksIChnc3RfdmlzdWFsX2NoYW5nZV9zdGF0ZSk6CgkgIFNsaWdodGx5IG1vcmUgY29ycmVjdCBidXQgc3RpbGwgYm9ndXMgdGltZXN0YW1waW5nLgoJICBGaXggc3RhdGUgY2hhbmdlIGZ1bmN0aW9uLgoJICAqIGdzdC9hdWRpb2NvbnZlcnQvZ3N0YXVkaW9jb252ZXJ0LmM6CgkgIChnc3RfYXVkaW9fY29udmVydF9jbGFzc19pbml0KToKCSAgKiBnc3QvYXVkaW9yZXNhbXBsZS9nc3RhdWRpb3Jlc2FtcGxlLmM6CgkgICogZ3N0L2ZmbXBlZ2NvbG9yc3BhY2UvZ3N0ZmZtcGVnY29sb3JzcGFjZS5jOgoJICAoZ3N0X2ZmbXBlZ2NzcF9jbGFzc19pbml0KToKCSAgKiBnc3QvdmlkZW9zY2FsZS9nc3R2aWRlb3NjYWxlLmM6IChnc3RfdmlkZW9zY2FsZV9jbGFzc19pbml0KSwKCSAgKGdzdF92aWRlb3NjYWxlX3ByZXBhcmVfc2l6ZSksIChnc3RfdmlkZW9zY2FsZV9zZXRfY2FwcyksCgkgIChnc3RfdmlkZW9zY2FsZV9wcmVwYXJlX2ltYWdlKToKCSAgKiBnc3Qvdm9sdW1lL2dzdHZvbHVtZS5jOiAoZ3N0X3ZvbHVtZV9jbGFzc19pbml0KSwKCSAgKHZvbHVtZV90cmFuc2Zvcm1faXApOgoJICBCYXNldHJhbnNmb3JtIHVwZGF0ZXMuIEVuYWJsZSBwYXNzdGhyb3VnaCBtb2Rlcy4KCSAgKiBzeXMveGltYWdlL3hpbWFnZXNpbmsuYzogKGdzdF94aW1hZ2VfYnVmZmVyX2luaXQpLAoJICAoZ3N0X3hpbWFnZXNpbmtfcmVuZWdvdGlhdGVfc2l6ZSksIChnc3RfeGltYWdlc2lua194Y29udGV4dF9nZXQpLAoJICAoZ3N0X3hpbWFnZXNpbmtfc2V0Y2FwcyksIChnc3RfeGltYWdlc2lua19idWZmZXJfYWxsb2MpOgoJICBOZWdvdGlhdGlvbiBmaXggdGhhdCBhbGxvd3MgdGhlIHdpbmRvdyB0byByZXR1cm4gdG8gdGhlIG9yaWdpbmFsCgkgIHNpemUgYW5kIHJlbmVnb3RpYXRlIHBhc3N0aHJvdWdoIHVwc3RyZWFtLiBFeHRyYSBkZWJ1ZyBvdXRwdXQuCgoyMDA1LTA5LTA4IDE1OjU2OjM4ICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIENoYW5nZUxvZzoKCSogUE9SVEVEXzA5OgoJKiBjb25maWd1cmUuYWM6CgkqIGdzdC9zcGVlZC9NYWtlZmlsZS5hbToKCSogZ3N0L3NwZWVkL2dzdHNwZWVkLmM6CgkgIFBvcnRlZCBzcGVlZCBQbHVnaW4gdG8gR1N0cmVhbWVyIDAuOQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgUG9ydGVkIHNwZWVkIFBsdWdpbiB0byBHU3RyZWFtZXIgMC45CgoyMDA1LTA5LTA2IDE0OjA2OjU1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIGNvbmZpZ3VyZS5hYzoKCSAgYmFjayB0byBIRUFECgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBiYWNrIHRvIEhFQUQKCj09PSByZWxlYXNlIDAuOS4xID09PQoKMjAwNS0wOS0wNiAxNDowNTo1MCArMDAwMCAgVGhvbWFzIFZhbmRlciBTdGljaGVsZSA8dGhvbWFzQGFwZXN0YWFydC5vcmc+CgoJKiBDaGFuZ2VMb2c6CgkqIE1ha2VmaWxlLmFtOgoJKiBORVdTOgoJKiBSRUFETUU6CgkqIFJFTEVBU0U6CgkqIGF1dG9nZW4uc2g6CgkqIGNvbW1vbjoKCSogY29uZmlndXJlLmFjOgoJKiBnc3QtcGx1Z2lucy5zcGVjLmluOgoJKiBwby9hZi5wbzoKCSogcG8vYXoucG86CgkqIHBvL2NzLnBvOgoJKiBwby9lbl9HQi5wbzoKCSogcG8vaHUucG86CgkqIHBvL2l0LnBvOgoJKiBwby9uYi5wbzoKCSogcG8vbmwucG86CgkqIHBvL29yLnBvOgoJKiBwby9zcS5wbzoKCSogcG8vc3IucG86CgkqIHBvL3N2LnBvOgoJKiBwby91ay5wbzoKCSogcG8vdmkucG86CgkgIHJlbGVhc2luZyAwLjkuMQoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgcmVsZWFzaW5nIDAuOS4xCgoyMDA1LTA5LTA1IDE3OjIwOjI5ICswMDAwICBKYW4gU2NobWlkdCA8dGhheXRhbkBtYWQuc2NpZW50aXN0LmNvbT4KCgkqIENoYW5nZUxvZzoKCSogZXhhbXBsZXMvZ3N0cGxheS9wbGF5ZXIuYzoKCSogZXhhbXBsZXMvc3RhdHMvbXAyb2dnLmM6CgkqIGV4dC9hcnRzZC9nc3RhcnRzZHNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNpbmsuYzoKCSogZXh0L2F1ZGlvZmlsZS9nc3RhZnNyYy5jOgoJKiBleHQvY2RhdWRpby9nc3RjZGF1ZGlvLmM6CgkqIGV4dC9kaXJhYy9nc3RkaXJhY2RlYy5jYzoKCSogZXh0L2RpcmVjdGZiL2RpcmVjdGZidmlkZW9zaW5rLmM6CgkqIGV4dC9kdHMvZ3N0ZHRzZGVjLmM6CgkqIGV4dC9mYWFjL2dzdGZhYWMuYzoKCSogZXh0L2hlcm1lcy9nc3RoZXJtZXNjb2xvcnNwYWNlLmM6CgkqIGV4dC9pdm9yYmlzL3ZvcmJpc2ZpbGUuYzoKCSogZXh0L2phY2svZ3N0amFjay5jOgoJKiBleHQvamFjay9nc3RqYWNrYmluLmM6CgkqIGV4dC9sY3MvZ3N0Y29sb3JzcGFjZS5jOgoJKiBleHQvbGlibW1zL2dzdG1tcy5jOgoJKiBleHQvbXBlZzJlbmMvZ3N0bXBlZzJlbmMuY2M6CgkqIGV4dC9tcGxleC9nc3RtcGxleC5jYzoKCSogZXh0L211c2VwYWNrL2dzdG11c2VwYWNrZGVjLmM6CgkqIGV4dC9tdXNpY2JyYWluei9nc3R0cm0uYzoKCSogZXh0L25hcy9uYXNzaW5rLmM6CgkqIGV4dC9wb2x5cC9wb2x5cHNpbmsuYzoKCSogZXh0L3NkbC9zZGx2aWRlb3NpbmsuYzoKCSogZXh0L3Nob3V0L2dzdHNob3V0LmM6CgkqIGV4dC9zbW9vdGh3YXZlL2dzdHNtb290aHdhdmUuYzoKCSogZXh0L3NuZGZpbGUvZ3N0c2YuYzoKCSogZXh0L3N3ZmRlYy9nc3Rzd2ZkZWMuYzoKCSogZXh0L3Rhcmtpbi9nc3R0YXJraW5kZWMuYzoKCSogZXh0L3hpbmUveGluZS5jOgoJKiBleHQveGluZS94aW5lYXVkaW9kZWMuYzoKCSogZXh0L3hpbmUveGluZWF1ZGlvc2luay5jOgoJKiBleHQveGluZS94aW5laW5wdXQuYzoKCSogZXh0L3h2aWQvZ3N0eHZpZGRlYy5jOgoJKiBleHQveHZpZC9nc3R4dmlkZW5jLmM6CgkqIGdzdC9hcGV0YWcvYXBlZGVtdXguYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhcGFyc2UuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3RjZHhhc3RyaXAuYzoKCSogZ3N0L2NkeGFwYXJzZS9nc3R2Y2RwYXJzZS5jOgoJKiBnc3QvY29sb3JzcGFjZS9nc3Rjb2xvcnNwYWNlLmM6CgkqIGdzdC9mZXN0aXZhbC9nc3RmZXN0aXZhbC5jOgoJKiBnc3QvbGlicmZiL2dzdHJmYnNyYy5jOgoJKiBnc3QvbW9kcGx1Zy9nc3Rtb2RwbHVnLmNjOgoJKiBnc3QvbXBlZzF2aWRlb3BhcnNlL2dzdG1wMXZpZGVvcGFyc2UuYzoKCSogZ3N0L21wZWdhdWRpb3BhcnNlL2dzdG1wZWdhdWRpb3BhcnNlLmM6CgkqIGdzdC9tdWx0aWZpbGVzaW5rL2dzdG11bHRpZmlsZXNpbmsuYzoKCSogZ3N0L3Ntb290aHdhdmUvZ3N0c21vb3Rod2F2ZS5jOgoJKiBnc3Qvc3BlZWQvZ3N0c3BlZWQuYzoKCSogZ3N0L3N3aXRjaC9nc3Rzd2l0Y2guYzoKCSogZ3N0L3ZpZGVvY3JvcC9nc3R2aWRlb2Nyb3AuYzoKCSogZ3N0L3ZpZGVvZHJvcC9nc3R2aWRlb2Ryb3AuYzoKCSogZ3N0L3k0bS9nc3R5NG1lbmNvZGUuYzoKCSogcG8vYWYucG86CgkqIHBvL2F6LnBvOgoJKiBwby9jcy5wbzoKCSogcG8vZW5fR0IucG86CgkqIHBvL2h1LnBvOgoJKiBwby9pdC5wbzoKCSogcG8vbmIucG86CgkqIHBvL25sLnBvOgoJKiBwby9vci5wbzoKCSogcG8vc3EucG86CgkqIHBvL3NyLnBvOgoJKiBwby9zdi5wbzoKCSogcG8vdWsucG86CgkqIHBvL3ZpLnBvOgoJKiBzeXMvY2Ryb20vZ3N0Y2RwbGF5ZXIuYzoKCSogc3lzL2R4cjMvZHhyM2F1ZGlvc2luay5jOgoJKiBzeXMvZHhyMy9keHIzc3B1c2luay5jOgoJKiBzeXMvZHhyMy9keHIzdmlkZW9zaW5rLmM6CgkqIHN5cy9nbHNpbmsvZ2xpbWFnZXNpbmsuYzoKCSogc3lzL3FjYW0vZ3N0cWNhbXNyYy5jOgoJKiBzeXMvc3VuYXVkaW8vZ3N0c3VuYXVkaW8uYzoKCSogc3lzL3N1bmF1ZGlvL2dzdHN1bmF1ZGlvc3JjLmM6CgkqIHN5cy9zdW5hdWRpby9nc3RzdW5lbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJlbGVtZW50LmM6CgkqIHN5cy92NGwyL2dzdHY0bDJzcmMuYzoKCSogc3lzL3ZjZC92Y2RzcmMuYzoKCSAgRml4IHVwIGFsbCB0aGUgc3RhdGUgY2hhbmdlIGZ1bmN0aW9ucy4KCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgIEZpeCB1cCBhbGwgdGhlIHN0YXRlIGNoYW5nZSBmdW5jdGlvbnMuCgoyMDA1LTA5LTA1IDE1OjEwOjE4ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIE1ha2VmaWxlLmFtOgoJKiBjb25maWd1cmUuYWM6CgkqIGV4dC9mYWFkL2dzdGZhYWQuYzoKCSogZ3N0LXBsdWdpbnMtYmFkLnNwZWMuaW46CgkqIGdzdC9xdGRlbXV4L3F0ZGVtdXguYzoKCSogcG8vUE9URklMRVMuaW46CgkgIGNsZWFuaW5nIHVwIGJhZAoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgY2xlYW5pbmcgdXAgYmFkCgoyMDA1LTA5LTA1IDEzOjQ5OjQxICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkqIENoYW5nZUxvZzoKCSogY29tbW9uOgoJKiBkb2NzL3JhbmRvbS9DaGFuZ2VMb2ctMC44OgoJKiBleHQvTWFrZWZpbGUuYW06CgkgIGNyZWF0ZWQgZ3N0LXBsdWdpbnMtYmFkCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBjcmVhdGVkIGdzdC1wbHVnaW5zLWJhZAoKPT09IHJlbGVhc2UgMC45LjIgPT09CgoyMDA1LTA5LTA0IDEwOjM4OjQ1ICswMDAwICBUaG9tYXMgVmFuZGVyIFN0aWNoZWxlIDx0aG9tYXNAYXBlc3RhYXJ0Lm9yZz4KCgkgIGZpeCBkaXN0Y2hlY2sKCSAgT3JpZ2luYWwgY29tbWl0IG1lc3NhZ2UgZnJvbSBDVlM6CgkgICogY29tbW9uL2d0ay1kb2MtcGx1Z2lucy5tYWs6CgkgICogZG9jcy9wbHVnaW5zL01ha2VmaWxlLmFtOgoJICBmaXggZGlzdGNoZWNrCgkgICogZ3N0L2F1ZGlvcmVzYW1wbGUvcmVzYW1wbGUuYzoKCSAgZml4IHdyb25nIGRvY3N0cmluZwoKMjAwNS0wOS0wMiAyMDoyMToxNyArMDAwMCAgRmxhdmlvIE9saXZlaXJhIDxmbGF2aW8ub2xpdmVpcmFAaW5kdC5vcmcuYnI+CgoJKiBDaGFuZ2VMb2c6CgkqIFBPUlRFRF8wOToKCSogY29uZmlndXJlLmFjOgoJKiBleHQvTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vTWFrZWZpbGUuYW06CgkqIGV4dC9nc20vZ3N0Z3NtLmM6CgkqIGV4dC9nc20vZ3N0Z3NtZW5jLmM6CgkgIFBvcnRlZCBHU00gRW5jb2RlciB0byBHU3RyZWFtZXIgMC45CgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICBQb3J0ZWQgR1NNIEVuY29kZXIgdG8gR1N0cmVhbWVyIDAuOQoKMjAwNS0wOS0wMiAxNTo0NDo0NCArMDAwMCAgQW5keSBXaW5nbyA8d2luZ29AcG9ib3guY29tPgoKCSogZXh0L2xhZHNwYS9nc3RzaWduYWxwcm9jZXNzb3IuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAyIDE1OjQzOjE0ICswMDAwICBBbmR5IFdpbmdvIDx3aW5nb0Bwb2JveC5jb20+CgoJKiBjb21tb246CgkqIHRlc3RzL2NoZWNrL2VsZW1lbnRzL2F1ZGlvcmVzYW1wbGUuYzoKCSAgQWxsIHBsdWdpbnMgdXBkYXRlZCBmb3IgZWxlbWVudCBzdGF0ZSBjaGFuZ2VzLgoJICBPcmlnaW5hbCBjb21taXQgbWVzc2FnZSBmcm9tIENWUzoKCSAgMjAwNS0wOS0wMiAgQW5keSBXaW5nbyAgPHdpbmdvQHBvYm94LmNvbT4KCSAgKiBBbGwgcGx1Z2lucyB1cGRhdGVkIGZvciBlbGVtZW50IHN0YXRlIGNoYW5nZXMuCgoyMDA1LTA5LTAxIDE5OjUzOjEyICswMDAwICBGbGF2aW8gT2xpdmVpcmEgPGZsYXZpby5vbGl2ZWlyYUBpbmR0Lm9yZy5icj4KCgkqIFBPUlRFRF8wOToKCSAgdXBkYXRlIFBPUlRFRF8wOSBmaWxlCgkgIE9yaWdpbmFsIGNvbW1pdCBtZXNzYWdlIGZyb20gQ1ZTOgoJICB1cGRhdGUgUE9SVEVEXzA5IGZpbGUKCg==